/* AltoSky app design system (admin + portal). Loaded last; everything is scoped to body.sx so sign-in pages keep the
   altosky.com marketing look. Same brand tokens (night, ink, cloud, mist, blue, signal; Geist + Geist Mono), app density.
   Copyright (c) 2026 AltoSky, Inc. */
body.sx{--bg:#F5F7FB;--surface:#fff;--surface-2:#F8FAFD;--text:#0A0F1F;--text-2:#3A4256;--muted:#5B6478;--faint:#8A93A8;--line:rgba(10,15,31,.09);--line-2:rgba(10,15,31,.14);
  --accent:#2A63F5;--accent-soft:#EDF2FF;--accent-ink:#1E4FD6;--ok:#13A05A;--ok-soft:#E6F7EE;--warn-ink:#9A5B00;--warn-soft:#FFF4DE;--bad-ink:#C2333A;--bad-soft:#FDECEC;
  --side:248px;--top:56px;--r1:6px;--r2:8px;--r3:12px;--r4:16px;--r:12px;--r-lg:12px;--sh1:0 1px 2px rgba(10,15,31,.05);--sh2:0 1px 2px rgba(10,15,31,.04),0 6px 20px -8px rgba(10,15,31,.12);
  --sh3:0 24px 64px -16px rgba(7,10,20,.35),0 0 0 1px rgba(10,15,31,.06);--gut:28px;--max:1320px;
  font-size:14px;line-height:1.5;color:var(--text);background:var(--bg);font-feature-settings:"ss01","cv11";letter-spacing:-.003em}
html[data-theme=dark] body.sx{--bg:#070A14;--surface:#0D1220;--surface-2:#111829;--text:#E8EEFF;--text-2:#C3CBDD;--muted:#98A2B8;--faint:#6B7489;--line:rgba(232,238,255,.09);--line-2:rgba(232,238,255,.16);
  --accent:#5B8CFF;--accent-soft:rgba(91,140,255,.14);--accent-ink:#8DB0FF;--ok-soft:rgba(43,212,125,.13);--ok:#2BD47D;--warn-soft:rgba(245,165,36,.14);--warn-ink:#F5B957;--bad-soft:rgba(229,72,77,.15);--bad-ink:#FF8589;
  --cloud:#111829;--mist:#152038;--white:#0D1220;--ink:#E8EEFF;--steel:#98A2B8;--logo-ink:#E8EEFF;--logo-accent:#5B8CFF;color-scheme:dark}
body.sx #app{min-height:100svh}
@media(min-width:1024px){body.sx{padding-left:var(--side)}}
/* ---------- type ---------- */
body.sx h1{font-size:24px;line-height:1.2;letter-spacing:-.022em;font-weight:620;margin:0 0 4px;max-width:none}
body.sx h2{font-size:15px;line-height:1.3;letter-spacing:-.01em;font-weight:600;margin:0 0 10px}
body.sx h3{font-size:14px;line-height:1.35;letter-spacing:-.005em;font-weight:600;margin:0 0 6px}
body.sx h4{font-size:13.5px;font-weight:600;margin:10px 0 4px}
body.sx p{margin:0 0 10px}
body.sx .eyebrow{font:500 11px/1.2 var(--mono);letter-spacing:.06em;color:var(--muted);margin:0 0 6px;gap:6px}
body.sx .eyebrow:before{width:5px;height:5px;background:var(--accent)}
body.sx .lede{font-size:14px;line-height:1.55;color:var(--muted);margin:2px 0 0;max-width:72ch}
body.sx .muted{color:var(--muted);font-size:13px}
body.sx .small,body.sx small{font-size:12.5px}
body.sx .k{font:500 10.5px/1.3 var(--mono);letter-spacing:.07em;color:var(--muted)}
body.sx .v{font-size:22px;font-weight:600;letter-spacing:-.02em}
body.sx a{color:var(--accent)}
body.sx ::selection{background:var(--accent);color:#fff}
body.sx :focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}
body.sx .num,body.sx td.num{font-variant-numeric:tabular-nums}
/* ---------- buttons ---------- */
body.sx button,body.sx .btn{min-height:34px;padding:0 14px;border-radius:var(--r2);font:500 13.5px/1 var(--sans);letter-spacing:-.005em;gap:6px;background:var(--accent);color:#fff;border:1px solid transparent;box-shadow:0 1px 0 rgba(255,255,255,.12) inset,0 1px 2px rgba(10,15,31,.12);transition:background .12s,border-color .12s,box-shadow .12s,color .12s}
body.sx button:hover,body.sx .btn:hover{background:var(--accent-ink)}
body.sx button.ghost,body.sx .btn-ghost,body.sx .btn.ghost{background:var(--surface);color:var(--text);border-color:var(--line-2);box-shadow:var(--sh1)}
body.sx button.ghost:hover,body.sx .btn-ghost:hover{background:var(--surface-2);border-color:rgba(10,15,31,.24)}
body.sx button.sm,body.sx .btn.sm{min-height:28px;padding:0 10px;font-size:12.5px;border-radius:7px}
body.sx button.danger{background:var(--bad)}body.sx button.ghost.danger{background:var(--surface);color:var(--bad-ink);border-color:var(--line-2)}
body.sx button.link{background:none;border:0;box-shadow:none;min-height:0;padding:0;color:var(--accent);font-weight:500}
body.sx button.link:hover{background:none}
body.sx .btns{gap:8px}
body.sx kbd{font:500 10.5px/1 var(--mono);padding:3px 5px;border-radius:5px;border:1px solid var(--line-2);border-bottom-width:2px;color:var(--muted);background:var(--surface);min-width:18px;text-align:center;display:inline-block}
/* ---------- forms ---------- */
body.sx form{gap:14px}
body.sx label,body.sx legend{font-size:12.5px;font-weight:500;color:var(--text-2);margin:0 0 -8px}
body.sx input,body.sx textarea,body.sx select{font:14px/1.4 var(--sans);min-height:36px;padding:7px 10px;border-radius:var(--r2);background:var(--surface);border:1px solid var(--line-2);color:var(--text);box-shadow:0 1px 1px rgba(10,15,31,.03) inset}
body.sx input:focus,body.sx textarea:focus,body.sx select:focus{background:var(--surface);border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 20%,transparent)}
body.sx textarea{min-height:96px}
body.sx input[type=checkbox],body.sx input[type=radio]{width:16px;height:16px;min-height:0;padding:0;box-shadow:none}
body.sx input[type=range]{padding:0;min-height:20px;box-shadow:none;border:0;background:none}
body.sx .hint{font-size:12.5px;margin-top:-6px}
body.sx .check{font-size:13.5px;gap:8px}
/* ---------- surfaces ---------- */
body.sx .card,body.sx .st .card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r3);padding:18px 20px;box-shadow:var(--sh1)}
body.sx .card+.card{margin-top:14px}body.sx .grid>.card+.card,body.sx .st-grid>.card+.card,body.sx .st>.card+.card{margin-top:0}
body.sx .card>h2:first-child,body.sx .st .card>h2{font-size:14.5px;margin-bottom:12px}
body.sx .grid{gap:14px}body.sx .st-grid{gap:14px}
body.sx .notice{background:var(--accent-soft);color:var(--text-2);border-radius:var(--r2);padding:10px 12px;font-size:13.5px;border:1px solid color-mix(in srgb,var(--accent) 18%,transparent)}
body.sx .notice.ok{background:var(--ok-soft);border-color:color-mix(in srgb,var(--ok) 25%,transparent)}body.sx .notice.warn{background:var(--warn-soft);border-color:color-mix(in srgb,var(--warn) 30%,transparent)}
body.sx .chip,body.sx .testbadge{font:500 10.5px/1 var(--mono);padding:4px 7px;border-radius:5px}
body.sx .pill,body.sx .st .pill{font-size:12px;font-weight:500;padding:2px 8px 2px 7px;border-radius:999px;gap:5px;background:var(--surface-2);border:1px solid var(--line);color:var(--text-2);line-height:18px}
body.sx .pill:before{width:6px;height:6px}
body.sx .pill.ok,body.sx .st .pill.ok{background:var(--ok-soft);border-color:transparent;color:var(--ok)}body.sx .pill.warn,body.sx .st .pill.warn{background:var(--warn-soft);border-color:transparent;color:var(--warn-ink)}
body.sx .pill.bad,body.sx .st .pill.bad{background:var(--bad-soft);border-color:transparent;color:var(--bad-ink)}body.sx .pill.blue,body.sx .st .pill.blue{background:var(--accent-soft);border-color:transparent;color:var(--accent)}
html:not([data-theme=dark]) body.sx .pill.ok{color:#0E7A43}
body.sx .meter,body.sx .st-bar{height:6px;background:color-mix(in srgb,var(--accent) 12%,var(--surface-2));border-radius:99px}
body.sx details{border-top:1px solid var(--line)}body.sx details>summary{min-height:40px;font-size:13.5px}body.sx details>summary:after{font-size:18px}
body.sx hr{border:0;border-top:1px solid var(--line);margin:12px 0}
/* ---------- tables ---------- */
body.sx table,body.sx .st table{font-size:13.5px;border-collapse:separate;border-spacing:0}
body.sx th,body.sx .st th{font:500 10.5px/1.2 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);padding:9px 12px;border-bottom:1px solid var(--line);border-top:0;background:var(--surface-2);white-space:nowrap;text-align:left}
body.sx th:first-child{border-top-left-radius:var(--r2)}body.sx th:last-child{border-top-right-radius:var(--r2)}
body.sx td,body.sx .st td{padding:10px 12px;border-bottom:1px solid var(--line);border-top:0;vertical-align:middle;overflow-wrap:normal}
body.sx tr:last-child td{border-bottom:0}
body.sx tr.click:hover td,body.sx tbody tr:hover td{background:color-mix(in srgb,var(--accent) 4%,var(--surface))}
body.sx .split tr.sel td{background:var(--accent-soft)}
body.sx .scroll{margin:0;border-radius:var(--r2)}
/* ---------- page layout ---------- */
body.sx main{max-width:none;margin:0;padding:0;flex:1}
body.sx .wrap{max-width:var(--max);padding:0 var(--gut);margin:0}
body.sx .view-pad{padding-top:22px;padding-bottom:40px}
body.sx main.narrow{max-width:calc(860px + 2*var(--gut));padding:16px var(--gut) 40px}
body.sx .st{max-width:var(--max);margin:0;padding:22px var(--gut) 48px;gap:14px}
body.sx .admin main{padding-top:0}
body.sx .toolbar{align-items:flex-end;margin:0 0 16px;gap:10px;padding-bottom:14px;border-bottom:1px solid var(--line)}
body.sx .toolbar h1{margin:0}
body.sx .toolbar .eyebrow{margin-bottom:4px}
body.sx .kpis{gap:10px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
body.sx .kpis .card{padding:14px 16px}body.sx .kpis .card b{font-size:22px;margin-top:4px;font-variant-numeric:tabular-nums}
/* Page heroes become compact page headers inside the app. */
body.sx .page-hero,body.sx .page-hero.dark{background:transparent;color:var(--text);padding:22px 0 4px;overflow:visible}
body.sx .page-hero:before{display:none}
body.sx .page-hero h1,body.sx .page-hero.slim h1{font-size:24px;font-weight:620;margin:0 0 4px;max-width:none;line-height:1.2}
body.sx .page-hero h1 .accent{background:none;-webkit-background-clip:initial;background-clip:initial;color:var(--accent)}
body.sx .page-hero .lede,body.sx .page-hero .muted{color:var(--muted)}
body.sx .page-hero .eyebrow{color:var(--muted)}
body.sx .page-hero .hero-img{display:none}body.sx .page-hero .hero-split{display:block}
body.sx .page-hero a{color:var(--accent)}
body.sx .page-hero .ghost,body.sx .page-hero button.ghost{background:var(--surface);color:var(--text);border-color:var(--line-2)}
body.sx .st-hello{background:transparent;color:var(--text);padding:0 0 14px;border-radius:0;border-bottom:1px solid var(--line);box-shadow:none;align-items:flex-end}
body.sx .st-hello h1{color:var(--text)}body.sx .st-hello .eyebrow{color:var(--muted)}body.sx .st-hello .muted,body.sx .st-hello .lede{color:var(--muted)}
body.sx .st-hello .pill{background:var(--surface);border-color:var(--line);color:var(--text-2)}
body.sx .st-hello .ghost{color:var(--text);border-color:var(--line-2);background:var(--surface)}
body.sx .st h1{font-size:24px}
/* Record hero band (portal home, deal room) stays dark: brand moment, but compact. */
body.sx .st-band{border-radius:var(--r4);box-shadow:var(--sh2)}
body.sx .st-band-in{padding:22px 24px;gap:18px}
body.sx .st-band h1{font-size:26px;max-width:none}
body.sx .st-band .lede{font-size:14px}
body.sx .st-band .btns button{min-height:34px;padding:0 14px;border-radius:var(--r2);font-size:13.5px}
body.sx .st-band button.ghost{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.28)}
body.sx .st-stage li{padding-top:8px;font-size:12px}body.sx .st-stage li b{width:22px;height:22px;font-size:11.5px}
/* KPI tiles */
body.sx .st-kpis{gap:10px}
body.sx .st-kpi,body.sx .crm-kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--r3);padding:14px 16px;box-shadow:var(--sh1)}
body.sx .st-kpi b,body.sx .crm-kpi b{font-size:22px;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.2}
body.sx .st-kpi span{font-size:12px;color:var(--muted)}
/* Lists */
body.sx .st-list>li{padding:10px 0;gap:10px;align-items:center}
body.sx .st-list .t b{font-weight:550;font-size:13.5px}body.sx .st-list .t small{font-size:12.5px;color:var(--muted)}
body.sx .st-list .r{font-size:12px}
body.sx .st-list>li>button,body.sx .st-list>li>a.btn{flex:none}
body.sx .st-tick{width:20px;height:20px;border-width:1.5px;box-shadow:none;background:var(--surface)}
body.sx .st-empty,body.sx .st-emptyart{padding:14px 16px;border-radius:var(--r2);background:var(--surface-2);border:1px dashed var(--line-2);font-size:13px}
body.sx .st-people .av{width:34px;height:34px;font-size:12.5px}
body.sx .st-bub{font-size:14px;border-radius:12px;padding:9px 12px}
body.sx .st-bub.mine{background:var(--accent);border-color:var(--accent)}
body.sx .st-folders button,body.sx .st-tabs button{min-height:30px;font-size:13px;padding:0 10px;box-shadow:none}
body.sx .st-folders button{background:var(--surface);color:var(--text-2);border:1px solid var(--line-2);border-radius:999px}
body.sx .st-folders button[aria-pressed=true]{background:var(--text);color:var(--bg);border-color:var(--text)}
body.sx .st-tabs{gap:2px}body.sx .st-tabs button{background:none;color:var(--muted);border-radius:0;min-height:38px}
body.sx .st-tabs button[aria-current=page]{color:var(--text);border-bottom-color:var(--accent)}
body.sx .st-more button{min-height:56px;font-size:14px;box-shadow:var(--sh1);background:var(--surface);color:var(--text)}
body.sx .st-col,body.sx .rm-col{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r3)}
body.sx .st-pc,body.sx .rm-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r2);box-shadow:var(--sh1);font-size:13px;padding:9px 11px}
body.sx .st-pc:hover,body.sx .rm-card:hover{border-color:var(--accent);background:var(--surface)}
body.sx .st-total{border-radius:var(--r3);padding:12px 16px}body.sx .st-total b{font-size:22px}
body.sx .scope,body.sx .dl-opt,body.sx .st-opt{border-radius:var(--r3);padding:16px}
body.sx .price{font-size:26px}body.sx .dl-big{font-size:24px}
body.sx .rm-sec{border-radius:var(--r3);background:var(--surface)}
body.sx .rm-steps li{font-size:10.5px;border-top-width:3px}
body.sx .split{gap:14px}
@media(min-width:1100px){body.sx .split .detail{top:calc(var(--top) + 14px)}}
body.sx .rm-stick{top:var(--top);background:var(--bg)}
body.sx .rm-top{bottom:20px}
body.sx .msg{font-size:14px}
body.sx .timeline li{font-size:13px}
body.sx dialog.card{border-radius:var(--r4);box-shadow:var(--sh3)}
body.sx .narrowcard{max-width:720px}
body.sx .pj-board{gap:12px}body.sx .pj-card h4{font-size:14.5px}
body.sx .site-footer.compact{background:transparent;border-top:1px solid var(--line);color:var(--faint);padding:14px 0;font-size:12px;margin-top:auto}
body.sx .site-footer.compact .wrap{max-width:var(--max)}
body.sx .site-footer.compact a{color:var(--muted);min-height:0}
body.sx .site-header{display:none}
/* Admin pitches list keeps more columns when the detail is open on wide screens. */
@media(min-width:1500px){body.sx #pp .split.open .list th:nth-child(2),body.sx #pp .split.open .list td:nth-child(2){display:table-cell}}
/* ---------- shell: sidebar ---------- */
.sx-chrome{display:contents}
.sx-side{position:fixed;inset:0 auto 0 0;width:var(--side);z-index:60;background:#070A14;color:#C3CBDD;display:flex;flex-direction:column;border-right:1px solid rgba(232,238,255,.06);--logo-ink:#E8EEFF;--logo-accent:#5B8CFF}
.sx-brand{display:flex;align-items:center;gap:10px;height:var(--top);padding:0 16px;border-bottom:1px solid rgba(232,238,255,.06)}
.sx-logo{display:flex;color:inherit}.sx-logo svg{height:20px;width:auto;display:block}
.sx-surface{font:500 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#7E89A3;padding:4px 6px;border:1px solid rgba(232,238,255,.12);border-radius:5px;white-space:nowrap}
body.sx .sx-side .sx-close{display:none;margin-left:auto}
body.sx .sx-search-side{margin:12px 12px 4px;justify-content:flex-start;background:rgba(232,238,255,.05);color:#98A2B8;border:1px solid rgba(232,238,255,.08);box-shadow:none;min-height:34px;font-weight:400;padding:0 10px}
body.sx .sx-search-side:hover{background:rgba(232,238,255,.09);color:#E8EEFF}
.sx-search-side span{flex:1;text-align:left}
body.sx .sx-search-side kbd,body.sx .sx-side kbd{background:transparent;border-color:rgba(232,238,255,.16);color:#7E89A3}
.sx-nav{flex:1;overflow-y:auto;padding:6px 8px 12px;scrollbar-width:thin;scrollbar-color:#1c2438 transparent}
.sx-group{display:grid;gap:1px;margin-top:10px}
.sx-gl{font:500 10px/1 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:#5F6A84;padding:8px 10px 6px}
body.sx .sx-link{justify-content:flex-start;gap:10px;width:100%;min-height:32px;padding:0 10px;border-radius:7px;background:transparent;border:0;box-shadow:none;color:#AEB7CB;font-weight:450;font-size:13.5px;position:relative}
body.sx .sx-link svg{color:#7E89A3;flex:none}
body.sx .sx-link span:first-of-type{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.sx .sx-link:hover{background:rgba(232,238,255,.06);color:#E8EEFF}
body.sx .sx-link[aria-current=page]{background:rgba(91,140,255,.14);color:#fff}
body.sx .sx-link[aria-current=page] svg{color:#8DB0FF}
body.sx .sx-link[aria-current=page]:before{content:"";position:absolute;left:-8px;top:7px;bottom:7px;width:3px;border-radius:0 3px 3px 0;background:#5B8CFF}
.sx-count{font:500 10.5px/1 var(--mono);padding:3px 6px;border-radius:99px;background:rgba(232,238,255,.1);color:#E8EEFF}
.sx-link[aria-current=page] .sx-count{background:#2A63F5}
.sx-side-foot{border-top:1px solid rgba(232,238,255,.06);padding:12px 14px;display:grid;gap:10px}
.sx-me{display:flex;gap:10px;align-items:center;min-width:0}.sx-me div{min-width:0}
.sx-me b{display:block;color:#E8EEFF;font-size:13px;font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sx-me small{display:block;color:#7E89A3;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sx-av{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font:600 11px/1 var(--sans);color:#fff;background:linear-gradient(135deg,#2A63F5,#7AA2FF);letter-spacing:.02em}
.sx-sla{display:flex;align-items:center;gap:8px;font-size:11.5px;color:#7E89A3}
.sx-live{width:7px;height:7px;border-radius:50%;background:#2BD47D;box-shadow:0 0 0 3px rgba(43,212,125,.18);flex:none}
/* ---------- shell: top bar ---------- */
.sx-top{position:sticky;top:0;z-index:50;height:var(--top);display:flex;align-items:center;gap:12px;padding:0 var(--gut);background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.sx-crumb{display:flex;align-items:center;gap:8px;min-width:0;font-size:13.5px;white-space:nowrap}
.sx-crumb-l{color:var(--muted)}.sx-sep{color:var(--faint)}.sx-crumb b{font-weight:600;overflow:hidden;text-overflow:ellipsis}
body.sx .sx-search{margin-left:auto;width:min(420px,38vw);justify-content:flex-start;background:var(--surface);color:var(--faint);border:1px solid var(--line-2);box-shadow:var(--sh1);font-weight:400;padding:0 8px 0 10px}
body.sx .sx-search:hover{background:var(--surface);border-color:var(--accent);color:var(--muted)}
.sx-search span{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sx-tools{display:flex;align-items:center;gap:4px}
body.sx .sx-icon{width:34px;min-height:34px;padding:0;background:transparent;color:var(--muted);border:1px solid transparent;box-shadow:none;border-radius:var(--r2);position:relative}
body.sx .sx-icon:hover{background:var(--surface);border-color:var(--line);color:var(--text)}
.sx-dot{position:absolute;top:3px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:99px;background:var(--bad);color:#fff;font:600 10px/16px var(--sans);font-style:normal;border:2px solid var(--bg);box-sizing:content-box}
.sx-dot[hidden]{display:none}
body.sx .sx-avbtn{width:34px;min-height:34px;padding:0;background:transparent;border:0;box-shadow:none;border-radius:50%;margin-left:4px}
body.sx .sx-avbtn:hover{background:transparent;box-shadow:0 0 0 3px var(--accent-soft)}
body.sx .sx-burger,body.sx .sx-mark,body.sx .sx-search-m{display:none}
.sx-mark{color:var(--text);--logo-ink:var(--text);--logo-accent:var(--accent)}.sx-mark svg{height:18px;width:auto;display:block}
/* menus and popovers */
.sx-menu,.sx-inbox{position:fixed;z-index:90;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:var(--r3);box-shadow:var(--sh3);padding:6px;min-width:240px;animation:sxIn .12s ease-out}
.sx-menu-h{padding:8px 10px 10px;border-bottom:1px solid var(--line);margin-bottom:4px}.sx-menu-h b{display:block;font-size:13.5px}.sx-menu-h small{display:block;color:var(--muted)}
.sx-role{display:inline-block;margin-top:6px;font:500 10px/1 var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--accent);background:var(--accent-soft);padding:4px 6px;border-radius:5px}
body.sx .sx-menu button{width:100%;justify-content:flex-start;background:transparent;color:var(--text);border:0;box-shadow:none;min-height:32px;padding:0 10px;font-weight:450;border-radius:7px;gap:10px}
body.sx .sx-menu button svg{color:var(--muted)}body.sx .sx-menu button kbd{margin-left:auto}
body.sx .sx-menu button:hover{background:var(--surface-2)}body.sx .sx-menu button.danger{color:var(--bad-ink)}
.sx-menu hr{margin:4px 0}
.sx-inbox{width:min(380px,calc(100vw - 16px));padding:0;max-height:min(70vh,560px);display:flex;flex-direction:column}
.sx-inbox-h{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line)}
.sx-inbox-h .sx-count{background:var(--accent-soft);color:var(--accent)}.sx-grow{flex:1}
.sx-inbox ul{list-style:none;margin:0;padding:4px;overflow:auto}
.sx-inbox li{display:flex;gap:10px;padding:10px;border-radius:8px;cursor:pointer}
.sx-inbox li:hover{background:var(--surface-2)}
.sx-inbox li b{display:block;font-weight:500;font-size:13px;line-height:1.4}.sx-inbox li small{color:var(--muted);font-size:11.5px}
.sx-ndot{flex:none;width:7px;height:7px;margin-top:6px;border-radius:50%;background:transparent}
.sx-inbox li.unread .sx-ndot{background:var(--accent)}.sx-inbox li.unread b{font-weight:600}
.sx-none{cursor:default!important}
@keyframes sxIn{from{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}
/* command palette */
.sx-pal{position:fixed;inset:0;z-index:100;background:rgba(7,10,20,.45);backdrop-filter:blur(2px);display:flex;justify-content:center;align-items:flex-start;padding:12vh 16px 16px}
.sx-pal-box{width:min(640px,100%);background:var(--surface,#fff);color:var(--text);border-radius:14px;box-shadow:var(--sh3);overflow:hidden;display:flex;flex-direction:column;max-height:70vh;animation:sxIn .12s ease-out}
.sx-pal-in{display:flex;align-items:center;gap:10px;padding:0 14px;border-bottom:1px solid var(--line);color:var(--muted)}
body.sx .sx-pal-in input{border:0;box-shadow:none;background:transparent;min-height:52px;font-size:15px;padding:0}
body.sx .sx-pal-in input:focus{box-shadow:none}
.sx-pal-list{overflow:auto;padding:6px}
.sx-pal-h{font:500 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);padding:10px 10px 6px}
.sx-pal-it{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer;color:var(--text-2)}
.sx-pal-it svg{color:var(--muted);flex:none}
.sx-pal-it.on{background:var(--accent-soft);color:var(--text)}.sx-pal-it.on svg{color:var(--accent)}
.sx-pal-t{flex:1;min-width:0}.sx-pal-t b{display:block;font-weight:500;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sx-pal-t small{display:block;color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sx-pal-type{font:500 10px/1 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border:1px solid var(--line);padding:4px 6px;border-radius:5px}
.sx-pal-go{opacity:0;color:var(--accent)}.sx-pal-it.on .sx-pal-go{opacity:1}
.sx-pal-empty{padding:28px 16px;text-align:center}.sx-pal-empty b{display:block}.sx-pal-empty small{color:var(--muted)}
.sx-pal-foot{display:flex;gap:16px;padding:8px 14px;border-top:1px solid var(--line);font-size:11.5px;color:var(--muted);background:var(--surface-2)}
.sx-pal-foot kbd{margin-right:2px}
.sx-keys-box{max-width:460px;padding:6px 0}.sx-keys-h{display:flex;align-items:center;justify-content:space-between;padding:8px 16px 8px}
.sx-keys dl{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin:0;padding:6px 16px 16px;align-items:center;overflow:auto}
.sx-keys dt{display:flex;gap:4px}.sx-keys dd{margin:0;font-size:13.5px;color:var(--text-2)}
/* toasts */
.sx-toasts{position:fixed;right:16px;bottom:16px;z-index:110;display:grid;gap:8px;max-width:min(420px,calc(100vw - 32px))}
.sx-toast{display:flex;align-items:flex-start;gap:10px;background:#0A0F1F;color:#E8EEFF;border-radius:10px;padding:10px 10px 10px 14px;box-shadow:var(--sh3);font-size:13.5px;line-height:1.45;animation:sxIn .15s ease-out;transition:opacity .3s,transform .3s}
.sx-toast span{flex:1;padding-top:2px}.sx-toast.out{opacity:0;transform:translateY(6px)}
body.sx .sx-toast .sx-x{background:transparent;border:0;box-shadow:none;min-height:24px;width:24px;padding:0;color:#98A2B8}
.sx-toast.bad{background:#3a1114}.sx-toast.ok{background:#0d2a1b}
/* ---------- portal bottom bar (phone) ---------- */
body.sx .st-nav{display:none}
@media(max-width:1023px){
  body.sx{--gut:16px}
  body.sx .sx-side{transform:translateX(-102%);transition:transform .2s ease;box-shadow:none;width:min(300px,86vw)}
  body.sx.sx-open .sx-side{transform:none;box-shadow:var(--sh3)}
  body.sx .sx-side .sx-close{display:inline-flex;color:#98A2B8}
  .sx-scrim{position:fixed;inset:0;z-index:55;background:rgba(7,10,20,.5);opacity:0;pointer-events:none;transition:opacity .2s}
  body.sx.sx-open .sx-scrim{opacity:1;pointer-events:auto}
  body.sx .sx-burger,body.sx .sx-mark{display:inline-flex}
  .sx-top{gap:8px}
  .sx-crumb-l,.sx-sep{display:none}
  body.sx .sx-search{width:auto;flex:1;max-width:340px}
}
@media(max-width:759px){
  body.sx .sx-search{display:none}body.sx .sx-search-m{display:inline-flex}
  .sx-crumb{flex:1;font-size:14px}
  body.sx .sx-help{display:none}
  body.sx h1,body.sx .page-hero h1,body.sx .st h1{font-size:21px}
  body.sx .st{padding:16px var(--gut) 96px}
  body[data-surface=portal].sx .st-nav{display:grid;position:fixed;left:0;right:0;bottom:0;z-index:50;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(12px);border-top:1px solid var(--line);grid-template-columns:repeat(5,1fr)}
  body.sx .st-nav button{background:none;box-shadow:none;border:0;color:var(--muted);min-height:58px;font-size:11px;border-radius:0}
  body.sx .st-nav button[aria-current=page]{color:var(--accent)}
  body.sx .card,body.sx .st .card{padding:14px}
  body.sx .toolbar{padding-bottom:10px;margin-bottom:12px}
  body.sx .st-list>li{flex-wrap:wrap}body.sx .st-list>li>.t{flex:1 1 60%}
  body.sx .st-list>li>button,body.sx .st-list>li>a.btn{flex:0 0 auto}
  body.sx .sx-toasts{left:12px;right:12px;bottom:76px}
  body.sx .site-footer.compact{padding-bottom:76px}
}
@media(min-width:760px){body.sx .st-compose,body.sx .st-total{bottom:12px}}

/* ---- Today (admin) ---- */
body.sx .st-grid{align-items:start}
body.sx .tx-hello h1{font-size:26px;letter-spacing:-.02em}
body.sx .tx-sum{margin:4px 0 0;font-size:14px}
body.sx .tx-band{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:#1a2133;border-radius:12px;overflow:hidden;margin:0 0 20px;border:1px solid #1a2133}
body.sx .tx-kpi{all:unset;box-sizing:border-box;display:flex;flex-direction:column;gap:4px;padding:16px 18px;background:var(--night,#070A14);color:#fff;cursor:pointer;min-width:0;transition:background .15s}
body.sx .tx-kpi:hover,body.sx .tx-kpi:focus-visible{background:#0f1526}
body.sx .tx-kpi:focus-visible{outline:2px solid var(--blue-d,#5B8CFF);outline-offset:-2px}
body.sx .tx-kpi.meter{cursor:default}
body.sx .tx-kpi .l{font:500 11px/1 'Geist Mono',ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;color:#8b95ab}
body.sx .tx-kpi b{font-size:24px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.sx .tx-kpi small{font-size:12px;color:#a3acc0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.sx .tx-kpi.warn small{color:var(--warn,#F5A524)}
body.sx .tx-meter{height:4px;border-radius:4px;background:#1f2740;overflow:hidden;margin:2px 0}
body.sx .tx-meter i{display:block;height:100%;background:var(--signal,#2BD47D)}
body.sx .tx-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}
body.sx .tx-side{display:flex;flex-direction:column;gap:16px;min-width:0}
body.sx .tx-side>.card{margin:0}
body.sx .tx-chips{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 8px}
body.sx .tx-chip{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:999px;border:1px solid var(--line,#e3e7ef);font-size:12.5px;font-weight:500;color:var(--steel,#5B6478)}
body.sx .tx-chip span{font:500 11px 'Geist Mono',monospace;color:#8b95ab}
body.sx .tx-chip.on{background:var(--ink,#0A0F1F);border-color:var(--ink,#0A0F1F);color:#fff}
body.sx .tx-chip.on span{color:#a3acc0}
body.sx .tx-chip:focus-visible{outline:2px solid var(--blue,#2A63F5);outline-offset:2px}
body.sx .tx-tri{outline:none}
body.sx .tx-tri li{border-radius:8px;padding-left:8px;padding-right:8px;margin:0 -8px;cursor:default}
body.sx .tx-tri li.sel{background:var(--mist,#E8EEFF)}
body.sx .tx-tri:focus-within li.sel{box-shadow:inset 2px 0 0 var(--blue,#2A63F5)}
body.sx .tx-dot{width:8px;height:8px;border-radius:50%;flex:none;background:var(--signal,#2BD47D)}
body.sx .tx-dot.bad{background:var(--bad,#E5484D);box-shadow:0 0 0 3px rgba(229,72,77,.15)}
body.sx .kbd-hint{margin-left:auto;font-size:11.5px;color:#8b95ab;font-weight:400;display:inline-flex;gap:4px;align-items:center}
body.sx .kbd-hint kbd{font:500 10.5px 'Geist Mono',monospace;border:1px solid var(--line,#e3e7ef);border-bottom-width:2px;border-radius:4px;padding:1px 5px;color:var(--steel,#5B6478);background:#fff}
body.sx .tx-funnel{display:flex;flex-direction:column;gap:8px}
body.sx .tx-funnel .r{display:grid;grid-template-columns:90px 1fr 28px;gap:10px;align-items:center;font-size:13px}
body.sx .tx-funnel .r span{color:var(--steel,#5B6478)}
body.sx .tx-funnel .r b{text-align:right;font-variant-numeric:tabular-nums}
body.sx .tx-funnel .bar{height:8px;border-radius:4px;background:var(--cloud,#F4F6FA);overflow:hidden}
body.sx .tx-funnel .bar i{display:block;height:100%;background:var(--blue,#2A63F5);border-radius:4px}
body.sx .tx-notes li small{white-space:nowrap}
html[data-theme=dark] body.sx .tx-chip.on{background:#fff;color:#070A14}
html[data-theme=dark] body.sx .tx-tri li.sel{background:#141b2e}
html[data-theme=dark] body.sx .kbd-hint kbd{background:#141b2e;border-color:#283048}
html[data-theme=dark] body.sx .tx-funnel .bar{background:#141b2e}
@media (max-width:1180px){body.sx .tx-band{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:900px){body.sx .tx-grid{grid-template-columns:1fr}}
@media (max-width:560px){body.sx .tx-band{grid-template-columns:repeat(2,minmax(0,1fr))}body.sx .tx-kpi{padding:12px 14px}body.sx .tx-kpi b{font-size:20px}body.sx .kbd-hint{display:none}body.sx .tx-hello h1{font-size:22px}}
/* tables never push the page wider */
body.sx .wrap,body.sx main,body.sx .st,body.sx .card{min-width:0}
body.sx .card table{width:100%}
body.sx .card:has(> table),body.sx .card .scroll{overflow-x:auto}
/* CRM */
body.sx .st-grid>*{min-width:0}
body.sx .crm-feed li{align-items:flex-start}
body.sx .crm-feed .t{min-width:0;flex:1}
body.sx .crm-feed small{overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
body.sx .crm-feed .r{flex:none;white-space:nowrap;font:500 11.5px 'Geist Mono',monospace;color:#8b95ab;padding-top:2px}
body.sx .crm-more{margin-top:8px}
body.sx .crm-kpi{border-radius:12px;padding:14px 16px}
body.sx .crm-kpi b{font-size:22px;font-weight:600}
body.sx .card>h2 .row{flex-wrap:nowrap;gap:8px}
body.sx .card>h2 .row input,body.sx .card>h2 .row select{width:auto;min-width:0;max-width:220px}
body.sx .st-grid>.st{display:flex;flex-direction:column;gap:16px}
body.sx .st-grid>.st>.card{margin:0}
body.sx .st-grid>.card{margin:0}
/* card-like buttons keep readable text */
body.sx button.rm-card,body.sx button.st-pc{display:block;width:100%;min-height:0;height:auto;text-align:left;color:var(--text);line-height:1.35;font-weight:400;white-space:normal}
body.sx button.rm-card b,body.sx button.st-pc b{display:block;font-weight:600;color:var(--text)}
body.sx button.rm-card small,body.sx button.st-pc small{display:block;color:var(--muted);margin:2px 0 4px}
body.sx .rm-col h3,body.sx .st-col h3{display:flex;align-items:center;gap:6px}
/* stacked page content never stretches */
body.sx .st{align-content:start}
body.sx .st>*{justify-self:stretch}
body.sx .st>button.link,body.sx .st-back{justify-self:start;align-self:start}
body.sx .to-more{display:none}
body.sx .page-hero .rm-ndacover{display:inline-flex;align-items:center;gap:4px;margin:6px 0 0;padding:4px 10px;border-radius:999px;background:var(--ok-bg,#e6f8ee);color:#0f7a43;font-size:12.5px;font-weight:500}
html[data-theme=dark] body.sx .page-hero .rm-ndacover{background:rgba(43,212,125,.12);color:#5fe0a0}
body.sx .st-kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
body.sx .st-kpi{min-width:0}
body.sx .st-kpi span{display:block;overflow-wrap:anywhere}

/* ---------- Data grid (grid.js): toolbar, saved views, bulk bar, inline edit, paging ---------- */
body.sx .gx{background:var(--surface);border:1px solid var(--line);border-radius:var(--r3);box-shadow:var(--sh1);min-width:0;max-width:100%}
body.sx .gx-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--line)}
body.sx .gx-l,body.sx .gx-r{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-width:0}
body.sx .gx-l{flex:1 1 320px}
body.sx .gx select,body.sx .gx input.gx-q{height:32px;font-size:13px;padding:0 10px;border:1px solid var(--line-2);border-radius:var(--r2);background:var(--surface);color:var(--text);min-width:0;max-width:100%}
body.sx .gx input.gx-q{flex:1 1 160px;width:auto;padding-left:30px;background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238A93A8' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 10px center}
body.sx .gx-view{font-weight:600;max-width:200px}
body.sx .gx-f{max-width:170px}
body.sx .gx-tool{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;font-size:13px;font-weight:500;border:1px solid var(--line-2);border-radius:var(--r2);background:var(--surface);color:var(--text-2);cursor:pointer;white-space:nowrap}
body.sx .gx-tool:hover{background:var(--surface-2);color:var(--text)}
body.sx .gx-tool svg{width:15px;height:15px}
body.sx .gx-tool.pri{background:var(--accent);border-color:var(--accent);color:#fff}
body.sx .gx-r{position:relative}body.sx .gx-pop{position:absolute;right:0;top:calc(100% + 6px);z-index:60;min-width:220px;max-width:min(320px,calc(100vw - 16px));max-height:min(420px,70vh);overflow:auto;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r3);box-shadow:var(--sh3);padding:6px}
body.sx .gx-pop-h{font:500 10.5px/1.2 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);padding:8px 8px 4px}
body.sx .gx-chk,body.sx .gx-mi{display:flex;align-items:center;gap:8px;width:100%;padding:7px 8px;border-radius:var(--r1);font-size:13px;color:var(--text);background:none;border:0;text-align:left;cursor:pointer}
body.sx .gx-chk:hover,body.sx .gx-mi:hover{background:var(--surface-2)}
body.sx .gx-mi.bad{color:var(--bad-ink)}
body.sx .gx-bulk{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:8px 12px;background:var(--accent-soft);border-bottom:1px solid var(--line);position:sticky;top:var(--top);z-index:5}
body.sx .gx-bulk>b{font-size:13px;color:var(--accent-ink);margin-right:6px}
body.sx .gx-bulk button{height:30px;font-size:12.5px}
body.sx .gx-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
body.sx table.gx-t{width:100%;border-collapse:separate;border-spacing:0}
body.sx .gx-t th{position:sticky;top:0;z-index:2;border-radius:0!important}
body.sx .gx-t th.gx-s{cursor:pointer;user-select:none}body.sx .gx-t th.gx-s:hover{color:var(--text)}
body.sx .gx-t th.gx-s:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
body.sx .gx-t th[aria-sort=ascending],body.sx .gx-t th[aria-sort=descending]{color:var(--accent-ink)}
body.sx .gx-ar{font-size:10px;opacity:.8}
body.sx .gx-t td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:middle;max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.sx .gx-t td.wrap{white-space:normal;min-width:180px}
body.sx .gx-t tr:last-child td{border-bottom:0}
body.sx .gx-t th.r,body.sx .gx-t td.r{text-align:right;font-variant-numeric:tabular-nums}
body.sx .gx-t th.gx-cb,body.sx .gx-t td.gx-cb{width:36px;padding-right:0}
body.sx .gx-t input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;margin:0}
body.sx .gx-t tr.click{cursor:pointer}
body.sx .gx-t tbody tr:hover td{background:var(--surface-2)}
body.sx .gx-t tr.on td{background:var(--accent-soft)!important}
body.sx .gx-t tr.cur td{box-shadow:inset 0 1px 0 var(--accent),inset 0 -1px 0 var(--accent)}
body.sx .gx-t tr.cur td:first-child{box-shadow:inset 2px 0 0 var(--accent),inset 0 1px 0 var(--accent),inset 0 -1px 0 var(--accent)}
body.sx .gx.dense .gx-t td{padding:6px 12px}
body.sx .gx-t td.gx-ed{cursor:text;position:relative}
body.sx .gx-t td.gx-ed:hover{box-shadow:inset 0 0 0 1px var(--line-2);background:var(--surface)}
body.sx .gx-pen{display:inline-block;margin-left:6px;opacity:0;color:var(--faint);vertical-align:-2px}
body.sx .gx-pen svg{width:12px;height:12px}
body.sx .gx-t td.gx-ed:hover .gx-pen,body.sx .gx-t td.gx-ed:focus .gx-pen{opacity:1}
body.sx .gx-t td.saving{opacity:.55}
body.sx .gx-in{width:100%;min-width:90px;height:30px;font-size:13px;padding:0 8px;border:1px solid var(--accent);border-radius:var(--r1);box-shadow:0 0 0 3px var(--accent-soft);background:var(--surface);color:var(--text)}
body.sx .gx-empty{padding:40px 16px;text-align:center;color:var(--muted)}
body.sx .gx-empty b{display:block;color:var(--text);font-size:14px;margin-bottom:4px}
body.sx .gx-foot{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;padding:8px 12px;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted)}
body.sx .gx-pg{display:flex;gap:6px;align-items:center}
body.sx .gx-pg button{height:28px;font-size:12px}
body.sx .gx-clear{font-size:12.5px}
@media (max-width:640px){body.sx .gx-l{flex-basis:100%}body.sx .gx-r{width:100%}body.sx .gx-view,body.sx .gx-f{flex:1 1 130px;max-width:none}body.sx .gx-t th.hide-sm,body.sx .gx-t td.hide-sm{display:none}body.sx .gx-t td{max-width:200px}}

/* ---------- Live indicator ---------- */
body.sx .sx-lv{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 9px;border-radius:99px;font:500 11px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--faint);border:1px solid var(--line)}
body.sx .sx-lv i{width:7px;height:7px;border-radius:50%;background:var(--faint)}
body.sx .sx-lv.on{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 30%,transparent);background:var(--ok-soft)}
body.sx .sx-lv.on i{background:var(--ok);animation:sxpulse 2.4s ease-in-out infinite}
@keyframes sxpulse{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--ok) 45%,transparent)}50%{box-shadow:0 0 0 5px transparent}}
@media (max-width:720px){body.sx .sx-lv span{display:none}body.sx .sx-lv{padding:0 8px}}
@media (prefers-reduced-motion:reduce){body.sx .sx-lv.on i{animation:none}}

/* ---------- Two-pane record pages + right rail ---------- */
body.sx .tp{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}
body.sx .tp-main{min-width:0}
body.sx .tp-rail{position:sticky;top:calc(var(--top) + 16px);max-height:calc(100svh - var(--top) - 32px);overflow:auto;min-width:0;scrollbar-width:thin}
body.sx .rail{display:grid;gap:12px}
body.sx .rc{background:var(--surface);border:1px solid var(--line);border-radius:var(--r3);padding:14px 16px;box-shadow:var(--sh1);min-width:0}
body.sx .rc-h{display:flex;align-items:center;gap:8px;justify-content:space-between;margin:0 0 10px;font:600 12px/1.2 var(--sans);letter-spacing:.01em;color:var(--text)}
body.sx .rc-h small{font:400 11.5px/1.2 var(--sans);color:var(--faint)}
body.sx .rc-next{border-color:color-mix(in srgb,var(--accent) 35%,var(--line));box-shadow:0 0 0 3px var(--accent-soft)}
body.sx .ns{list-style:none;margin:0;padding:0;display:grid;gap:8px}
body.sx .ns-i{display:grid;gap:3px;padding:10px 12px;border-radius:var(--r2);background:var(--surface-2);border-left:3px solid var(--line-2)}
body.sx .ns-i.first{background:var(--accent-soft);border-left-color:var(--accent)}
body.sx .ns-i.bad{border-left-color:var(--bad-ink)}body.sx .ns-i.warn{border-left-color:var(--warn-ink)}body.sx .ns-i.ok{border-left-color:var(--ok)}
body.sx .ns-i b{font-size:13.5px;line-height:1.35}
body.sx .ns-i small{color:var(--muted);font-size:12.5px;line-height:1.4}
body.sx .ns-a{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
body.sx .ns-clear{margin:0;color:var(--muted)}body.sx .ns-clear b{color:var(--ok)}
body.sx .rc-dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 12px;margin:0;font-size:13px}
body.sx .rc-dl dt{color:var(--muted);padding:6px 0}
body.sx .rc-dl dd{margin:0;padding:5px 8px;border-radius:var(--r1);overflow-wrap:anywhere;min-width:0}
body.sx .rc-dl dd.ie{cursor:text}
body.sx .rc-dl dd.ie:hover,body.sx .rc-dl dd.ie:focus-visible{background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line-2);outline:0}
body.sx .rc-dl dd.saving{opacity:.5}
body.sx .ie-in{width:100%;height:30px;font-size:13px;padding:0 8px;border:1px solid var(--accent);border-radius:var(--r1);box-shadow:0 0 0 3px var(--accent-soft);background:var(--surface);color:var(--text)}
body.sx .rc-src{font:500 10.5px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--faint);padding:4px 7px;border:1px solid var(--line);border-radius:99px}
body.sx .rc-src.on{color:var(--accent-ink);border-color:var(--accent);background:var(--accent-soft)}
body.sx .as-sum{margin:0 0 10px;color:var(--text-2);font-size:13px;line-height:1.55}
body.sx .as-draft{margin-top:10px;display:grid;gap:8px}
body.sx .as-draft textarea{width:100%;font:13px/1.5 var(--sans);padding:10px;border:1px solid var(--line-2);border-radius:var(--r2);background:var(--surface-2);color:var(--text);resize:vertical}
body.sx .sk{display:grid;gap:8px}body.sx .sk i{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,var(--surface-2),var(--line),var(--surface-2));background-size:200% 100%;animation:sk 1.2s linear infinite}
body.sx .sk i:nth-child(2){width:80%}body.sx .sk i:nth-child(3){width:60%}
@keyframes sk{to{background-position:-200% 0}}
@media (max-width:1100px){body.sx .tp{grid-template-columns:minmax(0,1fr)}body.sx .tp-rail{position:static;max-height:none;order:-1}body.sx .rail{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}}

/* ---------- Client Results dashboard ---------- */
body.sx .rz{display:grid;gap:16px}
body.sx .rz-hero{display:grid;grid-template-columns:auto minmax(0,1fr);gap:24px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r4);padding:20px 24px;box-shadow:var(--sh1)}
body.sx .rz-ring{width:120px;height:120px}
body.sx .rz-ring text{font:700 24px var(--sans);fill:var(--text)}
body.sx .rz-ring .sub{font:500 9px var(--mono);letter-spacing:.08em;fill:var(--muted);text-transform:uppercase}
body.sx .rz-hero h1{margin:0 0 6px;font-size:22px;letter-spacing:-.02em}
body.sx .rz-hero p{margin:0;color:var(--muted)}
body.sx .rz-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}
body.sx .rz-k{background:var(--surface);border:1px solid var(--line);border-radius:var(--r3);padding:14px 16px;box-shadow:var(--sh1);min-width:0}
body.sx .rz-k small{display:block;font:500 10.5px/1.2 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
body.sx .rz-k b{display:block;font-size:24px;letter-spacing:-.02em;margin:6px 0 2px;font-variant-numeric:tabular-nums}
body.sx .rz-k span{font-size:12.5px;color:var(--muted)}
body.sx .rz-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px;align-items:start}
body.sx .rz-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r3);padding:16px 18px;box-shadow:var(--sh1);min-width:0}
body.sx .rz-card h2{margin:0 0 12px;font-size:14px;display:flex;justify-content:space-between;gap:8px;align-items:baseline}
body.sx .rz-card h2 small{font-weight:400;color:var(--faint);font-size:12px}
body.sx .rz-bars{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;align-items:end;height:120px}
body.sx .rz-bars div{display:grid;gap:4px;align-items:end;height:100%;text-align:center;font:500 10px/1 var(--mono);color:var(--faint)}
body.sx .rz-bars i{display:block;border-radius:4px 4px 0 0;background:var(--accent);min-height:3px}
body.sx .rz-bars i.zero{background:var(--line-2)}
body.sx .rz-ms{list-style:none;margin:0;padding:0;display:grid;gap:0}
body.sx .rz-ms li{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:10px;align-items:start;padding:8px 0;position:relative}
body.sx .rz-ms li:not(:last-child):before{content:"";position:absolute;left:10px;top:28px;bottom:-6px;width:2px;background:var(--line)}
body.sx .rz-ms .dot{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--line-2);background:var(--surface);font-size:11px;font-weight:700}
body.sx .rz-ms .done .dot{background:var(--ok);border-color:var(--ok);color:#fff}
body.sx .rz-ms .active .dot{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}
body.sx .rz-ms b{font-size:13.5px}body.sx .rz-ms small{display:block;color:var(--muted);font-size:12px}
body.sx .rz-ms .when{font:500 11.5px var(--mono);color:var(--muted);white-space:nowrap}
body.sx .rz-spark{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
body.sx .rz-spark svg{width:100%;height:44px;display:block}
body.sx .rz-week{white-space:pre-wrap;color:var(--text-2);font-size:13.5px;line-height:1.6;margin:0}
@media (max-width:900px){body.sx .rz-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:520px){body.sx .rz-hero{grid-template-columns:minmax(0,1fr);justify-items:start;padding:16px}body.sx .rz-ring{width:96px;height:96px}body.sx .rz-k b{font-size:20px}}
@media (max-width:1100px){body.sx .tp.tp-opt .tp-rail{display:none}}
body.sx .card .gx{box-shadow:none}
body.sx .rz-health{display:grid;grid-template-columns:repeat(28,minmax(0,1fr));gap:3px}
body.sx .rz-health i{display:block;height:22px;border-radius:3px;background:var(--line-2)}
body.sx .rz-health i.green{background:var(--ok)}body.sx .rz-health i.amber{background:var(--warn)}body.sx .rz-health i.red{background:var(--bad)}
body.sx .rz-k span.up{color:var(--ok)}body.sx .rz-k span.down{color:var(--bad)}
body.sx .rz-k svg{margin-top:8px}
/* grid toolbar: keep controls inline (global select{width:100%} was stacking them) */
body.sx .gx select{width:auto;flex:0 1 auto}
body.sx .gx input.gx-q{min-width:140px}
body.sx .card>.gx,body.sx .panel>.gx{border:0;box-shadow:none;border-radius:0}
@media (max-width:560px){body.sx .gx-l>*{flex:1 1 100%;max-width:100%}body.sx .gx-view,body.sx .gx-f{max-width:100%}}
body.sx .gx-bulk[hidden]{display:none}
body.sx dialog.gx-ask{width:min(420px,calc(100vw - 32px));padding:20px;border:1px solid var(--line);background:var(--surface);color:var(--text)}
body.sx dialog.gx-ask::backdrop{background:rgba(10,14,25,.42)}
body.sx .gx-ask h3{margin:0 0 14px;font-size:16px}
body.sx .gx-ask-f{display:grid;gap:6px;margin-bottom:12px;font-size:12.5px;color:var(--muted)}
body.sx .gx-ask-f input,body.sx .gx-ask-f select{width:100%;height:36px}
body.sx .gx-ask-b{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}
/* Results: ROI band + AI this week */
body.sx .rz-roi{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:20px;background:linear-gradient(135deg,var(--surface),var(--accent-soft));border:1px solid var(--line);border-radius:var(--r3);padding:18px 20px;box-shadow:var(--sh1);align-items:center}
body.sx .rz-roi h2{margin:4px 0 6px;font-size:24px;letter-spacing:-.02em}
body.sx .rz-roi p{margin:0;color:var(--text-2);font-size:13.5px;line-height:1.55}
body.sx .rz-roi-k{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0 10px}
body.sx .rz-roi-k div{background:var(--surface);border:1px solid var(--line);border-radius:var(--r2,10px);padding:10px 12px;min-width:0}
body.sx .rz-roi-k small{display:block;font:500 10px/1.2 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
body.sx .rz-roi-k b{display:block;font-size:18px;margin-top:4px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
body.sx .rz-note{font-size:12px;color:var(--muted);margin-top:8px}
body.sx .rz-note summary{cursor:pointer;color:var(--text-2)}
body.sx .rz-note p{margin:6px 0 0;font-size:12px;color:var(--muted)}
body.sx .rz-roi-chart svg{width:100%;height:140px;display:block}
body.sx .rz-roi-chart .lift{stroke:var(--ok)}body.sx .rz-roi-chart .inv{stroke:var(--accent)}
body.sx .rz-legend{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;color:var(--muted);margin-top:8px}
body.sx .rz-legend span:before{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px;background:var(--line-2)}
body.sx .rz-legend .lift:before,body.sx .rz-legend .r:before{background:var(--ok)}
body.sx .rz-legend .inv:before,body.sx .rz-legend .m:before{background:var(--accent)}
body.sx .rz-legend .c:before{background:var(--line-2)}
body.sx .rz-axis{display:flex;justify-content:space-between;font:500 10.5px var(--mono);color:var(--faint);margin-top:2px}
body.sx .rz-ai-top{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;align-items:end}
body.sx .rz-ai-saved b{display:block;font-size:34px;letter-spacing:-.03em;color:var(--ok);font-variant-numeric:tabular-nums}
body.sx .rz-ai-saved span{display:block;font-size:13px;color:var(--text-2)}
body.sx .rz-ai-saved small{display:block;font-size:12px;color:var(--muted);margin-top:4px}
body.sx .rz-ai-bars{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;align-items:end;height:112px}
body.sx .rz-ai-bars>div{display:grid;gap:4px;align-items:end;height:100%;text-align:center;font:500 10px/1 var(--mono);color:var(--faint)}
body.sx .rz-ai-bars .stk{display:flex;flex-direction:column-reverse;border-radius:4px 4px 0 0;overflow:hidden;min-height:3px;background:var(--line-2)}
body.sx .rz-ai-bars .stk i{display:block;min-height:3px}
body.sx .rz-ai-bars .stk i.r{background:var(--ok)}body.sx .rz-ai-bars .stk i.m{background:var(--accent)}body.sx .rz-ai-bars .stk i.c{background:var(--line-2)}
body.sx .rz-ai-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}
body.sx .rz-ai-list li{padding:9px 12px 9px 14px;border-left:3px solid var(--accent);background:var(--bg-2,var(--accent-soft));border-radius:0 8px 8px 0}
body.sx .rz-ai-list li.reply{border-color:var(--ok)}body.sx .rz-ai-list li.health{border-color:var(--line-2)}
body.sx .rz-ai-list b{display:block;font-size:13.5px}body.sx .rz-ai-list small{display:block;color:var(--muted);font-size:12.5px;margin-top:2px}
@media (max-width:900px){body.sx .rz-roi{grid-template-columns:minmax(0,1fr)}}
@media (max-width:520px){body.sx .rz-ai-top{grid-template-columns:minmax(0,1fr)}body.sx .rz-roi-k{grid-template-columns:minmax(0,1fr)}body.sx .rz-roi{padding:16px}}
/* Company record: tabs + inline-editable sections */
body.sx .co-tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin:0 0 14px;overflow-x:auto;scrollbar-width:none}
body.sx .co-tabs::-webkit-scrollbar{display:none}
body.sx .co-tab{background:none;border:0;border-bottom:2px solid transparent;border-radius:0;color:var(--muted);font-weight:600;font-size:13.5px;padding:9px 12px;white-space:nowrap;box-shadow:none;min-height:40px}
body.sx .co-tab:hover{color:var(--text);background:none}
body.sx .co-tab[aria-selected="true"]{color:var(--text);border-bottom-color:var(--accent)}
body.sx .co-ov{display:grid;gap:14px}
body.sx .co-tiles .rz-k b{font-size:20px}
body.sx .co-secs{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;align-items:start}
body.sx .co-sec{margin:0}
body.sx .co-h{margin:0 0 8px;font-size:13px;display:flex;justify-content:space-between;align-items:baseline;gap:8px}
body.sx .co-h small{font-weight:400;color:var(--faint)}
body.sx .co-dl{grid-template-columns:minmax(96px,auto) minmax(0,1fr)}
body.sx .co-pre{white-space:pre-wrap;display:block;line-height:1.5}
body.sx .ie-ta{width:100%;min-height:96px;font:inherit}
@media (max-width:520px){body.sx .co-secs{grid-template-columns:minmax(0,1fr)}}
body.sx .rz-roi-chart .base{stroke:var(--muted)}body.sx .rz-roi-chart .since{fill:var(--accent-soft);opacity:.9}
body.sx .rz-legend .base:before{background:none;border-top:2px dashed var(--muted);height:0;border-radius:0}
body.sx .rz-legend .since:before{background:var(--accent-soft);border:1px solid var(--accent)}
body.sx .co-secs>*{margin:0!important}
body.sx .co-tiles{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))!important}
body.sx .gx-bar{align-items:flex-start}body.sx .gx-r{margin-left:auto}
@media (max-width:520px){body.sx .rz-roi-k{grid-template-columns:repeat(2,minmax(0,1fr))}}
