/* iOS design system v7: current Apple HIG look. Large continuous corners, materials (glass) for bars,
   true-black dark mode with elevated #1C1C1E surfaces, vivid system colors, SF type scale, spacing over borders. */
:root{
  --sys-bg:#f2f2f7;--sys-card:#ffffff;--sys-card2:#f2f2f7;--sys-text:#000000;
  --sys-hint:rgba(60,60,67,.6);--sys-sep:rgba(60,60,67,.18);
  --green:#34c759;--red:#ff3b30;--orange:#ff9500;--blue:#007aff;--purple:#af52de;--teal:#30b0c7;--pink:#ff2d55;--indigo:#5856d6;--yellow:#ffcc00;
  --fill:rgba(120,120,128,.12);--fill2:rgba(120,120,128,.2);--thumb:#ffffff;
  --glass:rgba(255,255,255,.72);--glass-edge:rgba(0,0,0,.06);--glass-shadow:0 8px 24px rgba(0,0,0,.08);--tab-sel:rgba(120,120,128,.16);
  --tertiary:rgba(60,60,67,.3);--shadow-thumb:0 2px 6px rgba(0,0,0,.12);
  --card-shadow:0 1px 2px rgba(0,0,0,.03);
  --r:26px;--m:16px;--safe-b:env(safe-area-inset-bottom,0px);
  --ease:cubic-bezier(.32,.72,0,1);--spring:cubic-bezier(.34,1.3,.64,1);
  --font:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display",Inter,"Helvetica Neue","Segoe UI",Roboto,system-ui,sans-serif;
  --font-d:-apple-system,BlinkMacSystemFont,"SF Pro Display",Inter,"Helvetica Neue",Roboto,system-ui,sans-serif;
  --mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,"Roboto Mono",Consolas,monospace;
}
:root[data-theme="dark"]{
  --sys-bg:#000000;--sys-card:#1c1c1e;--sys-card2:#2c2c2e;--sys-text:#ffffff;
  --sys-hint:rgba(235,235,245,.6);--sys-sep:rgba(84,84,88,.5);
  --green:#30d158;--red:#ff453a;--orange:#ff9f0a;--blue:#0a84ff;--purple:#bf5af2;--teal:#40c8e0;--pink:#ff375f;--indigo:#5e5ce6;--yellow:#ffd60a;
  --fill:rgba(118,118,128,.24);--fill2:rgba(118,118,128,.32);--thumb:rgba(99,99,102,.9);--shadow-thumb:0 1px 3px rgba(0,0,0,.3);
  --glass:rgba(28,28,30,.62);--glass-edge:rgba(255,255,255,.12);--glass-shadow:inset 0 .5px 0 rgba(255,255,255,.10),0 12px 30px rgba(0,0,0,.35);--tab-sel:rgba(255,255,255,.12);
  --tertiary:rgba(235,235,245,.3);--card-shadow:none;
}
:root{
  --bg:var(--tg-bg,var(--sys-bg));--card:var(--tg-card,var(--sys-card));--card2:var(--sys-card2);
  --text:var(--tg-text,var(--sys-text));--muted:var(--tg-hint,var(--sys-hint));--dim:var(--tertiary);
  --line:var(--sys-sep);--accent:var(--tg-accent,var(--blue));
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:var(--bg);color:var(--text);font:400 17px/1.29 var(--font);letter-spacing:-.41px;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}
body{padding-bottom:calc(120px + var(--safe-b))}
body::after{content:"";position:fixed;left:0;right:0;bottom:0;height:calc(56px + var(--safe-b));z-index:5;pointer-events:none;background:linear-gradient(to bottom,transparent,var(--bg) 85%)}
button{font:inherit;color:inherit;cursor:pointer;letter-spacing:inherit}
b{font-weight:600}
.money,.num,.li .end,.kv b,.hstrip b,.bal b,.bal-in b,.crit b,.set span:last-child,.dl div>span:last-child,.chg,.cleanrow b,.cfgline,.bstats b{font-variant-numeric:tabular-nums}

/* ---------- large-title header (fullscreen inset preserved) ---------- */
.top{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:flex-end;padding:calc(16px + var(--top-inset,0px)) 20px 10px;background:var(--bg);transition:background .25s,box-shadow .25s}
.top.scrolled{background:var(--glass);-webkit-backdrop-filter:saturate(180%) blur(24px);backdrop-filter:saturate(180%) blur(24px);box-shadow:0 .5px 0 var(--line)}
.top h1{margin:0;font:700 34px/41px var(--font-d);letter-spacing:.37px}
.top-right{display:flex;gap:10px;align-items:center;padding-bottom:3px}
.icon-btn{position:relative;width:36px;height:36px;border-radius:50%;border:0;background:var(--fill);display:grid;place-items:center;padding:0;transition:transform .2s var(--spring),background .2s}
.icon-btn:active{transform:scale(.88)}
.icon-btn::before{content:"";position:absolute;inset:-4px}
.icon-btn svg{width:20px;height:20px;fill:none;stroke:var(--accent);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.icon-btn.on{background:var(--accent)}.icon-btn.on svg{stroke:#fff}

main{padding:6px var(--m) 24px;max-width:600px;margin:0 auto}
.view{animation:fade .3s var(--ease)}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* ---------- pills ---------- */
.pill{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:999px;font-size:12px;line-height:1;font-weight:600;letter-spacing:0;white-space:nowrap;background:var(--fill);color:var(--muted);flex:none}
.pill.go,.pill.green{background:rgba(52,199,89,.16);background:color-mix(in srgb,var(--green) 18%,transparent);color:var(--green)}
.pill.red{background:rgba(255,59,48,.16);background:color-mix(in srgb,var(--red) 18%,transparent);color:var(--red)}
.pill.orange{background:rgba(255,149,0,.16);background:color-mix(in srgb,var(--orange) 18%,transparent);color:var(--orange)}
.pill.blue{background:rgba(0,122,255,.16);background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}
.pill.gray{background:var(--fill);color:var(--muted)}
.badge{height:28px;padding:0 12px;font-size:13px;letter-spacing:.3px}
.tag{display:inline-flex;align-items:center;height:18px;margin-left:6px;padding:0 7px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:0;vertical-align:2px;color:var(--orange);background:rgba(255,149,0,.16);background:color-mix(in srgb,var(--orange) 16%,transparent)}

/* ---------- cards / sections ---------- */
.card{background:var(--card);border-radius:var(--r);padding:18px 20px;margin-bottom:16px;box-shadow:var(--card-shadow)}
.group-title{display:flex;align-items:baseline;justify-content:space-between;margin:30px 4px 10px;font:600 20px/25px var(--font-d);letter-spacing:.38px}
.group-title.first{margin-top:10px}
.group-title .cnt{font:400 15px/20px var(--font);letter-spacing:-.24px;color:var(--muted)}
.section{font-size:13px;line-height:18px;letter-spacing:-.08px;color:var(--muted);font-weight:600;text-transform:none;margin:18px 4px 8px}
.sec-row{display:flex;justify-content:space-between;gap:12px}
.intro{font-size:15px;line-height:20px;color:var(--muted);margin:4px 4px 18px}
.pos{color:var(--green)}.neg{color:var(--red)}.mut{color:var(--muted)}
.foot{font-size:13px;line-height:18px;margin-top:10px;color:var(--muted)}
.sub13{font-size:13px;margin-top:2px}
.row-title{font-weight:600;font-size:17px}

/* hero */
.hero{position:relative;overflow:hidden;padding:22px 20px 20px;border-radius:30px}
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 90% at 0% 0%,rgba(10,132,255,.08),transparent 60%)}
.hero.pos::before{background:radial-gradient(circle at 0 0,rgba(48,209,88,.12),rgba(48,209,88,.05) 32%,transparent 70%)}
.hero.neg::before{background:radial-gradient(circle at 0 0,rgba(255,69,58,.13),rgba(255,69,58,.06) 32%,transparent 70%)}
:root:not([data-theme="dark"]) .hero.pos::before{background:radial-gradient(130% 100% at 0% 0%,rgba(52,199,89,.08),transparent 60%)}
:root:not([data-theme="dark"]) .hero.neg::before{background:radial-gradient(130% 100% at 0% 0%,rgba(255,59,48,.07),transparent 60%)}
.hero>*{position:relative}
.hero .lbl{color:var(--muted);font-size:15px;font-weight:500;letter-spacing:-.24px}
.hero .num{font:700 52px/1.05 var(--font-d);letter-spacing:-.5px;font-variant-numeric:tabular-nums;margin:6px 0 10px}
.hero-sub{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.bal-in{color:var(--muted);font-size:15px;letter-spacing:-.24px}.bal-in b{color:var(--text);font-weight:600;margin-left:4px}
.hero.compact .num{font-size:40px;margin-bottom:4px}
.hero .meta{font-size:15px;letter-spacing:-.24px;color:var(--muted)}
.chg{display:inline-flex;align-items:center;height:28px;font-size:15px;font-weight:600;padding:0 12px;border-radius:999px;background:var(--fill)}
.chg.pos{background:rgba(52,199,89,.16);background:color-mix(in srgb,var(--green) 18%,transparent)}.chg.neg{background:rgba(255,59,48,.16);background:color-mix(in srgb,var(--red) 18%,transparent)}
.bal{display:flex;justify-content:space-between;align-items:center;min-height:44px;margin-top:14px}
.bal span{color:var(--muted);font-size:15px}.bal b{font-size:17px;font-weight:600}

/* segmented control: capsule with sliding thumb */
.seg{--n:3;--i:0;display:flex;width:100%;background:rgba(118,118,128,.12);border-radius:999px;padding:2px;margin-top:18px;position:relative;isolation:isolate}
.seg .thumb{position:absolute;z-index:-1;top:2px;bottom:2px;left:2px;width:calc((100% - 4px) / var(--n));transform:translateX(calc(100% * var(--i)));border-radius:999px;background:var(--thumb);box-shadow:var(--shadow-thumb);transition:transform .35s var(--spring)}
.seg button{flex:1;border:0;background:transparent;color:var(--text);height:32px;padding:0 6px;border-radius:999px;font-size:13px;font-weight:600;letter-spacing:-.08px;white-space:nowrap;transition:transform .15s,font-weight .2s}
.seg button:active{transform:scale(.94)}
.seg button.on{font-weight:600}
.seg.wide{margin:0 0 12px}

/* ---------- inset grouped lists ---------- */
.list{background:var(--card);border-radius:var(--r);overflow:hidden;margin-bottom:16px;padding:6px 0;box-shadow:var(--card-shadow)}
.row-wrap{position:relative}
.row-wrap+.row-wrap::before{content:"";position:absolute;top:0;left:72px;right:0;height:1px;background:var(--line);transform:scaleY(.5);z-index:1}
.li{display:flex;align-items:center;gap:14px;min-height:68px;padding:12px 18px;background:transparent;width:100%;border:0;text-align:left;transition:background .2s,transform .2s var(--spring);position:relative}
button.li:active{background:var(--fill)}
.av{flex:none;width:40px;height:40px;border-radius:50%;background:var(--fill);color:var(--muted);display:grid;place-items:center;font-size:13px;font-weight:700;letter-spacing:0}
.av svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.av.blue,.av.buy{color:var(--blue);background:rgba(10,132,255,.16);background:color-mix(in srgb,var(--blue) 18%,transparent)}
.av.green,.av.win{color:var(--green);background:rgba(48,209,88,.16);background:color-mix(in srgb,var(--green) 18%,transparent)}
.av.red,.av.loss{color:var(--red);background:rgba(255,69,58,.16);background:color-mix(in srgb,var(--red) 18%,transparent)}
.av.orange{color:var(--orange);background:rgba(255,159,10,.16);background:color-mix(in srgb,var(--orange) 18%,transparent)}
.av.purple{color:var(--purple);background:rgba(191,90,242,.16);background:color-mix(in srgb,var(--purple) 18%,transparent)}
.av.teal{color:var(--teal);background:rgba(64,200,224,.16);background:color-mix(in srgb,var(--teal) 18%,transparent)}
.av.pink{color:var(--pink);background:rgba(255,55,95,.16);background:color-mix(in srgb,var(--pink) 18%,transparent)}
.av.indigo{color:var(--indigo);background:rgba(94,92,230,.18);background:color-mix(in srgb,var(--indigo) 22%,transparent)}
.av.yellow{color:#c99a00;background:rgba(255,204,0,.18);background:color-mix(in srgb,var(--yellow) 20%,transparent)}
:root[data-theme="dark"] .av.yellow{color:var(--yellow)}
.li .main{flex:1;min-width:0}
.li .t{font-size:17px;font-weight:600;letter-spacing:-.41px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.li .s{color:var(--muted);font-size:13px;letter-spacing:-.08px;margin-top:4px;display:flex;align-items:center;gap:6px;white-space:nowrap;overflow:hidden}
.li .s>span:not(.pill){overflow:hidden;text-overflow:ellipsis}
.li .end{text-align:right;flex:none;max-width:48%}
.li .end .t{font-weight:600}
.li .end .s{justify-content:flex-end}
.exp{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s var(--ease)}
.exp>div{overflow:hidden}
.exp.open{grid-template-rows:1fr}
.dl{margin:0 18px 14px 72px;padding:6px 14px;background:var(--fill);background:color-mix(in srgb,var(--fill) 70%,transparent);border-radius:16px}
.dl div{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:38px;font-size:15px;letter-spacing:-.24px}
.dl div>span:first-child{color:var(--muted);flex:none}
.dl div>span:last-child{text-align:right;min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.mono{font-family:var(--mono);font-size:13px;letter-spacing:0;color:var(--muted);word-break:break-all;cursor:pointer}
.mono.center{text-align:center}
.mono svg{stroke:var(--accent)!important}
.link{color:var(--accent);text-decoration:none}

/* disclosure */
.details-btn{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:56px;background:var(--card);border:0;border-radius:var(--r);padding:0 20px;color:var(--text);font-size:17px;font-weight:500;transition:transform .2s var(--spring),background .2s;box-shadow:var(--card-shadow)}
.details-btn:active{transform:scale(.98)}
.details-btn svg,.hright svg{width:16px;height:16px;stroke:var(--dim);fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;transform:rotate(-90deg);transition:transform .35s var(--ease)}
.details-btn.open svg,.health.open .hright svg{transform:rotate(0)}
.details-btn.open{border-radius:var(--r) var(--r) 0 0}
.details{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s var(--ease)}
.details>div{overflow:hidden}
.details.open{grid-template-rows:1fr}
.details-btn+.details.open>div>.card,.details-btn+.details.open>div>.kv{border-top-left-radius:0;border-top-right-radius:0;padding-top:4px}
.details-btn+.details{margin-bottom:16px}
.details-btn+.details>div>.card{margin-bottom:0}

.kv{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px;background:var(--card);border-radius:var(--r);padding:16px 20px 20px}
.kv small{display:block;color:var(--muted);font-size:13px;letter-spacing:-.08px;margin-bottom:3px}.kv b{font-weight:600;font-size:17px}

/* destructive button: tinted capsule */
.stop{display:block;width:100%;min-height:54px;margin-top:28px;border:0;background:rgba(255,59,48,.14);background:color-mix(in srgb,var(--red) 15%,transparent);color:var(--red);border-radius:999px;padding:0 20px;font-size:17px;font-weight:600;transition:transform .2s var(--spring),opacity .2s}
.stop:active{transform:scale(.97);opacity:.8}
.stop[disabled]{color:var(--muted);background:var(--fill)}
.hint{color:var(--muted);font-size:13px;line-height:18px;letter-spacing:-.08px;text-align:center;margin:10px 20px 0}
.list+.hint,.card+.hint{margin-top:-6px}
.notice{display:flex;gap:12px;align-items:flex-start;background:var(--card);border-radius:var(--r);padding:16px 20px;margin-bottom:16px;font-size:15px;letter-spacing:-.24px}
.notice .ic{flex:none;width:10px;height:10px;border-radius:50%;margin-top:5px;background:var(--orange)}
.notice.red{background:rgba(255,59,48,.12);background:color-mix(in srgb,var(--red) 13%,var(--card))}
.notice.red .ic{background:var(--red)}.notice .sub{color:var(--muted);font-size:13px;margin-top:3px}

/* filter chips */
.chips{display:flex;gap:8px;overflow-x:auto;margin:0 calc(-1 * var(--m)) 18px;padding:0 var(--m);scrollbar-width:none;-webkit-mask-image:linear-gradient(to right,#000 85%,transparent);mask-image:linear-gradient(to right,#000 85%,transparent)}
.chips::-webkit-scrollbar{display:none}
.chips button{flex:none;border:0;background:var(--card);color:var(--text);height:36px;padding:0 16px;border-radius:999px;font-size:14px;font-weight:600;letter-spacing:-.15px;transition:background .25s,color .25s,transform .2s var(--spring)}
.chips button:active{transform:scale(.94)}
.chips button.on{background:var(--accent);color:#fff}

.empty{text-align:center;color:var(--muted);padding:80px 28px;font-size:15px;line-height:20px;letter-spacing:-.24px}
.empty.in-card{padding:16px 4px 8px}
.empty .ic{width:64px;height:64px;border-radius:50%;margin:0 auto 16px;background:var(--fill);display:grid;place-items:center}
.empty .ic svg{width:28px;height:28px;stroke:var(--muted);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.empty b{display:block;color:var(--text);font-weight:600;font-size:20px;letter-spacing:.38px;margin-bottom:6px}
.qr{background:#fff;border-radius:20px;padding:14px;width:200px;margin:4px auto 16px}.qr svg{display:block;width:100%;height:auto}
.prog{height:8px;background:var(--fill);border-radius:999px;overflow:hidden;margin-top:16px}
.prog i{display:block;height:100%;background:var(--orange);border-radius:999px;transition:width .6s var(--ease)}
.lockrow{display:flex;gap:14px;align-items:center}.lockrow .main{flex:1;min-width:0}

/* rows inside cards */
.crit{display:flex;justify-content:space-between;align-items:center;min-height:44px;padding:10px 0;font-size:15px;letter-spacing:-.24px;gap:12px;position:relative}
.crit:not(:last-child)::after,.set:not(:last-child)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--line);transform:scaleY(.5)}
.crit .c{display:flex;align-items:center;gap:10px;min-width:0}
.ck{flex:none;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--dim);position:relative}
.ck.ok{border-color:var(--green);background:var(--green)}
.ck.ok::after{content:"";position:absolute;left:6.5px;top:3px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.crit b{font-weight:500;white-space:nowrap}
.sub-h{font-size:13px;font-weight:600;letter-spacing:-.08px;color:var(--muted);padding:16px 0 4px;margin:0}
.sub-h:first-child{padding-top:10px}
.sub-row{display:flex;justify-content:space-between;align-items:center;gap:8px}
.card.tight{padding:4px 20px}
.set{display:flex;justify-content:space-between;align-items:center;min-height:50px;padding:12px 0;gap:16px;font-size:17px;position:relative}
.set span:first-child{color:var(--text);flex:none}.set span:last-child{text-align:right;color:var(--muted);font-weight:400}

/* ---------- floating glass tab bar ---------- */
.tabs{position:fixed;left:16px;right:16px;bottom:calc(12px + var(--safe-b));z-index:6;display:grid;grid-template-columns:repeat(5,1fr);max-width:560px;margin:0 auto;padding:4px;border-radius:999px;background:var(--glass);-webkit-backdrop-filter:saturate(180%) blur(30px);backdrop-filter:saturate(180%) blur(30px);box-shadow:var(--glass-shadow),inset 0 0 0 .5px var(--glass-edge)}
.tabs button{border:0;background:none;color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:54px;border-radius:999px;font-size:10px;font-weight:500;letter-spacing:.1px;padding:0;transition:color .2s,background .3s var(--ease),transform .2s var(--spring)}
.tabs button:active{transform:scale(.92)}
.tabs button svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.tabs button.active{color:var(--accent);background:var(--tab-sel);font-weight:600}
.tabs button.active svg{stroke-width:2}

/* ---------- sheet / toast ---------- */
.modal{position:fixed;inset:0;z-index:10;background:rgba(0,0,0,.4);display:flex;align-items:flex-end;justify-content:center;animation:fadeBg .2s;padding:0 8px calc(8px + var(--safe-b))}
@keyframes fadeBg{from{opacity:0}}
.modal.hidden,.toast.hidden{display:none}
.sheet{background:var(--card);width:100%;max-width:600px;border-radius:34px;padding:10px 20px 20px;animation:up .4s var(--ease);box-shadow:0 -10px 40px rgba(0,0,0,.2)}
@keyframes up{from{transform:translateY(110%)}}
.grab{width:36px;height:5px;border-radius:3px;background:var(--dim);margin:0 auto 18px}
.sheet h2{margin:0 0 8px;font:600 22px/28px var(--font-d);letter-spacing:.35px;text-align:center}
.sheet p{color:var(--muted);margin:0 0 22px;font-size:15px;line-height:20px;letter-spacing:-.24px;text-align:center}
.sheet .btns{display:grid;gap:10px}
.btn-red{border:0;background:var(--red);color:#fff;border-radius:999px;min-height:54px;font-size:17px;font-weight:600;transition:transform .2s var(--spring)}
.btn-ghost{border:0;background:var(--fill);color:var(--text);border-radius:999px;min-height:54px;font-size:17px;font-weight:600;transition:transform .2s var(--spring)}
.btn-red:active,.btn-ghost:active{transform:scale(.97)}.btn-red[disabled]{opacity:.5}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(100px + var(--safe-b));background:var(--glass);color:var(--text);padding:12px 20px;border-radius:999px;z-index:11;font-size:15px;font-weight:500;max-width:90%;-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);box-shadow:var(--glass-shadow);animation:fade .2s}

/* ---------- buckets ---------- */
.bstats{display:grid;grid-template-columns:repeat(4,auto);justify-content:space-between;gap:8px;margin:0 18px 10px 72px;padding:12px 14px;background:var(--fill);background:color-mix(in srgb,var(--fill) 70%,transparent);border-radius:16px}
.bstats small{display:block;color:var(--muted);font-size:12px;margin-bottom:2px}.bstats b{font-weight:600;font-size:15px;letter-spacing:-.24px}
.gchecks{margin:0 18px 14px 72px}
.gchecks .sub-h{padding-top:6px}
.mono-b{font-family:var(--mono);font-weight:500;color:var(--text);font-size:13px;letter-spacing:0}
.warn-t{color:var(--orange)}
.crit b.src{white-space:normal;text-align:right;font-size:13px}
.crit.gap small{display:block;color:var(--muted);font-size:12px;margin-top:2px}

/* ---------- system health card ---------- */
.health{padding:0;overflow:hidden}
.health button{border:0;background:none;width:100%;text-align:left;padding:0;color:inherit}
.hhead{display:flex;justify-content:space-between;align-items:center;padding:18px 20px 4px!important}
.htitle{display:flex;align-items:center;gap:8px;font-size:17px;font-weight:600}
.hright{display:flex;align-items:center;gap:8px}
.hstrip{display:grid!important;grid-template-columns:repeat(3,1fr);gap:16px;padding:12px 20px 4px!important}
.hstrip small{display:block;color:var(--muted);font-size:13px;margin-bottom:3px;white-space:nowrap}
.hstrip b{font-weight:600;font-size:22px;letter-spacing:.35px}
.hstrip b.warn{color:var(--orange)}.hstrip b.bad{color:var(--red)}
.sdot{flex:none;display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px rgba(48,209,88,.2)}
.sdot.warn{background:var(--orange);box-shadow:0 0 0 3px rgba(255,159,10,.2)}.sdot.bad{background:var(--red);box-shadow:0 0 0 3px rgba(255,69,58,.2)}
.cleanrow{display:flex!important;align-items:center;gap:12px;padding:16px 20px 20px!important;font-size:13px;color:var(--muted)!important}
.cleanrow .cl{flex:none}
.cleanrow b{flex:none;font-weight:600;color:var(--text)}
.cbar{flex:1;height:4px;border-radius:999px;background:var(--fill);overflow:hidden}
.cbar i{display:block;height:100%;background:var(--orange);border-radius:999px}.cbar i.ok{background:var(--green)}
.health .details>div{padding:0 20px}
.health.open .details>div{padding-bottom:12px}
.cfgline{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 0 2px;color:var(--muted);font-size:13px;box-shadow:inset 0 .5px 0 var(--line)}
.cfgline b{margin-left:4px}
.hbody .sub-h:first-child{padding-top:14px}

.hstate{display:inline-flex;align-items:center;gap:7px;font-size:15px;font-weight:500;color:var(--green)}
.hstate.warn{color:var(--orange)}.hstate.bad{color:var(--red)}
.li{min-height:64px}
.card .empty.in-card b{font-size:17px}

:root[data-theme="dark"] .seg{background:rgba(118,118,128,.24)}
:root[data-theme="dark"] .badge.blue{background:rgba(10,132,255,.22);color:#64b5ff}
:root[data-theme="dark"] .badge.red{background:rgba(255,69,58,.24);color:#ff8a80}
.icon-btn{background:rgba(120,120,128,.14)}:root[data-theme="dark"] .icon-btn{background:rgba(120,120,128,.24)}
.icon-btn.on{background:var(--accent)}
/* rows: airier lists */
.li{min-height:72px;padding:14px 20px}
.li .s{font-size:13px;margin-top:5px;gap:8px}
.row-wrap+.row-wrap::before{left:74px;background:rgba(60,60,67,.14);transform:scaleY(.5)}
:root[data-theme="dark"] .row-wrap+.row-wrap::before{background:rgba(84,84,88,.45)}
.dl,.bstats,.gchecks{margin-left:74px;margin-right:20px}
.li .s .pill{height:22px;padding:0 10px}
/* avatars: stronger dark tints */
:root[data-theme="dark"] .av.blue,:root[data-theme="dark"] .av.buy{background:rgba(10,132,255,.26)}
:root[data-theme="dark"] .av.green,:root[data-theme="dark"] .av.win{background:rgba(48,209,88,.24)}
:root[data-theme="dark"] .av.red,:root[data-theme="dark"] .av.loss{background:rgba(255,69,58,.26)}
:root[data-theme="dark"] .av.orange{background:rgba(255,159,10,.26)}
:root[data-theme="dark"] .av.purple{background:rgba(191,90,242,.28)}
:root[data-theme="dark"] .av.teal{background:rgba(64,200,224,.24)}
:root[data-theme="dark"] .av.pink{background:rgba(255,55,95,.26)}
:root[data-theme="dark"] .av.indigo{background:rgba(94,92,230,.32)}
:root[data-theme="dark"] .av.yellow{background:rgba(255,214,10,.24)}
/* system card rhythm */
.hstrip small{margin-bottom:6px;white-space:normal;line-height:16px}
.hstrip{gap:12px}
.cleanrow{padding-top:20px!important}
.cleanrow b{font-size:13px}
/* section rhythm */
.group-title{margin:32px 4px 12px}.group-title.first{margin-top:10px}
.hint{margin:10px 24px 0}
/* empty state */
.empty.in-card .ic{width:64px;height:64px}.empty.in-card .ic svg{width:28px;height:28px}
.empty.in-card{max-width:300px;margin:0 auto;line-height:21px}
.prog{background:rgba(120,120,128,.16)}:root[data-theme="dark"] .prog{background:rgba(120,120,128,.28)}

/* post-audit round 3 fixes */
body{padding-bottom:calc(96px + 12px + var(--safe-b) + 16px)}
.tabs button{height:52px}
.tabs button.active{background:rgba(120,120,128,.10)}:root[data-theme="dark"] .tabs button.active{background:rgba(255,255,255,.08)}
:root:not([data-theme="dark"]){--sys-hint:#6c6c70;--green-t:#248a3d;--red-t:#d70015}
:root:not([data-theme="dark"]) .pos,:root:not([data-theme="dark"]) .li .end .t.pos{color:var(--green-t)}
:root:not([data-theme="dark"]) .neg{color:var(--red-t)}
.hero .num{font-size:48px}.hero.compact .num{font-size:40px}
.hero .lbl{font-weight:400}.hero .num{margin-top:4px}
.pill.gray{background:rgba(120,120,128,.14);color:#3c3c43}
:root[data-theme="dark"] .pill.gray{background:rgba(235,235,245,.16);color:#ebebf5}
.li .s .pill{height:20px;padding:0 8px;letter-spacing:.3px}
.hstate.bad{background:rgba(255,69,58,.16);padding:4px 10px;border-radius:999px;font-size:13px;font-weight:600}
.hstate.warn{background:rgba(255,159,10,.16);padding:4px 10px;border-radius:999px;font-size:13px;font-weight:600}
.hstate.bad .sdot,.hstate.warn .sdot{display:none}
.chips{margin-bottom:20px}.chips button{height:34px;font-weight:500;font-size:15px}
.group-title.first{margin-top:20px}
.badge{height:30px}:root:not([data-theme="dark"]) .badge.blue{background:rgba(0,122,255,.12);color:#007aff}
:root:not([data-theme="dark"]) .hero.pos::before{background:radial-gradient(80% 80% at 0 0,rgba(52,199,89,.09),transparent 100%)}
:root:not([data-theme="dark"]) .hero.neg::before{background:radial-gradient(80% 80% at 0 0,rgba(255,59,48,.08),transparent 100%)}
:root:not([data-theme="dark"]) .av.blue,:root:not([data-theme="dark"]) .av.buy{color:#0040dd}
:root:not([data-theme="dark"]) .av.green,:root:not([data-theme="dark"]) .av.win{color:#248a3d}
:root:not([data-theme="dark"]) .av.red,:root:not([data-theme="dark"]) .av.loss{color:#d70015}
:root:not([data-theme="dark"]) .av.orange{color:#c93400}
:root:not([data-theme="dark"]) .av.purple{color:#8944ab}
:root:not([data-theme="dark"]) .av.teal{color:#0071a4}
:root:not([data-theme="dark"]) .av.pink{color:#d30f45}
:root:not([data-theme="dark"]) .av.indigo{color:#3634a3}
/* audit round 4 fixes */
body::after{height:calc(62px + 12px + 48px + var(--safe-b));background:linear-gradient(to bottom,transparent 0,var(--bg) 48px,var(--bg) 100%)}
:root{--glass:rgba(255,255,255,.85);--glass-shadow:0 8px 24px rgba(0,0,0,.10)}
:root[data-theme="dark"]{--glass:rgba(28,28,30,.80);--glass-shadow:inset 0 .5px 0 rgba(255,255,255,.10),0 8px 24px rgba(0,0,0,.35)}
.tabs{-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.tabs,.top.scrolled{background:var(--card)}}
:root:not([data-theme="dark"]){--orange-t:#c93400}
:root:not([data-theme="dark"]) .pill.orange,:root:not([data-theme="dark"]) .hstate.warn,:root:not([data-theme="dark"]) .hstrip b.warn,:root:not([data-theme="dark"]) .av.orange,:root:not([data-theme="dark"]) .tag,:root:not([data-theme="dark"]) .warn-t{color:var(--orange-t)}
:root[data-theme="dark"] .seg .thumb{background:#5a5a5e}
.seg .thumb{box-shadow:0 3px 8px rgba(0,0,0,.12)}
.seg button{font-weight:500}.seg button.on{font-weight:600}
.chips button{background:rgba(120,120,128,.12)}:root[data-theme="dark"] .chips button{background:var(--card)}
.chips button.on{background:rgba(0,122,255,.12);color:#007aff}
:root[data-theme="dark"] .chips button.on{background:rgba(10,132,255,.18);color:#409cff}
:root[data-theme="dark"] .badge.blue{background:rgba(10,132,255,.18);color:#409cff}
.badge,.icon-btn{height:32px}.badge{border-radius:16px;padding:0 13px}.icon-btn{width:32px}
.icon-btn{background:rgba(120,120,128,.12)}:root[data-theme="dark"] .icon-btn{background:rgba(120,120,128,.24)}
.cbar{height:4px;border-radius:2px;background:rgba(120,120,128,.24)}
.foot{font-size:15px;line-height:20px}
.av{font-size:15px;font-weight:600}
:root[data-theme="dark"] .av.blue,:root[data-theme="dark"] .av.buy{background:rgba(10,132,255,.20);color:#409cff}
:root[data-theme="dark"] .av.green,:root[data-theme="dark"] .av.win{background:rgba(48,209,88,.20);color:#30d158}
:root[data-theme="dark"] .av.red,:root[data-theme="dark"] .av.loss{background:rgba(255,69,58,.20);color:#ff6961}
:root[data-theme="dark"] .av.orange{background:rgba(255,159,10,.20);color:#ffb340}
:root[data-theme="dark"] .av.purple{background:rgba(191,90,242,.20);color:#da8fff}
:root[data-theme="dark"] .av.teal{background:rgba(64,200,224,.20);color:#70d7ff}
:root[data-theme="dark"] .av.pink{background:rgba(255,55,95,.20);color:#ff6482}
:root[data-theme="dark"] .av.indigo{background:rgba(94,92,230,.24);color:#9a99ff}
:root[data-theme="dark"] .av.yellow{background:rgba(255,214,10,.20);color:#ffd60a}
:root:not([data-theme="dark"]) .hero::before,:root:not([data-theme="dark"]) .hero.pos::before,:root:not([data-theme="dark"]) .hero.neg::before{background:none}
:root:not([data-theme="dark"]) .hero.pos{background:linear-gradient(180deg,rgba(52,199,89,.06),rgba(52,199,89,0) 60%),var(--card)}
:root:not([data-theme="dark"]) .hero.neg{background:linear-gradient(180deg,rgba(255,59,48,.06),rgba(255,59,48,0) 60%),var(--card)}
/* audit round 5 fixes */
:root[data-theme="dark"] .hero::before{background:none!important}
:root[data-theme="dark"] .hero.pos{background:linear-gradient(180deg,rgba(48,209,88,.10) 0%,rgba(48,209,88,0) 60%),#1c1c1e}
:root[data-theme="dark"] .hero.neg{background:linear-gradient(180deg,rgba(255,69,58,.10) 0%,rgba(255,69,58,0) 60%),#1c1c1e}
.seg.wide{padding:2px}.seg.wide button{height:32px}
.chips{margin-top:0;scroll-padding-inline:16px;padding-right:40px;-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 24px),transparent)}
.chips button{position:relative;height:32px;padding:0 14px;font-size:15px;font-weight:400}
.chips button.on{font-weight:600}
.chips button::before{content:"";position:absolute;inset:-6px 0}
:root[data-theme="dark"] .chips button.on{background:rgba(10,132,255,.24);color:#409cff}
body{padding-bottom:calc(64px + var(--safe-b) + 16px + 48px)}
.cleanrow{flex-wrap:wrap;gap:8px 12px!important}
.cleanrow .cl{flex:1}
.cleanrow b{order:2}
.cleanrow .cbar{order:3;flex:0 0 100%}
.hstrip small{margin-bottom:4px}
.li .s .pill.gray,.pill.gray{background:rgba(120,120,128,.20);color:var(--muted)}
:root[data-theme="dark"] .li .s .pill.gray,:root[data-theme="dark"] .pill.gray{background:rgba(120,120,128,.20);color:var(--muted)}
.li .s .pill{height:20px;padding:0 8px;font-size:12px}
.li .s{gap:6px}
.hint{text-align:left;margin:8px 20px 0}
.list+.hint,.card+.hint{margin-top:-8px}
.empty .hint,.sheet .hint{text-align:center}
.group-title{margin:28px 4px 10px;font:700 22px/28px var(--font-d);letter-spacing:.35px}
.group-title.first{margin-top:28px}
main{padding-left:16px;padding-right:16px}
.card,.list{border-radius:26px}
.card{padding:20px}
.health{padding:0}.hhead,.hstrip,.cleanrow{padding-left:20px!important;padding-right:20px!important}
.li{min-height:64px;padding:12px 20px}
.li .s{font-size:15px}
.row-wrap+.row-wrap::before{left:74px;right:16px;background:rgba(60,60,67,.29)}
:root[data-theme="dark"] .row-wrap+.row-wrap::before{background:rgba(84,84,88,.6)}
.tabs button{font-weight:500}.tabs button.active{font-weight:500}
.icon-btn::before{inset:-6px}
.badge{position:relative}
.icon-btn:focus-visible,.tabs button:focus-visible,.li:focus-visible,.details-btn:focus-visible,.seg button:focus-visible,.chips button:focus-visible,.stop:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
/* audit round 6 fixes */
body::after{height:calc(12px + 62px + 12px + var(--safe-b));background:linear-gradient(to bottom,transparent 0,var(--bg) 12px,var(--bg) 100%)}
:root{--glass:rgba(255,255,255,.78)}:root[data-theme="dark"]{--glass:rgba(28,28,30,.78);--glass-edge:rgba(255,255,255,.08)}
:root:not([data-theme="dark"]) .hero.pos{background:linear-gradient(180deg,rgba(52,199,89,.10) 0%,rgba(52,199,89,.05) 40%,rgba(52,199,89,.02) 75%,transparent 100%),var(--card)}
:root:not([data-theme="dark"]) .hero.neg{background:linear-gradient(180deg,rgba(255,59,48,.10) 0%,rgba(255,59,48,.05) 40%,rgba(255,59,48,.02) 75%,transparent 100%),var(--card)}
:root[data-theme="dark"] .hero.pos{background:linear-gradient(180deg,rgba(48,209,88,.10) 0%,rgba(48,209,88,.05) 40%,rgba(48,209,88,.02) 75%,transparent 100%),#1c1c1e}
:root[data-theme="dark"] .hero.neg{background:linear-gradient(180deg,rgba(255,69,58,.10) 0%,rgba(255,69,58,.05) 40%,rgba(255,69,58,.02) 75%,transparent 100%),#1c1c1e}
.flabel{font-size:13px;line-height:18px;color:var(--muted);margin:0 4px 8px}
:root:not([data-theme="dark"]){--sys-hint:#6d6d72}
:root:not([data-theme="dark"]) .pill.gray{background:rgba(120,120,128,.16);color:#6d6d72}
.pill.orange,.hstate.warn,.hstate.bad{height:24px;padding:0 10px;font-size:13px;font-weight:600}
.pill.orange{background:rgba(255,159,10,.18)}:root:not([data-theme="dark"]) .pill.orange{background:rgba(255,149,0,.14)}
.list.plain{padding:0}.list.plain .li{min-height:64px}
.t.reg{font-weight:400!important}
.group-title{align-items:baseline}.group-title .cnt{line-height:28px}
.hero .num{margin-bottom:8px}
.hero-sub{align-items:center}.chg{height:28px;font-size:15px;font-weight:600}
