:root{
  --navy:#0B1526;--navy-2:#13223A;--edge:#DDE3EC;--ink:#1A2233;--mute:#64748B;--bg:#F4F6FA;--card:#FFFFFF;
  --teal:#12A386;--teal-soft:#E3F5F0;--amber:#B7791F;--amber-soft:#FDF3E2;--red:#C53030;--red-soft:#FDECEC;
  --display:"Sora",system-ui,-apple-system,"Segoe UI",sans-serif;--sans:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 var(--sans)}
a{color:var(--teal)}
h1,h2,h3{font-family:var(--display);margin:0 0 12px;line-height:1.2}
h1{font-size:24px}h2{font-size:18px}h3{font-size:15px}
.muted{color:var(--mute)}.small{font-size:13px}
/* shell */
.shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh}
.side{background:var(--navy);color:#C9D4E5;padding:20px 14px;display:flex;flex-direction:column;gap:4px}
.side.portal{background:var(--surface,#fff);color:var(--ink);border-right:1px solid var(--edge)}
.brand{font:700 18px var(--display);color:#fff;padding:4px 10px 18px}.brand b{color:#1FD1AE}
.side.portal .brand{color:var(--navy)}
.side a{color:inherit;text-decoration:none;padding:9px 10px;border-radius:8px}
.side a:hover,.side a.on{background:var(--navy-2);color:#fff}
.side.portal a:hover,.side.portal a.on{background:var(--teal-soft);color:var(--navy)}
.side .grow{flex:1}
.side form button{width:100%}
.main{padding:24px 28px;min-width:0}
.topline{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;flex-wrap:wrap}
.banner{background:var(--amber-soft);color:var(--amber);border:1px solid #F3D19C;padding:10px 14px;border-radius:10px;
  display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}
/* cards, tables, forms */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:18px}
.card{background:var(--card);border:1px solid var(--edge);border-radius:12px;padding:14px 16px}
.card .n{font:700 26px var(--display)}.card .l{color:var(--mute);font-size:13px}
.panel{background:var(--card);border:1px solid var(--edge);border-radius:12px;padding:18px;margin-bottom:18px}
.wrap{overflow-x:auto}
table{border-collapse:collapse;width:100%}
th,td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--edge);vertical-align:top}
th{font-size:12px;color:var(--mute);font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.pill{display:inline-block;padding:2px 9px;border-radius:99px;font-size:12px;font-weight:600}
.pill.active,.pill.ok{background:var(--teal-soft);color:var(--teal)}
.pill.suspended,.pill.off,.pill.bad{background:var(--red-soft);color:var(--red)}
.pill.warn{background:var(--amber-soft);color:var(--amber)}
.pill.super{background:var(--edge-2,#E6ECF7);color:var(--navy)}
form.inline{display:inline}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:end}
.field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px;min-width:180px;flex:1}
label{font-size:13px;color:var(--mute);font-weight:600}
input,select,textarea{font:inherit;padding:9px 11px;border:1px solid var(--edge);border-radius:8px;background:var(--surface,#fff);color:var(--ink)}
textarea{min-height:70px}
button,.btn{font:600 14px var(--sans);padding:9px 14px;border-radius:8px;border:1px solid var(--navy);background:var(--navy);
  color:#fff;cursor:pointer;text-decoration:none;display:inline-block}
button.ghost,.btn.ghost{background:transparent;color:var(--navy);border-color:var(--edge)}
button.danger{background:var(--red);border-color:var(--red)}
button.teal{background:var(--teal);border-color:var(--teal)}
.side button.ghost{color:#C9D4E5;border-color:#2A3B57}
.side.portal button.ghost{color:var(--ink);border-color:var(--edge)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #7FD9C6;outline-offset:1px}
.msg{padding:10px 12px;border-radius:8px;margin-bottom:14px;background:var(--red-soft);color:var(--red)}
.msg.ok{background:var(--teal-soft);color:var(--teal)}
.link-box{background:var(--teal-soft);border:1px solid #9ED9CB;border-radius:10px;padding:12px;margin-bottom:14px;word-break:break-all}
.link-box code{font-size:13px}
/* sign-in pages */
.auth{min-height:100vh;display:grid;place-items:center;background:var(--navy);padding:16px}
.auth .box{background:var(--surface,#fff);border-radius:16px;padding:28px;width:100%;max-width:400px}
.auth .brand{color:var(--navy);padding:0 0 14px}
.qr{display:flex;justify-content:center;margin:10px 0}
.qr svg{width:200px;height:200px}
.secret{font-family:ui-monospace,Menlo,monospace;font-size:13px;background:var(--bg);padding:8px;border-radius:8px;word-break:break-all}
@media (max-width:800px){.shell{grid-template-columns:1fr}.side{flex-direction:row;flex-wrap:wrap;padding:10px}.side .grow{display:none}.brand{padding:8px}.main{padding:16px}}

/* ---- portal components ---- */
.grid{display:grid;gap:14px;margin-bottom:14px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.panel>.hd{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}
.panel>.hd h2{margin:0}
.kpi .l{color:var(--mute);font-size:12px}.kpi .v{font:700 24px/1.2 var(--display);margin-top:4px;font-variant-numeric:tabular-nums}.kpi .s{font-size:12px;color:var(--mute);margin-top:2px}
.up{color:var(--teal)}.down{color:var(--red)}
td.n,th.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
tfoot td{font-weight:700;background:var(--bg)}
tr.click:hover td{background:var(--bg)}
.meter{height:8px;border-radius:99px;background:var(--bg);border:1px solid var(--edge);overflow:hidden;min-width:90px}
.meter i{display:block;height:100%;background:var(--teal)}
.meter.high i{background:var(--amber)}.meter.exceeded i{background:var(--red)}
.meter.big{height:14px}
.mrow{display:flex;align-items:center;gap:10px}.mrow .meter{flex:1}
.tabs{display:flex;gap:2px;border-bottom:1px solid var(--edge);margin-bottom:16px;overflow-x:auto}
.tabs a{padding:9px 12px;color:var(--mute);text-decoration:none;font-weight:600;border-bottom:2px solid transparent;white-space:nowrap}
.tabs a.on{color:var(--ink);border-bottom-color:var(--teal)}
.list .it{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--edge)}
.list .it:first-child{border-top:0;padding-top:0}.list .it .grow{flex:1;min-width:0}
.list .it .t{font-weight:600}.list .it .d{color:var(--mute);font-size:13px}
.kanban{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:12px;overflow-x:auto;padding-bottom:6px}
.col{background:#EDF1F7;border:1px solid var(--edge);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:8px;min-height:140px}
.col h3{display:flex;justify-content:space-between;margin:2px 4px 4px}
.ord{background:var(--surface,#fff);border:1px solid var(--edge);border-radius:10px;padding:10px}
.ord .t1{display:flex;justify-content:space-between;gap:8px;font-weight:600}
.ord .items{font-size:13px;color:var(--mute);margin:6px 0;white-space:pre-line}
.ord .foot{display:flex;justify-content:space-between;align-items:center;gap:6px}
.live-dot{width:8px;height:8px;border-radius:50%;background:var(--red);display:inline-block;animation:pulse 1.4s infinite}
@keyframes pulse{50%{opacity:.35}}
@media (prefers-reduced-motion:reduce){.live-dot{animation:none}}
.trans{background:var(--bg);border-radius:10px;padding:10px 12px;font-size:13px;display:flex;flex-direction:column;gap:6px;max-height:360px;overflow:auto}
.trans .ai b{color:var(--teal)}.trans .cu b{color:#1D4ED8}
.tag{display:inline-block;font-size:11px;font-weight:600;border-radius:6px;padding:1px 6px;background:var(--bg);color:var(--mute);border:1px solid var(--edge)}
.tag.custom{background:var(--edge-2,#E6ECF7);color:#1D4ED8;border-color:transparent}
.cnt{margin-left:auto;font-size:11px;background:var(--teal);color:#fff;border-radius:99px;padding:0 7px;line-height:18px}
.cnt.bad{background:var(--red)}
.why{font-size:12px;color:var(--mute);margin-top:3px}
.why b{color:var(--ink)}
.side a{display:flex;align-items:center;gap:8px}
.side .grp{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#7F8DAA;padding:12px 10px 4px}
.side.portal .grp{color:var(--mute)}
.check{display:flex;gap:8px;align-items:center;font-weight:500;color:var(--ink);font-size:14px}
.check input{width:18px;height:18px}
.setrow{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:11px 0;border-top:1px solid var(--edge)}
.setrow:first-of-type{border-top:0}.setrow .d{color:var(--mute);font-size:13px}
.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:14px;margin:0}.kv dt{color:var(--mute)}.kv dd{margin:0;font-weight:500}
.filters{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-bottom:14px}
.filters .field{min-width:140px;flex:0 1 auto;margin-bottom:0}
.empty{padding:22px;text-align:center;color:var(--mute)}
.btn.sm,button.sm{padding:5px 10px;font-size:13px}
.inv{max-width:720px;margin:24px auto;background:var(--surface,#fff);border:1px solid var(--edge);border-radius:12px;padding:28px}
@media (max-width:1100px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:800px){.g2,.g3{grid-template-columns:1fr}}
@media (max-width:480px){.g4{grid-template-columns:1fr}}
/* meter widths without inline styles (the CSP forbids them) */
.w0{width:0%}.w1{width:1%}.w2{width:2%}.w3{width:3%}.w4{width:4%}.w5{width:5%}.w6{width:6%}.w7{width:7%}.w8{width:8%}.w9{width:9%}.w10{width:10%}.w11{width:11%}.w12{width:12%}.w13{width:13%}.w14{width:14%}.w15{width:15%}.w16{width:16%}.w17{width:17%}.w18{width:18%}.w19{width:19%}.w20{width:20%}.w21{width:21%}.w22{width:22%}.w23{width:23%}.w24{width:24%}.w25{width:25%}.w26{width:26%}.w27{width:27%}.w28{width:28%}.w29{width:29%}.w30{width:30%}.w31{width:31%}.w32{width:32%}.w33{width:33%}.w34{width:34%}.w35{width:35%}.w36{width:36%}.w37{width:37%}.w38{width:38%}.w39{width:39%}.w40{width:40%}.w41{width:41%}.w42{width:42%}.w43{width:43%}.w44{width:44%}.w45{width:45%}.w46{width:46%}.w47{width:47%}.w48{width:48%}.w49{width:49%}.w50{width:50%}.w51{width:51%}.w52{width:52%}.w53{width:53%}.w54{width:54%}.w55{width:55%}.w56{width:56%}.w57{width:57%}.w58{width:58%}.w59{width:59%}.w60{width:60%}.w61{width:61%}.w62{width:62%}.w63{width:63%}.w64{width:64%}.w65{width:65%}.w66{width:66%}.w67{width:67%}.w68{width:68%}.w69{width:69%}.w70{width:70%}.w71{width:71%}.w72{width:72%}.w73{width:73%}.w74{width:74%}.w75{width:75%}.w76{width:76%}.w77{width:77%}.w78{width:78%}.w79{width:79%}.w80{width:80%}.w81{width:81%}.w82{width:82%}.w83{width:83%}.w84{width:84%}.w85{width:85%}.w86{width:86%}.w87{width:87%}.w88{width:88%}.w89{width:89%}.w90{width:90%}.w91{width:91%}.w92{width:92%}.w93{width:93%}.w94{width:94%}.w95{width:95%}.w96{width:96%}.w97{width:97%}.w98{width:98%}.w99{width:99%}.w100{width:100%}
.who{padding:0 10px 6px}.right{text-align:right}.mt{margin-top:14px}.nowrap{white-space:nowrap}.inline-form{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap}.bar{height:10px;border-radius:4px;background:var(--teal)}.barrow{display:grid;grid-template-columns:110px 1fr 90px;gap:10px;align-items:center;margin:6px 0}.bartrack{background:var(--bg);border-radius:4px;overflow:hidden}
table.compact td,table.compact th{padding:6px 5px}
table.compact input{width:84px;padding:7px 8px}
table.compact input[name=name],table.compact input[name=description]{width:120px}
table.compact select{max-width:150px;padding:7px 6px}
/* phone: the menu folds behind a button (no script needed) */
.navt{display:none}
.navbtn{display:none}
@media (max-width:800px){
  .side{flex-direction:column;flex-wrap:nowrap}
  .navbtn{display:inline-block;align-self:flex-start;margin:0 10px 6px}
  .side .links{display:none;flex-direction:column}
  .navt:checked ~ .links{display:flex}
}
.links{display:flex;flex-direction:column;gap:4px;flex:1}
table.compact input{width:74px}
table.compact input[name=currency]{width:56px}
table.compact select[name=industry]{max-width:110px}
table.compact select[name=active]{max-width:70px}
.msg.warn{background:var(--amber-soft);color:var(--amber)}
/* ---- supplier rates: one colour per company (classes, since the CSP forbids inline styles) ---- */
.co0{--c:#0E7490}.co1{--c:#B45309}.co2{--c:#6D28D9}.co3{--c:#15803D}.co4{--c:#BE185D}.co5{--c:#4D7C0F}
.cos{display:flex;flex-wrap:wrap;gap:8px}
label.co{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:1.5px solid var(--c);border-radius:99px;color:var(--c);font-weight:600;cursor:pointer;background:var(--surface,#fff)}
label.co input{accent-color:var(--c);width:16px;height:16px}
.cotag{display:inline-block;font-size:12px;font-weight:600;padding:1px 8px;border-radius:99px;border:1px solid var(--c);color:var(--c);white-space:nowrap}
.cotext{color:var(--c);font-weight:700}
.bar.cobar{background:var(--c)}.bar.badbar{background:var(--red)}
.bad-text{color:var(--red);font-weight:600;font-size:13px}
.cocard{border-top:4px solid var(--c)}
.filters .grow-field{flex:1 1 260px}
.filters .wide-field{flex:1 1 100%}
.flabel{font-size:13px;color:var(--mute);font-weight:600}
table.rates td,table.rates th{white-space:nowrap}
table.rates td.n{font-family:ui-monospace,Menlo,monospace;font-size:13px}
.mono{font-family:ui-monospace,Menlo,monospace;font-size:13px}
td.best{background:var(--teal-soft);color:var(--teal);font-weight:700}
td.win,td.under{background:var(--teal-soft)}
td.under{color:var(--teal)}
td.over{color:var(--red)}
td.save{color:var(--teal)}
th.picked,td.picked{background:var(--teal-soft)}
.break{word-break:break-all}
input.narrow{width:90px}
.cocard input[type=file]{min-width:0;max-width:100%;flex:1 1 160px}
.barrow.wide{grid-template-columns:150px 1fr 120px}
.cocard .inline-form{display:flex;flex-wrap:wrap;max-width:100%}
.inc{display:block;font-size:11px;color:var(--mute);font-family:var(--sans);font-weight:500}
td .cotag + .inc{display:inline;margin-left:4px}
table.tiers select{max-width:260px}
table.tiers input{width:140px}

/* ---- Add rates: a spreadsheet-like table ---- */
table.entry{min-width:760px}
table.entry th,table.entry td{padding:4px 5px;vertical-align:middle}
table.entry input,table.entry select{width:100%;padding:6px 8px;font-size:14px;border-radius:6px}
table.entry .ep,table.entry .er{font-family:ui-monospace,Menlo,monospace}
table.entry td:nth-child(2){width:120px}table.entry td:nth-child(3){min-width:230px}
table.entry td:nth-child(4){width:110px}table.entry td:nth-child(5){width:90px}table.entry td:nth-child(6){width:120px}
table.entry td.now{width:110px;white-space:nowrap;font-family:ui-monospace,Menlo,monospace}
table.entry .auto{background:var(--teal-soft);color:var(--teal)}
table.entry .bad{border-color:var(--red);background:var(--red-soft)}
table.entry .del{padding:3px 9px;line-height:1}
.entry-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.entry-actions .spacer{flex:1}
.new-sup[hidden]{display:none}
table.entry th.pick,table.entry td.rn{cursor:pointer;user-select:none}
table.entry th.pick:hover,table.entry td.rn:hover{color:var(--teal)}
table.entry td.sel{background:#D6EFE8;box-shadow:inset 0 0 0 1px var(--teal)}
table.entry td.sel input,table.entry td.sel select{background:#EEF9F6}
table.entry.selecting,table.entry.selecting input{user-select:none}
.entry-tools{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;padding:12px;margin:4px 0 12px;background:var(--bg);border:1px dashed var(--edge);border-radius:10px}
.entry-tools .field{margin-bottom:0;flex:1 1 240px}
.entry-tools input[type=file]{max-width:100%}
#entry-note.warn{background:var(--amber-soft);color:var(--amber)}
[hidden]{display:none!important}
.entry-box{max-height:68vh;overflow:auto;border:1px solid var(--edge);border-radius:10px}
.entry-box thead th{position:sticky;top:0;z-index:1;background:var(--card);box-shadow:0 1px 0 var(--edge)}
table.entry tr.spacer td{padding:0;border:0}
/* ---- Supplier rates: header stats and the Routing tab ---- */
.eyebrow{font:500 11.5px/1 ui-monospace,Menlo,monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin-bottom:8px;display:flex;align-items:center;gap:8px}
.eyebrow::before{content:"";width:22px;height:1px;background:currentColor}
.stats{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.stat{font-size:12.5px;color:var(--mute);border:1px solid var(--edge);border-radius:99px;padding:3px 11px;display:inline-flex;align-items:center;gap:6px}
.stat b{color:var(--ink);font-weight:600}
.led{width:7px;height:7px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 3px var(--teal-soft)}
table.routing td{vertical-align:top}
table.routing td.route{min-width:150px;padding:6px}
.hop{display:flex;flex-direction:column;gap:1px;padding:6px 9px 7px;border:1px solid var(--edge);border-left:3px solid var(--c);border-radius:8px;text-decoration:none;color:var(--ink);background:var(--card);position:relative}
.hop:hover{border-color:var(--c)}
.hopn{position:absolute;top:5px;right:7px;font:600 10.5px ui-monospace,Menlo,monospace;color:var(--mute)}
.hopname{font-weight:600;font-size:13px;color:var(--c);padding-right:14px}
.hoprate{font:12.5px ui-monospace,Menlo,monospace}
.moved{font-size:11px;font-weight:600;color:var(--amber)}
.moved-hop{background:var(--amber-soft)}
tr.ruled td:first-child{box-shadow:inset 3px 0 0 var(--amber)}
td.remarks{min-width:200px;max-width:320px;white-space:normal !important}
.remark{font-size:12.5px;color:var(--ink);border-left:2px solid var(--amber);padding:2px 0 2px 8px;margin:3px 0}
.skip{font-size:12px;color:var(--red);margin:2px 0}
.rule{border:1px solid var(--edge);border-left:3px solid var(--c,var(--teal));border-radius:10px;padding:10px 12px;margin-bottom:10px}
.rule-top{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:4px}
.rule-act{font-size:12px;font-weight:700;padding:2px 8px;border-radius:99px;background:var(--teal-soft);color:var(--teal)}
.rule-act.act-skip{background:var(--red-soft);color:var(--red)}
.rule-act.act-last{background:var(--amber-soft);color:var(--amber)}
.mt-s{margin-top:6px}
.rules-grid{align-items:start}
.rules-grid textarea{width:100%}
.hi{display:inline-block;font:700 10px/1.4 var(--sans);letter-spacing:.04em;text-transform:uppercase;color:var(--amber);background:var(--amber-soft);border-radius:99px;padding:0 6px;vertical-align:1px}
.sgrid{align-items:start}
.scard{display:flex;flex-direction:column;gap:8px}
.scontact{color:var(--mute);line-height:1.45}
.sactions{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
.sadd{border-style:dashed}
.scard textarea{width:100%}
/* ---- Rates/Target tables: one heading per vendor (spanning its tiers), not repeated per column ---- */
table.rates thead th.vgroup{text-align:center;border-bottom:2px solid var(--c);color:var(--c);font-weight:700;background:var(--card,transparent)}
table.rates thead th.vtierhead{text-align:center;color:var(--mute);font-weight:500;text-transform:none;letter-spacing:0}
table.rates thead tr:first-child th{vertical-align:bottom}
.card.kpi .kpiname{font-size:13px;text-transform:none;letter-spacing:0;font-weight:700}
/* Supplier rates → Search */
.pickfield{position:relative;min-width:230px}
.pick summary{list-style:none;cursor:pointer;border:1px solid var(--edge);border-radius:8px;padding:9px 34px 9px 12px;background:var(--surface,#fff);font-size:14px;position:relative;white-space:nowrap}
.pick summary::-webkit-details-marker{display:none}
.pick summary::after{content:"▾";position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--mute)}
.pick[open] summary{border-color:var(--teal)}
.pickbox{position:absolute;z-index:20;top:calc(100% + 4px);left:0;min-width:100%;width:max-content;max-width:360px;max-height:360px;overflow:auto;background:var(--surface,#fff);border:1px solid var(--edge);border-radius:10px;box-shadow:0 12px 32px -12px rgba(12,24,48,.3);padding:8px}
.pickbox label{display:flex;gap:8px;align-items:center;padding:6px 8px;border-radius:6px;cursor:pointer;font-size:14px;color:var(--ink);font-weight:500}
.pickbox label:hover{background:var(--teal-soft)}
.pickbox input[type=checkbox]{width:16px;height:16px;margin:0}
.pickall{font-weight:700!important;border-bottom:1px solid var(--edge);border-radius:6px 6px 0 0!important;margin-bottom:4px}
.pickhead{font-weight:700!important}
.picktier{padding-left:30px!important}.picktier.solo{padding-left:8px!important}
.pickfind{width:100%;margin-bottom:6px}
.resultline{margin:0 0 10px 2px}
.codecard .hd{flex-wrap:wrap}
.codeno{font-size:16px!important;font-weight:700;background:var(--teal-soft);color:var(--teal);padding:3px 10px;border-radius:8px;margin-right:6px}
table.sresults td,table.sresults th{white-space:nowrap}
table.sresults tr.okrow>td{background:rgba(18,179,148,.07)}
table.sresults tr.overrow>td{color:var(--mute)}
.searchhelp{text-align:left;line-height:1.7}
@media (max-width:640px){.pickfield{min-width:100%}.pickbox{max-width:calc(100vw - 48px)}}
.searchbar{position:relative;z-index:30}
table.sresults td.srate{font-weight:700}
table.sresults tr.okrow td.srate{color:var(--teal)}
.ochips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.ochip{display:inline-block;font-size:12.5px;padding:4px 10px;border:1px solid var(--edge);border-radius:99px;background:var(--soft,#F6F9FD);color:var(--ink)!important;text-decoration:none}
.ochip:hover{border-color:var(--teal)}
.ownersum h3{font-size:14px;margin:14px 0 8px}
.codecard .owner{margin-top:4px}
/* ---- self-serve: sign-up, assistants, test call ---- */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
button.full,.btn.full{width:100%}
.auth .box{max-width:420px}
.acards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.acard{background:var(--card);border:1px solid var(--edge);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:8px;color:inherit;text-decoration:none}
a.acard:hover{border-color:var(--teal)}
.acard .t{font:700 16px var(--display)}.acard .d{color:var(--mute);font-size:13px}
.acard .foot{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto}
.tpl{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-bottom:14px}
.tpl label{display:flex;gap:10px;align-items:flex-start;border:1.5px solid var(--edge);border-radius:12px;padding:12px;cursor:pointer;background:var(--surface,#fff);color:var(--ink);font-weight:500}
.tpl label:has(input:checked){border-color:var(--teal);background:var(--teal-soft)}
.tpl input{margin-top:3px;accent-color:var(--teal)}
.tpl b{display:block;font-weight:700}.tpl .d{font-size:13px;color:var(--mute);font-weight:400}
.steps{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.steps li{display:flex;gap:10px;align-items:center}
.steps .dot{width:22px;height:22px;border-radius:50%;border:2px solid var(--edge);display:grid;place-items:center;font-size:12px;flex:none}
.steps li.done .dot{background:var(--teal);border-color:var(--teal);color:#fff}
.steps li.done .s{color:var(--mute);text-decoration:line-through}
.vlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.vlist label{display:flex;flex-direction:column;gap:6px;border:1.5px solid var(--edge);border-radius:12px;padding:10px 12px;cursor:pointer;background:var(--surface,#fff);color:var(--ink);font-weight:500}
.vlist label:has(input:checked){border-color:var(--teal);background:var(--teal-soft)}
.vlist .top{display:flex;gap:8px;align-items:center}.vlist input{accent-color:var(--teal)}
.vlist audio{width:100%;height:32px}
.vlist label[hidden]{display:none!important}
.vfilter{display:flex;flex-direction:column;gap:10px;margin:0 0 14px}
.vsearch{display:flex;align-items:center;gap:8px;border:1.5px solid var(--edge);border-radius:12px;padding:0 12px;background:var(--surface,#fff)}
.vsearch .ic{width:18px;height:18px;color:var(--ink-3,#667085);flex:none}
.vsearch{font-weight:400}
.vfilter .vsearch input[type=search]{border:0!important;outline:0;box-shadow:none!important;background:transparent!important;padding:10px 0;margin:0;width:100%;font:inherit;font-weight:400;color:var(--ink);border-radius:0}
.vsearch:focus-within{border-color:var(--teal)}
.vchips{display:flex;flex-wrap:wrap;gap:8px}
.vchip{border:1.5px solid var(--edge);border-radius:99px;padding:6px 14px;background:var(--surface,#fff);color:var(--ink-2,#344054);font:inherit;font-weight:600;font-size:14px;cursor:pointer}
.vchip:hover{border-color:var(--teal)}
.vchip[aria-pressed="true"]{border-color:var(--ink);background:var(--teal-soft);color:var(--teal-2,var(--ink))}
textarea.prompt{min-height:360px;font:13px/1.55 "JetBrains Mono",ui-monospace,Menlo,monospace}
.callbox{display:flex;flex-direction:column;align-items:center;gap:14px;padding:26px 12px;text-align:center}
.orb{width:120px;height:120px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#5FE3C6,var(--teal) 60%,#0B7A64);box-shadow:0 0 0 0 rgba(18,163,134,.35);transition:transform .15s}
.orb.live{animation:ring 1.6s infinite}.orb.speaking{transform:scale(1.08)}
@keyframes ring{0%{box-shadow:0 0 0 0 rgba(18,163,134,.35)}100%{box-shadow:0 0 0 26px rgba(18,163,134,0)}}
@media (prefers-reduced-motion:reduce){.orb.live{animation:none}}
.callstatus{font-weight:600}
.callcap{width:100%;max-width:560px;text-align:left}
.callcap:empty{display:none}
.hidden{display:none !important}
fieldset.plain{border:0;padding:0;margin:0;min-width:0}

/* ======================================================================
   Self-serve shell (body.ss): assistants, numbers, calls, credits
   ====================================================================== */
body.ss{--bg:#F6F7FB;--edge:#E4E8F0;--soft:#F1F4F9;--ink:#0F1729;--mute:#667085;--teal:#0E9F80;--teal-2:#0B8A6F;--teal-soft:#E6F6F1;--violet:#6D5DFC;--violet-soft:#EFEDFF;background:var(--bg)}
.ic{width:18px;height:18px;flex:none}
.ss-shell{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100vh}
.ss-side{background:var(--surface,#fff);border-right:1px solid var(--edge);padding:18px 14px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}
.ss-brand{display:flex;align-items:center;gap:9px;font:700 18px var(--display);color:var(--ink);text-decoration:none;padding:2px 8px 16px}
.ss-brand b{color:var(--teal)}
.ss-logo{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,#14C49C,#0B8A6F);color:#fff;display:grid;place-items:center}
.ss-logo .ic{width:17px;height:17px}
.ss-links{display:flex;flex-direction:column;flex:1;min-height:0}
.ss-biz{display:flex;gap:10px;align-items:center;padding:10px;border:1px solid var(--edge);border-radius:12px;margin-bottom:14px}
.ss-biz b{display:block;font-size:14px;line-height:1.2;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ss-biz small{color:var(--mute);font-size:12px}
.ss-av{width:32px;height:32px;border-radius:9px;background:var(--violet-soft);color:var(--violet);display:grid;place-items:center;font:700 14px var(--display);flex:none}
.ss-nav{display:flex;flex-direction:column;gap:2px}
.ss-nav a{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:10px;color:var(--ink-2,#344054);text-decoration:none;font-weight:500}
.ss-nav a:hover{background:var(--soft)}
.ss-nav a.on{background:var(--teal-soft);color:var(--teal-2);font-weight:600}
.ss-nav a.on .ic{color:var(--teal)}
.ss-side .grow{flex:1}
.ss-bal{border:1px solid var(--edge);border-radius:12px;padding:12px;margin:12px 0 10px;background:linear-gradient(180deg,#fff,#F7FBFA)}
.ss-bal .l{font-size:12px;color:var(--mute)}.ss-bal .v{font:700 22px var(--display);margin:2px 0 8px}
.ss-bal.low .v{color:var(--red)}
.ss-add{display:flex;align-items:center;gap:6px;justify-content:center;margin-top:10px;padding:7px;border-radius:8px;background:var(--ink);color:#fff;text-decoration:none;font-size:13px;font-weight:600}
.ss-add .ic{width:15px;height:15px}
.ss-user{display:flex;align-items:center;justify-content:space-between;gap:6px;padding-top:10px;border-top:1px solid var(--edge)}
.ss-user a{display:flex;align-items:center;gap:8px;color:var(--ink-2,#344054);text-decoration:none;font-size:13px;font-weight:500;min-width:0}
.ss-user a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.icon-btn{background:transparent;border:1px solid var(--edge);color:var(--ink-2,#344054);padding:6px;border-radius:8px;display:grid;place-items:center}
.icon-btn:hover{background:var(--soft)}
.ss-main{padding:26px 34px 40px;min-width:0;max-width:1280px;width:100%}
.ss-menubtn{display:none}
.ss h1{font-size:26px;letter-spacing:-.01em}
.ss .topline{margin-bottom:22px}
.ss .panel{border-radius:14px;border-color:var(--edge);box-shadow:0 1px 2px rgba(16,24,40,.04)}
.ss button,.ss .btn{border-radius:10px}
.ss .btn.teal,.ss button.teal{background:var(--teal);border-color:var(--teal)}
.ss .btn.teal:hover,.ss button.teal:hover{background:var(--teal-2)}
.ss .btn,.ss button{display:inline-flex;align-items:center;gap:7px}
.ss .btn .ic,.ss button .ic{width:16px;height:16px}
.ss input,.ss select,.ss textarea{border-radius:10px;border-color:var(--edge-2,#D7DDE7)}
.ss input:focus,.ss select:focus,.ss textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(14,159,128,.15)}
.ss .tabs a.on{border-bottom-color:var(--teal)}
.ss .kpi{display:flex;gap:12px;align-items:flex-start}
.ss .kpi .kic{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--teal-soft);color:var(--teal);flex:none}
.ss .kpi .kic.v2{background:var(--violet-soft);color:var(--violet)}.ss .kpi .kic.v3{background:var(--warn-soft,#FFF4E5);color:#B54708}.ss .kpi .kic.v4{background:#EAF2FF;color:#1D4ED8}
.ss .kpi .kic .ic{width:19px;height:19px}
.ss .pill.ok{background:var(--ok-soft,#E7F7EF);color:#067647}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;padding:3px 9px;border-radius:99px;background:var(--soft);color:var(--ink-2,#344054);border:1px solid var(--edge)}
.chip .ic{width:13px;height:13px}
.chip.ok{background:var(--ok-soft,#E7F7EF);border-color:#ABEFC6;color:#067647}.chip.off{background:var(--bad-soft,#FEF3F2);border-color:#FECDCA;color:#B42318}
.dot{width:8px;height:8px;border-radius:50%;background:#12B76A;display:inline-block}.dot.off{background:var(--edge-2,#D0D5DD)}
/* page header */
.phead{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.phead .sub{color:var(--mute);font-size:14px;margin-top:-4px}
.phead .acts{display:flex;gap:8px;flex-wrap:wrap}
/* assistant header + editor */
.ahead{display:flex;gap:14px;align-items:center;min-width:0}
.aav{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#7B6CFF,#5546E8);color:#fff;display:grid;place-items:center;font:700 20px var(--display);flex:none}
.aav.sm{width:38px;height:38px;border-radius:11px;font-size:16px}
.aav.out{background:linear-gradient(135deg,#F79009,#DC6803)}
.editor{display:grid;grid-template-columns:220px minmax(0,1fr);gap:22px;align-items:start}
.snav{position:sticky;top:20px;display:flex;flex-direction:column;gap:2px;background:var(--surface,#fff);border:1px solid var(--edge);border-radius:14px;padding:8px}
.snav a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:9px;color:var(--ink-2,#344054);text-decoration:none;font-size:14px;font-weight:500}
.snav a:hover{background:var(--soft)}.snav a.on{background:var(--teal-soft);color:var(--teal-2);font-weight:600}
.snav a .ic{width:17px;height:17px}.snav .sep{height:1px;background:var(--edge);margin:6px 4px}
.snav a.test{background:var(--ink);color:#fff;justify-content:center;margin-top:4px}.snav a.test.on{background:var(--teal);color:#fff}
.sect h2{font-size:19px;margin-bottom:4px}.sect .lead{color:var(--mute);font-size:14px;margin:0 0 18px}
.savebar{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--edge);margin:18px -18px -18px;padding:14px 18px;background:var(--surface-2,#FBFCFE);border-radius:0 0 14px 14px}
.opt{display:flex;gap:12px;align-items:flex-start;border:1.5px solid var(--edge);border-radius:12px;padding:12px 14px;cursor:pointer;background:var(--surface,#fff);font-weight:500;color:var(--ink)}
.opt:has(input:checked){border-color:var(--teal);background:var(--teal-soft)}
.opt input{margin-top:3px;accent-color:var(--teal)}.opt .d{display:block;font-size:13px;color:var(--mute);font-weight:400}
.opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin-bottom:14px}
.toggle{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 0;border-top:1px solid var(--edge)}
.toggle:first-child{border-top:0;padding-top:0}.toggle .d{color:var(--mute);font-size:13px}
.switch{appearance:none;width:40px;height:23px;border-radius:99px;background:var(--edge-2,#D0D5DD);position:relative;cursor:pointer;flex:none;border:0;padding:0}
.switch::after{content:"";position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:var(--surface,#fff);transition:left .15s;box-shadow:0 1px 2px rgba(0,0,0,.2)}
.switch:checked{background:var(--teal)}.switch:checked::after{left:20px}
.ss .vlist label{border-radius:12px}
.codebox{position:relative;background:#0F1729;color:#D1FADF;border-radius:12px;padding:14px 16px;font:13px/1.6 "JetBrains Mono",ui-monospace,Menlo,monospace;word-break:break-all}
.kb-meter{display:flex;justify-content:space-between;font-size:13px;color:var(--mute);margin-bottom:6px}
.kitem{display:flex;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--edge)}
.kitem:first-child{border-top:0}.kitem .grow{flex:1;min-width:0}.kitem .t{font-weight:600}.kitem .d{color:var(--mute);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kicon{width:36px;height:36px;border-radius:10px;background:var(--soft);display:grid;place-items:center;color:var(--ink-2,#475467);flex:none}
/* assistants list */
.ss .acard{border-radius:14px;padding:18px;gap:12px;transition:border-color .15s,box-shadow .15s}
.ss a.acard:hover{border-color:#9FE3D2;box-shadow:0 4px 14px rgba(16,24,40,.06)}
.acard .top{display:flex;gap:12px;align-items:center}
.acard.new{border-style:dashed;align-items:center;justify-content:center;color:var(--teal-2);font-weight:600;min-height:150px}
.acard.new .ic{width:26px;height:26px}
/* dashboard chart (heights by class: the CSP forbids inline styles) */
.bars{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;align-items:end;height:150px;padding-top:6px}
.bars .b{display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}
.bars .b i{display:block;width:100%;max-width:34px;border-radius:7px 7px 3px 3px;background:linear-gradient(180deg,#2BD3AE,#0E9F80);min-height:3px}
.bars .b small{color:var(--mute);font-size:11.5px}.bars .b em{font-style:normal;font-size:12px;font-weight:600}
.empty-state{text-align:center;padding:34px 16px;color:var(--mute)}
.empty-state .big{width:56px;height:56px;border-radius:16px;background:var(--teal-soft);color:var(--teal);display:grid;place-items:center;margin:0 auto 12px}
.empty-state .big .ic{width:28px;height:28px}
.empty-state h3{color:var(--ink)}
@media (max-width:1000px){.editor{grid-template-columns:1fr}.snav{position:static;flex-direction:row;overflow-x:auto}.snav a{white-space:nowrap}.snav .sep{display:none}}
@media (max-width:800px){
  .ss-shell{grid-template-columns:1fr}
  .ss-side{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:10px 14px}
  .ss-brand{padding:4px}
  .ss-menubtn{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--edge);border-radius:10px;cursor:pointer}
  .ss-links{display:none;width:100%;padding-top:10px}
  .navt:checked ~ .ss-links{display:flex}
  .ss-main{padding:18px 16px 32px}
}
:is(.bars,.bars2) .h0{height:3px}:is(.bars,.bars2) .h1{height:1%}:is(.bars,.bars2) .h2{height:2%}:is(.bars,.bars2) .h3{height:3%}:is(.bars,.bars2) .h4{height:4%}:is(.bars,.bars2) .h5{height:5%}:is(.bars,.bars2) .h6{height:6%}:is(.bars,.bars2) .h7{height:7%}:is(.bars,.bars2) .h8{height:8%}:is(.bars,.bars2) .h9{height:9%}:is(.bars,.bars2) .h10{height:10%}:is(.bars,.bars2) .h11{height:11%}:is(.bars,.bars2) .h12{height:12%}:is(.bars,.bars2) .h13{height:13%}:is(.bars,.bars2) .h14{height:14%}:is(.bars,.bars2) .h15{height:15%}:is(.bars,.bars2) .h16{height:16%}:is(.bars,.bars2) .h17{height:17%}:is(.bars,.bars2) .h18{height:18%}:is(.bars,.bars2) .h19{height:19%}:is(.bars,.bars2) .h20{height:20%}:is(.bars,.bars2) .h21{height:21%}:is(.bars,.bars2) .h22{height:22%}:is(.bars,.bars2) .h23{height:23%}:is(.bars,.bars2) .h24{height:24%}:is(.bars,.bars2) .h25{height:25%}:is(.bars,.bars2) .h26{height:26%}:is(.bars,.bars2) .h27{height:27%}:is(.bars,.bars2) .h28{height:28%}:is(.bars,.bars2) .h29{height:29%}:is(.bars,.bars2) .h30{height:30%}:is(.bars,.bars2) .h31{height:31%}:is(.bars,.bars2) .h32{height:32%}:is(.bars,.bars2) .h33{height:33%}:is(.bars,.bars2) .h34{height:34%}:is(.bars,.bars2) .h35{height:35%}:is(.bars,.bars2) .h36{height:36%}:is(.bars,.bars2) .h37{height:37%}:is(.bars,.bars2) .h38{height:38%}:is(.bars,.bars2) .h39{height:39%}:is(.bars,.bars2) .h40{height:40%}:is(.bars,.bars2) .h41{height:41%}:is(.bars,.bars2) .h42{height:42%}:is(.bars,.bars2) .h43{height:43%}:is(.bars,.bars2) .h44{height:44%}:is(.bars,.bars2) .h45{height:45%}:is(.bars,.bars2) .h46{height:46%}:is(.bars,.bars2) .h47{height:47%}:is(.bars,.bars2) .h48{height:48%}:is(.bars,.bars2) .h49{height:49%}:is(.bars,.bars2) .h50{height:50%}:is(.bars,.bars2) .h51{height:51%}:is(.bars,.bars2) .h52{height:52%}:is(.bars,.bars2) .h53{height:53%}:is(.bars,.bars2) .h54{height:54%}:is(.bars,.bars2) .h55{height:55%}:is(.bars,.bars2) .h56{height:56%}:is(.bars,.bars2) .h57{height:57%}:is(.bars,.bars2) .h58{height:58%}:is(.bars,.bars2) .h59{height:59%}:is(.bars,.bars2) .h60{height:60%}:is(.bars,.bars2) .h61{height:61%}:is(.bars,.bars2) .h62{height:62%}:is(.bars,.bars2) .h63{height:63%}:is(.bars,.bars2) .h64{height:64%}:is(.bars,.bars2) .h65{height:65%}:is(.bars,.bars2) .h66{height:66%}:is(.bars,.bars2) .h67{height:67%}:is(.bars,.bars2) .h68{height:68%}:is(.bars,.bars2) .h69{height:69%}:is(.bars,.bars2) .h70{height:70%}:is(.bars,.bars2) .h71{height:71%}:is(.bars,.bars2) .h72{height:72%}:is(.bars,.bars2) .h73{height:73%}:is(.bars,.bars2) .h74{height:74%}:is(.bars,.bars2) .h75{height:75%}:is(.bars,.bars2) .h76{height:76%}:is(.bars,.bars2) .h77{height:77%}:is(.bars,.bars2) .h78{height:78%}:is(.bars,.bars2) .h79{height:79%}:is(.bars,.bars2) .h80{height:80%}:is(.bars,.bars2) .h81{height:81%}:is(.bars,.bars2) .h82{height:82%}:is(.bars,.bars2) .h83{height:83%}:is(.bars,.bars2) .h84{height:84%}:is(.bars,.bars2) .h85{height:85%}:is(.bars,.bars2) .h86{height:86%}:is(.bars,.bars2) .h87{height:87%}:is(.bars,.bars2) .h88{height:88%}:is(.bars,.bars2) .h89{height:89%}:is(.bars,.bars2) .h90{height:90%}:is(.bars,.bars2) .h91{height:91%}:is(.bars,.bars2) .h92{height:92%}:is(.bars,.bars2) .h93{height:93%}:is(.bars,.bars2) .h94{height:94%}:is(.bars,.bars2) .h95{height:95%}:is(.bars,.bars2) .h96{height:96%}:is(.bars,.bars2) .h97{height:97%}:is(.bars,.bars2) .h98{height:98%}:is(.bars,.bars2) .h99{height:99%}:is(.bars,.bars2) .h100{height:100%}
.steps .dot .ic{width:13px;height:13px}
.ss .hd h3{display:flex;align-items:center;gap:8px;margin:0}
.ss .list .it{align-items:center}
.ss .panel>.hd{margin-bottom:14px}
.callbox .btn,.callbox button{justify-content:center}
.demo-page{max-width:760px;margin:40px auto}
.ss .grid>.panel{margin-bottom:0}
@media (max-width:800px){.ss .g4{grid-template-columns:repeat(2,minmax(0,1fr))}.ss .kpi{flex-direction:column;gap:8px}.ss .kpi .v{font-size:22px}}

/* ======================================================================
   Setup wizard (body.wz): five steps to a new assistant
   ====================================================================== */
body.wz{background:var(--surface-2,#F7F9FB) radial-gradient(circle,#DCE3EA 1px,transparent 1.2px) 0 0/22px 22px;min-height:100vh;padding-bottom:110px}
.wz-top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 28px;flex-wrap:wrap}
.wz-left,.wz-right{display:flex;align-items:center;gap:16px}
.wz-top .ss-brand{padding:0}
.wz-chip-mode{display:inline-flex;align-items:center;gap:8px;background:var(--surface,#fff);border:1px solid var(--edge);border-radius:99px;padding:7px 14px;font-weight:600;font-size:14px}
.wz .dot{width:8px;height:8px;border-radius:50%;background:var(--teal);display:inline-block}
.wz-steps{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;padding:6px 16px 4px}
.wz-step{display:inline-flex;align-items:center;gap:9px;color:var(--mute);text-decoration:none;font-weight:600;font-size:14.5px}
.wz-step .num{width:34px;height:34px;border-radius:50%;border:2px solid var(--edge-2,#D0D7E1);display:grid;place-items:center;background:var(--surface,#fff);font-size:14px}
.wz-step .num .ic{width:16px;height:16px}
.wz-step.on{color:var(--ink)}.wz-step.on .num{background:var(--teal);border-color:var(--teal);color:#fff}
.wz-step.done{color:var(--ink-2,#344054)}.wz-step.done .num{border-color:var(--teal);color:var(--teal);background:var(--teal-soft)}
a.wz-step:hover .lbl{text-decoration:underline}
.wz-line{width:26px;height:2px;background:var(--edge-2,#D0D7E1);border-radius:2px}
.wz-main{max-width:1120px;margin:0 auto;padding:22px 24px 0}
.wz-resume{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:#ECFBF6;border:1px solid #BFEBDD;border-radius:14px;padding:14px 18px;margin-bottom:22px}
.wz-resume .dot{margin-right:8px}
.wz-welcome{font-weight:600;color:var(--teal-2);margin:0 0 6px}
.wz-h{font-size:38px;letter-spacing:-.02em;margin:10px 0 8px}.wz-h em{font-style:normal;color:var(--teal)}
.wz-sub{color:var(--mute);font-size:17px;margin:0 0 26px}
.wz-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.wz-card{position:relative;display:flex;flex-direction:column;gap:8px;background:var(--surface,#fff);border:1.5px solid var(--edge);border-radius:16px;padding:20px 20px 22px;cursor:pointer;color:var(--ink);font-weight:400;transition:border-color .15s,box-shadow .15s}
.wz-card:hover{border-color:#A6E3D3}
.wz-card input{position:absolute;opacity:0;pointer-events:none}
.wz-card:has(input:checked){border:2px solid var(--teal);background:linear-gradient(180deg,#F1FCF8,#fff);box-shadow:0 6px 20px rgba(14,159,128,.12)}
.wz-card:has(input:focus-visible){outline:3px solid #7FD9C6;outline-offset:2px}
.wz-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.wz-ic{width:46px;height:46px;border-radius:12px;background:var(--teal-soft);color:var(--teal);display:grid;place-items:center}
.wz-ic .ic{width:22px;height:22px}
.wz-badge{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:99px;background:var(--ok-soft,#E7F7EF);color:#067647;border:1px solid #ABEFC6}
.wz-badge.out{background:var(--violet-soft,#EFEDFF);color:#5546E8;border-color:#D6D1FF}
.wz-card b{font:600 17px var(--sans)}.wz-card .d{color:var(--mute);font-size:14.5px;line-height:1.55}
.wz-bullets{display:none;flex-direction:column;gap:6px;margin-top:6px;font-size:14px;color:var(--ink-2,#344054)}
.wz-bullets span{display:flex;gap:8px;align-items:center}.wz-bullets .ic{width:16px;height:16px;color:var(--teal)}
.wz-card:has(input:checked) .wz-bullets{display:flex}
.wz-kinds{margin-top:28px}
.wz-kh{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);margin-bottom:12px}
.wz-pill{display:inline-flex;align-items:center;padding:10px 18px;margin:0 8px 10px 0;background:var(--surface,#fff);border:1.5px solid var(--edge);border-radius:99px;cursor:pointer;font-weight:600;color:var(--ink-2,#344054);font-size:15px}
.wz-pill input{position:absolute;opacity:0;pointer-events:none}
.wz-pill:has(input:checked){border-color:var(--teal);background:var(--teal-soft);color:var(--teal-2)}
.wz-pill:has(input:focus-visible){outline:3px solid #7FD9C6}
.wz-panel{background:var(--surface,#fff);border:1px solid var(--edge);border-radius:16px;padding:22px;margin-bottom:16px;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.wz-panel label{display:flex;align-items:center;gap:7px}.wz-panel label .ic{width:16px;height:16px}
.wz-panel .vlist label{display:flex}
.wz-name{max-width:360px}
textarea.wz-kb{min-height:170px}
.wz-two{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:16px;align-items:start}
.wz-review dl{display:grid;grid-template-columns:auto 1fr;gap:10px 16px;margin:0 0 10px}
.wz-review dt{color:var(--mute)}.wz-review dd{margin:0;font-weight:600}.wz-review dd a{font-weight:500;font-size:13px;margin-left:6px}
.wz-bar{position:fixed;left:0;right:0;bottom:0;background:rgba(255,255,255,.96);border-top:1px solid var(--edge);backdrop-filter:blur(6px);z-index:10}
.wz-bar-in{max-width:1120px;margin:0 auto;padding:14px 24px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.wz .wz-go{font-size:16px;padding:12px 24px;border-radius:12px;box-shadow:0 6px 16px rgba(14,159,128,.25)}
@media (max-width:900px){.wz-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.wz-two{grid-template-columns:1fr}.wz-h{font-size:30px}}
@media (max-width:600px){.wz-cards{grid-template-columns:1fr}.wz-steps .lbl{display:none}.wz-line{width:14px}.wz-top{padding:12px 16px}.wz-bar-in .muted{display:none}.wz-main{padding:14px 16px 0}}
.ss-grp{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#98A2B3;font-weight:700;padding:14px 11px 4px}
.ss-nav a{padding:8px 11px}
.ss-side{overflow-y:auto}
.mb{margin-bottom:14px}
a.chip{text-decoration:none}
.wz-pill.sm{padding:7px 14px;font-size:14px;margin:0 6px 6px 0;position:relative}
.ss table.compact td,.ss table.compact th{padding:6px 8px}
.cardrow{display:flex;gap:12px;align-items:center;padding:6px 0 10px}
.cardchip{min-width:52px;height:34px;border-radius:7px;background:linear-gradient(135deg,#1F2A44,#3B4B6B);color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center;padding:0 8px;text-transform:uppercase;letter-spacing:.04em}
.sqcard{min-height:92px;margin-bottom:10px}
/* Get new phone number: search bar and list */
.nsearch{display:grid;grid-template-columns:1.3fr 1.1fr .7fr 1.6fr auto;gap:14px;align-items:end}
.nsearch .field{margin:0;min-width:0}
.nnum-row{display:flex;gap:8px}.nnum-row select{flex:0 0 140px}
.nprefix-wrap{flex:1;display:flex;align-items:center;border:1px solid var(--edge-2,#D7DDE7);border-radius:10px;background:var(--surface,#fff);padding-left:12px;min-width:0}
.nprefix-wrap:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px rgba(14,159,128,.15)}
.nprefix{color:var(--mute);font-size:15px;white-space:nowrap}
.nprefix-wrap input{border:0;box-shadow:none !important;flex:1;min-width:0;padding-left:8px}
.ntable{table-layout:fixed}.ntable td,.ntable th{vertical-align:middle;padding:12px 10px}
.ntable col.c-num{width:34%}.ntable col.c-type{width:26%}.ntable col.c-price{width:24%}.ntable col.c-act{width:16%}
.ntable td.right{text-align:right}
@media (max-width:900px){.nsearch{grid-template-columns:1fr 1fr}.nnum,.nbtn{grid-column:span 2}.ntable col.c-type{width:22%}}
/* Area code picker: our own list, since the browser's dropdown does not open everywhere */
.combo{position:relative}
.combo input{width:100%;padding-right:34px;cursor:pointer}
.combo input:disabled{cursor:not-allowed;background:var(--surface-2,#F4F6F9)}
.combo::after{content:"";position:absolute;right:15px;top:50%;width:7px;height:7px;border-right:1.6px solid #5B6474;border-bottom:1.6px solid #5B6474;transform:translateY(-70%) rotate(45deg);pointer-events:none}
.combo-list{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 4px);min-width:140px;max-height:260px;overflow:auto;margin:0;padding:4px;list-style:none;background:var(--surface,#fff);border:1px solid var(--edge-2,#D7DDE7);border-radius:10px;box-shadow:0 12px 30px rgba(15,23,42,.14)}
.combo-list li{padding:8px 12px;border-radius:7px;cursor:pointer}
.combo-list li:hover,.combo-list li.on{background:#E8F6F2;color:#0B7A62}
.combo-list li.none{color:var(--mute);cursor:default;background:none}
/* Assistants: Delete on each card */
.acard-wrap{position:relative;display:flex}.acard-wrap>.acard{flex:1}
.adel-open{position:absolute;top:12px;right:12px;background:var(--surface,#fff);color:#98A2B3}
.adel-open:hover{color:#B42318;border-color:#F3B7B1;background:var(--bad-soft,#FEF3F2)}
.adel-ask{position:absolute;left:10px;right:10px;bottom:10px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--bad-soft,#FEF3F2);border:1px solid #F3B7B1;border-radius:10px;font-size:14px}
.adel-ask[hidden],.adel-open[hidden]{display:none}
.adel-btns{display:flex;gap:6px}
/* data-confirm: our own question box (confirm.js) */
.cfm-back{position:fixed;inset:0;z-index:100;background:rgba(15,23,42,.45);display:grid;place-items:center;padding:16px}
.cfm-box{background:var(--surface,#fff);border-radius:14px;padding:22px;max-width:420px;width:100%;box-shadow:0 20px 50px rgba(15,23,42,.25)}
.cfm-box p{margin:0 0 18px;font-size:15px;line-height:1.5;color:var(--ink)}
.cfm-btns{display:flex;gap:8px;justify-content:flex-end}
/* Your phone numbers: auto-renew and Pay next month; checkout */
.renew{display:inline-flex;gap:6px;align-items:center;margin-right:6px;flex-wrap:wrap;justify-content:flex-end}
.paybig{font:700 34px var(--display);margin:6px 0 8px}.paybig .muted{font-size:16px;font-weight:500}
/* Wallet */
.wtabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 16px;border-bottom:1px solid var(--edge)}
.wtabs a{display:inline-flex;gap:6px;align-items:center;padding:9px 14px;color:var(--mute);text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px;font-weight:600}
.wtabs a.on{color:var(--teal-2);border-bottom-color:var(--teal)}
.wform{max-width:560px}.wform .inline-form{display:flex;gap:8px;flex-wrap:wrap}
.wsteps{margin:0 0 14px;padding-left:20px;line-height:1.7}
.addr{display:flex;gap:12px;align-items:center;justify-content:space-between;background:var(--soft);border:1px solid var(--edge);border-radius:10px;padding:12px 14px;margin:0 0 10px;max-width:640px}
.addr .l{font-size:12px;color:var(--mute);font-weight:600;margin-bottom:2px}
.addr code{font-size:14px;word-break:break-all}.addr pre{margin:0;white-space:pre-wrap;font:inherit;line-height:1.6}
.kpi .v.sm{font-size:20px}
td.n.pos{color:#0B7A62}.mono{font-family:ui-monospace,Menlo,monospace;font-size:12px}
.walletpay{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--edge);border-radius:12px;padding:12px 14px;background:var(--soft)}
/* Add funds: steps, amount, payment methods, summary (the portal's teal) */
.stepbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:4px 0 18px;font-size:15px}
.stepbar .st{display:inline-flex;align-items:center;gap:9px;color:var(--mute);text-decoration:none}
.stepbar .st .dot{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--teal-soft);color:var(--teal);font-weight:700}
.stepbar .st.on,.stepbar .st.done{color:var(--ink);font-weight:600}
.stepbar .st.on .dot,.stepbar .st.done .dot{background:var(--teal);color:#fff}
.stepbar .st.done:hover{color:var(--teal)}
.stepbar .st .dot .ic{width:16px;height:16px}.stepbar .sep{color:var(--mute)}
.wgrid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}
.wmain{padding:28px 32px}.wmain h2{margin:0 0 16px}
.presets{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px}
.preset{background:var(--surface,#fff);color:var(--ink);border:1px solid var(--edge);border-radius:10px;font:600 22px var(--display);padding:14px 22px;min-width:96px}
.preset:hover{border-color:#9FE3D2}
.preset.on{background:var(--teal-soft);border-color:var(--teal);color:var(--teal-2)}
.money{display:flex;align-items:center;gap:6px;border:1px solid var(--edge-2,#D7DDE7);border-radius:10px;padding:0 12px;max-width:360px;background:var(--surface,#fff)}
.money:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px rgba(18,163,134,.15)}
.money span{color:var(--mute)}.money input{border:0;flex:1;box-shadow:none !important;padding-left:2px}
.summary{position:sticky;top:20px;padding:24px}.summary h2{margin:0 0 18px}
.summary .sl{display:flex;justify-content:space-between;padding:6px 0;color:var(--mute)}.summary .sl b{color:var(--ink)}
.summary .total{border-top:1px solid var(--edge);margin-top:10px;padding-top:16px;font-size:17px;color:var(--ink)}
.summary .total b{font:700 26px var(--display)}
.summary .cta{width:100%;justify-content:center;text-align:center;margin-top:14px;background:var(--teal);color:#fff;border:0;border-radius:10px;padding:13px;font-weight:700;font-size:16px}
.summary .cta:hover{background:var(--teal-2)}
.pms{display:flex;flex-direction:column;gap:12px}
.pm{display:flex;align-items:center;gap:14px;border:1px solid var(--edge);border-radius:12px;padding:16px 20px;cursor:pointer;font-size:16px;font-weight:600;background:var(--surface,#fff)}
.pm:hover{border-color:#9FE3D2}
.pm input{width:20px;height:20px;accent-color:var(--teal);margin:0}.pm .brands{margin-left:auto;display:flex;gap:8px;align-items:center;color:var(--mute)}
.pm.on{border-color:var(--teal);background:var(--teal-soft)}
.brands b{display:inline-grid;place-items:center;height:30px;min-width:44px;border:1px solid var(--edge);border-radius:6px;background:var(--surface,#fff);font-size:12px;padding:0 6px}
.brands .visa{color:#1A1F71;font-style:italic;font-weight:800}.brands .usdt{color:#1BA27A;font-weight:800}
.brands .mc{position:relative;width:44px}.brands .mc i{position:absolute;top:6px;width:18px;height:18px;border-radius:50%}
.brands .mc i:first-child{left:6px;background:#EB001B}.brands .mc i:last-child{left:16px;background:#F79E1B;opacity:.9}
.pmb{border:1px solid var(--teal);border-top:0;border-radius:0 0 12px 12px;margin-top:-16px;padding:20px;background:var(--surface,#fff)}
.pm.on:has(+ .pmb:not(.hidden)){border-radius:12px 12px 0 0}
.info{display:flex;align-items:center;gap:14px;background:var(--amber-soft);border:1px solid #F3D9A8;border-radius:10px;padding:14px 16px;color:var(--ink)}
.info .ic{color:var(--amber);width:24px;height:24px;flex:0 0 auto}.info span{flex:1}
.info .btn{background:var(--teal);border-color:var(--teal);color:#fff;white-space:nowrap}
@media (max-width:900px){.wgrid{grid-template-columns:1fr}.summary{position:static}.wmain{padding:20px}}
.qraddr{align-items:flex-start;justify-content:flex-start;gap:18px}
.qraddr .qr{flex:0 0 150px;width:150px;height:150px;background:var(--surface,#fff);border:1px solid var(--edge);border-radius:10px;padding:6px}
.qraddr .qr svg{width:100%;height:100%;display:block}.qraddr .qrtext{min-width:0}
@media (max-width:600px){.qraddr{flex-direction:column}}
.refbox code{font-size:20px;font-weight:700;letter-spacing:.02em}
.pmethod{display:inline-flex;gap:6px;align-items:center;color:var(--ink)}.pmethod .ic{width:18px;height:18px}
@media print{.ss-side,.phead .acts,.summary .cta,[data-copy]{display:none !important}.ss-shell{display:block}}
/* Assistants: Edit / Continue setup on each card */
.acard .afoot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto}
.acard .aedit{display:inline-flex;gap:6px;align-items:center;pointer-events:none}
.acard .aedit .ic{width:15px;height:15px}
.ss a.acard:hover .aedit.ghost{border-color:var(--teal);color:var(--teal-2)}
/* Setup wizard: ideas (step 2), Recommended voice (step 3), the script cards (step 5) */
.wz-ideas{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.wz-idea{text-align:left;background:var(--surface,#fff);color:var(--ink-2,#475467);border:1.5px dashed var(--edge);border-radius:10px;padding:10px 14px;font:inherit;font-size:14px;font-weight:400;cursor:pointer}
.wz-idea:hover{border-color:var(--teal);color:var(--teal-2);background:var(--teal-soft)}
.wz-rec{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--teal-2);background:var(--teal-soft);border:1px solid #9FE3D2;border-radius:99px;padding:2px 8px}
.wz-head5{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.wz-rewrite{display:inline-flex;gap:6px;align-items:center;white-space:nowrap}
.sc-card{background:var(--surface,#fff);border:1px solid var(--edge);border-radius:14px;padding:18px 20px;margin-bottom:14px;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.sc-h{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);margin-bottom:10px;display:flex;justify-content:space-between}
.sc-count{font-weight:500;letter-spacing:0}
.sc-card textarea{width:100%;border:1px solid transparent;background:var(--surface-2,#F8FAFC);border-radius:10px;padding:10px 12px;resize:vertical;line-height:1.5}
.sc-card textarea:hover{border-color:var(--edge)}.sc-card textarea:focus{background:var(--surface,#fff);border-color:var(--teal)}
.sc-first{background:var(--teal-soft) !important;border-color:#9FE3D2 !important;font-size:15.5px}
.sc-who{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.sc-who .opt{padding:8px 12px}
.sc-tags{display:flex;flex-wrap:wrap;align-items:center;margin-top:10px}
.sc-fixed{display:inline-flex;gap:5px;align-items:center;font-size:13px;color:var(--teal-2);background:var(--teal-soft);border-radius:99px;padding:6px 12px;margin:0 0 6px}
.sc-fixed .ic{width:14px;height:14px}
.sc-steps{list-style:none;margin:0;padding:0;counter-reset:sc}
.sc-steps li{display:flex;gap:10px;align-items:flex-start;margin-bottom:8px;counter-increment:sc}
ol.sc-steps li::before{content:counter(sc);flex:0 0 24px;height:24px;border-radius:50%;background:var(--teal-soft);color:var(--teal-2);font-size:12.5px;font-weight:700;display:grid;place-items:center;margin-top:8px}
.sc-steps li textarea{flex:1}
.sc-del{margin-top:6px;color:#98A2B3}.sc-del:hover{color:#B42318}
.sc-add{background:none;border:0;color:var(--teal-2);font-weight:600;padding:4px 0;cursor:pointer}
.sc-word{display:flex;gap:8px;align-items:center;margin-bottom:8px}.sc-word input{flex:1;min-width:0}
.sc-rules{list-style:none;margin:0 0 8px;padding:0}.sc-rules .fixed{display:flex;gap:8px;align-items:center;padding:4px 0}
.sc-rules .fixed .ic{width:18px;height:18px;color:#fff;background:var(--teal);border-radius:50%;padding:3px}
/* public legal pages: privacy policy, how to delete an account */
.legal{max-width:760px;margin:0 auto;padding:32px 20px 48px}
.legal .brand{font-family:var(--display);font-size:20px;margin-bottom:24px}.legal .brand a{color:var(--ink);text-decoration:none}
.legal article{background:var(--surface,#fff);border:1px solid var(--edge);border-radius:16px;padding:28px}
.legal h2{margin-top:24px}.legal li{margin:6px 0}
.legal footer{margin-top:20px;font-size:13px;color:var(--mute)}
@media (max-width:600px){.legal{padding:20px 16px 32px}.legal article{padding:20px}}
