/* Type system v7 (5 Nov 2026, Sajid: final) — Better Outcomes. Part of the APanel kit (standin/look); copy UNCHANGED into every
   site, agent, app, demo and trial. One rule, two fonts: Newsreader for what is SAID (headlines, the lede, the agent talking,
   page titles); BO (Plus Jakarta Sans, bo.ttf) for everything you scan, read in a panel or click (body, menus, labels, data,
   numbers, buttons, what the user types). No third font. Weights: 400 normal, 500 names and labels, 600 only the primary button.
   Floors: regular data never below 15px, hints never below 14px; the only 12px text is a short uppercase kicker (t-kicker),
   never a sentence or data. Numbers use tabular figures. Night: data-theme="dark" on <html>. Colours are CSS variables (--t-*).
   Use: link this file once; fonts load from the same folder (bo.ttf, newsreader-*.woff2). Then a class on any element,
   e.g. <h1 class="t-h1">, <p class="t-voice">, <td class="t-data">. Supersedes v6 (one font, 20 Oct) and v5 (Newsreader + Inter, 8 Oct). */
@font-face{font-family:"BO";src:url("bo.ttf") format("truetype");font-style:normal;font-weight:200 800;font-display:swap}
@font-face{font-family:"Newsreader";src:url("newsreader-latin-400-normal.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Newsreader";src:url("newsreader-latin-500-normal.woff2") format("woff2");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:"Newsreader";src:url("newsreader-latin-400-italic.woff2") format("woff2");font-style:italic;font-weight:400;font-display:swap}
:root{
  --t-serif:"Newsreader", Georgia, "Times New Roman", serif;
  --t-sans:"BO", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --t-bg:#f7f9f7;
  --t-panel:#ffffff;
  --t-sunk:#e8f0ed;
  --t-line:#dde6e3;
  --t-line2:#cbd8d5;
  --t-text:#152e34;
  --t-text2:#2f464b;
  --t-muted:#52676b;
  --t-dim:#7f9296;
  --t-btn:#152e34;
  --t-btn-ink:#ffffff;
  --t-accent:#006f86;
  --t-ok:#1f6f4a;
  --t-warn:#8a5a10;
  --t-bad:#a8372c;
}
:root[data-theme="dark"]{
  --t-bg:#0f191b;
  --t-panel:#142225;
  --t-sunk:#19292c;
  --t-line:#223336;
  --t-line2:#2c4144;
  --t-text:#eef4f2;
  --t-text2:#cbd8d5;
  --t-muted:#93a8ab;
  --t-dim:#647a7d;
  --t-btn:#eef4f2;
  --t-btn-ink:#152e34;
  --t-accent:#4cc0d8;
  --t-ok:#73c995;
  --t-warn:#e0b061;
  --t-bad:#ec8b7f;
}
body{font-family:var(--t-sans);font-size:15px;line-height:1.5;color:var(--t-text);background:var(--t-bg);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.t-h1{font-family:var(--t-serif);font-size:56px;font-weight:400;line-height:1.05;letter-spacing:-0.02em;color:var(--t-text)} /* Site headline (38 on phones) · site */
.t-h2{font-family:var(--t-serif);font-size:36px;font-weight:400;line-height:1.12;letter-spacing:-0.015em;color:var(--t-text)} /* Site section headline (28 on phones) · site */
.t-h3{font-family:var(--t-serif);font-size:22px;font-weight:400;line-height:1.3;letter-spacing:-0.005em;color:var(--t-text)} /* Small headline, card title · site */
.t-lede{font-family:var(--t-serif);font-size:21px;font-weight:400;line-height:1.55;letter-spacing:0;color:var(--t-text2)} /* Intro line under a headline (18 on phones) · site */
.t-body{font-family:var(--t-sans);font-size:17px;font-weight:400;line-height:1.65;letter-spacing:0;color:var(--t-text2)} /* Paragraphs · site */
.t-body-sm{font-family:var(--t-sans);font-size:16px;font-weight:400;line-height:1.6;letter-spacing:0;color:var(--t-muted)} /* Short descriptions, notes · site */
.t-step{font-family:var(--t-serif);font-size:44px;font-weight:400;line-height:1.08;letter-spacing:-0.02em;color:var(--t-text);text-align:center} /* Centred step or journey headline (32 on phones) · app, agent */
.t-voice{font-family:var(--t-serif);font-size:22px;font-weight:400;line-height:1.45;letter-spacing:-0.005em;color:var(--t-text)} /* The agent talking · agent */
.t-page-title{font-family:var(--t-serif);font-size:32px;font-weight:400;line-height:1.15;letter-spacing:-0.01em;color:var(--t-text)} /* App page title · app */
.t-desc{font-family:var(--t-sans);font-size:16px;font-weight:400;line-height:1.55;letter-spacing:0;color:var(--t-muted)} /* App page description, empty states · app */
.t-message{font-family:var(--t-sans);font-size:16px;font-weight:400;line-height:1.55;letter-spacing:0;color:var(--t-text)} /* What the user types or sent · agent */
.t-sheet-title{font-family:var(--t-sans);font-size:17px;font-weight:500;line-height:1.45;letter-spacing:0;color:var(--t-text)} /* Result card title, app section title · agent, app */
.t-data-name{font-family:var(--t-sans);font-size:16px;font-weight:500;line-height:1.45;letter-spacing:0;color:var(--t-text)} /* Company or record name in a list · agent, app */
.t-data{font-family:var(--t-sans);font-size:15px;font-weight:400;line-height:1.5;letter-spacing:0;color:var(--t-muted);font-variant-numeric:tabular-nums} /* Data details, table cells (never smaller) · all */
.t-num{font-family:var(--t-sans);font-size:15px;font-weight:400;line-height:1.5;letter-spacing:0;color:var(--t-text);font-variant-numeric:tabular-nums} /* Numbers, scores, codes, IDs (tabular figures) · all */
.t-label{font-family:var(--t-sans);font-size:15px;font-weight:400;line-height:1.4;letter-spacing:0;color:var(--t-muted)} /* Labels, menus, tabs, secondary buttons · all */
.t-button{font-family:var(--t-sans);font-size:15px;font-weight:600;line-height:1;letter-spacing:0;color:var(--t-btn-ink)} /* Primary button only (secondary buttons use label) · all */
.t-th{font-family:var(--t-sans);font-size:14px;font-weight:500;line-height:1.4;letter-spacing:0;color:var(--t-muted);font-variant-numeric:tabular-nums} /* Table header · app */
.t-badge{font-family:var(--t-sans);font-size:14px;font-weight:500;line-height:1.3;letter-spacing:0;color:var(--t-ok)} /* Status badge · app */
.t-hint{font-family:var(--t-sans);font-size:14px;font-weight:400;line-height:1.5;letter-spacing:0;color:var(--t-dim)} /* Hints, captions, status (never smaller) · all */
.t-kicker{font-family:var(--t-sans);font-size:12px;font-weight:600;line-height:1.3;letter-spacing:.06em;text-transform:uppercase;color:var(--t-accent)} /* Short label above a headline or group: Done, Why, Source (never a sentence) · all */
@media (max-width:760px){.t-h1{font-size:38px}.t-h2{font-size:28px}.t-lede{font-size:18px}.t-step{font-size:32px}}
