@import"https://fonts.googleapis.com/css2?family=Baloo+2:wght@600;700;800&family=Nunito:wght@400;600;700;800&display=swap";:root{font-family:Nunito,system-ui,sans-serif;color:#28233a;background:#f8f7fc;--purple:#6941c6;--ink:#28233a;--muted:#77728a;--line:#e8e4f0;--shadow:0 10px 30px rgba(57,42,94,.09)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}h1,h2,h3{font-family:"Baloo 2",sans-serif;color:var(--ink);margin:0;line-height:1.08}p{line-height:1.55}.app-shell{min-height:100vh;padding-bottom:92px}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100vw - 1080px)/2));position:sticky;top:0;z-index:30}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font:800 24px "Baloo 2"}.brand-mark,.logo-large{display:grid;place-items:center;background:linear-gradient(145deg,#7c55d9,#5936aa);color:#fff;box-shadow:0 5px 14px #6941c645;transform:rotate(-5deg)}.brand-mark{width:36px;height:36px;border-radius:12px}.logo-large{width:72px;height:72px;border-radius:23px;font-size:38px;margin:auto}.header-actions{display:flex;align-items:center;gap:10px}.feedback-button,.avatar,.icon-button{border:0}.feedback-button{background:#fff8dc;color:#735d13;border:1px solid #f1df96;padding:9px 13px;border-radius:14px;font-weight:800}.avatar,.mini-avatar{display:grid;place-items:center;border-radius:50%;background:#e8defd;color:#5b34b3;font-weight:800}.avatar{width:39px;height:39px;border:3px solid #fff;box-shadow:0 0 0 2px #ded3f5}.page{width:min(920px,calc(100% - 32px));margin:0 auto;padding:38px 0}.dashboard{width:min(800px,calc(100% - 30px))}.hero{background:linear-gradient(125deg,#6840c4,#865be3);color:#fff;border-radius:28px;padding:31px 34px;display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden;box-shadow:0 18px 40px #4f2e9c33}.hero h1,.hero p,.hero .eyebrow{color:#fff}.hero h1{font-size:clamp(30px,6vw,42px)}.hero p{margin:6px 0 0;opacity:.83}.eyebrow{font-size:11px;letter-spacing:.15em;font-weight:900;color:var(--purple)}.progress-orbit{flex:0 0 90px;height:90px;border-radius:50%;border:7px solid rgba(255,255,255,.18);border-top-color:#ffd96a;display:flex;flex-direction:column;align-items:center;justify-content:center}.progress-orbit strong{font:800 30px "Baloo 2";line-height:1}.progress-orbit small{font-size:9px;font-weight:900;letter-spacing:.12em}.section-heading{display:flex;justify-content:space-between;align-items:end;margin:35px 3px 17px}.section-heading h2,.page-title h1{font-size:31px}.task-count{background:#ece5fb;color:#5d39ad;border-radius:99px;padding:7px 12px;font-size:12px;font-weight:900}.task-list{display:flex;flex-direction:column;gap:14px}.task-card{display:flex;align-items:center;gap:17px;border:1px solid var(--line);border-left:6px solid #f4c84d;background:#fff;border-radius:21px;padding:16px;box-shadow:0 4px 14px #3b2d580a;transition:.18s}.task-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.task-card.mint{border-left-color:#5bc4a7}.task-card.sky{border-left-color:#61a9e8}.task-card.coral{border-left-color:#ef806f}.task-icon,.plan-icon{display:grid;place-items:center;background:#f6f2ff;border-radius:17px}.task-icon{width:62px;height:62px;flex:0 0 62px;font-size:29px}.task-copy{min-width:0;flex:1}.task-copy h3{font-size:21px}.task-copy p{margin:2px 0;color:var(--muted);font-size:13px}.task-time,.expiry{display:block;color:#8b839d;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.expiry{margin-top:5px;color:#b07033}.done-button{width:66px;height:66px;border-radius:18px;border:0;background:#effaf4;color:#22955e;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:900}.done-button span{font-size:24px;line-height:1}.done-button small{font-size:10px}.done-button:hover{background:#37b878;color:#fff}.empty-state{text-align:center;background:#fff;border:2px dashed #ddd5ec;border-radius:24px;padding:47px 22px;color:var(--muted)}.empty-state>div{font-size:51px}.empty-state h2{margin-top:10px}.empty-state p{max-width:430px;margin:4px auto}.page-title{margin-bottom:23px}.page-title p{margin:4px 0;color:var(--muted)}.stat-banner{display:flex;align-items:center;gap:15px;background:#fff5cf;border:1px solid #f0dda0;border-radius:20px;padding:18px 22px;margin-bottom:20px}.stat-banner>span{font-size:34px}.stat-banner div{display:flex;flex-direction:column}.stat-banner strong{font:800 28px "Baloo 2";line-height:1}.history-list,.plan-list{background:#fff;border-radius:22px;border:1px solid var(--line);overflow:hidden}.history-row{display:flex;align-items:center;gap:14px;padding:15px 19px;border-bottom:1px solid var(--line)}.history-row:last-child{border:0}.history-row>div{display:flex;flex-direction:column;flex:1}.history-row small{color:var(--muted)}.history-check{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:#eee;color:#777}.history-check.completed{background:#dff7e8;color:#179052}.history-check.expired{background:#fff0db;color:#b16c1b}.status-pill,.status-dot{font-size:10px;text-transform:uppercase;font-weight:900;letter-spacing:.07em;color:#777}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:77px;background:#fffffff5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);display:flex;justify-content:center;gap:clamp(25px,12vw,110px);z-index:30}.bottom-nav button{border:0;background:transparent;color:#8a8499;min-width:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.bottom-nav button>span{font-size:21px;filter:grayscale(1);opacity:.65}.bottom-nav button small{font-size:10px;font-weight:900}.bottom-nav button.active{color:var(--purple)}.bottom-nav button.active>span{filter:none;opacity:1}.modal-backdrop{position:fixed;inset:0;background:#1f192f99;z-index:100;display:grid;place-items:center;padding:18px}.modal{background:#fff;border-radius:25px;padding:28px;width:min(520px,100%);box-shadow:0 30px 90px #0000004d;position:relative}.modal h2{font-size:29px;margin-top:5px}.modal-close{position:absolute;right:15px;top:13px;width:35px;height:35px;border-radius:50%;background:#f3f0f7;font-size:23px;color:#777}.muted{color:var(--muted)}label{display:block;font-size:13px;font-weight:800;margin-top:16px;color:#4d465d}input,textarea,select{display:block;width:100%;border:1.5px solid #ddd7e7;background:#fff;border-radius:13px;padding:12px 13px;margin-top:6px;color:var(--ink);outline:none}input:focus,textarea:focus,select:focus{border-color:#8b63df;box-shadow:0 0 0 3px #eee8fb}.form-actions,.submit-row{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.primary-button,.ghost-button,.danger-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:13px;border:0;padding:12px 18px;font-weight:900;text-decoration:none}.primary-button{background:linear-gradient(135deg,#7047ca,#5933ad);color:#fff;box-shadow:0 7px 16px #5d34b133}.primary-button:disabled{opacity:.55}.ghost-button{background:#f1eef5;color:#554e64}.danger-button{background:#fff0ee;color:#ba493c;padding:8px 11px;font-size:11px}.error-message{background:#fff0ee;color:#a43f35;padding:10px 13px;border-radius:11px;font-size:13px}.toast{position:fixed;top:83px;left:50%;transform:translate(-50%);z-index:50;box-shadow:var(--shadow);display:flex;gap:15px}.toast button{border:0;background:none;color:inherit}.success-state{text-align:center}.big-emoji{font-size:56px}.celebration{position:fixed;z-index:80;left:50%;top:42%;transform:translate(-50%,-50%);background:#fff;border:3px solid #eadcff;border-radius:25px;box-shadow:0 30px 90px #39226747;padding:24px 36px;display:flex;align-items:center;flex-direction:column;animation:pop .35s}.celebration span{font-size:53px}.celebration strong{font:800 25px "Baloo 2"}.celebration small{color:var(--muted)}@keyframes pop{0%{transform:translate(-50%,-50%) scale(.5);opacity:0}}.splash,.signin,.setup-page{min-height:100vh;display:grid;place-items:center;text-align:center}.splash{background:#f6f2ff}.splash h1,.signin h1{font-size:45px;margin-top:14px}.splash p{color:var(--muted)}.loader{width:29px;height:29px;border:3px solid #dfd6f2;border-top-color:var(--purple);border-radius:50%;animation:spin .8s linear infinite;margin:auto}@keyframes spin{to{transform:rotate(360deg)}}.signin{background:linear-gradient(#7a50d1 0 43%,#f8f7fc 43%);position:relative;overflow:hidden}.signin-card,.setup-card{background:#fff;width:min(480px,calc(100% - 32px));padding:39px 34px;border-radius:30px;box-shadow:0 25px 70px #2c1c533b;z-index:1}.signin-card>p{color:var(--muted)}.signin-card .primary-button{margin-top:14px;width:100%}.cloud{position:absolute;color:#ffffff2e;font-size:120px}.c1{left:3%;top:3%}.c2{right:2%;top:18%}.setup-page{background:#f3effb}.setup-card h1{font-size:35px;margin-top:9px}.setup-card>p{color:var(--muted)}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}.choice-grid button{border:1.5px solid #e3ddee;border-radius:18px;background:#faf9fc;padding:20px 10px;display:flex;flex-direction:column;align-items:center;gap:5px;color:var(--ink)}.choice-grid span{font-size:35px}.choice-grid small{color:var(--muted);font-size:10px}.back-link{border:0;background:transparent;color:var(--purple);font-weight:800;display:block}.setup-card form{text-align:left}.setup-card form .primary-button{width:100%;margin-top:18px}.admin-title{display:flex;justify-content:space-between;align-items:center}.family-code{display:flex;flex-direction:column;background:#f1ebfd;border:1px dashed #9e7ce4;border-radius:15px;padding:11px 20px;text-align:center}.family-code small{font-size:9px;color:#7455b6;font-weight:900;letter-spacing:.12em}.family-code strong{font:800 22px "Baloo 2";letter-spacing:.12em}.tabs{display:flex;background:#ebe8f0;border-radius:14px;padding:4px;margin-bottom:20px}.tabs button,.segmented button{flex:1;border:0;background:transparent;padding:10px;border-radius:10px;color:#777083;font-weight:800}.tabs button.active,.segmented button.active{background:#fff;color:var(--purple);box-shadow:0 2px 8px #3c2d551a}.task-form{background:#fff;border:1px solid var(--line);border-radius:24px;padding:5px 25px 25px}.form-section{display:grid;grid-template-columns:38px 1fr;gap:13px;padding:25px 0;border-bottom:1px solid var(--line)}.form-section h2{font-size:23px}.step{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:#eee7fc;color:#6240ae;font-weight:900}.optional{font-weight:600;color:#9a95a5}.icon-picker{display:flex;gap:8px;flex-wrap:wrap;margin-top:7px}.icon-picker button{width:49px;height:49px;background:#f7f4fb;border:1.5px solid #eee8f5;border-radius:13px;font-size:23px}.icon-picker button.selected{border-color:#744ccc;background:#eee7fd}.assignees{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:9px;margin-top:13px}.assignees label{display:flex;align-items:center;gap:9px;border:1.5px solid var(--line);padding:10px;border-radius:14px;margin:0}.assignees label.selected{border-color:#7550ca;background:#f5f1fd}.assignees input{display:none}.mini-avatar{width:33px;height:33px;font-size:11px;flex:0 0 auto}.checkmark{margin-left:auto;opacity:0}.assignees label.selected .checkmark{opacity:1;color:var(--purple)}.segmented{display:flex;background:#f1eef5;border-radius:12px;padding:4px;margin-top:14px}.members-card{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid var(--line);border-radius:20px;padding:17px 20px;margin-top:18px}.members-card h2{font-size:20px}.member-stack{display:flex}.member-stack .mini-avatar{margin-left:-7px;border:2px solid #fff}.plan-list article{display:flex;align-items:center;gap:13px;padding:15px;border-bottom:1px solid var(--line)}.plan-list article:last-child{border:0}.plan-icon{width:47px;height:47px;font-size:22px}.plan-list article>div{flex:1}.plan-list h3{font-size:18px}.plan-list p{margin:0;color:var(--muted);font-size:12px}.status-dot.active{color:#22955e}@media(max-width:620px){.topbar{height:64px;padding:0 15px}.brand{font-size:21px}.brand-mark{width:32px;height:32px}.feedback-button span{display:none}.page{padding-top:24px;width:calc(100% - 24px)}.hero{padding:24px 20px;border-radius:23px}.hero p{font-size:13px;max-width:190px}.progress-orbit{flex-basis:70px;height:70px;border-width:5px}.progress-orbit strong{font-size:24px}.task-card{gap:11px;padding:13px 11px}.task-icon{width:51px;height:51px;flex-basis:51px;font-size:24px}.task-copy h3{font-size:18px}.done-button{width:54px;height:56px}.task-copy p{display:none}.admin-title{align-items:flex-start}.family-code{padding:9px}.family-code strong{font-size:16px}.form-section{grid-template-columns:32px 1fr}.task-form{padding:4px 16px 20px}.choice-grid{grid-template-columns:1fr}.signin-card,.setup-card{padding:32px 22px}.bottom-nav{height:70px}.app-shell{padding-bottom:80px}}.crew-lists{margin-top:26px}.crew-lists>h2{margin:4px 0 13px}.crew-list{background:#fff;border:1px solid var(--line);border-radius:18px;margin-bottom:10px;overflow:hidden}.crew-name,.crew-task{display:flex;align-items:center;gap:10px;padding:12px 15px}.crew-name{background:#faf8fd}.crew-name small{margin-left:auto;color:var(--muted);font-weight:800}.crew-task{border-top:1px solid var(--line);padding-left:28px}.crew-task strong{flex:1;font-size:13px}.crew-task .danger-button{padding:6px 9px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.member-manager{width:min(920px,calc(100% - 32px));padding-top:12px}.member-add-form{display:flex;align-items:end;gap:15px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:15px 18px;margin-bottom:15px}.member-add-form>div{display:grid;grid-template-columns:1fr 1fr;gap:12px;flex:1}.member-add-form label{margin:0}.member-list{display:flex;flex-direction:column;gap:9px}.member-row{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:10px 13px}.member-details{display:flex;flex-direction:column;flex:1;min-width:100px}.member-details small{color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis}.member-status,.role-pill{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.member-status.verified{color:#22955e}.member-status.pending{color:#b07033}.role-pill{background:#eee8fb;color:#6540ad;border-radius:99px;padding:5px 8px}.success-message{background:#e5f8ec;color:#1d8050;padding:10px 13px;border-radius:11px;font-size:13px}@media(max-width:620px){.member-add-form{display:block}.member-add-form>div{display:block}.member-add-form .primary-button{width:100%;margin-top:14px}.member-row{flex-wrap:wrap}.member-row .member-details{flex-basis:calc(100% - 55px)}.member-row .member-status{margin-left:43px}.member-row .ghost-button,.member-row .danger-button{font-size:10px;padding:7px}.member-manager{width:calc(100% - 24px)}}.schedule-fieldset,.weekday-picker{border:0;padding:0;margin:16px 0 0}.schedule-fieldset legend,.weekday-picker legend{font-size:13px;font-weight:800;color:#4d465d}.segmented.compact{margin-top:6px}.schedule-details{margin-top:16px;padding:17px;background:#faf8fd;border:1px solid var(--line);border-radius:16px}.schedule-details h3{font-size:17px;margin:0}.schedule-details h3:not(:first-child){margin-top:20px}.schedule-details label{margin-top:10px}.inline-fields,.time-fields{display:grid;grid-template-columns:2fr 1fr;gap:10px}.time-fields{grid-template-columns:1fr 1fr 1fr}.weekday-picker{display:flex;gap:6px;flex-wrap:wrap}.weekday-picker legend{width:100%;margin-bottom:7px}.weekday-picker button{border:1.5px solid var(--line);background:#fff;color:var(--muted);border-radius:10px;padding:8px 10px;font-weight:800}.weekday-picker button.selected{border-color:#7550ca;background:#eee7fd;color:var(--purple)}
