/* 990Health — Civic public-record aesthetic.
   Warm cream paper, civic navy chrome, stamp-red accent. */

@import url("https://fonts.googleapis.com/css2?family=Crimson+Pro:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400;1,600&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Public+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400;1,600&display=swap");
@import url("https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&display=swap");

:root {
  /* Civic — navy scale. Carries chrome, type, rules. */
  --civic-950: oklch(0.18 0.08 248);
  --civic-900: oklch(0.22 0.09 248);
  --civic-800: oklch(0.28 0.10 248);   /* primary brand navy */
  --civic-700: oklch(0.36 0.10 248);
  --civic-600: oklch(0.46 0.09 248);
  --civic-500: oklch(0.56 0.07 248);
  --civic-400: oklch(0.68 0.05 248);
  --civic-300: oklch(0.80 0.035 248);
  --civic-200: oklch(0.88 0.020 248);
  --civic-100: oklch(0.94 0.012 248);
  --civic-50:  oklch(0.97 0.008 248);

  /* Cream — warm public-record paper. */
  --cream:    oklch(0.985 0.015 88);
  --cream-2:  oklch(0.965 0.020 86);
  --cream-3:  oklch(0.93 0.025 84);
  --cream-4:  oklch(0.88 0.030 82);

  /* Stamp — used sparingly. Public-record red. */
  --stamp-700: oklch(0.42 0.18 25);
  --stamp-500: oklch(0.55 0.20 25);
  --stamp-300: oklch(0.78 0.12 25);
  --stamp-100: oklch(0.94 0.04 25);

  /* Brass — gold-leaf alternate accent, library/seal feel */
  --brass: oklch(0.62 0.12 80);

  /* Semantic — figures only */
  --pos:      oklch(0.48 0.14 145);
  --pos-soft: oklch(0.94 0.045 145);
  --neg:      oklch(0.52 0.18 25);
  --neg-soft: oklch(0.95 0.04 25);

  /* Type */
  --serif: "Crimson Pro", "Source Serif Pro", Georgia, serif;
  --sans:  "Public Sans", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
  --mono:  "JetBrains Mono", "IBM Plex Mono", ui-monospace, monospace;

  /* Radius — soft and humanist (consumer audience) */
  --r-2: 2px;
  --r-4: 4px;
  --r-6: 6px;
  --r-8: 8px;
}

.h990-root {
  font-family: var(--sans);
  color: var(--civic-950);
  background: var(--cream);
  font-feature-settings: "ss01";
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;

  /* Map shared BrandNav tokens to civic/cream palette */
  --ink-950: var(--civic-950);
  --ink-900: var(--civic-900);
  --ink-800: var(--civic-800);
  --ink-700: var(--civic-700);
  --ink-600: var(--civic-600);
  --ink-500: var(--civic-500);
  --ink-200: var(--civic-200);
  --ink-100: var(--civic-100);
  --surface: var(--cream);
  --surface-2: var(--cream-2);
  --volt-500: var(--stamp-500);
  --volt-700: var(--stamp-700);
  --volt-100: var(--stamp-100);
}

.h990-root .serif {
  font-family: var(--serif);
  font-feature-settings: "lnum";
}

.h990-root .num, .h990-root .mono {
  font-family: var(--mono);
  font-feature-settings: "tnum", "zero";
  font-variant-numeric: tabular-nums slashed-zero;
}

/* Civic micro-label — small-caps sans, used for kickers */
.h990-root .micro {
  font-family: var(--sans);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--civic-700);
}

/* Public-record stamp banner */
.h990-root .stamp {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 4px 10px;
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--stamp-700);
  border: 1.5px solid var(--stamp-500);
  border-radius: 2px;
  background: var(--stamp-100);
  transform: rotate(-1.5deg);
}

/* Civic ledger rule — single thick navy underline */
.h990-rule { border: 0; border-top: 1px solid var(--cream-4); margin: 0; }
.h990-rule-strong { border: 0; border-top: 2px solid var(--civic-800); margin: 0; }

/* Big serif callout */
.h990-root h1, .h990-root h2, .h990-root h3 {
  font-family: var(--serif);
  letter-spacing: -0.01em;
}

/* Pill */
.h990-root .pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 9px;
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  border-radius: 999px;
  background: var(--civic-100);
  color: var(--civic-800);
}
.h990-root .pill.pos  { background: var(--pos-soft);  color: var(--pos); }
.h990-root .pill.neg  { background: var(--neg-soft);  color: var(--neg); }
.h990-root .pill.stamp{ background: var(--stamp-100); color: var(--stamp-700); }

/* Button primitives */
.h990-root .btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 11px 18px;
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 600;
  border-radius: var(--r-2);
  cursor: pointer;
  border: 1.5px solid transparent;
  transition: background .12s;
  white-space: nowrap;
}
.h990-root .btn-primary { background: var(--civic-800); color: var(--cream); }
.h990-root .btn-ghost   { background: transparent; color: var(--civic-900); border-color: var(--civic-800); }
.h990-root .btn-stamp   { background: var(--stamp-500); color: var(--cream); }

/* Input */
.h990-root .input {
  display: flex; align-items: center; gap: 10px;
  padding: 12px 16px;
  font-family: var(--sans); font-size: 15px;
  color: var(--civic-700);
  background: var(--cream);
  border: 1.5px solid var(--civic-300);
  border-radius: var(--r-4);
}
