:root{--ink:#202631;--muted:#747984;--canvas:#f7f8fc;--line:#e8eaf0;--purple:#7357e9;--purple-dark:#5d45cc}*{box-sizing:border-box}body{background:var(--canvas);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;padding:32px 24px 20px}.dashboard{max-width:1280px;margin:0 auto}.topbar,.welcome-row,.panel-heading,.ledger-heading,.card-heading,.budget-footer,.entry-heading,.transaction-title{align-items:center;display:flex}.topbar,.welcome-row,.panel-heading,.ledger-heading,.budget-footer{justify-content:space-between}.topbar{border-bottom:1px solid var(--line);padding-bottom:30px}.brand-lockup{align-items:center;gap:12px;display:flex}.brand-mark{color:#fff;background:var(--purple);border-radius:13px;place-items:center;width:42px;height:42px;font-size:21px;font-weight:800;display:grid;box-shadow:0 8px 16px #7357e938}.eyebrow,.section-kicker{color:#9a9faa;letter-spacing:.11em;margin:0;font-size:10px;font-weight:800}.brand-lockup h1{letter-spacing:-.03em;margin:2px 0 0;font-size:17px;line-height:1}.month-control{border:1px solid var(--line);color:#49515f;background:#fff;border-radius:11px;align-items:center;gap:8px;padding:10px 13px;font-size:13px;display:flex}.month-control .caret{color:#8a8f9b;margin-left:7px}.welcome-row{gap:20px;padding:35px 0 24px}.welcome-row h2{letter-spacing:-.055em;margin:4px 0;font-size:clamp(25px,3vw,34px);line-height:1.15}.muted{color:var(--muted);margin:0;font-size:14px}.text-button{color:#6a5acb;white-space:nowrap;background:0 0;border:0;font-size:12px;font-weight:700}.summary-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.summary-card{border:1px solid #252a320d;border-radius:16px;min-height:154px;padding:20px;box-shadow:0 8px 24px #1e222b09}.total-card{background:#ecebff}.wife-card{background:#f3eafa}.husband-card{background:#e8f6f1}.shared-card{background:#fff4d7}.card-heading{color:#535967;gap:8px;font-size:12px;font-weight:750}.total-icon,.avatar{color:#55506d;background:#dfc4ee;border-radius:50%;place-items:center;width:23px;height:23px;font-size:10px;font-weight:900;display:grid}.total-icon{color:#fff;background:#7056dd;font-size:13px}.husband-avatar{color:#35695b;background:#b8e4d5}.shared-icon{color:#897028;background:#f9dfa0;border-radius:7px;place-items:center;width:23px;height:23px;font-size:14px;display:grid}.summary-number{letter-spacing:-.055em;margin-top:23px;font-size:clamp(22px,2.4vw,31px);line-height:1;display:block}.summary-card p{color:#707782;margin:11px 0 0;font-size:11px}.up-dot{color:#24a080;font-weight:900}.content-grid{grid-template-columns:minmax(0,1.7fr) minmax(290px,.72fr);align-items:start;gap:18px;margin-top:18px;display:grid}.left-column{gap:18px;display:grid}.panel,.entry-card{border:1px solid var(--line);background:#fff;border-radius:16px;box-shadow:0 8px 24px #252a3709}.panel{padding:22px}.panel h3,.entry-card h3{color:#29303b;letter-spacing:-.035em;margin:4px 0 0;font-size:17px}.panel-heading h3 span{color:#adb1ba;letter-spacing:0;font-size:13px;font-weight:600}.budget-badge,.soft-pill{color:#5751aa;background:#f0effe;border-radius:7px;padding:6px 9px;font-size:10px;font-weight:800}.soft-pill{color:#818692;background:#f5f6f8}.budget-track,.bar-track{background:#eef0f4;border-radius:99px;overflow:hidden}.budget-track{height:8px;margin:19px 0 13px}.budget-fill{border-radius:inherit;background:linear-gradient(90deg,#8a6ff0,#6551dc);height:100%}.budget-footer{color:#848995;font-size:11px}.budget-footer strong{color:#4d545f;font-size:13px}.category-panel{padding-bottom:17px}.panel-heading.compact{align-items:flex-start}.category-list{gap:15px;margin-top:20px;display:grid}.category-row{color:#606774;grid-template-columns:26px minmax(110px,1fr) minmax(70px,1.25fr) 48px;align-items:center;column-gap:9px;font-size:12px;display:grid}.category-icon,.transaction-icon{color:#7562cf;background:#f5f5fa;place-items:center;display:grid}.category-icon{border-radius:8px;width:25px;height:25px;font-size:13px}.category-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bar-track{height:6px}.category-bar{border-radius:inherit;background:#8270e9;min-width:5px;height:100%}.category-row strong{color:#4f5661;text-align:right;font-size:11px}.ledger-heading{align-items:flex-end;gap:12px}.filter-group{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.filter{color:#888e9a;background:0 0;border:0;border-radius:7px;padding:6px 9px;font-size:10px;font-weight:750}.filter.active{color:#6352cd;background:#f0efff}.transaction-list{margin-top:17px}.transaction{border-top:1px solid #f0f1f4;align-items:center;gap:11px;padding:12px 0;display:flex}.transaction:first-child{border-top:0}.transaction-icon{border-radius:10px;flex:none;width:34px;height:34px;font-size:16px}.transaction-info{flex:1;min-width:0}.transaction-title{gap:7px}.transaction-title strong{color:#424956;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.transaction-info p{color:#9398a2;text-overflow:ellipsis;white-space:nowrap;margin:3px 0 0;font-size:10px;overflow:hidden}.kind{border-radius:5px;flex:none;padding:3px 6px;font-size:8px;font-weight:800}.kind.shared{color:#5b54ac;background:#efedff}.kind.personal{color:#4d927d;background:#eaf8f2}.transaction-amount{color:#3e4652;white-space:nowrap;font-size:12px}.entry-card{border-color:#e2def9;padding:22px;position:sticky;top:18px}.entry-heading{gap:11px}.entry-icon{color:#fff;background:var(--purple);border-radius:9px;place-items:center;width:30px;height:30px;font-size:21px;font-weight:400;display:grid}.entry-help{color:#848995;margin:13px 0 20px;font-size:11px;line-height:1.55}.entry-card form{gap:13px;display:grid}.entry-card label{color:#666d79;gap:6px;font-size:11px;font-weight:750;display:grid}.entry-card label em{color:#a4a8b0;font-style:normal;font-weight:500}.entry-card input,.entry-card select,.entry-card textarea{color:#3d4550;background:#fff;border:1px solid #e5e7ed;border-radius:8px;outline:none;width:100%;font-size:12px;transition:border .15s,box-shadow .15s}.entry-card input,.entry-card select{height:37px;padding:0 10px}.entry-card textarea{resize:vertical;padding:9px 10px}.entry-card input:focus,.entry-card select:focus,.entry-card textarea:focus{border-color:#9485ed;box-shadow:0 0 0 3px #7357e91a}.money-input{position:relative}.money-input input{padding-right:28px}.money-input b{color:#9398a2;font-size:12px;position:absolute;top:9px;right:10px}.two-fields{grid-template-columns:1fr 1fr;gap:9px;display:grid}.save-button{color:#fff;background:var(--purple);border:0;border-radius:9px;justify-content:center;align-items:center;gap:13px;min-height:40px;margin-top:3px;font-size:12px;font-weight:800;transition:transform .15s,background .15s;display:flex;box-shadow:0 8px 16px #7357e933}.save-button:hover{background:var(--purple-dark);transform:translateY(-1px)}.save-button span{font-size:18px;line-height:0}.form-message{color:#5e57ac;margin:-2px 0 0;font-size:10px;line-height:1.4}.privacy-note{color:#a0a5af;text-align:center;max-width:1280px;margin:20px auto 0;font-size:10px}.privacy-note span{color:#8170df}@media (width<=820px){.app-shell{padding:20px 14px}.welcome-row{align-items:flex-end;padding-top:26px}.content-grid{grid-template-columns:1fr}.entry-card{position:static}.summary-grid{grid-template-columns:repeat(2,1fr);gap:10px}.summary-card{min-height:128px;padding:15px}.summary-number{margin-top:17px;font-size:21px}.summary-card p{display:none}.ledger-heading{flex-direction:column;align-items:flex-start}.filter-group{justify-content:flex-start}.filter{padding-left:8px;padding-right:8px}}@media (width<=540px){.topbar{padding-bottom:20px}.month-control{padding:8px;font-size:11px}.month-control .caret{display:none}.brand-mark{border-radius:11px;width:36px;height:36px}.brand-lockup h1{font-size:15px}.eyebrow{font-size:8px}.welcome-row h2{font-size:25px}.text-button{text-align:right;font-size:10px}.summary-grid{grid-template-columns:1fr}.summary-card{min-height:96px}.summary-number{margin-top:14px}.panel,.entry-card{padding:17px}.category-row{grid-template-columns:25px minmax(86px,1fr) minmax(45px,1fr) 40px;column-gap:6px}.category-name,.category-row strong{font-size:10px}.budget-panel h3{font-size:16px}.transaction-title strong{font-size:11px}.transaction-info p{max-width:180px}.two-fields{grid-template-columns:1fr}}.state-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.state-card{border:1px solid var(--line);background:#fff;border-radius:20px;width:min(100%,460px);padding:34px;box-shadow:0 20px 50px #252a3714}.state-card .brand-mark{margin-bottom:24px}.state-card h1{letter-spacing:-.05em;margin:7px 0 11px;font-size:27px}.state-card p:not(.section-kicker):not(.form-message){color:var(--muted);font-size:14px;line-height:1.6}.state-hint{background:#f4f2ff;border-radius:10px;margin-top:20px;padding:12px;color:#5d55ac!important;font-size:12px!important}.auth-card{width:min(100%,480px)}.auth-tabs{background:#f4f5f8;border-radius:10px;gap:5px;margin:24px 0 18px;padding:4px;display:flex}.auth-tabs button{color:#7b808b;background:0 0;border:0;border-radius:7px;flex:1;min-height:34px;font-size:12px;font-weight:750}.auth-tabs button.active{color:#6250ca;background:#fff;box-shadow:0 2px 7px #262b3712}.auth-form{gap:14px;display:grid}.auth-form label{color:#666d79;gap:6px;font-size:12px;font-weight:750;display:grid}.auth-form input{color:#3d4550;border:1px solid #e5e7ed;border-radius:9px;outline:none;width:100%;height:42px;padding:0 11px}.auth-form input:focus{border-color:#9485ed;box-shadow:0 0 0 3px #7357e91a}.auth-form .save-button{min-height:43px}.save-button:disabled{cursor:wait;opacity:.65;transform:none}.topbar-actions,.sync-tools{align-items:center;gap:13px;display:flex}.sync-tools{flex-wrap:wrap;justify-content:flex-end}.sync-status{color:#6f7580;align-items:center;gap:6px;font-size:11px;font-weight:700;display:inline-flex}.sync-status i{background:#38a985;border-radius:50%;width:7px;height:7px;display:block;box-shadow:0 0 0 3px #e4f7ef}.invite-banner{color:#5d55aa;background:#f6f4ff;border:1px solid #ded9fb;border-radius:10px;justify-content:flex-end;align-items:center;gap:10px;margin-top:18px;padding:10px 12px;font-size:12px;display:flex}.invite-banner code{color:#4f43aa;letter-spacing:.08em;background:#ebe7ff;border-radius:5px;padding:3px 6px;font-weight:800}.invite-banner button{color:#5d50bd;background:0 0;border:0;font-size:11px;font-weight:800}.invite-banner button:last-child{color:#8d88ae;margin-left:-3px;font-size:18px;line-height:1}.empty-note{color:#979ca6;text-align:center;margin:20px 0 4px;font-size:12px}@media (width<=620px){.topbar{align-items:flex-start;gap:14px}.topbar-actions{flex-direction:column;align-items:flex-end;gap:6px}.welcome-row{flex-direction:column;align-items:flex-start}.sync-tools{justify-content:flex-start}.invite-banner{flex-wrap:wrap;justify-content:flex-start;align-items:flex-start}.state-card{padding:25px 20px}.state-card h1{font-size:24px}}.switch-panel{background:#fbfaff;border:1px solid #ded9fb;border-radius:14px;grid-template-columns:minmax(220px,1fr) minmax(260px,1fr);align-items:start;gap:24px;margin:18px 0 22px;padding:19px;display:grid}.switch-panel h3{margin:3px 0 7px;font-size:17px}.switch-panel p:not(.section-kicker):not(.form-message){color:#727889;margin:0;font-size:12px;line-height:1.55}.switch-panel form{gap:10px;display:grid}.switch-panel label{color:#666d79;gap:6px;font-size:11px;font-weight:750;display:grid}.switch-panel input{box-sizing:border-box;color:#3d4550;background:#fff;border:1px solid #e5e7ed;border-radius:8px;outline:none;width:100%;height:38px;padding:0 10px;font-size:12px}.switch-panel input:focus{border-color:#9485ed;box-shadow:0 0 0 3px #7357e91a}.switch-actions{justify-content:flex-end;align-items:center;gap:12px;display:flex}.switch-actions .save-button{width:auto;min-height:38px;margin:0;padding:0 14px}.switch-actions .text-button{color:#7065bd;background:0 0;border:0;font-weight:750}.switch-panel .form-message{color:#b04d5b;margin:0;font-size:11px;line-height:1.45}@media (width<=620px){.switch-panel{grid-template-columns:1fr;gap:15px}.switch-actions{justify-content:space-between}}
