/* ══════════════════════════════════════════════════════════════════
   Paper Slate — design tokens.
   MUST load before every other stylesheet (ps.css, nav.css, roster-theme.css).

   The --rt-* alias block at the bottom is what lets the ~19 legacy
   roster-theme pages adopt this palette without their markup being touched.
   It is deleted in wave 5 once no page references rt-* any more.
   ══════════════════════════════════════════════════════════════════ */
:root{
  /* surfaces — Shift Board: beige / petroleum / gold */
  --ps-bg:#F3ECDF;
  --ps-surface:#FFFFFF;
  --ps-surface-sunk:#E7DCC7;
  --ps-ink:#2A2118;            /* headings, primary text — text only, never a fill */
  --ps-border:#E7DCC7;
  --ps-border-soft:#EFE7D8;

  /* text ramp — nothing lighter than --ps-text-2 for real content */
  --ps-text-1:#2A2118;
  --ps-text-2:#6B5D4C;         /* AA on white at 11px */
  --ps-text-3:#9C8F7C;         /* decorative / icon only */

  /* the one primary — petroleum teal, main surface + brand */
  --ps-accent:#0F4C4A;
  --ps-accent-hover:#0A3634;
  --ps-accent-soft:#DCEAE8;
  --ps-accent-soft-ink:#0F4C4A;

  /* gold — secondary accent: check-in/action buttons, brand marks */
  --ps-gold:#B5892B;
  --ps-gold-hover:#8C6A1F;
  --ps-gold-soft:#F6EAD1;
  --ps-gold-soft-ink:#8C6A1F;

  /* status — ONLY for status, never actions */
  --ps-green:#E2EBE0;   --ps-green-ink:#4E7C58;
  --ps-amber:#F6EAD1;   --ps-amber-ink:#8C6A1F;
  --ps-red:#F7E2DE;     --ps-red-ink:#A63A2E;
  --ps-violet:#F3E8FF;  --ps-violet-ink:#6D28D9;
  --ps-slate:#EFE7D8;   --ps-slate-ink:#6B5D4C;
  --ps-danger:#A63A2E;  --ps-danger-border:#E9C6BC;  --ps-danger-bg:#F7E2DE;
  --ps-warn-bg:#F6EAD1; --ps-warn-border:#E3C685;    --ps-warn-ink:#8C6A1F;

  /* radius — the ONLY legal values */
  --ps-r-sm:8px; --ps-r-md:12px; --ps-r-lg:16px; --ps-r-xl:18px;
  --ps-r-2xl:26px; --ps-r-pill:999px;

  /* elevation */
  --ps-sh-sm:0 1px 2px rgba(42,33,24,.06);
  --ps-sh-md:0 4px 14px rgba(42,33,24,.08);
  --ps-sh-lg:0 12px 30px rgba(42,33,24,.12);

  /* type */
  --ps-font:'Figtree','Segoe UI',system-ui,sans-serif;
  --ps-fs-eyebrow:10.5px;  /* uppercase micro-label — never smaller */
  --ps-fs-xs:11px;  --ps-fs-sm:12.5px; --ps-fs-base:13.5px;
  --ps-fs-lg:16px;  --ps-fs-xl:19px;   --ps-fs-2xl:26px;  --ps-fs-hero:44px;
  --ps-track-eyebrow:.1em;

  /* layout */
  --ps-content:1120px;
  --ps-gap:10px; --ps-gap-lg:16px; --ps-pad-card:16px 18px;
  --ps-tap:44px;
  --ps-topbar-h:58px;
  --ps-bottomnav-h:74px;

  /* ── back-compat aliases: keeps the legacy roster-theme pages alive ── */
  --rt-bg:var(--ps-bg);              --rt-surface:var(--ps-surface);
  --rt-surface-muted:var(--ps-surface-sunk);
  --rt-border:var(--ps-border);       --rt-border-soft:var(--ps-border-soft);
  --rt-text-primary:var(--ps-text-1); --rt-text-secondary:var(--ps-text-2);
  --rt-text-tertiary:var(--ps-text-2);   /* deliberate: kills the 2.8:1 grey */
  --rt-accent:var(--ps-accent);       --rt-accent-hover:var(--ps-accent-hover);
  --rt-accent-soft:var(--ps-accent-soft); --rt-accent-soft-text:var(--ps-accent-soft-ink);
  --rt-green-soft:var(--ps-green);    --rt-green-soft-text:var(--ps-green-ink);
  --rt-amber-soft:var(--ps-amber);    --rt-amber-soft-text:var(--ps-amber-ink);
  --rt-red-soft:var(--ps-red);        --rt-red-soft-text:var(--ps-red-ink);
  --rt-violet-soft:var(--ps-violet);  --rt-violet-soft-text:var(--ps-violet-ink);
  --rt-slate-soft:var(--ps-slate);    --rt-slate-soft-text:var(--ps-slate-ink);

  /* Solid status inks. These are SEPARATE from the -soft backgrounds above and
     are used as foreground colours on legacy pages, so they must stay dark
     enough to read on white — they are not interchangeable with the pastels.
     (The published spec's alias block omitted these six; every one is in live
     use, so without them those pages would fall back to an invalid value.) */
  --rt-green:var(--ps-green-ink);
  --rt-amber:var(--ps-amber-ink);
  --rt-red:var(--ps-danger);
  --rt-violet:var(--ps-violet-ink);

  /* --rt-warm was the previous orange brand accent. Paper Slate has exactly one
     primary, so it collapses onto the accent rather than keeping orange alive. */
  --rt-warm:var(--ps-accent);
  --rt-warm-hover:var(--ps-accent-hover);
  --rt-warm-soft:var(--ps-accent-soft);
  --rt-warm-soft-text:var(--ps-accent-soft-ink);
  --rt-radius-lg:var(--ps-r-lg); --rt-radius-md:var(--ps-r-md);
  --rt-radius-sm:var(--ps-r-sm); --rt-radius-pill:var(--ps-r-pill);
  --rt-shadow-sm:var(--ps-sh-sm); --rt-shadow-md:var(--ps-sh-md); --rt-shadow-lg:var(--ps-sh-lg);
}
