/* KG SafeGuard — token desain
   Dihasilkan dari design system "Khong Guan QHSE".
   Jangan menulis nilai warna harfiah di app.css; selalu lewat token di sini. */

:root {
  /* Tangga merek */
  --brand-900: #04234f;
  --brand-800: #073a7e;
  --brand-700: #0b4da2;
  --brand-600: #1268c4;
  --brand-500: #1a7bd4;
  --brand-400: #4fa3e6;
  --brand-300: #8cc7f2;
  --brand-100: #dcebfa;
  --brand-050: #f0f7fe;

  /* Gradasi */
  --grad-hero-from: #062b63;
  --grad-hero-to: #1a7bd4;
  --grad-action-from: #1268c4;
  --grad-action-to: #34a8e0;

  /* Merah korporat Khong Guan — lambang & kop dokumen saja */
  --kg-red-600: #c8102e;
  --kg-red-100: #fbe3e7;

  /* Sinyal */
  --signal-critical: #b00d21;
  --signal-critical-bg: #fde8ea;
  --signal-high: #c2540c;
  --signal-high-bg: #fdeee1;
  --signal-medium: #8a6400;
  --signal-medium-bg: #fdf3d9;
  --signal-low: #1c7f5a;
  --signal-low-bg: #e2f4ec;
  --signal-info: #0b4da2;
  --signal-info-bg: #e6f0fc;

  /* Permukaan & tinta */
  --surface-000: #ffffff;
  --surface-100: #f1f5fb;
  --surface-200: #e3ebf6;
  --surface-300: #d2deee;
  --ink-900: #0b1b2e;
  --ink-700: #27405c;
  --ink-500: #526883;
  --ink-400: #6f8399;
  --ink-on-brand: #ffffff;
  --border-100: #dce6f2;
  --border-200: #b9cce4;
  --focus-ring: #1a7bd4;
  --overlay-scrim: rgba(4, 35, 79, 0.65);

  /* Bayangan — kontrol yang dapat ditekan selalu melayang */
  --shadow-float-sm: 0 1px 2px rgba(4, 35, 79, .08), 0 2px 6px rgba(4, 35, 79, .10);
  --shadow-float-md: 0 2px 4px rgba(4, 35, 79, .10), 0 6px 14px rgba(4, 35, 79, .14);
  --shadow-float-lg: 0 6px 12px rgba(4, 35, 79, .12), 0 14px 28px rgba(4, 35, 79, .18);
  --shadow-press: inset 0 2px 4px rgba(4, 35, 79, .22);
  --shadow-brand-glow: 0 8px 20px rgba(26, 123, 212, .38);
  --shadow-card: 0 1px 2px rgba(4, 35, 79, .06), 0 8px 20px rgba(4, 35, 79, .07);
  --shadow-modal: 0 24px 60px rgba(4, 35, 79, .28);

  /* Jarak, sudut, opasitas */
  --space-1: 4px;  --space-2: 8px;  --space-3: 12px; --space-4: 16px; --space-5: 20px;
  --space-6: 24px; --space-7: 32px; --space-8: 48px; --space-9: 64px;
  --radius-xs: 4px; --radius-sm: 6px; --radius-md: 10px;
  --radius-lg: 14px; --radius-xl: 20px; --radius-pill: 999px;
  --opacity-disabled: .45;
  --opacity-chart-fill: .18;

  /* Huruf */
  --font-display: "Plus Jakarta Sans", "Segoe UI", system-ui, sans-serif;
  --font-body: "IBM Plex Sans", "Segoe UI", system-ui, sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, "Courier New", monospace;

  color-scheme: light dark;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --brand-900: #0a2f63; --brand-800: #0c4a92; --brand-700: #1565b8; --brand-600: #2b82d6;
    --brand-500: #4a9be4; --brand-400: #74baee; --brand-300: #a6d6f7;
    --brand-100: #14324d; --brand-050: #0f2537;
    --grad-hero-from: #041b3f; --grad-hero-to: #0b4da2;
    --grad-action-from: #1565b8; --grad-action-to: #2f97ce;
    --kg-red-600: #e23b4f; --kg-red-100: #3a1119;
    --signal-critical: #ff7a85; --signal-critical-bg: #3b1216;
    --signal-high: #ffa057;    --signal-high-bg: #3c2210;
    --signal-medium: #f2c14e;  --signal-medium-bg: #3a2f0f;
    --signal-low: #52c99a;     --signal-low-bg: #0f3126;
    --signal-info: #74baee;    --signal-info-bg: #12283f;
    --surface-000: #0b1724; --surface-100: #071220; --surface-200: #12212f; --surface-300: #1b2d3e;
    --ink-900: #eaf2fb; --ink-700: #c3d6e8; --ink-500: #93a9c0; --ink-400: #7a90a8;
    --ink-on-brand: #f2f8ff;
    --border-100: #1d2e3f; --border-200: #2f4762; --focus-ring: #74baee;
    --overlay-scrim: rgba(0, 6, 12, .78);
    --shadow-float-sm: 0 1px 2px rgba(0,0,0,.5), 0 2px 6px rgba(0,0,0,.42);
    --shadow-float-md: 0 2px 4px rgba(0,0,0,.5), 0 6px 14px rgba(0,0,0,.5);
    --shadow-float-lg: 0 6px 12px rgba(0,0,0,.55), 0 14px 28px rgba(0,0,0,.55);
    --shadow-press: inset 0 2px 4px rgba(0,0,0,.6);
    --shadow-brand-glow: 0 8px 20px rgba(26,123,212,.45);
    --shadow-card: 0 1px 2px rgba(0,0,0,.5), 0 8px 20px rgba(0,0,0,.38);
    --shadow-modal: 0 24px 60px rgba(0,0,0,.66);
  }
}

:root[data-theme="dark"] {
  --brand-900: #0a2f63; --brand-800: #0c4a92; --brand-700: #1565b8; --brand-600: #2b82d6;
  --brand-500: #4a9be4; --brand-400: #74baee; --brand-300: #a6d6f7;
  --brand-100: #14324d; --brand-050: #0f2537;
  --grad-hero-from: #041b3f; --grad-hero-to: #0b4da2;
  --grad-action-from: #1565b8; --grad-action-to: #2f97ce;
  --kg-red-600: #e23b4f; --kg-red-100: #3a1119;
  --signal-critical: #ff7a85; --signal-critical-bg: #3b1216;
  --signal-high: #ffa057;    --signal-high-bg: #3c2210;
  --signal-medium: #f2c14e;  --signal-medium-bg: #3a2f0f;
  --signal-low: #52c99a;     --signal-low-bg: #0f3126;
  --signal-info: #74baee;    --signal-info-bg: #12283f;
  --surface-000: #0b1724; --surface-100: #071220; --surface-200: #12212f; --surface-300: #1b2d3e;
  --ink-900: #eaf2fb; --ink-700: #c3d6e8; --ink-500: #93a9c0; --ink-400: #7a90a8;
  --ink-on-brand: #f2f8ff;
  --border-100: #1d2e3f; --border-200: #2f4762; --focus-ring: #74baee;
  --overlay-scrim: rgba(0, 6, 12, .78);
  --shadow-float-sm: 0 1px 2px rgba(0,0,0,.5), 0 2px 6px rgba(0,0,0,.42);
  --shadow-float-md: 0 2px 4px rgba(0,0,0,.5), 0 6px 14px rgba(0,0,0,.5);
  --shadow-float-lg: 0 6px 12px rgba(0,0,0,.55), 0 14px 28px rgba(0,0,0,.55);
  --shadow-press: inset 0 2px 4px rgba(0,0,0,.6);
  --shadow-brand-glow: 0 8px 20px rgba(26,123,212,.45);
  --shadow-card: 0 1px 2px rgba(0,0,0,.5), 0 8px 20px rgba(0,0,0,.38);
  --shadow-modal: 0 24px 60px rgba(0,0,0,.66);
}
