:root{--bg: #efe4cf;--bg-deep: #e2d3b6;--surface: #fffcf4;--surface-2: #f5eddd;--ink: #2a2118;--ink-2: #5a4631;--ink-3: #654f37;--line: #d9c7a6;--line-2: #c9b48c;--field-line: #6f5c44;--hero: #fffcf4;--hero-2: #f5eddd;--on-hero: #2a2118;--on-hero-2: #5a4631;--lime: #0d5f4a;--due: #664e06;--due-2: #5a4505;--due-soft: #faedb8;--due-line: #e6d27f;--due-on-hero: #664e06;--danger: #7f3f00;--danger-soft: #fde8c8;--danger-line: #e8c08a;--good: #0d5f4a;--good-soft: #d9f0e6;--good-line: #a8dcc8;--primary: #f2be3f;--primary-foreground: #2a2118;--primary-edge: #2a2118;--ring: #0d5f4a;--accent-ink: #0d5f4a;--sticky: #ffec99;--highlight: #ffe27a;--pin: #c81e32;--washi-pink: #f6b3c2;--washi-mint: #a8dcc8;--washi-butter: #f7d774;--washi-sky: #afcdee;--washi-lilac: #cdbdf0;--washi-coral: #f4b08f;--tape-alpha: .86;--chip-mint-bg: #d9f0e6;--chip-mint-fg: #0e5a45;--chip-peach-bg: #fbdfcb;--chip-peach-fg: #88380f;--chip-sky-bg: #d8e8fa;--chip-sky-fg: #1c4c86;--chip-lilac-bg: #e8def8;--chip-lilac-fg: #593891;--chip-butter-bg: #faedb8;--chip-butter-fg: #664e06;--chip-rose-bg: #f8d9e2;--chip-rose-fg: #8c2647;--chip-sage-bg: #e0e9d4;--chip-sage-fg: #3d5828;--chip-slate-bg: #e4e4ea;--chip-slate-fg: #3c404e;--shadow: 0 1px 0 rgba(60, 40, 15, .1);--shadow-paper: 0 1px 1px rgba(60, 40, 15, .1), 0 6px 12px -6px rgba(60, 40, 15, .28);--shadow-lift: 0 2px 2px rgba(60, 40, 15, .08), 0 14px 22px -10px rgba(60, 40, 15, .38);--font-ui: "Nunito", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-hand: "Mali", "Nunito", system-ui, sans-serif;--font-mono: "Cascadia Mono", "SF Mono", ui-monospace, Consolas, monospace;--r-sm: 8px;--r-md: 12px;--r-lg: 12px;--r-xl: 18px;--r-pill: 999px;--r-bar: 3px;--r-scrap: 3px;--r-index: 4px;--r-btn: 14px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 44px;--tape-stripes: repeating-linear-gradient(-45deg, rgba(255, 255, 255, .38) 0 5px, transparent 5px 10px);--tape-dots: radial-gradient(circle, rgba(255, 255, 255, .55) 0 1.6px, transparent 2px) 0 0 / 9px 9px;--tape-clip: polygon(0 10%, 5% 0, 10% 8%, 15% 0, 85% 0, 90% 8%, 95% 0, 100% 10%, 97% 30%, 100% 50%, 97% 70%, 100% 90%, 95% 100%, 90% 92%, 85% 100%, 15% 100%, 10% 92%, 5% 100%, 0 90%, 3% 70%, 0 50%, 3% 30%);--grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .27 0 0 0 0 .17 0 0 0 .08 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");--tilt-scrap: 0deg;--tilt-tape: 0deg;--tilt-sticker: 0deg}@media(prefers-color-scheme:dark){:root{--bg: #17130f;--bg-deep: #221c16;--surface: #2f2821;--surface-2: #3a3229;--ink: #f5ecdc;--ink-2: #cdbfa8;--ink-3: #c2b49c;--line: #4a3f33;--line-2: #5a4d3e;--field-line: #978670;--hero: #2f2821;--hero-2: #3a3229;--on-hero: #f5ecdc;--on-hero-2: #cdbfa8;--lime: #7fd6b7;--due: #eed98a;--due-2: #f3e3a6;--due-soft: #3b3316;--due-line: #5a4e20;--due-on-hero: #eed98a;--danger: #f4b663;--danger-soft: #3d2a14;--danger-line: #5e4220;--good: #7fd6b7;--good-soft: #173a31;--good-line: #2f5e50;--primary: #f2be3f;--primary-foreground: #1f1a14;--primary-edge: #f2be3f;--ring: #7fd6b7;--accent-ink: #7fd6b7;--sticky: #3f3719;--highlight: #5e4b12;--pin: #ff7a70;--washi-pink: #6e3a4a;--washi-mint: #2f5e50;--washi-butter: #6a5520;--washi-sky: #2f4c6e;--washi-lilac: #4b3d6e;--washi-coral: #6e4030;--tape-alpha: .95;--chip-mint-bg: #173a31;--chip-mint-fg: #9ee3c9;--chip-peach-bg: #42271a;--chip-peach-fg: #f6be9a;--chip-sky-bg: #1a3149;--chip-sky-fg: #a9cdf5;--chip-lilac-bg: #2f2547;--chip-lilac-fg: #cdb8f2;--chip-butter-bg: #3b3316;--chip-butter-fg: #eed98a;--chip-rose-bg: #43202b;--chip-rose-fg: #f3aec2;--chip-sage-bg: #263321;--chip-sage-fg: #bed6a6;--chip-slate-bg: #2a2c33;--chip-slate-fg: #c9ccd6;--shadow: 0 0 0 1px rgba(255, 255, 255, .05);--shadow-paper: 0 0 0 1px rgba(255, 255, 255, .05), 0 6px 12px -6px rgba(0, 0, 0, .6);--shadow-lift: 0 0 0 1px rgba(255, 255, 255, .06), 0 14px 22px -10px rgba(0, 0, 0, .7);color-scheme:dark}}:root[data-theme=dark]{--bg: #17130f;--bg-deep: #221c16;--surface: #2f2821;--surface-2: #3a3229;--ink: #f5ecdc;--ink-2: #cdbfa8;--ink-3: #c2b49c;--line: #4a3f33;--line-2: #5a4d3e;--field-line: #978670;--hero: #2f2821;--hero-2: #3a3229;--on-hero: #f5ecdc;--on-hero-2: #cdbfa8;--lime: #7fd6b7;--due: #eed98a;--due-2: #f3e3a6;--due-soft: #3b3316;--due-line: #5a4e20;--due-on-hero: #eed98a;--danger: #f4b663;--danger-soft: #3d2a14;--danger-line: #5e4220;--good: #7fd6b7;--good-soft: #173a31;--good-line: #2f5e50;--primary: #f2be3f;--primary-foreground: #1f1a14;--primary-edge: #f2be3f;--ring: #7fd6b7;--accent-ink: #7fd6b7;--sticky: #3f3719;--highlight: #5e4b12;--pin: #ff7a70;--washi-pink: #6e3a4a;--washi-mint: #2f5e50;--washi-butter: #6a5520;--washi-sky: #2f4c6e;--washi-lilac: #4b3d6e;--washi-coral: #6e4030;--tape-alpha: .95;--chip-mint-bg: #173a31;--chip-mint-fg: #9ee3c9;--chip-peach-bg: #42271a;--chip-peach-fg: #f6be9a;--chip-sky-bg: #1a3149;--chip-sky-fg: #a9cdf5;--chip-lilac-bg: #2f2547;--chip-lilac-fg: #cdb8f2;--chip-butter-bg: #3b3316;--chip-butter-fg: #eed98a;--chip-rose-bg: #43202b;--chip-rose-fg: #f3aec2;--chip-sage-bg: #263321;--chip-sage-fg: #bed6a6;--chip-slate-bg: #2a2c33;--chip-slate-fg: #c9ccd6;--shadow: 0 0 0 1px rgba(255, 255, 255, .05);--shadow-paper: 0 0 0 1px rgba(255, 255, 255, .05), 0 6px 12px -6px rgba(0, 0, 0, .6);--shadow-lift: 0 0 0 1px rgba(255, 255, 255, .06), 0 14px 22px -10px rgba(0, 0, 0, .7);color-scheme:dark}:root[data-theme=light]{--bg: #efe4cf;--bg-deep: #e2d3b6;--surface: #fffcf4;--surface-2: #f5eddd;--ink: #2a2118;--ink-2: #5a4631;--ink-3: #654f37;--line: #d9c7a6;--line-2: #c9b48c;--field-line: #6f5c44;--hero: #fffcf4;--hero-2: #f5eddd;--on-hero: #2a2118;--on-hero-2: #5a4631;--lime: #0d5f4a;--due: #664e06;--due-2: #5a4505;--due-soft: #faedb8;--due-line: #e6d27f;--due-on-hero: #664e06;--danger: #7f3f00;--danger-soft: #fde8c8;--danger-line: #e8c08a;--good: #0d5f4a;--good-soft: #d9f0e6;--good-line: #a8dcc8;--primary: #f2be3f;--primary-foreground: #2a2118;--primary-edge: #2a2118;--ring: #0d5f4a;--accent-ink: #0d5f4a;--sticky: #ffec99;--highlight: #ffe27a;--pin: #c81e32;--washi-pink: #f6b3c2;--washi-mint: #a8dcc8;--washi-butter: #f7d774;--washi-sky: #afcdee;--washi-lilac: #cdbdf0;--washi-coral: #f4b08f;--tape-alpha: .86;--chip-mint-bg: #d9f0e6;--chip-mint-fg: #0e5a45;--chip-peach-bg: #fbdfcb;--chip-peach-fg: #88380f;--chip-sky-bg: #d8e8fa;--chip-sky-fg: #1c4c86;--chip-lilac-bg: #e8def8;--chip-lilac-fg: #593891;--chip-butter-bg: #faedb8;--chip-butter-fg: #664e06;--chip-rose-bg: #f8d9e2;--chip-rose-fg: #8c2647;--chip-sage-bg: #e0e9d4;--chip-sage-fg: #3d5828;--chip-slate-bg: #e4e4ea;--chip-slate-fg: #3c404e;--shadow: 0 1px 0 rgba(60, 40, 15, .1);--shadow-paper: 0 1px 1px rgba(60, 40, 15, .1), 0 6px 12px -6px rgba(60, 40, 15, .28);--shadow-lift: 0 2px 2px rgba(60, 40, 15, .08), 0 14px 22px -10px rgba(60, 40, 15, .38);color-scheme:light}*{box-sizing:border-box}body{margin:0;background-color:var(--bg);background-image:radial-gradient(120% 70% at 50% 0%,color-mix(in srgb,var(--surface) 45%,transparent),transparent 75%),var(--grain);background-size:100% 70vh,160px 160px;background-repeat:no-repeat,repeat;color:var(--ink);font-family:var(--font-ui);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}:root[data-deco=low] body{background-image:none}:focus-visible{outline:3px solid var(--ring);outline-offset:2px;border-radius:4px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.tabular{font-variant-numeric:tabular-nums}button,[role=button],a{min-height:44px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:root{--story: var(--bg);--story-2: var(--surface);--story-3: var(--surface-2);--on-story: var(--ink);--on-story-2: var(--ink-2);--story-line: var(--line);--story-lime: var(--primary);--on-story-lime: var(--primary-foreground);--safari-blue: #0a84ff}@font-face{font-family:Nunito;src:url(/assets/nunito-var-tOAQdG8o.woff2) format("woff2");font-weight:400 800;font-style:normal;font-display:swap}@font-face{font-family:Mali;src:url(/assets/mali-600-I_f8F-y-.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}.app{min-height:100dvh;display:flex;flex-direction:column;background:var(--bg)}.app-frame{flex:1;display:flex;flex-direction:column;width:100%;max-width:560px;margin-inline:auto;background:var(--bg);min-width:0}.app-body{flex:1;padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}.app-wide{flex-direction:row;align-items:stretch}.app-wide .app-frame{max-width:none;border-left:1px solid var(--line)}.app-wide .app-body{padding-bottom:var(--sp-5)}.app-wide .screen{max-width:1080px;margin-inline:auto;width:100%}.banner{padding:var(--sp-3) var(--sp-4);font-size:14px;line-height:1.45;border-bottom:1px solid var(--line)}.banner-accent{background:var(--due-soft);border-bottom-color:var(--due-line);color:var(--ink)}.tabbar{position:fixed;bottom:0;left:0;right:0;z-index:20;display:flex;gap:2px;max-width:560px;margin-inline:auto;padding:var(--sp-1) var(--sp-2) calc(var(--sp-1) + env(safe-area-inset-bottom,0px));background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(12px);border-top:1px solid var(--line)}.tab{flex:1;border:0;background:none;color:var(--ink-3);font:inherit;font-size:10.5px;font-weight:640;letter-spacing:.005em;padding:6px 2px;border-radius:var(--r-sm);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}.tab.is-on{color:var(--good);background:var(--good-soft)}.nav-glyph{width:18px;height:18px;flex:none}.sheet-scrim{position:fixed;inset:0;z-index:30;background:#2a211873;display:flex;align-items:flex-end;justify-content:center}.sheet{width:100%;max-width:560px;background:var(--surface);border-radius:var(--r-xl) var(--r-xl) 0 0;border:1px solid var(--line);border-bottom:0;padding:var(--sp-2) var(--sp-3) calc(var(--sp-4) + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:2px}.sheet-handle{width:38px;height:4px;border-radius:var(--r-bar);background:var(--line-2);margin:var(--sp-2) auto var(--sp-3)}.sheet-item{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3);border:0;background:none;border-radius:var(--r-md);font:inherit;font-size:15px;font-weight:580;color:var(--ink);cursor:pointer;text-align:left;width:100%}.sheet-item.is-on{background:var(--good-soft);color:var(--good)}.sheet-item .nav-glyph{width:19px;height:19px}.sidebar{width:232px;flex:none;background:var(--hero);color:var(--on-hero);padding:var(--sp-4) var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-4);position:sticky;top:0;height:100dvh;overflow-y:auto}.brand{display:flex;align-items:center;gap:var(--sp-2);padding:0 var(--sp-2)}.brand-mark{width:32px;height:32px;border-radius:var(--r-sm);background:var(--lime);color:var(--hero);display:grid;place-items:center;font-weight:800;font-size:14px;flex:none}.brand-name{font-size:16px;font-weight:700;letter-spacing:-.02em}.side-status{background:var(--hero-2);border:1px solid transparent;border-radius:var(--r-md);padding:var(--sp-3);display:flex;flex-direction:column;gap:3px;text-align:left;font:inherit;color:inherit;cursor:pointer;width:100%}.side-status.is-warn{background:color-mix(in srgb,var(--due-on-hero) 13%,transparent);border-color:color-mix(in srgb,var(--due-on-hero) 38%,transparent)}.side-status.is-warn .side-status-main{color:var(--due-on-hero)}.side-status-label{font-size:11.5px;font-weight:500;color:var(--on-hero-2)}.side-status-main{font-size:13px;font-weight:640;display:flex;align-items:center;gap:6px}.side-status-sub{font-size:11px;color:var(--on-hero-2);line-height:1.35}.nav-group{display:flex;flex-direction:column;gap:2px}.nav-label{font-size:12px;font-weight:500;color:var(--on-hero-2);padding:0 var(--sp-2) 6px}.nav-item{display:flex;align-items:center;gap:var(--sp-2);padding:9px var(--sp-2);border:0;background:none;border-radius:var(--r-sm);font:inherit;font-size:13px;font-weight:560;color:var(--on-hero-2);cursor:pointer;text-align:left;width:100%}.nav-item.is-on{background:var(--lime);color:var(--hero);font-weight:660}.screen{padding:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-5)}.screen-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;column-gap:var(--sp-3);row-gap:2px}.screen-head .screen-title{flex:1 1 auto;min-width:0}.screen-head .screen-sub{flex:1 0 100%;order:1}.screen-head>.btn{flex:none;order:0}.screen-nav{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.screen-title{margin:0;font-size:25px;font-weight:680;letter-spacing:-.03em;line-height:1.1}.screen-nav .screen-title{font-size:20px;flex:1;min-width:0}.screen-sub{margin:0;color:var(--ink-3);font-size:12.5px}.label{font-size:13px;font-weight:600;color:var(--ink)}h2.label{margin:var(--sp-2) 0 calc(var(--sp-2) * -1 + 2px)}.muted{color:var(--ink-3);font-size:14px;margin:0}.help{color:var(--ink-3);font-size:13px;line-height:1.45;margin:0}.emphasis{font-weight:660}.text-danger{color:var(--danger)}.card{background:var(--surface);border:0;border-radius:var(--r-lg);padding:var(--sp-4) var(--sp-4) 17px;display:flex;flex-direction:column;gap:var(--sp-3);box-shadow:0 0 0 1px var(--line),var(--shadow)}.card-accent{border-color:var(--due-line);background:linear-gradient(var(--due-soft),var(--surface) 60%)}.card-danger{border-color:var(--danger-line)}.card-good{border-color:var(--good-line)}.money{font-size:15px;font-weight:640;letter-spacing:-.01em;color:var(--ink)}.money-large{font-size:20px}.money-hero{font-size:40px;font-weight:700;letter-spacing:-.04em;line-height:1}[data-testid=loan-detail] .money-hero{font-size:27px;letter-spacing:-.03em}.money-danger{color:var(--danger)}.money-good{color:var(--good)}.money-accent{color:var(--due)}.chip{display:inline-flex;align-items:center;padding:2px 9px;border-radius:var(--r-pill);font-size:11.5px;font-weight:500;white-space:nowrap;border:1px solid transparent}.chip-neutral{background:var(--surface-2);border-color:var(--line);color:var(--ink-2)}.chip-accent{background:var(--due-soft);border-color:var(--due-line);color:var(--due)}.chip-danger{background:var(--danger-soft);border-color:var(--danger-line);color:var(--danger)}.chip-good{background:var(--good-soft);border-color:var(--good-line);color:var(--good)}.meter{height:5px;border-radius:var(--r-bar);background:var(--bg-deep);overflow:hidden;margin-top:2px}.meter-fill{display:block;height:100%;border-radius:var(--r-bar);transition:width .24s ease-out}.meter-good{background:var(--good)}.meter-danger{background:var(--danger)}.meter-accent{background:var(--due)}.meter-neutral{background:var(--ink-3)}.kv{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);padding:6px 0;border-bottom:1px solid var(--line);font-size:13px}.kv:last-child{border-bottom:0;padding-bottom:0}.kv-key{color:var(--ink-2)}.kv-value{font-weight:600;text-align:right}.kv-total{border-bottom:0;margin-top:2px;padding-top:10px;border-top:1.5px solid var(--line-2)}.kv-total .kv-key{color:var(--ink);font-weight:640}.kv-total .kv-value{font-size:17px;font-weight:700}.rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.rows>li+li,.row+.row{border-top:1px solid var(--line)}.row{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) 0;width:100%;text-align:left}.row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.row-title{font-size:13.5px;font-weight:620;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-sub{color:var(--ink-3);font-size:11.5px}.row-end{display:flex;flex-direction:column;align-items:flex-end;gap:4px;white-space:nowrap}.row-between{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3)}.loan-row{display:grid;grid-template-columns:1fr auto;grid-template-areas:"name   amount" "meta   chip" "state  state";column-gap:var(--sp-3);row-gap:3px;align-items:baseline;text-align:left;border:0;background:none;color:inherit;font:inherit;cursor:pointer;border-radius:var(--r-md);padding:13px var(--sp-2);margin-inline:calc(var(--sp-2) * -1);width:calc(100% + var(--sp-2) * 2)}.loan-row-name{grid-area:name;font-size:14px;font-weight:640;line-height:1.3;min-width:0;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.loan-row-amount{grid-area:amount;font-size:14.5px;font-weight:680;letter-spacing:-.01em;white-space:nowrap}.loan-row-meta{grid-area:meta;color:var(--ink-3);font-size:11.5px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loan-row-chip{grid-area:chip;justify-self:end}.loan-row-state{grid-area:state;display:flex;flex-direction:column;gap:6px;margin-top:7px}.loan-row-line{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:620;color:var(--ink-2);line-height:1.35}.loan-row-figure{font-weight:700}.loan-row-line.is-overdue{color:var(--danger)}.loan-row-line.is-due{color:var(--due)}.loan-row-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.loan-row.is-late{box-shadow:inset 2px 0 0 var(--danger);padding-left:var(--sp-3)}.is-muted{opacity:.55}.cancelled{text-decoration:line-through;color:var(--ink-3)}.notice{border:1px solid var(--line);border-left-width:4px;border-radius:var(--r-md);padding:11px 14px;background:var(--surface);display:flex;flex-direction:column;gap:4px}.notice-title{margin:0;font-weight:660;font-size:15px;display:flex;align-items:baseline;gap:7px;flex-wrap:wrap}.notice-title:has(.money){font-size:12.5px;font-weight:600;color:var(--ink-2);letter-spacing:0}.notice-title .money{font-size:19px;font-weight:680;letter-spacing:-.02em}.notice-text{margin:0;font-size:12px;line-height:1.45;color:var(--ink-2)}.notice-danger{background:var(--danger-soft);border-color:var(--danger-line);border-left-color:var(--danger)}.notice-accent{background:var(--due-soft);border-color:var(--due-line);border-left-color:var(--due)}.notice-good{background:var(--good-soft);border-color:var(--good-line);border-left-color:var(--good)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:var(--r-btn);border:2px solid var(--primary-edge);background:var(--primary);color:var(--primary-foreground);font:inherit;font-weight:800;font-size:15px;cursor:pointer;transition:background .12s ease,border-color .12s ease,transform .12s ease;min-height:48px}.btn:active:not(:disabled){transform:translateY(2px)}.btn:disabled{background:var(--surface-2);border-style:dashed;border-color:var(--field-line);color:var(--ink-2);cursor:not-allowed}.btn-primary{background:var(--primary);border-color:var(--primary-edge);color:var(--primary-foreground)}.btn-accent{background:transparent;border-color:var(--due);color:var(--due)}.btn-danger{background:var(--danger-soft);border-color:var(--danger-line);color:var(--danger)}.btn-ghost{background:var(--surface);border-color:var(--field-line);color:var(--ink)}.btn-quiet{background:none;border-color:transparent;color:var(--ink-3);font-weight:500;font-size:14px;padding-inline:16px}.btn-back{background:none;border-color:transparent;padding:var(--sp-2);margin-left:calc(var(--sp-2) * -1);color:var(--ink-2);font-size:14px;font-weight:500}.btn-wide{width:100%}.btn-inline{align-self:flex-start;margin-top:calc(var(--sp-4) * -1)}.actions{display:flex;gap:var(--sp-2);flex-wrap:wrap}.actions>.btn{flex:1;min-width:130px}.field{display:flex;flex-direction:column;gap:5px}.field-label{font-size:13.5px;font-weight:620;color:var(--ink-2)}.input,.field input,.field select,.field textarea{width:100%;padding:10px 12px;border:1px solid var(--field-line);border-radius:var(--r-md);background:var(--surface);color:var(--ink);font:inherit;font-size:16px;min-height:44px}.input:focus,.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--ring);outline:none;box-shadow:0 0 0 3px color-mix(in oklch,var(--ring) 30%,transparent)}.field-money{display:flex;align-items:stretch}.field-prefix{display:inline-flex;align-items:center;padding-inline:var(--sp-3);border:1px solid var(--field-line);border-right:0;border-radius:var(--r-md) 0 0 var(--r-md);background:var(--surface-2);color:var(--ink-3);font-weight:620}.field-money input,.input-money{border-radius:0 var(--r-md) var(--r-md) 0!important;font-variant-numeric:tabular-nums;font-weight:620}.field-help{font-size:12.5px;color:var(--ink-3);line-height:1.4}.field-error{font-size:13px;color:var(--danger);font-weight:600}.label-danger{color:var(--danger)}.filters{display:flex;flex-wrap:wrap;gap:6px}.filter{display:inline-flex;align-items:center;gap:6px;flex:none;padding:7px var(--sp-3);min-height:38px;border:1px solid var(--line-2);border-radius:var(--r-pill);background:var(--surface);color:var(--ink-2);font:inherit;font-size:13.5px;font-weight:620;cursor:pointer;white-space:nowrap}.filter.is-on{background:var(--ink);border-color:var(--ink);color:var(--bg)}.filter-count{font-size:12px;opacity:.75}.filter-danger{color:var(--danger);border-color:var(--danger-line)}.filter-danger.is-on{background:var(--danger);border-color:var(--danger);color:#fff}.empty{padding:var(--sp-6) var(--sp-4);text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--sp-3)}.empty-title{margin:0;font-size:19px;font-weight:660;letter-spacing:-.02em}.empty-body{margin:0;color:var(--ink-3);font-size:13.5px;max-width:30ch;line-height:1.5}.loading{padding:var(--sp-5) var(--sp-4)}.loading-bar{display:block;height:6px;border-radius:var(--r-bar);background:linear-gradient(90deg,var(--bg-deep),var(--line-2),var(--bg-deep));background-size:200% 100%;animation:shimmer 1.3s linear infinite}@keyframes shimmer{to{background-position:-200% 0}}.entry{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-3) 0;border-bottom:1px solid var(--line)}.entry:last-child{border-bottom:0}.alloc-line{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}.alloc{display:flex;justify-content:space-between;gap:var(--sp-3);font-size:12.5px;color:var(--ink-2)}.alloc-main{display:flex;flex-direction:column}.alloc-title{font-weight:600;color:var(--ink)}.alloc-sub{font-size:11px;color:var(--ink-3)}.receipt-head{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);text-align:center;padding-block:var(--sp-3)}.diff{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;font-variant-numeric:tabular-nums}.diff-before{color:var(--ink-3);text-decoration:line-through}.diff-after{font-weight:660}.preview{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);padding:11px 13px;display:flex;flex-direction:column;gap:7px}.summary{display:flex;flex-direction:column;gap:var(--sp-1)}.variance{font-weight:640}.storage,.persistent,.installed,.granted,.current,.month,.status,.steps,.problem-list{display:flex;flex-direction:column;gap:var(--sp-2)}.problem-list{margin:0;padding-left:var(--sp-4);gap:4px;color:var(--danger);font-size:13.5px}.settlement{display:flex;flex-direction:column;gap:var(--sp-2)}.screen>.btn-back:first-child,.screen>.btn:first-child{align-self:flex-start}.honesty{border:1px dashed var(--line-2);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4);display:flex;flex-direction:column;gap:6px;background:transparent}.honesty-title{margin:0;font-size:13px;font-weight:600;color:var(--ink)}.honesty-text{margin:0;font-size:12.5px;color:var(--ink-2);line-height:1.6}.section-label{font-size:13px;font-weight:600;color:var(--ink);margin:var(--sp-2) 0 calc(var(--sp-2) * -1)}@media(max-width:400px){.tab{font-size:9px;letter-spacing:-.01em;padding-inline:0;min-width:0}}.hero{position:relative;background:var(--hero);border-radius:var(--r-xl);padding:var(--sp-4);color:var(--on-hero);overflow:hidden;display:flex;flex-direction:column;gap:var(--sp-3)}.hero>*{position:relative}.hero-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3)}.hero-label{font-size:13px;font-weight:500;color:var(--on-hero-2)}.hero-progress{font-size:12px;font-weight:620;color:var(--lime)}.hero-figure{margin:0;font-size:38px;font-weight:700;letter-spacing:-.035em;line-height:1}:where([data-slot=button]:not(.btn)){height:auto;white-space:normal}.hero .meter{background:var(--hero-2)}.hero-note{margin:0;color:var(--on-hero-2);font-size:13px}.hero-meter{height:7px;border-radius:var(--r-bar);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line);overflow:hidden}.hero-meter-fill{display:block;height:100%;border-radius:var(--r-bar);background:var(--lime);transition:width .26s ease}.hero-legend{display:flex;justify-content:space-between;gap:var(--sp-3);font-size:12px;color:var(--on-hero-2)}.hero-legend b{color:var(--on-hero);font-weight:640}.hero-alert{display:flex;align-items:flex-start;gap:var(--sp-2);background:var(--danger-soft);border:1px solid var(--danger-line);border-radius:var(--r-md);padding:10px var(--sp-3)}.hero-alert-dot{width:7px;height:7px;border-radius:50%;background:var(--danger);flex:none;margin-top:6px}.hero-alert-text{font-size:12.5px;line-height:1.45;color:var(--danger)}.hero-alert-text b{font-weight:680}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-2)}.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-3);display:flex;flex-direction:column;gap:5px;min-width:0}.tile-label{font-size:10.5px;color:var(--ink-3);line-height:1.3}.tile-figure{font-size:15px;font-weight:680;letter-spacing:-.015em}.tile-danger{background:var(--danger-soft);border-color:var(--danger-line)}.tile-danger .tile-figure,.tile-danger .tile-label{color:var(--danger)}.tile-strong{background:var(--hero);border-color:var(--hero)}.tile-strong .tile-figure{color:var(--on-hero)}.tile-strong .tile-label{color:var(--on-hero-2)}.donut-wrap{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap}.donut{width:116px;height:116px;border-radius:50%;flex:none;position:relative}.donut:after{content:"";position:absolute;inset:18px;border-radius:50%;background:var(--surface)}.legend{display:flex;flex-direction:column;gap:var(--sp-2);flex:1;min-width:140px;margin:0;padding:0;list-style:none}.legend-row{display:flex;align-items:center;gap:var(--sp-2);font-size:12.5px}.legend-dot{width:9px;height:9px;border-radius:3px;flex:none}.legend-name{flex:1;color:var(--ink-2);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.legend-val{font-weight:640}.card-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap}.card-title{font-size:13.5px;font-weight:680;letter-spacing:-.01em}.band{display:flex;flex-direction:column;gap:7px}.band-wrap{position:relative}.band-track{height:12px;border-radius:var(--r-bar);background:linear-gradient(90deg,var(--good) 0 30%,var(--due) 30% 40%,var(--danger) 40% 100%);opacity:.26}.band-marker{position:absolute;top:-4px;width:3px;height:20px;border-radius:2px;background:var(--ink);transform:translate(-1.5px)}.band-marker-was{background:var(--ink-3);height:14px;top:-1px;width:2px}.band-ticks{display:flex;justify-content:space-between;font-size:9.5px;color:var(--ink-3);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.band-legend{font-size:12px;color:var(--ink-2);line-height:1.55;margin:0}.band-legend b{color:var(--ink);font-weight:660}.split{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-2)}.split-cell{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);padding:11px var(--sp-3);display:flex;flex-direction:column;gap:4px;min-width:0}.split-label{font-size:10.5px;color:var(--ink-3);line-height:1.3}.split-figure{font-size:16px;font-weight:690;letter-spacing:-.02em}.split-strong{background:var(--hero);border-color:var(--hero)}.split-strong .split-figure{color:var(--on-hero)}.split-strong .split-label{color:var(--on-hero-2)}.card-impact{border-color:var(--due-line)}.card-invite{text-align:left;cursor:pointer;font:inherit;color:inherit;width:100%;align-items:flex-start}.deltas{display:flex;flex-direction:column}.delta{display:grid;grid-template-columns:1fr auto;gap:var(--sp-3);align-items:baseline;padding:9px 0;border-bottom:1px dashed var(--line);font-size:12.5px}.delta:last-child{border-bottom:0}.delta:first-child{padding-top:0}.delta-label{color:var(--ink-2)}.delta-vals{display:flex;align-items:baseline;gap:7px;font-variant-numeric:tabular-nums}.delta-from{color:var(--ink-3);text-decoration:line-through;text-decoration-thickness:1px}.delta-arrow{color:var(--ink-3);font-size:11px}.delta-to{font-weight:660}.delta-worse .delta-to{color:var(--danger)}.stack-bars{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;align-items:end;height:96px}.bar-col{display:flex;flex-direction:column;justify-content:flex-end;height:100%;gap:5px;min-width:0}.bar-stack{display:flex;flex-direction:column;justify-content:flex-end;flex:1}.bar-base{background:var(--hero);border-radius:0 0 3px 3px;min-height:2px}.bar-new{background:var(--due);border-radius:3px 3px 0 0}.bar-col.is-peak .bar-new{background:var(--danger)}.bar-tick{font-size:8.5px;color:var(--ink-3);text-align:center}.row-actions{display:flex;gap:var(--sp-2);flex-wrap:wrap}.loan-row:active,.sheet-item:active,.card-invite:active{background:var(--surface-2)}.loan-row:active,.card-invite:active{transform:scale(.99)}.loan-row.is-late:active{background:var(--danger-soft)}.btn:active:not(:disabled){transform:scale(.985)}.btn:active:not(:disabled),.btn-ghost:active:not(:disabled){background:var(--surface-2)}.btn-primary:active:not(:disabled){background:color-mix(in oklch,var(--primary),var(--surface) 12%);border-color:color-mix(in oklch,var(--primary),var(--surface) 12%)}.btn-danger:active:not(:disabled){filter:brightness(.92)}.btn-quiet:active:not(:disabled){color:var(--ink);background:var(--surface-2)}.filter:active,.preset:active,.tab:active{background:var(--surface-2)}.nav-item:active{background:var(--hero-2);color:var(--on-hero)}.nav-item.is-on:active{background:var(--lime);color:var(--hero)}.loan-row,.card-invite,.btn{transition:background .12s ease,border-color .12s ease,transform 90ms ease}@media(hover:hover)and (pointer:fine){.sheet-item:hover,.btn:hover:not(:disabled){background:var(--surface-2)}.loan-row:hover{background:var(--surface-2)}.loan-row.is-late:hover{background:var(--danger-soft)}.nav-item:hover{background:var(--hero-2);color:var(--on-hero)}.nav-item.is-on:hover{background:var(--lime);color:var(--hero);font-weight:660}.btn-primary:hover:not(:disabled){background:color-mix(in oklch,var(--primary),var(--surface) 12%);border-color:color-mix(in oklch,var(--primary),var(--surface) 12%)}.btn-quiet:hover:not(:disabled){color:var(--ink)}.card-invite:hover{border-color:var(--line-2);background:var(--surface-2)}}.story{min-height:100dvh;background:var(--story);color:var(--on-story);display:flex;justify-content:center;touch-action:pan-y;user-select:none}.story-frame{width:100%;max-width:440px;min-height:100dvh;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}.story-top{display:grid;gap:12px;padding:14px 18px 0}.story-segs{display:flex;gap:4px;margin:0;padding:0;list-style:none}.story-seg{position:relative;flex:1;height:3px;overflow:hidden;border-radius:3px;background:var(--story-3)}.story-seg.is-done,.story-seg.is-now:after{background:var(--on-story)}.story-seg.is-now:after{content:"";position:absolute;inset:0;transform-origin:left}.story-seg.is-timed:after{animation:story-seg var(--dwell, 6s) linear forwards}.story-brand{display:flex;align-items:center;justify-content:space-between}.story-name{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;letter-spacing:-.01em}.story-mark{width:24px;height:24px;border-radius:6px}.story-skip{padding:0 4px;border:0;background:none;color:var(--on-story-2);font:inherit;font-size:13px;font-weight:500;cursor:pointer}.story-stage{position:relative;flex:1 1 auto;display:flex;flex-direction:column;min-height:0}.story-art{flex:1 1 auto;display:flex;align-items:center;justify-content:center;min-height:0;padding:12px 18px}.story-art>*{width:100%;max-width:360px}.story-tap{position:absolute;top:0;bottom:0;z-index:1;width:40%;padding:0;border:0;background:transparent;cursor:pointer}.story-tap-prev{left:0}.story-tap-next{right:0}.story-copy{position:relative;z-index:2;display:grid;gap:10px;padding:0 22px 26px}.story-example{margin:0;color:var(--on-story-2);font-size:11px;font-weight:500}.story-title{margin:0;font-size:30px;font-weight:700;line-height:1.04;letter-spacing:-.038em;text-wrap:balance}.story-body{margin:0;color:var(--on-story-2);font-size:14px;line-height:1.45}.story-actions{display:grid;gap:8px;margin-top:10px}.story-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;height:46px;padding:0 16px;border:0;border-radius:8px;font:inherit;font-size:15px;font-weight:600;letter-spacing:-.005em;cursor:pointer}.story-btn-primary{background:var(--story-lime);color:var(--on-story-lime)}.story-btn-secondary{background:var(--story-2);box-shadow:inset 0 0 0 1px var(--story-line);color:var(--on-story)}.story-btn-quiet{background:transparent;color:var(--on-story-2);font-weight:500}.story-btn:focus-visible,.story-skip:focus-visible{outline:2px solid var(--story-lime);outline-offset:2px}.s-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--story-3);color:var(--on-story-2)}.s-icon-lime{color:var(--story-lime)}.s-glyph{width:16px;height:16px}.s-loans{display:grid;gap:6px}.s-loan{display:grid;grid-template-columns:30px 1fr auto;gap:10px;align-items:center;padding:9px 11px;border-radius:12px;background:var(--story-2);box-shadow:inset 0 0 0 1px var(--story-line)}.s-loan-text,.s-promise-text,.s-notif-text{display:grid;min-width:0}.s-loan-name{font-size:13px;font-weight:600}.s-loan-meta{color:var(--on-story-2);font-size:11.5px}.s-loan-amount{font-size:13px;font-weight:600;text-align:right}.s-loan-amount small{display:block;color:var(--on-story-2);font-size:10.5px;font-weight:400}.s-total{display:grid;gap:2px;margin-top:6px;padding:14px 14px 12px;border-radius:14px;background:var(--story-lime);color:var(--on-story-lime)}.s-total-label{font-size:12px;font-weight:600}.s-total-figure{font-size:34px;font-weight:750;line-height:1.05;letter-spacing:-.04em}.s-total-meta{font-size:11.5px;font-weight:500}.s-cal{position:relative;margin-top:26px;padding:46px 12px 12px;border-radius:16px;background:var(--story-2);box-shadow:inset 0 0 0 1px var(--story-line)}.s-notif{position:absolute;top:-26px;right:-6px;left:-6px;display:grid;grid-template-columns:30px 1fr auto;gap:10px;align-items:center;padding:10px 12px;border-radius:16px;background:var(--story-3);box-shadow:0 0 0 1px var(--story-line),0 18px 30px -16px #000000b3}.s-notif-mark{width:30px;height:30px;border-radius:8px}.s-notif-title{font-size:12.5px;font-weight:600}.s-notif-body,.s-notif-when{color:var(--on-story-2);font-size:11.5px}.s-notif-when{align-self:start}.s-cal-head{display:flex;justify-content:space-between;margin-bottom:8px;font-size:12.5px;font-weight:600}.s-cal-count{color:var(--on-story-2);font-weight:500}.s-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;font-size:11.5px;font-variant-numeric:tabular-nums;text-align:center}.s-wd{padding-bottom:2px;color:var(--on-story-2);font-size:10px;font-weight:600}.s-day{position:relative;display:grid;place-items:center;height:28px;border-radius:7px;color:var(--on-story-2)}.s-day.is-past{opacity:.45}.s-day.is-today{box-shadow:inset 0 0 0 1.5px var(--on-story-2);color:var(--on-story);font-weight:600}.s-day.is-due:after{content:"";position:absolute;bottom:3px;width:4px;height:4px;border-radius:4px;background:var(--story-lime)}.s-day.is-next{background:var(--story-lime);color:var(--on-story-lime);font-weight:700}.s-day.is-next:after{background:var(--on-story-lime)}.s-payoff{display:block;height:auto;overflow:visible;font-family:inherit}.s-axis{stroke:var(--on-story-2);stroke-opacity:.4}.s-bar{fill:var(--story-lime)}.s-bar-zero{fill:var(--story-lime);fill-opacity:.5}.s-flag{stroke:var(--story-lime);stroke-dasharray:2 3}.s-chart-figure{fill:var(--on-story);font-size:17px;font-weight:700;letter-spacing:-.4px}.s-chart-free{fill:var(--story-lime);font-size:22px;font-weight:750;letter-spacing:-.6px}.s-chart-note,.s-chart-axis{fill:var(--on-story-2);font-size:11px}.s-plan{display:grid;gap:8px}.s-spare{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:14px;background:var(--story-2);box-shadow:inset 0 0 0 1px var(--story-line)}.s-spare-label{color:var(--on-story-2);font-size:12px}.s-spare-figure{font-size:24px;font-weight:700;letter-spacing:-.03em}.s-goals{display:flex;gap:6px}.s-goal{flex:1;padding:7px 0;border-radius:8px;background:var(--story-2);box-shadow:inset 0 0 0 1px var(--story-line);color:var(--on-story-2);font-size:12px;font-weight:500;text-align:center}.s-goal.is-on{background:var(--on-story);box-shadow:none;color:var(--story);font-weight:600}.s-pick{display:grid;gap:10px;padding:14px;border-radius:14px;background:var(--story-2);box-shadow:inset 0 0 0 1.5px var(--story-lime)}.s-pick-row{display:flex;align-items:center;justify-content:space-between}.s-pick-name{font-size:14px;font-weight:600}.s-pick-amount{color:var(--on-story-2);font-size:13px}.s-pick-bar{height:6px;overflow:hidden;border-radius:6px;background:var(--story-3)}.s-pick-fill{display:block;width:100%;height:100%;border-radius:6px;background:var(--story-lime)}.s-pick-result{display:flex;align-items:center;gap:8px;font-size:13px}.s-tick{width:18px;height:18px;padding:3px;border-radius:99px;background:var(--story-lime);color:var(--on-story-lime)}.s-freed{display:grid;padding-top:8px;text-align:center}.s-freed-figure{color:var(--story-lime);font-size:30px;font-weight:750;line-height:1.05;letter-spacing:-.04em}.s-freed-note{color:var(--on-story-2);font-size:12.5px}.s-start{display:grid;justify-items:center;gap:18px}.s-start-mark{width:72px;height:72px;border-radius:18px}.s-promises{display:grid;gap:8px;width:100%}.s-promise{display:grid;grid-template-columns:30px 1fr;gap:12px;align-items:center;padding:9px 12px;border-radius:12px;background:var(--story-2);box-shadow:inset 0 0 0 1px var(--story-line)}.s-promise-title{font-size:13.5px;font-weight:600}.s-promise-body{color:var(--on-story-2);font-size:12px}@media(prefers-reduced-motion:no-preference){.story-copy{animation:story-up .5s cubic-bezier(.2,.8,.2,1) .1s both}.s-loan{animation:story-up .5s cubic-bezier(.2,.8,.2,1) both}.s-loan:nth-child(2){animation-delay:.08s}.s-loan:nth-child(3){animation-delay:.16s}.s-loan:nth-child(4){animation-delay:.24s}.s-total,.s-start-mark{animation:story-pop .55s cubic-bezier(.2,.9,.25,1.2) .45s both}.s-start-mark{animation-delay:0s}.s-notif{animation:story-drop .6s cubic-bezier(.2,.9,.25,1.1) .35s both}.s-bar{transform-box:fill-box;transform-origin:50% 100%;animation:story-rise .7s cubic-bezier(.2,.8,.2,1) both}.s-pick{animation:story-up .5s cubic-bezier(.2,.8,.2,1) .25s both}.s-pick-fill{animation:story-fill .9s cubic-bezier(.3,.8,.2,1) .6s both}.s-freed{animation:story-up .5s cubic-bezier(.2,.8,.2,1) 1.2s both}.s-promise{animation:story-up .45s cubic-bezier(.2,.8,.2,1) both}.s-promise:nth-child(1){animation-delay:.2s}.s-promise:nth-child(2){animation-delay:.3s}.s-promise:nth-child(3){animation-delay:.4s}}@keyframes story-seg{0%{transform:scaleX(0)}}@keyframes story-up{0%{opacity:0;transform:translateY(14px)}}@keyframes story-pop{0%{opacity:0;transform:scale(.9)}}@keyframes story-drop{0%{opacity:0;transform:translateY(-18px)}}@keyframes story-rise{0%{transform:scaleY(.04)}}@keyframes story-fill{0%{width:0}}.btn-sm{min-height:36px;padding:6px 12px}.keepsafe{overflow:hidden;border-radius:var(--r-lg);background:var(--surface);box-shadow:0 0 0 1px var(--line),var(--shadow)}.keepsafe-head{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:var(--sp-4) var(--sp-4) var(--sp-3)}.keepsafe-title{margin:0;font-size:15px;font-weight:650;letter-spacing:-.015em}.keepsafe-close{grid-row:1 / span 2;grid-column:2;display:grid;place-items:center;width:44px;margin:-12px -12px 0 0;border:0;background:none;color:var(--ink-3);cursor:pointer}.keepsafe-close-glyph{width:16px;height:16px}.keepsafe-sub{grid-column:1;margin:0;color:var(--ink-3);font-size:13px}.keepsafe-meter{display:flex;gap:4px;padding:0 var(--sp-4) var(--sp-3)}.keepsafe-meter-step{flex:1;height:5px;border-radius:var(--r-bar);background:var(--surface-2)}.keepsafe-meter-step.is-done{background:var(--primary)}.keepsafe-step{display:grid;grid-template-columns:32px 1fr auto;gap:var(--sp-3);align-items:center;padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--line)}.keepsafe-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:var(--r-md);background:var(--surface-2);color:var(--ink-2)}.keepsafe-step.is-done .keepsafe-icon{background:var(--good-soft);color:var(--good)}.keepsafe-glyph{width:17px;height:17px}.keepsafe-text{display:grid;min-width:0}.keepsafe-step-title{font-size:14px;font-weight:600}.keepsafe-step-sub{color:var(--ink-3);font-size:12.5px}.sheet-layer{position:fixed;inset:0;z-index:50;display:flex;align-items:flex-end;justify-content:center}.sheet-backdrop{position:absolute;inset:0;background:#00000073}.sheet{position:relative;display:grid;gap:var(--sp-3);width:100%;max-width:480px;padding:10px 18px calc(24px + env(safe-area-inset-bottom,0px));border-radius:var(--r-xl) var(--r-xl) 0 0;background:var(--surface);color:var(--ink)}.sheet-grab{justify-self:center;width:36px;height:4px;border-radius:4px;background:var(--line-2)}.sheet-title{margin:4px 0 0;font-size:20px;font-weight:650;letter-spacing:-.025em;outline:none}.sheet-body{margin:0;color:var(--ink-3);font-size:14px}.ios-steps{display:grid;margin:0;padding:2px 12px 2px 32px;border-radius:var(--r-md);background:var(--surface-2)}.ios-step{padding:4px 0;color:var(--ink-2);font-size:14px}.ios-step+.ios-step{border-top:1px solid var(--line)}.ios-step::marker{color:var(--ink-3);font-weight:600}.ios-step-text{display:inline-block;width:calc(100% - 40px);vertical-align:middle}.ios-step strong{color:var(--ink);font-weight:600}.ios-glyph{display:inline-grid;place-items:center;width:30px;height:30px;margin-left:10px;vertical-align:middle;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--safari-blue)}.ios-glyph-text{font-size:12px;font-weight:600}.ios-glyph-icon{width:16px;height:16px}.flow{min-height:100dvh;background:var(--bg);color:var(--ink);display:flex;justify-content:center}.flow-frame{width:100%;max-width:480px;min-height:100dvh;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}.flow-top{display:grid;gap:var(--sp-2);padding:14px var(--sp-4) 0}.flow-segs{display:flex;gap:4px;margin:0;padding:0;list-style:none}.flow-seg{flex:1;height:3px;border-radius:var(--r-bar);background:var(--line-2);transition:background-color .2s ease}.flow-seg.is-on{background:var(--ink)}.flow-nav{display:flex;align-items:center;justify-content:space-between;min-height:40px}.flow-count{font-size:12.5px;color:var(--ink-3);font-variant-numeric:tabular-nums}.flow-body{flex:1;display:flex;flex-direction:column;gap:var(--sp-4);padding:var(--sp-3) var(--sp-4) var(--sp-4);animation:flow-in .26s ease both}@keyframes flow-in{0%{opacity:0;transform:translateY(8px)}}.flow-kicker{margin:0 0 calc(var(--sp-3) * -1);font-size:13px;font-weight:500;color:var(--ink-3)}.flow-title{margin:0;font-size:27px;font-weight:700;letter-spacing:-.035em;line-height:1.12;text-wrap:balance}.flow-title label{cursor:inherit}.flow-lede{margin:calc(var(--sp-2) * -1) 0 0;color:var(--ink-3);font-size:14px;max-width:34ch}.flow-big-input{width:100%;min-width:0;padding:4px 2px 10px;border:0;border-bottom:2px solid var(--field-line);border-radius:0;background:transparent;color:var(--ink);font:inherit;font-size:32px;font-weight:700;letter-spacing:-.04em;line-height:1.15}.flow-big-input::placeholder{color:var(--line-2);font-weight:600}.flow-big-input:focus{outline:none;border-bottom-color:var(--ring)}.flow-big-money{display:flex;align-items:baseline;gap:6px}.flow-big-money>span{font-size:26px;font-weight:650;color:var(--ink-3)}.flow-picks{display:flex;flex-wrap:wrap;gap:6px}.flow-pick{display:inline-flex;align-items:center;min-height:34px;padding:0 13px;border:0;border-radius:var(--r-pill);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line-2);color:var(--ink-2);font:inherit;font-size:13.5px;font-weight:500;cursor:pointer;transition:transform 90ms ease}.flow-pick.is-on{background:var(--ink);box-shadow:none;color:var(--bg);font-weight:600}.flow-pick:active,.flow-cal-day:active,.flow-step-btn:active:not(:disabled){transform:scale(.96)}.flow-lender{display:grid;gap:5px;margin-top:var(--sp-2)}.flow-lender .field-help{margin:0}.flow-switch{align-self:flex-start;padding:6px 0;border:0;background:none;color:var(--ink-2);font:inherit;font-size:13.5px;font-weight:500;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.flow-sum{display:flex;flex-direction:row;justify-content:space-between;align-items:baseline;padding:12px 14px;font-size:13.5px;color:var(--ink-2)}.flow-sum b{color:var(--ink);font-size:16px;font-weight:700;letter-spacing:-.02em}.flow-cal{padding:10px 10px 12px;gap:0}.flow-cal-head{display:flex;align-items:center;justify-content:space-between;padding:0 2px 6px;font-size:14px;font-weight:650}.flow-cal-move{width:36px;height:36px;border:0;border-radius:var(--r-md);background:none;color:var(--ink-2);font-size:22px;line-height:1;cursor:pointer}.flow-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;text-align:center}.flow-cal-dow{padding-bottom:4px;font-size:11px;font-weight:600;color:var(--ink-3)}.flow-cal-day{height:38px;border:0;border-radius:var(--r-md);background:none;color:var(--ink-2);font:inherit;font-size:14px;font-variant-numeric:tabular-nums;cursor:pointer;transition:transform 90ms ease}.flow-cal-day.is-today{box-shadow:inset 0 0 0 1px var(--line-2)}.flow-cal-day.is-on{background:var(--primary);color:var(--primary-foreground);font-weight:700;box-shadow:none}.flow-due{display:grid;gap:var(--sp-3);padding:12px 14px}.flow-due-line{margin:0;font-size:13.5px;color:var(--ink-2);line-height:1.45}.flow-due-line b{color:var(--ink);font-weight:650}.flow-due .field-help{margin:0}.flow-stepper{display:grid;grid-template-columns:48px 1fr 48px;min-height:48px;border:1px solid var(--field-line);border-radius:var(--r-md);background:var(--surface);overflow:hidden}.flow-step-btn{border:0;background:none;color:var(--ink-2);font:inherit;font-size:20px;cursor:pointer;transition:transform 90ms ease}.flow-step-btn:disabled{color:var(--line-2);cursor:default}.flow-step-value{display:flex;align-items:baseline;justify-content:center;gap:4px;padding-top:11px;border-inline:1px solid var(--line)}.flow-step-value input{width:3.2ch;padding:0;border:0;background:none;color:var(--ink);font:inherit;font-size:18px;font-weight:700;text-align:right;-moz-appearance:textfield;appearance:textfield}.flow-step-value input::-webkit-outer-spin-button,.flow-step-value input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.flow-step-value input:focus{outline:none}.flow-stepper:focus-within{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in oklch,var(--ring) 30%,transparent)}.flow-step-value small{font-size:13px;color:var(--ink-3)}.flow-choices{margin:0;padding:0;gap:0;border:0;overflow:hidden}.flow-choice{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;padding:12px 14px;cursor:pointer}.flow-choice+.flow-choice{border-top:1px solid var(--line)}.flow-choice input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--primary)}.flow-choice b{display:block;font-size:14px;font-weight:600}.flow-choice span span{font-size:12.5px;color:var(--ink-3)}.flow-choice-field{padding:0 14px 14px 44px}.flow-hero-name{font-size:15px;font-weight:650;letter-spacing:-.015em}.flow-body .hero-figure small,.flow-done .hero-figure small{font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--on-hero-2)}.flow-takehome{display:grid;gap:var(--sp-2);padding:12px 14px 14px}.flow-takehome .field-help{margin:0}.flow-review-actions{display:grid;gap:var(--sp-2);margin-top:var(--sp-2)}.flow-foot{position:sticky;bottom:0;padding:var(--sp-3) var(--sp-4) calc(var(--sp-4) + env(safe-area-inset-bottom,0px));background:linear-gradient(to bottom,transparent,var(--bg) 30%)}.flow-done{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--sp-4);padding:48px var(--sp-4) var(--sp-4);text-align:center;animation:flow-in .32s ease both}.flow-done-mark{display:grid;place-items:center;width:56px;height:56px;border-radius:var(--r-xl);background:var(--primary);color:var(--primary-foreground)}.flow-done-mark svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.flow-done-hero{width:100%;text-align:left}.flow-another{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--sp-3);width:100%;padding:13px 14px;border:0;border-radius:var(--r-lg);background:var(--surface);box-shadow:0 0 0 1px var(--line);color:var(--ink);font:inherit;text-align:left;cursor:pointer}.flow-another-text{display:grid;gap:2px}.flow-another-text b{font-size:14px;font-weight:600}.flow-another-text span{font-size:12.5px;color:var(--ink-3)}.flow-another-chev{font-size:20px;color:var(--ink-3)}.flow-pick:focus-visible,.flow-cal-day:focus-visible,.flow-cal-move:focus-visible,.flow-step-btn:focus-visible,.flow-switch:focus-visible,.flow-another:focus-visible{outline:2px solid var(--ring);outline-offset:2px}@media(hover:hover){.flow-pick:not(.is-on):hover,.flow-cal-day:not(.is-on):hover,.flow-cal-move:hover,.flow-step-btn:not(:disabled):hover{background:var(--surface-2)}.flow-another:hover{box-shadow:0 0 0 1px var(--line-2)}}@media(prefers-reduced-motion:reduce){.flow-body,.flow-done{animation:none}}.dash{gap:var(--sp-4)}.dash-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:var(--sp-3)}.dash-head .screen-sub{margin-top:2px}.dash-bell{position:relative;display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:var(--r-md);background:var(--surface);box-shadow:0 0 0 1px var(--line),var(--shadow);color:var(--ink-2);cursor:pointer}.dash-bell svg{width:19px;height:19px}.dash-bell-dot{position:absolute;top:9px;right:10px;width:8px;height:8px;border-radius:var(--r-pill);background:var(--danger);box-shadow:0 0 0 2px var(--surface)}.dash-facts{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:0;border-radius:var(--r-md);overflow:hidden;background:color-mix(in oklch,var(--on-hero) 10%,transparent)}.dash-facts div{display:grid;gap:1px;padding:9px 12px;background:var(--hero-2)}.dash-facts div:only-child{grid-column:1 / -1}.dash-facts dt{font-size:11.5px;color:var(--on-hero-2)}.dash-facts dd{margin:0;font-size:14px;font-weight:650;letter-spacing:-.01em}.dash-facts dd.is-lime{color:var(--lime)}.dash-section{display:flex;flex-direction:column;gap:var(--sp-3)}.dash-section>h2.label{margin:var(--sp-2) 2px 0}.dash-label{display:flex;justify-content:space-between;align-items:baseline;gap:var(--sp-3)}.dash-label-note{font-size:12.5px;font-weight:600;color:var(--ink-3)}.dash-label-note.is-danger{color:var(--danger)}.dash-list{padding:0;gap:0;overflow:hidden}.dash-rows{margin:0;padding:0;list-style:none}.dash-rows>li+li,.dash-month+.dash-rows{border-top:1px solid var(--line)}.dash-row,.dash-need{position:relative}.dash-need{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--sp-2);padding-right:14px}.dash-need.is-late{background:linear-gradient(90deg,var(--danger-soft),transparent 75%)}.dash-row-open{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-width:0;padding:12px 14px;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.dash-need .dash-row-open{grid-template-columns:40px minmax(0,1fr);padding-right:0}.dash-date{display:grid;place-items:center;align-content:center;width:40px;height:42px;border-radius:var(--r-md);background:var(--surface-2);line-height:1.05}.dash-date b{font-size:15px;font-weight:700;letter-spacing:-.02em}.dash-date span{font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}.dash-date.is-late{background:var(--danger-soft)}.dash-date.is-late span{color:var(--danger)}.dash-date.is-due{background:var(--due-soft)}.dash-date.is-due span{color:var(--due)}.dash-row-main{display:grid;gap:1px;min-width:0}.dash-row-title{overflow:hidden;font-size:14px;font-weight:600;letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap}.dash-row-sub{font-size:12.5px;color:var(--ink-3)}.dash-row-end{display:grid;justify-items:end;gap:4px}.dash-row-end .money{font-weight:650}.dash-record.btn{height:32px;min-height:32px;padding:0 14px;font-size:13px}.dash-month{display:grid;gap:var(--sp-2);padding:12px 14px}.dash-month-top{display:flex;justify-content:space-between;gap:var(--sp-3);font-size:13px;color:var(--ink-3)}.dash-month-top b{color:var(--ink);font-weight:650}.dash-month-foot{margin:0;border-top:1px solid var(--line)}.dash-month-foot div{display:flex;justify-content:space-between;gap:var(--sp-3);padding:10px 14px;font-size:13px}.dash-month-foot div+div{border-top:1px solid var(--line)}.dash-month-foot dt{color:var(--ink-3)}.dash-month-foot dd{margin:0;font-weight:600}.dash-month-foot .is-strong dt{color:var(--ink);font-weight:600}.dash-month-foot .is-strong dd{font-weight:700}.dash-payoff{gap:var(--sp-3)}.dash-payoff-head{display:grid;gap:1px}.dash-payoff-head .muted{font-size:12.5px}.dash-bars{display:flex;align-items:flex-end;gap:2px;height:64px;padding-bottom:1px;border-bottom:1px solid var(--line)}.dash-bars i{flex:1;min-width:0;border-radius:3px 3px 0 0;background:var(--line-2)}.dash-bars i.is-now{background:var(--ink)}.dash-bars i.is-free{height:6px;border-radius:3px;background:var(--primary)}.dash-bars-x{display:flex;justify-content:space-between;gap:var(--sp-3);margin-top:calc(var(--sp-2) * -1);font-size:11.5px;color:var(--ink-3)}.dash-ends{margin:0;padding:0;list-style:none}.dash-ends li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:baseline;gap:10px;padding:7px 0;border-top:1px solid var(--line);font-size:12.5px;color:var(--ink-3)}.dash-ends b{overflow:hidden;color:var(--ink);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.dash-ends em{font-style:normal;font-weight:600;color:var(--good)}.dash-prompt,.dash-ok,.dash-backup{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 14px}.dash-prompt.card-invite{height:auto;white-space:normal}.dash-ok{grid-template-columns:34px minmax(0,1fr)}.dash-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:var(--r-md);background:var(--surface-2);color:var(--ink-2)}.dash-icon svg{width:17px;height:17px}.dash-icon.is-good{background:var(--good-soft);color:var(--good)}.dash-icon.is-danger{background:var(--danger-soft);color:var(--danger)}.dash-prompt-text{display:grid;gap:1px;min-width:0;text-align:left}.dash-prompt-text b{font-size:13.5px;font-weight:600}.dash-prompt-text span{font-size:12px;font-weight:400;line-height:1.4;color:var(--ink-3)}.dash-chev{width:16px;height:16px;color:var(--ink-3)}.dash-backup{border-radius:var(--r-lg);background:var(--due-soft);box-shadow:inset 0 0 0 1px var(--due-line)}.dash-backup .dash-icon{background:var(--surface);color:var(--due)}.dash-backup .dash-prompt-text span{color:var(--ink-2)}.dash-backup-save.btn{height:32px;min-height:32px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line-2)}.dash-bell:focus-visible,.dash-row-open:focus-visible{outline:2px solid var(--ring);outline-offset:-2px}.dash-row-open:active{background:var(--surface-2)}@media(hover:hover){.dash-bell:hover{background:var(--surface-2)}.dash-row-open:hover{background:color-mix(in oklch,var(--surface-2) 60%,transparent)}}.sheet-panel{gap:var(--sp-3);max-height:min(92dvh,760px);overflow-y:auto;overscroll-behavior:contain;background:var(--bg);padding-inline:var(--sp-4)}.sheet-panel:focus{outline:none}.sheet-panel .sheet-handle{margin-bottom:0}.sheet-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:var(--sp-2)}.sheet-title{margin:0;font-size:19px;font-weight:700;letter-spacing:-.025em;line-height:1.15}.sheet-sub{margin:2px 0 0;font-size:12.5px;color:var(--ink-3)}.sheet-close,.loan-more{display:grid;place-items:center;width:36px;height:36px;margin:-4px -8px 0 0;border:0;border-radius:var(--r-md);background:none;color:var(--ink-2);cursor:pointer}.sheet-close svg,.loan-more svg{width:19px;height:19px}.sheet-panel .pay>.btn-wide:last-child{position:sticky;bottom:0;box-shadow:0 0 0 var(--sp-2) var(--bg)}.pay{display:flex;flex-direction:column;gap:var(--sp-3)}.pay-picks,.pay-reasons{margin:0;padding:0;border:0;min-width:0}.pay-picks{display:grid;border-radius:var(--r-lg);background:var(--surface);box-shadow:0 0 0 1px var(--line);overflow:hidden}.pay-pick{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 13px;cursor:pointer}.pay-pick+.pay-pick{border-top:1px solid var(--line)}.pay-pick.is-on{background:color-mix(in oklch,var(--primary) 14%,var(--surface))}.pay-pick-radio{appearance:none;width:18px;height:18px;margin:0;border-radius:var(--r-pill);box-shadow:inset 0 0 0 1.5px var(--line-2);cursor:pointer}.pay-pick-radio:checked{box-shadow:inset 0 0 0 5px var(--ink)}.pay-pick-radio:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.pay-pick-text{display:grid;gap:1px;min-width:0}.pay-pick-title{font-size:13.5px;font-weight:600}.pay-pick-sub{font-size:12px;color:var(--ink-3)}.pay-pick-amount{font-size:14px;font-weight:650}.pay-pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-2)}.pay-pair .field{min-width:0}.pay-effect{border-radius:var(--r-lg);background:var(--surface);box-shadow:0 0 0 1px var(--line);overflow:hidden}.pay-lines{margin:0;padding:0;list-style:none}.pay-line,.pay-total{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-3);margin:0;padding:10px 13px;font-size:13px}.pay-line+.pay-line,.pay-lines+.pay-total,.pay-total+.pay-total{border-top:1px solid var(--line)}.pay-line-main{display:grid;gap:1px;min-width:0}.pay-line-title{color:var(--ink-2)}.pay-line-sub{font-size:12px;color:var(--ink-3)}.pay-line-amount,.pay-line b,.pay-total b{font-weight:650}.pay-total{background:var(--surface-2)}.pay-total>span:first-child{color:var(--ink-3)}.pay-was{color:var(--ink-3);text-decoration:line-through;text-decoration-color:var(--line-2)}.pay-good{color:var(--good)}.pay-bad{color:var(--danger)}.pay-due{color:var(--due)}.pay-foot{margin:0;padding:9px 13px;border-top:1px solid var(--line);font-size:12px;line-height:1.45;color:var(--ink-3)}.pay-ahead-title{margin:0;padding:10px 13px 0;font-size:12px;font-weight:600;color:var(--ink-3)}.pay-ahead .pay-line:first-child{border-top:0}.pay-warn{margin:0;font-size:12px;line-height:1.45;color:var(--ink-3)}.pay-voided{margin:0;padding:11px 13px;border-radius:var(--r-lg);background:var(--surface-2);font-size:13px;color:var(--ink-2)}.pay-done{display:grid;justify-items:center;gap:6px;padding:var(--sp-1) 0 2px;text-align:center}.pay-done-tick{display:grid;place-items:center;width:46px;height:46px;border-radius:var(--r-pill);background:var(--good-soft);color:var(--good)}.pay-done-tick svg{width:24px;height:24px;stroke-width:2.6}.pay-done-title{margin:0;font-size:22px;font-weight:750;letter-spacing:-.03em}.pay-done-text{margin:0;max-width:32ch;font-size:13px;color:var(--ink-2)}.pay-reasons{display:flex;flex-wrap:wrap;gap:6px}.pay-ask{width:100%;margin-bottom:6px;padding:0;font-size:12.5px;font-weight:600;color:var(--ink-3)}.pay-reason{display:inline-flex;align-items:center;height:32px;padding:0 12px;border-radius:var(--r-pill);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line-2);font-size:13px;font-weight:500;color:var(--ink-2);cursor:pointer}.pay-reason.is-on{background:var(--ink);box-shadow:none;color:var(--bg)}.pay-reason:has(:focus-visible){outline:2px solid var(--ring);outline-offset:2px}.loans{gap:var(--sp-4)}.loans .screen-head>div{flex:1 1 auto;min-width:0}.loans .screen-sub b{color:var(--ink);font-weight:650}.loans-filters{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.loans-filter{flex:none;display:inline-flex;align-items:center;gap:5px;height:32px;padding:0 12px;border:0;border-radius:var(--r-pill);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line-2);font:inherit;font-size:13px;font-weight:500;color:var(--ink-2);cursor:pointer}.loans-filter b{font-weight:650}.loans-filter.is-on{background:var(--ink);box-shadow:none;color:var(--bg)}.loans-filter.is-late{color:var(--danger);box-shadow:inset 0 0 0 1px var(--danger-line)}.loans-filter.is-late.is-on{background:var(--danger);color:#fff}.loans-list{display:flex;flex-direction:column;gap:var(--sp-2);margin:0;padding:0;list-style:none}.loan-card{position:relative;border-radius:var(--r-lg);background:var(--surface);box-shadow:0 0 0 1px var(--line),var(--shadow)}.loan-card.is-late{box-shadow:0 0 0 1px var(--danger-line),var(--shadow)}.loan-card-open{display:grid;gap:8px;width:100%;padding:13px 14px;border:0;border-radius:inherit;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.loan-card-top{display:flex;justify-content:space-between;align-items:baseline;gap:var(--sp-3)}.loan-card-name{overflow:hidden;font-size:15px;font-weight:650;letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap}.loan-card-amount{flex:none;font-size:15px;font-weight:700;letter-spacing:-.02em}.loan-card-amount small{font-size:12px;font-weight:500;color:var(--ink-3);letter-spacing:0}.loan-card-meta{margin-top:-6px;font-size:12.5px;color:var(--ink-3)}.loan-card-state{min-height:20px;font-size:12.5px;color:var(--ink-2)}.loan-card.has-record .loan-card-state{display:flex;align-items:center;min-height:32px;padding-right:88px}.loan-card-state.is-late{color:var(--danger);font-weight:560}.loan-card-state.is-due{color:var(--due);font-weight:560}.loan-card-state.is-closed{color:var(--good);font-weight:560}.loan-card-record.btn{position:absolute;right:14px;bottom:13px;min-height:32px;height:32px;padding:0 14px;font-size:13px}.loan{gap:var(--sp-4)}.loan-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:calc(var(--sp-3) * -1)}.loan-head{display:grid;gap:2px}.loan-hero{gap:10px}.loan-hero-row{display:flex;justify-content:space-between;gap:var(--sp-3);font-size:12.5px;color:var(--on-hero-2)}.loan-hero-row b{color:var(--lime);font-weight:600}.loan-hero .hero-figure{font-size:34px}.loan-hero-note{margin:0;font-size:12.5px;color:var(--on-hero-2)}.loan-hero-note b{color:var(--on-hero);font-weight:600}.loan-actions>.btn:last-child:not(:first-child){flex:0 0 auto;min-width:0}.loan-section{display:flex;flex-direction:column;gap:var(--sp-2)}h2.loan-label{display:flex;justify-content:space-between;align-items:baseline;margin:var(--sp-1) 2px 0}.loan-label span{font-size:12.5px;font-weight:500;color:var(--ink-3)}.loan-rows.card{margin:0;padding:0;gap:0;list-style:none;overflow:hidden}.loan-rows>li+li{border-top:1px solid var(--line)}.loan-row,.loan-row-open{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 14px}.loan-row.is-late{background:linear-gradient(90deg,var(--danger-soft),transparent 75%)}.loan-row.is-muted{opacity:.6}.loan-row-open{width:100%;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.loan-row-open:disabled{cursor:default}.loan-row-open.is-void .loan-row-title{color:var(--ink-3);text-decoration:line-through}.loan-row-main{display:grid;gap:1px;min-width:0}.loan-row-title{font-size:14px;font-weight:600;letter-spacing:-.01em}.loan-row-sub{font-size:12.5px;color:var(--ink-3)}.loan-row-sub.is-late{color:var(--danger)}.loan-row-sub.is-due{color:var(--due)}.loan-chev{width:16px;height:16px;color:var(--ink-3)}.loan-show{align-self:center;padding:6px 10px;border:0;border-radius:var(--r-md);background:none;font:inherit;font-size:13px;font-weight:600;color:var(--ink-2);cursor:pointer}.loan-done-toggle{align-self:flex-start;padding-inline:2px}.sheet-item.loan-menu-item{justify-content:flex-start}.sheet-item.loan-menu-danger{color:var(--danger)}.dash-date.is-paid{background:var(--good-soft)}.dash-date.is-paid span{color:var(--good)}.sheet-close:focus-visible,.loan-more:focus-visible,.loan-show:focus-visible,.loans-filter:focus-visible,.loan-card-open:focus-visible,.loan-row-open:focus-visible{outline:2px solid var(--ring);outline-offset:-2px}.loan-card-open:active,.loan-row-open:active:not(:disabled){background:var(--surface-2)}@media(hover:hover){.sheet-close:hover,.loan-more:hover,.loan-show:hover{background:var(--surface-2)}.loan-row-open:hover:not(:disabled){background:color-mix(in oklch,var(--surface-2) 60%,transparent)}}.plan .dash-prompt{margin-top:var(--sp-2)}.plan-panel .plan-steps+.plan-bars-card{margin-top:2px}.plan-hero{gap:12px}.plan-when{margin:0;font-size:30px;font-weight:750;letter-spacing:-.04em;line-height:1.05}.plan-when-year{color:var(--lime)}.plan-bars{display:flex;align-items:flex-end;gap:2px;height:70px;padding-bottom:1px;border-bottom:1px solid var(--line)}.plan-bars i{position:relative;flex:1;min-width:0;border-radius:3px 3px 0 0;background:var(--line-2)}.plan-bars i.is-now{background:var(--ink)}.plan-bars i.is-free{height:6px;border-radius:3px;background:var(--primary)}.plan-bars s{position:absolute;inset:0 0 auto;border-radius:3px 3px 0 0;background:var(--good-soft);box-shadow:inset 0 0 0 1px var(--good-line)}.plan-hero .plan-bars{border-bottom-color:color-mix(in oklch,var(--on-hero) 14%,transparent)}.plan-hero .plan-bars i{background:color-mix(in oklch,var(--on-hero) 26%,transparent)}.plan-hero .plan-bars i.is-now{background:var(--on-hero)}.plan-hero .plan-bars i.is-free{background:var(--lime)}.plan-bars-x{display:flex;justify-content:space-between;margin-top:-6px;font-size:11.5px;color:var(--on-hero-2);font-variant-numeric:tabular-nums}.plan-bars-card{display:grid;gap:10px;padding:12px 13px}.plan-key{display:flex;gap:14px;font-size:11.5px;color:var(--ink-3)}.plan-key span{display:inline-flex;align-items:center;gap:6px}.plan-key i{width:10px;height:10px;border-radius:3px;background:var(--line-2)}.plan-key i.is-off{background:var(--good-soft);box-shadow:inset 0 0 0 1px var(--good-line)}.plan-section{display:grid;gap:var(--sp-3)}.plan-section h2.label{margin:var(--sp-2) 0 0}.plan-label-row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--sp-3)}.plan-label-row h2.label{margin:0}.plan-section .plan-label-row{margin-top:var(--sp-2)}.plan-link{padding:0;border:0;background:none;font:inherit;font-size:12.5px;font-weight:600;color:var(--ink-2);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line-2);cursor:pointer}.plan-link:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:2px}.dash-card-link{justify-self:start}.plan-goal{display:grid;grid-template-columns:1fr 1fr;gap:2px;padding:3px;border-radius:var(--r-md);background:var(--surface-2)}.plan-goal button{display:grid;gap:1px;padding:7px 10px;border:0;border-radius:calc(var(--r-md) - 3px);background:transparent;color:var(--ink-3);font:inherit;text-align:left;cursor:pointer}.plan-goal button b{font-size:12.5px;font-weight:600}.plan-goal button span{font-size:11px;line-height:1.3}.plan-goal button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 0 0 1px var(--line),var(--shadow)}.plan-goal button[aria-pressed=true] span{color:var(--ink-3)}.plan-goal button:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.plan-list{padding:0;gap:0;overflow:hidden}.plan-rungs{margin:0;padding:0;list-style:none}.plan-rungs>li+li{border-top:1px solid var(--line)}.plan-rung{display:grid;grid-template-columns:minmax(0,1fr) auto 16px;gap:10px;align-items:center;width:100%;padding:12px 14px;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.plan-rung.is-other{grid-template-columns:minmax(0,1fr) 16px}.plan-rung:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.plan-rung-main{display:grid;gap:1px;min-width:0}.plan-rung-title{font-size:14px;font-weight:600;letter-spacing:-.01em}.is-other .plan-rung-title{font-weight:500;color:var(--ink-2)}.plan-rung-sub{font-size:12.5px;line-height:1.35;color:var(--good)}.plan-rung-sub.is-late{color:var(--danger)}.plan-rung .money{font-weight:650}.plan-chev{width:16px;height:16px;color:var(--ink-3)}.dash-row.is-paid .dash-row-title,.dash-row.is-paid .money{color:var(--ink-3)}.dash-row.is-paid .money{text-decoration:line-through;text-decoration-color:var(--line-2)}.dash-row-sub.is-good{color:var(--good)}.dash-row-sub.is-late{color:var(--danger)}.dash-row-sub.is-due{color:var(--due)}.plan-steps{margin:0;padding:0;list-style:none;border-radius:var(--r-lg);background:var(--surface);box-shadow:0 0 0 1px var(--line);overflow:hidden}.plan-step{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:11px;align-items:start;padding:11px 13px}.plan-steps>li+li{border-top:1px solid var(--line)}.plan-step-n{width:24px;height:24px;border-radius:var(--r-pill);display:grid;place-items:center;font-size:12px;font-weight:700;background:var(--surface-2);color:var(--ink-2)}.plan-step.is-late .plan-step-n{background:var(--danger-soft);color:var(--danger)}.plan-step.is-done .plan-step-n{background:var(--good-soft);color:var(--good)}.plan-step-main{display:grid;gap:1px;min-width:0}.plan-step-title{font-size:13.5px;font-weight:600}.plan-step-sub{font-size:12px;line-height:1.4;color:var(--ink-3)}.plan-step .money{font-weight:650}.plan-kept{display:flex;justify-content:space-between;gap:var(--sp-3);padding:10px 13px;font-size:12.5px;color:var(--ink-3);border-top:1px dashed var(--line-2)}.pay-warn.is-late{color:var(--danger)}.plan-why{font-size:12px;line-height:1.45;color:var(--ink-3)}.plan-why summary{width:fit-content;font-weight:600;color:var(--ink-2);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line-2);cursor:pointer}.plan-why p{margin:6px 0 0}.plan-month{display:grid;gap:var(--sp-2)}.plan-month-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--sp-3);margin:var(--sp-2) 2px 0;font-size:13px;font-weight:650;letter-spacing:-.01em}.plan-month-head span{font-size:12.5px;font-weight:500;color:var(--ink-3)}.plan-month-head.is-late,.plan-month-head.is-late span{color:var(--danger)}.income-share{display:grid;gap:10px;padding:14px}.income-share .card-head{display:flex;justify-content:space-between;align-items:center}@media(hover:hover){.plan-rung:hover,.plan-goal button:hover{background:color-mix(in oklch,var(--ink) 3%,transparent)}.plan-goal button[aria-pressed=true]:hover{background:var(--surface)}}.plan-label-row .plan-link{min-height:0;padding:12px 0;margin:-12px 0}.cards .screen-head{flex-wrap:nowrap;align-items:flex-start}.cards .screen-head>.btn{flex:none}.loan-card-amount.card-unknown{font-size:13px;font-weight:600;color:var(--ink-3);letter-spacing:0}.loan-card-amount .card-asof{display:block;text-align:right}.cards .loan-card-top{align-items:start}.loan-card-state.is-none{color:var(--ink-3)}.card-hero-row b{color:var(--on-hero)}.card-hero-row b.is-late{color:color-mix(in oklch,var(--danger) 45%,var(--on-hero))}.card-hero-none{margin:0;font-size:24px;font-weight:700;letter-spacing:-.03em}.card-bar{position:relative;height:8px;margin-top:4px;border-radius:var(--r-pill);background:color-mix(in oklch,var(--on-hero) 16%,transparent)}.card-bar-fill{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:var(--lime)}.card-bar-mark{position:absolute;top:-4px;bottom:-4px;width:2px;margin-left:-1px;border-radius:2px;background:var(--on-hero)}.card-key{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:0;border-radius:var(--r-md);overflow:hidden;background:color-mix(in oklch,var(--on-hero) 10%,transparent)}.card-key-item{display:grid;align-content:start;gap:1px;padding:9px 11px;background:var(--hero-2)}.card-key-item dt{font-size:11.5px;color:var(--on-hero-2)}.card-key-item dd{margin:0;font-size:14px;font-weight:650;letter-spacing:-.01em}.card-key-item dd.card-key-note{font-size:11.5px;font-weight:400;color:var(--on-hero-2);letter-spacing:0}.card-key-item.is-late dd:not(.card-key-note){color:color-mix(in oklch,var(--danger) 45%,var(--on-hero))}.card-note{margin:calc(var(--sp-2) * -1) 2px 0;font-size:12px;line-height:1.45;color:var(--ink-3)}.loan-row-sub.is-good{color:var(--good)}.pay-total.pay-plain{background:none}.pay-facts,.pay-facts dd{margin:0}.card-statement{display:grid;gap:var(--sp-2);padding:0 13px 13px;border-radius:var(--r-lg);background:var(--surface);box-shadow:0 0 0 1px var(--line);overflow:hidden}.card-statement-head{display:flex;justify-content:space-between;gap:var(--sp-2);margin:0 -13px;padding:9px 13px;background:var(--surface-2);font-size:11.5px;font-weight:600;color:var(--ink-3)}.card-banks{display:flex;flex-wrap:wrap;gap:6px;min-width:0;margin:0;padding:0;border:0}.card-banks-label{width:100%;margin-bottom:6px;padding:0;font-size:12.5px;font-weight:600;color:var(--ink-2)}.card-remove{display:grid;gap:var(--sp-2);padding:13px}.card-remove-title{margin:0;font-size:14px;font-weight:650}h2.history-month .history-total{color:var(--ink);font-weight:650}.history-row-top{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);min-width:0}.history-row-top .loan-row-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-amount{flex:none;font-size:14px;font-weight:650;letter-spacing:-.01em}.history-amount.is-void{color:var(--ink-3);text-decoration:line-through}.history-sum{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:1px;margin:0;overflow:hidden;border-radius:var(--r-lg);background:var(--line);box-shadow:0 0 0 1px var(--line)}.history-sum>div{display:grid;gap:1px;padding:10px 12px;background:var(--surface)}.history-sum dt{font-size:12px;color:var(--ink-3)}.history-sum dd{margin:0;font-size:15px;font-weight:700;letter-spacing:-.02em}.rem-hero{gap:11px}.rem-hero-row{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--on-hero-2)}.rem-hero-row svg{width:16px;height:16px}.rem-figure{margin:0;font-size:26px;font-weight:750;letter-spacing:-.035em;line-height:1.1}.rem-note{margin:0;font-size:13px;line-height:1.45;color:var(--on-hero-2)}.rem-alert{display:grid;gap:6px}.rem-alert-label{font-size:12px;color:var(--on-hero-2)}.rem-seg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;padding:3px;border-radius:var(--r-md);background:var(--hero-2)}.rem-seg-item{min-height:34px;padding:6px 2px;border:0;border-radius:calc(var(--r-md) - 2px);background:none;font:inherit;font-size:12.5px;font-weight:600;color:var(--on-hero-2);cursor:pointer}.rem-seg-item.is-on{background:var(--primary);color:var(--primary-foreground)}.rem-seg-item:disabled{cursor:default}.rem-seg-item:focus-visible{outline:2px solid var(--lime);outline-offset:1px}.btn.btn-hero-quiet{background:var(--hero-2);border-color:transparent;color:var(--on-hero)}.rem-fine,.keep-fine{margin:calc(var(--sp-2) * -1) 2px 0;font-size:12.5px;line-height:1.5;color:var(--ink-3)}.rem-app{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4)}.rem-app-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:var(--r-md);background:var(--surface-2);color:var(--ink-2)}.rem-app-icon svg{width:16px;height:16px}.rem-app-text{display:grid;gap:1px;min-width:0}.rem-app-title{font-size:14px;font-weight:600}.rem-app-sub{font-size:12.5px;line-height:1.4;color:var(--ink-3)}.keep-hero{gap:10px}.keep-hero-row{display:flex;justify-content:space-between;gap:var(--sp-3);font-size:12.5px;color:var(--on-hero-2)}.keep-hero-row b{color:var(--lime);font-weight:600}.keep-hero.is-stale .keep-hero-row b{color:var(--due-on-hero)}.keep-figure{margin:0;font-size:32px;font-weight:750;letter-spacing:-.045em;line-height:1}.keep-note{margin:0;font-size:13px;line-height:1.45;color:var(--on-hero-2)}.keep-note b{color:var(--on-hero);font-weight:600}.keep-steps .keepsafe-step:first-child{border-top:0}.keep-restore{cursor:pointer}.keep-restore:focus-within,.keep-restore:active{background:var(--surface-2)}.keep-file{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;padding:11px 13px;border-radius:var(--r-lg);background:var(--surface);box-shadow:0 0 0 1px var(--line)}.keep-file-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:var(--r-md)}.keep-file-icon svg{width:18px;height:18px}.keep-file-icon.is-good{background:var(--good-soft);color:var(--good)}.keep-file-icon.is-bad{background:var(--danger-soft);color:var(--danger)}.keep-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.keep-compare{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:1px;overflow:hidden;border-radius:var(--r-lg);background:var(--line);box-shadow:0 0 0 1px var(--line)}.keep-compare dl{display:grid;align-content:start;gap:6px;margin:0;padding:11px 12px;background:var(--surface)}.keep-compare-head{font-size:12px;font-weight:600;color:var(--ink-3)}.keep-compare dd{display:flex;justify-content:space-between;margin:0;font-size:13px}.keep-compare b{font-weight:650}.keep-compare b.is-more{color:var(--danger)}.keep-warn{margin:0;padding:11px 13px;border-radius:var(--r-lg);background:var(--danger-soft);font-size:13px;line-height:1.45}.keep-warn b{font-weight:650}.keep-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-2)}.more-label{display:grid;gap:1px;min-width:0}.more-note{font-size:12.5px;font-weight:400;color:var(--ink-3)}.more-note.is-warn{color:var(--due);font-weight:550}.sheet-item.is-on .more-note{color:inherit}.app-rail{flex-direction:row;align-items:stretch}.app-rail .app-frame{max-width:680px}.app-rail .app-body{padding-bottom:var(--sp-5)}.rail{width:76px;flex:none;background:var(--hero);color:var(--on-hero);padding:var(--sp-4) 6px;display:flex;flex-direction:column;align-items:center;gap:4px;position:sticky;top:0;height:100dvh;overflow-y:auto}.rail .brand-mark{margin-bottom:var(--sp-3)}.rail-gap{width:32px;height:1px;margin:6px 0;background:var(--hero-2)}.rail-item{position:relative;display:grid;justify-items:center;gap:3px;width:64px;padding:8px 2px 7px;border:0;border-radius:var(--r-md);background:none;font:inherit;font-size:10.5px;font-weight:560;line-height:1.2;color:var(--on-hero-2);cursor:pointer;text-align:center}.rail-item .nav-glyph{width:20px;height:20px}.rail-item.is-on{background:var(--lime);color:var(--hero);font-weight:660}.rail-item:focus-visible,.nav-item:focus-visible,.side-status:focus-visible{outline:2px solid var(--lime);outline-offset:2px}@media(hover:hover)and (pointer:fine){.rail-item:hover{background:var(--hero-2);color:var(--on-hero)}.rail-item.is-on:hover{background:var(--lime);color:var(--hero)}}.nav-count{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:var(--r-pill);background:var(--danger);color:var(--surface);font-size:11px;font-weight:700;line-height:20px;text-align:center}.rail-item .nav-count{position:absolute;top:3px;right:9px;min-width:17px;height:17px;padding:0 4px;font-size:10px;line-height:17px}.nav-text{min-width:0}@media(min-width:768px){.sheet-scrim:has(>.sheet-panel){align-items:stretch;justify-content:flex-end}.sheet.sheet-panel{max-width:440px;max-height:none;height:100%;border-radius:0;border:0;border-left:1px solid var(--line);padding-top:var(--sp-5);padding-bottom:var(--sp-5);box-shadow:var(--shadow-lift)}.sheet-panel>.sheet-handle{display:none}}.app-wide .pane-split{display:grid;grid-template-columns:minmax(320px,400px) minmax(0,1fr);align-items:start;min-height:100dvh}.app-wide .pane-split.is-history{grid-template-columns:minmax(360px,460px) minmax(0,1fr)}.app-wide .pane-list{position:sticky;top:0;max-height:100dvh;overflow-y:auto;overscroll-behavior:contain;border-right:1px solid var(--line);min-width:0}.app-wide .pane-detail{min-width:0}.app-wide .pane-split .screen{max-width:none;margin:0}.app-wide .pane-detail>.screen{max-width:760px;position:relative;padding-inline:var(--sp-6)}.app-wide .pane-detail .loan-nav{position:absolute;top:var(--sp-4);right:var(--sp-6);margin:0}.pane-panel{max-width:560px;padding:var(--sp-5) var(--sp-6)}.pane-panel .sheet-close{display:none}.loan-card.is-selected{box-shadow:0 0 0 2px var(--primary),var(--shadow)}.loan-row-open.is-selected{background:color-mix(in srgb,var(--primary) 14%,var(--surface));box-shadow:inset 3px 0 0 var(--primary)}.dash-cols,.dash-main,.dash-side{display:contents}.app-wide .dash-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,360px);gap:var(--sp-5);align-items:start}.app-wide .dash-cols:has(>.dash-side:empty){grid-template-columns:minmax(0,1fr)}.app-wide .dash-main,.app-wide .dash-side{display:flex;flex-direction:column;gap:var(--sp-4);min-width:0}.app-wide .dash-side:empty{display:none}.app-wide .actions>.btn,.app-rail .actions>.btn{flex:0 0 auto;min-width:160px}.app-wide .screen>.hero .btn-wide,.app-rail .screen>.hero .btn-wide{width:auto;align-self:flex-start;padding-inline:var(--sp-6)}.appbar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:calc(var(--sp-1) + env(safe-area-inset-top,0px)) 8px 0 16px}.brand-word{display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:17px;color:var(--ink);letter-spacing:-.01em}.brand-tick{width:18px;height:18px;color:var(--accent-ink);flex:none}.brand-name{font-size:inherit;font-weight:800}.brand-tape{position:relative;z-index:0;margin-left:2px;padding:1px 8px;font-family:var(--font-hand);font-weight:600;font-size:14px;color:var(--ink)}.brand-tape:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--tape-stripes),var(--washi-mint);clip-path:var(--tape-clip);opacity:var(--tape-alpha);transform:rotate(-3deg)}:root[data-deco=low] .brand-tape:before{background:var(--washi-mint);transform:none}.appbar-settings{width:48px;height:48px;min-height:48px;display:grid;place-items:center;border:0;background:none;color:var(--ink);border-radius:var(--r-md);cursor:pointer}.appbar-settings.is-on{background:var(--surface);box-shadow:inset 0 0 0 2px var(--field-line)}.appbar-settings .nav-glyph{width:24px;height:24px}.tabbar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;gap:0;left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom,0px));max-width:544px;margin-inline:auto;padding:6px 4px 4px;background:var(--surface);backdrop-filter:none;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-paper)}.app-body{padding-bottom:calc(104px + env(safe-area-inset-bottom,0px))}.tab{position:relative;color:var(--ink-2);background:none;font-size:11px;font-weight:700;padding:8px 2px 4px;gap:2px;min-height:52px;border-radius:var(--r-md)}.tab .nav-glyph{width:22px;height:22px;color:var(--ink)}.tab-label{position:relative;z-index:0;padding:0 6px}.tab[data-tab=dashboard]{--tab-tape: var(--washi-butter)}.tab[data-tab=month]{--tab-tape: var(--washi-sky)}.tab[data-tab=loans]{--tab-tape: var(--washi-coral)}.tab[data-tab=plan]{--tab-tape: var(--washi-mint)}.tab.is-on{color:var(--ink);background:none;font-weight:800}.tab.is-on .nav-glyph{--ic-fill: var(--tab-tape)}.tab.is-on .tab-label:before{content:"";position:absolute;inset:1px -1px;z-index:-1;background:var(--tape-stripes),var(--tab-tape, var(--washi-butter));clip-path:var(--tape-clip);opacity:var(--tape-alpha)}.tab.is-on:before{content:"";position:absolute;top:1px;left:50%;width:9px;height:9px;margin-left:-4.5px;border-radius:50%;background:var(--pin);box-shadow:0 1px #00000040}.tab-add{align-self:center}.tab-add.is-off{visibility:hidden}.tab-add-tape{width:54px;height:46px;margin-top:-20px;display:grid;place-items:center;border-radius:var(--r-btn);background:var(--tape-stripes),var(--washi-butter);box-shadow:inset 0 0 0 2px var(--primary-edge),var(--shadow-paper);color:var(--ink)}.tab-add-tape .nav-glyph{width:26px;height:26px;color:var(--ink)}.tab:active,.tab-add:active{background:none;transform:translateY(1px)}.sheet{background:var(--bg);border-radius:22px 22px 0 0;border-color:var(--line);box-shadow:var(--shadow-lift);gap:6px;max-height:86dvh;overflow-y:auto}.sheet-kicker{margin:var(--sp-2) 4px 0;font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}.sheet-item{min-height:56px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);font-weight:700;text-decoration:none}.sheet-item.is-on{background:var(--surface);color:var(--ink);box-shadow:inset 4px 0 0 var(--washi-mint)}.sheet-item:active{background:var(--surface-2)}.deco-switch{display:flex;align-items:center;gap:var(--sp-3);min-height:48px;cursor:pointer}.deco-input{appearance:none;flex:none;position:relative;margin-left:auto;width:48px;height:28px;margin-block:0;margin-right:0;border:2px solid var(--field-line);border-radius:999px;background:var(--surface-2);cursor:pointer}.deco-input:before{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--field-line);transition:transform .16s ease-out}.deco-input:checked{background:var(--primary);border-color:var(--primary-edge)}.deco-input:checked:before{background:var(--primary-edge);transform:translate(20px)}.deco-input:focus-visible{outline:2px solid var(--ring);outline-offset:2px}@media(prefers-reduced-motion:reduce){.deco-input:before{transition:none}}.nav-group-end{margin-top:auto}.deco-switch-side{padding:var(--sp-2);font-size:14px;font-weight:700}.deco-switch-side .nav-glyph{width:19px;height:19px;flex:none}.deco-switch-side.deco-switch{gap:var(--sp-2)}.deco-switch-side .deco-input{width:40px;height:24px}.deco-switch-side .deco-input:before{top:2px;left:2px;width:16px;height:16px}.deco-switch-side .deco-input:checked:before{transform:translate(16px)}.deco-switch-side .more-label{white-space:nowrap}.deco-switch-side .more-note{white-space:normal}.owed-switch{display:grid;grid-template-columns:1fr 1fr;margin:var(--sp-3) 16px 0;border:2px solid var(--field-line);border-radius:var(--r-sm);overflow:hidden;background:var(--surface)}.owed-switch-item{min-height:44px;border:0;background:none;font:inherit;font-weight:800;font-size:15px;color:var(--ink);cursor:pointer}.owed-switch-item.is-on{background:var(--ink);color:var(--surface)}.sidebar{background:var(--surface);color:var(--ink);border-right:1px solid var(--line)}.brand-mark{background:var(--washi-mint);color:var(--ink);box-shadow:inset 0 0 0 2px var(--primary-edge);border-radius:var(--r-sm)}.side-status{background:var(--sticky);border:1px solid var(--line);color:var(--ink);border-radius:var(--r-scrap);box-shadow:var(--shadow-paper)}.nav-label{color:var(--ink-2);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.nav-item,.rail-item{color:var(--ink);font-weight:700}.nav-item.is-on,.nav-item.is-on:active,.rail-item.is-on{background:var(--bg);color:var(--ink);font-weight:800;box-shadow:inset 4px 0 0 var(--washi-coral)}.nav-item.is-on .nav-glyph,.rail-item.is-on .nav-glyph{--ic-fill: var(--washi-butter)}.nav-item:active{background:var(--surface-2);color:var(--ink)}.sh-deco{--tilt-scrap: -1.6deg;--tilt-tape: -4deg;--tilt-sticker: 8deg}:root[data-deco=low] .sh-deco{--tilt-scrap: 0deg;--tilt-tape: 0deg;--tilt-sticker: 0deg}.scrap{position:relative;display:inline-block;background:var(--surface);border-radius:var(--r-scrap);box-shadow:var(--shadow-paper);transform:rotate(var(--tilt-scrap))}.tape{display:none}.sh-deco .tape{display:block;position:absolute;width:72px;height:18px;background:var(--tape-pattern, var(--tape-stripes)),var(--tape-colour, var(--washi-mint));clip-path:var(--tape-clip);opacity:var(--tape-alpha);transform:rotate(var(--tilt-tape));pointer-events:none}.tape-dots{--tape-pattern: var(--tape-dots)}.sticker{display:none}.sh-deco .sticker{display:block;position:absolute;color:var(--ink);transform:rotate(var(--tilt-sticker));pointer-events:none}:root[data-deco=low] .tape,:root[data-deco=low] .sticker{display:none}@media(prefers-contrast:more){.tape,.sticker{display:none!important}.scrap{transform:none}}.dash-head,.screen-head,.loan-head{--tilt-scrap: -1.6deg;--tilt-tape: -4deg;--tilt-sticker: 8deg}.dash-head .screen-title,.screen-head .screen-title,.loan-head .screen-title{position:relative;display:inline-block;justify-self:start;flex:0 1 auto;max-width:100%;overflow-wrap:anywhere;margin:12px 0 6px;padding:6px 16px 3px;background:var(--surface);border-radius:var(--r-scrap);box-shadow:var(--shadow-paper);transform:rotate(var(--tilt-scrap));font-family:var(--font-hand);font-weight:600;font-size:30px;letter-spacing:0;line-height:1.2}.dash-head .screen-title:before,.screen-head .screen-title:before,.loan-head .screen-title:before{content:"";position:absolute;top:-10px;left:22px;width:64px;height:18px;background:var(--tape-pattern, var(--tape-stripes)),var(--head-tape, var(--washi-pink));clip-path:var(--tape-clip);opacity:var(--tape-alpha);transform:rotate(var(--tilt-tape));pointer-events:none}.dash-head{--head-tape: var(--washi-pink)}[data-testid=payments-ahead] .screen-head{--head-tape: var(--washi-sky);--tape-pattern: var(--tape-dots)}[data-testid=loans] .screen-head,[data-testid=loan-detail] .loan-head{--head-tape: var(--washi-coral);--tape-pattern: var(--tape-dots)}[data-testid=cards] .screen-head,[data-testid=card-detail] .loan-head{--head-tape: var(--washi-lilac)}[data-testid=plan] .screen-head{--head-tape: var(--washi-mint);--tape-pattern: var(--tape-dots)}[data-testid=history] .screen-head{--head-tape: var(--washi-butter)}.head-sticker{position:absolute;right:-30px;bottom:-6px;width:30px;height:30px;color:var(--ink);transform:rotate(var(--tilt-sticker));pointer-events:none}:root[data-deco=low] .dash-head .screen-title,:root[data-deco=low] .screen-head .screen-title,:root[data-deco=low] .loan-head .screen-title{transform:none;box-shadow:none;background:none;padding:0;font-family:var(--font-ui);font-weight:800;font-size:26px}:root[data-deco=low] .screen-title:before,:root[data-deco=low] .head-sticker{display:none}@media(prefers-contrast:more){.screen-title:before,.head-sticker{display:none}.dash-head .screen-title,.screen-head .screen-title,.loan-head .screen-title{transform:none}}[data-loan-colour=peach]{--strip: var(--chip-peach-fg);--strip-soft: var(--chip-peach-bg)}[data-loan-colour=sky]{--strip: var(--chip-sky-fg);--strip-soft: var(--chip-sky-bg)}[data-loan-colour=mint]{--strip: var(--chip-mint-fg);--strip-soft: var(--chip-mint-bg)}[data-loan-colour=lilac]{--strip: var(--chip-lilac-fg);--strip-soft: var(--chip-lilac-bg)}[data-loan-colour=butter]{--strip: var(--chip-butter-fg);--strip-soft: var(--chip-butter-bg)}[data-loan-colour=rose]{--strip: var(--chip-rose-fg);--strip-soft: var(--chip-rose-bg)}[data-loan-colour=sage]{--strip: var(--chip-sage-fg);--strip-soft: var(--chip-sage-bg)}[data-loan-colour=slate]{--strip: var(--chip-slate-fg);--strip-soft: var(--chip-slate-bg)}li[data-loan-colour]{position:relative}li[data-loan-colour]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;z-index:1;background:var(--tape-stripes),var(--strip);pointer-events:none}:root[data-deco=low] li[data-loan-colour]:before{width:4px;background:var(--strip)}.dash-need.is-late,.loan-row.is-late{background:var(--surface);box-shadow:none}.chip{font-weight:800;font-size:12px}.chip-danger{background:transparent;border-color:var(--danger);color:var(--danger);box-shadow:inset 0 0 0 1.5px var(--danger)}.label{font-size:16px;font-weight:800}.hero{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow)}.hero:before,.hero:after{display:none}.hero-figure{font-weight:800;letter-spacing:-.01em}.keepsafe{position:relative;overflow:visible;margin-top:8px;background:var(--sticky);border-radius:var(--r-scrap);box-shadow:var(--shadow-lift)}.keepsafe:before{content:"";position:absolute;top:-9px;left:50%;width:64px;height:16px;margin-left:-32px;background:var(--tape-stripes),var(--washi-pink);clip-path:var(--tape-clip);opacity:var(--tape-alpha);pointer-events:none}:root[data-deco=low] .keepsafe:before{display:none}.keepsafe-title{font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.empty{padding:var(--sp-6) 16px}.empty-scrap{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);width:min(100%,360px);padding:var(--sp-6) var(--sp-4) var(--sp-5);background:var(--surface);border-radius:var(--r-scrap);box-shadow:var(--shadow-paper);transform:rotate(1deg)}.empty-scrap .tape{top:-9px;left:50%;margin-left:-36px;--tape-colour: var(--washi-mint)}.empty-sticker{top:-22px;right:-14px;width:92px;height:34px}.empty-title{font-family:var(--font-hand);font-weight:600;font-size:24px;letter-spacing:0}.empty-body{color:var(--ink-2);font-size:15px}:root[data-deco=low] .empty-scrap{transform:none;box-shadow:none;border:1px solid var(--line)}:root[data-deco=low] .empty-title{font-family:var(--font-ui);font-weight:800}.paid-off{display:grid;place-items:center;padding:var(--sp-5) 0 var(--sp-3)}.paid-off-scrap{position:relative;width:100%;padding:var(--sp-5) var(--sp-4) var(--sp-4);background:var(--surface);border-radius:var(--r-scrap);box-shadow:var(--shadow-paper);text-align:center;transform:rotate(-1.2deg)}.paid-off-scrap .tape{top:-9px;left:50%;margin-left:-36px;--tape-colour: var(--washi-butter)}.paid-off-sticker{top:-34px;right:-8px;width:72px;height:72px;animation:sticker-pop .24s cubic-bezier(.3,1.6,.6,1) both}@keyframes sticker-pop{0%{transform:scale(.6) rotate(-8deg)}to{transform:scale(1) rotate(8deg)}}.paid-off-title{margin:0;font-family:var(--font-hand);font-weight:600;font-size:24px}.paid-off-text{margin:var(--sp-1) 0 0;color:var(--ink-2);font-size:15px}:root[data-deco=low] .paid-off-scrap{transform:none;box-shadow:none;border:1px solid var(--line)}:root[data-deco=low] .paid-off-title{font-family:var(--font-ui);font-weight:800}@media(prefers-reduced-motion:reduce){.paid-off-sticker{animation:none;transform:rotate(8deg)}}.loan-rows.card>.loan-row{margin-inline:0}.story-age{display:flex;align-items:center;gap:10px;min-height:48px;font-weight:800;font-size:15px;color:var(--on-story);cursor:pointer}.story-age input{width:22px;height:22px;margin:0;accent-color:var(--ink)}.story-age-remind{margin:0;font-size:14px;font-weight:800;color:var(--due)}.story-legal{margin:4px 0 0;font-size:13px;color:var(--on-story-2)}.story-legal a{color:var(--accent-ink);font-weight:700}
