/* ═══════════════ BRASH Reporting — New Business & Reputation ═══════════════
   The ten reporting and tracker screens (Lara's "Route C / Atlas" handoff,
   October 2026) brought onto the platform's brand on 7 Oct 2026. The layout
   and the behaviour are the handoff's; the type and the colours are the
   platform's (platform/tokens.css, as New Biz, Atlas and the OS carry them):
   Neue Haas Grotesk Display, paper #F3F2EF and graphite #141414, ink
   controls, red #F40000 as the one accent — fill-only, with --red-text for
   words — and the OS's court blue for "won". The masthead is the platform's
   uniform app bar (BRASH Intelligence System version 3.0/assets/apps/newbiz/
   masthead.html is the reference).

   Tokens are COPIED from platform/tokens.css, as every app copies them: no
   app links a file inside another folder. The fonts are the platform's own
   TTFs, which the switcher and the Assistant already load from there. */

@font-face{font-family:"Neue Haas Display";src:url("../../platform/fonts/NeueHaasDisplayRoman.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"Neue Haas Display";src:url("../../platform/fonts/NeueHaasDisplayBold.ttf") format("truetype");font-weight:600 800;font-display:swap}
@font-face{font-family:"Neue Haas Display";src:url("../../platform/fonts/NeueHaasDisplayLight.ttf") format("truetype");font-weight:300;font-display:swap}

/* ── tokens: light (the resting appearance) ── */
:root{
  color-scheme:light;
  --canvas:#F3F2EF; --canvas-2:#ECEBE7; --surface:#FFFFFF; --surface-raised:#FFFFFF;
  --line:rgba(0,0,0,.08); --line-strong:rgba(0,0,0,.14);
  --ink:#111111; --ink-2:#4A4A48; --ink-3:#66655F; --on-ink:#FFFFFF;
  --f3:rgba(17,17,17,.03); --f6:rgba(17,17,17,.06); --f8:rgba(17,17,17,.08); --f12:rgba(17,17,17,.12); --f16:rgba(17,17,17,.16); --f24:rgba(17,17,17,.24);
  --red:#F40000; --red-text:#D40000; --red-soft:rgba(244,0,0,.10); --on-red:#0b0b0b;
  --amber:#F5A623; --amber-text:#9A5C00; --amber-soft:rgba(245,166,35,.16);
  --green:#34C26B; --green-text:#1E7F4A; --green-soft:rgba(52,194,107,.14);
  --teal:#1B6E8F; --teal-wash:rgba(27,110,143,.14);
  --focus:#2F6FED;
  --shadow-1:0 1px 2px rgba(0,0,0,.06); --shadow-raised:0 8px 32px rgba(0,0,0,.14); --shadow-paper:0 12px 40px rgba(0,0,0,.12);
  --logo-filter:none;
  --sans:"Neue Haas Display","Helvetica Neue",Helvetica,Arial,sans-serif;
  --display:"Neue Haas Display","Helvetica Neue",Helvetica,Arial,sans-serif;
  --radius:8px; --radius-lg:12px;

  /* the outcomes of a lead — the court blue for won, as New Biz paints it;
     amber and red checked against each other for colour-blind readers
     (dataviz validator, 7 Oct 2026) and never shown without their word */
  --st-won:#1B6E8F; --st-open:#C27A00; --st-lost:#D40000; --st-cancelled:#8A8984; --st-declined:#C9C7C2;
  /* RAG on the reputation scorecard — always paired with a label */
  --rag-green:#1E7F4A; --rag-amber:#C27A00; --rag-red:#D40000; --rag-none:#B9B7B2;
  /* one hue, light to dark: the share won, by market */
  --seq-1:#DBE8ED; --seq-2:#A4C5D2; --seq-3:#5F9AB1; --seq-4:#1B6E8F; --on-seq:#FFFFFF;
  /* the source split and the three-year bars: ink, stepped */
  --ink-ramp-1:#111111; --ink-ramp-2:#66655F; --ink-ramp-3:#A6A4A0; --ink-ramp-4:#D6D4CF;
}
/* ── tokens: dark (stamped by the moon in the masthead; written twice, as
   tokens.css does, because a media query and an attribute selector cannot
   share one rule) ── */
:root[data-theme="dark"]{
  color-scheme:dark;
  --canvas:#141414; --canvas-2:#26262A; --surface:#1C1C1E; --surface-raised:#26262A;
  --line:rgba(255,255,255,.10); --line-strong:rgba(255,255,255,.18);
  --ink:#F5F5F3; --ink-2:#C9C8C4; --ink-3:#9C9B96; --on-ink:#111111;
  --f3:rgba(245,245,243,.04); --f6:rgba(245,245,243,.07); --f8:rgba(245,245,243,.09); --f12:rgba(245,245,243,.13); --f16:rgba(245,245,243,.17); --f24:rgba(245,245,243,.25);
  --red:#F40000; --red-text:#FF5A4F; --red-soft:rgba(244,0,0,.18); --on-red:#0b0b0b;
  --amber:#F5A623; --amber-text:#F5A623; --amber-soft:rgba(245,166,35,.18);
  --green:#34C26B; --green-text:#4FC57A; --green-soft:rgba(52,194,107,.16);
  --teal:#6FB7D6; --teal-wash:rgba(111,183,214,.18);
  --focus:#7FB2FF;
  --shadow-1:inset 0 1px 0 rgba(255,255,255,.05),0 1px 2px rgba(0,0,0,.4); --shadow-raised:0 8px 32px rgba(0,0,0,.6); --shadow-paper:0 12px 40px rgba(0,0,0,.5);
  --st-won:#6FB7D6; --st-open:#D98E1C; --st-lost:#E5453A; --st-cancelled:#8A8984; --st-declined:#4A4A4E;
  --rag-green:#4FC57A; --rag-amber:#D98E1C; --rag-red:#E5453A; --rag-none:#5A5A5E;
  --seq-1:#29353B; --seq-2:#3D5A68; --seq-3:#56889F; --seq-4:#6FB7D6; --on-seq:#111111;
  --ink-ramp-1:#F5F5F3; --ink-ramp-2:#9C9B96; --ink-ramp-3:#5E5D5A; --ink-ramp-4:#38383A;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --canvas:#141414; --canvas-2:#26262A; --surface:#1C1C1E; --surface-raised:#26262A;
    --line:rgba(255,255,255,.10); --line-strong:rgba(255,255,255,.18);
    --ink:#F5F5F3; --ink-2:#C9C8C4; --ink-3:#9C9B96; --on-ink:#111111;
    --f3:rgba(245,245,243,.04); --f6:rgba(245,245,243,.07); --f8:rgba(245,245,243,.09); --f12:rgba(245,245,243,.13); --f16:rgba(245,245,243,.17); --f24:rgba(245,245,243,.25);
    --red:#F40000; --red-text:#FF5A4F; --red-soft:rgba(244,0,0,.18); --on-red:#0b0b0b;
    --amber:#F5A623; --amber-text:#F5A623; --amber-soft:rgba(245,166,35,.18);
    --green:#34C26B; --green-text:#4FC57A; --green-soft:rgba(52,194,107,.16);
    --teal:#6FB7D6; --teal-wash:rgba(111,183,214,.18);
    --focus:#7FB2FF;
    --shadow-1:inset 0 1px 0 rgba(255,255,255,.05),0 1px 2px rgba(0,0,0,.4); --shadow-raised:0 8px 32px rgba(0,0,0,.6); --shadow-paper:0 12px 40px rgba(0,0,0,.5);
    --st-won:#6FB7D6; --st-open:#D98E1C; --st-lost:#E5453A; --st-cancelled:#8A8984; --st-declined:#4A4A4E;
    --rag-green:#4FC57A; --rag-amber:#D98E1C; --rag-red:#E5453A; --rag-none:#5A5A5E;
    --seq-1:#29353B; --seq-2:#3D5A68; --seq-3:#56889F; --seq-4:#6FB7D6; --on-seq:#111111;
    --ink-ramp-1:#F5F5F3; --ink-ramp-2:#9C9B96; --ink-ramp-3:#5E5D5A; --ink-ramp-4:#38383A;
  }
}

/* ── base ── */
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;background:var(--canvas)}
body{font-family:var(--sans);color:var(--ink);font-size:14px;line-height:1.4;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}
h1,h2,h3{font-family:var(--display);font-weight:700;letter-spacing:-.015em;margin:0}
p{margin:0}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* while the gate is deciding, nothing of the page shows (assets/gate.js) */
html[data-gate="pending"] body>*:not(.rp-gate){visibility:hidden}

/* ── masthead: the platform's uniform app bar ── */
.rp-mast{display:flex;align-items:center;justify-content:space-between;gap:16px;height:64px;padding:0 24px;border-bottom:1px solid var(--line);background:var(--canvas);position:sticky;top:0;z-index:20}
.rp-brand{display:flex;align-items:center;gap:12px;min-width:0;flex:none}
.rp-logo{height:24px;width:auto;display:block;flex:none;filter:var(--logo-filter,none)}
.rp-name{font-size:15px;line-height:20px;font-weight:700;white-space:nowrap}
.rp-mast-mid{display:flex;align-items:center;gap:14px;min-width:0;overflow-x:auto;scrollbar-width:none;flex:1;justify-content:center}
.rp-mast-mid::-webkit-scrollbar{display:none}
.rp-mast-mid>*{flex:none}
.rp-nav{display:flex;gap:4px;padding:4px;background:var(--canvas-2);border-radius:999px;font-size:13px}
.rp-nav a{display:flex;align-items:center;gap:8px;height:32px;padding:0 14px;border-radius:999px;color:var(--ink-2);white-space:nowrap}
.rp-nav a span:first-child{font-size:11px}
.rp-nav a:hover{background:var(--surface)}
.rp-nav a.on{background:var(--canvas);color:var(--ink);font-weight:600;box-shadow:0 1px 2px rgba(34,32,28,.08)}
.rp-tools{display:flex;align-items:center;gap:10px;font-size:13px}
.rp-clock,.rp-readout{color:var(--ink-2);font-variant-numeric:tabular-nums;white-space:nowrap}
/* the currency dropdown (7 Oct 2026): a compact select, the code in bold */
.rp-select.rp-cur{height:36px;padding:0 26px 0 10px;font-weight:600;font-size:12px;letter-spacing:.01em}
.rp-ibtn{width:36px;height:36px;border:1px solid var(--line);background:var(--surface);border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink);padding:0}
.rp-ibtn:hover{background:var(--f6)}
.rp-ibtn svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
/* the product switch: New Business | Reputation, a segmented control */
.rp-seg{display:flex;padding:3px;background:var(--canvas-2);border-radius:10px}
.rp-seg a,.rp-seg button{height:30px;padding:0 12px;border-radius:8px;font-size:13px;color:var(--ink-2);display:flex;align-items:center;border:0;background:transparent;cursor:pointer;white-space:nowrap}
.rp-seg .on{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:0 1px 2px rgba(34,32,28,.08)}
.rp-seg.sm a,.rp-seg.sm button{height:26px;padding:0 10px;font-size:12px;border-radius:6px}
/* the phone bar: the sections, at the foot */
.rp-phonebar{display:none;position:fixed;left:0;right:0;bottom:0;height:56px;padding:0 8px env(safe-area-inset-bottom,0);background:var(--canvas);border-top:1px solid var(--line);align-items:center;justify-content:space-around;z-index:30}
.rp-phonebar a{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10px;color:var(--ink-2);padding:6px 8px;border-radius:8px}
.rp-phonebar a span:first-child{font-size:11px;font-weight:600;color:var(--ink)}
.rp-phonebar a.on{background:var(--canvas-2);color:var(--ink)}

/* ── page ── */
.rp-main{width:100%;max-width:1400px;margin:0 auto;padding:28px 32px 96px;display:flex;flex-direction:column;gap:32px;flex:1}
.rp-page-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 40px}
.rp-page-head .l{display:flex;flex-direction:column;gap:8px;min-width:0}
.rp-page-head .r{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.rp-h1{font-size:clamp(28px,3.4vw,40px);line-height:1.05;letter-spacing:-.025em}
.rp-lede{font-size:15px;line-height:1.5;color:var(--ink-2);max-width:64ch}
.rp-back{font-size:13px;color:var(--ink-2);display:inline-flex;align-items:center;gap:6px}
.rp-back:hover{color:var(--ink)}
.rp-sec{display:flex;flex-direction:column;gap:14px;min-width:0}
.rp-sec-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 14px;padding-top:12px;border-top:1px solid var(--line)}
.rp-sec-head.flush{padding-top:0;border-top:0}
.rp-h2{font-size:20px;line-height:1.2;letter-spacing:-.015em}
.rp-idx{font-size:13px;font-weight:600;color:var(--ink-3);font-variant-numeric:tabular-nums}
.rp-sec-note{font-size:13px;color:var(--ink-2)}
.rp-sec-tail{margin-left:auto;font-size:12px;color:var(--ink-3)}
.rp-cap{font-size:12px;line-height:16px;font-weight:500;color:var(--ink-2)}
.rp-muted{font-size:13px;color:var(--ink-2)}
.rp-note{font-size:13px;line-height:1.5;color:var(--ink-2);max-width:64ch}
.rp-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding-top:12px;border-top:1px solid var(--line);font-size:12px;color:var(--ink-3)}
.rp-grid{display:grid;gap:12px}
.rp-grid-2{grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));gap:24px 32px}
.rp-grid-3{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:24px 32px}
.rp-grid-4{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))}
.rp-grid-6{grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr))}
.rp-stack{display:flex;flex-direction:column;gap:14px;min-width:0}

/* ── cards and stat tiles ── */
.rp-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px 20px}
.rp-card.flat{background:var(--canvas-2);border-color:transparent}
.rp-stat{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px 22px;display:flex;flex-direction:column;justify-content:space-between;gap:18px;min-height:176px}
.rp-stat.ink{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}
.rp-stat.hero{min-height:220px}
.rp-stat-label{display:inline-flex;align-items:center;gap:8px;font-size:13px;line-height:18px;font-weight:500;color:var(--ink-2)}
.rp-stat.ink .rp-stat-label,.rp-stat.ink .rp-stat-sub{color:inherit;opacity:.72}
.rp-stat-value{font-family:var(--display);font-weight:700;font-size:clamp(40px,4.4vw,64px);line-height:.95;letter-spacing:-.04em}
.rp-stat.hero .rp-stat-value{font-size:clamp(56px,6vw,88px)}
.rp-stat.sm{min-height:0;padding:16px 18px;gap:10px}
.rp-stat.sm .rp-stat-value{font-size:clamp(28px,3vw,40px)}
.rp-stat-sub{font-size:13px;line-height:18px;color:var(--ink-2)}
.rp-stat-row{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.rp-stat.met{border-color:var(--rag-green)}
.rp-stat.met .rp-stat-label{color:var(--rag-green)}

/* ── status: dots, pills, tags, legends ── */
.rp-dot{width:8px;height:8px;border-radius:50%;background:var(--ink-3);flex:none;display:inline-block}
.rp-dot.lg{width:10px;height:10px}
[data-st="won"]>.rp-dot,.rp-dot[data-st="won"]{background:var(--st-won)}
[data-st="open"]>.rp-dot,.rp-dot[data-st="open"]{background:var(--st-open)}
[data-st="lost"]>.rp-dot,.rp-dot[data-st="lost"]{background:var(--st-lost)}
[data-st="cancelled"]>.rp-dot,.rp-dot[data-st="cancelled"]{background:var(--st-cancelled)}
[data-st="declined"]>.rp-dot,.rp-dot[data-st="declined"]{background:var(--st-declined)}
[data-st="other"]>.rp-dot,.rp-dot[data-st="other"]{background:var(--st-cancelled)}
[data-st="all"]>.rp-dot,.rp-dot[data-st="all"]{background:var(--ink)}
[data-rag="green"]>.rp-dot,.rp-dot[data-rag="green"]{background:var(--rag-green)}
[data-rag="amber"]>.rp-dot,.rp-dot[data-rag="amber"]{background:var(--rag-amber)}
[data-rag="red"]>.rp-dot,.rp-dot[data-rag="red"]{background:var(--rag-red)}
[data-rag="none"]>.rp-dot,.rp-dot[data-rag="none"]{background:var(--rag-none)}
.rp-status{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:var(--ink-2);white-space:nowrap}
.rp-status[data-st="won"]{color:var(--st-won)}
.rp-status[data-st="open"]{color:var(--st-open)}
.rp-status[data-st="lost"]{color:var(--st-lost)}
.rp-status[data-rag="green"]{color:var(--rag-green)}
.rp-status[data-rag="amber"]{color:var(--rag-amber)}
.rp-status[data-rag="red"]{color:var(--rag-red)}
.rp-status[data-rag="none"]{color:var(--ink-3)}
.rp-tag{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border-radius:999px;font-size:11px;font-weight:600;background:var(--canvas-2);color:var(--ink-2);white-space:nowrap}
.rp-tag.ink{background:var(--ink);color:var(--on-ink)}
.rp-tag.teal{background:var(--teal-wash);color:var(--teal)}
.rp-tag.warn{background:var(--red-soft);color:var(--red-text)}
.rp-tag.amber{background:var(--amber-soft);color:var(--amber-text)}
.rp-tag.green{background:var(--green-soft);color:var(--green-text)}
.rp-legend{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:13px;color:var(--ink-2)}
.rp-legend>span{display:inline-flex;align-items:center;gap:6px}
.rp-legend .rp-dot{width:10px;height:10px}
/* the four stat tiles' outcome word, e.g. "Won", carries its dot */
.rp-kicker{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600}

/* ── controls ── */
.rp-btn{height:40px;padding:0 16px;border:1px solid var(--line);background:transparent;border-radius:10px;font-size:13px;color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;text-decoration:none}
.rp-btn:hover{background:var(--canvas-2)}
.rp-btn.fill{background:var(--ink);color:var(--on-ink);border-color:var(--ink);font-weight:600}
.rp-btn.fill:hover{background:var(--ink);opacity:.92}
.rp-btn.ink{border-color:var(--ink);font-weight:600}
.rp-btn.sm{height:32px;padding:0 12px;border-radius:8px;font-size:12px}
.rp-btn.big{height:44px;border-radius:12px;font-size:14px;font-weight:600}
.rp-btn.warn{border-color:var(--red-text);color:var(--red-text)}
.rp-btn.dashed{border-style:dashed;color:var(--ink-2)}
.rp-btn svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.rp-chip{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--line);font-size:13px;color:var(--ink);cursor:pointer;background:transparent;white-space:nowrap}
.rp-chip .n{color:var(--ink-2)}
.rp-chip:hover{background:var(--canvas-2)}
.rp-chip.on{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}
.rp-chip.on .n{color:inherit;opacity:.7}
.rp-chips{display:flex;flex-wrap:wrap;gap:6px}
.rp-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.rp-toolbar .l,.rp-toolbar .r{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rp-search{display:flex;align-items:center;gap:8px;height:36px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.rp-search svg{width:13px;height:13px;stroke:var(--ink-2);fill:none;stroke-width:2;stroke-linecap:round}
.rp-search input{border:0;background:transparent;font-size:13px;width:200px;outline:none;color:var(--ink);min-width:0}
.rp-search input::placeholder{color:var(--ink-3)}
.rp-select{height:36px;padding:0 28px 0 12px;border:1px solid var(--line);background:var(--surface);border-radius:10px;font-size:13px;color:var(--ink);cursor:pointer;-webkit-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink-2) 50%),linear-gradient(135deg,var(--ink-2) 50%,transparent 50%);background-position:calc(100% - 14px) 50%,calc(100% - 9px) 50%;background-size:5px 5px;background-repeat:no-repeat}
/* fields */
.rp-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.rp-field label,.rp-label{font-size:12px;line-height:16px;font-weight:600;color:var(--ink-2)}
.rp-field input,.rp-field select,.rp-field textarea,.rp-input{height:40px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:14px;color:var(--ink);outline:none;width:100%;min-width:0}
.rp-field.lg input,.rp-field.lg select{height:44px;border-radius:12px}
.rp-field textarea{height:96px;padding:12px 14px;line-height:1.45;resize:vertical}
.rp-field input:focus,.rp-field select:focus,.rp-field textarea:focus,.rp-input:focus{border-color:var(--ink)}
.rp-field input::placeholder,.rp-field textarea::placeholder{color:var(--ink-3)}
.rp-field select{-webkit-appearance:none;appearance:none;padding-right:32px;background-image:linear-gradient(45deg,transparent 50%,var(--ink-2) 50%),linear-gradient(135deg,var(--ink-2) 50%,transparent 50%);background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;background-size:5px 5px;background-repeat:no-repeat}
.rp-field .h{font-size:12px;color:var(--ink-3)}
.rp-field.ro input{background:var(--canvas-2);color:var(--ink-2)}
.rp-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 16px}
.rp-form .full{grid-column:1/-1}
.rp-form .half{grid-column:span 2}
.rp-form-acts{display:flex;gap:8px;align-items:center;flex-wrap:wrap;grid-column:1/-1}
.rp-fieldset{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:18px 20px 20px;margin:0;min-width:0;display:flex;flex-direction:column;gap:14px}
.rp-fieldset legend{padding:0 6px;margin-left:-6px;display:flex;align-items:baseline;gap:10px}
.rp-fieldset legend .t{font-size:16px;font-weight:600;letter-spacing:-.01em}
.rp-fieldset legend .s{font-size:13px;color:var(--ink-2)}
.rp-kv{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;font-size:14px}
.rp-kv .k{color:var(--ink-2)}
.rp-kv .v{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
.rp-mask{display:inline-flex;align-items:center;gap:10px;font-variant-numeric:tabular-nums;letter-spacing:.12em}

/* ── tables ── */
.rp-table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:auto}
.rp-table{width:100%;border-collapse:collapse;font-size:13px}
.rp-table th{position:sticky;top:0;z-index:1;background:var(--surface);text-align:left;font-size:12px;line-height:16px;font-weight:600;color:var(--ink-2);padding:12px 14px;border-bottom:1px solid var(--line);white-space:nowrap}
.rp-table td{padding:10px 14px;border-bottom:1px solid var(--line);vertical-align:middle;background:var(--surface)}
.rp-table tr:last-child td{border-bottom:0}
.rp-table th.num,.rp-table td.num{text-align:right;font-variant-numeric:tabular-nums}
.rp-table td.t{font-weight:600;font-size:14px}
.rp-table td.m{color:var(--ink-2)}
.rp-table tr.foot td{background:var(--canvas-2);color:var(--ink-2);font-size:12px}
.rp-table.tight td{padding:8px 14px}
.rp-table.cells td{padding:4px 6px}
.rp-table.cells td:first-child{padding-left:10px}
/* a cell that is a real input: quiet until hovered, framed when focused */
.rp-cell{font-size:13px;color:var(--ink);background:transparent;border:1px solid transparent;border-radius:8px;padding:0 8px;min-height:36px;width:100%;min-width:0}
.rp-cell:hover{border-color:var(--line);background:var(--f3)}
.rp-cell:focus{outline:none;border-color:var(--ink);background:var(--surface)}
.rp-cell.num{text-align:right;font-variant-numeric:tabular-nums}
.rp-cell.ro{color:var(--ink-2)}
.rp-cell.b{font-weight:600}
.rp-cell.big{font-size:16px;font-weight:600}
select.rp-cell{-webkit-appearance:none;appearance:none;padding-right:26px;background-image:linear-gradient(45deg,transparent 50%,var(--ink-2) 50%),linear-gradient(135deg,var(--ink-2) 50%,transparent 50%);background-position:calc(100% - 13px) 50%,calc(100% - 8px) 50%;background-size:5px 5px;background-repeat:no-repeat;cursor:pointer}
textarea.rp-cell{min-height:36px;padding:8px;resize:vertical;line-height:1.4}
.rp-cellwrap{display:flex;align-items:center;gap:0}
.rp-cellwrap .rp-dot{margin-left:8px}
.rp-cellcol{display:flex;flex-direction:column;gap:0;padding:4px 0}
.rp-cellcol a{font-weight:600;font-size:14px;padding:0 8px}
.rp-cellcol a:hover{color:var(--teal)}
/* a hairline list (sectors, sources) */
.rp-rows{display:flex;flex-direction:column}
.rp-row{display:grid;grid-template-columns:var(--cols,minmax(0,1fr) auto);gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line);font-size:14px}
.rp-row:last-child{border-bottom:0}
.rp-row .k{font-weight:600}
.rp-row .n{text-align:right;font-variant-numeric:tabular-nums}
.rp-row .n.won{color:var(--st-won);font-weight:600}
.rp-row .n.quiet{color:var(--ink-2)}
.rp-row.cap{font-size:12px;color:var(--ink-3);padding-top:8px}
.rp-row .sw{width:12px;height:12px;border-radius:3px;display:inline-block}

/* ── marks: dots, bars, meters ── */
.rp-months{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:12px;align-items:end}
.rp-month{display:flex;flex-direction:column;gap:10px;align-items:center}
.rp-dots{display:grid;grid-template-columns:repeat(3,10px);gap:4px;justify-content:center;align-content:end;min-height:160px}
.rp-dots i{width:10px;height:10px;border-radius:50%;display:block;background:var(--st-cancelled)}
.rp-dots i[data-st="won"]{background:var(--st-won)} .rp-dots i[data-st="open"]{background:var(--st-open)} .rp-dots i[data-st="lost"]{background:var(--st-lost)}
.rp-month-total{font-family:var(--display);font-size:18px;font-weight:700;letter-spacing:-.02em;line-height:1}
.rp-month-name{font-size:12px;color:var(--ink-2)}
/* proportional blocks: width is the share; a 2px gap of canvas between fills */
.rp-bars{display:flex;gap:2px;height:var(--h,56px);min-width:0}
.rp-bar{flex:var(--w,1) 1 0;min-width:0;overflow:hidden;border-radius:6px;padding:10px 10px;display:flex;flex-direction:column;justify-content:space-between;background:var(--canvas-2);color:var(--ink);font-size:13px;position:relative}
.rp-bar.end{justify-content:flex-end}
.rp-bar .k{font-size:12px;font-weight:600;white-space:nowrap}
.rp-bar .v{font-family:var(--display);font-size:clamp(18px,2.6vw,36px);font-weight:700;letter-spacing:-.03em;line-height:.95}
.rp-bar .v small{display:block;font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:0;margin-top:6px;opacity:.8}
.rp-bar.s1{background:var(--seq-1)} .rp-bar.s2{background:var(--seq-2)} .rp-bar.s3{background:var(--seq-3);color:var(--on-seq)} .rp-bar.s4{background:var(--seq-4);color:var(--on-seq)}
.rp-bar.i1{background:var(--ink-ramp-1);color:var(--on-ink)} .rp-bar.i2{background:var(--ink-ramp-2);color:var(--on-ink)} .rp-bar.i3{background:var(--ink-ramp-3)} .rp-bar.i4{background:var(--ink-ramp-4)}
.rp-bar[data-st="won"]{background:var(--st-won);color:#fff} .rp-bar[data-st="open"]{background:var(--st-open);color:#fff} .rp-bar[data-st="lost"]{background:var(--st-lost);color:#fff} .rp-bar[data-st="cancelled"]{background:var(--st-cancelled);color:#fff} .rp-bar[data-st="declined"]{background:var(--st-declined)}
.rp-bar[data-rag="green"]{background:var(--rag-green)} .rp-bar[data-rag="amber"]{background:var(--rag-amber)} .rp-bar[data-rag="red"]{background:var(--rag-red)} .rp-bar[data-rag="none"]{background:var(--rag-none)}
:root[data-theme="dark"] .rp-bar[data-st="won"],:root[data-theme="dark"] .rp-bar[data-st="open"],:root[data-theme="dark"] .rp-bar[data-st="lost"]{color:#111}
.rp-bars.thin{--h:24px}
.rp-bars.thin .rp-bar{padding:0;border-radius:4px}
.rp-ramp{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-2)}
.rp-ramp i{display:inline-block;width:18px;height:10px}
.rp-ramp i:first-of-type{border-radius:3px 0 0 3px}.rp-ramp i:last-of-type{border-radius:0 3px 3px 0}
/* horizontal bars with a label and a value (years, peers, baselines) */
.rp-hbars{display:flex;flex-direction:column;gap:6px}
.rp-hbar{display:grid;grid-template-columns:var(--lab,56px) minmax(0,1fr) var(--val,auto);gap:12px;align-items:center;font-size:13px}
.rp-hbar .k{color:var(--ink-2);font-weight:500}
.rp-hbar .k.on{color:var(--ink);font-weight:600}
.rp-hbar .bar{height:var(--h,40px);width:var(--w,100%);min-width:0;border-radius:6px;background:var(--ink-ramp-4);display:flex;align-items:center;padding:0 12px;gap:10px;font-family:var(--display);font-size:18px;font-weight:700;letter-spacing:-.02em;white-space:nowrap;overflow:hidden}
.rp-hbar .bar small{font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:0;color:var(--ink-2)}
.rp-hbar .bar.won{background:var(--st-won);color:#fff}
.rp-hbar .bar.won small{color:inherit;opacity:.8}
.rp-hbar .bar.ink{background:var(--ink);color:var(--on-ink)}
.rp-hbar .bar.ink small{color:inherit;opacity:.72}
.rp-hbar .bar.quiet{background:var(--ink-ramp-3)}
.rp-hbar .v{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}
.rp-hbar .v.quiet{color:var(--ink-2);font-weight:400}
:root[data-theme="dark"] .rp-hbar .bar.won{color:#111}
/* a track with a fill, for baseline-versus-target rows */
.rp-meter{height:10px;border-radius:5px;background:var(--f8);overflow:hidden;position:relative}
.rp-meter i{display:block;height:100%;width:var(--w,0%);background:var(--ink);border-radius:5px}
.rp-meter i.won{background:var(--st-won)}
.rp-meter i.quiet{background:var(--ink-ramp-3)}
.rp-meter .mark{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--ink);left:var(--x,100%)}

/* ── scorecard tiles ── */
.rp-kpi{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 18px;display:flex;flex-direction:column;gap:12px;border-top:3px solid var(--rag-none)}
.rp-kpi[data-rag="green"]{border-top-color:var(--rag-green)}
.rp-kpi[data-rag="amber"]{border-top-color:var(--rag-amber)}
.rp-kpi[data-rag="red"]{border-top-color:var(--rag-red)}
.rp-kpi .name{font-size:14px;font-weight:500;line-height:1.3;min-height:36px}
.rp-kpi .rp-num{font-family:var(--display);font-size:30px;font-weight:700;letter-spacing:-.03em;color:var(--ink);background:transparent;border:0;border-bottom:2px solid var(--line);padding:4px 0 6px;width:100%;min-width:0;min-height:48px;outline:none}
.rp-kpi .rp-num::placeholder{color:var(--ink-3);font-weight:400}
.rp-kpi .rp-num:focus{border-bottom-color:var(--ink)}
.rp-kpi .rp-kpi-sel{height:48px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:15px;font-weight:600;padding:0 36px 0 12px;-webkit-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink-2) 50%),linear-gradient(135deg,var(--ink-2) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat;outline:none}
.rp-kpi .rp-kpi-sel:focus{border-color:var(--ink)}
.rp-kpi .meta{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.rp-kpi .target{font-size:12px;color:var(--ink-2);font-variant-numeric:tabular-nums}
.rp-kpi .rp-kpi-note{font-size:13px;color:var(--ink);background:var(--canvas-2);border:1px solid transparent;border-radius:8px;padding:8px 10px;min-height:38px;width:100%;resize:vertical;line-height:1.35;outline:none}
.rp-kpi .rp-kpi-note:focus{border-color:var(--ink);background:var(--surface)}
.rp-kpi .rp-kpi-note::placeholder{color:var(--ink-3)}
/* the month picker on the ink tile */
.rp-stat.ink select{height:44px;border:1px solid rgba(255,255,255,.22);border-radius:10px;background:rgba(255,255,255,.08);color:inherit;font-size:14px;font-weight:600;padding:0 36px 0 12px;-webkit-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat;outline:none;width:100%}
.rp-stat.ink select option{color:#111;background:#fff}
:root[data-theme="dark"] .rp-stat.ink select{border-color:rgba(0,0,0,.2);background:rgba(0,0,0,.08)}

/* ── tabs (the registers) ── */
.rp-tabs{display:flex;gap:4px;padding:4px;background:var(--canvas-2);border-radius:12px;width:max-content;max-width:100%}
.rp-tabs button{height:36px;padding:0 14px;border:0;background:transparent;border-radius:9px;font-size:13px;color:var(--ink-2);cursor:pointer;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.rp-tabs button .n{font-size:12px;color:var(--ink-3)}
.rp-tabs button.on{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:0 1px 2px rgba(34,32,28,.08)}
.rp-tabs button.on .n{color:var(--ink-2)}
[hidden]{display:none!important}

/* ── empty, help ── */
.rp-empty{padding:28px 14px;color:var(--ink-2);font-size:13px}
.rp-help{position:relative}
.rp-help summary{list-style:none;cursor:pointer;display:inline-flex}
.rp-help summary::-webkit-details-marker{display:none}
.rp-help .pop{position:absolute;right:0;top:calc(100% + 8px);width:min(360px,calc(100vw - 32px));background:var(--surface-raised);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-raised);padding:14px 16px;font-size:13px;line-height:1.5;color:var(--ink-2);z-index:25}
.rp-help .pop p+p{margin-top:8px}

/* ── the A4 sheets (the two reports) ── */
.rp-a4-stage{display:flex;justify-content:center;padding:28px 16px 96px}
.rp-a4{width:794px;min-height:1123px;background:var(--surface);color:var(--ink);box-shadow:var(--shadow-paper);padding:40px 48px;display:flex;flex-direction:column;gap:22px;font-size:13px;line-height:1.4;flex:none;max-width:100%}
.rp-a4-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--line);font-size:12px;color:var(--ink-2)}
.rp-a4-head .brand{display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:600}
.rp-a4-head .brand img{height:18px;width:auto;display:block;filter:var(--logo-filter,none)}
.rp-a4 .rp-stat{min-height:0;padding:14px 16px;gap:8px}
.rp-a4 .rp-stat-value{font-size:30px}
.rp-a4 .rp-h2{font-size:16px}
.rp-a4 .rp-sec{gap:10px}
.rp-a4 .rp-sec-head{padding-top:8px}
.rp-a4 .rp-foot{margin-top:auto}
.rp-a4-big{font-family:var(--display);font-size:150px;line-height:.8;letter-spacing:-.06em;font-weight:700;color:var(--st-won)}
.rp-a4-lede{font-size:17px;font-weight:500;line-height:1.35;letter-spacing:-.01em;text-wrap:pretty}
.rp-a4 .rp-bar .v{font-size:22px}
@page{size:A4;margin:0}
@media print{
  html,body{background:#fff}
  .rp-mast,.rp-phonebar,.rp-a4-tools,.bpx-wrap,.bpx-menu,.bax-btn,.bax-panel,[class^="bax-"]{display:none!important}
  .rp-a4-stage{padding:0}
  .rp-a4{box-shadow:none;width:210mm;min-height:297mm;padding:14mm 16mm}
  html[data-gate="pending"] body>*{visibility:visible}
}

/* ── phone and tablet ── */
@media (max-width:1180px){
  .rp-readout{display:none}
  .rp-nav a{padding:0 11px;gap:6px}
}
@media (max-width:1000px){
  .rp-mast{padding:0 20px}
  .rp-clock{display:none}
  .rp-main{padding:20px 20px 96px}
  .rp-form{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rp-form .half{grid-column:1/-1}
  .rp-months{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media (max-width:700px){
  .rp-mast{height:56px;padding:0 16px;gap:8px}
  .rp-logo{height:20px}
  .rp-name,.rp-nav,.rp-readout{display:none} /* the wordmark says BRASH; the phone bar says where you are */
  .rp-mast-mid{justify-content:flex-end}
  .rp-seg.rp-product a{height:28px;padding:0 10px;font-size:12px}
  .rp-phonebar{display:flex}
  .rp-stat,.rp-stat.hero{min-height:0;gap:14px}
  .rp-main{padding:16px 16px 100px;gap:24px}
  .rp-form{grid-template-columns:1fr}
  .rp-stat{min-height:140px;padding:16px 18px}
  .rp-stat-value{font-size:40px}
  .rp-stat.hero .rp-stat-value{font-size:56px}
  .rp-page-head{align-items:flex-start;flex-direction:column}
  .rp-search input{width:140px}
  .rp-a4-stage{padding:16px 0 100px}
  .rp-a4{padding:24px 20px}
  .rp-a4-big{font-size:96px}
  .rp-bar .v{font-size:18px}
}

/* ── the toast (reporting.js) ── */
.rp-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,16px);opacity:0;pointer-events:none;background:var(--ink);color:var(--on-ink);padding:10px 16px;border-radius:10px;font-size:13px;font-weight:600;z-index:90;box-shadow:var(--shadow-raised);transition:opacity .2s,transform .2s;max-width:calc(100vw - 32px);text-align:center}
.rp-toast.on{opacity:1;transform:translate(-50%,0)}
@media (max-width:700px){.rp-toast{bottom:calc(64px + env(safe-area-inset-bottom,0px))}}

/* the A4 sheets' small tiles keep the sheet's size, and a page head that only
   introduces a sheet does not push it 96px down */
.rp-a4 .rp-stat.sm .rp-stat-value{font-size:30px}
.rp-main:has(+ .rp-a4-stage){padding-bottom:0}

/* printed from the dark appearance, the sheet still goes to paper white: the
   light values are restated on the sheet itself for print only */
@media print{
  .rp-a4{background:#fff;color:#111;box-shadow:none;
    --surface:#FFFFFF;--canvas:#F3F2EF;--canvas-2:#ECEBE7;--ink:#111111;--ink-2:#4A4A48;--ink-3:#66655F;--on-ink:#FFFFFF;--line:rgba(0,0,0,.08);--f8:rgba(17,17,17,.08);
    --st-won:#1B6E8F;--st-open:#C27A00;--st-lost:#D40000;--st-cancelled:#8A8984;--st-declined:#C9C7C2;
    --rag-green:#1E7F4A;--rag-amber:#C27A00;--rag-red:#D40000;--rag-none:#B9B7B2;
    --seq-1:#DBE8ED;--seq-2:#A4C5D2;--seq-3:#5F9AB1;--seq-4:#1B6E8F;--on-seq:#FFFFFF;
    --ink-ramp-1:#111111;--ink-ramp-2:#66655F;--ink-ramp-3:#A6A4A0;--ink-ramp-4:#D6D4CF;--logo-filter:none}
}
/* on paper, only the sheet: the page head that introduces it stays on screen */
@media print{.rp-main:has(+ .rp-a4-stage){display:none}}

/* ── the trends screen and the switchable dashboard (7 Oct 2026) ── */
.rp-month.on .rp-month-total{color:var(--ink)}
.rp-month.dim{opacity:.38}
.rp-month.on .rp-month-name{color:var(--ink);font-weight:600}
.rp-cols{display:flex;align-items:flex-end;gap:3px;height:88px;padding-top:4px}
.rp-cols i{flex:1;min-width:0;background:var(--ink);border-radius:3px 3px 0 0;display:block;min-height:2px}
.rp-cols i.zero{background:var(--f12)}
.rp-cols.quiet i{background:var(--ink-ramp-3)}
.rp-cols.won i{background:var(--st-won)}
.rp-cols-axis{display:grid;grid-template-columns:repeat(12,1fr);gap:3px;font-size:11px;color:var(--ink-3);text-align:center;margin-top:6px}
.rp-delta{font-variant-numeric:tabular-nums;color:var(--ink-3)}
.rp-delta.up{color:var(--green-text)}
.rp-delta.down{color:var(--red-text)}
.rp-table tr.quiet td{color:var(--ink-3)}
.rp-cell.saved{border-color:var(--green-text);background:var(--green-soft)}
.rp-readout .rp-tag{margin-left:8px;vertical-align:middle}
@media (max-width:700px){.rp-cols{height:64px}.rp-cols-axis{font-size:9px}}

/* ── motion (12 Oct 2026) ──
   Proportional blocks (markets, sources): a condensed block widens on hover,
   on keyboard focus, or when its line in the list below is hovered, and shows
   the name and the figures the width could not hold; the others give way.
   Everything else here is entrance and change: the marks rise in when a screen
   paints or the year switches, bars grow to their length, the stat tiles count
   to their number (reporting.js), the trends columns name themselves on hover,
   the scorecard's RAG colours and bar re-proportion as actuals are typed.
   prefers-reduced-motion collapses all of it (the rule near the top). */
@keyframes rp-rise{from{opacity:0;transform:translateY(6px)}}
@keyframes rp-in{from{opacity:0;transform:translateY(3px)}}
@keyframes rp-grow{from{width:0}}
@keyframes rp-up{from{transform:scaleY(0)}}
/* the blocks: what each width tier shows at rest */
.rp-bar{transition:flex-grow .4s cubic-bezier(.2,.7,.2,1),padding .4s cubic-bezier(.2,.7,.2,1),min-width .4s;cursor:default}
.rp-bar.narrow{padding:10px 6px}
.rp-bar.hair{min-width:6px;padding:0}
.rp-bar .k .ab,.rp-bar .k .nm{display:none}
.rp-bar[data-fit="2"] .k .ab{display:inline}
.rp-bar[data-fit="3"] .k .nm,.rp-bar[data-fit="4"] .k .nm{display:inline}
.rp-bar[data-fit="0"] .k,.rp-bar[data-fit="1"] .k,.rp-bar[data-fit="0"] .v,.rp-bar.quietk .k{display:none}
.rp-bar[data-fit]:not([data-fit="4"]) .v small{display:none}
.rp-bar .v.sm{font-size:16px}
/* the widened block: hovered, focused, or named from the list */
.rp-live .rp-bar:is(:hover,:focus-visible,.hot){flex-grow:var(--wh,var(--w,1));padding:10px 10px;min-width:0;justify-content:space-between}
.rp-live .rp-bar:is(:hover,:focus-visible,.hot) .k,.rp-live .rp-bar:is(:hover,:focus-visible,.hot) .v{display:block}
.rp-live .rp-bar:is(:hover,:focus-visible,.hot) .k .ab{display:none}
.rp-live .rp-bar:is(:hover,:focus-visible,.hot) .k .nm,.rp-live .rp-bar:is(:hover,:focus-visible,.hot) .v small{display:block;animation:rp-in .3s .16s cubic-bezier(.2,.7,.2,1) both}
.rp-live .rp-bar:is(:hover,:focus-visible,.hot) .v.sm{font-size:clamp(18px,2.6vw,36px)}
.rp-live .rp-bar:focus-visible{outline-offset:-2px}
/* the list under a block chart lights the block it names, and the reverse */
.rp-link [data-key]{transition:color .2s;cursor:default}
.rp-link [data-key].hot{color:var(--ink)}
.rp-link .rp-row .sw{transition:transform .2s}
.rp-link .rp-row.hot .sw{transform:scale(1.35)}
/* entrance: the marks a screen paints rise in, one after the other */
.rp-fresh>*{animation:rp-rise .5s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i,0)*28ms)}
.rp-hbar .bar,.rp-meter i{animation:rp-grow .7s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i,0)*60ms)}
.rp-hbar:nth-child(2){--i:1}.rp-hbar:nth-child(3){--i:2}.rp-hbar:nth-child(4){--i:3}.rp-hbar:nth-child(5){--i:4}.rp-hbar:nth-child(6){--i:5}.rp-hbar:nth-child(7){--i:6}.rp-hbar:nth-child(8){--i:7}
.rp-fresh.rp-cols>i{animation-name:rp-up;transform-origin:bottom}
.rp-a4 *{animation:none!important}
html[data-gate="pending"] .rp-main *{animation-play-state:paused!important}
/* the months: hover one and the rest step back */
.rp-month{transition:opacity .25s}
.rp-months:hover .rp-month:not(:hover){opacity:.45}
.rp-months:hover .rp-month:hover .rp-month-total,.rp-months:hover .rp-month:hover .rp-month-name{color:var(--ink)}
/* the trends columns: hover one and it names its month and value */
.rp-cols{padding-top:18px}
.rp-cols i{position:relative;transition:opacity .2s}
.rp-cols:hover i:not(:hover){opacity:.5}
.rp-cols i::after{content:attr(data-v);position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%,3px);white-space:nowrap;font-size:11px;font-weight:600;line-height:14px;padding:2px 7px;border-radius:5px;background:var(--ink);color:var(--on-ink);opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;z-index:2}
.rp-cols i:hover::after{opacity:1;transform:translate(-50%,0)}
.rp-cols i:first-child::after{left:0;transform:translate(0,3px)}.rp-cols i:first-child:hover::after{transform:none}
.rp-cols i:last-child::after{left:auto;right:0;transform:translate(0,3px)}.rp-cols i:last-child:hover::after{transform:none}
/* the scorecard: RAG colours and the status bar move as actuals are typed */
.rp-kpi{transition:border-top-color .35s}
.rp-status{transition:color .25s}
.rp-stat-value[data-n]{font-variant-numeric:tabular-nums}

/* registers (12 Oct 2026): text cells beside input cells keep the row's padding */
.rp-table.cells td.pad{padding:4px 14px}
.rp-table tr.quiet td{color:var(--ink-3)}
