:root{--bg:#ededed;--paper:#f9f9f9;--ink:#353535;--muted:#777;--line:#dcdcdc;--green:#777;--green2:#666;--mint:#e9e9e9;--orange:#ef8b39;--soft:#f1f1f1;--red:#ad5046;--shadow:0 14px 34px rgba(40,40,40,.07)}
*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{margin:0;color:var(--ink);font:15px/1.55 'DM Sans',Arial,sans-serif;background:var(--bg)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}.app-shell{max-width:1440px;margin:auto;min-height:100vh;padding:0 44px;display:flex;flex-direction:column}.topbar{height:94px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(41,56,47,.08)}.brand{display:flex;gap:12px;align-items:center;font:800 18px/1.15 Manrope,sans-serif;letter-spacing:-.7px}.brand small{display:block;font:600 10px/1.4 'DM Sans',sans-serif;color:var(--muted);letter-spacing:1.9px;text-transform:uppercase}.brand-mark{width:42px;height:42px;border-radius:15px 15px 15px 5px;background:#737373;color:white;display:grid;place-items:center;font:800 21px Manrope;box-shadow:0 7px 16px rgba(49,94,72,.17)}.desktop-nav{display:flex;align-items:center;gap:30px;margin-left:auto;margin-right:42px}.desktop-nav a{font-size:13px;color:#68736b;transition:.18s}.desktop-nav a:hover,.desktop-nav a:first-child{color:var(--green);font-weight:700}.count{color:var(--green);font-size:11px}.user-chip{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600}.avatar{width:34px;height:34px;border-radius:50%;background:#ebd8c3;color:#6b4c38;display:inline-grid;place-items:center;font-weight:700}.user-chip form{margin:0}.icon-button{border:0;background:transparent;font-size:19px;color:#738078;padding:5px}.mobile-nav{display:none}.main-content{flex:1;padding:38px 0 60px}footer{padding:20px 0 27px;border-top:1px solid rgba(41,56,47,.08);font-size:11px;color:#92988f;display:flex;justify-content:space-between}footer span{letter-spacing:.5px}.eyebrow{margin:0 0 7px;color:#8a9187;font-size:10px;letter-spacing:1.55px;text-transform:uppercase;font-weight:700}.page-heading,.welcome-row{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:0 0 34px}.page-heading h1,.welcome-row h1,.login-panel h1{font:800 clamp(28px,4vw,42px)/1.15 Manrope,sans-serif;letter-spacing:-1.4px;margin:0 0 8px}.page-heading p:not(.eyebrow),.welcome-row p:not(.eyebrow),.login-panel>p:not(.eyebrow){margin:0;color:var(--muted);font-size:14px}.wave{font-size:22px;color:var(--orange);vertical-align:top;margin-left:6px}.balance-card{background:#777;color:#fff;padding:16px 21px;border-radius:18px;min-width:185px;box-shadow:0 12px 24px #315e4821}.balance-card>span{display:block;font-size:10px;color:#d7e4d8;letter-spacing:.6px}.balance-card strong{display:block;font:800 30px/1.25 Manrope;letter-spacing:-1px}.balance-card strong small{color:#efd69d;font-size:20px}.balance-card a{display:block;margin-top:5px;font-size:11px;color:#d9e7dc}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(260px,.75fr);gap:28px;align-items:start}.task-section{min-width:0}.section-title,.panel-title{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 15px}.section-title h2,.panel-title h2{font:700 20px/1.25 Manrope;margin:0;letter-spacing:-.5px}.soft-pill,.role-pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:99px;background:#ebece4;color:#6d796d;font-size:10px;font-weight:700;white-space:nowrap}.task-card{display:flex;align-items:center;gap:14px;padding:17px 18px;background:var(--paper);border:1px solid var(--line);border-radius:16px;margin-bottom:10px;box-shadow:0 3px 12px rgba(49,60,48,.025);transition:.18s}.task-card:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.task-card.assigned{border-left:3px solid var(--orange)}.task-check{width:35px;height:35px;flex:none;border-radius:12px;background:var(--mint);display:grid;place-items:center;color:var(--green);font-size:15px;font-weight:800}.task-main{flex:1;min-width:0}.task-main h3{font-size:14px;line-height:1.35;margin:0 0 3px;font-weight:700}.task-main>p{color:var(--muted);font-size:12px;margin:0 0 8px}.task-meta{display:flex;flex-wrap:wrap;gap:12px;color:#858d84;font-size:10px}.task-meta span:first-child{color:var(--green);font-weight:700}.task-meta .overdue{color:var(--red);font-weight:700}.button{border:0;display:inline-flex;justify-content:center;align-items:center;gap:10px;padding:10px 15px;border-radius:11px;font-weight:700;font-size:11px;white-space:nowrap;transition:.18s}.button:hover:not(:disabled){filter:brightness(.96);transform:translateY(-1px)}.button.primary{background:#e77828;color:#fff;box-shadow:0 5px 12px #315e481f}.button.primary span{font-size:16px}.button.soft{background:var(--mint);color:var(--green)}.button.subtle{background:#fffefa;color:#657166;border:1px solid var(--line)}.button:disabled,.button.disabled{background:#efeee9;color:#a8aaa3;cursor:not-allowed;box-shadow:none}.pool-title{margin-top:38px}.side-column{display:grid;gap:14px}.side-card,.panel{padding:22px;background:var(--paper);border:1px solid var(--line);border-radius:20px;box-shadow:0 5px 20px rgba(49,60,48,.025)}.points-card{background:#ece7e2;border:0;position:relative;overflow:hidden}.side-icon{position:absolute;right:20px;top:16px;font-size:27px;color:#b0c5a9}.points-card>strong{display:block;font:800 34px/1.15 Manrope;margin:9px 0;letter-spacing:-1px}.points-card>strong small{font-size:13px;color:#68766a;letter-spacing:0}.points-card>p:not(.eyebrow){font-size:12px;color:#69766d;max-width:210px;margin:0 0 16px}.points-card .button{width:100%}.small-title{margin:0 0 10px}.small-title h2{font-size:17px}.ledger-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #efede6}.ledger-row:last-child{border:0}.ledger-dot{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#e8f1e8;color:var(--green);font-weight:800}.ledger-dot.minus{background:#f7e8e5;color:var(--red)}.ledger-row>div{flex:1;min-width:0}.ledger-row b{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ledger-row small{display:block;color:#929990;font-size:9px}.ledger-row>strong{font-size:12px;color:var(--green)}.ledger-row:has(.minus)>strong{color:var(--red)}.family-card>p{color:var(--muted);font-size:12px}.family-flower{text-align:center;color:#cfaa7b;letter-spacing:12px;font-size:22px;padding:6px}.empty-state{background:var(--paper);border:1px dashed #ddd9ce;border-radius:18px;text-align:center;padding:42px 20px;color:var(--muted)}.empty-state>span{font-size:30px}.empty-state h2,.empty-state h3{font:700 16px Manrope;color:var(--ink);margin:9px 0 4px}.empty-state p{margin:0;font-size:12px}.empty-state.compact{padding:22px}.empty-state.compact>span{font-size:21px}.empty-state.compact h3{font-size:14px}.reward-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.reward-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden;display:grid;grid-template-columns:120px 1fr;min-height:185px}.reward-visual{background:linear-gradient(140deg,#e7eee3,#f3e7d6);display:grid;place-items:center;font-size:44px}.reward-copy{padding:18px;display:flex;flex-direction:column}.reward-copy h2{font:700 17px Manrope;margin:3px 0 5px}.reward-copy>p{font-size:11px;color:var(--muted);margin:0;flex:1}.reward-buy{display:flex;justify-content:space-between;align-items:center;margin-top:16px}.reward-buy>strong{font:800 18px Manrope;color:var(--green)}.reward-buy small{font:500 10px 'DM Sans';color:var(--muted)}.manage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.panel-title{align-items:center;margin-bottom:20px}.panel-icon{width:37px;height:37px;border-radius:13px;background:var(--mint);color:var(--green);display:grid;place-items:center;font-size:19px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.form-grid label{display:flex;flex-direction:column;gap:6px;color:#536157;font-size:11px;font-weight:700}.form-grid label small{font-size:10px;color:#959b92;font-weight:400}.form-grid input,.form-grid textarea,.form-grid select{width:100%;min-width:0;border:1px solid #e3e1d8;border-radius:10px;background:#fffefa;padding:10px 11px;color:var(--ink);outline:none;font-size:12px}.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus{border-color:#82a38a;box-shadow:0 0 0 3px #dce9dd}.form-grid textarea{resize:vertical}.full{grid-column:1/-1}.form-divider{grid-column:1/-1;border-top:1px solid var(--line);padding-top:15px;color:var(--green);font:700 12px Manrope}.member-list{border-top:1px solid var(--line);margin-top:18px;padding-top:8px}.member-list>div{display:flex;align-items:center;gap:10px;padding:7px 0}.member-list>div>span:nth-child(2){font-size:11px;font-weight:700;flex:1}.member-list small{display:block;color:#929990;font-weight:400;font-size:9px}.member-list b{font-size:10px;color:var(--green)}.muted{color:var(--muted);font-size:12px}.notice-list{max-width:760px}.notice{display:flex;gap:13px;padding:16px;background:var(--paper);border:1px solid var(--line);border-radius:14px;margin-bottom:9px}.notice.unread{border-left:3px solid var(--orange)}.notice-icon{font-size:20px}.notice p{margin:0 0 5px;font-size:13px}.notice time{font-size:10px;color:#929990}.narrow{max-width:580px}.role-pill{background:var(--mint);color:var(--green)}.flash{padding:12px 15px;border-radius:12px;margin:0 0 18px;font-size:12px}.flash.success{background:#e7f1e7;color:#315e48}.flash.error{background:#f8e9e6;color:#984a40}.login-wrap{max-width:900px;margin:35px auto;min-height:470px;border-radius:26px;overflow:hidden;background:var(--paper);box-shadow:var(--shadow);display:grid;grid-template-columns:1fr 1fr}.login-art{position:relative;background:#e5e5e5;min-height:440px;padding:45px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}.login-art p{position:relative;z-index:2;font:800 29px/1.2 Manrope;letter-spacing:-.7px;margin:0 0 9px}.login-art>span{position:relative;z-index:2;color:#657368;font-size:12px}.sun{position:absolute;width:145px;height:145px;border-radius:50%;right:57px;top:50px;background:#ebc798}.house-art{position:absolute;right:74px;top:110px;font-size:170px;line-height:1;color:#888;filter:drop-shadow(0 8px 0 #d1d1d1)}.login-panel{padding:58px 48px;align-self:center}.login-panel h1{font-size:32px}.login-panel>p:not(.eyebrow){margin-bottom:27px}.install-page{min-height:100vh;display:grid;place-items:center;padding:20px}.install-card{width:min(100%,650px);background:var(--paper);padding:34px;border-radius:22px;box-shadow:var(--shadow)}.install-card>.brand{margin-bottom:35px}.install-card h1{font:800 30px/1.15 Manrope;margin:0 0 9px;letter-spacing:-1px}.install-card>p:not(.eyebrow){color:var(--muted);font-size:13px;margin:0 0 22px}.privacy-hint{margin:17px 0 0!important;font-size:10px!important}.install-card .form-grid{gap:14px}
.install-button{border:1px solid #d8d8d8;border-radius:10px;padding:9px 12px;background:#fff;color:#4e4e4e;font-size:11px;font-weight:700;white-space:nowrap;cursor:pointer}.install-button:hover{border-color:#e77828;color:#d56b22}.install-button[hidden]{display:none}
@media(max-width:900px){.app-shell{padding:0 25px}.desktop-nav{gap:18px;margin-right:20px}.dashboard-grid{grid-template-columns:minmax(0,1.5fr) minmax(220px,.75fr);gap:17px}.task-card{padding:14px}.reward-card{grid-template-columns:90px 1fr}.reward-copy{padding:15px}.manage-grid{gap:12px}.panel{padding:18px}}
@media(max-width:680px){.app-shell{padding:0 16px}.topbar{height:68px}.brand{font-size:16px}.brand-mark{width:36px;height:36px;border-radius:13px 13px 13px 5px}.desktop-nav{display:none}.user-chip>span:not(.avatar){display:none}.mobile-nav{position:fixed;z-index:20;display:flex;left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));height:62px;justify-content:space-around;align-items:center;background:#fffefaed;backdrop-filter:blur(14px);border:1px solid #e6e3d9;border-radius:18px;box-shadow:0 8px 28px #27382c1e}.mobile-nav a{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:54px;color:#738078;font-size:9px}.mobile-nav a:first-child{color:var(--green);font-weight:700}.mobile-nav a span{font-size:18px;line-height:1.1}.dot{position:absolute;width:6px;height:6px;border-radius:50%;background:#d58151;top:0;right:13px}.main-content{padding:25px 0 95px}.welcome-row,.page-heading{align-items:flex-start;margin-bottom:22px}.welcome-row{flex-direction:column-reverse;gap:18px}.welcome-row .balance-card{width:100%;display:grid;grid-template-columns:1fr auto;align-items:center;padding:13px 16px}.balance-card strong{grid-row:span 2}.balance-card a{margin-top:0}.welcome-row h1,.page-heading h1{font-size:29px}.welcome-row p:not(.eyebrow){max-width:250px;font-size:12px}.dashboard-grid{display:flex;flex-direction:column}.task-section,.side-column{width:100%}.side-column{grid-template-columns:1fr 1fr}.side-card{padding:16px}.points-card>strong{font-size:28px}.points-card>p:not(.eyebrow){font-size:10px}.side-column .family-card{display:none}.task-card{align-items:flex-start;gap:10px;padding:13px 11px}.task-check{width:30px;height:30px;border-radius:10px}.task-main h3{font-size:12px}.task-main>p{font-size:10px}.task-meta{gap:7px;font-size:9px}.task-card .button{padding:9px 10px;font-size:10px}.soft-pill{font-size:9px;padding:5px 8px}.section-title h2{font-size:18px}.pool-title{margin-top:29px}.reward-grid{grid-template-columns:1fr}.reward-card{grid-template-columns:86px 1fr;min-height:150px}.reward-visual{font-size:34px}.reward-copy{padding:13px}.reward-copy h2{font-size:15px}.reward-copy>p{font-size:10px}.reward-buy{margin-top:10px}.reward-buy>strong{font-size:16px}.reward-buy .button{padding:8px 10px}.manage-grid{grid-template-columns:1fr}.panel{padding:17px;border-radius:16px}.page-heading{gap:10px}.page-heading>.balance-card{min-width:128px;padding:12px}.page-heading>.balance-card>span{font-size:9px}.page-heading>.balance-card>strong{font-size:24px}.page-heading>.button,.page-heading form .button{font-size:9px;padding:8px}.login-wrap{grid-template-columns:1fr;margin:0 auto;max-width:460px}.login-art{min-height:215px;padding:25px}.login-art p{font-size:23px}.login-art>span{font-size:10px}.sun{width:100px;height:100px;right:39px;top:17px}.house-art{font-size:105px;top:60px;right:46px}.login-panel{padding:30px 24px}.login-panel h1{font-size:28px}.login-panel>p:not(.eyebrow){margin-bottom:18px}.install-card{padding:24px 18px}.install-card h1{font-size:25px}.install-card .form-grid{grid-template-columns:1fr}.install-card .full{grid-column:1}.notice{padding:13px}footer{font-size:9px}}

