:root{color:#173c35;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f4ee;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:280px;margin:0}.welcome{max-width:860px;margin:0 auto;padding:clamp(32px,9vw,100px) 24px}.eyebrow{letter-spacing:.12em;text-transform:uppercase;font-size:.8rem;font-weight:700}h1{letter-spacing:-.045em;max-width:750px;margin:32px 0 24px;font-size:clamp(2.2rem,6vw,4.4rem);line-height:1.08}.intro{color:#50635e;max-width:590px;font-size:1.15rem;line-height:1.7}.status{background:#fffefa;border:1px solid #d4ddd5;border-radius:16px;align-items:flex-start;gap:14px;margin-top:48px;padding:24px;display:flex}.status-dot{background:#287450;border-radius:50%;flex:0 0 10px;height:10px;margin-top:6px}h2{margin:0;font-size:1rem;line-height:1.5}.status p{color:#50635e;margin:8px 0 0;line-height:1.6}footer{color:#50635e;margin-top:48px;font-size:.85rem}.panel{background:#fffefa;border:1px solid #d4ddd5;border-radius:16px;margin-top:36px;padding:clamp(20px,4vw,32px)}.panel p{line-height:1.6}form{gap:12px;margin:24px 0;display:grid}label{font-weight:600}input,button{font:inherit;border-radius:8px;min-height:44px;padding:12px 16px}input{color:#173c35;background:#fff;border:1px solid #74877f;width:100%;min-width:0}button{color:#fff;cursor:pointer;background:#173c35;border:1px solid #173c35}button.secondary{color:#173c35;background:0 0}button:disabled{opacity:.6;cursor:not-allowed}:focus-visible{outline-offset:3px;outline:3px solid #bd6b12}.error{color:#932c26}.hint{color:#50635e;margin:0;font-size:.875rem}.actions{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.account-email{overflow-wrap:anywhere}.home-summary{overflow-wrap:anywhere;background:#eef3ed;border-radius:8px;padding:16px}.home-summary h3{margin-top:0}.text-link{color:#173c35;text-underline-offset:3px;align-items:center;min-height:44px;margin-right:16px;padding:10px 0;display:inline-flex}@media (width<=480px){.actions{flex-direction:column}.actions button{width:100%}}.password-field{align-items:stretch;gap:8px;min-width:0;display:flex}.password-field input{flex:1}.password-toggle{flex:0 0 48px;justify-content:center;align-items:center;padding:10px;display:inline-flex}select,textarea{font:inherit;color:#173c35;background:#fff;border:1px solid #74877f;border-radius:8px;width:100%;min-width:0;min-height:44px;padding:12px}textarea{resize:vertical}summary{cursor:pointer;min-height:44px;padding:12px 0}.expense-list{padding:0;list-style:none}.expense-list li{overflow-wrap:anywhere;border-bottom:1px solid #d4ddd5;padding:16px 0}.expense-list p{white-space:pre-wrap;margin:6px 0}.financial-placeholder{color:#50635e;margin-top:24px}.monthly-summary{border:1px solid #d4ddd5;border-radius:8px;margin:24px 0;padding:16px}.summary-groups{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px;display:grid}.summary-groups h4{margin:12px 0}.summary-groups p{margin:6px 0}.month-navigation{align-items:center;gap:12px;margin:12px 0}.month-navigation button{min-width:44px}.financial-settings{border-top:1px solid #d4ddd5;margin-top:24px;padding-top:20px}.financial-settings h4{margin-bottom:0}.expense-editor{background:#f5f4ee;border:1px solid #d4ddd5;border-radius:8px;margin-top:12px;padding:16px}.expense-editor h4{margin:0}.movement-switch,.movement-filters{flex-wrap:wrap;gap:8px;margin:16px 0;display:flex}.movement-switch button,.movement-filters button{min-width:92px}.movement-line{flex-wrap:wrap;align-items:baseline;gap:6px 12px;display:flex}.movement-line strong:last-child{margin-left:auto}.movement-tag{color:#50635e;font-size:.875rem}.income-amount{color:#287450}.scheduled-preview-list{margin:12px 0;padding-left:20px}.scheduled-preview-list li{overflow-wrap:anywhere;padding:6px 0}.scheduled-preview-list button{margin-left:8px}.schedule-repeat{cursor:pointer;align-items:center;gap:10px;min-height:44px;display:flex}.schedule-repeat input{width:20px;min-width:20px;height:20px;min-height:20px;margin:0;padding:0}.confirmation-backdrop{z-index:20;background:#2426378c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.confirmation-dialog{background:#fffefa;border-radius:16px;width:min(100%,440px);max-height:calc(100vh - 40px);padding:24px;overflow-y:auto;box-shadow:0 18px 48px #0003}.confirmation-dialog h3{margin-top:0}.confirmation-dialog .actions{justify-content:flex-end}:root{--canvas:#f0efed;--paper:#fff;--ink:#242637;--muted:#626677;--line:#e5e5e9;--violet:#6258ed;--violet-dark:#4e44cf;--violet-tint:#f0efff;--coral:#ff765e;--green:#279879;color:var(--ink);background:var(--canvas)}html{scroll-behavior:smooth}body{background:var(--canvas);color:var(--ink);overflow-x:hidden}[hidden]{display:none!important}.welcome:has(.authenticated-shell){max-width:1080px;min-height:100vh;padding:0 clamp(16px,4vw,54px) calc(94px + env(safe-area-inset-bottom))}.welcome:has(.authenticated-shell)>.auth-hero{display:none}.welcome:not(:has(.authenticated-shell)){max-width:480px;min-height:100dvh;padding:clamp(24px,5vh,48px) 20px calc(36px + env(safe-area-inset-bottom))}.auth-hero{margin:0 0 22px}.auth-brand{align-items:center;gap:11px;margin:0 0 34px;display:flex}.auth-brand strong,.auth-brand small{display:block}.auth-brand strong{font-size:15px;font-weight:800}.auth-brand small{color:var(--muted);margin-top:2px;font-size:11px}.auth-hero .eyebrow{color:var(--violet-dark);letter-spacing:.12em;margin:0 0 10px;font-size:10px;font-weight:850}.auth-hero h1{letter-spacing:-.045em;max-width:400px;margin:0;font-size:clamp(25px,6vw,34px);line-height:1.18}.auth-hero .intro{color:var(--muted);margin:10px 0 0;font-size:14px;line-height:1.45}.auth-panel{background:var(--paper);border:1px solid #e9e9ed;border-radius:22px;margin:0;padding:clamp(21px,5vw,28px);box-shadow:0 12px 38px #2426370b}.auth-panel h2{color:var(--ink);letter-spacing:-.025em;font-size:21px;line-height:1.2}.auth-panel>p{color:var(--muted);margin:8px 0 0;font-size:13px}.auth-panel form{gap:9px;margin:21px 0 10px}.auth-panel label{color:#343646;font-size:13px;font-weight:750}.auth-panel input{min-height:48px;color:var(--ink);background:#fff;border:1px solid #d9dae2;border-radius:12px;margin-bottom:7px}.auth-panel .password-field{margin-bottom:7px}.auth-panel .password-field input{margin-bottom:0}.auth-panel button{border-radius:12px;font-weight:750}.auth-panel .password-toggle{min-height:48px;color:var(--violet-dark);border-color:#d9dae2}.auth-panel .auth-submit{border-color:var(--violet);background:var(--violet);width:100%;min-height:48px;margin-top:8px}.auth-panel .auth-submit:hover:not(:disabled){background:var(--violet-dark)}.auth-panel .text-link{color:var(--violet-dark);font-size:13px;font-weight:750}.auth-panel>button.secondary{width:100%;color:var(--ink);border-color:#dedee4;margin-top:6px}.auth-panel .error{color:#a82e3c}.auth-status{color:var(--muted);margin:20px 0;font-size:14px}@media (width<=480px){.welcome:not(:has(.authenticated-shell)){padding-left:16px;padding-right:16px}.auth-brand{margin-bottom:26px}.auth-hero{margin-bottom:19px}.auth-panel .actions{flex-direction:column}.auth-panel .actions button{width:100%}}.authenticated-shell{min-width:0}.app-header{border-bottom:1px solid var(--line);align-items:center;gap:11px;min-height:76px;display:flex}.app-header strong{font-size:15px;display:block}.app-header small{color:var(--muted);font-size:11px;display:block}.app-brand{background:var(--violet);color:#fff;letter-spacing:-.07em;border-radius:13px;place-items:center;width:40px;height:40px;font-size:20px;font-weight:850;display:grid}.app-brand span{color:var(--coral)}.page-intro{margin:26px 0 20px}.page-intro .eyebrow{color:var(--violet-dark);letter-spacing:.12em;margin:0 0 7px;font-size:11px;font-weight:850}.page-intro h1{letter-spacing:-.045em;margin:0;font-size:clamp(26px,4vw,34px);line-height:1.18}.page-intro .subtitle{color:var(--muted);margin:8px 0 0;font-size:14px}.authenticated-shell .panel,.authenticated-shell .monthly-summary,.authenticated-shell .movements-only{background:var(--paper);border:1px solid #e9e9ed;border-radius:22px;box-shadow:0 12px 38px #2426370b}.authenticated-shell .panel{margin:20px 0;padding:clamp(20px,4vw,27px)}.authenticated-shell .monthly-summary{padding:20px}.authenticated-shell .movements-only{margin:20px 0;padding:24px}.authenticated-shell .movements-only .page-intro{margin-top:0}.authenticated-shell h2{color:var(--ink);font-size:20px;line-height:1.25}.authenticated-shell h3{color:var(--ink)}.authenticated-shell p{line-height:1.5}.authenticated-shell .hint,.authenticated-shell .movement-tag{color:var(--muted)}.authenticated-shell input,.authenticated-shell select,.authenticated-shell textarea{color:var(--ink);background:#fff;border:1px solid #d9dae2;border-radius:12px}.authenticated-shell button{border-color:var(--violet);background:var(--violet);border-radius:12px;font-weight:750}.authenticated-shell button.secondary{color:var(--ink);background:#fff;border-color:#dedee4}.authenticated-shell button:focus-visible,.authenticated-shell input:focus-visible,.authenticated-shell select:focus-visible,.authenticated-shell textarea:focus-visible{outline:3px solid var(--violet);outline-offset:2px}.authenticated-shell .movement-switch,.authenticated-shell .movement-filters,.authenticated-shell .future-switch,.authenticated-shell .capture-actions{background:#f2f2f5;border-radius:14px;gap:5px;padding:4px;display:flex}.authenticated-shell .movement-switch button,.authenticated-shell .movement-filters button,.authenticated-shell .future-switch button,.authenticated-shell .capture-actions button{color:#5b5e6e;background:0 0;border:0;flex:1;min-width:0;min-height:44px;font-size:13px}.authenticated-shell .movement-switch button[aria-pressed=true],.authenticated-shell .movement-filters button[aria-pressed=true],.authenticated-shell .future-switch button[aria-pressed=true],.authenticated-shell .capture-actions button[aria-pressed=true]{color:var(--ink);background:#fff;box-shadow:0 2px 7px #24263712}.capture-actions{margin-bottom:19px}.card-kicker{color:var(--violet-dark);letter-spacing:.11em;font-size:11px;font-weight:850}.authenticated-shell .home-summary{background:var(--violet-tint);border-radius:14px}.authenticated-shell .income-amount{color:var(--green)}.authenticated-shell .expense-list li{border-color:var(--line)}.authenticated-shell .expense-editor{background:#faf9ff;border-color:#dedcfb;border-radius:15px}.finances-page.movements-mode .home-only,.finances-page:not(.movements-mode) .movements-only{display:none}.app-bottom-nav{z-index:15;min-height:calc(68px + env(safe-area-inset-bottom));padding:4px max(9px,env(safe-area-inset-left)) env(safe-area-inset-bottom) max(9px,env(safe-area-inset-right));border-top:1px solid var(--line);background:#fffffffa;justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -7px 24px #2426370e}.authenticated-shell .app-bottom-nav button{max-width:130px;min-height:58px;color:var(--muted);background:0 0;border:0;border-radius:11px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:5px;font-size:11px;display:flex}.authenticated-shell .app-bottom-nav button span{font-size:22px;line-height:1}.authenticated-shell .app-bottom-nav .nav-icon{flex:none;width:21px;height:21px}.authenticated-shell .monthly-summary>h3{margin:0 0 13px}.authenticated-shell .monthly-summary>p{margin:9px 0}.authenticated-shell .monthly-summary>p:has(strong){background:var(--violet-tint);font-variant-numeric:tabular-nums;border-radius:14px;margin:16px 0;padding:15px;font-size:17px}.authenticated-shell .monthly-summary a{min-height:44px;color:var(--violet-dark);align-items:center;font-weight:700;display:inline-flex}.authenticated-shell .monthly-summary button{margin-right:12px}.authenticated-shell .movements-only>h3{margin:0 0 15px;font-size:16px}.authenticated-shell .movements-only .expense-list{margin:0}.authenticated-shell .movements-only .expense-list li{padding:18px 0}.authenticated-shell .movements-only .movement-line strong:last-child{font-variant-numeric:tabular-nums}.authenticated-shell .movements-only .expense-list li>p{color:var(--muted);font-size:12px}.authenticated-shell .movements-only .expense-list li>button,.authenticated-shell .purchase-section li>button{min-height:40px;margin:4px 8px 4px 0;padding:8px 11px;font-size:12px}.authenticated-shell .purchase-section{border:1px solid var(--line);background:#fafaff;border-radius:16px;margin:20px 0;padding:18px}.authenticated-shell .purchase-section h4{margin:0 0 8px}.authenticated-shell .purchase-section ul{margin:0;padding:0;list-style:none}.authenticated-shell .purchase-section li{border-top:1px solid var(--line);overflow-wrap:anywhere;padding:12px 0;font-size:13px;line-height:1.5}.authenticated-shell .purchase-section li:first-child{border-top:0}.authenticated-shell .profile-page>h2{margin-bottom:5px;font-size:25px}.authenticated-shell .profile-page .account-email{color:var(--muted);font-size:13px}.future-content{min-width:0}.authenticated-shell .future-trend{background:#f8f7ff;border:1px solid #e7e5ff;border-radius:19px;margin:0 0 12px;padding:18px 20px}.future-trend .card-kicker{text-transform:uppercase;margin:0 0 7px}.future-trend h2{margin:0;font-size:17px}.future-trend p:not(.card-kicker){color:#595b6c;margin:7px 0 0;font-size:12px}.future-explainer{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:14px;margin-bottom:19px;padding:10px 16px;font-size:12px}.future-explainer summary{color:var(--violet-dark);font-weight:800}.future-explainer p{margin:6px 0 3px}.future-switch{max-width:410px;margin:0 0 16px}.authenticated-shell .future-months{box-shadow:none;background:0 0;border:0;padding:0}.future-months>h2{margin:0 0 15px;font-size:16px}.authenticated-shell .projection-months{gap:12px;margin:0;padding:0;list-style:none;display:grid}.authenticated-shell .projection-months>li{background:0 0;border:0;padding:0}.projection-month-card{background:#fff;border:1px solid #e5e5eb;border-radius:18px;overflow:hidden;box-shadow:0 12px 38px #2426370b}.projection-month-card[open]{border-color:#cfcdf7}.projection-month-card>summary{align-items:center;gap:16px;min-height:78px;padding:17px 20px;list-style:none;display:flex}.projection-month-card>summary::-webkit-details-marker{display:none}.projection-month-card>summary:hover{background:#fbfbff}.projection-month-card>summary:focus-visible{outline:3px solid var(--violet);outline-offset:-3px}.month-mark{width:42px;height:42px;color:var(--violet-dark);background:#f4f3fb;border-radius:13px;flex:none;place-items:center;font-size:13px;font-weight:850;display:grid}.projection-month-card[open] .month-mark{background:var(--violet);color:#fff}.month-main{flex:1;min-width:0}.month-main strong,.month-main small,.month-saving span,.month-saving strong{display:block}.month-main strong{font-size:15px}.month-main small{color:var(--muted);margin-top:4px;font-size:11px;line-height:1.4}.month-saving{text-align:right;overflow-wrap:anywhere;min-width:0}.month-saving span{color:var(--muted);font-size:10px}.month-saving strong{font-variant-numeric:tabular-nums;margin-top:2px;font-size:16px}.month-chevron{width:16px;height:16px;color:var(--muted);flex:none;transition:transform .2s}.projection-month-card[open] .month-chevron{transform:rotate(180deg)}.month-body{padding:0 20px 20px}.month-breakdown{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:10px 15px;margin:0;padding:16px 0;font-size:12px;display:grid}.month-breakdown dt{color:var(--muted)}.month-breakdown dd{text-align:right;font-variant-numeric:tabular-nums;margin:0;font-weight:750}.month-breakdown dt:last-of-type,.month-breakdown dd:last-of-type{color:var(--ink);font-size:13px;font-weight:850}.month-body h4{margin:16px 0 8px;font-size:12px}.month-commitments{margin:0 0 12px;padding:0;list-style:none}.month-commitments li{border-bottom:1px solid var(--line);color:var(--muted);overflow-wrap:anywhere;padding:9px 0;font-size:12px}@media (width<=600px){.projection-month-card>summary{grid-template-columns:42px minmax(0,1fr) 16px;gap:3px 11px;padding:15px;display:grid}.month-mark{grid-row:1/3}.month-main{grid-column:2}.month-main strong{font-size:14px}.month-saving{text-align:left;flex-wrap:wrap;grid-area:2/2;align-items:baseline;gap:4px 7px;display:flex}.month-saving span{font-size:11px}.month-saving strong{margin:0;font-size:15px}.month-chevron{grid-area:1/3/3;align-self:center}.month-body{padding:0 15px 18px}.future-trend{padding:17px}}.authenticated-shell .app-bottom-nav button[aria-current=page]{background:var(--violet-tint);color:var(--violet-dark)}@media (width<=480px){.welcome:has(.authenticated-shell){padding:0 16px calc(96px + env(safe-area-inset-bottom))}.authenticated-shell .panel,.authenticated-shell .movements-only{border-radius:19px;padding:20px}.authenticated-shell .actions{flex-direction:row}.authenticated-shell .actions button{width:auto}.authenticated-shell .month-navigation{flex-wrap:nowrap}.authenticated-shell .month-navigation button{min-width:44px}.authenticated-shell .app-bottom-nav button{font-size:10px}.movement-switch button{flex:1}.movement-filters button{flex:1;min-width:0}}
