/* =========================================================
   eiFAM Design Tokens & Theme
   Marine blue brand. Dark is the default theme; the
   [data-theme="light"] block switches the whole app.
   ========================================================= */

:root {
  /* ---- Marine blue palette ---- */
  --marine-50: #eef6fb;
  --marine-100: #d6ebf6;
  --marine-200: #add7ee;
  --marine-300: #7abde2;
  --marine-400: #3f9ed2;
  --marine-500: #1f82b8;
  --marine-600: #12689e;
  --marine-700: #0e5480;
  --marine-800: #0e4567;
  --marine-900: #0d3a57;
  --marine-950: #07263c;

  /* ---- Program accents ---- */
  --program-eiman: #e5484d;
  --program-eibuy: #f76b15;
  --program-eicaer: #30a46c;
  --program-eifos: #86c62b;
  --program-eiris: #f0b400;
  --program-eihom: #b07a2f;
  --program-eisch: #1f82b8;
  --program-eicor: #1f82b8;
  --program-fallback: #1f82b8;

  /* ---- Theme surfaces (dark defaults) ---- */
  --color-bg: #0a1220;
  --color-surface: #101b2c;
  --color-surface-2: #16233a;
  --color-border: rgba(255, 255, 255, 0.08);
  --color-border-strong: rgba(255, 255, 255, 0.16);
  --color-text: #e6eef7;
  --color-text-muted: #8fa3ba;
  --color-heading: #ffffff;

  --color-primary: #2f9bd8;
  --color-primary-strong: #46b0ea;
  --color-primary-soft: rgba(47, 155, 216, 0.14);
  --color-on-primary: #ffffff;
  --color-focus-ring: rgba(47, 155, 216, 0.35);

  --color-success: #34d399;
  --color-success-soft: rgba(52, 211, 153, 0.14);
  --color-danger: #f87171;
  --color-danger-soft: rgba(248, 113, 113, 0.14);
  --color-warning: #fbbf24;
  --color-warning-soft: rgba(251, 191, 36, 0.14);
  --color-secondary: #8aa2ba;

  --sidebar-bg: #081120;
  --sidebar-border: rgba(255, 255, 255, 0.06);
  --sidebar-text: #98acc4;
  --sidebar-text-hover: #ffffff;
  --sidebar-active-bg: linear-gradient(90deg, rgba(47, 155, 216, 0.20), rgba(47, 155, 216, 0.02));
  --sidebar-active-text: #ffffff;

  --input-bg: #0f1a2c;
  --input-border: rgba(255, 255, 255, 0.14);
  --input-focus-border: var(--color-primary);

  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.25), 0 4px 12px -6px rgba(2, 10, 24, 0.5);
  --shadow-card: 0 1px 2px rgba(0, 0, 0, 0.2), 0 12px 32px -12px rgba(2, 10, 24, 0.7);
  --shadow-pop: 0 16px 48px -12px rgba(2, 10, 24, 0.8);

  --radius-sm: 8px;
  --radius: 12px;
  --radius-lg: 18px;
  --radius-pill: 999px;

  --font-sans: 'Segoe UI', -apple-system, BlinkMacSystemFont, Roboto, 'Helvetica Neue', Arial, sans-serif;
  --font-mono: 'Cascadia Code', 'Consolas', 'SF Mono', 'Menlo', monospace;
}

:root[data-theme="light"] {
  --color-bg: #eef3f8;
  --color-surface: #ffffff;
  --color-surface-2: #f4f8fb;
  --color-border: rgba(14, 58, 87, 0.10);
  --color-border-strong: rgba(14, 58, 87, 0.18);
  --color-text: #1b2c3d;
  --color-text-muted: #5d7288;
  --color-heading: #0d3a57;

  --color-primary: #0b6fa8;
  --color-primary-strong: #0a82c4;
  --color-primary-soft: rgba(11, 111, 168, 0.10);
  --color-on-primary: #ffffff;
  --color-focus-ring: rgba(11, 111, 168, 0.28);

  --color-success: #059669;
  --color-success-soft: rgba(5, 150, 105, 0.12);
  --color-danger: #dc2626;
  --color-danger-soft: rgba(220, 38, 38, 0.10);
  --color-warning: #b45309;
  --color-warning-soft: rgba(180, 83, 9, 0.12);
  --color-secondary: #64748b;

  --sidebar-bg: #0d3a57;
  --sidebar-border: rgba(255, 255, 255, 0.08);
  --sidebar-text: #b9cfe2;
  --sidebar-text-hover: #ffffff;
  --sidebar-active-bg: linear-gradient(90deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.03));
  --sidebar-active-text: #ffffff;

  --input-bg: #ffffff;
  --input-border: rgba(14, 58, 87, 0.16);
  --input-focus-border: var(--color-primary);

  --shadow-sm: 0 1px 2px rgba(13, 58, 87, 0.06), 0 4px 14px -6px rgba(13, 58, 87, 0.14);
  --shadow-card: 0 1px 2px rgba(13, 58, 87, 0.05), 0 10px 28px -12px rgba(13, 58, 87, 0.18);
  --shadow-pop: 0 20px 50px -16px rgba(13, 58, 87, 0.30);
}

/* ---- Base ---- */
html {
  font-size: 15px;
}

body {
  font-family: var(--font-sans);
  background-color: var(--color-bg);
  color: var(--color-text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transition: background-color 0.3s ease, color 0.3s ease;
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
  color: var(--color-heading);
}

a {
  color: var(--color-primary);
}

a:hover {
  color: var(--color-primary-strong);
}

code, kbd, pre, samp {
  font-family: var(--font-mono);
}

::selection {
  background: var(--color-primary);
  color: var(--color-on-primary);
}

[x-cloak] {
  display: none !important;
}

/* Custom scrollbars */
::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
::-webkit-scrollbar-track {
  background: transparent;
}
::-webkit-scrollbar-thumb {
  background: var(--color-border-strong);
  border-radius: 6px;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--color-primary);
}
