/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.contents{display:contents}}:root{--paper:#f4f2ec;--surface:#fbfaf7;--surface-raised:#fff;--ink:#18211c;--ink-soft:#5f6862;--ink-faint:#7a837d;--sage-50:#eef2ec;--sage-100:#e2e9df;--sage-200:#c9d5c7;--sage-400:#8ca48d;--sage-600:#607c66;--sage-700:#47604d;--forest:#213c2d;--forest-light:#dce8df;--line:#dfe2dc;--line-dark:#cbd1ca;--gold:#b28b4d;--shadow:0 18px 50px #23302712;--radius-sm:12px;--radius-md:18px;--radius-lg:26px;--preview-safe-top:0px;--device-safe-top:max(env(safe-area-inset-top,0px), var(--preview-safe-top));--device-safe-bottom:env(safe-area-inset-bottom,0px);color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 8% 5%, #fffc, transparent 28%), var(--paper);min-width:320px;min-height:100vh;scroll-padding-top:calc(var(--device-safe-top) + 16px);scroll-padding-bottom:calc(112px + var(--device-safe-bottom));margin:0}html.device-preview body:before{z-index:45;height:var(--device-safe-top);background:var(--paper);content:"";pointer-events:none;position:fixed;top:0;left:0;right:0}html.device-preview,html.device-preview body{background:var(--paper)}html.device-preview body:has(.checkin-shell):before{background:var(--surface)}html.device-preview:has(.checkin-shell){background:var(--surface)}html.device-preview:has(.checkin-shell) body{background:var(--surface)}button,input{font:inherit}button{color:inherit}.icon{stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;flex:none}.app-shell{min-height:100vh;padding-bottom:calc(104px + var(--device-safe-bottom))}.dashboard,.placeholder{width:min(1180px,100%);padding:max(24px, calc(var(--device-safe-top) + 12px)) 20px 40px;margin:0 auto}.topbar{justify-content:space-between;align-items:center;margin-bottom:42px;display:flex}.brand{color:var(--forest);letter-spacing:-.02em;align-items:center;gap:11px;font-size:17px;font-weight:700;display:inline-flex}.brand-mark{border:1px solid var(--sage-400);justify-content:center;align-items:end;gap:2px;width:29px;height:29px;padding-bottom:5px;display:inline-flex;position:relative}.brand-mark:after{background:var(--sage-600);content:"";border-radius:100% 0;width:8px;height:5px;position:absolute;top:5px;right:5px;transform:rotate(-18deg)}.brand-mark span{background:var(--sage-600);border-radius:2px;width:2px}.brand-mark span:first-child{height:7px}.brand-mark span:nth-child(2){height:14px}.brand-mark span:nth-child(3){height:10px}.avatar{border:1px solid var(--line-dark);background:var(--sage-100);width:38px;height:38px;color:var(--forest);border-radius:50%;place-items:center;padding:0;font-size:13px;font-weight:600;display:grid}.welcome{flex-direction:column;gap:24px;margin-bottom:32px;display:flex}.eyebrow{color:var(--sage-700);letter-spacing:.11em;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:700;display:block}.welcome h1,.step-panel h1,.placeholder h1{letter-spacing:-.045em;margin:0;font-family:Newsreader,serif;font-size:clamp(36px,10vw,50px);font-weight:500;line-height:.98}.welcome p{color:var(--ink-soft);margin:11px 0 0;font-size:15px}.button{border-radius:var(--radius-sm);cursor:pointer;border:0;min-height:52px;padding:0 20px;font-weight:600;transition:transform .18s,background-color .18s}.button:active{transform:translateY(1px)}.primary{background:var(--forest);color:#fff;justify-content:center;align-items:center;gap:10px;display:inline-flex;box-shadow:0 8px 24px #213c2d24}.primary:hover{background:#294936}.check-in-button{justify-content:flex-start;width:100%}.check-in-button .icon:last-child{margin-left:auto}.dashboard-grid,.main-column,.side-column{gap:22px;display:grid}.balance-strip{grid-template-columns:1fr 1fr;gap:16px;padding:4px 2px 8px;display:grid}.balance-strip>div{flex-direction:column;display:flex}.balance-strip>div:first-child{border-right:1px solid var(--line-dark)}.balance-strip strong{letter-spacing:-.045em;font-size:clamp(29px,8vw,40px);font-weight:500}.balance-strip .monthly strong{font-size:clamp(25px,7vw,34px)}.balance-strip .monthly>span:last-child,.freshness{color:var(--ink-faint);margin-top:5px;font-size:11px;line-height:1.4}.freshness{align-items:center;gap:6px;display:flex}.fresh-dot{background:var(--sage-600);width:6px;height:6px;box-shadow:0 0 0 3px var(--sage-100);border-radius:50%}.everyday-spending{border:1px solid var(--sage-200);border-radius:var(--radius-md);background:var(--sage-50);overflow:hidden}.everyday-spending-heading{justify-content:space-between;align-items:center;gap:18px;padding:18px;display:flex}.everyday-spending .eyebrow{margin-bottom:5px}.everyday-spending h2{color:var(--forest);letter-spacing:-.035em;margin:0;font-family:Newsreader,serif;font-size:25px;font-weight:500}.everyday-spending-heading p,.everyday-note{color:var(--ink-soft);margin:6px 0 0;font-size:10px;line-height:1.45}.everyday-update{flex:none;min-height:42px;padding:0 14px;font-size:11px}.everyday-breakdown{border-top:1px solid var(--sage-200)}.everyday-breakdown summary{min-height:44px;color:var(--sage-700);cursor:pointer;justify-content:space-between;align-items:center;padding:0 18px;font-size:10px;font-weight:600;list-style:none;display:flex}.everyday-breakdown summary::-webkit-details-marker{display:none}.everyday-breakdown[open] summary .icon{transform:rotate(90deg)}.everyday-breakdown>div{padding:0 18px 12px}.everyday-breakdown p{border-top:1px solid var(--sage-200);color:var(--ink-soft);justify-content:space-between;gap:18px;margin:0;padding:8px 0;font-size:10px;display:flex}.everyday-breakdown p strong{color:var(--ink)}.everyday-note{border-top:1px solid var(--sage-200);color:var(--sage-700);margin:0;padding:11px 18px}.bridge{border-radius:var(--radius-lg);background:var(--forest);color:#f7f8f4;box-shadow:var(--shadow);padding:25px 20px 0;overflow:hidden}.bridge-heading,.section-title{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.eyebrow.light{color:#aac0ae}.bridge h2,.section-title h2,.card-reserve h2{letter-spacing:-.025em;margin:0;font-size:18px;font-weight:600}.bridge-date{color:#b8c5bc;white-space:nowrap;font-size:11px}.bridge-number{margin:28px 0 30px}.bridge-number>span{letter-spacing:-.055em;font-family:Newsreader,serif;font-size:64px;font-weight:500;line-height:.9}.bridge-number p{color:#c2cec6;max-width:240px;margin:12px 0 0;font-size:13px;line-height:1.45}.bridge-number strong{color:#edf2ee;margin-top:12px;font-size:12px;font-weight:600;display:block}.bridge-number strong+p{margin-top:5px}.rounding-note{color:var(--sage-200);opacity:.72;display:block}.timeline{width:100%;margin:0;padding-top:5px}.timeline-event{grid-template-columns:26px 48px minmax(0,1fr);min-height:52px;display:grid}.timeline-rail{justify-content:center;display:flex;position:relative}.timeline-dot{z-index:1;border:2px solid var(--forest);background:#c9d8cc;border-radius:50%;width:9px;height:9px;margin-top:5px;position:relative;box-shadow:0 0 0 1px #c9d8cc}.timeline-line{background:#ffffff2e;width:1px;position:absolute;top:15px;bottom:-5px}.timeline-event.income .timeline-dot{box-shadow:none;background:#b9a26f;border:0;border-radius:2px;transform:rotate(45deg)}.timeline-event.boundary{min-height:48px}.timeline-event.boundary .timeline-dot{width:7px;height:7px;box-shadow:none;background:#7f9485;border:0}.timeline-date{color:#9fb0a4;padding-top:1px;font-size:10px;font-weight:600}.timeline-copy{flex-direction:column;min-width:0;padding-bottom:14px;display:flex}.timeline-copy strong{color:#edf2ee;font-size:12px;font-weight:600}.timeline-copy small{color:#a9b8ae;margin-top:3px;font-size:10px;line-height:1.35}.timeline-event.boundary .timeline-copy strong{color:#aebdb2;letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:500}.timeline-note{color:#8fa195;margin:-2px 0 0 74px;font-size:9px;line-height:1.45}.bridge-scenario{background:#ffffff09;border-top:1px solid #ffffff1a;margin:0 -20px;padding:18px 20px}.toggle-row{cursor:pointer;color:#e4eae5;justify-content:space-between;align-items:center;gap:16px;min-height:42px;font-size:12px;font-weight:500;display:flex;position:relative}.toggle-row input{opacity:0;position:absolute}.toggle-track{background:#42564a;border:1px solid #fff3;border-radius:20px;flex:none;width:40px;height:24px;padding:3px;transition:background .18s}.toggle-track span{background:#f0f2ed;border-radius:50%;width:16px;height:16px;transition:transform .18s;display:block}.toggle-row input:checked+.toggle-track{background:#8da793}.toggle-row input:checked+.toggle-track span{transform:translate(16px)}.scenario-result{border-top:1px solid #ffffff1a;justify-content:space-between;align-items:baseline;gap:20px;margin-top:11px;padding-top:14px;display:flex}.scenario-result span{color:#aebdb2;font-size:11px}.scenario-result strong{font-size:20px;font-weight:600}.bridge-scenario>p{color:#97aa9c;margin:13px 0 0;font-size:10px;line-height:1.5}.bridge-scenario>p strong{color:#c5d2c8}.bridge-scenario .scenario-assumption{color:#b9c8bd;margin-top:7px}.timeline-disclosure{border-top:1px solid #ffffff1a;margin:0 -20px}.timeline-disclosure-button{color:#cad5cd;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;min-height:52px;padding:0 20px;font-size:11px;font-weight:600;display:flex}.timeline-disclosure-button .icon{transition:transform .22s}.timeline-disclosure-button[aria-expanded=true] .icon{transform:rotate(90deg)}.timeline-collapse{grid-template-rows:0fr;transition:grid-template-rows .28s;display:grid}.timeline-collapse.open{grid-template-rows:1fr}.timeline-collapse>div{overflow:hidden}.timeline-collapse .timeline{padding:8px 20px 24px}.breakdown{border-top:1px solid #ffffff1a;margin:0 -20px}.breakdown summary{cursor:pointer;color:#cad5cd;justify-content:space-between;align-items:center;min-height:52px;padding:0 20px;font-size:11px;font-weight:600;list-style:none;display:flex}.breakdown summary::-webkit-details-marker{display:none}.breakdown[open] summary .icon{transform:rotate(90deg)}.breakdown-body{padding:4px 20px 20px}.breakdown-body>div{color:#aebdb2;justify-content:space-between;padding:8px 0;font-size:11px;display:flex}.breakdown-body>div strong{color:#e4eae5}.breakdown-body .breakdown-total{color:#fff;border-top:1px solid #ffffff24;margin-top:5px;padding-top:13px}.breakdown-body p{color:#8fa195;margin:10px 0 0;font-size:10px;line-height:1.5}.breakdown-body .worked-example{color:var(--sage-200)}.monthly-breakdown{border-top:1px solid var(--line);grid-column:1/-1;margin-top:5px}.monthly-breakdown summary{cursor:pointer;min-height:48px;color:var(--sage-700);justify-content:space-between;align-items:center;font-size:11px;font-weight:600;list-style:none;display:flex}.monthly-breakdown summary::-webkit-details-marker{display:none}.monthly-breakdown[open] summary .icon{transform:rotate(90deg)}.monthly-breakdown>div{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fbfaf7b8;margin-bottom:3px;padding:8px 13px}.monthly-breakdown p{color:var(--ink-soft);justify-content:space-between;gap:14px;margin:0;padding:7px 0;font-size:11px;line-height:1.35;display:flex}.monthly-breakdown p+p{border-top:1px solid #dfe2dcb8}.monthly-breakdown p strong{color:var(--ink);text-align:right;flex:none;font-size:11px;font-weight:600}.monthly-breakdown p strong.reflected-status{color:var(--sage-700);font-size:10px;font-weight:500}.monthly-breakdown .monthly-total{border-top:1px solid var(--line);color:var(--ink);margin-top:4px;padding-top:11px;font-weight:600}.monthly-breakdown .monthly-total strong{font-size:13px;font-weight:700}.upcoming-section,.card-reserve{border:1px solid var(--line);border-radius:var(--radius-lg);background:#fbfaf7d6;padding:23px 18px}.count-pill,.quiet-label{border:1px solid var(--sage-200);color:var(--sage-700);border-radius:20px;padding:6px 9px;font-size:10px;font-weight:600}.upcoming-list{margin-top:18px}.upcoming-row{border-top:1px solid var(--line);grid-template-columns:37px 1fr auto;align-items:center;gap:11px;padding:13px 0;display:grid}.date-tile{border:1px solid var(--line);background:var(--surface-raised);border-radius:9px;flex-direction:column;align-items:center;padding:5px 0;display:flex}.date-tile span{color:var(--sage-700);text-transform:uppercase;font-size:8px;font-weight:700}.date-tile strong{font-size:14px}.upcoming-copy,.upcoming-meta{flex-direction:column;min-width:0;display:flex}.upcoming-copy strong,.upcoming-meta strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.upcoming-copy span{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:10px;overflow:hidden}.upcoming-meta{align-items:flex-end}.status{color:var(--ink-faint);margin-top:3px;font-size:9px;font-weight:600}.status.received,.status.paid{color:var(--sage-700)}.card-reserve{grid-template-columns:42px 1fr;gap:14px;display:grid;position:relative}.card-icon,.placeholder-icon{background:var(--sage-100);width:42px;height:42px;color:var(--sage-700);border-radius:13px;place-items:center;display:grid}.card-reserve-copy .eyebrow{margin-bottom:4px}.card-reserve-copy p{color:var(--ink-faint);margin:5px 0 0;font-size:10px}.reserve-note{color:var(--sage-700);grid-column:1/-1;align-items:center;gap:7px;font-size:10px;display:flex}.repayment-options{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:8px;padding-top:5px;display:grid}.repayment-options>div{background:var(--sage-50);border-radius:11px;flex-direction:column;padding:11px;display:flex}.repayment-options span{color:var(--ink-faint);margin-bottom:4px;font-size:9px}.repayment-options strong{font-size:13px}.repayment-options>div:nth-child(3){grid-column:1/-1}.bottom-nav{z-index:20;right:14px;bottom:max(12px, var(--device-safe-bottom));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fcfbf8ed;border:1px solid #d0d5cfe6;border-radius:22px;grid-template-columns:repeat(3,1fr);max-width:480px;min-height:68px;margin:auto;padding:6px;display:grid;position:fixed;left:14px;box-shadow:0 12px 38px #222e261f}.bottom-nav button{min-width:0;color:var(--ink-faint);cursor:pointer;background:0 0;border:0;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:9px;font-weight:600;display:flex}.bottom-nav button.active{background:var(--sage-100);color:var(--forest)}.placeholder-content{text-align:center;flex-direction:column;justify-content:center;align-items:center;max-width:480px;min-height:55vh;margin:auto;display:flex}.placeholder-icon{border-radius:18px;width:58px;height:58px;margin-bottom:24px}.placeholder-content p{max-width:380px;color:var(--ink-soft);margin:16px 0 25px;line-height:1.6}.backup-card,.recovery-card,.import-confirmation{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-raised);text-align:left;width:100%;margin-top:20px;padding:20px}.backup-card h2{margin:0;font-family:Newsreader,serif;font-size:25px;font-weight:500}.backup-card p,.recovery-card p,.import-confirmation p{margin:8px 0 16px;font-size:12px}.settings-actions{flex-wrap:wrap;gap:8px;display:flex}.settings-actions .button{flex:150px}.import-button{cursor:pointer;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.import-button input{opacity:0;width:1px;height:1px;position:absolute}.unresolved-row{border:1px solid var(--gold);border-radius:var(--radius-sm);background:var(--surface-raised);justify-content:space-between;align-items:center;gap:16px;margin-top:8px;padding:14px;display:flex}.unresolved-row span{flex-direction:column;gap:4px;display:flex}.unresolved-row small{color:var(--ink-soft)}.checkin-shell{background:var(--surface);min-height:100vh}.checkin-header{max-width:720px;padding:max(18px, calc(var(--device-safe-top) + 8px)) 18px 14px;grid-template-columns:44px 1fr 44px;align-items:center;margin:0 auto;display:grid}.checkin-header .brand{justify-self:center}.back-button{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:50%;place-items:center;width:42px;height:42px;padding:0;display:grid}.step-count{color:var(--ink-faint);justify-self:end;font-size:11px;font-weight:600}.progress{grid-template-columns:repeat(4,1fr);gap:5px;max-width:684px;margin:0 auto;padding:0 18px;display:grid}.progress span{background:var(--line);border-radius:3px;height:3px}.progress span.active{background:var(--sage-600)}.progress.total-5{grid-template-columns:repeat(5,1fr)}.checkin-content{max-width:610px;padding:40px 20px calc(148px + var(--device-safe-bottom));margin:0 auto}.step-panel{animation:.26s both appear}.step-panel h1{max-width:500px}.step-intro{max-width:460px;color:var(--ink-soft);margin:16px 0 34px;font-size:14px;line-height:1.55}.field-stack,.allowance-card{gap:18px;display:grid}.field{flex-direction:column;display:flex}.field-label{margin-bottom:9px;font-size:12px;font-weight:600}.currency-field{border:1px solid var(--line-dark);border-radius:var(--radius-sm);min-height:62px;color:var(--ink-faint);background:#fff;align-items:center;padding:0 17px;font-size:21px;display:flex}.currency-field:focus-within{border-color:var(--sage-600);box-shadow:0 0 0 3px var(--sage-100)}.currency-field.invalid{border-color:#a16f62}.currency-field input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;padding:0 0 0 7px;font-size:23px;font-weight:500}.field-support{color:var(--ink-faint);margin-top:7px;font-size:11px;line-height:1.4}.text-input{border:1px solid var(--line-dark);border-radius:var(--radius-sm);width:100%;min-height:52px;color:var(--ink);background:#fff;outline:0;padding:0 14px;font-size:14px;transition:border-color .18s,box-shadow .18s}.text-input:focus{border-color:var(--sage-600);box-shadow:0 0 0 3px var(--sage-100)}.text-input.invalid{border-color:#a16f62}.select-input{appearance:auto}.field-error,.setup-error{color:#8a5147;margin-top:6px;font-size:11px;line-height:1.4}.plan-form{gap:18px;display:grid}.plan-form .toggle-row{color:var(--ink);padding:3px 0}.plan-form .toggle-track{border-color:var(--line-dark);background:var(--line-dark)}.plan-form .toggle-row input:checked+.toggle-track{background:var(--sage-600)}.plan-form-actions{grid-template-columns:1fr 1.35fr;gap:9px;padding-top:6px;display:grid}.plan-form-actions .primary{display:flex}.inline-account{border:1px solid var(--sage-200);border-radius:var(--radius-md);background:var(--sage-50);gap:15px;padding:16px;display:grid}.inline-account .eyebrow{margin-bottom:-3px}.allowance-guidance{border-radius:var(--radius-sm);background:var(--sage-50);color:var(--ink-soft);flex-direction:column;gap:4px;margin-top:-4px;padding:12px 13px;display:flex}.allowance-guidance strong{color:var(--sage-700);font-size:11px}.allowance-guidance span{font-size:10px;line-height:1.45}.allowance-guidance.card-guidance{border-left:2px solid var(--sage-400);margin-top:-8px}.plan-page{max-width:980px}.plan-intro{max-width:620px;margin-bottom:34px}.plan-intro h1{letter-spacing:-.045em;margin:0;font-family:Newsreader,serif;font-size:clamp(38px,10vw,52px);font-weight:500;line-height:1}.plan-intro>p{color:var(--ink-soft);margin:13px 0 0;font-size:14px;line-height:1.55}.plan-grid{gap:18px;display:grid}.plan-section{border:1px solid var(--line);border-radius:var(--radius-lg);background:#fbfaf7d1;overflow:hidden}.plan-section-heading{justify-content:space-between;align-items:center;gap:14px;padding:20px 18px 16px;display:flex}.plan-section-heading .eyebrow{margin-bottom:4px}.plan-section-heading h2{letter-spacing:-.02em;margin:0;font-size:18px}.plan-add{border:1px solid var(--sage-200);background:var(--sage-50);min-height:40px;color:var(--sage-700);padding:0 15px;font-size:11px}.plan-rows{border-top:1px solid var(--line)}.plan-row{border:0;border-top:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;grid-template-columns:minmax(0,1fr) auto 16px;align-items:center;gap:10px;width:100%;min-height:70px;padding:12px 18px;display:grid}.plan-row:first-child{border-top:0}.plan-row-main,.plan-row-meta{flex-direction:column;min-width:0;display:flex}.plan-row-main strong,.plan-row-meta strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.plan-row-main span{color:var(--ink-faint);text-overflow:ellipsis;margin-top:4px;font-size:10px;line-height:1.35;overflow:hidden}.setting-labels{flex-wrap:wrap;gap:4px 6px;display:flex!important;overflow:visible!important}.setting-labels small{color:var(--sage-700);white-space:normal;font-size:9px;font-weight:600;line-height:1.35}.setting-labels small+small:before{color:var(--sage-400);content:"·";margin-right:6px}.plan-row-meta{align-items:flex-end}.plan-row-meta small{max-width:150px;color:var(--sage-700);text-align:right;margin-top:4px;font-size:9px}.plan-row>.icon{color:var(--ink-faint)}.empty-row{color:var(--ink-faint);margin:0;padding:18px;font-size:11px}.archived-history{border-top:1px solid var(--line)}.archived-history summary{color:var(--ink-faint);cursor:pointer;padding:13px 18px;font-size:10px;font-weight:600}.archived-history .plan-row{opacity:.76}.payment-history{border-top:1px solid var(--line)}.payment-history summary{min-height:48px;color:var(--ink-soft);cursor:pointer;justify-content:space-between;align-items:center;gap:14px;padding:0 18px;font-size:10px;font-weight:600;list-style:none;display:flex}.payment-history summary::-webkit-details-marker{display:none}.payment-history summary>span:last-child{color:var(--ink-faint);align-items:center;gap:5px;font-size:9px;font-weight:500;display:flex}.payment-history[open] summary .icon{transform:rotate(90deg)}.payment-history-list{border-top:1px solid var(--line)}.payment-history-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;min-height:58px;padding:10px 18px;display:flex}.payment-history-row:first-child{border-top:0}.payment-history-copy,.payment-history-meta{flex-direction:column;min-width:0;display:flex}.payment-history-copy strong,.payment-history-meta strong{font-size:11px;font-weight:600}.payment-history-copy strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.payment-history-copy small{color:var(--ink-faint);margin-top:4px;font-size:9px;line-height:1.35}.payment-history-meta{flex:none;align-items:flex-end}.payment-history-meta strong{text-align:right;max-width:132px}.payment-history-meta small{color:var(--sage-700);margin-top:3px;font-size:9px;font-weight:600}.cushion-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:68px;padding:12px 18px;display:flex}.cushion-row>span{flex-direction:column;display:flex}.cushion-row strong{font-size:12px}.cushion-row small{color:var(--ink-faint);margin-top:4px;font-size:9px}.setup-resume,.partial-plan-note{border:1px solid var(--sage-200);border-radius:var(--radius-md);background:var(--sage-50);justify-content:space-between;align-items:center;gap:15px;margin-top:22px;padding:14px;display:flex}.setup-resume>div{flex-direction:column;display:flex}.setup-resume strong,.partial-plan-note strong{font-size:12px}.setup-resume span,.partial-plan-note p{color:var(--ink-soft);margin:4px 0 0;font-size:10px;line-height:1.4}.setup-resume .button,.partial-plan-note .button{min-height:40px;padding:0 14px;font-size:11px}.partial-plan-note{max-width:700px;margin:0 0 28px}.partial-plan-note .eyebrow{margin-bottom:5px}.forecast-needed{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);max-width:540px;min-height:240px;color:var(--sage-700);text-align:center;flex-direction:column;justify-content:center;align-items:center;margin:30px auto;padding:28px;display:flex}.forecast-needed h2{max-width:330px;color:var(--ink);margin:16px 0 0;font-family:Newsreader,serif;font-size:28px;font-weight:500}.forecast-needed p{color:var(--ink-soft);margin:10px 0 0;font-size:11px}.editor-shell{z-index:55;background:var(--surface);overscroll-behavior:contain;position:fixed;inset:0;overflow-y:auto}.editor-header{max-width:650px;padding:max(18px, calc(var(--device-safe-top) + 8px)) 20px 16px;border-bottom:1px solid var(--line);grid-template-columns:44px 1fr;align-items:center;gap:14px;margin:0 auto;display:grid}.editor-header .eyebrow{margin-bottom:2px}.editor-header h2{margin:0;font-size:17px}.editor-content{max-width:610px;padding:30px 20px calc(42px + var(--device-safe-bottom));margin:0 auto}.archive-button{border:1px solid var(--line);color:#815e56;background:0 0;width:100%;margin-top:22px}.finish-later{color:var(--sage-700);background:0 0;border:0;justify-self:end;padding:0;font-size:10px;font-weight:600}.setup-context{margin-bottom:30px}.setup-context p{color:var(--ink-faint);margin:0;font-size:10px}.setup-saved-list{gap:7px;margin-bottom:18px;display:grid}.setup-saved-list>div{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;justify-content:space-between;align-items:center;gap:14px;padding:12px 13px;font-size:11px;display:flex}.setup-item-row{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;grid-template-columns:minmax(0,1fr) auto;min-height:68px;padding:12px 13px;gap:8px 12px!important;display:grid!important}.setup-item-copy{flex-direction:column;min-width:0;display:flex}.setup-item-copy strong,.setup-item-amount{font-size:11px;font-weight:600}.setup-item-copy small{color:var(--ink-faint);text-overflow:ellipsis;margin-top:3px;font-size:9px;line-height:1.35;overflow:hidden}.setup-item-copy .setting-labels{margin-top:5px}.setup-item-copy .setting-labels small{text-overflow:clip;margin-top:0;overflow:visible}.setup-item-amount{align-self:start}.setup-item-actions{grid-column:1/-1;gap:14px;display:flex}.setup-item-actions button,.setup-review-heading button{min-height:28px;color:var(--sage-700);cursor:pointer;background:0 0;border:0;padding:0;font-size:10px;font-weight:600}.setup-review-section{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;margin-top:11px;overflow:hidden}.setup-review-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:44px;padding:0 13px;display:flex}.setup-review-heading h2{letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:11px}.setup-review-heading>span{color:var(--ink-faint);font-size:10px}.setup-review-section .setup-item-row{border:0;border-top:1px solid var(--line);border-radius:0}.setup-review-section .setup-item-row:nth-child(2){border-top:0}.review-editor{border:1px solid var(--sage-200);border-radius:var(--radius-md);background:var(--sage-50);margin-bottom:22px;padding:18px}.setup-preview{grid-template-columns:1fr 1fr;gap:8px;margin-top:16px;display:grid}.setup-preview>span{border-radius:var(--radius-sm);background:var(--sage-50);flex-direction:column;padding:13px;display:flex}.setup-preview small{color:var(--ink-faint);margin-bottom:5px;font-size:9px}.setup-preview strong{font-size:17px;font-weight:600}.setup-saved-list span{flex-direction:column;min-width:0;display:flex}.setup-saved-list small{color:var(--ink-faint);margin-top:3px;font-size:9px}.setup-add{width:100%;margin-bottom:18px}.setup-card-prompt{border:1px solid var(--sage-200);border-radius:var(--radius-md);background:var(--sage-50);justify-content:space-between;align-items:center;gap:16px;margin-top:22px;padding:16px;display:flex}.setup-card-prompt>div{flex-direction:column;gap:4px;display:flex}.setup-card-prompt strong{font-size:12px}.setup-card-prompt span{color:var(--ink-soft);font-size:10px;line-height:1.4}.setup-card-prompt .button{flex:none;min-height:42px;padding:0 14px;font-size:11px}.setup-optional-card,.setup-optional-card-form{margin-top:22px}.setup-optional-card>.eyebrow,.setup-optional-card-form>.eyebrow{margin-bottom:9px}.setup-optional-card-form{border:1px solid var(--sage-200);border-radius:var(--radius-md);background:var(--sage-50);padding:18px}.setup-subheading{color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;margin:22px 0 9px;font-size:10px;font-weight:700;display:block}.cushion-field{margin-bottom:22px}.setup-error{border-radius:var(--radius-sm);background:#f4e9e5;margin:20px 0 0;padding:12px}.try-setup{min-width:210px;margin-top:16px}.setup-isolation{max-width:310px;color:var(--ink-faint);margin-top:12px;font-size:10px;line-height:1.45}.demo-switcher{z-index:30;right:18px;bottom:calc(92px + var(--device-safe-bottom));border:1px solid var(--sage-200);box-shadow:var(--shadow);color:var(--ink-soft);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fbfaf7f5;border-radius:22px;align-items:center;gap:9px;padding:8px 9px 8px 12px;font-size:9px;display:flex;position:fixed}.demo-switcher button{background:var(--sage-100);min-height:30px;color:var(--forest);border:0;border-radius:15px;padding:0 10px;font-size:9px;font-weight:600}.setup-shell .checkin-header{grid-template-columns:44px 1fr 70px}.calm-note{border-radius:var(--radius-sm);background:var(--sage-50);color:var(--sage-700);align-items:flex-start;gap:10px;margin-top:25px;padding:14px;display:flex}.calm-note p{flex-direction:column;gap:4px;margin:0;font-size:12px;line-height:1.5;display:flex}.calm-note p strong{font-weight:600}.confirm-group{margin-top:28px}.confirm-group h2{color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px;font-size:11px}.confirmation-guidance{color:var(--ink-faint);margin:10px 4px 0;font-size:11px;line-height:1.5}.confirm-row{border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;background:#fff;grid-template-columns:30px 1fr auto;align-items:center;gap:11px;min-height:70px;padding:11px 13px;display:grid;position:relative}.confirm-row+.confirm-row{margin-top:8px}.confirm-row input{opacity:0;position:absolute}.confirm-check{border:1px solid var(--line-dark);color:#0000;border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.confirmed{border-color:var(--sage-200);background:var(--sage-50)}.confirmed .confirm-check{border-color:var(--sage-600);background:var(--sage-600);color:#fff}.confirm-main{flex-direction:column;min-width:0;display:flex}.confirm-main strong,.confirm-amount{font-size:12px;font-weight:600}.confirm-main span{color:var(--ink-faint);margin-top:4px;font-size:10px}.confirm-action{color:var(--sage-700);grid-column:2/-1;margin-top:-8px;font-size:10px;font-weight:600}.allowance-card{border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;padding:20px}.allowance-total,.review-card>div{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding-top:17px;font-size:12px;display:flex}.allowance-total strong{font-size:19px}.review-card{border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;overflow:hidden}.review-card>div{border-top:1px solid var(--line);padding:16px 18px}.review-card>div:first-child{border-top:0}.review-card span{color:var(--ink-soft)}.review-card strong{font-size:12px}.review-card .review-cushion{flex-wrap:wrap}.review-cushion-copy,.review-cushion-meta{flex-direction:column;display:flex}.review-cushion-copy{flex:1;min-width:0}.review-cushion-copy small{max-width:300px;color:var(--ink-faint);margin-top:4px;font-size:10px;line-height:1.4}.review-cushion-meta{flex:none;align-items:flex-end}.review-cushion-meta button{color:var(--sage-700);cursor:pointer;background:0 0;border:0;margin-top:4px;padding:0;font-size:10px;font-weight:600}.review-cushion-editor{flex:1 0 100%;padding-top:4px}.review-cushion-editor .currency-field{min-height:52px}.review-footnote{color:var(--ink-faint);margin:18px 4px 0;font-size:11px;line-height:1.5}.checkin-footer{z-index:10;padding:14px 20px calc(14px + var(--device-safe-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fbfaf7f0;position:fixed;bottom:0;left:0;right:0}.save-error{width:min(570px,100%);color:var(--ink-soft);margin:0 auto 8px;font-size:11px;line-height:1.4}.continue-button{width:min(570px,100%);min-height:56px;margin:0 auto}.continue-button .icon{margin-left:auto}.how-disclosure{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--sage-50);margin:-12px 0 28px}.how-disclosure summary{min-height:48px;color:var(--sage-700);cursor:pointer;justify-content:space-between;align-items:center;padding:0 14px;font-size:11px;font-weight:600;list-style:none;display:flex}.how-disclosure summary::-webkit-details-marker{display:none}.how-disclosure[open] summary .icon{transform:rotate(90deg)}.how-disclosure>div{color:var(--ink-soft);padding:0 14px 14px}.how-disclosure p{margin:0;font-size:11px;line-height:1.5}.how-disclosure p+p{margin-top:8px}.dialog-backdrop{z-index:60;padding:20px 16px calc(16px + var(--device-safe-bottom));-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#101b1452;place-items:end center;display:grid;position:fixed;inset:0}.exit-dialog{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);width:min(440px,100%);box-shadow:var(--shadow);padding:24px 20px 20px;animation:.22s both appear}.exit-dialog .dialog-title{letter-spacing:-.035em;margin:0;font-family:Newsreader,serif;font-size:29px;font-weight:500}.exit-dialog>p{color:var(--ink-soft);margin:12px 0 22px;font-size:12px;line-height:1.55}.dialog-actions{grid-template-columns:1.25fr .75fr;gap:9px;display:grid}.secondary{border:1px solid var(--sage-200);background:var(--sage-100);color:var(--forest)}.discard{border:1px solid var(--line);color:var(--ink-soft);background:0 0}.toast{z-index:50;top:max(18px, calc(var(--device-safe-top) + 8px));border:1px solid var(--sage-200);max-width:370px;min-height:54px;box-shadow:var(--shadow);color:var(--forest);background:#fbfaf7f7;border-radius:15px;align-items:center;gap:10px;margin:auto;padding:10px 14px;font-size:12px;font-weight:600;animation:.26s both toast-in;display:flex;position:fixed;left:18px;right:18px}.toast>span{background:var(--sage-600);color:#fff;border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.storage-error{z-index:55;right:18px;bottom:calc(96px + var(--device-safe-bottom));border:1px solid var(--gold);border-radius:var(--radius-sm);background:var(--surface-raised);max-width:440px;box-shadow:var(--shadow);color:var(--ink);justify-content:space-between;align-items:center;gap:12px;margin:auto;padding:12px 14px;font-size:11px;display:flex;position:fixed;left:18px}.storage-error button{color:var(--sage-700);cursor:pointer;background:0 0;border:0;font-weight:700}@keyframes appear{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (width>=700px){:root{--device-safe-top:env(safe-area-inset-top,0px);--device-safe-bottom:env(safe-area-inset-bottom,0px)}.dashboard,.placeholder{padding:max(35px, calc(var(--device-safe-top) + 20px)) 38px 80px}.topbar{margin-bottom:60px}.welcome{flex-direction:row;justify-content:space-between;align-items:flex-end;margin-bottom:46px}.check-in-button{width:156px}.balance-strip{gap:30px;max-width:520px}.bridge{padding:30px 28px 0}.bridge-scenario,.breakdown{margin-left:-28px;margin-right:-28px;padding-left:28px;padding-right:28px}.timeline-disclosure{margin-left:-28px;margin-right:-28px}.timeline-disclosure-button,.timeline-collapse .timeline{padding-left:28px;padding-right:28px}.breakdown{padding-left:0;padding-right:0}.breakdown summary,.breakdown-body{padding-left:28px;padding-right:28px}.bridge-number>span{font-size:78px}.checkin-content{padding-top:60px}.plan-intro{margin-bottom:44px}.dialog-backdrop{place-items:center}}@media (width>=860px){.plan-grid{grid-template-columns:1fr 1fr;align-items:start}}@media (width>=960px){.dashboard-grid{grid-template-columns:minmax(0,1.45fr) minmax(310px,.75fr);align-items:start;gap:26px}}@media (width>=1360px){.bottom-nav{grid-template-columns:1fr;width:72px;min-height:220px;inset:50% auto auto calc(50% - 680px);transform:translateY(-50%)}.app-shell{padding-bottom:0}}@media (width<=699px){html.device-preview{--preview-safe-top:54px}}@media (width<=390px){.everyday-spending-heading{flex-direction:column;align-items:stretch}.everyday-update{width:100%}.setup-card-prompt{flex-direction:column;align-items:stretch}.setup-card-prompt .button{width:100%}.bridge,.dashboard,.placeholder{padding-left:18px;padding-right:18px}.upcoming-row{grid-template-columns:35px minmax(0,1fr) auto;gap:8px}}@media (width<=370px){.balance-strip{grid-template-columns:1fr;gap:18px}.balance-strip>div:first-child{border-right:0;border-bottom:1px solid var(--line-dark);padding-bottom:17px}.bridge-heading{flex-direction:column;gap:7px}.bridge-number>span{font-size:58px}.upcoming-section,.card-reserve{padding-left:14px;padding-right:14px}.checkin-content{padding-left:17px;padding-right:17px}.plan-row{grid-template-columns:minmax(0,1fr) auto 14px;gap:7px;padding-left:13px;padding-right:13px}.plan-row-meta small{max-width:100px}.plan-section-heading{padding-left:14px;padding-right:14px}.payment-history summary,.payment-history-row{padding-left:13px;padding-right:13px}.payment-history-meta strong{max-width:105px}.demo-switcher{right:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (display-mode:standalone){body:before{content:"";height:env(safe-area-inset-top,0px);background:var(--paper);z-index:45;pointer-events:none;position:fixed;inset:0 0 auto}}.pwa-status{top:calc(env(safe-area-inset-top,0px) + 4px);z-index:100;background:var(--forest);color:#fff;border-radius:10px;flex-wrap:wrap;gap:8px;padding:6px 10px;font-size:12px;display:flex;position:fixed;left:12px;right:12px}.pwa-status button{color:inherit;cursor:pointer;background:0 0;border:1px solid #8ca48d;border-radius:6px}:is(body:has(.pwa-status) .topbar,body:has(.pwa-status) .checkin-header){padding-top:calc(var(--device-safe-top) + 48px)}
