/* =====================================================================
   CA-Portal — Design tokens. "Ledger" identity.
   Light default + dark via [data-theme="dark"]. No blue-purple SaaS look.
   ===================================================================== */
:root {
  /* Brand */
  --primary:        #16513B;   /* pine / ledger green */
  --primary-hover:  #0F3D2C;
  --primary-press:  #0B2E21;
  --primary-tint:   #E8F0EB;
  --primary-ink:    #FFFFFF;   /* text on primary */
  --accent:         #B4884B;   /* brass / gold */
  --accent-tint:    #F3E9D7;

  /* Surfaces */
  --bg:             #F7F4EC;   /* parchment */
  --surface:        #FFFFFF;
  --surface-2:      #FBF9F3;
  --surface-3:      #F2EEE3;
  --overlay:        rgba(20,17,15,.44);

  /* Ink / text */
  --ink:            #1A1714;
  --ink-muted:      #5B554C;
  --ink-faint:      #8A8377;
  --on-accent:      #2A1E0C;

  /* Lines */
  --border:         #E7E1D5;
  --border-strong:  #D6CDBC;
  --ring:           rgba(22,81,59,.35);

  /* Semantic */
  --success:        #1E7F52;  --success-tint:#E4F1E9;
  --warning:        #B9791A;  --warning-tint:#F6EAD3;
  --danger:         #A23B3B;  --danger-tint: #F4E2E0;
  --info:           #3A6B8A;  --info-tint:   #E2ECF2;

  /* Status pills */
  --st-draft:#6B7280; --st-generated:#1A1714; --st-sent:#3A6B8A;
  --st-partial:#B9791A; --st-paid:#1E7F52; --st-overdue:#A23B3B; --st-cancelled:#8A8377;

  /* Typography */
  --font-display: "Fraunces","Source Serif 4",Georgia,"Times New Roman",serif;
  --font-ui: "Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-mono: "Inter",ui-monospace,"Cascadia Mono",Consolas,monospace;
  --fs-12:.75rem; --fs-13:.8125rem; --fs-14:.875rem; --fs-16:1rem;
  --fs-18:1.125rem; --fs-22:1.375rem; --fs-28:1.75rem; --fs-36:2.25rem;
  --lh-body:1.5; --lh-tight:1.18;

  /* Radii */
  --r-sm:6px; --r-md:8px; --r-lg:12px; --r-xl:16px; --r-pill:999px;

  /* Shadows (soft, layered) */
  --sh-1: 0 1px 2px rgba(20,17,15,.06), 0 1px 1px rgba(20,17,15,.04);
  --sh-2: 0 8px 24px -12px rgba(20,17,15,.18);
  --sh-pop: 0 16px 48px -16px rgba(20,17,15,.28);
  --sh-rail: 1px 0 0 var(--border);

  /* Spacing scale (4px base) */
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:20px; --s6:24px;
  --s7:32px; --s8:40px; --s9:48px; --s10:64px;

  /* Layout */
  --sidebar-w:248px; --sidebar-rail:72px; --topbar-h:60px; --bottomnav-h:64px;
  --content-max:1320px;

  /* Motion */
  --ease: cubic-bezier(.2,.7,.2,1);
  --dur-1:120ms; --dur-2:180ms; --dur-3:240ms;

  color-scheme: light;
}

[data-theme="dark"] {
  --primary:#4FB088; --primary-hover:#62C098; --primary-press:#3F9A75;
  --primary-tint:#15291F; --primary-ink:#0B1A13;
  --accent:#D7A95E; --accent-tint:#2A2113;

  --bg:#14120F; --surface:#1D1A16; --surface-2:#232019; --surface-3:#2A2620;
  --overlay:rgba(0,0,0,.6);

  --ink:#F3EEE3; --ink-muted:#B9B2A4; --ink-faint:#867F72; --on-accent:#1A1206;

  --border:#2C2822; --border-strong:#3A352D; --ring:rgba(79,176,136,.4);

  --success:#4FB088; --success-tint:#16291F;
  --warning:#D7A95E; --warning-tint:#2A2113;
  --danger:#D98A86;  --danger-tint:#2C1A18;
  --info:#82AECB;    --info-tint:#16242C;

  --st-draft:#9A9286; --st-generated:#F3EEE3; --st-sent:#82AECB;
  --st-partial:#D7A95E; --st-paid:#4FB088; --st-overdue:#D98A86; --st-cancelled:#867F72;

  --sh-1: 0 1px 2px rgba(0,0,0,.4);
  --sh-2: 0 10px 30px -14px rgba(0,0,0,.6);
  --sh-pop: 0 20px 56px -18px rgba(0,0,0,.7);
  --sh-rail: 1px 0 0 var(--border);
  color-scheme: dark;
}
