:root{--bg:#0f1512;--card:#18211c;--card2:#212d26;--text:#e8efe9;--muted:#8a9c91;--accent:#5ec27f;--good:#5ec27f;--warn:#e9a23b;--bad:#ef6b5e;--line:#26332b;--r:16px}
@media (prefers-color-scheme:light){:root{--bg:#f3f6f4;--card:#fff;--card2:#e8eeea;--text:#16201a;--muted:#667a6e;--accent:#2c9a57;--good:#2c9a57;--warn:#c27d12;--bad:#d4493c;--line:#dde5df}}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:var(--bg);color:var(--text);font:15px/1.4 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
body{padding-bottom:calc(132px + env(safe-area-inset-bottom));min-height:100vh}
header{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;background:var(--bg)}
h1{margin:0;font-size:19px;letter-spacing:.2px}h3{margin:22px 4px 8px;font-size:13px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted)}h3 small{text-transform:none;letter-spacing:0;opacity:.7}
#sync{width:14px;height:14px;border-radius:50%;border:0;background:var(--muted);padding:0}#sync.ok{background:var(--good)}#sync.wait{background:var(--warn)}#sync.err{background:var(--bad)}
main{padding:0 14px;max-width:640px;margin:0 auto}
.card,.hero{background:var(--card);border-radius:var(--r);padding:14px;margin:0 0 10px}
.hero{padding:18px 16px}.big{font-size:34px;font-weight:700;margin:2px 0 10px}.lbl{font-size:12px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted)}
.sub{font-size:13px;color:var(--muted);margin-top:6px}small{color:var(--muted);font-weight:400}
.good{color:var(--good)}.bad{color:var(--bad)}
.row3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.row3 b{font-size:18px;display:block}
.rowb{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:8px}
.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{border:0;background:var(--card2);color:var(--text);border-radius:999px;padding:7px 12px;font:inherit;font-size:13px}.chip b{margin-left:4px}
.chips.pre{padding:6px 0}
.bar{height:8px;border-radius:6px;background:var(--card2);overflow:hidden;margin:4px 0 8px}.bar i{display:block;height:100%;background:var(--c,var(--accent));border-radius:6px}.bar.good i{background:var(--good)}.bar.bad i{background:var(--bad)}.bar.fund i{background:var(--good)}
.cat{display:flex;justify-content:space-between;font-size:14px;margin-top:8px}
.trend{width:100%;height:110px;margin-top:8px;display:block}.trend text{font-size:7px;fill:var(--muted)}
.nudge{border-left:4px solid var(--warn);cursor:pointer}
.seg{display:flex;gap:6px;margin:4px 0 12px}.seg button{flex:1;border:0;background:var(--card);color:var(--muted);border-radius:12px;padding:9px;font:inherit}.seg button.on{background:var(--accent);color:#06210f;font-weight:600}.seg .add{flex:0 0 46px;background:var(--card2);color:var(--text);font-size:20px}
.day{font-size:12px;color:var(--muted);margin:14px 4px 6px;text-transform:uppercase;letter-spacing:.6px}
.tx{display:flex;align-items:center;gap:12px;width:100%;border:0;background:var(--card);color:var(--text);border-radius:14px;padding:12px;margin-bottom:6px;font:inherit;text-align:left}
.tx .tt{flex:1;min-width:0}.tx .tt small{display:block;font-size:12px;margin-top:1px}.dot{width:10px;height:10px;border-radius:50%;flex:none;background:var(--muted)}
.empty{text-align:center;color:var(--muted);padding:30px}
.prio{margin:16px 4px 8px;font-size:13px;color:var(--accent);font-weight:600}
.btn{border:0;background:var(--accent);color:#06210f;font:inherit;font-weight:600;border-radius:12px;padding:12px 18px}.btn.ghost{background:var(--card2);color:var(--text);font-weight:500}.btn.danger{background:var(--bad);color:#fff}
.btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}main>.btn{width:100%;margin-top:6px}.link{background:none;border:0;color:var(--muted);font:inherit;width:100%;padding:12px}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fld{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}
input,select,textarea{width:100%;background:var(--card2);color:var(--text);border:1px solid transparent;border-radius:12px;padding:12px;font:inherit;margin-top:8px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}
.fld input{margin:0}.two{display:grid;grid-template-columns:1fr 1fr;gap:8px}.check{display:flex;align-items:center;gap:8px;margin-top:12px}.check input{width:auto;margin:0}
#fab{position:fixed;right:18px;bottom:calc(74px + env(safe-area-inset-bottom));width:60px;height:60px;border-radius:50%;border:0;background:var(--accent);color:#06210f;display:grid;place-items:center;box-shadow:0 6px 18px #0006;z-index:6}
#fab[hidden]{display:none}
#tabs{position:fixed;left:0;right:0;bottom:0;display:flex;background:var(--card);padding:6px 6px calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--line);z-index:5}
#tabs button{flex:1;border:0;background:none;color:var(--muted);padding:12px 2px;font:inherit;font-size:13px;border-radius:10px}#tabs button.on{color:var(--accent);font-weight:700}
#sheet{position:fixed;inset:0;background:#000a;z-index:20;display:flex;align-items:flex-end}#sheet[hidden]{display:none}
.panel{background:var(--bg);width:100%;max-width:640px;margin:0 auto;border-radius:22px 22px 0 0;padding:18px 16px calc(18px + env(safe-area-inset-bottom));max-height:90vh;overflow:auto}
.quick .qb{display:flex;gap:10px;align-items:center;margin-top:12px}.quick .btn{flex:1}.quick #qin{font-size:17px;margin-top:0}
.mic{width:46px;height:46px;border-radius:50%;border:0;background:var(--card2);color:var(--text);display:grid;place-items:center;flex:none}.mic.big{width:64px;height:64px;background:var(--accent);color:#06210f}
.rec{animation:pulse 1s infinite;background:var(--bad)!important;color:#fff!important}@keyframes pulse{50%{transform:scale(1.1)}}
#toast{position:fixed;left:12px;right:12px;bottom:calc(86px + env(safe-area-inset-bottom));z-index:30;background:var(--text);color:var(--bg);border-radius:14px;padding:12px 14px;display:flex;gap:10px;align-items:center;max-width:616px;margin:0 auto}#toast[hidden]{display:none}#toast span{flex:1}#toast button{border:0;background:none;color:inherit;font:inherit;font-weight:700;text-decoration:underline}
#msgs{display:flex;flex-direction:column;gap:8px;height:calc(100vh - 290px);min-height:200px;overflow:auto;padding:4px 0}
.b{max-width:86%;padding:10px 13px;border-radius:16px;background:var(--card);white-space:pre-wrap}.b.u{align-self:flex-end;background:var(--accent);color:#06210f}.b.err{color:var(--bad)}
.vd{display:inline-block;margin:8px 6px 0 0;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:700}.vd.delay{background:var(--warn);color:#1a1000}.vd.refuse{background:var(--bad);color:#fff}.vd.ok{background:var(--good);color:#06210f}
.rem{display:block;font-size:12px;color:var(--muted);margin-top:6px}
.dots i{display:inline-block;width:7px;height:7px;margin:0 2px;border-radius:50%;background:var(--muted);animation:pulse 1s infinite}
.composer{position:fixed;left:0;right:0;bottom:calc(62px + env(safe-area-inset-bottom));display:flex;gap:8px;padding:8px 12px;background:var(--bg);align-items:center;max-width:640px;margin:0 auto;z-index:4}.composer input{margin:0;flex:1}.send{width:46px;height:46px;border-radius:50%;border:0;background:var(--accent);color:#06210f;font-size:18px;flex:none}
