@import "tailwindcss";

@theme {
  --color-primary: #333d49;
  --color-primary-light: #3d4856;
  --color-accent: #fe7400;
  --color-accent-hover: #e56800;
  --color-accent-light: #fff4e8;
  --color-navy: #113559;
  --color-navy-light: #1a4370;
  --color-gray-50: #f8f9fb;
  --color-gray-100: #f1f3f5;
  --color-gray-200: #e2e5ea;
  --color-gray-300: #cdd2d9;
  --color-gray-400: #9aa1ac;
  --color-gray-500: #6b7280;
  --color-gray-600: #4d5562;
  --color-success: #059669;
  --color-success-light: #ecfdf5;

  --font-family-display: 'Plus Jakarta Sans', system-ui, sans-serif;
  --font-family-body: 'DM Sans', system-ui, sans-serif;
}

@layer base {
  * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }

  html {
    font-family: 'DM Sans', system-ui, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-optical-sizing: auto;
  }

  body {
    font-family: 'DM Sans', system-ui, sans-serif;
    background-color: #f8f9fb;
    color: #333d49;
    line-height: 1.65;
  }

  /* Display headings use Jakarta Sans */
  h1, h2, h3, h4, h5, h6 {
    font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
    line-height: 1.3;
    letter-spacing: -0.01em;
  }

  /* Focus styles for accessibility */
  :focus-visible {
    outline: 2px solid #fe7400;
    outline-offset: 2px;
  }

  /* Selection color */
  ::selection {
    background-color: #fe7400;
    color: #ffffff;
  }

  /* Smooth transitions for interactive elements */
  button, a, input, select, textarea {
    font-family: inherit;
  }
}

/* Typography scale */
.text-display {
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.text-heading {
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  font-weight: 600;
  letter-spacing: -0.01em;
}

.text-label {
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  font-weight: 500;
  font-size: 0.875rem;
  letter-spacing: 0.01em;
}

/* Custom scrollbar */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

::-webkit-scrollbar-track {
  background: transparent;
}

::-webkit-scrollbar-thumb {
  background: #cdd2d9;
  border-radius: 100px;
}

::-webkit-scrollbar-thumb:hover {
  background: #9aa1ac;
}

/* Premium card shadow system */
.shadow-card {
  box-shadow:
    0 1px 2px rgba(17, 53, 89, 0.04),
    0 4px 12px rgba(17, 53, 89, 0.06);
}

.shadow-card-hover {
  box-shadow:
    0 2px 4px rgba(17, 53, 89, 0.06),
    0 8px 24px rgba(17, 53, 89, 0.1);
}

.shadow-card-elevated {
  box-shadow:
    0 4px 6px rgba(17, 53, 89, 0.04),
    0 12px 32px rgba(17, 53, 89, 0.08);
}

/* Gradient utilities */
.bg-gradient-navy {
  background: linear-gradient(135deg, #113559 0%, #1a4370 100%);
}

.bg-gradient-dark {
  background: linear-gradient(135deg, #333d49 0%, #252d36 100%);
}

.bg-gradient-accent {
  background: linear-gradient(135deg, #fe7400 0%, #e56800 100%);
}

/* Print styles */
@media print {
  /* Reset page */
  @page {
    margin: 0.6in 0.75in;
    size: letter;
  }

  html, body {
    background: white !important;
    color: #333d49 !important;
    font-size: 11pt !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* Hide non-content elements */
  .print-hide,
  [data-print-hide] {
    display: none !important;
  }

  /* Show print-only elements */
  .print-show {
    display: block !important;
  }

  /* Remove decorative styling */
  .shadow-card,
  .shadow-card-hover,
  .shadow-card-elevated {
    box-shadow: none !important;
    border: 1px solid #d1d5db !important;
  }

  /* Flatten card padding for print */
  .bg-gradient-navy {
    background: #113559 !important;
    border-radius: 8px !important;
  }

  /* Ensure no page breaks mid-section */
  .print-section {
    break-inside: avoid;
  }

  /* Remove animations */
  *, *::before, *::after {
    animation: none !important;
    transition: none !important;
  }

  /* Clean link styling */
  a {
    text-decoration: none !important;
    color: inherit !important;
  }
}
