:root{--bg:#edf1f6;--card:#ffffff;--ink:#0e1a2b;--mut:#5b6a7d;--line:#d9e1ea;--ac:#2a6df4;--acd:#1a4fc4;--acs:#e4edff;--warm:#b85c00;--warms:rgba(232,137,12,.15);--good:#12805c;--goods:rgba(18,128,92,.13);--bad:#c0392b;--bads:rgba(192,57,43,.12);--shadow:0 1px 2px rgba(14,26,43,.06),0 8px 24px -14px rgba(14,26,43,.25);color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0b1220;--card:#131c2e;--ink:#eaf0f8;--mut:#93a1b5;--line:#24324a;--ac:#4a86f7;--acd:#7aa8ff;--acs:#172544;--warm:#f0993a;--warms:rgba(240,153,58,.16);--good:#4fd1a1;--goods:rgba(79,209,161,.14);--bad:#ff8a7a;--bads:rgba(255,138,122,.14);--shadow:none;color-scheme:dark}}:root[data-theme=dark]{--bg:#0b1220;--card:#131c2e;--ink:#eaf0f8;--mut:#93a1b5;--line:#24324a;--ac:#4a86f7;--acd:#7aa8ff;--acs:#172544;--warm:#f0993a;--warms:rgba(240,153,58,.16);--good:#4fd1a1;--goods:rgba(79,209,161,.14);--bad:#ff8a7a;--bads:rgba(255,138,122,.14);--shadow:none;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}html,body{margin:0;background:var(--bg);color:var(--ink)}body{font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-variant-numeric:tabular-nums;-webkit-text-size-adjust:100%;overscroll-behavior-y:none}button{font:inherit;color:inherit;cursor:pointer}h1,h2,h3,p{margin:0}.view{max-width:600px;margin:0 auto;padding:calc(env(safe-area-inset-top,0px) + 20px) 18px calc(112px + env(safe-area-inset-bottom,0px))}.hd{margin-bottom:16px}.hd h1{font-size:30px;font-weight:750;letter-spacing:-.025em;line-height:1.1}.hd p{color:var(--mut);margin-top:3px;font-size:15px}h3.sec{font-size:13px;font-weight:650;color:var(--mut);margin:26px 0 8px;letter-spacing:.01em}.hero{position:relative;overflow:hidden;border-radius:26px;padding:20px 18px 18px;color:#fff;background:radial-gradient(95% 75% at 50% 125%,#60aafff2,#2a6df46b 38%,#2a6df400 72%),linear-gradient(180deg,#09152c,#0c2247);box-shadow:0 18px 40px -22px #1a4fc4cc}.hero .k{font-size:14px;opacity:.78}.odo{--w:clamp(20px,6.9vw,31px);display:flex;align-items:center;gap:2px;margin:12px 0 10px}.odo i{font-style:normal;width:var(--w);height:calc(var(--w)*1.46);display:grid;place-items:center;border-radius:5px;background:linear-gradient(180deg,#02060f,#101a2c 45%,#02060f);color:#f3f6fb;font:600 calc(var(--w)*.95)/1 ui-monospace,"SF Mono",Menlo,Consolas,monospace;border:1px solid rgba(255,255,255,.12)}.odo i.r{background:linear-gradient(180deg,#8d1409,#d3281b 45%,#8d1409);color:#fff}.odo b{font-size:calc(var(--w)*.9);margin:0 1px;opacity:.9}.odo em{font-style:normal;font-weight:650;margin-left:7px;opacity:.85;font-size:16px}.hero .m{font-size:15px;opacity:.85;margin-bottom:16px}.hero .m.late{opacity:1;font-weight:650;color:#ffd08a}.btn{display:block;width:100%;border:0;border-radius:15px;padding:15px 16px;font-weight:700;background:var(--ac);color:#fff;font-size:17px}.btn:active{filter:brightness(.92)}.btn.light{background:#fff;color:#0c2247}.btn.sec{background:var(--card);color:var(--ink);border:1px solid var(--line)}.btn.ghost{background:none;color:var(--mut);font-weight:600;padding:12px}.btn.danger{color:var(--bad)}.btn[disabled]{opacity:.4}.note{border-left:3px solid var(--ac);background:var(--acs);border-radius:0 12px 12px 0;padding:11px 13px;margin:14px 0;font-size:15px}.note.warn{border-color:var(--warm);background:var(--warms)}.note .go{display:inline-block;margin-top:6px;border:0;background:none;color:var(--ac);font-weight:700;padding:0}.note.warn .go{color:var(--warm)}.facts{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);margin:22px 0 4px}.fact{padding:14px 12px 14px 0;border-bottom:1px solid var(--line);min-width:0}.fact:nth-child(2n){padding:14px 0 14px 14px;border-left:1px solid var(--line)}.fact .k{font-size:13px;color:var(--mut)}.fact .v{font-size:27px;font-weight:750;letter-spacing:-.02em;line-height:1.15;margin-top:2px}.fact .v small{font-size:14px;font-weight:600;color:var(--mut);margin-left:3px;letter-spacing:0}.fact .s{font-size:13px;color:var(--mut);margin-top:3px}.chip{display:inline-block;border-radius:99px;padding:1px 9px;font-size:12.5px;font-weight:700;margin-left:6px;vertical-align:2px}.chip.up{background:var(--warms);color:var(--warm)}.chip.down{background:var(--goods);color:var(--good)}.chip.eq{background:var(--line);color:var(--mut)}.card{background:var(--card);border-radius:20px;padding:16px;box-shadow:var(--shadow);border:1px solid var(--line)}.card+.card{margin-top:14px}.card h3{font-size:17px;font-weight:700;margin-bottom:2px}.card .sub{color:var(--mut);font-size:14px}.chead{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:6px}.chead button{border:0;background:none;color:var(--ac);font-weight:650;padding:0;font-size:14px}.seg{display:flex;background:var(--line);border-radius:11px;padding:3px;gap:2px;margin-bottom:10px}.seg button{flex:1;border:0;background:none;color:var(--mut);font-size:13.5px;font-weight:650;padding:7px 6px;border-radius:8px}.seg button.on{background:var(--card);color:var(--ink);box-shadow:0 1px 3px #00000024}.chart{width:100%;height:auto;display:block;touch-action:manipulation}.chart .grid{stroke:var(--line);stroke-width:1}.chart .ax{fill:var(--mut);font-size:10px}.chart .bar{fill:var(--ac)}.chart.hs .bar{opacity:.4}.chart.hs .bar.sel{opacity:1;fill:var(--acd)}.chart .avg{stroke:var(--ink);stroke-width:1;stroke-dasharray:4 3;opacity:.6}.chart .avgt{fill:var(--ink);font-size:10px;font-weight:650}.empty-chart{color:var(--mut);padding:30px 6px;text-align:center;font-size:15px}.detail{margin-top:10px;padding:11px 12px;border-radius:12px;background:var(--acs);font-size:14.5px}.detail b{font-weight:700}.detail .dl{display:grid;grid-template-columns:auto 1fr;gap:2px 14px;margin-top:6px}.detail .dl span:nth-child(odd){color:var(--mut)}.rows{border-top:1px solid var(--line)}.row{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:13px 2px}.row b{display:block;font-weight:650}.row small{display:block;color:var(--mut);font-size:13px;line-height:1.35}.row .r{text-align:right;flex:none}.row .warn{color:var(--warm);font-weight:650}.mh{font-size:13px;font-weight:650;color:var(--mut);margin:24px 0 6px}.mrow{padding:12px 0;border-bottom:1px solid var(--line)}.mrow .t{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.mrow .t b{font-weight:650}.mbar{height:7px;border-radius:99px;background:var(--line);margin:8px 0 6px;overflow:hidden}.mbar i{display:block;height:100%;border-radius:99px;background:var(--ac)}.mbar i.part{opacity:.45}.mrow small{color:var(--mut);font-size:13px}.bill .prog{height:8px;border-radius:99px;background:var(--line);margin:12px 0 4px;overflow:hidden}.bill .prog i{display:block;height:100%;background:var(--ac);border-radius:99px}.bill .verdict{margin:14px 0 4px;padding:14px;border-radius:14px;font-weight:700;font-size:19px;line-height:1.25}.bill .verdict small{display:block;font-weight:500;font-size:14px;margin-top:3px;color:var(--mut)}.bill .verdict.pay{background:var(--warms);color:var(--warm)}.bill .verdict.get{background:var(--goods);color:var(--good)}.bill .verdict.neu{background:var(--acs)}.kv{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:15px}.kv:last-child{border:0}.kv span:first-child{color:var(--mut)}.kv b{font-weight:650;text-align:right}.fine{color:var(--mut);font-size:13px;margin-top:10px;line-height:1.45}.fld{display:block;margin-bottom:14px}.fld span{display:block;font-size:14px;font-weight:650}.fld small{display:block;color:var(--mut);font-size:13px;margin-bottom:5px}input[type=text],input[type=date],textarea{width:100%;font:inherit;font-size:16px;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:12px;min-height:46px;appearance:none;-webkit-appearance:none}input:focus,textarea:focus,button:focus-visible{outline:2px solid var(--ac);outline-offset:1px}textarea{min-height:110px;resize:vertical}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.two .fld{margin-bottom:10px}.out{font-weight:650;color:var(--ac);margin:-6px 0 14px;font-size:14px}.btnrow{display:grid;gap:10px}.sheet{position:fixed;inset:0;z-index:50}.sheet .bd{position:absolute;inset:0;background:#050a148c;opacity:0;transition:opacity .25s}.sheet.open .bd{opacity:1}.panel{position:absolute;left:0;right:0;bottom:0;max-width:600px;margin:0 auto;background:var(--card);border-radius:26px 26px 0 0;padding:10px 18px calc(16px + env(safe-area-inset-bottom,0px));max-height:94vh;overflow:auto;transform:translateY(102%);transition:transform .3s cubic-bezier(.2,.8,.2,1)}.sheet.open .panel{transform:none}.grab{width:38px;height:5px;border-radius:9px;background:var(--line);margin:0 auto 12px}.panel h2{font-size:20px;font-weight:750;margin-bottom:10px}.lbl{display:block;font-size:14px;font-weight:650;margin-bottom:6px}input.big{font-size:34px;font-weight:750;text-align:center;padding:12px;letter-spacing:-.01em;min-height:64px}.sinfo{min-height:48px;margin:10px 0 12px;font-size:14.5px}.sinfo .ok{color:var(--ink)}.sinfo .hint{color:var(--mut)}.sinfo .bad{color:var(--bad);font-weight:650}.sinfo .soft{color:var(--warm);font-weight:650}.sinfo button{border:0;background:none;color:var(--ac);font-weight:700;padding:0;text-decoration:underline}.chk{display:flex;gap:10px;align-items:flex-start;margin:4px 0 14px;font-size:14.5px}.chk input{width:22px;height:22px;margin:1px 0 0;flex:none;accent-color:var(--ac)}.nav{position:fixed;left:0;right:0;bottom:0;z-index:20;display:grid;grid-template-columns:repeat(5,1fr);align-items:end;padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px));background:var(--card);border-top:1px solid var(--line)}@supports (backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px)){.nav{background:color-mix(in srgb,var(--card) 88%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}}.nav button{border:0;background:none;color:var(--mut);font-size:11.5px;font-weight:650;display:flex;flex-direction:column;align-items:center;gap:3px;padding:5px 0}.nav button.on{color:var(--ac)}.nav svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.nav .plus{padding:0 0 4px}.nav .plus span{width:58px;height:58px;margin-top:-26px;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(160deg,#4a8dff,#1a4fc4);box-shadow:0 10px 22px -8px #1a4fc4cc}.nav .plus svg{stroke-width:2.8;width:28px;height:28px}.toast{position:fixed;left:50%;bottom:calc(98px + env(safe-area-inset-bottom,0px));transform:translate(-50%,20px);opacity:0;pointer-events:none;background:var(--ink);color:var(--bg);padding:11px 16px;border-radius:99px;font-weight:650;font-size:14.5px;z-index:60;transition:all .25s;max-width:90vw;text-align:center}.toast.show{opacity:1;transform:translate(-50%)}.empty{text-align:center;padding:34px 8px}.empty svg{width:54px;height:54px;fill:var(--ac);margin-bottom:10px}.empty h2{font-size:22px;margin-bottom:6px}.empty p{color:var(--mut);margin-bottom:18px}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.nav a{border:0;background:none;color:var(--mut);font-size:11.5px;font-weight:650;display:flex;flex-direction:column;align-items:center;gap:3px;padding:5px 0;text-decoration:none}.nav a.on{color:var(--ac)}.sync{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--mut);margin:-6px 0 12px}.sync i{width:8px;height:8px;border-radius:50%;background:var(--warm);flex:none}input[type=email],input[type=password]{width:100%;font:inherit;font-size:16px;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:12px;min-height:46px;appearance:none;-webkit-appearance:none}.err{color:var(--bad);font-weight:650;font-size:14.5px;margin:4px 0 10px}.okmsg{color:var(--good);font-weight:650;font-size:14.5px;margin:4px 0 10px}.start{min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:24px}.linkbtn{border:0;background:none;color:var(--ac);font-weight:650;padding:6px 0;font-size:15px}.dialog{position:fixed;inset:0;z-index:70;display:grid;place-items:end center;background:#050a148c;padding:0 0 env(safe-area-inset-bottom,0px)}.dialog .panel{position:static;transform:none;width:100%;max-width:600px}.note a.go{text-decoration:none}
