:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--bg:#0b0c10;--surface:#14161f;--surface2:#1c202e;--surface3:#262b3d;--border:#2b3247;--text:#e8ecf4;--text-muted:#8d98af;--accent:#6366f1;--accent-hover:#4f46e5;--accent2:#06b6d4;--green:#10b981;--red:#ef4444;--amber:#f59e0b;--purple:#a855f7;--pink:#ec4899;color:var(--text);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.55}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select,textarea{font:inherit}a{color:inherit}:focus-visible{outline:2px solid var(--accent2);outline-offset:5px}::selection{background:var(--accent);color:#fff}.setup-page{max-width:1040px;margin:0 auto;padding:clamp(20px,4vw,40px)}.app-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.brand{align-items:center;gap:10px;font-weight:700;text-decoration:none;display:inline-flex}.setup-panel{background:var(--surface);border:1px solid var(--border);border-radius:16px}.login-panel{max-width:440px;margin:clamp(40px,10vh,96px) auto 0;padding:clamp(20px,5vw,36px)}h1{letter-spacing:-.04em;margin:0;font-size:clamp(1.85rem,5vw,2.75rem);line-height:1.15}.login-form{gap:16px;margin-top:24px;display:grid}.login-form label,.password-form label{gap:6px;font-weight:600;display:grid}.login-form input,.password-form input{min-width:0;min-height:44px;color:var(--text);background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:9px 12px;font-size:1rem}.primary-button{border:1px solid var(--border);cursor:pointer;background:var(--accent-hover);color:#fff;border-radius:8px;min-height:44px;padding:9px 14px;font-weight:650}.primary-button:disabled{opacity:.65;cursor:default}.password-settings{border-bottom:1px solid var(--border);margin-bottom:16px;padding-bottom:16px}.password-settings h2{margin:0 0 8px;font-size:1rem}.password-settings p{margin:0;font-size:.9rem}.password-settings p:not([role=alert]){color:var(--text-muted)}.password-form{gap:12px;display:grid}.account-settings .password-form button{width:100%}[role=alert]{color:#fca5a5;margin:0}.account-settings [role=alert]{margin-top:8px}.intro{margin-top:clamp(48px,8vw,84px)}.intro-copy,.login-form [role=status]{color:var(--text-muted)}.upload-queue-status{background:var(--surface3);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px;padding:8px 12px;display:flex}.upload-queue-status .secondary-button{min-height:44px;color:var(--text);background:var(--surface2);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:8px 12px}.app-navigation,.desktop-more-links,.overview-switcher{flex-wrap:wrap;gap:6px;display:flex}.app-navigation{margin:16px 0}.app-navigation :is(a,summary),.overview-switcher a{min-height:44px;color:var(--text-muted);border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:6px 12px;text-decoration:none;display:inline-flex}.app-navigation :is([aria-current=page],.current),.overview-switcher a[aria-current=page]{background:var(--surface2);color:var(--text)}.app-navigation .mobile-more{display:none}.overview-switcher{border:1px solid var(--border);background:var(--surface);border-radius:12px;justify-self:start;padding:4px}.offline-badge{z-index:12;bottom:calc(var(--nav-space,0px) + 8px);right:max(12px, env(safe-area-inset-right));border:1px solid var(--border);background:var(--surface3);max-width:calc(100vw - 24px);color:var(--text);border-radius:999px;padding:5px 12px;font-size:.875rem;position:fixed}.app-offline{--offline-space:42px;padding-bottom:calc(var(--nav-space,0px) + var(--offline-space) + 24px)}.offline-queue{overflow-wrap:anywhere;margin:12px 0;padding:8px 12px}.offline-queue summary{cursor:pointer;min-height:44px;padding-top:8px}.offline-queue li+li{margin-top:8px}.offline-unavailable{margin-top:24px}@media (width<=680px){.app-signed-in{--nav-space:calc(62px + env(safe-area-inset-bottom));padding-bottom:calc(var(--nav-space) + var(--offline-space,0px) + 24px)}.app-navigation{z-index:11;height:var(--nav-space);padding:3px max(4px, env(safe-area-inset-right)) env(safe-area-inset-bottom) max(4px, env(safe-area-inset-left));border-top:1px solid var(--border);background:var(--surface);grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;margin:0;display:grid;position:fixed;bottom:0;left:0;right:0}.app-navigation>a,.app-navigation .mobile-more>summary{cursor:pointer;flex-direction:column;gap:2px;width:100%;height:100%;padding:3px 0;font-size:.75rem}.app-navigation .mobile-more{display:block}.mobile-more>summary::-webkit-details-marker{display:none}.mobile-more-panel{bottom:calc(100% + 6px);right:max(8px, env(safe-area-inset-right));min-width:120px;padding:6px;position:absolute}.mobile-more-panel a{display:flex}.desktop-more-links{display:none}}.budget-page{margin-top:clamp(32px,6vw,64px)}.budget-heading,.budget-panel-heading,.budget-edit-actions,.budget-summary{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.budget-heading{align-items:end;margin-bottom:20px}.budget-heading p,.budget-income-value{margin:4px 0 0}.budget-page h2{margin:0;font-size:1.1rem}.budget-month-picker,.budget-year-buttons{align-items:end;gap:8px;display:flex}.budget-page label{gap:5px;min-width:0;font-size:.9rem;display:grid}.budget-page input,.budget-page select,.budget-page .secondary-button{min-width:0;min-height:44px;color:var(--text);background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-size:1rem}.budget-page .secondary-button{cursor:pointer}.budget-page :disabled{opacity:.65;cursor:default}.budget-panel{gap:20px;padding:clamp(16px,4vw,28px);display:grid}.budget-income-value{overflow-wrap:anywhere;font-size:1.6rem;font-weight:700}.budget-income-field{width:min(100%,320px)}.budget-allocations{gap:12px;display:grid}.budget-allocations .intro-copy{margin:0}.budget-allocation-row{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr);align-items:center;gap:12px;padding:12px 0;display:grid}.budget-category{overflow-wrap:anywhere;align-items:center;gap:8px;display:flex}.budget-swatch{border-radius:50%;flex:0 0 10px;width:10px;height:10px}.budget-allocation-inputs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.budget-hint{color:var(--text-muted);font-size:.85rem}.budget-effective-amount{text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.budget-summary:not(:empty){background:var(--surface2);overflow-wrap:anywhere;border-radius:8px;padding:12px}.budget-summary:empty{display:none}.budget-warning{color:#fca5a5}.budget-income-warning{border:1px solid var(--red);background:color-mix(in srgb, var(--red) 13%, var(--surface2));color:var(--text);overflow-wrap:anywhere;border-inline-start-width:4px;border-radius:8px;align-items:start;gap:12px;padding:14px 16px;display:flex}.budget-income-warning>span,.budget-income-warning strong{color:#fca5a5;font-size:1.1rem}.budget-income-warning p{margin:4px 0 0}.budget-edit-actions{justify-content:end}.category-manager{margin-top:20px}.category-manager fieldset{border:0;gap:12px;min-width:0;margin:0;padding:0;display:grid}.category-manager h3,.category-manager p{margin:0}.category-form,.category-actions{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.category-form label{flex:160px}.category-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.category-row{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;padding:12px 0;display:flex}.category-row .budget-category{flex:140px;min-width:0}.category-row .category-form,.category-confirm{flex:300px;min-width:0}.recurring-panel{margin-top:20px}.recurring-panel p{margin:0}.recurring-form,.recurring-description{overflow-wrap:anywhere;gap:8px;display:grid}.recurring-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.recurring-panel .recurring-checkbox{align-items:center;gap:8px;min-height:44px;display:flex}.recurring-panel .recurring-checkbox input{width:20px;height:20px;min-height:auto;accent-color:var(--accent);padding:0}.recurring-joint-button{justify-self:start}.category-confirm{gap:8px;display:grid}@media (width<=650px){.recurring-fields{grid-template-columns:minmax(0,1fr)}.budget-allocation-row{grid-template-columns:minmax(0,1fr) auto}.budget-allocation-row>:nth-child(2){grid-area:2/1/auto/-1}.budget-effective-amount{max-width:140px}}
