@font-face{font-family:Manrope;src:url(../media/Manrope-Medium.1uxcnzel4f8qj.woff)format("woff");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Manrope;src:url(../media/Manrope-SemiBold.0d_nc7hu7m8km.woff)format("woff");font-weight:600;font-style:normal;font-display:swap}:root{--font-brand:"Manrope", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--bg:#f2f3f5;--surface:#fff;--surface-2:#f7f8fa;--surface-3:#eceef2;--ink:#14181f;--ink-soft:#48505d;--muted:#78818f;--line:#e2e5ea;--line-strong:#cdd3db;--accent:#12655a;--accent-ink:#fff;--accent-soft:#e2efec;--good:#1c6b3f;--good-soft:#e4f2e8;--warn:#8a5a10;--warn-soft:#fbf0dc;--bad:#a32b34;--bad-soft:#fbe7e8;--info:#2b567f;--info-soft:#e6eef7;--radius-sm:8px;--radius:12px;--radius-lg:18px;--shadow-1:0 1px 2px #10161e0f;--shadow-2:0 12px 32px -12px #10161e47;--shadow-3:0 -8px 40px -8px #10161e47;--tap:44px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.45}:root[data-theme=dark]{--bg:#0d1013;--surface:#161a1e;--surface-2:#1c2126;--surface-3:#232930;--ink:#eef1f4;--ink-soft:#b3bcc6;--muted:#8c97a3;--line:#262d34;--line-strong:#38424c;--accent:#64c9b4;--accent-ink:#04140f;--accent-soft:#12312c;--good:#7ad39c;--good-soft:#10281b;--warn:#e6b268;--warn-soft:#2b2114;--bad:#f08b93;--bad-soft:#2e1719;--info:#8fb6e0;--info-soft:#14202c;--shadow-1:0 1px 2px #0006;--shadow-2:0 12px 32px -12px #000000b3;--shadow-3:0 -8px 40px -8px #000000b3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0d1013;--surface:#161a1e;--surface-2:#1c2126;--surface-3:#232930;--ink:#eef1f4;--ink-soft:#b3bcc6;--muted:#8c97a3;--line:#262d34;--line-strong:#38424c;--accent:#64c9b4;--accent-ink:#04140f;--accent-soft:#12312c;--good:#7ad39c;--good-soft:#10281b;--warn:#e6b268;--warn-soft:#2b2114;--bad:#f08b93;--bad-soft:#2e1719;--info:#8fb6e0;--info-soft:#14202c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);overflow-x:clip}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.icon{flex:none;width:20px;height:20px}.app{flex-direction:column;min-height:100dvh;display:flex}.topbar{z-index:30;background:var(--bg);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex;position:sticky;top:0}.brand{font-family:var(--font-brand);letter-spacing:-.01em;align-items:center;gap:9px;font-weight:650;display:flex}.brand-mark{border-radius:8px;flex:none;width:28px;height:28px}.brand small{color:var(--muted);letter-spacing:.02em;font-size:11px;font-weight:500;display:block}.shell{width:100%;max-width:780px;padding:14px 14px calc(84px + env(safe-area-inset-bottom));flex-direction:column;flex:1;gap:14px;margin:0 auto;display:flex}.tabbar{z-index:40;padding:6px 6px calc(6px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);grid-template-columns:repeat(5,1fr);align-items:end;gap:2px;display:grid;position:fixed;inset:auto 0 0}.tab{border-radius:var(--radius-sm);min-height:50px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:4px 2px;font-size:11px;font-weight:550;display:flex}.tab svg{stroke-width:1.7px;width:22px;height:22px}.tab[aria-current=page]{color:var(--accent)}.tab-add{background:var(--accent);width:46px;height:46px;color:var(--accent-ink);box-shadow:var(--shadow-2);cursor:pointer;border:0;border-radius:50%;align-self:center;place-items:center;margin:0 auto;display:grid}.tab-add svg{stroke-width:2.2px;width:24px;height:24px}.page-head{flex-direction:column;gap:4px;display:flex}.page-head h1{font-family:var(--font-brand);letter-spacing:-.02em;font-size:22px;font-weight:650}.page-head p{color:var(--muted);font-size:13px}.section-head{justify-content:space-between;align-items:baseline;gap:10px;margin:4px 2px -4px;display:flex}.section-head h2{font-family:var(--font-brand);text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-size:13px;font-weight:650}.section-head a{color:var(--accent);font-size:13px;font-weight:600}.brand-lockup{align-items:center;gap:11px;display:flex}.brand-lockup .brand-mark{border-radius:10px;width:38px;height:38px}.back-link{color:var(--accent);align-items:center;gap:6px;margin-bottom:2px;font-size:13px;font-weight:600;display:inline-flex}.back-link .icon{width:16px;height:16px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-1);overflow:hidden}.card-pad{padding:14px}.card-list{flex-direction:column;display:flex}.card-list>*+*{border-top:1px solid var(--line)}.row{min-height:var(--tap);align-items:center;gap:12px;padding:13px 14px;display:flex}.row-tap{transition:background .12s}.row-tap:active{background:var(--surface-2)}.row-main{flex:1;min-width:0}.row-title{align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.row-sub{color:var(--muted);flex-wrap:wrap;gap:4px 8px;margin-top:2px;font-size:12.5px;display:flex}.row-side{text-align:right;flex-direction:column;flex:none;align-items:flex-end;gap:4px;display:flex}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dot-sep:before{content:"·";color:var(--line-strong);margin-right:6px}.chip{background:var(--surface-3);color:var(--ink-soft);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3px 8px;font-size:11.5px;font-weight:600;line-height:1.5;display:inline-flex}.chip-good{background:var(--good-soft);color:var(--good)}.chip-warn{background:var(--warn-soft);color:var(--warn)}.chip-bad{background:var(--bad-soft);color:var(--bad)}.chip-info{background:var(--info-soft);color:var(--info)}.chip-muted{background:var(--surface-3);color:var(--muted)}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip-count{opacity:.75;margin-left:4px;font-weight:500}.amount{font-family:var(--font-brand);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-weight:650}.amount-lg{font-size:20px}.amount-xl{font-size:26px}.amount-sub{color:var(--muted);font-size:11.5px;font-weight:500}.pos{color:var(--good)}.neg{color:var(--bad)}.tiles{background:var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid}.tile{background:var(--surface);flex-direction:column;gap:2px;padding:13px 14px;display:flex}.tile-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:11.5px;font-weight:600}.tile-note{color:var(--muted);font-size:11.5px}.tile-hero{background:var(--surface-2)}.bar{background:var(--surface-3);border-radius:999px;height:6px;overflow:hidden}.bar span{background:var(--accent);height:100%;display:block}.bar-warn span{background:var(--warn)}.btn{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);min-height:40px;color:var(--ink);cursor:pointer;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-size:14px;font-weight:600;display:inline-flex}.btn:disabled{opacity:.55;cursor:default}.btn svg{width:17px;height:17px}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-soft{background:var(--surface-2);border-color:var(--line)}.btn-danger{background:var(--bad-soft);color:var(--bad);border-color:#0000}.btn-block{width:100%}.btn-sm{border-radius:8px;min-height:32px;padding:0 10px;font-size:12.5px}.btn-row{flex-wrap:wrap;gap:8px;display:flex}.form-actions{gap:8px;margin-top:2px;display:flex}.form-actions .btn{flex:1}.btn-row-tight{gap:6px}.icon-btn{border:1px solid var(--line);background:var(--surface);width:40px;height:40px;color:var(--ink-soft);cursor:pointer;border-radius:10px;place-items:center;display:inline-grid}.icon-btn svg{width:18px;height:18px}.icon-btn:disabled{opacity:.45}.contact-row{grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:8px;display:grid}.contact-action{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink-soft);flex-direction:column;align-items:center;gap:5px;padding:10px 6px;font-size:12px;font-weight:600;display:flex}.contact-action svg{width:19px;height:19px;color:var(--accent)}.segmented{background:var(--surface-3);scrollbar-width:none;border-radius:10px;gap:4px;padding:4px;display:flex;overflow-x:auto}.segmented::-webkit-scrollbar{display:none}.segmented a,.segmented button{text-align:center;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:7px;flex:1 0 auto;padding:7px 10px;font-size:13px;font-weight:600}.segmented [aria-current=true],.segmented [aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1)}.field{flex-direction:column;gap:5px;display:flex}.field-row{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;display:grid}.field label,.field-label{color:var(--ink-soft);font-size:12.5px;font-weight:600}.field-hint{color:var(--muted);font-size:11.5px}.input,.select,.textarea{width:100%;min-height:var(--tap);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);padding:10px 12px;font-size:16px}.textarea{resize:vertical;min-height:84px;line-height:1.5}.input[inputmode=decimal],.input[inputmode=tel],.input[type=date]{font-variant-numeric:tabular-nums}.money-input{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);min-height:var(--tap);align-items:center;gap:8px;padding-left:12px;display:flex}.money-input span{color:var(--muted);font-size:12px;font-weight:700}.money-input input{font-variant-numeric:tabular-nums;background:0 0;border:0;outline:none;flex:1;min-width:0;padding:10px 12px 10px 0;font-size:17px}.form{flex-direction:column;gap:13px;display:flex}.form-error{border-radius:var(--radius-sm);background:var(--bad-soft);color:var(--bad);padding:10px 12px;font-size:13px;font-weight:550}.form-note{color:var(--muted);font-size:12px}.toggle-row{align-items:center;gap:10px;padding:10px 0;font-size:13.5px;display:flex}.toggle-row input{width:20px;height:20px;accent-color:var(--accent)}.sheet-backdrop{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#090c1073;animation:.14s fade;position:fixed;inset:0}.sheet{z-index:51;background:var(--surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:92dvh;box-shadow:var(--shadow-3);flex-direction:column;animation:.18s cubic-bezier(.2,.7,.3,1) rise;display:flex;position:fixed;inset:auto 0 0}.sheet-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:10px;padding:14px 16px 10px;display:flex}.sheet-head h2{letter-spacing:-.01em;font-size:17px;font-weight:650}.sheet-head p{color:var(--muted);font-size:12.5px}.sheet-body{overscroll-behavior:contain;flex-direction:column;gap:14px;min-height:0;padding:14px 16px;display:flex;overflow-y:auto}.sheet-foot{padding:12px 16px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface);gap:8px;display:flex}.sheet-foot .btn{flex:1}.sheet-grab{background:var(--line-strong);border-radius:999px;width:38px;height:4px;margin:8px auto 0}.row-chevron{width:16px;height:16px;color:var(--muted);flex:none}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.sheet,.sheet-backdrop{animation:none}}.stack{flex-direction:column;gap:10px;display:flex}.stack-tight{gap:6px}.timeline{flex-direction:column;display:flex}.timeline-item{gap:11px;padding:12px 14px;display:flex}.timeline-item+.timeline-item{border-top:1px solid var(--line)}.timeline-icon{background:var(--surface-3);width:30px;height:30px;color:var(--ink-soft);border-radius:50%;flex:none;place-items:center;display:grid}.timeline-icon svg{width:15px;height:15px}.timeline-body{flex:1;min-width:0}.timeline-meta{color:var(--muted);align-items:center;gap:8px;font-size:11.5px;font-weight:550;display:flex}.timeline-text{color:var(--ink);overflow-wrap:anywhere;font-size:14px}.attention{align-items:center;gap:12px;padding:12px 12px 12px 14px;display:flex}.attention-bar{background:var(--line-strong);border-radius:999px;flex:none;align-self:stretch;width:3px}.attention-bad .attention-bar{background:var(--bad)}.attention-warn .attention-bar{background:var(--warn)}.attention-info .attention-bar{background:var(--info)}.attention-main{flex:1;min-width:0}.attention-title{overflow-wrap:anywhere;font-size:14.5px;font-weight:600;display:block}.attention-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:6px;max-width:60%;display:flex}.pay-row .icon{width:18px;height:18px;color:var(--muted)}.timeline-meta .icon{width:13px;height:13px}.attention-detail{color:var(--muted);margin-top:1px;font-size:12.5px}.empty{text-align:center;color:var(--muted);padding:22px 16px;font-size:13.5px}.empty strong{color:var(--ink);margin-bottom:3px;font-size:15px;display:block}.month-strip{align-items:stretch;gap:4px;height:82px;padding:0 14px 14px;display:flex}.month-col{flex-direction:column;flex:1;align-items:center;gap:5px;min-width:0;height:100%;display:flex}.month-track{flex:1;align-items:flex-end;width:100%;min-height:8px;display:flex}.month-bar{background:var(--accent);opacity:.85;border-radius:4px 4px 2px 2px;width:100%;min-height:3px}.month-col span{color:var(--muted);letter-spacing:.02em;font-size:9.5px}.stepper{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.step{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--muted);cursor:pointer;flex-direction:column;align-items:center;gap:6px;padding:9px 4px;font-size:11.5px;font-weight:600;display:flex}.step i{background:var(--surface-3);border-radius:999px;width:100%;height:4px;display:block}.step[data-done=true]{color:var(--ink);border-color:var(--line-strong)}.step[data-done=true] i{background:var(--accent)}.step[data-current=true]{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.kv{justify-content:space-between;gap:12px;padding:9px 14px;font-size:13.5px;display:flex}.kv+.kv{border-top:1px solid var(--line)}.kv dt{color:var(--muted);font-weight:550}.kv dd{font-variant-numeric:tabular-nums;text-align:right;margin:0;font-weight:600}.pay-row{align-items:center;gap:10px;padding:11px 14px;font-size:13.5px;display:flex}.pay-row+.pay-row{border-top:1px solid var(--line)}.pay-amount{font-variant-numeric:tabular-nums;font-weight:650}.pay-meta{color:var(--muted);font-size:11.5px}.skeleton{flex-direction:column;gap:14px;display:flex}.sk{background:var(--surface-3);border-radius:6px;height:12px;animation:1.4s ease-in-out infinite pulse;display:block}.sk-title{border-radius:7px;width:132px;height:22px}.sk-line{width:100%}.sk-short{width:46%}.sk-name{width:62%}.sk-meta{width:38%;height:10px;margin-top:7px}.sk-amount{width:74px;height:15px}.sk-chip{border-radius:999px;width:84px;height:22px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.sk{animation:none}}@media (min-width:880px){.app{flex-direction:column}.topbar{order:0;padding:12px 24px}.tabbar{border-top:0;border-bottom:1px solid var(--line);background:var(--surface);order:1;grid-template-columns:none;justify-content:center;align-items:center;gap:6px;padding:8px 24px;display:flex;position:static}.app>.shell{order:2}.tab{border-radius:999px;flex-direction:row;gap:7px;min-height:38px;padding:0 14px;font-size:13px}.tab svg{width:17px;height:17px}.tab[aria-current=page]{background:var(--accent-soft)}.tab-add{width:38px;height:38px;margin:0 4px}.tab-add svg{width:20px;height:20px}.shell{gap:18px;max-width:900px;padding:22px 24px 40px}.page-head h1{font-size:26px}.tiles{grid-template-columns:repeat(4,minmax(0,1fr))}.sheet-backdrop{padding:0}.sheet{border-radius:var(--radius-lg);width:100%;max-width:560px;height:fit-content;max-height:86dvh;margin:auto;position:fixed;inset:0}.sheet-grab{display:none}.stepper{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.attention{padding:14px 16px}}
