@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#182b49;--muted:#627087;--green:#152d50;--line:#e2e6ec;--paper:#f6f7fa;--accent:#d9b866}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px 'DM Sans',Arial,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}button{border:0;background:none;color:inherit}aside{width:242px;background:#fff;border-right:1px solid var(--line);position:fixed;inset:0 auto 0 0;padding:37px 25px;display:flex;flex-direction:column}.brand{display:flex;gap:11px;text-decoration:none;color:var(--ink);font:800 22px Manrope,Arial,sans-serif;align-items:center}.logo{width:39px;height:43px;background:var(--green);color:#efd28c;display:grid;place-items:center;border-radius:13px;font-size:30px}.brand-sub{display:block;font:10px 'DM Sans',Arial;margin-top:5px;color:var(--muted)}.nav-label{font-size:10px;letter-spacing:1.7px;color:#69778d;margin:55px 14px 17px}nav{display:grid;gap:9px}nav button{text-align:left;padding:14px 12px;border-radius:8px;font-size:12px;display:flex;align-items:center;gap:12px;color:#5e6b80}nav button span{font-size:20px;width:20px}nav button.selected{background:#f7efd9;color:#182f50;font-weight:700}nav small{margin-left:auto;border:1px solid #dfcb94;border-radius:5px;padding:2px 5px}.aside-bottom{margin-top:auto;font-size:11px;line-height:1.7}.aside-bottom p{color:var(--muted)}.privacy-dot{display:inline-block;width:6px;height:6px;border-radius:100%;background:#a37a21;margin-right:7px}.text-button{display:block;font-size:11px;padding:5px 0;text-decoration:underline;text-underline-offset:4px}main{margin-left:242px;padding:0 42px;max-width:1700px}header{min-height:94px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:18px}.breadcrumb{font-size:10px;letter-spacing:1.4px;color:#65748a}.breadcrumb span{margin-left:12px}.header-actions{display:flex;gap:22px;align-items:center}.header-actions>span{color:#647187;font-size:11px}.primary{background:var(--green);color:#fff;padding:13px 20px;border-radius:7px;font-size:12px;font-weight:600}.primary:hover{background:#244775}.secondary{border:1px solid #d7dfeb;background:#fff;border-radius:7px;padding:11px 16px;font-size:12px}.page-title{display:flex;justify-content:space-between;align-items:center;margin:34px 0 26px;gap:15px}.eyebrow{font-size:10px;letter-spacing:1.7px;text-transform:uppercase;color:#886719;font-weight:700;margin:0 0 10px}h1{font:600 32px Manrope,Arial;margin:0 0 10px;letter-spacing:-1px}.sub{color:var(--muted);line-height:1.7;margin:0;font-size:12px}.tag{font-size:10px;padding:7px 11px;background:#fff;border:1px solid var(--line);border-radius:20px;white-space:nowrap}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:0 0 25px}.stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px}.stat.dark{background:var(--green);color:#fff;border-color:var(--green)}.stat .label{font-size:11px;color:#5c6b81;display:flex;justify-content:space-between;align-items:center}.stat.dark .label{color:#ead8ac}.stat strong{font:600 29px Manrope,Arial;display:block;margin:17px 0 10px;letter-spacing:-1px}.stat p{font-size:10px;color:#65748a;margin:0}.stat.dark p{color:#d7dfef}.stat .tiny-icon{border:1px solid #dce3ed;border-radius:6px;padding:2px 6px;font-size:15px}.stat.dark .tiny-icon{border-color:#b89a51;color:#f0d489}.columns{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(270px,1fr);gap:22px}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:22px}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:22px 23px 18px;gap:12px}.panel h2,h2{font:700 15px Manrope,Arial;margin:0}.panel-head p{font-size:10px;color:var(--muted);margin:6px 0 0}.link{font-size:11px;color:#254e80;font-weight:600}.panel-body{padding:0 23px 22px}.payment{display:flex;gap:13px;align-items:center;padding:17px 0;border-top:1px solid #edf0f5}.payment .avatar{width:38px;height:38px;display:grid;place-items:center;background:#f7f0df;border:1px solid #e9dcb9;border-radius:11px;color:#82621c;font-weight:700;flex-shrink:0}.payment strong{font-size:12px}.payment p{font-size:10px;color:var(--muted);margin:6px 0 0}.payment .right{margin-left:auto;text-align:right;white-space:nowrap}.pill{display:inline-block;border-radius:5px;padding:5px 7px;font-size:9px;background:#eef2f8;color:#35537a}.pill.warn{color:#805a17;background:#fbefce}.pill.danger{color:#a34d40;background:#fcece5}.empty{padding:30px 16px;text-align:center}.empty-symbol{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#f7efda;color:#886719;margin:0 auto 15px;font-size:25px}.empty h3{font-size:13px;margin:0 0 9px}.empty p{max-width:350px;margin:0 auto 17px;font-size:11px;line-height:1.8;color:var(--muted)}.pot{background:#fbf3df;border:1px solid #e9d7a6;border-radius:12px;padding:24px}.pot .eyebrow{color:#86651d}.pot strong{display:block;font:600 32px Manrope;margin:16px 0 7px}.pot p{font-size:11px;color:#78643a;line-height:1.8}.pot label{font-size:11px;display:flex;align-items:center;gap:9px;margin:17px 0}.pot input{width:65px;background:#fff;border:1px solid #dfc995;border-radius:5px;padding:8px}.pot-note{padding-top:13px;border-top:1px solid #e5d6b2;font-size:10px!important}.review-item{padding:16px 0;border-top:1px solid var(--line);font-size:12px}.review-item p{font-size:11px;line-height:1.6;color:var(--muted);margin:7px 0}.review-item button{font-size:11px;text-decoration:underline}.note-banner{border:1px dashed #d8dfeb;border-radius:9px;padding:17px 20px;color:#596b85;font-size:11px;line-height:1.7;display:flex;justify-content:space-between;gap:15px}.tools{display:flex;gap:12px;flex-wrap:wrap;padding:0 23px 20px}.tools input,.tools select{border:1px solid var(--line);padding:10px 12px;border-radius:7px;background:#fff}.tools input{flex:1;min-width:150px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;white-space:nowrap;text-align:left;font-size:11px}th{font-weight:500;font-size:10px;background:#f3f5f9;color:#607087;padding:14px 20px}td{padding:18px 20px;border-top:1px solid #eef1f6}td small{display:block;color:var(--muted);margin-top:5px}td .row-action{border:1px solid #dce3ed;padding:7px 10px;border-radius:6px;margin-right:6px;font-size:10px}td .row-action.delete{color:#a54f43}footer{display:flex;justify-content:space-between;color:#65748a;font-size:9px;padding:25px 0 30px;border-top:1px solid var(--line);margin-top:28px}.calendar-head{display:flex;gap:14px;align-items:center}.calendar-head h2{min-width:160px;text-align:center}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.weekday{font-size:10px;padding:12px;text-align:center;color:var(--muted);background:#f3f5f9}.day{min-height:110px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:10px;font-size:11px}.day.blank{background:#f8f9fc}.day.today{background:#fbf1d5}.calendar-bill{display:block;text-align:left;font-size:9px;background:#eaf0f9;padding:6px;border-radius:4px;width:100%;margin-top:7px;white-space:normal}.calendar-bill b{display:block;margin-top:3px}.calendar-bill:hover{background:#dbe5f4}dialog{border:1px solid #dce3ed;border-radius:16px;padding:28px;width:min(600px,calc(100% - 28px));max-height:92vh;color:var(--ink);box-shadow:0 30px 90px #152d5033}dialog::backdrop{background:#10234077;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.dialog-head h2{font-size:22px}.close{font-size:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.full{grid-column:1/-1}label{font-size:11px;font-weight:500}label span{color:var(--muted);font-size:10px}label input,label select,label textarea{display:block;width:100%;margin-top:7px;border:1px solid #dce3ed;background:#fff;border-radius:6px;padding:11px;min-height:40px;color:var(--ink)}details{border-top:1px solid var(--line);padding-top:16px}summary{cursor:pointer;font-size:12px;font-weight:600}.extra{margin-top:18px}.form-note{font-size:10px;color:var(--muted);line-height:1.8;margin-top:20px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.dialog-actions .close{font-size:12px}#form-error{font-size:12px;color:#aa453b}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#152d50;color:white;border-radius:8px;padding:14px 22px;box-shadow:0 4px 30px #152d5033;opacity:0;pointer-events:none;transition:opacity .2s;z-index:10}#toast.show{opacity:1}#confirm-text{font-size:13px;line-height:1.8}.demo-label{background:#fff7db;color:#8a6b26;border-radius:6px;padding:10px 15px;font-size:11px;margin-bottom:18px}
@media(min-width:1600px){main{padding:0 60px}.stats{gap:22px}.stat{padding:26px}}@media(max-width:1150px){aside{width:205px;padding:30px 16px}main{margin-left:205px;padding:0 25px}.stats{grid-template-columns:repeat(2,1fr)}.columns{grid-template-columns:1fr}.header-actions>span{display:none}.day{min-height:95px}.breadcrumb{font-size:9px}}@media(max-width:650px){aside{position:static;width:auto;padding:18px 18px 0;border-right:0;border-bottom:1px solid var(--line)}.brand-sub,.nav-label,.aside-bottom p,.privacy-dot{display:none}.brand{font-size:20px}.logo{width:32px;height:35px;font-size:25px}nav{display:flex;overflow:auto;margin-top:18px;gap:5px}nav button{flex-shrink:0;padding:12px 10px;font-size:10px;border-radius:7px 7px 0 0}nav button span,nav small{display:none}.aside-bottom{position:absolute;right:15px;top:20px;font-size:0}.aside-bottom .text-button{font-size:9px;padding:2px}main{margin:0;padding:0 18px}header{min-height:70px}.breadcrumb{font-size:8px;letter-spacing:.8px}.breadcrumb span{margin-left:4px}.primary{font-size:11px;padding:11px 13px}.page-title{margin:26px 0 22px}h1{font-size:26px}.page-title .tag{display:none}.stats{gap:10px}.stat{padding:17px}.stat strong{font-size:25px}.stat .label{font-size:10px}.stat p{font-size:9px}.panel-head{padding:19px 17px}.panel-body{padding:0 17px 17px}.calendar-head{gap:5px}.calendar-head h2{min-width:120px;font-size:12px}.calendar-head .secondary{padding:8px}.day{padding:5px;min-height:87px}.weekday{padding:10px 3px;font-size:9px}.calendar-bill{padding:4px;font-size:8px}.note-banner{display:block}.note-banner button{margin-top:10px}footer{font-size:8px;gap:14px}.form-grid{gap:13px}dialog{padding:21px}.header-actions{gap:0}}

body:not(.authenticated)>aside,body:not(.authenticated)>main{display:none}.auth-shell{max-width:450px;margin:8vh auto;padding:30px;background:#fff;border:1px solid var(--line);border-radius:16px}.auth-shell h1{font-size:26px}.auth-shell label{display:block;margin:18px 0}.auth-shell button{margin-top:12px}.auth-error{color:#9c322e;line-height:1.7;font-size:12px}.saving:after{content:'Saving to your household…';position:fixed;inset:0;background:#ffffffd9;display:grid;place-items:center;z-index:100;font-weight:bold}#sync-error{background:#fff0dc;border:1px solid #a66f1e;border-radius:8px;padding:20px;margin-top:20px}#sync-error[hidden]{display:none}.account-form{max-width:500px;padding:0 24px 24px}.account-form label{display:block;margin:18px 0}.account-form input[type=checkbox]{display:inline;width:auto;min-height:initial;margin:0 8px 0 0}.alert-row{border-top:1px solid var(--line);padding:16px 0}.alert-row p{font-size:12px;color:var(--muted)}.invite-output{width:100%;padding:12px;font:12px monospace;border:1px solid var(--line);border-radius:6px;margin:12px 0}.auth-shell .brand{margin-bottom:28px}.member-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 0;border-top:1px solid var(--line)}.member-row p{font-size:12px;color:var(--muted)}@media(max-width:650px){.auth-shell{margin:25px 15px;padding:24px}.aside-bottom{position:static;font-size:11px;padding:12px 0;display:flex;gap:12px;flex-wrap:wrap}.aside-bottom #signed-in-name{display:block;margin:0}.aside-bottom .text-button{font-size:10px}.member-row{display:block}}
