/* ───────────────────────────────────────────────────────────────────
   CRUX Staff OS v4 — .mk-ads3 dark language. One app, every role.
   FAITHFUL PORT of docs/mockups/staff_os_v4_refined_2026_06_13.html
   <style> block (2026-06-13). Mechanical transforms ONLY (contract
   BUILDER B #1):
     - every rule scoped under .sos-root (the production view target);
     - the mockup's global *{} / body{} resets scoped to
       .sos-root / .sos-root *  (NOT a global reset);
     - the chat-replica classes (the mockup's cs-workspace prefix) RENAMED
       to scw-* so they NEVER collide with cs.css's REAL inbox classes;
     - all other class names IDENTICAL to the mockup.
   The Chat tab REUSES the real CS inbox (defined in cs.css) only for the
   CS unit (payload.is_cs); everyone else gets this scw-* replica.
   ─────────────────────────────────────────────────────────────────── */
.sos-root{
  --bg:#0A0A0C; --card:#121216; --card2:#17171d; --line:#23232b; --line-soft:#1b1b22;
  --ink:#F2F2F0; --ink-dim:#c9c9d2; --mute:#8B8B95;
  --lime:#C6F24E; --mint:#56E39F; --amber:#F2A24C; --red:#F0635A; --blue:#7AA6FF; --vio:#B48CF2;
  --mono:'SF Mono',ui-monospace,Menlo,monospace;
  position:fixed;inset:0;z-index:1000;overflow-y:auto;
  background:#050507;color:var(--ink);font:14px/1.45 -apple-system,'Inter',system-ui,sans-serif;
  -webkit-tap-highlight-color:transparent;
}
.sos-root *{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
/* The margin/padding reset must be ZERO-specificity (:where) so it does NOT
   clobber the embedded CS workspace, which ships its own spacing from cs.css.
   The old `.sos-root *` reset was (0,1,1) and beat cs.css `.csw-script`/`.csw-bub`
   (0,1,0) → the CS-rep chat inside /staff rendered with flush, padding-less
   bubbles (the "broken/ugly" chat). At (0,0,0) the reset still zeroes UA margins
   on the Staff OS's own bare elements (author origin beats UA), while letting any
   class rule — i.e. cs.css — win. The Staff OS's own elements are all
   `.sos-root .x` (0,2,0+) so they are unaffected. */
:where(.sos-root) *{margin:0;padding:0}
.sos-root .phone{background:var(--bg);min-height:100vh;border-left:1px solid var(--line);border-right:1px solid var(--line);position:relative;padding-bottom:84px}
.sos-root .mono{font-family:var(--mono)}
.sos-root .chip{display:inline-block;font-family:var(--mono);font-size:9.5px;font-weight:700;padding:2px 8px;border-radius:999px;letter-spacing:.04em}
.sos-root .chip.lime{color:#0A0A0C;background:var(--lime)}.sos-root .chip.mint{color:var(--mint);background:rgba(86,227,159,.13)}
.sos-root .chip.amber{color:var(--amber);background:rgba(242,162,76,.14)}.sos-root .chip.mute{color:var(--mute);background:rgba(255,255,255,.06)}
.sos-root .chip.red{color:var(--red);background:rgba(240,99,90,.13)}.sos-root .chip.blue{color:var(--blue);background:rgba(122,166,255,.13)}
.sos-root .chip.vio{color:var(--vio);background:rgba(180,140,242,.14)}
.sos-root .card{background:var(--card);border:1px solid var(--line);border-radius:16px;margin:10px 14px;padding:13px}
.sos-root .sec{font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:var(--mute);text-transform:uppercase;margin:14px 18px 0}
.sos-root .note{font-size:10.5px;color:var(--mute);margin:10px 18px;text-align:center}
.sos-root .view{display:none}.sos-root .view.on{display:block;animation:sos-in .25s ease}
@keyframes sos-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* ── top bar: wordmark + ROLE PILL (opens dept-grouped picker) ── */
.sos-root .top{padding:12px 14px 8px;display:flex;align-items:center;gap:10px;position:sticky;top:0;background:rgba(10,10,12,.95);backdrop-filter:blur(12px);z-index:20}
.sos-root .top .wm{font-weight:800;letter-spacing:.2em;font-size:12px}.sos-root .top .wm i{color:var(--lime);font-style:normal}
.sos-root .rolepill{margin-left:auto;display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:4px 11px 4px 4px;cursor:pointer}
.sos-root .rolepill:active{transform:scale(.97)}
.sos-root .rolepill .rav{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:10.5px;color:#0A0A0C}
.sos-root .rolepill .rtx b{display:block;font-size:11.5px;line-height:1.1}
.sos-root .rolepill .rtx span{font-size:9px;color:var(--mute);font-family:var(--mono);letter-spacing:.03em}
.sos-root .rolepill .car{color:var(--mute);font-size:10px;margin-left:2px}
/* role picker sheet — dept-grouped, doubles as the org chart */
.sos-root .rp-scrim{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.55);display:none}
.sos-root .rp-scrim.on{display:block}
.sos-root .rp{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:100%;max-width:390px;max-height:82vh;overflow-y:auto;z-index:61;background:var(--card);border:1px solid var(--line);border-radius:22px 22px 0 0;padding:14px 14px 28px;display:none;animation:sos-up .25s ease}
.sos-root .rp.on{display:block}
@keyframes sos-up{from{transform:translate(-50%,40px);opacity:.5}to{transform:translate(-50%,0);opacity:1}}
.sos-root .rp .grab{width:40px;height:4px;border-radius:99px;background:var(--line);margin:0 auto 12px}
.sos-root .rp h3{font-size:15px;margin-bottom:2px}
.sos-root .rp .rpsub{font-size:11px;color:var(--mute);margin-bottom:10px}
.sos-root .rp .dept{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;color:var(--mute);text-transform:uppercase;margin:13px 2px 5px;display:flex;align-items:center;gap:7px}
.sos-root .rp .dept .dot{width:7px;height:7px;border-radius:50%}
.sos-root .rp .person{display:flex;align-items:center;gap:11px;padding:8px 6px;border-radius:12px;cursor:pointer}
.sos-root .rp .person:active,.sos-root .rp .person:hover{background:rgba(255,255,255,.04)}
.sos-root .rp .person.on{background:linear-gradient(90deg,rgba(198,242,78,.09),transparent)}
.sos-root .rp .person .rav{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:12px;color:#0A0A0C;flex:none}
.sos-root .rp .person .nm b{display:block;font-size:13px}
.sos-root .rp .person .nm span{font-size:10.5px;color:var(--mute)}
.sos-root .rp .person .tag{margin-left:auto}

/* ── tab bar (Team appears for managers only) ── */
.sos-root .tabbar{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:390px;background:rgba(10,10,12,.96);backdrop-filter:blur(14px);border-top:1px solid var(--line);display:flex;z-index:40;padding-bottom:env(safe-area-inset-bottom)}
.sos-root .tabbar button{flex:1;background:none;border:none;color:var(--mute);font-size:10px;font-weight:700;padding:9px 0 11px;cursor:pointer;display:flex;flex-direction:column;gap:4px;align-items:center;position:relative}
.sos-root .tabbar button svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sos-root .tabbar button.on{color:var(--lime)}
.sos-root .tabbar button .bdg{position:absolute;top:4px;right:calc(50% - 21px);background:var(--red);color:#fff;font-size:8.5px;font-weight:800;border-radius:999px;padding:1px 5px}

/* ── DAY ── */
.sos-root .hello{padding:10px 18px 0}
.sos-root .hello .hi{font-size:19px;font-weight:800}
.sos-root .hello .hi i{color:var(--lime);font-style:normal}
.sos-root .hello .sub{font-size:11.5px;color:var(--mute);margin-top:2px}
.sos-root .hello .strk{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-size:11px;color:var(--ink-dim);background:rgba(198,242,78,.1);border:1px solid rgba(198,242,78,.28);border-radius:999px;padding:3px 10px}
.sos-root .hello .strk b{color:var(--lime);font-family:var(--mono)}
.sos-root .ringrow{display:flex;gap:14px;align-items:center}
.sos-root .ring2{position:relative;width:86px;height:86px;flex:none}
.sos-root .ring2 svg{transform:rotate(-90deg)}
.sos-root .ring2 .c{fill:none;stroke:rgba(255,255,255,.07);stroke-width:8}
.sos-root .ring2 .p{fill:none;stroke:var(--lime);stroke-width:8;stroke-linecap:round;stroke-dasharray:207;filter:drop-shadow(0 0 6px rgba(198,242,78,.4));transition:stroke-dashoffset .8s ease}
.sos-root .ring2 .mid{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.sos-root .ring2 .mid b{font-family:var(--mono);font-size:17px}.sos-root .ring2 .mid span{font-size:8.5px;color:var(--mute)}
.sos-root .kv{display:flex;justify-content:space-between;font-size:12.5px;padding:5px 0;border-bottom:1px dashed rgba(255,255,255,.06)}
.sos-root .kv:last-child{border:none}.sos-root .kv b{font-family:var(--mono)}
.sos-root .qa{display:flex;gap:8px;margin:10px 14px;flex-wrap:wrap}
.sos-root .qa button{flex:1;min-width:46%;background:var(--card);border:1px solid var(--line);color:var(--ink);font-size:12px;font-weight:700;padding:11px;border-radius:13px;cursor:pointer}
.sos-root .qa button.pri{background:rgba(198,242,78,.12);border-color:rgba(198,242,78,.45);color:var(--lime)}
.sos-root .bar{height:8px;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden;margin-top:6px}
.sos-root .bar i{display:block;height:100%;background:linear-gradient(90deg,var(--lime),var(--mint))}
.sos-root .cap{display:flex;align-items:center;gap:13px}
.sos-root .cap .pct{font-family:var(--mono);font-size:24px;color:var(--lime)}
/* shift checklist (store SOP) */
.sos-root .chk{display:flex;gap:11px;align-items:center;padding:8px 0;border-bottom:1px dashed rgba(255,255,255,.06)}
.sos-root .chk:last-child{border:none}
.sos-root .chk .ct{width:42px;font-family:var(--mono);font-size:10px;color:var(--mute);flex:none}
.sos-root .chk .cdot{width:19px;height:19px;border-radius:50%;border:1.5px solid var(--mute);flex:none;display:flex;align-items:center;justify-content:center;font-size:11px}
.sos-root .chk.done .cdot{background:var(--mint);border-color:var(--mint);color:#0A0A0C;font-weight:800}
.sos-root .chk.now .cdot{border-color:var(--lime);box-shadow:0 0 8px rgba(198,242,78,.4)}
.sos-root .chk .cl{font-size:12.5px;flex:1}
.sos-root .chk.done .cl{color:var(--mute)}
.sos-root .chk.now .cl{font-weight:700}
.sos-root .chk .cp{font-family:var(--mono);font-size:10.5px;color:var(--lime)}
.sos-root .chk .cdot svg{width:11px;height:11px;stroke:#0A0A0C;fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.sos-root .chk.now .cdot svg{stroke:var(--lime)}
/* warehouse floor-cockpit zones */
.sos-root .wz{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.sos-root .wzc{background:var(--card2);border:1px solid var(--line);border-radius:13px;padding:11px;cursor:pointer}
.sos-root .wzc:active{transform:scale(.98)}
.sos-root .wzc .wzh{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;color:var(--mute)}
.sos-root .wzc .wzn{font-family:var(--mono);font-size:22px;margin:3px 0 1px}
.sos-root .wzc .wzs{font-size:10.5px;color:var(--mute)}
.sos-root .wzc.hot{border-color:rgba(198,242,78,.45)}.sos-root .wzc.hot .wzn{color:var(--lime)}
.sos-root .wzc.warn .wzn{color:var(--amber)}.sos-root .wzc.calm .wzn{color:var(--mint)}
/* rider run list + custody chain */
.sos-root .stop{display:flex;gap:11px;padding:9px 0;border-bottom:1px dashed rgba(255,255,255,.06);align-items:flex-start}
.sos-root .stop:last-child{border:none}
.sos-root .stop .sn{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--mute);font-family:var(--mono);font-size:10.5px;display:flex;align-items:center;justify-content:center;flex:none;margin-top:1px;color:var(--mute)}
.sos-root .stop.done .sn{background:var(--mint);border-color:var(--mint);color:#0A0A0C;font-weight:800}
.sos-root .stop.next .sn{border-color:var(--lime);color:var(--lime);box-shadow:0 0 8px rgba(198,242,78,.35)}
.sos-root .stop .sn svg{width:11px;height:11px;stroke:#0A0A0C;fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.sos-root .stop .sx{flex:1}
.sos-root .stop .st1{font-size:12.5px;font-weight:600}
.sos-root .stop.done .st1{color:var(--mute)}
.sos-root .stop .st2{font-size:10.5px;color:var(--mute);margin-top:1px}
.sos-root .stop .sr{flex:none;text-align:right}
.sos-root .custody{display:flex;align-items:center;gap:0;margin:10px 0 4px}
.sos-root .custody .cs1{flex:1;text-align:center;font-size:9px;font-family:var(--mono);color:var(--mute);position:relative}
.sos-root .custody .cs1 .cd{width:11px;height:11px;border-radius:50%;background:var(--line);margin:0 auto 4px;border:2px solid var(--card)}
.sos-root .custody .cs1.don .cd{background:var(--mint)}
.sos-root .custody .cs1.cur .cd{background:var(--lime);box-shadow:0 0 7px rgba(198,242,78,.5)}
.sos-root .custody .cs1::after{content:'';position:absolute;top:5px;left:calc(50% + 8px);width:calc(100% - 16px);height:1.5px;background:var(--line)}
.sos-root .custody .cs1:last-child::after{display:none}
.sos-root .custody .cs1.don::after{background:var(--mint)}
/* 4-store strip + dept grid (HQ pattern, mined from v2) */
.sos-root .st4{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.sos-root .stc{background:var(--card2);border:1px solid var(--line);border-radius:13px;padding:10px;cursor:pointer}
.sos-root .stc .sh{display:flex;justify-content:space-between;align-items:baseline}
.sos-root .stc .sh b{font-size:12px}
.sos-root .stc .rev{font-family:var(--mono);font-size:16px;margin:4px 0 1px}
.sos-root .stc .sm{font-size:10px;color:var(--mute)}
.sos-root .dc{background:var(--card2);border:1px solid var(--line);border-radius:13px;padding:11px;cursor:pointer}
.sos-root .dcg{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.sos-root .dc .dn{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:800}
.sos-root .dc .dn .dot{width:7px;height:7px;border-radius:50%}
.sos-root .dc .dv{font-family:var(--mono);font-size:17px;margin:6px 0 1px}
.sos-root .dc .dm{font-size:9.5px;color:var(--mute)}
/* link-out rows to real EON pages */
.sos-root .lo{display:flex;align-items:center;gap:11px;padding:10px 0;border-bottom:1px dashed rgba(255,255,255,.06);cursor:pointer}
.sos-root .lo:last-child{border:none}
.sos-root .lo .li{width:34px;height:34px;border-radius:10px;background:var(--card2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:12px;color:var(--lime);flex:none}
.sos-root .lo .lt b{display:block;font-size:12.5px}
.sos-root .lo .lt span{font-size:10.5px;color:var(--mute);font-family:var(--mono)}
.sos-root .lo .la{margin-left:auto;color:var(--mute);font-size:14px}
/* packaging bag-confirm bar (production prc-bagbar) */
.sos-root .prc-bagbar{margin:10px 14px;background:linear-gradient(135deg,#141a0d,#121216);border:1px solid rgba(198,242,78,.35);border-radius:14px;padding:10px 12px}
.sos-root .prc-bagbar-row{display:flex;align-items:center;gap:8px}
.sos-root .prc-bagbar-t{font-size:12px;flex:1}
.sos-root .prc-bagbar-t b{font-family:var(--mono);color:var(--lime)}
.sos-root .prc-bagbar-btn{background:var(--card2);border:1px solid var(--line);color:var(--ink);font-size:11.5px;font-weight:700;padding:7px 12px;border-radius:999px;cursor:pointer}
.sos-root .prc-bagbar-yes{background:var(--lime);border-color:var(--lime);color:#0A0A0C}
.sos-root .prc-bagbar-x{background:none;border:none;color:var(--mute);font-size:16px;cursor:pointer;padding:0 2px}
/* money-request cards (production prc-card) */
.sos-root .prc-card{background:var(--card2);border:1px solid var(--line);border-radius:13px;padding:11px;margin-bottom:9px}
.sos-root .prc-card:last-child{margin-bottom:0}
.sos-root .prc-card-top{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.sos-root .prc-card-title{font-size:13px;font-weight:700}
.sos-root .prc-card-amt{font-family:var(--mono);font-size:13.5px;color:var(--lime)}
.sos-root .prc-card-meta{font-size:10.5px;color:var(--mute);margin-top:3px;font-family:var(--mono)}
.sos-root .prc-card-lines{font-size:11.5px;color:var(--ink-dim);margin-top:5px}
.sos-root .prc-card-actions{display:flex;gap:7px;margin-top:9px;align-items:center}
.sos-root .prc-act{background:var(--card);border:1px solid var(--line);color:var(--ink);font-size:11.5px;font-weight:700;padding:7px 13px;border-radius:999px;cursor:pointer}
.sos-root .prc-act-ok{background:rgba(86,227,159,.14);border-color:rgba(86,227,159,.4);color:var(--mint)}
/* request-finance sheet (production prc-* + scw-sheet) */
.sos-root .prc-sheet-sub{font-size:11.5px;color:var(--mute);margin:6px 0 10px}
.sos-root .prc-chips{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:10px}
.sos-root .prc-chip{background:var(--card2);border:1px solid var(--line);color:var(--ink);font-size:11px;font-weight:700;padding:7px 12px;border-radius:999px;cursor:pointer}
.sos-root .prc-chip.on{background:rgba(198,242,78,.14);border-color:rgba(198,242,78,.5);color:var(--lime)}
.sos-root .prc-line{display:grid;grid-template-columns:1fr 52px 74px 64px 22px;gap:6px;align-items:center;margin-bottom:7px}
.sos-root .mtx-input{background:var(--card2);border:1px solid var(--line);border-radius:10px;color:var(--ink);padding:8px 10px;font:inherit;font-size:12px;width:100%}
.sos-root .prc-line-total{font-family:var(--mono);font-size:11px;text-align:right;color:var(--ink-dim)}
.sos-root .prc-line-rm{background:none;border:none;color:var(--mute);font-size:15px;cursor:pointer}
.sos-root .prc-total-row{display:flex;justify-content:space-between;font-size:13px;font-weight:700;padding:10px 2px;border-top:1px solid var(--line);margin-top:8px}
.sos-root .prc-total{font-family:var(--mono);color:var(--lime)}
.sos-root .prc-quiet{font-size:11px;color:var(--mute)}
.sos-root .prc-success{text-align:center;padding:22px 8px}
.sos-root .prc-success-t{font-size:14.5px;font-weight:700;color:var(--mint)}
.sos-root .prc-success-m{font-size:12px;color:var(--mute);margin:8px 0 16px}

/* ── CHAT — production CS workspace replica (scw-*) ── */
.sos-root .scw-topbar{display:flex;align-items:center;gap:9px;padding:8px 14px 2px}
.sos-root .scw-seg{display:flex;gap:2px;margin-inline:auto;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:3px}
.sos-root .scw-seg button{background:none;border:none;color:var(--mute);font-size:11.5px;font-weight:700;padding:6px 14px;border-radius:999px;cursor:pointer}
.sos-root .scw-seg button.on{color:#0A0A0C;background:var(--lime);box-shadow:0 2px 10px -4px rgba(198,242,78,.6)}
.sos-root .scw-shift{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:10.5px;color:var(--ink-dim);white-space:nowrap}
.sos-root .scw-shift__dot{width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,var(--lime),var(--mint))}
.sos-root .scw-filters{display:flex;gap:6px;padding:8px 14px 4px;overflow-x:auto;scrollbar-width:none}
.sos-root .scw-filters::-webkit-scrollbar{display:none}
.sos-root .scw-filter{flex:0 0 auto;border:1px solid transparent;background:var(--card);color:var(--mute);padding:7px 14px;border-radius:999px;font-size:12px;font-weight:600;cursor:pointer;display:flex;gap:7px;align-items:center;white-space:nowrap}
.sos-root .scw-filter.on{background:var(--ink);color:var(--bg)}
.sos-root .scw-filter__c{font-size:10.5px;opacity:.7;font-family:var(--mono)}
.sos-root .scw-searchwrap{position:relative;padding:6px 14px 4px}
.sos-root .scw-searchbar{width:100%;height:38px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit;font-size:13px;padding:0 14px 0 34px}
.sos-root .scw-searchwrap__i{position:absolute;left:26px;top:50%;transform:translateY(-38%);color:var(--mute);font-size:13px;pointer-events:none}
.sos-root .scw-threads{padding-bottom:8px}
.sos-root .scw-thread{display:flex;gap:12px;align-items:center;width:100%;text-align:left;border:none;background:transparent;cursor:pointer;padding:10px 16px;border-bottom:1px solid var(--line-soft);position:relative;font:inherit;color:var(--ink)}
.sos-root .scw-thread:active{background:var(--card)}
.sos-root .scw-thread.unreplied::before{content:'';position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:2px;background:var(--lime)}
.sos-root .scw-thread--w30.unreplied::before{background:var(--amber)}
.sos-root .scw-thread--w120.unreplied::before{background:var(--red)}
.sos-root .scw-av{flex:0 0 auto;width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;color:#fff;position:relative}
.sos-root .scw-av__ring{position:absolute;inset:-3px;border-radius:50%;border:2px solid var(--lime);opacity:0}
.sos-root .scw-thread.unread .scw-av__ring{opacity:1}
.sos-root .scw-av__pres{position:absolute;right:-1px;bottom:-1px;width:12px;height:12px;border-radius:50%;border:2.5px solid var(--bg)}
.sos-root .scw-av__pres--wa{background:#25d366}.sos-root .scw-av__pres--ig{background:#e1306c}.sos-root .scw-av__pres--team{background:var(--blue)}
.sos-root .scw-thread__main{flex:1;min-width:0}
.sos-root .scw-thread__top{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.sos-root .scw-thread__name{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-dim)}
.sos-root .scw-thread.unread .scw-thread__name{color:var(--ink);font-weight:600}
.sos-root .scw-thread__time{font-size:10.5px;color:var(--mute);font-family:var(--mono);flex:0 0 auto}
.sos-root .scw-time--soon{color:var(--amber)}.sos-root .scw-time--late{color:var(--red)}
.sos-root .scw-thread__bot{display:flex;align-items:center;gap:8px;margin-top:3px}
.sos-root .scw-thread__prev{flex:1;min-width:0;font-size:12.5px;color:var(--mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sos-root .scw-thread__prev.muted{font-style:italic}
.sos-root .scw-waitchip{flex:0 0 auto;font-family:var(--mono);font-size:9px;font-weight:700;padding:2px 7px;border-radius:999px;color:var(--lime);background:rgba(198,242,78,.12)}
.sos-root .scw-waitchip--amber{color:var(--amber);background:rgba(242,162,76,.14)}
.sos-root .scw-waitchip--red{color:var(--red);background:rgba(240,99,90,.14)}
.sos-root .scw-unread{flex:0 0 auto;min-width:9px;height:9px;border-radius:999px;background:var(--lime)}
.sos-root .scw-unread--n{min-width:17px;height:17px;color:#0A0A0C;font-size:9.5px;font-weight:800;display:flex;align-items:center;justify-content:center;padding:0 4px}
.sos-root .scw-qchip{flex:0 0 auto;font-family:var(--mono);font-size:8.5px;font-weight:700;padding:2px 7px;border-radius:999px}
.sos-root .scw-thread--eon{background:linear-gradient(90deg,rgba(180,140,242,.07),transparent)}
.sos-root .scw-eonav{width:46px;height:46px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#2a2438,#15131c);border:1px solid rgba(180,140,242,.4);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:11px;font-weight:800;color:var(--vio);flex:none}
.sos-root .scw-eonpin{color:var(--vio)}
/* conversation pane */
/* Conversation overlay — pinned to the VIEWPORT (not the .phone box, which is
   min-height:100vh + padding-bottom:84px and grows with content; an
   absolute inset:0 there pushed the bottom-anchored composer below the fold →
   blank chat + missing text area on mobile). Mirrors the .tabbar/.rp/.sheet
   fixed-centered pattern; height:100dvh keeps the composer at the true bottom
   under a mobile URL bar; z-index:60 covers the tabbar (40). */
.sos-root .scw-conv{position:fixed;top:0;left:50%;transform:translateX(-50%);width:100%;max-width:390px;height:100dvh;background:var(--bg);z-index:60;display:none;flex-direction:column}
.sos-root .scw-conv.show{display:flex}
.sos-root .scw-conv__bar{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line-soft);position:sticky;top:0;background:rgba(10,10,12,.97);backdrop-filter:blur(10px);z-index:5}
.sos-root .scw-conv__back{display:flex;width:34px;height:34px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--ink-dim);align-items:center;justify-content:center;cursor:pointer;font-size:17px;flex:0 0 auto}
.sos-root .scw-conv__id{flex:1;min-width:0}
.sos-root .scw-conv__name{font-size:15px;font-weight:700;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sos-root .scw-conv__sub{display:flex;align-items:center;flex-wrap:wrap;gap:7px;font-size:10.5px;color:var(--mute);margin-top:3px}
.sos-root .scw-ch{font-family:var(--mono);font-size:9px;font-weight:700;padding:1px 7px;border-radius:999px}
.sos-root .scw-ch--wa{color:#25d366;background:rgba(37,211,102,.12)}
.sos-root .scw-ch--ig{color:#e1306c;background:rgba(225,48,108,.12)}
.sos-root .scw-ch--team{color:var(--blue);background:rgba(122,166,255,.12)}
.sos-root .scw-ch--eon{color:var(--vio);background:rgba(180,140,242,.12)}
.sos-root .scw-winbar{font-family:var(--mono);font-size:9px;color:var(--mint)}
.sos-root .scw-winbar--closing{color:var(--amber)}
.sos-root .scw-routebtn{flex:0 0 auto;border:1px solid var(--line);background:var(--card);color:var(--mute);border-radius:999px;height:30px;padding:0 11px;cursor:pointer;font-size:10.5px;font-weight:600;font-family:var(--mono)}
.sos-root .scw-routebtn.routed{color:var(--ink-dim);border-color:rgba(180,140,242,.45)}
.sos-root .scw-conv__360btn{flex:0 0 auto;border:1px solid var(--line);background:var(--card);color:var(--ink-dim);border-radius:999px;width:30px;height:30px;cursor:pointer;font-size:13px}
.sos-root .scw-script{flex:1;overflow-y:auto;padding:12px 12px 8px;display:flex;flex-direction:column;background:radial-gradient(120% 70% at 50% -10%,rgba(180,140,242,.05),transparent 60%)}
.sos-root .scw-daydiv{align-self:center;font-size:10.5px;color:var(--mute);background:var(--card);border:1px solid var(--line-soft);padding:3px 12px;border-radius:999px;margin:10px 0 6px;font-family:var(--mono)}
.sos-root .scw-sysnote{align-self:center;text-align:center;font-family:var(--mono);font-size:9.5px;color:var(--mute);margin:8px 0;letter-spacing:.04em;max-width:88%}
.sos-root .scw-row{display:flex;margin-top:8px;animation:sos-in .2s ease}
.sos-root .scw-row.out{justify-content:flex-end}
.sos-root .scw-bub{max-width:78%;padding:7px 11px 5px;border-radius:14px;font-size:13.5px;line-height:1.4;position:relative;overflow-wrap:anywhere}
.sos-root .scw-bub.in{background:var(--card2);border-top-left-radius:5px}
.sos-root .scw-bub.out{background:#12503a;color:#eafff2;border-top-right-radius:5px}
.sos-root .scw-bub--eon{background:linear-gradient(135deg,#1d1830,#16131f);border:1px solid rgba(180,140,242,.3)}
.sos-root .scw-bub__txt{white-space:pre-wrap}
.sos-root .scw-bub__t{font-size:9.5px;color:var(--mute);font-family:var(--mono);margin-top:4px;text-align:right}
.sos-root .scw-bub.out .scw-bub__t{color:rgba(234,255,242,.55)}
.sos-root .scw-tick{margin-left:3px;display:inline-flex;align-items:center;opacity:.85}
.sos-root .scw-tick.read{color:#7AA6FF;opacity:1}
.sos-root .scw-tick svg{width:13px;height:11px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sos-root .scw-prod{max-width:78%;background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-top:8px}
.sos-root .scw-prod__img{height:104px;background:linear-gradient(135deg,#23232b,#15151b);display:flex;align-items:center;justify-content:center;color:var(--mute);font-size:10.5px;letter-spacing:.1em;font-family:var(--mono)}
.sos-root .scw-prod__in{padding:9px 11px}
.sos-root .scw-prod__n{font-size:12.5px;font-weight:700}
.sos-root .scw-prod__p{font-family:var(--mono);font-size:12px;color:var(--lime);margin-top:2px}
.sos-root .scw-prod__s{font-size:10.5px;color:var(--mint);margin-top:2px}
.sos-root .scw-composer{flex:0 0 auto;border-top:1px solid var(--line-soft);background:rgba(10,10,12,.92);backdrop-filter:blur(10px);padding:8px 12px calc(10px + env(safe-area-inset-bottom));position:relative}
.sos-root .scw-tray{display:flex;gap:7px;padding:0 0 8px;overflow-x:auto;scrollbar-width:none}
.sos-root .scw-tray::-webkit-scrollbar{display:none}
.sos-root .scw-tray.collapsed{display:none}
.sos-root .scw-tool{flex:0 0 auto;display:flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--card);color:var(--ink-dim);border-radius:999px;padding:7px 13px;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;font-family:inherit}
.sos-root .scw-tool--ai{border-color:transparent;background:rgba(180,140,242,.14);color:#cdbcf0}
.sos-root .scw-inputbox{display:flex;align-items:flex-end;gap:4px;background:var(--card);border-radius:24px;padding:4px 5px}
.sos-root .scw-plus{flex:0 0 auto;width:34px;height:34px;border-radius:50%;border:none;background:transparent;color:var(--mute);font-size:19px;cursor:pointer}
.sos-root .scw-plus.on{color:var(--lime)}
.sos-root .scw-input{flex:1;min-width:0;resize:none;min-height:34px;max-height:120px;padding:7px 4px;border:none;background:transparent;color:var(--ink);font:inherit;font-size:14px}
.sos-root .scw-input:focus{outline:none}
.sos-root .scw-mic{flex:0 0 auto;width:34px;height:34px;border-radius:50%;border:none;background:transparent;color:var(--mute);cursor:pointer;font-size:14px}
.sos-root .scw-send{flex:0 0 auto;width:36px;height:36px;border-radius:50%;border:none;cursor:pointer;background:var(--lime);color:#0A0A0C;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800}
.sos-root .scw-send svg{width:16px;height:16px;stroke:#0A0A0C;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sos-root .scw-eonctx{margin:8px 12px 0;font-size:11px;color:var(--ink-dim);background:rgba(180,140,242,.08);border:1px solid rgba(180,140,242,.25);border-radius:11px;padding:7px 11px}
/* pulse (CS roles) */
.sos-root .scw-gauges{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sos-root .scw-gauge{background:var(--card2);border:1px solid var(--line);border-radius:13px;padding:11px;text-align:center}
.sos-root .scw-gauge b{font-family:var(--mono);font-size:18px;display:block}
.sos-root .scw-gauge span{font-size:9.5px;color:var(--mute);letter-spacing:.05em;text-transform:uppercase;font-family:var(--mono)}
.sos-root .scw-gauge.good b{color:var(--mint)}.sos-root .scw-gauge.hero b{color:var(--lime)}.sos-root .scw-gauge.warn b{color:var(--amber)}

/* ── TASKS ── */
.sos-root .tsec{font-family:var(--mono);font-size:10px;letter-spacing:.1em;margin:14px 18px 4px;display:flex;justify-content:space-between}
.sos-root .tsec.over{color:var(--red)}.sos-root .tsec.today{color:var(--lime)}.sos-root .tsec.up{color:var(--mute)}
.sos-root .task{display:flex;gap:11px;align-items:flex-start;padding:11px 16px;border-bottom:1px solid rgba(255,255,255,.045);cursor:pointer}
.sos-root .task:active{background:rgba(255,255,255,.02)}
.sos-root .tick{width:21px;height:21px;border-radius:7px;border:1.5px solid var(--mute);flex:none;margin-top:1px;display:flex;align-items:center;justify-content:center;font-size:12px}
.sos-root .task.done .tick{background:var(--mint);border-color:var(--mint);color:#0A0A0C;font-weight:800}
.sos-root .tick svg{width:12px;height:12px;stroke:#0A0A0C;fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.sos-root .task.done .tt{text-decoration:line-through;color:var(--mute)}
.sos-root .task .tt{font-size:13px;font-weight:600}
.sos-root .task .ts{font-size:11px;color:var(--mute);margin-top:2px}
.sos-root .task .ts .tsfrom{color:var(--blue)}
.sos-root .task .tp{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--lime);flex:none}
.sos-root .task .trec{font-family:var(--mono);font-size:8.5px;color:var(--vio);border:1px solid rgba(180,140,242,.3);border-radius:999px;padding:1px 6px;margin-left:6px}
.sos-root .assignbtn{margin:10px 14px 0;width:calc(100% - 28px);background:rgba(122,166,255,.1);border:1px solid rgba(122,166,255,.35);color:var(--blue);font-size:12.5px;font-weight:700;padding:11px;border-radius:13px;cursor:pointer}
/* sheets */
.sos-root .sheet{position:fixed;inset:0;z-index:55;background:rgba(0,0,0,.55);display:none}
.sos-root .sheet.on{display:block}
.sos-root .sheet .pane{position:absolute;left:50%;transform:translateX(-50%);width:100%;max-width:390px;bottom:0;background:var(--card);border-radius:22px 22px 0 0;border-top:1px solid var(--line);padding:16px 16px 40px;max-height:86vh;overflow-y:auto;animation:sos-up2 .25s ease}
@keyframes sos-up2{from{transform:translate(-50%,40px);opacity:.5}to{transform:translate(-50%,0);opacity:1}}
.sos-root .sheet .grab{width:40px;height:4px;border-radius:99px;background:var(--line);margin:0 auto 13px}
.sos-root .sheet h3{font-size:16px}
.sos-root .sla{display:flex;align-items:center;gap:10px;margin:11px 0}
.sos-root .sla .bar{flex:1;margin:0}
.sos-root .subt{display:flex;gap:9px;align-items:center;padding:8px 0;border-bottom:1px dashed rgba(255,255,255,.06);font-size:12.5px}
.sos-root .subt:last-child{border:none}
.sos-root .tmeta{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.sos-root .tmeta .tm1{flex:1;min-width:45%;background:var(--card2);border:1px solid var(--line);border-radius:11px;padding:8px 10px}
.sos-root .tmeta .tm1 span{font-size:9px;font-family:var(--mono);letter-spacing:.08em;color:var(--mute);text-transform:uppercase;display:block}
.sos-root .tmeta .tm1 b{font-size:11.5px;display:block;margin-top:2px}
.sos-root .askeon{background:linear-gradient(135deg,rgba(86,227,159,.07),rgba(198,242,78,.05));border:1px solid rgba(86,227,159,.25);border-radius:14px;padding:11px;margin-top:13px}
.sos-root .askeon .lbl{font-size:11px;font-weight:800;color:var(--mint);letter-spacing:.06em}
.sos-root .askeon input{width:100%;background:var(--card2);border:1px solid var(--line);border-radius:11px;color:var(--ink);padding:9px 12px;font:inherit;font-size:12.5px;margin-top:8px}
.sos-root .askeon .ans{font-size:12.5px;margin-top:9px;color:var(--ink-dim)}
.sos-root .askeon .ans b{color:var(--mint)}
.sos-root .bigdone{width:100%;margin-top:14px;background:var(--lime);border:none;color:#0A0A0C;font-weight:800;font-size:14px;padding:13px;border-radius:13px;cursor:pointer}
.sos-root .scw-sheet__h{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.sos-root .scw-sheet__t{font-size:16px;font-weight:800}
.sos-root .scw-x{background:none;border:none;color:var(--mute);font-size:19px;cursor:pointer}
.sos-root .scw-confirm{width:100%;margin-top:12px;background:var(--lime);border:none;color:#0A0A0C;font-weight:800;font-size:13.5px;padding:13px;border-radius:13px;cursor:pointer}
/* assign flow */
.sos-root .as-staff{display:flex;gap:7px;flex-wrap:wrap;margin:8px 0 4px}
.sos-root .as-p{display:flex;align-items:center;gap:7px;background:var(--card2);border:1px solid var(--line);border-radius:999px;padding:5px 12px 5px 5px;cursor:pointer;font-size:11.5px;font-weight:700}
.sos-root .as-p .rav{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:8.5px;color:#0A0A0C}
.sos-root .as-p.on{border-color:rgba(198,242,78,.55);background:rgba(198,242,78,.1);color:var(--lime)}
.sos-root .as-row{display:flex;gap:7px;flex-wrap:wrap;margin:8px 0 4px}
.sos-root .as-c{background:var(--card2);border:1px solid var(--line);border-radius:999px;padding:7px 13px;font-size:11.5px;font-weight:700;cursor:pointer}
.sos-root .as-c.on{border-color:rgba(198,242,78,.55);background:rgba(198,242,78,.1);color:var(--lime)}
.sos-root .as-lbl{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;color:var(--mute);text-transform:uppercase;margin-top:12px}

/* ── SCORE ── */
.sos-root .lvl{display:flex;align-items:center;gap:13px}
.sos-root .lvl .badge{width:58px;height:58px;border-radius:17px;background:linear-gradient(135deg,#2a3310,#121216);border:1px solid rgba(198,242,78,.5);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:17px;font-weight:800;color:var(--lime)}
.sos-root .lvl .t b{display:block;font-size:15px}.sos-root .lvl .t span{font-size:10.5px;color:var(--mute)}
.sos-root .xp{height:9px;border-radius:999px;background:rgba(255,255,255,.07);margin-top:8px;overflow:hidden}
.sos-root .xp i{display:block;height:100%;background:linear-gradient(90deg,var(--lime),var(--mint))}
.sos-root .ledg .l{display:flex;justify-content:space-between;font-size:12.5px;padding:7px 0;border-bottom:1px dashed rgba(255,255,255,.06)}
.sos-root .ledg .l:last-child{border:none}
.sos-root .ledg .l b{font-family:var(--mono);color:var(--lime)}
.sos-root .wkdots{display:flex;gap:6px;margin-top:9px}
.sos-root .wkd{flex:1;text-align:center}
.sos-root .wkd .d{width:24px;height:24px;border-radius:8px;background:var(--card2);border:1px solid var(--line);margin:0 auto;display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--mute)}
.sos-root .wkd.hit .d{background:rgba(198,242,78,.16);border-color:rgba(198,242,78,.5);color:var(--lime);font-weight:800}
.sos-root .wkd .d svg{width:11px;height:11px;stroke:var(--lime);fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.sos-root .wkd span{font-size:8px;font-family:var(--mono);color:var(--mute);display:block;margin-top:3px}
.sos-root .badges{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.sos-root .bdgx{background:var(--card2);border:1px solid var(--line);border-radius:13px;padding:10px;display:flex;gap:9px;align-items:center}
.sos-root .bdgx.lock{opacity:.35}
.sos-root .bdgx .bm{width:30px;height:30px;border-radius:9px;flex:none;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:12px;font-weight:800;color:#0A0A0C}
.sos-root .bdgx .bl{font-size:9.5px;font-family:var(--mono);letter-spacing:.04em;color:var(--ink-dim);line-height:1.3}
.sos-root .lead .row{display:flex;align-items:center;gap:11px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05)}
.sos-root .lead .row:last-child{border:none}
.sos-root .lead .rk{font-family:var(--mono);font-size:12px;color:var(--mute);width:16px}
.sos-root .lead .av2{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:11px;color:#0A0A0C;flex:none}
.sos-root .lead .nm2{font-size:13px;font-weight:600}.sos-root .lead .st2{font-size:10.5px;color:var(--mute)}
.sos-root .lead .pt2{margin-left:auto;font-family:var(--mono);font-size:12.5px;color:var(--lime)}
.sos-root .lead .row.me{background:linear-gradient(90deg,rgba(198,242,78,.07),transparent);border-radius:10px;padding:8px}
.sos-root .bonus{display:flex;align-items:center;gap:13px}
.sos-root .bonus b{font-family:var(--mono);font-size:21px;color:var(--mint);display:block}
.sos-root .bonus span{font-size:10.5px;color:var(--mute)}
.sos-root .earn .l{display:flex;justify-content:space-between;font-size:12px;padding:6px 0;border-bottom:1px dashed rgba(255,255,255,.06);color:var(--ink-dim)}
.sos-root .earn .l:last-child{border:none}
.sos-root .earn .l b{font-family:var(--mono);color:var(--lime);flex:none;margin-left:10px}

/* ── TEAM (managers) ── */
.sos-root .tm-rep{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.05);cursor:pointer}
.sos-root .tm-rep:last-child{border:none}
.sos-root .tm-rep .rav{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:11px;color:#0A0A0C;flex:none}
.sos-root .tm-rep .rx{flex:1;min-width:0}
.sos-root .tm-rep .rn{font-size:12.5px;font-weight:700;display:flex;align-items:center;gap:7px}
.sos-root .tm-rep .rs{font-size:10px;color:var(--mute);font-family:var(--mono);margin-top:1px}
.sos-root .tm-rep .rv{text-align:right;flex:none}
.sos-root .tm-rep .rv b{font-family:var(--mono);font-size:12.5px;display:block}
.sos-root .tm-rep .rv span{font-size:9px;color:var(--mute);font-family:var(--mono)}
.sos-root .tm-grp{font-family:var(--mono);font-size:9px;letter-spacing:.12em;color:var(--mute);text-transform:uppercase;padding:9px 0 2px;display:flex;justify-content:space-between}
.sos-root .exc{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px dashed rgba(255,255,255,.06)}
.sos-root .exc:last-child{border:none}
.sos-root .exc .ed{width:8px;height:8px;border-radius:50%;flex:none;margin-top:5px}
.sos-root .exc .et{font-size:12px;color:var(--ink-dim);flex:1}
.sos-root .exc .et b{color:var(--ink)}

/* ── loading / empty / error states (NOT in the mockup; honest fallbacks
      per the contract's DATA HONESTY rule — never blank) ── */
.sos-root .sos-loading,.sos-root .sos-empty,.sos-root .sos-error{padding:40px 24px;text-align:center;color:var(--mute);font-size:12.5px;line-height:1.6}
.sos-root .sos-error b{color:var(--red)}

/* ── B3 ATTENDANCE check-in (Day, top) — mirrors the "geo-verified" chk ── */
.sos-root .sos-att{padding:13px}
.sos-root .sos-att .att-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}
.sos-root .att-tag{font-family:var(--mono);font-size:9px;letter-spacing:.14em;color:var(--mute)}
.sos-root .att-pts{font-family:var(--mono);font-size:11px;color:#0A0A0C;background:var(--lime);border-radius:999px;padding:2px 9px;font-weight:800}
.sos-root .att-state{display:flex;align-items:center;gap:11px}
.sos-root .att-state .att-ic{width:34px;height:34px;border-radius:11px;flex:none;display:flex;align-items:center;justify-content:center}
.sos-root .att-state .att-ic svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sos-root .att-state b{display:block;font-size:13.5px;font-weight:700}
.sos-root .att-state span{display:block;font-size:10.5px;color:var(--mute);margin-top:1px}
.sos-root .att-state.ok .att-ic{background:rgba(86,227,159,.14);color:var(--mint)}
.sos-root .att-state.ok b{color:var(--mint)}
.sos-root .att-state.soft .att-ic{background:rgba(242,162,76,.14);color:var(--amber)}
.sos-root .att-state.soft b{color:var(--amber)}
.sos-root .att-state.bad .att-ic{background:rgba(240,99,90,.13);color:var(--red)}
.sos-root .att-state.bad b{color:var(--red)}
.sos-root .att-state.off .att-ic{background:rgba(255,255,255,.06);color:var(--mute)}
.sos-root .att-live{width:9px;height:9px;border-radius:50%;background:var(--mint);margin-left:auto;flex:none;box-shadow:0 0 0 0 rgba(86,227,159,.6);animation:sos-pulse 1.6s infinite}
@keyframes sos-pulse{0%{box-shadow:0 0 0 0 rgba(86,227,159,.5)}70%{box-shadow:0 0 0 7px rgba(86,227,159,0)}100%{box-shadow:0 0 0 0 rgba(86,227,159,0)}}
.sos-root .att-cta{display:flex;align-items:center;gap:12px}
.sos-root .att-btn{display:flex;align-items:center;gap:7px;border:none;cursor:pointer;font-weight:800;font-size:13px;color:#0A0A0C;background:linear-gradient(135deg,var(--lime),var(--mint));border-radius:12px;padding:10px 16px;flex:none}
.sos-root .att-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sos-root .att-btn.busy{opacity:.6;cursor:default}
.sos-root .att-meta b{display:block;font-size:12.5px;font-weight:700}
.sos-root .att-meta span{display:block;font-size:10px;color:var(--mute);margin-top:1px}
.sos-root .att-pin{margin-top:11px;padding-top:10px;border-top:1px dashed rgba(255,255,255,.07)}
.sos-root .att-pin button{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.05);border:1px solid var(--line);color:var(--ink-dim);border-radius:9px;padding:6px 11px;font-size:11.5px;cursor:pointer}
.sos-root .att-pin button svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sos-root .att-pin span{display:block;font-size:10px;color:var(--mute);margin-top:5px}

/* ── B2 BONUS POOL LIVE (Score) ── */
.sos-root .sos-bonus .bonus b.bonus-num{font-family:var(--mono);font-size:23px;color:var(--mint);display:block;letter-spacing:-.01em}
.sos-root .bonus-rate{font-size:11px;color:var(--mute);margin-top:9px}
.sos-root .bonus-rate b{font-family:var(--mono);color:var(--lime)}
.sos-root .bonus-spark{margin-top:12px}
.sos-root .bonus-spark .sp-row{display:flex;align-items:flex-end;gap:3px;height:38px}
.sos-root .bonus-spark .sp-b{flex:1;min-width:3px;border-radius:3px 3px 0 0;background:linear-gradient(180deg,var(--lime),var(--mint));opacity:.85;transition:height .4s ease}
.sos-root .bonus-spark .sp-lbl{font-family:var(--mono);font-size:9px;letter-spacing:.1em;color:var(--mute);text-transform:uppercase;margin-top:5px}
.sos-root .bonus-earn{margin-top:12px;padding-top:10px;border-top:1px dashed rgba(255,255,255,.07)}
.sos-root .bonus-earn .be-h{font-family:var(--mono);font-size:9px;letter-spacing:.12em;color:var(--mute);text-transform:uppercase;margin-bottom:6px}
.sos-root .bonus-earn .be-r{display:flex;justify-content:space-between;align-items:center;font-size:12px;padding:5px 0;color:var(--ink-dim)}
.sos-root .bonus-earn .be-r b{font-family:var(--mono);color:var(--lime);flex:none;margin-left:10px}

/* ════════════════════════════════════════════════════════════════════
   PR-F #1 — CS FULL-PAGE EMBED. When a CS rep taps Chat, sosRenderChat
   mounts the production CS inbox (cs.css .csw-shell, position:fixed z-60)
   and adds .sos-csfull to #sos-root. Daniel 2026-06-16 (round 3): the chat
   must be a TRUE FULL PAGE with NO bottom footer — the footer was the
   problem (it stacked under the CS composer/queue pills and read as broken).
   So in csfull mode:
     - hide the duplicate CRUX·EON header (the inbox IS the surface now);
     - HIDE the bottom tabbar entirely (the footer is the problem) — the
       ONLY way out is the top-left back chevron, which sosRenderChat rewires
       to sosSwitchTab('day') = back home (footer returns there);
     - lift the 390px phone cap to full-width (edge-to-edge inbox);
     - DON'T override the csw-shell box at all — let cs.css own positioning
       (top:vv-offset-top, height:app-height) apply verbatim so it fills the
       viewport AND tracks the mobile keyboard exactly like standalone /cs.
   When a thread is open, cs.css :has(.has-active) already full-screens the
   conversation — we don't touch that. */
.sos-root.sos-csfull .top{ display:none; }
.sos-root.sos-csfull .tabbar{ display:none; }
.sos-root.sos-csfull .phone{ max-width:none; border-left:none; border-right:none; }
/* Scoped roles (store rep, logistics…) see ONLY their routed queue — hide the
   queue switcher + the re-route control so they can't browse other queues.
   CS lead/agent + owner/ops have no lock and keep the full switcher. */
.sos-root.sos-qlock .csw-queues{ display:none; }
.sos-root.sos-qlock #csw-routebtn{ display:none; }

/* ── PR-F #3 — Patrick inline route map (run block) ──────────────── */
.sos-root .sos-map{position:relative;margin:10px 14px;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:var(--card);height:46vh;min-height:240px}
.sos-root .sos-map__f{width:100%;height:100%;border:0;display:block;background:#050507}
.sos-root .sos-map__full{position:absolute;right:12px;bottom:12px;background:rgba(10,10,12,.86);backdrop-filter:blur(8px);border:1px solid rgba(198,242,78,.45);color:var(--lime);font-size:11.5px;font-weight:700;padding:8px 13px;border-radius:999px;cursor:pointer}
.sos-root .sos-map__full:active{transform:scale(.97)}

/* ── PR-F #2 — trackingsend block (Leke/Patrick Day) ────────────── */
.sos-root .sos-trk{padding:0}
.sos-root .sos-trk__head{display:flex;align-items:center;justify-content:space-between;padding:13px 13px 9px;border-bottom:1px solid var(--line-soft)}
.sos-root .sos-trk__head span:first-child{font-size:12px;color:var(--ink-dim)}
.sos-root .sos-trk__empty{padding:18px 13px;text-align:center;font-size:11.5px;color:var(--mute)}
.sos-root .sos-trk__row{display:flex;align-items:center;gap:10px;padding:11px 13px;border-bottom:1px dashed rgba(255,255,255,.06);cursor:pointer}
.sos-root .sos-trk__row:last-child{border-bottom:none}
.sos-root .sos-trk__row:active{background:rgba(255,255,255,.03)}
.sos-root .sos-trk__row.late{box-shadow:inset 3px 0 0 var(--amber)}
.sos-root .sos-trk__main{flex:1;min-width:0}
.sos-root .sos-trk__o{font-size:12.5px;font-weight:700}
.sos-root .sos-trk__sub{font-size:10.5px;color:var(--mute);font-family:var(--mono);margin-top:2px}
.sos-root .sos-trk__chev{color:var(--mute);font-size:16px;flex:none}
/* tracking sheet (reuses #sos-sheet .pane) */
.sos-root .sos-trk-sheet__o{margin:6px 0 4px}
.sos-root .sos-trk-sheet__o b{font-size:14px;display:block}
.sos-root .sos-trk-sheet__o span{font-size:11px;color:var(--mute)}
.sos-root .sos-trk-seg{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 2px}
.sos-root .sos-trk-seg__b{background:var(--card2);border:1px solid var(--line);border-radius:999px;padding:7px 13px;font-size:11.5px;font-weight:700;color:var(--ink-dim);cursor:pointer}
.sos-root .sos-trk-seg__b.on{border-color:rgba(198,242,78,.55);background:rgba(198,242,78,.1);color:var(--lime)}
.sos-root .sos-trk-input{width:100%;background:var(--card2);border:1px solid var(--line);border-radius:11px;color:var(--ink);padding:11px 13px;font:inherit;font-size:13px;margin-top:8px}
.sos-root .sos-trk-input:focus{outline:none;border-color:rgba(198,242,78,.5)}
.sos-root .sos-trk-prev{background:linear-gradient(135deg,rgba(86,227,159,.06),rgba(198,242,78,.04));border:1px solid rgba(86,227,159,.22);border-radius:12px;padding:11px 13px;font-size:12px;color:var(--ink-dim);line-height:1.45;margin-top:8px}
.sos-root .sos-trk-result{margin-top:11px}
.sos-root .sos-trk-chip{font-size:11.5px;line-height:1.4;border-radius:11px;padding:9px 12px}
.sos-root .sos-trk-chip.warn{background:rgba(242,162,76,.12);border:1px solid rgba(242,162,76,.32);color:var(--amber)}
.sos-root .sos-trk-copy{margin-top:9px;width:100%;background:var(--card2);border:1px solid var(--line);color:var(--ink-dim);font-weight:700;font-size:12.5px;padding:10px;border-radius:11px;cursor:pointer}

/* assign-a-task sheet (reuses #sos-sheet .pane) */
.sos-root .sos-as-in{width:100%;background:var(--card2);border:1px solid var(--line);border-radius:11px;color:var(--ink);padding:10px 12px;font:inherit;font-size:13px;margin-top:6px;-webkit-appearance:none;appearance:none}
.sos-root textarea.sos-as-in{resize:vertical;min-height:40px}
.sos-root .sos-as-in:focus{outline:none;border-color:rgba(198,242,78,.5)}
.sos-root .sos-as-row{display:flex;gap:10px}
.sos-root .sos-as-col{flex:1;min-width:0}

/* ── PR-F #4 — Team @-mention chat (scoped replica + CS pinned row) ── */
.sos-root .scw-teamsec{margin:0 0 4px}
.sos-root .scw-teamsec__h{display:flex;align-items:center;justify-content:space-between;padding:10px 16px 6px}
.sos-root .scw-teamsec__h span{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;color:var(--mute);text-transform:uppercase}
.sos-root .scw-teamsec__new{background:rgba(86,227,159,.1);border:1px solid rgba(86,227,159,.3);color:var(--mint);font-size:11px;font-weight:700;border-radius:999px;padding:4px 11px;cursor:pointer}
.sos-root .scw-teamsec__empty{font-size:10.5px;color:var(--mute);padding:4px 16px 10px}
.sos-root .scw-thread--team .scw-thread__name{color:var(--ink)}
.sos-root .scw-thread--team.unread{background:linear-gradient(90deg,rgba(86,227,159,.08),transparent)}
/* @-typeahead dropdown */
.sos-root .scw-mention{position:absolute;left:10px;right:10px;bottom:58px;z-index:6;background:var(--card);border:1px solid var(--line);border-radius:13px;overflow:hidden;box-shadow:0 12px 32px -10px rgba(0,0,0,.7);max-height:230px;overflow-y:auto}
.sos-root .scw-mention__r{display:flex;align-items:center;gap:9px;width:100%;background:none;border:none;border-bottom:1px solid var(--line-soft);color:var(--ink);padding:9px 12px;cursor:pointer;text-align:left}
.sos-root .scw-mention__r:last-child{border-bottom:none}
.sos-root .scw-mention__r:active{background:rgba(255,255,255,.04)}
.sos-root .scw-mention__r .rav{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:9.5px;color:#0A0A0C;flex:none}
.sos-root .scw-mention__n{font-size:12.5px;font-weight:600}
.sos-root .scw-mention__role{margin-left:auto;font-size:10px;color:var(--mute);font-family:var(--mono)}

/* ── Shift requests (off-day / leave / swap), PR3 ──────────────── */
.sos-root .sos-req-bal{font-family:var(--mono);font-size:9.5px;letter-spacing:.04em;color:var(--lime);background:rgba(198,242,78,.1);border:1px solid rgba(198,242,78,.26);border-radius:999px;padding:3px 9px}
.sos-root .sos-req-empty{font-size:11px;color:var(--mute);padding:4px 2px 2px;line-height:1.5}
.sos-root .sos-req-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line-soft)}
.sos-root .sos-req-row:first-of-type{border-top:none}
.sos-root .sos-req-meta{flex:1;min-width:0}
.sos-root .sos-req-meta b{display:block;font-size:12.5px;font-weight:700}
.sos-root .sos-req-meta span{display:block;font-size:10.5px;color:var(--mute);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sos-root .sos-req-badge{flex:none;font-family:var(--mono);font-size:9px;letter-spacing:.04em;padding:3px 8px;border-radius:999px;background:rgba(255,255,255,.06);color:var(--mute)}
.sos-root .sos-req-badge.ok{color:var(--mint);background:rgba(86,227,159,.13)}
.sos-root .sos-req-badge.soft{color:var(--amber);background:rgba(242,162,76,.13)}
.sos-root .sos-req-badge.bad{color:var(--red);background:rgba(240,99,90,.12)}
.sos-root .sos-req-x{flex:none;background:none;border:none;color:var(--mute);font-size:18px;line-height:1;cursor:pointer;padding:0 2px}
.sos-root .sos-req-acts{flex:none;display:flex;gap:6px}
.sos-root .sos-req-ok,.sos-root .sos-req-no{font-size:11px;font-weight:700;border-radius:9px;padding:6px 11px;cursor:pointer;border:1px solid var(--line)}
.sos-root .sos-req-ok{background:var(--lime);color:#0A0A0C;border-color:var(--lime)}
.sos-root .sos-req-no{background:transparent;color:var(--ink-dim)}
.sos-root .sos-req-row--peer{background:rgba(122,166,255,.06);border-radius:12px;padding:10px;border:1px solid rgba(122,166,255,.2);margin-bottom:6px}
.sos-root .sos-req-new{width:100%;margin-top:11px;background:var(--card2);border:1px solid var(--line);color:var(--ink);font-size:12.5px;font-weight:700;padding:11px;border-radius:12px;cursor:pointer}
.sos-root .sos-req-new:active{transform:scale(.99)}
/* request sheet */
.sos-root .sos-req-tabs{display:flex;gap:6px;margin:4px 0 14px}
.sos-root .sos-req-tab{flex:1;background:var(--card2);border:1px solid var(--line);color:var(--mute);font-size:12px;font-weight:700;padding:9px 0;border-radius:10px;cursor:pointer}
.sos-root .sos-req-tab.on{background:rgba(198,242,78,.12);border-color:rgba(198,242,78,.4);color:var(--lime)}
.sos-root .sos-req-l{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin:12px 0 5px}
.sos-root .sos-req-in{width:100%;background:var(--card2);border:1px solid var(--line);color:var(--ink);font-size:13px;padding:10px 11px;border-radius:10px;font-family:inherit;-webkit-appearance:none}
.sos-root .sos-req-in:focus{outline:none;border-color:rgba(198,242,78,.5)}
.sos-root .sos-req-2{display:flex;gap:10px}.sos-root .sos-req-2>div{flex:1}

/* ── Store-rep merchandising panel ── */
.sos-merch__row{ display:flex; justify-content:space-between; align-items:center; gap:10px; padding:5px 0; border-bottom:1px solid var(--line-soft,rgba(255,255,255,.06)); font-size:13px; }
.sos-merch__row span{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sos-merch__dead{ display:flex; justify-content:space-between; align-items:center; gap:10px; padding:7px 0; border-bottom:1px solid var(--line-soft,rgba(255,255,255,.06)); font-size:13px; }
.sos-merch__dead .qa{ flex:0 0 auto; }
.sos-merch__acts{ display:flex; gap:6px; flex:0 0 auto; flex-wrap:wrap; justify-content:flex-end; }
.sos-merch__store{ font-size:12px; padding:3px 6px; border-radius:6px; border:1px solid var(--line-soft,rgba(255,255,255,.12)); background:var(--card-soft,rgba(255,255,255,.04)); color:var(--ink,inherit); max-width:140px; }

/* ── Performance OS: EON-vs-reps scoreboard ── */
.sos-perf__verdict{ padding:8px 10px; border-radius:8px; background:var(--card-soft,rgba(255,255,255,.04)); margin-bottom:8px; }
.sos-perf__verdict.good b{ color:var(--good,#34d399); }
.sos-perf__verdict.bad b{ color:var(--bad,#f87171); }
.sos-perf__row{ display:flex; align-items:center; gap:8px; padding:6px 0; border-bottom:1px solid var(--line-soft,rgba(255,255,255,.06)); font-size:13px; }
.sos-perf__row.is-eon{ background:var(--card-soft,rgba(125,211,160,.06)); border-radius:6px; padding:6px 6px; }
.sos-perf__rk{ flex:0 0 22px; text-align:center; opacity:.6; }
.sos-perf__nm{ flex:1 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sos-perf__mt{ flex:0 0 auto; opacity:.85; }
.sos-perf .good{ color:var(--good,#34d399); }
.sos-perf .bad{ color:var(--bad,#f87171); }
