/*
  CAS design tokens — the single source for portal colors, typography,
  spacing, radii, controls and appearance themes.

  Light mode retains the approved orange–teal presentation. Dark mode changes
  only semantic UI surfaces and text; protected Record/Result documents keep
  their own print-oriented typography and colors.
*/
:root {
  color-scheme: light;

  --cas-font-ui: "Segoe UI Variable", "Segoe UI", Inter, system-ui, -apple-system, BlinkMacSystemFont, Arial, "Nirmala UI", "Noto Sans Devanagari", sans-serif;
  --cas-font-nepali: "Nirmala UI", "Noto Sans Devanagari", var(--cas-font-ui);
  --cas-font-mono: ui-monospace, "Cascadia Code", "SFMono-Regular", Consolas, monospace;

  --cas-font-size-body: 14px;
  --cas-font-size-button: 13px;
  --cas-font-size-label: 12.5px;
  --cas-font-size-table: 12px;
  --cas-font-size-small: 12px;
  --cas-font-size-page-title: 22px;
  --cas-font-size-card-title: 18px;

  --cas-ink-950: #131c2e;
  --cas-ink-900: #17233a;
  --cas-ink-800: #24324a;
  --cas-ink-700: #3d4a60;
  --cas-ink-600: #5f6b7c;
  --cas-ink-500: #7c8797;

  --cas-primary-700: #dd6710;
  --cas-primary-600: #f47b20;
  --cas-primary-500: #ff8b2c;
  --cas-primary-200: #ffd4b3;
  --cas-primary-100: #ffe8d5;
  --cas-primary-50: #fff6ed;

  --cas-teal-700: #0a7168;
  --cas-teal-600: #0f8f83;
  --cas-teal-500: #17a99b;
  --cas-teal-200: #a9e5de;
  --cas-teal-100: #d9f4f0;
  --cas-teal-50: #effbf9;

  --cas-info-700: #1d4ed8;
  --cas-info-text: #173f7a;
  --cas-info-600: #2563eb;
  --cas-info-100: #dbeafe;
  --cas-info-50: #eff6ff;

  --cas-success-700: #087443;
  --cas-success-600: #0b8a50;
  --cas-success-100: #d8f7e6;
  --cas-success-50: #effcf5;

  --cas-warning-700: #a64b06;
  --cas-warning-600: #c96108;
  --cas-warning-100: #ffdfb6;
  --cas-warning-50: #fff8ed;

  --cas-danger-700: #a61b25;
  --cas-danger-600: #c42c38;
  --cas-danger-100: #ffd7db;
  --cas-danger-50: #fff2f3;

  --cas-page: #fff8f1;
  --cas-page-alt: #fffaf6;
  --cas-card: #ffffff;
  --cas-sidebar: #ffffff;
  --cas-sidebar-soft: #fff9f4;
  --cas-line: #e4e0dc;
  --cas-line-strong: #d7d1cb;
  --cas-line-soft: #f0ece8;

  /* Semantic surfaces used by all portal components. */
  --cas-surface: #ffffff;
  --cas-surface-raised: #ffffff;
  --cas-surface-soft: #fffaf6;
  --cas-surface-muted: #f8f4f0;
  --cas-surface-hover: #fffbf7;
  --cas-surface-selected: #fff4e9;
  --cas-field: #ffffff;
  --cas-field-disabled: #fffaf6;
  --cas-table: #ffffff;
  --cas-table-head: #fff6ee;
  --cas-table-row-hover: #fffbf7;
  --cas-topbar: rgba(255, 255, 255, .94);
  --cas-overlay: rgba(25, 27, 34, .44);
  --cas-mobile-overlay: rgba(22, 28, 39, .42);
  --cas-calendar-overlay: rgba(15, 23, 42, .42);
  --cas-brand-background: linear-gradient(145deg, #ffffff, var(--cas-sidebar-soft));
  --cas-group-background: #fffaf6;
  --cas-group-border: #f0e6dd;
  --cas-placeholder: #9a938b;
  --cas-scrollbar: #d3c8be;
  --cas-sidebar-scrollbar: #d8cfc6;
  --cas-code: #40516a;
  --cas-inverse-text: #ffffff;
  --cas-focus-ring: rgba(23, 169, 155, .13);
  --cas-primary-ring: rgba(244, 123, 32, .18);
  --cas-primary-button-shadow: rgba(244, 123, 32, .20);
  --cas-active-menu-shadow: rgba(244, 123, 32, .22);
  --cas-panel-outline: rgba(255, 255, 255, .78);

  --cas-radius-xs: 7px;
  --cas-radius-sm: 10px;
  --cas-radius: 14px;
  --cas-radius-lg: 18px;
  --cas-radius-xl: 22px;
  --cas-pill: 999px;

  --cas-shadow-xs: 0 1px 2px rgba(61, 38, 19, .04);
  --cas-shadow-sm: 0 5px 15px rgba(61, 38, 19, .055);
  --cas-shadow: 0 14px 34px rgba(61, 38, 19, .075);
  --cas-shadow-lg: 0 24px 64px rgba(61, 38, 19, .16);
  --cas-sidebar-shadow: 5px 0 22px rgba(77, 45, 20, .035);
  --cas-topbar-shadow: 0 5px 18px rgba(65, 38, 18, .045);
  --cas-card-subtle-shadow: 0 1px 2px rgba(0, 0, 0, .04);

  --cas-control-h: 40px;
  --cas-button-h: 38px;
  --cas-sidebar-w: 248px;
  --cas-topbar-h: 66px;
  --cas-content-max: 1680px;

  --cas-space-1: 4px;
  --cas-space-2: 8px;
  --cas-space-3: 12px;
  --cas-space-4: 16px;
  --cas-space-5: 20px;
  --cas-space-6: 24px;
  --cas-space-7: 32px;

  /* Compatibility aliases used by established feature modules. */
  --bg: var(--cas-page);
  --card: var(--cas-card);
  --text: var(--cas-ink-900);
  --muted: var(--cas-ink-600);
  --line: var(--cas-line);
  --primary: var(--cas-primary-600);
  --danger: var(--cas-danger-600);
  --cas-bg: var(--cas-page);
  --cas-text: var(--cas-ink-900);
  --cas-muted: var(--cas-ink-600);
  --cas-danger: var(--cas-danger-600);
  --cas-warning: var(--cas-warning-600);
  --cas-success: var(--cas-success-600);
  --cas-navy-950: var(--cas-ink-950);
  --cas-navy-900: var(--cas-ink-900);
  --cas-navy-800: var(--cas-ink-800);
  --cas-blue-700: var(--cas-primary-700);
  --cas-blue-600: var(--cas-primary-600);
  --cas-blue-500: var(--cas-primary-500);
  --cas-blue-100: var(--cas-primary-100);
  --cas-blue-50: var(--cas-primary-50);
}

:root[data-theme="dark"] {
  color-scheme: dark;

  --cas-ink-950: #f8fafc;
  --cas-ink-900: #eef3f8;
  --cas-ink-800: #dce5ee;
  --cas-ink-700: #c2ceda;
  --cas-ink-600: #99a8b8;
  --cas-ink-500: #748396;

  --cas-primary-700: #ffb26f;
  --cas-primary-600: #ff8b2c;
  --cas-primary-500: #ff9b47;
  --cas-primary-200: #704421;
  --cas-primary-100: #3d2a1b;
  --cas-primary-50: #261c15;

  --cas-teal-700: #74e2d6;
  --cas-teal-600: #32c7b7;
  --cas-teal-500: #24b3a4;
  --cas-teal-200: #285f5a;
  --cas-teal-100: #193d39;
  --cas-teal-50: #112826;

  --cas-info-700: #9ab8ff;
  --cas-info-text: #b5caff;
  --cas-info-600: #78a0ff;
  --cas-info-100: #2a416f;
  --cas-info-50: #17243c;

  --cas-success-700: #6bdda4;
  --cas-success-600: #34c27c;
  --cas-success-100: #27553d;
  --cas-success-50: #162c22;

  --cas-warning-700: #ffc078;
  --cas-warning-600: #f19a46;
  --cas-warning-100: #624426;
  --cas-warning-50: #2d2218;

  --cas-danger-700: #ffa0a8;
  --cas-danger-600: #f06a76;
  --cas-danger-100: #69343d;
  --cas-danger-50: #311b20;

  --cas-page: #0e131b;
  --cas-page-alt: #141b24;
  --cas-card: #18212b;
  --cas-sidebar: #111821;
  --cas-sidebar-soft: #171f2a;
  --cas-line: #2b3744;
  --cas-line-strong: #3b4959;
  --cas-line-soft: #222d38;

  --cas-surface: #18212b;
  --cas-surface-raised: #1c2632;
  --cas-surface-soft: #141b24;
  --cas-surface-muted: #121922;
  --cas-surface-hover: #202b37;
  --cas-surface-selected: #31241a;
  --cas-field: #111923;
  --cas-field-disabled: #171e27;
  --cas-table: #18212b;
  --cas-table-head: #211d1a;
  --cas-table-row-hover: #202a35;
  --cas-topbar: rgba(17, 24, 33, .95);
  --cas-overlay: rgba(2, 6, 12, .72);
  --cas-mobile-overlay: rgba(2, 6, 12, .72);
  --cas-calendar-overlay: rgba(2, 6, 12, .76);
  --cas-brand-background: linear-gradient(145deg, #1b2530, var(--cas-sidebar-soft));
  --cas-group-background: #18212b;
  --cas-group-border: #303c49;
  --cas-placeholder: #728195;
  --cas-scrollbar: #455262;
  --cas-sidebar-scrollbar: #455262;
  --cas-code: #aab8c8;
  --cas-inverse-text: #ffffff;
  --cas-focus-ring: rgba(50, 199, 183, .20);
  --cas-primary-ring: rgba(255, 139, 44, .22);
  --cas-primary-button-shadow: rgba(255, 139, 44, .18);
  --cas-active-menu-shadow: rgba(255, 139, 44, .20);
  --cas-panel-outline: rgba(255, 255, 255, .13);

  --cas-shadow-xs: 0 1px 2px rgba(0, 0, 0, .28);
  --cas-shadow-sm: 0 7px 20px rgba(0, 0, 0, .23);
  --cas-shadow: 0 16px 38px rgba(0, 0, 0, .28);
  --cas-shadow-lg: 0 26px 72px rgba(0, 0, 0, .42);
  --cas-sidebar-shadow: 5px 0 24px rgba(0, 0, 0, .22);
  --cas-topbar-shadow: 0 5px 20px rgba(0, 0, 0, .24);
  --cas-card-subtle-shadow: 0 1px 2px rgba(0, 0, 0, .30);
}
