/* Design tokens, copied verbatim from the Air Quotation ERP design.
   Light is the default; dark overrides only what changes. */
:root {
  --bg: #f6f6f7;
  --panel: #ffffff;
  --panel-2: #fafafa;
  --panel-3: #f2f3f5;
  --border: rgba(15, 23, 42, .09);
  --border-2: rgba(15, 23, 42, .16);
  --text: #0f172a;
  --text-2: #5a6472;
  --text-3: #8c95a1;
  --accent: #1f4fd8;
  --accent-2: #143aa8;
  --accent-soft: rgba(31, 79, 216, .08);
  --ok: #12805c;
  --ok-soft: rgba(18, 128, 92, .1);
  --warn: #a5620a;
  --warn-soft: rgba(165, 98, 10, .1);
  --bad: #c02b2b;
  --bad-soft: rgba(192, 43, 43, .1);
  --shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 8px 24px -12px rgba(15, 23, 42, .14);
  --shadow-pop: 0 20px 48px -20px rgba(15, 23, 42, .4), 0 2px 6px rgba(15, 23, 42, .08);
  --scrim: rgba(15, 23, 42, .32);

  --neutral: var(--text-2);
  --neutral-soft: var(--panel-3);

  /* Text/icon colour over a solid --accent fill (buttons, marks). Fixed
     white in both themes — --accent stays a saturated blue in dark mode too,
     so this is not a --text/--bg-style swap. */
  --on-accent: #fff;

  --radius-sm: 6px;
  --radius: 9px;
  --radius-lg: 13px;

  --rowh: 44px;
  --font-sans: Geist, 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --font-mono: 'Geist Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
}

/* Client portal. The public quote is a document, not an app screen, so it gets
   a warmer paper ground and a heavier rule than the ERP panels — and nothing
   else of its own. Every other colour it uses is a token above.
   Deliberately not themed: a commercial document is white paper in every
   client, and the portal never loads the theme switcher. */
:root {
  --paper: #fbfaf6;
  --paper-2: #ffffff;
  --rule: rgba(15, 23, 42, .14);
}

[data-theme="dark"] {
  --bg: #0c0f14;
  --panel: #13181f;
  --panel-2: #171d25;
  --panel-3: #1e262f;
  --border: rgba(255, 255, 255, .075);
  --border-2: rgba(255, 255, 255, .15);
  --text: #e7eaef;
  --text-2: #9aa4b2;
  --text-3: #6d7783;
  --accent-soft: rgba(112, 144, 250, .16);
  --ok: #3ec69a;
  --ok-soft: rgba(62, 198, 154, .14);
  --warn: #e0a63f;
  --warn-soft: rgba(224, 166, 63, .14);
  --bad: #f0736b;
  --bad-soft: rgba(240, 115, 107, .14);
  --shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 10px 28px -14px rgba(0, 0, 0, .6);
  --shadow-pop: 0 22px 50px -20px rgba(0, 0, 0, .75), 0 2px 6px rgba(0, 0, 0, .5);
  --scrim: rgba(0, 0, 0, .58);
  --on-accent: #fff;
}

[data-density="comfortable"] { --rowh: 52px; }
