/* SentraGuard web — design tokens (see customer-delivery/docs/dashboard/02_PRODUCT_DESIGN). */
:root {
  --sg-accent-500:#6366f1; --sg-accent-600:#4f46e5; --sg-accent-400:#818cf8;
  --sg-bg:#0b0f1a; --sg-surface:#121826; --sg-surface-2:#1a2234; --sg-border:#27304a;
  --sg-text:#e6e9f2; --sg-text-muted:#9aa4bf; --sg-text-faint:#6b7493;
  --sg-success:#22c55e; --sg-warning:#f59e0b; --sg-danger:#ef4444; --sg-info:#38bdf8;
  --sg-success-bg:rgba(34,197,94,.12); --sg-warning-bg:rgba(245,158,11,.12);
  --sg-danger-bg:rgba(239,68,68,.12); --sg-info-bg:rgba(56,189,248,.12);
  --sg-font-display:"Nexa Bold","OpenSans",system-ui,sans-serif;
  --sg-font-body:"OpenSans",system-ui,-apple-system,sans-serif;
  --sg-text-xs:12px; --sg-text-sm:13px; --sg-text-base:15px; --sg-text-lg:18px;
  --sg-text-xl:24px; --sg-text-2xl:32px; --sg-text-3xl:44px;
  --sg-1:4px; --sg-2:8px; --sg-3:12px; --sg-4:16px; --sg-5:20px; --sg-6:24px; --sg-8:32px; --sg-10:40px; --sg-12:48px;
  --sg-radius-sm:8px; --sg-radius:12px; --sg-radius-lg:16px; --sg-radius-full:999px;
  --sg-shadow:0 1px 2px rgba(0,0,0,.3), 0 8px 24px rgba(0,0,0,.25);
  --sg-ring:0 0 0 3px rgba(99,102,241,.4);
  --sg-nav-w:248px; --sg-topbar-h:60px;
}
@media (prefers-color-scheme: light) {
  :root { --sg-bg:#f6f7fb; --sg-surface:#fff; --sg-surface-2:#f1f3f9; --sg-border:#e3e7f0;
          --sg-text:#141a2b; --sg-text-muted:#56607c; --sg-text-faint:#8a92ab;
          --sg-shadow:0 1px 2px rgba(20,26,43,.06), 0 8px 24px rgba(20,26,43,.08); }
}
@font-face { font-family:"Nexa Bold"; src:url("/assets/Fonts/Nexa%20Bold.otf") format("opentype"); font-display:swap; }
@font-face { font-family:"OpenSans"; src:url("/assets/Fonts/OpenSans-Regular.ttf") format("truetype"); font-display:swap; }
* { box-sizing:border-box; }
html,body { margin:0; height:100%; }
body { background:var(--sg-bg); color:var(--sg-text); font-family:var(--sg-font-body); font-size:var(--sg-text-base); line-height:1.5; -webkit-font-smoothing:antialiased; }
h1,h2,h3 { font-family:var(--sg-font-display); font-weight:400; margin:0; letter-spacing:.2px; }
a { color:var(--sg-accent-400); text-decoration:none; }
:focus-visible { outline:none; box-shadow:var(--sg-ring); border-radius:var(--sg-radius-sm); }
@media (prefers-reduced-motion: reduce) { * { transition:none !important; animation:none !important; } }
