/* ASRT IBMS — design tokens. Identity: "precise ledger terminal".
 * Warm paper neutrals, ONE signature accent (engineered teal), sharp 2-4px
 * radii, hairline rules instead of stacked shadows, tabular mono for figures. */

:root {
  color-scheme: light;

  /* signature accent — teal #0E7C66 family, used nowhere else as a wash */
  --accent: #0e7c66;
  --accent-strong: #0b6250;
  --accent-soft: rgba(14, 124, 102, 0.09);
  --accent-line: rgba(14, 124, 102, 0.34);
  --accent-ink: #ffffff;

  /* warm paper neutrals */
  --bg-canvas: #f7f5f0;
  --bg-surface: #fdfcf8;
  --bg-surface-2: #f2efe7;
  --bg-surface-3: #e8e4d9;
  --bg-raised: #fffefb;
  --bg-inverse: #1a1813;
  --bg-input: #fffefb;
  --bg-hover: #efece4;
  --bg-selected: #e6efe9;

  --text-primary: #1a1813;
  --text-secondary: #524e45;
  --text-muted: #837d71;
  --text-inverse: #f7f5f0;
  --text-link: #0b6250;

  --border-subtle: #e2ddd0;
  --border-strong: #cbc4b3;
  --border-hairline: #ece7db;
  --border-focus: var(--accent);

  /* semantic — muted, print-like */
  --ok: #256b4d;
  --ok-bg: #e6efe9;
  --ok-line: #bcd6c6;
  --warn: #8a5a06;
  --warn-bg: #f6eed9;
  --warn-line: #e0cb98;
  --bad: #a32d24;
  --bad-bg: #f6e5e2;
  --bad-line: #e0b6ae;
  --info: #2f5d8a;
  --info-bg: #e6ecf2;
  --info-line: #c0cfdd;
  --neutral: #6b6559;
  --neutral-bg: #eceae1;
  --neutral-line: #d9d5c9;

  /* status chips */
  --chip-active: var(--ok);
  --chip-active-bg: var(--ok-bg);
  --chip-verified: var(--ok);
  --chip-verified-bg: var(--ok-bg);
  --chip-paid: var(--ok);
  --chip-paid-bg: var(--ok-bg);
  --chip-pending: var(--warn);
  --chip-pending-bg: var(--warn-bg);
  --chip-proposed: var(--warn);
  --chip-proposed-bg: var(--warn-bg);
  --chip-overdue: var(--bad);
  --chip-overdue-bg: var(--bad-bg);
  --chip-failed: var(--bad);
  --chip-failed-bg: var(--bad-bg);
  --chip-draft: var(--neutral);
  --chip-draft-bg: var(--neutral-bg);
  --chip-cancelled: var(--neutral);
  --chip-cancelled-bg: var(--neutral-bg);

  /* data viz — accent + neutrals + two signal hues, nothing else */
  --chart-1: #0e7c66;
  --chart-2: #6b6559;
  --chart-3: #a32d24;
  --chart-4: #8a5a06;
  --chart-5: #2f5d8a;
  --chart-6: #b9b1a1;
  --chart-grid: rgba(26, 24, 19, 0.09);
  --chart-text: #524e45;

  /* elevation — reserved for floating layers only */
  --shadow-sm: none;
  --shadow-md: 0 6px 18px rgba(26, 24, 19, 0.14);
  --shadow-lg: 0 16px 38px rgba(26, 24, 19, 0.2);
  --shadow-focus: 0 0 0 2px rgba(14, 124, 102, 0.28);

  /* radii — sharp */
  --r-xs: 2px;
  --r-sm: 3px;
  --r-md: 4px;
  --r-lg: 4px;
  --r-xl: 6px;
  --r-full: 999px;

  /* spacing scale */
  --s-1: 4px;
  --s-2: 8px;
  --s-3: 11px;
  --s-4: 15px;
  --s-5: 20px;
  --s-6: 28px;
  --s-7: 38px;
  --s-8: 52px;

  /* type */
  --font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --font-mono: "IBM Plex Mono", "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --fs-xxs: 10px;
  --fs-xs: 11px;
  --fs-sm: 12.5px;
  --fs-md: 13.5px;
  --fs-lg: 15.5px;
  --fs-xl: 19px;
  --fs-2xl: 24px;
  --fs-3xl: 30px;
  --fs-money: 22px;

  /* layout */
  --rail-w: 232px;
  --rail-w-collapsed: 56px;
  --topbar-h: 52px;
  --content-max: 1680px;

  --sidebar-bg: #14130f;
  --sidebar-fg: #b5ad9d;
  --sidebar-fg-active: #fbf9f3;
  --sidebar-line: rgba(247, 245, 240, 0.1);
  --sidebar-hover: rgba(14, 124, 102, 0.14);

  --skeleton: linear-gradient(90deg, #eceade 25%, #f4f2e9 37%, #eceade 63%);
  --overlay: rgba(26, 24, 19, 0.42);
  --paper-grid: rgba(26, 24, 19, 0.05);
  --accent-on-dark: #2bb394;

  /* legacy aliases — components reference the accent through these */
  --brand-teal: var(--accent);
  --brand-teal-strong: var(--accent-strong);
  --brand-navy: var(--bg-inverse);
  --brand-ink: #262319;
  --brand-steel: var(--info);
  --brand-amber: var(--warn);
  --brand-orange: var(--warn);
}

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

  --accent: #2bb394;
  --accent-strong: #23a188;
  --accent-soft: rgba(43, 179, 148, 0.12);
  --accent-line: rgba(43, 179, 148, 0.36);
  --accent-ink: #0d1512;

  --bg-canvas: #131210;
  --bg-surface: #1a1917;
  --bg-surface-2: #211f1c;
  --bg-surface-3: #2a2823;
  --bg-raised: #201f1b;
  --bg-inverse: #f7f5f0;
  --bg-input: #161513;
  --bg-hover: #262420;
  --bg-selected: #24322c;

  --text-primary: #ebe7dd;
  --text-secondary: #b0a99b;
  --text-muted: #837d71;
  --text-inverse: #131210;
  --text-link: #52c7a8;

  --border-subtle: #2e2c26;
  --border-strong: #423f37;
  --border-hairline: #272521;

  --ok: #4fbe8c;
  --ok-bg: rgba(79, 190, 140, 0.13);
  --ok-line: rgba(79, 190, 140, 0.32);
  --warn: #d9a94a;
  --warn-bg: rgba(217, 169, 74, 0.13);
  --warn-line: rgba(217, 169, 74, 0.32);
  --bad: #e07a6e;
  --bad-bg: rgba(224, 122, 110, 0.13);
  --bad-line: rgba(224, 122, 110, 0.32);
  --info: #85b3dd;
  --info-bg: rgba(133, 179, 221, 0.13);
  --info-line: rgba(133, 179, 221, 0.32);
  --neutral: #9a9385;
  --neutral-bg: rgba(154, 147, 133, 0.13);
  --neutral-line: rgba(154, 147, 133, 0.3);

  --chart-1: #2bb394;
  --chart-2: #b0a99b;
  --chart-3: #e07a6e;
  --chart-4: #d9a94a;
  --chart-5: #85b3dd;
  --chart-6: #6b6559;
  --chart-grid: rgba(235, 231, 221, 0.09);
  --chart-text: #b0a99b;

  --shadow-sm: none;
  --shadow-md: 0 6px 18px rgba(0, 0, 0, 0.5);
  --shadow-lg: 0 16px 38px rgba(0, 0, 0, 0.58);
  --shadow-focus: 0 0 0 2px rgba(43, 179, 148, 0.34);

  --sidebar-bg: #100f0d;
  --sidebar-fg: #a49d8f;
  --sidebar-hover: rgba(43, 179, 148, 0.16);

  --skeleton: linear-gradient(90deg, #211f1c 25%, #2a2823 37%, #211f1c 63%);
  --overlay: rgba(6, 6, 5, 0.62);
  --paper-grid: rgba(235, 231, 221, 0.05);
  --accent-on-dark: #2bb394;

  --brand-teal: var(--accent);
  --brand-teal-strong: var(--accent-strong);
  --brand-navy: var(--bg-inverse);
  --brand-ink: #262319;
  --brand-steel: var(--info);
  --brand-amber: var(--warn);
  --brand-orange: var(--warn);
}
