@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap";:root{color:#27242d;font-synthesis:none;background:#f7f4ed;font-family:DM Sans,system-ui,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 12% 0,#ffe8df 0,#0000 25rem),radial-gradient(circle at 88% 4%,#e4e8ff 0,#0000 25rem),#f7f4ed;min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #725cff4d}.app-shell{min-height:100vh}.topbar{border-bottom:1px solid #27242d14;justify-content:space-between;align-items:center;max-width:1500px;height:76px;margin:auto;padding:0 34px;display:flex}.brand{color:inherit;align-items:center;gap:10px;font-size:19px;font-weight:700;text-decoration:none;display:flex}.brand-mark{color:#fff;background:linear-gradient(145deg,#7c62ff,#aa72f2);border-radius:12px;place-items:center;width:38px;height:38px;display:grid;box-shadow:inset 0 1px #ffffff59}.brand small{color:#27242d8c;background:#27242d0f;border-radius:99px;padding:3px 7px;font-size:10px;font-weight:600}.header-actions,.points-pill{align-items:center;gap:10px;display:flex}.points-pill{color:#755c00;background:#fff0ad;border:1px solid #f4dc79;border-radius:99px;height:42px;padding:0 15px}.points-pill span{font-size:13px}.icon-button{cursor:pointer;background:#ffffff85;border:1px solid #27242d1a;border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.avatar{color:#fff;background:linear-gradient(145deg,#ff8a72,#ff5e7d);border:3px solid #fffc;border-radius:50%;place-items:center;width:44px;height:44px;font-weight:700;display:grid;box-shadow:0 4px 14px #ff5e7d33}main{max-width:1500px;margin:auto;padding:32px 34px 60px}.welcome{grid-template-columns:minmax(0,1fr) minmax(340px,530px);align-items:center;gap:30px;margin-bottom:30px;display:grid}.eyebrow{color:#827c8b;text-transform:uppercase;letter-spacing:.14em;margin:0 0 6px;font-size:11px;font-weight:700}h1,h2,p{margin-top:0}h1{letter-spacing:-1.8px;margin-bottom:8px;font-size:clamp(34px,4vw,52px);line-height:1.05}h1 span{display:inline-block;transform:rotate(7deg)}.welcome>div>p:last-child{color:#766f7d;margin-bottom:0;font-size:17px}h2{letter-spacing:-.5px;margin-bottom:0;font-size:23px}.reward-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff85;border:1px solid #27242d17;border-radius:20px;align-items:center;gap:16px;padding:18px;display:flex}.reward-icon{color:#7b5d00;background:linear-gradient(145deg,#fff2aa,#ffd86c);border-radius:17px;flex:none;place-items:center;width:54px;height:54px;display:grid}.reward-content{flex:1;min-width:0}.reward-copy{justify-content:space-between;gap:12px;margin-bottom:10px;display:flex}.reward-copy span{color:#827c8b;font-size:13px}.reward-copy strong{font-size:14px}.progress-track{background:#27242d14;border-radius:99px;height:9px;overflow:hidden}.progress-track span{border-radius:inherit;background:linear-gradient(90deg,#8d70ff,#ff7e88);min-width:3px;height:100%;transition:width .35s;display:block}.progress-label{color:#827c8b;justify-content:space-between;margin-top:7px;font-size:11px;display:flex}.workspace{grid-template-columns:300px minmax(0,1fr);align-items:stretch;gap:18px;display:grid}.task-panel,.calendar-panel{background:#ffffff75;border:1px solid #27242d17;border-radius:24px;min-width:0;padding:20px}.section-title,.calendar-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.calendar-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.child-appointment-button{color:#fff;cursor:pointer;background:#755de8;border:0;border-radius:10px;align-items:center;gap:6px;padding:9px 11px;font-size:11px;font-weight:750;display:flex}.drag-hint{text-transform:uppercase;letter-spacing:.08em;color:#827c8b;border:1px solid #27242d1a;border-radius:99px;padding:5px 7px;font-size:10px}.template-list{gap:9px;display:grid}.template-card{text-align:left;cursor:grab;border:1px solid #0000;border-radius:16px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:63px;padding:10px;transition:transform .15s,border-color .15s,box-shadow .15s;display:grid}.template-card:hover{transform:translateY(-2px)}.template-card.selected{border-color:#765dff;box-shadow:0 0 0 3px #765dff1f}.task-icon{background:#ffffff9e;border-radius:13px;place-items:center;width:42px;height:42px;display:grid}.task-name{font-size:13px;font-weight:600}.task-points{align-items:center;gap:3px;font-size:11px;font-weight:700;display:flex}.coral{color:#813c35;background:#ffe3dd}.violet{color:#4f408f;background:#e9e4ff}.mint{color:#285f48;background:#dff3e9}.sun{color:#745c12;background:#fff0bd}.sky{color:#2e587c;background:#dfefff}.pink{color:#75415e;background:#f8e2ef}.touch-help{color:#89828f;margin:15px 4px 0;font-size:11px;line-height:1.45}.week-navigation{align-items:center;gap:9px;display:flex}.week-navigation button{cursor:pointer;background:#ffffff8c;border:1px solid #27242d1a;border-radius:11px;place-items:center;width:34px;height:34px;display:grid}.week-navigation span{text-align:center;text-transform:capitalize;min-width:125px;font-size:13px;font-weight:600}.week-grid{grid-template-columns:repeat(7,minmax(120px,1fr));gap:8px;padding-bottom:3px;display:grid;overflow-x:auto}.day-column{background:#ffffff5e;border:1px solid #27242d14;border-radius:17px;min-height:385px;padding:10px 8px;transition:background .15s,border-color .15s}.day-column.today{background:#ede9ff9e;border-color:#8e76ff}.day-column.ready{border-style:dashed}.day-column>header{border-bottom:1px solid #27242d12;flex-direction:column;align-items:center;min-height:64px;margin-bottom:9px;display:flex;position:relative}.day-column>header span{color:#89828f;text-transform:uppercase;font-size:10px}.day-column>header strong{font-size:23px}.day-column>header small{color:#fff;background:#765dff;border-radius:99px;padding:2px 7px;font-size:8px;position:absolute;bottom:-8px}.day-tasks{align-content:start;gap:7px;display:grid}.assigned-task{text-align:center;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:74px;padding:9px 6px;font-size:10px;font-weight:600;display:flex;position:relative}.assigned-task.done{opacity:.58}.assigned-task.done>span{text-decoration:line-through}.complete-button{width:29px;height:29px;color:inherit;cursor:pointer;background:#ffffffb3;border:0;border-radius:50%;place-items:center;display:grid}.drop-zone{color:#9a949e;cursor:pointer;background:0 0;border:1px dashed #27242d2b;border-radius:13px;min-height:58px;font-size:9px}.drop-zone span{font-size:18px;line-height:16px;display:block}.drop-zone:disabled{cursor:default}.day-column.ready .drop-zone{color:#664df0;background:#765dff0f;border-color:#765dff}.badges-section{background:#fff6;border:1px solid #27242d17;border-radius:24px;justify-content:space-between;align-items:center;gap:24px;margin-top:22px;padding:21px;display:flex}.badges{gap:10px;display:flex}.badge{filter:grayscale();opacity:.42;border:1px solid #27242d14;border-radius:16px;align-items:center;gap:11px;min-width:185px;padding:11px 14px;display:flex}.badge.earned{filter:none;opacity:1;background:#fff9dd;border-color:#f0dc84}.badge>span{font-size:27px}.badge div{display:grid}.badge strong{font-size:12px}.badge small{color:#827c8b;font-size:10px}.modal-backdrop{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1e1a2457;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.settings-dialog{background:#f7f4ed;border-radius:24px;width:min(460px,100%);padding:25px;box-shadow:0 25px 70px #1e1a2438}.dialog-header{justify-content:space-between;align-items:start;margin-bottom:22px;display:flex}.settings-dialog label{gap:7px;margin-bottom:14px;font-size:12px;font-weight:600;display:grid}.settings-dialog input{background:#ffffff91;border:1px solid #27242d21;border-radius:11px;width:100%;padding:12px 13px}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.privacy-note{color:#827c8b;align-items:center;gap:8px;font-size:11px;display:flex}.primary-button{color:#fff;cursor:pointer;background:#27242d;border:0;border-radius:11px;width:100%;padding:13px 16px;box-shadow:inset 0 1px #fff3}.celebration{z-index:20;color:#634c00;background:#fff3b3;border-radius:18px;align-items:center;gap:15px;padding:17px 24px;animation:.9s both pop;display:flex;position:fixed;top:20%;left:50%;transform:translate(-50%,-50%);box-shadow:0 18px 50px #4332002e}.celebration span{font-size:25px}@keyframes pop{0%{opacity:0;transform:translate(-50%,-30%)scale(.7)}25%,75%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-65%)scale(.9)}}@media (width<=1050px){.workspace{grid-template-columns:1fr}.template-list{grid-template-columns:repeat(3,1fr)}.task-panel{order:2}.calendar-panel{order:1}.badges-section{flex-direction:column;align-items:flex-start}.badges{width:100%;overflow-x:auto}}@media (width<=720px){.topbar{height:66px;padding:0 16px}.brand small,.points-pill span{display:none}.points-pill{padding:0 11px}main{padding:22px 14px 45px}.welcome{grid-template-columns:1fr;gap:18px}.reward-card{padding:14px}.task-panel,.calendar-panel{border-radius:19px;padding:15px}.template-list{grid-template-columns:1fr 1fr}.calendar-header{flex-direction:column;align-items:flex-start}.week-grid{grid-template-columns:repeat(7,116px)}.day-column{min-height:350px}.badges-section{padding:16px}.form-row{grid-template-columns:1fr}}@media (width<=430px){.brand{font-size:15px}.brand-mark{width:34px;height:34px}.icon-button{display:none}.template-list{grid-template-columns:1fr}h1{font-size:35px}.reward-icon{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.auth-page{background:radial-gradient(circle at 15% 5%,#ffe0d8,#0000 35%),radial-gradient(circle at 90% 10%,#e4e5ff,#0000 35%),#f7f4ed;place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff9e;border:1px solid #27242d1a;border-radius:28px;width:min(520px,100%);padding:34px;box-shadow:0 24px 70px #362a481a}.auth-card.compact{text-align:center}.auth-card>.brand-mark{margin-bottom:22px}.auth-card h1{margin-bottom:10px;font-size:38px}.auth-card>p:not(.eyebrow):not(.form-error){color:#756f7d;margin-bottom:24px}.auth-card label,.quick-form label{gap:6px;margin-bottom:13px;font-size:12px;font-weight:600;display:grid}.auth-card input,.quick-form input,.quick-form select{color:#27242d;background:#ffffffb3;border:1px solid #27242d21;border-radius:11px;width:100%;padding:12px 13px}.form-error{color:#8a3028;background:#ffe0dc;border-radius:10px;padding:10px 12px;font-size:12px}.form-success{color:#286541;background:#dcf5e5;border-radius:10px;padding:11px 12px;font-size:12px}.auth-links{justify-content:space-between;gap:12px;margin-top:12px;display:flex}.text-button{color:#6852d7;cursor:pointer;background:0 0;border:0;padding:8px 4px;font-size:13px;font-weight:600}.auth-card>.text-button{width:100%;margin-top:8px}.pulse{animation:1.2s infinite alternate softpulse}@keyframes softpulse{to{opacity:.72;transform:scale(1.08)}}.notice{color:#7f352f;background:#ffe1dc;border-radius:12px;justify-content:space-between;gap:12px;margin-bottom:16px;padding:11px 14px;display:flex}.notice button{cursor:pointer;background:0 0;border:0}.profile-switcher{background:#ffffff59;border:1px solid #27242d14;border-radius:99px;gap:6px;margin:0 auto;padding:4px;display:flex;overflow-x:auto}.profile-switcher button{color:#77717e;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:99px;align-items:center;gap:6px;padding:4px 10px 4px 4px;font-size:12px;display:flex}.profile-switcher button.active{color:#27242d;background:#fff;box-shadow:0 2px 8px #27242d12}.profile-switcher button span{color:#fff;border-radius:50%;place-items:center;width:28px;height:28px;font-weight:700;display:grid}.routine-section{background:#ffffff7a;border:1px solid #27242d17;border-radius:24px;margin-bottom:20px;padding:21px}.routine-heading{justify-content:space-between;align-items:end;gap:16px;margin-bottom:17px;display:flex}.routine-heading-actions{align-items:center;gap:12px;display:flex}.routine-heading-actions>p{color:#817b88;align-items:center;gap:6px;margin:0;font-size:11px;display:flex}.routine-collapse-button{cursor:pointer;background:#ffffff9e;border:1px solid #27242d1a;border-radius:10px;align-items:center;gap:6px;min-height:36px;padding:7px 10px;font-size:11px;font-weight:700;display:inline-flex}.routine-section.collapsed{padding-top:16px;padding-bottom:16px}.routine-section.collapsed .routine-heading{align-items:center;margin-bottom:0}.routine-periods{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;display:grid}.routine-period{background:#f7f4eda3;border:1px solid #27242d12;border-radius:18px;min-width:0;padding:12px}.period-label{align-items:center;gap:7px;margin:0 3px 10px;font-size:12px;font-weight:700;display:flex}.period-label svg{color:#8069f2}.routine-list{gap:7px;display:grid}.routine-item{text-align:left;cursor:pointer;background:#ffffff9e;border:1px solid #27242d14;border-radius:13px;grid-template-columns:35px minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;min-height:53px;padding:7px 9px;transition:transform .15s,background .2s,border-color .2s;display:grid}.routine-item:hover{transform:translateY(-1px)}.routine-check{background:#27242d0d;border-radius:10px;place-items:center;width:32px;height:32px;display:grid}.routine-title{min-width:0;font-size:12px;font-weight:600}.routine-item small{color:#8b8591;white-space:nowrap;font-size:9px}.routine-item.completed{color:#215c3d;background:#ddf5e7;border-color:#8ed4ad}.routine-item.completed .routine-check{color:#fff;background:#38a66d}.routine-item.missed{color:#873d37;background:#ffe3df;border-color:#e7aaa3}.routine-item.missed .routine-check{background:#f6c4bd}.parent-backdrop{place-items:stretch end;padding:0}.parent-panel{background:#f7f4ed;width:min(720px,100%);height:100vh;padding:28px;overflow:auto;box-shadow:-18px 0 70px #1e1a2433}.parent-tabs{background:#27242d0d;border-radius:13px;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:6px;margin-bottom:22px;padding:5px;display:grid}.parent-tabs button{cursor:pointer;overflow-wrap:anywhere;background:0 0;border:0;border-radius:9px;min-width:0;min-height:40px;padding:8px;font-size:12px;line-height:1.2}.parent-tabs button.active{background:#fff;font-weight:600;box-shadow:0 2px 7px #27242d14}.manager h3{margin:0 0 12px;font-size:16px}.manager-list{gap:7px;margin-bottom:22px;display:grid}.manager-item{background:#ffffff8c;border:1px solid #27242d14;border-radius:12px;justify-content:space-between;align-items:center;min-width:0;min-height:51px;padding:8px 10px;display:flex}.manager-item>div{align-items:center;gap:10px;min-width:0;display:flex}.manager-item>div>small{color:#827c8b}.manager-item>button{color:#9a5b55;cursor:pointer;background:0 0;border:0;border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.manager-avatar{color:#fff;border-radius:50%;flex:0 0 34px;place-items:center;width:34px;height:34px;display:grid}.quick-form{background:#27242d0a;border-radius:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:15px;display:grid}.parent-panel .quick-form.advanced-form{grid-template-columns:minmax(0,1fr)}.quick-form label{min-width:0;margin:0}.quick-form .primary-button{grid-column:1/-1;justify-content:center;align-items:center;gap:6px;display:flex}.parent-panel .privacy-note{margin:22px 0 0}.pin-dialog{align-self:center}.primary-button:disabled{opacity:.55;cursor:wait}@media (width<=900px){.topbar{flex-wrap:wrap;gap:8px;height:auto;min-height:72px;padding-top:10px;padding-bottom:10px}.profile-switcher{order:3;justify-content:center;width:100%}.routine-periods{grid-template-columns:1fr}.routine-period{grid-template-columns:125px minmax(0,1fr);align-items:start;display:grid}.routine-list{grid-template-columns:repeat(2,minmax(0,1fr))}.period-label{padding-top:12px}.advanced-form{grid-template-columns:1fr}}@media (width<=600px){.routine-heading{flex-direction:column;align-items:flex-start}.routine-heading-actions{justify-content:space-between;width:100%}.routine-heading-actions>p{display:none}.routine-collapse-button{margin-left:auto}.routine-section.collapsed .routine-heading{align-items:stretch}.routine-period{display:block}.routine-list,.quick-form{grid-template-columns:1fr}.parent-panel{padding:20px 14px}.parent-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.parent-panel .icon-button,.settings-dialog .icon-button,.header-actions .icon-button{display:grid}.header-actions .points-pill{height:38px}.auth-card{padding:25px 20px}.profile-switcher{justify-content:flex-start}.brand>span:nth-child(2){display:none}}.template-card .task-icon{grid-row:1/4}.template-card .task-name{grid-column:2}.template-card .task-points{grid-area:1/3/4}.approval-chip,.repeat-chip{color:#66599a;background:#ffffff8c;border-radius:99px;grid-column:2;justify-self:start;align-items:center;gap:4px;width:max-content;padding:2px 6px;font-size:8px;font-weight:700;display:inline-flex}.assigned-task>span{gap:2px;display:grid}.assigned-task>span small{color:#8a5d16;font-size:8px;text-decoration:none}.assigned-task.awaiting{opacity:1;color:#795b17;background:#fff1c7;border:1px dashed #d7a139}.assigned-task.awaiting>span{text-decoration:none}.routine-item.inactive,.routine-item.skipped{opacity:.58;cursor:default;background:#efede9cc}.routine-item.inactive:hover,.routine-item.skipped:hover{transform:none}.reward-request{color:#fff;cursor:pointer;background:#755de8;border:0;border-radius:9px;align-items:center;gap:5px;margin-left:auto;padding:7px 9px;font-size:10px;font-weight:700;display:flex}.reward-state{font-weight:700;color:#6d53df!important}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:22px;display:grid}.summary-card{background:#ffffff94;border:1px solid #27242d14;border-radius:15px;grid-template-columns:42px 1fr;align-items:center;gap:2px 10px;padding:15px;display:grid}.summary-card>span{color:#6c55d8;background:#ebe7ff;border-radius:12px;grid-row:1/3;place-items:center;width:42px;height:42px;display:grid}.summary-card strong{font-size:22px}.summary-card small{color:#817a89;font-size:10px}.approval-list{margin-bottom:18px}.approval-list h3,.history-panel h3,.redemption-history h3{margin:0 0 11px;font-size:16px}.approval-item,.history-row{background:#ffffff8c;border:1px solid #27242d14;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:7px;padding:11px 12px;display:flex}.approval-item>div:first-child,.history-row>span{gap:3px;display:grid}.approval-item small,.history-row small{color:#817a89;font-size:10px}.approval-item button,.history-row button{color:#fff;cursor:pointer;background:#3e9c67;border:0;border-radius:9px;align-items:center;gap:5px;padding:8px 10px;font-size:11px;font-weight:600;display:flex}.approval-item button.secondary{color:#8a423d;background:#ffe3df}.approval-actions{gap:6px;display:flex}.empty-state{color:#77717e;text-align:center;background:#27242d0a;border-radius:13px;padding:18px;font-size:12px}.plan-week{justify-content:center;align-items:center;gap:7px;display:flex}.week-plan-message{color:#574b87;background:#765dff14;border:1px solid #765dff29;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;padding:12px 14px;font-size:12px;line-height:1.45;display:flex}.week-plan-message button{color:#fff;cursor:pointer;background:#755de8;border:0;border-radius:9px;flex:none;padding:8px 10px;font-weight:700}.manager-entry{border-radius:13px}.manager-entry .manager-item{border-radius:12px}.manager-actions{flex:none;gap:2px!important;display:flex!important}.manager-actions button{color:#756f7d;cursor:pointer;background:0 0;border:0;border-radius:9px;flex:0 0 34px;place-items:center;width:34px;height:34px;display:grid}.manager-actions button:last-child{color:#9a5b55}.manager-item>div:first-child{flex:auto;min-width:0}.manager-copy{gap:2px;min-width:0;display:grid;overflow:hidden}.manager-copy strong,.manager-copy small{overflow-wrap:anywhere;min-width:0}.manager-copy small{color:#827c8b;line-height:1.35}.inline-editor{margin-top:6px;margin-bottom:10px}.advanced-form{grid-template-columns:repeat(2,minmax(0,1fr))}.advanced-form .check-field{background:#ffffff80;border-radius:10px;grid-column:1/-1;align-items:center;gap:8px;padding:10px;display:flex}.advanced-form .check-field input{width:18px;height:18px}.weekday-picker{border:1px solid #27242d17;border-radius:11px;flex-wrap:wrap;grid-column:1/-1;gap:5px;margin:0;padding:8px;display:flex}.weekday-picker legend{color:#817a89;padding:0 5px;font-size:10px}.weekday-picker label{cursor:pointer;margin:0}.weekday-picker input{opacity:0;pointer-events:none;position:absolute}.weekday-picker span{color:#817a89;background:#fff;border-radius:8px;place-items:center;width:32px;height:28px;font-size:10px;display:grid}.weekday-picker input:checked+span{color:#fff;background:#755de8}.form-actions{grid-column:1/-1;gap:8px;display:flex}.form-actions .primary-button{flex:1}.secondary-button{cursor:pointer;background:#fff;border:1px solid #27242d1f;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:10px 13px;display:flex}.history-panel,.redemption-history{margin-top:20px}.history-row{justify-content:flex-start}.history-row>svg{color:#755de8;flex:none}.history-row button{margin-left:auto}.backup-panel{gap:12px;display:grid}.backup-card{background:#fff9;border:1px solid #27242d14;border-radius:16px;grid-template-columns:46px 1fr auto;align-items:center;gap:14px;padding:18px;display:grid}.backup-card>svg{color:#755de8}.backup-card h3{margin:0 0 4px}.backup-card p{color:#817a89;margin:0;font-size:11px}.backup-card .primary-button{width:auto}.backup-card.warning{background:#fff9ea;border-color:#e7cf9c}.file-button{position:relative;overflow:hidden}.file-button input{opacity:0;cursor:pointer;position:absolute;inset:0}@media (width<=700px){.summary-grid{grid-template-columns:1fr}.approval-item,.backup-card{flex-direction:column;grid-template-columns:1fr;align-items:stretch}.approval-actions{width:100%}.approval-actions button{flex:1;justify-content:center}.advanced-form{grid-template-columns:1fr}.backup-card .primary-button{text-align:center;width:100%}.form-actions{flex-direction:column}}.achievement-section{background:#ffffff8c;border:1px solid #27242d17;border-radius:24px;margin:30px 34px 22px;padding:24px}.achievement-heading{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:18px;display:flex}.achievement-heading h2{margin:3px 0 0;font-size:24px}.achievement-heading>span{color:#716a79;align-items:center;gap:7px;font-size:13px;display:flex}.achievement-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:11px;display:grid}.achievement-card{background:#ffffffc7;border:1px solid #27242d14;border-radius:18px;min-width:0;min-height:164px;padding:16px;transition:transform .22s,box-shadow .22s;position:relative;overflow:hidden}.achievement-card.unlocked{box-shadow:0 10px 24px #2e254c1a}.achievement-card.unlocked:hover{transform:translateY(-3px)}.achievement-card.locked{filter:grayscale(.8);opacity:.58}.achievement-icon{color:#5f4ee8;background:#eeeaff;border-radius:15px;place-items:center;width:48px;height:48px;margin-bottom:12px;display:grid}.achievement-card.mint .achievement-icon{color:#197d62;background:#d9f5e9}.achievement-card.sun .achievement-icon{color:#986b00;background:#fff0b4}.achievement-card.coral .achievement-icon{color:#a64d43;background:#ffe0db}.achievement-card.sky .achievement-icon{color:#246b9b;background:#dcefff}.achievement-copy strong{margin-bottom:5px;font-size:15px;display:block}.achievement-copy p{color:#7d7684;min-height:34px;margin:0 0 10px;font-size:11px;line-height:1.45}.achievement-copy small{color:#6559d9;align-items:center;gap:4px;font-size:10px;font-weight:700;display:flex}.achievement-progress{background:#e8e5eb;border-radius:8px;height:5px;margin:4px 0 6px;overflow:hidden}.achievement-progress span{border-radius:inherit;background:linear-gradient(90deg,#765dff,#ff7188);height:100%;display:block}.reward-celebration-backdrop{z-index:200;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#18122bb8;place-items:center;padding:18px;animation:.35s both celebration-fade;display:grid;position:fixed;inset:0}.reward-celebration-dialog{color:#fff;text-align:center;background:radial-gradient(circle at 50% 0,#8f78ff 0,#654ad9 38%,#352264 100%);border:1px solid #ffffff47;border-radius:32px;width:min(460px,100%);padding:54px 36px 34px;animation:.7s cubic-bezier(.16,1.25,.36,1) both celebration-pop;position:relative;overflow:hidden;box-shadow:0 28px 90px #150b348c,inset 0 1px #ffffff40}.reward-celebration-dialog .eyebrow{z-index:2;color:#ffef9d;margin:18px 0 6px;position:relative}.reward-celebration-dialog h2{z-index:2;margin:0;font-size:clamp(27px,6vw,38px);line-height:1.05;position:relative}.reward-celebration-dialog>p:last-of-type{z-index:2;color:#fffc;max-width:320px;margin:12px auto 24px;line-height:1.5;position:relative}.celebration-reward{z-index:2;color:#fff4a7;margin:17px 0 0;font-size:22px;display:block;position:relative}.celebration-trophy{z-index:2;color:#60470a;background:linear-gradient(145deg,#fff7b8,#ffc83d);border:1px solid #fff6;border-radius:50%;place-items:center;width:98px;height:98px;margin:0 auto;animation:2.2s ease-in-out infinite trophy-float;display:grid;position:relative;box-shadow:0 0 0 11px #ffffff17,0 14px 35px #0f082959}.celebration-button{z-index:3;color:#352264;cursor:pointer;background:#fff;border:0;border-radius:16px;justify-content:center;align-items:center;gap:9px;min-height:52px;padding:0 25px;font-weight:800;transition:transform .18s;display:inline-flex;position:relative;box-shadow:0 10px 28px #11082c40}.celebration-button:hover{transform:translateY(-2px)scale(1.02)}.celebration-glow{filter:blur(45px);background:#ffeb7a52;border-radius:50%;width:330px;height:330px;animation:1.8s ease-in-out infinite glow-pulse;position:absolute;top:-160px;left:50%;transform:translate(-50%)}.celebration-orbit{color:#fff0a1;justify-content:space-between;display:flex;position:absolute;inset:20px 24px auto}.celebration-orbit svg{animation:1.3s ease-in-out infinite alternate star-twinkle}.celebration-orbit svg:nth-child(2){animation-delay:-.5s}.celebration-orbit svg:nth-child(3){animation-delay:-.9s}.confetti-field{z-index:1;pointer-events:none;position:absolute;inset:0}.confetti-field i{width:8px;height:15px;left:var(--x);background:hsl(calc(var(--i) * 47deg) 90% 68%);animation:confetti-fall 2.8s var(--delay) linear infinite;border-radius:3px;position:absolute;top:-22px}@keyframes celebration-fade{0%{opacity:0}to{opacity:1}}@keyframes celebration-pop{0%{opacity:0;transform:scale(.7)translateY(35px)}70%{transform:scale(1.025)translateY(-3px)}to{opacity:1;transform:scale(1)}}@keyframes trophy-float{50%{transform:translateY(-8px)rotate(2deg)}}@keyframes glow-pulse{50%{opacity:.65;transform:translate(-50%)scale(1.14)}}@keyframes star-twinkle{to{opacity:.35;transform:scale(.7)rotate(20deg)}}@keyframes confetti-fall{0%{opacity:0;transform:translateY(-20px)rotate(0)}10%{opacity:1}to{opacity:.9;transform:translateY(560px)rotate(760deg)}}@media (width<=1050px){.achievement-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=650px){.achievement-section{margin:24px 16px 18px;padding:19px}.achievement-heading{flex-direction:column;align-items:flex-start}.achievement-heading>span{display:none}.achievement-grid{grid-template-columns:1fr}.achievement-card{grid-template-columns:48px minmax(0,1fr);gap:13px;min-height:0;display:grid}.achievement-icon{margin:0}.reward-celebration-dialog{border-radius:26px;padding:45px 22px 28px}}@media (prefers-reduced-motion:reduce){.reward-celebration-backdrop,.reward-celebration-dialog,.celebration-trophy,.celebration-glow,.celebration-orbit svg,.confetti-field i,.achievement-card{transition:none!important;animation:none!important}.confetti-field{display:none}.celebration-trophy{transform:none}}.danger-zone{background:#c638430f;border:1px solid #c6384347;border-radius:18px;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.25rem;padding:1rem;display:flex}.danger-zone h3{color:#9d2430;margin:0 0 .3rem}.danger-zone p{max-width:58ch;margin:0}.danger-button{color:#fff;cursor:pointer;white-space:nowrap;background:#a92f3a;border:0;border-radius:12px;align-items:center;gap:.45rem;padding:.72rem 1rem;font-weight:750;display:inline-flex}.account-delete-panel{background:#c638430f;border:1px solid #c6384347;border-radius:20px;grid-template-columns:54px minmax(0,1fr);gap:14px 16px;padding:22px;display:grid}.account-delete-icon{color:#a92f3a;background:#c638431f;border-radius:16px;place-items:center;width:54px;height:54px;display:grid}.account-delete-panel h3{margin:3px 0 7px}.account-delete-panel>div>p:last-child{color:#756f7d;margin:0;line-height:1.5}.account-delete-panel label,.account-delete-panel>.form-error,.account-delete-panel>button{grid-column:1/-1}.account-delete-panel label{gap:7px;font-size:12px;font-weight:700;display:grid}.account-delete-panel input{width:100%;color:inherit;background:#ffffffbf;border:1px solid #27242d21;border-radius:11px;padding:12px 13px}.account-delete-panel .danger-button{justify-content:center;min-height:46px}.account-delete-panel .danger-button:disabled{opacity:.6;cursor:wait}@media (width<=640px){.danger-zone{flex-direction:column;align-items:stretch}.danger-button{justify-content:center}}.calendar-appointment{color:#443c72;background:linear-gradient(145deg,#e7e4fff0,#f6f3ffe0);border:1px solid #4f449829;border-radius:13px;grid-template-columns:27px minmax(0,1fr);align-items:center;gap:7px;min-height:58px;padding:8px;display:grid}.calendar-appointment.family-event{color:#6c4b15;background:linear-gradient(145deg,#fff1c3f0,#fff9e2e0);border-color:#b7842533}.appointment-symbol{background:#ffffffb8;border-radius:9px;place-items:center;width:27px;height:27px;display:grid}.calendar-appointment>span:last-child{gap:3px;min-width:0;display:grid}.calendar-appointment strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.calendar-appointment small{opacity:.72;align-items:center;gap:3px;font-size:8px;display:flex}.assignment-dialog{background:#f7f4ed;border-radius:24px;width:min(430px,100%);padding:25px;box-shadow:0 25px 70px #1e1a2438}.appointment-editor{width:min(760px,100%)}.appointment-editor .advanced-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;margin-top:10px}.appointment-editor .advanced-form>label{min-width:0}.appointment-editor .appointment-title,.appointment-editor .appointment-for,.appointment-editor .appointment-notes{grid-column:1/-1}.appointment-editor .appointment-date{inline-size:100%;max-inline-size:260px}.appointment-editor .appointment-time{inline-size:100%;max-inline-size:190px}.appointment-editor input[type=date],.appointment-editor input[type=time]{display:block;inline-size:100%!important;width:100%!important;min-inline-size:0!important;min-width:0!important;max-inline-size:100%!important;max-width:100%!important}.appointment-editor-backdrop{padding:16px}.assignment-dialog h2{margin:3px 0 0}.assignment-dialog-hint{color:#756f7d;margin:-6px 0 18px;font-size:13px}.assignment-dialog label{gap:7px;margin-bottom:18px;font-size:12px;font-weight:700;display:grid}.assignment-dialog input{background:#fff;border:1px solid #27242d21;border-radius:11px;width:100%;padding:12px 13px}.assignment-dialog-actions{grid-template-columns:1fr 1fr;gap:9px;display:grid}.assignment-dialog-actions .primary-button,.assignment-dialog-actions .danger-button,.assignment-dialog-actions .secondary-button{justify-content:center;width:100%}.theme-toggle{z-index:300;color:#4f408f;cursor:pointer;background:#ffffffe6;border:1px solid #27242d24;border-radius:50%;place-items:center;width:46px;height:46px;display:grid;position:fixed;bottom:18px;right:18px;box-shadow:0 10px 30px #1e1a242e}.calendar-sync-panel{gap:16px;display:grid}.calendar-sync-intro{background:#ffffff94;border:1px solid #27242d14;border-radius:18px;grid-template-columns:52px minmax(0,1fr);gap:14px;padding:18px;display:grid}.calendar-sync-intro>span{color:#4c8d54;background:#def2e1;border-radius:16px;place-items:center;width:52px;height:52px;display:grid}.calendar-sync-intro h3{margin:2px 0 7px}.calendar-sync-intro p:last-child{color:#756f7d;margin:0;font-size:12px;line-height:1.5}.calendar-sync-form,.calendar-sync-status{background:#27242d0a;border-radius:16px;padding:18px}.calendar-sync-form label{gap:7px;font-size:12px;font-weight:700;display:grid}.calendar-sync-form input{width:100%;color:inherit;background:#ffffffbf;border:1px solid #27242d21;border-radius:11px;padding:12px 13px}.calendar-sync-form>p{color:#817a89;margin:9px 0 15px;font-size:11px;line-height:1.5}.calendar-sync-status>p:first-child{color:#286541;align-items:center;gap:7px;margin-bottom:4px;font-weight:700;display:flex}.calendar-sync-status>small{color:#817a89}.calendar-sync-status .form-actions{margin-top:17px}.calendar-appointment.google-event{color:#315d39;background:linear-gradient(145deg,#dcf2e0f5,#f0f8f1e6);border-color:#37824538}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#eeeaf3;background:#17141c}:root[data-theme=dark] body{background:radial-gradient(circle at 12% 0,#33242c 0,#0000 25rem),radial-gradient(circle at 88% 4%,#26243d 0,#0000 25rem),#17141c}:root[data-theme=dark] .auth-page{background:radial-gradient(circle at 15% 5%,#38262d,#0000 35%),radial-gradient(circle at 90% 10%,#292741,#0000 35%),#17141c}:root[data-theme=dark] .auth-card,:root[data-theme=dark] .reward-card,:root[data-theme=dark] .task-panel,:root[data-theme=dark] .calendar-panel,:root[data-theme=dark] .routine-section,:root[data-theme=dark] .badges-section,:root[data-theme=dark] .achievement-section,:root[data-theme=dark] .manager-item,:root[data-theme=dark] .summary-card,:root[data-theme=dark] .backup-card,:root[data-theme=dark] .calendar-sync-intro{color:#eeeaf3;background:#272230c7;border-color:#ffffff1a}:root[data-theme=dark] .parent-panel,:root[data-theme=dark] .settings-dialog,:root[data-theme=dark] .assignment-dialog,:root[data-theme=dark] .appointment-detail{color:#eeeaf3;background:#211d29}:root[data-theme=dark] .day-column,:root[data-theme=dark] .routine-period,:root[data-theme=dark] .quick-form,:root[data-theme=dark] .calendar-sync-form,:root[data-theme=dark] .calendar-sync-status{background:#ffffff09;border-color:#ffffff14}:root[data-theme=dark] .day-column.today{background:#5b489d33;border-color:#927fff}:root[data-theme=dark] .icon-button,:root[data-theme=dark] .week-navigation button,:root[data-theme=dark] .secondary-button,:root[data-theme=dark] .profile-switcher button.active,:root[data-theme=dark] .parent-tabs button.active{color:#eeeaf3;background:#332d3d;border-color:#ffffff1f}:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea,:root[data-theme=dark] .calendar-sync-form input{color:#f4f0f7;background:#302a39;border-color:#ffffff21}:root[data-theme=dark] .parent-tabs,:root[data-theme=dark] .profile-switcher{background:#ffffff0a;border-color:#ffffff14}:root[data-theme=dark] .welcome>div>p:last-child,:root[data-theme=dark] .eyebrow,:root[data-theme=dark] .touch-help,:root[data-theme=dark] .privacy-note,:root[data-theme=dark] .calendar-sync-intro p:last-child,:root[data-theme=dark] .calendar-sync-form>p{color:#b8b0c1}:root[data-theme=dark] .brand small{color:#b8b0c1;background:#ffffff12}:root[data-theme=dark] .theme-toggle{color:#ffdc73;background:#302a39;border-color:#ffffff24}:root[data-theme=dark] .primary-button{color:#1f1a25;background:#f2edf5}:root[data-theme=dark] .routine-collapse-button{color:#eeeaf3;background:#332d3d;border-color:#ffffff1f}:root[data-theme=dark] .week-plan-message{color:#d9d0ff;background:#765dff1f;border-color:#9782ff33}:root[data-theme=dark] .routine-item{background:#ffffff12;border-color:#ffffff14}:root[data-theme=dark] .calendar-appointment.google-event{color:#aee7b8;background:#36704047}:root[data-theme=dark] .child-appointment-button{color:#fff;background:#765dff}@media (width<=480px){.assignment-dialog-actions{grid-template-columns:1fr}.theme-toggle{bottom:12px;right:12px}}.appointment-avatar{color:#6652d8;background:#e8e3ff!important}.appointment-notes{grid-column:1/-1}.quick-form textarea{resize:vertical;color:#27242d;width:100%;font:inherit;background:#ffffffb3;border:1px solid #27242d21;border-radius:11px;padding:12px 13px}.calendar-appointment{width:100%;font:inherit;text-align:left;cursor:pointer;transition:transform .15s,box-shadow .15s}.calendar-appointment:hover,.calendar-appointment:focus-visible{outline-offset:1px;outline:2px solid #765dff59;transform:translateY(-1px);box-shadow:0 8px 20px #43377821}.advanced-form label small{color:#827c8b;font-size:10px;font-weight:500;line-height:1.35}@media (width<=720px){.calendar-header-actions{justify-content:space-between;width:100%}.child-appointment-button{min-height:40px}.appointment-editor{max-height:calc(100vh - 32px);overflow-y:auto}.appointment-editor .advanced-form{grid-template-columns:minmax(0,1fr)}}.appointment-detail-backdrop{z-index:30}.appointment-detail{background:#f9f7f1;border:1px solid #27242d1a;border-radius:26px;width:min(480px,100%);padding:28px;box-shadow:0 28px 80px #1e1a2440}.appointment-detail-head{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.appointment-detail-head>span{color:#5d4dc4;background:#e8e3ff;border-radius:17px;place-items:center;width:52px;height:52px;display:grid}.appointment-detail-head>span.family-event{color:#8b651c;background:#fff0bd}.appointment-detail h2{margin:4px 0 20px;font-size:clamp(28px,6vw,39px);line-height:1.05}.appointment-meta{background:#765dff12;border-radius:15px;gap:9px;padding:15px;display:grid}.appointment-meta span{color:#575064;align-items:center;gap:9px;font-size:13px;font-weight:650;display:flex}.appointment-note{background:#ffffffa6;border:1px solid #27242d14;border-radius:16px;margin-top:16px;padding:17px}.appointment-note strong{text-transform:uppercase;letter-spacing:.08em;color:#817a89;font-size:11px}.appointment-note p{white-space:pre-wrap;margin:8px 0 0;line-height:1.55}.child-display-mode{grid-column:1/-1}.kid-icon-mode .template-list{grid-template-columns:repeat(3,minmax(0,1fr))}.template-card.icon-only{cursor:pointer;grid-template-columns:1fr;place-items:center;min-height:88px;padding:10px;display:grid}.template-card.icon-only .task-icon{border-radius:19px;grid-row:auto;width:58px;height:58px}.routine-section.icon-mode .routine-list{grid-template-columns:repeat(3,minmax(0,1fr))}.routine-item.icon-only{grid-template-columns:1fr;place-items:center;min-height:88px;padding:9px;display:grid}.routine-item.icon-only .routine-check{border-radius:20px;width:60px;height:60px}.kid-icon-mode .assigned-task{min-height:76px}.kid-icon-mode .assigned-task .complete-button{width:52px;height:52px}.animated-kid-icon{animation:2.2s ease-in-out infinite kid-icon-float;animation-delay:var(--icon-delay,0s);transform-origin:50% 70%}.template-card.icon-only:nth-child(3n+2) .animated-kid-icon,.routine-item.icon-only:nth-child(3n+2) .animated-kid-icon{animation-name:kid-icon-wiggle}.template-card.icon-only.selected{outline:3px solid #765dff6b;transform:scale(1.04)}@keyframes kid-icon-float{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-7px)rotate(3deg)scale(1.06)}}@keyframes kid-icon-wiggle{0%,to{transform:rotate(-5deg)scale(1)}50%{transform:rotate(6deg)scale(1.08)}}.currency-total{white-space:nowrap;font-weight:800}.currency-settings{gap:18px;display:grid}.currency-preview{background:linear-gradient(135deg,#fff4bd,#fffaf0);border:1px solid #ffbc4259;border-radius:20px;align-items:center;gap:17px;padding:22px;display:flex}.currency-preview>span{color:#8b651c;background:#fff;border-radius:20px;flex:none;place-items:center;width:64px;height:64px;display:grid;box-shadow:0 10px 24px #8b651c21}.currency-preview h3,.currency-preview p{margin:0}.currency-preview h3{margin:3px 0 6px;font-size:25px}.currency-preview p:last-child{color:#696270;max-width:620px;line-height:1.45}@media (width<=600px){.kid-icon-mode .template-list,.routine-section.icon-mode .routine-list{grid-template-columns:repeat(3,minmax(0,1fr))}.currency-preview{align-items:flex-start;padding:17px}.currency-preview>span{width:52px;height:52px}}:root[data-theme=dark] .currency-preview{color:#eeeaf3;background:linear-gradient(135deg,#393127,#2b2731);border-color:#ffd66a2e}:root[data-theme=dark] .currency-preview p:last-child,:root[data-theme=dark] .appointment-meta span{color:#c6becd}:root[data-theme=dark] .appointment-note,:root[data-theme=dark] .appointment-meta{background:#ffffff0d;border-color:#ffffff14}:root[data-theme=dark] .account-delete-panel{background:#c6384314;border-color:#e05b6647}:root[data-theme=dark] .account-delete-panel>div>p:last-child{color:#c6becd}:root[data-theme=dark] .appointment-avatar{background:#393151!important}:root[data-theme=dark] .achievement-card{color:#d8d1df;background:#302b37;border-color:#ffffff17}:root[data-theme=dark] .achievement-card.unlocked{background:#29342f}:root[data-theme=dark] .achievement-card.locked{opacity:.72}:root[data-theme=dark] .achievement-copy p,:root[data-theme=dark] .achievement-copy small{color:#bcb3c5}:root[data-theme=dark] .badge{color:#c9c1d0;opacity:.62;border-color:#ffffff14}:root[data-theme=dark] .badge.earned{color:#f2e7b2;background:#69541c47;border-color:#f0dc8447}@media (width<=900px){.quick-form.advanced-form{grid-template-columns:1fr}}
