/* ProbateRisk design tokens. "Ledger" system, v14.
   Light and dark are two contrast systems, not an inversion.
   Comfortable and compact are two spacing sets, not two layouts.
   Gold is reserved for progress and milestones. State colors mean state. */

@font-face{font-family:"Inter Variable";font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/inter-latin.woff2) format("woff2-variations")}
@font-face{font-family:"Fraunces Variable";font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/fraunces-latin.woff2) format("woff2-variations")}
@font-face{font-family:"Fraunces Variable";font-style:italic;font-weight:100 900;font-display:swap;src:url(/assets/fonts/fraunces-latin-italic.woff2) format("woff2-variations")}

:root{
  --font-ui:"Inter Variable",Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-display:"Fraunces Variable",Fraunces,Georgia,"Times New Roman",serif;

  /* type scale */
  --fs-1:12px; --fs-2:13px; --fs-3:14px; --fs-4:15.5px; --fs-5:17px; --fs-6:21px; --fs-7:26px; --fs-8:34px; --fs-9:44px;
  --lh-ui:1.45; --lh-tight:1.15; --lh-read:1.6;

  /* radii: a hierarchy, not one value */
  --r-1:6px; --r-2:10px; --r-3:16px; --r-pill:999px;

  /* motion */
  --t-1:150ms; --t-2:250ms; --ease:cubic-bezier(.2,.7,.2,1);

  /* spacing (comfortable) */
  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:20px; --sp-6:24px; --sp-7:32px; --sp-8:44px;
  --pad-card:20px; --pad-row:12px; --gap-grid:14px; --rail-w:232px; --rail-w-min:64px; --topbar-h:56px; --sheet-w:760px;

  /* brand */
  --navy:#102840; --navy-deep:#0B1D30; --navy-ink:#102840; --navy-soft:#EAF0F6;
  --gold:#B08830; --gold-ink:#8F6C1F; --gold-tint:#F6EEDA; --gold-hi:#C9A24E; --gold-soft:#FBF1D6; --on-gold:#14213A;

  /* derived accents: every brand color used on a surface goes through these, so a firm's
     palette can lift them for dark mode instead of the sheet hardcoding navy */
  --tonal:var(--navy-soft); --tonal-ink:var(--navy); --tonal-hover:#DCE5F3;
  --hero-a:var(--navy); --hero-b:var(--navy-deep);
  --focus-ring:var(--navy-soft);
  --ok-soft:#E3F3E8; --warn-soft:#FBF1D6; --bad-soft:#FBE4E4; --ok-line:#CFE6D7;

  /* light surfaces */
  --bg:#F4F3EE; --surface:#FFFFFF; --surface-2:#F1EFE8; --surface-3:#E9E6DD;
  --ink:#1B2733; --ink-2:#55606C; --ink-3:#8A94A0; --ink-inverse:#FFFFFF;
  --line:#E3DFD5; --line-2:#CFC9BC; --focus:#B08830;

  /* state */
  --ok:#2E6B4F; --ok-tint:#E6F1EA;
  --warn:#8A5A1E; --warn-tint:#FBF3E4;
  --bad:#8A2430; --bad-tint:#FBEDEA;
  --info:#1E4A44; --info-tint:#E9F1F0;
  --wait:#3D4668; --wait-tint:#ECEEF6;
  --neutral:#55606C; --neutral-tint:#EEF0F3;

  /* rail */
  --rail-bg:#102840; --rail-ink:rgba(255,255,255,.72); --rail-ink-on:#FFFFFF; --rail-hover:rgba(255,255,255,.07); --rail-on:rgba(255,255,255,.10); --rail-line:rgba(255,255,255,.12);

  /* shadows, floating surfaces only */
  --shadow-float:0 18px 48px rgba(16,40,64,.18),0 2px 6px rgba(16,40,64,.08);
  --shadow-pop:0 8px 24px rgba(16,40,64,.14);
  --scrim:rgba(10,20,30,.48);

  color-scheme:light;
}

[data-theme="dark"]{
  --navy:#2C4A6B; --navy-deep:#365A80; --navy-soft:#1B2E44; --navy-ink:#DCE6F2;
  --gold:#C9A24E; --gold-ink:#E0BE6A; --gold-tint:#2A2414; --gold-soft:#2A2414;
  --tonal:rgba(120,160,220,.18); --tonal-ink:#B9CBEA; --tonal-hover:rgba(120,160,220,.26);
  --hero-a:#243C63; --hero-b:#16294A;
  --focus-ring:rgba(201,162,78,.2);
  --ok-soft:rgba(60,160,100,.18); --warn-soft:rgba(220,170,40,.18); --bad-soft:rgba(220,80,80,.18); --ok-line:#2C4A38;
  --bg:#0E151E; --surface:#151F2A; --surface-2:#1B2733; --surface-3:#223040;
  --ink:#E9EDF2; --ink-2:#AEB8C4; --ink-3:#75818F; --ink-inverse:#0E151E;
  --line:#263441; --line-2:#3A4B5E; --focus:#E0BE6A;
  --ok:#7FC9A0; --ok-tint:#16302A;
  --warn:#E0B266; --warn-tint:#2E2412;
  --bad:#F0919B; --bad-tint:#2E1518;
  --info:#7FC1B7; --info-tint:#12302C;
  --wait:#9FB0F0; --wait-tint:#1B2033;
  --neutral:#AEB8C4; --neutral-tint:#1F2A36;
  --rail-bg:#0B1826; --rail-ink:rgba(233,237,242,.7); --rail-hover:rgba(255,255,255,.06); --rail-on:rgba(255,255,255,.09); --rail-line:rgba(255,255,255,.1);
  --shadow-float:0 18px 48px rgba(0,0,0,.55),0 2px 6px rgba(0,0,0,.3);
  --shadow-pop:0 8px 24px rgba(0,0,0,.45);
  --scrim:rgba(0,0,0,.6);
  color-scheme:dark;
}

[data-density="compact"]{
  --pad-card:14px; --pad-row:8px; --gap-grid:10px; --topbar-h:48px;
  --fs-3:13px; --fs-4:14px; --fs-5:15.5px; --fs-6:19px; --fs-7:23px;
}

@media (prefers-reduced-motion:reduce){:root{--t-1:0ms;--t-2:0ms}}
