/* invisible services — design tokens
   :root / [data-theme="dark"]  = dark (default)
   [data-theme="light"]          = light
   [data-theme="system"]         = follows prefers-color-scheme
   The only file in the product allowed to contain raw colour values. */
:root, [data-theme="dark"], [data-theme="system"] {
  color-scheme: dark;
  --is-bg: #0b0b0d;
  --is-surface-1: #121216;
  --is-surface-2: #18181d;
  --is-surface-3: #212128;
  --is-overlay: rgba(5, 5, 8, 0.72);
  --is-border-subtle: #1d1d23;
  --is-border: #2a2a32;
  --is-border-strong: #63636e;
  --is-text: #ededf0;
  --is-text-secondary: #a9a9b4;
  --is-text-tertiary: #84848f;
  --is-text-disabled: #56565f;
  --is-text-on-accent: #ffffff;
  --is-accent: #3566f0;
  --is-accent-hover: #2a58dc;
  --is-accent-fg: #7a9dff;
  --is-accent-subtle: #141d36;
  --is-focus-ring: #7a9dff;

  --is-success-fg: #5bd08f; --is-success-bg: #0f2a1c; --is-success-border: #1e5a3a;
  --is-warning-fg: #e8b44a; --is-warning-bg: #2b2210; --is-warning-border: #5c4716;
  --is-danger-fg: #ff7a72;  --is-danger-bg: #321514;  --is-danger-border: #6b2724;
  --is-danger-solid: #c9302c;
  --is-info-fg: #a3b0c9;    --is-info-bg: #1a1e27;    --is-info-border: #333b4c;
  --is-neutral-fg: #a9a9b4; --is-neutral-bg: #1c1c22; --is-neutral-border: #303038;

  --is-sev-critical-fg: #ff6b7d; --is-sev-critical-bg: #2e1218; --is-sev-critical-border: #6a2533;
  --is-sev-high-fg: #ff9a5c;     --is-sev-high-bg: #2d1a0f;     --is-sev-high-border: #6a3a1c;
  --is-sev-medium-fg: #e3c25a;   --is-sev-medium-bg: #2a2410;   --is-sev-medium-border: #5e4e19;
  --is-sev-low-fg: #a0b2cc;      --is-sev-low-bg: #171c25;      --is-sev-low-border: #344055;
  --is-sev-info-fg: #9d9da8;     --is-sev-info-bg: #18181d;     --is-sev-info-border: #303038;

  --is-regulatory: #b9a6f5;
  --is-regulatory-border: #4b3f78;

  --is-shadow-popover: 0 8px 24px rgba(0, 0, 0, 0.5), 0 0 0 1px #2a2a32;
  --is-shadow-modal: 0 24px 64px rgba(0, 0, 0, 0.6), 0 0 0 1px #2a2a32;
}

[data-theme="light"] {
  color-scheme: light;
  --is-bg: #f5f5f7;
  --is-surface-1: #ffffff;
  --is-surface-2: #f0f0f3;
  --is-surface-3: #e7e7ec;
  --is-overlay: rgba(23, 23, 28, 0.44);
  --is-border-subtle: #ebebef;
  --is-border: #dcdce2;
  --is-border-strong: #8a8a94;
  --is-text: #17171c;
  --is-text-secondary: #4a4a55;
  --is-text-tertiary: #6b6b76;
  --is-text-disabled: #a3a3ad;
  --is-text-on-accent: #ffffff;
  --is-accent: #2457d6;
  --is-accent-hover: #1d48b8;
  --is-accent-fg: #2457d6;
  --is-accent-subtle: #e9effc;
  --is-focus-ring: #2457d6;

  --is-success-fg: #177540; --is-success-bg: #e8f5ec; --is-success-border: #a8d9b9;
  --is-warning-fg: #8a5a00; --is-warning-bg: #fdf3df; --is-warning-border: #ebcb86;
  --is-danger-fg: #b42318;  --is-danger-bg: #fdecea;  --is-danger-border: #f4b9b3;
  --is-danger-solid: #b42318;
  --is-info-fg: #445069;    --is-info-bg: #eef1f6;    --is-info-border: #c9d0dd;
  --is-neutral-fg: #5c5c66; --is-neutral-bg: #f1f1f3; --is-neutral-border: #d6d6db;

  --is-sev-critical-fg: #b4233a; --is-sev-critical-bg: #fdecee; --is-sev-critical-border: #f2b8c1;
  --is-sev-high-fg: #a8480f;     --is-sev-high-bg: #fdf0e7;     --is-sev-high-border: #f1c6a6;
  --is-sev-medium-fg: #7a5800;   --is-sev-medium-bg: #fbf4de;   --is-sev-medium-border: #e8d38f;
  --is-sev-low-fg: #3e5677;      --is-sev-low-bg: #eef2f7;      --is-sev-low-border: #c5d0de;
  --is-sev-info-fg: #5c5c66;     --is-sev-info-bg: #f1f1f3;     --is-sev-info-border: #d6d6db;

  --is-regulatory: #5b3fb8;
  --is-regulatory-border: #cbbff0;

  --is-shadow-popover: 0 8px 24px rgba(23, 23, 28, 0.12), 0 0 0 1px #dcdce2;
  --is-shadow-modal: 0 24px 64px rgba(23, 23, 28, 0.18), 0 0 0 1px #dcdce2;
}

@media (prefers-color-scheme: light) {
  [data-theme="system"] {
    color-scheme: light;
    --is-bg: #f5f5f7;
    --is-surface-1: #ffffff;
    --is-surface-2: #f0f0f3;
    --is-surface-3: #e7e7ec;
    --is-overlay: rgba(23, 23, 28, 0.44);
    --is-border-subtle: #ebebef;
    --is-border: #dcdce2;
    --is-border-strong: #8a8a94;
    --is-text: #17171c;
    --is-text-secondary: #4a4a55;
    --is-text-tertiary: #6b6b76;
    --is-text-disabled: #a3a3ad;
    --is-text-on-accent: #ffffff;
    --is-accent: #2457d6;
    --is-accent-hover: #1d48b8;
    --is-accent-fg: #2457d6;
    --is-accent-subtle: #e9effc;
    --is-focus-ring: #2457d6;
  
    --is-success-fg: #177540; --is-success-bg: #e8f5ec; --is-success-border: #a8d9b9;
    --is-warning-fg: #8a5a00; --is-warning-bg: #fdf3df; --is-warning-border: #ebcb86;
    --is-danger-fg: #b42318;  --is-danger-bg: #fdecea;  --is-danger-border: #f4b9b3;
    --is-danger-solid: #b42318;
    --is-info-fg: #445069;    --is-info-bg: #eef1f6;    --is-info-border: #c9d0dd;
    --is-neutral-fg: #5c5c66; --is-neutral-bg: #f1f1f3; --is-neutral-border: #d6d6db;
  
    --is-sev-critical-fg: #b4233a; --is-sev-critical-bg: #fdecee; --is-sev-critical-border: #f2b8c1;
    --is-sev-high-fg: #a8480f;     --is-sev-high-bg: #fdf0e7;     --is-sev-high-border: #f1c6a6;
    --is-sev-medium-fg: #7a5800;   --is-sev-medium-bg: #fbf4de;   --is-sev-medium-border: #e8d38f;
    --is-sev-low-fg: #3e5677;      --is-sev-low-bg: #eef2f7;      --is-sev-low-border: #c5d0de;
    --is-sev-info-fg: #5c5c66;     --is-sev-info-bg: #f1f1f3;     --is-sev-info-border: #d6d6db;
  
    --is-regulatory: #5b3fb8;
    --is-regulatory-border: #cbbff0;
  
    --is-shadow-popover: 0 8px 24px rgba(23, 23, 28, 0.12), 0 0 0 1px #dcdce2;
    --is-shadow-modal: 0 24px 64px rgba(23, 23, 28, 0.18), 0 0 0 1px #dcdce2;
  }
}

:root {
  --is-font-sans: "Inter", ui-sans-serif, system-ui, sans-serif;
  --is-font-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", monospace;
  --is-font-features: "cv11", "ss01";
  --is-font-features-num: "tnum", "cv11", "ss01";
  --is-text-12: 12px; --is-lh-12: 16px;
  --is-text-13: 13px; --is-lh-13: 18px;
  --is-text-14: 14px; --is-lh-14: 20px;
  --is-text-16: 16px; --is-lh-16: 24px;
  --is-text-20: 20px; --is-lh-20: 28px;
  --is-text-24: 24px; --is-lh-24: 32px;
  --is-text-30: 30px; --is-lh-30: 38px;
  --is-space-1: 4px; --is-space-2: 8px; --is-space-3: 12px; --is-space-4: 16px; --is-space-5: 20px;
  --is-space-6: 24px; --is-space-8: 32px; --is-space-10: 40px; --is-space-12: 48px; --is-space-16: 64px;
  --is-radius-control: 6px; --is-radius-card: 8px; --is-radius-modal: 12px; --is-radius-full: 999px;
  --is-control-sm: 28px; --is-control-md: 32px; --is-control-lg: 40px; --is-row: 40px;
  --is-sidebar: 240px; --is-sidebar-collapsed: 56px; --is-topbar: 48px;
  --is-duration-fast: 120ms; --is-duration-base: 180ms; --is-ease-out: cubic-bezier(0.2, 0, 0, 1);
}


@keyframes is-spin { to { transform: rotate(360deg); } }
@keyframes is-pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.35; } }
@media (prefers-reduced-motion: reduce) { * { animation-duration: 0.001ms !important; transition-duration: 0.001ms !important; } }
