/*
Main CSS File - TechToolsHive
Location: app/static/css/main.css
Purpose: Main CSS file that imports all modular components
*/

/* ===== IMPORT BASE STYLES ===== */
@import 'base/variables.css';
@import 'base/reset.css';
@import 'base/typography.css';
@import 'base/layout.css';

/* ===== IMPORT COMPONENT STYLES ===== */
@import 'components/navigation.css';
@import 'components/buttons.css';
@import 'components/forms.css';
@import 'components/cards.css';
@import 'components/modals.css';
@import 'components/tables.css';
@import 'components/alerts.css';

/* ===== IMPORT PAGE STYLES ===== */
@import 'pages/home.css';
@import 'pages/dashboard.css';
@import 'pages/admin.css';
@import 'pages/tools.css';

/* ===== IMPORT THEME STYLES ===== */
@import 'themes/light.css';
@import 'themes/dark.css';
@import 'themes/high-contrast.css';

/* ===== IMPORT UTILITY STYLES ===== */
@import 'utilities/helpers.css';
@import 'utilities/responsive.css';
@import 'utilities/animations.css';

/* ===== GLOBAL OVERRIDES ===== */

/* Ensure proper font loading */
body {
  font-family: var(--font-family-sans);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Smooth scrolling for the entire page */
html {
  scroll-behavior: smooth;
}

/* Better focus indicators for accessibility */
*:focus-visible {
  outline: 2px solid var(--border-accent);
  outline-offset: 2px;
}

/* ===== PRINT STYLES ===== */
@media print {
  * {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  
  a, a:visited {
    text-decoration: underline;
  }
  
  a[href]:after {
    content: " (" attr(href) ")";
  }
  
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  
  pre, blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  
  thead {
    display: table-header-group;
  }
  
  tr, img {
    page-break-inside: avoid;
  }
  
  img {
    max-width: 100% !important;
  }
  
  p, h2, h3 {
    orphans: 3;
    widows: 3;
  }
  
  h2, h3 {
    page-break-after: avoid;
  }
} 