.guardian-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.guardian-stat{padding:18px;border:1px solid #dce5f6;border-radius:16px;background:#fff}.guardian-stat span{display:block;color:#74819a;font-size:12px}.guardian-stat b{display:block;margin-top:6px;font-size:25px;color:#17376f}.guardian-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.7fr);gap:18px}.guardian-card,.pickup-board,.portal-card{background:#fff;border:1px solid #dce5f6;border-radius:18px;padding:18px;box-shadow:0 8px 28px rgba(35,65,125,.06)}.guardian-row{display:grid;grid-template-columns:1.25fr 1fr 1fr auto;gap:12px;align-items:center;padding:14px;border-bottom:1px solid #edf1f8}.guardian-row:last-child{border-bottom:0}.guardian-person{display:flex;gap:10px;align-items:center}.guardian-person>span{width:40px;height:40px;border-radius:12px;background:#eef3ff;display:grid;place-items:center;font-size:20px}.guardian-person small,.guardian-row small{display:block;color:#7c879b;margin-top:3px}.guardian-actions{display:flex;gap:7px;flex-wrap:wrap}.guardian-status{padding:5px 9px;border-radius:999px;background:#fff1cd;color:#926700;font-size:11px}.guardian-status.active{background:#dcf8eb;color:#087551}.pickup-call{border:1px solid #dce5f6;border-radius:14px;padding:14px;margin-top:10px;background:#f8faff}.pickup-call.urgent{border-color:#ffbd61;background:#fff9e9}.pickup-call header{display:flex;justify-content:space-between;gap:10px}.pickup-call p{margin:8px 0;color:#40547b}.pickup-call footer{display:flex;gap:7px;flex-wrap:wrap}.pickup-alert-strip{border:1px solid #ffc45c;background:#fff8df;color:#6c4a00;border-radius:14px;padding:13px 15px;margin:0 0 14px;display:flex;justify-content:space-between;align-items:center;gap:12px}.pickup-alert-strip b{font-size:15px}.guardian-geo{margin-top:16px;background:#f5f8ff;border:1px solid #dce6fb;border-radius:15px;padding:15px}.guardian-geo-grid{display:grid;grid-template-columns:1fr 1fr 120px;gap:9px;margin-top:10px}.guardian-geo input{width:100%;border:1px solid #cfdaee;border-radius:10px;padding:10px}.parent-portal-screen{position:fixed;inset:0;z-index:10000;background:#f1f5ff;overflow:auto;color:#183569}.parent-portal-head{background:linear-gradient(135deg,#244dba,#5478ec);color:#fff;padding:22px max(22px,calc((100vw - 1080px)/2));display:flex;justify-content:space-between;align-items:center}.parent-portal-head button{background:#fff;color:#244dba;border:0;border-radius:10px;padding:9px 14px;font-weight:700}.parent-portal-main{max-width:1080px;margin:auto;padding:24px}.parent-welcome{border-radius:22px;padding:22px;background:linear-gradient(135deg,#fff,#eaf1ff);border:1px solid #d5e0f7}.parent-child-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:16px;margin-top:18px}.parent-child-card{background:#fff;border:1px solid #d9e2f3;border-radius:18px;padding:18px}.parent-child-card h3{margin:0 0 5px}.child-status-line{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.child-status-line div{background:#f5f8ff;border-radius:11px;padding:10px;text-align:center}.child-status-line small{display:block;color:#77849d}.parent-request{background:#fff;border:1px solid #dce5f6;border-radius:16px;padding:15px;margin-top:15px}.pickup-primary{width:100%;background:#315cff;color:#fff;border:0;border-radius:12px;padding:13px;font-weight:700}.pickup-primary:disabled{background:#aab5ca}.parent-login-note{font-size:12px;color:#74819a;background:#f5f8ff;border-radius:10px;padding:10px}.portal-notice{padding:12px;border-radius:12px;background:#eef5ff;margin-top:10px}.call-state{font-weight:700;color:#315cff}.guardian-empty{text-align:center;color:#77849a;padding:30px}.parent-login-entry{margin-top:9px;width:100%}@media(max-width:850px){.guardian-stats{grid-template-columns:1fr 1fr}.guardian-layout{grid-template-columns:1fr}.guardian-row{grid-template-columns:1fr}.guardian-geo-grid{grid-template-columns:1fr}.parent-portal-head{padding:18px}.parent-portal-main{padding:14px}}@media(max-width:520px){.guardian-stats{grid-template-columns:1fr}.child-status-line{grid-template-columns:1fr}}
