/* Two themes, one layout.
   Dark  = graphite bento (boss default): obsidian-zinc layers, one lime accent for the payroll cycle.
   Light = paper ledger (supervisor default): warm paper, ink-black text, thick ink rule above tables.
   Colour means "look here": rose = money problem, amber = waiting / notice. Everything normal stays neutral. */

@font-face { font-family: 'Satoshi'; src: url('../fonts/Satoshi-Variable.woff2') format('woff2'); font-weight: 300 900; font-display: swap; }
@font-face { font-family: 'Geist'; src: url('../fonts/Geist-Variable.woff2') format('woff2'); font-weight: 100 900; font-display: swap; }

:root {
  --font-text: 'Satoshi', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-num: 'Geist', ui-monospace, 'SF Mono', Menlo, monospace;
  --radius: 8px;
  --radius-tile: 6px;
  --row-h: 50px;
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
  --t-fast: 140ms;
  --t-mid: 200ms;
  --spring: cubic-bezier(0.22, 1, 0.36, 1);
  --pop-spring: cubic-bezier(0.16, 1, 0.3, 1);
  --sidebar-w: 216px;
  --sidebar-w-collapsed: 60px;
}

:root, [data-theme='dark'] {
  color-scheme: dark;
  --bg: #0f0f11;
  --rail: #111113;
  --sidebar: #141416;
  --surface: #18181b;
  --surface-2: #1d1d21;
  --elevated: #202024;
  --hover: rgba(255, 255, 255, 0.035);
  --selected: rgba(255, 255, 255, 0.06);
  --text: #f4f4f5;
  --muted: #a1a1aa;
  --faint: #71717a;
  --border: rgba(255, 255, 255, 0.06);
  --border-strong: rgba(255, 255, 255, 0.12);
  --rule: rgba(255, 255, 255, 0.14);
  --rule-weight: 1px;
  --accent: #d4f25c;
  --accent-ink: #1a2200;
  --accent-soft: rgba(212, 242, 92, 0.12);
  --danger: #f43f5e;
  --danger-soft: rgba(244, 63, 94, 0.12);
  --danger-ink: #fda4b4;
  --warn: #f59e0b;
  --warn-soft: rgba(245, 158, 11, 0.12);
  --warn-ink: #fcd38a;
  --ok: #10b981;
  --focus: rgba(212, 242, 92, 0.45);
  --shadow-pop: 0 12px 32px rgba(0, 0, 0, 0.45), 0 2px 6px rgba(0, 0, 0, 0.3);
  --scrim: rgba(0, 0, 0, 0.55);
  --input-bg: #141416;
}

[data-theme='light'] {
  color-scheme: light;
  --bg: #f7f5f0;
  --rail: #efece4;
  --sidebar: #f1eee6;
  --surface: #fbfaf6;
  --surface-2: #f4f1ea;
  --elevated: #ffffff;
  --hover: rgba(28, 27, 25, 0.035);
  --selected: rgba(28, 27, 25, 0.06);
  --text: #1c1b19;
  --muted: #6b675e;
  --faint: #8a857a;
  --border: #e4e0d6;
  --border-strong: #d4cfc2;
  --rule: #1c1b19;
  --rule-weight: 1.5px;
  --accent: #3f5c00;
  --accent-ink: #f7f5f0;
  --accent-soft: #e6efc7;
  --danger: #a23b2a;
  --danger-soft: #f6e3de;
  --danger-ink: #8a2f20;
  --warn: #9a6a00;
  --warn-soft: #f5ead0;
  --warn-ink: #7a5300;
  --ok: #2f6b3a;
  --focus: rgba(63, 92, 0, 0.35);
  --shadow-pop: 0 12px 32px rgba(28, 27, 25, 0.14), 0 2px 6px rgba(28, 27, 25, 0.08);
  --scrim: rgba(28, 27, 25, 0.35);
  --input-bg: #ffffff;
}

/* Brand dots, in brand order RAM, YGBET, ACE, BETON, REI, HQ. */
:root {
  --brand-RAM: #60a5fa;
  --brand-YGBET: #f59e0b;
  --brand-ACE: #f43f5e;
  --brand-BETON: #a78bfa;
  --brand-REI: #2dd4bf;
  --brand-HQ: #a1a1aa;
}
