:root{--ink:#1d2433;--ink2:#4a5468;--muted:#8a93a5;--line:#ebe7df;--bg:#f7f4ee;--card:#fff;--brand:#12a37f;--brand-d:#0b7c60;--brand-l:#e3f6ef;--accent:#ff8a5b;--accent-l:#fff0e9;--gold:#ffd166;--warn:#e8590c;--warn-l:#fff4e6;--red:#d6336c;--r:18px;--shadow:0 1px 2px rgba(29,36,51,.05),0 6px 20px rgba(29,36,51,.06)}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;height:100%;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px}
button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}
input,select{font:inherit;color:inherit}
h1,h2,h3,.wordmark,.num{font-family:Nunito,Inter,system-ui,sans-serif}
#stage{min-height:100%;display:flex;justify-content:center;align-items:flex-start}
#side-note{display:none}
#phone{position:relative;width:100%;max-width:480px;min-height:100vh;background:var(--bg);overflow:hidden}
#app{min-height:100vh}
@media(min-width:900px){
  body{background:linear-gradient(135deg,#e3f6ef 0%,#fff0e9 100%)}
  #stage{align-items:center;gap:56px;padding:32px}
  #side-note{display:block;max-width:340px}
  #side-note h2{font-size:30px;line-height:1.15;margin:18px 0 12px}
  #side-note p{color:var(--ink2);line-height:1.55}
  .side-brand{display:flex;align-items:center;gap:12px}
  #phone{width:400px;height:840px;min-height:0;border-radius:44px;box-shadow:0 30px 80px rgba(29,36,51,.25),0 0 0 10px #1d2433;order:2}
  #app{height:100%;min-height:0;overflow-y:auto}
  #phone .tabbar{position:absolute}
}
.muted{color:var(--muted)}
.wordmark{font-weight:900;font-size:22px;letter-spacing:-.5px;color:var(--ink)}
.wordmark b{color:var(--brand)}
.wordmark.big{font-size:34px}
/* top bar */
.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:14px 18px 10px;padding-top:max(14px,env(safe-area-inset-top));background:rgba(247,244,238,.92);backdrop-filter:blur(10px)}
.topbar .brand{display:flex;align-items:center;gap:8px}
.topbar .brand img{width:30px;height:30px}
.demo-pill{font-size:11px;font-weight:700;letter-spacing:.3px;background:var(--accent-l);color:#b4471f;padding:5px 9px;border-radius:99px;white-space:nowrap}
.avatar{width:34px;height:34px;border-radius:50%;background:#2d3a55;color:#fff;font-weight:700;display:grid;place-items:center;font-size:13px}
.screen{padding:4px 16px 110px}
.hello{margin:6px 2px 14px}
.hello h1{font-size:24px;margin:0}
.hello p{margin:2px 0 0;color:var(--ink2)}
.card{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);padding:16px;margin-bottom:14px}
.card h3{margin:0 0 10px;font-size:17px;display:flex;align-items:center;justify-content:space-between}
.card h3 .link{font-family:Inter;font-size:13px;font-weight:600;color:var(--brand)}
.hero{background:linear-gradient(140deg,#12a37f,#0b7c60);color:#fff}
.hero .label{opacity:.85;font-size:13px;font-weight:600}
.hero .big{font-size:40px;font-weight:900;margin:2px 0;letter-spacing:-1px}
.hero .sub{font-size:13px;opacity:.9}
.chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;padding:4px 9px;border-radius:99px;background:rgba(255,255,255,.18)}
.quick{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}
.quick button{background:var(--card);border-radius:16px;box-shadow:var(--shadow);padding:14px 6px;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:13px;font-weight:700}
.quick .ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-size:20px}
.alert{display:flex;gap:12px;align-items:flex-start;background:var(--warn-l);border:1px solid #ffd8a8;border-radius:16px;padding:12px 14px;margin-bottom:10px}
.alert .em{font-size:22px;line-height:1}
.alert b{display:block;margin-bottom:2px}
.alert p{margin:0;font-size:13px;color:var(--ink2);line-height:1.4}
.donut-wrap{display:flex;align-items:center;gap:14px}
.donut-wrap svg{flex:none}
.legend{flex:1;display:flex;flex-direction:column;gap:7px;min-width:0}
.legend .row{display:flex;align-items:center;gap:8px;font-size:13px}
.legend .row span:nth-child(2){flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dot{width:10px;height:10px;border-radius:3px;flex:none}
.legend .amt{font-weight:700}
.bars{display:flex;align-items:flex-end;gap:8px;height:120px;padding-top:6px}
.bars .b{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;height:100%;justify-content:flex-end}
.bars .b i{display:block;width:100%;border-radius:8px 8px 4px 4px;background:#cfeee3}
.bars .b.on i{background:var(--brand)}
.bars .b small{font-size:11px;color:var(--muted);font-weight:600}
.bars .b em{font-style:normal;font-size:10px;color:var(--ink2);font-weight:700}
.tx{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line);width:100%;text-align:left}
.tx:first-of-type{border-top:0}
.tx .ico{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-size:18px;flex:none}
.tx .mid{flex:1;min-width:0}
.tx .mid b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tx .mid small{color:var(--muted);font-size:12px}
.tx .amt{font-weight:800;font-family:Nunito;font-size:15px;white-space:nowrap}
.src{font-size:10px;font-weight:700;padding:2px 6px;border-radius:6px;background:#eef1f6;color:var(--ink2);margin-left:4px;vertical-align:1px}
/* tab bar */
.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;justify-content:space-around;align-items:flex-end;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:6px 4px calc(8px + env(safe-area-inset-bottom))}
@media(max-width:899px){.tabbar{max-width:480px;margin:0 auto}}
.tabbar button{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;font-weight:700;color:var(--muted);padding:4px 0}
.tabbar button svg{width:24px;height:24px}
.tabbar button.on{color:var(--brand)}
.tabbar .plus span.p{width:52px;height:52px;margin-top:-22px;border-radius:18px;background:var(--brand);color:#fff;display:grid;place-items:center;box-shadow:0 8px 18px rgba(18,163,127,.4)}
.tabbar .plus.on span.p{background:var(--brand-d)}
/* segmented */
.seg{display:flex;background:#ebe6dc;border-radius:14px;padding:4px;margin-bottom:14px}
.seg button{flex:1;padding:9px 4px;border-radius:11px;font-weight:700;font-size:13px;color:var(--ink2)}
.seg button.on{background:#fff;color:var(--ink);box-shadow:0 1px 4px rgba(0,0,0,.08)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 18px;border-radius:14px;font-weight:800;font-size:15px;background:var(--brand);color:#fff;width:100%}
.btn:active{transform:scale(.98)}
.btn.ghost{background:var(--brand-l);color:var(--brand-d)}
.btn.line{background:#fff;border:1.5px solid var(--line);color:var(--ink)}
.btn.small{padding:8px 12px;font-size:13px;width:auto;border-radius:11px}
.btn:disabled{opacity:.45}
.stack{display:flex;flex-direction:column;gap:10px}
.row2{display:flex;gap:10px}
.row2>*{flex:1}
/* receipt scan */
.scanbox{position:relative;border-radius:16px;background:#2b3245;padding:18px;display:flex;justify-content:center;overflow:hidden;min-height:250px;align-items:center}
.receipt{width:210px;background:#fffdf7;color:#222;font-family:"Courier New",monospace;font-size:11px;padding:14px 12px;transform:rotate(-2deg);box-shadow:0 8px 20px rgba(0,0,0,.35);line-height:1.45}
.receipt .c{text-align:center}
.receipt .hl{transition:background .3s,outline .3s;border-radius:3px}
.receipt .hl.lit{background:rgba(18,163,127,.25);outline:2px solid var(--brand)}
.scanbox img{max-width:100%;max-height:300px;border-radius:8px;transform:rotate(-1deg)}
.scanline{position:absolute;left:0;right:0;height:3px;background:#2fe0b0;box-shadow:0 0 18px 6px rgba(47,224,176,.6);top:0;display:none}
.scanning .scanline{display:block;animation:scan 1.3s ease-in-out infinite alternate}
@keyframes scan{from{top:6%}to{top:94%}}
.scan-status{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.6);color:#fff;font-size:12px;font-weight:700;padding:5px 11px;border-radius:99px;white-space:nowrap}
.field{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}
.field label{font-size:12px;font-weight:700;color:var(--ink2)}
.field input,.field select{border:1.5px solid var(--line);border-radius:12px;padding:11px 12px;background:#fff;width:100%}
.field input.filled,.field select.filled{border-color:var(--brand);background:#f3fbf8;transition:all .3s}
/* email */
.fwd{background:var(--brand-l);border-radius:14px;padding:12px 14px;display:flex;align-items:center;gap:10px;margin:8px 0 4px}
.fwd code{flex:1;font-size:14px;font-weight:700;color:var(--brand-d);word-break:break-all}
.mail{display:flex;gap:12px;padding:12px 0;border-top:1px solid var(--line);width:100%;text-align:left;align-items:flex-start}
.mail:first-of-type{border-top:0}
.mail .ico{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:17px;flex:none}
.mail .mid{flex:1;min-width:0}
.mail .from{display:flex;justify-content:space-between;font-size:13px}
.mail .from b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mail .subj{font-size:13px;color:var(--ink2);margin:2px 0 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.filed{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;padding:3px 8px;border-radius:99px}
.new-flash{animation:flash 1.6s ease}
@keyframes flash{0%{background:#d3f5e9}100%{background:transparent}}
/* import */
.drop{border:2px dashed #cfc8b8;border-radius:16px;padding:22px 14px;text-align:center;background:#fffdf8}
.drop .em{font-size:34px}
.steps{display:flex;gap:6px;margin-bottom:12px}
.steps span{flex:1;height:5px;border-radius:3px;background:#e2ddd2}
.steps span.on{background:var(--brand)}
.maprow{display:flex;align-items:center;gap:10px;margin-bottom:9px}
.maprow b{width:96px;font-size:13px}
.maprow select{flex:1;border:1.5px solid var(--line);border-radius:11px;padding:9px;background:#fff}
.tbl{width:100%;border-collapse:collapse;font-size:12px}
.tbl th{text-align:left;color:var(--muted);font-weight:700;padding:6px 4px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff}
.tbl td{padding:7px 4px;border-bottom:1px solid var(--line);vertical-align:middle}
.tbl td.num{text-align:right;font-weight:700;white-space:nowrap}
.tbl select{font-size:11px;border:1px solid var(--line);border-radius:7px;padding:3px;max-width:100px;background:#fff}
.tbl .auto{font-size:9px;font-weight:800;color:#b4471f;background:var(--accent-l);border-radius:5px;padding:1px 4px;margin-left:3px}
.tblwrap{max-height:330px;overflow:auto;margin:0 -4px}
/* usage */
.toggle{display:inline-flex;background:#ebe6dc;border-radius:10px;padding:3px}
.toggle button{padding:5px 10px;border-radius:8px;font-size:12px;font-weight:700;color:var(--ink2)}
.toggle button.on{background:#fff;color:var(--ink)}
.stat{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.stat div{background:#f6f3ec;border-radius:12px;padding:9px 8px}
.stat small{display:block;font-size:11px;color:var(--muted);font-weight:600}
.stat b{font-family:Nunito;font-size:17px}
.up{color:var(--warn)}.down{color:var(--brand)}
/* subs */
.sub{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.sub:first-of-type{border-top:0}
.sub .logo{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:#fff;font-weight:900;font-family:Nunito;font-size:16px;flex:none}
.sub .mid{flex:1;min-width:0}
.sub .mid b{display:block}
.sub .mid small{color:var(--muted);font-size:12px}
.flag{display:inline-block;font-size:11px;font-weight:700;padding:3px 8px;border-radius:99px;margin-top:4px}
.flag.price{background:#fff4e6;color:#c2410c}
.flag.unused{background:#fdecf2;color:#b0234f}
/* tax */
.taxhero{background:linear-gradient(140deg,#2d3a55,#1d2433);color:#fff}
.taxhero .big{font-size:36px;font-weight:900}
.prov{display:flex;justify-content:space-between;padding:9px 0;border-top:1px solid var(--line);font-size:14px}
.prov:first-of-type{border-top:0}
.hsa{white-space:nowrap;display:inline-block;font-size:10px;font-weight:800;color:var(--brand-d);background:var(--brand-l);padding:2px 6px;border-radius:5px;margin-left:6px}
/* filters */
.search{width:100%;border:1.5px solid var(--line);border-radius:14px;padding:11px 14px;background:#fff;margin-bottom:10px}
.chips{display:flex;gap:7px;overflow-x:auto;padding-bottom:6px;margin-bottom:6px;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chips button{white-space:nowrap;font-size:12px;font-weight:700;padding:7px 11px;border-radius:99px;background:#fff;border:1.5px solid var(--line)}
.chips button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
/* sheet + toast */
.sheet-bg{position:fixed;inset:0;background:rgba(20,24,35,.45);z-index:40;display:flex;align-items:flex-end;justify-content:center;animation:fade .2s}
@media(min-width:900px){#phone .sheet-bg,#phone .toast{position:absolute}}
.sheet{background:#fff;width:100%;max-width:480px;border-radius:24px 24px 0 0;padding:18px 18px calc(22px + env(safe-area-inset-bottom));max-height:88%;overflow:auto;animation:up .25s ease}
.sheet .grab{width:40px;height:5px;border-radius:3px;background:#ddd;margin:0 auto 14px}
.sheet h2{margin:0 0 6px}
@keyframes up{from{transform:translateY(100%)}to{transform:none}}
@keyframes fade{from{opacity:0}to{opacity:1}}
.toast{position:fixed;left:50%;bottom:96px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:11px 16px;border-radius:14px;font-weight:700;font-size:14px;z-index:50;box-shadow:0 10px 30px rgba(0,0,0,.25);animation:up2 .3s ease;pointer-events:none;max-width:90%;text-align:center}
@keyframes up2{from{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%,0)}}
/* welcome */
.welcome{min-height:100vh;display:flex;flex-direction:column;padding:40px 24px calc(30px + env(safe-area-inset-bottom));background:radial-gradient(circle at 80% 0%,#ffe2d4 0,transparent 45%),radial-gradient(circle at 0% 60%,#d3f5e9 0,transparent 50%),var(--bg)}
@media(min-width:900px){.welcome{min-height:100%;height:100%}}
.welcome .logo{width:84px;height:84px;margin-top:20px}
.welcome h1{font-size:34px;line-height:1.1;margin:18px 0 10px;letter-spacing:-.5px}
.welcome p{color:var(--ink2);line-height:1.5;margin:0 0 18px}
.feat{display:flex;flex-direction:column;gap:10px;margin-bottom:auto}
.feat div{display:flex;gap:10px;align-items:center;font-weight:600;font-size:14px;background:rgba(255,255,255,.7);padding:10px 12px;border-radius:14px}
.feat span{font-size:20px}
.welcome .fine{font-size:12px;text-align:center;color:var(--muted);margin-top:12px}
.note{font-size:12px;color:var(--muted);line-height:1.45;margin:8px 0 0}
.hidden{display:none!important}

/* ===== v2 ===== */
.viewbar{position:sticky;top:58px;z-index:4;margin:0 16px 8px;display:flex;align-items:center;justify-content:space-between;gap:8px;background:#2d3a55;color:#fff;border-radius:14px;padding:8px 8px 8px 12px;font-size:13px}
.viewbar button{background:#fff;color:#2d3a55;font-weight:800;font-size:12px;border-radius:9px;padding:6px 10px}
.chips.who .mini{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;color:#fff;font-size:9px;font-style:normal;font-weight:800;margin-right:5px;vertical-align:-3px}
.chips.who button.on .mini{box-shadow:0 0 0 1.5px #fff}
.alert.red{background:#fdecf2;border-color:#f7c4d6}
.alert.ok{background:#e6f6ee;border-color:#bfe8d4}
.planhero .big{font-size:44px}
.card.safe{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:14px 16px}
.card.safe > span:first-child{flex:1}
.card.safe small{display:block;font-size:12px;color:var(--muted);font-weight:700}
.card.safe b{font-family:Nunito;font-size:26px;font-weight:900;color:var(--brand-d)}
.lowpt{font-size:12px;font-weight:700;color:var(--brand-d);text-align:right;background:var(--brand-l);padding:6px 9px;border-radius:12px}
.lowpt.bad{color:#b0234f;background:#fdecf2}
.lowpt em{display:block;font-style:normal;font-family:Nunito;font-size:15px;font-weight:900}
.chev{color:var(--muted);font-size:22px;font-weight:400;line-height:1;flex:none}
.att{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:10px 0;border-top:1px solid var(--line)}
.att:first-of-type{border-top:0}
.att > span:first-child{width:36px;height:36px;border-radius:11px;background:#f6f3ec;display:grid;place-items:center;font-size:18px;flex:none}
.att > span:nth-child(2){flex:1;min-width:0}
.att b{display:block;font-size:14px}
.att small{color:var(--muted);font-size:12px}
.evday{font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin:12px 0 2px}
.evday:first-of-type{margin-top:0}
.evrow{display:flex;align-items:center;gap:10px;padding:7px 0}
.evrow .ico{width:32px;height:32px;border-radius:10px;background:#f6f3ec;display:grid;place-items:center;font-size:16px;flex:none}
.evrow.plan .ico{background:var(--accent-l)}
.evrow .mid{flex:1;min-width:0}
.evrow .mid b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.evrow .mid small{color:var(--muted);font-size:11.5px}
.evrow .amt{font-family:Nunito;font-weight:800;font-size:14px;white-space:nowrap;display:block}
.evrow .x{width:28px;height:28px;border-radius:9px;background:#f6f3ec;color:var(--muted);font-size:12px;flex:none}
small.bal{display:block;font-size:11px;color:var(--muted);white-space:nowrap}
small.bal.lowbal{color:var(--red);font-weight:700}
.flag.okf{background:#e6f6ee;color:#0b7c60}
.flag.waitf{background:#eef1f6;color:var(--ink2)}
.flag.gone{background:#f1f1f1;color:#9aa1ad}
.cmp{display:flex;align-items:center;gap:8px}
.cmp > div:not(.vs){flex:1;background:#f6f3ec;border-radius:14px;padding:10px 12px}
.cmp small{display:block;font-size:11px;font-weight:700;color:var(--muted)}
.cmp b{font-family:Nunito;font-size:24px;font-weight:900}
.cmp .unit{font-size:12px;font-weight:700;color:var(--muted)}
.cmp .vs{font-weight:800;color:var(--muted);font-size:13px}
.steps-ol{margin:0;padding-left:20px;font-size:13.5px;line-height:1.45;color:var(--ink2)}
.steps-ol li{margin-bottom:6px}
.script{white-space:pre-wrap;font-family:Inter,system-ui,sans-serif;font-size:13px;line-height:1.5;background:#fffaf2;border:1px dashed #f1c58f;border-radius:14px;padding:12px;margin:0;color:var(--ink)}
.dl{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:10px 0;border-top:1px solid var(--line)}
.dl:first-of-type{border-top:0}
.dl .when{width:46px;height:46px;border-radius:14px;background:#f6f3ec;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none;line-height:1}
.dl .when b{font-family:Nunito;font-size:18px;font-weight:900}
.dl .when small{font-size:10px;color:var(--muted);font-weight:700}
.dl.hot .when{background:#fdecf2;color:var(--red)}
.dl .mid{flex:1;min-width:0}
.dl .mid b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dl .mid small{color:var(--muted);font-size:12px}
.bell{width:34px;height:34px;border-radius:11px;background:#f6f3ec;display:grid;place-items:center;font-size:15px;flex:none;opacity:.6}
.bell.on{background:var(--accent-l);opacity:1}
.wxgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}
.wxgrid div{background:#f6f3ec;border-radius:12px;padding:9px 8px}
.wxgrid div.hl{background:#eef7ff;box-shadow:inset 0 0 0 1.5px #cfe3fb}
.wxgrid small{display:block;font-size:10.5px;color:var(--muted);font-weight:700;line-height:1.2}
.wxgrid b{font-family:Nunito;font-size:20px;font-weight:900;display:block;margin-top:2px}
.wxgrid em{font-style:normal;font-size:11px;color:var(--ink2)}
.verdict{margin-top:10px;border-radius:14px;padding:11px 12px;font-size:14px;font-weight:700;line-height:1.4}
.verdict.ok{background:#eef7ff;color:#1e4f8a}
.verdict.warn{background:var(--warn-l);color:#a83f0a}
.verdict.good{background:#e6f6ee;color:#0b7c60}
.divbars{display:flex;gap:6px;height:84px;margin-top:14px;align-items:stretch}
.db{flex:1;display:flex;flex-direction:column;cursor:pointer}
.db .half{flex:1;display:flex;justify-content:center}
.db .half.top{align-items:flex-end;border-bottom:1.5px solid #d9d3c7}
.db .half.bot{align-items:flex-start}
.db i{width:60%;max-width:22px;display:block;border-radius:4px}
.db .pos{background:#f08c4b;border-radius:4px 4px 0 0}
.db .neg{background:#55c39a;border-radius:0 0 4px 4px}
.db small{text-align:center;font-size:10px;font-weight:700;color:var(--muted);margin-top:2px}
.db.on small{color:var(--ink);font-weight:900}
.db.on .pos{background:#e8590c}.db.on .neg{background:#12a37f}
.back{font-weight:700;color:var(--brand-d);font-size:14px;padding:2px 2px 6px}
.mlist{padding:4px 16px}
.mrow{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:12px 0;border-top:1px solid var(--line)}
.mrow:first-child{border-top:0}
.mrow .ico{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-size:19px;flex:none}
.mrow .mid{flex:1;min-width:0}
.mrow .mid b{display:block;font-size:15px}
.mrow .mid small{color:var(--muted);font-size:12px}
.badge{font-size:11px;font-weight:800;padding:3px 8px;border-radius:99px;background:#fdecf2;color:#b0234f;white-space:nowrap}
.card.soon{background:linear-gradient(140deg,#fff 0,#fff7f1 100%);border:1.5px dashed #ffc7a8;box-shadow:none}
.soonpill{display:inline-block;font-size:10px;font-weight:900;letter-spacing:.6px;color:#b4471f;background:var(--accent-l);border-radius:99px;padding:3px 8px}
.mailchip{font-size:12px;font-weight:700;padding:5px 10px;border-radius:99px;background:#fff;border:1.5px solid var(--line)}
.av{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:800;font-size:13px;flex:none}
.av.big{width:52px;height:52px;font-size:16px}
.seg.wrap{flex-wrap:wrap}
.seg.wrap button{flex:1 1 40%}
.tbl.perm td{font-size:12px}
.tbl.perm th{font-size:11px}
.tbl.perm .yes{color:var(--brand);font-weight:900}
.tbl.perm .no{color:#c7ccd6}
.perm-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid var(--line);font-size:14px;cursor:pointer;position:relative}
.perm-row:first-of-type{border-top:0}
.perm-row small{font-size:12px;line-height:1.35;display:block}
.perm-row input{position:absolute;opacity:0;width:1px;height:1px}
.perm-row .sw{width:44px;height:26px;border-radius:99px;background:#d6d1c6;position:relative;flex:none;transition:background .2s}
.perm-row .sw::after{content:'';position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:left .2s}
.perm-row input:checked + .sw{background:var(--brand)}
.perm-row input:checked + .sw::after{left:21px}
.perm-row input:disabled + .sw{opacity:.5}
.never{margin:0;padding:0;list-style:none}
.never li{padding:7px 0 7px 26px;position:relative;font-size:14px;border-top:1px solid var(--line)}
.never li:first-child{border-top:0}
.never li::before{content:'✕';position:absolute;left:4px;color:var(--red);font-weight:900}
.btn.danger{color:var(--red);border-color:#f7c4d6}
.btn.danger-fill{background:var(--red)}
.privnote{display:flex;gap:10px;align-items:flex-start;margin-top:14px;background:#1d2433;color:#e9edf5;border-radius:14px;padding:11px 13px;font-size:13px;line-height:1.4}
.privnote span{font-size:18px}
.privnote b{color:#fff}
.hero .sub{display:block;padding:0;border:0;gap:0}
