:root{
  --bg:#F4F8FE; --card:#FFFFFF; --ink:#0B2A5B; --ink-2:#4A5F86; --rule:#D6E2F5; --tint:#E8F0FC;
  --blue:#1F6FEB; --on-blue:#FFFFFF; --ok:#1E7A4C; --ok-bg:#E3F4EA; --warn:#8A5A00; --warn-bg:#FFF2D6; --bad:#B23A3A; --bad-bg:#FBE4E4;
  --display:"Outfit","Avenir Next","Segoe UI",system-ui,sans-serif;
  --body:"Public Sans","Helvetica Neue",Arial,system-ui,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
}
@media (prefers-color-scheme: dark){:root{
  --bg:#0A1428; --card:#11203D; --ink:#E8F0FF; --ink-2:#9FB3D9; --rule:#22355C; --tint:#162A4D;
  --blue:#3B82F6; --ok:#5BD394; --ok-bg:#123524; --warn:#F5C26B; --warn-bg:#3A2B0F; --bad:#FF8A8A; --bad-bg:#3D1717; color-scheme:dark}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 var(--body)}
a{color:var(--blue)}
h1,h2{font-family:var(--display);letter-spacing:-.02em;margin:0 0 12px;text-wrap:balance}
h1{font-size:1.9rem}h2{font-size:1.2rem}
p{margin:0 0 12px}
:focus-visible{outline:3px solid var(--blue);outline-offset:2px;border-radius:4px}
.muted{color:var(--ink-2)}.small{font-size:.86rem}.center{text-align:center}.right{text-align:right}
.mono{font-family:var(--mono);font-size:.85em}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.lede{font-size:1.05rem;margin-bottom:22px}

.brand{display:flex;align-items:center;gap:10px;font:700 1.25rem var(--display);letter-spacing:-.03em;text-decoration:none;color:var(--ink)}
.brand .mark{color:var(--blue);flex:none}.brand b{color:var(--blue);font-weight:700}

.shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}
.side{background:var(--card);border-right:1px solid var(--rule);padding:22px 16px;display:flex;flex-direction:column;gap:22px}
.side nav{display:grid;gap:14px}
.nav-group{display:grid;gap:1px}.nav-h{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);padding:0 12px 4px}
.side nav a{color:var(--ink);text-decoration:none;padding:8px 12px;border-radius:9px;font-weight:500;display:flex;align-items:center;gap:11px;font-size:.94rem}
.side nav a .ic{flex:none;opacity:.78}.side nav a[aria-current="page"] .ic{opacity:1}
.side-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.nav-toggle{display:none;border:1px solid var(--rule);background:var(--card);color:var(--ink);border-radius:10px;width:42px;height:42px;align-items:center;justify-content:center;cursor:pointer;padding:0}
.btn .ic{vertical-align:-3px}
.side nav a:hover{background:var(--tint)}
.side nav a[aria-current="page"]{background:var(--blue);color:var(--on-blue)}
.switch{display:grid;gap:4px}.switch label,.switch .label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2)}
.me{margin-top:auto;display:grid;gap:10px;border-top:1px solid var(--rule);padding-top:16px}
.me small{display:block;color:var(--ink-2);word-break:break-all}
.main{padding:32px clamp(16px,4vw,48px);display:grid;gap:20px;align-content:start;max-width:1100px;min-width:0}
@media (max-width:820px){.shell{grid-template-columns:minmax(0,1fr)}.side{min-width:0;border-right:0;border-bottom:1px solid var(--rule);padding:12px 16px;gap:14px;position:sticky;top:0;z-index:20}
.nav-toggle{display:inline-flex}.side .switch,.side nav,.side .me{display:none}.side.open .switch,.side.open nav,.side.open .me{display:grid}
.side.open{max-height:100vh;overflow-y:auto}.side nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 8px}.nav-group{align-content:start}.me{margin-top:0}}
@media (max-width:480px){.side nav{grid-template-columns:minmax(0,1fr)}}

.card{background:var(--card);border:1px solid var(--rule);border-radius:12px;padding:22px;min-width:0}
.card.highlight{border:2px solid var(--blue)}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
@media (max-width:900px){.grid2{grid-template-columns:1fr}}
.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.tile{background:var(--card);border:1px solid var(--rule);border-radius:12px;padding:18px;display:grid;gap:4px}
.tile .label{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2)}
.tile strong{font:700 1.6rem var(--display);font-variant-numeric:tabular-nums}
.tile a,.tile span.muted{font-size:.88rem}
.ok-text{color:var(--ok)}
@media (max-width:980px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:10px;border:1.5px solid var(--rule);background:var(--card);color:var(--ink);font:600 .95rem var(--body);text-decoration:none;cursor:pointer}
.btn:hover{border-color:var(--blue)}
.btn.primary{background:var(--blue);border-color:var(--blue);color:var(--on-blue)}
.btn.danger{color:var(--bad);border-color:var(--bad)}
.btn.ghost{background:transparent}
.btn.sm{min-height:36px;padding:6px 12px;font-size:.86rem}
.btn.block{width:100%}
.btn:disabled{opacity:.55;cursor:not-allowed}

input,select,textarea{font:inherit;color:inherit;background:var(--bg);border:1.5px solid var(--rule);border-radius:10px;padding:10px 12px;min-height:44px;width:100%}
input:focus,select:focus,textarea:focus{border-color:var(--blue);outline:none}
label{font-weight:600;font-size:.92rem}
.stack{display:grid;gap:10px}
.row{display:flex;flex-wrap:wrap;gap:12px;align-items:end}
.field{display:grid;gap:6px}.field.grow{flex:1 1 240px}
.inline{display:inline}
.check{display:flex;gap:10px;align-items:flex-start;font-weight:500}.check input{width:auto;min-height:0;margin-top:4px}
.field-error{color:var(--bad);font-size:.9rem;margin:0}
.copyrow{display:flex;gap:10px;flex-wrap:wrap}.copyrow input{flex:1 1 280px;font-family:var(--mono);font-size:.85rem}

.table-wrap{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:.93rem}
th,td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--rule);vertical-align:middle}
th{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2)}
tr:last-child td{border-bottom:0}
td select{width:auto;min-width:120px}

.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.78rem;font-weight:600;background:var(--tint);color:var(--ink)}
.badge-owner{background:var(--blue);color:var(--on-blue)}
.badge-ok{background:var(--ok-bg);color:var(--ok)}.badge-warn{background:var(--warn-bg);color:var(--warn)}.badge-bad{background:var(--bad-bg);color:var(--bad)}
.flash{padding:12px 16px;border-radius:10px;background:var(--ok-bg);color:var(--ok);font-weight:500}
.flash-error{background:var(--bad-bg);color:var(--bad)}.flash-info{background:var(--tint);color:var(--ink)}

.kv{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;margin:0 0 12px}.kv dt{color:var(--ink-2)}.kv dd{margin:0}
.checks{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.checks li{padding-left:26px;position:relative}.checks li::before{content:"✓";position:absolute;left:0;color:var(--ok);font-weight:700}
.steps-list{padding-left:20px;display:grid;gap:6px;margin:0 0 16px}
.activity{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.activity li{display:grid}.activity span{text-transform:capitalize;font-weight:500}.activity small{color:var(--ink-2)}

.bare{min-height:100vh;display:grid;justify-items:center;align-content:center;gap:22px;padding:32px 16px}
.bare-card{width:min(440px,100%);display:grid;gap:14px}
.bare-card h1{font-size:1.5rem}
.divider{display:flex;align-items:center;gap:12px;color:var(--ink-2);font-size:.85rem}
.divider::before,.divider::after{content:"";flex:1;height:1px;background:var(--rule)}
.foot{font-size:.85rem;color:var(--ink-2)}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

.qr{width:220px;max-width:100%;margin:4px auto;background:#fff;padding:8px;border-radius:12px;border:1px solid var(--rule)}
.qr svg{display:block;width:100%;height:auto}
.manual summary{cursor:pointer;font-weight:600;font-size:.92rem}
.key{font-size:1.05rem;letter-spacing:.06em;background:var(--tint);padding:10px 12px;border-radius:8px;word-break:break-all}
.code-input{font-size:1.4rem;letter-spacing:.2em;text-align:center}
.codes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;background:var(--tint);padding:14px;border-radius:10px;margin:6px 0 12px}
.codes span{font-size:.95rem;text-align:center}
.steps-list li{margin-bottom:2px}

.checklist{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.checklist li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start}
.checklist small{overflow-wrap:anywhere}
/* Google / Apple sign-in */
.social{display:grid;gap:10px;margin:4px 0 2px}
.btn.social-apple{background:#000;border-color:#000;color:#fff}
.btn.social-apple:hover{background:#1d1d1f;border-color:#1d1d1f}
.btn.social-google{background:#fff;color:#1f1f1f;border-color:#747775}
.btn.social-google:hover{background:#f2f6fc;border-color:#1F6FEB}
.divider{display:flex;align-items:center;gap:12px;margin:18px 0 6px;color:var(--ink-2);font-size:.82rem}
.divider::before,.divider::after{content:"";flex:1;height:1px;background:var(--rule)}
ol.steps{margin:0 0 6px;padding-left:1.3em;display:grid;gap:4px}
textarea{resize:vertical;font-size:.82rem}
.row input[readonly]{flex:1 1 220px;width:auto;font-size:.82rem}
/* Access codes */
.acc-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:14px}
.acc-bar input[type=search]{max-width:320px}
.acc-head{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;justify-content:space-between;margin-bottom:10px}
.acc-head h2{margin:0 0 4px}.acc-head p{margin:0}
.acc-head>div:first-child{min-width:0;flex:1 1 320px}
.acc-panel{border:1.5px solid var(--rule);border-radius:10px;padding:16px;margin:0 0 14px;background:var(--tint)}
.acc-panel h3{margin:0 0 6px}
form.inline{display:inline}
.acc-panel.highlight{border-color:var(--blue);background:var(--card)}
#acc-flash{margin-bottom:14px}
.shell>*,.card{min-width:0}
.main{grid-template-columns:minmax(0,1fr)}
.btn.social-btn{flex-direction:column;gap:0;line-height:1.25;padding:8px 18px}
.btn.social-btn small{font-weight:400;font-size:.76rem;opacity:.8}
.linkbtn{background:none;border:0;padding:0;color:var(--blue);font:inherit;text-decoration:underline;cursor:pointer}
.vault .table-wrap td .mono{letter-spacing:.04em;white-space:nowrap}
#vault-box{margin-bottom:20px}.badge{white-space:nowrap}.vault td .row{flex-wrap:nowrap;gap:8px}
/* Branding preview */
.brand-preview{border:1px solid var(--rule);border-radius:12px;overflow:hidden;background:var(--card)}
.bp-head{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:3px solid var(--bc);font-weight:600}
.bp-head img{max-height:40px;max-width:180px;object-fit:contain}
.bp-ph{display:inline-flex;align-items:center;justify-content:center;width:90px;height:36px;border:1.5px dashed var(--rule);border-radius:6px;font-size:.75rem;color:var(--ink-2)}
.bp-body{padding:16px;display:grid;gap:6px}.bp-body p{margin:0}
.bp-btn{justify-self:start;background:var(--bc);color:#fff;border-radius:8px;padding:8px 14px;font-weight:600;font-size:.88rem}
.pf-qr{width:180px;margin:8px 0;background:#fff;padding:6px;border-radius:8px;border:1px solid var(--rule)}.pf-qr svg{width:100%;height:auto;display:block}
/* Agreements (CLM) */
.clm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}
.clm-grid label{display:grid;gap:4px;font-weight:600;font-size:.86rem}
.clm-grid .span2{grid-column:1 / -1}
.clm-form{display:grid;gap:12px}
.clm-filters{margin:12px 0}.clm-filters input{flex:1 1 240px;width:auto}.clm-filters select{width:auto}
.clm-steps{display:flex;flex-wrap:wrap;gap:0;list-style:none;margin:14px 0 10px;padding:0;counter-reset:s}
.clm-steps li{flex:1 1 110px;padding:8px 10px;border-top:4px solid var(--rule);font-size:.8rem;color:var(--ink-2);counter-increment:s}
.clm-steps li::before{content:counter(s) ". "}
.clm-steps li.done{border-color:var(--ok);color:var(--ink)}.clm-steps li.on{border-color:var(--blue);color:var(--ink);font-weight:700}
.clm-obs{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.clm-obs li{display:grid;gap:2px;padding:8px 10px;border:1px solid var(--rule);border-radius:8px}
.clm-obs li.done span{text-decoration:line-through;color:var(--ink-2)}
.clm-obform{display:grid;grid-template-columns:minmax(0,1fr) 150px 140px auto;gap:8px;margin-top:10px}
.bars{display:grid;gap:8px}.barrow{display:grid;grid-template-columns:minmax(90px,170px) minmax(0,1fr) 30px;gap:10px;align-items:center;font-size:.88rem}
.barrow .track{height:10px;border-radius:5px;background:var(--tint);overflow:hidden}.barrow .track i{display:block;height:100%;background:var(--blue);border-radius:5px}
.warn-text{color:var(--warn)}.bad-text{color:var(--bad)}
@media (max-width:700px){.clm-grid{grid-template-columns:minmax(0,1fr)}.clm-obform{grid-template-columns:minmax(0,1fr)}}
#clm-root,#pf-root{display:grid;gap:20px}
.activity.ev span{text-transform:none}
.clm-obform{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}
.clm-obform input[name=title]{grid-column:1 / -1}
.support-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center;padding:8px 16px;background:#7A2E00;color:#fff;font-size:.88rem}.support-bar form{margin:0}.support-bar .btn{background:#fff;color:#7A2E00;border-color:#fff}
.hook-events{border:1px solid var(--rule);border-radius:10px;padding:8px 12px;display:grid;gap:4px;max-height:220px;overflow:auto}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.help-search{margin:0 0 16px}.help-search input{width:100%;max-width:640px;font-size:1rem;padding:11px 14px}
.help-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:18px;align-items:start}
.help-toc{position:sticky;top:16px;font-size:.9rem;padding:14px 16px}.help-toc h2{font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted,#5b6b82);margin:12px 0 4px}.help-toc h2:first-child{margin-top:0}
.help-toc ul{list-style:none;margin:0;padding:0}.help-toc li a{display:block;padding:3px 0;text-decoration:none}
.help-topics{display:grid;gap:14px;min-width:0}.help-topic{scroll-margin-top:16px}.help-topic h2{margin-top:0}.help-topic li{margin:4px 0}
.help-topic table th,.help-topic table td{text-align:center}.help-topic table th[scope=row]{text-align:left;font-weight:500}
@media (max-width:860px){.help-layout{grid-template-columns:minmax(0,1fr)}.help-toc{position:static}}
.upd-steps{margin:0;padding-left:1.2em}.upd-steps li{margin:4px 0}
/* billing */
.bill-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.bill-head h2{margin:2px 0 4px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.bill-now .label,.bill-head .label{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.seg{display:inline-flex;border:1px solid var(--rule);border-radius:999px;padding:3px;background:var(--bg,transparent)}.seg a{padding:6px 14px;border-radius:999px;text-decoration:none;color:var(--ink);font-weight:600;font-size:.88rem}
.seg a[aria-current]{background:var(--blue);color:var(--on-blue)}.seg .save{font-size:.72rem;font-weight:700;opacity:.85;margin-left:4px}
.plan-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:14px}
.plan-card{position:relative;border:1px solid var(--rule);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:8px;background:var(--card)}
.plan-card.pick{border:2px solid var(--blue)}.plan-card.current{background:var(--tint)}.plan-card h3{margin:0}
.plan-card .price b{font:700 1.7rem var(--display)}.plan-card .price span{color:var(--ink-2);font-size:.9rem;margin-left:3px}
.plan-card .ticks{margin:4px 0 auto;padding-left:1.1em;font-size:.88rem}.plan-card .ticks li{margin:3px 0}.plan-card form,.plan-card .btn.block{margin-top:10px}
.ribbon{position:absolute;top:-11px;left:16px;background:var(--blue);color:var(--on-blue);font-size:.7rem;font-weight:700;padding:3px 10px;border-radius:999px}
.secure{display:flex;gap:8px;align-items:flex-start;margin-top:14px}.secure .ic{flex:none;margin-top:2px}
.bill-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin-top:10px}.bill-form .full{grid-column:1/-1}.bill-form label{display:block;margin-bottom:4px;font-weight:600;font-size:.9rem}.bill-form input,.bill-form select{width:100%}
.right{text-align:right}.nowrap{white-space:nowrap}
@media (max-width:1100px){.plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.plan-grid,.bill-form{grid-template-columns:minmax(0,1fr)}}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--rule);flex-wrap:wrap}.tabs a{padding:9px 14px;text-decoration:none;color:var(--ink-2);font-weight:600;border-bottom:2px solid transparent;margin-bottom:-1px}
.tabs a[aria-current]{color:var(--blue);border-bottom-color:var(--blue)}
.tile.warn{border-color:var(--warn)}.filters{flex-wrap:wrap;gap:8px;margin-bottom:12px;align-items:center}.filters input[type=date]{width:auto}
.refund{display:inline-block;margin-left:6px;position:relative}.refund summary{cursor:pointer;color:var(--blue);display:inline}.refund form{position:absolute;right:0;top:24px;z-index:5;background:var(--card);border:1px solid var(--rule);border-radius:10px;padding:12px;box-shadow:0 8px 24px rgba(0,0,0,.12);width:240px;text-align:left}
.stat-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}.stat-list li{padding-left:26px;position:relative}.stat-list li::before{content:"";position:absolute;left:0;top:4px;width:14px;height:14px;border-radius:50%;border:2px solid var(--rule)}.stat-list li.ok::before{background:var(--ok);border-color:var(--ok)}
/* support tickets */
.thread{list-style:none;margin:14px 0;padding:0;display:grid;gap:10px}.thread li{border:1px solid var(--rule);border-radius:12px;padding:12px 14px;background:var(--card)}
.thread li.staff{background:var(--tint);border-color:transparent}.thread li.note{background:var(--warn-bg);border-color:transparent}
.thread .who{display:flex;gap:6px;align-items:center;font-weight:600;font-size:.88rem;flex-wrap:wrap}.thread time{margin-left:auto;font-weight:400;color:var(--ink-2);font-size:.8rem}
.thread .body{margin-top:6px;overflow-wrap:anywhere}
.support-hero{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.support-hero h2{margin:0 0 4px}
.desk{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}@media (max-width:980px){.desk{grid-template-columns:minmax(0,1fr)}}
tr.unread td{font-weight:600}.tabs .count{display:inline-block;min-width:20px;padding:0 6px;border-radius:999px;background:var(--tint);font-size:.75rem;text-align:center;color:var(--ink)}
/* chat bubble */
.chat-fab{position:fixed;right:22px;bottom:22px;z-index:60;width:58px;height:58px;border-radius:50%;border:0;background:var(--blue);color:var(--on-blue);box-shadow:0 10px 28px rgba(15,40,90,.28);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .15s}
.chat-fab:hover{transform:translateY(-2px)}.chat-fab:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.chat-badge{position:absolute;top:-2px;right:-2px;min-width:20px;height:20px;border-radius:999px;background:var(--bad);color:#fff;font-size:.72rem;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 5px}
.chat-panel{position:fixed;right:22px;bottom:92px;z-index:60;width:min(380px,calc(100vw - 32px));height:min(560px,calc(100vh - 120px));display:flex;flex-direction:column;background:var(--card);border:1px solid var(--rule);border-radius:18px;box-shadow:0 18px 50px rgba(15,40,90,.25);overflow:hidden}
.chat-panel[hidden]{display:none}
.chat-head{display:flex;align-items:center;gap:10px;padding:14px 16px;background:var(--blue);color:var(--on-blue)}.chat-head strong{display:block}.chat-head .chat-status{font-size:.8rem;opacity:.9}
.chat-av{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;flex:none}
.chat-x{margin-left:auto;background:none;border:0;color:inherit;cursor:pointer;padding:6px;border-radius:8px}.chat-x:hover{background:rgba(255,255,255,.15)}
.chat-body{flex:1;overflow-y:auto;padding:14px;background:var(--bg,var(--card))}
.chat-log{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.cm{max-width:85%;display:flex;flex-direction:column;gap:2px}.cm-b{padding:9px 12px;border-radius:14px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.93rem;line-height:1.4}
.cm-who{font-size:.72rem;color:var(--ink-2);padding:0 4px}
.cm-customer{align-self:flex-end;align-items:flex-end}.cm-customer .cm-b{background:var(--blue);color:var(--on-blue);border-bottom-right-radius:4px}
.cm-agent{align-self:flex-start}.cm-agent .cm-b{background:var(--tint);color:var(--ink);border-bottom-left-radius:4px}
.cm-system{align-self:center;max-width:95%}.cm-system .cm-b{background:none;color:var(--ink-2);font-size:.8rem;text-align:center;padding:2px 6px}
.chat-typing{display:flex;gap:4px;padding:8px 4px}.chat-typing[hidden]{display:none}.chat-typing span{width:7px;height:7px;border-radius:50%;background:var(--ink-2);animation:ct 1.2s infinite}.chat-typing span:nth-child(2){animation-delay:.2s}.chat-typing span:nth-child(3){animation-delay:.4s}
@keyframes ct{0%,60%,100%{opacity:.25}30%{opacity:1}}
.chat-foot{border-top:1px solid var(--rule);padding:10px;display:grid;gap:6px;background:var(--card)}
.chat-form{display:flex;gap:8px;align-items:flex-end}.chat-form textarea{flex:1;resize:none;min-height:42px;max-height:120px;border-radius:12px;padding:10px 12px;font:inherit}
.chat-send{width:42px;height:42px;border-radius:12px;border:0;background:var(--blue);color:var(--on-blue);cursor:pointer;display:flex;align-items:center;justify-content:center;flex:none}.chat-send:disabled{opacity:.5}
.chat-end{justify-self:center;background:none;border:0;color:var(--ink-2);font-size:.8rem;cursor:pointer;text-decoration:underline}
.chat-rate{display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap}
@media (max-width:520px){.chat-panel{right:8px;left:8px;width:auto;bottom:84px;height:calc(100vh - 100px)}.chat-fab{right:14px;bottom:14px}}
/* agent console */
.lc{display:grid;grid-template-columns:320px minmax(0,1fr);gap:18px;align-items:start}@media (max-width:900px){.lc{grid-template-columns:minmax(0,1fr)}}
.lc-chats{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px;max-height:65vh;overflow-y:auto}
.lc-item button{width:100%;text-align:left;border:1px solid var(--rule);background:var(--card);border-radius:12px;padding:10px 12px;cursor:pointer;display:grid;gap:2px;position:relative;color:var(--ink);font:inherit}
.lc-item.on button{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}.lc-item.s-waiting button{background:var(--warn-bg)}.lc-item.s-closed button{opacity:.65}
.lc-top{display:flex;justify-content:space-between;gap:8px}.lc-pill{font-size:.72rem;font-weight:700;color:var(--ink-2)}.lc-sub{font-size:.8rem;color:var(--ink-2)}
.lc-last{font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lc-unread{position:absolute;right:10px;bottom:10px;background:var(--blue);color:var(--on-blue);border-radius:999px;font-size:.72rem;padding:1px 7px}
.lc-conv{min-height:420px;display:flex;flex-direction:column;gap:10px}.lc-empty{margin:auto;text-align:center;padding:40px}
.lc-head{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:flex-start}.lc-head .lc-sub{display:block}
.lc-log{max-height:48vh;min-height:220px;overflow-y:auto;border:1px solid var(--rule);border-radius:12px;padding:12px}.lc-quick{display:flex;gap:6px;flex-wrap:wrap}
.filters select{width:auto;max-width:200px}.filters input[type=search]{width:auto;flex:1 1 220px}
.chat-badge[hidden]{display:none}.btn .ic{flex:none}.btn:has(.ic){display:inline-flex;align-items:center;justify-content:center;gap:7px}
/* storage */
.stor-big{font:700 1.9rem var(--display)}.stor-big .muted{font-size:1rem;font-weight:500}.stor-free{text-align:right;display:grid}.stor-free strong{font:700 1.4rem var(--display)}
.meter{height:14px;border-radius:999px;background:var(--tint);overflow:hidden;margin:10px 0 6px}.meter span{display:block;height:100%;border-radius:999px;background:var(--ok);transition:width .4s}
.meter-warn span{background:var(--warn)}.meter-bad span{background:var(--bad)}.meter.sm{height:8px;margin:2px 0}
.stor-parts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px 18px;margin-top:12px}.stor-parts div{display:flex;gap:8px;align-items:center;font-size:.9rem}.stor-parts strong{margin-left:auto}
.dot{width:10px;height:10px;border-radius:50%;flex:none;background:var(--blue)}.dot-signed{background:var(--ok)}.dot-data{background:var(--warn)}.dot-forms{background:#7A5AF8}.dot-branding{background:var(--ink-2)}
.stor-buy{display:grid;gap:8px;max-width:420px;margin:8px 0 18px}.stor-prices td,.stor-prices th{white-space:nowrap}
.reply-lib{list-style:none;margin:0;padding:0;display:grid;gap:10px}.reply-lib li{display:flex;justify-content:space-between;gap:12px;border:1px solid var(--rule);border-radius:10px;padding:10px 12px;align-items:flex-start}.reply-lib p{margin:4px 0 0}
.me .ver{color:var(--ink-2);font-size:.72rem}
.perm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:6px 14px;margin-top:6px}.label-like{display:block;font-weight:600;font-size:.9rem}.activity{list-style:none;padding:0;margin:0;display:grid;gap:6px}

/* ---------- voice calls (support chat) ---------- */
.vc-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 14px;background:var(--tint);border-bottom:1px solid var(--rule);font-size:.88rem}
.vc-bar[hidden]{display:none}
.vc-txt{flex:1 1 140px;display:flex;align-items:center;gap:6px;font-weight:600;color:var(--ink)}
.vc-btn{display:inline-flex;align-items:center;gap:6px;border:0;border-radius:999px;padding:7px 13px;font:inherit;font-weight:600;cursor:pointer;background:var(--card);color:var(--ink);box-shadow:inset 0 0 0 1px var(--rule)}
.vc-btn:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.vc-go{background:#137A47;color:#fff;box-shadow:none}.vc-go:hover{background:#0F6A3D}
.vc-stop{background:#C42B2B;color:#fff;box-shadow:none}.vc-stop:hover{background:#A82222}
.vc-mute.on{background:var(--ink);color:var(--card)}
.vc-incoming{animation:vcPulse 1.4s ease-in-out infinite}
@keyframes vcPulse{50%{background:var(--ok-bg)}}
@media (prefers-reduced-motion:reduce){.vc-incoming{animation:none}}
.vc-dot{width:9px;height:9px;border-radius:50%;background:#1DB45E;box-shadow:0 0 0 3px rgba(29,180,94,.25)}
.vc-time{font-variant-numeric:tabular-nums}
.vc-dot.hold{background:#E0A100;box-shadow:0 0 0 3px rgba(224,161,0,.25)}
.vc-held{background:var(--warn-bg)}
.vc-hold{background:var(--card)}
.vc-console .vc-bar{border:1px solid var(--rule);border-radius:14px;margin:0 0 14px}
.lc-tag{display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;padding:2px 7px;border-radius:999px;background:var(--tint);color:var(--blue);margin-left:6px}
.lc-tag-voice{background:var(--ok-bg);color:var(--ok)}
.lc-tag-sp{background:#F3E8FF;color:#6B21A8}
@media (prefers-color-scheme:dark){.lc-tag-sp{background:#3B1E5A;color:#E9D5FF}}
.mail-box{border:1px solid var(--rule);border-radius:12px;padding:14px 16px;margin:0;min-width:0}
.mail-box legend{font-weight:700;padding:0 6px;display:flex;align-items:center;gap:6px}

.money-in{display:flex;align-items:center;gap:4px;max-width:150px}.money-in span{color:var(--ink-2);font-weight:600}
.price-edit td{vertical-align:middle}.price-edit input{min-width:0}.price-edit .new-row td{background:var(--tint)}
.price-edit input[type=checkbox]{width:20px;height:20px;min-height:0;padding:0}
.btn.danger-solid{background:var(--bad);border-color:var(--bad);color:#fff}.btn.danger-solid:hover{filter:brightness(1.08)}
.btn.danger-solid:disabled{opacity:.55}
.card.danger-zone{border-color:var(--bad);box-shadow:0 0 0 3px var(--bad-bg)}
.del-list{margin:6px 0 10px;padding-left:20px;display:grid;gap:4px}
fieldset.stack{border:1px solid var(--rule);border-radius:10px;padding:12px 14px;margin:0}fieldset.stack legend{font-weight:600;padding:0 6px}
/* Microphone check */
.vc-chk{background:transparent;box-shadow:inset 0 0 0 1px var(--rule);padding:6px 11px;font-size:.84rem}
.mc-dlg{border:0;border-radius:18px;padding:0;width:min(520px,calc(100vw - 32px));max-height:calc(100vh - 32px);background:var(--card);color:var(--ink);box-shadow:0 24px 60px rgba(7,20,45,.35)}
.mc-dlg.mc-nodlg{position:fixed;inset:16px auto auto 50%;transform:translateX(-50%);z-index:1000}
.mc-dlg::backdrop{background:rgba(7,20,45,.55)}
.mc-in{padding:20px 22px 18px;display:flex;flex-direction:column;gap:12px}
.mc-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.mc-head h2{margin:0;font-size:1.2rem}
.mc-x{border:0;background:transparent;color:var(--ink-2);font-size:1.6rem;line-height:1;cursor:pointer;padding:2px 8px;border-radius:8px}
.mc-x:focus-visible{outline:3px solid var(--blue)}
.mc-lede{margin:0;color:var(--ink-2);font-size:.9rem}
.mc-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.mc-rows li{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;line-height:1.4}
.mc-rows b{flex:0 0 22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:.8rem;background:var(--tint);color:var(--ink-2)}
.mc-ok b{background:var(--ok-bg);color:var(--ok)}.mc-bad b{background:var(--bad-bg);color:var(--bad)}.mc-warn b{background:var(--warn-bg);color:var(--warn)}
.mc-bad span{color:var(--bad)}.mc-off span{color:var(--ink-2)}
.mc-meter{display:flex;flex-direction:column;gap:6px}
.mc-lvl{height:12px;border-radius:999px;background:var(--tint);overflow:hidden;box-shadow:inset 0 0 0 1px var(--rule)}
.mc-lvl i{display:block;height:100%;width:0;background:linear-gradient(90deg,#1DB45E,#1F6FEB);transition:width .08s linear}
.mc-say{font-size:.85rem;color:var(--ink-2)}
.mc-dev{display:flex;flex-direction:column;gap:4px;font-size:.88rem;font-weight:600}
.mc-dev select{font:inherit;font-weight:400}
.mc-help{background:var(--warn-bg);border-radius:12px;padding:12px 14px;font-size:.9rem}
.mc-help h3{margin:0 0 6px;font-size:.98rem;color:var(--ink)}
.mc-help ol{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:4px}
.mc-small{margin:8px 0 0;font-size:.84rem;color:var(--ink-2)}
.mc-acts{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.mc-acts [hidden],.mc-meter[hidden],.mc-dev[hidden],.mc-help[hidden]{display:none}
.vc-console-tools{display:flex;justify-content:flex-end;align-items:center;gap:12px;flex-wrap:wrap;margin:-6px 0 12px}
.lc-duty{flex:1 1 320px;margin:0;font-size:.9rem;color:var(--ink-2)}
.lc-duty .badge{margin-right:4px}
.hours-table select{min-width:150px}

/* Team calls */
.tc-dock{position:fixed;right:16px;bottom:16px;z-index:900;display:flex;flex-direction:column;gap:8px;max-width:min(380px,calc(100vw - 32px))}
.tc-toast{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--card);color:var(--ink);border:1px solid var(--rule);border-radius:14px;padding:12px 14px;box-shadow:0 12px 32px rgba(7,20,45,.22);font-size:.92rem}
.tc-toast-t{flex:1 1 160px;font-weight:600}
.tc-ring{border-color:#137A47;box-shadow:0 0 0 3px rgba(19,122,71,.25),0 12px 32px rgba(7,20,45,.22);animation:vcPulse 1.4s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){.tc-ring{animation:none}}
.tc-x{border:0;background:transparent;color:var(--ink-2);font-size:1.3rem;line-height:1;cursor:pointer;padding:0 4px}
.tc-h{margin:18px 0 8px;font-size:1rem}
.tc-roster{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.tc-m{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid var(--rule);border-radius:12px}
.tc-m-who{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}
.tc-dot{width:9px;height:9px;border-radius:50%;background:#9AA8BF;flex:0 0 9px}
.tc-m.on .tc-dot{background:#1DB45E}.tc-m.busy .tc-dot{background:#E0A100}
.tc-page{max-width:440px;margin:0 auto;padding:28px 18px;display:flex;flex-direction:column;gap:14px;min-height:100vh;box-sizing:border-box}
.tc-who{text-align:center}.tc-who h1{margin:10px 0 2px;font-size:1.4rem}.tc-who p{margin:0}
.tc-ava{display:inline-grid;place-items:center;width:84px;height:84px;border-radius:50%;background:var(--blue);color:var(--on-blue);font:700 1.8rem/1 Outfit,system-ui}
.tc-page .vc-bar.vc-idle{display:none}
.tc-page .vc-bar{justify-content:center}
.tc-status{text-align:center;margin:0}
.tc-tools{justify-content:center}
.tc-note{text-align:center;margin-top:auto}
.tc-tools [hidden],.tc-toast [hidden]{display:none}
/* WebForms */
.wf-steps{margin:14px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:4px;color:var(--ink-2)}
.wf-list-h{font-size:1.1rem;margin:22px 0 10px}
.wf-qs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;counter-reset:wfq}
.wf-qrow{border:1px solid var(--rule);border-radius:12px;padding:12px 14px;display:grid;gap:8px}
.wf-qrow label{display:flex;flex-direction:column;gap:4px;font-size:.88rem;font-weight:600}
.wf-qrow label.check{flex-direction:row;align-items:center;font-weight:400}
.wf-qrow input:not([type=checkbox]){font:inherit;font-weight:400}
.wf-qmeta{display:flex;gap:8px;align-items:center}
/* Plan approvals and support plans */
.appr{border:1px solid var(--rule);border-radius:14px;padding:16px;margin-top:12px;display:grid;gap:12px}
.appr-head{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.appr-head h3{margin:0 0 4px;font-size:1.05rem}
.appr-note{margin:8px 0 0;padding:8px 12px;border-left:3px solid var(--blue);background:var(--tint);border-radius:6px;font-size:.92rem}
.appr-forms{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.appr-forms form{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:12px;background:var(--tint)}
.appr-forms label{display:flex;flex-direction:column;gap:4px;font-size:.86rem;font-weight:600}
.appr-forms input{font:inherit;font-weight:400}
.appr-forms .btn{align-self:flex-start}
.custom-req{margin-top:14px}.custom-req summary{cursor:pointer;font-weight:600;color:var(--blue)}
.custom-req form{margin-top:12px}
.sup-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.stor-quick{border:1px solid var(--rule);border-radius:12px;padding:12px 14px;margin:0 0 14px;display:flex;flex-direction:column;gap:8px}.stor-quick p{margin:0}
/* KPI dashboard */
.kpi{--k1:#1F6FEB;--k2:#eb6834;--st-good:#0ca30c;--st-watch:#fab219;--st-off:#d03b3b;--grid:#E6EDF8}
@media (prefers-color-scheme:dark){.kpi{--k1:#3B82F6;--k2:#d95926;--grid:#22355C}}
.kpi-top{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:12px}.kpi-top .lede{margin:0;max-width:62ch}
.kpi-hero{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.kpi-hero>div{background:var(--card);border:1px solid var(--rule);border-radius:14px;padding:16px 18px;display:flex;flex-direction:column;gap:4px}
.kpi-hero strong{font:700 2rem/1.1 Outfit,system-ui;color:var(--ink);font-variant-numeric:tabular-nums}
@media (max-width:900px){.kpi-hero{grid-template-columns:repeat(2,minmax(0,1fr))}}
.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;margin:12px 0}
.kpi-tile{border:1px solid var(--rule);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:4px;background:var(--card);min-width:0}
.kpi-tile-h{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.kpi-tile h3{margin:0;font-size:.92rem;color:var(--ink-2);font-weight:600}
.kpi-val{font:700 1.9rem/1.15 Outfit,system-ui;color:var(--ink);font-variant-numeric:tabular-nums}
.kpi-delta,.kpi-detail,.kpi-target{margin:0}
.kpi-st{display:inline-flex;align-items:center;gap:5px;font-size:.76rem;font-weight:600;color:var(--ink);white-space:nowrap}
.kpi-st b{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;font-size:.66rem;color:#fff;background:#8B98AE}
.st-good .kpi-st b{background:var(--st-good)}.st-watch .kpi-st b{background:var(--st-watch);color:#3a2a00}.st-off .kpi-st b{background:var(--st-off)}
.kpi-tile.st-off{box-shadow:inset 3px 0 0 var(--st-off)}.kpi-tile.st-watch{box-shadow:inset 3px 0 0 var(--st-watch)}
.spark{height:44px;margin:4px 0;cursor:crosshair}.spark-svg{width:100%;height:44px;display:block;overflow:visible}
.spark-line{fill:none;stroke:var(--k1);stroke-width:2;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.spark-area{fill:var(--k1);opacity:.1}.spark-dot{fill:var(--k1);stroke:var(--card);stroke-width:2}
.kpi-tip{position:fixed;z-index:1200;pointer-events:none;background:var(--card);color:var(--ink);border:1px solid var(--rule);border-radius:10px;padding:8px 10px;font-size:.84rem;box-shadow:0 8px 24px rgba(7,20,45,.18);max-width:260px}
.kpi-key{display:inline-block;width:10px;height:3px;border-radius:2px;margin-right:6px;vertical-align:middle}.kpi-key.k1{background:var(--k1)}.kpi-key.k2{background:var(--k2)}
.kpi-model{display:grid;grid-template-columns:minmax(260px,340px) 1fr;gap:20px;align-items:start}
@media (max-width:900px){.kpi-model{grid-template-columns:1fr}}
.kpi-inputs{display:flex;flex-direction:column;gap:12px}
.kpi-in{display:flex;flex-direction:column;gap:4px;font-weight:600;font-size:.9rem}
.kpi-in-row{display:flex;align-items:center;gap:6px}.kpi-in-row input{flex:1;min-width:0;font:inherit;font-weight:400}.kpi-in-row i{font-style:normal;color:var(--ink-2);font-weight:400}
.kpi-outs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
@media (max-width:600px){.kpi-outs{grid-template-columns:repeat(2,minmax(0,1fr))}}
.kpi-outs>div{background:var(--tint);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.kpi-outs strong{font:700 1.45rem/1.2 Outfit,system-ui;color:var(--ink);font-variant-numeric:tabular-nums}
.kpi-chart{margin:14px 0 0}.kpi-chart figcaption{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:.9rem;margin-bottom:4px}
.kpi-legend{display:flex;gap:14px;font-size:.82rem;color:var(--ink-2)}.kpi-legend i{display:inline-block;width:14px;height:3px;border-radius:2px;margin-right:6px;vertical-align:middle}
.kpi-legend .k1{background:var(--k1)}.kpi-legend .k2{background:var(--k2)}
.chart{width:100%;min-height:220px}.kpi-svg{display:block;max-width:100%}
.kpi-svg .grid{stroke:var(--grid);stroke-width:1}.kpi-svg .axis{fill:var(--ink-2);font-size:11px}
.kpi-svg .line{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.kpi-svg .line.k1{stroke:var(--k1)}.kpi-svg .line.k2{stroke:var(--k2)}
.kpi-svg .area.k1{fill:var(--k1);opacity:.1}
.kpi-svg .dot{stroke:var(--card);stroke-width:2}.kpi-svg .dot.k1{fill:var(--k1)}.kpi-svg .dot.k2{fill:var(--k2)}
.kpi-svg .cross{stroke:var(--ink-2);stroke-width:1;opacity:.5}
.kpi-table td,.kpi-table th{font-variant-numeric:tabular-nums;font-size:.86rem;padding-left:8px;padding-right:8px}.kpi-table th{white-space:normal;vertical-align:bottom}
.kpi-check{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:8px}
.kpi-check li{border:1px solid var(--rule);border-radius:12px;padding:10px 14px}.kpi-check li p{margin:4px 0 0}
.kpi-check li.st-off{box-shadow:inset 3px 0 0 var(--st-off)}.kpi-check li.st-watch{box-shadow:inset 3px 0 0 var(--st-watch)}
.kpi-log{list-style:none;margin:0;padding:0;display:grid;gap:10px}.kpi-log li{border-top:1px solid var(--rule);padding-top:10px}.kpi-log p{margin:4px 0}
#targets summary{cursor:pointer}
/* 2.18 growth offers on the Billing page */
.offer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.offer-card{border:1px solid var(--rule);border-radius:14px;padding:16px;background:var(--card);display:flex;flex-direction:column;gap:8px}
.offer-card h3{margin:0;font-size:1.02rem}
.offer-card details summary{cursor:pointer;color:var(--blue);font-weight:600}
.offer-card details .stack{margin-top:10px}
.offer-banner{margin:0 0 14px}
.offer-switches{display:grid;gap:10px;margin:12px 0}
.offer-switches label{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;align-items:start;padding:10px 12px;border:1px solid var(--rule);border-radius:10px}
.offer-switches label input{margin-top:3px}
.offer-switches label small{grid-column:2;color:var(--ink-2)}
/* 2.19 KPI redesign: money, MRR movement, funnel, usage, contact lists */
.kpi-hero{grid-template-columns:repeat(5,minmax(0,1fr))}.kpi-hero strong{font-size:1.6rem;overflow-wrap:anywhere}.kpi-hero>div{padding:14px 16px}
@media (max-width:1100px){.kpi-hero{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.kpi-hero{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-hero strong{font-size:1.5rem}}
.kpi-two{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:16px;align-items:start}
.kpi-two>.card{margin:0 0 16px}
@media (max-width:1000px){.kpi-two{grid-template-columns:minmax(0,1fr)}}
.kpi-src td,.kpi-src th{font-variant-numeric:tabular-nums;font-size:.88rem;padding-left:6px;padding-right:6px}.kpi-src td:first-child{white-space:nowrap}
.kpi-barcell{display:flex;align-items:center;gap:6px;white-space:nowrap}
.kpi-bar{display:inline-block;height:10px;border-radius:3px;background:var(--k1);min-width:2px}.kpi-bar.addon{background:var(--k1);opacity:.45}
.kpi-total td{border-top:2px solid var(--rule)}
.kpi-facts{margin:10px 0 0;padding-left:18px;display:grid;gap:4px}
.kpi-wf{display:grid;gap:8px;margin:10px 0}
.kpi-wf-row{display:grid;grid-template-columns:minmax(110px,150px) minmax(0,1fr) 84px;gap:10px;align-items:center;font-size:.88rem}
.kpi-wf-track{position:relative;height:18px;background:var(--tint);border-radius:4px}
.kpi-wf-bar{position:absolute;top:0;bottom:0;border-radius:4px}
.kpi-wf-bar.base{background:#8B98AE}.kpi-wf-bar.up{background:var(--st-good);opacity:.8}.kpi-wf-bar.down{background:var(--st-off);opacity:.75}
.kpi-wf-v{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}
.kpi-funnel{list-style:none;margin:10px 0;padding:0;display:grid;gap:10px}
.kpi-funnel li{display:grid;grid-template-columns:minmax(120px,190px) minmax(0,1fr) 96px;gap:10px;align-items:center;font-size:.88rem}
.kpi-fn-track{height:20px;background:var(--tint);border-radius:4px;overflow:hidden}.kpi-fn-bar{display:block;height:100%;background:var(--k1);border-radius:4px}
.kpi-fn-v{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
@media (max-width:640px){.kpi-funnel li,.kpi-wf-row{grid-template-columns:minmax(0,1fr) 90px}.kpi-fn-track,.kpi-wf-track{grid-column:1 / -1;grid-row:2}}
.kpi-mini{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.kpi-mini>div{background:var(--tint);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:2px;min-width:0}
.kpi-mini strong{font:700 1.45rem/1.2 Outfit,system-ui;color:var(--ink);font-variant-numeric:tabular-nums}
.kpi-act{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media (max-width:1000px){.kpi-act{grid-template-columns:minmax(0,1fr)}}
.kpi-act-col{border:1px solid var(--rule);border-radius:12px;padding:12px 14px;min-width:0}
.kpi-act-col h3{margin:0;font-size:1rem}.kpi-act-col[data-act=risk] h3{color:var(--bad)}.kpi-act-col[data-act=grow] h3{color:var(--ok)}
.kpi-act-col ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:10px}
.kpi-act-col li{border-top:1px solid var(--rule);padding-top:8px;overflow-wrap:anywhere}

/* branding: logo size guide */
.logo-sizes{margin:0}
.logo-size-table{border-collapse:collapse;margin:2px 0;font-size:inherit}
.logo-size-table th{text-align:left;font-weight:600;padding:2px 12px 2px 0;white-space:nowrap;color:var(--ink,inherit)}
.logo-size-table td{padding:2px 0}

/* security check: run and refresh (2.24) */
.sec-head{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:flex-start}
.sec-head h2{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:4px 0 0}
.sec-actions{display:grid;gap:8px;justify-items:end}
.sec-actions .check{margin:0}
.sec-hist{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.sec-pill{font-size:12px;padding:2px 9px;border-radius:999px;border:1px solid var(--line, #DDE3EC)}
.sec-pill.ok{background:var(--ok-bg);color:var(--ok)}.sec-pill.warn{background:var(--warn-bg);color:var(--warn)}.sec-pill.bad{background:var(--bad-bg);color:var(--bad)}
@media (max-width:640px){.sec-actions{justify-items:start}}

/* compliance: enterprise readiness (2.25) */
.ent-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-top:10px}
.ent-doc{display:grid;gap:4px;padding:12px 14px;border:1px solid var(--line,#DDE3EC);border-radius:10px;text-decoration:none;color:inherit}
.ent-doc:hover{border-color:var(--accent,#1F6FEB)}

/* usage & capacity (2.26) */
.cap-chart{width:100%;height:190px;display:block;margin:6px 0 10px}
.cap-line{fill:none;stroke:var(--blue);stroke-width:2.2;stroke-linejoin:round;vector-effect:non-scaling-stroke}.cap-fore{stroke-dasharray:6 5;opacity:.75}
.cap-limit{stroke-width:1;stroke-dasharray:3 4;vector-effect:non-scaling-stroke}.cap-limit.bad{stroke:var(--bad)}.cap-limit.warn{stroke:var(--warn)}
.cap-lbl{fill:var(--ink-2);font-size:11px}
.cap-bars{display:flex;align-items:flex-end;gap:2px;height:70px;margin:10px 0;padding-bottom:1px;border-bottom:1px solid var(--rule)}
.cap-bars i{flex:1;background:var(--blue);border-radius:2px 2px 0 0;min-width:2px;opacity:.85}.cap-bars i.hot{background:var(--warn)}
.cap-prov{display:grid;gap:6px;margin:12px 0}.cap-track{position:relative;display:flex;height:16px;border-radius:999px;background:var(--tint);overflow:hidden}
.cap-track .seg{display:block;height:100%}.seg.used{background:var(--blue)}.seg.other{background:var(--ink-2)}.seg.free{background:var(--ok);opacity:.35}
.seg.alloc{background:#7A5AF8;opacity:.7}.seg.over{background:repeating-linear-gradient(45deg,var(--warn) 0 6px,transparent 6px 10px)}
.cap-mark{position:absolute;top:0;bottom:0;width:2px;background:var(--warn)}
.cap-kv{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0}.cap-kv div{display:grid;gap:2px;padding:8px 10px;border:1px solid var(--rule);border-radius:10px}
.cap-kv span{font-size:.78rem;color:var(--ink-2)}.cap-kv strong{font:700 1.25rem var(--display)}
.cap-mini{width:100%;font-size:.88rem;margin-top:8px}
.cap-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px 14px;align-items:end}.cap-form label{display:grid;gap:4px;font-weight:600;font-size:.88rem}
@media (max-width:600px){.cap-kv{grid-template-columns:repeat(2,minmax(0,1fr))}}
