:root{color-scheme:dark;--bg:#101218;--surface:#191c24;--surface2:#20242e;--line:#30343f;--text:#f4f5f7;--muted:#a4aab8;--accent:#baff66;--ink:#18240b;--danger:#ff929d;--blue:#a0baff;--radius:20px;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.5}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{opacity:.55;cursor:wait}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button{border:0}h1,h2,h3,p{margin:0}h1{font-size:clamp(1.9rem,3vw,2.8rem);letter-spacing:-.045em;line-height:1.15;font-weight:650}h2{font-size:1.25rem;font-weight:600;letter-spacing:-.025em}h3{font-size:1.05rem;font-weight:550}p{color:var(--muted)}small{font-size:.8rem;font-weight:400}.icon{height:21px;width:21px;flex-shrink:0;vertical-align:middle}strong{font-weight:600}.shell{min-height:100vh;display:grid;grid-template-columns:246px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;padding:36px 22px 20px;display:flex;flex-direction:column;border-right:1px solid var(--line);background:#13161c}.brand{display:flex;gap:12px;align-items:center;font-size:1rem;letter-spacing:.12em;font-weight:700;line-height:1.25}.brand img{width:39px;height:39px}.brand b{display:block;font-size:.7rem;color:var(--muted);letter-spacing:.22em;font-weight:450;margin-top:4px}.household-name{margin:42px 0 28px;display:flex;gap:11px;align-items:center;padding:13px 9px;border:1px solid var(--line);border-radius:12px}.household-name strong{font-size:.88rem;display:block;overflow-wrap:anywhere}.household-name small{color:var(--muted)}.avatar{width:38px;height:38px;border:1px solid #555d48;background:#2b3523;color:#d3ecb7;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}.avatar.small{width:34px;height:34px;background:#303442;border-color:#454b60;color:#c9d5ff}.nav-item{width:100%;display:flex;gap:13px;align-items:center;padding:13px 14px;background:none;border-radius:10px;color:var(--muted);text-align:left;margin-bottom:6px;font-size:.9rem;font-weight:500}.nav-item:hover{background:var(--surface2);color:var(--text)}.nav-item.active{background:#293322;color:#d4f4b4}.sidebar-bottom{margin-top:auto}.sidebar-note{color:#79818e;font-size:.8rem;padding:20px 8px;border-bottom:1px solid var(--line);margin-bottom:16px}.user-button{display:flex;align-items:center;gap:11px;background:none;width:100%;text-align:left;font-size:.9rem}.user-button small{display:block;color:var(--muted);text-transform:capitalize}.user-button>.icon{margin-left:auto}.topbar{height:88px;border-bottom:1px solid var(--line);padding:0 42px;display:flex;align-items:center;justify-content:space-between;gap:16px}.breadcrumb{font-size:.85rem;color:var(--muted)}.breadcrumb>span{margin:0 12px;color:#646d7d}.top-actions{display:flex;align-items:center;gap:20px}.save-state{color:var(--muted);font-size:.8rem}.save-state.pending{color:#e4c581}.icon-button{background:none;width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;color:var(--muted)}.icon-button:hover{background:var(--surface2);color:var(--text)}.icon-button.bordered{border:1px solid var(--line);height:46px;width:46px}.content{max-width:1440px;padding:38px 42px 64px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:32px}.eyebrow{display:block;letter-spacing:.14em;font-size:.72rem;font-weight:600;color:var(--muted);margin-bottom:10px}.month-tools{display:flex;gap:8px;flex-shrink:0}input,select{background:var(--surface);border:1px solid var(--line);color:var(--text);border-radius:10px;padding:11px 13px;min-height:46px;max-width:100%}input{width:100%}input::placeholder{color:#7e8796}select{padding-right:28px;font-size:.9rem}button{transition:background .16s,transform .16s,border-color .16s}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:11px 17px;min-height:44px;border-radius:10px;font-size:.88rem;font-weight:600;border:1px solid transparent;line-height:1.4}.primary{background:var(--accent);color:var(--ink)}.primary:hover{background:#cfffa0}.secondary{background:var(--surface2);color:var(--text);border-color:var(--line)}.secondary:hover{background:#2b303d}.text-button{display:inline-flex;align-items:center;gap:9px;background:none;color:var(--accent);font-size:.88rem;padding:8px 0;min-height:40px;text-align:left}.text-button:hover{color:#d9ffb4}.overview-grid{display:grid;grid-template-columns:1.17fr 1fr;gap:22px}.balance-card{border-radius:var(--radius);background:var(--accent);color:var(--ink);padding:27px 28px 22px;display:flex;flex-direction:column;min-width:0;min-height:262px}.balance-top{display:flex;justify-content:space-between;gap:10px;font-size:.75rem;letter-spacing:.06em;font-weight:650}.balance-top>span:last-child{letter-spacing:0;font-weight:450}.hero-amount{font-size:clamp(2.6rem,4.8vw,4.7rem);font-weight:600;letter-spacing:-.065em;line-height:1.1;margin:23px 0 14px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.hero-amount small{font-size:.4em;letter-spacing:-.015em;color:#3e5929}.balance-card p{font-size:.85rem;color:#3b532b;max-width:360px}.balance-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:23px;font-size:.75rem}.pill-button{background:#1b300e;color:#d9ffbb;display:flex;gap:9px;align-items:center;border-radius:25px;padding:9px 13px;font-size:.75rem;font-weight:550;min-height:40px}.pill-button .icon{width:16px;height:16px}.negative{background:#ffc0bd}.totals-card{border:1px solid var(--line);border-radius:var(--radius);padding:4px 24px;background:var(--surface)}.totals-card>div{display:flex;gap:13px;align-items:center;min-height:90px;border-bottom:1px solid var(--line)}.totals-card>div:last-child{border:0}.totals-card>div>span:nth-child(2){font-size:.9rem}.totals-card small{display:block;font-size:.75rem;color:var(--muted);margin-top:3px}.totals-card strong{font-size:1.35rem;letter-spacing:-.035em;margin-left:auto;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.totals-card strong small{display:inline;font-size:.8rem}.metric-icon{border-radius:12px;background:#2e3428;color:#c9ecaa;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.metric-icon.income .icon{transform:rotate(45deg)}.metric-icon.outgoing{background:#323040;color:#c6b5ee}.metric-icon.personal{background:#26333f;color:#a6c9e8}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:34px 0 18px}.section-heading p{font-size:.85rem;margin-top:5px}.block-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.block-card{text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:20px;min-width:0}.block-card:hover{border-color:#707d60;transform:translateY(-2px);background:#1e222b}.block-card-top{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:18px}.block-symbol{background:#2a2f3a;border-radius:10px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:#bcc3d1}.block-card.income .block-symbol{background:#2e3b25;color:var(--accent)}.block-card.personal .block-symbol{background:#323044;color:#d0b5ff}.tag{font-size:.73rem;background:#272c36;color:#c0c7d4;border:1px solid #353b47;border-radius:6px;line-height:1.4;padding:4px 8px;max-width:100%;overflow-wrap:anywhere}.block-card h3{font-size:.95rem;overflow-wrap:anywhere}.block-amount{font-size:1.7rem;letter-spacing:-.04em;margin-top:7px;line-height:1.3;font-weight:550;overflow-wrap:anywhere}.block-amount small{font-size:.8rem;letter-spacing:0;color:var(--muted)}.block-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding-top:13px;border-top:1px solid var(--line);color:var(--muted);font-size:.75rem}.block-card-footer .icon{width:17px;height:17px}.personal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.personal-card{display:flex;align-items:center;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px;text-align:left;min-width:0}.personal-initial{color:#d1c4f5;background:#343045;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.personal-card>div:nth-child(2){min-width:0}.personal-card strong{font-size:.9rem;display:block;overflow-wrap:anywhere}.personal-card span:not(.personal-initial){font-size:.75rem;color:var(--muted)}.personal-remaining{margin-left:auto;text-align:right;white-space:nowrap}.personal-remaining strong{font-size:1.12rem}.personal-remaining small{font-size:.75rem;color:var(--muted)}.personal-card>.icon{width:16px;color:var(--muted)}.import-note{margin-top:28px;font-size:.85rem;color:var(--muted);border-top:1px solid var(--line);padding-top:20px}.import-note summary{cursor:pointer}.import-note li{margin-bottom:6px}.workspace-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:22px}.workspace-toolbar>div{display:flex;gap:10px}.workspace-toolbar p{font-size:.9rem}.subtle{color:#8d97a7}.hint-box{display:flex;gap:12px;padding:20px;border:1px dashed #424959;border-radius:12px;margin-top:24px;font-size:.85rem}.hint-box .icon{color:var(--accent)}.detail{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px}.detail-heading{display:flex;justify-content:space-between;gap:14px}.detail-heading>div{display:flex;gap:10px}.detail-title{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px 0}.detail-title h2{font-size:1.8rem}.detail-title p{font-size:.85rem;max-width:480px;margin-top:8px}.detail-total{font-size:2.3rem;font-weight:550;letter-spacing:-.04em;white-space:nowrap}.detail-total>small:last-child{display:block;color:var(--muted);font-size:.75rem;letter-spacing:0;text-align:right}.list-header,.item-row{display:grid;grid-template-columns:minmax(0,1fr) 125px 135px 42px;gap:16px;align-items:center}.list-header{font-size:.7rem;color:var(--muted);letter-spacing:.06em;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.list-header>span:nth-child(3){text-align:right}.item-row{min-height:73px;border-bottom:1px solid var(--line);padding:12px 0}.item-name{display:flex;align-items:center;gap:13px;min-width:0}.item-name strong{font-weight:450;font-size:.92rem;overflow-wrap:anywhere}.item-name small{display:block;color:var(--muted);overflow-wrap:anywhere}.paid-check{width:25px;height:25px;border:1px solid #697386;border-radius:8px;background:none;flex-shrink:0;display:flex;align-items:center;justify-content:center;position:relative}.paid-check:before{content:'';position:absolute;inset:-9px}.paid-check.checked{background:#baff6620;border-color:#789b55;color:var(--accent)}.paid-check .icon{width:18px;height:18px}.item-account{font-size:.8rem;color:var(--muted);overflow-wrap:anywhere}.item-amount{text-align:right;font-size:.95rem;white-space:nowrap}.item-amount small{color:var(--muted)}.linked-heading{margin-top:26px;margin-bottom:12px}.linked-list>button{width:100%;display:flex;gap:14px;align-items:center;background:var(--surface2);padding:15px;border:1px solid var(--line);border-radius:10px;text-align:left;margin-top:8px;font-size:.9rem}.linked-list>button>.icon:first-child{color:var(--accent)}.linked-list small{display:block;color:var(--muted);font-size:.75rem}.linked-list strong{margin-left:auto;white-space:nowrap}.detail-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:20px;gap:20px;font-size:.8rem;color:var(--muted)}.danger-text{color:var(--danger)!important}.personal-summary{display:flex;justify-content:space-between;gap:20px;margin:0 0 24px;padding:18px;background:#282437;border-radius:12px;font-size:.85rem;color:#c5bcd9}.personal-summary b{display:block;color:#f2eaff;font-size:1.1rem;margin-top:4px}.payday-intro{display:flex;gap:15px;align-items:center;margin-bottom:26px}.payday-intro p{font-size:.9rem;margin-top:5px;max-width:680px}.payday-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.payday-card{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);padding:26px}.payday-card header{display:flex;gap:13px;align-items:center}.payday-card dl{margin:26px 0}.payday-card dl>div{display:flex;justify-content:space-between;gap:15px;margin:14px 0;font-size:.9rem}.payday-card dt{color:var(--muted)}.payday-card dd{margin:0;white-space:nowrap}.transfer-total{background:#293520;border:1px solid #4b6138;border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:5px;color:#d5e9c6}.transfer-total span{font-size:.8rem}.transfer-total strong{font-size:2rem;color:var(--accent);letter-spacing:-.035em}.payday-card details{font-size:.85rem;margin-top:20px;color:var(--muted)}summary{cursor:pointer}.payment-line{display:flex;justify-content:space-between;gap:12px;margin:12px 0;font-size:.8rem}.payment-line strong{color:var(--text);white-space:nowrap}.joint-reconcile{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:24px;align-items:center;margin-top:24px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px}.joint-reconcile>div:not(:first-child){border-left:1px solid var(--line);padding-left:20px}.joint-reconcile span:not(.eyebrow){display:block;font-size:.75rem;color:var(--muted);margin-bottom:8px}.joint-reconcile strong{font-size:1.25rem}.reconcile-save strong{color:var(--accent)}.footnote{font-size:.8rem;color:var(--muted);margin-top:18px;line-height:1.65}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.settings-card{padding:26px;background:var(--surface);border:1px solid var(--line);border-radius:16px;min-width:0}.settings-card>p{font-size:.9rem;margin:9px 0 20px}.settings-card>.text-button{display:flex;margin-top:10px}.member-row{display:flex;align-items:center;gap:12px;margin:18px 0}.member-row>div{min-width:0}.member-row strong{font-size:.9rem}.member-row small{display:block;color:var(--muted);overflow-wrap:anywhere}.member-row>.tag{margin-left:auto}.account-tags{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.account-tags .tag{font-size:.9rem;padding:8px 12px}.empty{padding:32px 20px;color:var(--muted);text-align:center;font-size:.9rem}.auth-wrap{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-intro{padding:50px 64px;background:#1a2217;display:flex;flex-direction:column;justify-content:space-between;gap:70px}.auth-intro h1{font-size:clamp(3rem,6.5vw,6rem);letter-spacing:-.06em;margin:20px 0 26px;font-weight:550;color:#d9f8be}.auth-intro p{line-height:1.8;color:#b6c5ad}.auth-intro .eyebrow{color:#b4d29c}.auth-intro>small{color:#93a388}.auth-blocks{display:flex;gap:12px;align-items:center;margin-top:40px;color:#c7dbb7;flex-wrap:wrap}.auth-blocks span{border:1px solid #526448;border-radius:10px;padding:10px;font-size:.8rem}.auth-panel{display:flex;align-items:center;justify-content:center;padding:45px}.auth{width:100%;max-width:400px}.auth h2{font-size:2rem;letter-spacing:-.045em;margin-bottom:12px}.auth>p{font-size:.9rem;margin-bottom:28px}.field{display:block;margin-bottom:18px}.field>span{display:block;font-size:.85rem;color:#c5cad4;margin-bottom:8px}.field input,.field select{width:100%}.auth form>small{display:block;color:var(--muted);margin:-8px 0 20px;font-size:.75rem}.check-label{display:flex;align-items:flex-start;gap:10px;color:var(--muted);font-size:.85rem;margin:18px 0}.check-label input{appearance:auto;width:18px;height:18px;min-height:18px;margin:2px 0;accent-color:var(--accent);flex-shrink:0}.full{width:100%}.auth>.text-button{margin-top:16px;font-size:.8rem}.form-error{color:var(--danger);font-size:.85rem;margin:15px 0}.form-error:empty{display:none}.loading{padding:80px;text-align:center;color:var(--muted)}dialog{background:var(--surface);color:var(--text);border:1px solid #454d5a;border-radius:20px;width:min(520px,calc(100% - 28px));padding:26px;max-height:90dvh;box-shadow:0 30px 100px #0009}dialog::backdrop{background:#05080bd4;backdrop-filter:blur(5px)}dialog header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}dialog h2{font-size:1.4rem}dialog header .icon-button{margin:-8px -8px -8px 0}dialog p{font-size:.9rem;margin-bottom:20px}dialog footer{display:flex;justify-content:flex-end;gap:10px;margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}.history-list>div{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}.history-list strong{font-size:.9rem}.history-list small{display:block;font-size:.75rem;color:var(--muted)}#toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);max-width:calc(100% - 36px);width:max-content;padding:14px 22px;border-radius:12px;background:#e5ecd9;color:#17210f;box-shadow:0 8px 40px #0007;z-index:100;opacity:0;pointer-events:none;transition:.2s;font-size:.9rem}#toast.show{opacity:1;transform:translate(-50%,0)}.alert{display:flex;align-items:center;gap:12px;margin:22px 42px 0;padding:18px;background:#49351f;border:1px solid #906d3c;border-radius:12px;font-size:.85rem}.alert p{color:#e5cbaa;font-size:.8rem}.alert>div{margin-right:auto}.mobile-nav,.mobile-brand{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
@media(min-width:1600px){.content{padding-top:50px}.block-grid{gap:20px}.balance-card{min-height:290px}}
@media(max-width:1150px){.shell{grid-template-columns:210px minmax(0,1fr)}.sidebar{padding:28px 15px}.content{padding:30px 26px 50px}.topbar{padding:0 26px}.overview-grid{grid-template-columns:1fr}.balance-card{min-height:245px}.hero-amount{font-size:3.7rem}.totals-card{display:grid;grid-template-columns:repeat(3,1fr);padding:18px 10px}.totals-card>div{display:block;border-bottom:0;border-right:1px solid var(--line);padding:0 14px;min-height:0}.totals-card .metric-icon{display:none}.totals-card strong{display:block;text-align:left;margin-top:12px}.totals-card strong small{display:inline}.totals-card>div:last-child{border:0}.personal-grid{grid-template-columns:1fr}.joint-reconcile{grid-template-columns:1fr 1fr}.joint-reconcile>div:not(:first-child){padding:0;border:0}.block-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-grid{grid-template-columns:1fr}.payday-card{padding:20px}.list-header,.item-row{grid-template-columns:minmax(0,1fr) 90px 100px 36px;gap:10px}.auth-intro{padding:40px}.workspace-toolbar{align-items:flex-start}.workspace-toolbar>div{flex-wrap:wrap;justify-content:flex-end}}
@media(max-width:760px){.shell{display:block}.sidebar{display:none}.topbar{height:70px;padding:0 20px}.breadcrumb{display:none}.mobile-brand{display:flex;align-items:center;gap:9px;font-size:1.05rem;font-weight:600;letter-spacing:-.03em}.mobile-brand img{width:30px;height:30px}.top-actions{gap:8px}.save-state{font-size:.72rem}.content{padding:26px 18px 110px}.page-heading{display:block;margin-bottom:23px}.page-heading h1{font-size:2rem}.month-tools{margin-top:22px;justify-content:space-between}.month-tools select{flex:1}.eyebrow{font-size:.68rem;margin-bottom:8px}.overview-grid{gap:15px}.balance-card{padding:23px;min-height:248px;border-radius:18px}.hero-amount{font-size:3.7rem;margin:24px 0 12px}.balance-top{font-size:.72rem}.balance-card p{font-size:.82rem}.balance-bottom{gap:8px;padding-top:22px;font-size:.7rem}.pill-button{font-size:.7rem;padding:8px 12px}.totals-card{padding:18px 4px;border-radius:16px}.totals-card>div{padding:0 10px}.totals-card>div>span:nth-child(2){font-size:.75rem;line-height:1.4;display:block}.totals-card small{display:none}.totals-card strong{font-size:1.2rem;white-space:normal;margin-top:8px;overflow-wrap:anywhere}.totals-card strong small{font-size:.7rem}.section-heading{margin:28px 0 15px}.section-heading h2{font-size:1.1rem}.section-heading p{font-size:.8rem}.section-heading .text-button{font-size:.75rem;white-space:nowrap}.block-grid{gap:12px}.block-card{padding:16px;border-radius:14px}.block-card-top{align-items:flex-start;margin-bottom:15px;flex-wrap:wrap;gap:10px}.block-symbol{width:32px;height:32px}.tag{font-size:.68rem}.block-card h3{font-size:.88rem}.block-amount{font-size:1.5rem}.block-card-footer{margin-top:16px;font-size:.68rem}.personal-card{padding:16px;gap:10px}.personal-card strong{font-size:.85rem}.personal-remaining strong{font-size:1.1rem}.personal-card>.icon{display:none}.personal-card span:not(.personal-initial){font-size:.7rem}.personal-initial{width:35px;height:35px}.mobile-nav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;bottom:0;left:0;right:0;background:#171a22f7;backdrop-filter:blur(16px);border-top:1px solid var(--line);padding:8px 6px max(8px,env(safe-area-inset-bottom));z-index:20}.mobile-nav .nav-item{display:flex;flex-direction:column;gap:4px;padding:7px 2px;margin:0;font-size:.65rem;border-radius:10px;text-align:center}.mobile-nav .icon{height:21px;width:21px}.workspace-toolbar{display:block;margin-bottom:20px}.workspace-toolbar>div{justify-content:flex-start;margin-top:14px}.workspace-toolbar .button{font-size:.8rem;flex:1}.detail{padding:16px;border-radius:16px}.detail-heading{display:block}.detail-heading>div{margin-top:15px}.detail-heading>div>.button{flex:1;font-size:.8rem}.detail-title{display:block;padding:24px 0}.detail-title h2{font-size:1.5rem}.detail-title p{font-size:.8rem}.detail-total{font-size:2rem;margin-top:14px}.detail-total>small:last-child{display:inline;margin-left:10px;font-size:.75rem}.list-header{grid-template-columns:minmax(0,1fr) 95px 30px}.list-header>span:nth-child(2){display:none}.list-header>span:nth-child(3){text-align:right}.item-row{position:relative;grid-template-columns:minmax(0,1fr) 95px 30px;padding:15px 0 26px;min-height:80px;gap:8px}.item-account{position:absolute;left:38px;bottom:8px;font-size:.7rem}.item-name{gap:10px}.item-name strong{font-size:.84rem}.paid-check{width:23px;height:23px}.item-amount{font-size:.86rem}.item-amount small{font-size:.7rem}.item-row>.icon-button{width:32px;height:42px}.item-row>.icon-button>.icon{width:17px}.linked-list>button{font-size:.8rem;gap:10px;padding:12px}.linked-list small{font-size:.68rem}.linked-list strong{font-size:.85rem}.detail-bottom{display:block;font-size:.75rem}.detail-bottom .text-button{margin-top:14px}.personal-summary{gap:12px;font-size:.73rem;padding:14px}.personal-summary b{font-size:.95rem}.payday-intro{align-items:flex-start}.payday-intro h2{font-size:1.1rem}.payday-intro p{font-size:.8rem}.payday-grid{grid-template-columns:1fr;gap:16px}.joint-reconcile{padding:20px;gap:24px 16px}.joint-reconcile h2{font-size:1.15rem}.joint-reconcile>div:first-child{grid-column:1/-1}.joint-reconcile strong{font-size:1.2rem}.joint-reconcile .reconcile-save{grid-column:1/-1;border-top:1px solid var(--line)!important;padding-top:18px!important}.joint-reconcile .reconcile-save strong{font-size:1.7rem}.settings-card{padding:20px}.settings-grid{gap:16px}.page-heading>.button{margin-top:20px}.auth-wrap{display:block}.auth-intro{padding:24px;background:none;gap:0}.auth-intro>div,.auth-intro>small{display:none}.auth-intro .brand{font-size:.9rem}.auth-panel{padding:28px 24px 50px;align-items:flex-start}.auth{max-width:460px}.auth h2{font-size:1.9rem}.alert{margin:16px;flex-wrap:wrap}.alert>div{width:100%}#toast{bottom:100px;font-size:.85rem}.hint-box{font-size:.8rem}.import-note{font-size:.8rem}.history-list .button{padding:9px;font-size:.75rem}dialog{padding:22px;max-height:88dvh}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* Magnetar palette from arrcee.com: cream, forest green, coral and amber. */
:root{--bg:#151813;--surface:#20261f;--surface2:#2a3328;--line:#3b4939;--text:#f7f1e3;--muted:#b8c1ae;--accent:#a9d1ae;--ink:#18251c;--danger:#ffa69e;--blue:#a7c7d9;--brand-green:#3d6b4f;--hero:#dcebd5;--hero-text:#1a3524;--sidebar:#1b2119;--active:#344c36;--active-text:#ecf6df;--accent-text:#b6d9b8;--soft:#2d3a2a;--soft-text:#cfe2be;--purple-bg:#383339;--purple-text:#dcc5dc;--shadow:#0004}
:root[data-theme="light"]{color-scheme:light;--bg:#f3ecda;--surface:#fff4df;--surface2:#ebe2cd;--line:#d4c8ad;--text:#1a1814;--muted:#5a5040;--accent:#3d6b4f;--ink:#fff9eb;--danger:#a82c2a;--blue:#4a7ea3;--hero:#3d6b4f;--hero-text:#fff9e8;--sidebar:#ebe2cd;--active:#d6e0c9;--active-text:#254c33;--accent-text:#345d42;--soft:#e3e9d6;--soft-text:#36533c;--purple-bg:#eee0dc;--purple-text:#62423e;--shadow:#453b2214}
html{background:var(--bg)}.sidebar{background:var(--sidebar)}.nav-item.active{background:var(--active);color:var(--active-text)}.brand img{object-fit:contain;background:#fff4df;border:1px solid var(--line);padding:5px;border-radius:11px;width:42px;height:42px}.mobile-brand img{background:#fff4df;padding:4px;border-radius:8px;width:34px;height:34px}.brand b{color:var(--muted)}.household-name{background:var(--surface)}.avatar,.avatar.small{background:var(--soft);border-color:var(--line);color:var(--soft-text)}.sidebar-note,.subtle{color:var(--muted)}.primary{background:var(--accent);color:var(--ink)}.primary:hover{background:var(--brand-green);color:#fff9eb}.secondary:hover,.icon-button:hover,.nav-item:hover{background:var(--surface2);color:var(--text)}.text-button{color:var(--accent-text)}.text-button:hover{color:var(--text)}.balance-card{background:var(--hero);color:var(--hero-text);box-shadow:0 7px 24px var(--shadow)}.balance-card p,.hero-amount small{color:var(--hero-text);opacity:.86}.balance-card.negative{background:#c4423a;color:#fff8ec}.balance-card.negative p,.balance-card.negative small{color:#fff8ec}.pill-button{background:#fff4df;color:#274f36;border:1px solid #fff4df66}.metric-icon,.metric-icon.income{background:var(--soft);color:var(--soft-text)}.metric-icon.outgoing,.metric-icon.personal{background:var(--purple-bg);color:var(--purple-text)}.block-card:hover{background:var(--surface2);border-color:var(--accent)}.block-symbol,.block-card.income .block-symbol{background:var(--soft);color:var(--soft-text)}.block-card.personal .block-symbol,.personal-initial,.personal-summary{background:var(--purple-bg);color:var(--purple-text)}.personal-summary b{color:var(--text)}.tag{background:var(--surface2);border-color:var(--line);color:var(--muted)}.hint-box{border-color:var(--line)}.paid-check{border-color:var(--muted)}.paid-check.checked{background:var(--soft);border-color:var(--accent);color:var(--accent-text)}.transfer-total{background:var(--soft);border-color:var(--line);color:var(--soft-text)}.transfer-total strong,.reconcile-save strong{color:var(--accent-text)}.field>span{color:var(--text)}.auth-intro{background:var(--sidebar)}.auth-intro h1{color:var(--text)}.auth-intro .eyebrow,.auth-intro p,.auth-intro>small{color:var(--muted)}.auth-blocks{color:var(--accent-text)}.auth-blocks span{border-color:var(--line)}dialog{border-color:var(--line)}.mobile-nav{background:var(--sidebar);border-color:var(--line)}.alert{background:var(--surface2);border-color:#d68b2a;color:var(--text)}.alert p{color:var(--muted)}.budget-bar{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:30px;padding-bottom:22px;border-bottom:1px solid var(--line)}.budget-bar label{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.85rem;min-width:0}.budget-bar select{min-width:220px;max-width:340px}.book-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.book-list .section-heading{margin:0 0 20px}.management-actions,.block-tools{display:flex;flex-wrap:wrap;gap:9px;align-items:center}.management-actions .button,.block-tools .button{font-size:.8rem}.block-tools{padding-bottom:18px;margin-bottom:15px;border-bottom:1px solid var(--line)}.month-list{border:1px solid var(--line);border-radius:16px;background:var(--surface);overflow:hidden}.month-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;border-bottom:1px solid var(--line)}.month-row:last-child{border:0}.month-row small{display:block;color:var(--muted);margin-top:4px}.month-row strong{overflow-wrap:anywhere}.management-actions .danger-text{padding:8px}.workspace-toolbar>div{flex-wrap:wrap}.private-card-note{color:var(--muted)}.personal-card:hover{border-color:var(--accent)}.settings-card h2,.book-list h2{overflow-wrap:anywhere}
@media(max-width:760px){.mobile-nav{grid-template-columns:repeat(5,minmax(0,1fr))}.mobile-nav .nav-item{font-size:.65rem}.budget-bar{align-items:stretch;flex-direction:column;gap:10px;margin-bottom:24px;padding-bottom:20px}.budget-bar label{justify-content:space-between}.budget-bar select{flex:1;min-width:0;max-width:100%}.budget-bar>.button{font-size:.8rem;min-height:40px}.book-list{grid-template-columns:1fr}.month-row{align-items:stretch;flex-direction:column;gap:12px;padding:18px}.month-row .management-actions{justify-content:flex-start}.block-tools{gap:7px}.block-tools .button{font-size:.75rem;padding:9px 11px}.top-actions{gap:2px}.hero-amount{font-size:3.4rem}.content{padding-bottom:115px}}
/* Language and first-use guidance */
.language-picker select{width:auto;min-height:40px;padding:8px 26px 8px 10px;font-size:13px;max-width:115px}
.auth .language-picker{display:block;margin-bottom:24px}
.intro-card{padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--surface);margin-bottom:26px;display:flex;gap:20px;flex-wrap:wrap;align-items:center}
.intro-card h2{margin:8px 0}.intro-card p,.plain-help{color:var(--muted);line-height:1.6}.intro-card>div:first-child{flex:1;min-width:220px}.intro-actions{display:flex;flex-direction:column;gap:12px}.intro-steps{flex-basis:100%;display:flex;gap:10px;flex-wrap:wrap}.guide-video{display:block;width:100%;border-radius:12px;margin:14px 0;background:#f3ecda}.guide-step{margin:22px 0}.guide-step p{line-height:1.65}.help-button{padding:8px 12px;min-height:40px}.top-actions{flex-wrap:wrap}
@media(max-width:700px){.topbar{height:auto;min-height:74px;padding:12px 16px;gap:10px;flex-wrap:wrap}.top-actions{gap:8px;margin-left:auto}.top-actions .save-state{font-size:11px}.top-actions .icon-button[data-action="history"]{display:none}.language-picker select{width:114px;max-width:114px;font-size:12px}.help-button{font-size:12px}.intro-card{padding:18px}.intro-actions{width:100%;align-items:stretch}.intro-steps{display:grid;grid-template-columns:1fr;width:100%}.mobile-nav .nav-item{font-size:10px;padding:10px 3px}.mobile-nav .nav-item span{white-space:normal;text-align:center}.management-actions{flex-wrap:wrap}.dialog-body{overflow-wrap:anywhere}}
/* Mobile workspace: quiet defaults, explicit editing and touch-safe reordering. */
.primary-income{background:var(--soft);border-color:var(--accent)}
.primary-payout{background:var(--purple-bg);border-color:var(--purple-text)}
.block-card.hidden-block{border-style:dashed;opacity:.72}
.block-view-controls .hidden-toggle{display:flex;justify-content:space-between;gap:10px;min-width:190px}
.hidden-toggle span{min-width:48px;font-size:.75rem;color:var(--muted)}
.button[aria-pressed="true"]{box-shadow:inset 0 0 0 1px var(--accent);background:var(--soft);color:var(--soft-text)}
.block-settings{margin:0 0 16px;font-size:.85rem;color:var(--muted)}.block-settings .button{margin-top:12px}
.block-tools{justify-content:flex-end;border:0;padding:0;margin:0 0 12px}.dialog-body .block-tools{display:grid;grid-template-columns:1fr;margin:0}.dialog-body .block-tools .button{justify-content:flex-start;min-height:44px}
.compact-blocks{grid-template-columns:1fr;gap:8px}.compact-blocks .block-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;text-align:left;padding:14px 16px;min-height:94px}.compact-blocks .block-card-top{margin:0;grid-column:1;grid-row:1}.compact-blocks .block-symbol{display:none}.compact-blocks h3{margin:0;grid-column:1;grid-row:2;min-height:0}.compact-blocks .block-amount{grid-column:2;grid-row:1/3;align-self:center;margin:0;font-size:1.45rem;white-space:nowrap}.compact-blocks .block-card-footer{display:none}.compact-blocks .tag{max-width:100%;white-space:normal}
.reorder-hint{font-size:.85rem;line-height:1.5;margin-bottom:12px}.reorder-list{display:grid;gap:8px}.reorder-row{display:flex;gap:8px;align-items:center;padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.reorder-row>span{flex:1;min-width:0;overflow-wrap:anywhere;font-size:.9rem}.drag-handle{touch-action:none;user-select:none;cursor:grab;min-width:44px;min-height:48px;border:0;background:var(--surface2);border-radius:8px;color:var(--text);font-size:26px}.reorder-row.dragging{outline:2px solid var(--accent);box-shadow:0 6px 24px var(--shadow)}.reorder-row button:disabled{opacity:.35}.reorder-row .icon-button{min-width:44px}
dialog header{position:sticky;top:-22px;background:var(--surface);z-index:2;padding-block:8px}
@media(max-width:760px){
 .content{padding-top:16px}.page-heading{margin-bottom:16px}.page-heading .eyebrow{display:none}.page-heading h1{font-size:1.5rem}.month-tools{margin-top:14px}.budget-bar{flex-direction:row;align-items:center;padding-bottom:12px;margin-bottom:16px;gap:8px}.budget-bar label{flex:1}.budget-bar>.button{display:none}.budget-bar select{width:100%;font-size:.85rem}.workspace-toolbar{margin-bottom:12px}.workspace-toolbar>p{font-size:.8rem}.workspace-toolbar .block-view-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.workspace-toolbar .button{padding:10px;min-height:44px;font-size:.8rem;white-space:nowrap}.block-view-controls .hidden-toggle{min-width:0;gap:4px}.hidden-toggle span{min-width:0}.detail-heading{display:flex;flex-wrap:wrap;gap:12px}.detail-heading>div{margin:0;width:100%}.detail-title{padding:18px 0}.block-tools .button{min-height:44px}.block-card h3{overflow-wrap:anywhere}.detail-title h2{overflow-wrap:anywhere}.plain-help{font-size:.85rem}
}
/* Personal overview layout and contextual explanations. */
.overview-controls{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-bottom:14px}.info-button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border:0;background:transparent;color:var(--accent-text);width:36px;min-height:44px;font-size:20px;border-radius:10px}.info-button:hover{background:var(--surface2)}.info-button:focus-visible{outline:2px solid var(--accent)}.overview-panels{display:grid;gap:20px}.overview-panel{min-width:0}.overview-panel>.section-heading{margin-top:0}.overview-panel .totals-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:18px 4px}.overview-panel .totals-card>div{display:grid;grid-template-rows:2.5em auto;align-content:start;min-width:0;padding:0 12px;border-bottom:0;border-right:1px solid var(--line)}.overview-panel .totals-card>div:last-child{border-right:0}.overview-panel .totals-card .metric-icon{display:none}.overview-panel .totals-card strong{display:block;text-align:left;margin:8px 0 0;font-size:clamp(1rem,3vw,1.5rem);overflow-wrap:anywhere}.overview-panel .totals-card strong small{display:inline}.overview-panel .totals-card>div>span{font-size:.85rem}.summary-explanation{display:flex;justify-content:flex-end;margin-bottom:-6px}.overview-compact .balance-card{min-height:0;padding:20px}.overview-compact .hero-amount{font-size:2.6rem;margin:12px 0}.overview-compact .balance-bottom{padding-top:12px}.overview-compact .block-grid{grid-template-columns:1fr;gap:8px}.overview-compact .block-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;padding:12px 16px}.overview-compact .block-card-top{margin:0;grid-column:1}.overview-compact .block-symbol,.overview-compact .block-card-footer{display:none}.overview-compact .block-card h3{margin:0;min-height:0;grid-column:1}.overview-compact .block-amount{grid-column:2;grid-row:1/3;align-self:center;margin:0;font-size:1.35rem}.overview-compact .tag{white-space:normal}.layout-row{display:flex;gap:4px;align-items:center;border-bottom:1px solid var(--line);padding:8px 0}.layout-row label{flex:1;display:flex;align-items:center;gap:10px;font-size:.9rem}.layout-row input{appearance:auto;min-height:20px;width:20px;height:20px;accent-color:var(--accent);flex-shrink:0}.layout-row .icon-button{min-width:44px}.layout-row button:disabled{opacity:.3}.budget-bar{justify-content:flex-start}.budget-bar>.button{margin-left:auto}
@media(max-width:760px){.month-tools{gap:6px}.month-tools select{min-width:0;width:0}.budget-bar label{min-width:0}.overview-panel .totals-card>div{padding-inline:9px}.overview-panel .totals-card>div>span{font-size:.78rem}.overview-panel .totals-card strong{font-size:1.2rem}.overview-controls .button{font-size:.8rem}}
/* Hold-to-move keeps normal touch scrolling available until the hold activates. */
.all-blocks .block-card{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:auto}
.all-blocks .block-card.dragging{outline:3px solid var(--accent);transform:scale(.98);box-shadow:0 12px 30px var(--shadow);cursor:grabbing;z-index:2}
.all-blocks.drag-active{cursor:grabbing}.setup-person{min-width:0;border:1px solid var(--line);border-radius:12px;margin:18px 0;padding:16px}.setup-person legend{padding:0 8px;font-weight:600}.setup-preview{background:var(--surface2);border-radius:12px;padding:16px;margin-bottom:16px}.setup-preview p{display:flex;justify-content:space-between;gap:16px;margin-bottom:10px}.setup-preview p:last-child{margin:0}
@media(max-width:760px){.block-view-controls>.button.primary:last-child{grid-column:1/-1}}
/* Groups show the contents of a total without looking like extra allocations. */
.card-inclusion{font-size:.75rem;color:var(--muted);margin-top:6px;overflow-wrap:anywhere}.group-marker{display:inline-block;font-size:.7rem;color:var(--accent-text);margin-top:4px}.compact-blocks .card-inclusion,.overview-compact .card-inclusion{grid-column:1/-1;grid-row:3;margin:2px 0 0}.compact-blocks .group-marker,.overview-compact .group-marker{grid-column:1/-1;grid-row:4}.group-sections{display:grid;gap:10px;margin-top:14px}.expense-group{border:1px solid var(--line);border-radius:12px;background:var(--surface);min-width:0}.expense-group>summary{display:flex;align-items:center;gap:12px;padding:14px;list-style:none;min-height:72px}.expense-group>summary::-webkit-details-marker{display:none}.expense-group>summary::before{content:'›';font-size:24px;color:var(--accent-text);flex-shrink:0}.expense-group[open]>summary::before{transform:rotate(90deg)}.group-heading{flex:1;min-width:0}.group-heading>strong{display:block;font-size:.95rem;overflow-wrap:anywhere}.group-type,.group-heading small{display:block;color:var(--muted);font-size:.72rem}.group-total{font-size:1rem;white-space:nowrap}.group-body{padding:0 14px 14px;border-top:1px solid var(--line)}.group-actions{display:flex;justify-content:space-between;gap:12px;padding:10px 0}.group-actions button{min-height:44px}.group-body>.expense-group{margin-top:10px}.group-private{display:flex;justify-content:space-between;gap:12px;border:1px dashed var(--line);padding:14px;border-radius:12px;color:var(--muted)}.group-body .item-list:empty{display:none}.group-body .list-header{font-size:.65rem}.detail-title .text-button{min-height:36px;text-align:left}.group-body .item-row{grid-template-columns:minmax(0,1fr) 75px 95px 32px;gap:6px}.group-body .icon-button{min-width:32px}
@media(max-width:760px){.block-view-controls>.button.primary:last-child{grid-column:auto}.detail-heading>div{flex-wrap:wrap}.detail-heading>div>.button{flex:1 1 40%;min-height:44px}.expense-group>summary{padding:12px 10px;gap:8px}.group-body{padding:0 8px 8px}.group-body .expense-group .group-body{padding-inline:4px}.group-body .item-row{grid-template-columns:minmax(0,1fr) 76px 30px}.group-heading>strong{font-size:.85rem}.group-total{font-size:.9rem}.group-body .item-amount{font-size:.78rem}.group-body .item-name strong{font-size:.78rem}.group-body .item-name{gap:6px}.group-body .item-account{left:30px}.detail-total{overflow-wrap:anywhere}}

/* Text help: closed, individually expandable topics. */
.guide-step{margin:10px 0;border-bottom:1px solid var(--line);padding:4px 0 12px}.guide-step summary{cursor:pointer;font-weight:650;min-height:44px;padding:10px 0;line-height:1.4}.guide-step p{margin:4px 0 12px;line-height:1.65}.guide-step summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
/* Selection, list filters and read-only patch map. */
.block-filter,.selection-tools,.map-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0}.block-filter [aria-pressed=true]{background:var(--accent);color:var(--bg)}.item-select{flex:0 0 22px;width:22px;height:22px;accent-color:var(--accent)}.selection-tools{padding:10px;border:1px solid var(--line);border-radius:10px}.map-tools h2{flex:1;margin:0;font-size:1.2rem}.connection-scroll{width:100%;height:65vh;min-height:360px;overflow:auto;border:1px solid var(--line);border-radius:16px;background:radial-gradient(var(--line) 1px,transparent 1px);background-size:20px 20px;overscroll-behavior:contain}.connection-canvas{position:relative;transform-origin:top left}.connection-wires{position:absolute;inset:0;pointer-events:none;color:var(--muted)}.connection-wires>path{fill:none;stroke:currentColor;stroke-width:2}.map-node{position:absolute;width:220px;min-height:100px;border:2px solid var(--line);border-radius:12px;background:var(--surface,var(--bg));overflow:hidden;box-shadow:0 4px 10px #0001}.map-node.income{border-color:#669f75}.map-node.expense{border-color:#b17a70}.map-node.personal{border-color:#9984b0}.map-open{width:100%;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:4px;padding:10px 12px;background:transparent;color:var(--text);border:0;cursor:pointer}.map-open strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-open>small{font-size:10px;text-transform:uppercase;color:var(--muted)}.map-collapse{width:100%;border:0;border-top:1px solid var(--line);background:transparent;color:var(--text);padding:6px;font-size:11px;cursor:pointer}.map-open:focus-visible,.map-collapse:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.selection-tools .button{min-height:44px}.map-node .map-open span{font-weight:650}
@media(max-width:600px){.block-filter .button{flex:1;padding:10px}.block-filter [data-action=map]{flex-basis:100%}.selection-tools .button{flex:1}.item-name{min-width:0}.item-name>div{min-width:0;overflow-wrap:anywhere}}
/* Compact names-only map; the name and branch button have separate hit areas. */
.map-node{width:144px;height:44px;min-height:44px;border-width:1px;border-radius:8px;display:flex;align-items:stretch;box-shadow:0 2px 5px #0001}.map-open{flex:1;min-width:0;justify-content:center;padding:4px 7px;gap:0;height:42px}.map-open strong{font-size:12px;line-height:16px;font-weight:600;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;overflow-wrap:anywhere}.map-collapse{flex:0 0 28px;width:28px;padding:0;border:0;border-left:1px solid var(--line);font-size:18px;height:42px}.connection-wires>path{stroke-width:1.25}.connection-scroll{min-height:300px;height:62vh}.map-tools{gap:6px}.map-tools .button{padding:8px 12px}.map-tools h2{font-size:1rem}

/* Keep zoom controls together at every width. */
.map-zoom{display:flex;align-items:center;gap:6px;flex:0 0 auto;white-space:nowrap}.map-zoom .icon-button{flex:0 0 44px;width:44px;height:44px}.map-zoom .text-button{min-width:54px;text-align:center;padding:8px 4px}.map-tools h2{min-width:0}.map-tools>[data-action="map-help"]{flex:0 0 44px}
@media(max-width:600px){.map-tools{display:grid;grid-template-columns:auto minmax(0,1fr) 44px;gap:8px}.map-tools h2{line-height:1.25}.map-zoom{grid-column:1/-1;justify-self:end}.map-tools>[data-action="map-close"]{font-size:13px;padding:8px}.map-tools>[data-action="map-help"]{width:44px;height:44px}}
/* Default-closed block workspace controls. */
.workspace-options{border:1px solid var(--line);border-radius:12px;margin:0 0 16px;background:var(--surface)}.workspace-options>summary{display:flex;align-items:center;gap:12px;cursor:pointer;min-height:48px;padding:10px 14px;font-weight:600;list-style:none}.workspace-options>summary::-webkit-details-marker{display:none}.workspace-options>summary>span:first-child{flex:1}.workspace-options>summary::after{content:'⌄';font-size:20px}.workspace-options[open]>summary::after{content:'⌃'}.workspace-options>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:12px}.workspace-options-body{padding:0 14px 14px;border-top:1px solid var(--line)}.workspace-options-body .month-tools{display:flex;margin-top:14px;min-width:0}.workspace-options-body .month-tools select{min-width:0;flex:1;width:0}.workspace-options-body .workspace-toolbar{margin:12px 0}.workspace-options-body .reorder-hint{margin-bottom:0}.workspace-options-body .block-settings{margin:12px 0}
/* Consistent type cues, independent filters and account controls. */
:root{--block-tint:#23362b;--group-tint:#243442;--pot-tint:#3c3024;--block-border:#6f9478;--group-border:#7198b5;--pot-border:#b19166}
:root[data-theme="light"]{--block-tint:#e8eedf;--group-tint:#e5edf3;--pot-tint:#f7ead8;--block-border:#718d70;--group-border:#7593ab;--pot-border:#b48d59}
.block-card.kind-blocks,.map-node.kind-blocks{background:var(--block-tint);border-color:var(--block-border)}.block-card.kind-groups,.map-node.kind-groups{background:var(--group-tint);border-color:var(--group-border)}.block-card.kind-pots,.map-node.kind-pots{background:var(--pot-tint);border-color:var(--pot-border)}
.block-card .group-marker{font-size:12px;line-height:1.4;font-weight:650;color:var(--text);opacity:.85}.hidden-toggle{font-weight:600;justify-content:center}.workspace-options>summary::after{content:'';display:block;width:10px;height:10px;flex:0 0 10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin:0 3px 5px}.workspace-options[open]>summary::after{content:'';transform:rotate(225deg);margin:5px 3px 0}
.account-actions{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}.signout-button{white-space:nowrap;min-height:40px;padding:8px 12px}.block-filter [data-filter]{min-width:0}.block-filter [aria-pressed=true]{outline:2px solid var(--accent);outline-offset:1px}
@media(max-width:600px){.top-actions .account-actions{flex-basis:100%;justify-content:flex-end}.top-actions .language-picker{margin:0}.block-view-controls .hidden-toggle{font-size:14px;padding:10px;white-space:normal}.block-filter [data-filter]{padding:10px 5px}.block-filter{gap:10px}}

/* Softer type tints and one-row mobile toolbars. */
:root{--block-tint:#222b24;--group-tint:#23292e;--pot-tint:#2d2822;--block-border:#586a58;--group-border:#596974;--pot-border:#786b58}
:root[data-theme="light"]{--block-tint:#f0f0e2;--group-tint:#eef0eb;--pot-tint:#f6eedf;--block-border:#aab59d;--group-border:#adb9bc;--pot-border:#c8b99e}
.help-button{font-size:18px;width:40px;padding:0}.signout-button .icon{width:18px}
@media(max-width:760px){
.topbar{display:flex;flex-wrap:nowrap;gap:4px;padding:10px 12px;min-height:64px;height:auto}
.topbar .mobile-brand{font-size:0;gap:0;flex:0 0 32px}.topbar .mobile-brand img{width:32px;height:32px;margin:0}
.topbar .top-actions{flex:1;min-width:0;gap:2px;flex-wrap:nowrap;justify-content:flex-end;margin:0}
.top-actions .account-actions{flex:0 1 auto;gap:2px;min-width:0}
.top-actions .language-picker select{width:82px;max-width:82px;min-height:44px;padding:8px 16px 8px 6px;font-size:12px}
.top-actions .signout-button{width:40px;min-width:40px;height:44px;padding:0;background:transparent;border-color:transparent}
.signout-button span{display:none}.top-actions .help-button,.top-actions .icon-button{width:40px;height:44px;min-height:44px;flex:0 0 40px}
.top-actions .help-button{background:transparent;border-color:transparent}
.top-actions .save-state{font-size:10px;max-width:48px;line-height:1.2}.top-actions [data-action="history"]{display:none}
.map-tools{display:flex;flex-wrap:nowrap;gap:2px}.map-tools h2{font-size:12px;line-height:1.2;flex:1;min-width:0}
.map-tools>[data-action="map-close"]{width:36px;min-width:36px;min-height:44px;padding:0;font-size:19px}
.map-tools>[data-action="map-help"]{flex:0 0 36px;width:36px;height:44px}
.map-zoom{gap:0;grid-column:auto}.map-zoom .icon-button{width:36px;height:44px;flex:0 0 36px}.map-zoom .text-button{font-size:12px;min-width:38px;justify-content:center;padding:8px 0}
}

.top-actions [data-action="theme"]{font-size:20px}

/* Calm help header: initial focus is on the title; keyboard close focus stays visible. */
dialog header{top:0;gap:12px;align-items:flex-start}
dialog header .icon-button{margin:0;flex:0 0 44px;width:44px;height:44px;border:0;background:transparent}
dialog header .icon-button:focus-visible{outline:2px solid var(--accent);outline-offset:-5px}
dialog header h2[tabindex="-1"]:focus{outline:none}
@media(max-width:600px){.compact-blocks .block-amount,.overview-compact .block-amount{font-size:1.35rem}.overview-panel .totals-card strong{font-size:clamp(.85rem,3.7vw,1.2rem)}}

.conversion-preview p{display:flex;flex-direction:column;gap:6px;padding:10px 0;border-bottom:1px solid var(--line)}

/* Mobile brand and editable workspace name */
.mobile-brand-name{display:block;line-height:1.2;letter-spacing:1px;font-weight:750;font-size:11px;white-space:nowrap}
.mobile-brand-name b{display:block;font-size:10px;letter-spacing:2.2px;font-weight:500}
.household-name strong,.breadcrumb>span:first-child{overflow-wrap:anywhere}
@media(max-width:760px){
.topbar .mobile-brand{font-size:11px;gap:6px;flex:0 0 auto}
.topbar .mobile-brand img{width:28px;height:28px}
.topbar .top-actions{gap:0}
}
@media(max-width:360px){.topbar .save-state{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}

/* Separate account entry choices from the sign-in action. */
.auth #join-link,.auth #register-link{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;padding:12px 18px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--accent-text);font:inherit;font-weight:600;text-align:center;line-height:1.4;white-space:normal;box-sizing:border-box;margin:12px 0 0}
.auth #join-link{margin-top:24px}
.auth #join-link:hover,.auth #register-link:hover{background:var(--soft);border-color:var(--accent)}
.auth #join-link:focus-visible,.auth #register-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

.verification-wrap{min-height:100dvh;display:grid;place-items:center;padding:32px 20px;background:var(--bg);box-sizing:border-box}
.verification-card{width:100%;max-width:480px;padding:32px;border:1px solid var(--line);border-radius:24px;background:var(--surface);box-sizing:border-box}
.verification-card .brand{margin-bottom:32px}.verification-card h1{font-size:clamp(26px,6vw,36px);line-height:1.15;margin:0 0 18px}
.verification-card p{font-size:16px;line-height:1.6;color:var(--muted);margin:0 0 18px}.verification-card .verification-hint{font-size:14px}
.verification-actions{display:grid;gap:12px;margin-top:24px}.verification-actions .button{min-height:48px;white-space:normal}
@media(max-width:480px){.verification-wrap{align-items:start;padding:28px 16px}.verification-card{padding:24px}}

.context-tip{position:relative;border:1px solid currentColor;border-radius:16px;padding:14px 46px 14px 16px;margin:12px 0 20px;max-width:720px}.context-tip p{margin:0 0 10px}.tip-close{position:absolute;right:6px;top:6px}.tip-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tip-actions button{min-height:44px}.budget-bin{margin-top:24px}.budget-bin>summary{font-size:1.2rem;font-weight:650;cursor:pointer;padding:14px 0}.budget-bin .management-actions{flex-wrap:wrap}#toast .button{min-height:44px;margin-left:8px}
@media(max-width:600px){.context-tip{padding:12px 48px 12px 14px;margin:8px 0 14px;border-radius:14px}.tip-actions{gap:4px}.tip-actions .button{width:100%;min-height:44px}.tip-actions .text-button{min-height:44px;padding:8px 10px}.budget-bin .month-row{align-items:flex-start;gap:8px}.budget-bin .management-actions{gap:4px}}
.empty-month-state{max-width:760px;margin:clamp(20px,7vh,64px) auto;padding:clamp(20px,5vw,40px)}.empty-month-state h1{margin:8px 0 12px}.empty-month-state>p{max-width:52ch;color:var(--muted);line-height:1.6}.empty-month-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.empty-month-actions button{min-height:48px}
@media(max-width:600px){.empty-month-state{margin:12px 0;padding:22px 18px}.empty-month-actions{display:grid;grid-template-columns:1fr}.empty-month-actions button{width:100%}}
#toast.show{pointer-events:auto}

/* Consistent management controls and month-specific item inclusion. */
.button.danger-outline{background:var(--surface);color:var(--danger,#a13a32);border:1px solid var(--line);font-weight:600;min-height:44px}
.button.danger-outline:hover{border-color:currentColor}
.management-actions{align-items:stretch}
.management-actions>.button{min-height:44px;justify-content:center}
.months-heading{align-items:center}
.months-heading>.button{flex-shrink:0;white-space:nowrap}
.item-skipped .item-name strong,.item-skipped .item-amount{color:var(--muted);text-decoration:line-through}
.skip-label{color:var(--muted);font-size:.75rem}
.item-skip-action{grid-column:1/-1;display:flex;justify-content:flex-end}
.item-skip-action>.button{font-size:.75rem;min-height:44px;padding:6px 12px}
.template-preview>li{margin-block:12px}.template-preview ul{padding-left:20px;font-size:.85rem;color:var(--muted)}
@media(max-width:760px){
 .management-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:8px}
 .management-actions>.button{width:100%;padding:10px 8px;min-width:0;font-size:.8rem;white-space:normal;text-align:center}
 .months-heading{flex-direction:column;align-items:stretch;gap:12px}
 .months-heading>.button{align-self:flex-start}
 .budget-bin .month-row{align-items:stretch}
}

/* Compact item grid: name, amount, power and options. Metadata only when useful. */
.tidy-items .tidy-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto) 92px;gap:8px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.tidy-name{display:flex;gap:6px;align-items:center;min-width:0}.tidy-name>div{min-width:0}.tidy-name strong{font-size:.9rem;display:block;overflow-wrap:anywhere}
.tidy-name small{display:block;font-size:.7rem;color:var(--muted)}.item-state .icon{width:12px;height:12px}
.tidy-amount{text-align:right;font-size:.9rem;overflow-wrap:anywhere;min-width:0}.tidy-amount small{font-size:.7rem}
.tidy-actions{display:flex;gap:4px}.item-icon{width:44px;height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:10px;background:transparent;color:var(--muted);padding:0}
.item-icon .icon{width:18px;height:18px}.item-icon.is-on{color:var(--accent-text);background:var(--soft)}.item-icon.is-off{color:var(--muted);border-style:dashed}
.item-icon:hover{border-color:var(--accent)}.amount-disabled .tidy-name strong,.amount-disabled .tidy-amount{color:var(--muted);text-decoration:line-through}
.tidy-note{grid-column:1/-1;font-size:.73rem;line-height:1.35;margin:0;overflow-wrap:anywhere}
.item-options{display:grid;gap:10px;margin-top:16px}.item-options .button{justify-content:flex-start}
.detail-heading{position:relative;padding-right:52px}.detail-heading .delete-entity{position:absolute;right:0;top:0;color:var(--danger,#a13a32)}
.detail-bottom{display:block;line-height:1.5;padding-top:16px}.detail-bottom>span{display:block}
@media(max-width:760px){.tidy-items .tidy-item{gap:5px;grid-template-columns:minmax(0,1fr) minmax(0,auto) 88px;padding:10px 0}.tidy-actions{gap:0}.tidy-name strong,.tidy-amount{font-size:.78rem}.tidy-name small,.tidy-amount small{font-size:.65rem}.detail-heading{padding-right:0}.detail-heading>.text-button{margin-right:52px}.group-body .tidy-item{grid-template-columns:minmax(0,1fr) minmax(0,auto) 88px}.detail-total{white-space:normal}}

/* My Magnetar-style direct action panel. Small faces, stable two-by-two grid. */
.tidy-items .tidy-item,.group-body .tidy-items .tidy-item{grid-template-columns:minmax(0,1fr) 68px;gap:3px 12px;padding:8px 0;align-items:center}
.tidy-name{grid-column:1;grid-row:1;align-self:end}.tidy-amount{grid-column:1;grid-row:2;text-align:left;align-self:start;font-size:.82rem;font-weight:500;color:var(--muted)}
.tidy-actions{grid-column:2;grid-row:1/4;display:grid;grid-template-columns:repeat(2,32px);gap:4px;align-self:center}
.tidy-actions .item-icon{width:32px;height:32px;min-width:32px;min-height:32px;border-radius:8px;background:transparent;color:var(--text);padding:0}
.tidy-actions .item-icon .icon{width:17px;height:17px;stroke-width:1.8}
.tidy-actions .is-paid{background:var(--soft);color:var(--accent-text)}.tidy-actions .is-off{border-style:dashed;color:var(--muted)}
.tidy-actions .item-delete{color:var(--danger,#a13a32)}.tidy-actions .item-icon:disabled{cursor:default;opacity:.35}
.tidy-note{grid-column:1;grid-row:3;font-size:.7rem;line-height:1.3}.tidy-name strong{font-size:.85rem}
.detail-title{padding-block:16px}.linked-heading{margin-top:18px;margin-bottom:8px}.detail-total{margin-top:10px}
@media(max-width:760px){.detail-title{padding-block:12px}.detail-title h2{font-size:1.25rem}.detail-title p{margin-top:6px}.detail-total{font-size:1.7rem;margin-top:12px}.detail-total>small:last-child{font-size:.7rem}.tidy-items .tidy-item,.group-body .tidy-items .tidy-item{gap:3px 10px;padding:7px 0}.tidy-name strong{font-size:.82rem}.tidy-amount{font-size:.78rem}}

/* Direct block actions use the same compact outline controls as item actions. */
.direct-block-tools{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.block-action-grid{display:grid;grid-template-columns:repeat(3,34px);gap:6px}
.block-action-grid .item-icon{width:34px;height:34px;min-width:34px;min-height:34px;padding:7px;border-radius:8px;background:transparent}
.block-action-grid .icon{width:18px;height:18px}
.block-action-grid [aria-pressed="true"]{background:var(--soft)}
.block-action-grid button:disabled{opacity:.35;cursor:default}
.direct-block-tools>small{flex-basis:100%;text-align:right}
.sharing-buttons{display:flex;gap:10px;flex-wrap:wrap}
.sharing-members .member-row{gap:10px;flex-wrap:wrap}
.sharing-members .member-row strong{flex:1;min-width:0;overflow-wrap:anywhere}
#invite-code{width:100%;min-width:0;font-family:monospace}
@media(max-width:600px){.sharing-buttons>.button{flex:1 1 140px}.direct-block-tools{gap:8px}.detail-heading>div{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-heading>div>.button:last-child{grid-column:auto}}

/* Magnetar compact budget/month grids v1 */
.book-list .compact-book,.month-list .compact-month{display:grid;grid-template-columns:minmax(0,1fr) 74px;gap:14px;align-items:center}
.management-copy{min-width:0;overflow-wrap:anywhere}
.compact-book .management-copy h2{margin:0 0 6px;font-size:1.1rem}
.compact-book .management-copy p{margin:0 0 8px;font-size:.8rem}
.compact-book .budget-invite{display:flex;width:max-content;max-width:100%;gap:6px;margin-top:10px;padding:6px 10px;min-height:34px;font-size:.78rem}
.budget-invite .icon{width:17px;height:17px}
.management-icon-grid{display:grid;grid-template-columns:repeat(2,34px);gap:6px;align-self:center}
.management-icon-grid .item-icon{width:34px;height:34px;min-width:34px;min-height:34px;padding:7px;border-radius:8px;background:transparent}
.management-icon-grid .icon{width:18px;height:18px}
.month-list .compact-month{padding:16px}
.compact-month .management-copy>strong{font-size:.95rem}
.compact-month .management-copy>small{font-size:.75rem}
@media(max-width:600px){.book-list .compact-book{padding:16px}.month-list .compact-month{gap:10px;padding:14px}.compact-book .management-copy h2{font-size:1rem}}

/* Magnetar single-row detail toolbar v1 */
.detail .direct-block-tools{display:block;margin-bottom:18px}
.detail .block-action-grid{display:flex;width:100%;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:2px}
.detail .block-action-grid .item-icon{flex:0 1 32px;width:32px;min-width:24px;max-width:32px;height:34px;min-height:34px;padding:3px;border-radius:8px}
.detail .block-action-grid .icon{width:18px;height:18px;flex-shrink:0}
.detail .direct-block-tools>small{display:block;margin-top:8px;text-align:left}
.detail .detail-heading{display:block;margin-bottom:18px}
.detail .detail-heading>div{width:100%}
.budgets-heading{flex-direction:column;align-items:stretch;gap:20px}
.budgets-heading h1{margin-bottom:0}
.budgets-heading>.sharing-buttons{margin-top:0}

/* Magnetar invitation and heading spacing v1 */
.auth #join-mode{display:flex;width:100%;margin-top:12px}
.settings-card>button[data-share-book],
.settings-card>button[data-action="accept-invitation"]{display:flex;width:100%;white-space:normal}
.settings-card>button[data-share-book]+button[data-action="accept-invitation"]{margin-top:12px}
.page-heading.budgets-heading{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:24px}
.page-heading.budgets-heading>.sharing-buttons{margin-top:0;gap:12px}
