:root{--ink:#1b2926;--muted:#78847f;--line:#e8edeb;--paper:#f8faf8;--white:#fff;--green:#174d43;--green2:#24685a;--mint:#e8f3ed;--lime:#cce2b0;--amber:#f5e9ca;--rose:#f8e4df;--shadow:0 18px 50px #183b3214;--radius:18px}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:14px}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh}.sidebar{width:252px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--line);padding:25px 17px 15px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;gap:11px;align-items:center;padding:0 10px 27px}.brand-mark{height:38px;width:38px;border-radius:13px;background:var(--green);color:#d9edbd;display:grid;place-items:center;font:800 19px Manrope;letter-spacing:-2px}.brand strong,.brand small{display:block}.brand strong{font:800 16px Manrope;letter-spacing:-.6px}.brand small{font-size:10px;color:var(--muted);margin-top:2px}.family-picker{height:58px;background:#f7f9f7;border:1px solid #edf1ee;border-radius:14px;padding:8px 10px;display:flex;align-items:center;gap:9px;margin:0 4px 22px}.avatar{width:33px;height:33px;border-radius:50%;background:#e8eee8;color:#426252;display:grid;place-items:center;font:700 13px Manrope;flex:0 0 auto}.family-avatar{background:#d9e8d4;color:#356148}.family-label{min-width:0;flex:1}.family-label small,.family-label strong{display:block}.family-label small{font-size:10px;color:var(--muted)}.family-label strong{font:700 12px Manrope;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chevron{color:#849089}.main-nav{display:flex;flex-direction:column;gap:3px}.nav-caption{font:700 9px Manrope;letter-spacing:1.2px;color:#a0aaa4;padding:0 12px 7px}.nav-caption-spaced{margin-top:19px}.nav-link{display:flex;align-items:center;gap:12px;padding:10px 12px;color:#69766f;border-radius:11px;font-weight:500;font-size:13px;transition:.18s}.nav-link:hover{background:#f5f8f5;color:var(--green)}.nav-link.active{background:#eaf3ed;color:#174d43;font-weight:700}.nav-icon{width:18px;text-align:center;font-size:16px;line-height:1;color:#87958d}.active .nav-icon{color:#27614c}.sidebar-bottom{margin-top:auto}.principle-card{background:#f4f7ef;border-radius:14px;padding:13px 14px;margin:0 3px 12px;position:relative}.principle-spark{color:#77934e;font-size:16px}.principle-card p{font:700 12px Manrope;margin:8px 0 4px}.principle-card small{font-size:10px;color:#75816f;line-height:1.5;display:block}.profile{border-top:1px solid var(--line);margin-top:10px;padding:14px 5px 0;display:flex;align-items:center;gap:9px}.profile-copy{flex:1}.profile-copy strong,.profile-copy small{display:block}.profile-copy strong{font-size:12px}.profile-copy small{font-size:10px;color:var(--muted);margin-top:3px}.icon-button{border:0;background:transparent;color:#7c8983;width:32px;height:32px;border-radius:10px;font-size:20px;display:grid;place-items:center}.icon-button:hover{background:#f0f4f1;color:var(--ink)}.main-area{margin-left:252px;min-height:100vh;padding:0 44px 50px}.topbar{height:75px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.breadcrumb{display:flex;align-items:center;gap:10px;color:#8b9690;font-size:12px}.breadcrumb strong{color:#34433c;font-weight:600}.crumb-slash{color:#c3cbc6}.topbar-actions{display:flex;align-items:center;gap:21px}.today-label{color:#89938e;font-size:11px}.button{border:0;border-radius:11px;padding:12px 16px;font-size:12px;font-weight:700;display:inline-flex;gap:9px;align-items:center;justify-content:center;transition:transform .16s,background .16s}.button:hover{transform:translateY(-1px)}.button-primary{background:var(--green);color:white;box-shadow:0 5px 12px #174d4322}.button-primary:hover{background:#216455}.button-small{padding:10px 13px;font-size:11px}.button-quiet{background:white;border:1px solid var(--line);color:#57645e}.local-note{display:flex;align-items:center;gap:7px;color:#97a19b;font-size:10px;padding:12px 0 4px}.note-dot{width:6px;height:6px;border-radius:50%;background:#93b495}.view-root{max-width:1250px;margin:0 auto}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;margin:20px 0 20px}.eyebrow{font:700 9px Manrope;letter-spacing:1.5px;color:#819088}.page-heading h1{font:800 clamp(23px,2.5vw,30px) Manrope;letter-spacing:-1.2px;margin:6px 0 5px}.page-heading p{margin:0;color:#86928b;font-size:12px}.period-control{border:1px solid var(--line);background:white;padding:9px 12px;border-radius:10px;color:#53615a;font-size:11px;font-weight:600}.overview-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:14px}.card{background:white;border:1px solid #edf0ed;border-radius:var(--radius);padding:19px;box-shadow:0 2px 10px #213c3006}.balance-card{background:var(--green);color:white;border:none;position:relative;overflow:hidden;min-height:179px}.balance-card:after{content:'';position:absolute;width:210px;height:210px;border:1px solid #ffffff18;border-radius:50%;right:-84px;top:-78px;box-shadow:0 0 0 24px #ffffff08,0 0 0 52px #ffffff05}.balance-top{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1}.card-label{font-size:11px;color:#8b9891;font-weight:600}.balance-card .card-label{color:#d6e6df}.info-dot{border:1px solid #ffffff66;border-radius:50%;width:17px;height:17px;display:grid;place-items:center;font-size:10px;color:#daebe4}.balance-value{font:700 30px Manrope;letter-spacing:-1px;margin:19px 0 6px;position:relative;z-index:1}.balance-meta{font-size:10px;color:#c1d8cf;position:relative;z-index:1}.balance-bottom{display:flex;gap:19px;margin-top:17px;position:relative;z-index:1}.balance-bottom span{font-size:10px;color:#c3dad0}.balance-bottom strong{color:white;font-size:11px;margin-left:5px}.metric-card{min-height:179px;display:flex;flex-direction:column}.metric-head{display:flex;align-items:center;justify-content:space-between}.metric-symbol{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:#eef5ee;color:#3c795c;font-weight:700}.metric-symbol.amber{background:#fbf4e2;color:#af8741}.metric-symbol.lilac{background:#f0edf8;color:#796aa1}.metric-card .card-label{margin-top:14px}.metric-value{font:700 22px Manrope;letter-spacing:-.5px;margin:7px 0 4px}.metric-foot{font-size:10px;color:#97a19b}.metric-foot.good{color:#478160}.metric-foot.warn{color:#b58444}.section-row{display:grid;grid-template-columns:1.35fr 1fr;gap:14px;margin-top:14px}.section-card{background:white;border:1px solid #edf0ed;border-radius:var(--radius);padding:19px}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.section-title h2{font:700 14px Manrope;margin:0;letter-spacing:-.25px}.text-link{color:#2d765a;background:none;border:0;font-size:10px;font-weight:700;padding:5px}.budget-row{display:grid;grid-template-columns:1.1fr 1fr auto;gap:11px;align-items:center;padding:12px 0;border-top:1px solid #f0f3f0}.budget-row:first-of-type{border-top:0}.budget-name{font-size:11px;font-weight:600}.budget-sub{font-size:9px;color:#9aa39e;margin-top:4px}.progress-track{height:6px;background:#eff2ef;border-radius:20px;overflow:hidden}.progress-fill{height:100%;background:#8eb18c;border-radius:20px}.progress-fill.over{background:#d59873}.budget-amount{text-align:right;font-size:10px;font-weight:700}.budget-amount small{display:block;color:#9aa39e;font-weight:400;margin-top:4px}.commitment-list,.activity-list{display:flex;flex-direction:column}.commitment-item,.activity-item{display:flex;align-items:center;gap:11px;padding:10px 0;border-top:1px solid #f0f3f0}.commitment-item:first-child,.activity-item:first-child{border-top:0;padding-top:0}.date-chip{width:40px;height:43px;background:#f4f7f3;border-radius:10px;text-align:center;display:flex;flex-direction:column;justify-content:center;color:#425248;flex:0 0 auto}.date-chip strong{font:700 14px Manrope}.date-chip small{font-size:8px;color:#89958c;text-transform:uppercase}.item-copy{flex:1;min-width:0}.item-copy strong{font-size:11px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-copy small{font-size:9px;color:#97a19b;display:block;margin-top:4px}.item-amount{font-size:11px;font-weight:700;text-align:right}.activity-icon{width:31px;height:31px;border-radius:10px;background:#eef4ee;color:#3a785a;display:grid;place-items:center;font-size:14px;flex:0 0 auto}.activity-icon.expense{background:#fbefeb;color:#bb735c}.activity-icon.card{background:#f1eff8;color:#7b70a0}.activity-icon.income{background:#eaf4ec;color:#49815a}.activity-icon.transfer{background:#eef2f7;color:#697c98}.empty-state{padding:24px 8px;text-align:center;color:#929d96;font-size:11px;line-height:1.6}.empty-icon{width:36px;height:36px;border-radius:12px;background:#f3f6f2;color:#72917b;margin:0 auto 9px;display:grid;place-items:center;font-size:17px}.quick-actions{display:flex;gap:8px;flex-wrap:wrap}.quick-action{border:1px solid var(--line);background:white;border-radius:10px;padding:9px 11px;color:#59675f;font-size:10px;font-weight:600}.quick-action:hover{border-color:#bdd3c2;color:#23604d}.wide-card{margin-top:14px}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;text-align:left;min-width:540px}.data-table th{font:700 9px Manrope;color:#9aa49e;letter-spacing:.5px;padding:9px 8px;border-bottom:1px solid var(--line)}.data-table td{font-size:11px;padding:12px 8px;border-bottom:1px solid #f0f3f0}.data-table tr:last-child td{border-bottom:0}.table-primary{font-weight:600}.table-secondary{display:block;font-size:9px;color:#9aa49e;margin-top:4px}.pill{display:inline-flex;padding:5px 8px;border-radius:20px;font-size:9px;font-weight:600;background:#eef4ee;color:#547560}.pill.pending{background:#fbf3e3;color:#a98449}.pill.neutral{background:#f1f3f1;color:#78847d}.category-stack{display:flex;flex-direction:column;gap:12px}.category-line{display:grid;grid-template-columns:120px 1fr 85px;align-items:center;gap:12px}.category-line strong{font-size:10px}.category-line .progress-track{height:8px}.category-line .value{text-align:right;font-size:10px;color:#6d7a72}.form-impact{display:flex;gap:9px;align-items:flex-start;background:#f4f7f1;color:#60725f;border-radius:10px;padding:11px 12px;font-size:10px;line-height:1.5;margin-top:15px}.impact-icon{color:#73935f}.entry-dialog,.setup-dialog{border:0;border-radius:22px;padding:0;box-shadow:0 25px 80px #0b251e36;color:var(--ink)}.entry-dialog{width:min(620px,calc(100% - 26px));max-height:92vh;overflow:auto}.entry-dialog::backdrop,.setup-dialog::backdrop{background:#0d211bb3;backdrop-filter:blur(4px)}.entry-dialog form{padding:25px}.dialog-top{display:flex;align-items:flex-start;justify-content:space-between}.dialog-top h2{font:800 22px Manrope;letter-spacing:-.7px;margin:5px 0 18px}.close-dialog{font-size:23px}.type-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:2px 0 19px}.type-option{border:1px solid var(--line);background:#fff;color:#718078;border-radius:10px;padding:10px 5px;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:9px;font-weight:600}.type-option span{font-size:15px}.type-option.selected{border-color:#83aa8e;background:#eff6ef;color:#24583f}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field{display:flex;flex-direction:column;gap:7px;color:#617067;font-size:10px;font-weight:600}.field>span small{color:#a4ada7;font-weight:400;margin-left:3px}.field input,.field select{width:100%;height:40px;padding:0 11px;border:1px solid #e5ebe6;border-radius:9px;outline:none;background:#fff;color:#28372f;font-size:11px}.field input:focus,.field select:focus{border-color:#82aa8d;box-shadow:0 0 0 3px #e9f2e9}.field-wide{grid-column:1/-1}.currency-input{position:relative}.currency-input>span{position:absolute;left:11px;top:13px;color:#9aa49e;font-size:10px}.currency-input input{padding-left:34px}.hidden{display:none!important}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.setup-dialog{width:min(430px,calc(100% - 26px));max-height:94vh;overflow:auto}.setup-dialog form{padding:30px}.setup-logo{margin-bottom:17px}.setup-dialog h1{font:800 24px/1.18 Manrope;letter-spacing:-.8px;margin:9px 0}.setup-dialog p{font-size:11px;line-height:1.65;color:#7f8a83;margin:0 0 20px}.setup-dialog .field{margin:11px 0}.setup-submit{width:100%;margin-top:11px}.setup-footnote{display:block;text-align:center;color:#9aa49e;font-size:9px;margin-top:13px}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,20px);background:#183f36;color:white;padding:12px 18px;border-radius:12px;font-size:11px;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:.25s;z-index:10}.toast.show{opacity:1;transform:translate(-50%,0)}.two-column{display:grid;grid-template-columns:1.4fr 1fr;gap:14px}.summary-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}.summary-mini{background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px}.summary-mini span{font-size:10px;color:#8e9992}.summary-mini strong{display:block;font:700 19px Manrope;margin-top:7px}.bill-category-row{display:flex;align-items:center;justify-content:space-between;padding:11px 0;border-top:1px solid #f0f3f0;font-size:11px}.bill-category-row:first-of-type{border-top:0}.bill-category-row strong{font-size:11px}.empty-page{background:#fff;border:1px solid var(--line);border-radius:18px;padding:35px;text-align:center;color:#87938c;font-size:12px}.settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.setting-row{display:flex;gap:10px;align-items:center;padding:11px 0;border-top:1px solid #f0f3f0}.setting-row:first-of-type{border-top:0}.setting-row>div{flex:1}.setting-row strong{display:block;font-size:11px}.setting-row small{display:block;font-size:9px;color:#99a39d;margin-top:4px}.inline-form{display:flex;gap:8px;margin-top:12px}.inline-form input{height:38px;border:1px solid var(--line);border-radius:9px;padding:0 10px;min-width:0;flex:1}.inline-form button{border:0;background:var(--green);color:white;border-radius:9px;padding:0 12px;font-size:11px;font-weight:700}.hint{font-size:10px;color:#929d96;line-height:1.6}.muted{color:#929d96}.amount-positive{color:#39815a}.amount-negative{color:#af6654}
@media(max-width:1080px){.sidebar{width:220px}.main-area{margin-left:220px;padding:0 25px 40px}.overview-grid{grid-template-columns:1.3fr 1fr}.overview-grid .metric-card:last-child{grid-column:2}.section-row{grid-template-columns:1fr}.today-label{display:none}}
@media(max-width:720px){.sidebar{width:auto;height:66px;inset:auto 0 0;border-right:0;border-top:1px solid var(--line);padding:5px 8px;background:#fff}.brand,.family-picker,.nav-caption,.sidebar-bottom{display:none}.main-nav{height:100%;flex-direction:row;justify-content:space-around;align-items:center;gap:0}.nav-link{flex-direction:column;gap:3px;padding:5px 8px;font-size:8px;min-width:51px}.nav-icon{font-size:16px}.main-nav .nav-link:nth-of-type(n+6){display:none}.main-area{margin-left:0;padding:0 16px 90px}.topbar{height:61px}.topbar-actions{gap:0}.button-small{padding:9px 10px}.breadcrumb{font-size:10px}.local-note{font-size:9px}.page-heading{align-items:flex-start;gap:10px;flex-direction:column;margin:18px 0 15px}.page-heading h1{font-size:24px}.overview-grid{grid-template-columns:1fr 1fr;gap:9px}.balance-card{grid-column:1/-1;min-height:165px}.overview-grid .metric-card:last-child{grid-column:auto}.metric-card{min-height:150px;padding:14px}.metric-value{font-size:19px}.section-row{margin-top:9px;gap:9px}.section-card,.card{padding:15px}.two-column{grid-template-columns:1fr}.summary-strip{gap:7px}.summary-mini{padding:10px}.summary-mini strong{font-size:15px}.settings-grid{grid-template-columns:1fr}.type-picker{grid-template-columns:repeat(2,1fr)}.entry-dialog form,.setup-dialog form{padding:20px}.form-grid{gap:10px}.category-line{grid-template-columns:82px 1fr 70px;gap:8px}.category-line strong,.category-line .value{font-size:9px}}
.access-screen{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:18px;background:radial-gradient(circle at 20% 20%,#e6f0e3 0,transparent 35%),linear-gradient(135deg,#f7faf6,#edf3ed)}.access-screen.hidden{display:none}.access-card{width:min(430px,100%);padding:30px;background:#fff;border:1px solid #e9efea;border-radius:22px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px}.access-card>.brand-mark{margin-bottom:5px}.access-card h1{font:800 24px/1.18 Manrope;letter-spacing:-.8px;margin:0}.access-card>p{font-size:11px;line-height:1.65;color:#7f8a83;margin:0 0 5px}.access-submit{width:100%;margin-top:4px}.access-switch{text-align:center;margin-top:2px}.access-error{min-height:14px;color:#ae5d50;font-size:10px;text-align:center}.family-access-card{gap:11px}.family-create-form{border-top:1px solid var(--line);padding-top:14px;margin-top:4px;display:flex;flex-direction:column;gap:10px}.family-create-form h2{font:700 13px Manrope;margin:0 0 2px}.invite-submit{background:#fff;border:1px solid var(--line);color:#355d4e}.sync-online{background:#83aa78}.sync-offline{background:#d69b5f}.local-note .text-link{font-size:9px;padding:2px 4px}
.migration-choice{display:flex;align-items:flex-start;gap:9px;padding:10px;background:#f2f7f1;border-radius:10px;color:#4b6554;font-size:10px;line-height:1.4}.migration-choice input{margin:2px 0 0;accent-color:#24685a}.migration-choice strong,.migration-choice small{display:block}.migration-choice small{color:#7f8b81;margin-top:3px}.access-footnote{font-size:10px;color:#9a7a53!important;background:#fbf6eb;padding:10px;border-radius:9px}

.month-selector{display:inline-flex;align-items:center;gap:5px}.month-selector .period-control{min-width:145px;padding:8px 10px}.month-step{width:34px;height:34px;border:1px solid var(--line);background:white;border-radius:10px;color:#53615a;font-size:19px;line-height:1}.month-step:hover{border-color:#bdd3c2;color:var(--green)}.page-heading .month-selector{margin-right:8px}@media(max-width:640px){.page-heading{align-items:flex-start;gap:12px;flex-wrap:wrap}.month-selector{max-width:100%}.month-selector .period-control{min-width:125px}}
:is(.entry-dialog,.setup-dialog,.invite-dialog){border:0;border-radius:22px;padding:0;box-shadow:0 25px 80px #0b251e36;color:var(--ink)}
.invite-dialog{width:min(480px,calc(100% - 26px));}
.invite-dialog::backdrop{background:#0d211bb3;backdrop-filter:blur(4px)}
.invite-dialog-content{padding:25px}
.invite-dialog-content .dialog-top h2{font:800 22px Manrope;letter-spacing:-.7px;margin:5px 0 12px}
.invite-dialog-content .hint{font-size:11px;line-height:1.6;color:#7f8a83}
.invite-dialog-content .field input{width:100%;height:42px;padding:0 11px;border:1px solid #e5ebe6;border-radius:9px;background:#f8faf8;color:#28372f;font-size:12px;font-family:monospace;letter-spacing:.5px}
.invite-copy-status{min-height:16px;margin:7px 0 0}
.invite-dialog .dialog-actions{flex-wrap:wrap}
