:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#17352f;background:#f4f7f3;--green:#2f6b5f;--mint:#dceee7;--ink:#17352f;--muted:#6f827b;--line:#e0e9e4}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(155deg,#f8faf6,#eef5f1)}button,input{font:inherit}.hidden{display:none!important}.app-shell{width:min(100%,520px);min-height:100vh;margin:auto;padding:28px 20px 98px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.eyebrow{margin:0 0 5px;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}h1,h2,p{margin-top:0}h1{margin-bottom:0;font-size:26px;letter-spacing:-.04em}.logo-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:15px;background:var(--green);color:white;font-weight:800;font-size:24px;box-shadow:0 8px 18px #2f6b5f33}.progress-card,.next-card,.task,.leaderboard-card{background:#fff;border:1px solid var(--line);box-shadow:0 8px 24px #17352f0a}.progress-card{padding:16px;border-radius:18px;margin-bottom:16px}.progress-copy{display:flex;justify-content:space-between;gap:10px;margin-bottom:11px;font-size:13px}.progress-copy span{color:var(--muted)}.progress-copy span strong{color:var(--green)}.progress-track{height:8px;overflow:hidden;border-radius:999px;background:#e8efeb}.progress-fill{height:100%;width:0;border-radius:inherit;background:var(--green);transition:width .25s ease}.next-card{display:flex;align-items:center;gap:13px;padding:18px;border-radius:22px;background:var(--mint);border-color:#cce4da;margin-bottom:27px}.next-card h2{margin:0 0 4px;font-size:20px;letter-spacing:-.03em}.next-card p:last-child{margin:0;color:#5d746c;font-size:13px}.next-icon{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:14px;background:#fff;color:var(--green);font-size:23px}.next-card>div:nth-child(2){min-width:0;flex:1}.primary{border:0;border-radius:12px;padding:10px 14px;color:#fff;background:var(--green);font-weight:750;cursor:pointer}.wide{width:100%;padding:14px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}.section-heading h2{margin:0;font-size:19px;letter-spacing:-.03em}.text-button{border:0;background:transparent;color:var(--green);font-weight:700;cursor:pointer}.task-list{display:grid;gap:10px}.task{display:flex;align-items:center;gap:13px;padding:14px;border-radius:16px;transition:opacity .2s}.task.done{opacity:.55}.check{display:grid;place-items:center;width:25px;height:25px;border:2px solid #b7cbc2;border-radius:9px;color:transparent;background:#fff;cursor:pointer;flex:none}.task.done .check{border-color:var(--green);background:var(--green);color:#fff}.task-copy{min-width:0;flex:1}.task-title{margin:0 0 3px;font-size:15px;font-weight:750}.task.done .task-title{text-decoration:line-through}.task-meta{margin:0;color:var(--muted);font-size:12px}.task-time{color:var(--muted);font-size:12px;white-space:nowrap}.leaderboard-card{margin-top:27px;padding:18px;border-radius:22px}.leaderboard-heading{display:flex;justify-content:space-between;align-items:center}.leaderboard-heading h2{margin:0;font-size:20px;letter-spacing:-.03em}.trophy{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#fff4d9;font-size:21px}.leaderboard-note{margin:10px 0 14px;color:var(--muted);font-size:12px}.leaderboard-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line);font-size:13px}.leaderboard-row strong{margin-left:auto;color:var(--green)}.leaderboard-row.you{font-weight:750}.rank{width:18px;text-align:center;color:var(--muted);font-weight:800}.avatar{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:var(--green);color:#fff;font-size:12px;font-weight:800}.muted-avatar{background:#d9e5df;color:#55736a}.leader-name{display:grid;gap:2px}.leader-name small{color:var(--muted);font-size:10px;font-weight:500}.onboarding{width:min(100%,520px);min-height:100vh;margin:auto;padding:28px 20px 40px}.onboarding-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:48px}.step-label{color:var(--muted);font-size:12px;font-weight:750}.setup-step h1{margin-bottom:10px;font-size:30px;line-height:1.08}.setup-intro{max-width:390px;margin-bottom:28px;color:var(--muted);line-height:1.5}.setup-step label{display:grid;gap:7px;margin:17px 0;color:var(--ink);font-size:13px;font-weight:750}.setup-step input{width:100%;padding:14px 15px;border:1px solid #cbdad3;border-radius:13px;outline:none;background:#fff;color:var(--ink)}.setup-step input:focus{border-color:var(--green);box-shadow:0 0 0 3px #2f6b5f1c}.optional{color:var(--muted);font-weight:500}.privacy-note{margin:24px 0;color:var(--muted);font-size:12px;line-height:1.45}.day-picker{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin:20px 0}.day-button{display:grid;gap:4px;justify-items:center;padding:10px 2px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--muted);font-size:11px;font-weight:750;cursor:pointer}.day-button small{color:var(--green);font-size:10px}.day-button.selected{border-color:var(--green);background:var(--mint);color:var(--green)}.category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.category-button{position:relative;display:flex;align-items:center;gap:9px;padding:14px 12px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);text-align:left;font-size:13px;font-weight:700;cursor:pointer}.category-button span{font-size:20px}.category-button b{display:none;margin-left:auto;color:var(--green)}.category-button.selected{border-color:var(--green);background:var(--mint)}.category-button.selected b{display:block}.schedule-actions{display:flex;justify-content:space-between;align-items:center;margin-top:28px}.bottom-nav{position:fixed;bottom:0;left:50%;display:flex;justify-content:space-around;width:min(100%,520px);padding:12px 18px 16px;transform:translateX(-50%);background:#fffffff2;border-top:1px solid var(--line);backdrop-filter:blur(16px)}.nav-item{display:grid;gap:3px;justify-items:center;border:0;background:transparent;color:#83958e;font-size:11px;font-weight:700;cursor:pointer}.nav-item span{font-size:20px}.nav-item.active{color:var(--green)}@media(min-width:560px){.app-shell{padding-top:45px}}
.screen-intro{margin:-8px 0 22px;color:var(--muted);line-height:1.5}.room-list{display:grid;gap:10px}.room-card,.settings-card{background:#fff;border:1px solid var(--line);box-shadow:0 8px 24px #17352f0a}.room-card{display:flex;align-items:center;gap:13px;padding:15px;border-radius:17px}.room-icon{display:grid;place-items:center;width:43px;height:43px;border-radius:14px;background:var(--mint);font-size:21px}.room-card h2,.settings-card h2{margin:0 0 4px;font-size:16px;letter-spacing:-.02em}.room-card p{margin:0;color:var(--muted);font-size:12px}.room-count{display:grid;place-items:center;margin-left:auto;width:27px;height:27px;border-radius:50%;background:#edf4f0;color:var(--green);font-size:12px;font-weight:800}.settings-card{margin-bottom:12px;padding:17px;border-radius:18px}.settings-card .eyebrow{margin-bottom:8px}.settings-muted{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.settings-card .primary{margin-top:16px}
.settings-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:-4px 0 16px;padding:4px;border-radius:14px;background:#e7efeb}.settings-tab{padding:9px 3px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-size:11px;font-weight:750;cursor:pointer}.settings-tab.active{background:#fff;color:var(--green);box-shadow:0 2px 8px #17352f12}.settings-label{display:grid;gap:6px;margin-top:15px;color:var(--ink);font-size:12px;font-weight:750}.settings-label input{width:100%;padding:11px 12px;border:1px solid #cbdad3;border-radius:10px;background:#fff;color:var(--ink)}.danger-card{border-color:#efd4d0}.danger-button{margin-top:14px;padding:10px 13px;border:1px solid #c46d63;border-radius:11px;background:#fff;color:#a84f46;font-weight:750;cursor:pointer}.faq-question{margin-top:20px!important}.settings-card a{color:var(--green);font-weight:700}.support-link{display:inline-block;margin-top:14px;text-decoration:none}.color-options{display:flex;gap:12px;margin-top:18px}.color-choice{width:46px;height:46px;border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 1px var(--line);cursor:pointer}.color-choice.selected{box-shadow:0 0 0 3px var(--green)}.color-choice.sage{background:linear-gradient(135deg,#f8faf6,#eef5f1)}.color-choice.sky{background:linear-gradient(135deg,#f3f8fb,#e8f2f7)}.color-choice.peach{background:linear-gradient(135deg,#fff8f2,#fdf0e5)}.color-choice.lavender{background:linear-gradient(135deg,#faf8ff,#f0edfa)}
.plan-grid{display:grid;gap:9px;margin:17px 0}.plan-option{display:flex;align-items:center;gap:10px;padding:13px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);text-align:left;cursor:pointer}.plan-option strong{font-size:17px}.plan-option span{color:var(--muted);font-size:12px}.plan-option small{margin-left:auto;color:var(--green);font-size:10px;font-weight:800}.plan-option.featured{border-color:var(--green);background:var(--mint)}
.top-actions{display:flex;align-items:center;gap:10px}.notification-button{position:relative;display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--green);font-size:21px;cursor:pointer}.notification-dot{position:absolute;top:7px;right:7px;width:7px;height:7px;border-radius:50%;background:#d7695e}.member-row{display:flex;align-items:center;gap:11px;padding:12px 0;border-top:1px solid var(--line)}.member-row:first-of-type{border-top:0}.member-row h2{margin:0 0 3px}.member-status{margin-left:auto;color:var(--green);font-size:11px;font-weight:800}.invite-status{margin:12px 0 0;color:var(--green);font-size:12px}.notification-panel{position:fixed;z-index:5;top:18px;right:max(18px,calc((100% - 520px)/2 + 18px));width:min(330px,calc(100% - 36px));padding:17px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 18px 45px #17352f30}.notification-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.notification-head h2{margin:0;font-size:19px}.notification-item{display:flex;gap:11px;padding:13px 0;border-top:1px solid var(--line)}.notification-icon{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:10px;background:var(--mint);color:var(--green)}.notification-item strong{font-size:13px}.notification-item p{margin:3px 0 0;color:var(--muted);font-size:11px;line-height:1.35}
.assignment-list{display:grid;gap:9px;margin-top:16px}.assignment-row{display:flex;align-items:center;gap:10px;padding:11px 0;border-top:1px solid var(--line)}.assignment-row:first-child{border-top:0}.assignment-row div{display:grid;gap:3px;min-width:0;flex:1}.assignment-row strong{font-size:13px}.assignment-row small{color:var(--muted);font-size:11px}.assignment-row select{max-width:125px;padding:8px 7px;border:1px solid #cbdad3;border-radius:9px;background:#fff;color:var(--ink);font-size:11px}
.theme-toggle{display:flex;gap:6px;margin-top:16px;padding:4px;border-radius:12px;background:#e7efeb}.theme-button{flex:1;padding:9px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:12px;font-weight:750;cursor:pointer}.theme-button.active{background:#fff;color:var(--green);box-shadow:0 2px 8px #17352f12}
.calendar-card{padding:16px;border:1px solid var(--line);border-radius:19px;background:#fff;box-shadow:0 8px 24px #17352f0a}.calendar-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.calendar-heading h2{margin:0;font-size:18px}.calendar-arrow{width:30px;height:30px;border:0;border-radius:9px;background:var(--mint);color:var(--green);font-size:22px;line-height:1;cursor:pointer}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-weekdays{margin-bottom:5px;color:var(--muted);font-size:9px;font-weight:800;text-align:center;text-transform:uppercase}.calendar-day{min-height:63px;padding:5px;border:1px solid #edf1ee;border-radius:8px;background:#fbfcfb}.calendar-day.today{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.calendar-day>strong{font-size:11px}.calendar-task{display:flex;align-items:center;gap:2px;width:max-content;max-width:100%;margin-top:5px;padding:2px 4px;border-radius:5px;color:#fff;font-size:8px;font-weight:800}.calendar-task i,.legend-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor}.calendar-task.kitchen,.legend-dot.kitchen{background:#4e8f7d}.calendar-task.bedroom,.legend-dot.bedroom{background:#7185b7}.calendar-task.bathroom,.legend-dot.bathroom{background:#55a7b1}.calendar-task.laundry,.legend-dot.laundry{background:#bf895d}.calendar-legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;color:var(--muted);font-size:9px}.calendar-legend span{display:flex;align-items:center;gap:4px}.sync-row{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.sync-row span{display:grid;gap:3px}.sync-row small{color:var(--muted);font-size:11px}.sync-row input{width:20px;height:20px;accent-color:var(--green)}.sync-status{margin:12px 0 0;color:var(--muted);font-size:11px}
.task-manager{margin-top:14px}.task-form-actions{display:flex;align-items:center;gap:16px;margin-top:17px}.managed-task-list{display:grid;gap:8px}.managed-task{display:flex;align-items:center;gap:7px;padding:11px 0;border-top:1px solid var(--line)}.managed-task:first-child{border-top:0}.managed-task>div{display:grid;gap:3px;min-width:0;flex:1}.managed-task strong{font-size:13px}.managed-task small{color:var(--muted);font-size:11px}.mini-button{padding:7px 8px;border:1px solid #cbdad3;border-radius:8px;background:#fff;color:var(--green);font-size:10px;font-weight:750;cursor:pointer}.delete-mini{border-color:#e3b8b2;color:#a84f46}
.color-choice.sage{background:linear-gradient(135deg,#304f47,#19332f)}.color-choice.sky{background:linear-gradient(135deg,#344b60,#1c2c3d)}.color-choice.peach{background:linear-gradient(135deg,#63463d,#382b2b)}.color-choice.lavender{background:linear-gradient(135deg,#4b3d5e,#2b2438)}
