:root{color-scheme:dark;--page: #0c0e0d;--panel: #111413;--foreground: #ecebe5;--muted: #8d938e;--muted-2: #737973;--border: #262b27;--border-soft: #1e221f;--money-in: #79b6a1;--accent: #8f96f2;--font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body{margin:0;background:var(--page)}body{color:var(--foreground);font-family:var(--font);-webkit-font-smoothing:antialiased}#root{display:flex;justify-content:center;min-height:100vh}.app{width:100%;max-width:420px;padding:18px 22px 26px;text-align:left}.top{display:flex;justify-content:space-between;align-items:baseline;font-size:11px;letter-spacing:.04em;color:var(--muted);padding-bottom:14px;border-bottom:1px solid var(--border-soft)}.link{font:inherit;font-size:11.5px;background:none;border:0;padding:0 0 1px;cursor:pointer;color:var(--foreground);border-bottom:1px solid var(--border)}.top-acts{display:flex;gap:14px;align-items:baseline}.hero{padding:22px 0 18px}.eyebrow{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.hero h1{font-size:25px;line-height:1.15;font-weight:600;letter-spacing:-.015em;margin:0}.hero-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.amount{font-size:38px;line-height:1;font-weight:600;letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin-top:8px}.meta{margin-top:10px;font-size:12.5px;color:var(--muted);line-height:1.5}.meta b{color:var(--foreground);font-weight:500}.verbs{display:flex;flex-direction:column;gap:8px;margin-top:18px}.v1{width:100%;padding:12px;border-radius:11px;font:inherit;font-size:14px;font-weight:500;cursor:pointer;border:1px solid var(--foreground);background:var(--foreground);color:var(--page)}.v1:hover{opacity:.9}.v1:disabled,.v2:disabled,.mini:disabled{opacity:.45;cursor:default}.vrow{display:flex;gap:8px}.v2{flex:1;padding:10px;border-radius:11px;font:inherit;font-size:12.5px;cursor:pointer;border:1px solid var(--border);background:transparent;color:var(--foreground)}.v2:hover{background:#171b18}.clear{font-size:27px;line-height:1.25;font-weight:600;letter-spacing:-.02em;margin:0;text-wrap:balance}.clear-sub{margin-top:10px;font-size:12.5px;color:var(--muted);line-height:1.55}.block{padding:18px 0;border-top:1px solid var(--border-soft)}.label{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;display:block}.free-num{font-size:30px;font-weight:600;letter-spacing:-.025em;font-variant-numeric:tabular-nums}.free-sub{margin-top:6px;font-size:12.5px;color:var(--muted);line-height:1.5}.unknown{margin:0;font-size:14px;line-height:1.55;color:#c7cac3;max-width:34ch}.why-toggle{margin-left:4px}.why{margin-top:10px;display:flex;flex-direction:column;gap:6px}.why .line{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted)}.why .line b{color:var(--foreground);font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}.why .line.tot{border-top:1px solid var(--border-soft);padding-top:6px;margin-top:2px}.why .line.tot b{font-weight:600}ul.rows{list-style:none;margin:0;padding:0}ul.rows li{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:8px 0;border-bottom:1px solid var(--border-soft);font-size:13px}ul.rows li:last-child{border-bottom:0}ul.rows .sub{font-size:11px;color:var(--muted-2)}ul.rows .amt{font-variant-numeric:tabular-nums;white-space:nowrap}ul.rows li.net{border-top:1px solid var(--border);margin-top:4px;padding-top:10px}ul.rows li.net .k{font-weight:600}.comeup-main{display:flex;align-items:baseline;gap:8px;min-width:0}.comeup-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comeup-main .tag{flex:none}.comeup-when{flex:none;font-size:11px;color:var(--muted-2);white-space:nowrap}.coming-up-empty{padding:4px 0 12px}ul.rows li.acct{align-items:flex-start;gap:14px}.acct-main{display:flex;flex-direction:column;gap:2px;min-width:0}.acct-main .sub{display:block}.acct-side{display:flex;flex-direction:column;align-items:flex-end;gap:7px}.acct-acts{display:flex;gap:12px}.acct-acts .link{font-size:11px;color:var(--muted);border-bottom-color:transparent}.acct-acts .link:hover:enabled{color:var(--foreground);border-bottom-color:var(--border)}.acct-acts .link:disabled{opacity:.45;cursor:default}.acct-foot{display:flex;margin-top:12px}.bank{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;margin-top:12px}ul.bank-rows{flex-basis:100%;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}.bank-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px}.bank-line{font-size:12px;color:var(--muted)}.bank .bank-add{margin-top:2px}.bank .link{font-size:11px;color:var(--muted);border-bottom-color:transparent}.bank .link:hover:enabled{color:var(--foreground);border-bottom-color:var(--border)}.bank .link:disabled{opacity:.45;cursor:default}.bank .status{flex-basis:100%}ul.bank-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px;max-height:260px;overflow-y:auto}ul.bank-list .link{font-size:12.5px;text-align:left}select.field{font-size:13px;padding:9px 10px;cursor:pointer}.payday{display:flex;flex-direction:column;gap:10px}.date-field{font-size:13px;padding:9px 10px;max-width:190px}.month-top{display:flex;gap:18px;align-items:baseline;margin-bottom:12px}.month-top .in{font-size:15px;font-variant-numeric:tabular-nums}.month-top .out{font-size:15px;font-variant-numeric:tabular-nums;color:var(--muted)}.month-top .cap{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2)}.cat{display:grid;grid-template-columns:118px 1fr 64px;gap:10px;align-items:center;padding:5px 0}.cat .name{font-size:12px}.cat .bar{height:4px;border-radius:2px;background:var(--border-soft);overflow:hidden}.cat .bar span{display:block;height:100%;background:var(--accent);border-radius:2px}.cat .val{font-size:12px;text-align:right;font-variant-numeric:tabular-nums;color:var(--muted)}.caught-list{display:flex;flex-direction:column;gap:10px}.caught{border:1px solid var(--border);border-radius:12px;padding:13px;display:flex;flex-direction:column;gap:8px;background:var(--panel)}.caught .n1{font-size:13.5px;font-weight:500}.caught .n2{font-size:12.5px;color:var(--muted);line-height:1.5}.quiet{font-size:12.5px;color:var(--muted);margin:0;line-height:1.5}.loading{padding:26px 0}.panel{border:1px solid var(--border);border-radius:12px;padding:14px;margin-top:14px;background:var(--panel);display:flex;flex-direction:column;gap:10px}.panel .hint{margin:0;font-size:12.5px;color:var(--muted);line-height:1.5}.panel-row{display:flex;gap:8px;align-items:stretch;flex-wrap:wrap}.file-input{flex:1 1 190px;min-width:0;font:inherit;font-size:11.5px;color:var(--muted);padding:4px 0}.file-input::file-selector-button{font:inherit;font-size:11.5px;padding:7px 10px;margin-right:10px;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--foreground);cursor:pointer}.field{flex:1 1 190px;min-width:0;font:inherit;font-size:14px;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:#0f1210;color:var(--foreground)}.field::placeholder{color:var(--muted-2)}.mini{font:inherit;font-size:12px;padding:8px 12px;border-radius:8px;cursor:pointer;border:1px solid var(--border);background:transparent;color:var(--foreground);white-space:nowrap}.mini:hover{background:#171b18}.mini.solid{background:var(--foreground);color:var(--page);border-color:var(--foreground)}.mini.solid:hover{opacity:.9;background:var(--foreground)}.ask{border:1px solid var(--border);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:8px;background:#0f1210}.ask-line{font-size:13px;line-height:1.45;color:var(--foreground)}.ask-line b{font-weight:500}.ask-q{font-size:12.5px;color:var(--muted)}.acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:2px}.status{margin:0;font-size:11.5px;color:var(--muted);line-height:1.5}.capture{padding-top:16px}.payments{gap:12px}.history{display:flex;flex-direction:column;gap:3px;padding-bottom:10px;border-bottom:1px solid var(--border-soft)}.history-line{margin:0;font-size:12.5px}.history-sub{margin:0;font-size:11px;color:var(--muted-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pay-empty{margin:0;font-size:13px;line-height:1.55;color:#c7cac3;max-width:34ch}.pay-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.pay-month{margin:0;font-size:13.5px;font-weight:500;letter-spacing:-.005em}.arrow{font:inherit;font-size:15px;line-height:1;width:26px;height:26px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--foreground);cursor:pointer}.arrow:hover:enabled{background:#171b18}.arrow:disabled{opacity:.35;cursor:default}.pay-totals{display:flex;gap:16px;align-items:baseline}.pay-totals .in{font-size:14px;color:var(--money-in);font-variant-numeric:tabular-nums}.pay-totals .out{font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}.pay-totals .cap{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2)}.pay-state{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.pay-days{display:flex;flex-direction:column;gap:14px}.pay-day-head{font-size:10.5px;letter-spacing:.06em;color:var(--muted-2);margin-bottom:1px}ul.pay-list{list-style:none;margin:0;padding:0}.pay-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:7px 0;border-bottom:1px solid var(--border-soft);position:relative}.pay-row:last-child{border-bottom:0}.pay-main{display:flex;flex-direction:column;gap:3px;min-width:0}.pay-name{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pay-sub{display:flex;align-items:center;gap:8px;min-width:0;font-size:11px;color:var(--muted-2)}.pay-purpose{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag{font-size:10px;letter-spacing:.04em;color:var(--muted-2);border:1px solid var(--border-soft);border-radius:5px;padding:1px 5px;white-space:nowrap}.tag-btn{font:inherit;font-size:10px;line-height:1.4;letter-spacing:.04em;color:var(--muted-2);background:none;border:1px solid var(--border-soft);border-radius:5px;padding:1px 5px;text-align:left;cursor:pointer;position:relative}.tag-btn:after{content:"";position:absolute;inset:-5px -6px}.tag-btn:hover,.tag-btn[aria-expanded=true]{color:var(--foreground);border-color:var(--border)}.tag-empty{border-style:dashed}.cat-picker{position:absolute;left:0;right:0;top:calc(100% + 3px);z-index:6;display:flex;flex-direction:column;gap:7px;max-height:300px;overflow-y:auto;padding:9px 10px 8px;border:1px solid var(--border);border-radius:10px;background:#141816;box-shadow:0 14px 30px #00000080;text-align:left}.cat-picker.above{top:auto;bottom:calc(100% + 3px)}.pick-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.pick-title{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.pick-link{font-size:11px;color:var(--muted);border-bottom-color:transparent}.pick-link:hover{color:var(--foreground);border-bottom-color:var(--border)}ul.pick-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}.pick-opt{display:flex;align-items:baseline;justify-content:space-between;gap:8px;width:100%;font:inherit;font-size:12px;text-align:left;padding:5px 6px;border:0;border-radius:6px;background:none;color:var(--foreground);cursor:pointer}.pick-opt:hover,.pick-opt.on{background:#1a1f1c}.pick-opt:disabled{opacity:.5;cursor:default}.pick-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pick-mark{flex:none;font-size:10px;letter-spacing:.04em;color:var(--muted)}.pick-new{display:flex;gap:6px;align-items:stretch;padding-top:6px;border-top:1px solid var(--border-soft)}.pick-new .field{flex:1 1 auto;font-size:12px;padding:6px 8px;border-radius:7px}.pick-new .mini{padding:0 10px;font-size:11.5px;border-radius:7px}.pick-foot{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.pick-saved{min-height:14px;font-size:10.5px;color:var(--muted)}.mg-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.mg-row{display:flex;align-items:center;gap:8px;min-height:24px;padding:3px 0;border-bottom:1px solid var(--border-soft)}.mg-row:last-child{border-bottom:0}.mg-name{flex:1 1 auto;min-width:0;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mg-count{flex:none;font-size:10.5px;color:var(--muted-2);font-variant-numeric:tabular-nums}.mg-acts{flex:none;display:flex;gap:8px}.mg-acts .link{font-size:10.5px;color:var(--muted);border-bottom-color:transparent}.mg-acts .link:hover:enabled{color:var(--foreground);border-bottom-color:var(--border)}.mg-acts .link:disabled{opacity:.45;cursor:default}.mg-form{display:flex;gap:6px;width:100%;align-items:stretch}.mg-input{flex:1 1 auto;font-size:12px;padding:5px 8px;border-radius:7px}.mg-mini{padding:0 9px;font-size:11px;border-radius:7px}.mg-look{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding-top:8px;border-top:1px solid var(--border-soft)}.mg-look-btn{padding:4px 9px;font-size:10.5px;border-radius:7px}.mg-look-btn:disabled:hover{background:transparent}.mg-note{margin:0;font-size:10.5px;line-height:1.45;color:var(--muted);font-variant-numeric:tabular-nums}.pick-ask{padding:9px;gap:7px;border-radius:8px}.pick-ask .ask-line{font-size:11.5px}.pick-ask .mini{padding:6px 10px;font-size:11.5px}.pick-select{font-size:12px;padding:6px 8px;border-radius:7px}.pay-amt{font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}.pay-amt.in{color:var(--money-in)}.pay-filters{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch}select.pay-acct{font-size:12px;padding:7px 9px;border-radius:8px;width:100%}.seg{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.seg-opt{font:inherit;font-size:11.5px;padding:0 11px;background:transparent;border:0;border-left:1px solid var(--border);color:var(--muted);cursor:pointer}.seg-opt:first-child{border-left:0}.seg-opt:hover{color:var(--foreground)}.seg-opt.on{color:var(--foreground);background:#171b18}.pay-search{grid-column:1 / -1;font-size:12.5px;padding:7px 10px;border-radius:8px}.recurring{display:flex;flex-direction:column;gap:2px;padding-bottom:10px;border-bottom:1px solid var(--border-soft)}.recurring-label{margin-bottom:4px}ul.rec-list{list-style:none;margin:0;padding:0}.rec-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:5px 0}.rec-main{display:flex;align-items:center;gap:8px;min-width:0}.rec-name{font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rec-side{display:flex;flex-direction:column;align-items:flex-end;gap:1px;flex:none}.rec-amt{font-size:12.5px;font-variant-numeric:tabular-nums;white-space:nowrap}.rec-next{font-size:10.5px;color:var(--muted-2);white-space:nowrap}.pay-days.stale{opacity:.45;transition:opacity .12s ease}.pay-foot{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.pay-end{margin:0;font-size:11.5px;color:var(--muted-2)}.login-form{margin-top:22px;max-width:420px}.login-input{flex:1 1 220px;min-width:0;font:inherit;font-size:13px;color:var(--text, #e9e9e4);background:transparent;border:1px solid var(--border);border-radius:9px;padding:11px 13px}.login-input::placeholder{color:var(--muted-2)}.login-form .v1{width:auto;flex:0 0 auto;padding:11px 22px}.capture .panel-row{margin-bottom:2px}.toast{min-height:16px;font-size:11.5px;color:var(--muted);padding-top:14px}.foot{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--border-soft);padding-top:12px;font-size:11px;color:var(--muted-2)}.remind{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:19px;padding-top:8px;font-size:11.5px;line-height:1.45}.remind-btn{font:inherit;font-size:11.5px;line-height:1.45;text-align:left;padding:0 0 1px;background:none;border:0;border-bottom:1px solid var(--border);color:var(--muted);cursor:pointer}.remind-btn:hover:enabled{color:var(--foreground)}.remind-btn:disabled{color:var(--muted-2);border-bottom-color:transparent;cursor:default}.remind-on{color:var(--muted)}.remind-why{font-size:11px;color:var(--muted-2)}:where(button,input,a):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:380px){.app{padding:16px 18px 24px}.cat{grid-template-columns:96px 1fr 56px;gap:8px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
