:root{--bg:#eef1f8;--card:#fff9;--text:#000;--muted:#6e6e73;--line:#3c3c4324;--accent:#007aff;--accent-text:#fff;--accent-ink:#0040dd;--danger:#d70015;--good:#248a3d;--secondary:#7878801f;--track:#7878802e;--field:#ffffffb3;--glass:#f9f9f9cc;--shadow-card:inset 0 1px 0 #ffffffd9, inset 0 0 0 1px #ffffff73, 0 0 0 .5px #0000000d, 0 10px 30px -8px #28326e24;--shadow-float:inset 0 1px 0 #ffffffe6, inset 0 0 0 1px #ffffff80, 0 0 0 .5px #0000000f, 0 16px 40px -10px #1e286440;--field-1:#cfe1ff;--field-2:#e5dcff;--field-3:#d2f4e6;--field-4:#ffe2d2;--font-text:-apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, sans-serif;--font-round:ui-rounded, "SF Pro Rounded", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--radius-card:28px;--radius-field:1.05rem;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#05060b;--card:#ffffff12;--text:#fff;--muted:#9d9da6;--line:#ffffff1f;--accent:#0a84ff;--accent-text:#fff;--accent-ink:#409cff;--danger:#ff6961;--good:#30d158;--secondary:#ffffff1a;--track:#ffffff1f;--field:#ffffff0f;--glass:#161617cc;--shadow-card:inset 0 1px 0 #ffffff1a, inset 0 0 0 1px #ffffff0f, 0 10px 30px -8px #00000080;--shadow-float:inset 0 1px 0 #ffffff24, inset 0 0 0 1px #ffffff14, 0 16px 40px -10px #000000b3;--field-1:#0d2350;--field-2:#241a46;--field-3:#0b2e26;--field-4:#33190f}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font:16px/1.5 var(--font-text);letter-spacing:-.01em;-webkit-text-size-adjust:100%;margin:0}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(60% 45% at 0% 0%, var(--field-1) 0%, transparent 70%), radial-gradient(55% 40% at 100% 0%, var(--field-2) 0%, transparent 70%), radial-gradient(60% 45% at 100% 100%, var(--field-3) 0%, transparent 70%), radial-gradient(60% 45% at 0% 100%, var(--field-4) 0%, transparent 70%);position:fixed;inset:0}.shell{max-width:560px;padding:calc(24px + env(safe-area-inset-top)) 16px calc(24px + env(safe-area-inset-bottom));margin:0 auto}h1,h2,h3{font-family:var(--font-round);letter-spacing:-.02em;text-wrap:balance}h1{margin:0 0 16px;font-size:2.1rem;font-weight:800}h2{margin:0 0 8px;font-size:1.3rem;font-weight:700}h3{margin:16px 0 8px;font-size:1.05rem;font-weight:700}.muted{color:var(--muted);margin:0 0 12px}.small{font-size:.85rem}.error{color:var(--danger)}.status{margin-top:24px;padding-left:20px}.card{background:var(--card);-webkit-backdrop-filter:blur(24px)saturate(180%);backdrop-filter:blur(24px)saturate(180%);box-shadow:var(--shadow-card);border-radius:var(--radius-card);margin-bottom:16px;padding:20px}.facts{margin:0 0 12px;padding-left:20px}.warnings{color:var(--muted);margin:0;padding-left:20px}.balances{border-collapse:collapse;width:100%;margin-bottom:8px}.balances td{border-bottom:1px solid var(--line);vertical-align:top;padding:8px 0}.balances .muted{margin:0}.amount{text-align:right;font-family:var(--font-round);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.check{align-items:flex-start;gap:10px;margin:12px 0;display:flex}.check input{flex:none;width:20px;height:20px;margin-top:4px}.actions{gap:12px;margin-top:16px;display:flex}.actions .button{flex:1}.button{background:var(--secondary);min-height:44px;color:var(--text);font:inherit;text-align:center;cursor:pointer;border:0;border-radius:999px;padding:10px 18px;font-weight:500;transition:transform .2s,opacity .2s;display:inline-block}.button:active{opacity:.7;transform:scale(.98)}.button:disabled{opacity:.5}.button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}.shell.with-tabs{padding-bottom:calc(104px + env(safe-area-inset-bottom))}.tabbar{left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));background:var(--glass);-webkit-backdrop-filter:blur(24px)saturate(180%);backdrop-filter:blur(24px)saturate(180%);max-width:536px;box-shadow:var(--shadow-float);border-radius:999px;margin:0 auto;padding:4px;display:flex;position:fixed}.tabbar button{min-height:52px;color:var(--muted);font:inherit;white-space:nowrap;background:0 0;border:0;border-radius:999px;flex:1;font-size:.78rem;font-weight:600}.tabbar button[aria-current=page]{color:var(--accent-ink);background:var(--secondary)}.segmented{background:var(--secondary);border-radius:10px;margin:8px 0 12px;padding:2px;display:flex}.segmented button{min-height:36px;color:var(--text);font:inherit;background:0 0;border:0;border-radius:8px;flex:1}.segmented.small button{min-height:32px;font-size:.9rem}.segmented button[aria-selected=true]{background:var(--field);font-weight:600;box-shadow:0 1px 3px #0000001f}.period-nav{justify-content:space-between;align-items:center;gap:8px;display:flex}.period-nav span{text-align:center;font-weight:600}.icon{background:var(--secondary);width:44px;height:44px;color:var(--text);border:0;border-radius:999px;font-size:1.4rem;line-height:1}.custom-range{flex-wrap:wrap;gap:12px;display:flex}.custom-range input{font:inherit;border:1px solid var(--line);background:var(--field);color:var(--text);border-radius:10px;padding:6px}.total{justify-content:space-between;align-items:baseline;margin:16px 0 0;display:flex}.total strong{font-family:var(--font-round);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:2.4rem;font-weight:800}.groups,.tx-list{margin:0;padding:0;list-style:none}.group{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--text);font:inherit;text-align:left;background:0 0;padding:10px 0;display:block}.group-line{justify-content:space-between;align-items:center;gap:12px;display:flex}.group-name{font-weight:600}.group.uncategorized .group-name{color:var(--danger)}.bar{background:var(--track);border-radius:3px;height:6px;margin:6px 0;display:block;overflow:hidden}.bar span{background:var(--accent);border-radius:3px;height:100%;display:block}.tx-list li{border-bottom:1px solid var(--line);padding:10px 0}.tx-list select{font:inherit;border:1px solid var(--line);background:var(--field);max-width:55%;color:var(--text);border-radius:10px;padding:4px;font-size:.9rem}.link{color:var(--accent-ink);font:inherit;background:0 0;border:0;min-height:44px;padding:8px 0}.offer{background:var(--secondary);border-radius:var(--radius-field);margin:8px 0 12px;padding:12px}.offer p{margin:0}.form{gap:12px;margin-bottom:12px;display:grid}.form label{color:var(--muted);gap:4px;font-size:.9rem;display:grid}.form input,.form select{font:inherit;color:var(--text);background:var(--field);border:1px solid var(--line);border-radius:var(--radius-field);width:100%;min-height:44px;padding:10px 12px;font-size:1rem}.button.wide{width:100%;margin-top:8px}.saved{color:var(--good);font-weight:600}.link.danger{color:var(--danger);min-height:32px;padding:0}.error{padding-left:20px}.notice{box-shadow:var(--shadow-card), inset 0 0 0 2px var(--accent)}.notice .tx-list li{padding:6px 0}.available.short{box-shadow:var(--shadow-card), inset 0 0 0 2px var(--danger)}.calc{margin:0;padding:0;list-style:none}.calc-line{justify-content:space-between;align-items:flex-start;gap:12px;padding:6px 0;display:flex}.calc details summary{cursor:pointer;list-style:none}.calc details summary::-webkit-details-marker{display:none}.calc details summary span:first-child{text-underline-offset:3px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.calc .result{border-top:1px solid var(--line);align-items:baseline;margin-top:6px;padding-top:12px;font-size:1.05rem}.calc .result strong{font-family:var(--font-round);letter-spacing:-.03em;font-size:2.4rem;font-weight:800}.available.short .calc .result strong{color:var(--danger)}.next-pay .calc .result strong{font-size:1.1rem}.next-pay .calc .result.error strong{color:var(--danger)}.sub{margin:0;padding:0 0 6px 12px;list-style:none}.block{display:block}.next-pays{gap:0 12px;display:grid}.envelope-setting{padding:6px 0}.envelope-setting input{width:6em;font:inherit;text-align:right;border:1px solid var(--line);background:var(--field);color:var(--text);border-radius:10px;padding:6px}.envelope-setting{border-bottom:1px solid var(--line)}.add-envelope{gap:6px;margin-top:12px;display:grid}.add-envelope select,.add-envelope input{font:inherit;border:1px solid var(--line);background:var(--field);color:var(--text);border-radius:10px;min-height:44px;padding:8px}.add-envelope select{flex:1}.add-envelope input{width:6.5em}.row-actions{gap:16px;display:flex}.edit{box-shadow:var(--shadow-card), inset 0 0 0 2px var(--accent)}.adjust{gap:6px;margin-top:6px;display:grid}.adjust label{gap:4px;display:grid}.adjust input{font:inherit;border:1px solid var(--line);background:var(--field);color:var(--text);border-radius:10px;min-height:44px;padding:8px}.top{justify-content:space-between;align-items:baseline;display:flex}.settings-form{border-bottom:1px solid var(--line);margin:0;padding:12px 0}.settings-form .check{color:var(--text);font-size:.95rem;display:flex}.settings-row{border-bottom:1px solid var(--line);padding:8px 0}.settings-row input,.add-row input{font:inherit;border:1px solid var(--line);background:var(--field);color:var(--text);border-radius:10px;flex:1;min-width:0;min-height:44px;padding:8px}.add-row,details.add{margin-top:12px}details.add>summary{cursor:pointer;list-style:none}.form .check{color:var(--text);flex-direction:row;align-items:flex-start;gap:10px;display:flex}.form .check input{flex:none;width:22px;height:22px;min-height:0;margin-top:2px;padding:0}details.item{border-bottom:1px solid var(--line);padding:8px 0}details.item>summary{cursor:pointer;list-style:none}details.item>summary::-webkit-details-marker{display:none}details.item[open]>summary .link{visibility:hidden}.due-line{margin:2px 0 0}.late{color:var(--danger)}.lock{text-align:center}.code-field{color:var(--muted);text-align:left;gap:8px;margin:16px 0;font-size:.9rem;display:grid}.code-field input{font:inherit;letter-spacing:.4em;text-align:center;color:var(--text);background:var(--field);border:1px solid var(--line);border-radius:var(--radius-field);width:100%;min-height:52px;padding:10px 12px;font-size:1.6rem}.recovery-code{letter-spacing:.08em;background:var(--secondary);-webkit-user-select:all;user-select:all;border-radius:10px;padding:14px;font-family:ui-monospace,Menlo,monospace;font-size:1.5rem}.restore{margin-top:16px}.restore summary{margin-bottom:12px}.split{background:var(--track);border-radius:7px;gap:2px;height:14px;margin:12px 0 4px;display:flex;overflow:hidden}.split span{min-width:3px;height:100%;display:block}.dot{vertical-align:0;border-radius:50%;flex:none;width:10px;height:10px;margin-right:8px;display:inline-block}.more{color:var(--danger);font-weight:600}.less{color:var(--good);font-weight:600}.others summary{cursor:pointer;border-bottom:1px solid var(--line);justify-content:flex-start;padding:10px 0;list-style:none}.others summary .amount{margin-left:auto}.others summary::-webkit-details-marker{display:none}.others summary:after{content:"›";color:var(--muted);margin-left:8px}.others[open] summary:after{content:"⌄"}.others-name{font-weight:600}.merchant-merge{margin:8px 0 16px}.merchant-merge select{font:inherit;border:1px solid var(--line);background:var(--field);min-width:0;color:var(--text);border-radius:10px;flex:1;padding:8px}.debt-line{border-bottom:1px solid var(--line);padding:10px 0}.debt-line .bar span{background:var(--muted)}.first-badge{color:var(--accent-ink)}.debt-curve{margin:16px 0 0}.debt-curve svg{width:100%;height:auto;display:block;overflow:visible}.debt-curve .curve{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.debt-curve .axis{stroke:var(--line);stroke-width:1px}.debt-curve .dot-point{fill:var(--accent);stroke:var(--bg);stroke-width:2px}.debt-curve .dot-point.selected{fill:var(--text)}.debt-curve .hit{fill:#0000;cursor:pointer}.debt-curve .tick{fill:var(--muted);font-size:11px}.curve-table summary{color:var(--muted);cursor:pointer;margin-top:8px}.interest-row{gap:6px;margin-top:8px;display:grid}.interest-row label:not(.check){color:var(--muted);gap:4px;font-size:.9rem;display:grid}.interest-line{margin:4px 0 0}.alert{box-shadow:var(--shadow-card), inset 0 0 0 2px var(--danger)}.alert p{margin:0 0 6px}.day-by-day{margin-top:12px}.day-by-day summary{cursor:pointer}.projection-day{border-bottom:1px solid var(--line);padding:6px 0}.goal{border-bottom:1px solid var(--line);padding:10px 0}.goal .bar span{background:var(--accent)}.goal-plan{margin:4px 0 8px}.goal-add input{font:inherit;border:1px solid var(--line);background:var(--field);min-width:0;color:var(--text);border-radius:10px;flex:1;padding:8px}[data-testid=goals]>.button{margin-top:12px}.available .calc .result{flex-direction:column;align-items:flex-start;gap:0}.available .calc .result strong{text-align:left;line-height:1.1}input[type=date]{appearance:none;min-width:0;min-height:44px}input[type=date]::-webkit-date-and-time-value{text-align:left}.form label{min-width:0}
