/* SOLAR UI TOKENS (Phase A, 1 Oct 2026). Source: the solar site's base.css + the site designer's app spec. Prefix --u- so nothing here
   collides with premium-solar.css (.sol-app defines its own --ink/--line/...). Components in ui.css read ONLY these.
   ZONE MAP (James: "areas separated by colour"): one surface per zone, so you always know where you are.
     sidebar       deep blue   --u-side-*   the ONE dark zone (flip it to white in the single block marked FLIP below)
     top bar       white       --u-top-*    white glass over the page, 1px bottom line
     page          mist        --u-page     the floor everything sits on
     cards         white       --u-card     1px line + s1
     detail panel  tint        --u-panel    right-hand record panel / drawer body wash
     floating      glass       --u-glass    command bar + toast ONLY (menus/popovers/dialogs are solid white) */
/* REDESIGN 5 Oct 2026 (design reviews A+B): navy is brand chrome ONLY (sidebar, logo); ONE accent #1F5FD6 for action (primary button,
   links, selection, focus); grey does the rest; state colours only for real status; charts use their own palette (--chart-*, --ramp-*),
   never the accent or a state colour. No teal, no gradients, no glass sheen. Old --u-* names are kept and pointed at the new values. */
/* MIX 5 Oct 2026 (James: Studio x Field panel mix, accent = GG deep blue #0F407B). Contract: tools/solar/plan/design-review/LOOK-CONTRACT.md */
@font-face{font-family:"Onest";src:url("fonts/onest-400.woff2") format("woff2");font-weight:400;font-display:optional}
@font-face{font-family:"Onest";src:url("fonts/onest-500.woff2") format("woff2");font-weight:500;font-display:optional}
@font-face{font-family:"Onest";src:url("fonts/onest-600.woff2") format("woff2");font-weight:600;font-display:optional}
@font-face{font-family:"Onest";src:url("fonts/onest-700.woff2") format("woff2");font-weight:700;font-display:optional}
:root{
  --navy:#0F407B; --accent:#0F407B; --accent-h:#0C3566; --accent-tint:#E8EEF8;
  --ink-1:#0B0D12; --ink-2:#3F4450; --meta:#6B7180; --ground:#F4F5F7; --card:#FFFFFF; --side:#FAFAFB; --well:#F8F9FA;
  --hairline:#E4E7EC; --hairline-2:#D3D6DC; --sunken:#F1F2F4;
  --info:#2563EB; --info-bg:#EAF1FE; --good:#15803D; --good-bg:#E8F6EC; --warn:#B45309; --warn-bg:#FEF4E2; --bad:#B91C1C; --bad-bg:#FDECEC;
  --neutral:#52525B; --neutral-bg:#F1F2F4;
  --stage-1:#E4572E; --stage-2:#D97706; --stage-3:#0D9488; --stage-4:#7C3AED; --stage-5:#16A34A; --stage-6:#4F46E5;
  /* person avatars (5 Oct): muted, never a stage hue or the accent; white initials stay above 4.5:1. Picked by SolarKit.avatarTone(name). */
  --avatar-1:#5B6B8C; --avatar-2:#8A5A44; --avatar-3:#4E7A6A; --avatar-4:#7A5C8E; --avatar-5:#80672F; --avatar-6:#3F6E8C;
  --chart-1:var(--stage-1); --chart-2:var(--stage-2); --chart-3:var(--stage-3); --chart-4:var(--stage-4); --chart-5:var(--stage-5); --chart-6:var(--stage-6);
  --ramp-1:#E8EDF7; --ramp-2:#C5D1EA; --ramp-3:#97ABD6; --ramp-4:#6884BD; --ramp-5:#3A5BA0; --ramp-6:#253D72;
  --chart-grid:#EEEEF1; --chart-axis:var(--meta);
  --r:8px; --r-pop:10px; --r-chip:6px;
  --t-title:600 26px/32px var(--u-f); --t-fig:600 22px/28px var(--u-f); --t-sec:600 15px/22px var(--u-f); --t-body:400 13.5px/20px var(--u-f); --t-label:500 12px/16px var(--u-f);
  --shadow-float:0 10px 28px -10px rgba(11,13,18,.20),0 1px 2px rgba(11,13,18,.06);

  /* old names, new values (kept so nothing breaks) */
  --u-white:#FFFFFF; --u-mist:var(--well); --u-tint:var(--accent-tint); --u-line:var(--hairline); --u-line-2:var(--hairline-2);
  --u-page:var(--ground); --u-card:var(--card); --u-panel:var(--card); --u-top:#FFFFFF;
  --u-ink:var(--ink-1); --u-muted:var(--ink-2); --u-soft:var(--meta);
  --u-blue:var(--accent); --u-blue-2:var(--accent); --u-blue-grad:var(--accent); --u-blue-grad-h:var(--accent-h);
  --u-teal:var(--good); --u-sun:var(--accent);
  --u-new-bg:var(--neutral-bg); --u-new-fg:var(--neutral);
  --u-done-bg:var(--good-bg); --u-done-fg:var(--good);
  --u-soon-bg:var(--warn-bg); --u-soon-fg:var(--warn);
  --u-over-bg:var(--bad-bg); --u-over-fg:var(--bad);
  --u-neutral-bg:var(--neutral-bg); --u-neutral-fg:var(--neutral);
  --u-s1:none; --u-s2:var(--shadow-float); --u-s3:0 24px 48px -20px rgba(11,13,18,.28);
  --u-r-c:8px; --u-r-m:10px; --u-r-l:8px; --u-r-p:999px;
  --u-f:"Onest",system-ui,-apple-system,"Segoe UI",sans-serif;
  --u-t-body:13.5px; --u-t-table:13.5px; --u-t-meta:12px; --u-t-title:26px; --u-t-num:22px;
  --u-glass:#FFFFFF; --u-glass-line:var(--hairline); --u-glass-blur:none; --u-glass-shadow:var(--shadow-float);
  --u-focus:0 0 0 2px #fff,0 0 0 4px var(--accent);
  --u-ease:cubic-bezier(.22,1,.36,1); --u-z-drawer:300; --u-z-pop:350; --u-z-toast:400;
  /* sidebar: LIGHT (Field). Active = 3px accent rail + accent text on accent tint */
  --u-side-bg:var(--side);
  --u-side-ink:var(--ink-1); --u-side-muted:var(--ink-2); --u-side-line:var(--hairline);
  --u-side-hover:#F0F1F4; --u-side-on-bg:var(--accent-tint); --u-side-on-ink:var(--accent); --u-side-dot:var(--accent);
}
/* Fallbacks. Reduced transparency: glass becomes solid white. Reduced motion: no transitions, no roll, no rotate. */
@media (prefers-reduced-transparency:reduce){:root{--u-glass:rgba(255,255,255,.97);--u-glass-blur:none;--u-top:#FFFFFF}}
@media (prefers-reduced-motion:reduce){:root{--u-ease:linear}.u,.u *,[class^="u-"],[class*=" u-"]{transition:none!important;animation:none!important}}
