@charset "UTF-8";
/* ==========================================================================
   INITIATORS AGENCY OPERATIONS — DESIGN SYSTEM  (V2.5.0 UI modernization)

   One layer, one vocabulary. This file replaces the V2.2 R4 base and the five
   override layers that were stacked on it (V2.3.2.2 … V2.4.0). Every page uses
   the same class names; no legacy aliases remain.

   Principles
     - every colour is a token; semantic colour carries state, never decoration
     - one control height (34px) shared by inputs, selects and buttons; 28px small
     - 1px borders, restrained shadows, 6px control radius, 8px panel radius
     - information-dense but not cramped: 13px body, 40px table rows, 34px dense
     - status = word + colour, never colour alone
     - no gradients, no decorative colour, nothing nested in a card inside a card

   01 Tokens        07 Panels        13 Badges          19 Login
   02 Base/type     08 Tables        14 Metrics         20 Brand access
   03 Shell         09 Toolbar       15 Attention rows  21 SKU lines
   04 Layout        10 Buttons       16 Empty/notices   22 Phone compositions
   05 Page head     11 Controls      17 Overlays        23 Responsive
   06 Tabs/segments 12 Forms         18 Daily Sales/Review
   ========================================================================== */

/* == 01 Tokens ============================================================ */
:root{
  /* Brand — the Initiators blue, used for action, current state and links. */
  --primary:#1677E0; --primary-hover:#125FB8; --primary-ink:#0F5AAE;
  --primary-soft:#EAF3FE; --primary-line:#BAD6F6; --primary-ring:rgba(22,119,224,.22);

  /* Semantic. Text inks are AA on their soft backgrounds. */
  --ok:#1B7F3B;    --ok-bg:#E9F7EE;    --ok-line:#BFE4CB;
  --warn:#8F5400;  --warn-bg:#FFF6E5;  --warn-line:#F4D9A5;
  --crit:#C1272D;  --crit-bg:#FDEDED;  --crit-line:#F3BFC0;
  --info:#0F5AAE;  --info-bg:#EAF3FE;  --info-line:#BAD6F6;
  --violet:#5747C4;--violet-bg:#F0EEFB;--violet-line:#D2CCF0;

  /* Neutrals: cool grey with a hint of blue. */
  --ink:#141B2D; --ink-2:#3B4557; --ink-3:#646E85; --ink-4:#98A1B3;
  --line:#E3E7EE; --line-soft:#EDF0F4; --line-strong:#C9D2DE;
  --paper:#FFFFFF; --surface-2:#F7F9FB; --surface-3:#F0F3F7; --canvas:#F4F6F9;

  /* Navigation spine. Solid navy; the rail marks the current item. */
  --nav:#0B1526; --nav-2:#152238; --nav-line:#1F2D46; --nav-ink:#C4CDDB; --nav-ink-2:#8290A8; --nav-rail:#4DA3FF;

  /* Currency series — distinguishable side by side, never implying conversion. */
  --c-gbp:#1677E0; --c-usd:#1B7F3B; --c-eur:#5747C4; --c-cad:#C2620E; --c-aud:#0891B2;
  --brand:var(--primary); --red:var(--crit);

  --ui:"IBM Plex Sans",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;

  /* Spacing */
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:20px; --s6:24px; --s7:32px; --s8:40px;
  --gutter:28px; --gap-section:20px; --gap-field:14px; --pad-card:16px; --pad-cell:12px;

  /* Shape and elevation */
  --r:8px; --r-ctl:6px; --r-chip:6px;
  --shadow-1:0 1px 2px rgba(20,27,45,.05);
  --shadow-2:0 1px 2px rgba(20,27,45,.04),0 4px 14px rgba(20,27,45,.06);
  --shadow-3:0 12px 40px rgba(20,27,45,.16);
  --ring:0 0 0 3px var(--primary-ring);

  /* Controls */
  --ctl-h:34px; --ctl-h-sm:28px; --ctl-h-lg:40px;
  --row:40px; --row-dense:34px;
  --side-w:232px; --top-h:52px;

  /* Legacy token names still referenced by a few chart helpers. */
  --pine:var(--primary); --pine-600:var(--primary); --pine-800:var(--primary-hover); --pine-100:var(--primary-line); --pine-50:var(--primary-soft);
  --rust:var(--crit); --rust-bg:var(--crit-bg); --rust-line:var(--crit-line);
  --amber:var(--warn); --amber-bg:var(--warn-bg); --amber-line:var(--warn-line);
  --moss:var(--ok); --moss-bg:var(--ok-bg); --moss-line:var(--ok-line);
  --slate:var(--info); --slate-bg:var(--info-bg); --slate-line:var(--info-line);
}

/* == 02 Base and typography roles ========================================= */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--canvas);color:var(--ink);font-family:var(--ui);font-size:13px;line-height:1.5;
  font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.01em;line-height:1.3;color:var(--ink)}
h1{font-size:20px} h2{font-size:14px} h3{font-size:13px} h4{font-size:12px}
p{margin:0}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
svg{display:block}
:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}
.sr,.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* Roles: each name says what the text is for. */
.t-page{font-size:20px;font-weight:600;letter-spacing:-.012em}
.t-sect{font-size:14px;font-weight:600}
.t-th{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}
.t-body{font-size:13px}
.t-label{font-size:12px;font-weight:600;color:var(--ink-2)}
.t-num{font-variant-numeric:tabular-nums;font-weight:500}
.t-meta{font-size:12px;color:var(--ink-3)}
.t-help{font-size:12px;color:var(--ink-3);line-height:1.5}
.t-eyebrow,.eyebrow{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.num{font-variant-numeric:tabular-nums}
.mono{font-family:var(--mono);font-size:12px;letter-spacing:-.01em}
.muted{color:var(--ink-3)} .dim{color:var(--ink-4)} .dash{color:var(--ink-4)}
.neg{color:var(--crit)} .pos{color:var(--ok)}
.strong{font-weight:600;color:var(--ink)}
.right{text-align:right} .nowrap{white-space:nowrap} .center{text-align:center}
.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.break{overflow-wrap:anywhere;word-break:break-word}
.gap-b{margin-bottom:var(--gap-section)} .gap-t{margin-top:var(--gap-section)}
.gap-b-s{margin-bottom:var(--s3)} .gap-t-s{margin-top:var(--s3)}
.w-full{width:100%}
.hidden{display:none !important}

/* == 03 Shell: sidebar and topbar ======================================== */
.shell{min-height:100vh;display:grid;grid-template-columns:var(--side-w) minmax(0,1fr)}
.side{position:sticky;top:0;height:100vh;background:var(--nav);color:var(--nav-ink);display:flex;flex-direction:column}
.side-top{height:var(--top-h);flex:none;display:flex;align-items:center;gap:10px;padding:0 16px;border-bottom:1px solid var(--nav-line)}
.mark{width:28px;height:28px;border-radius:7px;background:var(--primary);color:#fff;display:grid;place-items:center;font-size:13px;font-weight:700;flex:none;letter-spacing:-.02em}
.side-top strong{display:block;font-size:13px;font-weight:600;color:#fff;letter-spacing:-.01em;line-height:1.2}
.side-top span{display:block;font-size:10px;color:var(--nav-ink-2);letter-spacing:.06em;text-transform:uppercase;margin-top:1px}
.ws{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--nav-line);flex:none}
.ws-av{width:26px;height:26px;border-radius:6px;background:var(--nav-2);border:1px solid var(--nav-line);display:grid;place-items:center;font-size:10px;font-weight:600;color:var(--nav-ink);flex:none}
.ws strong{display:block;font-size:12.5px;font-weight:550;color:#EAF0F7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ws span{display:block;font-size:11px;color:var(--nav-ink-2)}
.nav{flex:1;overflow:auto;padding:8px 10px 16px}
.nav-grp{margin:14px 0 4px;padding:0 8px;font-size:10.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--nav-ink-2)}
.nav-grp:first-child{margin-top:4px}
.nav-i{display:flex;align-items:center;gap:10px;height:32px;padding:0 10px;border-radius:6px;font-size:13px;font-weight:450;color:var(--nav-ink);position:relative;transition:background-color .12s ease,color .12s ease}
.nav-i:hover{background:rgba(255,255,255,.06);color:#fff}
.nav-i.on{background:rgba(77,163,255,.14);color:#fff;font-weight:550}
.nav-i.on::before{content:"";position:absolute;left:-10px;top:8px;bottom:8px;width:3px;background:var(--nav-rail);border-radius:0 3px 3px 0}
.nav-i svg{width:16px;height:16px;flex:none;opacity:.8}
.nav-i.on svg{opacity:1;color:var(--nav-rail)}
.nav-n{margin-left:auto;min-width:20px;height:18px;padding:0 6px;border-radius:9px;display:inline-grid;place-items:center;font-size:11px;font-weight:600;color:var(--nav-ink);background:rgba(255,255,255,.08)}
.nav-i.on .nav-n{background:rgba(77,163,255,.22);color:#fff}
.nav-n.hot{background:var(--crit);color:#fff}
.nav-util{margin-top:14px;padding-top:10px;border-top:1px solid var(--nav-line)}
.side-foot{border-top:1px solid var(--nav-line);padding:10px;flex:none;position:relative}
.side-user{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:6px;cursor:pointer;list-style:none}
.side-user::-webkit-details-marker{display:none}
.side-user:hover,.umenu[open] .side-user{background:rgba(255,255,255,.06)}
.umenu-p{position:absolute;left:10px;right:10px;bottom:calc(100% - 4px);background:var(--nav-2);border:1px solid var(--nav-line);border-radius:8px;padding:6px;box-shadow:0 10px 30px rgba(0,0,0,.35);z-index:30}
.umenu-p form{margin:0}
.umenu-i{display:flex;align-items:center;gap:10px;width:100%;height:32px;padding:0 10px;border:0;border-radius:6px;background:transparent;font:inherit;font-size:13px;font-weight:450;color:var(--nav-ink);cursor:pointer;text-align:left}
.umenu-i:hover,.umenu-i.on{background:rgba(255,255,255,.08);color:#fff}
.umenu-i svg{width:16px;height:16px;flex:none;opacity:.8}
.hubbar{position:sticky;top:var(--top-h);z-index:19;background:var(--paper);border-bottom:1px solid var(--line);padding:0 var(--gutter)}
.hubbar .tabs{margin-bottom:0;border-bottom:0}
.av{width:28px;height:28px;border-radius:50%;background:var(--nav-2);border:1px solid var(--nav-line);display:grid;place-items:center;font-size:10.5px;font-weight:600;color:var(--nav-ink);flex:none}
.side-user strong{display:block;font-size:12.5px;font-weight:550;color:#EAF0F7}
.side-user span{display:block;font-size:11px;color:var(--nav-ink-2)}

.main{min-width:0;display:flex;flex-direction:column}
.top{height:var(--top-h);flex:none;display:flex;align-items:center;gap:var(--s3);padding:0 var(--gutter);background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.crumb{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-3);min-width:0}
.crumb a:hover{color:var(--primary-ink)}
.crumb b{font-weight:600;color:var(--ink)}
.crumb span[aria-hidden]{color:var(--ink-4)}
.top-sp{flex:1}
/* Working-brand control: a labelled select that reads as one control. */
.ctx{display:flex;align-items:center;height:var(--ctl-h);border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--paper);overflow:hidden;box-shadow:var(--shadow-1)}
.ctx:hover{border-color:var(--line-strong)}
.ctx:focus-within{border-color:var(--primary);box-shadow:var(--ring)}
.ctx>span{padding:0 10px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);line-height:32px;white-space:nowrap}
.ctx select{height:32px;border:0;background:transparent;padding:0 28px 0 4px;font-size:13px;font-weight:550;color:var(--ink);appearance:none;cursor:pointer;box-shadow:none;min-width:150px}
.ctx select:focus{outline:0;box-shadow:none}
.ctx em{font-style:normal;font-size:11px;color:var(--ink-3);padding:0 10px 0 4px;border-left:1px solid var(--line);line-height:32px;white-space:nowrap}
.ctx-off select{color:var(--ink-3)}
.tsearch{display:flex;align-items:center;gap:8px;height:var(--ctl-h);padding:0 10px;min-width:220px;border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--surface-2);color:var(--ink-3);font-size:12.5px;cursor:text}
.tsearch:hover{background:var(--paper);border-color:var(--line-strong)}
.tsearch svg{width:14px;height:14px;color:var(--ink-4)}
.tsearch kbd{margin-left:auto;font-family:var(--mono);font-size:10px;padding:1px 5px;border:1px solid var(--line);border-radius:4px;background:var(--paper);color:var(--ink-4)}
.ticon{position:relative;width:var(--ctl-h);height:var(--ctl-h);display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--paper);color:var(--ink-2);box-shadow:var(--shadow-1)}
.ticon:hover{border-color:var(--line-strong);color:var(--ink);background:var(--surface-2)}
.ticon svg{width:16px;height:16px}
.ticon .pip{position:absolute;top:-6px;right:-6px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--crit);color:#fff;font-size:10px;font-weight:600;display:grid;place-items:center;border:2px solid var(--paper)}

/* == 04 Layout ============================================================= */
.page{flex:1;padding:var(--s5) var(--gutter) var(--s8);min-width:0}
.cols{display:grid;gap:var(--gap-section);align-items:start}
.c-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.c-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.c-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.c-main{grid-template-columns:minmax(0,1fr) 320px}
.c-wide{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr)}
.stack{display:flex;flex-direction:column;gap:var(--gap-section)}
.stack.tight{gap:var(--s2)}
.stack.mid{gap:var(--s3)}
.row{display:flex;align-items:center;gap:var(--s2)}
.row.sb{justify-content:space-between}
.row.wrap{flex-wrap:wrap}
.row.top{align-items:flex-start}
.grow{flex:1;min-width:0}
.hr{height:1px;background:var(--line-soft);margin:var(--s4) 0}
.sect-label{font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);margin:0 0 var(--s2)}

/* == 05 Page head ========================================================== */
.phead{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s4);margin-bottom:var(--gap-section)}
.phead>div:first-child{min-width:0}
.phead h1{font-size:20px;letter-spacing:-.012em}
.phead .sub{margin-top:3px;font-size:12.5px;color:var(--ink-3)}
.phead .sub a{color:var(--primary-ink)}
.phead .sub a:hover{text-decoration:underline}
.phead .eyebrow{margin-bottom:4px}
.pacts{display:flex;align-items:center;gap:var(--s2);flex:none;flex-wrap:wrap;justify-content:flex-end}
/* Context-aware back link. */
.bk{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px 0 6px;margin-bottom:12px;border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--paper);font-size:12px;font-weight:500;color:var(--ink-2)}
.bk:hover{border-color:var(--line-strong);color:var(--ink);background:var(--surface-2)}
.bk svg{width:14px;height:14px;flex:none}
.bk .bk-ctx{padding-left:8px;margin-left:2px;border-left:1px solid var(--line);color:var(--ink-3);font-weight:400}

/* == 06 Tabs and segmented controls ====================================== */
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:var(--gap-section);overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tabs a{position:relative;padding:0 12px;height:38px;display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:500;color:var(--ink-3);white-space:nowrap;border-radius:6px 6px 0 0}
.tabs a:hover{color:var(--ink);background:var(--surface-2)}
.tabs a.on{color:var(--primary-ink);font-weight:600}
.tabs a.on::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--primary);border-radius:2px 2px 0 0}
.tabs a .c{font-size:11px;font-weight:600;color:var(--ink-3);background:var(--surface-3);padding:0 6px;height:18px;border-radius:9px;display:inline-grid;place-items:center}
.tabs a.on .c{color:var(--primary-ink);background:var(--primary-soft)}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--surface-3);padding:3px;gap:2px;height:var(--ctl-h)}
.seg a,.seg button{height:26px;padding:0 10px;display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;border-radius:4px;font-size:12.5px;font-weight:500;color:var(--ink-2);white-space:nowrap}
.seg a:hover,.seg button:hover{color:var(--ink)}
.seg a.on,.seg button.on{background:var(--paper);color:var(--ink);font-weight:600;box-shadow:var(--shadow-1)}
.seg .c{font-size:11px;font-weight:600;color:var(--ink-3)}
.seg a.on .c{color:var(--primary-ink)}

/* == 07 Panels ============================================================= */
.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-1);min-width:0}
.panel.flat{background:transparent;border:0;box-shadow:none}
.panel.quiet{box-shadow:none}
.phead-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);min-height:48px;padding:10px var(--pad-card);border-bottom:1px solid var(--line-soft)}
.phead-bar h2{font-size:14px;font-weight:600}
.phead-bar h2 .hlp{margin-left:4px}
.phead-bar .meta{font-size:12px;color:var(--ink-3)}
.phead-bar .acts{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.phead-bar .desc{display:block;margin-top:2px;font-size:12px;color:var(--ink-3);font-weight:400}
.pbody{padding:var(--pad-card)}
.pbody.flush{padding:0}
.pbody.tight{padding:10px var(--pad-card)}
.pbody+.pbody{border-top:1px solid var(--line-soft)}
.pfoot{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:10px var(--pad-card);border-top:1px solid var(--line-soft);background:var(--surface-2);border-radius:0 0 var(--r) var(--r);font-size:12px;color:var(--ink-3);flex-wrap:wrap}
/* A plain section heading inside a panel body, for grouped content that is not a table. */
.pbody>h3{font-size:13px;font-weight:600;margin-bottom:var(--s3)}
.pbody>h3+.t-help{margin-top:-8px;margin-bottom:var(--s3)}
/* Definition-style rows (record detail). */
.dl{display:grid;grid-template-columns:minmax(120px,32%) minmax(0,1fr);gap:0}
.dl>dt{padding:9px 0;font-size:12px;font-weight:600;color:var(--ink-3);border-bottom:1px solid var(--line-soft)}
.dl>dd{margin:0;padding:9px 0 9px 12px;font-size:13px;color:var(--ink);border-bottom:1px solid var(--line-soft);overflow-wrap:anywhere}
.dl>dt:last-of-type,.dl>dd:last-of-type{border-bottom:0}
.dl.block{grid-template-columns:minmax(0,1fr)}
.dl.block>dt{padding-bottom:2px;border:0}
.dl.block>dd{padding:0 0 12px;line-height:1.55;white-space:pre-line}
/* Disclosure (details/summary) used for secondary forms. */
details.disc{border:1px solid var(--line);border-radius:var(--r);background:var(--paper);box-shadow:var(--shadow-1)}
details.disc>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;min-height:48px;padding:10px var(--pad-card);font-size:13.5px;font-weight:600;color:var(--ink)}
details.disc>summary::-webkit-details-marker{display:none}
details.disc>summary::before{content:"";width:8px;height:8px;border-right:1.6px solid var(--ink-3);border-bottom:1.6px solid var(--ink-3);transform:rotate(-45deg);margin:0 4px 0 2px;transition:transform .12s ease}
details.disc[open]>summary{border-bottom:1px solid var(--line-soft)}
details.disc[open]>summary::before{transform:rotate(45deg);margin-top:-3px}
details.disc>summary .t-meta{margin-left:auto;font-weight:400}
details.disc>.pbody{padding:var(--pad-card)}

/* == 08 Tables ============================================================= */
.twrap{overflow-x:auto;position:relative;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}
.twrap::-webkit-scrollbar{height:8px;width:8px}
.twrap::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:8px;border:2px solid var(--paper)}
table.tbl{width:100%;border-collapse:collapse;font-size:13px;color:var(--ink)}
table.tbl thead th{position:sticky;top:0;z-index:2;height:38px;padding:0 var(--pad-cell);text-align:left;white-space:nowrap;
  font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);background:var(--surface-2);border-bottom:1px solid var(--line)}
table.tbl thead th.num{text-align:right}
table.tbl thead th.sortable{cursor:pointer;user-select:none}
table.tbl thead th.sortable:hover{color:var(--ink)}
table.tbl thead th .caret{display:inline-block;margin-left:4px;color:var(--ink-4)}
table.tbl thead th.sorted{color:var(--ink)}
table.tbl thead th.sorted .caret{color:var(--primary)}
table.tbl thead th.th2{white-space:normal;line-height:1.25;max-width:110px;padding-top:6px;padding-bottom:6px;height:auto;min-height:38px;vertical-align:bottom}
table.tbl tbody td,table.tbl tbody th{height:var(--row);padding:6px var(--pad-cell);border-bottom:1px solid var(--line-soft);text-align:left;font-weight:400;vertical-align:middle}
table.tbl tbody th{max-width:280px}
table.tbl tbody td.num{text-align:right;font-variant-numeric:tabular-nums;font-weight:500;color:var(--ink)}
table.tbl tbody td.num.dim,table.tbl tbody td.dim{color:var(--ink-4);font-weight:400}
table.tbl tbody td.num.neg{color:var(--crit)}
table.tbl tbody tr{transition:background-color .1s ease}
table.tbl tbody tr:hover{background:var(--surface-2)}
table.tbl tbody tr.sel{background:var(--primary-soft);box-shadow:inset 3px 0 0 var(--primary)}
table.tbl tbody tr.dim th,table.tbl tbody tr.dim td{color:var(--ink-4)}
table.tbl tbody tr:last-child td,table.tbl tbody tr:last-child th{border-bottom:0}
table.tbl.dense tbody td,table.tbl.dense tbody th{height:var(--row-dense);padding-top:4px;padding-bottom:4px}
table.tbl tfoot td{height:40px;padding:0 var(--pad-cell);border-top:1px solid var(--line);background:var(--surface-2);font-weight:600;font-size:12.5px}
table.tbl tfoot td.num{text-align:right}
table.tbl td .mono{font-size:12px}
.cellp{display:block;font-weight:600;font-size:13px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
a.cellp:hover{color:var(--primary-ink)}
.cells{display:block;font-size:12px;color:var(--ink-3);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* A td stays a table cell (a flex td breaks the row box in Chrome); its actions line up inline. */
.tacts{text-align:right;white-space:nowrap}
div.tacts{display:flex;justify-content:flex-end;gap:6px}
td.tacts>*{display:inline-flex;vertical-align:middle}
td.tacts>*+*{margin-left:6px}
.tacts form{display:inline-flex}
.grouprow td{height:30px;background:var(--surface-3);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);border-bottom:1px solid var(--line)}
/* Row actions pin to the right edge of the scroll container, but only once it actually scrolls
   (app.js marks .twrap.overflowing); a table that fits keeps a plain last column. */
.twrap.overflowing table.tbl th.stick,.twrap.overflowing table.tbl td.stick{position:sticky;right:0;z-index:1;background:var(--paper);box-shadow:-6px 0 8px -6px rgba(20,27,45,.18)}
.twrap.overflowing table.tbl thead th.stick{background:var(--surface-2);z-index:3}
.twrap.overflowing table.tbl tbody tr:hover td.stick{background:var(--surface-2)}
.twrap.overflowing table.tbl tbody tr.sel td.stick{background:var(--primary-soft)}
table.tbl tbody td .empty{padding:32px 16px}
.link{color:var(--primary-ink);font-weight:500}
.link:hover{text-decoration:underline}
/* External link cell: icon + label, never a raw URL. */
.xlink{display:inline-flex;align-items:center;gap:5px;color:var(--primary-ink);font-weight:500;white-space:nowrap}
.xlink svg{width:13px;height:13px;flex:none;opacity:.8}
.xlink:hover{text-decoration:underline}
.pager{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:10px var(--pad-card);border-top:1px solid var(--line-soft);background:var(--surface-2);font-size:12px;color:var(--ink-3);border-radius:0 0 var(--r) var(--r);flex-wrap:wrap}
.pager .pg{display:flex;gap:6px}
/* Table tools inside a panel head (count + inline search). */
.tcount{font-size:12px;color:var(--ink-3);white-space:nowrap}

/* == 09 Toolbar (filters and search) ====================================== */
.fbar{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap;padding:10px var(--pad-card);border-bottom:1px solid var(--line-soft);background:var(--paper);min-width:0}
.fbar.top{border-radius:var(--r) var(--r) 0 0}
.fbar.solo{border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-1);margin-bottom:var(--gap-section)}
.fb-sp{flex:1}
.fbar .seg{margin-right:4px}
.fbar>.t-meta{padding:0 4px;white-space:nowrap}
/* A labelled filter control: label and select live in one bordered shell. */
.fld{display:inline-flex;align-items:center;height:var(--ctl-h);border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--paper);overflow:hidden;box-shadow:var(--shadow-1);transition:border-color .12s ease,box-shadow .12s ease;max-width:100%}
.fld:hover{border-color:var(--line-strong)}
.fld:focus-within{border-color:var(--primary);box-shadow:var(--ring)}
.fld>label{padding:0 4px 0 10px;font-size:12px;font-weight:500;color:var(--ink-3);line-height:32px;white-space:nowrap;flex:none}
.fld>label::after{content:":"}
.fld select,.fld input{height:32px;border:0;background:transparent;padding:0 8px;font-size:13px;font-weight:550;color:var(--ink);min-width:60px;border-radius:0;box-shadow:none}
.fld select{padding-right:26px;appearance:none;cursor:pointer;background-image:var(--chev);background-repeat:no-repeat;background-position:right 8px center}
.fld input[type=date]{font-weight:500;min-width:130px}
.fld input:focus,.fld select:focus{outline:0;box-shadow:none;border:0;background-color:transparent}
.fld.on{border-color:var(--primary-line);background:var(--primary-soft)}
.fld.on>label{color:var(--primary-ink)}
.srch{display:flex;align-items:center;gap:8px;height:var(--ctl-h);padding:0 10px;border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--paper);min-width:220px;box-shadow:var(--shadow-1);transition:border-color .12s ease,box-shadow .12s ease}
.srch:hover{border-color:var(--line-strong)}
.srch svg{width:14px;height:14px;color:var(--ink-4);flex:none}
.srch input{flex:1;border:0;background:transparent;font-size:13px;min-width:0;height:32px;padding:0;box-shadow:none}
.srch input:focus{outline:0;box-shadow:none;border:0}
.srch input::placeholder{color:var(--ink-4)}
.srch:focus-within{border-color:var(--primary);box-shadow:var(--ring)}
.srch:focus-within svg{color:var(--primary)}
.fclear{display:inline-flex;align-items:center;gap:5px;height:var(--ctl-h);padding:0 8px;font-size:12.5px;font-weight:500;color:var(--ink-3);border-radius:var(--r-ctl)}
.fclear:hover{color:var(--crit);background:var(--surface-2)}

/* == 10 Buttons ============================================================ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:var(--ctl-h);padding:0 14px;border:1px solid var(--line);border-radius:var(--r-ctl);
  background:var(--paper);font-size:13px;font-weight:550;color:var(--ink-2);white-space:nowrap;cursor:pointer;box-shadow:var(--shadow-1);
  transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease;text-decoration:none;line-height:1}
.btn:hover{border-color:var(--line-strong);color:var(--ink);background:var(--surface-2)}
.btn:active{background:var(--surface-3)}
.btn svg{width:15px;height:15px;flex:none}
.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600;box-shadow:0 1px 2px rgba(22,119,224,.28)}
.btn.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover);color:#fff}
.btn.ghost,.btn.text{border-color:transparent;background:transparent;box-shadow:none;color:var(--primary-ink);padding:0 8px}
.btn.ghost:hover,.btn.text:hover{background:var(--primary-soft);color:var(--primary-hover);border-color:transparent}
.btn.ghost.neutral{color:var(--ink-2)}
.btn.ghost.neutral:hover{background:var(--surface-3);color:var(--ink)}
.btn.danger{color:var(--crit);border-color:var(--crit-line);background:var(--paper)}
.btn.danger:hover{background:var(--crit-bg);border-color:var(--crit);color:var(--crit)}
.btn.danger.solid{background:var(--crit);border-color:var(--crit);color:#fff}
.btn.danger.solid:hover{background:#A31F25;border-color:#A31F25;color:#fff}
.btn.sm{height:var(--ctl-h-sm);padding:0 10px;font-size:12px;gap:5px}
.btn.sm svg{width:13px;height:13px}
.btn.lg{height:var(--ctl-h-lg);padding:0 18px;font-size:13.5px}
.btn.w{width:100%}
.btn.icon{width:var(--ctl-h);padding:0}
.btn.icon.sm{width:var(--ctl-h-sm)}
.btn[disabled],.btn.off{opacity:.5;pointer-events:none;box-shadow:none}
.btn .c{font-size:11px;font-weight:600;padding:0 6px;height:18px;border-radius:9px;background:var(--surface-3);color:var(--ink-2);display:inline-grid;place-items:center}
.btn.primary .c{background:rgba(255,255,255,.2);color:#fff}
.btn-group{display:inline-flex;gap:8px;flex-wrap:wrap;align-items:center}
.form-actions{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap;grid-column:1/-1;padding-top:6px}
.form-actions.end{justify-content:flex-end}
.form-actions .sp{flex:1}

/* == 11 Controls =========================================================== */
:root{--chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1.5 1.5 6 6l4.5-4.5' fill='none' stroke='%23646E85' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
input:not([type]),input[type=text],input[type=email],input[type=password],input[type=date],input[type=number],input[type=search],input[type=url],input[type=tel],input[type=datetime-local],input[type=time],select,textarea{
  width:100%;height:var(--ctl-h);padding:0 11px;border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--paper);font-size:13px;color:var(--ink);
  box-shadow:inset 0 1px 1px rgba(20,27,45,.03);transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease;appearance:none;-webkit-appearance:none}
input:not([type]):hover,input[type=text]:hover,input[type=email]:hover,input[type=password]:hover,input[type=date]:hover,input[type=number]:hover,input[type=search]:hover,input[type=url]:hover,input[type=tel]:hover,input[type=datetime-local]:hover,select:hover,textarea:hover{border-color:var(--line-strong)}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--primary);box-shadow:var(--ring);background:var(--paper)}
input::placeholder,textarea::placeholder{color:var(--ink-4);opacity:1}
select{padding-right:32px;cursor:pointer;background-image:var(--chev);background-repeat:no-repeat;background-position:right 11px center}
select[multiple]{height:auto;padding:6px;background-image:none}
textarea{height:auto;min-height:88px;padding:9px 11px;line-height:1.5;resize:vertical}
input[type=number]{font-variant-numeric:tabular-nums}
input[type=date],input[type=datetime-local]{min-width:0}
input[type=date]::-webkit-calendar-picker-indicator{opacity:.55;cursor:pointer}
input[disabled],select[disabled],textarea[disabled],input[readonly]{background:var(--surface-3);color:var(--ink-3);border-color:var(--line);box-shadow:none;cursor:default}
input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true],.f.err input,.f.err select,.f.err textarea{border-color:var(--crit);box-shadow:0 0 0 3px rgba(193,39,45,.14)}
.f.ok input,.f.ok select{border-color:var(--ok)}
input[type=file]{width:100%;font-size:12.5px;color:var(--ink-2);padding:6px 0}
input[type=file]::file-selector-button{height:30px;padding:0 12px;margin-right:10px;border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--paper);font:inherit;font-size:12.5px;font-weight:550;color:var(--ink-2);cursor:pointer}
input[type=file]::file-selector-button:hover{background:var(--surface-2);border-color:var(--line-strong)}
input[type=checkbox],input[type=radio]{width:16px;height:16px;margin:0;accent-color:var(--primary);flex:none;cursor:pointer}
.check{display:inline-flex;align-items:center;gap:8px;font-size:13px;cursor:pointer;min-height:22px;position:relative}
.check input{width:16px;height:16px;margin:0;accent-color:var(--primary);flex:none}
.check small{color:var(--ink-3);font-size:12px}
input.sm,select.sm{height:var(--ctl-h-sm);font-size:12.5px;padding:0 9px}
select.sm{padding-right:26px;background-position:right 8px center}
input.inline,select.inline{width:auto}
/* Money field: symbol prefix and numeric input in one shell. */
.money{display:flex;align-items:center;border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--paper);overflow:hidden;height:var(--ctl-h);box-shadow:inset 0 1px 1px rgba(20,27,45,.03);transition:border-color .12s ease,box-shadow .12s ease}
.money:hover{border-color:var(--line-strong)}
.money>span{padding:0 10px;font-size:12px;font-weight:600;color:var(--ink-3);background:var(--surface-2);border-right:1px solid var(--line-soft);line-height:32px;flex:none;white-space:nowrap}
.money input{border:0;height:32px;text-align:right;font-variant-numeric:tabular-nums;font-size:13px;border-radius:0;box-shadow:none;background:transparent}
.money input:focus{box-shadow:none;outline:0}
.money:focus-within{border-color:var(--primary);box-shadow:var(--ring)}
/* URL field: link icon, the input, and an Open affordance that lights up when the value is a URL. */
.url-in{display:flex;align-items:center;border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--paper);height:var(--ctl-h);overflow:hidden;box-shadow:inset 0 1px 1px rgba(20,27,45,.03);transition:border-color .12s ease,box-shadow .12s ease}
.url-in:hover{border-color:var(--line-strong)}
.url-in:focus-within{border-color:var(--primary);box-shadow:var(--ring)}
.url-in>svg{width:15px;height:15px;color:var(--ink-4);margin:0 2px 0 10px;flex:none}
.url-in:focus-within>svg{color:var(--primary)}
.url-in input{border:0;height:32px;border-radius:0;box-shadow:none;background:transparent;padding-left:7px;min-width:0;font-family:var(--mono);font-size:12.5px}
.url-in input:focus{outline:0;box-shadow:none}
.url-in .url-open{display:inline-flex;align-items:center;gap:5px;height:32px;padding:0 10px;border-left:1px solid var(--line-soft);font-size:12px;font-weight:550;color:var(--ink-4);white-space:nowrap;flex:none;background:var(--surface-2);pointer-events:none}
.url-in .url-open svg{width:13px;height:13px}
.url-in.valid .url-open{color:var(--primary-ink);pointer-events:auto}
.url-in.valid .url-open:hover{background:var(--primary-soft)}
.url-in.invalid{border-color:var(--warn);}
.url-in.invalid>svg{color:var(--warn)}
/* Upload drop area and file chips. */
.drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:20px 16px;border:1px dashed var(--line-strong);border-radius:var(--r);background:var(--surface-2);text-align:center;cursor:pointer}
.drop:hover{border-color:var(--primary);background:var(--primary-soft)}
.drop strong{font-size:13px;font-weight:600}
.drop svg{width:20px;height:20px;color:var(--ink-3)}
.files{display:flex;flex-wrap:wrap;gap:8px}
.file{display:flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--paper);font-size:12.5px;max-width:100%}
.file .ext{width:26px;height:26px;border-radius:5px;background:var(--primary-soft);display:grid;place-items:center;font-family:var(--mono);font-size:9px;font-weight:600;color:var(--primary-ink);flex:none}
.file b{font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.file span{color:var(--ink-3);font-size:11.5px;white-space:nowrap}
a.file:hover{border-color:var(--primary-line);background:var(--primary-soft)}
/* Copyable read-only link row. */
.copyrow{display:flex;gap:8px;align-items:center}
.copyrow input{font-family:var(--mono);font-size:12px}

/* == 12 Forms ============================================================== */
.fgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap-field) var(--s5)}
.fgrid.f1{grid-template-columns:minmax(0,1fr)}
.fgrid.f3{grid-template-columns:repeat(3,minmax(0,1fr))}
.fgrid.f4{grid-template-columns:repeat(4,minmax(0,1fr))}
.fgrid .full,.full{grid-column:1/-1}
.fgrid>.fgrid{grid-column:1/-1}
.f{display:flex;flex-direction:column;gap:5px;min-width:0}
.f>label,.f>.lbl{font-size:12px;font-weight:600;color:var(--ink-2);display:flex;align-items:baseline;gap:6px;line-height:1.3}
.f>label em,.f>.lbl em{font-style:normal;font-weight:400;font-size:11.5px;color:var(--ink-4)}
.f>label .req{color:var(--crit);font-weight:600}
.f .hint,.hint{font-size:11.5px;color:var(--ink-3);line-height:1.45}
.f .err-msg{font-size:11.5px;color:var(--crit);font-weight:500}
.f.row-f{flex-direction:row;align-items:center;gap:10px}
.f.inline-f{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}
.f .check{margin-top:4px}
/* Form section: title, optional description, then the grouped fields. Spans the grid. */
.fsec{grid-column:1/-1;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding-bottom:8px;margin-top:10px;border-bottom:1px solid var(--line-soft)}
.fsec:first-child{margin-top:0}
.fsec b{display:block;font-size:13px;font-weight:600;color:var(--ink)}
.fsec span,.fsec .desc{display:block;font-size:12px;color:var(--ink-3);margin-top:2px;font-weight:400}
.fsec .n{font-size:11px;color:var(--ink-4);white-space:nowrap}
.fsec i{display:none}
/* Compact stack of fields (dialogs, side forms). */
.fstack{display:flex;flex-direction:column;gap:var(--gap-field)}
/* Form state chip (saved / unsaved). */
/* V2.6.0: an unsaved new record shows a neutral chip, not the green "saved" one. */
.fstate.unsaved i{background:var(--ink-4)}
.fstate.unsaved{color:var(--ink-3);background:var(--surface-2);border-color:var(--line)}
.fstate{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px;border-radius:var(--r-chip);border:1px solid var(--ok-line);background:var(--ok-bg);color:var(--ok);font-size:11.5px;font-weight:600;white-space:nowrap}
.fstate i{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.fstate.dirty{border-color:var(--warn-line);background:var(--warn-bg);color:var(--warn)}
/* Fieldset-style card for a group of related controls inside a large form. */
.fcard{grid-column:1/-1;border:1px solid var(--line-soft);border-radius:var(--r);background:var(--surface-2);padding:var(--s4)}
.fcard>.fgrid{gap:var(--s3) var(--s4)}

/* == 13 Badges and chips =================================================== */
.st{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border-radius:var(--r-chip);border:1px solid transparent;font-size:11.5px;font-weight:600;white-space:nowrap;line-height:1;letter-spacing:.01em}
.st i{width:6px;height:6px;flex:none;display:block;border-radius:50%;background:currentColor}
.st.ok    {color:var(--ok);background:var(--ok-bg);border-color:var(--ok-line)}
.st.warn  {color:var(--warn);background:var(--warn-bg);border-color:var(--warn-line)}
.st.crit,.st.corr,.st.miss{color:var(--crit);background:var(--crit-bg);border-color:var(--crit-line)}
.st.flight,.st.setup,.st.info{color:var(--info);background:var(--info-bg);border-color:var(--info-line)}
.st.violet{color:var(--violet);background:var(--violet-bg);border-color:var(--violet-line)}
.st.draft,.st.neutral{color:var(--ink-2);background:var(--surface-3);border-color:var(--line)}
.st.draft i,.st.neutral i{background:var(--ink-4)}
.st.corr i{border-radius:1px;transform:rotate(45deg);width:6px;height:6px}
.st.miss i{background:transparent;border:1.5px solid currentColor}
.st.none  {color:var(--ink-4);background:transparent;border-color:transparent;padding-left:0;font-weight:500}
.st.none i{display:none}
.st.lg{height:26px;padding:0 10px;font-size:12px}
.prio{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:500;color:var(--ink-2);white-space:nowrap}
.prio i{width:3px;height:12px;border-radius:2px;background:var(--ink-4);flex:none}
.prio.Urgent i{background:var(--crit)} .prio.Urgent{color:var(--crit);font-weight:600}
.prio.High i{background:var(--warn)} .prio.High{color:var(--warn);font-weight:600}
.prio.Normal i,.prio.Medium i{background:var(--primary-line)}
.prio.Low i{background:var(--line-strong)}
.cur{display:inline-flex;align-items:center;height:20px;padding:0 6px;border-radius:5px;border:1px solid var(--line);background:var(--surface-2);font-family:var(--mono);font-size:10.5px;font-weight:600;color:var(--ink-2);letter-spacing:.02em}
.cur.GBP,.cur.gbp{color:var(--c-gbp)} .cur.USD,.cur.usd{color:var(--c-usd)} .cur.EUR,.cur.eur{color:var(--c-eur)} .cur.CAD,.cur.cad{color:var(--c-cad)}
.tag,.badge{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:var(--r-chip);border:1px solid var(--line);background:var(--surface-2);font-size:11.5px;font-weight:500;color:var(--ink-2);white-space:nowrap}
.badge.accent,.tag.accent{color:var(--primary-ink);border-color:var(--primary-line);background:var(--primary-soft)}
.badge.mono{font-family:var(--mono);font-size:11px}
.pill-list{display:flex;flex-wrap:wrap;gap:6px}
.avatar{width:28px;height:28px;border-radius:50%;background:var(--surface-3);border:1px solid var(--line);display:grid;place-items:center;font-size:10.5px;font-weight:600;color:var(--ink-2);flex:none}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ink-4)}
.dot.ok{background:var(--ok)} .dot.warn{background:var(--warn)} .dot.crit{background:var(--crit)} .dot.info{background:var(--primary)}

/* == 14 Metrics ============================================================ */
.figs{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-1)}
.figs.f-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.figs.f-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.figs.f-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.figs.f-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.fig{position:relative;background:var(--paper);padding:14px 16px;min-width:0;display:block}
.fig .l{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fig .v{display:block;margin-top:6px;font-size:22px;font-weight:600;letter-spacing:-.02em;color:var(--ink);line-height:1.15;font-variant-numeric:tabular-nums}
.fig .v.sm{font-size:17px}
.fig .s{display:block;margin-top:3px;font-size:12px;color:var(--ink-3);line-height:1.35}
/* Candidate 3C Layer 3 (candidate 2): summary cards per currency (never a cross-currency total) */
.curcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--gap-section);padding:var(--pad-card)}
.curcard{border:1px solid var(--line);border-radius:var(--r);background:var(--paper);box-shadow:var(--shadow-1);overflow:hidden;min-width:0}
.curcard-h{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);flex-wrap:wrap;padding:10px var(--pad-card);border-bottom:1px solid var(--line-soft)}
.curcard-t{display:inline-flex;align-items:center;gap:8px;font-size:13px}
.curcard .figs{border-bottom:1px solid var(--line-soft);padding:6px var(--pad-card)}
.curcard .figs+.figs{border-top:0}
.curcard .fig.neg .v{color:var(--crit)}
.curcard-b .kv>b .t-meta{font-weight:400;margin-left:6px}
/* V2.6.0: a tile's label and coverage line are claims, so they wrap rather than clip. */
.fig .l{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.3}
.fig.link:hover{background:var(--surface-2)}
.fig.hot .v{color:var(--crit)}
.fig.warn .v{color:var(--warn)}
.fig.good .v{color:var(--ok)}
.kv{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s3);padding:7px 0;border-bottom:1px solid var(--line-soft);font-size:13px}
.kv:last-child{border-bottom:0}
.kv>span{color:var(--ink-2);min-width:0}
.kv>b{font-weight:550;font-variant-numeric:tabular-nums;color:var(--ink);text-align:right;flex:none}
a.kv:hover>span{color:var(--primary-ink)}
.kv.total{border-top:1px solid var(--line);border-bottom:0;margin-top:4px;padding-top:10px}
.kv.total>span{font-weight:600;color:var(--ink)}
.kv.total>b{font-size:15px;font-weight:600}
.kv.sub>span{padding-left:12px;color:var(--ink-3);font-size:12.5px}
.kv.wrap{flex-wrap:wrap}
.kv .t-meta{font-weight:400}
.bar{height:6px;border-radius:3px;background:var(--surface-3);overflow:hidden}
.bar>i{display:block;height:100%;background:var(--primary);border-radius:3px}
.bar>i.warn{background:var(--warn)}
.bar>i.crit{background:var(--crit)}
.bar>i.ok{background:var(--ok)}
.prog{display:grid;grid-template-columns:96px minmax(0,1fr) 64px;align-items:center;gap:10px;padding:6px 0;font-size:12.5px}
.prog>span{color:var(--ink-2)}
.prog>b{font-variant-numeric:tabular-nums;font-size:12.5px;text-align:right;color:var(--ink-2);font-weight:500}
.spark{display:flex;align-items:flex-end;gap:2px;height:28px}
.spark i{flex:1;background:var(--primary-line);border-radius:2px 2px 0 0;min-height:2px}
.spark i.hi{background:var(--primary)}
.big{font-size:26px;font-weight:600;letter-spacing:-.02em;line-height:1.1;font-variant-numeric:tabular-nums}
/* Charts: measured axes, faint grid, emphasised endpoint, hover readout. */
.chartwrap{position:relative}
.chart{width:100%;height:auto;display:block;overflow:visible}
.chart .ax{font-family:var(--mono);font-size:9.5px;fill:var(--ink-4)}
.chart-read{position:absolute;top:0;right:0;display:flex;align-items:baseline;gap:6px;padding:3px 8px;border:1px solid var(--line);border-radius:6px;background:var(--paper);box-shadow:var(--shadow-1)}
.chart-read b{font-size:10.5px;font-weight:500;color:var(--ink-3)}
.chart-read span{font-size:12px;font-weight:600;color:var(--ink)}
.ratio{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);border-radius:var(--r-ctl);overflow:hidden}
.ratio div{background:var(--paper);padding:8px 10px;min-width:0}
.ratio .l{display:block;font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}
.ratio .v{display:block;font-size:14px;font-weight:600;margin-top:2px;font-variant-numeric:tabular-nums}
/* Horizontal bar chart (lib/charts.php chart_bars). */
.chart-bars{display:flex;flex-direction:column;gap:8px}
.cb-row{display:grid;grid-template-columns:minmax(120px,32%) minmax(0,1fr) 96px;align-items:center;gap:10px;font-size:12.5px}
.cb-label{min-width:0}
.cb-label span{display:block;font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cb-label em{display:block;font-style:normal;font-size:11.5px;color:var(--ink-3)}
.cb-track{position:relative;height:10px;border-radius:5px;background:var(--surface-3);overflow:hidden}
.cb-fill{position:absolute;top:0;bottom:0;left:0;border-radius:5px}
.cb-track.signed .cb-zero{position:absolute;left:50%;top:-2px;bottom:-2px;width:1px;background:var(--line-strong)}
.cb-value{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
.cb-value.negative{color:var(--crit)}
.chart-empty,.chart-empty-inline{padding:16px;text-align:center;font-size:12.5px;color:var(--ink-3)}

/* == 15 Attention rows ===================================================== */
.sev-head{display:flex;align-items:center;gap:8px;height:30px;padding:0 var(--pad-card);background:var(--surface-2);border-bottom:1px solid var(--line-soft);font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2)}
.sev-head .c{margin-left:auto;font-size:11px;font-weight:600;color:var(--ink-3)}
.sev-head.crit{color:var(--crit)} .sev-head.crit .c{color:var(--crit)}
.sev-head.warn{color:var(--warn)} .sev-head.warn .c{color:var(--warn)}
.sev-head.setup{color:var(--info)} .sev-head.setup .c{color:var(--info)}
.sev-head.crit::before,.sev-head.warn::before,.sev-head.setup::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.arow{display:grid;grid-template-columns:180px minmax(0,1fr) auto auto;align-items:center;gap:var(--s3);min-height:44px;padding:6px var(--pad-card);border-bottom:1px solid var(--line-soft);position:relative}
.arow:last-child{border-bottom:0}
.arow:hover{background:var(--surface-2)}
.arow::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:transparent}
.arow.crit::before{background:var(--crit)}
.arow.warn::before{background:var(--warn)}
.arow.setup::before{background:var(--primary-line)}
.arow .b{font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.arow .t{font-size:13px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.arow .m{font-size:12px;color:var(--ink-3);white-space:nowrap}
.arow .a{display:flex;gap:6px}
.arow.narrow{grid-template-columns:minmax(0,1fr) auto;min-height:50px;padding-top:8px;padding-bottom:8px}
.arow.narrow .g{min-width:0}
.arow.narrow .g .b{display:block}
.arow.narrow .g .m{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.arow.narrow.on{background:var(--primary-soft);box-shadow:inset 3px 0 0 var(--primary)}
.arow.narrow.on .b{color:var(--primary-ink)}
/* Simple list rows (activity, recurring, cards). */
.lrow{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line-soft);min-width:0}
.lrow:last-child{border-bottom:0}
.lrow .g{flex:1;min-width:0}
.lrow .g b{display:block;font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lrow .g span{display:block;font-size:12px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lrow .when{font-size:11.5px;color:var(--ink-4);white-space:nowrap;font-variant-numeric:tabular-nums}
.lrow .ic{width:30px;height:30px;border-radius:7px;background:var(--surface-3);display:grid;place-items:center;color:var(--ink-3);flex:none;font-size:14px}
.pbody>.lrow:first-child{padding-top:0}
.pbody>.lrow:last-child{padding-bottom:0}

/* == 16 Empty states and notices ========================================== */
.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:36px 20px;text-align:center}
.empty strong{font-size:13.5px;font-weight:600;color:var(--ink)}
.empty span{font-size:12.5px;color:var(--ink-3);max-width:46ch;line-height:1.5}
.empty .btn{margin-top:8px}
.empty svg{width:28px;height:28px;color:var(--ink-4);margin-bottom:4px}
.empty.compact{padding:18px 16px}
.note,.alert{display:flex;align-items:flex-start;gap:9px;padding:10px 13px;border:1px solid var(--info-line);border-left:3px solid var(--info);border-radius:var(--r-ctl);background:var(--info-bg);font-size:12.5px;color:var(--ink-2);line-height:1.5}
.note strong,.alert strong{font-weight:600;color:var(--ink)}
.note.warn,.alert.warn{border-color:var(--warn-line);border-left-color:var(--warn);background:var(--warn-bg)}
.note.crit,.alert.bad{border-color:var(--crit-line);border-left-color:var(--crit);background:var(--crit-bg)}
.alert.good,.note.ok{border-color:var(--ok-line);border-left-color:var(--ok);background:var(--ok-bg)}
.alert{margin-bottom:var(--gap-section)}
.alert a,.note a{color:var(--primary-ink);font-weight:500;text-decoration:underline}
/* Full-page error card (lib/nav.php). */
.error-page{min-height:60vh;display:grid;place-items:center;padding:var(--s7)}
.error-card{max-width:440px;text-align:center;padding:32px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper);box-shadow:var(--shadow-2)}
.error-code{font-size:32px;font-weight:600;color:var(--ink-4);letter-spacing:-.02em}
.error-card h1{margin:6px 0 8px}
.error-card p{color:var(--ink-3);margin-bottom:14px}

/* == 17 Overlays: help, dialog, drawer, command search, toast ============= */
.hlp{display:inline-grid;place-items:center;width:15px;height:15px;padding:0;flex:none;border:1px solid var(--line-strong);border-radius:50%;background:var(--paper);font-family:var(--ui);font-size:9.5px;font-weight:600;line-height:1;color:var(--ink-3);vertical-align:1px;text-transform:none;letter-spacing:0}
.hlp:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}
.hlp[aria-expanded="true"]{border-color:var(--primary);background:var(--primary);color:#fff}
.hlp-pop{position:fixed;z-index:80;max-width:320px;padding:10px 12px;border:1px solid var(--line);border-left:3px solid var(--primary);border-radius:var(--r-ctl);background:var(--paper);color:var(--ink-2);font-size:12.5px;line-height:1.5;box-shadow:var(--shadow-2)}
.hlp-pop b{display:block;margin-bottom:3px;font-size:12px;font-weight:600;color:var(--ink)}
th .hlp{vertical-align:-1px}
.dlg-scrim{position:fixed;inset:0;z-index:74;background:rgba(11,21,38,.42);backdrop-filter:blur(2px)}
.dlg{position:fixed;z-index:75;top:50%;left:50%;transform:translate(-50%,-50%);width:460px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);display:flex;flex-direction:column;
  background:var(--paper);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-3)}
.dlg>form{display:flex;flex-direction:column;min-height:0;flex:1}
.dlg-h{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line-soft);flex:0 0 auto}
.dlg-h svg{width:16px;height:16px;flex:none;color:var(--ink-3)}
.dlg.danger .dlg-h svg{color:var(--crit)}
.dlg-h b{font-size:14px;font-weight:600;flex:1;min-width:0}
.dlg-h .t-meta{font-weight:400}
.dlg-b{padding:16px 18px;font-size:13px;color:var(--ink-2);line-height:1.5;min-height:0;overflow:auto;overscroll-behavior:contain}
.dlg-f{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid var(--line-soft);background:var(--surface-2);flex:0 0 auto}
.dlg-x{width:30px;height:30px;display:inline-grid;place-items:center;flex:none;margin:-6px -8px -6px 0;border-radius:6px;color:var(--ink-3);font-size:22px;line-height:1;text-decoration:none}
.dlg-x:hover{background:var(--surface-3);color:var(--ink)}
.dlg.wide{width:560px}
.drawer-scrim{position:fixed;inset:0;z-index:60;background:rgba(11,21,38,.36)}
.drawer{position:fixed;top:0;right:0;bottom:0;z-index:61;width:400px;max-width:92vw;background:var(--paper);border-left:1px solid var(--line);display:flex;flex-direction:column;box-shadow:var(--shadow-3)}
.drawer-h{flex:none;display:flex;align-items:center;justify-content:space-between;height:52px;padding:0 var(--s4);border-bottom:1px solid var(--line-soft)}
.drawer-h b{font-size:14px;font-weight:600}
.drawer-b{flex:1;overflow:auto;padding:var(--s4)}
.gl{padding:10px 0;border-bottom:1px solid var(--line-soft)}
.gl:last-child{border-bottom:0}
.gl b{display:block;font-size:13px;font-weight:600;margin-bottom:2px}
.gl p{font-size:12.5px;color:var(--ink-2);line-height:1.5}
.cmdk{position:fixed;z-index:70;top:80px;left:50%;transform:translateX(-50%);width:640px;max-width:calc(100vw - 32px);max-height:calc(100vh - 140px);display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-3)}
.cmdk-in{flex:none;display:flex;align-items:center;gap:10px;height:50px;padding:0 14px;border-bottom:1px solid var(--line-soft)}
.cmdk-in svg{width:16px;height:16px;color:var(--ink-4);flex:none}
.cmdk-in input{flex:1;height:34px;border:0;background:transparent;font-size:14px;padding:0;box-shadow:none}
.cmdk-in input:focus{box-shadow:none;outline:0}
.cmdk-out{flex:1;overflow:auto}
.cmdk-grp{position:sticky;top:0;z-index:1;height:26px;display:flex;align-items:center;padding:0 14px;background:var(--surface-2);border-bottom:1px solid var(--line-soft);font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.cmdk-row{display:flex;align-items:baseline;gap:10px;padding:9px 14px;border-bottom:1px solid var(--line-soft);cursor:pointer}
.cmdk-row .b{font-size:13px;font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmdk-row .m{margin-left:auto;font-size:12px;color:var(--ink-3);white-space:nowrap;flex:none}
.cmdk-row:hover,.cmdk-row.on{background:var(--primary-soft);box-shadow:inset 3px 0 0 var(--primary)}
.cmdk-foot{flex:none;display:flex;gap:14px;padding:8px 14px;border-top:1px solid var(--line-soft);background:var(--surface-2);font-size:11px;color:var(--ink-4)}
.toasts{position:fixed;z-index:78;right:20px;bottom:20px;display:flex;flex-direction:column;gap:8px;align-items:flex-end}
.toast{display:flex;align-items:center;gap:10px;max-width:420px;padding:10px 14px;border:1px solid var(--line);border-left:3px solid var(--ok);border-radius:var(--r-ctl);background:var(--paper);font-size:13px;color:var(--ink);box-shadow:var(--shadow-2)}
.toast svg{width:15px;height:15px;flex:none;color:var(--ok)}
.toast.warn{border-left-color:var(--warn)} .toast.warn svg{color:var(--warn)}
.toast.crit{border-left-color:var(--crit)} .toast.crit svg{color:var(--crit)}
@media (prefers-reduced-motion:no-preference){
  .toast{animation:toast-in .16s ease-out}
  @keyframes toast-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
}
.skip-link{position:absolute;left:-9999px;top:0;z-index:90}
.skip-link:focus{left:8px;top:8px;height:34px;padding:0 12px;display:inline-flex;align-items:center;border:1px solid var(--primary);border-radius:var(--r-ctl);background:var(--paper);color:var(--primary-ink);font-size:13px;font-weight:600}

/* == 18 Daily Sales entry and Review ===================================== */
.entry{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--gap-section);align-items:start}
.rail{position:sticky;top:calc(var(--top-h) + var(--s4));display:flex;flex-direction:column;gap:var(--s3)}
.rail-hd{display:flex;align-items:baseline;justify-content:space-between;padding-bottom:8px;border-bottom:1px solid var(--line-soft)}
.rail-hd b{font-size:13px;font-weight:600}
.rail-hd span{font-size:11.5px;color:var(--ink-3)}
.savebar{display:flex;flex-direction:column;gap:8px;padding-top:var(--s3);border-top:1px solid var(--line-soft)}
.cockpit{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--gap-section);align-items:start}
.evid{border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--surface-3);height:286px;display:grid;place-items:center;overflow:hidden}
.evid .sheet{width:76%;height:84%;background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:14px;display:flex;flex-direction:column;gap:6px}
.evid .sheet i{display:block;height:6px;border-radius:2px;background:var(--surface-3)}
.evid .sheet i.w1{width:56%} .evid .sheet i.w2{width:84%} .evid .sheet i.w3{width:38%} .evid .sheet i.w4{width:70%}
.evid .sheet i.hd{height:10px;width:44%;background:var(--line-strong);margin-bottom:4px}
.evid .sheet i.tot{height:8px;width:30%;background:var(--primary-line);margin-top:auto;align-self:flex-end}
.decide,.decide-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:12px var(--pad-card);border:1px solid var(--line);border-top:3px solid var(--primary);border-radius:var(--r);background:var(--paper);position:sticky;bottom:var(--s4);box-shadow:var(--shadow-2);z-index:5;flex-wrap:wrap}
.decide-bar{margin-top:var(--gap-section)}
.decide-who{display:flex;align-items:center;gap:10px;min-width:0;flex-wrap:wrap}
.decide-acts{display:flex;align-items:center;gap:8px;flex:1;justify-content:flex-end;flex-wrap:wrap;min-width:0}
.decide-acts input[type=text]{width:280px;max-width:100%}
.diff{display:inline-flex;align-items:center;gap:7px;font-variant-numeric:tabular-nums;font-size:12.5px}
.diff .old{color:var(--ink-4);text-decoration:line-through}
.diff .new{color:var(--ink);font-weight:600}
.review-banner{display:flex;align-items:center;gap:14px;padding:10px 14px;border:1px solid var(--primary-line);border-radius:var(--r-ctl);background:var(--primary-soft);font-size:12.5px;color:var(--ink-2);margin-bottom:var(--gap-section);flex-wrap:wrap}
.review-banner strong{color:var(--primary-ink)}
.review-banner a{margin-left:auto;color:var(--primary-ink);font-weight:600}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);border-radius:var(--r-ctl);overflow:hidden}
.facts div{background:var(--paper);padding:8px 10px;min-width:0}
.facts dt{font-size:11px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--ink-3)}
.facts dd{margin:2px 0 0;font-size:13.5px;font-weight:600;font-variant-numeric:tabular-nums}

/* == 19 Login ============================================================== */
.login{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) 440px;background:var(--canvas)}
.login-l{background:var(--nav);color:#D7E1EE;padding:48px 52px;display:flex;flex-direction:column;justify-content:space-between}
.login-l .lock{display:flex;align-items:center;gap:12px}
.login-l .lock strong{font-size:15px;color:#fff;font-weight:600}
.login-l .lock span{display:block;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--nav-ink-2)}
.login-l h2{color:#fff;font-size:26px;font-weight:600;letter-spacing:-.02em;max-width:20ch;line-height:1.25}
.login-l p{margin-top:12px;font-size:14px;color:#AFBCCF;max-width:44ch;line-height:1.55}
.login-facts{display:flex;gap:32px;margin-top:28px}
.login-facts div b{display:block;font-size:22px;font-weight:600;color:#fff;font-variant-numeric:tabular-nums}
.login-facts div span{font-size:11.5px;color:var(--nav-ink-2)}
.login-l .foot{display:flex;justify-content:space-between;font-size:11.5px;color:var(--nav-ink-2)}
.login-r{background:var(--paper);border-left:1px solid var(--line);padding:48px 44px;display:flex;flex-direction:column;justify-content:center}
.login-r h1{font-size:20px;margin-bottom:4px}
.login-r .t-help{font-size:13px}
.login-form{display:flex;flex-direction:column;gap:var(--gap-field);margin-top:var(--s5)}
.login-form .btn{margin-top:4px}
.login-help{margin-top:var(--s4);font-size:12.5px;color:var(--ink-3);line-height:1.55}
.login-help a{color:var(--primary-ink);font-weight:500}
.login-message{margin-bottom:var(--s3)}

/* == 20 Brand access, people, invitations ================================== */
.invite-dlg{width:600px;max-width:calc(100vw - 32px)}
.invite-brand-tools{display:flex;align-items:center;justify-content:space-between;gap:10px}
.invite-brand-tools>span:last-child{display:flex;gap:6px;flex:none}
.invite-brand-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:310px;overflow:auto;padding:2px}
.invite-brand-choice{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;cursor:pointer;border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--paper);transition:border-color .12s ease,background .12s ease}
.invite-brand-choice:hover{border-color:var(--line-strong);background:var(--surface-2)}
.invite-brand-choice:has(input:checked){border-color:var(--primary-line);background:var(--primary-soft);box-shadow:inset 3px 0 0 var(--primary)}
.invite-brand-choice input{margin-top:2px;flex:none}
.invite-brand-choice span{min-width:0}
.invite-brand-choice b{display:block;color:var(--ink);font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.invite-brand-choice small{display:block;margin-top:2px;color:var(--ink-3);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.access-layout{grid-template-columns:280px minmax(0,1fr)}
.access-people-rail{max-height:calc(100dvh - 290px);overflow:auto}
.access-filter{border-bottom:1px solid var(--line-soft)}
.access-brand-list{padding:12px;display:flex;flex-direction:column;gap:10px;background:var(--surface-2);border-radius:0 0 var(--r) var(--r)}
.access-brand-card{border:1px solid var(--line);border-radius:var(--r);background:var(--paper);overflow:hidden}
.access-brand-card[open]{border-color:var(--line-strong);box-shadow:var(--shadow-2)}
.access-brand-card.has-access{box-shadow:inset 3px 0 0 var(--primary)}
.access-brand-card.has-access[open]{box-shadow:inset 3px 0 0 var(--primary),var(--shadow-2)}
.access-brand-card summary{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 14px;cursor:pointer;list-style:none;user-select:none}
.access-brand-card summary::-webkit-details-marker{display:none}
.access-brand-card summary:hover{background:var(--surface-2)}
.access-brand-main{display:block;min-width:0}
.access-brand-name{display:block;color:var(--ink);font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.access-brand-summary{display:flex;align-items:center;gap:10px;flex:none}
.access-brand-card .access-state{min-width:70px;justify-content:center}
.access-chevron{display:inline-block;color:var(--ink-3);font-size:17px;line-height:1;transition:transform .12s ease}
.access-brand-card[open] .access-chevron{transform:rotate(180deg)}
.access-brand-body{padding:14px;border-top:1px solid var(--line-soft);background:var(--surface-2)}
.access-membership{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 0 12px;margin-bottom:12px;border-bottom:1px solid var(--line-soft)}
.access-toggle{display:flex;align-items:flex-start;gap:10px;cursor:pointer;min-width:0}
.access-toggle input{margin-top:2px}
.access-toggle span{display:block;min-width:0}
.access-toggle b{display:block;color:var(--ink);font-size:12.5px;font-weight:600}
.access-toggle small{display:block;color:var(--ink-3);font-size:11.5px;line-height:1.4;margin-top:2px}
.access-cap-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.access-cap{display:block;min-width:0}
.access-cap>span{display:block;margin:0 0 5px;color:var(--ink-2);font-size:12px;font-weight:600}
.access-cap select{width:100%;background-color:var(--paper);font-size:12.5px}
.access-brand-help{margin-top:10px;color:var(--ink-3);font-size:11.5px;line-height:1.45}
.access-savebar{position:sticky;bottom:0;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px var(--pad-card);border-top:1px solid var(--line);background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-radius:0 0 var(--r) var(--r);flex-wrap:wrap}
.access-savebar b{color:var(--ink);font-size:12.5px}
.person-access-row{cursor:pointer}
.person-access-row:focus-within{outline:2px solid var(--primary-ring);outline-offset:-2px}
/* Capability grid on the People member page. */
.cap-block{border-bottom:1px solid var(--line-soft)}
.cap-block:last-child{border-bottom:0}
.cap-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.cap-head strong{font-size:13px;font-weight:600}
.cap-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.cap-field{display:flex;flex-direction:column;gap:5px;min-width:0}
.cap-field>span{font-size:12px;font-weight:600;color:var(--ink-2)}

/* == 21 SKU allocation lines (Daily Sales) ================================ */
.sku-tbl input,.sku-tbl select{min-width:0;width:100%;height:var(--ctl-h-sm);font-size:12.5px}
.sku-tbl select{padding-right:26px;background-position:right 8px center}
.sku-tbl td.num input{text-align:right;font-variant-numeric:tabular-nums}
.sku-tbl th:first-child,.sku-tbl td:first-child{width:38%;min-width:220px}
.sku-tbl td,.sku-tbl th{padding:5px 8px;vertical-align:middle}
table.tbl.sku-tbl tbody td{height:auto}
.sku-lines .t-meta.neg{color:var(--crit);font-weight:600}
.sku-lines.mobile .sku-tbl select{max-width:160px}
.sku-lines.mobile .twrap{overflow-x:auto}
@media (max-width:760px){.sku-tbl{min-width:640px}}
.r42-mobile .sku-lines table.tbl{display:block}
.sku-lines.mobile .sku-tbl,.sku-lines.mobile .sku-tbl tbody{display:block;min-width:0}
.sku-lines.mobile .sku-tbl thead{display:none}
.sku-lines.mobile .sku-tbl tr.sku-line{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 0;border-bottom:1px solid var(--line-soft)}
.sku-lines.mobile .sku-tbl tr.sku-line td{display:flex;flex-direction:column;gap:3px;padding:0;height:auto;line-height:1.3;text-align:left;border:0}
.sku-lines.mobile .sku-tbl tr.sku-line td:first-child{grid-column:1/-1}
.sku-lines.mobile .sku-tbl tr.sku-line td.num input{height:38px;font-size:14px;width:100%;text-align:right}
.sku-lines.mobile .sku-tbl tr.sku-line td.num::before{content:attr(data-label);display:block;font-size:11px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--ink-3)}
.sku-lines.mobile .sku-tbl tr.sku-line td.tacts{grid-column:1/-1;flex-direction:row;justify-content:flex-end}
.sku-lines.mobile .sku-tbl tr.sku-line td.tacts .btn{height:32px;padding:0 12px}
.sku-lines.mobile .sku-tbl select{max-width:none;height:38px;font-size:14px}
.sku-lines.mobile .twrap{overflow:visible}

/* == 22 Phone compositions (R4.2 mobile screens) ========================== */
.mgal{display:flex;flex-wrap:wrap;gap:26px;align-items:flex-start}
.mcell{width:390px}
.mfr{width:390px;height:788px;border:1px solid var(--line-strong);border-radius:var(--r);background:var(--canvas);overflow:hidden;display:flex;flex-direction:column}
.mtop{flex:none;min-height:52px;display:flex;align-items:center;gap:10px;padding:0 14px;background:var(--paper);border-bottom:1px solid var(--line)}
.mtop .mb{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--r-ctl);color:var(--ink-2);flex:none;background:var(--paper)}
.mtop .mb svg{width:16px;height:16px}
.mtop .mt{min-width:0;flex:1}
.mtop .mt b{display:block;font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mtop .mt span{display:block;font-size:11.5px;color:var(--ink-3)}
.mbody{flex:1;overflow:auto;padding:14px}
.mbody>*+*{margin-top:12px}
.mbar{flex:none;height:56px;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);background:var(--paper)}
.mbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:10px;color:var(--ink-3);position:relative;font-weight:500}
.mbar a svg{width:19px;height:19px}
.mbar a.on{color:var(--primary-ink);font-weight:600}
.mbar a .pip{position:absolute;top:7px;right:20%;min-width:15px;height:15px;padding:0 4px;border-radius:8px;background:var(--crit);color:#fff;font-size:9px;font-weight:600;display:grid;place-items:center}
.msticky{flex:none;padding:10px 14px;border-top:1px solid var(--line);background:rgba(255,255,255,.96);backdrop-filter:blur(8px);display:flex;gap:8px;box-shadow:0 -6px 20px rgba(11,21,38,.06)}
.msticky .btn{height:42px;flex:1;font-size:14px}
.mcard{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-1)}
.mcard-h{display:flex;align-items:center;justify-content:space-between;min-height:40px;padding:0 14px;border-bottom:1px solid var(--line-soft)}
.mcard-h b{font-size:13px;font-weight:600}
.mcard-h span{font-size:11.5px;color:var(--ink-3)}
.mcard-b{padding:14px}
.mrow{display:flex;align-items:center;gap:12px;padding:11px 14px;border-bottom:1px solid var(--line-soft);position:relative;min-height:52px}
.mrow:last-child{border-bottom:0}
.mrow::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:transparent}
.mrow.crit::before{background:var(--crit)}
.mrow.warn::before{background:var(--warn)}
.mrow.setup::before{background:var(--primary-line)}
.mrow .g{flex:1;min-width:0}
.mrow .g b{display:block;font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mrow .g span{display:block;font-size:12px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mrow .r{text-align:right;flex:none}
.mrow .r b{display:block;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}
.mrow .r span{display:block;font-size:11px;color:var(--ink-3)}
.mrow .prio{flex:none}
.mfield{display:flex;flex-direction:column;gap:5px}
.mfield>label{font-size:12.5px;font-weight:600;color:var(--ink-2)}
.mfield input,.mfield select,.mfield textarea{height:42px;font-size:15px}
.mfield textarea{height:auto;min-height:80px}
.mfield .money,.mfield .url-in{height:42px}
.mfield .money input,.mfield .url-in input{height:40px;font-size:15px}
.mfield .money>span{line-height:40px}
.mfield .hint{font-size:11.5px;color:var(--ink-3)}
.mseg{display:flex;border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--surface-3);padding:3px;gap:2px;overflow-x:auto;scrollbar-width:none}
.mseg::-webkit-scrollbar{display:none}
.mseg a{flex:none;height:30px;padding:0 12px;display:inline-flex;align-items:center;gap:5px;border-radius:4px;font-size:12.5px;font-weight:500;color:var(--ink-2);white-space:nowrap}
.mseg a.on{background:var(--paper);color:var(--ink);font-weight:600;box-shadow:var(--shadow-1)}
.mseg .c{font-size:11px;font-weight:600;color:var(--ink-3)}
.mback{flex:none;display:flex;align-items:center;gap:6px;height:32px;padding:0 14px;background:var(--surface-2);border-bottom:1px solid var(--line);font-size:12px;color:var(--ink-2)}
.mback svg{width:14px;height:14px;flex:none}
.mback .bk-ctx{margin-left:auto;color:var(--ink-3)}
.mb-back{color:var(--ink-2)}
.msum{padding:14px;border:1px solid var(--line);border-top:3px solid var(--primary);border-radius:var(--r);background:var(--paper)}
.msum .ratio{margin-top:10px}
.r42-mobile{display:none}
@media(max-width:720px){
  .r42-desktop{display:none !important}
  .r42-mobile{display:block}
  body.has-mobile-composition .side,body.has-mobile-composition .top,body.has-mobile-composition .hubbar{display:none}
  body.has-mobile-composition .shell{grid-template-columns:minmax(0,1fr)}
  body.has-mobile-composition .page{padding:0;flex:1;min-width:0}
  body.has-mobile-composition .main{min-height:100vh}
  body.has-mobile-composition .alert{margin:12px 14px 0}
  .r42-mobile .mfr{width:100%;height:auto;min-height:100vh;border:0;border-radius:0}
  .r42-mobile .mbody{overflow:visible}
  .r42-mobile .msticky{position:sticky;bottom:0;z-index:30}
  .r42-mobile .mbar{position:sticky;bottom:0;z-index:30}
  .r42-mobile .twrap{overflow-x:visible}
  .r42-mobile table.tbl{display:none}
}

/* == 23 Responsive ========================================================= */
@media(max-width:1280px){
  .c-main{grid-template-columns:minmax(0,1fr) 290px}
  .entry{grid-template-columns:minmax(0,1fr) 272px}
  :root{--gutter:22px}
  .figs.f-5{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:1080px){
  .shell{grid-template-columns:1fr}
  .side{display:none}
  .c-2,.c-3,.c-4,.c-main,.c-wide,.entry,.cockpit{grid-template-columns:minmax(0,1fr)}
  .rail{position:static}
  .access-layout{grid-template-columns:minmax(0,1fr)!important}
  .figs.f-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fgrid.f4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cap-grid,.access-cap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:840px){
  .fgrid.f3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .phead{flex-wrap:wrap}
  .pacts{flex:1 1 100%;justify-content:flex-start}
}
@media(max-width:720px){
  :root{--gutter:16px;--pad-card:14px}
  .main,.page,.panel,.twrap,.cols>*,.stack>*,.entry>*,.cockpit>*{min-width:0}
  .twrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .page{padding-top:var(--s4)}
  .phead h1{font-size:19px}
  .pacts,.phead-bar .acts,.fbar,.decide,.decide .row,.decide-bar{flex-wrap:wrap}
  .pacts .btn{flex:0 1 auto;min-width:0}
  .cols,.entry,.cockpit{grid-template-columns:minmax(0,1fr) !important}
  .figs.f-3,.figs.f-4,.figs.f-5{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fig{padding:12px 14px}
  .fig .v{font-size:20px}
  .fgrid,.fgrid.f3,.fgrid.f4{grid-template-columns:minmax(0,1fr)}
  .fbar .srch,.fbar .fld{flex:1 1 100%;min-width:0}
  .fbar .fld select{flex:1;width:100%}
  .fbar .seg{width:100%;overflow-x:auto;scrollbar-width:none;margin-right:0}
  .fbar .seg::-webkit-scrollbar{display:none}
  .fbar>.fb-sp{display:none}
  .fbar .btn{flex:1 1 auto}
  .login{grid-template-columns:minmax(0,1fr)}
  .login-l{padding:28px 22px}
  .login-l h2{font-size:22px}
  .login-r{border-left:0;border-top:1px solid var(--line);padding:28px 22px}
  .decide,.decide-bar{position:static}
  .decide-acts input[type=text]{width:100%}
  .decide-acts{justify-content:stretch}
  .decide-acts .btn{flex:1}
  .dlg{max-height:calc(100dvh - 18px);max-width:calc(100vw - 18px)}
  .invite-dlg{width:calc(100vw - 18px)}
  .invite-brand-list{grid-template-columns:minmax(0,1fr);max-height:38dvh}
  .invite-brand-tools{align-items:flex-start;flex-direction:column}
  .access-people-rail{max-height:260px}
  .access-cap-grid,.cap-grid{grid-template-columns:minmax(0,1fr)}
  .access-brand-card summary{align-items:flex-start;gap:8px}
  .access-brand-summary .t-meta{display:none}
  .access-membership,.access-savebar{align-items:flex-start;flex-direction:column}
  .arow{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"b a" "t a" "m a";row-gap:2px;padding-top:8px;padding-bottom:8px}
  .arow .b{grid-area:b} .arow .t{grid-area:t;white-space:normal} .arow .m{grid-area:m;white-space:normal} .arow .a{grid-area:a}
  .cb-row{grid-template-columns:minmax(0,1fr) 84px;grid-template-areas:"l v" "t t"}
  .cb-label{grid-area:l} .cb-track{grid-area:t} .cb-value{grid-area:v}
  .dl{grid-template-columns:minmax(0,1fr)}
  .dl>dt{padding-bottom:2px;border:0}
  .dl>dd{padding:0 0 10px}
  .prog{grid-template-columns:80px minmax(0,1fr) 56px}
  .tabs a{padding:0 10px}
  .empty{padding:28px 14px}
  .facts{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:389px){
  .top{gap:var(--s2);padding:0 var(--s3)}
  .tsearch{min-width:0;flex:1 1 auto;padding:0 8px}
  .tsearch kbd{display:none}
  .ctx>span{display:none}
  .ctx select{min-width:0}
  .page{padding-left:var(--s3);padding-right:var(--s3)}
  .seg{flex-wrap:wrap;height:auto}
}
@media(max-width:340px){
  .figs.f-2,.figs.f-3,.figs.f-4,.figs.f-5{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none !important;animation:none !important}
}
@media print{
  .side,.top,.pacts,.fbar,.msticky,.mbar,.toasts{display:none !important}
  .shell{grid-template-columns:1fr}
  .panel{box-shadow:none}
}

/* Section spacing when a form is laid out as consecutive grids under one body. */
.pbody>.fsec{margin-bottom:var(--gap-field)}
.pbody>.fsec:first-child,.pbody>form>.fsec:first-child{margin-top:0}
.pbody>.fgrid+.fsec,.pbody>.sku-lines+.fsec,.pbody>.cols+.fsec,[data-form]>.fgrid+.fsec,[data-form]>.sku-lines+.fsec,[data-form]>.cols+.fsec{margin-top:22px}
.pbody>textarea:last-child{margin-bottom:2px}
.cols.tight{gap:10px}
.big-s{font-size:15px;font-weight:600}
.msum .row+.row{margin-top:3px}
.form-actions.sb{justify-content:space-between}
.kv.act{align-items:flex-start}
.kv.act>span{font-size:12.5px;line-height:1.45}
.kv>b.when{font-size:11.5px;font-weight:400;color:var(--ink-4);white-space:nowrap;padding-top:1px}
.twrap+.pbody,.twrap+form.pbody{border-top:1px solid var(--line-soft)}
/* Utilities used by the migrated pages. */
.inline-form{display:inline-flex}
.check.line{display:flex;padding:7px 0;border-bottom:1px solid var(--line-soft)}
.check.line:last-child{border-bottom:0}
.t-body.soft{color:var(--ink-2);line-height:1.55}
.row.base{align-items:baseline}
.mrow.center{justify-content:center}
.mcard-b.tight{padding-top:6px;padding-bottom:6px}
.mcard.clip{overflow:hidden}
.pbody.nb{padding-bottom:0}
.cols.c-side{grid-template-columns:minmax(0,1fr) 300px;gap:16px}
.figs.flat{border:0;border-radius:0;background:transparent;gap:0;box-shadow:none}
.figs.flat .fig{padding-left:0;padding-top:4px;padding-bottom:4px}
.fgrid.tight{gap:8px}
.hrow{padding:8px 0;border-bottom:1px solid var(--line-soft)}
.hrow:last-child{border-bottom:0}
.hrow b{font-size:12.5px;font-weight:600}
.hrow .when{font-size:11.5px;color:var(--ink-4);white-space:nowrap}
.hrow .t-help{margin-top:2px}
.decide-comment{width:260px;max-width:100%}
.evid.short{height:190px}
.dlg#new-task,.dlg#settings{width:540px}
.check em,.f>label em{font-style:normal;font-weight:400;color:var(--ink-4)}

/* == Phone navigation drawer =============================================
   Below 1080px the sidebar is hidden; the menu button opens it as a drawer. */
.mnav,.side-x,.nav-scrim{display:none}
@media(max-width:1080px){
  .mnav{display:grid}
  .side-x{display:grid;place-items:center;margin-left:auto;width:32px;height:32px;border:0;background:transparent;color:var(--nav-ink);border-radius:6px}
  .side-x:hover{background:rgba(255,255,255,.08);color:#fff}
  .side-x svg{width:16px;height:16px}
  body.nav-open .side{display:flex;position:fixed;left:0;top:0;bottom:0;width:min(300px,86vw);z-index:60;box-shadow:var(--shadow-3)}
  body.nav-open .nav-scrim{display:block;position:fixed;inset:0;z-index:59;background:rgba(11,21,38,.42)}
  body.nav-open{overflow:hidden}
}

/* Spacing utilities restated last so they win over component shorthand margins. */
.gap-b{margin-bottom:var(--gap-section)} .gap-t{margin-top:var(--gap-section)}
.gap-b-s{margin-bottom:var(--s3)} .gap-t-s{margin-top:var(--s3)}
/* Decision bar: the comment field flexes so the actions stay on one line where there is room. */
.decide .decide-acts,.decide-bar .decide-acts{flex:1 1 auto}
.decide .decide-comment,.decide-bar .decide-comment{flex:1 1 160px;width:auto;min-width:140px}

/* Phone top bar: menu, current page, brand, search icon, inbox, glossary — nothing wider than the screen. */
@media(max-width:720px){
  .top{gap:8px;padding:0 12px;overflow:hidden}
  .top>*{min-width:0}
  .crumb{flex:1 1 auto}
  .crumb a,.crumb span[aria-hidden]{display:none}
  .crumb b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
  .top-sp{display:none}
  .ctx{flex:0 1 auto;max-width:150px}
  .ctx>span{display:none}
  .ctx select{min-width:0;max-width:150px;padding-left:8px}
  .tsearch{min-width:0;width:var(--ctl-h);padding:0;justify-content:center;flex:none;background:var(--paper)}
  .tsearch span,.tsearch kbd{display:none}
  .page{padding-left:14px;padding-right:14px}
}
/* A visually hidden file input (inside a drop label) must not take the file control's intrinsic width. */
input[type=file].sr-only,input[type=file].sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%)}
/* Breadcrumb never wraps; the last segment truncates when the bar is tight. */
.crumb{flex:0 1 auto;overflow:hidden}
.crumb>*{white-space:nowrap}
.crumb b{overflow:hidden;text-overflow:ellipsis}
/* Controls inside flex/grid shells never claim their intrinsic width. */
.money input,.url-in input,.srch input,.fld select,.fld input{min-width:0;flex:1 1 auto}
input,select,textarea{max-width:100%}

/* == 24 Candidate 2 composition ============================================
   Same foundation and type family. What changes is the composition: one surface per section,
   rules and spacing instead of nested cards, sentence-case headers, tabular numerals, and a
   readable metadata size. Targets: page title 24px, section title 16px, body 14px, meta 12.5px,
   simple rows 44-48px, two-line operational rows 56-64px, gutters 24-32px. */
body.c2{font-size:14px}
body.c2 .page{width:100%;max-width:1600px;margin:0 auto;padding:var(--s6) var(--gutter) var(--s8)}
body.c2 .phead{margin-bottom:var(--s6);align-items:center}
body.c2 .phead h1{font-size:24px;letter-spacing:-.015em}
body.c2 .phead .sub{font-size:13px;margin-top:4px}
body.c2 table.tbl{font-size:14px}
body.c2 table.tbl thead th{text-transform:none;letter-spacing:0;font-size:12.5px;font-weight:600;color:var(--ink-3);height:40px}
body.c2 table.tbl thead th.th2{max-width:150px}
body.c2 table.tbl tbody td,body.c2 table.tbl tbody th{height:46px}
body.c2 table.tbl.dense tbody td,body.c2 table.tbl.dense tbody th{height:40px}
body.c2 table.tbl tbody td.num{font-weight:500}
body.c2 .cells{font-size:12.5px}
body.c2 .t-meta,body.c2 .phead-bar .meta,body.c2 .sec-meta{font-size:12.5px;color:var(--ink-3)}
body.c2 .tabs a{font-size:14px;height:40px}
body.c2 .hubbar .tabs a{font-size:13.5px}
body.c2 .grouprow td{text-transform:none;letter-spacing:0;font-size:12.5px;height:34px}
body.c2 .btn.sm{height:30px;font-size:13px}
body.c2 .st{font-size:12.5px}
body.c2 .fbar{padding:10px 0;border:0;background:transparent}
body.c2 .fbar.solo{border:0;box-shadow:none;padding:0 0 var(--s4);margin-bottom:0}
body.c2 .empty{padding:32px 20px}

/* Sections. */
.sec{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-1);min-width:0;margin-bottom:var(--s6)}
.sec-h{display:flex;align-items:center;gap:var(--s3);min-height:52px;padding:10px var(--s5);border-bottom:1px solid var(--line-soft);flex-wrap:wrap}
.sec-h h2{font-size:16px;font-weight:600;letter-spacing:-.01em}
.sec-meta{color:var(--ink-3);font-size:12.5px}
.sec-acts{margin-left:auto;display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap;justify-content:flex-end}
.sec-f{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:10px var(--s5);border-top:1px solid var(--line-soft);font-size:12.5px;color:var(--ink-3);flex-wrap:wrap}
.sec .pbody{padding:var(--s4) var(--s5)}
.sec .pbody.flush{padding:0}
.sec .pbody.tight{padding:10px var(--s5)}
.sec>.twrap+.sec-f,.sec>.orows+.sec-f{border-top:1px solid var(--line-soft)}
.sec .fbar{padding:10px var(--s5);border-bottom:1px solid var(--line-soft);background:var(--surface-2)}
.sec .tabs{margin:0;padding:0 var(--s5);border-bottom:1px solid var(--line-soft)}
.sec .sec{border:0;box-shadow:none;margin:0;border-top:1px solid var(--line-soft);border-radius:0}
.qual{font-size:12.5px;color:var(--ink-3);padding:8px var(--s5) 10px;line-height:1.45}
.twrap+.qual{border-top:1px solid var(--line-soft)}
.sec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s6);align-items:start}
.sec-grid.w-3-2{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}
.sec-grid.w-2-1{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
.sec-grid.w-1-2{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
.sec-grid>.sec{margin-bottom:0}
.sec-grid{margin-bottom:var(--s6)}

/* Key figures: a rule-separated strip, not tiles. */
.kfigs{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:0;padding:6px 0}
.kfig{padding:8px var(--s5);border-left:1px solid var(--line-soft);min-width:0}
.kfig:first-child{border-left:0}
.kfig .l{display:block;font-size:12.5px;font-weight:500;color:var(--ink-3);line-height:1.3}
.kfig .v{display:block;margin-top:4px;font-size:22px;font-weight:600;letter-spacing:-.02em;color:var(--ink);line-height:1.15;font-variant-numeric:tabular-nums;white-space:nowrap}
.kfig .s{display:block;margin-top:3px;font-size:12.5px;color:var(--ink-3);line-height:1.35}
.kfig.neg .v{color:var(--crit)}
.kfigs.compact .kfig .v{font-size:18px}

/* Financial table specifics. */
body.c2 table.tbl th .th-q,table.tbl.fin th .th-q{display:block;font-size:11.5px;font-weight:400;text-transform:none;letter-spacing:0;color:var(--ink-4);line-height:1.2;margin-top:1px}
table.tbl.fin tbody th{white-space:nowrap}
.curlink:hover .cur{border-color:var(--primary-line);background:var(--primary-soft)}
.restricted{font-size:12.5px;color:var(--ink-4);font-weight:400}
body.c2 table.tbl thead th{white-space:normal;line-height:1.25;vertical-align:bottom;padding-top:6px;padding-bottom:8px;height:auto;min-height:40px}

/* Operational rows: issue · brand · when · who · action. */
.orows{display:block}
.orow{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,150px) auto;align-items:center;gap:var(--s4);min-height:56px;padding:8px var(--s5) 8px calc(var(--s5) + 4px);border-bottom:1px solid var(--line-soft);position:relative;color:inherit}
.orow:last-child{border-bottom:0}
a.orow:hover{background:var(--surface-2)}
.orow::before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 2px 2px 0;background:transparent}
.orow.crit::before{background:var(--crit)}
.orow.warn::before{background:var(--warn)}
.orow.setup::before{background:var(--primary-line)}
.orow.ok::before{background:var(--ok-line)}
.or-main{min-width:0}
.or-t{display:block;font-size:14px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.or-m{display:block;font-size:12.5px;color:var(--ink-3);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.or-when{font-size:12.5px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
.or-who{font-size:12.5px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.or-a{display:flex;justify-content:flex-end}
.orows.compact .orow{grid-template-columns:minmax(0,1fr) auto;min-height:52px}
.orows.compact .or-who,.orows.compact .or-when{display:none}
.sec .prog{grid-template-columns:110px minmax(0,1fr) 130px;font-size:13px;padding:8px 0}
.sec .prog>b{font-size:13px}
.orows.tight .orow{min-height:48px;padding-top:6px;padding-bottom:6px}

/* Active filter context and view switch. */
.afilters{display:flex;align-items:center;gap:8px;padding:8px var(--s5);font-size:12.5px;color:var(--ink-3);border-bottom:1px solid var(--line-soft);background:var(--surface-2);flex-wrap:wrap}
.afilters b{color:var(--ink-2);font-weight:600}
.afilters .sep{color:var(--ink-4)}
.afilters .link{margin-left:auto}
.views{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap;margin-bottom:var(--s4)}
.views .seg{height:36px}
.views .seg a{height:28px;font-size:13px}

/* Person cell. */
.person{display:inline-flex;align-items:center;gap:10px;min-width:0;color:inherit}
.person .av.sm{width:30px;height:30px;font-size:11px;background:var(--surface-3);border-color:var(--line);color:var(--ink-2)}
.person .pcell{min-width:0}
a.person:hover .cellp{color:var(--primary-ink)}

/* Vertical breakdown. */
.bd{padding:6px 0 2px}
.bd-row{display:grid;grid-template-columns:minmax(160px,34%) minmax(0,1fr) minmax(140px,auto);align-items:center;gap:var(--s4);min-height:40px;padding:4px var(--s5);border-bottom:1px solid var(--line-soft)}
.bd-row:last-child{border-bottom:0}
.bd-l{font-size:14px;color:var(--ink-2)}
.bd-bar{height:10px;background:var(--surface-3);border-radius:5px;overflow:hidden}
.bd-bar i{display:block;height:100%;background:var(--ink-4);border-radius:5px}
.bd-row.top .bd-bar i{background:var(--primary)}
.bd-row.top .bd-l,.bd-row.result .bd-l{font-weight:600;color:var(--ink)}
.bd-v{text-align:right;font-variant-numeric:tabular-nums;font-weight:500;white-space:nowrap}
.bd-row.result{background:var(--surface-2);min-height:46px}
.bd-row.subtotal .bd-l{font-weight:600;color:var(--ink)}
.bd-row.subtotal .bd-bar i{background:var(--primary-line)}
.bd-row.subtotal{border-top:1px solid var(--line);background:var(--surface-2)}
.sec>details.disc{border:0;border-top:1px solid var(--line-soft);border-radius:0;box-shadow:none}
.sec>details.disc>summary{padding-left:var(--s5);padding-right:var(--s5)}
.sec>details.disc>.pbody{padding:0}
.bd-row.result .bd-v{font-weight:600;font-size:15px}
.bd-row.result.neg .bd-v{color:var(--crit)}
.bd-pct{font-size:12.5px;font-weight:400;color:var(--ink-3);margin-left:6px}

/* Empty kinds. */
.empty .ic{width:26px;height:26px;color:var(--ink-4)}
.empty.e-clear .ic{color:var(--ok)}
.empty.e-restricted .ic,.empty.e-unknown .ic{color:var(--ink-4)}
.empty-a{margin-top:8px;display:flex;gap:8px;justify-content:center;flex-wrap:wrap}

/* Focused form width and record layout. */
.focus{max-width:880px}
.focus.narrow{max-width:720px}
.rec{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--s6);align-items:start}
.queue-split{display:grid;grid-template-columns:minmax(300px,1fr) minmax(0,2fr);gap:var(--s6);align-items:start}
.queue-split>.sec{margin-bottom:0}

/* Compact status list (reasons under a health label). */
.reasons{display:inline-flex;flex-wrap:wrap;gap:4px 10px;font-size:12.5px;color:var(--ink-3)}
.cellp.inl{display:inline}
.hcell{display:inline-flex;align-items:center;gap:10px;white-space:nowrap}
.hcell .why{font-size:12.5px;color:var(--ink-3)}
table.tbl.score tbody th .cur{margin-left:8px;vertical-align:1px}
.reasons b{font-weight:600;color:var(--ink-2)}

/* Toolbar in a section head: search + a few filters, distinct from navigation. */
.sec .fbar .srch{max-width:280px}

/* Chart block sizing. */
.chart-block{padding:var(--s4) var(--s5) var(--s2)}
.chart-block svg{max-height:240px}

/* Phone. */
@media(max-width:720px){
  body.c2 .page{padding:var(--s4) 14px var(--s8)}
  body.c2 .phead h1{font-size:22px}
  .sec-grid,.sec-grid.w-3-2,.sec-grid.w-2-1,.sec-grid.w-1-2,.rec,.queue-split{grid-template-columns:minmax(0,1fr)}
  .sec-grid>.sec{margin-bottom:var(--s5)}
  .kfigs{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr))}
  .kfig{border-left:0;padding:8px 14px;border-top:1px solid var(--line-soft)}
  .kfig:nth-child(-n+2){border-top:0}
  .kfig .v{font-size:19px}
  .orow{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"main a" "when a" "who a";row-gap:2px}
  .or-main{grid-area:main} .or-when{grid-area:when} .or-who{grid-area:who} .or-a{grid-area:a}
  .or-t{white-space:normal}
  .bd-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"l v" "bar bar";row-gap:6px;padding:8px 14px}
  .bd-l{grid-area:l} .bd-v{grid-area:v} .bd-bar{grid-area:bar}
  .sec-h,.sec .pbody,.sec .fbar,.qual,.afilters,.sec-f{padding-left:14px;padding-right:14px}
  .sec .tabs{padding:0 6px}
  .sec .fbar .srch{max-width:none}
  body.c2 table.tbl{font-size:13px}
  body.c2 table.tbl tbody td,body.c2 table.tbl tbody th{padding-left:10px;padding-right:10px}
  /* Bottom navigation for every page: Overview · Inbox · Work · Sales · More. */
  body.c2 .page{padding-bottom:calc(var(--s8) + 60px)}
  .mbar.shell-mbar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid}
  body.has-mobile-composition .mbar.shell-mbar{display:none}
}
@media(min-width:721px){.mbar.shell-mbar{display:none}}
.mbar a,.mbar button{min-height:44px}
.mbar button{border:0;background:transparent;font:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:10px;color:var(--ink-3);font-weight:500;position:relative}
.mbar button svg{width:19px;height:19px}
/* Phone hub tabs inside a phone frame. */
.mtabs{flex:none;display:flex;gap:2px;padding:6px 10px 0;background:var(--paper);border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.mtabs::-webkit-scrollbar{display:none}
.mtabs a{flex:none;height:38px;padding:0 12px;display:inline-flex;align-items:center;font-size:13.5px;font-weight:500;color:var(--ink-3);border-bottom:2px solid transparent;white-space:nowrap}
.mtabs a.on{color:var(--primary-ink);font-weight:600;border-bottom-color:var(--primary)}
/* Filter sheet (details) on phones. */
.fsheet{display:contents}
@media(max-width:720px){
  .fsheet{display:block}
  .fsheet>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;font-size:13.5px;font-weight:600;color:var(--ink-2);border-bottom:1px solid var(--line-soft)}
  .fsheet>summary::-webkit-details-marker{display:none}
  .fsheet>summary::after{content:"Show";margin-left:auto;font-size:12.5px;font-weight:500;color:var(--primary-ink)}
  .fsheet[open]>summary::after{content:"Hide"}
  .fsheet .fbar{padding:10px 14px}
}
@media(min-width:721px){
  .fsheet>summary{display:none}
}

table.tbl tr.total td{font-weight:600;background:var(--surface-2);border-top:1px solid var(--line)}
table.tbl.perf tbody th{min-width:180px}
body.c2 table.tbl tbody th{max-width:360px}

.filing{display:inline-flex;gap:14px;white-space:nowrap}
.filing>span{display:inline-flex;flex-direction:column;gap:2px}
.filing em{font-style:normal;font-size:11px;color:var(--ink-4);letter-spacing:.03em;text-transform:uppercase}
.fsheet>summary svg{width:16px;height:16px}
.r42-mobile .mrow .g span{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* Row-level disclosure inside a table cell. */
details.rowmore>summary{list-style:none;cursor:pointer;font-size:12.5px;color:var(--primary-ink);font-weight:500;margin-top:2px}
details.rowmore>summary::-webkit-details-marker{display:none}
details.rowmore[open]>summary{margin-bottom:4px}
details.rowmore .reasons{display:flex;flex-direction:column;gap:2px;white-space:normal}
body.c2 table.tbl tbody th{white-space:normal}

.queue-split .decide{margin:0}
.queue-split details.disc>.pbody{padding:var(--s4) var(--s5)}
.queue-split .sec .arow.narrow{padding-left:var(--s5);padding-right:var(--s5)}
.queue-split .decide{flex-wrap:wrap;gap:10px}
.queue-split .decide>.row.grow{flex:1 1 100%}
.queue-split .decide .decide-acts{flex:1 1 100%}
.mnote{padding:0 4px}
@media(max-width:720px){table.tbl.fin .col-brands{display:none}.access-savebar{position:static}}
/* ---- Candidate 3: Amazon integration screens ------------------------------------------------- */
form.inline{display:inline-flex;align-items:center;gap:6px;vertical-align:middle}
.chk-row{display:flex;flex-wrap:wrap;gap:6px 16px}
.chk{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-s,13px);cursor:pointer}
.gap-s{gap:var(--s2,8px)}
.tbl tr.warnrow th,.tbl tr.warnrow td{background:var(--warn-bg,#fff8e6)}
.tbl td>form.stack{gap:var(--s2,8px);min-width:260px}
.amz-lines .num{font-variant-numeric:tabular-nums}
@media(max-width:720px){.tbl td>form.stack{min-width:0}}
.mkl{display:flex;flex-direction:column}
.mkb{border-top:1px solid var(--line)}
.mkb:first-child{border-top:0}
.mkb-h{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 16px 0;flex-wrap:wrap}
.mkb-h .cells{display:block}
.mkb-map{text-align:right;flex:none}
.kv .amz-unresolved{text-align:left;margin:0;padding-left:18px;font-weight:400}
.kv .amz-unresolved li{margin:2px 0}
.kv .amz-unresolved b{font-weight:600}

/* == 24 Customer #0 UX V1 — density, hierarchy, ladder, triage, drawers ====================================================
   The same tokens and vocabulary; one tighter type scale (page title 18, section 13.5, figure 17, body 13, meta 12, table 12.5),
   tabular numerals everywhere money is drawn, 36px dense rows, restrained status colour (word + colour, never colour alone),
   the Sales & Profit ladder (.pl), the brand-triage / product tables, the evidence drawer (.ev), exception cards (.exc)
   and the page-level shadow eyebrow. No new tokens; no gradients; no decoration. */
body.c2 .phead h1{font-size:18px}
body.c2 .phead .sub{font-size:12px;line-height:1.45;max-width:1100px}
body.c2 .phead .eyebrow{color:var(--info);font-size:10.5px;letter-spacing:.06em}
body.c2 .sec-h h2{font-size:13.5px}
body.c2 .fig .v{font-size:17px;letter-spacing:-.01em}
body.c2 .fig .v.sm{font-size:14px}
body.c2 .fig{padding:10px 14px}
body.c2 .fig .l{font-size:10.5px}
body.c2 .curcards{gap:var(--s4);padding:var(--s3) var(--pad-card)}
body.c2 table.tbl.dense tbody td,body.c2 table.tbl.dense tbody th{height:36px;padding-top:3px;padding-bottom:3px}
body.c2 table.tbl thead th{font-size:11px;letter-spacing:.03em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap;vertical-align:bottom}
body.c2 table.tbl thead th .th-q{display:block;font-size:10px;letter-spacing:0;text-transform:none;font-weight:400;color:var(--ink-4);white-space:normal}
body.c2 table.tbl tbody td.num,body.c2 table.tbl tbody th.num{font-variant-numeric:tabular-nums;white-space:nowrap}
body.c2 table.tbl tbody th .cells,body.c2 table.tbl tbody td .cells{display:block;font-size:11.5px;color:var(--ink-3);font-weight:400;line-height:1.3;white-space:normal}
body.c2 .kv{padding:6px 0;font-size:12.5px}
body.c2 .kv>b{font-weight:600}
body.c2 .qual{font-size:11.5px;color:var(--ink-3);line-height:1.45;margin:8px var(--pad-card) 10px}
body.c2 .sec-f{font-size:11.5px}
body.c2 .neg{color:var(--crit)}
body.c2 .dim{color:var(--ink-4)}
/* sortable headers (script only re-orders rows; nothing is computed) */
table.tbl.sortable thead th[data-key]{cursor:pointer;user-select:none}
table.tbl.sortable thead th[data-key]:hover{color:var(--ink)}
table.tbl.sortable thead th[data-key].asc::after{content:" ↑"} table.tbl.sortable thead th[data-key].desc::after{content:" ↓"}
/* brand triage / product profitability rows: a 3px accent, the word carries the state */
.pilot-triage tbody th.attention,.pilot-products tbody tr.attention>th{box-shadow:inset 3px 0 0 var(--warn)}
.pilot-triage tbody th.incomplete,.pilot-products tbody tr.incomplete>th{box-shadow:inset 3px 0 0 var(--line-strong)}
.pilot-products tbody tr.unalloc>th,.pilot-products tbody tr.unalloc>td{background:var(--surface-2)}
.pilot-products tbody tr.unalloc>th{font-weight:600}
.hcell{display:flex;flex-direction:column;gap:2px}
.hcell .why{font-size:11.5px;color:var(--ink-3);line-height:1.3}
.reasons{display:flex;flex-wrap:wrap;gap:var(--s3) var(--s5);align-items:center;font-size:12.5px;color:var(--ink-2)}
.reasons b{font-size:15px;font-weight:600;color:var(--ink);margin-right:3px;font-variant-numeric:tabular-nums}
/* the Sales & Profit ladder */
.pl{padding:6px var(--pad-card) 4px}
.pl-h{display:flex;align-items:center;gap:8px;padding:8px 0 4px;font-size:12.5px;font-weight:600;color:var(--ink-2);border-bottom:1px solid var(--line-soft)}
.pl-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s4);align-items:baseline;padding:6px 0;border-bottom:1px solid var(--line-soft);font-size:13px}
.pl-row:last-child{border-bottom:0}
.pl-row.lead .pl-v>span:first-child,.pl-row.subtotal .pl-v>span:first-child{font-weight:600}
.pl-row.subtotal{border-top:1px solid var(--line);margin-top:2px}
.pl-row.result{border-top:2px solid var(--ink);margin-top:2px;padding-top:8px}
.pl-row.result .pl-l,.pl-row.result .pl-v>span:first-child{font-weight:700;font-size:14px}
.pl-row.margin{border:0;padding-top:2px;color:var(--ink-3);font-size:12px}
.pl-l{min-width:0;color:var(--ink-2)}
.pl-row.lead .pl-l,.pl-row.subtotal .pl-l{color:var(--ink);font-weight:600}
.pl-sub{display:block;font-size:11px;color:var(--ink-4);font-weight:400;line-height:1.3}
.pl-v{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;display:flex;flex-direction:column;align-items:flex-end;gap:1px}
.pl-v>span:first-child{font-size:13.5px}
.pl-d,.pl-why{font-size:11px;color:var(--ink-3);font-weight:400;white-space:normal;text-align:right;max-width:340px}
.pl-why{color:var(--warn)}
.pl-b{display:inline-flex;gap:6px}
.pl.shadow{margin:8px var(--pad-card) 6px;padding:2px 12px 6px;background:var(--surface-2);border:1px dashed var(--line-strong);border-radius:var(--r-ctl)}
.pbody.perf .kv{padding:7px 0}
.pbody.perf .kv>b{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-weight:600;max-width:70%}
.pbody.perf .kv>b .t-meta{font-weight:400;text-align:right;white-space:normal;line-height:1.35}
.sec-grid.pilot-sp{grid-template-columns:minmax(0,5fr) minmax(0,4fr)}
/* evidence drawer: three levels — normal → evidence → reviewer */
.ev{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2px var(--s5);padding:4px 0}
.ev .kv{padding:5px 0;font-size:12.5px}
.ev .kv>b{font-weight:500;text-align:right;max-width:60%;white-space:normal}
details.disc.reviewer summary{color:var(--ink-3);font-size:12px}
details.disc.reviewer .mono{font-size:11px;word-break:break-all}
/* exception cards: what / why / where / impact / action */
.exc{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s2) var(--s4);padding:10px var(--pad-card);border-bottom:1px solid var(--line-soft);align-items:start}
.exc:last-child{border-bottom:0}
.exc.sev-blocks_metric{box-shadow:inset 3px 0 0 var(--crit)} .exc.sev-human_action{box-shadow:inset 3px 0 0 var(--warn)} .exc.sev-informational{box-shadow:inset 3px 0 0 var(--line-strong)}
.exc .exc-what{font-weight:600;font-size:13px;color:var(--ink)}
.exc .exc-why{font-size:12.5px;color:var(--ink-2);margin-top:2px}
.exc .exc-meta{display:flex;flex-wrap:wrap;gap:4px var(--s4);font-size:11.5px;color:var(--ink-3);margin-top:4px}
.exc .exc-meta b{font-weight:600;color:var(--ink-2)}
.exc .exc-act{text-align:right;white-space:nowrap;display:flex;flex-direction:column;gap:6px;align-items:flex-end}
.exc .exc-code{font-family:var(--mono);font-size:10.5px;color:var(--ink-4)}
/* compact context strip under a page head (what · when · where · currency · basis) */
.pctx{display:flex;flex-wrap:wrap;gap:6px var(--s4);align-items:center;font-size:12px;color:var(--ink-3);margin:-8px 0 var(--s4)}
.pctx b{font-weight:600;color:var(--ink-2)}
.pctx .cur{height:18px;font-size:11px}
/* long names never break the table: clamp with a title */
.tbl th .cellp,.tbl td .cellp{display:inline-block;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}
@media(max-width:1366px){.tbl th .cellp,.tbl td .cellp{max-width:200px} .sec-grid.pilot-sp{grid-template-columns:minmax(0,1fr)}}
@media(max-width:1080px){.pl-d,.pl-why{max-width:220px} .ev{grid-template-columns:minmax(0,1fr)}}
@media(max-width:720px){.exc{grid-template-columns:minmax(0,1fr)} .exc .exc-act{align-items:flex-start;text-align:left} .pl-row{grid-template-columns:minmax(0,1fr);gap:2px} .pl-v{align-items:flex-start;text-align:left}}
/* Customer #0 UX V1: measure tiles never overflow their cell (the Amazon day "Current record" grid) */
body.c2 .fig{min-width:0;overflow:hidden}
body.c2 .fig .v,body.c2 .fig .s,body.c2 .fig .l{overflow-wrap:anywhere;word-break:break-word;white-space:normal}
body.c2 .fig .s{font-size:11px}
@media(max-width:1366px){body.c2 .figs.f-5{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1080px){body.c2 .figs.f-5,body.c2 .figs.f-4{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* Customer #0 UX V1: the measure strip wraps into rows instead of squeezing twelve columns into one line */
body.c2 .kfigs{grid-auto-flow:row;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));row-gap:6px}
body.c2 .kfig{padding:6px var(--s4);border-left:1px solid var(--line-soft)}
body.c2 .kfig .l{font-size:11px;text-transform:uppercase;letter-spacing:.03em;font-weight:600}
body.c2 .kfig .v{font-size:16px;white-space:normal;overflow-wrap:anywhere}
body.c2 .kfig .s{font-size:11px;overflow-wrap:anywhere}
/* Customer #0 UX V1: triage economy — short reason cells; the Operational column (duplicated on the brand page) leaves narrow screens */
.pilot-triage .cells,.pilot-triage .hcell .why{max-width:170px}
@media(max-width:1080px){.pilot-triage th:last-child,.pilot-triage td:last-child{display:none}}
.pilot-triage thead th{white-space:normal;vertical-align:bottom}
.pilot-triage thead th .th-q{white-space:normal}
