/* Generated from tokens.json. Run node build-tokens.mjs after edits. */
:root {
  --csr-color-brand-navy: #0A2846;
  --csr-color-brand-navy-hover: #143F60;
  --csr-color-brand-navy-deep: #08192B;
  --csr-color-brand-blue: #0E7FB0;
  --csr-color-brand-green: #00963C;
  --csr-color-blue-700: #0B6690;
  --csr-color-blue-50: #EAF4FA;
  --csr-color-green-800: #06692C;
  --csr-color-green-50: #E7F6EC;
  --csr-color-neutral-0: #FFFFFF;
  --csr-color-neutral-25: #F8FAFC;
  --csr-color-neutral-50: #F5F7F9;
  --csr-color-neutral-100: #EEF2F5;
  --csr-color-neutral-200: #DFE6EB;
  --csr-color-neutral-300: #BECBD5;
  --csr-color-neutral-500: #768796;
  --csr-color-neutral-600: #536575;
  --csr-color-neutral-650: #526B7D;
  --csr-color-neutral-800: #243746;
  --csr-color-warning-800: #8A5A00;
  --csr-color-warning-50: #FFF6E5;
  --csr-color-danger-700: #B42318;
  --csr-color-danger-800: #8E1B13;
  --csr-color-danger-50: #FFF1F0;
  --csr-color-navy-50: #E8EFF5;
  --csr-color-overlay: rgb(8 25 43 / 0.52);
  --csr-color-surface-canvas: var(--csr-color-neutral-50);
  --csr-color-surface-panel: var(--csr-color-neutral-0);
  --csr-color-surface-subtle: var(--csr-color-neutral-25);
  --csr-color-surface-hover: var(--csr-color-blue-50);
  --csr-color-surface-selected: var(--csr-color-blue-50);
  --csr-color-surface-inverse: var(--csr-color-brand-navy);
  --csr-color-text-primary: var(--csr-color-brand-navy);
  --csr-color-text-body: var(--csr-color-neutral-800);
  --csr-color-text-secondary: var(--csr-color-neutral-600);
  --csr-color-text-muted: var(--csr-color-neutral-650);
  --csr-color-text-inverse: var(--csr-color-neutral-0);
  --csr-color-text-link: var(--csr-color-blue-700);
  --csr-color-border-subtle: var(--csr-color-neutral-200);
  --csr-color-border-control: var(--csr-color-neutral-500);
  --csr-color-border-selected: var(--csr-color-blue-700);
  --csr-color-action-primary: var(--csr-color-brand-navy);
  --csr-color-action-primary-hover: var(--csr-color-brand-navy-hover);
  --csr-color-action-primary-active: var(--csr-color-brand-navy-deep);
  --csr-color-action-primary-text: var(--csr-color-neutral-0);
  --csr-color-action-secondary: var(--csr-color-neutral-0);
  --csr-color-action-secondary-hover: var(--csr-color-blue-50);
  --csr-color-action-secondary-text: var(--csr-color-brand-navy);
  --csr-color-action-danger: var(--csr-color-danger-700);
  --csr-color-action-danger-hover: var(--csr-color-danger-800);
  --csr-color-action-danger-text: var(--csr-color-neutral-0);
  --csr-color-action-disabled-bg: var(--csr-color-neutral-100);
  --csr-color-action-disabled-text: var(--csr-color-neutral-600);
  --csr-color-focus-ring: var(--csr-color-blue-700);
  --csr-color-focus-offset: var(--csr-color-neutral-0);
  --csr-color-status-neutral-fg: var(--csr-color-neutral-600);
  --csr-color-status-neutral-bg: var(--csr-color-neutral-100);
  --csr-color-status-info-fg: var(--csr-color-blue-700);
  --csr-color-status-info-bg: var(--csr-color-blue-50);
  --csr-color-status-approved-fg: var(--csr-color-brand-navy);
  --csr-color-status-approved-bg: var(--csr-color-navy-50);
  --csr-color-status-success-fg: var(--csr-color-green-800);
  --csr-color-status-success-bg: var(--csr-color-green-50);
  --csr-color-status-warning-fg: var(--csr-color-warning-800);
  --csr-color-status-warning-bg: var(--csr-color-warning-50);
  --csr-color-status-danger-fg: var(--csr-color-danger-700);
  --csr-color-status-danger-bg: var(--csr-color-danger-50);
  --csr-color-chart-series-1: var(--csr-color-brand-navy);
  --csr-color-chart-series-2: var(--csr-color-blue-700);
  --csr-color-chart-series-3: var(--csr-color-neutral-650);
  --csr-color-chart-series-4: var(--csr-color-neutral-800);
  --csr-color-chart-positive: var(--csr-color-green-800);
  --csr-color-chart-warning: var(--csr-color-warning-800);
  --csr-color-chart-negative: var(--csr-color-danger-700);
  --csr-color-chart-grid: var(--csr-color-neutral-200);
  --csr-font-family-body: "Onest", "Inter", Arial, sans-serif;
  --csr-font-family-heading: "Poppins", "Inter", Arial, sans-serif;
  --csr-font-family-mono: ui-monospace, SFMono-Regular, Consolas, monospace;
  --csr-font-weight-regular: 400;
  --csr-font-weight-medium: 500;
  --csr-font-weight-semibold: 600;
  --csr-font-weight-bold: 700;
  --csr-font-size-caption: 0.75rem;
  --csr-font-leading-caption: 1rem;
  --csr-font-size-label: 0.8125rem;
  --csr-font-leading-label: 1.125rem;
  --csr-font-size-body-sm: 0.875rem;
  --csr-font-leading-body-sm: 1.25rem;
  --csr-font-size-body: 1rem;
  --csr-font-leading-body: 1.5rem;
  --csr-font-size-lead: 1.125rem;
  --csr-font-leading-lead: 1.75rem;
  --csr-font-size-section: 1.25rem;
  --csr-font-leading-section: 1.75rem;
  --csr-font-size-page: 1.75rem;
  --csr-font-leading-page: 2.25rem;
  --csr-font-size-metric: 2rem;
  --csr-font-leading-metric: 2.5rem;
  --csr-font-size-marketing-section: 2.625rem;
  --csr-font-leading-marketing-section: 3.25rem;
  --csr-font-size-display: 3.75rem;
  --csr-font-leading-display: 4.25rem;
  --csr-font-tracking-heading: -0.025em;
  --csr-font-tracking-display: -0.04em;
  --csr-font-tracking-label: 0.06em;
  --csr-space-0: 0rem;
  --csr-space-2: 0.125rem;
  --csr-space-4: 0.25rem;
  --csr-space-8: 0.5rem;
  --csr-space-12: 0.75rem;
  --csr-space-16: 1rem;
  --csr-space-20: 1.25rem;
  --csr-space-24: 1.5rem;
  --csr-space-32: 2rem;
  --csr-space-40: 2.5rem;
  --csr-space-48: 3rem;
  --csr-space-64: 4rem;
  --csr-space-80: 5rem;
  --csr-space-104: 6.5rem;
  --csr-space-128: 8rem;
  --csr-radius-none: 0px;
  --csr-radius-small: 4px;
  --csr-radius-control: 6px;
  --csr-radius-panel: 10px;
  --csr-radius-overlay: 12px;
  --csr-radius-feature: 16px;
  --csr-radius-pill: 999px;
  --csr-border-width-thin: 1px;
  --csr-border-width-emphasis: 2px;
  --csr-border-width-focus: 3px;
  --csr-size-control-compact: 36px;
  --csr-size-control-default: 40px;
  --csr-size-control-touch: 44px;
  --csr-size-control-marketing: 52px;
  --csr-size-row-compact: 40px;
  --csr-size-row-default: 52px;
  --csr-size-row-touch: 56px;
  --csr-size-icon-small: 16px;
  --csr-size-icon-default: 20px;
  --csr-size-icon-large: 24px;
  --csr-size-sidebar: 248px;
  --csr-size-sidebar-rail: 72px;
  --csr-size-topbar: 64px;
  --csr-size-drawer: 480px;
  --csr-size-dialog: 560px;
  --csr-size-content-marketing: 1184px;
  --csr-size-content-app: 1440px;
  --csr-size-content-form: 640px;
  --csr-size-content-prose: 68ch;
  --csr-breakpoint-tablet: 768px;
  --csr-breakpoint-desktop: 1024px;
  --csr-breakpoint-wide: 1440px;
  --csr-shadow-flat: none;
  --csr-shadow-raised: 0 1px 3px rgb(10 40 70 / 0.08);
  --csr-shadow-overlay: 0 16px 40px -12px rgb(10 40 70 / 0.20);
  --csr-shadow-marketing: 0 22px 65px -26px rgb(10 40 70 / 0.22);
  --csr-motion-duration-fast: 120ms;
  --csr-motion-duration-default: 180ms;
  --csr-motion-duration-slow: 240ms;
  --csr-motion-duration-none: 0ms;
  --csr-motion-easing-default: cubic-bezier(0.2, 0, 0, 1);
  --csr-layer-base: 0;
  --csr-layer-sticky: 10;
  --csr-layer-menu: 20;
  --csr-layer-backdrop: 30;
  --csr-layer-drawer: 40;
  --csr-layer-dialog: 50;
  --csr-layer-toast: 60;
  --csr-component-control-height: var(--csr-size-control-default);
  --csr-component-row-height: var(--csr-size-row-default);
  --csr-component-layout-gutter: var(--csr-space-24);
  --csr-component-panel-padding: var(--csr-space-24);
  --csr-component-button-background: var(--csr-color-action-primary);
  --csr-component-button-foreground: var(--csr-color-action-primary-text);
  --csr-component-button-radius: var(--csr-radius-control);
  --csr-component-input-background: var(--csr-color-surface-panel);
  --csr-component-input-foreground: var(--csr-color-text-primary);
  --csr-component-input-border: var(--csr-color-border-control);
  --csr-component-panel-background: var(--csr-color-surface-panel);
  --csr-component-panel-border: var(--csr-color-border-subtle);
  --csr-component-panel-radius: var(--csr-radius-panel);
  --csr-component-table-header-background: var(--csr-color-surface-subtle);
  --csr-component-table-row-hover: var(--csr-color-surface-hover);
  --csr-component-table-row-selected: var(--csr-color-surface-selected);
}

/* Scoped density modes. Keep text size stable; vary spacing, not legibility. */
[data-csr-density="compact"] {
  --csr-component-control-height: var(--csr-size-control-compact);
  --csr-component-row-height: var(--csr-size-row-compact);
  --csr-component-panel-padding: var(--csr-space-16);
}
@media (pointer: coarse) {
  [data-csr-app] {
    --csr-component-control-height: var(--csr-size-control-touch);
    --csr-component-row-height: var(--csr-size-row-touch);
  }
}
@media (prefers-reduced-motion: reduce) {
  :root {
    --csr-motion-duration-fast: 0ms;
    --csr-motion-duration-default: 0ms;
    --csr-motion-duration-slow: 0ms;
  }
}
