/* v4.20.0 Child week completion and theme-aware celebrations. */
.child-completion-panel{width:min(840px,calc(100% - 24px));margin:14px auto 4px;padding:14px;border:1.5px solid #d4e8ef;border-radius:22px;background:linear-gradient(135deg,#fff,#eefaff);box-shadow:0 7px 18px rgba(7,59,103,.08);color:var(--lunchadoo-navy)}
.child-completion-panel.theme-fantasy{background:linear-gradient(135deg,#fff8ff,#f1eaff);border-color:#d8c1f4}.child-completion-panel.theme-construction{background:linear-gradient(135deg,#fffbea,#fff1c2);border-color:#ecc85b}.child-completion-panel.theme-dinosaurs{background:linear-gradient(135deg,#f4fff4,#e1f5df);border-color:#a8d6a3}
.child-completion-progress{display:flex;align-items:center;justify-content:space-between;gap:12px}.child-completion-progress b,.child-completion-progress small{display:block}.child-completion-progress b{font-size:15px}.child-completion-progress small{margin-top:2px;color:#617b91;font-size:11px;font-weight:700}.child-completion-progress>span{font-size:12px;font-weight:900;color:#52728c}
.child-completion-track{height:8px;margin:10px 0 12px;border-radius:999px;background:rgba(7,59,103,.09);overflow:hidden}.child-completion-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#38bf94,#58c8d0);transition:width .3s ease}.theme-fantasy .child-completion-track i{background:linear-gradient(90deg,#9e6ce4,#f274a1)}.theme-construction .child-completion-track i{background:linear-gradient(90deg,#f0a900,#ffca3a)}.theme-dinosaurs .child-completion-track i{background:linear-gradient(90deg,#50a85c,#8fd17e)}
.child-completion-done{width:100%;border:0;border-radius:16px;padding:12px 16px;background:linear-gradient(135deg,#31bfc1,#35b978);color:#fff;font-size:16px;font-weight:950;box-shadow:0 5px 12px rgba(49,191,193,.2)}.child-completion-done:disabled{background:#edf2f5;color:#8499aa;box-shadow:none;cursor:default}
.child-completion-panel.ready{display:flex;align-items:center;gap:11px;background:linear-gradient(135deg,#effcf6,#e3f8ee);border-color:#8dd8b8}.child-completion-panel-icon{width:42px;height:42px;border-radius:14px;background:#fff;display:grid;place-items:center;font-size:24px;flex:0 0 auto}.child-completion-panel.ready>div{flex:1}.child-completion-panel.ready b,.child-completion-panel.ready small{display:block}.child-completion-panel.ready small{margin-top:2px;color:#5f7e70;font-size:11px;font-weight:700}.child-completion-panel.ready button{border:1px solid #9bdabf;border-radius:13px;background:#fff;color:#176b4b;padding:9px 11px;font-size:11px;font-weight:900}
.child-ready-review-pill,.home-child-ready-badge{display:inline-flex;align-items:center;width:max-content;border-radius:999px;background:#dff7ec;border:1px solid #8cd7b7;color:#176b4b;font-size:10px;font-weight:900;white-space:nowrap}.child-ready-review-pill{margin-top:5px;padding:4px 7px}.home-child-ready-badge{padding:6px 9px}
.child-completion-modal{width:min(500px,100%);overflow:hidden;text-align:center;background:linear-gradient(180deg,#f4fdff,#fff 58%);border:2px solid #d7edf4}.child-completion-celebration h2{margin:7px 0 5px;color:var(--lunchadoo-navy);font-size:28px}.child-completion-celebration>p{max-width:360px;margin:0 auto;color:#58748a;font-weight:750;line-height:1.4}.child-completion-kicker{display:inline-block;border-radius:999px;background:#dff7ef;color:#227553;padding:5px 9px;font-size:10px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.child-celebration-stage{height:205px;position:relative;margin:-7px auto 2px;overflow:hidden}.child-celebration-stage img{position:absolute;z-index:3;left:50%;bottom:8px;width:150px;height:142px;object-fit:contain;transform:translateX(-50%);animation:childMascotCelebrate 1.05s cubic-bezier(.2,.8,.25,1) both}.child-celebration-prop{position:absolute;z-index:2;left:17%;bottom:33px;font-size:68px;filter:drop-shadow(0 6px 6px rgba(7,59,103,.11));animation:childPropCelebrate 1.15s cubic-bezier(.15,.75,.2,1) both}
.child-celebration-particle{position:absolute;z-index:4;font-size:25px;opacity:0;animation:childParticleBurst 1.25s ease-out both}.particle-1{left:12%;top:34%;--tx:-12px;--ty:-42px;animation-delay:.05s}.particle-2{left:29%;top:20%;--tx:-4px;--ty:-46px;animation-delay:.13s}.particle-3{right:28%;top:18%;--tx:4px;--ty:-48px;animation-delay:.2s}.particle-4{right:11%;top:36%;--tx:14px;--ty:-40px;animation-delay:.09s}.particle-5{left:21%;bottom:19%;--tx:-24px;--ty:-25px;animation-delay:.24s}.particle-6{right:19%;bottom:19%;--tx:24px;--ty:-25px;animation-delay:.28s}
.theme-fantasy .child-celebration-stage{background:radial-gradient(circle at 50% 72%,rgba(238,209,255,.65),transparent 48%)}.theme-construction .child-celebration-stage{background:radial-gradient(circle at 50% 72%,rgba(255,220,105,.55),transparent 48%)}.theme-dinosaurs .child-celebration-stage{background:radial-gradient(circle at 50% 72%,rgba(176,230,169,.6),transparent 48%)}
.celebration-fantasy-unicorn .child-celebration-prop,.celebration-construction-truck .child-celebration-prop,.celebration-construction-tractor .child-celebration-prop{animation-name:childPropDrive}.celebration-dinosaurs-dance .child-celebration-prop,.celebration-lunchadoo-party .child-celebration-prop{animation-name:childPropDance}.celebration-dinosaurs-hatch .child-celebration-prop,.celebration-fantasy-magic .child-celebration-prop{animation-name:childPropPop}.celebration-construction-crane .child-celebration-prop{transform-origin:50% 100%;animation-name:childPropLift}
@keyframes childMascotCelebrate{0%{transform:translateX(-50%) translateY(35px) scale(.82);opacity:0}45%{transform:translateX(-50%) translateY(-12px) scale(1.06)}70%{transform:translateX(-50%) translateY(2px) scale(.98)}100%{transform:translateX(-50%) translateY(0) scale(1);opacity:1}}
@keyframes childPropCelebrate{0%{transform:translateY(35px) rotate(-12deg) scale(.6);opacity:0}55%{transform:translateY(-9px) rotate(7deg) scale(1.1)}100%{transform:none;opacity:1}}
@keyframes childPropDrive{0%{transform:translateX(-120px) rotate(-8deg);opacity:0}65%{transform:translateX(8px) rotate(4deg)}100%{transform:none;opacity:1}}
@keyframes childPropDance{0%{transform:scale(.5) rotate(-14deg);opacity:0}35%{transform:scale(1.12) rotate(12deg)}65%{transform:scale(.95) rotate(-7deg)}100%{transform:none;opacity:1}}
@keyframes childPropPop{0%{transform:scale(.2);opacity:0}58%{transform:scale(1.25)}78%{transform:scale(.9)}100%{transform:scale(1);opacity:1}}
@keyframes childPropLift{0%{transform:translateY(55px) scale(.7);opacity:0}60%{transform:translateY(-10px) scale(1.08)}100%{transform:none;opacity:1}}
@keyframes childParticleBurst{0%{transform:translate(0,18px) scale(.2) rotate(0);opacity:0}35%{opacity:1}75%{opacity:1}100%{transform:translate(var(--tx),var(--ty)) scale(1.12) rotate(28deg);opacity:0}}
@media(max-width:620px){.child-completion-panel{width:100%;margin:11px auto 3px;padding:12px;border-radius:18px}.child-completion-modal{padding:17px}.child-celebration-stage{height:180px}.child-celebration-stage img{width:134px;height:128px}.child-celebration-prop{left:12%;font-size:58px}.child-completion-celebration h2{font-size:24px}.child-completion-modal .modal-actions{display:grid;grid-template-columns:1fr 1fr;position:static;margin-top:14px;padding-bottom:0}.home-child-ready-badge{padding:5px 7px;font-size:10px}}
@media(max-width:390px){.child-completion-panel.ready{align-items:flex-start;flex-wrap:wrap}.child-completion-panel.ready>div{min-width:calc(100% - 56px)}.child-completion-panel.ready button{width:100%}}
@media(prefers-reduced-motion:reduce){.child-celebration-stage img,.child-celebration-prop,.child-celebration-particle{animation:none!important}.child-celebration-particle{opacity:1}.child-completion-track i{transition:none}}
