:root{--brand:#1f4fd1;--bg:#f5f6f8;--card:#fff;--text:#1b1f24;--muted:#6b7280;--line:#e5e7eb;--ok:#15803d;--okbg:#ecfdf3;--err:#b91c1c;--errbg:#fef2f2;--warn:#92400e;--warnbg:#fffbeb;--radius:8px}
[hidden]{display:none!important}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}
h1{font-size:22px;margin:0 0 14px}h2{font-size:16px;margin:0 0 12px}h3{font-size:14px;margin:18px 0 8px}
.shell{display:flex;min-height:100vh}
.side{width:210px;background:#111827;color:#cbd5e1;display:flex;flex-direction:column;padding:18px 0;position:sticky;top:0;height:100vh;flex-shrink:0;overflow-y:auto}
.side .logo{color:#fff;font-weight:700;padding:0 18px 16px;font-size:15px;border-bottom:1px solid #1f2937;margin-bottom:8px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.menu-btn{display:none;background:none;border:1px solid #374151;color:#fff;border-radius:6px;font-size:18px;line-height:1;padding:4px 9px;cursor:pointer}
.side .nav-h{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:#64748b;padding:12px 18px 3px;font-weight:700}
.side nav a{display:block;color:#cbd5e1;padding:6px 18px;border-left:3px solid transparent}
.side nav a:hover{background:#1f2937;text-decoration:none}
.side nav a.on{color:#fff;background:#1f2937;border-left-color:var(--brand)}
.side .me{margin-top:auto;padding:12px 18px;font-size:12px;border-top:1px solid #1f2937}.side .me a{color:#94a3b8}
.main{flex:1;padding:24px 28px;min-width:0;max-width:1300px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin-bottom:16px;overflow-x:auto}
.head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:6px}
.actions,.row-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.row-actions form{display:inline-flex;gap:6px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;line-height:1.25;vertical-align:middle;background:var(--brand);color:#fff;border:1px solid var(--brand);border-radius:6px;padding:8px 14px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none!important;white-space:nowrap}
.btn:hover{filter:brightness(1.08)}.btn.ghost{background:#fff;color:var(--text);border-color:#d1d5db}.btn.small{padding:5px 10px;font-size:13px}
.btn.big{padding:12px 22px;font-size:16px}.btn.full{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed}
.tbl{width:100%;border-collapse:collapse}.tbl th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-weight:600;padding:8px;border-bottom:1px solid var(--line)}
.tbl th.r{text-align:right}.tbl td{padding:9px 8px;border-bottom:1px solid var(--line);vertical-align:top}.tbl tfoot td{border:0;padding:4px 8px}
.r{text-align:right}.nowrap{white-space:nowrap}.small{font-size:12.5px}.muted{color:var(--muted)}.dim{opacity:.55}.errtext{color:var(--err)}.errrow td{background:var(--errbg)}
.badge{display:inline-block;padding:1px 8px;border-radius:99px;font-size:11.5px;font-weight:600;background:#eef2ff;color:#3730a3;white-space:nowrap;vertical-align:1px}
.b-draft{background:#f3f4f6;color:#4b5563}.b-open{background:#eff6ff;color:#1d4ed8}.b-paid{background:var(--okbg);color:var(--ok)}
.b-overdue,.b-failed,.b-charged_back{background:var(--errbg);color:var(--err)}.b-processing,.b-pending{background:var(--warnbg);color:var(--warn)}
.b-void,.b-cancelled,.b-ended,.b-refunded{background:#f3f4f6;color:#6b7280}.b-paused{background:var(--warnbg);color:var(--warn)}.b-active{background:var(--okbg);color:var(--ok)}
.tag{display:inline-block;font-size:11.5px;background:#f3f4f6;border-radius:4px;padding:1px 6px;color:#374151;white-space:nowrap}
.flash{padding:10px 14px;border-radius:6px;margin-bottom:12px;background:var(--okbg);color:var(--ok);border:1px solid #bbf7d0}
.flash.err{background:var(--errbg);color:var(--err);border-color:#fecaca}.flash.warn{background:var(--warnbg);color:var(--warn);border-color:#fde68a}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:16px}
.kpi{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}.kpi .k{font-size:12px;color:var(--muted);margin-bottom:4px;display:flex;align-items:center;flex-wrap:wrap;gap:0 6px}
.kpi .big{font-size:22px;font-weight:700}.kpi .s{font-size:12px;color:var(--muted);margin-top:2px;overflow-wrap:anywhere}.kpi.bad .big{color:var(--err)}.kpi.warnk .big{color:var(--warn)}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.cols.wide-left{grid-template-columns:minmax(0,1fr) 330px}
.form label{display:block;margin-bottom:12px;font-weight:600;font-size:13px}.form label small{font-weight:400;color:var(--muted);margin-left:4px}
input,select,textarea{font:inherit;padding:7px 9px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:var(--text);max-width:100%}
.form label input:not([type=checkbox]):not([type=radio]),.form label select,.form label textarea{display:block;width:100%;margin-top:4px;font-weight:400}
.form label.check,label.check{font-weight:400;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.form label.check input[type=date]{width:auto;display:inline-block;margin:0}
input[readonly]{background:#f9fafb}input.copy{width:100%;font-size:12px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:0 16px}
.filters{display:flex;gap:8px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.filters input[name=q]{min-width:260px}
.filters>.filters{margin:0}.spacer{flex:1}
.group-head{background:#f9fafb;padding:8px 10px;border-radius:6px;margin:14px 0 4px;font-size:13px}
.lines td input{width:100%}.lines textarea{width:100%;min-height:44px}.lines .x{border:0;background:none;font-size:20px;color:var(--muted);cursor:pointer}
details summary{cursor:pointer;color:var(--brand);margin:8px 0}details.box{border:1px solid var(--line);border-radius:6px;padding:4px 10px;margin:10px 0}
.danger-zone{margin:32px 0 16px;border:1px solid #fecaca;border-radius:var(--radius);padding:14px 18px;background:#fff}.danger-zone h2{color:var(--err);font-size:14px;margin:0 0 6px}.danger-zone p{margin:4px 0 10px}.inline{display:inline}.card form+form{margin-top:8px}aside .card .btn.full{margin-bottom:8px}
.invoice-preview .meta{display:flex;gap:22px;flex-wrap:wrap;margin-bottom:10px}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:14px;flex-wrap:wrap;row-gap:2px}.tabs a{padding:8px 14px;color:var(--muted);border-bottom:2px solid transparent;white-space:nowrap}.tabs a.on{color:var(--text);border-bottom-color:var(--brand);font-weight:600}
pre{background:#111827;color:#e5e7eb;padding:10px 12px;border-radius:6px;overflow:auto}code{background:#f3f4f6;padding:1px 4px;border-radius:3px;font-size:12px}
.pager{margin-top:10px;display:flex;gap:6px}.pager b,.pager a{padding:3px 9px;border-radius:4px}.pager b{background:var(--brand);color:#fff}
ul.plain{list-style:none;padding:0;margin:0}ul.plain li{padding:4px 0}
.date-h{margin:22px 0 8px;font-size:15px}.upcoming{padding:12px 16px}.uhead{display:flex;gap:10px;align-items:center;margin-bottom:6px}
/* auth / public */
body.auth,body.public{display:flex;justify-content:center;align-items:flex-start;padding:40px 16px}
.auth-card{background:#fff;padding:28px;border-radius:10px;border:1px solid var(--line);width:100%;max-width:380px}.auth-card.wide{max-width:680px}
.auth-card label{display:block;font-weight:600;font-size:13px;margin-bottom:12px}.auth-card input,.auth-card select{display:block;width:100%;margin-top:4px}
.pub{width:100%;max-width:820px}.pub-head{padding:10px 0 18px;font-size:18px}.pub-logo{max-height:56px;max-width:240px}
.pub-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:26px}.pub-card.narrow{max-width:520px;margin:0 auto}
.pub-top{display:flex;justify-content:space-between;gap:16px;margin-bottom:16px}.pub-top .big{font-size:26px;font-weight:700}
.paybox{display:flex;gap:24px;align-items:flex-start;flex-wrap:wrap;background:#f9fafb;border:1px solid var(--line);border-radius:8px;padding:16px;margin-bottom:18px}
.pub-foot{text-align:center;color:var(--muted);font-size:12px;padding:20px}
@media (max-width:900px){.shell{flex-direction:column}.side{width:100%;height:auto;position:sticky;top:0;z-index:20;padding:10px 0;max-height:100vh}.side .logo{border:0;padding:0 14px;margin:0}.menu-btn{display:block}
.side nav,.side .me,.side .testmode{display:none}.side.open nav,.side.open .me{display:block}.side.open .testmode{display:block}.side.open nav{padding-top:6px}.side .me{margin:0}
.main{padding:16px}.cols,.cols.wide-left,.grid2,.grid3{grid-template-columns:1fr}.tbl{font-size:13px}.filters input[name=q]{min-width:0}.filters input[name=q],.filters input[name=find]{flex:1 1 100%}}
@media print{.side,.actions,aside,.filters{display:none}.main{padding:0}}
.group-row{background:#f9fafb;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}
a.tok{font-family:ui-monospace,monospace;font-size:12px;background:#eef2ff;padding:1px 5px;border-radius:3px;margin-right:2px}
.side .ver{margin-top:6px}.beta{background:#f59e0b;color:#111;border-radius:3px;padding:0 4px;font-size:10px;font-weight:700}
.center{text-align:center}.kv{display:grid;grid-template-columns:200px 1fr;gap:6px 16px}.kv dt{color:var(--muted)}.kv dd{margin:0}
.ok-t{color:var(--ok)}.err-t{color:var(--err)}.warn-t{color:var(--warn)}.codes{font-family:ui-monospace,monospace;display:grid;grid-template-columns:repeat(2,max-content);gap:4px 24px}
.small-big{font-size:16px!important}.changelog h3{margin-top:18px}.changelog ul{margin:4px 0 10px}
.big-code{font-size:16px;letter-spacing:.05em}
pre.logview{max-height:70vh;white-space:pre-wrap;word-break:break-all;font-size:12px}
.freq{display:flex;gap:6px;align-items:center;margin-top:4px}.form label .freq input{width:80px!important;display:inline-block!important;margin:0!important}.form label .freq select{width:auto!important;display:inline-block!important;margin:0!important}
.billnow{background:var(--warnbg);border-color:#fde68a;padding:10px 12px;margin:0 0 12px}
.linkbtn{background:none;border:0;padding:0;color:var(--brand);cursor:pointer;font:inherit}.linkbtn:hover{text-decoration:underline}.linkbtn.err-t{color:var(--err)}
.grid2.tight{gap:10px;margin:0}.promptcard{border-left:4px solid var(--brand)}.profitbox dl.kv{margin:0}
.novat .vatcol,tr.vatcol.hide{display:none}
.hide{display:none}
.testmode{margin:8px 12px;padding:6px 8px;border-radius:6px;background:#f59e0b;color:#111;font-size:12px;font-weight:700}.conn{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.steps li{margin:3px 0}
.transfer-due{background:#fef3c7;border-radius:6px;padding:6px 8px;margin:6px 0}
pre.whois{max-height:260px;white-space:pre-wrap;word-break:break-word;font-size:11px;margin:6px 0 0}
/* 0.21.0 */
.tblwrap{overflow-x:auto;max-width:100%}
.section-tabs{margin-top:-4px}.tabs .count{display:inline-block;min-width:18px;padding:0 5px;border-radius:9px;background:#eef2ff;color:#3730a3;font-size:11px;font-weight:700;text-align:center;margin-left:3px}
.tabs a.on .count{background:var(--brand);color:#fff}
tr.addon-row td{background:#fafbff}tr.addon-row td:nth-child(2){padding-left:22px}.addon-mark{color:var(--muted)}
a.plain{color:inherit}.tbl td.nowrap{white-space:nowrap}
.syncbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.attention{list-style:none;margin:0;padding:0}.attention li{padding:8px 0;border-bottom:1px solid var(--line);display:flex;gap:10px;align-items:baseline}.attention li:last-child{border:0}
.attention .dot{width:8px;height:8px;border-radius:50%;background:#f59e0b;flex-shrink:0;transform:translateY(-1px)}.attention .dot.err{background:var(--err)}
.intro{color:var(--muted);margin:-4px 0 12px;max-width:900px}
.addons-card .tbl td{vertical-align:middle}
.health-ok summary{color:var(--ok)}
@media (max-width:900px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.head h1{font-size:19px}}
.addon-form{margin-top:14px;border-top:1px solid var(--line);padding-top:4px}
tr.addon-line td:first-child{padding-left:24px}
.w-price{width:150px}.w-detail{width:220px}
.btn.danger{color:var(--err);border-color:#fca5a5}.btn.danger-fill{background:var(--err);border-color:var(--err);color:#fff}
.sub-head h1 .badge{font-size:12px;vertical-align:4px}.sub-head{margin-bottom:14px}
.narrow-card{max-width:760px}label.check.option{align-items:flex-start;border:1px solid var(--line);border-radius:6px;padding:10px 12px;margin-bottom:8px;flex-wrap:nowrap}label.check.option input[type=radio]{margin-top:4px}
label.check.option input[type=date]{display:inline-block;width:auto;margin:0 4px;padding:3px 6px}ul.consequences{margin:0 0 14px;padding-left:18px}ul.consequences li{margin:4px 0}
.spaced{margin-top:10px}
input.tiny{width:4.5em;padding:2px 6px;min-height:0;display:inline-block}
details.addons{margin-top:4px}details.addons summary{margin:2px 0}details.addons table{margin:4px 0 0;width:auto;min-width:260px}details.addons td{padding:3px 8px}
/* 0.32.0: phones – tabs scroll sideways, test mode always visible; contrast */
.testmode-top{display:none;margin:0 0 12px}
@media (max-width:900px){.testmode-top{display:block}.tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.kv{grid-template-columns:1fr}.kv dt{margin-top:6px}.conn input{min-width:0;flex:1}}
.nav-h,.side .ver{color:#94a3b8}
/* Integrations & general card rhythm (0.32.0-beta.29) */
.cols.top{align-items:start}.mt,.card .conn.mt{margin-top:12px}
label.check>span{flex:1;min-width:0}
.card>h2+p.small,.card>h3+p.small{margin-top:-4px}.card h3+p.small.muted{margin:-4px 0 8px}
.card .conn{margin:0 0 12px}.card .conn form{margin:0}.card .conn .btn{margin:0}
.steps{padding-left:18px;margin:6px 0 12px}
.card details.box{margin:12px 0}.card details.box+details.box{margin-top:8px}details.box[open]{padding-bottom:10px}
.card form.conn input:not([type=hidden]):not([type=checkbox]){flex:1;min-width:180px}
.cols>.card{margin-bottom:0}
@media (max-width:700px){.hide-sm{display:none}}
.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.card-head h2{margin:0 0 4px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.card-head .sub{margin:0;font-size:13px;color:var(--muted)}.card-head .sub b{color:var(--text)}.card-head form{margin:0;flex-shrink:0}
.steps input.copy{margin-top:4px}
.pdfview{width:min(1000px,94vw);height:92vh;padding:0;border:0;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.35);overflow:hidden}.pdfview::backdrop{background:rgba(15,18,30,.55)}
.pdfview[open]{display:flex;flex-direction:column}.pdfbar{display:flex;align-items:center;gap:6px;padding:10px 14px;border-bottom:1px solid var(--line);background:#fff}.pdfbar .pdftitle{font-size:14px}
.pdfbody{flex:1;overflow:auto;background:#e9e8ef;padding:16px}.pdfbody .docpage{display:block;width:100%;max-width:820px;height:auto;margin:0 auto 16px;background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.15)}.pdfmsg{text-align:center;color:var(--muted);margin-top:40px}
@media (max-width:700px){.pdfview{width:100vw;height:100vh;max-width:100vw;max-height:100vh;border-radius:0}.pdfbody{padding:8px}.pdfbar{flex-wrap:wrap}}
.tbl tr.sec td{background:#f6f5fb;font-weight:600;font-size:12.5px;color:#374151;padding-top:7px;padding-bottom:7px}
/* Add-ons tab: one chip per kind of add-on, click to show just those */
.addon-kinds{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.addon-kinds .chip{display:inline-block;padding:6px 12px;border:1px solid var(--line,#e5e7eb);border-radius:999px;background:#fff;color:inherit;text-decoration:none;font-size:13px}
.addon-kinds .chip:hover{border-color:var(--brand,#1f4fd1)}
.addon-kinds .chip.on{border-color:var(--brand,#1f4fd1);box-shadow:inset 0 0 0 1px var(--brand,#1f4fd1)}
.cmp th[scope=row]{font-weight:600;color:var(--muted);text-transform:none;letter-spacing:0;font-size:12.5px;width:130px}.cmp td.cmp-diff{color:var(--warn)}.cmp td:has(input:checked){background:var(--okbg);color:inherit}.cmp label.check{margin:0}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.tbl input.copy.small{width:190px;max-width:100%}
/* 1.0.0: a subscription's cost and profit, together */
.costbox{border:1px solid var(--line);border-radius:var(--radius);padding:8px 12px;margin:4px 0 12px}.costbox p{margin:3px 0}.costbox p:empty{display:none}.costbox:not(:has(p:not(:empty))){display:none}
details.more{margin-top:4px}details.more>summary{cursor:pointer;color:var(--link,var(--brand))}
.picklist{border:1px solid var(--line);border-radius:var(--radius);padding:6px 10px;max-height:220px;overflow-y:auto;margin:0 0 6px}.picklist legend{font-weight:600;padding:0 4px}.picklist label.check{display:flex;margin:2px 0}
.timer-pill{display:block;margin:8px 12px;padding:6px 10px;border-radius:8px;background:#16a34a;color:#fff!important;font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timer-card{border-left:4px solid #16a34a}.timer-clock{font-variant-numeric:tabular-nums;color:#16a34a;margin-left:6px}
.head-actions{display:flex;gap:6px;align-items:center;flex-shrink:0}.card-head .head-actions>form{margin:0}
/* Customer account (portal, 1.2.0) */
body.acct{background:var(--bg)}.acct-viewas{background:var(--warnbg);color:var(--warn);border-bottom:1px solid #fde68a;padding:9px 20px;font-size:13px}
.acct-shell{display:flex;min-height:100vh}
.acct-side{width:236px;background:#fff;border-right:1px solid var(--line);padding:20px 0;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;flex-shrink:0;overflow-y:auto}
.acct-brand{display:flex;align-items:center;gap:10px;padding:0 20px 18px;font-weight:700}.acct-brand img{max-height:44px;max-width:190px}
.acct-brand i{width:34px;height:34px;border-radius:8px;background:var(--brand);color:#fff;display:grid;place-items:center;font-style:normal;font-size:13px;flex-shrink:0}
.acct-who{margin:0 14px 12px;border:1px solid var(--line);border-radius:8px;padding:9px 12px;font-size:13px}.acct-who small{display:block;color:var(--muted);font-size:11.5px;overflow-wrap:anywhere}
.acct-who form{margin:0}.acct-who select{width:100%;font-weight:600;border:0;padding:0;background:none;font-size:13px}
.acct-side nav a{display:flex;align-items:center;gap:8px;color:#374151;padding:8px 20px;border-left:3px solid transparent}.acct-side nav a:hover{background:#f9fafb;text-decoration:none}
.acct-side nav a.on{background:#eef2ff;color:var(--brand);border-left-color:var(--brand);font-weight:600}
.acct-side nav .n{margin-left:auto;background:var(--warnbg);color:var(--warn);font-size:11px;border-radius:10px;padding:0 7px;font-weight:600}
.acct-help{margin-top:auto;padding:14px 20px 0;font-size:12px;color:var(--muted);border-top:1px solid var(--line)}
.acct-main{flex:1;min-width:0;padding:28px 34px;max-width:1140px}.acct-foot{color:var(--muted);font-size:12px;padding:26px 0 6px}
.acct-top{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px}.acct-top h1{margin:0}.acct-top p{margin:4px 0 0;color:var(--muted)}
.acct-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px;min-width:0}.acct-card h2 small{font-weight:400;color:var(--muted);font-size:12.5px;margin-left:6px}
.acct-card.bad .v{color:var(--err)}.acct-card .k{font-size:12.5px;color:var(--muted)}.acct-card .v{font-size:22px;font-weight:700;margin:4px 0 2px}.acct-card .v.small-v{font-size:16px;margin:8px 0 6px}
.acct-card .s,.acct-top .s,p.s{font-size:12.5px;color:var(--muted)}.acct-card .v .s{font-weight:400}
.acct-grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.acct-grid2{display:grid;grid-template-columns:3fr 2fr;gap:16px;margin-bottom:16px}.acct-grid2.even{grid-template-columns:1fr 1fr}
.acct-bar{height:7px;background:#eef0f3;border-radius:6px;overflow:hidden;margin:8px 0 4px}.acct-bar b{display:block;height:100%;background:var(--brand)}
.acct-note{background:var(--warnbg);border:1px solid #fde68a;color:var(--warn);border-radius:8px;padding:10px 14px;margin-bottom:14px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.acct-list{list-style:none;margin:0;padding:0}.acct-list li{display:flex;gap:12px;padding:10px 0;border-top:1px solid var(--line);align-items:center}.acct-list li:first-child{border-top:0;padding-top:0}
.acct-list .t{flex:1;min-width:0}.acct-list .t small{display:block;color:var(--muted)}
.acct-list .dot{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:13px;flex-shrink:0;background:#eef2ff;color:var(--brand)}.dot-payment{background:var(--okbg)!important;color:var(--ok)!important}.dot-quote{background:var(--warnbg)!important;color:var(--warn)!important}
.acct-svc{display:grid;grid-template-columns:1fr 1fr;gap:10px}.acct-svc a{border:1px solid var(--line);border-radius:8px;padding:10px 12px;color:var(--text);display:flex;justify-content:space-between;gap:8px}.acct-svc a:hover{border-color:var(--brand);text-decoration:none}.acct-svc b{font-size:16px}
.acct-tabs{display:flex;gap:4px;margin-bottom:14px;flex-wrap:wrap}.acct-tabs a{padding:6px 12px;border-radius:7px;color:#374151;font-size:13px;border:1px solid transparent}.acct-tabs a.on{background:#fff;border-color:var(--line);font-weight:600}
.acct-dl{display:grid;grid-template-columns:150px 1fr;gap:8px 16px;margin:0}.acct-dl dt{color:var(--muted)}.acct-dl dd{margin:0;overflow-wrap:anywhere}
.acct-lock{font-size:12.5px;color:var(--muted);margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.acct-pm{display:flex;align-items:center;gap:14px}.acct-pm-i{min-width:46px;height:32px;padding:0 6px;border-radius:6px;background:#111827;color:#fff;display:grid;place-items:center;font-size:11px;font-weight:700}
.acct-addon td:first-child{padding-left:26px}.acct-main .mb{margin-bottom:16px}
.acct-switch{position:relative;width:38px;height:22px;border-radius:12px;border:0;background:#d1d5db;cursor:pointer;vertical-align:middle;padding:0;margin-right:6px}
.acct-switch:after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:left .15s}
.acct-switch.on{background:var(--ok)}.acct-switch.on:after{left:19px}.acct-switch:disabled{opacity:.5;cursor:not-allowed}
@media (max-width:900px){.acct-grid4{grid-template-columns:1fr 1fr}.acct-grid2,.acct-grid2.even{grid-template-columns:1fr}}
@media (max-width:760px){
  .acct-shell{display:block}.acct-side{position:static;width:auto;height:auto;border-right:0;border-bottom:1px solid var(--line);padding:12px 0 0}
  .acct-brand{padding:0 16px 10px}.acct-who{margin:0 16px 8px}.acct-side nav{display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:0 8px}
  .acct-side nav a{border-left:0;border-bottom:3px solid transparent;padding:8px 12px;white-space:nowrap}.acct-side nav a.on{border-bottom-color:var(--brand);background:none}
  .acct-help{display:none}.acct-main{padding:18px 16px}.acct-top{display:block}.acct-top .btn{margin-top:10px}.acct-note{display:block}.acct-note .btn{margin-top:8px}
  .acct-stack thead{display:none}.acct-stack tr{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:10px 0;border-bottom:1px solid var(--line)}.acct-stack td{border:0;padding:0}.acct-stack td.hide-sm{display:none}
  .acct-dl{grid-template-columns:1fr}.acct-dl dt{margin-top:6px}.acct-addon td:first-child{padding-left:12px}
}

/* buttons in a row line up whether they're links or form buttons */
.head .actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:flex-end}.head .actions>form,.row-actions>form,.card .row-actions>form,.card .head-actions>form{margin:0;display:inline-flex} /* (beats .card form+form: a row of buttons isn't a stack of forms) */
.menu{position:relative;display:inline-flex;align-self:stretch}.menu>summary{list-style:none;font-size:18px;line-height:1;padding:0 12px;margin:0;height:100%;box-sizing:border-box}.menu>summary::-webkit-details-marker{display:none}
.menu-pop{position:absolute;right:0;top:calc(100% + 6px);z-index:30;min-width:260px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.12);padding:6px}
.menu-pop form{margin:0;display:block}.menu-pop button,.menu-off{display:block;width:100%;text-align:left;background:none;border:0;border-radius:6px;padding:8px 10px;font:inherit;font-weight:600;cursor:pointer;color:var(--text)}
.menu-pop button:hover,.menu-pop button:focus-visible{background:#f3f4f6;outline:none}.menu-pop small{display:block;font-weight:400;color:var(--muted);font-size:12px}.menu-off{cursor:default;color:var(--muted)}
.btn.icon{width:34px;height:34px;padding:0;flex-shrink:0}
.card-head.mid{align-items:center}.card-head.mid h2{margin:0}
.linkbox{border:1px solid var(--line);background:#f9fafb;border-radius:8px;padding:12px 14px;margin:0 0 14px}.linkbox-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.linkbox-row{display:flex;gap:8px;align-items:center}.linkbox-row .copy{flex:1;min-width:0;margin:0}.linkbox p{margin:8px 0 0}
/* Contracts (1.4.0): how far through its minimum term a contract is */
.termbar{height:6px;background:#eef0f3;border-radius:4px;margin-top:6px;max-width:320px}.termbar b{display:block;height:100%;background:var(--brand);border-radius:4px}
/* Legal documents and contracts (1.5.0): Markdown documents, on screen */
.mdoc{line-height:1.6;max-width:760px}.mdoc h2{font-size:20px;margin:22px 0 8px}.mdoc h3{font-size:16px;margin:20px 0 6px}.mdoc h4{font-size:14px;margin:16px 0 4px}
.mdoc ul,.mdoc ol{padding-left:22px}.mdoc li{margin:3px 0}.mdoc .tblwrap{margin:8px 0 12px}.mdoc code{background:#f3f4f6;padding:0 4px;border-radius:3px}
.legal-list{list-style:none;padding:0}.legal-list li{padding:10px 0;border-bottom:1px solid var(--line)}.legal-list li:last-child{border:0}
.mdedit{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;line-height:1.5}
.fills{font-size:12.5px}.fills code{font-size:11.5px;background:#f3f4f6;padding:0 4px;border-radius:3px;white-space:nowrap}
.fills{margin:0}.fills dt{margin-top:8px}.fills dd{margin:2px 0 0;color:var(--muted)}
/* Tickets (1.7.0): a conversation, staff and customer side */
.thread{display:flex;flex-direction:column;gap:12px}
.msg{border:1px solid var(--line);border-radius:8px;padding:12px 14px;background:#fff;overflow-wrap:anywhere}
.msg.us{background:#f8faff;border-color:#dbe4ff}.msg.note{background:#fffbeb;border-color:#fde68a}
.msg.sys{background:none;border:0;padding:0 4px;font-size:12.5px;color:var(--muted)}
.msg .who{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:12.5px;color:var(--muted);margin-bottom:6px}.msg .who b{color:var(--text)}
.msg .files{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.att{display:inline-flex;gap:6px;align-items:center;border:1px solid var(--line);border-radius:6px;padding:3px 8px;font-size:12px;background:#fff}
.composer{border:1px solid var(--line);border-radius:8px;background:#fff;padding:12px 14px;margin-top:14px}
.composer textarea{min-height:120px;width:100%;box-sizing:border-box}
.composer .cfoot{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}
.side-card dl{display:grid;grid-template-columns:100px minmax(0,1fr);gap:8px 10px;margin:0;font-size:13px;align-items:center}.side-card dt{color:var(--muted)}.side-card dd{margin:0}
.side-card select{margin:0;padding:5px 6px;font-size:13px}
.q{display:inline-block;font-size:11px;font-weight:700;border-radius:4px;padding:1px 6px;background:#f3f4f6;color:#374151;white-space:nowrap}
.b-new{background:#eef2ff;color:#3730a3}.b-waiting{background:#f3f4f6;color:#4b5563}
.bar{height:8px;background:var(--brand);border-radius:4px;min-width:2px}
