:root{--font-heading:"Iowan Old Style","Palatino Linotype",Palatino,serif;--font-body:"Avenir Next","Trebuchet MS","Segoe UI",sans-serif;--bg:#111214;--bg-deep:#0f1012;--card:#14171b;--card-soft:#101215;--ink:#f2eee8;--ink-strong:#f2eee8;--muted:#b8aa94;--primary:#d6a94d;--secondary:#dfc088;--accent:#c8943e;--danger:#d48672;--income:#5fbf7a;--expense:#e07070;--border:#31281c;--field-bg:#191c20;--field-border:#3b3022;--field-ink:#f2eee8;--btn-primary-top:#e0b04f;--btn-primary-bottom:#b87b2f;--btn-primary-border:#c68e3d;--btn-primary-ink:#17120e;--btn-secondary-top:#181a1d;--btn-secondary-bottom:#111317;--btn-secondary-border:#8f7448;--btn-secondary-ink:#f2eee8;--btn-secondary-glow:hsla(36,42%,74%,.18);--btn-danger-top:#8f2e2e;--btn-danger-bottom:#5c1b1b;--btn-danger-border:#b64c4c;--btn-danger-ink:#fff3f3;--focus-ring:rgba(214,169,77,.45);--site-nav-height:76px;--text-primary:#f2eee8;--text-secondary:#e2d3bd;--text-muted:#c8b396;--text-on-accent:#17120e;--chart-axis:#d6c9b8;--chart-axis-text:#e8dfd3;--chart-grid:hsla(0,0%,100%,.16);--chart-legend:#e4d9ca;--chart-tooltip-bg:#171413;--chart-tooltip-border:#857155;--chart-tooltip-text:#f2eee8;--chart-income:#68dcb7;--chart-expense:#ff6b7c;--chart-net:#7b9bff;--chart-planned:#61b7ff;--chart-actual:#ff7f65;--auth-panel-bg:linear-gradient(155deg,#0f0d0b,#181310 60%,#120f0c);--auth-panel-border:hsla(36,42%,74%,.24);--auth-panel-shadow:0 24px 52px rgba(0,0,0,.33);--auth-panel-glow-1:hsla(36,42%,74%,.2);--auth-panel-glow-2:hsla(36,42%,74%,.14);--auth-kicker-color:var(--text-muted);--auth-title-color:var(--text-primary);--auth-subtitle-color:var(--text-secondary);--auth-label-color:hsla(36,42%,74%,.9);--auth-banner-bg:hsla(36,42%,74%,.12);--auth-banner-border:hsla(36,42%,74%,.42);--auth-banner-text:hsla(35,56%,88%,.95);--auth-link-color:var(--secondary);--auth-link-hover:#f1dab0;--auth-feedback-color:var(--text-secondary);--auth-invite-row-border:hsla(36,42%,74%,.14);--auth-invite-link-bg:rgba(12,10,8,.4);--auth-invite-link-border:hsla(36,42%,74%,.46);--auth-invite-link-hover-bg:hsla(36,42%,74%,.18);--auth-invite-link-hover-border:hsla(36,42%,74%,.9);--auth-input-placeholder:var(--text-muted);color-scheme:dark}:root[data-theme=light]{--bg:#f6efe4;--bg-deep:#eadfcd;--card:#fffaf1;--card-soft:#f2e5d2;--ink:#23180f;--ink-strong:#23180f;--muted:#62503f;--primary:#8c5e25;--secondary:#9f7131;--accent:#ad7b36;--border:#c6ae88;--field-bg:#fff7ea;--field-border:#c3a77d;--field-ink:#261b12;--btn-primary-top:#d9a44a;--btn-primary-bottom:#ba7e31;--btn-primary-border:#b67f36;--btn-primary-ink:#17120e;--btn-secondary-top:#f5e7d2;--btn-secondary-bottom:#e9d4b2;--btn-secondary-border:#b68e58;--btn-secondary-ink:#23180f;--btn-secondary-glow:rgba(131,90,36,.18);--focus-ring:rgba(176,121,49,.35);--text-primary:#21170f;--text-secondary:#3a2b1d;--text-muted:#5b4734;--text-on-accent:#1a130d;--chart-axis:#6b5339;--chart-axis-text:#4a3724;--chart-grid:rgba(86,66,43,.26);--chart-legend:#3f2d1c;--chart-tooltip-bg:#fff7ea;--chart-tooltip-border:#c4a277;--chart-tooltip-text:#261b12;--chart-income:#0d8a67;--chart-expense:#c53d4b;--chart-net:#2f5fc8;--chart-planned:#2f7bbf;--chart-actual:#c95a40;--auth-panel-bg:linear-gradient(160deg,#fffaf1,#f4e7d4 58%,#efdfc6);--auth-panel-border:rgba(161,120,66,.34);--auth-panel-shadow:0 20px 44px rgba(96,64,28,.16);--auth-panel-glow-1:rgba(181,138,76,.18);--auth-panel-glow-2:rgba(181,138,76,.12);--auth-kicker-color:#735634;--auth-title-color:#271c12;--auth-subtitle-color:#4a3724;--auth-label-color:#563f28;--auth-banner-bg:rgba(181,138,76,.14);--auth-banner-border:rgba(161,120,66,.38);--auth-banner-text:#2f2216;--auth-link-color:#7b5424;--auth-link-hover:#5a3d1b;--auth-feedback-color:#4a3724;--auth-invite-row-border:rgba(161,120,66,.24);--auth-invite-link-bg:rgba(255,247,236,.82);--auth-invite-link-border:rgba(161,120,66,.42);--auth-invite-link-hover-bg:rgba(181,138,76,.18);--auth-invite-link-hover-border:rgba(161,120,66,.62);--auth-input-placeholder:#6f583f;color-scheme:light}*{box-sizing:border-box}body{margin:0;font-family:var(--font-body),"Segoe UI",sans-serif;color:var(--ink-strong);background:radial-gradient(circle at 20% 8%,rgba(210,145,32,.08),transparent 42%),radial-gradient(circle at 80% 18%,rgba(210,145,32,.06),transparent 38%),linear-gradient(180deg,var(--bg),var(--bg-deep) 45%,var(--bg) 100%)}.site-shell{min-height:100vh}.site-content{padding-top:var(--site-nav-height)}.site-nav{position:fixed;inset:0 0 auto;z-index:60;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:rgba(15,16,18,.78);border-bottom:1px solid hsla(37,54%,76%,.16)}.site-nav-inner{width:min(1320px,calc(100% - 40px));margin:0 auto;min-height:var(--site-nav-height);display:flex;align-items:center;justify-content:space-between;gap:14px}.site-brand{color:#d6a94d;font-family:var(--font-heading),serif;font-size:2rem;font-weight:700;text-decoration:none;letter-spacing:.2px}.site-nav-desktop{display:flex;align-items:center;gap:12px}.site-nav-link{text-decoration:none;color:var(--text-secondary);font-size:1.02rem;font-weight:600;min-height:44px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;border:1px solid transparent;background:transparent;transition:border-color .16s ease,background .16s ease,color .16s ease}.site-nav-link:hover{color:var(--text-primary);border-color:hsla(38,54%,77%,.28);background:hsla(36,42%,74%,.08)}.site-nav-link-active,.site-nav-link-active:hover{color:var(--text-primary);border-color:hsla(38,54%,77%,.52);background:hsla(36,42%,74%,.16)}.site-nav-link-button,.site-nav-link-button:active,.site-nav-link-button:hover{border-color:hsla(38,54%,77%,.32);background:rgba(18,17,16,.62);box-shadow:none;transform:none;filter:none}.site-nav-link-button:hover{border-color:hsla(38,54%,77%,.56);background:hsla(36,42%,74%,.12)}.site-nav-cta{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border-radius:12px;border:1px solid rgba(222,174,86,.7);background:linear-gradient(135deg,#e0b04f,#b87b2f);color:#17120e;text-decoration:none;font-weight:700;font-size:1rem;box-shadow:0 10px 24px rgba(161,110,35,.24);transition:filter .16s ease,transform .16s ease}.site-nav-cta:hover{filter:brightness(1.04);transform:translateY(-1px)}.site-nav-toggle{display:none;min-height:44px;padding:0 14px;border-radius:10px;border:1px solid hsla(38,54%,77%,.26);background:rgba(15,16,18,.62);color:var(--text-primary);font-weight:700;box-shadow:none}.site-nav-mobile{display:none}.site-nav-mobile .site-nav-cta,.site-nav-mobile .site-nav-link,.site-nav-mobile .site-nav-link-button{width:100%}.site-theme-toggle{min-height:44px;width:44px;min-width:44px;padding:0;border-radius:12px;border:1px solid hsla(38,54%,77%,.28);background:hsla(36,42%,74%,.08);color:var(--text-primary);display:inline-flex;align-items:center;justify-content:center;box-shadow:none}.site-theme-toggle:hover{border-color:hsla(38,54%,77%,.56);background:hsla(36,42%,74%,.16)}.site-theme-toggle:active,.site-theme-toggle:hover{transform:none;filter:none}.site-theme-toggle:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.site-theme-icon{width:20px;height:20px;stroke:currentColor;stroke-width:1.8;fill:none}.site-theme-label-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-theme-toggle-mobile{width:100%;justify-content:center;gap:8px;padding:0 12px}:root[data-theme=light] .site-nav{background:hsla(34,70%,96%,.9);border-bottom-color:rgba(164,127,79,.26)}:root[data-theme=light] .site-nav-link{color:rgba(45,32,20,.92)}:root[data-theme=light] .site-nav-link:hover{color:#1f140b;border-color:rgba(161,120,66,.35);background:rgba(181,138,76,.12)}:root[data-theme=light] .site-nav-link-active,:root[data-theme=light] .site-nav-link-active:hover{color:#1f140b;border-color:rgba(161,120,66,.52);background:rgba(181,138,76,.2)}:root[data-theme=light] .site-nav-link-button,:root[data-theme=light] .site-nav-link-button:active,:root[data-theme=light] .site-nav-link-button:hover{color:#2e2014;border-color:rgba(161,120,66,.38);background:rgba(181,138,76,.14)}:root[data-theme=light] .site-nav-toggle{border-color:rgba(161,120,66,.36);background:rgba(255,247,236,.84);color:#2a1c10}:root[data-theme=light] .site-theme-toggle{color:#2b1d11;border-color:rgba(161,120,66,.35);background:rgba(181,138,76,.14)}:root[data-theme=light] .site-theme-toggle:hover{border-color:rgba(161,120,66,.55);background:rgba(181,138,76,.2)}:root[data-theme=light] .landing-shell{color:var(--text-primary)}:root[data-theme=light] .landing-hero-bg{opacity:.44}:root[data-theme=light] .landing-hero-overlay{background:linear-gradient(180deg,hsla(38,50%,94%,.38),hsla(38,50%,94%,.24) 38%,hsla(34,51%,92%,.34)),radial-gradient(circle at 50% 42%,rgba(255,250,241,.08),hsla(36,44%,85%,.18) 78%)}:root[data-theme=light] .landing-hero-content{isolation:isolate}:root[data-theme=light] .landing-hero-content:before{content:"";position:absolute;left:50%;top:50%;width:min(940px,94vw);height:min(620px,78vh);transform:translate(-50%,-48%);border-radius:28px;z-index:0;pointer-events:none;background:radial-gradient(circle at 50% 44%,rgba(255,250,241,.52) 0,rgba(255,247,234,.34) 44%,hsla(36,56%,90%,.14) 72%,hsla(36,56%,90%,0) 100%)}:root[data-theme=light] .landing-hero-content>*{position:relative;z-index:1}:root[data-theme=light] .landing-title{color:var(--text-primary)}:root[data-theme=light] .landing-section-subtitle,:root[data-theme=light] .landing-subtitle{color:var(--text-secondary)}:root[data-theme=light] .landing-feature-card{border-color:rgba(164,127,79,.22);background:rgba(255,250,241,.86);box-shadow:inset 0 0 0 1px rgba(145,112,66,.08)}:root[data-theme=light] .landing-feature-card p{color:var(--text-secondary)}:root[data-theme=light] .landing-feature-icon{background:rgba(181,138,76,.14);border-color:rgba(161,120,66,.26)}:root[data-theme=light] .landing-cta-card{border-color:rgba(164,127,79,.24);background:rgba(255,249,239,.9)}:root[data-theme=light] .landing-cta-card h2{color:var(--text-primary)}:root[data-theme=light] .landing-cta-card p{color:var(--text-secondary)}:root[data-theme=light] .landing-copyright,:root[data-theme=light] .landing-footer-links a{color:var(--text-muted)}:root[data-theme=light] .landing-footer-links a:hover{color:#23180f}.container{max-width:1200px;margin:0 auto;padding:24px 16px 48px}.top-nav{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.nav-link{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--ink);border:1px solid hsla(36,42%,74%,.36);border-radius:999px;padding:8px 14px;background:rgba(12,10,8,.44);transition:border-color .16s ease,background .16s ease}.nav-link:hover{border-color:hsla(36,42%,74%,.86);background:hsla(36,42%,74%,.16)}.nav-link-active{border-color:hsla(36,42%,74%,.95);background:hsla(36,42%,74%,.24)}.nav-link-button,.nav-link-button:active,.nav-link-button:hover{min-height:auto;padding:8px 14px;border-radius:999px;border:1px solid hsla(36,42%,74%,.36);background:rgba(12,10,8,.44);color:var(--ink);box-shadow:none;transform:none;filter:none}.nav-link-button:hover{border-color:hsla(36,42%,74%,.86);background:hsla(36,42%,74%,.16)}.nav-link-button:focus-visible{box-shadow:0 0 0 3px var(--focus-ring)}.badge-alert{display:inline-flex;min-width:20px;height:20px;align-items:center;justify-content:center;border-radius:999px;padding:0 5px;font-size:.8rem;font-weight:700;color:#1d100f;background:linear-gradient(180deg,#ff7d8b,#f05567)}.header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.title{margin:0;font-family:var(--font-heading),serif;font-size:2.5rem;font-weight:700;line-height:1.05;letter-spacing:.2px}.subtitle{margin:6px 0 0;color:var(--text-secondary)}.selectors{display:flex;gap:8px;align-items:center}.grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.card{background:linear-gradient(160deg,var(--card),var(--card-soft));border:1px solid var(--border);border-radius:14px;padding:14px;color:var(--ink);box-shadow:0 14px 34px rgba(0,0,0,.24)}.status-card{margin:0 0 14px}.workspace-card{margin-bottom:14px}.workspace-actions{display:grid;grid-gap:8px;gap:8px;margin-top:8px}.card h2,.card h3{font-family:var(--font-heading),serif;margin-top:0;letter-spacing:.2px}.card h2{font-size:2.2rem;font-weight:700}.card h3{font-size:1.85rem;font-weight:600}.row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px;align-items:stretch}button,input,select{font:inherit;border-radius:10px;border:1px solid var(--field-border);padding:9px 10px}input,select{background:var(--field-bg);color:var(--field-ink);min-height:48px;height:48px;line-height:1.2}input::placeholder,textarea::placeholder{color:var(--text-muted)}textarea{font:inherit;border-radius:10px;border:1px solid var(--field-border);background:var(--field-bg);color:var(--field-ink);padding:10px 12px;line-height:1.35}.row input,.row select,.row textarea{flex:1 1 220px;min-width:0}.toggle-inline{display:inline-flex;align-items:center;gap:8px;color:var(--ink);padding:10px 12px;border:1px solid hsla(36,42%,74%,.36);border-radius:10px;background:rgba(12,10,8,.42)}.toggle-inline input{min-height:auto;height:18px;width:18px;margin:0}.description-field{resize:vertical;min-height:88px;max-height:240px}.char-counter{width:100%;margin:-2px 2px 2px;text-align:right;font-size:.8rem;color:var(--text-muted)}button{min-height:48px;padding:11px 20px;font-weight:700;letter-spacing:.28px;line-height:1;background:linear-gradient(180deg,var(--btn-primary-top),var(--btn-primary-bottom));color:var(--btn-primary-ink);border:1px solid var(--btn-primary-border);cursor:pointer;border-radius:12px;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.38),0 6px 16px rgba(0,0,0,.26);transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;user-select:none}button:hover{transform:translateY(-1px);filter:brightness(1.05);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.45),0 12px 26px rgba(0,0,0,.32)}button:active{transform:translateY(0);box-shadow:inset 0 2px 5px rgba(0,0,0,.22),0 3px 10px rgba(0,0,0,.24)}button:focus-visible,input:focus-visible,select:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring),0 0 0 5px hsla(0,0%,7%,.42)}button.secondary{background:linear-gradient(180deg,var(--btn-secondary-top),var(--btn-secondary-bottom));color:var(--btn-secondary-ink);border-color:var(--btn-secondary-border);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.08),0 6px 16px rgba(0,0,0,.28),0 0 0 1px var(--btn-secondary-glow)}button.secondary:hover{filter:brightness(1.1)}button.danger{background:linear-gradient(180deg,var(--btn-danger-top),var(--btn-danger-bottom));color:var(--btn-danger-ink);border-color:var(--btn-danger-border);box-shadow:inset 0 1px 0 hsla(0,100%,93%,.2),0 7px 18px rgba(64,7,7,.42)}button.danger:hover{filter:brightness(1.1)}button:disabled{opacity:.6;cursor:not-allowed;transform:none;filter:none;box-shadow:none}.row button{min-width:136px;justify-content:center;white-space:nowrap}.form-submit-btn{width:100%;flex:1 1 100%;margin-top:2px}.selectors button{min-width:148px}.metric{display:flex;justify-content:space-between;margin-bottom:6px}.positive{color:var(--income);font-weight:600}.negative{color:var(--expense);font-weight:600}.income{color:var(--income);font-weight:600}.expense{color:var(--expense);font-weight:600}.table{width:100%;border-collapse:collapse}.table td,.table th{text-align:left;border-bottom:1px solid hsla(35,56%,88%,.16);padding:6px 4px}.table th{font-family:var(--font-heading),serif;font-size:1.1rem;letter-spacing:.2px}.budget-scope-section{margin-top:12px;padding-top:10px;border-top:1px solid hsla(35,56%,88%,.14)}.budget-scope-header{align-items:baseline;margin-bottom:6px}.budget-scope-footer,.budget-scope-header{display:flex;justify-content:space-between;gap:10px}.budget-scope-footer{margin-top:8px;align-items:center}.budget-input-readonly{opacity:.75}.budget-scope-tabs{margin-top:10px;margin-bottom:4px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}.budget-scope-tab{min-height:38px;min-width:120px;padding:0 14px;border-radius:10px;background:rgba(18,15,12,.45);border:1px solid hsla(36,42%,74%,.34);color:var(--ink);box-shadow:none}.budget-scope-tab:hover{background:hsla(36,42%,74%,.12);border-color:hsla(36,42%,74%,.7);filter:none;box-shadow:none}.budget-scope-tab-active,.budget-scope-tab-active:hover{background:linear-gradient(180deg,#f0dfc7,#dcc09a);color:#120f0d;border-color:hsla(36,42%,74%,.95);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.36),0 6px 14px rgba(0,0,0,.24)}.budget-pagination{margin-top:8px;display:flex;gap:8px;align-items:center}.budget-pagination-btn{min-height:34px;min-width:34px;padding:0 10px;border-radius:10px}.budget-pagination-btn-active,.budget-pagination-btn-active:hover{background:linear-gradient(180deg,#f0dfc7,#dcc09a);color:#120f0d;border-color:hsla(36,42%,74%,.95)}.goal-row{cursor:pointer;transition:background-color .16s ease}.goal-row:hover{background:hsla(36,42%,74%,.12)}.goal-row-selected{cursor:pointer;background:hsla(36,42%,74%,.22)}.goal-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center;min-width:92px}.table-action-btn{min-height:36px;min-width:112px;width:auto;padding:0 12px;font-size:.92rem;border-radius:10px;white-space:nowrap}.table-action-btn-disabled,.table-action-btn-disabled:active,.table-action-btn-disabled:hover{cursor:not-allowed;opacity:.7;filter:none;transform:none;box-shadow:none;background:rgba(32,28,24,.78);border-color:hsla(36,42%,74%,.35);color:var(--text-secondary)}.table-icon-btn{min-width:34px;width:34px;padding:0}.icon-btn{display:inline-flex;align-items:center;justify-content:center;line-height:1;border-width:1px}.icon-btn svg{width:15px;height:15px;stroke:currentColor;stroke-width:2;fill:none}.icon-btn.secondary{background:rgba(11,10,9,.36);border-color:hsla(36,42%,74%,.56);color:#e8d7be;box-shadow:none}.icon-btn.secondary:hover{background:hsla(36,42%,74%,.18);border-color:hsla(36,42%,74%,.9);filter:none;box-shadow:0 0 0 3px hsla(36,42%,74%,.12)}.icon-btn.danger{background:rgba(128,34,34,.18);border-color:hsla(0,64%,66%,.72);color:#f1b0b0;box-shadow:none}.icon-btn.danger:hover{background:rgba(175,44,44,.22);border-color:hsla(0,67%,70%,.96);filter:none;box-shadow:0 0 0 3px hsla(0,64%,66%,.14)}.progress{height:8px;background:hsla(35,56%,88%,.14);border-radius:999px;overflow:hidden}.progress>span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--secondary))}.goal-progress-item{margin-bottom:12px}.progress-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:2px 0 6px}.progress-percent{color:var(--secondary);font-weight:700}.form-feedback{margin:8px 0 0;font-size:.92rem}.form-feedback-success{color:var(--income)}.form-feedback-error{color:var(--expense)}.hint{margin:0;color:var(--text-muted);font-size:.9rem}.modal-backdrop{position:fixed;inset:0;background:rgba(10,8,7,.56);display:flex;align-items:center;justify-content:center;padding:16px;z-index:80}.modal-card{width:min(560px,100%);background:linear-gradient(165deg,#201a14,#120f0c);border:1px solid hsla(36,42%,74%,.32);border-radius:16px;padding:16px;color:var(--ink);box-shadow:0 18px 40px rgba(0,0,0,.44)}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.chart-card{min-height:390px}.chart-wrap{width:100%}.alerts-list{margin:0;padding:0;list-style:none;display:grid;grid-gap:8px;gap:8px}.alert-item{display:grid;grid-gap:3px;gap:3px;border-radius:12px;border:1px solid hsla(36,42%,74%,.2);padding:10px 12px}.alert-warning{background:linear-gradient(150deg,rgba(166,119,54,.24),rgba(20,16,12,.45));border-color:hsla(37,64%,64%,.48)}.alert-critical{background:linear-gradient(150deg,rgba(164,59,66,.25),rgba(20,16,12,.44));border-color:rgba(232,121,130,.56)}.history-pagination{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:10px;color:var(--ink)}.history-action-cell{min-width:220px}.history-action-label{font-weight:600;color:var(--text-primary)}.history-action-raw{margin-top:2px;font-size:.78rem;color:var(--text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace}.history-detail-text{max-width:380px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-user-cell{overflow-wrap:anywhere}.history-action-btn-cell{width:132px;text-align:right}.history-empty{margin:2px 0}.auth-shell{min-height:calc(100vh - var(--site-nav-height) - 70px);display:grid;place-items:center}.auth-card{width:min(560px,100%)}.auth-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.profile-overview-card{margin-bottom:14px}.profile-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:8px 14px;gap:8px 14px;margin-top:8px}.profile-overview-item{display:grid;grid-gap:3px;gap:3px;padding:10px 12px;border-radius:10px;border:1px solid hsla(36,42%,74%,.2);background:hsla(36,42%,74%,.06)}.profile-overview-label{color:var(--text-muted);font-size:.82rem;letter-spacing:.2px}.profile-overview-value{color:var(--text-primary);overflow-wrap:anywhere}.profile-fields-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:10px;gap:10px;margin:8px 0}.profile-field{display:grid;grid-gap:6px;gap:6px}.profile-field-label{color:var(--text-secondary);font-size:.86rem;font-weight:600;letter-spacing:.2px}.danger-card{border-color:hsla(36,42%,74%,.36);background:linear-gradient(160deg,#151110,#0f0d0c)}.danger-warning{margin:8px 0 10px;padding:10px 12px;border:1px solid hsla(36,42%,74%,.34);border-radius:10px;background:hsla(36,42%,74%,.12);color:#f0dfc7;font-size:.92rem}.danger-unlock{margin:8px 0 12px;width:-moz-fit-content;width:fit-content}.danger-switch{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.danger-switch-btn{flex:1 1 240px;min-height:44px}.danger-switch-btn-active,.danger-switch-btn-active:hover{background:linear-gradient(180deg,#201813,#17120f);color:#f2e4d1;border-color:hsla(36,42%,74%,.8);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.08),0 6px 14px rgba(0,0,0,.24)}.danger-confirm-code{margin:6px 0 10px;padding:8px 10px;border:1px dashed hsla(36,42%,74%,.52);border-radius:10px;background:rgba(0,0,0,.26);color:#f4dfc2;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-weight:700;letter-spacing:.4px}.link-muted{color:var(--secondary);text-decoration:underline}@media (max-width:720px){.header{flex-direction:column;align-items:flex-start}.selectors{width:100%}.row button,.selectors button{flex:1 1 100%;width:100%}.budget-scope-footer{flex-direction:column;align-items:stretch}.budget-scope-footer button{width:100%}.budget-scope-tab{flex-grow:1;flex-shrink:1;flex-basis:calc(33.33% - 8px);min-width:0}.budget-pagination{flex-wrap:wrap}.danger-unlock{width:100%}.danger-switch-btn{flex:1 1 100%}.table-action-btn{min-width:98px}.history-detail-text{max-width:220px}.history-action-btn-cell{width:auto}}.auth-panel,.auth-shell-login{position:relative}.auth-panel{width:min(1080px,100%);padding:26px;border-radius:24px;overflow:hidden;background:radial-gradient(circle at 88% 110%,hsla(37,44%,74%,.14),transparent 35%),radial-gradient(circle at 0 0,hsla(37,44%,74%,.09),transparent 34%),var(--auth-panel-bg);border:1px solid var(--auth-panel-border);box-shadow:var(--auth-panel-shadow);animation:auth-rise .28s ease-out}.auth-panel:after,.auth-panel:before{content:"";position:absolute;pointer-events:none;border-radius:999px}.auth-panel:before{width:320px;height:320px;top:-220px;right:-110px;background:radial-gradient(circle,var(--auth-panel-glow-1),transparent 70%)}.auth-panel:after{width:260px;height:260px;bottom:-190px;left:-120px;background:radial-gradient(circle,var(--auth-panel-glow-2),transparent 70%)}.auth-footer,.auth-form,.auth-invite-banner,.auth-panel-header,.form-feedback{position:relative;z-index:1}.auth-panel-header{margin-bottom:14px}.auth-kicker{margin:0 0 8px;letter-spacing:.18em;text-transform:uppercase;color:var(--auth-kicker-color);font-size:.72rem;font-weight:700}.auth-title{margin:0;font-family:var(--font-heading),serif;font-size:clamp(2.35rem,5vw,4rem);line-height:1;color:var(--auth-title-color)}.auth-subtitle{margin:10px 0 0;color:var(--auth-subtitle-color);font-size:clamp(1.2rem,2.4vw,1.75rem)}.auth-invite-banner{margin:0 0 14px;border:1px solid var(--auth-banner-border);background:var(--auth-banner-bg);color:var(--auth-banner-text);border-radius:12px;padding:10px 12px;font-size:.92rem}.auth-form{margin-top:6px}.auth-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.auth-field{display:grid;grid-gap:6px;gap:6px}.auth-field-span-2{grid-column:1/-1}.auth-label{color:var(--auth-label-color);font-size:.88rem;font-weight:600}.auth-input{min-height:58px;height:58px;font-size:1rem;border-radius:14px}.auth-input::placeholder{color:var(--auth-input-placeholder)}.auth-submit{margin-top:12px}.auth-footer{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px;align-items:baseline}.auth-register-link{font-weight:600}.invite-meta{display:grid;grid-gap:8px;gap:8px;margin:2px 0 14px}.invite-meta-row{margin:0;display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;border-bottom:1px solid var(--auth-invite-row-border);padding-bottom:8px}.invite-meta-label{color:var(--text-muted);font-size:.86rem;letter-spacing:.08em;text-transform:uppercase;min-width:112px}.invite-meta-value{color:var(--text-primary);font-size:1rem;word-break:break-word}.invite-cta-row{margin-top:8px}.invite-cta-row-links{display:flex;flex-wrap:wrap;gap:10px}.invite-link-btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;border-radius:999px;border-color:var(--auth-invite-link-border);background:var(--auth-invite-link-bg);color:var(--ink)}.invite-link-btn:hover{border-color:var(--auth-invite-link-hover-border);background:var(--auth-invite-link-hover-bg)}.auth-panel .link-muted{color:var(--auth-link-color)}.auth-panel .link-muted:hover{color:var(--auth-link-hover)}.auth-panel .hint{color:var(--auth-subtitle-color)}.auth-panel .form-feedback:not(.form-feedback-success):not(.form-feedback-error){color:var(--auth-feedback-color)}@keyframes auth-rise{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width:760px){.auth-panel{padding:18px;border-radius:20px}.auth-grid{grid-template-columns:1fr}.invite-meta-row{gap:4px}.invite-meta-label{min-width:100%}}.landing-shell{min-height:calc(100vh - var(--site-nav-height));color:var(--text-primary);background:transparent}.landing-container{width:min(1120px,calc(100% - 48px));margin:0 auto}.landing-nav{position:-webkit-sticky;position:sticky;top:0;z-index:40;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:rgba(15,16,18,.78);border-bottom:1px solid hsla(37,54%,76%,.16)}.landing-nav-inner{width:min(1320px,calc(100% - 40px));margin:0 auto;min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:16px}.landing-brand{color:#d6a94d;font-family:var(--font-heading),serif;font-size:2rem;font-weight:700;text-decoration:none;letter-spacing:.2px}.landing-nav-desktop{display:flex;align-items:center;gap:18px}.landing-login-link,.landing-nav-link{text-decoration:none;color:hsla(37,39%,91%,.82);font-size:1.25rem;font-weight:600;transition:color .18s ease}.landing-login-link:hover,.landing-nav-link:hover{color:#f7f3eb}.landing-primary-btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 26px;border-radius:14px;border:1px solid rgba(222,174,86,.7);background:linear-gradient(135deg,#e0b04f,#b87b2f);color:#17120e;text-decoration:none;font-weight:700;font-size:1.12rem;box-shadow:0 10px 24px rgba(161,110,35,.24);transition:filter .16s ease,transform .16s ease}.landing-primary-btn:hover{filter:brightness(1.04);transform:translateY(-1px)}.landing-cta-pulse{position:relative;isolation:isolate;will-change:transform,box-shadow,filter;--landing-cta-hover-lift:0px;--landing-pulse-shadow-base:rgba(161,110,35,.24);--landing-pulse-shadow-peak:rgba(161,110,35,.34);--landing-wave-color:rgba(224,176,79,.3);animation:landingCtaImpulse 1.85s linear infinite}.landing-cta-pulse:after,.landing-cta-pulse:before{content:"";position:absolute;inset:-3px;border-radius:inherit;border:1px solid var(--landing-wave-color);box-shadow:0 0 0 1px rgba(224,176,79,.1);pointer-events:none;z-index:-1;opacity:0;transform:scale(1)}.landing-cta-pulse:before{animation:landingCtaWaveOne 1.85s ease-out infinite}.landing-cta-pulse:after{animation:landingCtaWaveTwo 1.85s ease-out infinite;animation-delay:.24s}@keyframes landingCtaImpulse{0%,to{transform:translate3d(0,var(--landing-cta-hover-lift),0) rotate(0deg);box-shadow:0 10px 24px var(--landing-pulse-shadow-base);filter:saturate(1)}12%{transform:translate3d(-.45px,var(--landing-cta-hover-lift),0) rotate(-.1deg)}24%{transform:translate3d(.6px,var(--landing-cta-hover-lift),0) rotate(.12deg)}38%{transform:translate3d(-.35px,var(--landing-cta-hover-lift),0) rotate(-.08deg)}52%{transform:translate3d(.5px,var(--landing-cta-hover-lift),0) rotate(.1deg)}66%{transform:translate3d(-.4px,var(--landing-cta-hover-lift),0) rotate(-.09deg)}82%{transform:translate3d(.35px,var(--landing-cta-hover-lift),0) rotate(.07deg)}92%{transform:translate3d(-.2px,var(--landing-cta-hover-lift),0) rotate(-.04deg)}96%{transform:translate3d(0,var(--landing-cta-hover-lift),0) rotate(0deg);box-shadow:0 14px 30px var(--landing-pulse-shadow-peak);filter:saturate(1.06)}}@keyframes landingCtaWaveOne{0%{opacity:0;transform:scale(1)}14%{opacity:.22;transform:scale(1.01)}56%,to{opacity:0;transform:scale(1.12)}}@keyframes landingCtaWaveTwo{0%{opacity:0;transform:scale(1)}28%{opacity:.18;transform:scale(1.02)}72%,to{opacity:0;transform:scale(1.16)}}:root[data-theme=light] .landing-cta-pulse{--landing-pulse-shadow-base:rgba(161,110,35,.2);--landing-pulse-shadow-peak:rgba(161,110,35,.26);--landing-wave-color:rgba(184,123,47,.22)}.landing-cta-pulse:is(:hover,:focus-visible){--landing-cta-hover-lift:-1px}.landing-nav-cta{min-height:48px;padding:0 22px;font-size:1.18rem}.landing-secondary-btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 26px;border-radius:14px;border:1px solid hsla(38,54%,77%,.24);background:hsla(0,0%,6%,.46);color:#f0e7d8;text-decoration:none;font-weight:700;font-size:1.12rem;transition:border-color .16s ease,background .16s ease}.landing-secondary-btn:hover{border-color:hsla(38,54%,77%,.42);background:hsla(0,0%,6%,.58)}.landing-primary-btn-lg,.landing-secondary-btn-lg{min-height:64px;padding:0 36px;font-size:1.85rem;border-radius:16px}.landing-menu-toggle{display:none;min-height:44px;padding:0 14px;border-radius:10px;border:1px solid hsla(38,54%,77%,.26);background:rgba(15,16,18,.62);color:#f2eee8;font-weight:700}.landing-nav-mobile{display:none}.landing-hero{position:relative;overflow:hidden;isolation:isolate;min-height:calc(100vh - var(--site-nav-height));display:grid;place-items:center;padding:56px 0 76px}.landing-hero-bg{z-index:0;background-image:url(/assets/landing-hero-coupleledger.jpeg);background-size:cover;background-position:center 35%;background-repeat:no-repeat;opacity:.46;filter:saturate(.95) contrast(1.04);transform:scale(1.02);transform-origin:center}.landing-hero-bg,.landing-hero-overlay{pointer-events:none;position:absolute;inset:0}.landing-hero-overlay{z-index:1;background:linear-gradient(180deg,rgba(8,9,11,.58),rgba(10,11,13,.42) 38%,rgba(10,11,13,.55)),radial-gradient(circle at 50% 44%,rgba(20,16,12,.08),rgba(5,6,8,.36) 75%)}.landing-hero-glow{pointer-events:none;position:absolute;inset:0;z-index:2;background:radial-gradient(circle at 50% 40%,rgba(214,169,77,.12),transparent 44%)}.landing-hero-content{position:relative;z-index:3;text-align:center;max-width:980px}.landing-title{margin:0;font-family:var(--font-heading),serif;font-size:clamp(3rem,7.8vw,7rem);line-height:.97;letter-spacing:-.7px;color:var(--text-primary)}.landing-title span{background:linear-gradient(120deg,#e3c079,#bc7f34);-webkit-background-clip:text;background-clip:text;color:transparent}.landing-subtitle{margin:28px auto 0;max-width:860px;font-size:clamp(1.24rem,2vw,2.1rem);line-height:1.45;color:var(--text-secondary)}.landing-hero-actions{margin-top:42px;display:flex;justify-content:center;gap:14px;flex-wrap:wrap}.landing-features{padding:44px 0 82px}.landing-section-title{margin:0;text-align:center;font-family:var(--font-heading),serif;font-size:clamp(2.4rem,4.8vw,5.2rem);line-height:1.05}.landing-section-title span{color:#d6a94d}.landing-section-subtitle{margin:12px auto 0;text-align:center;font-size:clamp(1.1rem,1.65vw,1.7rem);color:var(--text-secondary)}.landing-feature-grid{margin-top:42px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px;gap:18px}.landing-feature-card{padding:28px;border-radius:18px;border:1px solid hsla(38,54%,77%,.14);background:rgba(24,25,29,.62);box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.02)}.landing-feature-icon{width:56px;height:56px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:rgba(214,169,77,.13);border:1px solid rgba(214,169,77,.16)}.landing-feature-icon svg{width:25px;height:25px;stroke:#d6a94d;stroke-width:1.8;fill:none}.landing-feature-card h3{margin:18px 0 0;font-family:var(--font-heading),serif;font-size:clamp(1.6rem,2.5vw,2.5rem)}.landing-feature-card p{margin:14px 0 0;font-size:clamp(1rem,1.45vw,1.95rem);line-height:1.45;color:var(--text-secondary)}.landing-cta{padding:16px 0 92px}.landing-cta-card{margin:0 auto;max-width:980px;border-radius:22px;border:1px solid hsla(38,54%,77%,.16);background:rgba(24,25,29,.64);text-align:center;padding:clamp(30px,7vw,80px)}.landing-cta-card h2{margin:0;font-family:var(--font-heading),serif;font-size:clamp(2rem,4.2vw,5.6rem);line-height:1.05}.landing-cta-card p{margin:18px 0 0;color:var(--text-secondary);font-size:clamp(1.05rem,1.6vw,1.85rem)}.landing-cta-card .landing-primary-btn{margin-top:28px}@media (prefers-reduced-motion:reduce){.landing-cta-pulse,.landing-cta-pulse:after,.landing-cta-pulse:before{animation:none!important}.landing-cta-pulse{transform:none;filter:none}.landing-cta-pulse:after,.landing-cta-pulse:before{opacity:0;transform:scale(1)}}.landing-footer{border-top:1px solid hsla(38,54%,77%,.12);padding:24px 0 34px}.landing-footer-inner{justify-content:space-between;gap:14px}.landing-footer-inner,.landing-footer-links{display:flex;align-items:center;flex-wrap:wrap}.landing-footer-links{gap:20px}.landing-footer-links a{text-decoration:none;color:var(--text-secondary);font-size:1.06rem}.landing-footer-links a:hover{color:#f7f3eb}.landing-copyright{color:var(--text-muted);font-size:.96rem}@media (max-width:980px){.landing-feature-grid{grid-template-columns:1fr}}@media (max-width:860px){.site-nav-desktop{display:none}.site-nav-toggle{display:inline-flex;align-items:center;justify-content:center}.site-nav-mobile{width:min(1320px,calc(100% - 40px));margin:0 auto;padding:10px 0 16px;border-top:1px solid hsla(38,54%,77%,.12);display:flex;flex-direction:column;gap:10px}.site-nav-mobile .site-nav-link,.site-nav-mobile .site-nav-link-button,.site-nav-mobile .site-theme-toggle{border-color:hsla(38,54%,77%,.22);background:rgba(16,17,19,.55)}.site-nav-mobile .site-nav-cta,.site-nav-mobile .site-nav-link,.site-nav-mobile .site-nav-link-button,.site-nav-mobile .site-theme-toggle{width:100%;justify-content:center}.site-nav-inner{width:min(1320px,calc(100% - 30px))}.site-brand{font-size:1.65rem}.landing-nav-desktop{display:none}.landing-menu-toggle{display:inline-flex;align-items:center;justify-content:center}.landing-nav-mobile{width:min(1320px,calc(100% - 40px));margin:0 auto;padding:10px 0 16px;border-top:1px solid hsla(38,54%,77%,.12);display:flex;flex-direction:column;gap:10px}.landing-nav-mobile .landing-login-link,.landing-nav-mobile .landing-primary-btn{width:100%;justify-content:center}.landing-nav-mobile .landing-login-link{min-height:46px;border:1px solid hsla(38,54%,77%,.16);border-radius:12px;background:rgba(16,17,19,.55)}.landing-container{width:min(1120px,calc(100% - 34px))}.landing-nav-inner{width:min(1320px,calc(100% - 30px))}.landing-brand{font-size:1.65rem}.landing-primary-btn-lg,.landing-secondary-btn-lg{min-height:56px;font-size:1.35rem;padding:0 22px;width:100%}.landing-hero-actions{display:grid;grid-gap:10px;gap:10px}.landing-footer-inner{justify-content:center;text-align:center}}body,html{max-width:100%}body{overflow-x:hidden}.nav-link-button{display:inline-flex;align-items:center;justify-content:center}.selectors{flex-wrap:wrap}.selectors button,.selectors input,.selectors select{flex:1 1 140px;min-width:0}.table-scroll{width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.table-scroll .table{margin:0}.table-history{min-width:900px}.table-goals{min-width:720px}.table-budget{min-width:560px}.table-split-rules{min-width:520px}.table-budget td,.table-budget th,.table-goals td,.table-goals th,.table-history td,.table-history th,.table-split-rules td,.table-split-rules th{white-space:nowrap}.table-history .history-detail-text{max-width:290px}.chart-wrap{height:300px;min-height:220px}.history-filters{gap:10px}.history-filters>*{flex:1 1 190px;min-width:0}.history-pagination{flex-wrap:wrap}.danger-confirm-code{overflow-wrap:anywhere}@media (max-width:1024px){.container{padding:20px 14px 40px}.title{font-size:clamp(2rem,4.8vw,2.35rem)}.subtitle{font-size:clamp(.95rem,2.2vw,1.08rem)}.card h2{font-size:clamp(1.7rem,3.2vw,2rem)}.card h3{font-size:clamp(1.35rem,2.8vw,1.75rem)}.chart-card{min-height:350px}}@media (max-width:760px){.container{padding:16px 12px 34px}.top-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.top-nav .nav-link,.top-nav .nav-link-button{width:100%;justify-content:center;text-align:center}.card{padding:12px;border-radius:12px}.title{font-size:clamp(1.75rem,7vw,2.15rem)}.card h2{font-size:clamp(1.45rem,6vw,1.85rem)}.card h3{font-size:clamp(1.2rem,5.4vw,1.55rem)}.selectors{width:100%}.selectors button,.selectors input,.selectors select{flex-grow:1;flex-shrink:1;flex-basis:calc(50% - 8px)}.table-scroll{margin:0 -2px;padding-bottom:2px}.table-history{min-width:840px}.table-goals{min-width:680px}.table-budget{min-width:540px}.table-split-rules{min-width:500px}.history-action-cell{min-width:200px}.history-action-btn-cell{min-width:140px;width:auto;text-align:left}.history-pagination{justify-content:center;gap:8px}.chart-card{min-height:320px}.chart-wrap{height:255px;min-height:255px}.budget-pagination{flex-wrap:wrap;justify-content:flex-start}.budget-pagination-btn{min-width:40px}.budget-scope-tab{flex-grow:1;flex-shrink:1;flex-basis:calc(50% - 8px)}.goal-actions{justify-content:flex-start;min-width:80px}.auth-panel{padding:16px;border-radius:18px}.landing-footer-links{justify-content:center}.landing-hero-bg{background-position:62%}}@media (max-width:560px){.container{padding:14px 10px 28px}.history-filters>*,.selectors button,.selectors input,.selectors select{flex:1 1 100%}.history-filters .toggle-inline{width:100%;justify-content:flex-start}.history-filters button.secondary{width:100%}.table-action-btn{min-width:104px}.chart-card{min-height:290px}.chart-wrap{height:230px;min-height:230px}.auth-title{font-size:clamp(1.9rem,9vw,2.5rem)}.auth-subtitle{font-size:clamp(1rem,4.3vw,1.2rem)}.landing-container{width:min(1120px,calc(100% - 24px))}.landing-nav-inner,.landing-nav-mobile,.site-nav-inner,.site-nav-mobile{width:min(1320px,calc(100% - 24px))}.landing-brand,.site-brand{font-size:1.35rem}.landing-title{line-height:1.02}.landing-subtitle{margin-top:18px}.landing-hero-bg{opacity:.34}.landing-hero-overlay{background:linear-gradient(180deg,rgba(8,9,11,.68),rgba(10,11,13,.58) 42%,rgba(10,11,13,.72)),radial-gradient(circle at 50% 44%,rgba(20,16,12,.14),rgba(5,6,8,.44) 76%)}:root[data-theme=light] .landing-hero-bg{opacity:.3}:root[data-theme=light] .landing-hero-overlay{background:linear-gradient(180deg,hsla(38,50%,94%,.5),hsla(38,50%,94%,.36) 42%,hsla(34,51%,92%,.46)),radial-gradient(circle at 50% 42%,rgba(255,250,241,.12),hsla(36,44%,85%,.26) 80%)}:root[data-theme=light] .landing-hero-content:before{width:min(96vw,760px);height:min(74vh,560px);transform:translate(-50%,-47%)}.landing-feature-card{padding:20px}.landing-cta-card{border-radius:16px;padding:26px 18px}}@media (max-width:420px){.top-nav{grid-template-columns:1fr}.site-nav-inner,.site-nav-mobile{width:min(1320px,calc(100% - 16px))}.site-nav-link{font-size:.94rem;min-height:42px}.site-nav-cta{min-height:44px;font-size:.95rem}.title{font-size:1.65rem}.subtitle{font-size:.92rem}.card h2{font-size:1.35rem}.card h3{font-size:1.12rem}.table-history{min-width:790px}.table-goals{min-width:640px}.table-budget{min-width:500px}.table-split-rules{min-width:460px}.landing-primary-btn-lg,.landing-secondary-btn-lg{min-height:52px;font-size:1.06rem;padding:0 16px}}