*,*:before,*:after{box-sizing:border-box}:root{color-scheme:light dark;--bg: #f2f2f7;--card: #ffffff;--card-2: #f5f5f8;--label: #0b0b0c;--label-2: #4b4b50;--label-3: #8a8a8f;--sep: #e6e6eb;--sep-strong: #d1d1d6;--tint: #007aff;--danger: #ff3b30;--ok: #34c759;--seg-track: #eeeef2;--seg-thumb: #ffffff;--shadow-card: 0 1px 2px rgba(0, 0, 0, .05);--radius: 14px}@media(prefers-color-scheme:dark){:root{--bg: #000000;--card: #1c1c1e;--card-2: #2c2c2e;--label: #f5f5f7;--label-2: #c7c7cc;--label-3: #8e8e93;--sep: #2f2f31;--sep-strong: #3a3a3c;--tint: #0a84ff;--danger: #ff453a;--ok: #30d158;--seg-track: #2c2c2e;--seg-thumb: #636366;--shadow-card: none}}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100dvh;background:var(--bg);color:var(--label);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:17px;line-height:1.35;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button{font-family:inherit}:focus-visible{outline:2px solid var(--tint);outline-offset:2px}.app{width:100%;max-width:480px;margin:0 auto;padding:calc(env(safe-area-inset-top,0px) + 20px) 16px calc(env(safe-area-inset-bottom,0px) + 32px)}.boot{display:grid;min-height:100dvh;place-items:center}.boot-text{font-size:15px;color:var(--label-3)}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}.topbar h1{margin:0;font-size:34px;font-weight:700;line-height:1.05;letter-spacing:-.7px}.topbar-sub{margin:4px 0 0;font-size:15px;color:var(--label-3)}.section-title{margin:26px 4px 8px;font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--label-3)}.card{margin-bottom:12px;padding:16px;background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow-card)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}.card-head h2{margin:0;font-size:17px;font-weight:600}.label{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--label-3)}.big-number{margin-top:6px;font-size:40px;font-weight:700;line-height:1.05;letter-spacing:-1px;font-variant-numeric:tabular-nums}.big-number small{margin-left:8px;font-size:16px;font-weight:600;letter-spacing:0;color:var(--label-3)}.hint{margin:6px 0 0;font-size:13px;color:var(--label-3)}.footnote{margin:10px 0 0;font-size:13px;line-height:1.4;color:var(--label-3)}.amount{font-size:17px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.stat-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--sep)}.stat-row:first-of-type{border-top:0}.stat-name{font-size:17px;font-weight:600}.stat-hint{margin-top:2px;font-size:13px;color:var(--label-3)}.list{margin-top:10px}.list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--sep)}.list-row:first-child{border-top:0}.list-name{display:flex;align-items:center;font-size:16px}.list-value{font-size:15px;color:var(--label-2);font-variant-numeric:tabular-nums;white-space:nowrap}.dot{flex:0 0 auto;width:8px;height:8px;margin-right:9px;border-radius:50%}.dot--clean{background:var(--ok)}.dot--dirty{background:var(--danger)}.segmented{display:flex;gap:2px;padding:2px;background:var(--seg-track);border-radius:9px;overflow-x:auto;scrollbar-width:none}.segmented::-webkit-scrollbar{display:none}.seg-item{flex:1 0 auto;min-width:84px;padding:8px 12px;border:0;border-radius:7px;background:transparent;color:var(--label);font-size:14px;font-weight:600;white-space:nowrap;cursor:pointer}.seg-item--on{background:var(--seg-thumb);box-shadow:0 3px 8px #0000001f}.seg-item:disabled{color:var(--label-3);cursor:default}.segmented--small{flex:0 0 auto}.segmented--small .seg-item{min-width:74px;padding:6px 10px;font-size:13px}.stepper{display:flex;align-items:center;gap:6px}.stepper button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--sep);border-radius:12px;background:var(--card-2);color:var(--label);font-size:22px;line-height:1;cursor:pointer}.stepper button:active{background:var(--sep)}.stepper button:disabled{opacity:.35;cursor:default}.stepper-value{min-width:36px;text-align:center;font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}.strip{display:flex;gap:5px;margin-top:16px}.strip-cell{display:flex;flex:1;flex-direction:column;align-items:center;gap:6px;font-size:11px;color:var(--label-3);font-variant-numeric:tabular-nums}.strip-dot{width:100%;aspect-ratio:1 / 1;border:1px solid var(--sep);border-radius:7px;background:var(--card-2)}.strip-dot--clean{border-color:transparent;background:color-mix(in srgb,var(--ok) 26%,transparent)}.strip-dot--dirty{border-color:transparent;background:color-mix(in srgb,var(--danger) 24%,transparent)}.strip-dot--pending{border-style:dashed;border-color:var(--sep-strong);background:transparent}.strip-dot--today{outline:2px solid var(--tint);outline-offset:1px}.text-btn{min-height:32px;padding:6px 2px;border:0;background:none;color:var(--tint);font-size:17px;font-weight:500;cursor:pointer}.text-btn:disabled{color:var(--label-3);cursor:default}.text-btn--danger{color:var(--danger)}.primary-btn{width:100%;padding:15px;border:0;border-radius:var(--radius);background:var(--tint);color:#fff;font-size:17px;font-weight:600;cursor:pointer}.primary-btn:disabled{opacity:.4;cursor:default}.secondary-btn{flex:0 0 auto;padding:10px 14px;border:1px solid var(--sep);border-radius:10px;background:var(--card-2);color:var(--tint);font-size:15px;font-weight:600;white-space:nowrap;cursor:pointer}.secondary-btn:disabled{opacity:.4;cursor:default}.input{width:100%;padding:10px 12px;border:1px solid var(--sep);border-radius:10px;background:var(--card-2);color:var(--label);font-family:inherit;font-size:16px}.input:disabled{opacity:.5}.add-row{display:flex;gap:8px;margin-top:12px}.inline-actions{display:flex;flex:0 0 auto;align-items:center;gap:12px}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:flex-end;justify-content:center;background:#0006;animation:fade-in .18s ease-out}.sheet{width:100%;max-width:480px;max-height:88dvh;padding:6px 16px calc(env(safe-area-inset-bottom,0px) + 20px);overflow-y:auto;background:var(--bg);border-radius:18px 18px 0 0;animation:slide-up .24s cubic-bezier(.2,.8,.2,1)}.sheet-grabber{width:36px;height:5px;margin:4px auto 10px;border-radius:999px;background:var(--sep-strong)}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.sheet-head h2{margin:0;font-size:20px;font-weight:700}.sheet-section{margin:22px 0 4px;font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--label-3)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.gate{display:flex;flex-direction:column;justify-content:center;gap:28px;width:100%;max-width:420px;min-height:100dvh;margin:0 auto;padding:calc(env(safe-area-inset-top,0px) + 32px) 24px calc(env(safe-area-inset-bottom,0px) + 40px)}.gate-head{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.gate-mark{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:var(--tint);color:#fff;font-size:28px;font-weight:700}.gate-head h1{margin:6px 0 0;font-size:30px;font-weight:700;letter-spacing:-.6px}.gate-sub{margin:0;font-size:15px;color:var(--label-3)}.gate-form{display:flex;flex-direction:column;gap:12px}.pin-input{width:100%;padding:14px 16px;border:1px solid var(--sep-strong);border-radius:var(--radius);background:var(--card);color:var(--label);font-family:inherit;font-size:24px;letter-spacing:.35em;text-align:center}.error-text{margin:4px 0 0;font-size:14px;color:var(--danger)}.error-banner{margin:0 0 16px;padding:12px 14px;border-radius:12px;background:color-mix(in srgb,var(--danger) 12%,var(--card));color:var(--danger);font-size:14px}
