[hidden]{display:none!important}
/* =========================================================
   Design system · light + dark · brand-driven
   ========================================================= */
:root{
  --brand:#5b3df5;--brand2:#0ea5a4;
  --bg:#f5f6fb;--bg-grad:radial-gradient(1200px 600px at 100% -10%,color-mix(in srgb,var(--brand) 8%,transparent),transparent 60%);
  --surface:#ffffff;--surface-2:#f2f3f9;--surface-3:#e9eaf3;--elev:#ffffff;
  --text:#0d0d1f;--text-2:#3b3b58;--muted:#6c6c89;--line:rgba(16,16,48,.08);--line-2:rgba(16,16,48,.14);
  --ok:#12a150;--ok-bg:#e8f8ef;--warn:#d97706;--warn-bg:#fef5e6;--bad:#e11d48;--bad-bg:#fdecef;--info:#2563eb;--info-bg:#eaf1fe;
  --r-sm:12px;--r:20px;--r-lg:28px;
  --sh-1:0 1px 2px rgba(16,16,48,.05),0 1px 1px rgba(16,16,48,.03);
  --sh-2:0 1px 2px rgba(16,16,48,.04),0 10px 30px -8px rgba(16,16,48,.12);
  --sh-3:0 24px 60px -18px rgba(16,16,48,.28);
  --brand-soft:color-mix(in srgb,var(--brand) 10%,var(--surface));
  --brand-ink:color-mix(in srgb,var(--brand) 82%,var(--text));
  --grad:linear-gradient(135deg,var(--brand) 0%,color-mix(in srgb,var(--brand) 55%,var(--brand2)) 100%);
  --ease:cubic-bezier(.2,.8,.2,1);
  color-scheme:light;
}
[data-theme=dark]{
  --bg:#07070f;--bg-grad:radial-gradient(1200px 700px at 100% -10%,color-mix(in srgb,var(--brand) 18%,transparent),transparent 60%);
  --surface:#10101c;--surface-2:#171726;--surface-3:#202033;--elev:#151524;
  --text:#f3f3fa;--text-2:#c9c9dc;--muted:#8e8eab;--line:rgba(255,255,255,.07);--line-2:rgba(255,255,255,.13);
  --ok:#34d27b;--ok-bg:rgba(52,210,123,.12);--warn:#fbbf24;--warn-bg:rgba(251,191,36,.12);--bad:#fb7185;--bad-bg:rgba(251,113,133,.12);--info:#60a5fa;--info-bg:rgba(96,165,250,.12);
  --sh-1:0 1px 0 rgba(255,255,255,.03) inset;
  --sh-2:0 1px 0 rgba(255,255,255,.04) inset,0 18px 40px -16px rgba(0,0,0,.6);
  --sh-3:0 30px 70px -20px rgba(0,0,0,.75);
  --brand-soft:color-mix(in srgb,var(--brand) 18%,var(--surface));
  --brand-ink:color-mix(in srgb,var(--brand) 55%,#fff);
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{margin:0}
body{font-family:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:15px;line-height:1.55;color:var(--text);background:var(--bg-grad),var(--bg);background-attachment:fixed;-webkit-font-smoothing:antialiased;transition:background-color .3s var(--ease),color .3s var(--ease)}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{margin:0;letter-spacing:-.025em;line-height:1.2}
p{margin:0}
small{font-size:13px}
.muted{color:var(--muted)}
.mono{font-family:"JetBrains Mono",ui-monospace,Menlo,monospace;font-size:.92em}
::selection{background:color-mix(in srgb,var(--brand) 30%,transparent)}

/* ---------- buttons */
.btn{--h:46px;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:var(--h);padding:0 18px;border-radius:14px;border:1px solid transparent;font:inherit;font-weight:700;font-size:15px;cursor:pointer;white-space:nowrap;transition:transform .15s var(--ease),box-shadow .2s var(--ease),background .2s,border-color .2s,color .2s;color:var(--text)}
.btn:active{transform:scale(.97)}
.btn:disabled,.btn.is-loading{opacity:.65;pointer-events:none}
.btn-primary{color:#fff;background:var(--grad);box-shadow:0 10px 24px -8px color-mix(in srgb,var(--brand) 70%,transparent),inset 0 1px 0 rgba(255,255,255,.2)}
.btn-primary:hover{box-shadow:0 14px 30px -8px color-mix(in srgb,var(--brand) 80%,transparent),inset 0 1px 0 rgba(255,255,255,.2)}
.btn-dark{background:var(--text);color:var(--bg)}
.btn-white{background:#fff;color:#14142b;box-shadow:0 8px 20px -8px rgba(0,0,0,.3)}
.btn-soft{background:var(--brand-soft);color:var(--brand-ink)}
.btn-ghost{background:var(--surface);border-color:var(--line-2);color:var(--text-2)}
.btn-ghost:hover{border-color:color-mix(in srgb,var(--brand) 45%,var(--line-2));color:var(--text)}
.btn-danger{background:var(--bad-bg);color:var(--bad)}
.btn-ok{background:var(--ok-bg);color:var(--ok)}
.btn-sm{--h:36px;padding:0 13px;font-size:13px;border-radius:11px}
.btn-lg{--h:54px;padding:0 24px;font-size:16px;border-radius:16px}
.btn-block{width:100%}
.icon-btn{width:42px;height:42px;flex:none;display:inline-grid;place-items:center;border-radius:13px;border:1px solid var(--line-2);background:var(--surface);color:var(--text-2);font-size:19px;cursor:pointer;transition:.2s}
.icon-btn:hover{color:var(--text);border-color:color-mix(in srgb,var(--brand) 40%,var(--line-2))}

/* theme toggle */
.theme-toggle{position:relative;width:42px;height:42px;border-radius:13px;border:1px solid var(--line-2);background:var(--surface);color:var(--text-2);cursor:pointer;overflow:hidden;flex:none}
.theme-toggle i{position:absolute;inset:0;display:grid;place-items:center;font-size:17px;transition:transform .45s var(--ease),opacity .3s}
.theme-toggle .sun{color:#f59e0b}
.theme-toggle .moon{color:#a5b4fc;transform:translateY(120%) rotate(-40deg);opacity:0}
[data-theme=dark] .theme-toggle .sun{transform:translateY(-120%) rotate(40deg);opacity:0}
[data-theme=dark] .theme-toggle .moon{transform:none;opacity:1}

/* ---------- forms */
label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:700;color:var(--text-2)}
input,select,textarea{font:inherit;font-size:15px;font-weight:500;color:var(--text);background:var(--surface-2);border:1.5px solid transparent;border-radius:14px;padding:0 15px;height:50px;width:100%;transition:border-color .2s,box-shadow .2s,background .2s}
textarea{height:auto;padding:13px 15px;min-height:90px;resize:vertical}
input::placeholder,textarea::placeholder{color:color-mix(in srgb,var(--muted) 75%,transparent)}
input:hover,select:hover,textarea:hover{border-color:var(--line-2)}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--brand);background:var(--surface);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 16%,transparent)}
select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:38px}
.field-hint{font-weight:500;color:var(--muted);font-size:12.5px}
.input-wrap{position:relative;display:block}
.input-wrap>i{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:17px;pointer-events:none}
.input-wrap>input{padding-left:44px}
.input-wrap .suffix{position:absolute;right:8px;top:50%;transform:translateY(-50%)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-grid.three{grid-template-columns:repeat(3,1fr)}
.span-2{grid-column:span 2}
.stack{display:flex;flex-direction:column;gap:16px}
.color-row{display:flex;gap:8px}
.color-row input[type=color]{width:56px;flex:none;padding:5px;cursor:pointer}
.switch{flex-direction:row;align-items:center;gap:14px;padding:15px 0;cursor:pointer;border-top:1px solid var(--line)}
.switch:first-of-type{border-top:0}
.switch input{display:none}
.switch>span{width:48px;height:28px;border-radius:99px;background:var(--surface-3);position:relative;flex:none;transition:background .25s}
.switch>span:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.2);transition:transform .25s var(--ease)}
.switch input:checked+span{background:var(--brand)}
.switch input:checked+span:after{transform:translateX(20px)}
.switch b{display:block;font-size:15px;color:var(--text)}
.switch small{display:block;color:var(--muted);font-weight:500}
.pin-input{letter-spacing:.6em;text-align:center;font-family:"JetBrains Mono",monospace;font-size:20px;font-weight:600}

/* ---------- feedback */
.alert{display:flex;align-items:center;gap:12px;padding:13px 16px;border-radius:16px;margin-bottom:16px;font-weight:600;font-size:14px;border:1px solid transparent}
.alert>i{font-size:18px;flex:none}
.alert>div{flex:1}
.alert-success{background:var(--ok-bg);color:var(--ok)}
.alert-error{background:var(--bad-bg);color:var(--bad)}
.alert-warn{background:var(--warn-bg);color:var(--warn)}
.alert-info{background:var(--info-bg);color:var(--info)}
.pill,.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:99px;background:var(--surface-2);color:var(--muted);font-size:12.5px;font-weight:700;white-space:nowrap}
.pill-ok,.badge-ok{background:var(--ok-bg);color:var(--ok)}
.pill-bad,.badge-bad{background:var(--bad-bg);color:var(--bad)}
.badge-warn{background:var(--warn-bg);color:var(--warn)}
.badge-info{background:var(--info-bg);color:var(--info)}
.net-dot{width:38px;height:38px;flex:none;border-radius:50%;display:inline-grid;place-items:center;font-weight:800;font-size:14px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.25)}

/* ---------- cards */
.card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:22px;box-shadow:var(--sh-2);margin-bottom:18px}
.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.card-head h2{font-size:17px;display:flex;align-items:center;gap:10px}
.card-head h2 i{color:var(--brand)}
.card-head .sub{color:var(--muted);font-size:13px;font-weight:500}
.card.flush{padding:0;overflow:hidden}
.card.flush .card-head{padding:20px 22px 0;margin-bottom:12px}
.grid-2{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}
.grid-2>.card{margin:0}
.empty{text-align:center;padding:42px 20px;color:var(--muted)}
.empty i{font-size:34px;display:block;margin-bottom:10px;color:color-mix(in srgb,var(--brand) 60%,var(--muted))}
.empty b{display:block;color:var(--text);font-size:16px;margin-bottom:4px}

/* tinted icon square */
.ico{--c:var(--brand);width:44px;height:44px;flex:none;border-radius:14px;display:inline-grid;place-items:center;font-size:19px;color:var(--c);background:color-mix(in srgb,var(--c) 13%,var(--surface))}
[data-theme=dark] .ico{background:color-mix(in srgb,var(--c) 20%,var(--surface))}
.logo-sq{--c:var(--brand);width:46px;height:46px;flex:none;border-radius:15px;display:grid;place-items:center;font-size:20px;color:var(--c);background:color-mix(in srgb,var(--c) 14%,var(--surface))}

/* ---------- shell */
.shell{display:flex;min-height:100vh}
.sidebar{width:272px;flex:none;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:20px 14px;background:var(--surface);border-right:1px solid var(--line);z-index:40}
.side-brand{display:flex;align-items:center;gap:12px;padding:6px 10px 22px}
.side-brand b{display:block;font-size:16px;letter-spacing:-.02em}
.side-brand small{color:var(--muted);font-weight:600}
.mark{width:42px;height:42px;flex:none;border-radius:14px;display:grid;place-items:center;font-weight:800;font-size:18px;color:#fff;background:var(--grad);box-shadow:0 8px 18px -6px color-mix(in srgb,var(--brand) 70%,transparent),inset 0 1px 0 rgba(255,255,255,.25)}
.mark.is-img{object-fit:contain;background:var(--surface-2);padding:5px;box-shadow:none}
.side-nav{flex:1;display:flex;flex-direction:column;gap:3px;overflow-y:auto}
.nav-group{padding:14px 12px 6px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.nav-link{position:relative;display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:13px;color:var(--text-2);font-weight:600;font-size:14.5px;transition:background .2s,color .2s}
.nav-link i{font-size:18px;width:20px;text-align:center}
.nav-link:hover{background:var(--surface-2);color:var(--text)}
.nav-link.is-active{background:var(--brand-soft);color:var(--brand-ink)}
.nav-link.is-active:before{content:"";position:absolute;left:-14px;top:10px;bottom:10px;width:4px;border-radius:0 4px 4px 0;background:var(--brand)}
.nav-link.is-soon{opacity:.45;cursor:default}
.nav-link.is-soon:hover{background:none}
.nav-link em{margin-left:auto;font-style:normal;font-size:10.5px;font-weight:800;padding:3px 8px;border-radius:99px;background:var(--surface-2)}
.nav-link.as-btn{width:100%;border:0;background:none;font:inherit;font-weight:600;cursor:pointer}
.side-foot{border-top:1px solid var(--line);padding-top:14px;display:flex;flex-direction:column;gap:8px}
.me{display:flex;align-items:center;gap:10px;padding:4px 10px;min-width:0}
.me b{display:block;font-size:14px}
.me small{display:block;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:170px}
.avatar{width:38px;height:38px;flex:none;border-radius:50%;display:grid;place-items:center;font-weight:800;color:var(--brand-ink);background:var(--brand-soft)}
.avatar.lg{width:44px;height:44px;font-size:17px}
.main{flex:1;min-width:0;display:flex;flex-direction:column}
.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:14px;padding:16px 30px;background:color-mix(in srgb,var(--bg) 78%,transparent);backdrop-filter:saturate(160%) blur(16px);-webkit-backdrop-filter:saturate(160%) blur(16px);border-bottom:1px solid transparent}
.topbar-title{flex:1;min-width:0}
.topbar-title small{color:var(--muted);font-weight:600}
.topbar-title h1{font-size:22px}
.topbar-actions{display:flex;align-items:center;gap:8px}
.menu-btn,.show-sm{display:none}
.content{padding:8px 30px 48px;width:100%;max-width:1200px}
.scrim{display:none}

/* admin hero */
.hero-card{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px;border-radius:var(--r-lg);color:#fff;margin-bottom:18px;background:var(--grad);box-shadow:0 24px 50px -22px color-mix(in srgb,var(--brand) 80%,transparent)}
.hero-card:before{content:"";position:absolute;inset:0;background:radial-gradient(420px 200px at 85% -20%,rgba(255,255,255,.28),transparent 70%),radial-gradient(300px 200px at -10% 120%,rgba(0,0,0,.25),transparent 70%);pointer-events:none}
.hero-card:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(90deg,transparent,#000 60%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 60%);pointer-events:none}
.hero-card>*{position:relative;z-index:1}
.eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;opacity:.9}
.hero-figure{font-size:clamp(34px,5vw,50px);font-weight:800;letter-spacing:-.035em;margin:8px 0 4px;font-variant-numeric:tabular-nums}
.hero-card p{opacity:.85;margin-bottom:18px}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap}
.btn-glass{background:rgba(255,255,255,.16);color:#fff;border-color:rgba(255,255,255,.25);backdrop-filter:blur(8px)}
.btn-glass:hover{background:rgba(255,255,255,.24)}
.ring{--p:0;width:140px;height:140px;flex:none;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#fff calc(var(--p)*1%),rgba(255,255,255,.18) 0)}
.ring>div{width:112px;height:112px;border-radius:50%;display:grid;place-content:center;text-align:center;background:color-mix(in srgb,var(--brand) 70%,#000)}
.ring b{font-size:28px;font-weight:800}
.ring small{color:rgba(255,255,255,.75);font-weight:600}

/* KPIs */
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}
.kpi{--c:var(--brand);position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px;box-shadow:var(--sh-2);display:flex;flex-direction:column;gap:2px}
.kpi:after{content:"";position:absolute;right:-30px;top:-30px;width:110px;height:110px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--c) 18%,transparent),transparent 70%)}
.kpi .ico{margin-bottom:12px}
.kpi span{color:var(--muted);font-size:13px;font-weight:600}
.kpi b{font-size:26px;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.kpi .delta{font-size:12.5px;font-weight:700;color:var(--muted)}

/* bar chart */
.bars{display:flex;align-items:flex-end;gap:10px;height:190px;padding-top:10px}
.bar{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;height:100%;justify-content:flex-end}
.bar i{display:block;width:100%;max-width:46px;border-radius:12px 12px 6px 6px;background:var(--grad);min-height:6px;transform-origin:bottom;animation:grow .9s var(--ease) both;position:relative}
.bar.is-zero i{background:var(--surface-3)}
.bar small{color:var(--muted);font-weight:700;font-size:12px}
.bar em{font-style:normal;font-size:11.5px;font-weight:700;color:var(--text-2)}
@keyframes grow{from{transform:scaleY(0)}}

/* tables & lists */
.table-wrap{overflow-x:auto}
table.tbl{width:100%;border-collapse:collapse;font-size:14px}
.tbl th{text-align:left;padding:12px 16px;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--line);white-space:nowrap}
.tbl td{padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:middle}
.tbl tr:last-child td{border-bottom:0}
.tbl tbody tr{transition:background .15s}
.tbl tbody tr:hover{background:var(--surface-2)}
.tbl .who{display:flex;align-items:center;gap:12px}
.tbl .who b{display:block;font-size:14px}
.tbl .who small{color:var(--muted)}
.tbl .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}
.row-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.row-actions.end{justify-content:flex-end;margin-top:8px}
.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:16px}
.filters input,.filters select{height:44px;width:auto;min-width:180px}
.seg{display:inline-flex;padding:4px;border-radius:14px;background:var(--surface-2);gap:2px;flex-wrap:wrap}
.seg a,.seg button{padding:8px 14px;border-radius:11px;font-weight:700;font-size:13px;color:var(--muted);border:0;background:none;cursor:pointer;font-family:inherit}
.seg .is-on{background:var(--surface);color:var(--text);box-shadow:var(--sh-1),0 2px 8px -2px rgba(16,16,48,.15)}
.pager{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-top:1px solid var(--line);color:var(--muted);font-size:13px;font-weight:600}
.checklist{list-style:none;margin:0;padding:0}
.checklist li{display:flex;align-items:center;gap:14px;padding:13px 0;border-top:1px solid var(--line)}
.checklist li:first-child{border-top:0}
.checklist li>i{font-size:21px;color:var(--surface-3)}
.checklist li.is-done>i{color:var(--ok)}
.checklist li.is-done b{color:var(--muted);text-decoration:line-through}
.checklist li>div{flex:1}
.checklist small{display:block;color:var(--muted)}
.sticky-actions{position:sticky;bottom:16px;display:flex;justify-content:flex-end;z-index:5}
.sticky-actions .btn{box-shadow:var(--sh-3)}
.section-label{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:26px 0 12px;font-weight:800}

/* integrations (compat) */
.provider-title{display:flex;gap:12px;align-items:center}
.provider-title small{display:block;color:var(--muted)}
.note{margin:-6px 0 16px;padding:12px 14px;border-radius:14px;background:var(--surface-2);font-size:14px;color:var(--text-2)}
.ip-box{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:16px;border:1.5px dashed var(--line-2);margin-bottom:18px;background:var(--surface-2)}
.ip-box small{display:block;color:var(--muted)}
.ip-box b{font-size:18px;font-family:"JetBrains Mono",monospace}
.test-form{margin-top:14px}
.provider-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.card.mini{display:flex;gap:12px;align-items:center;margin:0;padding:16px}
.card.mini small{display:block;color:var(--muted)}
.drawer{background:var(--surface-2);border-radius:var(--r);padding:20px;margin-bottom:18px;border:1px solid var(--line)}

/* =========================================================
   USER APP (OPay-style premium)
   ========================================================= */
.app-content{max-width:980px}
.wallet-card{position:relative;overflow:hidden;border-radius:26px;padding:22px;color:#fff;background:var(--grad);box-shadow:0 26px 50px -24px color-mix(in srgb,var(--brand) 85%,transparent);isolation:isolate}
.wallet-card:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(300px 160px at 100% 0%,rgba(255,255,255,.3),transparent 70%),radial-gradient(260px 200px at 0% 120%,rgba(0,0,0,.25),transparent 70%)}
.wallet-card:after{content:"";position:absolute;right:-60px;bottom:-90px;width:240px;height:240px;border-radius:50%;border:38px solid rgba(255,255,255,.07);z-index:-1}
.wc-top{display:flex;justify-content:space-between;align-items:center}
.wc-label{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;opacity:.9}
.wc-label button{background:none;border:0;color:inherit;cursor:pointer;font-size:16px;padding:0;opacity:.9}
.wc-tier{font-size:12px;font-weight:800;padding:5px 11px;border-radius:99px;background:rgba(255,255,255,.18);backdrop-filter:blur(6px)}
.wc-balance{font-size:clamp(32px,7vw,42px);font-weight:800;letter-spacing:-.035em;margin:10px 0 16px;font-variant-numeric:tabular-nums}
.wc-balance.is-hidden .amt{filter:blur(10px);user-select:none}
.wc-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.wc-add{display:inline-flex;align-items:center;gap:7px;background:#fff;color:#14142b;font-weight:800;font-size:14px;padding:10px 16px;border-radius:99px;box-shadow:0 8px 18px -8px rgba(0,0,0,.35)}
.wc-add i{color:var(--brand)}
.wc-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.wc-chips span{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;padding:7px 11px;border-radius:12px;background:rgba(255,255,255,.14)}
.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}
.quick a{display:flex;flex-direction:column;align-items:center;gap:9px;padding:16px 6px;border-radius:20px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-1);font-weight:700;font-size:13.5px;transition:transform .2s var(--ease),box-shadow .2s}
.quick a:hover{transform:translateY(-3px);box-shadow:var(--sh-2)}
.quick .ico{width:48px;height:48px;border-radius:16px;font-size:21px}
.stat-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}
.stat{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:16px;display:flex;align-items:center;gap:12px;box-shadow:var(--sh-1)}
.stat small{display:block;color:var(--muted);font-weight:600}
.stat b{font-size:18px;font-weight:800;font-variant-numeric:tabular-nums}
.tx-list{display:flex;flex-direction:column}
.tx-item{display:flex;align-items:center;gap:12px;padding:13px 4px;border-top:1px solid var(--line);transition:background .15s}
.tx-item:first-child{border-top:0}
.tx-item:hover{background:var(--surface-2);border-radius:14px}
.tx-item .meta{flex:1;min-width:0}
.tx-item .meta b{display:block;font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tx-item .meta small{color:var(--muted);font-weight:500}
.tx-item .amt{text-align:right;font-weight:800;font-variant-numeric:tabular-nums}
.tx-item .amt small{display:block;margin-top:3px}
.tx-item .amt .badge{padding:3px 8px;font-size:11px}

/* purchase forms */
.buy-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;align-items:start}
.buy-grid>.card{margin:0}
.step-label{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:800;color:var(--text-2);margin:4px 0 12px}
.step-label span{width:24px;height:24px;border-radius:8px;display:grid;place-items:center;font-size:12px;background:var(--brand-soft);color:var(--brand-ink)}
.net-pick{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:22px}
.net-pick label{cursor:pointer;display:block}
.net-pick input{display:none}
.net-pick .opt{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 6px;border-radius:18px;border:1.5px solid var(--line-2);background:var(--surface);font-weight:800;font-size:13px;color:var(--text);transition:.2s var(--ease)}
.net-pick .opt .net-dot{width:42px;height:42px;font-size:16px}
.net-pick input:checked+.opt{border-color:var(--nc,var(--brand));background:color-mix(in srgb,var(--nc,var(--brand)) 9%,var(--surface));box-shadow:0 0 0 4px color-mix(in srgb,var(--nc,var(--brand)) 15%,transparent)}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.chips button{border:1.5px solid var(--line-2);background:var(--surface);color:var(--text-2);padding:8px 14px;border-radius:12px;font:inherit;font-weight:700;font-size:13.5px;cursor:pointer;transition:.15s}
.chips button:hover,.chips button.is-on{border-color:var(--brand);color:var(--brand-ink);background:var(--brand-soft)}
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:22px}
.plans label{display:block;cursor:pointer}
.plans input{display:none}
.plan{position:relative;display:flex;flex-direction:column;gap:2px;padding:14px;border-radius:18px;border:1.5px solid var(--line-2);background:var(--surface);transition:.2s var(--ease)}
.plan b{font-size:19px;font-weight:800;letter-spacing:-.02em;color:var(--text)}
.plan small{color:var(--muted);font-weight:600}
.plan .price{margin-top:8px;font-weight:800;color:var(--brand-ink);font-size:15px}
.plan .type{position:absolute;top:12px;right:12px;font-size:10.5px;font-weight:800;padding:3px 7px;border-radius:7px;background:var(--surface-2);color:var(--muted)}
.plans input:checked+.plan{border-color:var(--brand);background:var(--brand-soft);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 14%,transparent)}
.plan.is-hidden{display:none}
.summary{position:sticky;top:90px}
.summary .line{display:flex;justify-content:space-between;padding:10px 0;border-top:1px dashed var(--line-2);font-size:14px}
.summary .line:first-of-type{border-top:0}
.summary .line span{color:var(--muted);font-weight:600}
.summary .line b{text-align:right}
.summary .total{display:flex;justify-content:space-between;align-items:baseline;padding:16px 0 18px;margin-top:6px;border-top:1px solid var(--line)}
.summary .total b{font-size:28px;font-weight:800;letter-spacing:-.03em}
.detect{font-size:12.5px;font-weight:700;color:var(--ok);min-height:18px}

/* result receipt */
.result{max-width:480px;margin:10px auto 0;text-align:center}
.result-icon{width:86px;height:86px;border-radius:50%;margin:8px auto 18px;display:grid;place-items:center;font-size:40px;color:#fff;animation:pop .6s var(--ease) both}
.result-icon.ok{background:linear-gradient(135deg,#22c55e,#12a150);box-shadow:0 0 0 12px var(--ok-bg)}
.result-icon.warn{background:linear-gradient(135deg,#fbbf24,#d97706);box-shadow:0 0 0 12px var(--warn-bg)}
.result-icon.bad{background:linear-gradient(135deg,#fb7185,#e11d48);box-shadow:0 0 0 12px var(--bad-bg)}
@keyframes pop{0%{transform:scale(.4);opacity:0}70%{transform:scale(1.08)}100%{transform:none;opacity:1}}
.result h2{font-size:24px;margin-bottom:6px}
.receipt{text-align:left;margin-top:20px;padding:4px 20px;border-radius:20px;background:var(--surface-2)}
.receipt .line{display:flex;justify-content:space-between;gap:14px;padding:13px 0;border-top:1px dashed var(--line-2);font-size:14px}
.receipt .line:first-child{border-top:0}
.receipt .line span{color:var(--muted);font-weight:600}
.receipt .line b{text-align:right;word-break:break-all}

/* bottom nav */
.bottom-nav{display:none}

/* =========================================================
   AUTH (split screen)
   ========================================================= */
.auth{display:grid;grid-template-columns:1.05fr 1fr;min-height:100vh}
.auth-art{position:relative;overflow:hidden;color:#fff;padding:40px;display:flex;flex-direction:column;background:#0b0b1a}
.aurora{position:absolute;inset:-20%;background:radial-gradient(40% 40% at 20% 20%,color-mix(in srgb,var(--brand) 85%,transparent),transparent 70%),radial-gradient(35% 35% at 80% 30%,color-mix(in srgb,var(--brand2) 75%,transparent),transparent 70%),radial-gradient(40% 40% at 50% 90%,color-mix(in srgb,var(--brand) 60%,#ec4899),transparent 70%);filter:blur(30px);animation:aurora 16s ease-in-out infinite alternate}
.auth-art:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(circle at 50% 50%,#000,transparent 75%);-webkit-mask-image:radial-gradient(circle at 50% 50%,#000,transparent 75%)}
@keyframes aurora{50%{transform:translate(4%,-3%) rotate(6deg) scale(1.05)}100%{transform:translate(-3%,3%) rotate(-4deg)}}
.auth-logo{position:relative;z-index:1;display:inline-flex;align-items:center;gap:12px;font-size:18px}
.auth-logo .mark{box-shadow:none;background:rgba(255,255,255,.18);backdrop-filter:blur(10px)}
.auth-logo.sm .mark{background:var(--grad)}
.auth-pitch{position:relative;z-index:1;margin-top:auto;max-width:480px}
.auth-pitch h2{font-size:clamp(32px,3.6vw,46px);font-weight:800;letter-spacing:-.035em;line-height:1.08}
.auth-pitch h2 span{background:linear-gradient(90deg,#fff,color-mix(in srgb,var(--brand2) 50%,#fff));-webkit-background-clip:text;background-clip:text;color:transparent}
.auth-pitch p{margin:14px 0 28px;opacity:.8;font-size:16px}
.auth-stack{display:flex;flex-direction:column;gap:10px;max-width:360px}
.glass-card{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:18px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(14px);animation:floatIn .8s var(--ease) both}
.glass-card.d2{animation-delay:.15s;margin-left:28px}.glass-card.d3{animation-delay:.3s;margin-left:56px}
.glass-card>i{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.18);font-size:17px}
.glass-card div{flex:1}.glass-card small{display:block;opacity:.75;font-size:12px}.glass-card b{font-size:14.5px}
.glass-card em{font-style:normal;font-size:12px;font-weight:800;padding:4px 9px;border-radius:99px;background:rgba(255,255,255,.18)}
@keyframes floatIn{from{opacity:0;transform:translateY(16px)}}
.auth-main{display:flex;flex-direction:column;padding:28px 40px;background:var(--bg)}
.auth-top{display:flex;justify-content:flex-end;align-items:center;gap:12px}
.auth-top .auth-logo{margin-right:auto;color:var(--text)}
.auth-box{width:100%;max-width:420px;margin:auto}
.auth-box h1{font-size:30px;font-weight:800;letter-spacing:-.03em}
.auth-box>.muted{margin:8px 0 26px}
.auth-box form .btn-primary{margin-top:6px}
.auth-alt{text-align:center;margin-top:22px;color:var(--muted);font-weight:600}
.auth-alt a{color:var(--brand-ink);font-weight:800}

/* motion helpers */
.fade-up{animation:floatIn .6s var(--ease) both}
.fade-up.d1{animation-delay:.06s}.fade-up.d2{animation-delay:.12s}.fade-up.d3{animation-delay:.18s}.fade-up.d4{animation-delay:.24s}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width:1100px){
  .kpis{grid-template-columns:repeat(2,1fr)}
  .grid-2,.buy-grid{grid-template-columns:1fr}
  .summary{position:static}
  .provider-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:960px){
  .sidebar{position:fixed;left:0;top:0;transform:translateX(-102%);transition:transform .3s var(--ease);box-shadow:var(--sh-3)}
  .sidebar.is-open{transform:none}
  .scrim{position:fixed;inset:0;z-index:35;background:rgba(5,5,15,.5);backdrop-filter:blur(2px)}
  .scrim.is-open{display:block}
  .admin-shell .menu-btn{display:inline-grid}
  .auth{grid-template-columns:1fr}
  .auth-art{display:none}
  .show-sm{display:inline-flex}
  .app-shell .sidebar{display:none}
  .app-shell .content{padding-bottom:110px}
  .bottom-nav{position:fixed;left:10px;right:10px;max-width:560px;margin:0 auto;bottom:calc(10px + env(safe-area-inset-bottom));z-index:30;display:grid;grid-template-columns:repeat(5,1fr);padding:8px;border-radius:24px;background:color-mix(in srgb,var(--surface) 86%,transparent);backdrop-filter:saturate(170%) blur(18px);-webkit-backdrop-filter:saturate(170%) blur(18px);border:1px solid var(--line-2);box-shadow:var(--sh-3)}
  .bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:3px;padding:7px 0;border-radius:16px;font-size:11px;font-weight:700;color:var(--muted)}
  .bottom-nav i{font-size:20px}
  .bottom-nav a.is-active{color:var(--brand-ink);background:var(--brand-soft)}
}
@media (max-width:760px){
  body{font-size:15px}
  .topbar{padding:12px 16px}
  .topbar-title h1{font-size:19px}
  .hide-sm{display:none}
  .content{padding:4px 14px 40px}
  .card{padding:18px;border-radius:20px}
  .form-grid,.form-grid.three{grid-template-columns:1fr}
  .span-2{grid-column:auto}
  .hero-card{flex-direction:column;align-items:flex-start;padding:22px}
  .ring{width:88px;height:88px;position:absolute;right:16px;top:16px}
  .ring>div{width:70px;height:70px}
  .ring b{font-size:17px}
  .ring small{font-size:10px}
  .kpis{gap:10px}
  .kpi{padding:15px}
  .kpi b{font-size:21px}
  .ip-box{flex-direction:column;align-items:flex-start}
  .filters input,.filters select{min-width:0;flex:1}
  .tbl th,.tbl td{padding:12px}
  .quick{gap:8px}
  .quick a{padding:13px 4px;border-radius:18px;font-size:12.5px}
  .quick .ico{width:44px;height:44px}
  .plans{grid-template-columns:repeat(2,1fr)}
  .net-pick{gap:8px}
  .auth-main{padding:18px 20px 30px}
  .auth-box h1{font-size:26px}
}
@media print{.sidebar,.topbar,.bottom-nav,.no-print{display:none!important}.content{padding:0}.card{box-shadow:none;border:0}}
.spin{display:inline-block;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}

/* =========================================================
   Pricing engine & sync (v0.4)
   ========================================================= */
.tier-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:9px;font-size:12px;font-weight:800;letter-spacing:.01em;white-space:nowrap;--tc:#64748b;color:var(--tc);background:color-mix(in srgb,var(--tc) 13%,var(--surface))}
.tier-chip.t1{--tc:#64748b}.tier-chip.t2{--tc:#0ea5a4}.tier-chip.t3{--tc:#7c3aed}.tier-chip.t4{--tc:#d97706}
[data-theme=dark] .tier-chip.t1{--tc:#94a3b8}
.up-txt{color:var(--ok)}.down-txt{color:var(--bad)}
.link{color:var(--brand-ink);font-weight:700}
.pricing-layout{display:grid;grid-template-columns:1fr 320px;gap:18px;align-items:start}
.pricing-layout>.card{margin:0}
.matrix td{padding:10px 12px}
.matrix tr.grp td{padding:14px 16px 6px;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:transparent!important}
.matrix tr.is-global td{background:color-mix(in srgb,var(--brand) 5%,transparent)}
.cell{display:flex;align-items:center;gap:0;border-radius:12px;background:var(--surface-2);border:1.5px solid transparent;transition:border-color .2s,box-shadow .2s;min-width:118px}
.cell:focus-within{border-color:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 14%,transparent);background:var(--surface)}
.cell input{height:40px;border:0;background:transparent;padding:0 10px;font-weight:700;min-width:0;box-shadow:none!important}
.cell input:focus{box-shadow:none;background:transparent}
.cell select{height:40px;width:56px;flex:none;border:0;border-left:1px solid var(--line-2);border-radius:0 12px 12px 0;background-color:transparent;padding:0 22px 0 10px;font-weight:800;background-position:calc(100% - 13px) 50%,calc(100% - 8px) 50%;box-shadow:none!important}
.cell .unit{padding:0 12px;font-weight:800;color:var(--muted)}
.matrix-foot{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap;padding:18px 22px;border-top:1px solid var(--line)}
.matrix-foot label{flex:1;min-width:180px}
.live-preview{position:sticky;top:92px}
.pv-cost{display:flex;justify-content:space-between;align-items:center;padding:14px 0 10px;color:var(--muted);font-weight:600}
.pv-cost b{color:var(--text);font-size:17px}
.pv-tiers{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.pv-tier{--tc:#64748b;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;border-radius:16px;background:color-mix(in srgb,var(--tc) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--tc) 18%,transparent);animation:floatIn .35s var(--ease) both}
.pv-tier.t2{--tc:#0ea5a4}.pv-tier.t3{--tc:#7c3aed}.pv-tier.t4{--tc:#d97706}
.pv-tier small{display:block;color:var(--tc);font-weight:800;font-size:12px}
.pv-tier b{font-size:19px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.pv-meta{text-align:right}
.pv-meta em{display:block;font-style:normal;font-weight:800;color:var(--ok);font-size:13.5px}
.pv-meta small{color:var(--muted)!important;font-weight:600!important}
.preview-card{border:1.5px solid color-mix(in srgb,var(--brand) 35%,var(--line));background:linear-gradient(180deg,color-mix(in srgb,var(--brand) 6%,var(--surface)),var(--surface) 120px)}
.diff-tbl td.num{white-space:nowrap}
.diff-tbl s{font-size:12.5px}
.diff-tbl tr.is-big td{background:color-mix(in srgb,var(--warn) 7%,transparent)}
.bad-cell{background:color-mix(in srgb,var(--bad) 9%,transparent)}
.sum-chips{display:flex;flex-wrap:wrap;gap:8px}
.sum-chip{--c:var(--brand);display:inline-flex;align-items:center;gap:7px;padding:9px 13px;border-radius:13px;font-size:13.5px;font-weight:700;color:var(--text-2);background:color-mix(in srgb,var(--c) 9%,var(--surface));border:1px solid color-mix(in srgb,var(--c) 22%,transparent)}
.sum-chip i{color:var(--c)}.sum-chip b{color:var(--text);font-size:15px}
.alert-list{margin:6px 0 0;padding-left:18px;font-weight:500}
.sync-hero{display:flex;flex-direction:column;gap:12px;justify-content:center}
.sync-hero h2{font-size:22px}
.cron-box{margin-top:18px;padding:18px;border-radius:18px;background:var(--surface-2);display:flex;flex-direction:column;gap:8px}
.cron-box>b{display:flex;gap:8px;align-items:center}
.cron-box small{color:var(--muted);font-weight:600;margin-top:6px}
.copy-row{display:flex;gap:8px;align-items:center}
.copy-row code{flex:1;min-width:0;overflow-x:auto;white-space:nowrap;padding:11px 13px;border-radius:12px;background:var(--surface);border:1px solid var(--line-2);font-family:"JetBrains Mono",monospace;font-size:12.5px}
.sub-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:22px 0 10px;flex-wrap:wrap}
.tier-inputs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.tier-inputs[hidden]{display:none}
.plans-tbl td.num small{font-weight:700;font-size:11.5px}
.plans-tbl tr.is-off{opacity:.55}
.plans-tbl .badge{margin:2px 2px 2px 0}
.tier-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}
.tier-grid .card{margin:0}
.tier-card{border-top:4px solid var(--tc,#64748b)}
.tier-card.t1{--tc:#64748b}.tier-card.t2{--tc:#0ea5a4}.tier-card.t3{--tc:#7c3aed}.tier-card.t4{--tc:#d97706}
/* user upgrade */
.up-hero{color:#fff;background:var(--grad);border:0;overflow:hidden}
.up-hero h2{font-size:32px;font-weight:800;margin:8px 0 4px}
.up-hero p{opacity:.85}
.tier-ladder{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.tier-step{--tc:#64748b;position:relative;display:flex;flex-direction:column;gap:8px;padding:18px;border-radius:22px;background:var(--surface);border:1.5px solid var(--line);box-shadow:var(--sh-1)}
.tier-step.t2{--tc:#0ea5a4}.tier-step.t3{--tc:#7c3aed}.tier-step.t4{--tc:#d97706}
.tier-step.is-current{border-color:var(--tc);box-shadow:0 0 0 4px color-mix(in srgb,var(--tc) 14%,transparent)}
.tier-step.is-past{opacity:.6}
.ts-head{display:flex;justify-content:space-between;align-items:center}
.tier-step h3{font-size:20px;font-weight:800}
.ts-line{display:flex;justify-content:space-between;gap:8px;font-size:13.5px;padding:7px 0;border-top:1px dashed var(--line-2)}
.ts-line span{color:var(--muted);font-weight:600}
.ts-buy{margin-top:auto;padding-top:8px;display:flex;flex-direction:column;gap:8px}
.ts-buy .pin-input{height:44px;font-size:16px}
@media (max-width:1100px){
  .pricing-layout{grid-template-columns:1fr}
  .live-preview{position:static}
  .tier-grid,.tier-ladder{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
  .tier-inputs{grid-template-columns:repeat(2,1fr)}
  .tier-grid,.tier-ladder{grid-template-columns:1fr}
  .copy-row{flex-direction:column;align-items:stretch}
}
.file-drop{position:relative;flex-direction:row;align-items:center;gap:14px;padding:18px;border-radius:16px;border:1.5px dashed color-mix(in srgb,var(--brand) 40%,var(--line-2));background:var(--brand-soft);cursor:pointer;transition:border-color .2s}
.file-drop:hover{border-color:var(--brand)}
.file-drop>i{font-size:28px;color:var(--brand)}
.file-drop span{display:flex;flex-direction:column;gap:2px}
.file-drop b{color:var(--text);font-size:15px}
.file-drop small{color:var(--muted);font-weight:500}
.file-drop input{position:absolute;inset:0;opacity:0;cursor:pointer;height:100%}

/* =========================================================
   v0.5 · network logos, purchase flow, sheets, home
   ========================================================= */
.net-logo{display:block;flex:none;border-radius:50%;box-shadow:0 2px 8px -2px rgba(16,16,48,.28),inset 0 0 0 1px rgba(0,0,0,.04)}
[data-theme=dark] .net-logo{box-shadow:0 0 0 2px rgba(255,255,255,.06),0 4px 12px -4px rgba(0,0,0,.6)}
.net-dot{display:none}

/* shell */
.buy-shell{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:18px;align-items:start}
.buy-main{display:flex;flex-direction:column;gap:16px;min-width:0}
.buy-main>.card,.buy-side{margin:0}
.buy-hero{position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:flex-end;gap:16px;padding:24px;border-radius:26px;color:#fff;background:var(--grad);box-shadow:0 22px 44px -24px color-mix(in srgb,var(--brand) 85%,transparent);isolation:isolate}
.buy-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(320px 180px at 100% 0%,rgba(255,255,255,.28),transparent 70%),radial-gradient(220px 160px at 0% 120%,rgba(0,0,0,.22),transparent 70%)}
.buy-hero:after{content:"";position:absolute;right:-50px;top:-70px;width:220px;height:220px;border-radius:50%;border:34px solid rgba(255,255,255,.07);z-index:-1}
.buy-hero.air{background:linear-gradient(135deg,color-mix(in srgb,var(--brand2) 85%,#000),var(--brand))}
.buy-hero h2{font-size:28px;font-weight:800;letter-spacing:-.03em;margin:6px 0 4px}
.buy-hero p{opacity:.85;font-size:14.5px}
.bh-wallet{text-align:right;flex:none}
.bh-wallet small{display:block;opacity:.8;font-weight:600}
.bh-wallet b{display:block;font-size:22px;font-weight:800;letter-spacing:-.02em;margin:2px 0 8px;font-variant-numeric:tabular-nums}
.bh-tier{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:800;padding:6px 11px;border-radius:99px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.25)}
.field-card{padding:20px}
.fc-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.fc-head b{font-size:16px}
.fc-step{width:26px;height:26px;border-radius:9px;display:grid;place-items:center;font-size:12.5px;font-weight:800;color:#fff;background:var(--grad)}
.fc-hint{margin-left:auto;color:var(--muted);font-size:13px;font-weight:600}

/* phone field */
.phone-field{position:relative;display:flex;align-items:center;height:68px;border-radius:20px;background:var(--surface-2);border:2px solid transparent;transition:border-color .2s,box-shadow .2s,background .2s}
.phone-field:focus-within{border-color:var(--brand);background:var(--surface);box-shadow:0 0 0 5px color-mix(in srgb,var(--brand) 14%,transparent)}
.pf-logo{width:62px;flex:none;display:grid;place-items:center;font-size:22px;color:var(--muted)}
.pf-logo .net-logo{width:40px;height:40px;animation:pop .45s var(--ease) both}
.phone-field input{height:100%;border:0;background:transparent!important;box-shadow:none!important;padding:0 8px 0 0;font-family:"JetBrains Mono",monospace;font-size:22px;font-weight:600;letter-spacing:.06em}
.pf-clear{width:44px;height:44px;margin-right:8px;flex:none;border:0;background:none;color:var(--muted);font-size:18px;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .2s}
.phone-field:focus-within .pf-clear,.has-net .pf-clear{opacity:1;pointer-events:auto}
.net-status{display:flex;align-items:center;gap:10px;min-height:34px;margin-top:10px;font-size:13.5px;font-weight:700}
.net-status .muted{font-weight:600}
.ns-ok{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border-radius:99px;color:var(--ok);background:var(--ok-bg)}
.ns-ok .net-logo{box-shadow:none}
.ns-warn{display:inline-flex;align-items:center;gap:7px;color:var(--warn)}
.ns-change{border:0;background:none;color:var(--brand-ink);font:inherit;font-weight:800;cursor:pointer;padding:6px 4px;text-decoration:underline;text-underline-offset:3px}
.net-choose{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px;animation:floatIn .3s var(--ease) both}
.net-choose[hidden]{display:none}
.net-choose label{display:block;cursor:pointer}
.net-choose input{display:none}
.net-choose span{display:flex;flex-direction:column;align-items:center;gap:7px;padding:12px 4px;border-radius:16px;border:1.5px solid var(--line-2);background:var(--surface);font-size:12.5px;transition:.2s}
.net-choose input:checked+span{border-color:var(--brand);background:var(--brand-soft);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 14%,transparent)}
.recent{margin-top:14px;padding-top:14px;border-top:1px dashed var(--line-2)}
.recent>small{display:block;color:var(--muted);font-weight:700;margin-bottom:9px}
.recent-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}
.recent-row::-webkit-scrollbar{display:none}
.recent-chip{display:inline-flex;align-items:center;gap:8px;flex:none;padding:6px 12px 6px 6px;border-radius:99px;border:1.5px solid var(--line-2);background:var(--surface);color:var(--text-2);font:inherit;font-size:13px;font-weight:700;font-family:"JetBrains Mono",monospace;cursor:pointer;transition:.15s}
.recent-chip:hover{border-color:var(--brand);color:var(--text)}
.recent-chip .net-logo{box-shadow:none}

/* plan trigger */
.plan-trigger{width:100%;display:flex;align-items:center;gap:14px;min-height:76px;padding:12px 16px 12px 12px;border-radius:20px;border:2px dashed var(--line-2);background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-color .2s,background .2s,transform .15s}
.plan-trigger:not(:disabled):hover{border-color:var(--brand);background:var(--brand-soft)}
.plan-trigger:not(:disabled):active{transform:scale(.99)}
.plan-trigger:disabled{cursor:not-allowed;opacity:.6}
.plan-trigger.has-plan{border-style:solid;border-color:var(--brand);background:var(--brand-soft)}
.pt-icon{width:48px;height:48px;flex:none;border-radius:15px;display:grid;place-items:center;font-size:21px;color:#fff;background:var(--grad)}
.pt-body{flex:1;min-width:0;display:flex;flex-direction:column}
.pt-ph{color:var(--muted);font-weight:700}
.pt-size{font-size:20px;font-weight:800;letter-spacing:-.02em}
.pt-meta{color:var(--muted);font-weight:600;font-size:13px}
.pt-price{font-weight:800;font-size:17px;color:var(--brand-ink);font-variant-numeric:tabular-nums}
.pt-chev{color:var(--muted)}

/* amount */
.amount-field{display:flex;align-items:center;height:76px;padding:0 18px;border-radius:20px;background:var(--surface-2);border:2px solid transparent;transition:.2s}
.amount-field:focus-within{border-color:var(--brand);background:var(--surface);box-shadow:0 0 0 5px color-mix(in srgb,var(--brand) 14%,transparent)}
.amount-field span{font-size:30px;font-weight:800;color:var(--muted)}
.amount-field input{height:100%;border:0;background:transparent!important;box-shadow:none!important;font-size:34px;font-weight:800;letter-spacing:-.03em;padding:0 8px}
.amount-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
.amount-grid button{display:flex;flex-direction:column;align-items:center;gap:1px;padding:12px 6px;border-radius:16px;border:1.5px solid var(--line-2);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;transition:.15s}
.amount-grid button b{font-size:16px;font-weight:800}
.amount-grid button small{font-size:11.5px;font-weight:700;color:var(--ok);min-height:15px}
.amount-grid button:hover,.amount-grid button.is-on{border-color:var(--brand);background:var(--brand-soft)}

/* summary aside */
.buy-side{position:sticky;top:90px}
.sum-logo{display:inline-flex;vertical-align:middle;margin-right:6px}
.sum-logo .net-logo{box-shadow:none}
.secure-note{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:12px;color:var(--muted);font-size:12.5px;font-weight:600}
.secure-note i{color:var(--ok)}
.paybar{display:none}

/* sheets */
.sheet{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;pointer-events:none;visibility:hidden}
.sheet.is-open{pointer-events:auto;visibility:visible}
.sheet-backdrop{position:absolute;inset:0;background:rgba(6,6,18,.62);opacity:0;transition:opacity .3s}
.sheet.is-open .sheet-backdrop{opacity:1}
.sheet-panel{position:relative;width:min(620px,calc(100vw - 32px));max-height:min(86vh,820px);display:flex;flex-direction:column;border-radius:28px;background:var(--surface);border:1px solid var(--line-2);box-shadow:var(--sh-3);transform:translateY(24px) scale(.97);opacity:0;transition:transform .35s var(--ease),opacity .25s}
.sheet-panel.sm{width:min(440px,calc(100vw - 32px));padding:26px}
.sheet-panel.wide{width:min(920px,calc(100vw - 32px))}
.sheet.is-open .sheet-panel{transform:none;opacity:1}
.sheet-grab{display:none}
.sheet-head{display:flex;align-items:center;gap:12px;padding:20px 22px 14px}
.sheet-head>div{flex:1;min-width:0}
.sheet-head b{display:block;font-size:18px;letter-spacing:-.02em}
.sheet-head small{color:var(--muted);font-weight:600}
.sheet-tools{display:flex;flex-direction:column;gap:12px;padding:0 22px 14px;border-bottom:1px solid var(--line)}
.sheet-tools input{height:46px}
.sheet-body{flex:1;overflow-y:auto;padding:18px 22px 24px;overscroll-behavior:contain}
.sheet-x{position:absolute;right:16px;top:16px}
body.sheet-lock{overflow:hidden}
.plan-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
.plan-tabs::-webkit-scrollbar{display:none}
.plan-tabs button{flex:none;display:inline-flex;align-items:center;gap:6px;padding:8px 13px;border-radius:12px;border:1.5px solid var(--line-2);background:var(--surface);color:var(--text-2);font:inherit;font-size:12px;font-weight:800;letter-spacing:.03em;cursor:pointer}
.plan-tabs button em{font-style:normal;font-size:11px;padding:1px 6px;border-radius:99px;background:var(--surface-2);color:var(--muted)}
.plan-tabs button.is-on{border-color:var(--brand);background:var(--brand);color:#fff}
.plan-tabs button.is-on em{background:rgba(255,255,255,.22);color:#fff}
.plan-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.plan-opt{position:relative;min-width:0;min-height:128px;display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:14px;border-radius:18px;border:1.5px solid var(--line-2);background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:transform .15s,border-color .2s,box-shadow .2s}
.plan-opt[hidden]{display:none}
.plan-opt:hover{border-color:var(--brand);transform:translateY(-2px);box-shadow:var(--sh-2)}
.plan-opt.is-selected{border-color:var(--brand);background:var(--brand-soft);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 14%,transparent)}
.po-top{width:100%;display:flex;justify-content:space-between;align-items:flex-start;gap:6px}
.po-size{font-size:21px;font-weight:800;letter-spacing:-.03em;line-height:1.1}
.po-type{flex:none;max-width:58%;font-size:9.5px;font-weight:800;letter-spacing:.04em;padding:3px 7px;border-radius:7px;background:var(--surface-2);color:var(--muted);text-align:right;line-height:1.3}
.po-val{font-size:12.5px;color:var(--muted);font-weight:600}
.po-note{font-size:11.5px;color:var(--muted);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.po-price{margin-top:auto;padding-top:6px;font-size:16px;font-weight:800;color:var(--brand-ink);font-variant-numeric:tabular-nums}

/* confirm */
.cf-top{text-align:center;padding:4px 0 16px}
.cf-logo{display:inline-flex;margin-bottom:10px}
.cf-top small{display:block;color:var(--muted);font-weight:700}
.cf-amount{font-size:38px;font-weight:800;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.cf-rows{border-radius:18px;background:var(--surface-2);padding:4px 16px;margin-bottom:18px}
.cf-rows div{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px dashed var(--line-2);font-size:14px}
.cf-rows div:first-child{border-top:0}
.cf-rows span{color:var(--muted);font-weight:600}
.cf-rows b{text-align:right}
.pin-label{display:flex;align-items:center;justify-content:center;gap:7px;font-weight:700;font-size:14px;color:var(--text-2);margin-bottom:12px}
.pin-label i{color:var(--brand)}
.pin-boxes{display:flex;justify-content:center;gap:12px;margin-bottom:18px}
.pin-boxes input{width:58px;height:62px;padding:0;text-align:center;font-size:28px;font-weight:800;border-radius:16px;font-family:"JetBrains Mono",monospace}
.cf-forgot{display:block;text-align:center;margin-top:12px;font-size:13px;font-weight:700;color:var(--muted)}

/* toast */
.toast{position:fixed;left:50%;bottom:28px;z-index:120;display:flex;align-items:center;gap:10px;max-width:calc(100vw - 32px);padding:13px 18px;border-radius:16px;font-weight:700;font-size:14px;color:#fff;background:#1c1c2e;box-shadow:var(--sh-3);transform:translate(-50%,20px);opacity:0;transition:transform .3s var(--ease),opacity .3s}
.toast.is-in{transform:translate(-50%,0);opacity:1}
.toast-error i{color:#fb7185}.toast-ok i{color:#34d27b}

/* home */
.home-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:18px;align-items:start}
.home-main,.home-side{display:flex;flex-direction:column;gap:16px;min-width:0}
.home-main>*,.home-side>.card{margin:0}
.wc-pro{padding:24px}
.wc-mini{text-align:right}
.wc-mini small{display:block;font-size:12px;opacity:.8;font-weight:600}
.wc-mini b{font-size:15px;font-variant-numeric:tabular-nums}
.services{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:14px;border-radius:24px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-1)}
.services a{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 4px;border-radius:18px;font-weight:700;font-size:13px;text-align:center;transition:background .2s,transform .2s}
.services a:hover{background:var(--surface-2);transform:translateY(-2px)}
.services .ico{width:50px;height:50px;border-radius:17px;font-size:21px}
.promo{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:22px;color:var(--text);background:linear-gradient(110deg,color-mix(in srgb,#f59e0b 14%,var(--surface)),color-mix(in srgb,#7c3aed 12%,var(--surface)));border:1px solid color-mix(in srgb,#7c3aed 20%,var(--line))}
.promo-ico{width:46px;height:46px;flex:none;border-radius:15px;display:grid;place-items:center;font-size:20px;color:#fff;background:linear-gradient(135deg,#f59e0b,#7c3aed)}
.promo-copy{flex:1;min-width:0}
.promo-copy b{display:block;font-size:15.5px}
.promo-copy small{color:var(--muted);font-weight:600}
.promo-cta{flex:none;font-weight:800;color:var(--brand-ink);font-size:14px}
.month-figure{font-size:28px;font-weight:800;letter-spacing:-.03em;margin-bottom:12px;font-variant-numeric:tabular-nums}
.month-figure small{display:block;font-size:13px;color:var(--muted);font-weight:600;letter-spacing:0}
.bars.mini{height:110px;gap:7px}
.bars.mini i{border-radius:8px 8px 4px 4px}
.quick-list{display:flex;flex-direction:column}
.quick-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line)}
.quick-row:first-child{border-top:0}
.quick-row>div{flex:1;min-width:0}
.quick-row b{display:block;font-size:13.5px}
.quick-row small{color:var(--muted);font-weight:600}
.quick-row .btn{padding:0 10px}
.empty.sm{padding:18px 8px;font-size:13.5px}
.empty.sm i{font-size:26px}
.tx-item>.net-logo{width:40px;height:40px}

/* admin: data types */
.types-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.types-grid>.card{margin:0}
.type-list{display:flex;flex-direction:column}
.type-row{display:flex;align-items:center;gap:12px;padding:13px 0;border-top:1px solid var(--line)}
.type-row:first-child{border-top:0}
.tr-info{flex:1;min-width:0}
.tr-info b{display:block;font-size:15px}
.tr-info small{color:var(--muted);font-weight:600}
.tr-state{font-size:12px;font-weight:800;color:var(--ok)}
.type-row.is-off .tr-state{color:var(--muted)}
.type-row.is-off .tr-info{opacity:.55}

/* admin: transaction detail */
.http-tag{display:inline-block;margin-left:4px;font-family:"JetBrains Mono",monospace;font-size:11px;font-weight:600;padding:2px 6px;border-radius:6px;background:var(--surface-2);color:var(--muted)}
.http-tag.bad{background:var(--bad-bg);color:var(--bad)}
.tx-sheet .sheet-body{padding-top:4px}
.txd-top{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
.txd-top>div{padding:14px;border-radius:16px;background:var(--surface-2)}
.txd-top small{display:block;color:var(--muted);font-weight:700;margin-bottom:6px}
.txd-top b{font-size:18px;font-weight:800;font-variant-numeric:tabular-nums}
.txd-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;border-radius:16px;overflow:hidden;background:var(--line);border:1px solid var(--line);margin-bottom:16px}
.txd-grid>div{padding:13px 14px;background:var(--surface);min-width:0}
.txd-grid span{display:block;color:var(--muted);font-size:12px;font-weight:700;margin-bottom:4px}
.txd-grid b{display:block;font-size:14px;word-break:break-all}
.txd-grid small{color:var(--muted);font-weight:600}
.txd-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.txd-h{font-size:14px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:22px 0 12px}
.timeline{list-style:none;margin:0;padding:0;position:relative}
.timeline:before{content:"";position:absolute;left:17px;top:8px;bottom:8px;width:2px;background:var(--line-2)}
.timeline li{position:relative;display:flex;gap:14px;padding:0 0 16px}
.tl-dot{position:relative;z-index:1;width:36px;height:36px;flex:none;border-radius:50%;display:grid;place-items:center;color:var(--c);background:color-mix(in srgb,var(--c) 14%,var(--surface));box-shadow:0 0 0 4px var(--surface)}
.timeline b{display:block;font-size:14.5px}
.timeline small{color:var(--muted);font-weight:600}
.timeline p{margin-top:4px;font-size:13.5px;color:var(--text-2);word-break:break-word}
.api-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:8px}
.api-box{display:flex;flex-direction:column;gap:8px;min-width:0}
.api-head{display:flex;justify-content:space-between;align-items:center;gap:8px}
.api-head b{font-size:14px;display:flex;gap:7px;align-items:center}
.api-box pre{margin:0;padding:14px;border-radius:14px;background:#0d0d1a;color:#c9f7d6;font-family:"JetBrains Mono",monospace;font-size:12.5px;line-height:1.55;max-height:300px;overflow:auto;white-space:pre-wrap;word-break:break-all}

/* responsive */
@media (max-width:1100px){
  .buy-shell,.home-grid{grid-template-columns:1fr}
  .buy-side{position:static}
  .types-grid,.api-grid{grid-template-columns:1fr}
  .txd-top{grid-template-columns:repeat(2,1fr)}
  .txd-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .buy-side{display:none}
  .paybar{position:fixed;left:10px;right:10px;bottom:calc(86px + env(safe-area-inset-bottom));z-index:29;display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:560px;margin:0 auto;padding:10px 10px 10px 18px;border-radius:22px;background:color-mix(in srgb,var(--surface) 90%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid var(--line-2);box-shadow:var(--sh-3)}
  .paybar small{display:block;color:var(--muted);font-weight:700;font-size:12px}
  .paybar b{font-size:20px;font-weight:800;letter-spacing:-.02em}
  .app-shell .content{padding-bottom:180px}
  .buy-hero{padding:20px;border-radius:24px;flex-direction:column;align-items:flex-start}
  .bh-wallet{text-align:left;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
  .bh-wallet b{margin:0;font-size:18px}
  .bh-wallet small{display:none}
  .buy-hero h2{font-size:24px}
  .field-card{padding:16px}
  .fc-hint{display:none}
  .phone-field{height:62px}
  .phone-field input{font-size:19px}
  .net-choose{gap:6px}
  .plan-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sheet{align-items:flex-end}
  .sheet-panel,.sheet-panel.sm,.sheet-panel.wide{width:100%;max-height:90vh;border-radius:28px 28px 0 0;border-bottom:0;transform:translateY(100%);opacity:1;padding-bottom:env(safe-area-inset-bottom)}
  .sheet-panel.sm{padding:18px 20px calc(22px + env(safe-area-inset-bottom))}
  .sheet-grab{display:block;width:44px;height:5px;border-radius:99px;background:var(--line-2);margin:10px auto 0}
  .sheet-head{padding:12px 18px 12px}
  .sheet-tools{padding:0 18px 12px}
  .sheet-body{padding:14px 18px 26px}
  .pin-boxes input{width:56px;height:58px}
  .services{grid-template-columns:repeat(4,1fr);gap:4px;padding:10px}
  .services a{font-size:12px;padding:10px 2px}
  .services .ico{width:46px;height:46px}
  .txd-top,.txd-grid{grid-template-columns:1fr 1fr}
}

.app-content{margin-inline:auto}
.sheet-panel.sm .sheet-grab{margin:-6px auto 8px}

/* =========================================================
   Module 6 · Wallet funding + profit analytics
   ========================================================= */
.fund-hero{background:linear-gradient(135deg,#0f766e 0%,color-mix(in srgb,var(--brand) 70%,#0ea5a4) 100%)}
.fund-tabs{display:flex;width:100%;margin-bottom:16px}
.fund-tabs a{flex:1;text-align:center;display:inline-flex;align-items:center;justify-content:center;gap:7px}
.va-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-bottom:18px}
.va-card{position:relative;overflow:hidden;isolation:isolate;border-radius:24px;padding:20px;color:#fff;min-height:186px;display:flex;flex-direction:column;background:linear-gradient(140deg,#111133 0%,var(--brand) 120%);box-shadow:0 22px 44px -22px color-mix(in srgb,var(--brand) 80%,transparent)}
.va-card.v1{background:linear-gradient(140deg,#052e2b 0%,#0ea5a4 130%)}
.va-card.v2{background:linear-gradient(140deg,#3b0a2a 0%,#ec4899 140%)}
.va-card:before{content:"";position:absolute;z-index:-1;right:-70px;top:-70px;width:220px;height:220px;border-radius:50%;border:34px solid rgba(255,255,255,.07)}
.va-card:after{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(260px 140px at 0% 110%,rgba(255,255,255,.14),transparent 70%)}
.va-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:auto}
.va-bank{display:inline-flex;align-items:center;gap:7px;font-weight:800;font-size:14px}
.va-live{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700;padding:5px 10px;border-radius:99px;background:rgba(255,255,255,.14)}
.dot-live{width:8px;height:8px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 0 rgba(74,222,128,.6);animation:livePulse 1.8s infinite}
@keyframes livePulse{0%{box-shadow:0 0 0 0 rgba(74,222,128,.55)}70%{box-shadow:0 0 0 9px rgba(74,222,128,0)}100%{box-shadow:0 0 0 0 rgba(74,222,128,0)}}
.va-card>small{margin-top:18px;opacity:.75;font-weight:600}
.va-num{font-size:30px;font-weight:700;letter-spacing:.08em;margin:2px 0 14px}
.va-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.va-bottom small{display:block;opacity:.72;font-size:12px}
.va-bottom b{font-size:14px}
.how-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.how-steps li{display:flex;gap:12px;align-items:flex-start}
.how-steps span{flex:none;width:32px;height:32px;border-radius:11px;display:grid;place-items:center;font-weight:800;background:var(--brand-soft);color:var(--brand-ink)}
.how-steps b{display:block;font-size:14.5px}
.how-steps small{color:var(--muted)}
.dyn-card{max-width:560px;margin-left:auto;margin-right:auto}
.dyn-head{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.dyn-head b{display:block}
.dyn-head small{color:var(--muted)}
.dyn-head>div{flex:1}
.ring-spin{flex:none;width:38px;height:38px;border-radius:50%;border:4px solid var(--brand-soft);border-top-color:var(--brand);animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.dyn-timer{font-size:18px;font-weight:800;padding:8px 12px;border-radius:12px;background:var(--warn-bg);color:var(--warn)}
.dyn-amount{text-align:center;padding:18px;border-radius:18px;background:var(--surface-2);margin-bottom:14px}
.dyn-amount small{display:block;color:var(--muted);font-weight:600}
.dyn-amount b{font-size:34px;font-weight:800;letter-spacing:-.03em}
.bank-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border-radius:16px;background:var(--surface-2);margin-bottom:10px}
.bank-row small{display:block;color:var(--muted)}
.bank-row b{font-size:18px;letter-spacing:.05em}

/* admin: integrations */
.fund-int-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:26px 0 14px;flex-wrap:wrap}
.fund-int-head .section-label{margin:0 0 4px}
.chain{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--muted)}
.chain-step{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border-radius:99px;background:var(--surface);border:1px solid var(--line);font-weight:700;font-size:13px;color:var(--text)}
.chain-step b{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:12px;color:#fff;background:var(--c)}
.fund-int-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.fund-int-grid>.card{margin:0}
.fund-prov{border-top:3px solid var(--c)}
.pills{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.wh-box{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:14px;background:var(--surface-2);border:1px dashed var(--line-2);margin-bottom:6px}
.wh-box>div{min-width:0}
.wh-box small{display:block;color:var(--muted);font-weight:600}
.wh-box b{display:block;font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wh-box em{font-style:normal;font-size:12px;color:var(--muted)}
.form-grid.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.bank-pick{margin:6px 0 10px}
.bank-pick>small{color:var(--muted);font-weight:700}
.chip-check{display:inline-flex;cursor:pointer}
.chip-check input{position:absolute;opacity:0;pointer-events:none}
.chip-check span{padding:8px 13px;border-radius:12px;border:1.5px solid var(--line-2);font-weight:700;font-size:13px;color:var(--text-2);transition:.15s}
.chip-check input:checked+span{border-color:var(--c,var(--brand));background:color-mix(in srgb,var(--c,var(--brand)) 12%,var(--surface));color:var(--text)}
.chip-check input:focus-visible+span{outline:2px solid var(--brand);outline-offset:2px}
details.adv{margin:8px 0 12px;border-radius:14px;background:var(--surface-2);padding:2px 14px}
details.adv summary{cursor:pointer;padding:11px 0;font-weight:700;font-size:13.5px;color:var(--text-2);list-style:none;display:flex;gap:8px;align-items:center}
details.adv summary::-webkit-details-marker{display:none}
details.adv[open]{padding-bottom:12px}
.mb-rows{margin-top:10px}
.mb-rows>small{display:block;color:var(--muted);font-weight:700;margin-bottom:8px}
.mb-row{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:10px;margin-bottom:10px}

/* admin: funding desk */
.fund-admin-hero{background:linear-gradient(135deg,#064e3b 0%,#0ea5a4 55%,color-mix(in srgb,var(--brand) 80%,#0ea5a4) 100%)}
.fund-mini{display:grid;gap:12px;min-width:220px}
.fund-mini>div{padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.12);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.16)}
.fund-mini small{display:block;opacity:.75;font-weight:600}
.fund-mini b{display:block;font-size:22px;font-weight:800;letter-spacing:-.02em}
.fund-mini em{font-style:normal;font-size:12px;opacity:.7}
.tab-seg{display:flex;width:fit-content;max-width:100%;margin-bottom:18px;overflow-x:auto;flex-wrap:nowrap}
.tab-seg a{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.tab-seg .count{font-style:normal;font-size:11px;min-width:20px;height:20px;padding:0 6px;border-radius:99px;display:inline-grid;place-items:center;background:var(--bad);color:#fff}
.share-list{display:grid;gap:12px}
.share-row{display:grid;grid-template-columns:110px 1fr auto 100px;align-items:center;gap:14px}
.share-row small{color:var(--muted);text-align:right}
.share-bar{height:10px;border-radius:99px;background:var(--surface-2);overflow:hidden}
.share-bar i{display:block;height:100%;border-radius:99px;background:var(--c)}
.mq-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:16px}
.mq-card{display:grid;grid-template-columns:150px 1fr;gap:16px;margin:0;padding:14px}
.mq-receipt{border-radius:14px;overflow:hidden;background:var(--surface-2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:190px;color:var(--muted);font-weight:700;font-size:13px}
.mq-receipt img{width:100%;height:100%;object-fit:cover;transition:transform .3s var(--ease)}
.mq-receipt:hover img{transform:scale(1.04)}
.mq-receipt i{font-size:30px}
.mq-receipt.is-none{opacity:.7}
.mq-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.mq-top small{color:var(--muted);font-weight:600}
.mq-amt{font-size:26px;font-weight:800;letter-spacing:-.03em}
.mq-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;margin:10px 0 12px}
.mq-meta div.span-2{grid-column:1/-1}
.mq-meta dt{font-size:12px;color:var(--muted);font-weight:600}
.mq-meta dd{margin:0;font-weight:700;font-size:13.5px;word-break:break-word}
.mq-meta dd small{display:block;font-weight:500;color:var(--muted)}
.mq-actions{display:grid;gap:8px}
.mq-actions input{height:40px}
.mq-actions .row-actions{justify-content:flex-end}
.hook-list{display:grid}
.hook{border-top:1px solid var(--line)}
.hook:first-child{border-top:0}
.hook summary{display:flex;align-items:center;gap:12px;padding:14px 22px;cursor:pointer;list-style:none}
.hook summary::-webkit-details-marker{display:none}
.hook summary:hover{background:var(--surface-2)}
.hook-msg{flex:1;min-width:0;color:var(--text-2);font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hook-dot{width:10px;height:10px;border-radius:50%;flex:none;background:var(--muted)}
.hook-dot.is-processed{background:var(--ok)}
.hook-dot.is-failed{background:var(--bad)}
.hook-dot.is-ignored{background:var(--warn)}
.hook-body{padding:0 22px 18px}
.hook-body pre{max-height:320px;overflow:auto}

/* admin: funding analytics */
.funding-analytics-card{border-left:3px solid #0284c7}
.funding-an-grid{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:12px;align-items:stretch}
.funding-an-stat{display:flex;align-items:center;gap:12px;padding:16px;border-radius:18px;background:var(--surface-2)}
.funding-an-stat .ico{flex:none}
.funding-an-stat small,.funding-an-stat em{display:block;color:var(--muted);font-size:12.5px;font-style:normal;font-weight:600}
.funding-an-stat b{display:block;font-size:22px;font-weight:800;letter-spacing:-.03em}
.funding-an-stat.is-profit b{color:var(--ok)}
.funding-an-note{display:flex;align-items:flex-start;gap:10px;padding:16px;border-radius:18px;background:var(--info-bg);color:var(--info);font-size:13px;font-weight:700}
.funding-an-note i{font-size:18px;flex:none}

/* admin: analytics */
.an-filters{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-bottom:16px}
.an-custom{display:flex;gap:8px;flex-wrap:wrap}
.an-custom input,.an-custom select{height:42px;width:auto}
.an-hero{position:relative;overflow:hidden;isolation:isolate;display:grid;grid-template-columns:1.5fr auto 1fr;align-items:center;gap:28px;padding:28px;border-radius:var(--r-lg);color:#fff;margin-bottom:18px;background:radial-gradient(600px 300px at 0% 0%,color-mix(in srgb,var(--brand) 60%,transparent),transparent 70%),radial-gradient(500px 300px at 100% 100%,color-mix(in srgb,#12a150 45%,transparent),transparent 70%),#0b0b1d;box-shadow:var(--sh-3)}
.an-hero:after{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:32px 32px;mask-image:radial-gradient(circle at 70% 50%,#000,transparent 75%);-webkit-mask-image:radial-gradient(circle at 70% 50%,#000,transparent 75%)}
.an-hero .eyebrow{color:rgba(255,255,255,.8)}
.an-hero .hero-figure{font-size:44px}
.an-hero p{opacity:.8;margin:4px 0 12px}
.an-hero .delta{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:99px;font-weight:700;font-size:12.5px;background:rgba(255,255,255,.12)}
.an-hero .delta.up{background:rgba(52,210,123,.2);color:#86efac}
.an-hero .delta.down{background:rgba(251,113,133,.2);color:#fda4af}
.an-dial{--p:0;width:168px;height:168px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(from 220deg,#34d27b calc(var(--p)*1%),rgba(255,255,255,.1) 0);position:relative}
.an-dial>div{width:132px;height:132px;border-radius:50%;display:grid;place-content:center;text-align:center;background:#0b0b1d;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.an-dial b{font-size:30px;font-weight:800;letter-spacing:-.03em}
.an-dial small{opacity:.7;font-weight:600}
.an-hero-side{display:grid;gap:14px}
.an-hero-side small{display:block;opacity:.7;font-weight:600}
.an-hero-side b{font-size:22px;font-weight:800}
.mini-bar{height:6px;border-radius:99px;background:rgba(255,255,255,.12);margin-top:6px;overflow:hidden}
.mini-bar i{display:block;height:100%;background:linear-gradient(90deg,#34d27b,#a3e635);border-radius:99px}
.kpis.k6{grid-template-columns:repeat(6,minmax(0,1fr))}
.kpis.k6 .kpi b{font-size:21px}
.kpi .delta.up{color:var(--ok)}
.kpi .delta.down{color:var(--bad)}
.fade-up.d5{animation-delay:.3s}.fade-up.d6{animation-delay:.36s}
.legend{display:flex;align-items:center;gap:14px;font-size:13px;font-weight:700;color:var(--muted)}
.legend span:before,.an-tip i{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.lg-rev:before,.an-tip i.lg-rev{background:color-mix(in srgb,var(--brand) 55%,var(--surface-3))}
.lg-pro:before,.an-tip i.lg-pro{background:var(--ok)}
.an-chart{position:relative}
.an-chart svg{display:block;width:100%;height:260px}
.an-chart .grid{stroke:var(--line);stroke-width:1}
.an-chart .rev{fill:color-mix(in srgb,var(--brand) 30%,var(--surface-2));transition:fill .15s}
.an-chart .area{pointer-events:none}
.an-chart .pro{fill:none;stroke:var(--ok);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke;pointer-events:none}
.an-chart .hit{fill:transparent;cursor:crosshair}
.an-chart .hit.on{fill:color-mix(in srgb,var(--brand) 7%,transparent)}
.an-x{position:relative;height:22px;margin-top:4px}
.an-x span{position:absolute;transform:translateX(-50%);font-size:12px;color:var(--muted);font-weight:600;white-space:nowrap}
.an-tip{position:absolute;top:6px;transform:translateX(-50%);min-width:140px;padding:10px 12px;border-radius:14px;background:var(--elev);border:1px solid var(--line-2);box-shadow:var(--sh-3);pointer-events:none;display:grid;gap:3px;font-size:13px;z-index:2}
.an-tip[hidden]{display:none}
.an-tip span{font-weight:700}
.an-tip small{color:var(--muted)}
.donut-wrap{position:relative;width:180px;margin:0 auto 16px}
.donut{display:block;width:180px;height:180px;transform:rotate(-90deg)}
.donut-bg{fill:none;stroke:var(--surface-2);stroke-width:5}
.donut-seg{fill:none;stroke-width:5;transition:stroke-width .2s}
.donut-mid{position:absolute;inset:0;display:grid;place-content:center;text-align:center}
.donut-mid b{font-size:18px;font-weight:800}
.donut-mid small{color:var(--muted);font-weight:600}
.br-list{display:grid;gap:4px}
.br-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:10px;border-radius:14px}
.br-row:hover{background:var(--surface-2)}
.br-row small{display:block;color:var(--muted);font-size:12.5px}
.br-row .num{text-align:right}
.hbar-list{display:grid;gap:14px}
.hbar-top{display:flex;justify-content:space-between;gap:10px;font-size:14px}
.hbar-top span{font-weight:800;font-variant-numeric:tabular-nums}
.hbar-track{height:10px;border-radius:99px;background:var(--surface-2);overflow:hidden;margin:6px 0 3px}
.hbar-track i{display:block;height:100%;border-radius:99px;background:var(--grad);animation:growX .9s var(--ease) both;transform-origin:left}
.hbar.is-neg .hbar-track i{background:var(--bad)}
.hbar small{color:var(--muted)}
@keyframes growX{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.svc-split{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.svc-split>div{padding:14px;border-radius:16px;background:var(--surface-2)}
.svc-split small{display:block;color:var(--muted);font-weight:700}
.svc-split b{display:block;font-size:19px;font-weight:800}
.svc-split em{font-style:normal;font-size:12.5px;color:var(--muted)}
.tier-an{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tier-an-card{position:relative;overflow:hidden;padding:16px;border-radius:18px;border:1px solid var(--line);background:var(--surface-2)}
.tier-an-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--tc,var(--brand))}
.tier-an-card.t1{--tc:#64748b}.tier-an-card.t2{--tc:#0ea5a4}.tier-an-card.t3{--tc:#8b5cf6}.tier-an-card.t4{--tc:#f59e0b}
.tier-an-card small{color:var(--muted);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.tier-an-card>b{display:block;font-size:15px}
.ta-fig{font-size:22px;font-weight:800;letter-spacing:-.02em;margin-top:6px}
.tier-an-card em{font-style:normal;font-size:12.5px;color:var(--muted)}
.hours{display:grid;grid-template-columns:repeat(24,1fr);gap:4px;height:150px;align-items:end;padding-bottom:20px;position:relative}
.hour{position:relative;height:100%;display:flex;align-items:flex-end}
.hour i{display:block;width:100%;border-radius:5px 5px 2px 2px;background:linear-gradient(180deg,var(--brand),color-mix(in srgb,var(--brand) 40%,var(--brand2)));opacity:.85;transition:opacity .15s}
.hour:hover i{opacity:1}
.hour small{position:absolute;bottom:-20px;left:0;font-size:11px;color:var(--muted);white-space:nowrap}
.status-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:22px}
.status-strip>div{padding:10px;border-radius:14px;text-align:center;background:var(--surface-2)}
.status-strip b{display:block;font-size:18px;font-weight:800}
.status-strip small{color:var(--muted);font-weight:600;font-size:12px}
.ss-success b{color:var(--ok)}.ss-failed b{color:var(--bad)}.ss-refunded b{color:var(--info)}.ss-pending b{color:var(--warn)}
.rank{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;font-weight:800;font-size:13px;background:var(--surface-2);color:var(--muted);flex:none}
.rank.r1{background:linear-gradient(135deg,#fde68a,#f59e0b);color:#78350f}
.rank.r2{background:linear-gradient(135deg,#e5e7eb,#9ca3af);color:#1f2937}
.rank.r3{background:linear-gradient(135deg,#fed7aa,#c2410c);color:#fff}

@media (max-width:1280px){.kpis.k6{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:1100px){.fund-int-grid{grid-template-columns:1fr}.an-hero{grid-template-columns:1fr auto}.an-hero-side{grid-column:1/-1;grid-template-columns:repeat(3,auto);justify-content:start;gap:28px}}
@media (max-width:760px){
  .how-steps{grid-template-columns:1fr}
  .va-num{font-size:26px}
  .form-grid.g3{grid-template-columns:1fr 1fr}
  .mb-row{grid-template-columns:1fr 1fr}.mb-row input:last-child{grid-column:1/-1}
  .fund-mini{min-width:0;grid-template-columns:1fr 1fr;width:100%}
  .share-row{grid-template-columns:80px 1fr auto}.share-row small{display:none}
  .mq-grid{grid-template-columns:1fr}
  .mq-card{grid-template-columns:1fr}.mq-receipt{min-height:160px;max-height:220px}
  .funding-an-grid{grid-template-columns:1fr}
  .an-hero{grid-template-columns:1fr;padding:22px;text-align:left}
  .an-hero .hero-figure{font-size:34px}
  .an-dial{width:140px;height:140px;justify-self:center}.an-dial>div{width:110px;height:110px}
  .an-hero-side{grid-template-columns:1fr 1fr}
  .kpis.k6{grid-template-columns:1fr 1fr}.kpis.k6 .kpi b{font-size:18px}
  .an-chart svg{height:200px}
  .hours{gap:2px}
  .status-strip{grid-template-columns:1fr 1fr}
  .tab-seg{width:100%}
}

/* =========================================================
   Module 7 · Paylux rate limit, queue, receipt lane
   ========================================================= */
.funding-dash-card .card-head{margin-bottom:12px}
.funding-account-list{display:grid;gap:10px}
.funding-account-row{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;background:var(--surface-2)}
.funding-bank-icon{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:color-mix(in srgb,var(--ok) 14%,var(--surface));color:var(--ok);font-size:18px}
.funding-account-meta b{display:block;font-size:14.5px}
.funding-account-meta small{display:block;color:var(--muted);font-size:12.5px}
.funding-account-row strong{font-size:18px;letter-spacing:.06em}
.funding-dash-note{display:flex;align-items:center;gap:6px;margin-top:10px;color:var(--muted);font-weight:600}
.funding-dash-note i{color:var(--ok)}
.funding-dash-empty{display:flex;align-items:center;gap:14px;padding:14px;border-radius:16px;background:var(--brand-soft)}
.funding-dash-empty>i{font-size:22px;color:var(--brand)}
.funding-dash-empty div{flex:1}
.funding-dash-empty b{display:block}
.funding-dash-empty small{color:var(--muted)}

/* stopwatch dial: one tick per Paylux slot */
.rl-dial{--tk-off:var(--surface-3);--tk-on:var(--ok);--tk-hot:#f59e0b;--tk-full:var(--bad);position:relative;width:220px;height:220px;flex:none}
.rl-dial svg{width:100%;height:100%;display:block}
.rl-dial .tk{stroke:var(--tk-off);stroke-width:3.2;stroke-linecap:round;transition:stroke .35s var(--ease)}
.rl-dial .tk.hot{stroke:color-mix(in srgb,var(--tk-hot) 28%,var(--tk-off))}
.rl-dial .tk.mark{stroke:var(--tk-hot);stroke-width:3.6}
.rl-dial .tk.on{stroke:var(--tk-on)}
.rl-dial .tk.on.hot{stroke:var(--tk-hot)}
.rl-dial.lane-full .tk.on{stroke:var(--tk-full)}
.rl-dial.lane-off .tk.on{stroke:var(--muted)}
.rl-dial .tk.head{animation:tickPulse 1.6s ease-in-out infinite}
@keyframes tickPulse{0%,100%{stroke-width:3.2}50%{stroke-width:5.4}}
.rl-dial-mid{position:absolute;inset:0;display:grid;place-content:center;text-align:center}
.rl-dial-mid b{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:46px;font-weight:600;letter-spacing:-.04em;line-height:1}
.rl-dial-mid b em{font-style:normal;font-size:20px;opacity:.5;margin-left:2px}
.rl-dial-mid small{font-size:13px;font-weight:600;opacity:.7;margin-top:6px}
.rl-dial.sm{width:96px;height:96px}
.rl-dial.sm .tk{stroke-width:4.6}
.rl-dial.sm .tk.mark{stroke-width:5}
.rl-dial.sm .rl-dial-mid b{font-size:22px}
.rl-dial.sm .rl-dial-mid b em{font-size:11px}
.rl-dial.sm .rl-dial-mid small{display:none}

.rl-lane{display:inline-flex;align-items:center;gap:7px;padding:6px 13px;border-radius:99px;font-weight:800;font-size:13px;background:var(--ok-bg);color:var(--ok)}
.rl-lane.lane-queueing{background:var(--warn-bg);color:var(--warn)}
.rl-lane.lane-full{background:var(--bad-bg);color:var(--bad)}
.rl-lane.lane-off{background:var(--surface-2);color:var(--muted)}

.rl-hero{position:relative;overflow:hidden;isolation:isolate;display:flex;align-items:center;gap:34px;padding:26px 30px;border-radius:var(--r-lg);margin-bottom:18px;color:#f3f3fa;background:radial-gradient(520px 260px at 0% 50%,color-mix(in srgb,var(--brand) 38%,transparent),transparent 70%),#0d0d1f;box-shadow:var(--sh-3)}
.rl-hero:after{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px);background-size:18px 18px;mask-image:linear-gradient(90deg,transparent 20%,#000);-webkit-mask-image:linear-gradient(90deg,transparent 20%,#000)}
.rl-hero .rl-dial{--tk-off:rgba(255,255,255,.1);--tk-on:#34d27b;--tk-hot:#fbbf24;--tk-full:#fb7185}
.rl-hero .rl-lane{background:rgba(52,210,123,.16);color:#86efac}
.rl-hero .rl-lane.lane-queueing{background:rgba(251,191,36,.16);color:#fcd34d}
.rl-hero .rl-lane.lane-full{background:rgba(251,113,133,.16);color:#fda4af}
.rl-hero .rl-lane.lane-off{background:rgba(255,255,255,.08);color:#c9c9dc}
.rl-hero-copy{min-width:0}
.rl-hero-copy h2{font-size:28px;font-weight:800;letter-spacing:-.03em;margin:12px 0 10px}
.rl-rule{display:flex;flex-wrap:wrap;gap:6px 18px;margin-bottom:18px;color:rgba(243,243,250,.72);font-size:14px}
.rl-rule b{color:#fff;font-family:"JetBrains Mono",ui-monospace,monospace;font-weight:600}
.rl-last{font-size:13px;color:rgba(243,243,250,.6);font-weight:600}
.rl-hero .hero-actions{align-items:center}

.legend .lg-buy:before{background:var(--brand)}
.legend .lg-oth:before{background:color-mix(in srgb,var(--brand2) 45%,var(--surface-3))}
.legend .lg-429:before{background:var(--bad);border-radius:50%}
.rl-chart{position:relative;height:200px;padding-bottom:24px}
.rl-bars{position:absolute;inset:0 0 24px 0;display:grid;grid-template-columns:repeat(60,minmax(0,1fr));gap:3px;align-items:end}
.rl-col{position:relative;height:100%;display:flex;flex-direction:column-reverse;border-radius:4px;background:color-mix(in srgb,var(--surface-2) 70%,transparent)}
.rl-col i{display:block;width:100%}
.rl-col .b-buy{background:var(--brand);border-radius:4px 4px 0 0}
.rl-col .b-oth{background:color-mix(in srgb,var(--brand2) 45%,var(--surface-3))}
.rl-col.has-429:after{content:"";position:absolute;top:-8px;left:50%;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:var(--bad)}
.rl-col:hover{background:color-mix(in srgb,var(--brand) 10%,var(--surface-2))}
.rl-line{position:absolute;left:0;right:0;border-top:1.5px dashed;z-index:1;pointer-events:none}
.rl-line em{position:absolute;right:0;top:-20px;font-style:normal;font-size:12px;font-weight:700;padding:1px 7px;border-radius:6px;background:var(--surface)}
.rl-line.l-limit{bottom:calc(24px + (100% - 24px) * var(--limit) / 100);border-color:var(--bad);color:var(--bad)}
.rl-line.l-inline{bottom:calc(24px + (100% - 24px) * var(--inline) / 100);border-color:var(--warn);color:var(--warn)}
.rl-x{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;font-size:12px;color:var(--muted);font-weight:600}

.seg .count{font-style:normal;font-size:11px;min-width:18px;height:18px;padding:0 5px;border-radius:99px;display:inline-grid;place-items:center;background:var(--bad);color:#fff;margin-left:4px}
.card.flush .card-head .seg{flex-wrap:wrap}

.rl-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:8px}
.rl-groups fieldset{border:1px solid var(--line);border-radius:18px;padding:14px 16px 6px;margin:0;display:grid;gap:12px;align-content:start;background:var(--surface-2)}
.rl-groups legend{padding:0 8px;font-weight:800;font-size:13px;color:var(--brand-ink);text-transform:uppercase;letter-spacing:.06em}
.rl-groups label small{color:var(--muted);font-weight:500;font-size:12.5px}
.rl-groups input{font-family:"JetBrains Mono",ui-monospace,monospace}

/* dashboard mini meter */
.rl-mini{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:20px;padding:16px 20px;transition:transform .2s var(--ease),box-shadow .2s var(--ease)}
.rl-mini:hover{transform:translateY(-2px);box-shadow:var(--sh-3)}
.rl-mini-copy{display:grid;gap:5px;justify-items:start}
.rl-mini-copy small{color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:12px}
.rl-mini-copy span{color:var(--muted);font-size:13.5px}
.rl-mini-stats{display:flex;gap:10px}
.rl-mini-stats div{min-width:76px;padding:10px 12px;border-radius:14px;background:var(--surface-2);text-align:center}
.rl-mini-stats b{display:block;font-size:20px;font-weight:800;font-variant-numeric:tabular-nums}
.rl-mini-stats small{color:var(--muted);font-weight:600;font-size:12px}
.rl-mini-stats .is-warn b{color:var(--warn)}
.rl-mini-go{color:var(--muted);font-size:18px}

/* receipt: in-line banner */
.q-banner{display:flex;align-items:center;gap:14px;text-align:left;margin:16px 0 4px;padding:14px 16px;border-radius:18px;background:var(--warn-bg);border:1px solid color-mix(in srgb,var(--warn) 25%,transparent)}
.q-banner.is-sent{background:var(--info-bg);border-color:color-mix(in srgb,var(--info) 25%,transparent)}
.q-lane{display:flex;gap:5px;flex:none}
.q-lane i{width:9px;height:9px;border-radius:50%;background:var(--warn);opacity:.25;animation:laneStep 1.5s infinite}
.q-banner.is-sent .q-lane i{background:var(--info)}
.q-lane i:nth-child(2){animation-delay:.15s}.q-lane i:nth-child(3){animation-delay:.3s}.q-lane i:nth-child(4){animation-delay:.45s}.q-lane i:nth-child(5){animation-delay:.6s}
@keyframes laneStep{0%,100%{opacity:.25;transform:scale(.85)}30%{opacity:1;transform:scale(1.1)}}
.q-copy{flex:1;min-width:0}
.q-copy b{display:block;font-size:15px}
.q-copy small{color:var(--text-2)}
.q-safe{flex:none;display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:700;color:var(--ok);background:var(--surface);padding:5px 10px;border-radius:99px}

/* analytics: delivery pipeline */
.pipe-split{margin-bottom:16px}
.pipe-bar{display:flex;height:14px;border-radius:99px;overflow:hidden;background:var(--surface-2)}
.pipe-bar .p-inline{flex:1;background:var(--ok)}
.pipe-bar .p-queued{width:var(--q);background:#f59e0b}
.pipe-legend{display:flex;justify-content:space-between;gap:10px;margin-top:8px;font-size:13.5px;color:var(--muted)}
.pipe-legend b{color:var(--text);font-variant-numeric:tabular-nums}
.pipe-legend span:before{content:"";display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:6px}
.pl-inline:before{background:var(--ok)}
.pl-queued:before{background:#f59e0b}
.pipe-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.pipe-stats>div{padding:14px;border-radius:16px;background:var(--surface-2)}
.pipe-stats small{display:block;color:var(--muted);font-weight:700;font-size:12.5px}
.pipe-stats b{display:block;font-size:22px;font-weight:800}
.pipe-stats em{font-style:normal;font-size:12.5px;color:var(--muted)}
.pipe-stats .is-bad b{color:var(--bad)}

@media (max-width:1100px){.rl-groups{grid-template-columns:1fr 1fr}.rl-mini{grid-template-columns:auto 1fr}.rl-mini-stats{grid-column:1/-1}.rl-mini-go{display:none}}
@media (max-width:760px){
  .rl-hero{flex-direction:column;align-items:flex-start;gap:18px;padding:22px}
  .rl-hero .rl-dial{width:180px;height:180px;align-self:center}
  .rl-hero-copy h2{font-size:22px}
  .rl-bars{gap:1px}
  .rl-groups{grid-template-columns:1fr}
  .pipe-stats{grid-template-columns:1fr 1fr}
  .funding-account-row{grid-template-columns:auto 1fr auto}.funding-account-row strong{grid-column:2/-1;grid-row:2;font-size:17px}
  .q-banner{flex-wrap:wrap}.q-safe{margin-left:auto}
}
@media (max-width:760px){.card-head{flex-wrap:wrap}.card-head .legend{width:100%;gap:12px;flex-wrap:wrap}}

/* =========================================================
   v0.7.1 · Cron jobs page
   ========================================================= */
.cron-hero{position:relative;overflow:hidden;display:flex;align-items:center;gap:30px;padding:28px 30px;border-radius:var(--r-lg);margin-bottom:18px;color:#f3f3fa;background:radial-gradient(460px 240px at 0% 50%,color-mix(in srgb,var(--brand2) 40%,transparent),transparent 70%),#0d0d1f;box-shadow:var(--sh-3)}
.cron-hero-score{flex:none;width:150px;height:150px;border-radius:50%;display:grid;place-content:center;text-align:center;border:10px solid rgba(255,255,255,.1)}
.cron-hero-score.lane-ok{border-color:#34d27b}
.cron-hero-score.lane-warn{border-color:#fbbf24}
.cron-hero-score b{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:44px;font-weight:600;line-height:1}
.cron-hero-score b em{font-style:normal;font-size:20px;opacity:.5}
.cron-hero-score small{opacity:.7;font-weight:600;margin-top:4px}
.cron-hero-copy .eyebrow{color:rgba(255,255,255,.75)}
.cron-hero-copy h2{font-size:26px;font-weight:800;letter-spacing:-.03em;margin:8px 0}
.cron-hero-copy p{color:rgba(243,243,250,.72);max-width:640px}
.cron-facts{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.cron-facts span{padding:9px 13px;border-radius:14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);min-width:0}
.cron-facts small{display:block;font-size:12px;opacity:.6;font-weight:600}
.cron-facts b{font-size:13px;word-break:break-all}

.steps-row{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.steps-row li{display:flex;gap:12px;padding:14px;border-radius:16px;background:var(--surface-2)}
.steps-row li>span{flex:none;width:30px;height:30px;border-radius:10px;display:grid;place-items:center;font-weight:800;background:var(--brand);color:#fff}
.steps-row b{display:block;font-size:14.5px}
.steps-row small{color:var(--muted)}
.steps-row small b{display:inline;font-size:inherit;color:var(--text-2)}
.cron-note{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding:12px 14px;border-radius:14px;background:var(--info-bg);color:var(--text-2);font-size:14px}
.cron-note>i{color:var(--info);margin-top:2px}

.cron-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:18px}
.cron-card{margin:0;display:flex;flex-direction:column;gap:12px;border-left:4px solid var(--surface-3)}
.cron-card.is-ok{border-left-color:var(--ok)}
.cron-card.is-late{border-left-color:var(--warn)}
.cron-card.is-bad{border-left-color:var(--bad)}
.cron-card-head{display:flex;align-items:center;gap:12px}
.cron-card-head>div{flex:1;min-width:0}
.cron-card-head h3{font-size:16.5px}
.cron-card-head small{color:var(--muted);font-weight:600}
.cron-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:99px;font-size:12.5px;font-weight:800;background:var(--surface-2);color:var(--muted);white-space:nowrap}
.cron-pill.is-ok{background:var(--ok-bg);color:var(--ok)}
.cron-pill.is-late{background:var(--warn-bg);color:var(--warn)}
.cron-pill.is-bad{background:var(--bad-bg);color:var(--bad)}
.cron-what{color:var(--text-2);font-size:14px}
.cron-timing{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.cron-boxes{display:flex;gap:6px}
.cron-boxes span{min-width:58px;padding:6px 8px;border-radius:10px;background:var(--surface-2);text-align:center;border:1px solid var(--line)}
.cron-boxes b{display:block;font-size:15px}
.cron-boxes small{display:block;font-size:11px;color:var(--muted);font-weight:700}
.cron-boxes.inline{margin-top:10px}
.cron-common{color:var(--muted)}
.cron-common b{color:var(--text)}
.cron-cmd{display:flex;align-items:center;gap:10px;padding:10px 10px 10px 14px;border-radius:14px;background:#0d0d1f;color:#d7d7ea}
.cron-cmd code{flex:1;min-width:0;font-size:12.5px;line-height:1.55;white-space:normal;word-break:break-all}
[data-theme=dark] .cron-cmd{background:#05050c;border:1px solid var(--line)}
.cron-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:auto;font-size:13.5px;color:var(--text-2)}
.cron-foot small{display:block;max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cron-allinone .muted{margin-bottom:12px}
.cron-key{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding:12px 14px;border-radius:14px;background:var(--surface-2)}
.cron-key small{display:block;color:var(--muted);font-weight:600}
.cron-help{margin:0;padding-left:18px;display:grid;gap:10px;color:var(--text-2);font-size:14px}
.cron-help b{color:var(--text)}

@media (max-width:1100px){.steps-row{grid-template-columns:1fr 1fr}.cron-grid{grid-template-columns:1fr}}
@media (max-width:760px){
  .cron-hero{flex-direction:column;align-items:flex-start;padding:22px}
  .cron-hero-score{width:120px;height:120px;align-self:center}
  .cron-hero-copy h2{font-size:21px}
  .steps-row{grid-template-columns:1fr}
  .cron-boxes span{min-width:0;flex:1}
  .cron-boxes{width:100%}
  .cron-foot{flex-direction:column;align-items:stretch}
}

/* =========================================================
   v0.8.0 · Reseller onboarding, partner portal, billing
   ========================================================= */
button.link{background:none;border:0;padding:0;cursor:pointer;font:inherit;color:var(--brand-ink);font-weight:700}
.pos{color:var(--ok)}.neg{color:var(--bad)}
.kpis.k3{grid-template-columns:repeat(3,minmax(0,1fr))}
.rs-kpi-link{font-size:13px!important;word-break:break-all;line-height:1.4;margin:4px 0 8px}
.rs-kpi-dates{font-size:15px!important;line-height:1.35}
.mark.lg{width:64px;height:64px;border-radius:20px;font-size:26px}

/* sidebar site chip */
.rs-site-chip{display:flex;align-items:center;gap:10px;margin:0 12px 10px;padding:10px 12px;border-radius:14px;background:var(--surface-2)}
.rs-site-chip b{display:block;font-size:13.5px;line-height:1.2}
.rs-site-chip small{color:var(--muted);font-family:"JetBrains Mono",monospace;font-size:11.5px}
.rs-dot{width:10px;height:10px;border-radius:50%;flex:none;background:var(--muted);box-shadow:0 0 0 4px color-mix(in srgb,currentColor 0%,transparent)}
.rs-dot.is-active{background:var(--ok);box-shadow:0 0 0 4px var(--ok-bg)}
.rs-dot.is-trial{background:var(--info);box-shadow:0 0 0 4px var(--info-bg)}
.rs-dot.is-grace,.rs-dot.is-pending{background:var(--warn);box-shadow:0 0 0 4px var(--warn-bg)}
.rs-dot.is-suspended{background:var(--bad);box-shadow:0 0 0 4px var(--bad-bg)}

/* hero with the reseller's own colours */
.rs-hero{--p:var(--brand);--s:var(--brand2);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px;border-radius:var(--r-lg);color:#fff;margin-bottom:18px;background:linear-gradient(135deg,var(--p),color-mix(in srgb,var(--p) 45%,var(--s)));box-shadow:0 24px 50px -24px color-mix(in srgb,var(--p) 70%,transparent)}
.rs-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(380px 220px at 90% -10%,rgba(255,255,255,.3),transparent 70%),radial-gradient(320px 220px at 0 120%,rgba(0,0,0,.25),transparent 70%)}
.rs-hero>*{position:relative;z-index:1}
.rs-hero h2{font-size:clamp(24px,3.2vw,32px);letter-spacing:-.03em;margin:10px 0 16px;font-weight:800}
.rs-hero .eyebrow .badge{background:rgba(255,255,255,.2);color:#fff;letter-spacing:0;text-transform:none}
.rs-hero-copy{min-width:0;flex:1}
.rs-url{display:flex;align-items:center;gap:12px;padding:10px 10px 10px 12px;border-radius:18px;background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(10px);max-width:620px;flex-wrap:wrap}
.rs-url>div{flex:1;min-width:150px}
.rs-url small{display:block;opacity:.75;font-size:12px}
.rs-url b{font-size:15px;word-break:break-all}
.rs-url-ico{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#fff;color:var(--p);font-weight:800;font-size:18px;overflow:hidden;flex:none}
.rs-url-ico img{width:100%;height:100%;object-fit:contain;padding:4px}
.rs-hero .hero-actions{margin-top:14px;display:flex;gap:8px;flex-wrap:wrap}
.rs-reason{margin:12px 0 0;opacity:.9;font-size:14px}
.rs-ring{position:relative;width:150px;height:150px;flex:none}
.rs-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.rs-ring circle{fill:none;stroke-width:9;stroke-linecap:round}
.rs-ring .bg{stroke:rgba(255,255,255,.18)}
.rs-ring .fg{stroke:#fff;stroke-dasharray:326.7;transition:stroke-dashoffset 1.2s var(--ease);animation:rsRing 1.4s var(--ease) both}
@keyframes rsRing{from{stroke-dashoffset:326.7}}
.rs-ring>div{position:absolute;inset:0;display:grid;place-content:center;text-align:center}
.rs-ring b{font-size:42px;font-weight:800;letter-spacing:-.04em;line-height:1}
.rs-ring small{font-size:12px;opacity:.85;max-width:100px;margin-top:4px}
.rs-welcome a{font-weight:800;text-decoration:underline}

/* checklist + due */
.rs-check-bar{height:8px;border-radius:99px;background:var(--surface-2);overflow:hidden;margin:-4px 0 12px}
.rs-check-bar i{display:block;height:100%;background:var(--grad);border-radius:99px;animation:growX .9s var(--ease) both;transform-origin:left}
.rs-checks{display:flex;flex-direction:column;gap:6px}
.rs-check{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:var(--surface-2);font-weight:600;color:var(--text);transition:transform .2s var(--ease),background .2s}
.rs-check:hover{transform:translateX(3px);background:var(--surface-3)}
.rs-check>i:first-child{font-size:18px;color:var(--muted)}
.rs-check.is-done>i:first-child{color:var(--ok)}
.rs-check.is-done span{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--line-2)}
.rs-check .go{margin-left:auto;color:var(--muted)}
.rs-due{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.rs-due>div{padding:14px;border-radius:16px;background:var(--surface-2)}
.rs-due small{display:block;color:var(--muted);font-size:12.5px;font-weight:600}
.rs-due b{display:block;font-size:18px;margin-top:4px;letter-spacing:-.02em}
.rs-due-note{margin:14px 0 0;font-size:13.5px}

/* billing */
.rs-bill-hero{display:grid;grid-template-columns:1.3fr 1fr;gap:16px;margin-bottom:18px}
.rs-bill-due{position:relative;overflow:hidden;padding:26px;border-radius:var(--r-lg);color:#fff;background:linear-gradient(140deg,#0d0d1f,color-mix(in srgb,var(--brand) 55%,#0d0d1f));box-shadow:var(--sh-3)}
.rs-bill-due:after{content:"";position:absolute;right:-80px;top:-80px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--brand2) 55%,transparent),transparent 70%)}
.rs-bill-due>*{position:relative;z-index:1}
.rs-bill-due small{display:block;margin-top:14px;opacity:.75;font-weight:600}
.rs-bill-due .eyebrow .badge{background:rgba(255,255,255,.14);color:#fff;letter-spacing:0;text-transform:none}
.rs-bill-due p{opacity:.8;margin:0 0 16px}
.rs-bill-wallet{padding:24px;border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--sh-2);display:flex;flex-direction:column;gap:6px}
.rs-bill-wallet>small{color:var(--muted);font-weight:700}
.rs-bill-wallet>b{font-size:34px;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.rs-bill-wallet>em{font-style:normal;color:var(--muted);font-size:13.5px}
.rs-cover{height:10px;border-radius:99px;background:var(--surface-2);overflow:hidden}
.rs-cover i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--ok),color-mix(in srgb,var(--ok) 50%,var(--brand2)));animation:growX 1s var(--ease) both;transform-origin:left}
.rs-auto{margin-top:auto}
.rs-auto .switch{border-top:1px solid var(--line);padding-bottom:0}
.rs-banks{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
.rs-pay-list{margin-top:16px;border-top:1px solid var(--line);padding-top:6px}

/* plan cards + radio picker */
.rs-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}
.rs-plans.admin{margin-top:16px}
.rs-plan{position:relative;display:flex;flex-direction:column;gap:8px;padding:26px;border-radius:var(--r-lg);background:var(--surface);border:1.5px solid var(--line);box-shadow:var(--sh-2);transition:transform .25s var(--ease),box-shadow .25s}
.rs-plan:hover{transform:translateY(-4px);box-shadow:var(--sh-3)}
.rs-plan.is-featured{border-color:var(--brand);background:linear-gradient(180deg,var(--brand-soft),var(--surface) 55%)}
.rs-plan.is-hidden{opacity:.6}
.rs-plan h3{font-size:20px;margin:0;display:flex;align-items:center;gap:8px}
.rs-plan p{margin:0;min-height:22px}
.rs-plan ul{list-style:none;padding:0;margin:8px 0 14px;display:flex;flex-direction:column;gap:9px;flex:1}
.rs-plan li{display:flex;gap:9px;align-items:flex-start;font-size:14.5px}
.rs-plan li i{color:var(--ok);font-size:16px;margin-top:1px}
.rs-flag{position:absolute;top:-12px;right:20px;font-style:normal;font-size:12px;font-weight:800;padding:5px 12px;border-radius:99px;color:#fff;background:var(--grad);box-shadow:0 8px 18px -6px var(--brand)}
.rs-price{font-size:38px;font-weight:800;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.rs-price small{font-size:15px;color:var(--muted);font-weight:600;letter-spacing:0}
.rs-act{color:var(--muted);font-size:13.5px}
.rs-act b{color:var(--ok)}
.rs-plan-pick{display:grid;gap:10px}
.rs-plan-opt{position:relative;cursor:pointer;display:block}
.rs-plan-opt input{position:absolute;opacity:0;pointer-events:none}
.rs-po-body{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border-radius:18px;border:1.5px solid var(--line-2);background:var(--surface);transition:border-color .2s,box-shadow .2s,transform .2s var(--ease)}
.rs-plan-opt:hover .rs-po-body{transform:translateY(-1px)}
.rs-plan-opt input:checked+.rs-po-body{border-color:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 14%,transparent);background:var(--brand-soft)}
.rs-plan-opt input:disabled+.rs-po-body{cursor:default}
.rs-po-top{display:flex;align-items:center;gap:8px}
.rs-po-top b{font-size:16px}
.rs-po-top em{font-style:normal;font-size:11.5px;font-weight:800;padding:3px 9px;border-radius:99px;background:var(--grad);color:#fff}
.rs-po-price{font-size:24px;font-weight:800;letter-spacing:-.03em}
.rs-po-price small{font-size:13px;color:var(--muted);font-weight:600}
.rs-po-meta{color:var(--muted);font-size:13px;display:flex;align-items:center;gap:6px}
.rs-plan-pick.compact .rs-po-price{font-size:19px}
.rs-plan-form textarea{min-height:120px}

/* setup wizard */
.rs-setup{min-height:100vh;background:var(--bg) var(--bg-grad)}
.rs-setup-top{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:20px;padding:14px clamp(16px,4vw,40px);background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.rs-setup-top .auth-logo{color:var(--text)}
.rs-progress{flex:1;max-width:420px;margin:0 auto;height:6px;border-radius:99px;background:var(--surface-3);overflow:hidden}
.rs-progress i{display:block;height:100%;width:25%;border-radius:99px;background:var(--grad);transition:width .5s var(--ease)}
.rs-setup-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,460px);gap:clamp(24px,5vw,64px);align-items:start;max-width:1180px;margin:0 auto;padding:clamp(24px,5vw,56px) clamp(16px,4vw,40px)}
.rs-wizard{display:flex;flex-direction:column;gap:18px;max-width:560px}
.rs-step{display:none;flex-direction:column;gap:16px}
.rs-step.is-on{display:flex;animation:rsIn .45s var(--ease) both}
@keyframes rsIn{from{opacity:0;transform:translateY(12px)}}
.rs-step .eyebrow{color:var(--brand-ink)}
.rs-step h1{font-size:clamp(28px,4vw,40px);letter-spacing:-.035em;line-height:1.08;margin:0}
.rs-step>p{margin:-6px 0 4px}
.rs-wiz-foot{display:flex;gap:10px;justify-content:space-between;align-items:center;padding-top:8px}
.rs-wiz-foot [data-next],.rs-wiz-foot [data-finish]{margin-left:auto}
.rs-sub{display:flex;align-items:center;border-radius:18px;background:var(--surface);border:1.5px solid var(--line-2);box-shadow:var(--sh-1);overflow:hidden;transition:border-color .2s,box-shadow .2s}
.rs-sub:focus-within{border-color:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 14%,transparent)}
.rs-sub span{padding:0 12px;color:var(--muted);font-family:"JetBrains Mono",monospace;font-size:14px;white-space:nowrap}
.rs-sub .suf{background:var(--surface-2);align-self:stretch;display:flex;align-items:center;border-left:1px solid var(--line)}
.rs-sub input{flex:1;min-width:60px;border:0;box-shadow:none!important;background:transparent;height:58px;padding:0 4px;font-family:"JetBrains Mono",monospace;font-size:18px;font-weight:600}
.rs-avail{display:flex;align-items:center;gap:8px;padding:12px 14px;border-radius:14px;background:var(--surface-2);color:var(--muted);font-weight:600;font-size:14px}
.rs-avail.is-ok{background:var(--ok-bg);color:var(--ok)}
.rs-avail.is-bad{background:var(--bad-bg);color:var(--bad)}
.rs-avail .spin{display:inline-block;animation:spin 1s linear infinite}
.rs-logo-drop{padding:14px}
.rs-logo-thumb{width:64px;height:64px;border-radius:18px;flex:none;display:grid!important;place-items:center;background:var(--surface-2);overflow:hidden;font-size:24px;color:var(--brand)}
.rs-logo-thumb img{width:100%;height:100%;object-fit:contain;padding:6px}
.rs-swatches{display:flex;flex-wrap:wrap;gap:10px}
.rs-swatches button{width:44px;height:44px;border-radius:14px;border:2px solid var(--surface);box-shadow:0 0 0 1px var(--line-2);cursor:pointer;background:linear-gradient(135deg,var(--a) 50%,var(--b) 50%);transition:transform .2s var(--ease)}
.rs-swatches button:hover{transform:scale(1.1) rotate(-4deg)}

/* live preview (browser mock with the reseller's colours) */
.rs-live{--p:#5b3df5;--s:#0ea5a4;position:sticky;top:90px}
.rs-browser{border-radius:22px;overflow:hidden;background:var(--surface);box-shadow:var(--sh-3);border:1px solid var(--line)}
.rs-browser-bar{display:flex;align-items:center;gap:6px;padding:11px 14px;background:var(--surface-2);border-bottom:1px solid var(--line)}
.rs-browser-bar i{width:10px;height:10px;border-radius:50%;background:var(--surface-3)}
.rs-browser-bar i:nth-child(1){background:#ff5f57}.rs-browser-bar i:nth-child(2){background:#febc2e}.rs-browser-bar i:nth-child(3){background:#28c840}
.rs-browser-bar span{flex:1;margin-left:8px;padding:5px 12px;border-radius:9px;background:var(--surface);font-family:"JetBrains Mono",monospace;font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rs-mock{padding:16px;display:flex;flex-direction:column;gap:14px;background:linear-gradient(180deg,color-mix(in srgb,var(--p) 7%,var(--surface)),var(--surface))}
.rs-mock-nav{display:flex;align-items:center;gap:10px}
.rs-mock-nav b{flex:1;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rs-mock-logo{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;color:#fff;font-weight:800;background:linear-gradient(135deg,var(--p),var(--s));overflow:hidden;flex:none;transition:background .3s}
.rs-mock-logo img{width:100%;height:100%;object-fit:contain;background:#fff;padding:3px}
.rs-mock-btn{font-size:12px;font-weight:700;padding:6px 12px;border-radius:99px;background:color-mix(in srgb,var(--p) 12%,var(--surface));color:var(--p)}
.rs-mock-hero{padding:20px;border-radius:18px;color:#fff;background:linear-gradient(135deg,var(--p),color-mix(in srgb,var(--p) 45%,var(--s)));transition:background .3s}
.rs-mock-hero small{opacity:.8;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.rs-mock-hero h3{margin:6px 0 14px;font-size:20px;letter-spacing:-.02em;line-height:1.2}
.rs-mock-cta{display:inline-block;font-size:12.5px;font-weight:800;padding:8px 14px;border-radius:99px;background:#fff;color:var(--p)}
.rs-mock-card{padding:16px;border-radius:18px;background:var(--surface);box-shadow:var(--sh-2)}
.rs-mock-card small{color:var(--muted);font-size:12px;font-weight:600}
.rs-mock-card>b{display:block;font-size:22px;letter-spacing:-.03em;margin:2px 0 12px}
.rs-mock-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.rs-mock-tiles span{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:11px;font-weight:700;color:var(--text-2)}
.rs-mock-tiles i{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-size:16px;color:var(--p);background:color-mix(in srgb,var(--p) 12%,var(--surface))}
.rs-live-note{margin:12px 0 0;text-align:center;color:var(--muted);font-size:13px}
.rs-brand-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,400px);gap:18px;align-items:start}
.rs-brand-layout>.card{margin:0}

/* partner landing */
.rs-land{background:var(--bg) var(--bg-grad);min-height:100vh}
.rs-land-nav{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:14px clamp(16px,4vw,48px);background:color-mix(in srgb,var(--bg) 80%,transparent);backdrop-filter:blur(14px)}
.rs-land-nav .auth-logo{color:var(--text)}
.rs-land-nav nav{display:flex;align-items:center;gap:8px}
.rs-land-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;max-width:1200px;margin:0 auto;padding:clamp(40px,7vw,90px) clamp(16px,4vw,48px)}
.rs-land-hero .aurora{opacity:.18;filter:blur(40px)}
.rs-land-copy{position:relative}
.rs-land-copy .eyebrow{color:var(--brand-ink)}
.rs-land-copy h1{font-size:clamp(36px,5.6vw,64px);line-height:1.02;letter-spacing:-.045em;margin:14px 0 18px}
.rs-land-copy h1 span{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.rs-land-copy p{font-size:18px;color:var(--text-2);max-width:520px;margin:0 0 24px}
.rs-land-copy .hero-actions{display:flex;gap:10px;flex-wrap:wrap}
.rs-land-host{display:inline-flex;align-items:center;gap:10px;margin-top:26px;padding:12px 18px;border-radius:16px;background:var(--surface);box-shadow:var(--sh-2);font-size:16px}
.rs-land-host i{color:var(--brand)}
.rs-land-host b{color:var(--brand-ink);display:inline-block}
.rs-land-host b.in{animation:rsIn .4s var(--ease)}
.rs-land-stack{position:relative;height:420px}
.rs-land-site{position:absolute;width:260px;padding:18px;border-radius:24px;color:#fff;background:linear-gradient(135deg,var(--p),color-mix(in srgb,var(--p) 45%,var(--s)));box-shadow:var(--sh-3);animation:rsFloat 6s ease-in-out infinite}
.rs-land-site.s0{left:4%;top:8%;transform:rotate(-6deg)}
.rs-land-site.s1{left:34%;top:30%;animation-delay:-2s;z-index:2}
.rs-land-site.s2{left:12%;top:58%;transform:rotate(4deg);animation-delay:-4s}
@keyframes rsFloat{50%{translate:0 -10px}}
.rs-land-site .top{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.rs-land-site .top span{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#fff;color:var(--p);font-weight:800}
.rs-land-site small{opacity:.8;font-size:12px}
.rs-land-site em{display:block;font-style:normal;font-size:24px;font-weight:800;letter-spacing:-.03em;margin-bottom:12px}
.rs-land-site .tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.rs-land-site .tiles i{height:38px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.18)}
.rs-land-how{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1200px;margin:0 auto;padding:0 clamp(16px,4vw,48px)}
.rs-land-how>div{display:flex;flex-direction:column;gap:6px;padding:22px;border-radius:var(--r);background:var(--surface);box-shadow:var(--sh-2)}
.rs-land-how i{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-size:20px;color:var(--brand);background:var(--brand-soft);margin-bottom:6px}
.rs-land-how span{color:var(--muted)}
.rs-land-plans{max-width:1200px;margin:0 auto;padding:clamp(48px,7vw,90px) clamp(16px,4vw,48px)}
.rs-land-plans h2{text-align:center;font-size:clamp(28px,4vw,42px);letter-spacing:-.035em;margin:0 0 30px}
.rs-land-foot{text-align:center;color:var(--muted);padding:30px 16px 40px}
.pc-all{display:inline-flex;align-items:center;gap:2px;margin-top:12px;color:#fff;opacity:.85;font-weight:700}

/* OTP */
.otp-boxes{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.otp-boxes input{height:62px;text-align:center;font-size:26px;font-weight:800;font-family:"JetBrains Mono",monospace;border-radius:16px;padding:0}
.otp-resend{margin-top:14px;text-align:center;font-size:14px}

/* offline page */
.offline-page{min-height:100vh;display:grid;place-items:center;position:relative;overflow:hidden;background:var(--bg);padding:20px}
.offline-page .aurora{opacity:.22;filter:blur(50px)}
.offline-card{position:relative;max-width:480px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 30px;border-radius:var(--r-lg);background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(20px);box-shadow:var(--sh-3)}
.offline-card .eyebrow{color:var(--brand-ink)}
.offline-card h1{font-size:clamp(24px,4vw,32px);letter-spacing:-.03em;margin:0}
.offline-card p{color:var(--muted);margin:0}
.offline-contacts{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:8px}
.offline-theme{position:absolute;top:14px;right:14px}

/* admin */
.rs-admin-hero .hero-figure small{font-size:18px;opacity:.75;font-weight:700;margin-left:4px}
.rs-funnel{display:flex;flex-direction:column;gap:8px;min-width:260px}
.rs-funnel a{position:relative;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;border-radius:14px;background:rgba(255,255,255,.12);color:#fff;overflow:hidden;font-weight:600;font-size:14px}
.rs-funnel a i{position:absolute;left:0;bottom:0;height:3px;background:var(--c);border-radius:99px}
.rs-funnel a b{font-size:18px}
.rs-actions{display:flex;flex-direction:column;gap:10px}
.rs-inline{display:flex;align-items:center;gap:8px;padding:10px;border-radius:14px;background:var(--surface-2)}
.rs-inline.wrap{flex-wrap:wrap;margin-bottom:12px}
.rs-inline input,.rs-inline select{flex:1;min-width:0;height:40px}
.rs-inline input[type=number]{flex:0 0 90px}
.rs-inline .muted{flex:1;font-size:13.5px}
.rs-inline input+.muted{flex:0 0 auto}
.rs-inline .btn{flex:none}
.rs-strip{display:flex;align-items:center;gap:16px;padding:16px 20px;margin-bottom:18px;color:var(--text);transition:transform .2s var(--ease),box-shadow .2s}
.rs-strip:hover{transform:translateY(-2px);box-shadow:var(--sh-3)}
.rs-strip .ico{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;font-size:20px;color:var(--c);background:color-mix(in srgb,var(--c) 14%,var(--surface));flex:none}
.rs-strip-main small{display:block;color:var(--muted);font-weight:700;font-size:12.5px}
.rs-strip-main b{font-size:22px;letter-spacing:-.03em}
.rs-strip-main em{font-style:normal;font-size:13px;color:var(--muted);font-weight:600;margin-left:4px}
.rs-strip-stats{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}
.rs-strip-stats span{display:flex;align-items:baseline;gap:5px;padding:7px 12px;border-radius:12px;background:var(--surface-2);font-size:12.5px;color:var(--muted);font-weight:600}
.rs-strip-stats b{font-size:15px;color:var(--text)}
.rs-strip-stats .c-ok b{color:var(--ok)}.rs-strip-stats .c-warn b{color:var(--warn)}.rs-strip-stats .c-bad b{color:var(--bad)}.rs-strip-stats .c-info b{color:var(--info)}
.rs-strip>.bi-chevron-right{color:var(--muted)}
.rs-an-sites{margin-top:16px}
.rs-an-sites .hbar-track i{background:var(--c)}

@media (max-width:1100px){
  .rs-setup-main{grid-template-columns:1fr}
  .rs-live{position:static;max-width:460px}
  .rs-brand-layout{grid-template-columns:1fr}
  .rs-land-hero{grid-template-columns:1fr}
  .rs-land-stack{height:380px;max-width:520px}
}
@media (max-width:760px){
  .rs-hero{flex-direction:column;align-items:stretch;padding:22px}
  .rs-ring{width:120px;height:120px;align-self:center;order:-1}
  .rs-ring b{font-size:34px}
  .rs-due{grid-template-columns:1fr 1fr}
  .rs-bill-hero{grid-template-columns:1fr}
  .kpis.k3{grid-template-columns:1fr}
  .rs-land-how{grid-template-columns:1fr}
  .rs-land-stack{height:340px}
  .rs-land-site{width:220px}
  .rs-land-nav .btn-ghost{display:none}
  .rs-funnel{min-width:0;width:100%}
  .rs-admin-hero{flex-direction:column;align-items:stretch}
  .rs-inline{flex-wrap:wrap}
  .rs-strip{flex-wrap:wrap}
  .rs-strip-stats{margin-left:0}
  .otp-boxes{gap:6px}
  .otp-boxes input{height:54px;font-size:22px}
  .rs-setup-top .auth-logo b{display:none}
}

/* v0.8.3 reseller auto-funding + plan upgrade rows */
.rs-autofund .va-grid{margin-bottom:12px}
.rs-va-empty{display:flex;align-items:center;gap:14px;padding:16px;border-radius:18px;background:var(--surface-2);flex-wrap:wrap}
.rs-va-empty>div{flex:1;min-width:200px}
.rs-va-empty b{display:block;font-size:16px}
.rs-va-empty small{color:var(--muted)}
.rs-va-empty .ico{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;font-size:20px;color:var(--c);background:color-mix(in srgb,var(--c) 14%,var(--surface));flex:none}
.rs-plan-row{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:18px;border:1.5px solid var(--line-2);background:var(--surface)}
.rs-plan-row .rs-po-body{flex:1;padding:0;border:0;background:none;box-shadow:none}
.rs-plan-row.is-current{border-color:var(--brand);background:var(--brand-soft)}

/* =========================================================
   v0.9.0 · Wholesale pricing layer
   ========================================================= */
.ws-box{padding:16px;border-radius:18px;background:var(--brand-soft);border:1.5px solid color-mix(in srgb,var(--brand) 30%,transparent);display:flex;flex-direction:column;gap:14px}
.ws-box-head{display:flex;gap:12px;align-items:flex-start}
.ws-box-head>i{font-size:22px;color:var(--brand-ink)}
.ws-box-head b{display:block}
.ws-box-head small{color:var(--muted)}
.rs-ws-chip{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:6px 12px;border-radius:99px;background:var(--brand-soft);color:var(--brand-ink);font-weight:700;font-size:13px}
.ws-preview .ws-col{background:color-mix(in srgb,var(--brand) 4%,transparent)}
.ws-preview td small{font-size:12px;font-weight:700}

.ws-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:28px;border-radius:var(--r-lg);margin-bottom:18px;color:#fff;background:linear-gradient(135deg,#0d0d1f 0%,color-mix(in srgb,var(--brand) 70%,#0d0d1f) 100%);box-shadow:var(--sh-3)}
.ws-hero:after{content:"";position:absolute;right:-90px;bottom:-120px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--brand2) 50%,transparent),transparent 70%)}
.ws-hero>*{position:relative;z-index:1}
.ws-hero-copy{max-width:520px}
.ws-hero-copy .eyebrow{opacity:.8}
.ws-hero h2{font-size:clamp(24px,3.4vw,34px);letter-spacing:-.03em;margin:10px 0 8px;font-weight:800;line-height:1.1}
.ws-hero h2 span{color:#fff;background:rgba(255,255,255,.14);padding:0 10px;border-radius:12px}
.ws-hero p{opacity:.78;margin:0 0 16px}
.ws-hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;min-width:min(100%,420px)}
.ws-hero-stats>div{padding:14px;border-radius:16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}
.ws-hero-stats small{display:block;font-size:12px;opacity:.7;font-weight:600}
.ws-hero-stats b{display:block;font-size:20px;letter-spacing:-.02em;margin-top:4px}
.ws-modes{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}
.ws-mode{cursor:pointer;display:block}
.ws-mode input{position:absolute;opacity:0;pointer-events:none}
.ws-mode span{display:flex;flex-direction:column;gap:6px;height:100%;padding:18px 20px;border-radius:20px;background:var(--surface);border:1.5px solid var(--line-2);box-shadow:var(--sh-1);transition:border-color .2s,box-shadow .2s,transform .2s var(--ease)}
.ws-mode:hover span{transform:translateY(-2px)}
.ws-mode i{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;font-size:19px;color:var(--brand);background:var(--brand-soft)}
.ws-mode b{font-size:16.5px}
.ws-mode small{color:var(--muted);font-size:13.5px;line-height:1.45}
.ws-mode input:checked+span{border-color:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 14%,transparent);background:linear-gradient(180deg,var(--brand-soft),var(--surface) 70%)}
.ws-own{transition:opacity .25s}
.ws-own.is-off{opacity:.45;pointer-events:none;filter:grayscale(.4)}
.ws-tiers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}
.ws-tier{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;background:var(--surface-2)}
.ws-tier>div:not(.cell){flex:1;min-width:0}
.ws-tier b{display:block;font-size:15px}
.ws-tier small{color:var(--muted);font-size:12.5px}
.ws-tier .cell{width:150px;flex:none;background:var(--surface)}
.ws-tier-n{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;font-weight:800;font-size:13px;color:#fff;background:var(--grad);flex:none}
.ws-net{margin:4px 0 16px;border-radius:16px;border:1px solid var(--line);overflow:hidden}
.ws-net summary{cursor:pointer;padding:14px 16px;font-weight:700;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ws-net .tbl td{padding:8px 10px}
.ws-net .cell{min-width:120px}
.ws-floor{display:flex;gap:10px;align-items:center;padding:12px 14px;border-radius:14px;background:var(--ok-bg);color:var(--text-2);font-size:13.5px;align-self:end}
.ws-floor i{color:var(--ok);font-size:18px}
.ws-air{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ws-actions{display:flex;gap:10px;justify-content:flex-end}
.ws-tbl td,.ws-tbl th{white-space:nowrap}
@media (max-width:760px){
  .ws-modes,.ws-tiers{grid-template-columns:1fr}
  .ws-hero-stats{grid-template-columns:1fr 1fr}
  .ws-air{grid-template-columns:1fr 1fr}
  .ws-tier .cell{width:120px}
}

/* ===== v0.10.0: profit wallet, reseller analytics, withdrawals ===== */
.btn-xs{--h:28px;padding:0 8px;font-size:12px;border-radius:8px}
.copy-line{display:flex;align-items:center;gap:6px;margin-top:6px;padding:6px 6px 6px 10px;border-radius:10px;background:var(--surface-2);overflow:hidden}
.copy-line code{flex:1;min-width:0;font-size:12.5px;word-break:break-all}
.pw-hero,.ra-hero,.wd-hero{position:relative;overflow:hidden;isolation:isolate;display:grid;grid-template-columns:1.4fr 1fr;gap:26px;align-items:center;padding:28px;border-radius:var(--r-lg);color:#fff;margin-bottom:18px;box-shadow:var(--sh-3)}
.pw-hero{background:radial-gradient(520px 300px at 100% 0%,rgba(52,210,123,.45),transparent 70%),linear-gradient(135deg,#06331f,#0b5134 55%,#0f6b45)}
.ra-hero{background:radial-gradient(600px 320px at 0% 0%,color-mix(in srgb,var(--brand) 65%,transparent),transparent 70%),radial-gradient(420px 300px at 100% 100%,rgba(52,210,123,.35),transparent 70%),#0b0b1d}
.wd-hero{background:radial-gradient(520px 300px at 100% 0%,rgba(251,191,36,.35),transparent 70%),linear-gradient(135deg,#1c1206,#3a2508 60%,#5a3a0c)}
.pw-hero:after,.ra-hero:after,.wd-hero:after{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:30px 30px;mask-image:radial-gradient(circle at 80% 40%,#000,transparent 70%);-webkit-mask-image:radial-gradient(circle at 80% 40%,#000,transparent 70%)}
.pw-hero .eyebrow,.ra-hero .eyebrow,.wd-hero .eyebrow{color:rgba(255,255,255,.82);display:inline-flex;gap:7px;align-items:center}
.pw-hero small,.ra-hero small,.wd-hero small{display:block;opacity:.75;font-weight:600}
.pw-hero .hero-figure,.ra-hero .hero-figure,.wd-hero .hero-figure{font-size:46px;line-height:1.05;margin:4px 0 8px}
.pw-hero p,.ra-hero p,.wd-hero p{opacity:.85;margin:8px 0 14px;max-width:520px}
.ra-hero .delta{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:99px;font-weight:700;font-size:12.5px;background:rgba(255,255,255,.12)}
.ra-hero .delta.up{background:rgba(52,210,123,.2);color:#86efac}.ra-hero .delta.down{background:rgba(251,113,133,.2);color:#fda4af}
.pw-side,.ra-quick,.wd-side{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pw-side{grid-template-columns:1fr}
.pw-side div,.ra-quick div,.wd-side div{padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(6px)}
.pw-side b,.ra-quick b,.wd-side b{display:block;font-size:20px;font-weight:800;margin-top:2px}
.pw-acct{display:flex;align-items:center;gap:12px;padding:14px;border-radius:16px;background:var(--surface-2);margin-bottom:14px}
.pw-acct small{display:block;color:var(--muted);font-weight:600}.pw-acct b{display:block}.pw-acct .mono{font-size:14px;color:var(--text-2)}
.pw-quick{display:flex;gap:6px}
.pw-calc{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pw-calc div{padding:12px 14px;border-radius:14px;background:var(--surface-2)}
.pw-calc small{display:block;color:var(--muted);font-weight:600}.pw-calc b{font-family:"JetBrains Mono",monospace;font-size:17px}
.pw-calc div:last-child{background:var(--ok-bg)}.pw-calc div:last-child b{color:var(--ok)}
.pw-move{display:flex;gap:8px}.pw-move .input-wrap{flex:1}
.pw-note{margin:0 0 10px;font-size:14px}
.pw-fees{display:grid;gap:10px}
.pw-fees label{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:10px}
.ra-chart .pbar{fill:color-mix(in srgb,var(--ok) 70%,var(--brand));transition:fill .15s}
.ra-chart .hit.on{fill:color-mix(in srgb,var(--ok) 8%,transparent)}
.ra-bars{display:grid;gap:14px}
.ra-bar{--c:var(--brand);display:flex;gap:12px;align-items:center}
.ra-bar>div{flex:1;min-width:0}
.ra-bar span{display:flex;justify-content:space-between;gap:8px}.ra-bar em{font-style:normal;font-weight:800}
.ra-bar i{display:block;height:9px;border-radius:99px;background:var(--surface-2);margin:6px 0 4px;overflow:hidden}
.ra-bar s{display:block;height:100%;border-radius:99px;background:var(--c);text-decoration:none;transition:width .6s var(--ease)}
.ra-bar small{color:var(--muted);font-size:12.5px}
.ra-split{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.ra-split>div{display:flex;gap:10px;align-items:center;padding:12px;border-radius:16px;background:var(--surface-2)}
.ra-split small{display:block;color:var(--muted);font-size:12.5px;font-weight:600}.ra-split b{font-size:16px}
.ra-split .ico{width:38px;height:38px;font-size:16px;border-radius:12px}
.wd-list{display:grid}
.wd-item{display:grid;grid-template-columns:1.2fr 1.2fr auto;gap:14px;align-items:center;padding:16px 20px;border-top:1px solid var(--line)}
.wd-who{display:flex;gap:12px;align-items:center;min-width:0}.wd-who small{display:block;color:var(--muted);font-size:12.5px}
.wd-who a{text-decoration:none}
.wd-bank small{display:block;color:var(--muted);font-weight:600;font-size:12.5px}.wd-bank b{display:block}.wd-bank .mono{display:inline-flex;align-items:center;gap:4px}
.wd-amt{text-align:right;display:grid;justify-items:end;gap:3px}.wd-amt b{font-size:19px;font-weight:800}.wd-amt small{color:var(--muted);font-size:12.5px}
.wd-note{grid-column:1/-1;margin:0;font-size:13.5px;color:var(--text-2);padding:9px 12px;border-radius:11px;background:var(--surface-2)}
.wd-actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.wd-reject{display:flex;gap:6px;margin-left:auto}
.wd-reject input{height:36px;border-radius:11px;border:1px solid var(--line-2);background:var(--surface);color:var(--text);padding:0 10px;font:inherit;font-size:13.5px;width:190px}
.wd-steps{margin:0 0 14px;padding-left:20px;display:grid;gap:10px;font-size:14.5px;line-height:1.5;color:var(--text-2)}
.wd-steps b{color:var(--text)}
@media (max-width:900px){.pw-hero,.ra-hero,.wd-hero{grid-template-columns:1fr;padding:22px}.wd-item{grid-template-columns:1fr auto}.wd-bank{grid-column:1/-1;order:3}.ra-split{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.pw-hero .hero-figure,.ra-hero .hero-figure,.wd-hero .hero-figure{font-size:36px}.wd-item{padding:14px 16px}.wd-reject{margin-left:0;width:100%}.wd-reject input{flex:1;width:auto}.pw-move{flex-direction:column}.pw-fees label{grid-template-columns:1fr}.ra-split{grid-template-columns:1fr}}

/* ===== v0.11.0: reseller referrals ===== */
.rf-hero,.rf-admin-hero{position:relative;overflow:hidden;isolation:isolate;display:grid;grid-template-columns:1.2fr 1fr;gap:28px;align-items:center;padding:30px;border-radius:var(--r-lg);color:#fff;margin-bottom:18px;background:radial-gradient(560px 320px at 100% 0%,rgba(245,158,11,.4),transparent 70%),linear-gradient(135deg,#281456,#54208a 55%,#7c2d91);box-shadow:var(--sh-3)}
.rf-admin-hero{grid-template-columns:1.4fr 1fr;background:radial-gradient(500px 300px at 100% 0%,rgba(52,210,123,.3),transparent 70%),linear-gradient(135deg,#0b1735,#172f68 60%,#0e7490)}
.rf-hero:after,.rf-admin-hero:after{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:30px 30px;mask-image:radial-gradient(circle at 85% 35%,#000,transparent 72%);-webkit-mask-image:radial-gradient(circle at 85% 35%,#000,transparent 72%)}
.rf-hero .eyebrow,.rf-admin-hero .eyebrow{color:rgba(255,255,255,.82);display:inline-flex;align-items:center;gap:7px}.rf-hero h2{font-size:clamp(34px,5vw,58px);line-height:.98;margin:14px 0}.rf-hero h2 span{color:#fcd34d}.rf-hero p,.rf-admin-hero p{max-width:560px;opacity:.86;line-height:1.55;margin:0 0 14px}.rf-admin-hero small,.rf-hero small{display:block;opacity:.75;font-weight:600}.rf-admin-hero .hero-figure{font-size:44px;line-height:1.1;margin:4px 0}.rf-link-card{padding:18px;border-radius:20px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(9px)}.rf-link-card>small{margin-bottom:8px}.rf-link{display:flex;align-items:center;gap:8px;padding:7px 7px 7px 12px;border-radius:12px;background:rgba(0,0,0,.2)}.rf-link .mono{font-size:12.5px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.rf-share{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:12px;font-size:13px;color:rgba(255,255,255,.8)}.rf-rewards{display:grid;gap:10px}.rf-rewards>div{display:flex;align-items:center;gap:12px;padding:14px;border-radius:16px;background:var(--surface-2)}.rf-rewards b{display:block}.rf-rewards small{display:block;color:var(--muted);line-height:1.4;margin-top:3px}.rf-steps{list-style:none;padding:0;margin:0;display:grid;gap:12px}.rf-steps li{display:flex;gap:12px;align-items:center}.rf-steps li>span{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;color:var(--brand);background:var(--brand-soft);font-weight:800;flex:none}.rf-steps small{display:block;color:var(--muted);margin-top:2px}.rf-admin-side{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rf-admin-side div{padding:16px;border-radius:16px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14)}.rf-admin-side b{display:block;font-size:26px;margin-top:3px}.rf-admin-side small{display:block;opacity:.75}
@media (max-width:800px){.rf-hero,.rf-admin-hero{grid-template-columns:1fr;padding:22px}.rf-hero h2{font-size:40px}.rf-link .mono{font-size:11px}}

/* ===== v0.12.0: installable store app (PWA) ===== */
[data-pwa-install][hidden],.pwa-sheet[hidden],.pwa-pane[hidden]{display:none!important}
.pwa-sheet{position:fixed;inset:0;z-index:300;display:flex;align-items:flex-end;justify-content:center}
.pwa-scrim{position:absolute;inset:0;background:rgba(8,8,20,.5);backdrop-filter:blur(3px);opacity:0;transition:opacity .3s var(--ease)}
.pwa-card{position:relative;width:min(440px,100%);max-height:92vh;overflow:auto;padding:12px 22px calc(22px + env(safe-area-inset-bottom));border-radius:28px 28px 0 0;background:var(--surface);color:var(--text);box-shadow:0 -30px 80px -20px rgba(0,0,0,.45);transform:translateY(105%);transition:transform .42s cubic-bezier(.2,.9,.25,1);outline:none}
.pwa-sheet.is-open .pwa-scrim{opacity:1}.pwa-sheet.is-open .pwa-card{transform:none}
@media (min-width:700px){.pwa-sheet{align-items:center}.pwa-card{border-radius:28px;transform:translateY(40px) scale(.96);opacity:0;transition:transform .4s cubic-bezier(.2,.9,.25,1),opacity .25s}.pwa-sheet.is-open .pwa-card{opacity:1}}
.pwa-grab{display:block;width:44px;height:5px;border-radius:9px;background:var(--line-2);margin:0 auto 14px}
.pwa-x{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;border:0;background:var(--surface-2);color:var(--muted);cursor:pointer;display:grid;place-items:center}
/* signature: a little home screen, the store icon lands in its slot */
.pwa-home{display:grid;grid-template-columns:repeat(4,minmax(0,56px));justify-content:space-between;gap:12px 10px;padding:18px 22px 14px;margin:4px 0 18px;border-radius:22px;background:linear-gradient(160deg,color-mix(in srgb,var(--brand) 85%,#000),color-mix(in srgb,var(--brand2) 70%,#000));position:relative;overflow:hidden}
.pwa-home:before{content:"";position:absolute;inset:0;background:radial-gradient(260px 140px at 20% 0%,rgba(255,255,255,.22),transparent 70%)}
.pwa-home i{width:56px;height:56px;border-radius:14px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.12)}
.pwa-home i:nth-child(3n){background:rgba(255,255,255,.08)}
.pwa-slot{display:flex;flex-direction:column;align-items:center;gap:5px;grid-column:4;grid-row:2;align-self:start;min-width:0;position:relative;z-index:1}
.pwa-slot img{width:56px;height:56px;border-radius:15px;box-shadow:0 10px 22px -8px rgba(0,0,0,.55)}
.pwa-slot b{font-size:12px;width:84px;margin:0 -14px;text-align:center;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 2px rgba(0,0,0,.4)}
.pwa-sheet.is-open .pwa-slot{animation:pwaLand .9s cubic-bezier(.3,1.5,.5,1) .18s both}
.pwa-sheet.is-open .pwa-slot img{animation:pwaJiggle .5s ease-in-out 1.1s 2}
@keyframes pwaLand{0%{opacity:0;transform:translate(-120%,-140%) scale(1.5) rotate(-12deg)}60%{opacity:1}100%{opacity:1;transform:none}}
@keyframes pwaJiggle{0%,100%{transform:rotate(0)}25%{transform:rotate(-4deg)}75%{transform:rotate(4deg)}}
.pwa-sheet .pwa-card h2{font-family:"Plus Jakarta Sans",system-ui,sans-serif;text-transform:none;line-height:1.2;font-size:24px;font-weight:800;letter-spacing:-.01em;margin:0 0 6px;padding-right:30px}
.pwa-lead{color:var(--text-2);font-size:16px;line-height:1.5;margin:0 0 14px}
.pwa-perks{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}
.pwa-perks span{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:99px;font-size:14px;font-weight:600;color:var(--text-2);background:var(--surface-2)}
.pwa-perks i{color:var(--brand)}
.pwa-pane{display:grid;gap:8px}
.pwa-steps{list-style:none;margin:0 0 6px;padding:0;display:grid;gap:10px}
.pwa-steps li{display:flex;align-items:center;gap:12px;padding:12px;border-radius:16px;background:var(--surface-2)}
.pwa-steps li>span{width:40px;height:40px;flex:none;border-radius:12px;display:grid;place-items:center;font-size:19px;color:var(--brand);background:var(--brand-soft)}
.pwa-steps b{display:block;font-size:15px}.pwa-steps small{display:block;color:var(--muted);font-size:14px;margin-top:2px}
.pwa-side{margin-bottom:10px}
.pwa-auth-row{display:flex;justify-content:center;margin-top:18px}
.pwa-account{display:flex;align-items:center;gap:14px}
.pwa-account img{border-radius:14px;flex:none}
.pwa-account>div{flex:1;min-width:0}.pwa-account h2{font-size:17px;margin:0}.pwa-account p{margin:2px 0 0}
.pwa-account-done{display:none}.is-pwa .pwa-account-on{display:none}.is-pwa .pwa-account-done{display:block}
/* offline page */
.pwa-offline{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg)}
.pwa-off-card{width:min(400px,100%);text-align:center;display:grid;justify-items:center;gap:12px;padding:30px 24px;border-radius:28px;background:var(--surface);box-shadow:var(--sh-3)}
.pwa-off-card img{border-radius:22px}
.pwa-off-card h1{font-size:24px;margin:6px 0 0}.pwa-off-card p{color:var(--text-2);margin:0 0 6px;line-height:1.5}
.pwa-off-signal{display:flex;align-items:flex-end;gap:4px;height:22px}
.pwa-off-signal i{width:6px;border-radius:3px;background:var(--line-2);animation:pwaSig 1.6s ease-in-out infinite}
.pwa-off-signal i:nth-child(1){height:6px}.pwa-off-signal i:nth-child(2){height:11px;animation-delay:.15s}.pwa-off-signal i:nth-child(3){height:16px;animation-delay:.3s}.pwa-off-signal i:nth-child(4){height:22px;animation-delay:.45s}
@keyframes pwaSig{0%,100%{background:var(--line-2)}50%{background:var(--brand)}}
/* reseller branding: app card */
.pwa-rs{display:grid;grid-template-columns:200px 1fr;gap:26px;align-items:center;margin-top:18px}
.pwa-rs-phone{width:200px;height:300px;border-radius:34px;padding:9px;background:#0d0d18;box-shadow:var(--sh-3)}
.pwa-rs-screen{height:100%;border-radius:26px;padding:16px 14px;background:linear-gradient(160deg,color-mix(in srgb,var(--p) 85%,#000),color-mix(in srgb,var(--s) 70%,#000));position:relative;overflow:hidden}
.pwa-rs-time{display:block;text-align:center;color:#fff;font-weight:800;font-size:13px;margin-bottom:16px;opacity:.9}
.pwa-rs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 12px}
.pwa-rs-grid i{aspect-ratio:1;border-radius:13px;background:rgba(255,255,255,.14)}
.pwa-rs-grid span{display:flex;flex-direction:column;align-items:center;gap:4px}
.pwa-rs-grid img{width:100%;height:auto;border-radius:13px;box-shadow:0 8px 16px -6px rgba(0,0,0,.5)}
.pwa-rs-grid b{color:#fff;font-size:10.5px;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.pwa-rs-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}
.pwa-rs-stats div{padding:12px 14px;border-radius:14px;background:var(--surface-2)}
.pwa-rs-stats small{display:block;color:var(--muted);font-weight:600;font-size:13px}.pwa-rs-stats b{font-size:20px}
@media (max-width:760px){.pwa-rs{grid-template-columns:1fr;justify-items:center}.pwa-rs-body{width:100%}.pwa-rs-stats{grid-template-columns:1fr 1fr 1fr}}
@media (prefers-reduced-motion:reduce){.pwa-card,.pwa-scrim{transition:none}.pwa-sheet.is-open .pwa-slot,.pwa-sheet.is-open .pwa-slot img,.pwa-off-signal i{animation:none}}

/* ===== v0.13.0: reports, audit log, go-live ===== */
.rp-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;margin-bottom:14px;scrollbar-width:none}
.rp-tabs::-webkit-scrollbar{display:none}
.rp-tabs a{--c:var(--brand);display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:14px;background:var(--surface);border:1px solid var(--line);font-weight:700;font-size:14px;color:var(--text-2);text-decoration:none;white-space:nowrap;transition:border-color .15s,background .15s}
.rp-tabs a i{color:var(--c)}
.rp-tabs a.is-on{background:color-mix(in srgb,var(--c) 12%,var(--surface));border-color:color-mix(in srgb,var(--c) 45%,transparent);color:var(--text)}
.rp-filters{display:grid;gap:12px;margin-bottom:14px}
.rp-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;align-items:end}
.rp-fields label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700;color:var(--muted)}
.rp-fields input,.rp-fields select{height:42px;padding:0 12px;border-radius:12px;border:1px solid var(--line-2);background:var(--surface);color:var(--text);font:inherit;font-size:14px}
.rp-search{grid-column:span 2}
.rp-go{display:flex;gap:8px}
.rp-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-bottom:14px}
.rp-tile{--c:var(--brand);position:relative;padding:16px 16px 14px;border-radius:18px;background:var(--surface);border:1px solid var(--line);overflow:hidden}
.rp-tile:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:4px;border-radius:0 4px 4px 0;background:var(--c)}
.rp-tile small{display:block;color:var(--muted);font-weight:700;font-size:13px}
.rp-tile b{display:block;font-size:22px;font-weight:800;margin-top:4px;font-variant-numeric:tabular-nums}
.rp-tile.is-lead{background:color-mix(in srgb,var(--c) 9%,var(--surface))}.rp-tile.is-lead b{font-size:26px}
.rp-tbl td,.rp-tbl th{white-space:nowrap}
.rp-tbl .num{font-variant-numeric:tabular-nums}
.rp-date small{display:block;color:var(--muted);font-size:12px}
.rp-mono{font-size:12.5px}
.rp-pager{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 20px;border-top:1px solid var(--line);color:var(--muted);font-size:14px}.rp-pager div{display:flex;gap:6px}
.au-groups{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.au-groups a{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:12px;background:var(--surface);border:1px solid var(--line);color:var(--text-2);text-decoration:none;font-size:14px;font-weight:600}
.au-groups a b{font-variant-numeric:tabular-nums;color:var(--text)}.au-groups a.is-on{border-color:var(--brand);background:var(--brand-soft)}
.au-list{display:grid}
.au-row{border-top:1px solid var(--line)}
.au-row summary{display:flex;align-items:center;gap:12px;padding:13px 20px;cursor:pointer;list-style:none}
.au-row summary::-webkit-details-marker{display:none}
.au-row[open] summary{background:var(--surface-2)}
.au-dot{width:10px;height:10px;border-radius:50%;flex:none;background:var(--c);box-shadow:0 0 0 4px color-mix(in srgb,var(--c) 18%,transparent)}
.au-main{flex:1;min-width:0}.au-main b{display:block;font-size:14px}.au-main small{display:block;color:var(--muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.au-when{text-align:right}.au-when b{display:block;font-size:13px}.au-when small{color:var(--muted);font-size:12px}
.au-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;padding:4px 20px 16px 42px;background:var(--surface-2)}
.au-body small{display:block;color:var(--muted);font-size:12px;font-weight:700}.au-body b{font-size:13.5px;word-break:break-word}
.gl-hero{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;padding:26px;border-radius:var(--r-lg);margin-bottom:18px;color:#fff;background:radial-gradient(520px 280px at 100% 0%,rgba(251,113,133,.35),transparent 70%),linear-gradient(135deg,#1e0b16,#3b0f26 55%,#5b1530);box-shadow:var(--sh-3)}
.gl-hero.is-ready{background:radial-gradient(520px 280px at 100% 0%,rgba(52,210,123,.35),transparent 70%),linear-gradient(135deg,#04170f,#0b3a24 55%,#0f5a36)}
.gl-meter{--p:0;width:132px;height:132px;border-radius:50%;display:grid;place-items:center;align-content:center;background:radial-gradient(closest-side,#2a0c1d 79%,transparent 80% 100%),conic-gradient(#fda4af calc(var(--p)*1%),rgba(255,255,255,.14) 0)}
.gl-hero.is-ready .gl-meter{background:radial-gradient(closest-side,#0a2e1c 79%,transparent 80% 100%),conic-gradient(#86efac calc(var(--p)*1%),rgba(255,255,255,.14) 0)}
.gl-meter b{font-size:38px;font-weight:800;line-height:1}.gl-meter small{font-size:18px}.gl-meter span{font-size:13px;opacity:.75;font-weight:700}
.gl-copy .eyebrow{color:rgba(255,255,255,.8);display:inline-flex;gap:7px;align-items:center}
.gl-copy h2{font-size:clamp(24px,3vw,32px);margin:8px 0 12px;line-height:1.15}
.gl-counts{display:flex;gap:8px;flex-wrap:wrap}
.gl-counts span{display:inline-flex;gap:6px;align-items:center;padding:7px 12px;border-radius:99px;background:rgba(255,255,255,.1);font-size:14px}
.gl-counts .ok b{color:#86efac}.gl-counts .warn b{color:#fcd34d}.gl-counts .bad b{color:#fda4af}.gl-counts .info b{color:#93c5fd}
.gl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:16px;margin-bottom:16px}
.gl-grid .card{margin:0}
.gl-pill{padding:5px 10px;border-radius:99px;font-size:12.5px;font-weight:800}
.gl-pill.ok{background:var(--ok-bg);color:var(--ok)}.gl-pill.warn{background:var(--warn-bg);color:var(--warn)}.gl-pill.bad{background:var(--bad-bg);color:var(--bad)}
.gl-list{display:grid}
.gl-item{display:flex;align-items:flex-start;gap:12px;padding:14px 20px;border-top:1px solid var(--line)}
.gl-item>div{flex:1;min-width:0}.gl-item b{display:block;font-size:15px}.gl-item small{display:block;color:var(--muted);font-size:14px;margin-top:2px;line-height:1.45}
.gl-ico{width:30px;height:30px;flex:none;border-radius:10px;display:grid;place-items:center;font-size:15px;font-weight:800}
.gl-item.is-ok .gl-ico{background:var(--ok-bg);color:var(--ok)}.gl-item.is-warn .gl-ico{background:var(--warn-bg);color:var(--warn)}.gl-item.is-bad .gl-ico{background:var(--bad-bg);color:var(--bad)}
.gl-item.is-bad{background:color-mix(in srgb,var(--bad) 4%,transparent)}
.gl-fix{margin:8px 0 0;padding:9px 11px;border-radius:11px;background:var(--surface-2);font-size:14px;color:var(--text-2);line-height:1.45}
.gl-proof{margin:6px 0 0;color:var(--ok);font-weight:700;font-size:14px}
@media (max-width:820px){.gl-hero{grid-template-columns:1fr;justify-items:start}.gl-grid{grid-template-columns:1fr}.rp-search{grid-column:auto}.au-body{padding-left:20px}}

/* ===== v0.14.0: security ===== */
.sec-hero{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;padding:26px;border-radius:var(--r-lg);margin-bottom:18px;color:#fff;background:radial-gradient(520px 280px at 100% 0%,rgba(96,165,250,.32),transparent 70%),linear-gradient(135deg,#071226,#0d2147 55%,#13306a);box-shadow:var(--sh-3)}
.sec-hero.is-strong{background:radial-gradient(520px 280px at 100% 0%,rgba(52,210,123,.32),transparent 70%),linear-gradient(135deg,#04170f,#0b3a24 55%,#0f5a36)}
.sec-hero .eyebrow{color:rgba(255,255,255,.8);display:inline-flex;gap:7px;align-items:center}.sec-hero h2{font-size:clamp(24px,3vw,32px);margin:8px 0 12px}
.sec-shield{--p:0;position:relative;width:118px;height:132px;display:grid;place-items:center}
.sec-shield .sec-fill{position:absolute;inset:0;clip-path:polygon(50% 0,96% 14%,96% 48%,84% 76%,50% 100%,16% 76%,4% 48%,4% 14%);background:linear-gradient(to top,#60a5fa calc(var(--p)*1%),rgba(255,255,255,.14) calc(var(--p)*1%))}
.sec-hero.is-strong .sec-shield .sec-fill{background:linear-gradient(to top,#34d27b calc(var(--p)*1%),rgba(255,255,255,.14) calc(var(--p)*1%))}
.sec-shield b{position:relative;font-size:34px;font-weight:800;margin-top:-6px;text-shadow:0 2px 10px rgba(0,0,0,.35)}
.sec-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:start}
.sec-main,.sec-side{display:grid;gap:16px}.sec-main .card,.sec-side .card{margin:0}
.sec-ev{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--line)}
.sec-ev .au-dot{margin-top:6px}.sec-ev b{display:block;font-size:14px}.sec-ev small{color:var(--muted);font-size:13px}
.sec-n{font-weight:800;font-size:15px;color:var(--muted);align-self:center}
.gl-item.is-bad .sec-n{color:var(--bad)}
.pad-x{padding:0 20px;margin:0 0 6px}
.sec-list ul{margin:0;padding:0;list-style:none;display:grid;gap:9px}
.sec-list li{position:relative;padding-left:26px;font-size:14px;color:var(--text-2);line-height:1.4}
.sec-list li:before{content:"\F26A";font-family:"bootstrap-icons";position:absolute;left:0;top:0;color:var(--ok)}
.tf-setup{display:grid;grid-template-columns:200px 1fr;gap:22px;align-items:start}
.tf-qr{width:200px;height:200px;padding:10px;border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:var(--sh-1)}
.tf-qr svg{width:100%;height:100%;display:block}
.tf-steps ol{margin:0 0 14px;padding-left:20px;display:grid;gap:10px}.tf-steps li b{display:block}.tf-steps li small{display:block;color:var(--muted);font-size:14px}
.tf-secret{display:inline-block;margin-top:6px;padding:8px 12px;border-radius:10px;background:var(--surface-2);font-size:15px;letter-spacing:.06em;cursor:pointer;word-break:normal;overflow-wrap:anywhere}
.tf-confirm{display:flex;gap:8px;margin-bottom:8px}
.tf-code{height:52px;padding:0 14px;border-radius:14px;border:1.5px solid var(--line-2);background:var(--surface);color:var(--text);font-family:"JetBrains Mono",monospace;font-size:22px;letter-spacing:.3em;text-align:center;width:100%;max-width:240px}
.tf-challenge .tf-code{max-width:none}
.tf-dial{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;font-size:28px;color:var(--brand);background:var(--brand-soft);margin:0 auto 4px;animation:tfPulse 2.4s ease-in-out infinite}
@keyframes tfPulse{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--brand) 30%,transparent)}50%{box-shadow:0 0 0 12px transparent}}
.tf-codes{padding:16px;border-radius:16px;margin-bottom:14px;background:var(--warn-bg);border:1px solid color-mix(in srgb,var(--warn) 30%,transparent)}
.tf-codes p{margin:0 0 10px}
.tf-code-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:10px}
.tf-code-grid span{padding:8px;border-radius:9px;background:var(--surface);text-align:center;font-size:14px}
.tf-actions{margin-top:6px}
@media (max-width:1000px){.sec-layout{grid-template-columns:1fr}}
@media (max-width:640px){.tf-setup{grid-template-columns:1fr;justify-items:center}.tf-code-grid{grid-template-columns:repeat(2,1fr)}.sec-hero{grid-template-columns:1fr}.tf-confirm{flex-direction:column}.tf-code{max-width:none}}
@media (prefers-reduced-motion:reduce){.tf-dial{animation:none}}
/* ===== v0.15.0: admin route + configurable controls ===== */
.admin-route-box{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,300px);gap:16px;padding:16px;border:1px solid color-mix(in srgb,var(--brand) 30%,var(--line));border-radius:16px;background:color-mix(in srgb,var(--brand) 5%,var(--surface))}
.admin-route-box>div{display:grid;gap:5px;align-content:start}.admin-route-box .eyebrow{color:var(--brand);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.admin-route-box>b{font-size:20px;color:var(--text)}.admin-route-box small{color:var(--muted);line-height:1.45}.admin-route-box label{margin:0}.admin-route-box input{font-family:"JetBrains Mono",monospace;font-size:14px}
.control-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;border-top:1px solid var(--line)}.switch.compact{align-items:flex-start;padding:14px 0}.switch.compact>span{margin-top:1px}.switch.compact b{font-size:14px}.switch.compact small{font-size:12.5px;line-height:1.4;margin-top:3px}
@media (max-width:700px){.admin-route-box,.control-grid{grid-template-columns:1fr}.admin-route-box{gap:12px}}

/* ===== v0.16.0: SMS integration ===== */
.sms-events{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;border-top:1px solid var(--line);margin-top:14px}.sms-events>b{grid-column:1/-1;padding:14px 0 4px;font-size:14px;color:var(--text-2)}.sms-events .switch{border-top:0;padding:11px 0}@media(max-width:700px){.sms-events{grid-template-columns:1fr}}

/* ===== v0.17.0: Gmail email integration ===== */
.gmail-note{display:flex;gap:10px;align-items:flex-start;background:color-mix(in srgb,#ea4335 7%,var(--surface));border-color:color-mix(in srgb,#ea4335 24%,var(--line))}.gmail-note>i{color:#ea4335;margin-top:2px}.gmail-note span{color:var(--muted);line-height:1.45}.email-events{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;border-top:1px solid var(--line);margin-top:14px}.email-events>b{grid-column:1/-1;padding:14px 0 4px;font-size:14px;color:var(--text-2)}.email-events .switch{border-top:0;padding:11px 0}@media(max-width:700px){.email-events{grid-template-columns:1fr}}

/* ===== v0.18.0: entitlement matrix ===== */
.feature-matrix th,.feature-matrix td{text-align:center;min-width:110px}.feature-matrix th:first-child,.feature-matrix td:first-child{text-align:left;min-width:240px}.feature-matrix th small,.feature-matrix td small{display:block;margin-top:3px}.matrix-group td{background:var(--surface-2);color:var(--brand);text-transform:uppercase;letter-spacing:.08em;font-size:12px}.matrix-check{display:inline-grid;place-items:center;cursor:pointer}.matrix-check input{position:absolute;opacity:0}.matrix-check span{width:31px;height:31px;border:1.5px solid var(--line-2);border-radius:10px;display:grid;place-items:center;background:var(--surface);color:transparent;transition:.2s}.matrix-check input:checked+span{background:var(--brand);border-color:var(--brand);color:#fff}.matrix-check input:focus-visible+span{outline:3px solid color-mix(in srgb,var(--brand) 35%,transparent)}

/* ===== v0.19.0: Marketplace ===== */
.mk-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:24px 26px;border-radius:var(--r-lg);margin-bottom:16px;color:#fff;background:radial-gradient(480px 240px at 100% 0%,rgba(255,255,255,.18),transparent 70%),linear-gradient(135deg,color-mix(in srgb,var(--brand) 70%,#0b0b1a),var(--brand));box-shadow:var(--sh-3)}
.mk-hero .eyebrow{display:inline-flex;gap:7px;align-items:center;color:rgba(255,255,255,.85);font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.mk-hero h2{margin:6px 0 4px;font-size:clamp(22px,3vw,30px);line-height:1.15}.mk-hero p{margin:0;color:rgba(255,255,255,.82)}
.mk-hero.is-compact{padding:20px 24px}
.mk-wallets{display:flex;gap:10px;flex-wrap:wrap}
.mk-wallets>div,.mk-owned{padding:12px 16px;border-radius:16px;background:rgba(255,255,255,.14);min-width:132px;color:#fff;text-decoration:none}
.mk-wallets small{display:block;font-size:12.5px;color:rgba(255,255,255,.78)}.mk-wallets b{display:block;font-size:19px;font-variant-numeric:tabular-nums;margin-top:2px}
.mk-owned{background:#fff;color:var(--brand)}.mk-owned small{color:var(--muted)}.mk-owned b{color:var(--brand)}
.mk-filters{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:4px 0 14px}
.mk-chips{display:flex;gap:8px;flex-wrap:wrap}
.mk-chips a{padding:8px 14px;border-radius:99px;background:var(--surface);border:1px solid var(--line);color:var(--text-2);text-decoration:none;font-size:14px;font-weight:600}
.mk-chips a.is-on{background:var(--brand);border-color:var(--brand);color:#fff}
.mk-search{min-width:260px;flex:0 1 340px}
.mk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.mk-card{display:flex;flex-direction:column;gap:6px;padding:18px;border-radius:20px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-1);transition:transform .2s var(--ease),box-shadow .2s}
.mk-card:hover{transform:translateY(-2px);box-shadow:var(--sh-2)}
.mk-card.is-target{border-color:var(--c);box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 25%,transparent)}
.mk-card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:6px}
.mk-ico{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-size:21px;color:var(--c);background:color-mix(in srgb,var(--c) 13%,var(--surface))}
.mk-badge{padding:4px 10px;border-radius:99px;font-size:12px;font-weight:800;color:var(--c);background:color-mix(in srgb,var(--c) 12%,var(--surface))}
.mk-type{font-size:12.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.mk-card h3{margin:0;font-size:17px}.mk-card h3 a{color:var(--text);text-decoration:none}
.mk-card p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.45;flex:1}
.mk-card-foot{display:flex;flex-direction:column;gap:10px;margin-top:10px;padding-top:12px;border-top:1px solid var(--line)}
.mk-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.mk-buy{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.mk-buy select{height:34px;padding:0 10px;border-radius:10px;border:1px solid var(--line-2);background:var(--surface);color:var(--text);font-size:13.5px;max-width:190px}
.mk-state{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:99px;font-size:13px;font-weight:700;background:var(--surface-2);color:var(--text-2)}
.mk-state:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.mk-state.is-included,.mk-state.is-owned{background:var(--ok-bg);color:var(--ok)}
.mk-state.is-free{background:var(--brand-soft);color:var(--brand)}
.mk-state.is-locked{background:var(--warn-bg);color:var(--warn)}
.mk-state.is-unavailable{background:var(--bad-bg);color:var(--bad)}
.mk-detail{margin-bottom:16px}.mk-back{display:inline-flex;gap:6px;align-items:center;font-size:14px;font-weight:600;color:var(--muted);text-decoration:none;margin-bottom:12px}
.mk-detail-grid{display:grid;grid-template-columns:240px 1fr;gap:24px;align-items:start}
.mk-cover{position:relative;aspect-ratio:4/3;border-radius:20px;display:grid;place-items:center;font-size:64px;color:#fff;background:radial-gradient(160px 120px at 80% 10%,rgba(255,255,255,.3),transparent 70%),linear-gradient(135deg,var(--c),color-mix(in srgb,var(--c) 60%,#0b0b1a))}
.mk-cover .mk-badge{position:absolute;top:12px;right:12px;background:#fff}
.mk-detail h2{margin:4px 0 6px;font-size:26px}.mk-lead{font-size:16px;margin:0 0 8px}
.mk-incl{list-style:none;padding:0;margin:12px 0;display:grid;gap:8px}.mk-incl li{display:flex;gap:8px;align-items:center;font-weight:600}.mk-incl i{color:var(--ok)}
.mk-detail-buy{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:16px;padding:14px;border-radius:16px;background:var(--surface-2)}
.mk-price{font-size:22px;font-variant-numeric:tabular-nums}
.mk-row{display:flex;align-items:center;gap:12px;padding:15px 20px;border-top:1px solid var(--line)}.mk-row:first-child{border-top:0}
.mk-row-main{flex:1;min-width:0}.mk-row-main b{display:block;font-size:15px}.mk-row-main small{color:var(--muted);font-size:13.5px}
.mk-toggle{width:50px;height:28px;border-radius:99px;border:0;background:var(--surface-3);position:relative;cursor:pointer;transition:background .2s;flex:none}
.mk-toggle span{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.2);transition:transform .2s var(--ease)}
.mk-toggle.is-on{background:var(--ok)}.mk-toggle.is-on span{transform:translateX(22px)}
.mk-bundle-pick{display:grid;gap:6px;padding:14px;border-radius:14px;background:var(--surface-2)}.mk-bundle-pick small{color:var(--muted)}
.mk-tbl-actions{display:flex;gap:6px;justify-content:flex-end}
@media (max-width:720px){.mk-detail-grid{grid-template-columns:1fr}.mk-search{flex:1 1 100%;min-width:0}.mk-wallets>div,.mk-owned{min-width:0;flex:1}.mk-grid{grid-template-columns:1fr}}
.mk-card-foot .mk-buy{display:contents}
.mk-card-foot .mk-buy select{order:-1;flex:1 1 100%;max-width:none}
.mk-card-foot .mk-actions .btn{flex:1;justify-content:center}
@media (max-width:720px){.mk-wallets{display:grid;grid-template-columns:1fr 1fr;width:100%}.mk-wallets b{font-size:17px}.mk-owned{grid-column:1/-1;display:flex;gap:8px;align-items:baseline}.mk-owned b{font-size:19px}}

/* ---------- v0.20.0 Marketplace preview + trials ---------- */
.mk-state.is-trial{color:#035b8a;background:color-mix(in srgb,#0284c7 12%,var(--surface))}
.mk-pill{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:999px;font-size:11.5px;font-weight:800;color:#0284c7;background:color-mix(in srgb,#0284c7 12%,var(--surface));vertical-align:middle}
.mk-try{display:flex;gap:8px;flex-wrap:wrap;width:100%;margin-top:2px}
.mk-try form{flex:1 1 0;min-width:120px}
.mk-try.is-full{margin-top:14px;max-width:460px}
.mk-try-btn{width:100%;height:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:12px;border:1px dashed color-mix(in srgb,var(--c,var(--brand)) 45%,var(--line-2));background:transparent;color:var(--text-2);font:inherit;font-size:14px;font-weight:700;cursor:pointer;transition:.2s}
.mk-try-btn:hover{border-style:solid;color:var(--text);background:color-mix(in srgb,var(--c,var(--brand)) 8%,transparent)}
.mk-try-btn.is-trial{border-style:solid;color:#0369a1;border-color:color-mix(in srgb,#0284c7 35%,transparent);background:color-mix(in srgb,#0284c7 8%,transparent)}
html[data-theme=dark] .mk-try-btn.is-trial,html[data-theme=dark] .mk-state.is-trial,html[data-theme=dark] .pv-intro .eyebrow{color:#7dd3fc}
.pv-banner{position:sticky;top:8px;z-index:30;display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 14px 12px 18px;margin-bottom:16px;border-radius:18px;color:#fff;background:linear-gradient(120deg,#111735,#2a1b6e 60%,#0e4f7a);box-shadow:0 18px 40px -18px rgba(17,23,53,.7)}
.pv-pulse{width:10px;height:10px;border-radius:50%;background:#22d3ee;box-shadow:0 0 0 0 rgba(34,211,238,.6);animation:pvPulse 1.8s infinite;flex:none}
@keyframes pvPulse{0%{box-shadow:0 0 0 0 rgba(34,211,238,.55)}70%{box-shadow:0 0 0 10px rgba(34,211,238,0)}100%{box-shadow:0 0 0 0 rgba(34,211,238,0)}}
.pv-banner-copy{flex:1 1 260px;min-width:0}.pv-banner-copy b{display:block;font-size:15px}.pv-banner-copy small{color:rgba(255,255,255,.78);font-size:13.5px}
.pv-banner-copy [data-pv-left]{font-weight:800;color:#67e8f9;font-variant-numeric:tabular-nums}
.pv-banner-actions{display:flex;gap:8px;flex-wrap:wrap}
.pv-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;flex-wrap:wrap;padding:24px 26px;margin-bottom:16px;border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--sh-2)}
.pv-intro .eyebrow{display:inline-flex;gap:7px;align-items:center;color:#036296;font-weight:800;font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.pv-intro h2{margin:6px 0 4px;font-size:clamp(22px,3vw,30px)}.pv-intro p{margin:0;color:var(--muted);max-width:620px}
.pv-intro-actions{display:flex;gap:10px;flex-wrap:wrap}
.pv-body{display:flex;flex-direction:column;gap:16px}
.pv-section{padding:22px;border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--sh-2)}
.pv-section h3{display:flex;gap:9px;align-items:center;margin:0 0 4px;font-size:18px}.pv-section>p{margin:0 0 16px}
.pv-duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,320px));gap:22px;justify-content:center;padding:24px;border-radius:20px}
.pv-frame{margin:0}.pv-frame figcaption{font-size:13px;font-weight:700;color:var(--muted);margin:0 0 8px;text-align:center}
.pv-screen{border-radius:30px;padding:16px;min-height:430px;border:6px solid #1c2140;overflow:hidden}
.pv-midnight{background:radial-gradient(500px 260px at 15% 0%,rgba(139,92,246,.22),transparent 70%),#05081a}
.pv-midnight figcaption{color:#9aa3c7}
.pv-midnight .pv-screen{background:linear-gradient(180deg,#0b1030,#070a1f);color:#e8eaff;box-shadow:0 30px 60px -30px rgba(139,92,246,.55)}
.pvm-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.pvm-top b{font-size:15px}
.pvm-bell{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.07)}
.pvm-wallet{padding:16px;border-radius:20px;background:linear-gradient(135deg,#7c3aed,#2563eb 70%,#06b6d4);box-shadow:0 14px 30px -12px rgba(124,58,237,.8)}
.pvm-wallet small{color:rgba(255,255,255,.8)}.pvm-wallet b{display:block;font-size:24px;letter-spacing:-.02em;margin:2px 0 10px}
.pvm-chips{display:flex;gap:6px;flex-wrap:wrap}.pvm-chips span{white-space:nowrap;padding:5px 9px;border-radius:999px;background:rgba(255,255,255,.18);font-size:12px;font-weight:700}
.pvm-chips span:first-child{background:#fff;color:#1e1b4b}
.pvm-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}
.pvm-grid span{display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px 2px;border-radius:14px;background:rgba(255,255,255,.05);font-size:12px;font-weight:700;color:#c7cbef}
.pvm-grid i{font-size:18px;color:#a78bfa;text-shadow:0 0 12px rgba(167,139,250,.8)}
.pvm-list{display:flex;flex-direction:column;gap:7px}
.pvm-list div{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06)}
.pvm-list b{flex:1;font-size:14px}.pvm-list small{display:block;color:#8d94c4;font-weight:600;font-size:12px}.pvm-list em{font-style:normal;font-weight:800;color:#67e8f9}
.pvm-dot{width:10px;height:10px;border-radius:50%;background:var(--c);box-shadow:0 0 10px var(--c)}
.pvm-receipt{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding-top:26px}
.pvm-ok{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;font-size:30px;color:#05081a;background:#34d399;box-shadow:0 0 30px rgba(52,211,153,.6);margin-bottom:10px}
.pvm-receipt small{color:#8d94c4}.pvm-receipt strong{font-size:28px;margin:6px 0 14px}
.pvm-receipt dl{width:100%;margin:0 0 18px;padding:12px;border-radius:16px;background:rgba(255,255,255,.05)}
.pvm-receipt dl div{display:flex;justify-content:space-between;padding:5px 0;font-size:13px}.pvm-receipt dt{color:#8d94c4}.pvm-receipt dd{margin:0;font-weight:700}
.pvm-btn{display:inline-flex;justify-content:center;width:100%;padding:12px;border-radius:14px;font-weight:800;color:#fff;background:linear-gradient(135deg,#7c3aed,#2563eb)}
.pv-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:16px}
.pv-kpis div{padding:14px 16px;border-radius:16px;background:color-mix(in srgb,var(--c) 9%,var(--surface))}
.pv-kpis small{color:var(--muted);font-weight:700}.pv-kpis b{display:block;font-size:22px;color:color-mix(in srgb,var(--c) 70%,var(--text))}
.pv-bars{display:flex;align-items:flex-end;gap:10px;height:170px;padding:10px 6px 26px;border-radius:16px;background:var(--surface-2)}
.pv-bars span{position:relative;flex:1;border-radius:10px 10px 4px 4px;background:linear-gradient(180deg,var(--brand),color-mix(in srgb,var(--brand) 45%,transparent));animation:floatIn .5s var(--ease) both}
.pv-bars em{position:absolute;bottom:-22px;left:0;right:0;text-align:center;font-style:normal;font-size:12px;color:var(--muted);font-weight:700}
.pv-split{display:grid;grid-template-columns:1.1fr 1fr;border-radius:20px;overflow:hidden;border:1px solid var(--line-2);max-width:760px}
.pv-split-art{padding:30px;color:#fff;background:radial-gradient(300px 200px at 0% 100%,rgba(255,255,255,.2),transparent),linear-gradient(135deg,var(--brand),#0ea5a4)}
.pv-split-art b{font-size:22px}.pv-split-art p{margin:8px 0 26px;font-size:17px;opacity:.9}.pv-split-art span{font-size:13px;font-weight:700;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.18)}
.pv-split-form{display:flex;flex-direction:column;gap:10px;padding:30px;background:var(--surface)}.pv-split-form b{font-size:19px;margin-bottom:4px}
.pv-fake{display:block;padding:13px 14px;border-radius:13px;background:var(--surface-2);color:var(--muted);font-size:14px}
.pv-split-form .pvm-btn{margin-top:6px;background:var(--brand)}
.pv-loyal{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:14px}
.pv-loyal-card{padding:18px;border-radius:20px;color:#fff;background:linear-gradient(135deg,#db2777,#f59e0b)}
.pv-loyal-card b{display:block;font-size:28px;margin:2px 0 12px}.pv-loyal-card small{opacity:.9}
.pv-meter{height:8px;border-radius:99px;background:rgba(255,255,255,.3);margin-bottom:8px;overflow:hidden}.pv-meter span{display:block;height:100%;border-radius:inherit;background:#fff}
.pv-feed{display:flex;flex-direction:column;gap:8px}
.pv-feed div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:var(--surface-2);font-size:14px}
.pv-feed div>b{color:var(--ok)}.pv-feed small{display:block;color:var(--muted)}.pv-feed em{font-style:normal;font-weight:700;color:var(--brand-ink);white-space:nowrap}
.pv-service{display:flex;flex-direction:column;gap:12px;max-width:520px}
.pv-chips{display:flex;gap:8px;flex-wrap:wrap}
.pv-chips span{padding:8px 14px;border-radius:999px;border:1px solid var(--line-2);font-weight:700;font-size:14px;cursor:pointer}
.pv-chips span.is-on{background:var(--brand);border-color:var(--brand);color:#fff}
.pv-verify{display:flex;gap:9px;align-items:center;padding:12px 14px;border-radius:14px;font-weight:700;color:#047857;background:color-mix(in srgb,#10b981 12%,var(--surface))}
.pv-verify[hidden]{display:none}
.err-row{border-top:1px solid var(--line);padding:12px 0}.err-row:first-of-type{border-top:0}
.err-row summary{display:flex;gap:12px;align-items:flex-start;cursor:pointer;list-style:none}.err-row summary::-webkit-details-marker{display:none}
.err-ref{flex:none;padding:4px 9px;border-radius:9px;font-weight:800;font-size:13px;letter-spacing:.05em;color:#be123c;background:color-mix(in srgb,#e11d48 10%,var(--surface))}
.err-main{min-width:0}.err-main b{display:block;font-size:14.5px;overflow-wrap:anywhere}.err-main small{color:var(--muted);overflow-wrap:anywhere}
.err-body{margin:10px 0 0;padding:12px 14px;border-radius:14px;background:var(--surface-2);font-size:14px}.err-body p{margin:0 0 8px;overflow-wrap:anywhere}
.err-body pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12.5px;color:var(--text-2);max-height:260px;overflow:auto}
@media (max-width:640px){.pv-split,.pv-loyal{grid-template-columns:1fr}.pv-banner{top:4px}.pv-banner-actions{width:100%}.pv-banner-actions form,.pv-banner-actions a{flex:1}.pv-banner-actions .btn{width:100%}.pv-duo{padding:14px}.pv-intro{padding:20px}}

/* ---------- v0.21.0 theme thumbnails (admin, reseller, theme store) ---------- */
.tt{position:relative;aspect-ratio:16/10;border-radius:14px;overflow:hidden;background:var(--bg);display:flex;flex-direction:column;gap:6%;padding:5%;isolation:isolate}
.tt[data-bg=color] .tt-hero{background:linear-gradient(135deg,var(--a),var(--b))}
.tt[data-bg=glow]{background:radial-gradient(60% 60% at 90% 0%,color-mix(in srgb,var(--p) 45%,transparent),transparent 70%),radial-gradient(50% 50% at 0% 100%,color-mix(in srgb,var(--b) 35%,transparent),transparent 70%),var(--bg)}
.tt-nav{display:flex;align-items:center;gap:5%;height:8%}
.tt-nav i{width:8%;height:100%;border-radius:4px;background:var(--p)}
.tt-nav span{width:12%;height:45%;border-radius:3px;background:var(--mu);opacity:.45}
.tt-nav b{margin-left:auto;width:16%;height:100%;border-radius:calc(var(--r) * .6);background:var(--p)}
.tt-hero{flex:1;display:grid;grid-template-columns:1.2fr 1fr;gap:6%;align-items:center;padding:5%;border-radius:var(--r)}
.tt-copy{display:flex;flex-direction:column;gap:9%}
.tt-copy span{height:12px;border-radius:3px;background:var(--on)}
.tt[data-bg=glow] .tt-copy span{background:var(--ink)}
.tt-copy span:nth-child(2){width:72%}
.tt-copy em{width:46%;height:10px;border-radius:calc(var(--r) * .6);background:var(--ac)}
.tt-card{display:flex;flex-direction:column;gap:10%;height:86%;padding:9%;border-radius:var(--r);background:var(--sf);box-shadow:0 8px 18px -10px rgba(0,0,0,.5)}
.tt-card span{height:18%;border-radius:4px;background:color-mix(in srgb,var(--ink) 10%,transparent)}
.tt-card b{margin-top:auto;height:22%;border-radius:calc(var(--r) * .6);background:var(--p)}
.tt[data-c=brutal] .tt-card{border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink)}
.tt[data-c=outline] .tt-card,.tt[data-c=paper] .tt-card{border:1px solid var(--ln);box-shadow:none}
.tt[data-c=neon] .tt-card{border:1px solid var(--p);box-shadow:0 0 14px -2px var(--p)}
.tt[data-c=glass] .tt-card{background:color-mix(in srgb,var(--sf) 60%,transparent);border:1px solid color-mix(in srgb,var(--ink) 15%,transparent)}
.tt-rows{display:grid;grid-template-columns:repeat(4,1fr);gap:4%;height:16%}
.tt-rows span{border-radius:calc(var(--r) * .7);background:var(--sf);border:1px solid var(--ln)}
.tt[data-h=center] .tt-hero,.tt[data-h=poster] .tt-hero,.tt[data-h=minimal] .tt-hero{grid-template-columns:1fr;grid-template-rows:auto auto;justify-items:center;text-align:center}
.tt[data-h=center] .tt-copy,.tt[data-h=poster] .tt-copy,.tt[data-h=minimal] .tt-copy{width:80%;align-items:center}
.tt[data-h=center] .tt-card,.tt[data-h=poster] .tt-card,.tt[data-h=minimal] .tt-card{width:90%;height:auto;flex-direction:row;padding:3%}
.tt[data-h=center] .tt-card span,.tt[data-h=poster] .tt-card span,.tt[data-h=minimal] .tt-card span{flex:1;height:12px}
.tt[data-h=center] .tt-card b,.tt[data-h=poster] .tt-card b,.tt[data-h=minimal] .tt-card b{width:22%;height:12px;margin:0}
.tt[data-h=poster] .tt-copy span{height:20px}
.tt[data-h=minimal] .tt-hero{background:none!important;justify-items:start;text-align:left}
.tt[data-h=minimal] .tt-copy{align-items:flex-start}
.tt[data-h=minimal] .tt-copy span{background:var(--ink)}
.tt[data-h=reverse] .tt-hero{grid-template-columns:1fr 1.2fr}
.tt[data-h=reverse] .tt-card{order:-1}
.tt[data-h=phone] .tt-card{width:56%;justify-self:center;height:96%;border-radius:calc(var(--r) + 6px);border:3px solid #0b0b12}
.tt[data-h=bento] .tt-hero{grid-template-columns:1.2fr 1fr;grid-template-rows:1fr .7fr}
.tt[data-h=bento] .tt-card{grid-row:span 2}
.tt[data-h=bento] .tt-copy{grid-row:1}
.th-current{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:26px;align-items:center;padding:22px;margin-bottom:16px;border-radius:var(--r-lg);color:#fff;background:radial-gradient(500px 260px at 100% 0%,rgba(255,255,255,.16),transparent 70%),linear-gradient(135deg,color-mix(in srgb,var(--brand) 70%,#0b0b1a),var(--brand));box-shadow:var(--sh-3)}
.th-current-thumb .tt{box-shadow:0 20px 40px -18px rgba(0,0,0,.55)}
.th-current .eyebrow{display:inline-flex;gap:8px;align-items:center;font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.85)}
.th-live{width:9px;height:9px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 4px rgba(74,222,128,.25)}
.th-current h2{margin:6px 0 6px;font-size:clamp(24px,3vw,32px)}
.th-current h2 small{font-size:14px;padding:3px 10px;border-radius:99px;background:rgba(255,255,255,.18);vertical-align:middle}
.th-current p{margin:0 0 16px;color:rgba(255,255,255,.85)}
.th-current-actions{display:flex;gap:10px;flex-wrap:wrap}
.th-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:16px;align-items:start;margin-bottom:16px}
.th-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}
.th-grid.is-wide{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.th-item{position:relative;display:flex;flex-direction:column;border-radius:18px;border:1.5px solid var(--line-2);overflow:hidden;background:var(--surface);color:inherit;text-decoration:none;transition:border-color .2s,transform .2s}
a.th-item:hover{transform:translateY(-3px);border-color:var(--brand)}
.th-item.is-on{border-color:var(--ok);box-shadow:0 0 0 3px color-mix(in srgb,var(--ok) 20%,transparent)}
.th-item .tt{border-radius:0}
.th-item-body{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px}
.th-item-body b{display:block;font-size:15px}.th-item-body small{color:var(--muted);font-weight:600}
.th-price{font-weight:800;color:var(--brand-ink);white-space:nowrap}
.th-demo{position:absolute;top:8px;right:8px;padding:4px 10px;border-radius:99px;background:rgba(0,0,0,.55);color:#fff;font-size:12.5px;font-weight:700;text-decoration:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.mk-theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.mk-theme{display:flex;flex-direction:column;border-radius:22px;background:var(--surface);box-shadow:var(--sh-2);overflow:hidden}
.mk-theme .tt{border-radius:0}
.mk-theme-body{display:flex;flex-direction:column;gap:8px;padding:14px 16px 16px;flex:1}
.mk-theme-top{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.mk-theme-top b{font-size:17px}
.mk-theme-body p{margin:0;color:var(--text-2);font-size:14px;line-height:1.45}
.mk-theme-links{display:flex;gap:12px;font-size:13.5px;font-weight:700}
.mk-theme-links a{color:var(--brand-ink);text-decoration:none}
.mk-theme .mk-card-foot{margin-top:auto}
.mk-theme-banner{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:18px 20px;margin-bottom:16px;border-radius:var(--r);background:var(--surface);box-shadow:var(--sh-2);text-decoration:none;color:inherit}
.mk-theme-banner .tt{width:150px;flex:none}
.mk-theme-banner>div:not(.tt):not(.dt):not(.at){flex:1;min-width:200px}
.mk-theme-banner>div>b{display:block;font-size:18px}
.mk-theme-banner>div>small{color:var(--muted)}
.mk-theme-banner .dt,.mk-theme-banner .at{width:150px;flex:none}
.mk-design-banners{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.mk-design-banners .mk-theme-banner{margin:0}
.mk-theme .dt,.mk-theme .at,.adm-th .dt,.adm-th .at{border-radius:0}
.mk-cover.is-theme .dt,.mk-cover.is-theme .at{border-radius:inherit;height:100%;font-size:14px}
@media (max-width:900px){.mk-design-banners{grid-template-columns:1fr}}
.adm-th-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px}
.adm-th{display:flex;flex-direction:column;border-radius:18px;border:1px solid var(--line-2);overflow:hidden;background:var(--surface)}
.adm-th .tt{border-radius:0}
.adm-th-body{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px}
.adm-th-body .adm-th-name{grid-column:1/-1;display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.adm-th-body .adm-th-name b{font-size:15.5px}
.adm-th-body .adm-th-name small{color:var(--muted);font-weight:700}
.adm-th-body label{font-size:12px;gap:4px}
.adm-th-body input,.adm-th-body select{height:40px;font-size:14px;padding:0 10px;border-radius:10px}
.adm-th-links{grid-column:1/-1;display:flex;gap:12px;font-size:13px;font-weight:700}
.adm-th-links a{color:var(--brand-ink);text-decoration:none}
.adm-tabs{display:flex;gap:6px;margin:0 0 16px;padding:4px;border-radius:14px;background:var(--surface-2);width:fit-content;max-width:100%;overflow-x:auto}
.adm-tabs a{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 15px;border-radius:11px;font-weight:700;color:var(--text-2);text-decoration:none;white-space:nowrap}
.adm-tabs a.is-on{background:var(--surface);color:var(--text);box-shadow:0 2px 8px -3px rgba(0,0,0,.2)}
.adm-tabs em{font-style:normal;padding:1px 8px;border-radius:99px;background:var(--brand-soft);color:var(--brand-ink);font-size:12.5px}
.adm-bulk{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}
.adm-bulk label{min-width:150px}
@media (max-width:900px){.th-current{grid-template-columns:1fr}.th-layout{grid-template-columns:1fr}}
@media (max-width:640px){.th-grid,.th-grid.is-wide,.mk-theme-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.th-item-body{flex-direction:column;align-items:stretch}.th-item-body .btn{width:100%}.mk-theme-body p{display:none}.mk-theme-banner .tt{width:110px}}
.mk-chips.is-sub{margin-top:8px}
.mk-chips.is-sub a{font-size:13px;padding:6px 12px}
.mk-cover.is-theme{padding:0;background:none;display:block;overflow:hidden}
.mk-cover.is-theme .tt{border-radius:inherit;height:100%}
.mk-theme-links.is-detail{margin-top:14px;flex-wrap:wrap}
.mk-theme-links a i{margin-right:4px}
.mk-theme.is-target{box-shadow:0 0 0 3px var(--brand),var(--sh-2)}
.pv-live-tools{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.seg-mini{display:inline-flex;gap:3px;padding:3px;border-radius:12px;background:var(--surface-2)}
.seg-mini button{height:34px;padding:0 12px;border:0;border-radius:9px;background:transparent;color:var(--text-2);font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.seg-mini button.is-on{background:var(--surface);color:var(--text);box-shadow:0 2px 6px -2px rgba(0,0,0,.2)}
.pv-live-frame{border-radius:18px;overflow:hidden;border:6px solid #12121c;background:#12121c;height:min(78vh,760px);transition:max-width .3s;max-width:100%;margin:0 auto}
.pv-live-frame iframe{width:100%;height:100%;border:0;display:block;border-radius:12px;background:#fff}
.pv-live.is-mobile .pv-live-frame{max-width:402px;border-radius:40px;border-width:10px}
.pv-live.is-mobile .pv-live-frame iframe{border-radius:30px}
.wc-ring,.wc-bank{display:none}
/* design thumbnails (v0.22.0) */
.dt,.at{position:relative;aspect-ratio:16/10;border-radius:14px;overflow:hidden;background:var(--surface-2);display:grid;gap:6%;padding:7%}
.dt{grid-template-columns:1fr 32%}
.dt[data-l=mirror]{grid-template-columns:32% 1fr}.dt[data-l=mirror] .dt-side{order:-1}
.dt[data-l=stack]{grid-template-columns:1fr}.dt[data-l=stack] .dt-side{display:none}
.dt-main{display:grid;gap:8px;align-content:start}
.dt-wallet{position:relative;height:56px;border-radius:min(12px,var(--d-r));background:linear-gradient(135deg,var(--d-a),var(--d-b));padding:9px 10px;box-shadow:0 10px 18px -12px var(--d-a)}
.dt-wallet span{display:block;width:34%;height:5px;border-radius:9px;background:currentColor;color:var(--d-on);opacity:.6}
.dt-wallet b{display:block;width:56%;height:10px;border-radius:9px;margin-top:7px;background:var(--d-on);opacity:.95}
.dt-wallet em{position:absolute;right:10px;bottom:9px;width:26%;height:12px;border-radius:9px;background:#fff}
.dt[data-w=bank] .dt-wallet{background:linear-gradient(135deg,color-mix(in srgb,var(--d-a) 50%,#0a0a12),color-mix(in srgb,var(--d-b) 40%,#0a0a12))}
.dt[data-w=bank] .dt-wallet span{width:18px;height:13px;border-radius:3px;background:linear-gradient(135deg,#f6d77c,#c9a13b);opacity:1}
.dt[data-w=bank] .dt-wallet b{background:#fff}
.dt[data-w=neon] .dt-wallet{background:#0b0b16;box-shadow:0 0 0 1.5px var(--d-a),0 0 18px -2px var(--d-a)}
.dt[data-w=neon] .dt-wallet b,.dt[data-w=neon] .dt-wallet span{background:var(--d-c)}
.dt[data-w=minimal] .dt-wallet{background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line)}
.dt[data-w=minimal] .dt-wallet b,.dt[data-w=minimal] .dt-wallet span{background:var(--text)}
.dt[data-w=minimal] .dt-wallet em{background:var(--d-a)}
.dt[data-w=ticket] .dt-wallet{-webkit-mask:radial-gradient(circle 7px at 0 50%,transparent 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 7px at 100% 50%,transparent 98%,#000) right/51% 100% no-repeat;mask:radial-gradient(circle 7px at 0 50%,transparent 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 7px at 100% 50%,transparent 98%,#000) right/51% 100% no-repeat}
.dt[data-w=ring] .dt-wallet:after{content:"";position:absolute;right:10px;top:8px;width:28px;height:28px;border-radius:50%;background:conic-gradient(#fff 0 68%,rgba(255,255,255,.25) 0);-webkit-mask:radial-gradient(circle,transparent 52%,#000 54%);mask:radial-gradient(circle,transparent 52%,#000 54%)}
.dt[data-w=ring] .dt-wallet em{display:none}
.dt[data-w=split] .dt-wallet{background:linear-gradient(90deg,var(--d-a) 0 62%,var(--d-b) 62%)}
.dt[data-w=glass] .dt-wallet{background:linear-gradient(135deg,color-mix(in srgb,var(--d-a) 70%,transparent),color-mix(in srgb,var(--d-c) 45%,transparent));box-shadow:inset 0 0 0 1px rgba(255,255,255,.4),0 14px 24px -14px var(--d-a)}
.dt-serv{display:grid;grid-template-columns:repeat(8,1fr);gap:5px;padding:7px;border-radius:10px;background:var(--surface)}
.dt-serv i{aspect-ratio:1;border-radius:6px;background:color-mix(in srgb,var(--d-a) 22%,var(--surface))}
.dt-serv i:nth-child(3n){background:color-mix(in srgb,var(--d-c) 30%,var(--surface))}
.dt-serv i:nth-child(3n+1){background:color-mix(in srgb,var(--d-b) 26%,var(--surface))}
.dt[data-s=pills] .dt-serv{grid-template-columns:repeat(4,1fr);background:transparent;padding:0}
.dt[data-s=pills] .dt-serv i{aspect-ratio:auto;height:12px;border-radius:99px}
.dt[data-s=pills] .dt-serv i:nth-child(n+5){display:none}
.dt[data-s=list] .dt-serv{grid-template-columns:1fr 1fr}
.dt[data-s=list] .dt-serv i{aspect-ratio:auto;height:7px}
.dt[data-s=list] .dt-serv i:nth-child(n+5){display:none}
.dt[data-s=tiles] .dt-serv{grid-template-columns:repeat(4,1fr);background:transparent;padding:0}
.dt[data-s=tiles] .dt-serv i{aspect-ratio:1.4;background:var(--d-a);opacity:.85}
.dt[data-s=tiles] .dt-serv i:nth-child(2n){background:var(--d-b)}
.dt[data-s=tiles] .dt-serv i:nth-child(n+5){display:none}
.dt[data-s=dock] .dt-serv{position:absolute;left:16%;right:16%;bottom:6%;grid-template-columns:repeat(5,1fr);border-radius:99px;box-shadow:0 8px 18px -10px rgba(0,0,0,.4);z-index:2}
.dt[data-s=dock] .dt-serv i{border-radius:50%}
.dt[data-s=dock] .dt-serv i:nth-child(n+6){display:none}
.dt-rows{display:grid;gap:5px}
.dt-rows span{height:9px;border-radius:6px;background:var(--surface)}
.dt-rows span:nth-child(2){width:84%}.dt-rows span:nth-child(3){width:66%}
.dt-side{display:grid;gap:8px;align-content:start}
.dt-side span{height:46px;border-radius:10px;background:var(--surface)}
.dt-side span+span{height:30px;background:color-mix(in srgb,var(--d-c) 22%,var(--surface))}
.at{grid-template-columns:1fr 1fr;gap:0;padding:0}
.at-art{position:relative;background:linear-gradient(150deg,color-mix(in srgb,var(--d-a) 62%,#05050c),color-mix(in srgb,var(--d-b) 55%,#05050c));padding:12% 10%;display:grid;align-content:end;gap:6px}
.at-art span{height:7px;width:80%;border-radius:9px;background:#fff;opacity:.9}
.at-art span+span{width:55%;opacity:.55}
.at-art em{position:absolute;inset:0;background:radial-gradient(50% 50% at 25% 25%,color-mix(in srgb,var(--d-c) 55%,transparent),transparent 70%)}
.at[data-p=grid] .at-art em{background-image:linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px);background-size:12px 12px}
.at[data-p=dots] .at-art em{background-image:radial-gradient(rgba(255,255,255,.3) 1px,transparent 1.3px);background-size:9px 9px}
.at[data-p=rings] .at-art em{background:repeating-radial-gradient(circle at 80% 20%,transparent 0 12px,rgba(255,255,255,.14) 12px 13px)}
.at[data-p=waves] .at-art em{background:repeating-radial-gradient(circle at 0 100%,transparent 0 10px,rgba(255,255,255,.12) 10px 11px)}
.at[data-p=diagonal] .at-art em{background:repeating-linear-gradient(135deg,rgba(255,255,255,.1) 0 1.5px,transparent 1.5px 9px)}
.at-form{display:grid;align-content:center;gap:6px;padding:10% 12%;background:var(--surface)}
.at-form b{height:9px;width:60%;border-radius:9px;background:var(--text);margin-bottom:4px}
.at-form span{height:13px;border-radius:min(6px,var(--d-r));background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line)}
.at-form i{height:14px;border-radius:min(7px,var(--d-r));background:linear-gradient(90deg,var(--d-a),var(--d-b));margin-top:3px}
.at[data-l=split-r] .at-art{order:2}
.at[data-l=side]{grid-template-columns:34% 1fr}
.at[data-l=top]{grid-template-columns:1fr;grid-template-rows:38% 1fr}
.at[data-l=top] .at-form{padding:5% 26%}
.at[data-l=center],.at[data-l=glass]{grid-template-columns:1fr}
.at[data-l=center] .at-art,.at[data-l=glass] .at-art{position:absolute;inset:0}
.at[data-l=center] .at-art span,.at[data-l=glass] .at-art span{display:none}
.at[data-l=center] .at-form{position:relative;margin:9% 27%;border-radius:10px;box-shadow:0 14px 28px -12px rgba(0,0,0,.6)}
.at[data-l=glass] .at-form{position:relative;margin-left:48%;background:color-mix(in srgb,var(--surface) 78%,transparent);backdrop-filter:blur(8px)}
.at[data-l=minimal]{grid-template-columns:1fr}
.at[data-l=minimal] .at-art{display:none}
.at[data-l=minimal] .at-form{padding:8% 28%;background:radial-gradient(70% 50% at 50% 0,color-mix(in srgb,var(--d-a) 20%,transparent),transparent 70%),var(--surface)}
/* theme editor (v0.22.0) */
.te-head{display:grid;grid-template-columns:200px minmax(0,1fr) auto;gap:22px;align-items:center;padding:18px 20px;margin-bottom:16px;border-radius:var(--r-lg);color:#fff;background:radial-gradient(500px 260px at 100% 0%,rgba(255,255,255,.16),transparent 70%),linear-gradient(135deg,color-mix(in srgb,var(--brand) 70%,#0b0b1a),var(--brand));box-shadow:var(--sh-3)}
.te-head .eyebrow{gap:8px;font-size:12.5px;color:rgba(255,255,255,.88)}
.te-head h2{margin:6px 0 4px;font-size:clamp(22px,2.6vw,28px)}
.te-head h2 small{font-size:13px;padding:3px 10px;border-radius:99px;background:rgba(255,255,255,.18);vertical-align:middle}
.te-head p{margin:0;color:rgba(255,255,255,.85);max-width:560px}
.te-dot{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.55)}
.te-dot.is-draft{background:#fbbf24;box-shadow:0 0 0 4px rgba(251,191,36,.28)}
.te-pick{display:grid;gap:8px;min-width:220px}
.te-pick label{color:rgba(255,255,255,.85)}
.te-pick select{background:rgba(255,255,255,.95);color:#14142b}
.te-wrap{display:grid;grid-template-columns:minmax(360px,460px) minmax(0,1fr);gap:16px;align-items:start}
.te-panel{padding:0;overflow:hidden;display:flex;flex-direction:column;max-height:calc(100vh - 120px);position:sticky;top:84px}
.te-tabs{margin:14px 14px 0;display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.te-tabs button{white-space:nowrap;display:inline-flex;gap:6px;align-items:center}
.te-pane{display:none;padding:6px 18px 18px;overflow-y:auto;flex:1}
.te-pane.is-on{display:block}
.te-pane h3{font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:20px 0 10px}
.te-hint{margin:14px 0 0;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--brand) 8%,var(--surface-2));color:var(--text-2);font-size:13.5px}
.te-colors{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.te-color-in{display:flex;align-items:center;gap:6px;padding:4px;border-radius:14px;background:var(--surface-2)}
.te-color-in input[type=color]{width:40px;height:40px;padding:0;border:0;border-radius:11px;background:none;cursor:pointer;flex:none}
.te-color-in input[type=color]::-webkit-color-swatch-wrapper{padding:0}
.te-color-in input[type=color]::-webkit-color-swatch{border:0;border-radius:10px}
.te-color-in input[data-te-hex]{height:40px;padding:0 8px;background:transparent;font-family:'JetBrains Mono',monospace;font-size:13px;min-width:0}
.te-x{border:0;background:none;color:var(--muted);width:28px;height:28px;border-radius:8px;cursor:pointer;flex:none}
.te-x:hover{background:var(--surface-3);color:var(--text)}
.te-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.te-stack{display:grid;gap:12px}
.te-stack textarea,.te-pair textarea{height:auto;padding:12px 14px;line-height:1.45;resize:vertical}
.te-sections{display:grid;gap:8px}
.te-sec{display:flex;align-items:center;gap:8px;padding:4px 6px 4px 14px;border-radius:14px;background:var(--surface-2);transition:box-shadow .3s,transform .3s}
.te-sec .switch{flex:1;padding:8px 0;border:0}
.te-sec.is-moved{box-shadow:0 0 0 2px var(--brand);transform:scale(1.01)}
.te-move{display:flex;gap:4px}
.te-move .icon-btn{width:34px;height:34px}
.te-pairs{display:grid;gap:10px}
.te-pair{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start}
.te-pair>div{display:grid;gap:6px}
.te-n{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;font-weight:800;font-size:13px;background:color-mix(in srgb,var(--brand) 14%,var(--surface));color:var(--brand-ink);margin-top:11px}
.te-serp{padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:var(--surface);display:grid;gap:4px}
.te-serp small{color:var(--muted)}.te-serp b{color:#1a0dab;font-size:17px;font-weight:600}.te-serp span{font-size:13.5px;color:var(--text-2)}
html[data-theme=dark] .te-serp b{color:#8ab4f8}
.te-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 16px;border-top:1px solid var(--line);background:var(--surface)}
.te-more{margin-left:auto;display:flex;gap:4px}
.te-preview{position:sticky;top:84px;display:flex;flex-direction:column;gap:10px;height:calc(100vh - 120px);min-height:520px}
.te-pv-bar{display:flex;align-items:center;gap:10px}
.te-pv-state{margin-left:auto;font-size:13px;font-weight:700;color:var(--muted);transition:color .3s}
.te-pv-state.is-fresh{color:var(--ok)}
.te-frame{flex:1;border-radius:var(--r-lg);overflow:hidden;background:var(--surface-2);box-shadow:var(--sh-2),0 0 0 1px var(--line);display:flex;justify-content:center;transition:background .3s}
.te-frame iframe{width:100%;height:100%;border:0;background:#fff;transition:width .35s var(--ease)}
.te-frame.is-mob{padding:18px 0;background:repeating-linear-gradient(135deg,var(--surface-2) 0 10px,var(--surface-3) 10px 11px)}
.te-frame.is-mob iframe{width:390px;max-width:100%;border-radius:28px;box-shadow:0 30px 60px -28px rgba(0,0,0,.5),0 0 0 8px #0b0b14}
.th-item .th-edit{position:absolute;top:10px;left:10px;display:inline-flex;gap:6px;align-items:center;padding:6px 11px;border-radius:99px;background:rgba(12,12,24,.78);color:#fff;font-size:12.5px;font-weight:700}
@media (max-width:1100px){
  .te-wrap{grid-template-columns:1fr}
  .te-panel,.te-preview{position:static;max-height:none}
  .te-preview{height:640px;order:-1}
}
@media (max-width:760px){
  .te-head{grid-template-columns:1fr;padding:16px}
  .te-head-thumb{display:none}
  .te-colors,.te-grid{grid-template-columns:1fr}
  .te-preview{height:520px}
  .te-pv-bar .btn{display:none}
}
/* reseller designs page (v0.22.0) */
.ds-block{margin-bottom:16px}
.ds-head{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:22px;align-items:center}
.ds-cur .dt,.ds-cur .at{box-shadow:var(--sh-2)}
.ds-kicker{display:inline-flex;gap:7px;align-items:center;font-size:12.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--brand-ink)}
.ds-head h2{margin:6px 0 4px;font-size:clamp(22px,2.6vw,28px)}
.ds-head h2 small{font-size:13px;padding:3px 10px;border-radius:99px;background:var(--surface-2);vertical-align:middle;color:var(--muted)}
.ds-head .alert{margin:10px 0 0}
.ds-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.ds-sub{font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:22px 0 10px}
.th-item .dt,.th-item .at{border-radius:0}
@media (max-width:760px){.ds-head{grid-template-columns:1fr}}
/* default display picker (v0.23.0) */
.te-modepick{display:grid;gap:4px;padding:6px 0 4px}
.te-modepick>b{font-size:15px;color:var(--text)}
.te-modepick>small{color:var(--muted);font-weight:500}
.te-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}
.te-mode{display:grid;gap:8px;justify-items:center;padding:10px 8px;border-radius:14px;border:1.5px solid var(--line);cursor:pointer;font-size:13px;text-align:center;transition:border-color .2s,box-shadow .2s}
.te-mode input{position:absolute;opacity:0;pointer-events:none}
.te-mode:has(input:checked){border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 18%,transparent)}
.te-mode b{color:var(--text)}
.te-mode-sw{width:100%;height:44px;border-radius:10px;box-shadow:inset 0 0 0 1px var(--line)}
.te-mode-sw.is-light{background:linear-gradient(180deg,#fff 0 30%,#f1f2f8 30%)}
.te-mode-sw.is-dark{background:linear-gradient(180deg,#1b1d2b 0 30%,#0c0d16 30%)}
.te-mode-sw.is-auto{background:linear-gradient(110deg,#fff 0 50%,#0c0d16 50%)}
/* ---------- bills: cable, electricity, exam pins (v0.24.0) ---------- */
.bl-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,360px);gap:18px;align-items:start}
.bl-main{display:grid;gap:16px;min-width:0}
.bl-side{position:sticky;top:90px}
.bl-provs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.bl-provs.is-many{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}
.bl-prov{cursor:pointer}
.bl-prov input{position:absolute;opacity:0;pointer-events:none}
.bl-prov>span{display:flex;flex-direction:column;align-items:center;gap:7px;padding:14px 8px;border-radius:18px;border:1.5px solid var(--line);background:var(--surface);text-align:center;transition:border-color .2s,box-shadow .2s,transform .2s;height:100%}
.bl-prov>span b{font-size:14px;color:var(--text)}
.bl-prov>span small{font-size:11.5px;color:var(--muted);line-height:1.25}
.bl-prov:hover>span{transform:translateY(-2px)}
.bl-prov input:checked+span{border-color:var(--p);box-shadow:0 0 0 4px color-mix(in srgb,var(--p) 18%,transparent);background:color-mix(in srgb,var(--p) 6%,var(--surface))}
.bl-prov input:focus-visible+span{outline:2px solid var(--p);outline-offset:2px}
.bl-seg{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;border-radius:16px;background:var(--surface-2);margin-bottom:14px}
.bl-seg input{position:absolute;opacity:0}
.bl-seg span{display:flex;align-items:center;justify-content:center;gap:7px;padding:10px;border-radius:12px;font-weight:700;color:var(--muted);cursor:pointer}
.bl-seg input:checked+span{background:var(--surface);color:var(--text);box-shadow:var(--sh-1)}
.bl-code-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.bl-code-row .btn{height:50px}
.bl-recent{display:flex;gap:8px;overflow-x:auto;margin-top:10px;scrollbar-width:none}
.bl-recent button{flex:none;display:flex;align-items:center;gap:8px;padding:7px 12px 7px 7px;border-radius:14px;border:1px solid var(--line);background:var(--surface);cursor:pointer;text-align:left;font:inherit;color:inherit}
.bl-recent span{display:grid}.bl-recent b{font-size:13px}.bl-recent small{font-size:11.5px;color:var(--muted);max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bl-verified{margin-top:14px;padding:14px 16px;border-radius:18px;background:color-mix(in srgb,var(--ok) 9%,var(--surface));border:1px solid color-mix(in srgb,var(--ok) 30%,transparent);animation:floatIn .4s var(--ease) both}
.bl-v-head{display:flex;align-items:center;gap:12px}
.bl-v-ok{width:40px;height:40px;border-radius:14px;display:grid;place-items:center;background:var(--ok);color:#fff;font-size:19px;flex:none}
.bl-v-head small{display:block;color:var(--muted);font-weight:600;font-size:12px}
.bl-v-head b{font-size:16.5px}
.bl-v-rows{display:grid;gap:6px;margin-top:12px;padding-top:12px;border-top:1px dashed color-mix(in srgb,var(--ok) 35%,transparent)}
.bl-v-rows div{display:flex;justify-content:space-between;gap:12px;font-size:13.5px}
.bl-v-rows span{color:var(--muted)}.bl-v-rows b{text-align:right}
.bl-phone{margin-top:14px}
.bl-modes{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.bl-modes button{display:flex;align-items:center;gap:10px;padding:13px;border-radius:16px;border:1.5px solid var(--line);background:var(--surface);cursor:pointer;text-align:left;font:inherit;color:inherit}
.bl-modes button>i{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--c) 14%,var(--surface));color:var(--c);font-size:18px;flex:none}
.bl-modes button span{display:grid}.bl-modes small{color:var(--muted);font-size:12px}
.bl-modes button.is-on{border-color:var(--c);box-shadow:0 0 0 4px color-mix(in srgb,var(--c) 15%,transparent)}
.bl-bouquets,.bl-vars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:420px;overflow-y:auto;padding:2px}
.bl-vars{margin-bottom:14px;max-height:none}
.bl-var{cursor:pointer}
.bl-var input{position:absolute;opacity:0}
.bl-var span{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:15px;border:1.5px solid var(--line);background:var(--surface);height:100%;transition:border-color .2s,background .2s}
.bl-var b{font-size:13.5px;line-height:1.3}
.bl-var em{font-style:normal;font-weight:800;font-size:15px;color:var(--c)}
.bl-var input:checked+span{border-color:var(--c);background:color-mix(in srgb,var(--c) 8%,var(--surface))}
.bl-none{grid-column:1/-1}
.bl-amount{display:flex;align-items:center;gap:6px;padding:6px 16px;border-radius:18px;background:var(--surface-2);border:1.5px solid transparent}
.bl-amount:focus-within{border-color:var(--c);background:var(--surface)}
.bl-naira{font-size:26px;font-weight:800;color:var(--muted)}
.bl-amount input{border:0;background:transparent;height:58px;font-size:30px;font-weight:800;letter-spacing:-.02em;padding:0;box-shadow:none!important}
.bl-chips{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:12px 0 8px}
.bl-chips button{padding:10px 4px;border-radius:12px;border:1px solid var(--line);background:var(--surface);font:inherit;font-weight:700;font-size:13px;cursor:pointer;color:inherit}
.bl-chips button.is-on{border-color:var(--c);background:color-mix(in srgb,var(--c) 10%,var(--surface));color:var(--text)}
.bl-qty{display:flex;align-items:center;justify-content:space-between;margin-top:6px;font-weight:700}
.bl-stepper{display:flex;align-items:center;border-radius:14px;background:var(--surface-2);padding:4px}
.bl-stepper button{width:40px;height:40px;border:0;border-radius:11px;background:var(--surface);font-size:20px;font-weight:700;cursor:pointer;color:inherit}
.bl-stepper input{width:56px;height:40px;text-align:center;border:0;background:transparent;font-weight:800;padding:0}
.bl-summary .card-head{margin-bottom:6px}
.bl-sum-rows{display:grid;gap:9px}
.bl-sum-rows div{display:flex;justify-content:space-between;gap:12px;font-size:14px}
.bl-sum-rows span{color:var(--muted)}.bl-sum-rows b{text-align:right;max-width:62%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bl-total{display:flex;justify-content:space-between;align-items:baseline;margin:14px 0;padding-top:14px;border-top:1px dashed var(--line-2)}
.bl-total span{font-weight:700}.bl-total b{font-size:26px;letter-spacing:-.02em}
.bl-shell:not(.is-ready) [data-bl-continue]{opacity:.55}
.bl-safe{margin:10px 0 0;font-size:12.5px;color:var(--muted);text-align:center}
.bl-token{margin:18px auto 6px;max-width:520px;padding:20px;border-radius:22px;color:#fff;text-align:center;background:radial-gradient(260px 140px at 100% 0,rgba(255,255,255,.22),transparent 70%),linear-gradient(135deg,#f59e0b,#ea580c);box-shadow:0 22px 44px -22px #ea580c}
.bl-token small{display:block;font-weight:700;opacity:.9}
.bl-token>b{display:block;font-size:clamp(22px,5.6vw,32px);letter-spacing:.06em;margin:8px 0;word-break:break-word}
.bl-units{display:inline-flex;gap:6px;align-items:center;padding:5px 12px;border-radius:99px;background:rgba(255,255,255,.2);font-weight:800;font-size:13.5px}
.bl-token-btns{display:flex;gap:8px;justify-content:center;margin-top:14px}
.bl-pins{margin:18px auto 6px;max-width:520px;text-align:left;display:grid;gap:8px}
.bl-pins-head{display:flex;justify-content:space-between;align-items:center}
.bl-pin{display:grid;grid-template-columns:30px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:12px 14px;border-radius:16px;background:var(--surface-2);border:1px solid var(--line)}
.bl-pin-n{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--c) 15%,var(--surface));color:var(--c);font-weight:800}
.bl-pin small{display:block;color:var(--muted);font-size:11.5px}
.bl-pin b{font-size:17px;letter-spacing:.05em;word-break:break-all}
.bl-pin.is-shown b{color:var(--text)}
@media (max-width:980px){.bl-shell{grid-template-columns:1fr}.bl-side{position:static}}
@media (max-width:640px){
  .bl-provs{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
  .bl-provs.is-many{grid-template-columns:repeat(3,minmax(0,1fr))}
  .bl-prov>span{padding:11px 4px}.bl-prov>span b{font-size:12.5px}
  .bl-bouquets,.bl-vars{grid-template-columns:1fr}
  .bl-chips{grid-template-columns:repeat(3,minmax(0,1fr))}
  .bl-modes{grid-template-columns:1fr}
}
@media print{.bl-token{box-shadow:none;color:#000;background:#fff;border:2px solid #000}.bl-units{background:#eee}}
/* admin bills */
.bl-adm-svc{border:1px solid var(--line);border-radius:16px;margin-top:10px;background:var(--surface)}
.bl-adm-svc>summary{display:flex;align-items:center;gap:12px;padding:12px 14px;cursor:pointer;list-style:none}
.bl-adm-svc>summary::-webkit-details-marker{display:none}
.bl-adm-svc>summary>div{flex:1;min-width:0}
.bl-adm-svc>summary b{display:block}.bl-adm-svc>summary small{color:var(--muted)}
.bl-adm-svc>summary>.bi-chevron-down{transition:transform .2s;color:var(--muted)}
.bl-adm-svc[open]>summary>.bi-chevron-down{transform:rotate(180deg)}
.bl-adm-body{padding:4px 16px 16px;border-top:1px solid var(--line);display:grid;gap:14px}
.bl-adm-switches{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
.bl-adm-vars input[inputmode]{height:38px;max-width:130px}
.bl-adm-vars tr.is-off td{opacity:.55}
.bl-adm-vars td small{display:block}
.bl-steps{padding-left:18px;display:grid;gap:6px;margin:14px 0}
@media (max-width:760px){.bl-adm-switches{grid-template-columns:1fr}}
/* reseller bills */
.bl-rs{margin-bottom:16px}
.bl-rs-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.bl-rs-head>div{flex:1;min-width:220px}
.bl-rs-head h2{margin:0;font-size:19px}.bl-rs-head p{margin:3px 0 0}
.bl-rs-ico{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;font-size:22px;color:var(--c);background:color-mix(in srgb,var(--c) 14%,var(--surface))}
.bl-rs-form{display:grid;gap:14px;margin-top:14px;padding-top:6px;border-top:1px solid var(--line)}
.bl-rs-grid{display:grid;grid-template-columns:1.4fr repeat(4,minmax(0,1fr));gap:12px}
.bl-rs-example{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px;border-radius:16px;background:var(--surface-2)}
.bl-rs-example>small{grid-column:1/-1;color:var(--muted);font-weight:700}
.bl-rs-example div{display:grid;gap:2px}.bl-rs-example span{color:var(--muted);font-size:12.5px}.bl-rs-example b{font-size:17px}
.bl-rs-example .is-earn{color:var(--ok)}
@media (max-width:860px){.bl-rs-grid{grid-template-columns:1fr 1fr}.bl-rs-grid label:first-child{grid-column:1/-1}.bl-rs-example{grid-template-columns:1fr}}

/* Bills tiles on the customer dashboard */
.bl-dash{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}
.bl-dash a{display:flex;align-items:center;gap:12px;padding:14px;border-radius:20px;background:var(--card,#fff);box-shadow:0 6px 20px rgba(15,23,42,.06);color:inherit;text-decoration:none;transition:transform .15s}
.bl-dash a:hover{transform:translateY(-2px)}
.bl-dash .ico{width:42px;height:42px;flex:0 0 42px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--c) 14%,transparent);color:var(--c);font-size:1.15rem}
.bl-dash a>span:nth-child(2){flex:1;min-width:0;display:flex;flex-direction:column}
.bl-dash b{font-size:.95rem}
.bl-dash small{color:var(--muted,#64748b);font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bl-dash a>.bi-chevron-right{color:var(--muted,#94a3b8)}
@media(max-width:720px){.bl-dash{grid-template-columns:1fr;gap:8px}.bl-dash a{padding:12px}}
.pv-bill-out{display:flex;flex-direction:column;gap:4px;padding:16px;border-radius:16px;color:#fff;background:linear-gradient(135deg,var(--primary,#5b3df5),color-mix(in srgb,var(--primary,#5b3df5) 55%,#0f172a))}
.pv-bill-out[hidden]{display:none}
.pv-bill-out small{opacity:.8;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}
.pv-bill-out b{font-size:1.35rem;letter-spacing:.04em}
.pv-bill-out em{font-style:normal;opacity:.8;font-size:.85rem}
.support-pop{position:fixed;right:22px;bottom:82px;z-index:40}.support-pop-btn{display:flex;align-items:center;gap:8px;border:0;border-radius:99px;padding:12px 16px;background:var(--brand,#5b3df5);color:#fff;box-shadow:0 14px 28px rgba(15,23,42,.2);font:inherit;font-weight:800;cursor:pointer}.support-pop-btn i{font-size:18px}.support-pop-panel{display:none;position:absolute;right:0;bottom:54px;width:300px;padding:20px;border-radius:20px;background:var(--surface,#fff);box-shadow:0 20px 55px rgba(15,23,42,.2);border:1px solid var(--line)}.support-pop.is-open .support-pop-panel{display:block;animation:floatIn .2s ease both}.support-pop-close{position:absolute;right:8px;top:8px}.support-pop-panel h3{margin:8px 0 4px}.support-pop-panel p{font-size:13px;color:var(--muted);margin:0 0 12px}.support-pop-panel form{display:flex;gap:6px;margin-bottom:8px}.support-pop-panel input{min-width:0;flex:1}.support-pop-panel .btn-block{display:flex;justify-content:center}@media(max-width:600px){.support-pop{right:12px}.support-pop-btn span{display:none}.support-pop-panel{right:-4px;width:min(300px,calc(100vw - 24px))}}
.ref-user-hero{background:radial-gradient(400px 160px at 90% 0,#ffffff22,transparent),linear-gradient(135deg,#5b3df5,#7c3aed);color:#fff;padding:26px}.ref-user-hero p{max-width:600px;opacity:.86}.ref-user-hero h2{font-size:clamp(28px,5vw,44px)}.ref-user-hero h2 span{color:#facc15}.ref-share-box{margin-top:20px;max-width:650px;padding:14px;border-radius:16px;background:#ffffff18}.ref-share-box>div{display:flex;align-items:center;gap:10px;margin:6px 0 10px}.ref-share-box b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.steps-inline{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.steps-inline div{display:flex;align-items:center;gap:10px;padding:13px;border-radius:14px;background:var(--surface-2)}.steps-inline b{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:var(--brand);color:#fff}.sav-hero{padding:26px;background:linear-gradient(135deg,#064e3b,#10b981);color:#fff}.sav-hero h2{font-size:42px;margin:10px 0}.sav-hero p{opacity:.85}.sav-lock{display:inline-flex;gap:7px;padding:6px 10px;border-radius:99px;background:#ffffff20;font-size:12px}.sav-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:16px 0}.sav-bal{font-size:30px;font-weight:800;margin:16px 0}.sav-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sav-actions form{display:flex;gap:5px}.sav-actions input{min-width:0;width:100%}.sup-hero{padding:26px;background:linear-gradient(135deg,#0f172a,#334155);color:#fff}.sup-hero p{opacity:.8}.sup-search{display:flex;gap:8px;max-width:620px}.sup-search .input-wrap{flex:1}.sup-answer{border-left:4px solid var(--ok)}.faq-list{display:grid;gap:8px}.faq-list details,.ticket-row{padding:12px 14px;border:1px solid var(--line);border-radius:14px}.faq-list summary,.ticket-row summary{cursor:pointer;font-weight:700}.faq-list p{margin:10px 0 0;color:var(--muted);line-height:1.6}.ticket-row summary{display:flex;justify-content:space-between;gap:12px}.ticket-messages{padding:12px 0;display:grid;gap:8px}.ticket-messages p{padding:10px;border-radius:12px;background:var(--surface-2);margin:0}.reply-row{display:flex;gap:8px}.reply-row input{flex:1}.sav-admin-card{margin-bottom:14px}.staff-perms{display:flex;gap:14px;flex-wrap:wrap}.staff-perms label{font-size:13px}@media(max-width:720px){.sav-grid{grid-template-columns:1fr}.sav-actions{grid-template-columns:1fr}.steps-inline{grid-template-columns:1fr}}
.pv-module-card{display:grid;gap:6px;padding:18px;border-radius:18px;color:#fff;background:linear-gradient(135deg,var(--primary,#5b3df5),#0f172a);margin:10px 0 12px}.pv-module-card small{opacity:.75;text-transform:uppercase;letter-spacing:.08em}.pv-module-card b{font-size:1.4rem}.pv-module-card span{opacity:.8;font-size:.9rem}

/* ---------- Upgrade page v2 (0.25.2) ---------- */
.up2-hero{position:relative;overflow:hidden;display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:24px;border-radius:var(--r-lg);background:var(--grad);color:#fff;box-shadow:var(--sh-2);margin-bottom:16px}
.up2-hero:after{content:"";position:absolute;right:-60px;top:-80px;width:240px;height:240px;border-radius:50%;background:rgba(255,255,255,.1);pointer-events:none}
.up2-hero-copy{position:relative;z-index:1;min-width:0}
.up2-hero .eyebrow{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:99px;background:rgba(255,255,255,.16);color:#fff;font-size:12px;font-weight:700}
.up2-hero h2{margin:12px 0 6px;font-size:clamp(22px,4.4vw,30px);font-weight:800;color:#fff}
.up2-hero p{color:rgba(255,255,255,.88);max-width:520px}
.up2-hero p b{color:#fff}
.up2-wallet{position:relative;z-index:1;flex:0 0 auto;display:flex;flex-direction:column;gap:2px;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);min-width:170px}
.up2-wallet small{color:rgba(255,255,255,.8)}
.up2-wallet b{font-size:22px;font-weight:800;letter-spacing:-.02em}
.up2-wallet a{margin-top:8px;align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:99px;background:#fff;color:var(--brand-ink);font-weight:700;font-size:13px}
.up2-ladder{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px}
.up2-card{position:relative;display:flex;flex-direction:column;gap:12px;padding:18px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-1);--tc:#64748b}
.up2-card.t2{--tc:#0ea5a4}.up2-card.t3{--tc:#7c3aed}.up2-card.t4{--tc:#d97706}
.up2-card.is-current{border-color:color-mix(in srgb,var(--tc) 45%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--tc) 14%,transparent)}
.up2-card.is-next{border:2px solid var(--brand);box-shadow:var(--sh-2)}
.up2-card.is-past{opacity:.72}
.up2-flag{position:absolute;top:-11px;right:14px;padding:3px 10px;border-radius:99px;background:var(--brand);color:#fff;font-size:11px;font-weight:800;letter-spacing:.02em}
.up2-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.up2-card h3{font-size:18px;font-weight:800}
.up2-price{display:flex;flex-direction:column}
.up2-price b{font-size:26px;font-weight:800;letter-spacing:-.03em;color:var(--tc)}
.up2-price small{color:var(--muted)}
.up2-perks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}
.up2-perks li{display:flex;gap:8px;align-items:flex-start;font-size:14px;color:var(--text-2)}
.up2-perks i{color:var(--tc);margin-top:2px}
.up2-prices{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:14px;background:var(--surface-2);margin-top:auto}
.up2-prices div{display:flex;align-items:center;gap:6px;font-size:13px}
.up2-prices span{flex:1;min-width:0;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.up2-prices b{font-weight:700}
.up2-prices em{font-style:normal;font-size:11px;font-weight:800;padding:2px 6px;border-radius:7px;color:var(--ok);background:var(--ok-bg)}
.up2-cf-ico{background:var(--grad)!important;color:#fff!important}
@media (max-width:1100px){.up2-ladder{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){
  .up2-hero{flex-direction:column;align-items:stretch;padding:18px}
  .up2-wallet{flex-direction:row;flex-wrap:wrap;align-items:center;min-width:0}
  .up2-wallet small{width:100%}
  .up2-wallet a{margin:0 0 0 auto}
  .up2-ladder{grid-template-columns:1fr;gap:16px}
  .up2-card.is-past{display:none}
}

/* ---------- Bills provider dropdown + mobile (0.25.2) ---------- */
.bl-logo{position:relative;display:inline-block;flex:none;border-radius:50%;overflow:hidden;line-height:0}
.bl-logo>svg,.bl-logo>img{width:100%;height:100%;display:block}
.bl-logo>img{position:absolute;inset:0;object-fit:cover;background:#fff}
.cf-logo .bl-logo{box-shadow:0 0 0 4px var(--surface)}
.bl-dd-btn{width:100%;display:flex;align-items:center;gap:12px;padding:10px 14px 10px 10px;min-height:64px;border-radius:18px;border:1.5px solid var(--line-2);background:var(--surface);color:inherit;font:inherit;text-align:left;cursor:pointer;transition:border-color .2s,box-shadow .2s}
.bl-dd-btn:hover{border-color:color-mix(in srgb,var(--c) 45%,var(--line-2))}
.bl-dd-btn[aria-expanded=true],.bl-dd-btn:focus-visible{outline:0;border-color:var(--c);box-shadow:0 0 0 4px color-mix(in srgb,var(--c) 15%,transparent)}
.bl-dd-logo{flex:none;width:42px;height:42px;display:grid;place-items:center}
.bl-dd-ph{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:19px;color:var(--c);background:color-mix(in srgb,var(--c) 14%,var(--surface))}
.bl-dd-txt{flex:1;min-width:0;display:grid}
.bl-dd-txt b{font-size:15.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bl-dd-txt small{color:var(--muted);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bl-dd-btn:not(.has-value) .bl-dd-txt b{color:var(--text-2)}
.bl-dd-car{flex:none;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--surface-2);color:var(--muted);transition:transform .25s var(--ease)}
.bl-dd-btn[aria-expanded=true] .bl-dd-car{transform:rotate(180deg)}
.bl-dd-pop{position:fixed;inset:0;z-index:95}
.bl-dd-pop[hidden]{display:none}
.bl-dd-scrim{position:absolute;inset:0;background:transparent}
.bl-dd-panel{position:fixed;display:flex;flex-direction:column;overflow:hidden;background:var(--elev);border:1px solid var(--line-2);border-radius:20px;box-shadow:var(--sh-3);opacity:0;transform:translateY(-6px);transition:opacity .18s,transform .22s var(--ease)}
.bl-dd-pop.is-open .bl-dd-panel{opacity:1;transform:none}
.bl-dd-top{display:none;align-items:center;justify-content:space-between;padding:14px 16px 6px}
.bl-dd-top b{font-size:17px}
.bl-dd-search{display:flex;align-items:center;gap:8px;margin:10px 10px 4px;padding:0 12px;border-radius:13px;background:var(--surface-2);color:var(--muted)}
.bl-dd-search input{flex:1;min-width:0;height:44px;border:0;background:transparent;padding:0;box-shadow:none!important;font-size:16px}
.bl-dd-list{overflow-y:auto;padding:6px;display:grid;gap:2px;overscroll-behavior:contain}
.bl-dd-opt{cursor:pointer;display:block}
.bl-dd-opt[hidden]{display:none}
.bl-dd-opt input{position:absolute;opacity:0;pointer-events:none}
.bl-dd-o{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:14px;transition:background .15s}
.bl-dd-opt:hover .bl-dd-o{background:var(--surface-2)}
.bl-dd-otxt{flex:1;min-width:0;display:grid}
.bl-dd-otxt b{font-size:14.5px}
.bl-dd-otxt small{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bl-dd-o>.bi{color:var(--p);font-size:18px;opacity:0;transform:scale(.6);transition:.2s var(--ease)}
.bl-dd-opt input:checked+.bl-dd-o{background:color-mix(in srgb,var(--p) 9%,var(--surface))}
.bl-dd-opt input:checked+.bl-dd-o>.bi{opacity:1;transform:none}
.bl-dd-opt input:focus-visible+.bl-dd-o{outline:2px solid var(--p);outline-offset:-2px}
.bl-dd-none{padding:18px;text-align:center}
@media (max-width:980px){
  .bl-shell{gap:14px}
  .bl-side .bl-summary{margin-bottom:0}
}
@media (max-width:640px){
  .bl-shell{gap:12px}
  .bl-main{gap:12px}
  .bl-main .field-card{padding:16px;margin-bottom:0;border-radius:20px}
  .bl-main .fc-head{margin-bottom:12px}
  .bl-main .buy-hero{padding:18px;border-radius:22px;flex-direction:row;align-items:center;margin-bottom:0}
  .bl-main .buy-hero h2{font-size:20px;margin:4px 0 2px}
  .bl-main .buy-hero p{display:none}
  .bl-main .bh-wallet b{font-size:17px}
  .bl-provs{grid-template-columns:repeat(3,minmax(0,1fr))}
  .bl-dd-btn{min-height:60px}
  .bl-dd-scrim{background:rgba(6,6,18,.55);opacity:0;transition:opacity .2s}
  .bl-dd-pop.is-open .bl-dd-scrim{opacity:1}
  .bl-dd-panel{left:0!important;right:0;bottom:0;top:auto!important;width:auto!important;max-height:82vh!important;border-radius:24px 24px 0 0;transform:translateY(100%);padding-bottom:env(safe-area-inset-bottom)}
  .bl-dd-top{display:flex}
  .bl-dd-o{padding:11px 10px}
  .bl-seg span{padding:9px 6px;font-size:14px}
  .bl-code-row{grid-template-columns:minmax(0,1fr) auto;gap:6px}
  .bl-code-row .btn{height:48px;padding:0 13px}
  .bl-code-row input{font-size:16px}
  .bl-amount{padding:4px 14px}
  .bl-amount input{height:52px;font-size:26px;min-width:0;width:100%}
  .bl-chips{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .bl-chips button{padding:9px 2px;font-size:13px}
  .bl-modes{grid-template-columns:1fr 1fr;gap:8px}
  .bl-modes button{flex-direction:column;align-items:flex-start;gap:8px;padding:12px}
  .bl-modes button>i{width:34px;height:34px;font-size:16px}
  .bl-modes b{font-size:13.5px}
  .bl-bouquets{grid-template-columns:1fr 1fr;max-height:none;gap:8px}
  .bl-var span{padding:11px 12px}
  .bl-var b{font-size:13px}.bl-var em{font-size:14px}
  .bl-verified{padding:12px 14px}
  .bl-v-rows div{font-size:13px}
  .bl-v-rows b{max-width:62%;overflow-wrap:anywhere}
  .bl-summary{padding:16px}
  .bl-total b{font-size:22px}
}
@media (max-width:360px){.bl-bouquets,.bl-modes{grid-template-columns:1fr}.bl-modes button{flex-direction:row;align-items:center}}
/* hidden radios must never take width (caused sideways scroll on phones) */
.bl-seg label,.bl-var,.bl-prov,.bl-dd-opt{position:relative}
.bl-seg input,.bl-var input,.bl-prov input,.bl-dd-opt input{position:absolute;opacity:0;width:1px;height:1px;padding:0;margin:0;border:0;left:0;top:0;pointer-events:none}
.bl-dd-search{flex-direction:row;font-weight:500}
.bl-dd-search input{width:auto}
[data-theme=dark] .bl-dd-otxt small,[data-theme=dark] .bl-dd-txt small{color:var(--text-2)}

/* ---------- Bank transfer module (0.26.0) ---------- */
.bt-hero{position:relative;overflow:hidden;display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:24px;border-radius:var(--r-lg);background:var(--grad);color:#fff;box-shadow:var(--sh-2);margin-bottom:18px}
.bt-hero:after{content:"";position:absolute;right:-60px;top:-90px;width:250px;height:250px;border-radius:50%;border:38px solid rgba(255,255,255,.1);pointer-events:none}
.bt-hero h2{position:relative;z-index:1;margin:10px 0 5px;color:#fff;font-size:clamp(24px,4vw,32px)}
.bt-hero p{position:relative;z-index:1;max-width:580px;color:rgba(255,255,255,.86)}
.bt-hero>div:first-child{position:relative;z-index:1}
.bt-wallet{position:relative;z-index:1;display:flex;flex-direction:column;gap:2px;min-width:180px;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.24)}
.bt-wallet b{font-size:22px}.bt-wallet small{color:rgba(255,255,255,.8)}.bt-wallet a{align-self:flex-start;margin-top:8px;padding:7px 12px;border-radius:99px;background:#fff;color:var(--brand-ink);font-size:13px;font-weight:800}
.bt-grid{align-items:start}.bt-recipient{display:flex;align-items:center;gap:10px;padding:11px 13px;border-radius:14px;color:var(--ok);background:var(--ok-bg);border:1px solid color-mix(in srgb,var(--ok) 25%,transparent)}.bt-recipient>i{font-size:21px}.bt-recipient span{display:grid}.bt-recipient small{color:var(--muted);font-size:11px}.bt-recipient b{font-size:14px}.bt-check{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--ok)}
.bt-breakdown{display:grid;gap:8px;padding:13px 15px;border-radius:16px;background:var(--surface-2)}.bt-breakdown div{display:flex;justify-content:space-between;gap:12px;font-size:13px}.bt-breakdown span{color:var(--muted)}.bt-breakdown .total{padding-top:10px;margin-top:3px;border-top:1px dashed var(--line-2);font-weight:800}.bt-breakdown .total span{color:var(--text)}.bt-breakdown .total b{font-size:18px;color:var(--brand-ink)}
@media (max-width:640px){.bt-hero{flex-direction:column;align-items:stretch;padding:18px;border-radius:22px}.bt-hero p{font-size:13px}.bt-wallet{flex-direction:row;flex-wrap:wrap;align-items:center;min-width:0}.bt-wallet small{width:100%}.bt-wallet a{margin:0 0 0 auto}.bt-grid{display:grid;gap:12px}.bt-grid .card{margin-bottom:0}.bt-grid .card-head{align-items:flex-start}.bt-grid .card-head .pill{font-size:11px}.bt-hero h2{font-size:23px}}

/* ---------- Admin landing builder (0.27.0) ---------- */
.lpa-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:24px;border-radius:var(--r-lg);background:var(--grad);color:#fff;margin-bottom:18px;box-shadow:var(--sh-2)}
.lpa-hero h2{color:#fff;font-size:28px;margin:8px 0 4px}.lpa-hero p{color:rgba(255,255,255,.86);max-width:560px}
.lpa-hero .eyebrow{display:inline-flex;gap:6px;align-items:center;padding:5px 11px;border-radius:99px;background:rgba(255,255,255,.16);font-size:12px;font-weight:700}
.lpa-hero-side{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:none}.lpa-hero-side b{font-size:34px;line-height:1}.lpa-hero-side em{font-style:normal;font-size:18px;opacity:.7}.lpa-hero-side small{opacity:.8;margin-bottom:6px}
.lpa-secs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.lpa-sec{position:relative;cursor:pointer}.lpa-sec input{position:absolute;opacity:0;width:1px;height:1px}
.lpa-sec-in{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:16px;border:1.5px solid var(--line);background:var(--surface);transition:border-color .2s,background .2s}
.lpa-sec-in>i{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;flex:none;background:var(--surface-2);color:var(--muted);font-size:17px}
.lpa-sec-in>span{flex:1;min-width:0;display:grid}.lpa-sec-in small{color:var(--muted);font-size:12.5px;font-weight:500}
.lpa-sw{flex:none;width:42px;height:24px;border-radius:99px;background:var(--surface-3);position:relative;transition:background .2s}.lpa-sw:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .2s var(--ease)}
.lpa-sec input:checked+.lpa-sec-in{border-color:color-mix(in srgb,var(--brand) 45%,var(--line));background:var(--brand-soft)}
.lpa-sec input:checked+.lpa-sec-in>i{background:var(--brand);color:#fff}.lpa-sec input:checked+.lpa-sec-in .lpa-sw{background:var(--brand)}.lpa-sec input:checked+.lpa-sec-in .lpa-sw:after{transform:translateX(18px)}
.lpa-sec input:focus-visible+.lpa-sec-in{outline:2px solid var(--brand);outline-offset:2px}
.lpa-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.lpa-fields .is-wide{grid-column:1/-1}.lpa-fields textarea{height:auto;padding:12px 15px;resize:vertical;line-height:1.5}
.lpa-bar{position:sticky;bottom:12px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px 12px 18px;border-radius:18px;background:var(--elev);border:1px solid var(--line-2);box-shadow:var(--sh-3);margin-bottom:12px}
.lpa-bar span{color:var(--muted);font-size:13px}.lpa-reset{display:flex;justify-content:flex-end;margin-bottom:24px}
@media (max-width:760px){.lpa-secs,.lpa-fields{grid-template-columns:1fr}.lpa-hero{flex-direction:column;align-items:stretch}.lpa-hero-side{flex-direction:row;align-items:center;flex-wrap:wrap}.lpa-hero-side a{margin-left:auto}.lpa-bar{flex-direction:column;align-items:stretch}.lpa-bar span{text-align:center}}

/* ---------- Upgrade page v3 (0.27.0): mobile-first level switcher ---------- */
.up3{max-width:760px;margin:0 auto}
.up3-hero{position:relative;overflow:hidden;padding:20px;border-radius:24px;background:var(--grad);color:#fff;box-shadow:0 22px 44px -26px color-mix(in srgb,var(--brand) 85%,transparent);margin-bottom:14px;isolation:isolate}
.up3-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(300px 170px at 100% 0,rgba(255,255,255,.26),transparent 70%),radial-gradient(240px 160px at 0 120%,rgba(0,0,0,.22),transparent 70%)}
.up3-hero-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.up3-now{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:99px;background:rgba(255,255,255,.16);font-size:12.5px;font-weight:800}
.up3-bal{display:flex;align-items:center;gap:8px;padding:5px 6px 5px 12px;border-radius:99px;background:#fff;color:var(--text);box-shadow:0 6px 16px -8px rgba(0,0,0,.4)}
.up3-bal small{font-size:11px;color:var(--muted);font-weight:700}.up3-bal b{font-size:14px;color:#0d0d1f}.up3-bal i{color:var(--brand);font-size:20px}
.up3-hero h2{margin:16px 0 6px;font-size:clamp(24px,6.4vw,32px);font-weight:800;color:#fff;letter-spacing:-.03em}
.up3-hero p{color:rgba(255,255,255,.9);font-size:14.5px;max-width:520px}.up3-hero p b{color:#fff}
.up3-trust{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 0;padding:0}
.up3-trust li{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:99px;background:rgba(0,0,0,.16);font-size:12px;font-weight:700}
.up3-tabs{position:sticky;top:8px;z-index:6;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:6px;margin-bottom:12px;border-radius:20px;background:color-mix(in srgb,var(--surface) 88%,transparent);border:1px solid var(--line);box-shadow:var(--sh-2);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.up3-tab{--tc:#64748b;position:relative;display:flex;flex-direction:column;align-items:center;gap:1px;padding:10px 4px 9px;border:0;border-radius:15px;background:transparent;color:var(--text);font:inherit;cursor:pointer;transition:background .2s,color .2s}
.up3-tab.t2{--tc:#0b8382}.up3-tab.t3{--tc:#6d28d9}.up3-tab.t4{--tc:#b45309}
.up3-tab b{font-size:13.5px;font-weight:800;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.up3-tab small{font-size:12px;font-weight:700;color:var(--muted)}
.up3-tab.is-past{opacity:.55}
.up3-tab.is-on{background:var(--tc);color:#fff;box-shadow:0 10px 20px -12px var(--tc)}.up3-tab.is-on small{color:#fff}
.up3-tab:focus-visible{outline:2px solid var(--tc);outline-offset:2px}
.up3-dot{position:absolute;top:-8px;left:50%;transform:translateX(-50%);padding:1px 7px;border-radius:99px;font-style:normal;font-size:11px;font-weight:800;letter-spacing:.02em;background:var(--surface);color:var(--text-2);border:1px solid var(--line-2);white-space:nowrap}
.up3-dot.is-hot{background:#f43f5e;color:#fff;border-color:transparent}
.up3-panel{--tc:#64748b;padding:18px;border-radius:22px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-2);margin-bottom:14px}
.up3-panel.t2{--tc:#0b8382}.up3-panel.t3{--tc:#6d28d9}.up3-panel.t4{--tc:#b45309}
[data-theme=dark] .up3-panel.t2,[data-theme=dark] .up3-tab.t2{--tc:#14b8b6}[data-theme=dark] .up3-panel.t3,[data-theme=dark] .up3-tab.t3{--tc:#8b5cf6}[data-theme=dark] .up3-panel.t4,[data-theme=dark] .up3-tab.t4{--tc:#d97706}
.up3-panel .tier-chip{color:var(--tc)}
.up3-panel[hidden]{display:none}
.up3-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.up3-head h3{font-size:22px;font-weight:800;margin:8px 0 2px}.up3-head p{color:var(--muted);font-size:13.5px}
.up3-price{text-align:right;flex:none}.up3-price b{display:block;font-size:28px;font-weight:800;letter-spacing:-.03em;color:var(--tc);line-height:1.1}.up3-price small{color:var(--muted);font-size:12px;font-weight:700}
.up3-save{display:flex;gap:10px;align-items:center;margin-top:14px;padding:11px 13px;border-radius:15px;background:color-mix(in srgb,var(--ok) 11%,var(--surface));color:var(--text-2);font-size:13.5px}
.up3-save i{flex:none;width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:var(--ok);color:#fff;font-size:16px}.up3-save b{color:color-mix(in srgb,var(--ok) 78%,var(--text))}
.up3-perks{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.up3-perks li{display:flex;flex-direction:column;gap:7px;padding:12px;border-radius:15px;background:var(--surface-2);font-size:13px;font-weight:700;line-height:1.3}
.up3-perks i{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--tc) 15%,var(--surface));color:var(--tc);font-size:15px}
.up3-rows{margin-top:14px;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.up3-rows-h,.up3-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr) minmax(0,1fr);gap:8px;align-items:center;padding:10px 12px}
.up3-rows-h{background:var(--surface-2);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.up3-rows-h span:not(:first-child),.up3-row span:not(:first-child){text-align:right}
.up3-row{border-top:1px solid var(--line);font-size:13.5px}
.up3-row>span:first-child{display:flex;align-items:center;gap:8px;min-width:0}.up3-row>span:first-child b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}
.up3-row .net-logo{flex:none}
.up3-air{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;flex:none;background:color-mix(in srgb,var(--tc) 15%,var(--surface));color:var(--tc);font-size:13px}
.up3-row .was{color:var(--muted);font-weight:600}
.up3-row .is{display:flex;flex-direction:column;align-items:flex-end;font-weight:800;color:var(--text)}
.up3-row .is em{font-style:normal;font-size:12px;font-weight:800;color:color-mix(in srgb,var(--ok) 78%,var(--text))}
.up3-cta{margin-top:16px;display:grid;gap:7px;text-align:center}
.up3-cta small{color:var(--muted);font-size:12.5px}
.up3-cta .btn-primary{background:var(--tc);border-color:var(--tc);box-shadow:0 14px 26px -16px var(--tc)}
.up3-panel.t1 .up3-cta .btn-primary{background:var(--brand);border-color:var(--brand)}
.up3-state{display:flex;align-items:center;justify-content:center;gap:8px;padding:13px;border-radius:15px;background:color-mix(in srgb,var(--ok) 11%,var(--surface));color:var(--ok);font-weight:800}
.up3-state.is-muted{background:var(--surface-2);color:var(--muted)}
.up3-compare{padding:16px}.up3-compare .card-head{margin-bottom:10px}
.up3-table-wrap{overflow-x:auto;margin:0 -4px;padding:0 4px}
.up3-table{width:100%;min-width:460px;border-collapse:collapse;font-size:13px}
.up3-table th,.up3-table td{padding:10px 8px;text-align:right;border-bottom:1px solid var(--line);white-space:nowrap}
.up3-table th:first-child,.up3-table td:first-child{text-align:left;position:sticky;left:0;background:var(--surface);font-weight:700}
.up3-table th{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.up3-table .is-cur{background:var(--brand-soft);color:var(--brand-ink);font-weight:800}
@media (max-width:640px){
  .up3-hero{padding:16px;border-radius:22px}
  .up3-bal small{display:none}
  .up3-tabs{top:6px;gap:4px;padding:5px;border-radius:18px}
  .up3-tab{padding:9px 2px 8px;border-radius:13px}.up3-tab b{font-size:12.5px}.up3-tab small{font-size:12px}
  .up3-panel{padding:15px;border-radius:20px}
  .up3-head h3{font-size:20px}.up3-price b{font-size:24px}
  .up3-perks{grid-template-columns:1fr;gap:6px}
  .up3-perks li{flex-direction:row;align-items:center;padding:9px 11px}
  .up3-rows-h,.up3-row{padding:9px 10px;gap:6px}
  .up3-row{font-size:13px}
  .up3-cta{position:sticky;bottom:calc(88px + env(safe-area-inset-bottom));z-index:5;margin:14px -6px -6px;padding:10px;border-radius:18px;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
}

/* ---------- Reseller growth hub (0.27.0) ---------- */
.gh-ways{padding:22px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-2);margin-bottom:18px}
.gh-ways-head .eyebrow{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:99px;background:color-mix(in srgb,#f43f5e 12%,var(--surface));color:#be123c;font-size:12px;font-weight:800}
.gh-ways-head h2{font-size:clamp(22px,3.2vw,30px);font-weight:800;margin:10px 0 4px;letter-spacing:-.03em}
.gh-ways-head p{color:var(--muted);max-width:620px}
.gh-way-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}
.gh-way{--c:var(--brand);position:relative;display:flex;flex-direction:column;gap:6px;padding:16px;border-radius:20px;background:color-mix(in srgb,var(--c) 7%,var(--surface));border:1px solid color-mix(in srgb,var(--c) 18%,var(--line));transition:transform .25s var(--ease),box-shadow .25s}
.gh-way:hover{transform:translateY(-3px);box-shadow:0 18px 34px -22px var(--c)}
.gh-ico{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:var(--c);color:#fff;font-size:19px;margin-bottom:4px;box-shadow:0 10px 18px -10px var(--c)}
.gh-way b{font-size:15.5px}.gh-way small{color:var(--text-2);font-size:13px;line-height:1.45;flex:1}
.gh-way em{font-style:normal;font-size:12.5px;font-weight:800;color:color-mix(in srgb,var(--c) 70%,var(--text))}
.gh-cta-grid{display:grid;grid-template-columns:1.2fr 1.2fr 1fr;gap:14px;margin-bottom:18px}
.gh-cta{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:8px;padding:20px;border-radius:24px;color:#fff;isolation:isolate;box-shadow:var(--sh-2)}
.gh-cta:after{content:"";position:absolute;right:-50px;bottom:-70px;width:200px;height:200px;border-radius:50%;border:30px solid rgba(255,255,255,.1);z-index:-1}
.gh-cta.is-share{background:linear-gradient(135deg,#0f9f5a,#0b7a6e)}
.gh-cta.is-plan{background:linear-gradient(135deg,#1e1b4b,#6d28d9)}
.gh-cta.is-learn{background:linear-gradient(135deg,#c2410c,#e11d48)}
.gh-tag{align-self:flex-start;padding:4px 10px;border-radius:99px;background:rgba(255,255,255,.18);font-size:11.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.gh-cta h3{font-size:20px;font-weight:800;color:#fff;letter-spacing:-.02em}
.gh-cta p{color:rgba(255,255,255,.88);font-size:13.5px;line-height:1.5;flex:1}.gh-cta p b{color:#fff}
.gh-cta-btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.gh-learn-go{display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:14px}
.gh-cta.is-learn:hover .gh-learn-go i{transform:translateX(4px)}.gh-learn-go i{transition:transform .2s}
.gh-steps{list-style:none;margin:0 0 16px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.gh-steps li{display:flex;gap:10px;align-items:flex-start;padding:13px;border-radius:16px;background:var(--surface-2)}
.gh-steps li>span{flex:none;width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:var(--brand);color:#fff;font-weight:800}
.gh-steps b{display:block;font-size:14px}.gh-steps small{color:var(--muted);font-size:12.5px;line-height:1.4}
.gh-up-table{border:1px solid var(--line);border-radius:16px;overflow:hidden}
.gh-up-row{display:grid;grid-template-columns:1.3fr 1fr .8fr 1fr;gap:10px;align-items:center;padding:11px 14px;border-top:1px solid var(--line);font-size:14px}
.gh-up-row.is-head{border-top:0;background:var(--surface-2);font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.gh-up-row span:not(:first-child){text-align:right}.gh-up-row em{display:block;font-style:normal;font-size:11px;color:var(--muted);font-weight:700}
.gh-earn{font-weight:800;color:color-mix(in srgb,var(--ok) 80%,var(--text));font-size:15px}
.gh-note{display:flex;gap:8px;align-items:flex-start;margin-top:12px;padding:11px 13px;border-radius:14px;background:color-mix(in srgb,#f59e0b 11%,var(--surface));color:var(--text-2);font-size:13.5px}.gh-note i{color:#d97706;margin-top:2px}
.gh-calc-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:stretch}
.gh-sliders{display:grid;gap:16px;align-content:start}
.gh-sliders label>span{display:flex;justify-content:space-between;gap:10px;font-size:13.5px}.gh-sliders b{color:var(--brand-ink);font-size:14px}
.gh-sliders input[type=range]{height:auto;padding:0;background:transparent;accent-color:var(--brand)}
.gh-result{display:flex;flex-direction:column;gap:10px;padding:20px;border-radius:22px;color:#fff;background:radial-gradient(260px 160px at 100% 0,rgba(255,255,255,.18),transparent 70%),linear-gradient(150deg,#111827,color-mix(in srgb,var(--brand) 70%,#111827))}
.gh-result>small{color:rgba(255,255,255,.75);font-weight:700}
.gh-big{font-size:clamp(34px,5vw,46px);font-weight:800;letter-spacing:-.04em;line-height:1}
.gh-parts{display:grid;gap:6px;padding:12px;border-radius:16px;background:rgba(255,255,255,.08)}
.gh-parts div{display:flex;align-items:center;gap:8px;font-size:13.5px}.gh-parts i{width:9px;height:9px;border-radius:50%;background:var(--c)}.gh-parts span{flex:1;color:rgba(255,255,255,.8)}
.gh-cap{padding:9px 12px;border-radius:12px;background:rgba(244,63,94,.22);color:#fff;font-size:13px;font-weight:700}
.gh-plans{display:grid;gap:8px}
.gh-plan>div:first-child{display:flex;justify-content:space-between;gap:8px;font-size:13px}.gh-plan b{font-weight:800}.gh-plan em{font-style:normal;font-size:11px;padding:1px 6px;border-radius:6px;background:rgba(255,255,255,.2);margin-left:4px}
.gh-plan span i{font-style:normal;color:#6ee7b7;font-weight:800}
.gh-bar{height:8px;border-radius:99px;background:rgba(255,255,255,.12);margin-top:5px;overflow:hidden}.gh-bar s{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#6ee7b7,#fde68a);transition:width .4s var(--ease)}
.gh-plan.is-cur .gh-bar s{background:#fff}
.gh-tiny{font-size:12px;color:rgba(255,255,255,.62);text-align:center}
@media (max-width:1100px){.gh-way-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gh-cta-grid{grid-template-columns:1fr 1fr}.gh-cta.is-learn{grid-column:1/-1}}
@media (max-width:760px){
  .gh-ways{padding:16px;border-radius:22px}.gh-way-grid{gap:10px}.gh-way{padding:13px;border-radius:18px}.gh-way small{font-size:12.5px}.gh-ico{width:38px;height:38px;font-size:17px}
  .gh-cta-grid,.gh-steps,.gh-calc-grid{grid-template-columns:1fr}.gh-cta{padding:18px;border-radius:22px}
  .gh-up-row{grid-template-columns:1.2fr .9fr .6fr .9fr;padding:10px;gap:6px;font-size:13px}
}
@media (max-width:420px){.gh-way-grid{grid-template-columns:1fr 1fr}.gh-way small{display:none}.gh-up-row.is-head span:nth-child(3){font-size:0}.gh-up-row.is-head span:nth-child(3):after{content:"%";font-size:11px}}

/* ---------- Reseller Academy (0.27.0) ---------- */
.ac-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px;border-radius:var(--r-lg);color:#fff;background:radial-gradient(320px 200px at 100% 0,rgba(255,255,255,.2),transparent 70%),linear-gradient(135deg,#1e1b4b,#7c3aed 60%,#db2777);box-shadow:var(--sh-2);margin-bottom:18px}
.ac-hero .eyebrow{display:inline-flex;gap:6px;align-items:center;padding:5px 11px;border-radius:99px;background:rgba(255,255,255,.16);font-size:12px;font-weight:800}
.ac-hero h2{color:#fff;font-size:clamp(26px,4vw,36px);font-weight:800;letter-spacing:-.03em;margin:12px 0 6px}
.ac-hero p{color:rgba(255,255,255,.88);max-width:560px}
.ac-progress{position:relative;flex:none;width:120px;height:120px}
.ac-progress svg{width:100%;height:100%;transform:rotate(-90deg)}
.ac-progress circle{fill:none;stroke-width:10}.ac-progress .bg{stroke:rgba(255,255,255,.18)}.ac-progress .fg{stroke:#fde68a;stroke-linecap:round;stroke-dasharray:326.7;stroke-dashoffset:326.7;transition:stroke-dashoffset .6s var(--ease)}
.ac-progress>div{position:absolute;inset:0;display:grid;place-content:center;text-align:center}.ac-progress b{font-size:24px}.ac-progress small{opacity:.8;font-size:12px}
.ac-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px;align-items:start}
.ac-toc{position:sticky;top:90px;display:grid;gap:2px;padding:10px}
.ac-toc a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:12px;font-size:13.5px;font-weight:600;color:var(--text-2)}
.ac-toc a:hover{background:var(--surface-2)}
.ac-toc a>span{flex:none;width:24px;height:24px;border-radius:8px;display:grid;place-items:center;background:var(--surface-2);font-size:12px;font-weight:800}
.ac-toc a>i{margin-left:auto;color:var(--ok);opacity:0}.ac-toc a.is-done>i{opacity:1}.ac-toc a.is-done>span{background:var(--ok);color:#fff}
.ac-main{display:grid;gap:12px}
.ac-mod{padding:0;margin:0;overflow:hidden;scroll-margin-top:80px}
.ac-mod summary{display:flex;align-items:center;gap:14px;padding:16px 18px;cursor:pointer;list-style:none}
.ac-mod summary::-webkit-details-marker{display:none}
.ac-num{flex:none;width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand-ink);font-size:20px}
.ac-mod.is-done .ac-num{background:var(--ok);color:#fff}
.ac-title{flex:1;min-width:0;display:grid}.ac-title small{font-size:11.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.ac-title b{font-size:16.5px}.ac-title em{font-style:normal;color:var(--muted);font-size:13px}
.ac-car{color:var(--muted);transition:transform .25s var(--ease)}.ac-mod[open] .ac-car{transform:rotate(180deg)}
.ac-points{list-style:none;margin:0;padding:0 18px 4px 78px;display:grid;gap:9px}
.ac-points li{position:relative;padding-left:22px;color:var(--text-2);font-size:14.5px;line-height:1.55}
.ac-points li:before{content:"";position:absolute;left:0;top:8px;width:9px;height:9px;border-radius:50%;background:var(--brand)}
.ac-points b{color:var(--text)}
.ac-actions{display:flex;flex-wrap:wrap;gap:8px;padding:14px 18px 18px 78px}
.ac-script-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ac-script{display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:16px;background:var(--surface-2);border:1px solid var(--line)}
.ac-script b{font-size:14px}.ac-script p{font-size:13.5px;color:var(--text-2);line-height:1.5;flex:1}.ac-script div{display:flex;gap:6px}
@media (max-width:980px){.ac-layout{grid-template-columns:1fr}.ac-toc{position:static;display:flex;overflow-x:auto;scrollbar-width:none;gap:6px}.ac-toc a{flex:none;white-space:nowrap;background:var(--surface-2)}}
@media (max-width:640px){.ac-hero{flex-direction:column;align-items:flex-start;padding:20px}.ac-progress{width:92px;height:92px}.ac-progress b{font-size:19px}.ac-mod summary{padding:14px;gap:11px}.ac-num{width:40px;height:40px;font-size:18px;border-radius:13px}.ac-points{padding:0 14px 4px 14px}.ac-actions{padding:12px 14px 16px}.ac-script-grid{grid-template-columns:1fr}}

/* ---------- Searchable bank picker (0.28.0) ---------- */
.bk-native{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;padding:0!important;border:0!important}
label:has(>.bk-native){position:relative}
.bk-btn{width:100%;display:flex;align-items:center;gap:12px;min-height:58px;padding:8px 14px 8px 9px;border-radius:16px;border:1.5px solid var(--line-2);background:var(--surface-2);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-color .2s,box-shadow .2s,background .2s}
.bk-btn:hover{border-color:color-mix(in srgb,var(--brand) 40%,var(--line-2))}
.bk-btn:focus-visible{outline:0;border-color:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 15%,transparent)}
.bk-btn.has-value{background:var(--surface)}.bk-btn.is-invalid{border-color:var(--bad)}
.bk-btn-txt{flex:1;min-width:0;display:grid}.bk-btn-txt b{font-size:15px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bk-btn:not(.has-value) .bk-btn-txt b{color:var(--text-2)}
.bk-btn-txt small{font-size:12.5px;color:var(--muted);font-weight:500}
.bk-btn-ico{flex:none;width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand-ink)}
.bk-av{--c:var(--brand);flex:none;width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:color-mix(in srgb,var(--c) 15%,var(--surface));color:color-mix(in srgb,var(--c) 58%,var(--text));font-size:13px;font-weight:800;letter-spacing:.02em}
.bk-av.is-ph{background:var(--surface);color:var(--muted);font-size:17px;border:1px dashed var(--line-2)}
.bk-pop{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center}
.bk-pop[hidden]{display:none}
.bk-scrim{position:absolute;inset:0;background:rgba(6,6,18,.55);opacity:0;transition:opacity .2s}
.bk-pop.is-open .bk-scrim{opacity:1}
.bk-panel{position:relative;width:min(480px,calc(100vw - 28px));max-height:min(78vh,680px);display:flex;flex-direction:column;border-radius:24px;background:var(--elev);border:1px solid var(--line-2);box-shadow:var(--sh-3);overflow:hidden;transform:translateY(16px) scale(.98);opacity:0;transition:transform .25s var(--ease),opacity .2s}
.bk-pop.is-open .bk-panel{transform:none;opacity:1}
.bk-head{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 4px 20px}.bk-head b{font-size:17px}
.bk-search{display:flex;flex-direction:row!important;align-items:center;gap:8px;margin:10px 14px 6px;padding:0 14px;border-radius:14px;background:var(--surface-2);border:1.5px solid transparent;color:var(--muted)}
.bk-search:focus-within{border-color:var(--brand);background:var(--surface)}
.bk-search input{flex:1;min-width:0;width:auto;height:48px;border:0;background:transparent;padding:0;font-size:16px;box-shadow:none!important}
.bk-list{overflow-y:auto;padding:4px 8px 12px;overscroll-behavior:contain}
.bk-label{display:block;padding:10px 10px 6px;font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.bk-chips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:0 4px 4px}
.bk-chip{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 4px;border-radius:14px;border:1px solid var(--line);background:var(--surface);color:var(--text);font:inherit;font-size:12px;font-weight:700;cursor:pointer;text-align:center}
.bk-chip span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bk-chip:hover{border-color:var(--brand)}
.bk-opt{width:100%;display:flex;align-items:center;gap:12px;padding:8px 10px;border:0;border-radius:14px;background:transparent;color:var(--text);font:inherit;font-size:14.5px;font-weight:600;text-align:left;cursor:pointer}
.bk-opt>span:not(.bk-av){flex:1;min-width:0}
.bk-opt>i{color:var(--brand);opacity:0}.bk-opt.is-on>i{opacity:1}
.bk-opt:hover,.bk-opt.is-active{background:var(--surface-2)}.bk-opt.is-on{background:var(--brand-soft)}
.bk-empty{padding:18px;text-align:center;color:var(--muted)}
@media (max-width:640px){
  .bk-pop{align-items:flex-end}
  .bk-panel{width:100%;max-height:88vh;border-radius:24px 24px 0 0;transform:translateY(100%);padding-bottom:env(safe-area-inset-bottom)}
  .bk-chips{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* ---------- Customer app: mobile side menu (0.28.0) ---------- */
.app-menu,.side-close,.side-me{display:none}
.side-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.side-label{display:block;padding:14px 12px 6px;font-size:12px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.app-shell .side-nav{overflow-y:auto;flex:1;min-height:0;scrollbar-width:thin}
.side-logout{margin-top:6px;color:var(--bad)}
@media (max-width:960px){
  .app-shell .sidebar{display:flex;width:min(310px,86vw);height:100%;height:100dvh;z-index:60;padding:16px 12px calc(16px + env(safe-area-inset-bottom));border-radius:0 26px 26px 0;border-right:0}
  .app-shell .scrim{z-index:55}
  .app-shell .app-menu{display:inline-grid}
  .app-shell .side-close{display:inline-grid;width:38px;height:38px}
  .app-shell .side-me{display:flex;align-items:center;gap:12px;margin:14px 2px 6px;padding:12px;border-radius:18px;background:linear-gradient(135deg,var(--d-a,var(--brand)),var(--d-b,var(--brand2)));color:var(--d-on,#fff)}
  .app-shell .side-me .avatar{background:rgba(255,255,255,.22);color:inherit}
  .app-shell .side-me div{flex:1;min-width:0;display:grid}.app-shell .side-me b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-shell .side-me small{opacity:.82}
  .app-shell .side-nav .nav-link{padding:11px 12px;border-radius:14px}
  .app-shell .side-nav .nav-link i{width:34px;height:34px;border-radius:11px;display:inline-grid;place-items:center;background:var(--surface-2);font-size:16px}
  .app-shell .side-nav .nav-link.is-active i{background:var(--d-a,var(--brand));color:var(--d-on,#fff)}
  .app-shell .hide-xs{display:none}
}
body[data-dw] .sidebar .nav-link.is-active{background:color-mix(in srgb,var(--d-a) 12%,var(--surface));color:color-mix(in srgb,var(--d-a) 70%,var(--text))}
body.menu-lock{overflow:hidden}

/* ---------- Premium dashboard cards (0.28.0): follow every dashboard design via --d-* ---------- */
.dz-cards{--za:var(--d-a,var(--brand));--zb:var(--d-b,var(--brand2));--zc:var(--d-c,var(--brand2));--zon:var(--d-on,#fff);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}
.dz-card{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:7px;min-height:168px;padding:16px;border-radius:var(--d-r,22px);background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-2);color:var(--text);isolation:isolate;transition:transform .25s var(--ease),box-shadow .25s}
.dz-card:hover{transform:translateY(-3px);box-shadow:0 22px 40px -24px color-mix(in srgb,var(--za) 70%,transparent)}
.dz-kicker{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:800;letter-spacing:.02em;color:var(--muted)}
.dz-title{font-family:var(--d-font,inherit);font-size:18px;font-weight:800;letter-spacing:-.02em;line-height:1.2}
.dz-card small{font-size:13px;line-height:1.45;color:var(--text-2)}
.dz-go{margin-top:auto;display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:800;color:color-mix(in srgb,var(--za) 75%,var(--text))}
.dz-go i{transition:transform .2s}.dz-card:hover .dz-go i{transform:translateX(3px)}
/* level */
.dz-level{background:linear-gradient(140deg,var(--za),var(--zb));color:var(--zon);border:0}
.dz-level:after{content:"";position:absolute;right:-40px;top:-50px;width:150px;height:150px;border-radius:50%;border:24px solid rgba(255,255,255,.12);z-index:-1}
.dz-level .dz-kicker,.dz-level small{color:inherit;opacity:.86}.dz-level .dz-go{color:inherit}
.dz-ladder{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:2px 0}
.dz-ladder i{height:7px;border-radius:99px;background:rgba(255,255,255,.25)}.dz-ladder i.is-on{background:rgba(255,255,255,.85)}.dz-ladder i.is-cur{background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.25)}
/* safety */
.dz-meter{--p:0;position:relative;width:48px;height:48px;margin:2px 0;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--ok) calc(var(--p) * 1%),var(--surface-3) 0)}
.dz-meter:before{content:"";position:absolute;inset:6px;border-radius:50%;background:var(--surface)}
.dz-meter b{position:relative;font-size:13px}
.dz-list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}
.dz-list li{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:var(--text-2)}
.dz-list i{color:var(--warn)}.dz-list li.is-ok i{color:var(--ok)}
/* buy again */
.dz-again{background:linear-gradient(160deg,color-mix(in srgb,var(--zc) 12%,var(--surface)),var(--surface) 70%)}
.dz-again-row{display:flex;align-items:center;gap:10px;margin-top:4px}.dz-again-row>span{display:grid;min-width:0}.dz-again-row b{font-size:14px;line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.dz-again-row small{color:var(--muted)}
/* invite / help */
.dz-invite,.dz-help{background:radial-gradient(220px 140px at 100% 0,color-mix(in srgb,var(--zc) 40%,transparent),transparent 70%),linear-gradient(150deg,#13131f,color-mix(in srgb,var(--za) 38%,#13131f));color:#fff;border:0}
.dz-invite .dz-kicker,.dz-help .dz-kicker{color:color-mix(in srgb,var(--zc) 55%,#fff)}.dz-invite small,.dz-help small{color:rgba(255,255,255,.78)}.dz-invite .dz-go,.dz-help .dz-go{color:#fff}
[data-theme=dark] .dz-invite,[data-theme=dark] .dz-help{border:1px solid var(--line-2)}
/* design-specific accents */
[data-dw=minimal] .dz-level{background:var(--surface);color:var(--text);border:1px solid var(--line);border-left:6px solid var(--za)}
[data-dw=minimal] .dz-level .dz-ladder i{background:var(--surface-3)}[data-dw=minimal] .dz-level .dz-ladder i.is-on{background:var(--za)}[data-dw=minimal] .dz-level .dz-ladder i.is-cur{background:var(--za);box-shadow:0 0 0 3px color-mix(in srgb,var(--za) 25%,transparent)}[data-dw=minimal] .dz-level .dz-go{color:var(--za)}
[data-dw=glass] .dz-card{background:color-mix(in srgb,var(--surface) 62%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid color-mix(in srgb,#fff 30%,transparent)}
[data-dw=glass] .dz-level{background:linear-gradient(140deg,color-mix(in srgb,var(--za) 75%,transparent),color-mix(in srgb,var(--zb) 60%,transparent))}
[data-dw=neon] .dz-card{border-color:color-mix(in srgb,var(--za) 40%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--za) 25%,transparent),0 18px 40px -24px var(--za)}
[data-dw=bank] .dz-level{background:radial-gradient(260px 140px at 100% 0,color-mix(in srgb,var(--zc) 40%,transparent),transparent 60%),linear-gradient(135deg,color-mix(in srgb,var(--za) 55%,#0a0a12),color-mix(in srgb,var(--zb) 45%,#0a0a12));color:#fff}
[data-dw=ticket] .dz-card{border-style:dashed}
@media (min-width:1280px){.home-grid .dz-cards{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:640px){
  .dz-cards{gap:10px}
  .dz-card{min-height:150px;padding:14px;border-radius:calc(var(--d-r,22px) * .9)}
  .dz-title{font-size:16px}
  .dz-card small{font-size:12.5px}
  .dz-meter{width:42px;height:42px}
  .dz-list li{font-size:12.5px}
  .dz-again-row .net-logo{width:34px;height:34px}
}
@media (max-width:360px){.dz-cards{grid-template-columns:1fr}}

/* Richer default service tiles and cards on all dashboards */
.home-main .services a{transition:transform .2s var(--ease)}
.home-main .services a:active{transform:scale(.96)}
body[data-dw] .services .ico{box-shadow:0 10px 18px -12px var(--c)}

/* ---------- Help centre + 300 question bank (0.29.0) ---------- */
.hc-hero{position:relative;overflow:hidden;padding:24px;border-radius:var(--d-r,var(--r-lg));color:var(--d-on,#fff);background:radial-gradient(300px 180px at 100% 0,rgba(255,255,255,.22),transparent 70%),linear-gradient(135deg,var(--d-a,var(--brand)),var(--d-b,var(--brand2)));box-shadow:var(--sh-2);margin-bottom:14px}
.hc-hero .eyebrow{display:inline-flex;gap:6px;align-items:center;padding:5px 11px;border-radius:99px;background:rgba(255,255,255,.18);font-size:12px;font-weight:800}
.hc-hero h2{color:inherit;font-size:clamp(24px,4vw,32px);font-weight:800;letter-spacing:-.03em;margin:12px 0 4px}
.hc-hero p{opacity:.88}
.hc-search{display:flex;align-items:center;gap:8px;margin-top:16px;padding:6px 6px 6px 16px;border-radius:18px;background:var(--surface);color:var(--muted);box-shadow:0 14px 30px -18px rgba(0,0,0,.45)}
.hc-search input{flex:1;min-width:0;height:44px;border:0;background:transparent;padding:0;font-size:16px;box-shadow:none!important;color:var(--text)}
.hc-search .btn-white{background:var(--d-a,var(--brand));color:var(--d-on,#fff);border:0}
.hc-answer{border:1.5px solid color-mix(in srgb,var(--ok) 35%,var(--line))}.hc-answer h2{font-size:18px;margin:10px 0 6px}.hc-answer p{color:var(--text-2);line-height:1.6}
.hc-answer.is-none{border-color:var(--line)}
.hc-cats{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 10px;margin-bottom:6px;scrollbar-width:none}
.hc-cats::-webkit-scrollbar{display:none}
.hc-cats button{flex:none;display:inline-flex;align-items:center;gap:7px;padding:9px 13px;border-radius:99px;border:1px solid var(--line);background:var(--surface);color:var(--text-2);font:inherit;font-size:13.5px;font-weight:700;cursor:pointer;white-space:nowrap}
.hc-cats em{font-style:normal;font-size:11.5px;padding:1px 7px;border-radius:99px;background:var(--surface-2);color:var(--muted)}
.hc-cats button.is-on{background:var(--d-a,var(--brand));border-color:transparent;color:var(--d-on,#fff)}.hc-cats button.is-on em{background:rgba(255,255,255,.22);color:inherit}
.hc-list{padding:16px}.hc-list .card-head{margin-bottom:10px}
.hc-items{display:grid;gap:6px}
.hc-item{border:1px solid var(--line);border-radius:16px;background:var(--surface);transition:border-color .2s,box-shadow .2s}
.hc-item[hidden]{display:none}
.hc-item[open]{border-color:color-mix(in srgb,var(--d-a,var(--brand)) 35%,var(--line));box-shadow:0 12px 26px -20px var(--d-a,var(--brand))}
.hc-item summary{display:flex;align-items:center;gap:12px;padding:12px 14px;cursor:pointer;list-style:none}
.hc-item summary::-webkit-details-marker{display:none}
.hc-n{flex:none;min-width:34px;height:30px;padding:0 6px;border-radius:10px;display:grid;place-items:center;background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:800}
.hc-item.is-own .hc-n{background:color-mix(in srgb,#f59e0b 16%,var(--surface));color:#b45309}
.hc-item b{flex:1;min-width:0;font-size:14.5px;font-weight:700;line-height:1.35}
.hc-car{flex:none;color:var(--muted);transition:transform .25s var(--ease)}.hc-item[open] .hc-car{transform:rotate(45deg);color:var(--d-a,var(--brand))}
.hc-item p{padding:0 14px 10px 60px;color:var(--text-2);line-height:1.6;font-size:14.5px}
.hc-tag{display:inline-block;margin:0 0 12px 60px;padding:2px 9px;border-radius:99px;background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:700}
.hc-more{margin-top:10px}.hc-empty{padding:18px;text-align:center}
.hc-bank-form{margin-top:12px}
@media (max-width:640px){.hc-hero{padding:18px}.hc-search{padding-left:12px}.hc-search .btn{padding:0 12px}.hc-item summary{padding:11px 12px;gap:10px}.hc-item p{padding:0 12px 10px 12px}.hc-tag{margin-left:12px}.hc-n{min-width:30px;height:28px}}
/* ===== v0.29.0: bulk, developer API, blog studio, editor, public blog ===== */
.btn-light{background:#fff;color:#111827;border-color:#fff}.btn-light:hover{background:#f3f4f6}
.bk2-hero,.api-hero,.bs-hero{position:relative;overflow:hidden;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:flex-end;padding:22px;border-radius:var(--d-r,20px);color:#fff;background:radial-gradient(320px 200px at 100% 0,rgba(255,255,255,.2),transparent 70%),linear-gradient(135deg,var(--d-a,var(--brand)),var(--d-b,var(--brand2)));box-shadow:var(--sh-2);margin-bottom:14px}
.bk2-hero h2,.api-hero h2,.bs-hero h2{color:#fff;font-size:clamp(22px,4vw,30px);font-weight:800;letter-spacing:-.02em;margin:10px 0 4px}
.bk2-hero p,.api-hero p,.bs-hero p{color:rgba(255,255,255,.88);margin:0;max-width:560px}
.bk2-hero .eyebrow,.api-hero .eyebrow,.bs-hero .eyebrow{display:inline-flex;gap:6px;align-items:center;padding:5px 11px;border-radius:99px;background:rgba(255,255,255,.18);color:#fff;font-size:12px;font-weight:800}
.bk2-wallet{display:grid;gap:2px;padding:12px 16px;border-radius:16px;background:rgba(255,255,255,.16);backdrop-filter:blur(8px)}.bk2-wallet b{font-size:20px}.bk2-wallet a{color:#fff;font-weight:700;font-size:13px}
.bk2-switch,.bs-tabs,.bg-chips{display:flex;gap:8px;overflow-x:auto;padding:2px 0 12px;scrollbar-width:none}
.bk2-switch a,.bs-tabs a,.bg-chips a{flex:none;padding:9px 14px;border-radius:99px;background:var(--surface,#fff);border:1px solid var(--line,#e5e7eb);font-weight:700;font-size:14px;color:inherit;text-decoration:none}
.bk2-switch a.is-on,.bs-tabs a.is-on,.bg-chips a.is-on{background:var(--d-a,var(--brand));border-color:transparent;color:#fff}.bg-chips em{font-style:normal;opacity:.7;font-size:12px}
.bk2-shell{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px;align-items:start}.bk2-side{position:sticky;top:12px}
.bk2-nets{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.bk2-nets label{cursor:pointer}.bk2-nets input{position:absolute;opacity:0}
.bk2-nets span{display:grid;justify-items:center;gap:4px;padding:10px 4px;border-radius:14px;border:2px solid var(--line,#e5e7eb);font-size:12px;font-weight:700}.bk2-nets input:checked+span{border-color:var(--d-a,var(--brand));background:color-mix(in srgb,var(--d-a,var(--brand)) 8%,transparent)}
.bk2-chips{display:flex;flex-wrap:wrap;gap:8px}.bk2-chip{padding:8px 12px;border-radius:12px;border:1px solid var(--line,#e5e7eb);background:transparent;font-weight:700;cursor:pointer}
.bk2-count{font-size:13px;font-weight:700;color:var(--muted)}.bk2-sum{display:grid;gap:8px}.bk2-row{display:flex;justify-content:space-between;gap:10px;padding:6px 0;font-size:14px}
.bk2-rows{display:grid;gap:6px;max-height:420px;overflow:auto}.bk2-report .bk2-row{border-bottom:1px solid var(--line,#eef0f3)}
.api-base{display:flex;align-items:center;gap:8px;margin-top:14px;padding:8px 8px 8px 12px;border-radius:14px;background:rgba(0,0,0,.22);max-width:100%}
.api-base code{flex:1;min-width:0;overflow-x:auto;white-space:nowrap;font-size:13px;color:inherit;scrollbar-width:none}.api-base.is-light{background:var(--soft,#f3f4f6)}.api-copy{background:#fff;color:#111827}
.api-hero-stats,.bs-hero-stats{display:grid;grid-template-columns:repeat(3,auto);gap:10px}.bs-hero-stats{grid-template-columns:repeat(4,auto)}
.api-hero-stats div,.bs-hero-stats div{display:grid;padding:10px 14px;border-radius:14px;background:rgba(255,255,255,.15)}.api-hero-stats b,.bs-hero-stats b{font-size:18px}.api-hero-stats small,.bs-hero-stats small{opacity:.85;font-size:12px}
.api-newkey{display:flex;gap:14px;align-items:flex-start;border:2px solid var(--ok,#16a34a)}.api-newkey-ico{width:44px;height:44px;flex:none;display:grid;place-items:center;border-radius:14px;background:color-mix(in srgb,var(--ok,#16a34a) 14%,transparent);color:var(--ok,#16a34a);font-size:20px}.api-newkey-body{display:grid;gap:4px;min-width:0;flex:1}
.api-locked{display:flex;gap:14px;align-items:center}.api-locked>i{font-size:24px;color:var(--d-a,var(--brand))}.api-locked div{flex:1;display:grid}
.api-keys,.bs-list,.ed-list{display:grid;gap:8px}
.api-key,.bs-row,.ed-row{display:flex;align-items:center;gap:12px;padding:12px;border-radius:16px;border:1px solid var(--line,#eef0f3)}.api-key.is-off,.ed-row.is-off{opacity:.6}
.api-key-ico{width:40px;height:40px;flex:none;display:grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--d-a,var(--brand)) 12%,transparent);color:var(--d-a,var(--brand))}
.api-key-meta,.bs-meta,.ed-meta{flex:1;min-width:0;display:grid;gap:2px}.api-key-meta small,.bs-meta small,.ed-meta small{color:var(--muted);font-size:13px;overflow-wrap:anywhere}.bs-meta a{color:inherit;text-decoration:none}
.api-create,.ed-add{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end;margin-top:14px}
.api-step{display:flex;gap:12px;margin:10px 0}.api-step>span{width:28px;height:28px;flex:none;display:grid;place-items:center;border-radius:50%;background:var(--d-a,var(--brand));color:#fff;font-weight:800}.api-step p{margin:2px 0 0;color:var(--muted)}
.api-table{display:grid;border:1px solid var(--line,#eef0f3);border-radius:14px;overflow:hidden;margin:14px 0}.api-row{display:grid;grid-template-columns:110px 70px 1fr;gap:10px;padding:10px 12px;font-size:14px;border-top:1px solid var(--line,#eef0f3)}.api-row.is-head{border-top:0;font-weight:800;background:var(--soft,#f8fafc)}
.m-get,.m-post{font-weight:800;font-size:12px}.m-get{color:#0ea5e9}.m-post{color:#16a34a}
.api-tabs{display:flex;gap:6px;margin-bottom:8px;overflow-x:auto}.api-tabs button{padding:7px 12px;border-radius:10px;border:1px solid var(--line,#e5e7eb);background:transparent;font-weight:700;cursor:pointer;color:inherit}.api-tabs button.is-on{background:#0f172a;color:#fff}
.api-code pre{display:none;margin:0;padding:14px;border-radius:14px;background:#0f172a;color:#e2e8f0;font-size:13px;line-height:1.6;overflow-x:auto}.api-code pre.is-on{display:block}
.api-errs{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.api-errs span{padding:6px 10px;border-radius:10px;background:var(--soft,#f3f4f6);font-size:13px}.api-note{font-size:14px}
.api-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.api-kpis .card{display:grid;gap:2px;margin:0}.api-kpis b{font-size:20px}.api-kpis small{color:var(--muted)}
.api-level-opts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.api-level{padding:12px;border-radius:14px;border:2px solid var(--line,#e5e7eb);cursor:pointer}.api-level input{margin-right:6px}.api-level:has(input:checked){border-color:var(--d-a,var(--brand))}
.bs-hero-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.bs-hero.is-app{align-items:center}
.bs-upsell,.bs-review{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}.bs-upsell>span{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--d-a,var(--brand)) 12%,transparent);color:var(--d-a,var(--brand))}.bs-upsell div{flex:1;display:grid}.bs-upsell small{color:var(--muted)}
.bs-review{border:2px solid #f59e0b}.bs-review b{flex:1}.bs-review>i{color:#f59e0b;font-size:20px}
.bs-thumb{width:64px;height:48px;flex:none;border-radius:10px;overflow:hidden}.bs-thumb img{width:100%;height:100%;object-fit:cover}
.bs-acts,.ed-acts{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.bs-acts form,.ed-acts form{margin:0}.bs-del{color:#dc2626}
.bs-st{display:inline-block;padding:2px 8px;border-radius:99px;font-size:11px;font-weight:800;margin-right:4px;background:var(--soft,#f3f4f6)}.bs-st.is-live{background:#dcfce7;color:#166534}.bs-st.is-scheduled{background:#e0f2fe;color:#075985}.bs-st.is-review{background:#fef3c7;color:#92400e}
.ed-role{font-size:12px;font-weight:800;color:var(--d-a,var(--brand))}.ed-role.is-rev{color:#b45309}
/* editor */
.be{display:grid;gap:12px}.be-top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:16px;background:var(--surface,#fff);border:1px solid var(--line,#eef0f3);box-shadow:var(--sh-1)}
.be-back{display:flex;gap:6px;align-items:center;font-weight:700;color:inherit;text-decoration:none}.be-saved{color:var(--muted);font-size:13px;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.be-top-acts{display:flex;gap:6px}
.be-state{padding:4px 10px;border-radius:99px;font-size:12px;font-weight:800;background:var(--soft,#f3f4f6)}.be-state.is-live{background:#dcfce7;color:#166534}.be-state.is-scheduled{background:#e0f2fe;color:#075985}.be-state.is-inreview{background:#fef3c7;color:#92400e}
.be-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px;align-items:start}.be-main{min-width:0;padding:18px;border-radius:20px;background:var(--surface,#fff);border:1px solid var(--line,#eef0f3)}
.be-cover-add{display:grid;justify-items:center;gap:4px;padding:22px;border-radius:16px;border:2px dashed var(--line,#d1d5db);cursor:pointer;color:var(--muted);text-align:center}.be-cover-add i{font-size:26px;color:var(--d-a,var(--brand))}.be-cover-add span{font-weight:700;color:inherit}
.be-cover-img{position:relative}.be-cover-img img{width:100%;max-height:340px;object-fit:cover;border-radius:16px;display:block}.be-cover-x{position:absolute;top:10px;right:10px;width:34px;height:34px;border-radius:50%;border:0;background:rgba(0,0,0,.6);color:#fff;cursor:pointer}
.be-title{width:100%;border:0;background:transparent;resize:none;overflow:hidden;font-size:clamp(26px,4vw,38px);font-weight:800;letter-spacing:-.02em;line-height:1.2;margin:16px 0 8px;color:inherit;font-family:inherit;outline:0;box-shadow:none;padding:0}
.be-tools{position:sticky;top:64px;z-index:10;display:flex;gap:2px;align-items:center;padding:6px;border-radius:14px;background:var(--soft,#f8fafc);border:1px solid var(--line,#eef0f3);overflow-x:auto;scrollbar-width:none}
.be-tools button{flex:none;width:36px;height:36px;border:0;border-radius:10px;background:transparent;color:inherit;cursor:pointer;font-size:16px}.be-tools button:hover,.be-tools button.is-on{background:var(--surface,#fff);box-shadow:var(--sh-1);color:var(--d-a,var(--brand))}
.be-tools select{flex:none;width:auto;height:36px;padding:0 8px;border-radius:10px;font-size:14px}.be-sep{flex:none;width:1px;height:22px;background:var(--line,#e5e7eb);margin:0 4px}
.be-canvas{min-height:360px;padding:16px 4px;outline:0}.be-canvas:empty:before{content:attr(data-placeholder);color:var(--muted)}.be-source{width:100%;min-height:360px;margin-top:12px;font-family:ui-monospace,monospace;font-size:13px}
.be-foot{display:flex;flex-wrap:wrap;gap:14px;padding-top:10px;border-top:1px solid var(--line,#eef0f3);color:var(--muted);font-size:13px}.be-tip{margin-left:auto}
.be-side{display:grid;gap:12px;position:sticky;top:76px}.be-panel{display:grid;gap:10px;padding:16px;border-radius:20px;background:var(--surface,#fff);border:1px solid var(--line,#eef0f3)}.be-panel h3{display:flex;gap:8px;align-items:center;font-size:15px;margin:0}
.be-panel label{display:grid;gap:4px;font-size:14px;font-weight:700}.be-when{display:flex;flex-wrap:wrap;gap:10px}.be-when input[type=datetime-local]{width:100%}.be-radio{display:flex!important;gap:6px;align-items:center;font-weight:600!important}
.be-side-acts{display:grid;gap:8px}.be-note{font-size:14px}.is-over{color:#dc2626!important}
.be-serp{display:grid;gap:2px;padding:12px;border-radius:12px;background:var(--soft,#f8fafc);font-family:Arial,sans-serif}.be-serp small{color:#15803d;font-size:12px;overflow-wrap:anywhere}.be-serp b{color:#1a0dab;font-size:17px;font-weight:500}.be-serp span{color:#4b5563;font-size:13px}
.be-score{display:flex;gap:10px;align-items:center;font-size:13px}.be-score span{padding:4px 10px;border-radius:99px;font-weight:800;background:#fee2e2;color:#991b1b}.be-score.is-mid span{background:#fef3c7;color:#92400e}.be-score.is-good span{background:#dcfce7;color:#166534}
.be-restore{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:10px 14px;border-radius:14px;background:#fef3c7;color:#78350f}.be-restore span{flex:1}
.be-mbar{display:none}body.be-focus .sidebar,body.be-focus .be-side,body.be-focus .topbar{display:none!important}body.be-focus .be-grid{grid-template-columns:minmax(0,820px);justify-content:center}
/* prose + cards */
.bg-prose{font-size:17px;line-height:1.75;overflow-wrap:break-word}.bg-prose h2{font-size:26px;margin:1.4em 0 .5em}.bg-prose h3{font-size:21px;margin:1.2em 0 .4em}.bg-prose img{max-width:100%;height:auto;border-radius:14px}.bg-prose figure{margin:1.2em 0}.bg-prose figcaption{font-size:14px;color:var(--muted);text-align:center}
.bg-prose blockquote{margin:1.2em 0;padding:12px 18px;border-left:4px solid var(--d-a,var(--brand));background:var(--soft,#f8fafc);border-radius:0 12px 12px 0;font-style:italic}.bg-prose pre{padding:14px;border-radius:12px;background:#0f172a;color:#e2e8f0;overflow-x:auto;font-size:14px}
.bg-prose table{width:100%;border-collapse:collapse;display:block;overflow-x:auto}.bg-prose th,.bg-prose td{padding:8px 12px;border:1px solid var(--line,#e5e7eb);text-align:left}.bg-prose mark{background:#fde68a;padding:0 3px;border-radius:4px}.bg-prose a{color:var(--d-a,var(--brand));font-weight:600}
.bg-prose .bl-callout{padding:14px 16px;border-radius:14px;background:color-mix(in srgb,var(--d-a,var(--brand)) 10%,transparent);border:1px solid color-mix(in srgb,var(--d-a,var(--brand)) 25%,transparent)}.bg-prose .bl-cta a{display:inline-block;padding:12px 20px;border-radius:12px;background:var(--d-a,var(--brand));color:#fff;text-decoration:none}
.bg-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.bg-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.bg-card{display:flex;flex-direction:column;overflow:hidden;border-radius:20px;background:var(--surface,#fff);border:1px solid var(--line,#eef0f3);color:inherit;text-decoration:none;transition:transform .2s,box-shadow .2s}.bg-card:hover{transform:translateY(-3px);box-shadow:var(--sh-2)}
.bg-cover{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--soft,#f3f4f6)}.bg-cover img{width:100%;height:100%;object-fit:cover;display:block}
.bg-cover.is-art,.bs-thumb.is-art{display:flex;align-items:center;justify-content:space-between;padding:14px;color:#fff;background:radial-gradient(200px 120px at 100% 0,rgba(255,255,255,.3),transparent 70%),linear-gradient(135deg,var(--bc),color-mix(in srgb,var(--bc) 55%,#000))}.bg-cover.is-art b{font-size:30px}.bg-cover.is-art i{font-size:22px;opacity:.7}.bs-thumb.is-art{padding:6px;font-size:12px}.bs-thumb.is-art i{display:none}
.bg-card-body{display:grid;gap:6px;padding:14px 16px 16px}.bg-card-body b{font-size:17px;line-height:1.3}.bg-meta{color:var(--muted);font-size:12px}.bg-meta em{font-style:normal;font-weight:800;color:var(--d-a,var(--brand))}.bg-ex{color:var(--muted);font-size:14px}.bg-more{font-size:13px;font-weight:800;color:var(--d-a,var(--brand))}
.bg-card-app .bg-card-body b{font-size:15px}
.sx-blogpage .bg-main{min-height:60vh;padding:20px 0 40px}.bg-top{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:flex-end;margin:20px auto 14px}.bg-top h1{font-size:clamp(28px,5vw,44px);margin:6px 0 0}
.bg-search{display:flex;align-items:center;gap:8px;padding:0 14px;border-radius:99px;border:1px solid var(--line,#e5e7eb);background:var(--surface,#fff);min-width:min(320px,100%)}.bg-search input{border:0;background:transparent;height:44px;outline:0;flex:1;box-shadow:none}
.bg-lead-card{display:grid;grid-template-columns:1.3fr 1fr;overflow:hidden;border-radius:24px;margin-bottom:18px;color:inherit;text-decoration:none}.bg-cover.is-big{aspect-ratio:auto;min-height:280px}.bg-lead-body{display:grid;gap:10px;align-content:center;padding:24px}.bg-lead-body b{font-size:clamp(22px,3vw,30px);line-height:1.2}
.bg-empty{display:grid;justify-items:center;gap:8px;text-align:center;padding:60px 16px}.bg-empty i{font-size:40px;color:var(--d-a,var(--brand))}
.bg-pager{display:flex;justify-content:center;gap:6px;margin-top:22px}.bg-pager a{min-width:40px;height:40px;display:grid;place-items:center;border-radius:12px;border:1px solid var(--line,#e5e7eb);color:inherit;text-decoration:none}.bg-pager a.is-on{background:var(--d-a,var(--brand));color:#fff}
.bg-art-head{max-width:820px;margin:24px auto 18px;display:grid;gap:12px}.bg-art-head h1{font-size:clamp(30px,5vw,48px);line-height:1.12;letter-spacing:-.02em;margin:0}.bg-back{font-weight:700;color:var(--muted);text-decoration:none}
.bg-cat{justify-self:start;padding:5px 12px;border-radius:99px;font-size:12px;font-weight:800;background:color-mix(in srgb,var(--d-a,var(--brand)) 12%,transparent);color:var(--d-a,var(--brand))}.bg-lead{font-size:19px;color:var(--muted);margin:0}
.bg-byline{display:flex;gap:10px;align-items:center}.bg-byline div{display:grid}.bg-byline small{color:var(--muted)}.bg-ava{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--d-a,var(--brand));color:#fff;font-weight:800}
.bg-hero-img{max-width:1040px;margin:0 auto 24px}.bg-hero-img img{width:100%;max-height:520px;object-fit:cover;border-radius:24px;display:block}
.bg-art-grid{display:grid;grid-template-columns:minmax(0,720px) 260px;gap:40px;justify-content:center}.bg-aside{display:grid;gap:14px;align-content:start;position:sticky;top:80px}
.bg-share{display:flex;gap:8px;align-items:center}.bg-share a,.bg-share button{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line,#e5e7eb);background:transparent;color:inherit;cursor:pointer}
.bg-cta{display:grid;gap:8px;padding:18px;border-radius:20px}.bg-cta p{margin:0;font-size:14px;color:var(--muted)}
.bg-tags{max-width:820px;margin:20px auto;display:flex;flex-wrap:wrap;gap:8px}.bg-tags a{padding:6px 12px;border-radius:99px;background:var(--soft,#f3f4f6);color:inherit;text-decoration:none;font-size:14px}.bg-related{margin:30px auto}.sx-blog .sx-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}
.bg-app-art{padding:0;overflow:hidden}.bg-app-cover{width:100%;max-height:300px;object-fit:cover;display:block}.bg-app-in{display:grid;gap:10px;padding:18px}.bg-app-in h1{font-size:clamp(24px,5vw,32px);margin:0;line-height:1.2}.bg-app-share{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
@media (max-width:960px){.bk2-shell,.be-grid{grid-template-columns:1fr}.bk2-side,.be-side{position:static}.bg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bg-art-grid{grid-template-columns:1fr;gap:20px}.bg-aside{position:static}.api-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.bg-grid,.bg-strip{grid-template-columns:1fr}.bg-strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.bg-strip .bg-card{flex:0 0 78%;scroll-snap-align:start}
.bg-lead-card{grid-template-columns:1fr}.bg-cover.is-big{min-height:200px}.api-create,.ed-add{grid-template-columns:1fr}.api-level-opts{grid-template-columns:1fr 1fr}.api-row{grid-template-columns:80px 50px 1fr;font-size:13px}
.api-hero-stats,.bs-hero-stats{width:100%;grid-template-columns:repeat(3,minmax(0,1fr))}.bs-hero-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.bk2-nets{grid-template-columns:repeat(3,minmax(0,1fr))}
.api-key,.bs-row,.ed-row{flex-wrap:wrap}.bs-acts,.ed-acts{width:100%;justify-content:flex-start}.be-top-acts,.be-saved,.be-tip{display:none}.be-main{padding:12px}.be-tools{top:56px}
.be-mbar{display:grid;grid-template-columns:1fr 1.4fr;gap:8px;position:sticky;bottom:calc(76px + env(safe-area-inset-bottom));z-index:30;padding:10px;border-radius:16px;background:var(--surface,#fff);box-shadow:var(--sh-2)}.be-side-acts{display:none}.bg-prose{font-size:16px}}
/* ===== v0.30.0: transactions tools, contact cards, socials, transfer receipt ===== */
.kpis.txk{grid-template-columns:repeat(4,minmax(0,1fr))}
.filters.txf{flex-wrap:wrap;gap:8px}.filters.txf select,.filters.txf input[type=date]{width:auto;min-width:0;height:42px}
.txa{margin:18px 0 6px}.txa-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.txa-card{display:grid;gap:8px;align-content:start;padding:14px;border-radius:16px;border:1px solid var(--line,#e5e7eb);background:var(--surface,#fff);margin:0}
.txa-card b{display:flex;gap:8px;align-items:center;font-size:15px}.txa-card small{color:var(--muted);font-size:13px;line-height:1.45}
.txa-card input,.txa-card select{height:40px}.txa-card .btn{justify-self:start}
.txa-card.is-ok{border-color:color-mix(in srgb,#12a150 40%,transparent);background:color-mix(in srgb,#12a150 5%,var(--surface,#fff))}.txa-card.is-ok b i{color:#12a150}
.txa-card.is-warn{border-color:color-mix(in srgb,#f59e0b 45%,transparent);background:color-mix(in srgb,#f59e0b 6%,var(--surface,#fff))}.txa-card.is-warn b i{color:#d97706}
.txa-card.is-bad b i,.txa-del{color:#e11d48}.txa-row{display:grid;grid-template-columns:130px 1fr;gap:8px}
.soc-card{display:grid;gap:12px}.soc-card-head{display:flex;gap:12px;align-items:center}.soc-card-head h2{font-size:17px;margin:0}.soc-card-head small{color:var(--muted);font-size:13px}
.soc-card-ico{width:44px;height:44px;flex:none;display:grid;place-items:center;border-radius:14px;color:#fff;font-size:20px;background:linear-gradient(135deg,var(--d-a,var(--brand)),var(--d-b,var(--brand2)))}
.soc-hours{display:flex;gap:8px;align-items:center;margin:0;padding:8px 12px;border-radius:12px;background:var(--surface-2,#f3f4f6);font-size:13.5px;color:var(--text-2)}
.soc-list{display:grid;gap:6px}.soc-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;border:1px solid var(--line,#eef0f3);color:inherit;text-decoration:none;transition:border-color .2s,transform .2s}
.soc-item:hover{border-color:var(--c);transform:translateX(2px)}.soc-i{width:38px;height:38px;flex:none;display:grid;place-items:center;border-radius:12px;color:var(--c);background:color-mix(in srgb,var(--c) 13%,transparent);font-size:17px}
.soc-t{flex:1;min-width:0;display:grid}.soc-t b{font-size:14.5px}.soc-t small{color:var(--muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.soc-go{color:var(--muted)}
.soc-row{display:flex;flex-wrap:wrap;gap:8px}.soc-row .soc{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;border:1px solid var(--line-2,#e5e7eb);color:var(--text-2);font-size:16px;text-decoration:none;transition:.2s}
.soc-row .soc:hover{color:#fff;border-color:transparent;background:var(--d-a,var(--brand))}
.soc-facebook:hover{background:#1877f2!important}.soc-instagram:hover{background:#e1306c!important}.soc-youtube:hover{background:#ff0000!important}.soc-tiktok:hover{background:#111!important}.soc-x:hover{background:#000!important}.soc-telegram:hover{background:#229ed9!important}.soc-linkedin:hover{background:#0a66c2!important}.soc-wa_channel:hover,.soc-wa_group:hover{background:#25d366!important}
.soc-row.is-card{padding-top:4px}
.soc-form{display:grid;gap:12px;margin-top:6px}.soc-form-h{display:grid;gap:2px;margin-top:8px}.soc-form-h b{display:flex;gap:8px;align-items:center}.soc-form-h small{color:var(--muted)}
.soc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.rs-soc-prev{display:grid;gap:8px;margin-top:14px}.rs-soc-prev .soc-card{margin:0;box-shadow:none}
.bt-receipt{display:grid;gap:14px}.bt-r-top{display:flex;align-items:center;gap:14px}.bt-r-top>span{width:52px;height:52px;flex:none;display:grid;place-items:center;border-radius:50%;font-size:24px;color:#fff;background:#f59e0b}
.bt-r-top.is-paid>span{background:#12a150}.bt-r-top.is-refunded>span{background:#2563eb}.bt-r-top div{flex:1;display:grid}.bt-r-top small{color:var(--muted);font-weight:700}.bt-r-top b{font-size:26px}
.bt-r-rows{display:grid;gap:0;border:1px solid var(--line,#eef0f3);border-radius:14px;overflow:hidden}.bt-r-rows div{display:flex;justify-content:space-between;gap:10px;padding:10px 14px;border-top:1px solid var(--line,#eef0f3);font-size:14px}.bt-r-rows div:first-child{border-top:0}.bt-r-rows span{color:var(--muted)}.bt-r-rows b{text-align:right;overflow-wrap:anywhere}
.ab-grid{margin-bottom:14px}.ab-top{list-style:none;margin:0;padding:0;display:grid;gap:6px}.ab-top li{display:flex;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--line,#eef0f3)}.ab-top li:first-child{border-top:0}
.ab-top span{width:26px;height:26px;flex:none;display:grid;place-items:center;border-radius:8px;background:var(--surface-2,#f3f4f6);font-size:12px;font-weight:800}.ab-top a{flex:1;min-width:0;color:inherit;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ab-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px}.ab-kpis div{display:grid;padding:12px;border-radius:14px;background:var(--surface-2,#f3f4f6)}.ab-kpis b{font-size:20px}.ab-kpis small{color:var(--muted)}
.ab-bar{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;margin-bottom:6px}.ab-search{min-width:220px}
@media (max-width:900px){.kpis.txk{grid-template-columns:repeat(2,minmax(0,1fr))}.txa-grid{grid-template-columns:1fr}}
@media (max-width:560px){.soc-grid{grid-template-columns:1fr}.txa-row{grid-template-columns:1fr}.filters.txf select,.filters.txf input[type=date]{flex:1 1 45%}}
/* 0.31.0 app tools, inbox, push, sales page desk */
.at-stats{grid-template-columns:repeat(5,auto)}
.at-tabs{display:flex;gap:6px;margin:0 0 14px;overflow-x:auto}.at-tabs a{display:inline-flex;gap:6px;align-items:center;padding:9px 14px;border-radius:99px;background:var(--surface-2);color:var(--text);font-weight:700;font-size:14px;white-space:nowrap;text-decoration:none}.at-tabs a.is-on{background:var(--brand);color:#fff}
.at-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}.at-tpl{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.at-note{font-size:13px;margin:8px 0 0}
.at-phone{position:sticky;top:80px;border-radius:34px;padding:12px;background:#0f172a;box-shadow:var(--sh-2)}.at-screen{border-radius:24px;min-height:440px;padding:26px 12px;background:linear-gradient(160deg,var(--brand),var(--brand2))}
.at-clock{text-align:center;color:#fff;font-size:52px;font-weight:300;line-height:1;margin-bottom:26px}.at-clock small{display:block;font-size:14px;font-weight:600;margin-top:6px;opacity:.9}
.at-note-card{background:rgba(255,255,255,.92);color:#0f172a;border-radius:18px;padding:12px 14px;box-shadow:0 8px 24px rgba(0,0,0,.18)}.at-note-card .at-app{display:flex;gap:6px;align-items:center;font-size:12px;color:#475569;font-weight:700}.at-note-card b{display:block;margin-top:6px;font-size:15px}.at-note-card p{margin:2px 0 0;font-size:14px;color:#334155;word-break:break-word}
.at-rules{display:grid;gap:12px}.at-rule header{display:flex;gap:12px;align-items:center}.at-rule header>div{flex:1}.at-rule header small{display:block;color:var(--muted)}.at-rule .switch{border:0;padding:0}.at-ric,.spd-bic{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;flex:none;background:color-mix(in srgb,var(--brand) 14%,transparent);color:var(--brand);font-size:18px}.at-rule-f{display:grid;grid-template-columns:1fr 2fr 1fr;gap:10px;margin-top:12px}
.bell-btn{position:relative}.bell-dot{position:absolute;top:2px;right:2px;min-width:18px;height:18px;padding:0 4px;border-radius:99px;background:#ef4444;color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center}
.push-ask{display:flex;gap:12px;align-items:center;padding:12px 14px;margin-bottom:14px;border-radius:18px;background:var(--surface);box-shadow:var(--sh-1);border:1px solid var(--line)}.push-ask>div{flex:1}.push-ask small{display:block;color:var(--muted)}.push-ask-ic{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--brand);color:#fff}
.ib-hero{display:flex;gap:14px;align-items:center;padding:20px;border-radius:20px;color:#fff;background:linear-gradient(135deg,var(--d-a,var(--brand)),var(--d-b,var(--brand2)));margin-bottom:14px}.ib-hero h2{color:#fff;margin:0;font-size:20px}.ib-hero p{margin:2px 0 0;opacity:.9}.ib-ic{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:rgba(255,255,255,.2);font-size:22px}
.ib-push{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.ib-push>div{flex:1;min-width:200px}.ib-push small{display:block;color:var(--muted)}
.ib-list{display:grid;gap:8px}.ib-item{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:18px;background:var(--surface);box-shadow:var(--sh-1);color:var(--text);text-decoration:none;position:relative}.ib-item.is-new{border-left:4px solid var(--brand)}.ib-item>div{flex:1;min-width:0}.ib-item p{margin:2px 0;color:var(--muted);font-size:14px}.ib-item small{color:var(--muted);font-size:12px}
.ib-k{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;flex:none;background:color-mix(in srgb,var(--brand) 14%,transparent);color:var(--brand)}.ib-k-followup{background:rgba(234,179,8,.15);color:#b45309}.ib-dot{width:10px;height:10px;border-radius:50%;background:var(--brand);flex:none;margin-top:6px}
.spd-cols{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:16px;align-items:start;margin-top:12px}.spd-left{display:grid;gap:14px}.spd-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.spd-slug{display:flex;align-items:center;gap:4px;border:1px solid var(--line);border-radius:12px;padding-left:10px;background:var(--surface-2)}.spd-slug small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:45%}.spd-slug input{border:0;background:transparent}
.spd-seo summary,.spd-block summary{cursor:pointer;font-weight:700}.spd-block{border:1px solid var(--line);border-radius:16px;padding:10px 12px;margin-bottom:10px;background:var(--surface)}.spd-block summary{display:flex;gap:10px;align-items:center;list-style:none}.spd-block summary small{color:var(--muted);flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.spd-block[open] summary{margin-bottom:10px}
.spd-ops{display:flex;gap:2px}.spd-ops .icon-btn{width:32px;height:32px}.spd-add{display:flex;gap:8px}.spd-add select{flex:1}.spd-save{display:flex;flex-wrap:wrap;gap:8px;position:sticky;bottom:10px;padding:10px;border-radius:16px;background:var(--surface);box-shadow:var(--sh-2)}
.spd-right{position:sticky;top:80px}.spd-dev{display:flex;gap:6px;align-items:center;margin-bottom:8px}.spd-frame{width:380px;max-width:100%;height:720px;margin:0 auto;border-radius:28px;border:10px solid #0f172a;overflow:hidden;background:#fff;transition:width .3s}.spd-frame.is-desk{width:100%;border-width:6px;border-radius:14px}.spd-frame iframe{width:100%;height:100%;border:0}
.spd-tpls{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.spd-tpl button{width:100%;height:100%;text-align:left;display:grid;gap:6px;padding:14px;border-radius:16px;border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;transition:transform .2s,box-shadow .2s}.spd-tpl button:hover{transform:translateY(-2px);box-shadow:var(--sh-2)}.spd-tpl small{color:var(--muted)}
.spd-list{display:grid;gap:8px}.spd-row{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:12px;border-radius:14px;background:var(--surface-2)}.spd-row small{display:block;color:var(--muted)}.spd-acts{display:flex;gap:6px;align-items:center}.spd-acts form{display:flex;gap:4px}
@media (max-width:900px){.at-grid,.spd-cols{grid-template-columns:1fr}.at-phone,.spd-right{position:static}.at-rule-f{grid-template-columns:1fr}.at-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.spd-frame{height:600px}}
/* v0.33.0 reseller platform app messaging */
.inbox-hero{display:flex;gap:14px;align-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 12%,var(--surface)),var(--surface))}.inbox-hero h2{margin:0}.inbox-hero p{margin:2px 0 0;color:var(--muted)}.inbox-bell{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:var(--brand);color:#fff;font-size:22px}.inbox-push-state{margin-left:auto;text-align:right}.inbox-push-state small,.inbox-push-state b{display:block}.inbox-list{display:grid;gap:10px}.inbox-row{position:relative;display:flex;gap:12px;align-items:flex-start;padding:15px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--text);text-decoration:none}.inbox-row.is-new{border-left:4px solid var(--brand)}.inbox-row-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--brand) 12%,transparent);color:var(--brand);flex:none}.inbox-row-text{display:grid;gap:3px;flex:1}.inbox-row-text span{color:var(--muted)}.inbox-row-text small{color:var(--muted);font-size:12px}.inbox-new-dot{width:10px;height:10px;border-radius:50%;background:var(--brand);margin:5px}
/* v0.33.0 platform app admin controls */
.pa-funnel{display:grid;gap:12px}.pa-funnel>div{display:grid;grid-template-columns:1fr auto;gap:3px 12px;align-items:center}.pa-funnel>div span{font-weight:700}.pa-funnel>div b{font-size:18px}.pa-funnel>div i{grid-column:1/-1;display:block;height:6px;border-radius:99px;background:var(--brand);min-width:3px}.pa-list{display:grid;gap:7px}.pa-list>div{display:flex;justify-content:space-between;padding:10px 12px;border-radius:12px;background:var(--surface-2)}.platform-app-settings{align-content:start}
/* v0.33.0 funding account renewal */
.va-regenerate{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.va-regenerate>div b,.va-regenerate>div small{display:block}.va-regenerate>div small{color:var(--muted);max-width:640px}.va-regenerate-inline{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:8px}.va-regenerate-inline small{font-size:12px}
/* v0.33.0 custom domain center */
.domain-tld-pills{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.domain-tld-pills span{padding:5px 10px;border-radius:99px;border:1px solid var(--line);background:var(--surface);font:700 12px "JetBrains Mono",monospace;color:var(--brand)}
/* v0.33.0 storefront traffic analytics */
.traffic-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.traffic-controls>div b,.traffic-controls>div small{display:block}.traffic-controls>div small{color:var(--muted)}.traffic-controls nav{display:flex;gap:6px}.traffic-controls nav a{padding:8px 12px;border-radius:99px;background:var(--surface-2);color:var(--text);text-decoration:none;font-weight:700;font-size:13px}.traffic-controls nav a.is-on{background:var(--brand);color:#fff}.traffic-grid{margin-top:14px}.traffic-bars{height:220px;display:flex;align-items:flex-end;gap:5px;padding:12px 4px 0;border-bottom:1px solid var(--line)}.traffic-bars>div{flex:1;min-width:4px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px;position:relative}.traffic-bars i{display:block;width:100%;min-height:3px;border-radius:7px 7px 2px 2px;background:linear-gradient(180deg,var(--brand2),var(--brand));}.traffic-bars small{font-size:10px;color:var(--muted)}.traffic-list{display:grid;gap:7px}.traffic-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:12px;background:var(--surface-2)}.traffic-list span{min-width:0;overflow:hidden;text-overflow:ellipsis}.traffic-list small{display:block;color:var(--muted);font-size:11px}.traffic-pages span{font-size:12px}.traffic-privacy{font-size:12px;margin:12px 2px}

/* ---------- v0.34 mobile sidebar: nav scrolls, logout always reachable */
.side-nav{min-height:0;overscroll-behavior:contain}
.sidebar{height:100vh;height:100dvh}
.side-foot{flex:none}
.rs-top-logout{display:none}
@media (max-width:960px){
  .sidebar{height:100dvh;max-height:100dvh;width:min(86vw,300px);padding-bottom:calc(14px + env(safe-area-inset-bottom));overflow:hidden}
  .side-foot{background:var(--surface);padding-bottom:4px}
  .side-logout-btn{background:var(--bad-bg);color:var(--bad)}
  .rs-top-logout{display:block}
}
@media (max-width:420px){.rs-shell .topbar{padding:12px 12px;gap:8px}.rs-shell .topbar-actions{gap:4px}.rs-shell .topbar-actions .icon-btn{width:38px;height:38px}}
.rs-hero-logout{display:inline-flex}
.rs-account{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:18px}
.rs-account-me{flex:1;min-width:160px}.rs-account-me b,.rs-account-me small{display:block}.rs-account-me small{color:var(--muted);overflow:hidden;text-overflow:ellipsis}
.rs-account-acts{display:flex;gap:8px;flex-wrap:wrap}.rs-account-acts form{display:inline-flex}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media (max-width:960px){.grid-3{grid-template-columns:1fr}}

/* ---------- v0.34 custom domains */
.dm-hero{position:relative;overflow:hidden;display:flex;gap:22px;align-items:center;justify-content:space-between;padding:28px;border-radius:var(--r-lg);margin-bottom:18px;color:#fff;background:linear-gradient(135deg,#101a3a,color-mix(in srgb,var(--brand) 70%,#101a3a) 60%,color-mix(in srgb,var(--brand2) 70%,#101a3a));box-shadow:0 24px 50px -26px color-mix(in srgb,var(--brand) 70%,transparent)}
.dm-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(420px 240px at 92% -20%,rgba(255,255,255,.22),transparent 70%),repeating-linear-gradient(90deg,rgba(255,255,255,.04) 0 1px,transparent 1px 34px)}
.dm-hero>*{position:relative;z-index:1}
.dm-hero-copy{flex:1;min-width:0}
.dm-hero h2{font-size:clamp(23px,3vw,31px);letter-spacing:-.03em;margin:10px 0 8px;font-weight:800;color:#fff}
.dm-hero p{color:rgba(255,255,255,.82);max-width:560px;margin:0 0 16px;line-height:1.55}
.dm-live{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 12px;border-radius:18px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);max-width:560px}
.dm-live .ico{background:#fff}
.dm-live>div{flex:1;min-width:150px}.dm-live small{display:block;color:rgba(255,255,255,.75);font-size:12px;font-weight:600}.dm-live b{display:block;font-size:15.5px;word-break:break-all}
.dm-hero-stats{display:grid;grid-template-columns:repeat(3,minmax(84px,1fr));gap:10px;flex:none}
.dm-hero-stats>div{padding:14px;border-radius:16px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);text-align:center}
.dm-hero-stats b{display:block;font-size:26px;font-weight:800;letter-spacing:-.03em}.dm-hero-stats b.dm-tld{font-size:17px;padding:5px 0}
.dm-hero-stats small{color:rgba(255,255,255,.78);font-weight:600;font-size:12px}
.dm-track{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:0;counter-reset:dm}
.dm-track li{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;color:var(--muted);font-size:13px}
.dm-track li:before{content:"";position:absolute;top:19px;left:-50%;right:50%;height:3px;background:var(--line-2);z-index:0}
.dm-track li:first-child:before{display:none}
.dm-track li span{position:relative;z-index:1;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);border:2px solid var(--line-2);font-size:17px}
.dm-track li b{font-weight:700;font-size:13px}
.dm-track li.is-done{color:var(--text)}.dm-track li.is-done span{background:var(--ok);border-color:var(--ok);color:#fff}.dm-track li.is-done:before{background:var(--ok)}
.dm-track li.is-now{color:var(--text)}.dm-track li.is-now span{border-color:var(--brand);color:var(--brand);box-shadow:0 0 0 5px color-mix(in srgb,var(--brand) 16%,transparent)}.dm-track li.is-now:before{background:linear-gradient(90deg,var(--ok),var(--brand))}
.dm-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:18px;margin:18px 0}
.dm-lead{color:var(--text-2);line-height:1.55;margin:0 0 12px}
.dm-preview{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 12px;border-radius:12px;background:var(--brand-soft);color:var(--brand-ink);font-size:13.5px}
.dm-tlds{display:flex;flex-wrap:wrap;gap:6px}.dm-tlds span{padding:5px 10px;border-radius:99px;background:var(--surface-2);font-weight:700;font-size:12.5px;color:var(--text-2)}
.dm-recs{display:grid;gap:10px}
.dm-rec{display:grid;grid-template-columns:76px minmax(0,1fr) minmax(0,1.7fr) 64px;gap:10px;align-items:center;padding:12px;border-radius:16px;background:var(--surface-2);border:1px solid var(--line)}
.dm-rec-head{background:none;border:0;padding:0 12px;color:var(--muted);font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.dm-type{justify-self:start;padding:5px 10px;border-radius:9px;font-weight:800;font-size:12.5px;letter-spacing:.04em;color:#fff;background:#5b3df5}
.dm-type.t-cname{background:#0ea5a4}.dm-type.t-txt{background:#f59e0b}
.dm-cell{display:flex;align-items:center;gap:6px;min-width:0}
.dm-cell small{display:none}
.dm-cell code{flex:1;min-width:0;padding:7px 9px;border-radius:9px;background:var(--surface);border:1px solid var(--line);font-family:"JetBrains Mono",ui-monospace,Menlo,monospace;font-size:13px;color:var(--text);word-break:break-all}
.dm-ttl code{flex:none}
.dm-copy{flex:none;display:inline-flex;align-items:center;gap:4px;height:32px;min-width:32px;justify-content:center;padding:0 8px;border-radius:9px;border:1px solid var(--line-2);background:var(--surface);color:var(--text-2);cursor:pointer;font:inherit;font-size:12px;font-weight:700}
.dm-copy:hover{color:var(--brand);border-color:var(--brand)}
.dm-why{grid-column:1/-1;margin:0;font-size:12.5px;color:var(--text-2);line-height:1.5}
.dm-why b{display:inline-block;padding:2px 8px;margin-right:4px;border-radius:99px;font-size:11px}.dm-why b.is-req{background:var(--bad-bg);color:var(--bad)}.dm-why b.is-rec{background:var(--info-bg);color:var(--info)}
.dm-recs.is-example{opacity:.72}
.dm-check-box{margin-top:16px;padding:14px;border-radius:16px;border:1.5px dashed var(--line-2);display:grid;gap:12px}
.dm-check-box h3{margin:0;font-size:15px}
.dm-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.dm-checks.is-empty{display:block;padding:12px;border-radius:12px;background:var(--surface-2);color:var(--text-2);font-size:13.5px}
.dm-chk{display:flex;gap:9px;align-items:flex-start;padding:11px;border-radius:13px;background:var(--surface-2)}
.dm-chk>i{font-size:18px;margin-top:1px}.dm-chk.is-ok>i{color:var(--ok)}.dm-chk.is-no>i{color:var(--bad)}
.dm-chk b{display:block;font-size:13.5px}.dm-chk small{display:block;color:var(--muted);font-size:12px;word-break:break-all}
.dm-checked{display:block;margin-top:6px;font-size:12px}
.dm-done{display:flex;gap:12px;align-items:center;padding:12px;border-radius:14px;background:var(--ok-bg);margin-bottom:12px}.dm-done b,.dm-done small{display:block}.dm-done small{color:var(--text-2)}
.dm-list{display:grid}
.dm-item{display:grid;gap:12px;padding:16px 20px;border-top:1px solid var(--line)}
.dm-list .dm-item:first-child{border-top:0}
.dm-item.is-focus{background:color-mix(in srgb,var(--brand) 5%,var(--surface))}
.dm-item.is-sub{background:var(--surface-2)}
.dm-item-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.dm-name{flex:1;min-width:180px}.dm-name b{display:block;font-size:15.5px;word-break:break-all}.dm-name small{display:block;color:var(--muted);font-size:12.5px}
.dm-badges{display:flex;gap:6px;flex-wrap:wrap}
.dm-acts{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.dm-acts form{display:inline-flex}
.dm-note{padding:10px 12px;border-radius:12px;background:var(--info-bg);color:var(--info);font-size:13.5px}
.dm-more{border-radius:13px;background:var(--surface-2);padding:0 12px}
.dm-more summary{cursor:pointer;padding:11px 0;font-weight:700;font-size:13.5px;color:var(--text-2);list-style:none}.dm-more summary::-webkit-details-marker{display:none}
.dm-more[open]{padding-bottom:12px}.dm-more .dm-rec{background:var(--surface)}
.dm-guides{display:grid;gap:8px}
.dm-guides details{border-radius:13px;background:var(--surface-2);padding:0 14px}
.dm-guides summary{cursor:pointer;padding:12px 0;font-weight:700;font-size:14px}
.dm-guides p{margin:0 0 12px;color:var(--text-2);font-size:13.5px;line-height:1.6}
.dm-switch{display:flex;gap:10px;align-items:flex-start;cursor:pointer}.dm-switch input{margin-top:4px;width:18px;height:18px;flex:none}.dm-switch b,.dm-switch small{display:block}
.dm-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:12px 14px}.dm-toolbar .at-tabs{margin:0;flex:1}.dm-search{min-width:220px}
.dm-admin-list{display:grid;gap:14px;margin-bottom:18px}
.dm-admin-list .dm-item{border-top:0;padding:18px}
.dm-owner{display:flex;flex-wrap:wrap;gap:6px}.dm-owner>*{display:inline-flex;gap:6px;align-items:center;padding:5px 10px;border-radius:99px;background:var(--surface-2);font-size:12.5px;color:var(--text-2)}
.dm-admin-acts{display:grid;gap:10px}.dm-note-in{width:100%}
.dm-steps{margin:0;padding-left:20px;display:grid;gap:8px;color:var(--text-2);font-size:13.5px;line-height:1.55}.dm-steps.big{font-size:14px;gap:10px}.dm-steps code{font-family:"JetBrains Mono",ui-monospace,monospace;background:var(--surface);padding:2px 6px;border-radius:6px}
@media (max-width:960px){.dm-grid{grid-template-columns:1fr}.dm-hero{flex-direction:column;align-items:stretch;padding:22px}.dm-hero-stats{grid-template-columns:repeat(3,1fr)}}
@media (max-width:700px){
  .dm-rec{grid-template-columns:1fr;gap:8px}
  .dm-rec-head{display:none}
  .dm-cell{flex-wrap:wrap}.dm-cell small{display:block;width:100%;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
  .dm-checks{grid-template-columns:1fr}
  .dm-track li b{font-size:11px}.dm-track li span{width:34px;height:34px;font-size:15px}.dm-track li:before{top:16px}
  .dm-item{padding:14px}
  .dm-hero-stats b{font-size:21px}
}

/* ---------- v0.34 admin traffic */
.tr-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:12px 14px}
.tr-scope{flex:1;min-width:220px}.tr-scope select{width:100%}
.tr-days{display:flex;gap:6px}.tr-days a{padding:8px 12px;border-radius:99px;background:var(--surface-2);color:var(--text);font-weight:700;font-size:13px;text-decoration:none}.tr-days a.is-on{background:var(--brand);color:#fff}
.tr-tabs{margin-top:14px}
.tr-live{display:inline-flex;align-items:center;gap:7px}.tr-live i{width:9px;height:9px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 0 rgba(34,197,94,.6);animation:trPulse 2s infinite}
@keyframes trPulse{0%{box-shadow:0 0 0 0 rgba(34,197,94,.55)}70%{box-shadow:0 0 0 9px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
.tr-key{display:inline-block;width:10px;height:10px;border-radius:3px;margin:0 4px 0 8px}.tr-key.a{background:color-mix(in srgb,var(--brand) 35%,var(--surface-2))}.tr-key.b{background:var(--brand)}
.tr-chart{height:240px;display:flex;align-items:flex-end;gap:4px;padding-top:10px;border-bottom:1px solid var(--line)}
.tr-chart>div{flex:1;min-width:3px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px}
.tr-chart .a{position:relative;display:flex;align-items:flex-end;width:100%;border-radius:7px 7px 2px 2px;background:color-mix(in srgb,var(--brand) 30%,var(--surface-2))}
.tr-chart .b{display:block;width:100%;border-radius:7px 7px 2px 2px;background:linear-gradient(180deg,var(--brand2),var(--brand))}
.tr-chart small{font-size:10px;color:var(--muted)}
.tr-hours{height:150px;display:flex;align-items:flex-end;gap:3px;border-bottom:1px solid var(--line);margin-bottom:6px}
.tr-hours>div{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px}.tr-hours i{display:block;width:100%;border-radius:5px 5px 1px 1px;background:linear-gradient(180deg,#f59e0b,#e5484d)}.tr-hours small{font-size:10px;color:var(--muted);height:12px}
.tr-rank{display:grid;gap:7px}
.tr-rank>div{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:12px;background:var(--surface-2)}
.tr-rank>div>i{position:absolute;left:0;bottom:0;height:3px;background:var(--brand);border-radius:0 3px 3px 0}
.tr-rank span{min-width:0;overflow:hidden;text-overflow:ellipsis}.tr-rank span small{display:block;color:var(--muted);font-size:11.5px}
.tr-rank b{white-space:nowrap;font-variant-numeric:tabular-nums}.tr-rank b small{color:var(--muted);font-weight:600;margin-left:4px}
.tr-rank a{color:var(--text);font-weight:700}
.tr-3{margin-top:14px}
.tr-states{display:grid;grid-template-columns:repeat(auto-fill,minmax(124px,1fr));gap:8px}
.tr-states>div{--a:0;padding:11px 12px;border-radius:13px;border:1px solid var(--line);background:color-mix(in srgb,var(--brand) calc(var(--a) * 100%),var(--surface-2))}
.tr-states>div b{display:block;font-size:13.5px}.tr-states>div small{display:block;font-size:12px;color:var(--muted)}
.tr-states>div.has{color:#fff;border-color:transparent}.tr-states>div.has small{color:rgba(255,255,255,.85)}
.tr-states>div.has[style*="--a:0.1"],.tr-states>div.has[style*="--a:0.2"],.tr-states>div.has[style*="--a:0.3"]{color:var(--text)}
.tr-states>div.has[style*="--a:0.1"] small,.tr-states>div.has[style*="--a:0.2"] small,.tr-states>div.has[style*="--a:0.3"] small{color:var(--text-2)}
.tr-legend{display:flex;align-items:center;gap:10px;margin-top:12px;font-size:12px;color:var(--muted)}.tr-legend i{flex:0 1 220px;height:8px;border-radius:99px;background:linear-gradient(90deg,var(--surface-2),var(--brand))}
.tr-set{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:end}.tr-set .dm-switch{grid-column:1/-1}
.tr-feed{display:grid}
.tr-feed>div{display:grid;grid-template-columns:90px minmax(0,1.6fr) minmax(0,1fr) minmax(0,.9fr) 30px;gap:12px;align-items:center;padding:11px 20px;border-top:1px solid var(--line);font-size:13.5px}
.tr-when{color:var(--muted);font-size:12.5px}.tr-path{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tr-path small{display:block;font-family:inherit;color:var(--muted);font-size:11.5px}
.tr-geo,.tr-src{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tr-src{color:var(--text-2)}.tr-dev{color:var(--muted);text-align:right}
@media (max-width:700px){.tr-set{grid-template-columns:1fr}.tr-feed>div{grid-template-columns:1fr auto;gap:4px 10px;padding:11px 14px}.tr-when{grid-column:2;grid-row:1;text-align:right}.tr-path{grid-column:1;grid-row:1}.tr-geo{grid-column:1}.tr-src{grid-column:2;text-align:right}.tr-dev{display:none}.tr-chart{height:180px}}
.dm-type.t-txt{background:#b45309}
.dm-why b{font-size:12px}
@media (max-width:700px){.dm-live{gap:10px}.dm-live .ico{display:none}.dm-live>div{flex:1 1 100%}.dm-live b{font-size:14px;overflow-wrap:anywhere;word-break:normal}.dm-hero h2{font-size:24px}}
.dm-name b{overflow-wrap:anywhere;word-break:normal}
@media (max-width:700px){.tr-states{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.tr-states>div{padding:9px}.tr-states>div b{font-size:12.5px}}

/* ---------- v0.35 shared */
.su-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.su-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.su-pad{padding:0 16px 16px}.su-mt{margin-top:14px}
.su-chips{display:flex;gap:6px;flex-wrap:wrap}.su-chips a,.su-radio span{display:inline-flex;align-items:center;padding:7px 12px;border-radius:99px;background:var(--surface-2);color:var(--text);font-weight:700;font-size:13px;text-decoration:none;cursor:pointer}.su-chips a.is-on,.su-radio input:checked+span{background:var(--brand);color:#fff}.su-radio input{position:absolute;opacity:0;pointer-events:none}
.su-table{overflow-x:auto}.su-table table{width:100%;border-collapse:collapse;font-size:14px}.su-table th{text-align:left;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:10px 14px;border-bottom:1px solid var(--line);white-space:nowrap}.su-table td{padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:top}.su-table td small{display:block;color:var(--muted);font-size:12px}.su-table tr.is-muted td{opacity:.55}.su-table tr.is-head td{font-weight:800;background:var(--surface-2)}.su-table tfoot td{font-weight:700}.su-acts{display:flex;gap:4px}.su-acts form{display:inline-flex}
.tr-key.c{background:#e5484d}
@media (max-width:700px){.su-2,.su-3{grid-template-columns:1fr}}

/* ---------- v0.35 Import & Export Center */
.dc-hero,.sb-hero,.su-admin-hero{position:relative;overflow:hidden;display:flex;gap:22px;align-items:center;justify-content:space-between;padding:26px;border-radius:var(--r-lg);margin-bottom:16px;color:#fff;background:linear-gradient(135deg,#0f2a2a,color-mix(in srgb,var(--brand2) 75%,#0f2a2a) 55%,color-mix(in srgb,var(--brand) 60%,#0f2a2a));box-shadow:0 22px 46px -26px color-mix(in srgb,var(--brand2) 70%,transparent)}
.sb-hero{background:linear-gradient(135deg,#0b1f3a,#1d4ed8 60%,#0ea5e9)}
.su-admin-hero{background:linear-gradient(135deg,#1e1033,color-mix(in srgb,var(--brand) 80%,#1e1033) 60%,#f59e0b)}
.dc-hero h2,.sb-hero h2,.su-admin-hero h2{color:#fff;font-size:clamp(22px,3vw,30px);letter-spacing:-.03em;margin:8px 0 6px}.dc-hero p,.sb-hero p,.su-admin-hero p{color:rgba(255,255,255,.82);max-width:560px;margin:0}
.dc-formats{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}.dc-formats span{padding:4px 10px;border-radius:99px;background:rgba(255,255,255,.16);font-weight:800;font-size:12px}
.dc-hero-stats,.sb-stats,.su-admin-stats{display:grid;grid-template-columns:repeat(3,minmax(90px,1fr));gap:10px;flex:none}.sb-stats,.su-admin-stats{grid-template-columns:repeat(2,minmax(110px,1fr))}
.dc-hero-stats>div,.sb-stats>div,.su-admin-stats>div{padding:13px;border-radius:15px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.16);text-align:center}.dc-hero-stats b,.sb-stats b,.su-admin-stats b{display:block;font-size:22px;font-weight:800}.dc-hero-stats small,.sb-stats small,.su-admin-stats small{color:rgba(255,255,255,.78);font-size:12px;font-weight:600}
.sb-stats b.ok{color:#86efac}.sb-stats b.warn{color:#fde68a}.sb-now{margin-top:14px}
.dc-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:18px;margin-bottom:18px}
.dc-kind{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dc-pick{cursor:pointer}.dc-pick input{position:absolute;opacity:0}.dc-pick span{display:flex;flex-direction:column;gap:2px;padding:14px;border-radius:16px;border:2px solid var(--line-2);height:100%}.dc-pick i{font-size:22px;color:var(--brand)}.dc-pick b{font-size:15px}.dc-pick small{color:var(--muted);font-size:12.5px}.dc-pick input:checked+span{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 7%,var(--surface))}
.dc-drop{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:26px 16px;border-radius:18px;border:2px dashed var(--line-2);background:var(--surface-2);text-align:center;cursor:pointer}.dc-drop i{font-size:32px;color:var(--brand)}.dc-drop small{color:var(--muted)}.dc-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.dc-templates{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:12px}
.dc-steps{margin:0;padding-left:20px;display:grid;gap:10px;color:var(--text-2);line-height:1.55}
.dc-export{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end}
.dc-hist{display:grid}.dc-hrow{display:flex;align-items:center;gap:12px;padding:13px 18px;border-top:1px solid var(--line);flex-wrap:wrap}.dc-hmain{flex:1;min-width:200px}.dc-hmain b{display:block}.dc-hmain small{display:block;color:var(--muted);font-size:12.5px}
.dc-sample{overflow-x:auto;border:1px solid var(--line);border-radius:14px;margin-bottom:16px}.dc-sample table{border-collapse:collapse;font-size:12.5px;min-width:100%}.dc-sample th{background:var(--surface-2);text-align:left;padding:8px 10px;white-space:nowrap;font-family:"JetBrains Mono",ui-monospace,monospace}.dc-sample td{padding:7px 10px;border-top:1px solid var(--line);white-space:nowrap;color:var(--text-2)}
.dc-h3{display:flex;align-items:center;gap:8px;font-size:15px;margin:6px 0 0}.dc-h3 small{font-weight:600}
.dc-map{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}.dc-map label{display:grid;gap:4px;padding:10px;border-radius:13px;background:var(--surface-2);border:1px solid var(--line)}.dc-map label.is-set{border-color:color-mix(in srgb,var(--ok) 50%,var(--line))}.dc-map span{font-weight:700;font-size:13px}
.dc-opts{display:grid;gap:12px}.dc-go{display:flex;justify-content:flex-end}.dc-retable{margin-bottom:12px}
.dc-run{display:grid;gap:14px}.dc-bar{height:14px;border-radius:99px;background:var(--surface-2);overflow:hidden}.dc-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--brand2));transition:width .3s}
.dc-nums{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.dc-nums>div{padding:12px;border-radius:13px;background:var(--surface-2);text-align:center}.dc-nums b{display:block;font-size:20px}.dc-nums small{color:var(--muted)}
.dc-state{margin:0;color:var(--text-2)}.dc-errors ul{margin:0 0 10px;padding-left:18px;font-size:13px;color:var(--text-2);max-height:300px;overflow:auto}.dc-roll{margin-top:12px}
@media (max-width:900px){.dc-hero,.sb-hero,.su-admin-hero{flex-direction:column;align-items:stretch;padding:22px}.dc-grid{grid-template-columns:1fr}.dc-export{grid-template-columns:1fr 1fr}.dc-nums{grid-template-columns:repeat(3,1fr)}}
@media (max-width:520px){.dc-kind{grid-template-columns:1fr}.dc-export{grid-template-columns:1fr}}

/* ---------- v0.35 Site Backup */
.sb-file{font-size:13px;color:var(--text-2)}.sb-cloud-acts{margin-top:12px}.sb-err{color:var(--bad)!important}.sb-sum{color:var(--muted)}
.sb-steps{margin:0 0 16px;padding:0;list-style:none;counter-reset:sb;display:grid;gap:12px}.sb-steps li{counter-increment:sb;position:relative;padding:14px 14px 14px 56px;border-radius:16px;background:var(--surface-2)}.sb-steps li:before{content:counter(sb);position:absolute;left:14px;top:14px;width:30px;height:30px;border-radius:10px;display:grid;place-items:center;font-weight:800;background:#1d4ed8;color:#fff}.sb-steps b{display:block;font-size:15px}.sb-steps p{margin:4px 0 0;color:var(--text-2);line-height:1.6;font-size:14px}

/* ---------- v0.35 Business Suite (reseller/admin desk) */
.su-admin-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:18px;margin-bottom:18px}
.su-meters{display:grid;gap:8px}.su-meter{display:grid;grid-template-columns:minmax(0,1fr) 120px 110px;gap:10px;align-items:center;padding:10px 12px;border-radius:13px;background:var(--surface-2)}.su-meter>span:first-child{display:grid;grid-template-columns:28px 1fr;column-gap:8px}.su-meter>span:first-child i{grid-row:span 2;font-size:18px;color:var(--brand);align-self:center}.su-meter small{color:var(--muted);font-size:12px}.su-meter-head{background:none;padding:0 12px;font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.su-meter-head>span:first-child{display:block}.su-na{text-align:center}
.su-split{display:grid;gap:8px}.su-split>div{position:relative;overflow:hidden;padding:11px 12px;border-radius:12px;background:var(--surface-2)}.su-split b,.su-split small{display:block}.su-split small{color:var(--muted)}.su-split i{position:absolute;left:0;bottom:0;height:3px;background:var(--ok)}
@media (max-width:900px){.su-admin-grid{grid-template-columns:1fr}}
@media (max-width:520px){.su-meter{grid-template-columns:1fr 1fr}.su-meter>span:first-child{grid-column:1/-1}.su-meter-head{display:none}}

/* ---------- v0.35 Business Suite (customer app) */
.su-tabs{display:flex;gap:6px;overflow-x:auto;margin:0 0 14px;padding:4px;border-radius:18px;background:var(--surface);border:1px solid var(--line);scrollbar-width:none}.su-tabs::-webkit-scrollbar{display:none}
.su-tabs a{flex:1 0 auto;display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 12px;border-radius:14px;color:var(--text-2);font-weight:700;font-size:12.5px;text-decoration:none;white-space:nowrap}.su-tabs a i{font-size:18px}.su-tabs a.is-on{background:var(--brand);color:#fff}
.su-hero{position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:22px;border-radius:22px;margin-bottom:14px;color:#fff;background:linear-gradient(135deg,#0f172a,color-mix(in srgb,var(--brand) 75%,#0f172a));box-shadow:0 20px 40px -24px color-mix(in srgb,var(--brand) 70%,transparent)}
.su-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(300px 180px at 90% -10%,rgba(255,255,255,.22),transparent 70%)}.su-hero>*{position:relative}
.su-hero small{display:block;color:rgba(255,255,255,.75);font-weight:600;margin-top:8px}.su-hero h2{color:#fff;font-size:clamp(28px,6vw,38px);letter-spacing:-.03em;margin:2px 0}.su-hero h2.neg{color:#fecaca}.su-hero p{margin:0;color:rgba(255,255,255,.8);font-size:13.5px}
.su-ring{--p:0;flex:none;width:96px;height:96px;border-radius:50%;display:grid;place-items:center;align-content:center;background:conic-gradient(#4ade80 calc(var(--p) * 1%),rgba(255,255,255,.16) 0);position:relative}.su-ring:after{content:"";position:absolute;inset:9px;border-radius:50%;background:#0f172a}.su-ring b,.su-ring small{position:relative;z-index:1;text-align:center;margin:0}.su-ring b{font-size:20px}.su-ring small{font-size:11px}
.su-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:14px}.su-kpis.is-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.su-kpis>div{--c:var(--brand);display:flex;flex-direction:column;gap:2px;padding:14px;border-radius:20px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-2)}.su-kpis i{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;font-size:17px;color:var(--c);background:color-mix(in srgb,var(--c) 13%,var(--surface));margin-bottom:6px}.su-kpis span{color:var(--muted);font-size:12.5px;font-weight:600}.su-kpis b{font-size:18px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.su-kpis small{color:var(--muted);font-size:11.5px}
.su-quick{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-bottom:16px}.su-quick a{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 4px;border-radius:18px;background:var(--surface);border:1px solid var(--line);color:var(--text);font-weight:700;font-size:12px;text-decoration:none;text-align:center}.su-quick i{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;font-size:18px;color:var(--brand);background:var(--brand-soft)}
.su-trend{height:180px;display:flex;align-items:flex-end;gap:8px;border-bottom:1px solid var(--line)}.su-trend.is-tall{height:220px}.su-trend>div{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px}.su-trend>div>span{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:3px}.su-trend i{display:block;width:42%;max-width:22px;border-radius:6px 6px 2px 2px}.su-trend i.in{background:linear-gradient(180deg,var(--brand2),var(--brand))}.su-trend i.out{background:#e5484d}.su-trend small{font-size:11px;color:var(--muted)}
.su-bars{height:180px;display:flex;align-items:flex-end;gap:4px;border-bottom:1px solid var(--line)}.su-bars>div{flex:1;min-width:3px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px}.su-bars i{display:block;width:100%;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,var(--brand2),var(--brand))}.su-bars small{font-size:10px;color:var(--muted);height:12px}.su-bars.is-hours{height:130px}.su-bars.is-hours i{background:linear-gradient(180deg,#f59e0b,#e5484d)}
.su-price{display:grid;gap:8px}.su-price>div{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:14px;background:var(--surface-2)}.su-price>div>i{width:34px;height:34px;flex:none;border-radius:11px;display:grid;place-items:center;color:var(--brand);background:var(--brand-soft)}.su-price span{flex:1;min-width:0}.su-price b,.su-price small{display:block}.su-price small{color:var(--muted);font-size:12px}.su-price em{font-style:normal;font-weight:800;white-space:nowrap}
.su-land{padding:24px;border-radius:24px;margin-bottom:16px;color:#fff;background:linear-gradient(135deg,#0f172a,color-mix(in srgb,var(--brand) 80%,#0f172a))}.su-land h2{color:#fff;font-size:clamp(24px,5vw,34px);letter-spacing:-.03em;margin:8px 0}.su-land p{color:rgba(255,255,255,.82);margin:0 0 16px;max-width:600px}
.su-land-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.su-land-grid>div{--c:#fff;padding:14px;border-radius:16px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14)}.su-land-grid i{font-size:22px;color:color-mix(in srgb,var(--c) 55%,#fff)}.su-land-grid b{display:block;margin-top:6px}.su-land-grid small{color:rgba(255,255,255,.75);font-size:12.5px}
.su-bands{display:grid;gap:8px;margin:10px 0}.su-bands>div{display:grid;grid-template-columns:2fr 1fr;gap:8px}
.su-opening{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:16px;padding:12px;border-radius:14px;background:var(--surface-2)}.su-opening b{flex-basis:100%}.su-opening small{flex-basis:100%;color:var(--muted);margin-top:-6px}.su-opening select,.su-opening input{flex:1 1 140px}
.su-period{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-bottom:12px}.su-custom{display:flex;gap:6px;align-items:center}.su-custom input{width:auto;padding:7px 10px}
.su-rep-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px}.su-rep-bar .su-period{margin:0}
.su-stmt h4{margin:14px 0 6px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.su-stmt p{display:flex;justify-content:space-between;gap:12px;margin:0;padding:8px 2px;border-bottom:1px dashed var(--line)}.su-stmt p b{font-variant-numeric:tabular-nums}.su-stmt p.is-sub{font-weight:800;border-bottom:1px solid var(--line-2)}.su-stmt p.is-total{font-size:17px;font-weight:800;border:0;border-top:2px solid var(--text);margin-top:6px;padding-top:12px}
.su-total{font-size:20px;font-variant-numeric:tabular-nums}
.su-big{font-size:26px!important;font-weight:800;padding:14px 16px!important}
.su-cats{display:flex;flex-wrap:wrap;gap:6px}.su-cats label{cursor:pointer}.su-cats input{position:absolute;opacity:0;pointer-events:none}.su-cats span{display:inline-block;padding:8px 12px;border-radius:12px;border:1.5px solid var(--line-2);font-weight:700;font-size:13px;color:var(--text-2)}.su-cats input:checked+span{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-ink)}
.su-coa{padding:0 18px 18px}.su-coa h3{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:16px 0 6px}.su-coa>div{display:grid;grid-template-columns:54px 1fr auto;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px}.su-coa em{font-style:normal;font-weight:700;font-variant-numeric:tabular-nums}
.jr-lines{display:grid;gap:8px}.jr-line,.inv-line{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:8px}.inv-lines{display:grid;gap:8px}.jr-foot{display:flex;justify-content:space-between;align-items:center}
.su-journal{display:grid}.su-journal>div{padding:12px 18px;border-top:1px solid var(--line)}.su-journal>div.is-void{opacity:.55}.su-journal header{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.su-journal header b{flex:1}.su-journal header small{color:var(--muted);font-size:12px}.su-journal p{display:grid;grid-template-columns:1fr 130px 130px;gap:8px;margin:4px 0 0;font-size:13px;color:var(--text-2)}.su-journal p em{font-style:normal;text-align:right;font-variant-numeric:tabular-nums}
.su-budget{display:grid;gap:8px}.su-budget>div{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:10px;align-items:center;padding:11px 12px;border-radius:13px;background:var(--surface-2)}.su-budget b,.su-budget small{display:block}.su-budget small{color:var(--muted);font-size:12px}.su-budget i{position:absolute;left:0;bottom:0;height:4px;background:var(--ok)}.su-budget .is-over i{background:var(--bad)}.su-budget .is-over small{color:var(--bad)}.su-budget-foot{display:flex;justify-content:space-between;align-items:center;margin-top:12px}
.su-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin:12px 0}.su-facts>div{padding:12px;border-radius:13px;background:var(--surface-2)}.su-facts small{display:block;color:var(--muted);font-size:12px}.su-facts b{font-size:16px;font-variant-numeric:tabular-nums}
.su-cell{width:100px;padding:6px 8px!important}.su-run-acts{margin-top:12px;align-items:center}
.su-pay{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px;padding:12px;border-radius:14px;background:var(--surface-2)}.su-pay b{flex-basis:100%}.su-pay input,.su-pay select{flex:1 1 140px}
.su-calc{display:flex;flex-wrap:wrap;gap:10px;align-items:end}.su-calc label{flex:1 1 160px}
.su-filter{display:flex;gap:8px;padding:0 16px 12px}.su-filter .input-wrap{flex:1}
.su-clist{display:grid}.su-clist a{display:flex;align-items:center;gap:12px;padding:11px 16px;border-top:1px solid var(--line);color:var(--text);text-decoration:none}.su-clist a:hover{background:var(--surface-2)}.su-clist div{flex:1;min-width:0}.su-clist b,.su-clist small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.su-clist small{color:var(--muted);font-size:12.5px}.su-clist em{--c:#64748b;font-style:normal;font-size:11.5px;font-weight:800;padding:4px 9px;border-radius:99px;color:var(--c);background:color-mix(in srgb,var(--c) 13%,var(--surface));white-space:nowrap}
.su-contact-top{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.su-contact-top>div:nth-child(2){flex:1;min-width:180px}.su-contact-top h2{margin:0}.su-contact-top small{color:var(--muted)}
.su-stage-row{display:flex;gap:6px;overflow-x:auto;margin-top:14px}.su-stage-row form{display:inline-flex}.su-stage-row button{--c:#64748b;padding:7px 12px;border-radius:99px;border:1.5px solid color-mix(in srgb,var(--c) 40%,var(--line));background:var(--surface);color:var(--c);font:inherit;font-weight:700;font-size:12.5px;white-space:nowrap;cursor:pointer}.su-stage-row button.is-on{background:var(--c);color:#fff;border-color:var(--c)}
.su-timeline{display:grid;gap:8px;margin-top:14px}.su-timeline>div{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:13px;background:var(--surface-2)}.su-timeline>div>i{color:var(--brand);margin-top:2px}.su-timeline>div>div{flex:1;min-width:0}.su-timeline b{display:block;font-weight:600;font-size:14px}.su-timeline small{color:var(--muted);font-size:12px}.su-timeline .is-due{border-left:3px solid var(--warn)}.su-timeline .is-late{border-left:3px solid var(--bad)}
.su-board{display:grid;grid-template-columns:repeat(6,minmax(220px,1fr));gap:10px;overflow-x:auto;padding-bottom:8px;margin-bottom:16px}
.su-col{--c:#64748b;display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:18px;background:var(--surface-2);border-top:4px solid var(--c);min-height:200px}.su-col header b{display:block}.su-col header small{color:var(--muted);font-size:12px}
.su-col article{padding:10px;border-radius:13px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-2)}.su-col article a{display:block;color:var(--text);text-decoration:none}.su-col article b,.su-col article small{display:block}.su-col article small{color:var(--muted);font-size:12px}.su-col article em{font-style:normal;font-weight:800;font-size:13px;color:var(--c)}.su-col article select{margin-top:8px;padding:5px 8px;font-size:12.5px}.su-colempty{font-size:13px;text-align:center}
.su-aging{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:0 16px 12px}.su-aging>div{padding:9px;border-radius:12px;background:var(--surface-2)}.su-aging small{display:block;color:var(--muted);font-size:11px}.su-aging b{font-size:13px}
.su-receipt-ok{display:flex;gap:12px;align-items:center;margin-bottom:12px}.su-receipt-ok>i{font-size:30px;color:var(--ok)}.su-receipt-ok b,.su-receipt-ok small{display:block}.su-receipt-ok small{color:var(--muted)}
.su-edit summary{cursor:pointer;font-weight:700;color:var(--brand)}.su-edit form{min-width:200px;margin-top:8px}
@media (max-width:1100px){.su-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:700px){.su-kpis,.su-kpis.is-4{grid-template-columns:repeat(2,minmax(0,1fr))}.su-quick{grid-template-columns:repeat(4,minmax(0,1fr))}.su-land-grid{grid-template-columns:1fr 1fr}.su-hero{padding:18px}.su-ring{width:80px;height:80px}.su-aging{grid-template-columns:repeat(3,1fr)}.su-journal p{grid-template-columns:1fr 90px 90px}.su-budget>div{grid-template-columns:1fr 110px}}

/* ---------- v0.35 POS terminal */
.pos-wrap{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr);gap:16px;align-items:start}
.pos-search{margin-bottom:10px}.pos-cats{margin-bottom:12px}
.pos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;max-height:560px;overflow-y:auto;padding:2px}
.pos-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px;border-radius:16px;border:1px solid var(--line);background:var(--surface-2);font:inherit;color:var(--text);text-align:left;cursor:pointer;transition:transform .12s,border-color .12s}.pos-item:hover{border-color:var(--brand)}.pos-item:active{transform:scale(.97)}.pos-item b{font-size:14px;line-height:1.3}.pos-item span{font-weight:800;color:var(--brand)}.pos-item small{color:var(--muted);font-size:11.5px}.pos-item.is-out{opacity:.5}.pos-item[hidden]{display:none}
.pos-quick{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.pos-quick b{flex-basis:100%;font-size:13px}.pos-quick input{flex:1 1 120px}
.pos-cart{position:sticky;top:84px}.pos-lines{display:grid;gap:6px;max-height:300px;overflow-y:auto;margin-bottom:12px}
.pos-line{display:grid;grid-template-columns:minmax(0,1fr) auto auto 26px;gap:8px;align-items:center;padding:8px 10px;border-radius:12px;background:var(--surface-2)}.pos-line b{display:block;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pos-line small{color:var(--muted);font-size:11.5px}.pos-line em{font-style:normal;font-weight:800;font-size:13.5px;min-width:70px;text-align:right}
.pos-qty{display:flex;align-items:center;border:1px solid var(--line-2);border-radius:10px;overflow:hidden;background:var(--surface)}.pos-qty button{width:28px;height:30px;border:0;background:none;font:inherit;font-size:16px;font-weight:800;color:var(--text);cursor:pointer}.pos-qty input{width:42px;height:30px;padding:0!important;border:0!important;text-align:center;background:none}
.pos-x{width:26px;height:26px;border:0;border-radius:8px;background:none;color:var(--muted);font-size:18px;cursor:pointer}
.pos-sum{display:grid;gap:6px;padding:12px;border-radius:14px;background:var(--surface-2)}.pos-sum>div{display:flex;justify-content:space-between;align-items:center;gap:10px}.pos-sum input{width:110px;padding:6px 8px;text-align:right}.pos-sum .is-total{border-top:1px solid var(--line-2);padding-top:8px;font-size:18px;font-weight:800}
.pos-methods{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.pos-methods label{cursor:pointer}.pos-methods input{position:absolute;opacity:0}.pos-methods span{display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 4px;border-radius:13px;border:1.5px solid var(--line-2);font-weight:700;font-size:12.5px}.pos-methods i{font-size:18px}.pos-methods input:checked+span{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-ink)}
@media (max-width:960px){.pos-wrap{grid-template-columns:1fr}.pos-cart{position:static}.pos-grid{max-height:none;grid-template-columns:repeat(2,minmax(0,1fr))}}
.pos-line b{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
