:root{
  --navy:#0B1F3A; --sea:#6D4AFF; --sea-hover:#5B3AE6; --foam:#A995FF; --sand:#F4F7FB; --brass:#E0A100; --lime:#C6F432;
  --ink:#14233B; --muted:#5B6B85; --line:#D9E0EC; --line-soft:#E6EBF4; --card:#FFFFFF; --surface:#FFFFFF; --danger:#B3261E;
  --hover:#F0F3FA; --detail:#F7F9FD; --code-bg:#EEF1F8; --chip-bg:#E6EBF4; --chip-fg:#3A4960; --bubble-us:#E6EBF4;
  --ok-bg:#DCEFE2; --ok-fg:#14532D; --ok-line:#B8D8C4; --warn-bg:#FBF1D2; --warn-fg:#6F5300; --bad-bg:#FBECEB; --bad-fg:#8A1C14; --info-bg:#E8EEFB; --info-fg:#23407A;
  --topbar-bg:#FFFFFF; --topbar-ink:#0B1F3A; --topbar-muted:#5B6B85; --topbar-active-bg:rgba(109,74,255,.12); --topbar-active-ink:#5B3AE6; --topbar-line:#D9E0EC;
  --radius:12px; color-scheme:light;
}
:root[data-theme="dark"]{
  --navy:#EDF0FA; --sea:#7C5CFF; --sea-hover:#8E72FF; --foam:#7C63E6; --sand:#0A0F1E; --brass:#E0A100; --lime:#C6F432;
  --ink:#E4E9F5; --muted:#97A3BF; --line:#2A3452; --line-soft:#212A45; --card:#131A30; --surface:#0F1528; --danger:#F0766D;
  --hover:#1A2342; --detail:#0F1528; --code-bg:#1B2440; --chip-bg:#243051; --chip-fg:#C9D3EA; --bubble-us:#212B4A;
  --ok-bg:#12342A; --ok-fg:#8FE0B0; --ok-line:#2C6B52; --warn-bg:#3A2F0B; --warn-fg:#F2D57A; --bad-bg:#3C1816; --bad-fg:#FFB3AC; --info-bg:#1B2A52; --info-fg:#B9CCFF;
  --topbar-bg:#0E1428; --topbar-ink:#F4F7FB; --topbar-muted:#A5B1CC; --topbar-active-bg:rgba(139,107,255,.22); --topbar-active-ink:#FFFFFF; --topbar-line:#26304D;
  color-scheme:dark;
}
*{box-sizing:border-box}
body{margin:0;background:var(--sand);color:var(--ink);font:15px/1.5 Inter,system-ui,sans-serif}
[hidden]{display:none!important}
h1,h2{font-family:Fraunces,Georgia,serif;color:var(--navy);margin:0}
h1{font-size:1.5rem} h2{font-size:1.15rem}
.topbar{display:flex;align-items:center;gap:24px;padding:10px 24px;background:var(--topbar-bg);color:var(--topbar-ink);border-bottom:1px solid var(--topbar-line)}
.brand{display:flex;align-items:center;color:var(--topbar-ink);text-decoration:none}
.brand img{display:block;height:54px;width:auto}
.logo-dark{display:none!important}
:root[data-theme="dark"] .logo-dark{display:block!important}
:root[data-theme="dark"] .logo-light{display:none!important}
.brand{margin-right:auto}
.co-logo{max-height:40px;max-width:180px;object-fit:contain;margin-left:-12px;padding-left:16px;border-left:1px solid var(--topbar-line)}
.logo-prev{display:block;max-height:60px;max-width:260px;margin:6px 0 8px;object-fit:contain;background:var(--detail);border:1px solid var(--line);border-radius:8px;padding:6px}
.who{margin-left:0;display:flex;align-items:center;gap:10px;color:var(--topbar-muted);font-size:13px}
.menu-btn{display:none}
/* Left menu: grouped links, sticky beside the page */
.shell{display:flex;align-items:flex-start}
.content{flex:1;min-width:0}
.side{width:236px;flex:none;position:sticky;top:0;max-height:100vh;overflow-y:auto;padding:14px 12px 28px;background:var(--topbar-bg);border-right:1px solid var(--topbar-line);align-self:stretch}
#nav{display:block}
#nav .nav-h{margin:12px 10px 3px;font:600 11px Inter,sans-serif;text-transform:uppercase;letter-spacing:.07em;color:var(--topbar-muted)}
#nav .nav-h:first-child{margin-top:4px}
#nav a{display:block;color:var(--topbar-muted);text-decoration:none;padding:5px 12px;border-radius:8px;font-weight:500;font-size:14px}
#nav a.active,#nav a:hover{background:var(--topbar-active-bg);color:var(--topbar-active-ink)}
#nav a.active{font-weight:600}
#nav .nav-row{display:flex;align-items:center;gap:2px}
#nav .nav-row a{flex:1;min-width:0}
#nav .nav-caret{flex:none;width:28px;height:28px;border:0;border-radius:8px;background:transparent;color:var(--topbar-muted);font-size:18px;line-height:1;cursor:pointer;transition:transform .15s}
#nav .nav-caret:hover{background:var(--topbar-active-bg);color:var(--topbar-active-ink)}
#nav .nav-caret:focus-visible{outline:2px solid var(--sea,#6D4AFF);outline-offset:-2px}
#nav .nav-item.open .nav-caret{transform:rotate(90deg)}
#nav .nav-sub{margin:2px 0 4px 14px;padding-left:8px;border-left:1px solid var(--topbar-muted)}
#nav .nav-sub a{padding:4px 10px;font-size:13px}
.banner{background:var(--brass);color:#2a1d05;text-align:center;padding:6px 16px;font-size:13px;font-weight:500}
main{max-width:1200px;margin:0 auto;padding:24px 16px 64px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:0 1px 2px rgba(11,37,69,.05)}
label{display:block;font-weight:500;font-size:13px;color:var(--navy);margin-bottom:14px}
input,textarea,select{display:block;width:100%;margin-top:5px;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font:inherit;color:var(--ink)}
input:focus,textarea:focus,select:focus{outline:2px solid var(--foam);border-color:var(--sea)}
textarea{resize:vertical}
.money{position:relative}
.money span{position:absolute;left:11px;top:50%;transform:translateY(-35%);color:var(--muted)}
.money input{padding-left:24px}
.check{display:flex;align-items:center;gap:10px;margin:0;font-size:14px;cursor:pointer}
.check input{width:18px;height:18px;margin:0;accent-color:var(--sea)}
fieldset{border:1px solid var(--line);border-radius:10px;padding:12px;margin:0 0 14px}
legend{font-weight:600;color:var(--navy);padding:0 6px}
.muted{color:var(--muted);font-weight:400;font-size:13px}
.btn{border:1px solid var(--line);background:var(--surface);color:var(--navy);padding:9px 16px;border-radius:8px;font:600 14px Inter,sans-serif;cursor:pointer}
.btn:hover{border-color:var(--sea)}
.btn.primary{background:var(--sea);border-color:var(--sea);color:#fff}
.btn.primary:hover{background:var(--sea-hover)}
.btn.ghost{background:transparent}
.btn.sm{padding:5px 11px;font-size:13px}
.topbar .btn.ghost{color:var(--topbar-ink);border-color:var(--line)}
.btn:disabled{opacity:.45;cursor:not-allowed}
.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.status{font-size:13px;color:var(--sea);font-weight:500}
.status.err,.error{color:var(--danger)}
.card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}
.error-banner{background:var(--danger);color:#fff}
.loading{text-align:center;color:var(--muted);padding:60px 0}
.login{max-width:380px;margin:60px auto}
.login h1{margin-bottom:16px}
.page-head{margin-bottom:16px}
.page-head p{margin:4px 0 0}
code{background:var(--code-bg);padding:1px 5px;border-radius:4px}
@media (max-width:860px){.topbar{flex-wrap:wrap;gap:8px 16px;padding:10px 16px}.menu-btn:not([hidden]){display:inline-block}.shell{display:block}.side{display:none;position:static;width:auto;max-height:none;border-right:0;border-bottom:1px solid var(--topbar-line)}.side.open{display:block}.who{margin-left:auto}}

/* ---------- AI SMS demo ---------- */
.sd{display:grid;gap:16px}
.sd-bar{display:flex;gap:18px;align-items:end;flex-wrap:wrap}
.sd-bar label{margin:0}
.sd-modes{display:grid;gap:6px}
.sd-bar .btn{margin-left:auto}
.sd-prow{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.sd-persona textarea{font:inherit}
#sdOpenPrev{margin:0}
.sd-stoprow{margin:0 0 10px}
.sd-warn{background:var(--bad-bg);border:1px solid var(--danger);color:var(--bad-fg);border-radius:8px;padding:10px 12px;margin:0 0 10px;font-size:13px}
.sd-warn .actions{margin-top:8px}
.sd-counts{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 8px}
.sd-count{display:grid;gap:1px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:6px 12px;font-size:13px}
.sd-count small{color:var(--muted);font-size:11px}
.sd-count.active{border-color:var(--sea);box-shadow:0 0 0 1px var(--sea)}
.sd-grid{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(300px,1.2fr) minmax(260px,1fr);gap:16px;align-items:start}
.sd-col{display:grid;gap:16px}
.sd h2{margin-bottom:8px}
.sd-chat{display:flex;flex-direction:column;position:sticky;top:12px}
.sd-msgs{display:flex;flex-direction:column;gap:8px;height:360px;overflow:auto;padding:10px;background:var(--surface);border:1px solid var(--line);border-radius:10px}
.sd-bubble{max-width:82%;padding:8px 12px;border-radius:16px;font-size:14px;line-height:1.4;word-break:break-word}
.sd-bubble.us{align-self:flex-start;background:var(--bubble-us);color:var(--navy);border-bottom-left-radius:4px}
.sd-bubble.them{align-self:flex-end;background:var(--sea);color:#fff;border-bottom-right-radius:4px}
.sd-bubble.blocked{background:var(--bad-bg);color:var(--danger);border:1px dashed var(--danger);text-decoration:line-through}
.sd-bubble.blocked small{display:block;text-decoration:none;margin-top:4px;font-weight:600}
.sd-sys{align-self:center;font-size:12px;color:var(--warn-fg);background:var(--warn-bg);border-radius:999px;padding:4px 12px;text-align:center}
.sd-empty{margin:auto}
.sd-lag{display:grid;gap:4px}
.sd-lag label{margin:0}
.sd-lag input[type=number]{width:90px}
.sd-typing{display:flex;gap:5px;align-items:center;padding:12px 14px}
.sd-typing i{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:sdDot 1.2s infinite ease-in-out}
.sd-typing i:nth-child(2){animation-delay:.2s}.sd-typing i:nth-child(3){animation-delay:.4s}
@keyframes sdDot{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
@media (prefers-reduced-motion:reduce){.sd-typing i{animation:none;opacity:.7}}
.sd-quick{display:grid;gap:6px;margin:12px 0}
.sd-qg{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.sd-qg small{width:100%;color:var(--muted);font-weight:600}
.sd-send{display:flex;gap:8px}
.sd-send input{margin:0}
.sd-fields td{padding:3px 0;font-size:13px}
.sd-flagrow td{color:var(--warn-fg);background:var(--warn-bg);border-radius:6px;padding:4px 8px!important;font-weight:600;font-size:12px;text-align:left!important}
.sd-fields td:last-child{text-align:right;font-weight:600}
.sd-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.sd-stats div{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:6px 8px}
.sd-stats small{display:block;color:var(--muted);font-size:11px}
.sd-stats b{font-size:13px}
.sd-trace{display:grid;gap:10px;max-height:560px;overflow:auto}
.sd-turn{border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:8px 10px}
.sd-turn>summary{cursor:pointer;font-weight:600;color:var(--navy);font-size:13px}
.sd-step{display:flex;gap:8px;padding:7px 0;border-top:1px solid var(--line);font-size:13px}
.sd-step:first-of-type{margin-top:8px}
.sd-step .dot{flex:none;width:9px;height:9px;border-radius:50%;margin-top:5px;background:var(--sea)}
.sd-step.warn .dot{background:var(--brass)}
.sd-step.block .dot{background:var(--danger)}
.sd-step.skip .dot{background:var(--muted)}
.sd-step .d{white-space:pre-wrap;color:var(--ink)}
.sd-step .u{color:var(--muted);font-size:12px;margin-top:2px}
.sd-json{margin:6px 0 0;font:11px/1.4 ui-monospace,Menlo,Consolas,monospace;background:var(--code-bg);border-radius:6px;padding:6px;white-space:pre-wrap}
.check.sm{font-size:12px}
@media (max-width:1000px){.sd-grid{grid-template-columns:1fr}.sd-prow{grid-template-columns:1fr}.sd-chat{position:static}.sd-bar .btn{margin-left:0}}
.sd-phone h2{margin:0 0 4px}
.sd-phone.off{opacity:.6}
.sd-phone .actions{margin-top:10px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.sd-pl{display:grid;grid-template-columns:minmax(260px,1fr) minmax(260px,1.2fr);gap:16px;margin-top:12px;align-items:start}
.sd-phonechat{height:300px}
.sd-psum{font-size:12px;margin-bottom:8px}
@media (max-width:1000px){.sd-pl{grid-template-columns:1fr}}


/* ---------- multi-tenant screens: companies, users, campaigns, applications ---------- */
.co-switch{width:auto;max-width:220px;margin:0 0 0 auto;padding:5px 10px;background:var(--surface);color:var(--topbar-ink);border:1px solid var(--line);border-radius:8px}
.co-switch option{color:var(--ink)}
.co-switch + .who{margin-left:0}
#root-leads,#root-applications,#root-users{display:grid;gap:16px}
.tblwrap{overflow-x:auto}
.tbl{width:100%;border-collapse:collapse;font-size:14px}
.tbl th{text-align:left;font-size:12px;color:var(--muted);font-weight:600;padding:6px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
.tbl td{padding:9px 10px;border-bottom:1px solid var(--line-soft);vertical-align:top}
.tbl td.right,.tbl th.right{text-align:right}
.nowrap{white-space:nowrap}
.tbl tr.off td{color:var(--muted)}
.tbl tr.click{cursor:pointer}
.tbl tr.click:hover td,.tbl tr.click:focus td{background:var(--hover)}
.tbl tr.detail>td{background:var(--detail);padding:14px}
.tbl select.sm,.tbl input.sm{width:auto;margin:0;padding:4px 8px;font-size:13px;display:inline-block}
.chip{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;background:var(--chip-bg);color:var(--chip-fg);white-space:nowrap}
.chip.ok{background:var(--ok-bg);color:var(--ok-fg)}.chip.warn{background:var(--warn-bg);color:var(--warn-fg)}.chip.bad{background:var(--bad-bg);color:var(--bad-fg)}.chip.info{background:var(--info-bg);color:var(--info-fg)}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
.grid3{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:20px}
.grid2 label .muted{display:block;font-weight:400;margin-top:3px}
.stack{display:grid;gap:12px}
.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 12px}
.toolbar select,.toolbar input{width:auto;min-width:160px;margin:0}
.pager{display:flex;gap:10px;align-items:center;justify-content:center;margin-top:12px}
details.add{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}
details.add>summary{cursor:pointer;font-weight:600;color:var(--sea);margin-bottom:10px}
.card.secret{border-color:var(--brass);background:var(--warn-bg)}
.secret-row{display:flex;gap:28px;flex-wrap:wrap;margin:10px 0}
.secret-row small{display:block;color:var(--muted)}
.secret-row code{font-size:15px;user-select:all}
.errbox{background:var(--bad-bg);border:1px solid var(--danger);color:var(--bad-fg);border-radius:8px;padding:10px 12px;margin-top:12px;font-size:14px}
.nobox{background:var(--panel,transparent);border:1px solid var(--line,#8884);border-radius:8px;padding:10px 12px;margin-top:12px;font-size:14px}
.okbox{background:var(--ok-bg);border:1px solid var(--ok-line);border-radius:8px;padding:10px 12px;margin-top:12px;font-size:14px}
.mo-back{position:fixed;inset:0;background:rgba(11,37,69,.45);display:flex;align-items:center;justify-content:center;z-index:50;padding:16px}
.mo-box{background:var(--card);border-radius:var(--radius);padding:20px;max-width:640px;width:100%;max-height:90vh;overflow:auto}
.mo-body{margin:12px 0}
.mo-actions{justify-content:flex-end}
.kv{display:grid;grid-template-columns:max-content 1fr;gap:4px 14px;margin:0;font-size:14px}
.kv dt{color:var(--muted)}.kv dd{margin:0;word-break:break-word}
.sec{margin-bottom:14px}.sec h3{margin:0 0 6px;font-size:13px;color:var(--navy);text-transform:uppercase;letter-spacing:.04em}
.doclist{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:14px}
.pii{margin-top:8px}
@media (max-width:900px){.grid2,.grid3{grid-template-columns:1fr}}

.card > .actions{margin-top:12px}
.card > .tblwrap{margin-top:4px}

/* ---------- bank statement review (Phase B) ---------- */
.stmt{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}
.stmt-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.stmt-head h3{margin:0}
.stmt h4{margin:18px 0 6px;font-size:13px;color:var(--navy)}
.scores{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}
.scorecard{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:grid;gap:4px;justify-items:center;text-align:center}
.scorecard small{color:var(--muted);font-weight:600}
.scorecard b{font-size:26px;line-height:1;color:var(--navy)}
.scorecard.big{border-width:2px}
.scorecard.big b{font-size:34px}
.scorecard.ok{border-color:#9fcdb0}.scorecard.info{border-color:#a9c6df}.scorecard.warn{border-color:#e2c479}.scorecard.bad{border-color:#d9918b}
.flags{list-style:none;margin:10px 0;padding:0;display:grid;gap:6px;font-size:14px}
.flags li{padding:7px 10px 7px 12px;border-radius:8px;background:var(--info-bg);border-left:4px solid #6d9cc4}
.flags li.warn{background:var(--warn-bg);border-left-color:var(--brass)}
.flags li.bad{background:var(--bad-bg);border-left-color:var(--danger)}
.why{margin:6px 0}.why summary{cursor:pointer;color:var(--sea);font-weight:600}.why ul{margin:4px 0 8px;padding-left:20px;font-size:13px}
.chart{width:100%;height:auto;background:var(--surface);border:1px solid var(--line);border-radius:8px}
.chart-tip{min-height:20px;margin-top:4px}
.tbl.compact{font-size:13px}.tbl.compact td,.tbl.compact th{padding:5px 8px}
.tbl.txns tr.cr td{color:var(--ok-fg)}
.kv.metrics{grid-template-columns:max-content 1fr;max-width:640px}
.fine{margin-top:14px}
@media (max-width:700px){.stmt-head{flex-wrap:wrap}}

/* ---------- light / dark switch ---------- */
#themeToggle{margin-left:0;white-space:nowrap}
.who[hidden] + #themeToggle{margin-left:auto}
.topbar .btn.ghost:hover{border-color:var(--sea)}

.view-banner{background:var(--sea);color:#fff}
.view-banner .btn{margin-left:10px;color:#fff;border-color:rgba(255,255,255,.6)}
#viewAs{margin-left:auto;max-width:300px}
#viewAs + .co-switch{margin-left:8px}

/* campaign dashboard */
.dash{display:flex;flex-direction:column;gap:16px}
.dash h2{margin:0 0 8px;font-size:18px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:8px 0}
.kpi{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.kpi-label{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted,#6b7587)}
.kpi-value{font-size:26px;font-weight:700;line-height:1.2;margin-top:2px}
.kpi-sub{font-size:12px;color:var(--muted,#6b7587);margin-top:2px}
.mixcell{min-width:220px}
.mixbar{display:flex;height:14px;border-radius:7px;overflow:hidden;background:var(--line);min-width:180px}
.mixbar span{display:block;height:100%}
.legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;margin:4px 0 10px}
.legend-item{display:inline-flex;align-items:center;gap:6px}
.dot{width:10px;height:10px;border-radius:50%;display:inline-block}
.dash-table td.num,.dash-table th.num{text-align:right;font-variant-numeric:tabular-nums}
.dash .small{font-size:12px}
.tbl td.num,.tbl th.num{text-align:right;font-variant-numeric:tabular-nums}
.tbl td.mixcell{vertical-align:middle}

/* balance and costs */
.balance-banner{position:sticky;top:0;z-index:30;background:var(--danger);color:#fff;font-size:17px;font-weight:700;padding:14px 16px;border-bottom:3px solid rgba(0,0,0,.25)}
.balance-banner.low{background:#B54708}
.balance-banner a{margin-left:12px;background:#fff;color:#14233B;border-radius:8px;padding:6px 12px;text-decoration:none;font-size:14px;display:inline-block}
.bal-card{border-left:8px solid var(--ok-line)}
.bal-card.low{border-left-color:#B54708;background:var(--warn-bg)}
.bal-card.empty{border-left-color:var(--danger);background:var(--bad-bg)}
.bal-amount{font-size:44px;font-weight:800;line-height:1.1;margin:4px 0;font-variant-numeric:tabular-nums}
.bal-tag{display:inline-block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:3px 9px;border-radius:99px;background:var(--ok-bg);color:var(--ok-fg)}
.bal-card.low .bal-tag{background:#B54708;color:#fff}
.bal-card.empty .bal-tag{background:var(--danger);color:#fff}
.meter{height:12px;border-radius:6px;background:var(--line);overflow:hidden;margin:10px 0 4px;position:relative}
.meter>span{display:block;height:100%;background:var(--ok-fg)}
.bal-card.low .meter>span{background:#B54708}.bal-card.empty .meter>span{background:var(--danger)}
.form-row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:8px 0}
.form-row label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600}
.form-row input{width:auto;min-width:200px;margin:0}
.neg{color:var(--danger)}.pos{color:var(--ok-fg)}
.bal-tag.warn{background:#B54708;color:#fff}

/* messaging charts (colors: validated categorical slots 1-2 and the fixed status palette) */
.viz{--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1f9d6b;--series-4:#8a63d2;--status-good:#0ca30c;--status-warning:#fab219;--status-critical:#d03b3b;--viz-grid:#e1e0d9;--viz-muted:#898781}
:root[data-theme="dark"] .viz{--series-1:#3987e5;--series-2:#d95926;--series-3:#3ac28a;--series-4:#a98be8;--viz-grid:#2c2c2a}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .viz{--series-1:#3987e5;--series-2:#d95926;--series-3:#3ac28a;--series-4:#a98be8;--viz-grid:#2c2c2a}}
.rangebar{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center}
.rangebar label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600}
.rangebar input{width:auto;margin:0;padding:5px 8px}
.rangebar .btn.primary{color:#fff}
.chart-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;align-items:center;margin-bottom:6px}
.chart-plot{position:relative}
.chart-svg{width:100%;height:auto;display:block;overflow:visible}
.chart-svg .grid{stroke:var(--viz-grid);stroke-width:1}
.chart-svg .axis{stroke:var(--viz-muted);stroke-width:1}
.chart-svg .tick{fill:var(--muted);font-size:11px}
.chart-svg .line{stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.chart-svg .cross{stroke:var(--viz-muted);stroke-width:1;stroke-dasharray:3 3}
.chart-svg .dot{stroke:var(--surface);stroke-width:2}
.chart-svg rect:focus{outline:2px solid var(--foam)}
.tip{position:absolute;top:4px;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:13px;box-shadow:0 4px 14px rgba(0,0,0,.18);pointer-events:none;z-index:2;min-width:150px}
.tip[hidden]{display:none}
.tip div{display:flex;align-items:center;gap:6px;margin-top:3px}
.swatch{display:inline-block;width:10px;height:10px;border-radius:3px;flex:none}
.swatch.line{width:14px;height:3px;border-radius:2px}
.partsbar{display:flex;gap:2px;height:22px;border-radius:6px;overflow:hidden;background:var(--line);margin:8px 0 12px}
.partsbar span{display:block;height:100%}
.parts{display:grid;gap:6px}
.part-row{display:flex;align-items:center;gap:8px;font-size:14px}
.part-icon{width:16px;text-align:center;font-weight:700}
.part-label{min-width:90px}
.catlist{display:grid;gap:6px;margin-top:8px}
.cat-row{display:grid;grid-template-columns:170px 1fr 60px;gap:10px;align-items:center;font-size:14px}
.cat-row strong{text-align:right;font-variant-numeric:tabular-nums}
.cat-bar{height:10px;background:var(--line);border-radius:5px;overflow:hidden}
.cat-bar span{display:block;height:100%;background:var(--series-1);border-radius:5px}
@media (max-width:600px){.cat-row{grid-template-columns:110px 1fr 46px}}

/* Contacts, groups, suppressions */
.small{font-size:12px}
.head-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.chiprow{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
button.chip{border:0;cursor:pointer;font:inherit;font-size:12px;font-weight:600}
button.chip:focus-visible{outline:2px solid var(--sea);outline-offset:2px}
.chip .x{border:0;background:none;color:inherit;cursor:pointer;font:inherit;padding:0 0 0 2px}
.chip.info + .chip.info{margin-left:4px}
.checks{display:flex;flex-wrap:wrap;gap:6px 18px;margin:8px 0}
.permcard{border:1px solid var(--line);border-left-width:4px;border-radius:8px;padding:8px 12px;margin:6px 0}
.permcard.ok{border-left-color:var(--ok-fg);background:var(--ok-bg);color:var(--ok-fg)}
.permcard.bad{border-left-color:var(--danger);background:var(--bad-bg);color:var(--bad-fg)}
.rules{display:grid;gap:8px;margin:10px 0}
.rule{display:grid;grid-template-columns:minmax(120px,1fr) minmax(120px,1fr) minmax(120px,1.4fr) auto;gap:8px;align-items:center}
.rule select,.rule input{margin:0;width:100%}
@media (max-width:640px){.rule{grid-template-columns:1fr 1fr}.rule input{grid-column:1 / -1}}
.activity{list-style:none;padding:0;margin:0;display:grid;gap:6px;font-size:14px}

/* Master inbox */
.ib{display:grid;grid-template-columns:190px minmax(260px,350px) 1fr;gap:0;padding:0;overflow:hidden}
.ib-nav{padding:12px 8px;border-right:1px solid var(--line);background:var(--line-soft);min-width:0}
.ib-navgrp{display:grid;gap:2px;margin-bottom:12px}
.ib-nav-title{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:4px 10px}
.ib-nav-item{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;text-align:left;background:none;border:0;border-radius:8px;padding:8px 10px;cursor:pointer;color:inherit;font:inherit;font-size:14px}
.ib-nav-item:hover,.ib-nav-item:focus-visible{background:var(--hover)}
.ib-nav-item.on{background:var(--info-bg);color:var(--info-fg);font-weight:600}
.ib-nav-item.off{opacity:.55;cursor:default}
.ib-count{font-size:12px;font-variant-numeric:tabular-nums;color:var(--muted)}
.ib-nav-item.on .ib-count{color:inherit}
.ib-side{padding:14px;border-right:1px solid var(--line);min-width:0;display:flex;flex-direction:column}
.ib-list{display:grid;gap:2px;align-content:start;flex:1 1 0;min-height:260px;overflow:auto;margin-top:6px;contain:size}
.ib-row{text-align:left;background:none;border:0;border-radius:8px;padding:9px 10px;cursor:pointer;color:inherit;font:inherit;display:block;width:100%}
.ib-row:hover,.ib-row:focus-visible{background:var(--hover)}
.ib-row.on{background:var(--info-bg)}
.ib-top{display:flex;justify-content:space-between;gap:8px}
.ib-prev{font-size:13px;color:var(--muted);margin-top:3px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.ib-prev .chip{margin-right:4px}
.ib-convo{padding:14px 16px;display:flex;flex-direction:column;min-width:0}
.ib-headr{display:flex;align-items:center;gap:10px}
.ib-ai{position:relative;display:inline-flex;align-items:center;gap:6px;background:var(--ok-bg);color:var(--ok-fg);border:1px solid var(--ok-line);border-radius:999px;padding:5px 12px;font-size:13px;font-weight:600;cursor:default;outline-offset:2px}
.ib-ai-dot{width:9px;height:9px;border-radius:50%;background:#1E9E4A;box-shadow:0 0 0 3px rgba(30,158,74,.25)}
.ib-ai-tip{display:none;position:absolute;right:0;top:calc(100% + 8px);width:min(340px,80vw);z-index:30;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:10px 12px;box-shadow:0 8px 28px rgba(11,31,58,.22);font-weight:400;font-size:13px;line-height:1.45;text-align:left}
.ib-ai-body{white-space:pre-wrap;margin-top:4px}
.ib-ai:hover .ib-ai-tip,.ib-ai:focus .ib-ai-tip,.ib-ai:focus-within .ib-ai-tip{display:block}
.ib-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.ib-scroll{flex:1;overflow:auto;max-height:56vh;padding:10px 2px;display:flex;flex-direction:column;gap:8px}
.ib-day{align-self:center;font-size:12px;color:var(--muted);margin:6px 0}
.ib-msg{max-width:78%;border-radius:12px;padding:8px 12px;font-size:14px;border:1px solid var(--line)}
.ib-msg.in{align-self:flex-start;background:var(--card)}
.ib-msg.out{align-self:flex-end;background:var(--info-bg);color:var(--info-fg);border-color:transparent}
.ib-msg.out .muted{color:inherit;opacity:.75}
.ib-msg.email{border-style:dashed;background:var(--warn-bg);color:var(--warn-fg);border-color:var(--warn-fg)}
.ib-msg.email .muted{color:inherit;opacity:.75}
.ib-text{white-space:pre-wrap;overflow-wrap:anywhere}
@media (max-width:1100px){.ib{grid-template-columns:160px minmax(220px,300px) 1fr}}
@media (max-width:860px){.ib{grid-template-columns:1fr}.ib-nav{border-right:0;border-bottom:1px solid var(--line);display:block}.ib-navgrp{display:flex;flex-wrap:wrap;margin:0 0 8px;gap:4px}.ib-pf{width:100%;grid-template-columns:1fr 1fr;margin-top:4px}.ib-nav-item{padding:6px 10px}.ib-nav-title{display:none}.ib-nav-item{white-space:nowrap;width:auto}.ib-side{border-right:0;border-bottom:1px solid var(--line)}.ib-list{flex:none;contain:none;min-height:0;max-height:34vh}}

/* SMS Live */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:8px 0 12px}
.stat strong{font-size:20px;font-variant-numeric:tabular-nums}
.meter.small{height:8px;margin:2px 0 2px;min-width:90px}

/* Account: API keys, webhooks, settings */
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
input.mono{font-size:13px;letter-spacing:0}
pre.code{background:var(--line-soft);border:1px solid var(--line);border-radius:10px;padding:12px;margin:6px 0 14px;font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre;overflow:auto;max-width:100%}
.secretbox{margin:12px 0}.secretbox .form-row{margin:8px 0}.secretbox .form-row label{flex:1;min-width:240px}
.form-row.tight{gap:6px;margin:0}
fieldset.plain{border:0;padding:0;margin:0 0 12px;display:grid;gap:8px}fieldset.plain legend{padding:0;margin-bottom:6px;font-weight:600;font-size:14px}
.card code{overflow-wrap:anywhere}

/* Inbox takeover */
.ib-ctl{border-top:1px solid var(--line,#ddd);padding:10px 0 0;margin-top:8px}
.ib-compose textarea{width:100%;box-sizing:border-box;margin:8px 0 4px}
.export-btns{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap}

/* SMS Live campaign cards */
.camp{display:grid;gap:4px}
.camp+.camp{margin-top:14px}
.camp-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.camp-head h3{margin:0;font-size:18px}
.camp-actions{display:flex;align-items:center;gap:10px}
.camp .stats{margin:10px 0 6px}
.camp-settings{margin-top:6px;border-top:1px solid var(--line);padding-top:10px}
.camp-settings>summary{cursor:pointer;font-weight:600;color:var(--sea)}
.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin:12px 0}
.settings-grid fieldset{border:1px solid var(--line);border-radius:10px;padding:10px 14px 12px;margin:0;min-width:0}
.settings-grid label{display:grid;gap:4px;margin:0 0 10px;font-size:13px;font-weight:600}
.settings-grid input,.settings-grid select{width:100%;min-width:0;margin:0}
.settings-grid .form-row.tight{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}
.settings-grid [hidden]{display:none!important}

/* pipeline board */
.kanban{display:flex;gap:12px;overflow-x:auto;align-items:flex-start;padding-bottom:12px}
.kcol{flex:0 0 250px;background:var(--detail);border:1px solid var(--line);border-radius:var(--radius);padding:10px;display:flex;flex-direction:column;gap:8px;min-height:120px}
.kcol > header{display:flex;justify-content:space-between;align-items:center;gap:8px}
.kcard{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:3px;cursor:grab}
.kcard:focus-visible{outline:2px solid var(--sea);outline-offset:2px}
.kcard select{margin-top:6px}
@media (max-width:860px){.kcol{flex-basis:220px}}

/* tabs inside a menu item that groups several screens */
.hub-tabs{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 16px;border-bottom:1px solid var(--line,#d5dbe6)}
.hub-tabs a{padding:8px 14px;border-radius:8px 8px 0 0;text-decoration:none;color:inherit;font-weight:500;border-bottom:2px solid transparent;margin-bottom:-1px}
.hub-tabs a:hover{background:var(--surface,#eef1f6)}
.hub-tabs a.active{border-bottom-color:var(--sea,#6D4AFF);font-weight:600}
.hub-tabs a:focus-visible{outline:2px solid var(--sea,#6D4AFF);outline-offset:-2px}

/* structure tree and groups */
.tree{list-style:none;margin:0;padding:0 0 0 22px;border-left:2px solid var(--line,#d5dbe6)}
.tree.root{padding-left:0;border-left:0}
.tn{position:relative;margin:8px 0;padding-left:14px}
.tn::before{content:"";position:absolute;left:-22px;top:18px;width:36px;border-top:2px solid var(--line,#d5dbe6)}
.tree.root>.tn{padding-left:0}.tree.root>.tn::before{display:none}
.tnode{display:inline-block;padding:8px 12px;border:1px solid var(--line,#d5dbe6);border-radius:10px;background:var(--surface,#fff);min-width:180px}
.tnode.co{border-width:2px}.tnode.mgr{border-left:4px solid var(--sea,#6D4AFF)}.tnode.none{border-style:dashed}
.chips{display:flex;flex-wrap:wrap;gap:4px;margin:4px 0}
.glist .grow{padding:10px 0;border-top:1px solid var(--line,#d5dbe6)}.glist .grow:first-child{border-top:0}
.scrollbox{max-height:280px;overflow:auto}
.mgrrow{background:var(--info-bg,#eaf1ff);border-radius:8px;padding:2px 6px}
.tnode.mgr{background:var(--info-bg,#eaf1ff)}
.tnode.mgr{background:var(--surface,#fff);border-left-color:var(--ok-fg,#1a7f4b)}.mgrrow{background:transparent}

/* Pipeline swimlanes (Push 64, restyled Push 109) */
.pl{--c-red:#D64545;--c-red-bg:#FBECEB;--c-red-fg:#8A1C14;--c-lg:#3FA66A;--c-lg-bg:#E3F4EA;--c-lg-fg:#14532D;--c-dg:#14532D;--c-dg-bg:#C9E8D5;--c-dg-fg:#0E3E21}
:root[data-theme="dark"] .pl{--c-red:#F0766D;--c-red-bg:#3C1816;--c-red-fg:#FFB3AC;--c-lg:#5CC48A;--c-lg-bg:#12342A;--c-lg-fg:#9BE6BC;--c-dg:#5CC48A;--c-dg-bg:#17503A;--c-dg-fg:#C8F5DA}
.pl-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 14px}
.pl-lane{border:1px solid var(--line);border-radius:var(--radius);margin-bottom:16px;background:var(--card);box-shadow:0 1px 2px rgba(11,31,58,.05);overflow:hidden}
.pl-lanelabel{padding:10px 16px;font:600 12px Inter,sans-serif;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);border-bottom:1px solid var(--line-soft);background:var(--detail)}
.pl-cols{display:grid;grid-template-columns:repeat(3,minmax(200px,1fr));gap:12px;padding:14px;overflow-x:auto}
.pl-ccol{display:flex;flex-direction:column;border:1px solid var(--line-soft);border-radius:10px;background:var(--detail);min-width:0}
.pl-vh{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:10px 12px;border:0;background:transparent;color:inherit;font:600 13px Inter,sans-serif;cursor:pointer;text-align:left;border-radius:10px}
.pl-vh:hover{background:var(--hover)}
.pl-vh b{min-width:24px;padding:1px 8px;border-radius:999px;background:var(--chip-bg);color:var(--chip-fg);font-size:12px;text-align:center}
.pl-vh:focus-visible,.pl-cell:focus-visible,.pl-twist:focus-visible{outline:2px solid var(--sea);outline-offset:-2px}
.pl-clist{display:flex;flex-direction:column;gap:8px;padding:0 10px 10px;max-height:340px;overflow-y:auto}
.pl-camp{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--sea);border-radius:8px;padding:9px 10px;display:flex;flex-direction:column;gap:3px;cursor:grab;transition:box-shadow .12s,transform .12s}
.pl-camp:hover{box-shadow:0 4px 12px rgba(11,31,58,.12);transform:translateY(-1px)}
.pl-scroll{overflow-x:auto;padding:2px 2px 12px}
.pl-grid{display:grid;gap:6px;align-items:stretch;min-width:max-content}
.pl-lanehead{padding:8px 10px;text-align:left;font:700 12px Inter,sans-serif;text-transform:uppercase;letter-spacing:.06em;border-radius:8px;border-top:3px solid currentColor}
.pl-lanehead.red{background:var(--c-red-bg);color:var(--c-red-fg)} .pl-lanehead.lgreen{background:var(--c-lg-bg);color:var(--c-lg-fg)} .pl-lanehead.dgreen{background:var(--c-dg-bg);color:var(--c-dg-fg)}
.pl-colhead{justify-content:center;gap:4px;padding:8px 6px;min-height:46px;width:100%;border-radius:8px;text-align:center;font:600 12px Inter,sans-serif;line-height:1.25;background:var(--detail);border:1px solid var(--line-soft)}
.pl-colhead:hover{background:var(--hover)}
.pl-colhead::after{content:"▸";font-size:10px;opacity:.55}
.pl-colhead[aria-expanded="true"]::after{content:"▾"}
.pl-rowlabel{display:flex;align-items:center;gap:6px;padding:10px 12px;background:var(--card);border:1px solid var(--line-soft);border-radius:8px;min-width:0}
.pl-rowlabel.total{background:var(--info-bg);border-color:transparent;color:var(--info-fg)}
.pl-rowlabel.sub{background:var(--detail)}
.pl-twist{border:0;background:transparent;color:inherit;font-size:1rem;cursor:pointer;padding:0 4px}
.pl-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:48px;padding:6px;border:0;border-radius:8px;color:inherit;font:inherit}
.pl-cell b{font-size:17px;line-height:1.1}
.pl-cell.none{color:var(--line);background:transparent;font-size:14px}
.pl-cell.has{cursor:pointer;transition:transform .1s,box-shadow .1s}
.pl-cell.has:hover{transform:translateY(-1px);box-shadow:0 2px 8px rgba(11,31,58,.15)}
.pl-cell.has.red{background:var(--c-red-bg);color:var(--c-red-fg)} .pl-cell.has.lgreen{background:var(--c-lg-bg);color:var(--c-lg-fg)} .pl-cell.has.dgreen{background:var(--c-dg);color:#fff}
:root[data-theme="dark"] .pl-cell.has.dgreen{color:#07271a}
.pl-cell.sel{outline:2px solid var(--sea);outline-offset:1px}
.pl-cell.total{font-weight:700}
.pl-detail{grid-column:1/-1;border-radius:10px;padding:12px 14px;margin:2px 0 8px;background:var(--card);border:1px solid var(--line);border-left:4px solid var(--c-lg)}
.pl-detail.red{border-left-color:var(--c-red)} .pl-detail.dgreen{border-left-color:var(--c-dg)}
.pl-detail .tbl{width:100%}
.ib-row.unread strong{font-weight:700}
.ib-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.ib-tools{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 0;border-bottom:1px solid var(--line)}
.ib-follow{flex-basis:100%;font-size:13px}
.ib-follow summary{cursor:pointer;color:var(--muted)}
.ib-bm{padding:8px 0}.ib-bm label{display:block;margin:6px 0}
.tiers{border:1px solid var(--line);border-radius:8px;padding:8px 12px;margin:10px 0}.tiers legend{font-weight:600;padding:0 6px}

/* top-bar alerts (Push 68) */
.bell-wrap{position:relative;margin-left:auto}
.bell-count{display:inline-block;min-width:18px;padding:0 5px;border-radius:9px;background:var(--danger);color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center;margin-left:4px}
.bell-panel{position:absolute;right:0;top:calc(100% + 6px);z-index:30;width:min(320px,86vw);background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 24px rgba(0,0,0,.18);padding:6px}
.bell-panel a{display:flex;justify-content:space-between;gap:12px;padding:9px 10px;border-radius:8px;color:var(--ink);text-decoration:none;font-size:14px}
.bell-panel a:hover,.bell-panel a:focus-visible{background:var(--hover)}
.bell-panel .none{padding:10px;color:var(--muted);font-size:14px}
.bell-wrap + .who{margin-left:0}
.ib-side .form-row{display:flex;gap:8px;align-items:flex-end}
.ib-side .form-row label{flex:1;min-width:0}
.ib-side .form-row input{width:100%}
details.fold > summary { cursor: pointer; padding: .25rem 0; }
details.pace { margin-top: .5rem; }
details.pace input { width: 5rem; }

/* Pipeline pages (Push 111) */
.pl-corner{min-height:0}
.pl-corner.pl-first{display:flex;align-items:flex-end;padding:0 4px 8px;font:600 12px Inter,sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.pl-rl{display:flex;flex-direction:column;min-width:0;gap:2px}
.pl-rl select{width:auto;max-width:150px;margin-top:2px}
.pl-hcell{flex-direction:column;align-items:flex-start;gap:3px}
.pl-pick{display:flex;align-items:center;gap:6px;font-weight:600;font-size:13px}
.pl-pick select{min-width:0;max-width:300px}
.pl-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:0 0 16px}
.pl-tile{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:0 1px 2px rgba(11,31,58,.05)}
.pl-tile b{font-size:26px;line-height:1.15}
.pl-tl{font:600 12px Inter,sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.pl-tile.lgreen{background:var(--c-lg-bg);border-color:transparent}.pl-tile.lgreen b{color:var(--c-lg-fg)}
.pl-tile.red{background:var(--c-red-bg);border-color:transparent}.pl-tile.red b{color:var(--c-red-fg)}
.pl-lane2{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:0 0 16px}
.pl-lcard{border-radius:var(--radius);padding:12px 14px;border-top:3px solid currentColor}
.pl-lcard h3{margin:0 0 8px;font:700 12px Inter,sans-serif;text-transform:uppercase;letter-spacing:.06em}
.pl-lcard.red{background:var(--c-red-bg);color:var(--c-red-fg)}.pl-lcard.lgreen{background:var(--c-lg-bg);color:var(--c-lg-fg)}.pl-lcard.dgreen{background:var(--c-dg-bg);color:var(--c-dg-fg)}
.pl-lrow{display:flex;gap:18px;flex-wrap:wrap}
.pl-lc{display:flex;flex-direction:column}.pl-lc b{font-size:24px;line-height:1.15}

/* Applications filters and summary (Push 112) */
.ap-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin:0 0 14px}
.ap-f{display:flex;flex-direction:column;gap:3px;font:600 11px Inter,sans-serif;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.ap-f select,.ap-f input{font:14px Inter,sans-serif;text-transform:none;letter-spacing:0;color:var(--ink);min-width:0;max-width:210px;width:auto;margin:0}
.ap-f input[type=number]{width:110px}
.ap-cards{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:0 0 12px}
.ap-cards .ap-card{padding:8px 10px;min-width:0}.ap-cards .ap-card span{overflow-wrap:anywhere;line-height:1.2}
.ap-minis{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:4px;min-width:0}
.ap-mini{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:6px;background:var(--warn-bg);color:inherit;font:inherit;cursor:pointer;padding:2px;min-width:0;line-height:1.1}
.ap-mini i{font-style:normal;font-size:10px;color:var(--muted)}.ap-mini b{font-size:13px}
.ap-mini.on{outline:2px solid var(--sea);outline-offset:1px}.ap-mini.zero{opacity:.55}
@media (max-width:640px){.ap-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.ap-cards .ap-card span{overflow-wrap:break-word}.ap-minis{min-height:56px}}
.ap-card{display:flex;flex-direction:column;gap:2px;text-align:left;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:inherit;font:inherit;cursor:pointer;transition:transform .1s,box-shadow .1s}
.ap-card b{font-size:22px;line-height:1.1}.ap-card span{font-size:12px;color:var(--muted)}
.ap-card:hover{transform:translateY(-1px);box-shadow:0 2px 8px rgba(11,31,58,.12)}
.ap-card.on{outline:2px solid var(--sea);outline-offset:1px}
.ap-card.zero{opacity:.55}
.ap-card.ok{background:var(--ok-bg)}.ap-card.warn{background:var(--warn-bg)}.ap-card.bad{background:var(--bad-bg)}.ap-card.info{background:var(--info-bg)}
.ap-dist{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 10px}
.ap-dl{font:700 11px Inter,sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);min-width:60px}
.ap-chipc{border:1px solid var(--line);background:var(--detail);color:inherit;border-radius:999px;padding:3px 11px;font:13px Inter,sans-serif;cursor:pointer}
.ap-chipc:hover:not(:disabled){background:var(--hover);border-color:var(--sea)}.ap-chipc:disabled{cursor:default;opacity:.75}
/* Push 114: pipeline filter above the tabs; every pipeline page fits the screen width (no sideways scrolling) */
.pl-filter{padding:12px 14px;margin:0 0 14px}
.pl-filter-row{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center}
.pl-filter-note{margin:6px 0 0}
.pl-filter .pl-pick select,.pl-filter .pl-pick input{min-width:0;max-width:100%}
.pl-filter .pl-pick select[aria-label="Campaign"]{max-width:min(340px,100%)}
.pl,.pl .pl-scroll{min-width:0;max-width:100%}
.pl-bar{flex-wrap:wrap}
.pl-scroll{overflow-x:visible}
.pl-grid{min-width:0;width:100%}
.pl-grid>*{min-width:0}
.pl-rowlabel,.pl-rl strong{overflow-wrap:anywhere}
.pl-colhead{overflow-wrap:anywhere;hyphens:auto}
.pl-detail .tblwrap{overflow-x:visible}
.pl-detail .tbl{width:100%;table-layout:auto}
.pl-detail .tbl th,.pl-detail .tbl td{overflow-wrap:anywhere}
.pl-expand{margin:0 0 16px}
.pl-camps{display:grid;gap:8px;margin-top:10px}
.pl-ccard{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:10px 12px;min-width:0}
.pl-ctitle{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin-bottom:8px}
.pl-cchips{display:flex;flex-wrap:wrap;gap:6px}
.pl-cchip{display:inline-flex;align-items:baseline;gap:5px;padding:3px 9px;border-radius:999px;font-size:12px;background:var(--detail);color:inherit}
.pl-cchip b{font-size:14px}
.pl-cchip.red{background:var(--c-red-bg);color:var(--c-red-fg)}.pl-cchip.lgreen{background:var(--c-lg-bg);color:var(--c-lg-fg)}.pl-cchip.dgreen{background:var(--c-dg-bg);color:var(--c-dg-fg)}
@media (max-width:760px){
  .pl-grid{gap:3px}
  .pl-rowlabel{padding:6px 6px;gap:3px;font-size:13px}
  .pl-rl .muted.small{display:none}
  .pl-hcell .muted.small{font-size:10px}
  .pl-lanehead{padding:5px 4px;font-size:9px;letter-spacing:.02em;overflow-wrap:anywhere}
  .pl-colhead{writing-mode:vertical-rl;transform:rotate(180deg);min-height:92px;padding:6px 2px;font-size:11px}
  .pl-colhead::after{display:none}
  .pl-cell{min-height:40px;padding:3px 1px}
  .pl-cell b{font-size:14px}
  .pl-cell .small{font-size:9px}
  .pl-corner.pl-first{font-size:10px;padding:0 2px 4px}
  .pl-grid.has-health{font-size:12px}
  .hide-s{display:none}
  .pl-detail{padding:10px}
}
@media (max-width:760px){.pl-grid.has-health{grid-template-columns:minmax(0,2fr) minmax(0,1.3fr) repeat(6,minmax(0,1fr))!important}.pl-rl select{max-width:100%}}
/* Push 114: application builder */
.ab-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 12px;padding:8px 0;border-top:1px solid var(--line-soft)}
.ab-l{display:flex;flex-direction:column;min-width:0;flex:1 1 200px}
.ab-modes{display:flex;gap:4px;flex-wrap:wrap}
.ab-mode{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border:1px solid var(--line);border-radius:999px;font-size:13px;cursor:pointer}
.ab-mode.on{background:var(--info-bg);color:var(--info-fg);border-color:transparent;font-weight:600}
.ab-mode input{margin:0}
.ab-table{display:grid;gap:2px;margin-top:10px}
.ab-th,.ab-tr{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:8px;padding:6px 4px;border-top:1px solid var(--line-soft);font-size:13px;overflow-wrap:anywhere}
.ab-th.ab-f,.ab-tr.ab-f{grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr))}
.ab-th{font:600 12px Inter,sans-serif;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-top:0}
.ab-warn{color:var(--c-red-fg,#8A1C14);font-weight:600}
@media (max-width:640px){.ab-th,.ab-tr{grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr));gap:4px;font-size:12px}}
@media (max-width:760px){.pl-cell b{font-size:12px;letter-spacing:-.02em}.pl-cell{padding:3px 0}.pl-hcell{overflow:hidden}}
/* Push 115: pipeline cells open the Inbox; inbox pipeline filters */
button.pl-lc{border:0;background:transparent;color:inherit;font:inherit;text-align:left;padding:2px 4px;border-radius:8px;cursor:pointer}
button.pl-lc:hover{background:rgba(255,255,255,.35)}
button.pl-cchip{border:0;font:inherit;font-size:12px;cursor:pointer;color:inherit}
button.pl-cchip.red{color:var(--c-red-fg)}button.pl-cchip.lgreen{color:var(--c-lg-fg)}button.pl-cchip.dgreen{color:var(--c-dg-fg)}
button.pl-cchip:hover{filter:brightness(.95)}
.ib-pf{display:grid;gap:6px;margin-top:10px}
.ib-pf label{display:grid;gap:2px;font-size:12px;font-weight:600}
.ib-pf select{width:100%;min-width:0}
.ib-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}
.ib-chips .chip{display:inline-flex;align-items:center;gap:4px;border:0;cursor:pointer;font:inherit;font-size:12px}
/* Push 116: application look */
.ab-sub{margin-left:14px;padding-left:12px;border-left:3px solid var(--line-soft)}
.ab-sub select{width:auto}
.ab-color{display:grid;gap:4px;font-size:13px;font-weight:600}
.ab-color input[type=color]{width:44px;height:36px;padding:2px;border:1px solid var(--line);border-radius:6px;background:transparent}
.ab-color input[type=text]{width:96px;font-family:ui-monospace,Menlo,Consolas,monospace}
.ab-sample{border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin:10px 0}
.ab-sample p{margin:6px 0 0}
.check-row{display:flex;align-items:center;justify-content:flex-start;gap:8px;margin:10px 0 0;font-weight:600}.check-row input{width:auto;flex:none;margin:0}

/* Alignment: inline labels never carry the page's bottom margin, and controls on one row share a height so they line up. */
.form-row label,.ap-f,.rangebar label,.pl-pick,.ib-pf label,.pl-filter label,.settings-grid.inline label{margin-bottom:0}
.form-row input,.form-row select,.ap-f input,.ap-f select{height:38px;box-sizing:border-box}
.form-row .btn:not(.sm),.ap-filters .btn{height:38px;box-sizing:border-box;padding-top:0;padding-bottom:0}
.ap-filters .btn.sm{height:38px;padding-top:0;padding-bottom:0}
.rangebar{align-items:center}
.rangebar .btn.sm,.rangebar input{height:32px;box-sizing:border-box;padding-top:0;padding-bottom:0}
.pl-filter select,.pl-filter input{height:34px;box-sizing:border-box}
.pl-pick select,.pl-pick input,.pl-bar select{margin-top:0}

/* Sending progress cards: pinned ones come first */
.prog-grid{display:flex;flex-wrap:wrap;gap:12px}
.prog-card{display:flex;gap:12px;align-items:center;min-width:260px;position:relative;padding-right:76px}
.prog-card.pinned{border-color:var(--accent,#6D4AFF);box-shadow:0 0 0 1px var(--accent,#6D4AFF) inset}
.prog-card .pin{position:absolute;top:8px;right:8px}
.prog-card .pin.on{background:var(--accent,#6D4AFF);color:#fff;border-color:transparent}
.prog-card .dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px}
/* A checkbox inside a form row's label sits inline with its words instead of stretching like a text box */
.form-row label>input[type=checkbox],.form-row label>input[type=radio]{display:inline-block;width:auto;min-width:0;height:auto;margin:0;vertical-align:middle}
.form-row label:has(>input[type=checkbox]),.form-row label:has(>input[type=radio]){display:flex;flex-direction:row;align-items:center;gap:8px;align-self:center}
.form-row label:has(>input[type=checkbox]),.form-row label:has(>input[type=radio]){flex:0 0 auto;min-width:0;justify-content:flex-start}

/* ---------- Application analysis page (Applications > Analyzed) ---------- */
.an-grid{display:grid;grid-template-columns:290px minmax(0,1fr);gap:16px;align-items:start}
.an-left{display:grid;gap:10px;font-size:13px;min-width:0;align-self:stretch;align-content:start}
.an-left .an-request{position:sticky;top:calc(var(--an-head,64px) + 4px);z-index:15;background:var(--card);max-height:calc(100vh - var(--an-head,64px) - 20px);overflow:auto}
.an-left .kv{grid-template-columns:auto 1fr}
.an-main{display:grid;gap:14px;min-width:0}
.an-sticky{position:sticky;top:0;z-index:25;background:var(--card);padding:8px 0;margin-bottom:6px;border-bottom:1px solid var(--line)}
.an-cardsrow{display:contents}
.an-cardsrow>.scores{position:sticky;top:var(--an-head,64px);z-index:20;background:var(--card);padding:8px 0;border-bottom:1px solid var(--line)}
details.an-collapse>summary{cursor:pointer;list-style:none}
details.an-collapse>summary h3{display:inline;margin:0}
details.an-collapse>summary::before{content:"▸ ";color:var(--muted)}
details.an-collapse[open]>summary::before{content:"▾ "}
details.an-collapse>summary::-webkit-details-marker{display:none}
.an-two{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:14px;align-items:start}
.an-stack{display:grid;gap:14px;min-width:0}
.an-card{margin:0}.an-card h3{margin:0 0 8px}
.an-detail{border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin-top:8px;background:var(--surface)}
button.scorecard{cursor:pointer;font:inherit;text-align:center;color:inherit}
button.scorecard[aria-expanded="true"]{outline:2px solid var(--sea)}
.an-pnl .an-line td:first-child{font-weight:600}
.an-pnl tr.tot td{font-weight:700;border-top:1px solid var(--line)}
.an-pnl .an-sub td{font-size:12px;color:var(--muted)}
.linkbtn{background:none;border:0;padding:0;font:inherit;font-weight:600;color:inherit;cursor:pointer;text-align:left}
.an-monthly{margin-top:8px}
@media (max-width:1100px){.an-two{grid-template-columns:minmax(0,1fr)}}
@media (max-width:820px){.an-grid{grid-template-columns:minmax(0,1fr)}}
.crm-sec{border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin:8px 0;background:var(--surface)}
.crm-sec summary{cursor:pointer}.crm-body{margin-top:8px}
.an-card svg.chart{max-height:230px}

/* CRM: call notes, calculator, PDF splitting (ported from Pier Point) */
.notes-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:14px;align-items:start}
@media (max-width:900px){.notes-grid{grid-template-columns:1fr}}
.pos-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr auto;gap:6px;margin-bottom:8px;align-items:center}
.pos-row input,.pos-row select{margin-top:0}
@media (max-width:700px){.pos-row{grid-template-columns:1fr 1fr}}
.preview{white-space:pre-wrap;font:13px/1.5 ui-monospace,Menlo,monospace;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:10px;margin:0;max-height:360px;overflow:auto}
.saved{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px;max-height:420px;overflow:auto}
.saved li{display:flex;gap:6px;align-items:center}.saved .info{flex:1;cursor:pointer;min-width:0}.saved .info small{display:block;color:var(--muted)}
.calc-results{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:10px 0}
.calc-results div{background:var(--navy,#0b2545);color:#fff;border-radius:10px;padding:14px}.calc-results span{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;opacity:.8}.calc-results strong{font-size:1.6rem}
.ups{display:flex;flex-wrap:wrap;gap:14px;margin:8px 0}.up{display:flex;gap:8px;align-items:center}.up .pct input{width:80px;display:inline-block;margin:0}
.sched{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.sched th,.sched td{padding:6px 8px;text-align:right;border-bottom:1px solid var(--line)}.sched th:first-child,.sched td:first-child{text-align:left}.sched td input{width:90px;margin:0;text-align:right}
.ps-drop{display:grid;gap:4px;justify-items:center;text-align:center;padding:28px 20px;border:2px dashed var(--line);cursor:pointer}.ps-drop:hover,.ps-drop.over,.ps-drop:focus-visible{border-color:var(--sea,#2a7f8f);outline:none}
.ps-status.ok{color:#1c6b3a}.ps-status.bad{color:#b3261e}.ps-work{margin-top:16px}.ps-head,.ps-rhead{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:6px}
.ps-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:8px 0 14px}.ps-summary{margin-left:6px;font-size:13px;color:var(--muted)}
.ps-strip{display:flex;flex-wrap:wrap;row-gap:18px;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:10px;max-height:62vh;overflow:auto}
.ps-unit{display:flex;align-items:stretch}.ps-page{position:relative;display:grid;place-items:center;background:#f3f1ec;border:1px solid var(--line);border-radius:3px;overflow:hidden}.ps-page canvas{display:block}.ps-page.ready{background:#fff}
.ps-page.failed::after{content:"preview unavailable";font-size:11px;color:var(--muted);text-align:center;padding:4px}
.ps-num{position:absolute;left:4px;bottom:4px;min-width:20px;padding:1px 5px;border-radius:999px;background:rgba(11,37,69,.75);color:#fff;font-size:11px;text-align:center}
.ps-gap{all:unset;box-sizing:border-box;position:relative;width:24px;cursor:pointer;display:grid;place-items:center}.ps-gap::before{content:"";position:absolute;top:0;bottom:0;left:50%;border-left:2px dashed transparent}
.ps-gap:hover::before,.ps-gap:focus-visible::before{border-left-color:#7fb3c0}.ps-gap.on::before{border-left:2px solid #b3261e}
.ps-cut{position:relative;display:none;width:20px;height:20px;line-height:20px;text-align:center;border-radius:50%;background:#fff;color:#2a7f8f;font-size:13px;box-shadow:0 0 0 1px #7fb3c0}.ps-gap:hover .ps-cut,.ps-gap:focus-visible .ps-cut{display:block}.ps-gap.on .ps-cut{display:block;background:#b3261e;color:#fff;box-shadow:none}
.ps-files{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}.ps-file{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px}

/* Owner > CPU health */
.health .hbanner{margin:10px 0;padding:10px 12px;border-radius:8px;font-weight:600;border:1px solid var(--line);background:var(--card)}
.health .hbanner.ok{border-color:var(--status-good)}.health .hbanner.warn{border-color:var(--status-warning)}.health .hbanner.bad{border-color:var(--status-critical)}
.health .htiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;margin-bottom:10px}
.health .htile{border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:var(--card)}
.health .hval-big{font-size:22px;font-weight:700;line-height:1.2}
.health .htile .chip{margin-top:4px;display:inline-block}
.health .hsection>summary{cursor:pointer;display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;list-style:none}
.health .hsection>summary::-webkit-details-marker{display:none}
.health .hsection>summary h2{margin:0}
.health .hgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));gap:14px;margin-top:10px}
.health .hchart{min-width:0}
.health .hchart-head{display:flex;flex-wrap:wrap;gap:2px 10px;align-items:baseline}
.health .hlegend{display:flex;flex-wrap:wrap;gap:2px 12px;margin:2px 0 4px;font-size:12px}
.health .hval{font-weight:700}
.chart-svg .limit{stroke:var(--status-critical);stroke-width:1;stroke-dasharray:5 4}
.health .hq{max-width:520px;word-break:break-word;font-family:ui-monospace,monospace}

.an-items{list-style:none;margin:6px 0;padding:0;display:grid;gap:4px}
.an-item{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:4px 0;border-bottom:1px solid var(--line-soft,var(--line))}
.an-item-t{flex:1;min-width:0}
.an-item.ignored .an-item-t{text-decoration:line-through;color:var(--muted)}
.an-detail h5{margin:10px 0 2px}

.scorecard.ok{background:color-mix(in srgb,#2e9e5b 16%,var(--surface))}
.scorecard.info{background:color-mix(in srgb,#3b82c4 16%,var(--surface))}
.scorecard.warn{background:color-mix(in srgb,#e0a526 20%,var(--surface))}
.scorecard.bad{background:color-mix(in srgb,#d64b40 18%,var(--surface))}
.an-detail{border:1px solid var(--line);border-radius:10px;padding:12px 14px}
.an-detail.ok{background:color-mix(in srgb,#2e9e5b 16%,var(--surface));border-color:#9fcdb0}
.an-detail.info{background:color-mix(in srgb,#3b82c4 16%,var(--surface));border-color:#a9c6df}
.an-detail.warn{background:color-mix(in srgb,#e0a526 20%,var(--surface));border-color:#e2c479}
.an-detail.bad{background:color-mix(in srgb,#d64b40 18%,var(--surface));border-color:#d9918b}

/* ---- Sequences: step bars, saved cards, right-click menu ---- */
.sq-h{margin:18px 0 4px;font-size:1rem}
.sq-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin:8px 0}
.sq-card{border:1px solid var(--line);background:var(--card);border-radius:10px;padding:10px 12px;cursor:pointer;display:flex;flex-direction:column;gap:6px}
.sq-card:hover,.sq-card:focus-visible{border-color:var(--sea);outline:none}
.sq-card.on{border-color:var(--sea);box-shadow:0 0 0 2px color-mix(in srgb,var(--sea) 25%,transparent)}
.sq-ct{font-weight:600}
.sq-strip{display:flex;gap:3px;flex-wrap:wrap}
.sq-strip i{width:14px;height:8px;border-radius:3px;background:var(--sq,var(--sea))}
.sq-prev{font-size:.82rem;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sq-flow{display:flex;flex-direction:column;align-items:stretch;gap:0;margin:8px 0;padding:6px 0}
.sq-day{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:12px 0 6px}
.sq-link{display:flex;justify-content:flex-start;padding-left:34px;height:26px;align-items:center;position:relative}
.sq-link::before{content:"";position:absolute;left:44px;top:0;bottom:0;border-left:2px dashed var(--line)}
.sq-gap{position:relative;z-index:1;margin-left:22px;font-size:.72rem;padding:1px 8px;border-radius:99px;border:1px solid var(--line);background:var(--card);color:var(--muted);cursor:pointer}
.sq-gap.static{cursor:default}
.sq-gap:not(.static):hover{border-color:var(--sea);color:inherit}
.sq-bar{--sq:var(--sea);position:relative;display:flex;gap:12px;align-items:stretch;border:1px solid var(--line);border-left:6px solid var(--sq);background:var(--card);border-radius:10px;padding:10px 40px 10px 12px;cursor:context-menu}
.sq-bar:hover,.sq-bar:focus-visible{border-color:var(--sq);outline:none;box-shadow:0 1px 6px rgba(0,0,0,.12)}
.sq-bar.t-first{--sq:#2f8f5b}.sq-bar.t-original,.sq-strip i.t-original{--sq:#3b82c4}.sq-bar.t-different,.sq-strip i.t-different{--sq:#d98a1f}.sq-bar.t-second,.sq-strip i.t-second{--sq:#8b5cc6}.sq-bar.t-third,.sq-strip i.t-third{--sq:#c4477a}.sq-bar.t-settings{--sq:#5f7d8c}
.sq-strip i.t-first{--sq:#2f8f5b}.sq-strip i.t-settings{--sq:#5f7d8c}
.sq-when{flex:0 0 58px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:.78rem;color:var(--muted)}
.sq-n{width:24px;height:24px;border-radius:50%;background:var(--sq);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem}
.sq-body{min-width:0;flex:1;display:flex;flex-direction:column;gap:5px}
.sq-badges{display:flex;gap:5px;flex-wrap:wrap}
.sq-badge{font-size:.7rem;padding:1px 7px;border-radius:99px;background:var(--info-bg,#e8f0f7);border:1px solid var(--line)}
.sq-badge.k{background:var(--sq);color:#fff;border-color:transparent}
.sq-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.4}
.sq-text.empty{color:var(--muted);font-style:italic}
.sq-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:.75rem;color:var(--muted)}
.sq-more{position:absolute;top:6px;right:6px;width:28px;height:28px;border-radius:6px;border:1px solid transparent;background:transparent;color:inherit;font-size:1.1rem;cursor:pointer}
.sq-more:hover,.sq-more:focus-visible{border-color:var(--line);background:var(--bg,transparent)}
.sq-bar.st-cancelled,.sq-bar.st-skipped{opacity:.55}
.sq-bar.st-started .sq-badge.st{background:var(--ok-bg);}
.sq-bar.st-waiting .sq-badge.st{background:var(--warn-bg)}
.sq-empty{border:2px dashed var(--line);border-radius:10px;padding:18px;text-align:center;color:var(--muted)}
.sq-seq{margin:14px 0}
.sq-seqt{display:flex;gap:10px;align-items:baseline}
.sq-hint{margin-top:8px}
.sq-menu{position:fixed;z-index:1000;min-width:230px;max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);overflow:auto;background:var(--card);color:inherit;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,.28);padding:5px}
.sq-mh{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:6px 10px 2px}
.sq-ms{height:1px;background:var(--line);margin:4px 2px}
.sq-mi{display:flex;gap:6px;align-items:center;width:100%;text-align:left;background:transparent;border:0;color:inherit;padding:7px 10px;border-radius:6px;font:inherit;cursor:pointer}
.sq-mi:hover,.sq-mi:focus-visible{background:color-mix(in srgb,var(--sea) 16%,transparent);outline:none}
.sq-mi.danger{color:#c0392b}
.sq-mi:disabled{opacity:.45;cursor:default}
.sq-mk{width:14px;color:var(--sea);font-weight:700}
@media (max-width:600px){.sq-when{flex-basis:46px}.sq-link{padding-left:22px}.sq-link::before{left:32px}}
.sq-flow>.sq-day,.sq-flow>.sq-link,.sq-flow>.sq-bar{margin-left:calc(var(--ind,0) * 28px)}
@media (max-width:600px){.sq-flow>.sq-day,.sq-flow>.sq-link,.sq-flow>.sq-bar{margin-left:calc(var(--ind,0) * 10px)}}
.sq-hrow{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.sq-toggle{display:inline-flex;align-items:center;gap:0;margin:6px 0}
.sq-toggle>span{margin-right:8px}
.sq-seg{padding:4px 12px;border:1px solid var(--line);background:var(--card);color:inherit;cursor:pointer;font:inherit;font-size:.85rem}
.sq-seg:first-of-type{border-radius:8px 0 0 8px}.sq-seg:last-of-type{border-radius:0 8px 8px 0;border-left:0}
.sq-seg.on{background:var(--sea);border-color:var(--sea);color:#fff}
.sq-create{align-self:center;flex:0 0 auto;white-space:nowrap;font-size:.82rem;padding:6px 12px}
@media (max-width:600px){.sq-bar:has(.sq-create){flex-wrap:wrap}.sq-create{margin-left:58px}}

/* ---- Send texts: colored sections ---- */
.sx-sec{--sx:var(--sea);border:1px solid var(--line);border-left:6px solid var(--sx);border-radius:10px;padding:12px 14px;margin:12px 0;background:color-mix(in srgb,var(--sx) 7%,var(--card))}
.sx-blue{--sx:#3b82c4}.sx-purple{--sx:#8b5cc6}.sx-amber{--sx:#d98a1f}.sx-green{--sx:#2f8f5b}
.sx-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.sx-head h3{margin:0;font-size:1rem}
.sx-num{width:24px;height:24px;border-radius:50%;background:var(--sx);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;flex:0 0 auto}
details.sx-sec>summary{cursor:pointer;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.sx-warn{border:1px solid var(--bad-bg,#e0b4b4);background:var(--bad-bg,#fbeaea);border-radius:8px;padding:8px 10px;font-size:.85rem;margin:8px 0}
.sx-stop{margin-top:8px}
.sx-actions{padding:8px 0}
.sx-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media (max-width:600px){.sx-grid3{grid-template-columns:1fr}}

/* ---- Number health: compact table, no sideways scrolling ---- */
.nh-wrap{overflow-x:visible}
@media (max-width:900px){.nh-wrap{overflow-x:auto}}
.tbl.nh{font-size:12.5px;table-layout:auto}
.tbl.nh th{font-size:10.5px;padding:5px 5px;white-space:normal;line-height:1.15;vertical-align:bottom}
.tbl.nh td{padding:5px 5px;vertical-align:middle}
.tbl.nh th.num,.tbl.nh td.num{text-align:right;white-space:nowrap}
.tbl.nh .nh-num{max-width:170px;white-space:nowrap}
.tbl.nh .nh-label{display:block;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nh-chip{cursor:pointer;border:1px solid transparent;font:inherit;font-size:11.5px;white-space:nowrap}
.nh-chip:hover{filter:brightness(.95);text-decoration:underline}
.sx-warn-big{border:3px solid #c0392b;background:#fdecea;color:#7a1710;font-size:1rem;font-weight:600;padding:12px 14px}
.sx-warn-big strong{display:block;font-size:1.05rem;margin-bottom:4px;text-transform:uppercase}
@media (prefers-color-scheme:dark){.sx-warn-big{background:#3a1512;color:#ffd6d1;border-color:#ff6b5e}}
:root[data-theme="dark"] .sx-warn-big{background:#3a1512;color:#ffd6d1;border-color:#ff6b5e}
:root[data-theme="light"] .sx-warn-big{background:#fdecea;color:#7a1710;border-color:#c0392b}
