/* GeoSupport Platform — shared theme
 *
 * The design tokens and base styles every page on the platform inherits
 * unless it explicitly overrides them.
 *
 * Usage:
 *   <link rel="stylesheet" href="/_shared/theme.css">
 *
 * Apps can override any token with their own :root block, or override
 * any base rule with a more-specific selector. Cascade order matters —
 * link this BEFORE any inline <style> block so per-page styles win.
 *
 * Visual style: editorial light theme. See CLAUDE.md "Visual style"
 * section for the full design system rationale.
 */

/* ---- Design tokens ---- */

/* Platform default — "Solar Light": US Solar's navy ink and gold accent on a
 * light neutral canvas, with the editorial orange kept as the accent. Previously
 * this held the warm-cream/orange "editorial" palette and the hub overrode it
 * with Solar in its own inline <style>; the default now lives here so every page
 * starts from the same place. */
:root {
  --bg:           #faf9f7;  /* light neutral canvas */
  --surface:      #ffffff;  /* card surfaces */
  --border:       #e0d9ce;  /* warm hairline */
  --border-soft:  #eae3d7;  /* even softer divider */
  --ink:          #1c1c4c;  /* primary text (US Solar navy) */
  --ink-2:        #3a3a5e;  /* secondary text */
  --muted:        #7c7b92;  /* labels, axis ticks */
  --faint:        #b4b2c2;  /* tertiary, disabled */
  /* US Solar brand gold. Note it is 2.18:1 on white, and --accent also carries
   * link text, the accent word in the h1, and pill text — so those sit below
   * WCAG AA. Chosen deliberately for brand fidelity; if that becomes a problem
   * the fix is a separate darker token for accent *text* (≈#9b6d2d clears AA)
   * while fills and rules keep the brand gold. */
  --accent:       #e6a242;  /* US Solar gold */
  --accent-soft:  #fbefd9;  /* gold tint backgrounds */
  --positive:     #16a34a;  /* muted forest green */
  --negative:     #dc2626;  /* muted red */
  --warning:      #d97706;  /* warm amber */
  --neutral:      #475569;  /* slate (neutral data) */
  --slate-soft:   #94a3b8;  /* light slate (secondary bars) */
}

/* ---- Base resets ---- */

*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }

html {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body {
  margin: 0;
  padding: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
  font-size: 14px;
  line-height: 1.5;
  font-feature-settings: 'cv11', 'ss01', 'tnum';
}

/* ---- Anchors ---- */

a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }
