:root{color:#14213d;background:#f5f7fb;font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}button,.button,input,select,textarea{font:inherit}button,.button{color:#fff;cursor:pointer;background:#2355d8;border:0;border-radius:12px;padding:11px 16px;font-weight:750;text-decoration:none}.secondary{color:#1743b8;background:#edf2ff}.danger{color:#b42318;background:0 0}.link,.icon,.refresh{color:inherit;background:0 0;padding:6px}.full{width:100%;margin-top:12px}.brand{color:#1743b8;align-items:center;gap:9px;font-size:20px;font-weight:900;display:flex}.brand img{object-fit:cover;border-radius:9px;width:34px;height:34px}.brand svg{width:27px}aside{z-index:20;background:#fff;border-right:1px solid #e2e7f0;flex-direction:column;width:260px;padding:25px 18px;display:flex;position:fixed;inset:0 auto 0 0}nav{gap:5px;margin-top:32px;display:grid}nav button,.logout{color:#53627a;text-align:left;background:0 0;align-items:center;gap:12px;display:flex}nav svg,.logout svg{width:20px}nav button.active{color:#1743b8;background:#eaf0ff}.nav-count,.count{color:#fff;background:#d92d20;border-radius:999px;margin-left:auto;padding:2px 7px;font-size:12px}.logout{margin-top:auto}header{z-index:10;background:#ffffffed;border-bottom:1px solid #e5e9f1;justify-content:space-between;align-items:center;height:72px;margin-left:260px;padding:0 28px;display:flex;position:sticky;top:0}header div{display:grid}header small{color:#78869d}.refresh{color:#38506f;align-items:center;gap:8px;display:flex}.refresh svg{width:18px}.mobile{display:none}.content{max-width:1500px;margin-left:260px;padding:34px}.hero,.title{justify-content:space-between;align-items:center;gap:25px;margin-bottom:27px;display:flex}.hero h1,.title h1{letter-spacing:-.04em;margin:3px 0;font-size:clamp(28px,4vw,42px)}.hero p,.title p,.row p,.person p{color:#65738a;margin:5px 0}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-weight:850;color:#2355d8!important;font-size:12px!important}.pending{align-items:center;gap:9px;display:flex}.pending b{font-size:26px}.card{background:#fff;border:1px solid #e1e7f0;border-radius:20px;padding:21px;box-shadow:0 10px 35px #162b5c0a}.grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:17px;display:grid}.person{align-items:center;gap:13px;display:flex}.person h2{margin:0}.avatar{background:#eaf0ff;border-radius:16px;place-items:center;width:48px;height:48px;font-size:25px;display:grid}.avatar.big{width:66px;height:66px;font-size:34px}.metrics{grid-template-columns:1fr 1fr;gap:10px;margin:22px 0;display:grid}.metrics div{background:#f6f8fc;border-radius:14px;padding:13px;display:grid}.metrics b{font-size:20px}.metrics small{color:#718097}.list{gap:11px;margin-bottom:30px;display:grid}.row{align-items:center;gap:15px;display:flex}.order{color:#fff;background:#1743b8;border-radius:13px;place-items:center;width:42px;height:42px;font-weight:850;display:grid}.grow{flex:1;min-width:0}.row h3{margin:2px 0}.actions{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.empty{text-align:center;color:#75839a;background:#fff;border:1px dashed #ccd5e3;border-radius:16px;padding:28px}.columns{grid-template-columns:1fr 1fr;gap:18px;display:grid}.line{border-top:1px solid #edf0f5;padding:14px 0}.device{margin-bottom:18px}.controls{margin:18px 0}.inset{background:#f7f9fc;border-radius:16px;margin:18px 0;padding:17px}.inset h3{align-items:center;gap:7px;display:flex}.inset h3 svg{width:18px}.command{border-top:1px solid #edf0f5;grid-template-columns:1fr auto auto;align-items:center;gap:14px;padding:10px 0;display:grid}.badge{color:#44546b;background:#eef2f7;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800;display:inline-block}.status-approved,.status-applied,.status-active{color:#067647;background:#dcfae6}.status-rejected,.status-failed{color:#b42318;background:#fee4e2}.status-pending,.status-waiting_approval,.status-requested{color:#8a5200;background:#fff1cf}.form-grid{grid-template-columns:1fr 1fr;gap:15px;display:grid}.form-grid label{gap:6px;font-weight:700;display:grid}.wide{grid-column:1/-1}input,select,textarea{color:#14213d;background:#fff;border:1px solid #cfd8e6;border-radius:11px;width:100%;padding:11px}.check{grid-template-columns:auto 1fr;align-items:center;display:flex!important}.check input{width:auto}.form-actions{justify-content:flex-end;gap:9px;display:flex}.modal-backdrop{z-index:50;background:#0b1735a8;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:22px;width:min(650px,100%);max-height:92vh;padding:22px;overflow:auto}.modal-head{justify-content:space-between;align-items:center;display:flex}.modal-head h2{margin:0 0 18px}.icon-button{color:inherit;background:0 0;font-size:24px}.proof{border-radius:14px;max-width:100%}.install-flow{text-align:center}.qr{width:min(280px,100%)}.pair-code{background:#f0f4ff;border-radius:16px;margin:12px 0;padding:16px;display:grid}.pair-code strong{letter-spacing:.1em;color:#1743b8;font-size:31px}.error{color:#b42318}.error-banner,.offline-banner{border-radius:12px;margin-bottom:16px;padding:12px 15px}.error-banner{color:#b42318;background:#fee4e2}.offline-banner{color:#7a4d00;background:#fff1cf;gap:9px;display:flex}.toast{color:#fff;z-index:80;background:#12223f;border-radius:13px;padding:14px 18px;position:fixed;bottom:24px;right:24px}.center,.login{text-align:center;place-content:center;gap:12px;min-height:100vh;padding:20px;display:grid}.login{width:min(520px,100%);margin:auto}.login .brand{justify-content:center}.login .card{text-align:left}.login h1{font-size:38px;line-height:1.05}.dialog-field{gap:8px;margin-bottom:20px;font-weight:700;display:grid}.danger-solid{background:#b42318}.danger-solid:hover{background:#912018}.routine-filters{gap:14px;margin-bottom:18px;display:grid}.routine-filters label{gap:6px;max-width:320px;font-weight:800;display:grid}.frequency-filters{flex-wrap:wrap;gap:8px;display:flex}.frequency-filters button.selected{background:#2355d8}.drag-handle{cursor:grab;color:var(--muted);-webkit-user-select:none;user-select:none;padding:8px;font-size:22px}.drag-handle:active{cursor:grabbing}.recurrence-diaria{border-left:5px solid #3478f6}.recurrence-semanal{border-left:5px solid #138a78}.recurrence-quinzenal{border-left:5px solid #d96d28}.recurrence-mensal{border-left:5px solid #7657d6}.recurrence-semestral{border-left:5px solid #b94a82}.recurrence-anual{border-left:5px solid #b37700}.routine-frequency-group{gap:.7rem;display:grid}.frequency-title{margin:.8rem 0 .1rem;padding-left:.75rem;font-size:1.05rem;border-left-width:4px!important}@media (width<=850px){aside{width:64px;padding:18px 10px;transition:width .22s,padding .22s,box-shadow .22s;overflow:hidden;transform:none}aside.open{width:min(300px,82vw);padding:25px 18px;box-shadow:15px 0 40px #12223f55}aside .brand,aside nav button,aside .logout{white-space:nowrap;width:224px}aside:not(.open) .brand{gap:20px}aside:not(.open) nav button,aside:not(.open) .logout{gap:22px;width:44px;padding-inline:12px}aside:not(.open) nav button.active{box-shadow:inset 3px 0 var(--primary)!important}aside:not(.open) .nav-count,aside:not(.open) .theme-control{display:none}header,.content{margin-left:64px}.mobile{display:block}.content{padding:22px 16px}.hero,.title{align-items:flex-start}.columns{grid-template-columns:1fr}.row{flex-wrap:wrap;align-items:flex-start}.row .actions{width:100%}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.menu-scrim{z-index:19;box-shadow:none;background:#050e1f75;border:0;border-radius:0;padding:0;display:block;position:fixed;inset:0}.menu-scrim:hover{box-shadow:none;transform:none}}@media (prefers-color-scheme:dark){:root{color:#eef4ff;background:#0d1424}body{background:#0d1424}.card,.modal,aside,header,.empty{background:#141e31;border-color:#29354b}.brand{color:#8eafff}nav button{color:#afbdd2}nav button.active,.secondary{color:#b6caff;background:#24375f}.hero p,.title p,.row p,.person p{color:#a6b2c5}.metrics div,.inset{background:#1a263b}input,select,textarea{color:#fff;background:#0f192b;border-color:#3b4961}.line,.command{border-color:#29354b}}.install-intro{color:#65738a;margin:0 0 18px}.install-steps{grid-template-columns:1fr 1fr;align-items:start;gap:14px;display:grid}.install-step{background:#f9fbff;border:1px solid #dfe6f2;border-radius:18px;flex-direction:column;align-items:center;min-width:0;padding:18px;display:flex}.install-step h3{margin:4px 0}.install-step p{color:#65738a;min-height:42px;margin:3px 0 12px;font-size:14px}.step-number{color:#fff;background:#2355d8;border-radius:50%;place-items:center;width:30px;height:30px;font-weight:850;display:grid}.install-step .qr{border-radius:10px;width:min(210px,100%)}.install-step .pair-code{width:100%;margin:10px 0;padding:12px}.install-step .pair-code strong{font-size:25px}.install-step .pair-code small{color:#65738a}.pair-admin{text-align:left;color:#65738a;border-top:1px solid #e4e9f2;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding-top:14px;font-size:13px;display:flex}.danger-link{color:#b42318;white-space:nowrap;background:0 0;padding:8px}@media (width<=650px){.install-steps{grid-template-columns:1fr}.install-step p{min-height:auto}.pair-admin{flex-direction:column;align-items:flex-start}}@media (prefers-color-scheme:dark){.install-step{background:#101a2c;border-color:#2b3951}.install-intro,.install-step p,.install-step .pair-code small,.pair-admin{color:#a6b2c5}.pair-admin{border-color:#29354b}}:root{--page:#f5f8fc;--surface:#fff;--surface-solid:#fff;--surface-2:#eef3fb;--text:#181a20;--muted:#667085;--line:#dce3ee;--primary:#246bfd;--primary-2:#16a085;--glow:#246bfd2e;--shadow:0 16px 40px #16346f1a;color:var(--text);background:var(--page);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--page:#191c22;--surface:#222730;--surface-solid:#222730;--surface-2:#29313d;--text:#f4f4f5;--muted:#c0cad8;--line:#3a4351;--primary:#77a2ff;--primary-2:#7dd6c8;--glow:#77a2ff2e;--shadow:0 18px 48px #00000047;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:radial-gradient(circle at 80% -10%,var(--glow),transparent 34rem),var(--page);min-width:320px;color:var(--text);transition:background .35s,color .25s;overflow-x:hidden}button,.button{transition:transform .18s,box-shadow .25s,background .25s,color .25s}button:hover,.button:hover{box-shadow:0 10px 28px var(--glow);transform:translateY(-2px)}button:active,.button:active{transform:translateY(1px)scale(.985)}.card,.modal,aside,header,.empty{background:var(--surface);border-color:var(--line);color:var(--text)}.tilt-card{--rx:0deg;--ry:0deg;--gx:50%;--gy:50%;isolation:isolate;transform:perspective(1000px) rotateX(var(--rx)) rotateY(var(--ry));transform-style:preserve-3d;box-shadow:var(--shadow);transition:transform .18s,box-shadow .3s,border-color .3s;position:relative;overflow:hidden}.tilt-card>:not(.card-glow){z-index:2;position:relative;transform:translateZ(18px)}.tilt-card:hover{border-color:color-mix(in srgb,var(--primary) 42%,var(--line));box-shadow:0 30px 80px var(--glow)}.card-glow{z-index:0;pointer-events:none;background:radial-gradient(circle at var(--gx) var(--gy),var(--glow),transparent 42%);opacity:.12;transition:opacity .25s;position:absolute;inset:-1px}.tilt-card:hover .card-glow{opacity:1}.brand img{box-shadow:0 8px 22px #13bdb038}.child-grid{perspective:1200px;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}.child-card{min-height:320px;padding:25px}.card-index{color:var(--primary);opacity:.09;font-size:42px;font-weight:900;top:13px;right:20px;position:absolute!important;transform:none!important}.child-avatar{aspect-ratio:1;background:var(--avatar-color);isolation:isolate;border-radius:50%;flex:none;display:inline-block;position:relative;overflow:visible;box-shadow:0 12px 30px #142f642e}.avatar-clip{background:var(--avatar-color);border-radius:50%;place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.avatar-clip>img{object-fit:cover;object-position:center;border-radius:50%;width:100%;max-width:none;height:100%;max-height:none;display:block;position:absolute;inset:0}.avatar-fallback{place-items:center;width:100%;height:100%;font-size:1.65em;line-height:1;display:grid}.avatar-small{width:38px;height:38px}.avatar-medium{width:50px;height:50px}.avatar-large{width:72px;height:72px}.child-avatar i{z-index:2;border:3px solid var(--surface-solid);border-radius:50%;width:15px;height:15px;position:absolute;bottom:-3px;right:-3px}.presence-online{background:#17bc77}.presence-offline{background:#8c98aa}.next-task{border:1px solid var(--line);background:var(--surface-2);border-radius:14px;gap:4px;margin:4px 0 18px;padding:13px 14px;display:grid}.next-task small{color:var(--muted)}.metrics div,.inset{background:var(--surface-2)}.hero p,.title p,.row p,.person p,.login-card p{color:var(--muted)}input,select,textarea{background:var(--surface-solid);color:var(--text);border-color:var(--line)}.line,.command{border-color:var(--line)}.theme-control{border:1px solid var(--line);background:var(--surface-2);border-radius:14px;align-items:center;gap:5px;padding:5px;display:flex!important}.theme-control button{width:48px;height:48px;color:var(--muted);box-shadow:none;background:0 0;place-items:center;padding:6px;display:grid;position:relative}.theme-control button svg{width:17px}.theme-control button.selected{color:var(--primary);background:var(--surface-solid)}.theme-check{position:absolute;bottom:0;right:1px;width:9px!important}aside .theme-control{margin-top:auto}aside .logout{margin-top:10px}.login-shell{min-height:100svh;padding:max(20px,env(safe-area-inset-top)) max(22px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left));background:radial-gradient(circle at 20% 20%,#2bd2bd2b,transparent 26rem),radial-gradient(circle at 80% 70%,var(--glow),transparent 30rem);grid-template-rows:auto 1fr;display:grid;position:relative;overflow:hidden}.login-top{z-index:3;justify-content:space-between;align-items:center;width:min(1180px,100%);margin:auto;display:flex}.login-layout{perspective:1400px;grid-template-columns:minmax(430px,1.1fr) minmax(360px,.8fr);align-items:center;gap:clamp(36px,7vw,100px);width:min(1120px,100%);margin:auto;display:grid}.login-card{border-radius:30px;padding:clamp(25px,4vw,42px)}.login-card h1{letter-spacing:-.05em;margin:8px 0 20px;font-size:clamp(35px,4.5vw,58px);line-height:1.02}.login-card p{font-size:17px;line-height:1.6}.login-button{background:linear-gradient(135deg,#2d64eb,#1f51d1);min-height:57px;margin-top:26px;box-shadow:0 14px 35px #2d64eb47}.login-trust{color:var(--muted);text-align:center;margin-top:15px;display:block}.family-scene{min-height:570px;transform-style:preserve-3d;place-items:center;display:grid;position:relative}.scene-shield{width:150px;height:150px;filter:drop-shadow(0 28px 38px var(--glow));animation:4.8s ease-in-out infinite shield-float;position:absolute;top:15%}.scene-shield img{border-radius:38px;width:100%}.family-figures{filter:drop-shadow(0 32px 28px #0a183238);width:430px;height:330px;position:absolute;bottom:14%;left:50%;transform:translate(-50%)}.figure{transform-origin:50% 100%;width:128px;height:285px;animation:3.4s ease-in-out infinite family-sway;position:absolute;bottom:0}.figure i{display:block;position:absolute}.figure .head{background:linear-gradient(145deg,#f1bd91,#cb805f);border-radius:48% 48% 44% 44%;width:68px;height:75px;top:0;left:32px;box-shadow:inset -8px -7px 12px #5a23141a}.figure .head:before{content:"";background:#3d2d35;border-radius:50% 60% 20% 20%;position:absolute;inset:-7px 5px 43px}.figure .body{background:linear-gradient(145deg,var(--primary),#2349a6);border-radius:45px 45px 28px 28px;width:98px;height:160px;top:67px;left:17px}.figure .body:after{content:"";background:#253452;border-radius:15px;width:24px;height:75px;position:absolute;bottom:-62px;left:20px;box-shadow:38px 0 #253452}.figure .arm{transform-origin:50% 8%;background:#dfa17a;border-radius:18px;width:25px;height:130px;top:80px}.figure .arm-left{left:4px;transform:rotate(15deg)}.figure .arm-right{animation:2.2s ease-in-out infinite wave;right:3px;transform:rotate(-18deg)}.adult-one{left:16px}.adult-two{animation-delay:-1.1s;right:8px}.adult-two .body{background:linear-gradient(145deg,var(--primary-2),#13897f)}.figure.child{width:116px;height:220px;animation-delay:-.6s;left:154px}.figure.child .head{width:64px;height:66px;left:26px}.figure.child .body{background:linear-gradient(145deg,#ffb347,#e9785f);width:82px;height:118px;top:59px;left:19px}.figure.child .body:after{width:21px;height:58px;bottom:-48px;left:17px;box-shadow:30px 0 #253452}.figure.child .arm{width:22px;height:94px;top:70px}.scene-copy{text-align:center;gap:5px;display:grid;position:absolute;bottom:0}.scene-copy strong{font-size:22px}.scene-copy span{color:var(--muted)}.orbit{border:1px solid var(--line);border-radius:50%;animation:12s linear infinite orbit-spin;position:absolute}.orbit span{background:var(--surface-solid);width:38px;height:38px;color:var(--primary);box-shadow:var(--shadow);border-radius:13px;place-items:center;display:grid;position:absolute}.orbit-one{width:440px;height:440px}.orbit-one span{top:45%;left:-18px}.orbit-two{width:330px;height:330px;animation-duration:9s;animation-direction:reverse}.orbit-two span{color:var(--primary-2);top:24%;right:-18px}@keyframes shield-float{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-18px)rotate(2deg)}}@keyframes family-sway{0%,to{transform:rotate(-1.5deg)translateY(0)}50%{transform:rotate(1.5deg)translateY(-5px)}}@keyframes wave{0%,to{transform:rotate(-18deg)}45%,65%{transform:rotate(-75deg)}}@keyframes orbit-spin{to{transform:rotate(360deg)}}@media (width<=1024px){.login-layout{grid-template-columns:minmax(330px,.9fr) minmax(330px,1fr);gap:30px}.family-scene{min-height:500px;transform:scale(.86)}.columns{grid-template-columns:1fr 1fr}.columns>.card:first-child{grid-column:1/-1}}@media (width<=760px){.login-shell{padding:18px 16px}.login-layout{grid-template-columns:1fr;align-content:center;gap:14px}.family-scene{min-height:280px;margin:-50px 0 -45px;transform:scale(.68)}.scene-copy{display:none}.login-card{width:min(520px,100%);margin:auto}.login-card h1{font-size:clamp(32px,10vw,44px)}.columns{grid-template-columns:1fr}.columns>.card:first-child{grid-column:auto}.home-hero{display:grid}.child-card{min-height:auto}}@media (width<=420px),(height<=680px){.family-scene{min-height:210px;margin:-70px 0 -60px;transform:scale(.52)}.login-top .brand{font-size:17px}.login-card{border-radius:24px;padding:22px}.login-card h1{font-size:31px}.login-card p{font-size:15px}.orbit-one{width:390px;height:390px}}@media (orientation:landscape) and (height<=600px){.login-layout{grid-template-columns:.7fr 1fr;gap:15px}.family-scene{min-height:360px;transform:scale(.62)}.login-card h1{font-size:35px}.login-top{width:auto;position:absolute;left:22px;right:22px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.tilt-card{transform:none!important}}.calendar-toolbar{justify-content:space-between;align-items:end;gap:16px;margin-bottom:18px;display:flex}.calendar-toolbar>div{text-transform:capitalize;justify-content:center;align-items:center;gap:14px;display:flex}.family-calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;width:100%;min-width:0;display:grid}.calendar-weekday{text-align:center;min-width:0;color:var(--muted);padding:8px 2px}.calendar-day{text-align:left;border:1px solid var(--border);background:var(--card);border-radius:18px;flex-direction:column;align-items:stretch;min-width:0;min-height:clamp(82px,10vw,150px);padding:10px;display:flex;overflow:hidden;box-shadow:0 10px 28px #00000014}.calendar-day>span{font-weight:800}.calendar-day.muted{opacity:.3}.calendar-first{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.calendar-day>small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.calendar-event{border-left:4px solid var(--primary);background:color-mix(in srgb,var(--primary) 12%,transparent);border-radius:10px;flex-direction:column;gap:2px;margin-top:8px;padding:8px;font-size:.8rem;display:flex}.calendar-event span{font-weight:700}.calendar-event small{color:var(--muted)}@media (width<=800px){.family-calendar{gap:5px}.calendar-day{border-radius:13px;min-height:clamp(72px,13vw,112px);padding:7px}.calendar-event small{display:none}.calendar-toolbar{flex-direction:column;align-items:stretch}}.calendar-day{text-align:left;color:var(--text);flex-direction:column;align-items:stretch;display:flex;box-shadow:0 10px 28px #00000014}.calendar-day:hover{border-color:var(--primary);transform:translateY(-2px)}.calendar-first{white-space:nowrap;text-overflow:ellipsis;margin-top:9px;font-size:.78rem;overflow:hidden}.calendar-day>small{color:var(--muted)}.calendar-colors{border-radius:99px;gap:2px;height:6px;margin-top:auto;display:flex;overflow:hidden}.frequency-color{flex:1}.recurrence-bg-diaria{background:#3478f6}.recurrence-bg-semanal{background:#138a78}.recurrence-bg-quinzenal{background:#d96d28}.recurrence-bg-mensal{background:#7657d6}.recurrence-bg-semestral{background:#b94a82}.recurrence-bg-anual{background:#b37700}.recurrence-text-diaria{color:#3478f6}.recurrence-text-semanal{color:#138a78}.recurrence-text-quinzenal{color:#d96d28}.recurrence-text-mensal{color:#7657d6}.recurrence-text-semestral{color:#b94a82}.recurrence-text-anual{color:#b37700}.day-frequency-filters{gap:8px;padding-bottom:10px;display:flex;overflow:auto}.day-frequency-filters button{white-space:nowrap}.day-frequency-filters .selected,.goal-toolbar .selected,.goal-presets .selected{outline:2px solid var(--primary)}.day-groups{gap:14px;max-height:52vh;margin:8px 0 18px;display:grid;overflow:auto}.day-groups section{gap:8px;display:grid}.day-groups h3{margin:4px 0}.day-task{background:var(--surface-2);border-radius:14px;justify-content:space-between;gap:12px;padding:13px;display:flex}.day-task small{color:var(--muted)}.goal-summary{grid-template-columns:repeat(2,minmax(0,220px));gap:10px;margin-bottom:16px;display:grid}.goal-summary .card{align-items:center;gap:12px;padding:15px;display:flex}.goal-summary svg{color:var(--primary)}.goal-summary div{display:grid}.goal-summary b{font-size:22px}.goal-summary span{color:var(--muted);font-size:13px}.goal-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.goal-toolbar>button{align-items:center;gap:7px;display:inline-flex}.goal-toolbar>button svg{width:18px}.goal-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.goal-list>.empty{grid-column:1/-1}.goal-card{padding:0}.goal-card.completed{border-color:#198754}.goal-card-button{text-align:left;width:100%;height:100%;color:inherit;box-shadow:none;background:0 0;padding:18px;display:block}.goal-card-button:hover{box-shadow:none;transform:none}.goal-heading{grid-template-columns:auto 1fr auto;align-items:start;gap:12px;display:grid}.goal-heading>svg{color:#e4a11b}.goal-heading h2{margin:0;font-size:19px}.goal-heading p{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:5px 0;display:-webkit-box;overflow:hidden}.goal-status{justify-items:end;gap:5px;display:grid}.goal-status>b{font-size:17px}.goal-status>span{color:var(--muted);align-items:center;gap:4px;font-size:12px;font-weight:750;display:inline-flex}.goal-status svg{width:13px;height:13px}.goal-progress{background:var(--surface-2);border-radius:99px;height:7px;margin:14px 0 8px;overflow:hidden}.goal-progress i{border-radius:inherit;background:linear-gradient(90deg,#2862e8,#13bdb0);height:100%;display:block}.goal-meta,.goal-reward{color:var(--muted);justify-content:space-between;gap:12px;font-size:13px;display:flex}.goal-reward{border-top:1px solid var(--line);align-items:center;margin-top:12px;padding-top:12px}.goal-reward svg{width:18px;color:var(--primary)}.goal-reward span{color:var(--text);flex:1;font-weight:700}.goal-reward b{color:#198754}.goal-form{gap:15px;display:grid}.goal-form fieldset{border:1px solid var(--line);border-radius:17px;gap:11px;padding:15px;display:grid}.goal-form legend{color:var(--primary);padding:0 7px;font-weight:900}.goal-form label{gap:6px;font-weight:700;display:grid}.goal-form fieldset>p,.goal-participants{color:var(--muted);margin:0}.goal-presets{flex-wrap:wrap;gap:7px;display:flex}@media (width<=1050px){.goal-list{grid-template-columns:1fr}}@media (width<=650px){.goal-summary{grid-template-columns:1fr 1fr}.goal-toolbar{flex-direction:column;align-items:stretch}.goal-toolbar>button{justify-content:center;width:100%}.goal-meta{flex-direction:column;gap:4px}.family-calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;overflow:visible}.calendar-day{min-height:clamp(62px,14vw,92px);padding:6px}.calendar-first{font-size:.7rem}.calendar-weekday{font-size:.72rem}.calendar-toolbar>div{justify-content:space-between}.calendar-toolbar>div strong{text-align:center}}.page-home{--primary:#168a7a;--primary-2:#38b86f;--glow:#168a7a40;--section-soft:#168a7a21}.page-routines{--primary:#3f67dc;--primary-2:#7657d6;--glow:#3f67dc42;--section-soft:#3f67dc21}.page-calendar{--primary:#1688c7;--primary-2:#20b8a6;--glow:#1688c740;--section-soft:#1688c721}.page-goals{--primary:#b77800;--primary-2:#e4a11b;--glow:#e4a11b3d;--section-soft:#e4a11b24}.page-approvals{--primary:#7657d6;--primary-2:#a15ac7;--glow:#7657d642;--section-soft:#7657d624}.page-rewards{--primary:#d96745;--primary-2:#e4a11b;--glow:#d9674540;--section-soft:#d9674521}.page-family{--primary:#138a78;--primary-2:#31a8e0;--glow:#138a7840;--section-soft:#138a7821}.page-control{--primary:#4668c9;--primary-2:#20a5b8;--glow:#4668c940;--section-soft:#4668c921}.page-install{--primary:#168a5f;--primary-2:#20b8a6;--glow:#168a5f40;--section-soft:#168a5f21}.app .secondary{background:var(--section-soft);color:var(--primary);box-shadow:none}.app aside nav button{box-shadow:none!important;background:0 0!important}.app aside nav button.active{color:var(--primary);background:var(--section-soft)!important;box-shadow:inset 3px 0 var(--primary)!important}.app .title h1,.app .hero h1{background:linear-gradient(100deg,var(--text) 20%,var(--primary));color:#0000;-webkit-background-clip:text;background-clip:text}.app .eyebrow{color:var(--primary)!important}.nav-home svg{color:#168a7a}.nav-routines svg{color:#3f67dc}.nav-calendar svg{color:#1688c7}.nav-goals svg{color:#d29518}.nav-approvals svg{color:#8a61dd}.nav-rewards svg{color:#df704e}.nav-family svg{color:#20a18e}.nav-control svg{color:#5274d2}.nav-install svg{color:#24a06f}.page-home .child-card:nth-child(3n+1){border-top:4px solid #20b8a6}.page-home .child-card:nth-child(3n+2){border-top:4px solid #7657d6}.page-home .child-card:nth-child(3n){border-top:4px solid #e4a11b}.page-home .metrics div:first-child{background:#3478f61f}.page-home .metrics div:nth-child(2){background:#e4a11b21}.page-goals .goal-summary .card:first-child{background:linear-gradient(135deg,#e4a11b2e,var(--surface))}.page-goals .goal-summary .card:nth-child(2){background:linear-gradient(135deg,#1987542e,var(--surface))}.page-goals .goal-card.completed{background:linear-gradient(135deg,#1987541f,var(--surface))}.page-rewards .grid .card:nth-child(4n+1){border-top-color:#d96745}.page-rewards .grid .card:nth-child(4n+2){border-top-color:#7657d6}.page-rewards .grid .card:nth-child(4n+3){border-top-color:#20b8a6}.page-rewards .grid .card:nth-child(4n){border-top-color:#e4a11b}.page-approvals .badge.status-pending,.page-approvals .badge.status-waiting_approval{color:#7657d6;background:#7657d629}.page-control .inset{border-left:4px solid var(--primary)}.app .calendar-day{background:var(--surface)!important;color:var(--text)!important;box-shadow:0 10px 28px #00000014!important}.app .calendar-day:hover{background:var(--surface-2)!important;border-color:var(--primary)!important;box-shadow:0 13px 30px var(--glow)!important}.app .calendar-day.muted{pointer-events:none;box-shadow:none!important;background:0 0!important;border-color:#0000!important}.reward-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.reward-card{--reward:#d96745;--reward-soft:#d9674524;flex-direction:column;min-height:220px;display:flex;border-top:3px solid var(--reward)!important;background:var(--surface)!important}.reward-experience{--reward:#7657d6;--reward-soft:#7657d624}.reward-time{--reward:#1688c7;--reward-soft:#1688c726}.reward-voucher{--reward:#138a78;--reward-soft:#138a7824}.reward-allowance{--reward:#d29518;--reward-soft:#d2951826}.reward-special{--reward:#d96745;--reward-soft:#d9674524}.reward-card-head{grid-template-columns:auto 1fr auto;align-items:center;gap:9px;display:grid}.reward-icon{background:var(--reward-soft);width:42px;height:42px;color:var(--reward);border-radius:13px;place-items:center;display:grid}.reward-icon svg{width:22px}.reward-category{color:var(--reward);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:900}.reward-card-body{flex:1;margin:13px 0}.reward-card-body h3{margin:0 0 7px;font-size:1.1rem}.reward-card-body p{min-height:40px;color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 8px;line-height:1.45;display:-webkit-box;overflow:hidden}.reward-detail{color:var(--reward);align-items:center;gap:7px;font-size:13px;font-weight:800;display:inline-flex}.reward-detail svg{width:16px}.reward-card-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding-top:12px;display:flex}.reward-card-footer strong{color:var(--reward);align-items:center;gap:6px;font-size:.95rem;display:flex}.reward-card-footer strong svg{width:17px}.app .reward-edit{align-items:center;gap:6px;min-height:44px;padding:8px 10px;background:var(--reward-soft)!important;color:var(--reward)!important;box-shadow:none!important;display:flex!important}.reward-edit svg{width:15px}.title>button svg{vertical-align:middle;width:18px;margin-right:6px}@media (width<=1150px){.reward-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=650px){.reward-grid{grid-template-columns:1fr}.reward-card{min-height:0}.reward-card-head{grid-template-columns:auto 1fr auto}.reward-card-footer{flex-direction:row;align-items:center}.reward-edit{justify-content:center;width:auto}}.install-accordion{gap:10px;display:grid;grid-template-columns:1fr!important}.install-accordion .install-step{padding:0;transition:border-color .2s,background .2s;display:block;overflow:hidden}.install-accordion .install-step.expanded{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 7%,var(--surface))}.install-accordion .install-step.collapsed{background:var(--surface-2)}.install-step-head{text-align:left;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;width:100%;color:var(--text)!important;box-shadow:none!important;background:0 0!important;padding:15px 17px!important;display:grid!important}.install-step-head>span:nth-child(2){gap:3px;display:grid}.install-step-head b{font-size:1.05rem}.install-step-head small{color:var(--muted);font-weight:500}.install-step-head i{font-size:23px;font-style:normal;transition:transform .2s}.expanded .install-step-head i{transform:rotate(180deg)}.install-step-content{flex-direction:column;align-items:center;padding:0 18px 18px;display:flex}.install-step-content p{min-height:auto!important}.install-step-content .qr{width:min(260px,82vw)}.family-figures .figure{z-index:2}.family-figures .figure.child,.family-figures .head{z-index:4}.family-figures .body{z-index:2}.family-figures .face{z-index:6;width:34px;height:25px;position:absolute;top:27px;left:49px}.family-figures .figure.child .face{top:24px;left:41px}.family-figures .eye{background:#342c35;border-radius:50%;width:6px;height:8px;position:absolute;top:1px;box-shadow:inset 0 2px #fff3}.family-figures .eye-left{left:3px}.family-figures .eye-right{right:3px}.family-figures .smile{border-bottom:3px solid #8f493f;border-radius:0 0 14px 14px;width:15px;height:8px;position:absolute;top:12px;left:10px}.family-figures .adult-one .arm-right{z-index:7;animation:3.4s ease-in-out infinite hug-left;right:-4px;transform:rotate(-57deg)}.family-figures .adult-two .arm-left{z-index:7;animation:3.4s ease-in-out infinite hug-right;left:-3px;transform:rotate(57deg)}.family-figures .child .arm-left{z-index:6;left:4px;transform:rotate(42deg)}.family-figures .child .arm-right{z-index:6;right:4px;transform:rotate(-42deg)}.family-figures .adult-one .body{background:linear-gradient(145deg,#547ded,#3152a8)}.family-figures .adult-two .body{background:linear-gradient(145deg,#2ec7b6,#13897f)}.family-figures .child .body{background:linear-gradient(145deg,#ffb347,#ee755d)}@keyframes hug-left{0%,to{transform:rotate(-55deg)scaleY(1)}50%{transform:rotate(-61deg)scaleY(1.03)}}@keyframes hug-right{0%,to{transform:rotate(55deg)scaleY(1)}50%{transform:rotate(61deg)scaleY(1.03)}}.protection-trigger{z-index:12;cursor:pointer;touch-action:manipulation;border-radius:58px;width:116px;height:220px;bottom:0;left:154px;box-shadow:none!important;background:0 0!important;border:0!important;padding:0!important;position:absolute!important}.protection-trigger:hover,.protection-trigger:active{box-shadow:none!important;transform:none!important}.protection-trigger:focus-visible{outline-offset:8px;outline:3px solid #7edbf4!important}.protection-aura{z-index:1;opacity:0;filter:drop-shadow(0 0 20px #32c4ee59);pointer-events:none;background:radial-gradient(circle at 50% 46%,#48c2ff33,#2563eb14 58%,#0000 60%);border:3px solid #37d5c8bf;border-radius:50% 50% 44% 44%;width:185px;height:235px;position:absolute;bottom:18px;left:50%;transform:translate(-50%)scale(.6)}.is-protecting .protection-aura{animation:1.8s ease-out protection-pulse}.is-protecting .scene-shield{animation:1.8s cubic-bezier(.2,.8,.2,1) shield-protect}.is-protecting .adult-one{animation:1.8s cubic-bezier(.22,.8,.3,1) parent-left-protect}.is-protecting .adult-two{animation:1.8s cubic-bezier(.22,.8,.3,1) parent-right-protect}.is-protecting .child{animation:1.8s child-safe}.is-protecting .adult-one .arm-right{animation:1.8s cubic-bezier(.2,.8,.2,1) protect-arm-left}.is-protecting .adult-two .arm-left{animation:1.8s cubic-bezier(.2,.8,.2,1) protect-arm-right}.is-protecting .family-figures .eye{animation:1.8s happy-eyes}.is-protecting .scene-copy strong{color:#67d9cf;transition:color .25s}@keyframes parent-left-protect{0%,to{transform:translate(0)rotate(-1.5deg)}22%,72%{transform:translate(27px)rotate(5deg)}}@keyframes parent-right-protect{0%,to{transform:translate(0)rotate(1.5deg)}22%,72%{transform:translate(-27px)rotate(-5deg)}}@keyframes protect-arm-left{0%,to{transform:rotate(-55deg)}24%,72%{transform:translate(12px,48px)rotate(-82deg)scaleY(.92)}}@keyframes protect-arm-right{0%,to{transform:rotate(55deg)}24%,72%{transform:translate(-12px,48px)rotate(82deg)scaleY(.92)}}@keyframes child-safe{0%,to{transform:translateY(0)scale(1)}25%,72%{transform:translateY(5px)scale(.96)}}@keyframes protection-pulse{0%{opacity:0;transform:translate(-50%)scale(.55)}22%,68%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%)scale(1.16)}}@keyframes shield-protect{0%,to{transform:translateY(0)scale(1)}24%,68%{filter:drop-shadow(0 0 36px #3dd5e6d9);transform:translateY(16px)scale(.88)}}@keyframes happy-eyes{0%,to{transform:scaleY(1)}30%,66%{transform:scaleY(.35)}}.family-figures .adult-one .arm-left{z-index:8;transform-origin:50% 8%;animation:2.4s ease-in-out infinite hello-left;left:3px}.family-figures .adult-two .arm-right{z-index:8;transform-origin:50% 8%;animation:2.4s ease-in-out .22s infinite hello-right;right:2px}.is-protecting .adult-one .arm-left{z-index:10;animation:1.8s cubic-bezier(.2,.8,.2,1) outer-protect-left}.is-protecting .adult-two .arm-right{z-index:10;animation:1.8s cubic-bezier(.2,.8,.2,1) outer-protect-right}@keyframes hello-left{0%,38%,to{transform:rotate(15deg)}52%{transform:rotate(39deg)}65%{transform:rotate(12deg)}78%{transform:rotate(34deg)}}@keyframes hello-right{0%,38%,to{transform:rotate(-18deg)}52%{transform:rotate(-42deg)}65%{transform:rotate(-15deg)}78%{transform:rotate(-39deg)}}@keyframes outer-protect-left{0%,to{transform:rotate(15deg)}24%,72%{transform:translate(103px,55px)rotate(-82deg)scaleY(.92)}}@keyframes outer-protect-right{0%,to{transform:rotate(-18deg)}24%,72%{transform:translate(-103px,55px)rotate(82deg)scaleY(.92)}}.is-protecting .adult-one .arm-left,.is-protecting .adult-two .arm-right{z-index:20}.is-protecting .adult-one .arm-right,.is-protecting .adult-two .arm-left{z-index:18}.family-figures .child-one{transform-origin:50% 100%;animation-name:child-pair-sway;left:118px}.family-figures .child-two{transform-origin:50% 100%;animation-name:child-pair-sway;animation-delay:-1.25s;left:205px}.family-figures .child-two .body{background:linear-gradient(145deg,#ee7fb4,#a85cd7)}.family-figures .child-two .head:before{background:#513342;border-radius:55% 55% 35% 35%;inset:-8px 0 37px}.family-figures .child-two .head:after{content:"";z-index:-1;background:#513342;border-radius:50%;width:20px;height:42px;position:absolute;top:8px;right:-9px}.protection-trigger{width:205px;left:112px}.protection-aura{width:260px}.is-protecting .child-one{animation:1.8s child-safe-left}.is-protecting .child-two{animation:1.8s child-safe-right}@keyframes child-pair-sway{0%,to{transform:scale(.88)rotate(-1.5deg)translateY(0)}50%{transform:scale(.88)rotate(1.5deg)translateY(-5px)}}@keyframes child-safe-left{0%,to{transform:scale(.88)translate(0)}25%,72%{transform:scale(.86)translate(7px,5px)}}@keyframes child-safe-right{0%,to{transform:scale(.88)translate(0)}25%,72%{transform:scale(.86)translate(-7px,5px)}}.family-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.family-children-card{grid-column:1/-1}.family-card{min-width:0}.family-card-title{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding-bottom:12px;display:grid}.family-card-title>span,.family-device-icon{background:var(--section-soft);width:44px;height:44px;color:var(--primary);border-radius:14px;flex:none;place-items:center;display:grid}.family-card-title svg,.family-device-icon svg{width:22px}.family-card-title h2{margin:0;font-size:1.2rem}.family-card-title p{color:var(--muted);margin:3px 0 0;font-size:.88rem}.family-card-count{background:var(--surface-2);min-width:30px;height:30px;color:var(--muted);border-radius:999px;place-items:center;font-size:13px;display:grid}.family-children-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;display:grid}.family-children-list>.empty{grid-column:1/-1}.family-person{align-items:center;gap:12px;min-width:0;display:flex}.family-person-copy{min-width:0}.family-person-copy b{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.family-person-copy p{margin:4px 0 0;line-height:1.35}.family-person-action{grid-template-columns:auto minmax(0,1fr) auto;display:grid}.family-row-action{white-space:nowrap;align-self:center}.family-device{gap:10px;display:grid}.family-device-main{align-items:center;gap:12px;min-width:0;display:flex}.family-device-action{white-space:nowrap;justify-self:end;padding:8px 10px}.family-card .online{color:#087f5b}.family-card .offline{color:var(--muted)}@media (width<=980px){.family-overview{grid-template-columns:1fr}.family-children-card{grid-column:auto}.family-person-action{grid-template-columns:auto minmax(0,1fr)}.family-row-action{grid-column:2;justify-self:start;padding:7px 0}}@media (width<=650px){.family-children-list{grid-template-columns:1fr}}@media (width<=520px){.family-card{padding:17px}.family-card-title>span{width:40px;height:40px}.family-device-action{text-align:center;background:#b423181a;justify-self:stretch;width:100%}.family-person-action{grid-template-columns:auto minmax(0,1fr)}}.header-actions{align-items:center;gap:18px;display:flex}.logged-user{align-items:center;gap:9px;min-width:0;grid-template-columns:none!important;display:flex!important}.logged-user>svg{width:27px;color:var(--primary);flex:none}.logged-user>span{min-width:0;display:grid}.logged-user small{font-size:.72rem}.logged-user b{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.you-badge{background:var(--section-soft);color:var(--primary);vertical-align:middle;border-radius:99px;margin-left:6px;padding:3px 7px;font-size:.7rem;display:inline-flex}@media (width<=700px){.logged-user small{display:none}.logged-user b{max-width:105px}.header-actions{gap:5px}.refresh{padding-inline:5px}.refresh svg{margin:0}.refresh{font-size:0}}button,.button,input:not([type=checkbox]):not([type=radio]),select{min-height:48px}button:focus-visible,.button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 72%,white);outline-offset:3px}button:disabled,.button[aria-disabled=true]{cursor:not-allowed;opacity:.58;box-shadow:none!important;transform:none!important}.modal:focus{outline:none}.modal{overscroll-behavior:contain}.modal>.form-actions,.modal>form>.form-actions{z-index:3;padding:16px 22px max(16px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface-solid);margin:18px -22px -22px;position:sticky;bottom:-22px}@media (width<=520px){.modal-backdrop{align-items:end;padding:0}.modal{border-radius:20px 20px 0 0;width:100%;max-height:94dvh;padding:20px 16px}.modal>.form-actions,.modal>form>.form-actions{margin:16px -16px -20px;padding-inline:16px;bottom:-20px}.form-actions button{flex:1}}.home-section{gap:12px;margin-top:28px;display:grid}.section-heading{justify-content:space-between;align-items:end;gap:16px;display:flex}.section-heading h2{letter-spacing:-.025em;margin:0;font-size:24px}.section-support{color:var(--muted);margin:5px 0 0;font-size:14px}.section-count{border:1px solid var(--line);background:var(--surface-2);min-height:32px;color:var(--muted);border-radius:999px;align-items:center;padding:5px 11px;font-size:13px;font-weight:800;display:inline-flex}.child-status-card{min-height:0!important;padding:18px!important}.child-status-card .person>div{gap:3px;min-width:0;display:grid}.child-status-card h2{font-size:18px}.child-status-card small{color:var(--muted);font-size:12px}.attention-list{gap:10px;display:grid}.attention-row{align-items:center;gap:14px;padding:16px;display:flex}.attention-row h3{margin:0;font-size:16px}.attention-row p{color:var(--muted);margin:3px 0 0;font-size:14px}.daily-progress-card{grid-template-columns:1fr auto;align-items:end;gap:4px 12px;padding:16px;display:grid}.daily-progress-card span{color:var(--muted);font-size:14px}.daily-progress-card strong{grid-area:1/2/3;font-size:18px}.daily-progress-card small{color:var(--muted);font-size:12px}.daily-progress-track{background:var(--surface-2);border-radius:99px;grid-column:1/-1;height:6px;margin-top:8px;overflow:hidden}.daily-progress-track i{border-radius:inherit;background:var(--primary);height:100%;display:block}@media (width<=600px){.section-heading{flex-direction:column;align-items:stretch}.section-heading>button{width:100%}.attention-row{flex-wrap:wrap;align-items:flex-start}.attention-row>button{width:100%}}.review-context{align-items:center;gap:12px;margin-bottom:16px;display:flex}.review-context h3{margin:0;font-size:18px}.review-context p{color:var(--muted);margin:4px 0 0}.review-evidence{border:1px solid var(--line);background:var(--surface-2);border-radius:16px;place-items:center;min-height:240px;max-height:52dvh;display:grid;overflow:auto}.review-evidence>a{place-items:center;width:100%;height:100%;padding:8px;display:grid}.review-evidence .proof{object-fit:contain;border-radius:10px;width:100%;height:auto;max-height:48dvh;display:block}.review-no-proof{text-align:center;color:var(--muted);place-items:center;gap:8px;padding:28px;display:grid}.review-no-proof svg{width:36px;height:36px;color:var(--primary)}.review-no-proof b{color:var(--text)}.review-actions button{min-width:150px}@media (width<=520px){.review-evidence{min-height:190px;max-height:44dvh}.review-actions{grid-template-columns:1fr 1fr;display:grid}.review-actions button{min-width:0}}.control-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.control-grid>.card{min-width:0;margin:0}.control-balances{grid-template-columns:1fr 1fr;gap:8px;margin:16px 0;display:grid}.control-balances>div{background:var(--surface-2);border-radius:12px;gap:3px;padding:12px;display:grid}.control-balances span{color:var(--muted);font-size:12px}.control-balances strong{font-size:18px}.control-action-section{gap:7px;margin-top:14px;display:grid}.control-action-section>span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:850}.control-primary-action{width:100%}.control-quick-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.control-quick-actions button{justify-content:center;align-items:center;gap:7px;display:inline-flex}.control-quick-actions svg{width:18px}.control-grid .command{grid-template-columns:minmax(0,1fr) auto}.control-grid .command small{color:var(--muted);grid-column:1/-1}@media (width<=1050px){.control-grid{grid-template-columns:1fr}}@media (width<=520px){.control-balances{grid-template-columns:1fr 1fr}.control-quick-actions{grid-template-columns:1fr}.control-quick-actions button{width:100%}}.calendar-state{color:var(--muted);margin:0 0 12px}.page-calendar .error-banner{justify-content:space-between;align-items:center;gap:12px;display:flex}.page-calendar .error-banner button{flex:none}@media (width<=430px){.calendar-first{display:none}.calendar-day>small{margin-top:auto;font-size:.68rem}.calendar-colors{min-height:5px}.page-calendar .error-banner{flex-direction:column;align-items:stretch}}.calendar-child-filter{text-transform:none!important;justify-items:start!important;gap:7px!important;display:grid!important}.calendar-child-filter>span{color:var(--muted);font-size:13px;font-weight:800}.child-filter{scrollbar-width:none;gap:7px;max-width:100%;padding:2px;display:flex;overflow-x:auto}.child-filter::-webkit-scrollbar{display:none}.app .child-filter>button{border:1px solid var(--line);border-radius:999px;flex:none;align-items:center;gap:8px;min-height:48px;padding:5px 12px 5px 6px;display:inline-flex;background:var(--surface-2)!important;color:var(--muted)!important;box-shadow:none!important}.app .child-filter>button:hover{border-color:var(--primary);transform:none}.app .child-filter>button.selected{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 13%,var(--surface-solid))!important;color:var(--text)!important}.child-filter-all{background:var(--surface-solid);border-radius:50%;place-items:center;width:36px;height:36px;display:grid;color:var(--primary)!important}.child-filter-all svg{width:18px;height:18px}.child-filter .child-avatar{flex:none}.calendar-day.today{border-color:var(--primary)!important;box-shadow:inset 0 0 0 1px var(--primary)!important}.calendar-day.today>span{background:var(--primary);color:#fff;border-radius:50%;place-items:center;width:27px;height:27px;margin:-3px 0 0 -3px;display:grid}.calendar-children{align-items:center;height:23px;margin-top:6px;padding-left:1px;display:flex}.calendar-children .child-avatar{border:2px solid var(--surface);width:22px;height:22px;margin-left:-5px}.calendar-children .child-avatar:first-child{margin-left:0}.calendar-children .avatar-fallback{font-size:12px}.day-task>.child-avatar{flex:none}.day-task>span{flex:1}.day-task>small{white-space:nowrap}@media (width<=800px){.calendar-toolbar{align-items:stretch}.calendar-child-filter,.child-filter{width:100%}.calendar-toolbar>div:last-child{justify-content:space-between}}@media (width<=430px){.calendar-child-filter>span{font-size:12px}.app .child-filter>button{padding-right:10px}.calendar-children{height:18px;margin-top:3px}.calendar-children .child-avatar{width:18px;height:18px}.calendar-day.today>span{width:23px;height:23px}.calendar-day .avatar-fallback{font-size:9px}}.routine-child-group{gap:12px;display:grid}.routine-child-heading{align-items:center;gap:10px;margin:8px 0 0;display:flex}.routine-child-heading h2{margin:0;font-size:18px}.day-task>span{gap:3px;min-width:0;display:grid}.day-task>span small{color:var(--muted)}.approval-filter{justify-content:space-between;align-items:end;gap:16px;margin-bottom:20px;padding:16px;display:flex}.approval-filter>div{gap:7px;min-width:0;display:grid}.approval-filter>div>small{color:var(--muted);font-size:13px;font-weight:800}.approval-filter>span{color:var(--muted);flex:none;font-size:14px;font-weight:700}@media (width<=650px){.approval-filter{flex-direction:column;align-items:stretch}.approval-filter>span{padding-left:2px}}@media (width>=601px) and (width<=850px){.page-approvals .approval-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 16px;display:grid}.page-approvals .approval-row .actions{width:auto}.page-approvals .approval-row .actions button{white-space:nowrap}}.value-form{gap:16px;display:grid}.dialog-description{color:var(--muted);margin:0;line-height:1.55}.value-input{border:1px solid var(--line);background:var(--surface-solid);border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;margin-top:7px;display:grid;overflow:hidden}.value-input input{background:0 0;border:0;border-radius:0}.value-input small{color:var(--muted);padding:0 14px;font-weight:850}.value-presets{scrollbar-width:none;gap:7px;padding:2px;display:flex;overflow-x:auto}.value-presets::-webkit-scrollbar{display:none}.value-presets button{white-space:nowrap;flex:1 0 auto;min-width:72px}.value-presets .selected{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 13%,var(--surface-solid));color:var(--text)}.schedule-pattern{border:1px solid var(--line);border-radius:16px;gap:12px;margin:0;padding:14px;display:grid}.schedule-pattern legend{padding:0 6px;font-weight:850}.schedule-pattern>.check{min-height:48px;padding:8px 4px}.weekday-picker{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.weekday-picker label{border:1px solid var(--line);background:var(--surface-2);cursor:pointer;border-radius:10px;place-items:center;min-height:48px;display:grid}.weekday-picker label.selected{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 14%,var(--surface-solid));color:var(--primary)}.weekday-picker input{opacity:0;pointer-events:none;position:absolute}@media (width<=460px){.weekday-picker{grid-template-columns:repeat(4,1fr)}}.install-error{gap:12px;display:grid}.install-error p{margin:0}.install-error button{justify-self:start}.refresh-spin{animation:.8s linear infinite refresh-rotate}@keyframes refresh-rotate{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.refresh-spin{animation:none}}.empty-state-wide{grid-column:1/-1;justify-items:center;gap:12px;display:grid}.empty-state-wide .empty{width:100%}.empty-state-wide button{align-items:center;gap:8px;display:inline-flex}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background:var(--page);min-height:100%}body{-webkit-tap-highlight-color:transparent;min-height:100dvh;overflow-x:hidden}.app{min-height:100dvh}button,.button,a,input,select,textarea{touch-action:manipulation}input,select,textarea{font-size:max(16px,1rem)}.day-frequency-filters,.frequency-filters{-webkit-overflow-scrolling:touch;scrollbar-width:none}.day-frequency-filters::-webkit-scrollbar{display:none}.frequency-filters::-webkit-scrollbar{display:none}@media (width<=600px){aside{width:min(320px,88vw);padding:max(20px,env(safe-area-inset-top)) 18px max(18px,env(safe-area-inset-bottom));visibility:hidden;pointer-events:none;box-shadow:none;transform:translate(-105%)}aside.open{width:min(320px,88vw);padding:max(20px,env(safe-area-inset-top)) 18px max(18px,env(safe-area-inset-bottom));visibility:visible;pointer-events:auto;transform:translate(0);box-shadow:15px 0 40px #06112670}aside .brand,aside nav button,aside .logout,aside:not(.open) nav button,aside:not(.open) .logout{gap:12px;width:100%;padding-inline:12px}aside:not(.open) .brand{gap:9px}aside:not(.open) .nav-count,aside:not(.open) .theme-control{display:flex}header{min-height:calc(64px + env(safe-area-inset-top));height:auto;padding:max(8px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) 8px max(10px,env(safe-area-inset-left));gap:6px;margin-left:0}header>div:first-of-type{flex:1;min-width:0}header>div:first-of-type b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}header>div:first-of-type small{display:none}.content{width:100%;padding:20px max(16px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));margin-left:0}.header-actions{flex:0 auto;min-width:0}.logged-user,.logged-user span{min-width:0}.logged-user b{text-overflow:ellipsis;white-space:nowrap;max-width:92px;display:block;overflow:hidden}.refresh,.icon.mobile{min-width:48px;padding:8px}.toast{right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));left:max(12px,env(safe-area-inset-left));text-align:center}.grid{grid-template-columns:minmax(0,1fr)}.card{min-width:0}}@media (hover:none) and (pointer:coarse){button:hover,.button:hover,.calendar-day:hover{box-shadow:none;transform:none}.drag-handle{display:none}}@media (width<=600px){.title{flex-direction:column;margin-bottom:20px}.title>button{width:100%}.routine-filters{margin-inline:0;padding:14px;position:relative;overflow:hidden}.routine-filters label{max-width:none}.frequency-filters{overscroll-behavior-inline:contain;scroll-snap-type:x proximity;flex-wrap:nowrap;width:100%;padding:2px 1px 6px;overflow-x:auto}.frequency-filters button{white-space:nowrap;scroll-snap-align:start;flex:none}.routine-frequency-group{gap:8px}.frequency-title{margin-top:6px}.routine-child-group{gap:9px}.routine-child-heading{top:calc(64px + env(safe-area-inset-top));z-index:4;background:var(--page);margin:0;padding:8px 4px;position:sticky}.page-routines .row{gap:10px;padding:14px}.page-routines .row .grow{flex:calc(100% - 116px)}.page-routines .row .grow p{font-size:13px;line-height:1.4}.page-routines .row .actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.page-routines .row .actions button{width:100%;padding-inline:10px}.page-routines .order{width:40px;height:40px}.calendar-toolbar{gap:12px;margin-bottom:12px}.calendar-toolbar>label{width:100%}.family-calendar{gap:4px}.calendar-weekday{padding:5px 0;font-size:11px}.calendar-day{min-height:62px;box-shadow:none;border-radius:10px;padding:5px}.calendar-day>span{font-size:13px}.calendar-colors{height:5px}.day-frequency-filters{overscroll-behavior-inline:contain;scroll-snap-type:x proximity;margin-inline:-16px;padding-inline:16px}.day-frequency-filters button{scroll-snap-align:start;flex:none}.day-task{align-items:flex-start;padding:11px}.approval-filter{margin-bottom:14px;padding:14px}.approval-row{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:14px;display:grid}.approval-row .actions{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;display:grid}.approval-row .actions:has(>button:only-child){grid-template-columns:1fr}.approval-row .actions button{width:100%;padding-inline:10px}.review-context{align-items:flex-start}.review-evidence{border-radius:12px;min-height:180px;max-height:42dvh}.review-evidence .proof{max-height:39dvh}.review-actions{gap:8px}.control-grid{gap:12px}.control-grid>.card{padding:16px}.control-grid .controls{margin-block:12px}}.check{min-height:48px}.map-link{align-items:center;min-height:48px;font-weight:750;display:inline-flex}:root{--shell-nav:248px;--content-max:1180px;--radius-card:16px;--radius-control:12px;--space-page:clamp(22px,3vw,36px)}.app{background:var(--page)}.app aside{width:var(--shell-nav);border-color:var(--line);background:var(--surface-solid);padding:24px 16px}.app aside .brand{padding:0 8px}.app aside nav{gap:4px;margin-top:28px}.app aside nav button,.app aside .logout{border-radius:12px;min-height:48px;padding:11px 12px}.app header{height:68px;margin-left:var(--shell-nav);padding:0 var(--space-page);border-color:var(--line);background:color-mix(in srgb,var(--surface-solid) 92%,transparent);-webkit-backdrop-filter:blur(18px)}.app .content{width:auto;max-width:none;margin-left:var(--shell-nav);padding:var(--space-page)}.app .content>*{width:min(100%,var(--content-max));margin-inline:auto}.app .title,.app .hero{margin-bottom:24px}.app .title h1,.app .hero h1{letter-spacing:-.035em;font-size:clamp(30px,3vw,40px);line-height:1.08}.app .title p,.app .hero p{max-width:680px;line-height:1.55}.app .card,.app .empty,.app .modal{border-radius:var(--radius-card);border-color:var(--line);box-shadow:none}.app .card{padding:18px}.app button,.app .button,.app input,.app select,.app textarea{border-radius:var(--radius-control)}.app .grid,.app .columns,.app .list{gap:14px}.app .toast{border:1px solid #ffffff1f;box-shadow:0 16px 42px #00000038}.app .error-banner,.app .offline-banner{background:var(--surface);color:var(--text)}.app .error-banner{border-color:color-mix(in srgb,var(--status-danger) 35%,var(--line))}.app .offline-banner{border-color:color-mix(in srgb,var(--status-offline) 40%,var(--line))}.app .error-banner>svg{color:var(--status-danger)}.app .offline-banner>svg{color:var(--status-offline)}@media (width>=851px){.app .content{min-height:calc(100dvh - 68px)}}@media (width>=601px) and (width<=850px){.app header,.app .content{margin-left:64px}.app header{padding-inline:22px}.app .content{padding:24px}}@media (width<=600px){:root{--radius-card:15px}.app header,.app .content{margin-left:0}.app .content{padding-top:18px}.app .title,.app .hero{margin-bottom:18px}.app .title h1,.app .hero h1{font-size:30px}.app .card{padding:16px}.app .content>*{width:100%}}#root .app aside nav button,#root .app aside .logout{color:var(--muted)!important;box-shadow:none!important;background:0 0!important}#root .app aside nav button.active{background:var(--section-soft)!important;color:var(--brand)!important;box-shadow:inset 3px 0 var(--brand)!important}#root .app .theme-control button{color:var(--muted)!important;box-shadow:none!important;background:0 0!important}#root .app .theme-control button.selected{background:var(--surface-solid)!important;color:var(--brand)!important;box-shadow:inset 0 0 0 1px var(--line)!important}:root{--page:#f4f6f8;--surface:#fff;--surface-solid:#fff;--surface-2:#f0f3f5;--text:#12171c;--muted:#65717d;--line:#dce2e7;--brand:#176f64;--primary:#176f64;--primary-2:#176f64;--section-soft:#176f6417;--glow:#176f6417;--on-primary:#fff;--shadow-soft:0 1px 2px #10182808,0 8px 24px #10182809;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Inter,system-ui,sans-serif}:root[data-theme=dark]{--page:#111418;--surface:#191d22;--surface-solid:#191d22;--surface-2:#20262c;--text:#f4f6f7;--muted:#aab4be;--line:#303840;--brand:#72b8ad;--primary:#72b8ad;--primary-2:#72b8ad;--section-soft:#72b8ad1a;--glow:#72b8ad14;--on-primary:#071b18;--shadow-soft:0 1px 1px #00000038,0 12px 30px #0000001f}html,body{font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app .card,.app .empty,.app .modal{box-shadow:var(--shadow-soft)}.app .title h1,.app .hero h1{letter-spacing:-.04em;text-wrap:balance;font-weight:760}.app .title p,.app .hero p{color:var(--muted)}.app .section-heading h2,.app .home-section-title{letter-spacing:-.025em}.app button:not(.secondary):not(.link):not(.icon):not(.refresh):not(.logout):not(.goal-card-button):not(.danger):not(.danger-link):not(.icon-button),.app .button{background:var(--brand)!important;color:var(--on-primary)!important}.app .card{transition:border-color .18s,background .18s,box-shadow .18s}@media (hover:hover){.app .card:hover{border-color:color-mix(in srgb,var(--brand) 25%,var(--line));box-shadow:0 12px 34px #10182812}}@media (width<=600px){.app .content{padding-inline:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}.app .title h1,.app .hero h1{font-size:29px;line-height:1.1}.app .card{border-radius:16px}.attention-row{padding:15px}.attention-row>button{min-height:50px}}.empty{color:var(--muted);justify-items:center;gap:9px;display:grid}.empty>svg{width:24px;height:24px;color:var(--muted)}.app-loading{color:var(--text);gap:18px}.app-loading>.brand{justify-content:center}.app-loading>.refresh-spin{width:32px;height:32px;color:var(--primary);justify-self:center}.app-loading>div:last-child{gap:4px;display:grid}.app-loading b{font-size:18px}.app-loading span,.state-support{color:var(--muted)}.fatal-state-icon{color:#c94b43;justify-self:center;width:38px;height:38px}.state-support{max-width:440px;margin:0;line-height:1.55}.state-detail{background:color-mix(in srgb,#b42318 8%,var(--surface));border-radius:10px;max-width:520px;margin:0;padding:9px 12px;font-size:13px}.app .error-banner,.app .offline-banner{border:1px solid #0000;align-items:center;gap:11px;display:flex}.app .error-banner>svg,.app .offline-banner>svg{flex:none;width:21px}.app .error-banner>div,.app .offline-banner>div{flex:1;gap:2px;display:grid}.app .error-banner span,.app .offline-banner span{font-size:13px}.app .error-banner{background:color-mix(in srgb,#b42318 10%,var(--surface));color:#c94b43;border-color:#b4231847}.app .offline-banner{background:color-mix(in srgb,#b37700 10%,var(--surface));color:#b98218;border-color:#b377004d}.app .error-banner button{flex:none}.install-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.install-profile-card{border-top:3px solid var(--primary)}.install-profile-card>button{justify-content:center;align-items:center;display:inline-flex}@media (width<=700px){.install-profile-grid{grid-template-columns:1fr}.app .error-banner{flex-direction:column;align-items:stretch}.app .error-banner>svg{display:none}.app .error-banner button{width:100%}}body{background:var(--page)}.app button:not(.secondary):not(.link):not(.icon):not(.refresh):not(.logout):not(.goal-card-button):not(.danger):not(.danger-link):not(.icon-button),.app .button{background:var(--primary);box-shadow:none}.app .content>.card,.app .content>.grid>.card,.app .content>.list>.card{border-top:1px solid var(--line)}.app .card,.app .tilt-card,.app .tilt-card:hover{box-shadow:none;transform:none}.app .card-glow{display:none}.app .calendar-day,.app .calendar-day:hover{box-shadow:none!important;transform:none!important}.app .goal-progress i{background:var(--primary)}.app .secondary.selected,.app .secondary[aria-pressed=true]{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.app aside nav button,.app aside .logout{color:var(--muted)!important}.app aside nav button.active{color:var(--primary)!important}.app .theme-control button{color:var(--muted)!important;box-shadow:none!important;background:0 0!important}.app .theme-control button.selected{background:var(--surface-solid)!important;color:var(--primary)!important;box-shadow:inset 0 0 0 1px var(--line)!important}.reward-card{min-height:0;border:1px solid var(--line)!important;border-left:3px solid var(--reward)!important;background:var(--surface)!important}.reward-card-head{grid-template-columns:auto minmax(0,1fr) auto}.reward-card-head .badge{white-space:nowrap;grid-column:auto;justify-self:start}.reward-card-footer strong{color:var(--text)}.reward-card-footer strong svg{color:var(--reward)}.app .reward-edit{border:1px solid var(--line);background:var(--surface-2)!important;color:var(--text)!important}.logged-user-short{display:none}@media (width<=700px){.logged-user-full{display:none}.logged-user-short{display:block}.logged-user b{max-width:82px}}.login-card.tilt-card,.login-card.tilt-card:hover{transform:none;box-shadow:0 22px 60px #00000038}.login-card .card-glow{display:none}.login-button{border:1px solid var(--line);color:#18243a;background:#fff;justify-content:center;align-items:center;gap:10px;display:flex;box-shadow:0 10px 28px #00000029}.login-button:hover{background:#f7f9fc;box-shadow:0 12px 32px #0003}.google-mark{color:#4285f4;background:#fff;border-radius:50%;place-items:center;width:24px;height:24px;font-size:17px;font-weight:900;display:grid}.control-details{border-top:1px solid var(--line);margin-top:12px}.control-details summary{cursor:pointer;min-height:48px;color:var(--muted);justify-content:space-between;align-items:center;gap:12px;font-weight:800;list-style:none;display:flex}.control-details summary::-webkit-details-marker{display:none}.control-details summary:after{content:"+";color:var(--primary);font-size:22px}.control-details[open] summary:after{content:"−"}.control-details .inset{margin:4px 0 12px}.invite-code strong{overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.install-profile-card{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;display:grid}.install-profile-card h2{margin:0}.install-profile-card p{color:var(--muted);margin:4px 0}.install-profile-card>button{grid-column:1/-1;margin-top:0}@media (width<=600px){.family-overview{gap:12px}.family-card{padding:15px}.family-card-title{padding-bottom:8px}.family-person.line,.family-device.line{padding-block:12px}.family-device-action{min-height:48px}.page-rewards>.content>.grid{gap:12px}.reward-card{min-height:0;padding:16px}.reward-icon{border-radius:12px;width:42px;height:42px}.reward-icon svg{width:22px}.reward-card-body{margin:12px 0}.reward-card-body p{min-height:0;margin-block:6px 10px}.reward-card-footer{flex-direction:row;align-items:center;padding-top:12px}.app .reward-edit{justify-content:center;width:auto;min-width:96px}.install-profile-card{padding:16px}.install-step-head{padding:13px 14px!important}.install-step-content{padding:0 14px 14px}.install-step-content .qr{width:min(250px,78vw)}.pair-code strong{font-size:clamp(22px,7vw,28px)}.pair-admin{gap:6px}.pair-admin .danger-link{text-align:center;width:100%}.goal-summary{gap:8px}.goal-summary .card{gap:8px;padding:13px}.goal-summary b{font-size:20px}.goal-summary span{font-size:12px}.goal-toolbar{gap:10px}.goal-toolbar .frequency-filters{padding-bottom:2px}.goal-card-button{padding:16px}.goal-heading{gap:9px}.goal-heading h2{font-size:18px}.goal-heading p{font-size:13px;line-height:1.4}.goal-reward{align-items:flex-start}.goal-form fieldset{padding:12px}.goal-presets{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.goal-presets button{width:100%}input,select,textarea{min-width:0}input[type=date],input[type=time]{appearance:none;max-width:100%;display:block}.modal input,.modal select,.modal textarea{scroll-margin-bottom:120px}}@media (width>=601px) and (width<=1100px){.content{padding:24px max(24px,env(safe-area-inset-right)) max(32px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left))}.modal{width:min(720px,100% - 40px);max-height:calc(100dvh - 40px)}.reward-card{min-height:250px}.install-profile-card{min-height:0}}@media (width>=761px) and (width<=900px){.login-layout{grid-template-columns:1fr;align-content:center;gap:12px}.family-scene{min-height:340px;margin:-60px 0 -48px;transform:scale(.72)}.login-card{width:min(520px,100%);margin:auto}}@media (width>=900px) and (width<=1100px){.control-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (orientation:landscape) and (height<=700px){.modal-backdrop{padding:max(10px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));align-items:stretch}.modal{align-self:center;max-height:calc(100dvh - 20px)}.review-evidence{min-height:150px;max-height:36dvh}.review-evidence .proof{max-height:33dvh}}:root{--on-primary:#fff}:root[data-theme=dark]{--on-primary:#071e4c}.page-home{--primary:#0b7667}.page-routines{--primary:#3f67dc}.page-calendar{--primary:#0e7490}.page-goals{--primary:#8a5a00}.page-approvals{--primary:#7657d6}.page-rewards{--primary:#b84e2e}.page-family{--primary:#0b7667}.page-control{--primary:#4668c9}.page-install{--primary:#137a4b}:root[data-theme=dark] .page-home,:root[data-theme=dark] .page-family,:root[data-theme=dark] .page-install{--primary:#7dd6c8}:root[data-theme=dark] .page-routines,:root[data-theme=dark] .page-control{--primary:#a9bcff}:root[data-theme=dark] .page-calendar{--primary:#78d7ee}:root[data-theme=dark] .page-goals{--primary:#ffcd6a}:root[data-theme=dark] .page-approvals{--primary:#c8b5ff}:root[data-theme=dark] .page-rewards{--primary:#ffb39b}.app button:not(.secondary):not(.link):not(.icon):not(.refresh):not(.logout):not(.goal-card-button):not(.danger):not(.danger-link):not(.icon-button),.app .button{color:var(--on-primary)}@media (width>=1180px){.page-routines .routine-filters{grid-template-columns:260px minmax(0,1fr);align-items:end;padding:16px 18px}.page-routines .routine-filters label{max-width:none}.page-routines .routine-filters .frequency-filters{align-items:center;min-height:48px}.page-routines .routine-groups-all{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;column-gap:18px}}.page-routines .routine-groups{gap:18px}.page-routines .routine-child-group{align-content:start;gap:9px;min-width:0}.page-routines .routine-child-heading{border-bottom:1px solid var(--line);min-height:48px;margin:0;padding:4px 2px}.page-routines .routine-child-heading h2{font-size:17px}.page-routines .routine-frequency-group{gap:8px}.page-routines .frequency-title{text-transform:uppercase;letter-spacing:.07em;margin:4px 0 0;padding:6px 10px;font-size:13px;line-height:1}.page-routines .routine-task-card{border-radius:15px;gap:10px;min-height:76px;padding:12px 14px;border-left-width:3px!important}.page-routines .routine-task-card .order{border-radius:11px;flex:0 0 36px;width:36px;height:36px;font-size:14px}.page-routines .routine-task-card .avatar-small{width:34px;height:34px}.page-routines .routine-task-card .link{text-align:left;min-height:auto;padding:0}.page-routines .routine-task-card h3{font-size:15px;line-height:1.25}.page-routines .routine-task-card p{font-size:12px;line-height:1.35}.page-routines .routine-task-card .actions{flex-wrap:nowrap}.page-routines .routine-task-card .actions button{min-height:44px;padding:8px 10px;font-size:13px}.page-routines .routine-task-card .danger{border:1px solid color-mix(in srgb,#ef6a67 35%,var(--line));background:#ef6a6714}.family-person .danger,.family-device-action{border:1px solid color-mix(in srgb,#ef6a67 32%,var(--line));background:#ef6a6712;border-radius:10px;padding:8px 12px}@media (width<=1179px){.page-routines .routine-groups-all{grid-template-columns:1fr}}@media (width<=600px){.page-routines .routine-task-card{min-height:0;padding:12px}.page-routines .routine-task-card .actions{grid-template-columns:repeat(2,minmax(0,1fr))}.page-routines .routine-task-card .actions button{min-height:48px}}:root{--status-online:#067647;--status-offline:#667085;--status-danger:#b42318}:root[data-theme=dark]{--status-online:#75d7b0;--status-offline:#b8c2d0;--status-danger:#ff9b96}.online{color:var(--status-online)}.offline{color:var(--status-offline)}.danger,.danger-link,.family-device-action{color:var(--status-danger)!important}.app .menu-scrim,.app .menu-scrim:hover,.app .menu-scrim:active{z-index:19;border:0;border-radius:0;width:100%;height:100%;min-height:0;padding:0;position:fixed;inset:0;color:#0000!important;box-shadow:none!important;background:#040912ad!important;transform:none!important}@media (width>=601px) and (width<=850px){aside:not(.open){width:64px;padding:18px 10px}aside:not(.open) .brand{justify-content:center;gap:0;width:44px;font-size:0}aside:not(.open) .brand img{width:36px;height:36px}aside:not(.open) nav{width:44px;margin-top:28px}aside:not(.open) nav button,aside:not(.open) .logout{justify-content:center;gap:0;width:44px;padding:12px;font-size:0;overflow:hidden}aside:not(.open) nav button svg,aside:not(.open) .logout svg{flex:0 0 20px;width:20px;height:20px;margin:0}aside:not(.open) .nav-count,aside:not(.open) .theme-control{display:none!important}aside.open .brand,aside.open nav button,aside.open .logout{font-size:inherit}}:root{--brand:#0b7667;--primary:#0b7667;--primary-2:#0b7667;--section-soft:#0b76671c;--glow:#0b766724;--on-primary:#fff}:root[data-theme=dark]{--brand:#7dd6c8;--primary:#7dd6c8;--primary-2:#7dd6c8;--section-soft:#7dd6c81c;--glow:#7dd6c81f;--on-primary:#071f1c}.page-home,.page-routines,.page-calendar,.page-goals,.page-approvals,.page-rewards,.page-family,.page-control,.page-install{--primary:var(--brand);--primary-2:var(--brand);--section-soft:color-mix(in srgb,var(--brand) 11%,transparent);--glow:color-mix(in srgb,var(--brand) 14%,transparent)}:root[data-theme=dark] .page-home,:root[data-theme=dark] .page-routines,:root[data-theme=dark] .page-calendar,:root[data-theme=dark] .page-goals,:root[data-theme=dark] .page-approvals,:root[data-theme=dark] .page-rewards,:root[data-theme=dark] .page-family,:root[data-theme=dark] .page-control,:root[data-theme=dark] .page-install{--primary:var(--brand)}.app .brand{color:var(--brand)!important}.app .title h1,.app .hero h1{color:var(--text)!important;background:0 0!important}.app button:not(.secondary):not(.link):not(.icon):not(.refresh):not(.logout):not(.goal-card-button):not(.danger):not(.danger-link):not(.icon-button),.app .button{background:var(--brand)!important;color:var(--on-primary)!important;box-shadow:none!important}.app .secondary{border:1px solid var(--line);background:var(--surface-2)!important;color:var(--text)!important}.app aside nav button.active{background:var(--section-soft)!important;color:var(--brand)!important;box-shadow:inset 3px 0 var(--brand)!important}.app aside nav button.active svg{color:var(--brand)!important}.app .content>.card,.app .content>.grid>.card,.app .content>.list>.card{border-top-color:var(--line)!important}.app .frequency-filters .selected,.app .day-frequency-filters .selected,.app .goal-toolbar .selected{border-color:var(--brand)!important;background:var(--section-soft)!important;color:var(--text)!important;outline:1px solid var(--brand)!important}.page-goals .goal-summary .card:first-child,.page-goals .goal-summary .card:nth-child(2),.page-goals .goal-card.completed{background:var(--surface)!important}.goal-heading>svg,.goal-reward>svg{color:#d39b2a}.goal-progress i{background:#d39b2a!important}.goal-card.completed .goal-progress i{background:#21875b!important}.home-hero{border-bottom:1px solid var(--line);padding-bottom:4px}.home-section{gap:14px;margin-top:30px}.section-heading{align-items:center}.section-heading h2{font-size:21px;line-height:1.2}.child-status-grid,.daily-progress-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.child-status-card .person{align-items:center}.child-status-card h2{margin:0}.attention-row{border-left:3px solid var(--brand)}.attention-row>button{min-width:112px}.daily-progress-card{border-color:var(--line)}.family-card-title{min-height:54px}.family-card-title>span,.family-device-icon{background:var(--surface-2);width:40px;height:40px;color:var(--brand);border-radius:12px}.family-card-title h2{font-size:18px}.family-person.line,.family-device.line{min-height:68px}.family-device-action,.family-row-action{min-height:44px}.control-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.control-card{gap:14px;display:grid;margin:0!important;padding:18px!important}.control-card-head{border-bottom:1px solid var(--line);min-height:64px;padding-bottom:14px}.control-card-head h2{margin:0 0 5px;font-size:19px}.control-status{align-items:center;gap:6px;font-size:13px;font-weight:750;display:inline-flex}.control-status:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.control-card .control-balances{margin:0}.control-card .control-balances>div{border:1px solid color-mix(in srgb,var(--line) 72%,transparent);background:var(--surface-2);min-height:66px;padding:11px 12px}.control-card .control-action-section{margin-top:0}.control-card .control-primary-action{min-height:50px}.control-card .control-details{margin-top:0}.control-card-unlinked .empty{background:var(--surface-2);text-align:left;border-style:solid;justify-items:start;padding:18px}.routine-child-filter{gap:7px;min-width:0;display:grid}.routine-child-filter>small{color:var(--muted);font-size:13px;font-weight:800}.routine-filters{grid-template-columns:minmax(0,1fr);gap:12px}.routine-filters .frequency-filters{border-top:1px solid var(--line);padding-top:12px}.queue-heading{align-items:center;gap:9px;margin:26px 0 10px;font-size:18px;display:flex}.queue-heading .count{border:1px solid var(--line);background:var(--surface-2);min-width:28px;height:28px;color:var(--muted);place-items:center;margin:0;padding:0 8px;display:grid}.approval-row{min-height:76px}.approval-row h3{font-size:15px}.approval-row .actions button{min-height:44px}.day-groups:has(.empty){margin-top:0}@media (width<=1050px){.control-grid{grid-template-columns:1fr 1fr}}@media (width<=820px){.control-grid{grid-template-columns:1fr}.child-status-grid,.daily-progress-grid{grid-template-columns:1fr 1fr}}@media (width<=600px){.home-section{margin-top:24px}.child-status-grid,.daily-progress-grid{grid-template-columns:1fr}.section-heading{align-items:flex-start}.attention-row{border-left-width:1px}.family-card-title{min-height:48px}.control-card{padding:16px!important}.routine-filters .frequency-filters{flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.queue-heading{margin-top:22px}}.editor-form{gap:14px;display:grid}.form-intro{color:var(--muted);margin:-5px 0 2px;font-size:14px;line-height:1.5}.form-section{border:1px solid var(--line);background:color-mix(in srgb,var(--surface-2) 55%,transparent);border-radius:16px;min-width:0;margin:0;padding:16px;display:grid}.form-section>legend{color:var(--text);align-items:center;gap:8px;padding:0 7px;font-size:14px;font-weight:850;display:flex}.form-section>legend>span{background:var(--section-soft);width:24px;height:24px;color:var(--brand);border-radius:50%;place-items:center;font-size:12px;display:grid}.form-section label>small{color:var(--muted);font-size:12px;font-weight:650}.proof-setting{border:1px solid var(--line);background:var(--surface-solid);border-radius:12px;align-self:end;min-height:48px;padding:9px 11px}.proof-setting>span{gap:2px;display:grid}.proof-setting small{color:var(--muted);font-size:12px;font-weight:600;line-height:1.35}.form-error{border:1px solid color-mix(in srgb,var(--status-danger) 30%,var(--line));background:color-mix(in srgb,var(--status-danger) 8%,var(--surface));color:var(--status-danger);border-radius:12px;margin:0;padding:11px 13px;font-size:14px;font-weight:700}.text-review{grid-template-columns:1fr 1fr;gap:10px;display:grid}.text-review section{border:1px solid var(--line);background:var(--surface-2);border-radius:14px;min-width:0;padding:14px}.text-review section.recommended{border-color:color-mix(in srgb,var(--brand) 42%,var(--line));background:var(--section-soft)}.text-review span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:850}.text-review p{overflow-wrap:anywhere;margin:9px 0 0;line-height:1.5}.goal-form.editor-form fieldset{background:color-mix(in srgb,var(--surface-2) 55%,transparent)}.goal-form.editor-form>fieldset>legend{color:var(--text)}#root .app .calendar-day{border:1px solid var(--line)!important;background:var(--surface)!important;color:var(--text)!important;box-shadow:none!important}#root .app .calendar-day:hover{border-color:color-mix(in srgb,var(--brand) 52%,var(--line))!important;background:var(--surface-2)!important;color:var(--text)!important}#root .app .calendar-day.today{border-color:var(--brand)!important;background:color-mix(in srgb,var(--brand) 6%,var(--surface))!important}#root .app .calendar-day.muted{background:0 0!important;border-color:#0000!important}#root .app .child-filter>button{border:1px solid var(--line)!important;background:var(--surface-2)!important;color:var(--muted)!important}#root .app .child-filter>button.selected{border-color:color-mix(in srgb,var(--brand) 62%,var(--line))!important;background:color-mix(in srgb,var(--brand) 10%,var(--surface-solid))!important;color:var(--text)!important}#root .app .child-filter-all{background:var(--surface-solid)!important;color:var(--brand)!important}#root .app .calendar-first{color:var(--text)!important}.skip-link{z-index:120;border:2px solid var(--brand);background:var(--surface-solid);color:var(--text);border-radius:10px;padding:11px 14px;font-weight:850;text-decoration:none;transition:transform .16s;position:fixed;top:10px;left:10px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}#main-content:focus{outline:none}html{-webkit-text-size-adjust:100%;scroll-padding-top:88px}.app button,.app .button,.app input,.app select,.app textarea{touch-action:manipulation}.app button,.app .button{-webkit-tap-highlight-color:transparent}.app .icon-button{border-radius:12px;flex:0 0 48px;place-items:center;width:48px;height:48px;padding:0;display:grid}.app .modal-head{gap:16px;min-height:48px}.app .modal-head h2{margin:0;font-size:20px;line-height:1.25}.app .modal-backdrop{overscroll-behavior:contain}.app :where(button,.button,a[href],input,select,textarea,[tabindex]):focus-visible{outline:3px solid color-mix(in srgb,var(--brand) 72%,white);outline-offset:3px}@media (width<=600px){.editor-form{gap:12px}.form-section{gap:12px;padding:13px}.text-review{grid-template-columns:1fr}.proof-setting{align-self:stretch}.app .modal{padding-top:max(16px,env(safe-area-inset-top))}.app .modal-head{z-index:4;top:calc(-1 * max(16px,env(safe-area-inset-top)));margin:calc(-1 * max(16px,env(safe-area-inset-top))) -16px 12px;padding:max(16px,env(safe-area-inset-top)) 16px 10px;background:var(--surface-solid);position:sticky}}@media (forced-colors:active){.app button,.app .button,.app input,.app select,.app textarea,.app .card,.app .modal,.form-section,.proof-setting{border:1px solid canvastext}.app button:focus-visible,.app .button:focus-visible,.app input:focus-visible,.app select:focus-visible,.app textarea:focus-visible{outline:3px solid highlight}.daily-progress-track i,.goal-progress i,.calendar-colors em{background:highlight!important}}
