.pa{min-height:100vh;min-height:100dvh;background:#213e4e;color:#f7fbfc;padding:0 0 calc(48px + env(safe-area-inset-bottom));overflow-x:hidden}.paTop{display:flex;align-items:center;gap:14px;padding:calc(18px + env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) 18px max(24px,env(safe-area-inset-left));border-bottom:1px solid #4B7488;position:sticky;top:0;background:#213e4ef2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:5}.paTop b{font-size:clamp(.95rem,2vw,1.05rem)}.paTop small{display:block;color:#b9d3de;font-weight:500}.paTop .grow{flex:1;min-width:0}.paBody{max-width:1180px;margin:0 auto;padding:24px max(24px,env(safe-area-inset-right)) 24px max(24px,env(safe-area-inset-left))}.paStats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr));gap:14px;margin-bottom:22px}.paStats div{background:#2a5064;border:1px solid #4B7488;border-radius:14px;padding:16px;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.paStats div:hover{transform:translateY(-2px);border-color:#73aeca;box-shadow:0 10px 28px #10293644}.paStats b{display:block;font-size:clamp(1.35rem,5vw,1.6rem)}.paStats small{color:#b9d3de}.paCard{background:#2a5064;border:1px solid #4B7488;border-radius:16px;padding:18px;margin-bottom:18px;min-width:0}.paCard h2{font-size:1.05rem;margin:0 0 4px}.paCard p.sub{color:#b9d3de;font-size:.85rem;margin:0 0 14px}.paSearch{width:100%;background:#213e4e;border:1px solid #5B8294;color:#f7fbfc;border-radius:11px;padding:12px 13px;margin-bottom:14px;font-size:16px}.paSearch::placeholder{color:#afc8d2}.paOrg{display:flex;gap:14px;align-items:center;flex-wrap:wrap;border-top:1px solid #4B7488;padding:14px 0;min-width:0}.paOrg .grow{flex:1;min-width:min(180px,100%);overflow-wrap:anywhere}.paOrg b{display:block}.paOrg small{color:#b9d3de;overflow-wrap:anywhere}.paTag{border-radius:999px;padding:5px 10px;font-size:.72rem;font-weight:800;text-transform:uppercase;white-space:nowrap}.paTag.ok{background:#edf6fa;color:#23556d}.paTag.off{background:#5b2a25;color:#ffd0c8}.paMetrics{display:flex;gap:10px 14px;flex-wrap:wrap;color:#c8dde5;font-size:.8rem}.paBtn{min-height:44px;border:1px solid #73AECA;background:#2c6884;color:#fff;border-radius:10px;padding:9px 14px;font-weight:700;cursor:pointer;transition:transform .15s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease;touch-action:manipulation}.paBtn:hover{background:#23556d;border-color:#9ac8dc;box-shadow:0 6px 18px #10293644}.paBtn:active{transform:scale(.97)}.paBtn:focus-visible,.paSearch:focus-visible{outline:3px solid #E98A3166;outline-offset:2px}.paBtn.danger{border-color:#c45b50;background:#5b2a25;color:#ffd0c8}.paEvent{display:flex;gap:12px;border-top:1px solid #4B7488;padding:10px 0;font-size:.85rem;flex-wrap:wrap;overflow-wrap:anywhere}.paEvent time{color:#b9d3de;margin-left:auto}.paError{background:#5b2a25;border:1px solid #C45B50;color:#ffd0c8;border-radius:11px;padding:11px;margin-bottom:14px}.paEmpty{color:#b9d3de;padding:14px 0}@media(max-width:640px){.paTop{padding-top:calc(12px + env(safe-area-inset-top));padding-right:max(14px,env(safe-area-inset-right));padding-left:max(14px,env(safe-area-inset-left));gap:10px;align-items:flex-start;flex-wrap:wrap}.paTop .paBtn{margin-left:auto}.paBody{padding:16px max(14px,env(safe-area-inset-right)) 16px max(14px,env(safe-area-inset-left))}.paCard{padding:15px;border-radius:14px}.paOrg{align-items:flex-start;display:grid;grid-template-columns:1fr}.paOrg .paBtn{width:100%}.paMetrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.paEvent time{width:100%;margin-left:0}}@media(max-width:380px){.paStats,.paMetrics{grid-template-columns:1fr}.paTop small{font-size:.72rem}}@media(prefers-reduced-motion:reduce){.paStats div,.paBtn{transition:none}.paStats div:hover{transform:none}}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color:#17212b;background:#f6f8fb;font-synthesis:none}*{box-sizing:border-box}body{margin:0}.app{min-height:100vh;display:grid;grid-template-columns:260px 1fr}aside{background:#123b5d;color:#fff;padding:24px 16px;display:flex;flex-direction:column;position:fixed;width:260px;height:100vh;z-index:20}.brand{display:flex;align-items:center;gap:11px;font-size:18px;font-weight:800;padding:2px 8px 30px}.brand>span{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:#2e7d6e}.brand small,.user small{display:block;color:#9ebbb4;font-size:10px;font-weight:600;margin-top:2px;letter-spacing:.04em}.close{display:none;margin-left:auto;background:none;color:#fff;border:0}.brand svg{width:22px}.user{margin-top:auto;border-top:1px solid #28443e;padding:18px 7px 0;display:flex;align-items:center;gap:9px;font-size:12px}.user svg{margin-left:auto;color:#91aaa4}.avatar{width:35px;height:35px;border-radius:50%;background:#ddf8ec;color:#2e7d6e;display:grid;place-items:center;font-weight:800}nav{display:grid;gap:5px}nav button{background:none;border:0;color:#a9c2bc;display:flex;align-items:center;gap:12px;padding:12px;border-radius:9px;text-align:left;font-weight:650;font-size:14px;cursor:pointer}nav button:hover,nav button.active{background:#183d35;color:#fff}main{grid-column:2;min-width:0}header{height:88px;padding:18px 34px;background:#fff;border-bottom:1px solid #e2e9e7;display:flex;align-items:center;justify-content:space-between}h1{font-size:20px;margin:0 0 5px}header p,.panelHead p{margin:0;color:#72817d;font-size:12px}.role{display:flex;align-items:center;gap:9px;color:#77827f;font-size:11px}.role select{border:1px solid #dbe4e1;padding:10px 30px 10px 11px;border-radius:9px;background:#fff;font-weight:700}.content{padding:28px 34px;max-width:1300px;margin:auto}.hero{min-height:210px;border-radius:20px;padding:34px;display:flex;align-items:center;justify-content:space-between;color:#fff;background:radial-gradient(circle at 90% 20%,#236454 0,transparent 30%),linear-gradient(130deg,#123b5d,#1f5e8c);box-shadow:0 18px 45px #10352b24}.hero h2{font-size:32px;max-width:700px;line-height:1.15;margin:16px 0 10px}.hero p{color:#bed4ce;max-width:650px}.eyebrow,.safe,.authorized{display:inline-flex;align-items:center;gap:7px;text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:800;color:#60e1b2}.primary,.secondary{border:0;border-radius:10px;padding:13px 17px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}.primary{background:#2e7d6e;color:#fff}.hero .primary{background:#fff;color:#1f5e8c}.primary svg{width:18px}.secondary{background:#eef3f1;color:#27423a}.full{width:100%;margin-top:22px}.small{padding:9px 12px;font-size:12px;margin:0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:20px 0}.stat{background:#fff;border:1px solid #e0e8e5;border-radius:14px;padding:18px;display:flex;gap:13px;align-items:center}.stat>span{width:42px;height:42px;border-radius:11px;display:grid;place-items:center}.stat svg{width:20px}.stat .blue{color:#2077c8;background:#e8f3ff}.stat .purple{color:#7957c9;background:#f0ebff}.stat .gold{color:#a46a08;background:#fff4da}.stat .red{color:#ca3c45;background:#ffeaec}.stat b{font-size:25px}.stat small{display:block;color:#7d8986}.panel{background:#fff;border:1px solid #e1e8e6;border-radius:15px;overflow:hidden}.panelHead{padding:19px 21px;border-bottom:1px solid #edf1f0;display:flex;justify-content:space-between;align-items:center}.panelHead h3,.step h3{margin:0 0 5px}.live{font-size:10px;color:#0e9d6d;font-weight:900;background:#e9fff6;padding:6px 9px;border-radius:20px}.queueRow{display:flex;align-items:center;gap:12px;padding:15px 20px;border-bottom:1px solid #edf1f0}.grow{flex:1}.queueRow b{display:block;font-size:14px}.queueRow small{color:#7c8985}.studentAvatar,.bigAvatar{display:grid;place-items:center;border-radius:10px;background:#e6f5f0;color:#2e7d6e;font-weight:850}.studentAvatar{width:42px;height:42px}.status{font-size:10px;text-transform:uppercase;font-weight:900;padding:6px 9px;border-radius:15px}.status.requested{background:#eaf4ff;color:#2770ad}.status.verified{background:#f1ebff;color:#7553b5}.status.released{background:#fff2d9;color:#976416}.status.completed{background:#e7faef;color:#128054}.status.exception{background:#ffe9eb;color:#b42318}.empty{text-align:center;padding:55px;color:#8a9693}.empty svg{color:#b8c6c2}.empty h3{color:#53605d;margin-bottom:4px}.empty p{margin:0;font-size:13px}.narrow{max-width:720px;margin:auto}.step{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px}.step>span{background:#1f5e8c;color:#fff;border-radius:50%;width:28px;height:28px;display:grid;place-items:center;font-weight:800;font-size:12px}.step p{margin:0;color:#75817e;font-size:13px}.top{margin-top:30px}.cards{display:grid;gap:10px}.studentCard{background:#fff;border:2px solid #e0e7e5;border-radius:13px;padding:14px;display:flex;align-items:center;gap:12px;text-align:left;cursor:pointer}.studentCard>div:nth-child(2){flex:1}.studentCard small{display:block;color:#71807c;margin-top:3px}.studentCard.selected,.choices button.selected{border-color:#2e7d6e;background:#f1fff9}.check{border:2px solid #ccd8d4;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;color:#fff}.selected .check{background:#2e7d6e;border-color:#2e7d6e}.choices{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.choices button{background:#fff;border:2px solid #e0e7e5;padding:15px;border-radius:12px;text-align:left}.choices small,.choices b{display:block}.choices small{color:#76827f;margin-bottom:5px}.modal{position:fixed;z-index:50;top:0;right:0;bottom:0;left:0;background:#071b16cc;display:grid;place-items:center;padding:18px}.modalCard{position:relative;background:#fff;border-radius:22px;padding:30px;text-align:center;max-width:410px;width:100%}.modalCard h2{margin-bottom:4px}.modalCard p{color:#78837f;font-size:13px;margin-bottom:22px}.modalCard code{display:block;font-size:8px;margin:10px;color:#89928f;word-break:break-all}.modalCard .safe{color:#0a9163}.x{position:absolute;right:14px;top:10px;border:0;background:none;font-size:28px}.picked{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}.picked span{font-size:11px;background:#eaf6f2;padding:5px 8px;border-radius:10px}.scannerBox{text-align:center;background:#fff;border:1px solid #e0e8e5;border-radius:18px;padding:32px}.scannerBox>svg{color:#2e7d6e}.scannerBox p{color:#75817d;font-size:13px}.search{display:flex;align-items:center;border:1px solid #d6e0dd;border-radius:10px;padding:0 12px;margin-top:20px}.search svg{width:17px;color:#8b9894}.search input{border:0;outline:0;padding:13px;width:100%}.alert,.match{background:#fff;border-radius:14px;padding:20px;margin-top:16px;border:1px solid #e0e8e5}.alert{display:flex;gap:12px}.danger{border-color:#ffcfd2;color:#9b2832;background:#fff7f7}.alert p{margin:4px 0 0}.authorized{color:#098c61;background:#e8fff5;padding:7px 10px;border-radius:20px}.identity,.child{display:flex;align-items:center;gap:15px;padding:18px 0}.bigAvatar{width:70px;height:70px;border-radius:18px;font-size:23px}.identity small,.child small{color:#798682;font-size:9px;font-weight:900;letter-spacing:.09em}.identity h3{margin:3px 0}.identity p,.child p{margin:2px 0;color:#76817e;font-size:12px}.child{border-top:1px solid #e7edeb}.warning{background:#fff8e6;color:#795814;padding:12px;border-radius:9px;font-size:12px}.actions{display:flex;align-items:center;gap:7px}.iconDanger{border:0;background:#fff0f1;color:#b42318;width:35px;height:35px;border-radius:8px}.iconDanger svg{width:16px}.audit{display:flex;padding:15px 20px;border-bottom:1px solid #edf1f0;align-items:flex-start;gap:13px}.auditDot{width:9px;height:9px;background:#2e7d6e;border-radius:50%;margin-top:5px}.audit p{margin:3px 0;color:#75817e;font-size:12px}.audit time{font-size:11px;color:#87928f}.securityHero{background:#123b5d;color:#fff;padding:27px;border-radius:16px;display:flex;align-items:center;gap:18px}.securityHero>svg{width:48px;height:48px;color:#4bddaa}.securityHero h2,.securityHero p{margin:0}.securityHero p{color:#b9d1ca;margin-top:5px}.securityGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px}.securityGrid>div{background:#fff;border:1px solid #e0e8e5;padding:20px;border-radius:13px}.securityGrid svg{color:#2e7d6e}.securityGrid h3{font-size:14px}.securityGrid p{font-size:12px;color:#71807c}.hamb{display:none;background:none;border:0}.close{cursor:pointer}@media(max-width:800px){.app{display:block}aside{transform:translate(-100%);transition:.2s}.app aside.open{transform:translate(0);box-shadow:10px 0 30px #0005}.close,.hamb{display:block}main{grid-column:auto}header{padding:15px 18px;height:78px;gap:10px}.hamb{padding:0}header h1{font-size:17px}header p{display:none}.role span{display:none}.content{padding:18px}.hero{padding:23px;display:block;min-height:240px}.hero h2{font-size:27px}.hero .primary{margin-top:15px}.stats,.securityGrid{grid-template-columns:1fr 1fr}.choices{grid-template-columns:1fr}.queueRow{flex-wrap:wrap}.actions{width:100%;justify-content:flex-end}}@media(max-width:480px){.stats,.securityGrid{grid-template-columns:1fr}.stat{padding:13px}.role select{max-width:125px}.hero h2{font-size:24px}.panelHead{align-items:flex-start}.queueRow{padding:13px}.status{margin-left:auto}}.lp{background:#f6f8fb}.lpNav{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:18px;padding:14px 28px;background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid #e2e9e7;height:auto}.lpBrand{display:flex;align-items:center;gap:10px;font-weight:850;color:#123b5d;text-decoration:none;font-size:17px}.lpBrand>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#2e7d6e;color:#fff}.lpBrand svg{width:19px}.lpLinks{display:flex;gap:20px;margin-left:auto}.lpLinks a{color:#3d534d;text-decoration:none;font-weight:650;font-size:14px}.lpLinks a:hover{color:#2e7d6e}.lpAuth{display:flex;gap:9px}.lpAuth a{text-decoration:none}.lpHero{padding:80px 28px;color:#fff;background:radial-gradient(circle at 85% 15%,#236454 0,transparent 35%),linear-gradient(130deg,#123b5d,#1f5e8c)}.lpHero>div{max-width:900px;margin:auto}.lpHero h1{font-size:48px;line-height:1.08;margin:14px 0}.lpHero p{color:#c2d7d1;font-size:17px;max-width:680px}.lpCta{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.lpCta a{text-decoration:none}.lpCta .primary{background:#fff;color:#1f5e8c}.lpCta .secondary{background:#1c5346;color:#dff5ec}.lpSection{padding:64px 28px;max-width:1120px;margin:auto}.lpSection.alt{background:#fff;max-width:none;border-block:1px solid #e5ebe9}.lpSection.alt>*{max-width:1120px;margin-inline:auto}.lpSection h2{font-size:30px;margin:0 0 8px;text-align:center}.lpLede{text-align:center;color:#6d7b77;margin:0 auto 34px;max-width:620px}.lpGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.lpGrid article{background:#fff;border:1px solid #e1e8e6;border-radius:15px;padding:22px}.lpGrid svg{color:#2e7d6e;width:26px;height:26px}.lpGrid h3{font-size:16px;margin:12px 0 6px}.lpGrid p{margin:0;color:#6f7d79;font-size:14px;line-height:1.55}.lpPlans{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:start}.lpPlans article{background:#f8faf9;border:1px solid #e1e8e6;border-radius:16px;padding:24px}.lpPlans article.featured{background:#123b5d;color:#fff;border-color:#123b5d}.lpPlans h3{margin:0;font-size:15px;letter-spacing:.05em;text-transform:uppercase}.lpPlans b{display:block;font-size:34px;margin:8px 0 2px}.lpPlans small{color:#8b9793}.lpPlans article.featured small{color:#9dbdb3}.lpPlans ul{list-style:none;padding:0;margin:18px 0;display:grid;gap:9px;font-size:14px}.lpPlans li{display:flex;align-items:center;gap:8px}.lpPlans svg{color:#16b784}.lpPlans a{text-decoration:none;margin-top:6px}.lpFaq{display:grid;gap:10px;max-width:760px;margin:auto}.lpFaq details{background:#fff;border:1px solid #e1e8e6;border-radius:12px;padding:16px 18px}.lpFaq summary{font-weight:750;cursor:pointer}.lpFaq p{color:#6f7d79;margin:10px 0 0;font-size:14px}.lpContact{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.lpContact a{text-decoration:none}.lpFooter{background:#123b5d;color:#c3d7d1;padding:44px 28px}.lpFooter>div{max-width:760px;margin:auto}.lpFooter b{color:#fff;display:block;margin-bottom:8px}.lpFooter p{font-size:13px;line-height:1.6;margin:0}.lpFooter small{display:block;text-align:center;margin-top:28px;color:#7fa197;font-size:12px}.authWrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 0,#e2f4ed 0,#f6f8fb 55%)}.authCard{background:#fff;border:1px solid #e1e8e6;border-radius:20px;padding:30px;width:100%;max-width:430px;box-shadow:0 20px 50px #10352b12}.authCard h1{font-size:24px;margin:18px 0 6px}.muted{color:#72817d;font-size:13px;margin:0 0 18px}.authCard form,.stack{display:grid;gap:13px}label{display:grid;gap:6px;font-size:13px;font-weight:700;color:#354742}input,select,textarea{font:inherit;border:1px solid #d6e0dd;border-radius:10px;padding:12px;background:#fff;width:100%}input:focus,select:focus{outline:2px solid #2E7D6E55;border-color:#2e7d6e}.formError{background:#fff2f3;color:#a52e38;border:1px solid #ffd2d6;padding:11px;border-radius:10px;font-size:13px}.formNotice{background:#eefaf4;color:#0d7d59;border:1px solid #c8ecdd;padding:11px;border-radius:10px;font-size:13px}.inPanel{margin:16px 20px}.linkBtn{background:none;border:0;color:#2e7d6e;font-weight:700;font-size:13px;margin-top:16px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.tabs{display:flex;gap:6px;background:#eef3f1;padding:5px;border-radius:11px;margin-bottom:18px}.tabs button{flex:1;border:0;background:none;padding:10px;border-radius:8px;font-weight:750;font-size:13px;cursor:pointer;color:#5b6b66}.tabs button.active{background:#fff;color:#123b5d;box-shadow:0 2px 6px #123b5d0f}.codeBox{display:flex;align-items:center;gap:10px;background:#f2f7f5;border:1px dashed #b9d3c9;border-radius:12px;padding:14px;margin:14px 0}.codeBox code{font-size:18px;font-weight:800;letter-spacing:.12em;flex:1;word-break:break-all}.loadingScreen{min-height:100vh;display:grid;place-items:center;background:#f6f8fb}.spinner{width:34px;height:34px;border-radius:50%;border:3px solid #d5e5df;border-top-color:#2e7d6e;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.rowForm{display:flex;gap:10px;padding:18px 20px;flex-wrap:wrap}.rowForm input,.rowForm select{flex:1;min-width:150px;width:auto}.spaced{margin-bottom:16px}.iconGhost{margin-left:auto;background:none;border:0;color:#91aaa4;cursor:pointer;padding:6px}.iconGhost:hover{color:#fff}.search button{margin-left:8px;white-space:nowrap}.status.cancelled{background:#eef1f0;color:#66716e}@media(max-width:860px){.lpLinks{display:none}.lpHero{padding:56px 20px}.lpHero h1{font-size:33px}.lpGrid,.lpPlans{grid-template-columns:1fr}.lpSection{padding:44px 20px}.lpNav{padding:12px 16px;gap:10px}.lpAuth{margin-left:auto}}.groupRow{border:1px solid #e1e8e6;border-radius:14px;padding:14px 16px;margin-bottom:12px}.groupHead{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.groupHead .grow b{display:block}.groupHead .grow small{color:#75817e}.groupBody{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}.chip{display:inline-flex;align-items:center;gap:6px;background:#eef3f1;border:1px solid #e1e8e6;border-radius:999px;padding:5px 10px;font-size:.83rem}.chip button{background:none;border:0;color:#75817e;cursor:pointer;font-size:1rem;line-height:1}.chip button:hover{color:#b42318}.cameraBox{display:flex;flex-direction:column;gap:10px;align-items:center;width:100%}.cameraBox video{width:100%;max-width:420px;border-radius:14px;background:#000;aspect-ratio:4/3;object-fit:cover}.identityPhoto{border-radius:50%;object-fit:cover;background:#e6efec;color:#0d5f47;display:inline-grid;place-items:center;font-weight:800;flex:none}.identityPhoto.sm{width:40px;height:40px;font-size:.8rem}.identityPhoto.lg{width:76px;height:76px;font-size:1.2rem}.photoUploader{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.photoPick{display:inline-flex;align-items:center;position:relative;font-size:.83rem;font-weight:700;color:#0d8f63;cursor:pointer}.photoPick input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;height:100%;cursor:pointer}.photoError{color:#a52e38;font-size:.8rem}.exceptionForm{display:flex;flex-direction:column;gap:10px;min-width:min(340px,80vw)}.exceptionForm textarea{width:100%;min-height:74px;border:1px solid #dde5e2;border-radius:10px;padding:10px;font:inherit}.auditMeta{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.auditMeta span{background:#f2f7f5;border:1px solid #e1e8e6;border-radius:999px;padding:2px 9px;font-size:.75rem;color:#41544e}.auditNotes{font-size:.8rem;color:#5b6b66;margin-top:4px;word-break:break-word}.alertBell{position:relative;background:none;border:0;color:#0d2923;cursor:pointer;padding:8px}.alertBell b{position:absolute;top:2px;right:2px;background:#bf3640;color:#fff;border-radius:999px;font-size:.62rem;padding:1px 5px}.alertList{display:flex;flex-direction:column;gap:8px}.alertRow{display:flex;align-items:center;gap:10px;border:1px solid #ffe0b8;background:#fff9ef;border-radius:12px;padding:10px 12px}.alertRow .grow b{display:block}.adminSearch{padding:14px 20px}.adminSearch input{width:100%}@media(max-width:640px){.rowForm{flex-direction:column}.rowForm input,.rowForm select,.rowForm button{width:100%}.queueRow{flex-wrap:wrap}}html{width:100%;min-height:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}body,#root{width:100%;min-width:0;min-height:100%;min-height:100dvh;overflow-x:hidden}body{padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}img,svg,video,canvas{max-width:100%}button,a,input,select,textarea{max-width:100%}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button,.primary,.secondary,.linkBtn,.hamb,.close,.iconDanger,.iconGhost{transition:transform .15s ease,box-shadow .2s ease,background-color .2s ease,border-color .2s ease,color .2s ease}button:not(:disabled):active,.primary:not(:disabled):active,.secondary:not(:disabled):active{transform:scale(.97)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #2E7D6E55;outline-offset:2px}.primary,.secondary,.hamb,.close,.iconDanger,.iconGhost{min-height:44px}.app{min-height:100vh;min-height:100dvh}aside{height:100vh;height:100dvh;padding-top:calc(24px + env(safe-area-inset-top));padding-bottom:calc(24px + env(safe-area-inset-bottom));padding-left:max(16px,env(safe-area-inset-left))}main>header{padding-top:calc(18px + env(safe-area-inset-top));height:auto;min-height:88px;padding-right:max(34px,env(safe-area-inset-right))}.content{width:100%;min-width:0;padding-right:max(34px,env(safe-area-inset-right));padding-bottom:calc(28px + env(safe-area-inset-bottom));padding-left:max(34px,env(safe-area-inset-left))}.hero{overflow:hidden}.hero h2,.lpHero h1,.lpSection h2{font-size:clamp(1.5rem,5vw,3rem)}.panel,.scannerBox,.alert,.match,.studentCard,.securityHero,.securityGrid>div,.authCard,.lpGrid article,.lpFaq details{min-width:0}.queueRow,.identity,.child,.audit,.groupRow,.rowForm{min-width:0}.queueRow .grow,.identity>div,.child>div,.audit>div,.groupHead .grow{min-width:0;overflow-wrap:anywhere}.modal{padding:calc(18px + env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));overflow:auto}.modalCard{max-height:calc(100dvh - 36px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:auto}.lp{min-height:100dvh;overflow-x:hidden}.lpNav{top:0;padding-top:calc(14px + env(safe-area-inset-top));padding-right:max(28px,env(safe-area-inset-right));padding-left:max(28px,env(safe-area-inset-left));min-width:0}.lpBrand{flex:0 1 auto;min-width:0;white-space:nowrap}.lpAuth{min-width:0;flex-wrap:wrap;justify-content:flex-end}.lpHero,.lpSection,.lpFooter{padding-right:max(28px,env(safe-area-inset-right));padding-left:max(28px,env(safe-area-inset-left))}.authWrap{min-height:100vh;min-height:100dvh;padding-top:calc(24px + env(safe-area-inset-top));padding-right:max(24px,env(safe-area-inset-right));padding-bottom:calc(24px + env(safe-area-inset-bottom));padding-left:max(24px,env(safe-area-inset-left));align-content:center}.authCard{max-height:calc(100dvh - 48px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:auto}.lpGrid article,.stat,.panel,.authCard,.securityGrid>div{animation:k2pRise .45s ease both}.lpGrid article:nth-child(2),.stats .stat:nth-child(2){animation-delay:.04s}.lpGrid article:nth-child(3),.stats .stat:nth-child(3){animation-delay:.08s}.lpGrid article:nth-child(4),.stats .stat:nth-child(4){animation-delay:.12s}.primary:not(:disabled):hover,.secondary:not(:disabled):hover{box-shadow:0 8px 22px #123b5d1f;transform:translateY(-1px)}.lpGrid article,.stat,.securityGrid>div,.studentCard{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.lpGrid article:hover,.stat:hover,.securityGrid>div:hover,.studentCard:hover{transform:translateY(-2px);box-shadow:0 12px 28px #123b5d12}@keyframes k2pRise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:800px){aside{width:min(86vw,300px)}main>header{padding-top:calc(12px + env(safe-area-inset-top));padding-right:max(18px,env(safe-area-inset-right));padding-left:max(18px,env(safe-area-inset-left));min-height:calc(70px + env(safe-area-inset-top))}.content{padding-right:max(18px,env(safe-area-inset-right));padding-left:max(18px,env(safe-area-inset-left));padding-bottom:calc(18px + env(safe-area-inset-bottom))}.hamb,.close{min-width:44px;display:grid;place-items:center}.lpNav{padding-top:calc(10px + env(safe-area-inset-top));padding-right:max(14px,env(safe-area-inset-right));padding-bottom:10px;padding-left:max(14px,env(safe-area-inset-left));flex-wrap:wrap}.lpHero{padding-right:max(20px,env(safe-area-inset-right));padding-left:max(20px,env(safe-area-inset-left));padding-top:clamp(42px,10vw,56px)}.lpSection,.lpFooter{padding-right:max(20px,env(safe-area-inset-right));padding-left:max(20px,env(safe-area-inset-left))}.authWrap{padding-top:calc(16px + env(safe-area-inset-top));padding-right:max(16px,env(safe-area-inset-right));padding-bottom:calc(16px + env(safe-area-inset-bottom));padding-left:max(16px,env(safe-area-inset-left));align-content:start}.authCard{margin:auto;max-height:none}input,select,textarea{font-size:16px}.rowForm{display:grid;grid-template-columns:1fr}.rowForm input,.rowForm select,.rowForm button{width:100%;min-width:0}.panelHead{gap:10px;flex-wrap:wrap}.securityHero{align-items:flex-start}}@media(max-width:560px){.lpBrand{font-size:15px}.lpBrand>span{width:32px;height:32px}.lpAuth{gap:6px}.lpAuth .small{padding:8px 10px;font-size:11px;min-height:40px}.lpHero h1{font-size:clamp(2rem,10vw,2.65rem)}.lpHero p{font-size:15px}.lpCta{display:grid;grid-template-columns:1fr;width:100%}.lpCta a{width:100%}.authCard{padding:22px 18px;border-radius:16px}.hero{border-radius:16px;padding:20px;min-height:0}.hero h2{font-size:clamp(1.45rem,8vw,2rem)}.stats{grid-template-columns:1fr}.panelHead{padding:16px}.queueRow,.audit{padding:13px 16px}.identity,.child{align-items:flex-start}.bigAvatar{width:56px;height:56px;border-radius:14px;font-size:18px;flex:0 0 auto}.scannerBox{padding:20px 14px}.securityHero{padding:20px;display:grid;grid-template-columns:auto 1fr}.securityHero>svg{width:38px;height:38px}.securityGrid{grid-template-columns:1fr}.actions{display:grid;grid-template-columns:1fr;gap:8px}.actions>*{width:100%}.codeBox{display:grid;grid-template-columns:1fr}.codeBox .secondary{width:100%}}@media(max-width:390px){.lpNav{gap:7px}.lpBrand{font-size:14px;gap:7px}.lpBrand>span{width:30px;height:30px}.lpAuth{margin-left:auto}.lpAuth a:first-child{display:none}.lpAuth .small{padding:7px 9px}.content{padding-right:max(12px,env(safe-area-inset-right));padding-left:max(12px,env(safe-area-inset-left))}main>header{padding-right:max(12px,env(safe-area-inset-right));padding-left:max(12px,env(safe-area-inset-left));gap:6px}.role select{max-width:112px;padding-left:8px;padding-right:20px}.hero{padding:17px}.panel,.scannerBox,.alert,.match{border-radius:12px}.modal{padding-right:max(10px,env(safe-area-inset-right));padding-left:max(10px,env(safe-area-inset-left))}.modalCard{padding:24px 16px;border-radius:16px}}@media(max-width:330px){.lpAuth .small{font-size:10px;padding:7px 8px}.lpBrand{font-size:13px}.lpBrand>span{display:none}header h1{font-size:15px}.role select{max-width:100px;font-size:11px}}@media(hover:none){.lpGrid article:hover,.stat:hover,.securityGrid>div:hover,.studentCard:hover,.primary:not(:disabled):hover,.secondary:not(:disabled):hover{transform:none;box-shadow:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root{--k2p-blue:#2C6884;--k2p-blue-deep:#23556D;--k2p-blue-light:#73AECA;--k2p-orange:#E98A31;--k2p-orange-deep:#C96F1E;--k2p-gold:#E4B988;--k2p-slate:#5F6F76;--k2p-soft:#B9C4C7;--k2p-cream:#FAF9F5;--k2p-white:#FFFFFF;--k2p-ink:#263844;--k2p-border:#DDE5E7;--k2p-blue-wash:#EDF6FA;--k2p-orange-wash:#FFF3E8}html,body,#root{background:var(--k2p-cream);color:var(--k2p-ink)}body{background:linear-gradient(180deg,#fff 0,var(--k2p-cream) 48%,#f7f5ef 100%)}aside{background:linear-gradient(180deg,var(--k2p-blue-deep),var(--k2p-blue));color:#fff}.brand>span,.lpBrand>span{background:linear-gradient(135deg,var(--k2p-blue-light),var(--k2p-blue));box-shadow:0 6px 18px #2c688433}.brand small,.user small{color:#c4dce7}.user{border-top-color:#ffffff2b}.user svg{color:#d3e4eb}.avatar{background:#fff3e8;color:var(--k2p-orange-deep)}nav button{color:#d0e1e8}nav button:hover,nav button.active{background:#ffffff18;color:#fff;box-shadow:inset 3px 0 0 var(--k2p-orange)}header{background:#fff;border-bottom-color:var(--k2p-border)}header p,.panelHead p{color:var(--k2p-slate)}.role{color:var(--k2p-slate)}.role select{border-color:var(--k2p-border);color:var(--k2p-ink)}.hero,.lpHero{background:radial-gradient(circle at 88% 16%,#e98a3138 0,transparent 28%),radial-gradient(circle at 72% 90%,#73aeca30 0,transparent 30%),linear-gradient(130deg,var(--k2p-blue-deep),var(--k2p-blue))}.hero{box-shadow:0 18px 45px #2c688426}.hero p,.lpHero p{color:#d8e8ee}.eyebrow,.safe,.authorized{color:#ffd2a9}.primary{background:var(--k2p-blue);color:#fff;box-shadow:0 5px 14px #2c688425}.primary:hover{background:var(--k2p-blue-deep)}.primary:active{transform:translateY(1px)}.hero .primary,.lpCta .primary{background:var(--k2p-orange);color:#fff}.hero .primary:hover,.lpCta .primary:hover{background:var(--k2p-orange-deep)}.secondary{background:var(--k2p-blue-wash);color:var(--k2p-blue-deep);border:1px solid #cfe0e7}.secondary:hover{background:#e3f0f5}.lpCta .secondary{background:#ffffff17;color:#fff;border-color:#ffffff38}.panel,.stat,.studentCard,.choices button,.scannerBox,.alert,.match,.lpGrid article,.lpFaq details{border-color:var(--k2p-border);box-shadow:0 5px 18px #2c68840c}.panel,.stat,.studentCard,.choices button,.scannerBox,.alert,.match{background:#fff}.panelHead,.queueRow,.audit,.child{border-color:#e8edef}.studentCard.selected,.choices button.selected{border-color:var(--k2p-orange);background:var(--k2p-orange-wash)}.check{border-color:#c9d6db}.selected .check{background:var(--k2p-orange);border-color:var(--k2p-orange)}.search{border-color:#cfdcdf;background:#fff}.search:focus-within{border-color:var(--k2p-blue-light);box-shadow:0 0 0 3px #73aeca26}input:focus,select:focus,textarea:focus{outline:2px solid #73aeca66;outline-offset:1px}.studentAvatar,.bigAvatar{background:var(--k2p-blue-wash);color:var(--k2p-blue)}.scannerBox>svg,.securityGrid svg,.lpGrid svg{color:var(--k2p-orange)}.step>span{background:var(--k2p-blue)}.auditDot{background:var(--k2p-orange)}.picked span,.authorized{background:var(--k2p-blue-wash);color:var(--k2p-blue-deep)}.warning{background:#fff6e8;color:#805322;border:1px solid #f2d3ae}.status.requested{background:var(--k2p-blue-wash);color:var(--k2p-blue)}.status.verified{background:#eef2fb;color:#536b9b}.status.released{background:var(--k2p-orange-wash);color:#a75f1d}.status.completed{background:#edf7f2;color:#31735f}.status.exception{background:#fff0ef;color:#a73c32}.live{background:var(--k2p-blue-wash);color:var(--k2p-blue-deep)}.securityHero{background:linear-gradient(135deg,var(--k2p-blue-deep),var(--k2p-blue));box-shadow:0 14px 30px #2c688420}.securityHero>svg{color:#ffb66e}.securityHero p{color:#d7e6ec}.securityGrid>div{border-color:var(--k2p-border)}.lp{background:var(--k2p-cream)}.lpNav{border-bottom-color:var(--k2p-border);background:#fffdfbf2}.lpBrand{color:var(--k2p-blue-deep)}.lpLinks a{color:#52656e}.lpLinks a:hover{color:var(--k2p-orange-deep)}.lpSection.alt{border-color:var(--k2p-border);background:#fff}.lpGrid article{background:#fff}.lpPlans article{background:#fbfaf7;border-color:var(--k2p-border)}.lpPlans article.featured{background:linear-gradient(150deg,var(--k2p-blue-deep),var(--k2p-blue));border-color:var(--k2p-blue)}.lpPlans svg{color:var(--k2p-orange)}.modal{background:#1c3541cc}.modalCard{box-shadow:0 24px 70px #19374655}.modalCard .safe{color:var(--k2p-blue)}.iconDanger{background:#fff0ef;color:#a73c32}.formError,.paError{border-color:#efc8c2}button:focus-visible,a:focus-visible,[role=button]:focus-visible{outline:3px solid #e98a315c;outline-offset:2px}@media(max-width:800px){.app aside.open{box-shadow:12px 0 36px #19374655}}.brandMarkImg{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#fff;overflow:hidden;flex:0 0 auto;box-shadow:0 4px 12px #12283a1f}.brandMarkImg img{width:100%;height:100%;object-fit:contain}.brand .brandMarkImg{width:39px;height:39px;border-radius:12px}.brand>span.brandMarkImg,.lpBrand>span.brandMarkImg{background:#fff;box-shadow:0 4px 12px #12283a1f}.installBanner{position:relative;z-index:20;width:min(760px,calc(100vw - 24px));box-sizing:border-box;margin:12px auto 0;display:flex;align-items:center;gap:12px;padding:12px 62px 12px 14px;border:1px solid rgba(44,104,132,.2);border-radius:18px;background:#fffffffa;box-shadow:0 12px 32px #17212b1f;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:installRise .35s ease-out}.installIcon,.installModalIcon{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,#73aeca,#2c6884);color:#fff}.installCopy{display:flex;flex-direction:column;min-width:0;flex:1}.installCopy strong{color:#17212b;font-size:.96rem}.installCopy span{color:#637079;font-size:.82rem;line-height:1.35}.installButton{white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:7px}.installClose{position:absolute!important;right:10px!important;top:50%!important;left:auto!important;bottom:auto!important;transform:translateY(-50%)!important;margin:0!important;width:40px!important;height:40px!important;min-width:40px!important;padding:0!important;display:grid!important;place-items:center!important;border:0!important;border-radius:10px!important;background:var(--k2p-blue-wash)!important;color:var(--k2p-blue-deep)!important;cursor:pointer}.installOverlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:grid;place-items:end center;padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom));background:#17212b7a;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.installModal{position:relative;width:min(460px,100%);box-sizing:border-box;padding:24px;border-radius:24px;background:#fff;box-shadow:0 24px 80px #00000047;animation:installModalRise .28s ease-out}.installModalClose{position:absolute;right:14px;top:14px;border:0;border-radius:10px;background:var(--k2p-blue-wash);color:var(--k2p-blue-deep);width:40px;height:40px;display:grid;place-items:center;cursor:pointer}.installModal h2{margin:16px 46px 8px 0;color:#17212b}.installModal>p{margin:0 0 18px;color:#637079}.installAction,.installInstruction{width:100%;display:flex;align-items:flex-start;gap:12px;padding:12px;border:1px solid var(--k2p-border);border-radius:12px;background:var(--k2p-cream);color:var(--k2p-ink);text-align:left}.installAction{cursor:pointer;font:inherit}.installAction:hover{border-color:var(--k2p-blue-light);background:var(--k2p-blue-wash)}.installAction+.installInstruction,.installInstruction+.installInstruction{margin-top:10px}.installAction>span:last-child,.installInstruction>span:last-child{display:flex;min-width:0;flex-direction:column;gap:3px}.installAction small,.installInstruction small{color:var(--k2p-slate);font-size:.84rem;line-height:1.4}.installStepIcon,.installStepNumber{display:grid!important;place-items:center;flex:0 0 auto;width:34px;height:34px;border-radius:10px;background:var(--k2p-blue-wash);color:var(--k2p-blue-deep)!important;font-weight:800}.installStepNumber{font-size:.9rem!important}.installError{margin:10px 0 0!important;color:#a52e38!important;font-size:.84rem}.installModal .full{margin-top:16px}@keyframes installRise{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes installModalRise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media(max-width:640px){.installBanner{justify-content:center;gap:9px;padding:10px 58px 10px 12px;margin-top:8px}.installIcon{width:38px;height:38px;border-radius:11px}.installCopy{display:none}.installButton{flex:1;min-width:0;min-height:44px;padding-inline:12px}.installOverlay{place-items:end center}.installModal{max-height:calc(100dvh - 32px);overflow:auto;padding:22px 18px 18px;border-radius:22px}.installModal h2{padding-right:18px}}@media(prefers-reduced-motion:reduce){.installBanner,.installModal{animation:none}}.roleChoices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}.roleChoices button{min-height:76px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px solid #d8e1e5;border-radius:14px;background:#fff;color:#33424b;font-weight:700;cursor:pointer}.roleChoices button.selected{border-color:#2c6884;background:#eaf4f8;color:#2c6884;box-shadow:0 0 0 2px #2c688414}.teacherGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}.teacherCard{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid #dfe6e9;border-radius:16px;background:#fff;text-align:left}.teacherCard.selected{border-color:#2c6884;box-shadow:0 0 0 2px #2c68841a}.teacherCard .grow{min-width:0}.teacherCard p{margin:3px 0 0;color:#637079;font-size:.84rem}.teacherCard small{color:#2c6884;font-weight:700}.teacherMini{display:flex;align-items:center;gap:8px;margin-top:8px}.teacherMini .identityPhoto{width:32px;height:32px;min-width:32px}.teacherMini span{display:flex;flex-direction:column}.teacherMini span small{font-size:.75rem;color:#637079}.teacherChooser{display:grid;gap:10px}.teacherTools{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:10px}.teacherSearch{display:flex;align-items:center;gap:8px;min-height:46px;padding:0 12px;border:1px solid #d8e1e5;border-radius:12px;background:#fff}.teacherSearch svg{color:#2c6884;flex:0 0 auto}.teacherSearch input{border:0!important;outline:0;box-shadow:none!important;padding:0!important;min-height:40px;width:100%}.teacherTools select{min-height:46px}.setupGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.setupCard{padding:16px;border:1px solid #e0e6e8;border-radius:16px;background:#fff}.setupCard h4{margin:0 0 6px}.setupCard p{margin:0 0 14px;color:#637079}.rosterSummary{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 16px}.rosterSummary span{padding:8px 12px;border-radius:999px;background:#eef5f7;font-size:.85rem;font-weight:700;color:#2c6884}.rosterSummary.enhanced{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px}.rosterSummary.enhanced span{display:flex;flex-direction:column;gap:3px;border-radius:14px;padding:12px 14px}.rosterSummary.enhanced span b{font-size:1.4rem;line-height:1}.rosterSummary.enhanced span small{font-size:.72rem;color:#637079}.rosterSummary.enhanced span.attention{background:#fff4e8;color:#c96f1e}.fieldHelp{display:block;margin-top:5px;color:#7b8991;font-size:.75rem;font-weight:500}.profileForm{display:grid;gap:12px}.profileForm textarea{min-height:100px;resize:vertical}.studentSetup{display:grid;gap:14px}.studentSetup .panel{margin:0}.actions.vertical{flex-direction:column;align-items:stretch}.actions.vertical select{min-width:180px}.adminSimple,.selfPortal{min-height:100dvh;background:#f8fafb}.adminSimpleHeader,.selfPortalHeader{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:14px;min-height:68px;padding:max(12px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) 12px max(20px,env(safe-area-inset-left));background:#fffffff5;border-bottom:1px solid #e5eaed;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.adminSimpleHeader .secondary,.selfPortalHeader .secondary{margin-left:auto}.adminSimpleMain,.selfPortalMain{width:min(1100px,calc(100% - 32px));margin:0 auto;padding:26px 0 42px}.selfIdentity{display:flex;flex-direction:column;min-width:0}.selfIdentity b,.selfIdentity small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.selfIdentity small{color:#637079}.selfTabs{position:sticky;top:68px;z-index:35;display:flex;justify-content:center;gap:8px;padding:10px 16px;background:#f8fafbf5;border-bottom:1px solid #e8edef;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.selfTabs button{display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:0 14px;border:1px solid #dfe6e9;border-radius:999px;background:#fff;color:#4c5c65;font-weight:700;cursor:pointer}.selfTabs button.active{background:#2c6884;border-color:#2c6884;color:#fff}.selfPortalDismissal{min-height:calc(100dvh - 120px)}.selfPortalDismissal>.app{min-height:calc(100dvh - 120px)}.selfEmptyGate{width:min(620px,calc(100% - 32px));margin:32px auto;text-align:center;padding:28px}.selfEmptyGate>svg{width:42px;height:42px;color:#2c6884}.selfEmptyGate h2{margin:10px 0 6px}.selfEmptyGate p{color:#637079;margin:0 0 18px}.familyAccount{display:grid;gap:16px}.familyAccount>.panel,.familyAccount>.studentSetup{margin:0}.familyAccount .photoUploader{margin:8px 0 14px}.dividerText{display:flex;align-items:center;gap:12px;margin:16px 0;color:#87939a;font-size:.75rem;font-weight:800;letter-spacing:.08em}.dividerText:before,.dividerText:after{content:"";height:1px;background:#e5eaed;flex:1}.empty.compact{padding:22px}.formGrid3{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px}.schoolProfilePanel{margin-top:16px}.receiptStrip{width:min(1100px,calc(100% - 32px));margin:14px auto 0;display:grid;gap:10px}.receiptCard{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid #cfe0e8;border-radius:16px;background:#f4fbfe;box-shadow:0 8px 24px #2c688414}.receiptCard>svg{flex:0 0 auto;color:#2c6884}.receiptCard b{display:block;color:#17394a}.receiptCard p{margin:3px 0 0;color:#54656e}.receiptCard.warning{background:#fff8ee;border-color:#f0d0a9}.receiptCard.warning>svg{color:#c96f1e}.receiptCard.danger{background:#fff3f1;border-color:#efc0bb}.receiptCard.danger>svg{color:#b42318}.receiptCard .actions{flex-wrap:wrap}.receiptCard .actions button{white-space:nowrap}.formTwoCol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.optional{font-size:.74rem;color:#87939a;font-weight:600}.fileField{display:grid;gap:6px}.filePick{position:relative;display:flex;align-items:center;gap:8px;min-height:46px;padding:0 14px;border:1px dashed #b9c8cf;border-radius:12px;background:#fbfdfe;color:#2c6884;font-weight:700;cursor:pointer;overflow:hidden}.filePick input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.childProfile{padding:18px 0;border-top:1px solid #e7ecef}.childProfile:first-of-type{border-top:0}.childProfileHead{display:flex;align-items:flex-start;gap:14px}.childProfileHead h3{margin:0 0 4px}.childProfileHead p{margin:0;color:#637079}.childProfileHead>.secondary{margin-left:auto}.childProfileDetails{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin-top:14px;padding:14px;border-radius:14px;background:#f8fafb}.childProfileDetails>div{display:flex;flex-direction:column;gap:6px}.childProfileDetails>div>span:first-child{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:#87939a;font-weight:800}.childProfileDetails .wide{grid-column:1/-1}.childProfileDetails p{margin:0;color:#4e5e67}.childEditForm{margin-top:16px;padding:16px;border-radius:14px;background:#f8fafb}.childEditForm .actions{justify-content:flex-start}.studentSetup .status{display:inline-flex;align-items:center;gap:5px;width:max-content}.schoolMapCard{width:min(720px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto}.schoolMapFrame{width:100%;aspect-ratio:16/9;border:1px solid #d8e1e5;border-radius:16px;overflow:hidden;background:#eef3f5;margin:14px 0}.schoolMapFrame iframe{width:100%;height:100%;border:0;display:block}.mapAddressReview{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;background:#f6fafc;border:1px solid #dbe7ec;border-radius:14px}.mapAddressReview>svg{color:#2c6884;flex:0 0 auto;margin-top:2px}.mapAddressReview b{display:block}.mapAddressReview p{margin:3px 0 0;color:#5c6c75}.schoolMapCard .actions{margin-top:14px;flex-wrap:wrap}.schoolMapCard .actions button{flex:1;min-width:220px}.codeBox.inPanel button{min-width:92px}.onboardingProgressWrap{margin:20px 0 24px}.onboardingProgressText{display:flex;justify-content:space-between;gap:16px;margin-bottom:8px;color:#64737b;font-size:.78rem;font-weight:800;letter-spacing:.02em}.onboardingProgress{height:8px;border-radius:999px;background:#e8eef1;overflow:hidden}.onboardingProgress>span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#2c6884,#73aeca);transition:width .2s ease}.onboardingActions{display:flex;justify-content:space-between;gap:12px;margin-top:22px}.onboardingActions.single{justify-content:flex-end}.onboardingActions .primary,.onboardingActions .secondary{min-width:132px}.onboardingReview{display:grid;gap:10px;margin:18px 0;padding:14px;border:1px solid #dde6ea;border-radius:16px;background:#f8fbfc}.onboardingReview>div{display:flex;flex-direction:column;gap:3px}.onboardingReview small{color:#7b8991;font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.onboardingReview b{color:#21333c}.onboardingSuccessIcon{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 14px;border-radius:50%;background:#eaf6f1;color:#2c6884}@media(max-width:860px){.rosterSummary.enhanced{grid-template-columns:repeat(2,minmax(0,1fr))}.rosterSummary.enhanced span:last-child{grid-column:1/-1}}@media(max-width:700px){.receiptCard{align-items:flex-start;flex-wrap:wrap}.receiptCard .actions{width:100%}.receiptCard .actions button{flex:1}.formGrid3,.formTwoCol,.teacherTools{grid-template-columns:1fr}.childProfileHead{flex-wrap:wrap}.childProfileHead>.secondary{margin-left:0;width:100%}.childProfileDetails{grid-template-columns:1fr}.childProfileDetails .wide{grid-column:auto}.schoolMapFrame{aspect-ratio:4/3}.schoolMapCard .actions{display:grid;grid-template-columns:1fr}.schoolMapCard .actions button{min-width:0;width:100%}.onboardingActions{display:grid;grid-template-columns:1fr 1fr}.onboardingActions.single{grid-template-columns:1fr}.onboardingActions .primary,.onboardingActions .secondary{width:100%;min-width:0}}@media(max-width:640px){.roleChoices{grid-template-columns:1fr}.roleChoices button{min-height:54px;flex-direction:row;justify-content:flex-start;padding:0 14px}.teacherGrid,.setupGrid{grid-template-columns:1fr}.adminSimpleHeader,.selfPortalHeader{padding-left:12px;padding-right:12px}.selfPortalHeader .lpBrand{font-size:0}.selfPortalHeader .lpBrand svg{font-size:initial}.selfIdentity{flex:1}.selfTabs{justify-content:flex-start;overflow-x:auto;-webkit-overflow-scrolling:touch}.selfTabs button{white-space:nowrap}.adminSimpleMain,.selfPortalMain{width:min(100% - 20px,1100px);padding-top:16px}.receiptStrip{width:min(100% - 20px,1100px)}.actions.vertical{width:100%;margin-top:8px}.actions.vertical select{width:100%;min-width:0}.rosterSummary.enhanced{grid-template-columns:1fr 1fr}.rosterSummary.enhanced span:last-child{grid-column:1/-1}.onboardingProgressText{font-size:.72rem}}.connectionBanner{width:min(1100px,calc(100% - 32px));margin:14px auto 0;display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid #cfe0e8;border-radius:16px;background:#f4fbfe;box-shadow:0 8px 24px #2c688414}.connectionBanner>svg{color:#e98a31;flex:0 0 auto}.connectionBanner>div{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.connectionBanner b{color:#17394a}.connectionBanner span{color:#5e6d75;font-size:.85rem}.connectionBanner .primary{white-space:nowrap}@media(max-width:640px){.connectionBanner{width:min(100% - 20px,1100px);align-items:flex-start;flex-wrap:wrap}.connectionBanner .primary{width:100%}}.roleAuthCard{width:min(760px,calc(100vw - 28px))}.signupRoleGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.signupRoleCard{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1px solid #dbe4e8;border-radius:16px;background:#fff;text-align:left;cursor:pointer;transition:.18s ease}.signupRoleCard:hover{transform:translateY(-1px);box-shadow:0 8px 22px #2c688414}.signupRoleCard.selected{border-color:#2c6884;background:#eef7fb;box-shadow:0 0 0 2px #2c68841a}.signupRoleIcon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#eaf4f8;color:#2c6884;flex:0 0 auto}.signupRoleCard.selected .signupRoleIcon{background:#2c6884;color:#fff}.signupRoleCard b{display:block;color:#17394a}.signupRoleCard small{display:block;margin-top:4px;color:#667781;line-height:1.35}.authTerms{margin-top:16px}.onboardingCard{width:min(620px,calc(100vw - 28px))}.onboardingRoleBanner{display:flex;align-items:center;gap:10px;padding:12px 14px;margin:18px 0;border:1px solid #dbe7ec;border-radius:14px;background:#f6fbfd}.onboardingRoleBanner>span{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#2c6884;color:#fff}.onboardingRoleBanner>div{display:flex;flex-direction:column;flex:1}.onboardingRoleBanner small{font-size:.67rem;letter-spacing:.08em;color:#74838b;font-weight:800}.onboardingRoleBanner b{color:#17394a}.linkBtn.compact{width:auto;margin:0}.onboardingRoles{margin:-8px 0 18px;grid-template-columns:repeat(2,minmax(0,1fr))}.onboardingRoles button{min-height:56px;flex-direction:row;justify-content:flex-start;padding:0 12px}.schoolAdminApp{min-height:100dvh;background:#f6f8fb;display:grid;grid-template-columns:260px minmax(0,1fr);color:#17212b}.schoolAdminSide{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;background:#123b5d;color:#fff;padding:max(14px,env(safe-area-inset-top)) 12px max(14px,env(safe-area-inset-bottom));z-index:70}.schoolAdminBrand{display:flex;align-items:center;gap:10px;padding:4px 8px 16px}.schoolAdminBrand svg{flex:0 0 auto}.schoolAdminBrand>div{display:flex;flex-direction:column}.schoolAdminBrand b{font-size:1.05rem}.schoolAdminBrand small{opacity:.72}.adminNavClose{display:none;margin-left:auto;background:transparent;border:0;color:#fff}.schoolAdminSchool{display:flex;gap:10px;align-items:center;padding:12px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:#ffffff12;margin-bottom:16px}.schoolAdminSchool>span{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#ffffff1f}.schoolAdminSchool>div{min-width:0;display:flex;flex-direction:column}.schoolAdminSchool b,.schoolAdminSchool small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schoolAdminSchool small{opacity:.7}.schoolAdminSide nav{display:grid;gap:6px}.schoolAdminSide nav button,.schoolAdminSideFoot button{display:flex;align-items:center;gap:10px;width:100%;min-height:46px;padding:0 12px;border:0;border-radius:12px;background:transparent;color:#ffffffd1;font-weight:700;text-align:left;cursor:pointer}.schoolAdminSide nav button:hover,.schoolAdminSide nav button.active{background:#ffffff1f;color:#fff}.schoolAdminSideFoot{margin-top:auto;border-top:1px solid rgba(255,255,255,.12);padding-top:10px}.schoolAdminBody{min-width:0}.schoolAdminTop{position:sticky;top:0;z-index:45;display:flex;align-items:center;gap:14px;min-height:72px;padding:max(12px,env(safe-area-inset-top)) 24px 12px;background:#fffffff5;border-bottom:1px solid #e4eaed;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.schoolAdminTop .hamb{display:none}.schoolAdminTop h1{font-size:1.05rem;margin:0}.schoolAdminTop p{margin:2px 0 0;color:#6c7a83;font-size:.82rem}.adminBadge{margin-left:auto;display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:999px;background:#eef7fb;color:#2c6884;font-weight:800;font-size:.78rem}.schoolAdminMain{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:26px 0 96px}.adminWelcome{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px;border-radius:22px;background:linear-gradient(135deg,#123b5d,#2c6884);color:#fff;box-shadow:0 16px 36px #123b5d2e}.adminWelcome h2{font-size:clamp(1.6rem,3vw,2.4rem);margin:8px 0}.adminWelcome p{margin:0;max-width:680px;color:#fffc}.adminWelcome .eyebrow{color:#fff}.adminWelcome .primary{background:#fff;color:#123b5d}.adminStats{margin-top:16px}.stat.interactive{border:0;text-align:left;cursor:pointer;width:100%}.adminChecklist{margin-top:16px}.checklistGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.checklistGrid button{display:flex;align-items:flex-start;gap:11px;padding:16px;border:1px solid #e0e7ea;border-radius:15px;background:#fff;text-align:left;cursor:pointer}.checklistGrid button:hover{border-color:#73aeca;box-shadow:0 8px 20px #2c688414}.checklistGrid button>span{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#eef5f7;color:#2c6884;flex:0 0 auto}.checklistGrid button>span.done{background:#e9f7f2;color:#2e7d6e}.checklistGrid b{display:block}.checklistGrid small{display:block;margin-top:4px;color:#718089}.sectionIntro{margin-bottom:16px}.sectionIntro h2{margin:0 0 5px}.sectionIntro p{margin:0;color:#687983}.accessCodeCard{position:relative;overflow:hidden}.accessCodeCard .cardIcon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#eef7fb;color:#2c6884;margin-bottom:12px}.roleExplainer{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.roleExplainer>div{padding:16px;border:1px solid #e1e7ea;border-radius:15px;background:#fbfcfd}.roleExplainer svg{color:#2c6884}.roleExplainer b{display:block;margin:8px 0 4px}.roleExplainer p{margin:0;color:#6c7a83;font-size:.86rem}.schoolAdminBottomNav{display:none}@media(max-width:900px){.schoolAdminApp{grid-template-columns:1fr}.schoolAdminSide{position:fixed;left:0;top:0;bottom:0;width:min(86vw,290px);height:100dvh;transform:translate(-105%);transition:transform .2s ease;box-shadow:20px 0 44px #0003}.schoolAdminSide.open{transform:translate(0)}.adminNavClose{display:grid;place-items:center}.schoolAdminTop .hamb{display:grid}.schoolAdminMain{width:min(100% - 24px,1180px)}.checklistGrid,.roleExplainer{grid-template-columns:1fr}.adminWelcome{align-items:flex-start;flex-direction:column}.adminWelcome .primary{width:100%}.schoolAdminBottomNav{position:fixed;z-index:60;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);padding:8px max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:#fffffffa;border-top:1px solid #dfe6e9;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.schoolAdminBottomNav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:50px;border:0;background:transparent;color:#6f7e87;font-size:.67rem;font-weight:700}.schoolAdminBottomNav button.active{color:#2c6884}.schoolAdminBottomNav button.active svg{transform:translateY(-1px)}}@media(max-width:640px){.roleAuthCard{width:min(100% - 20px,760px)}.signupRoleGrid{grid-template-columns:1fr}.signupRoleCard{padding:12px}.onboardingRoles{grid-template-columns:1fr}.schoolAdminTop{padding-left:12px;padding-right:12px}.adminBadge{display:none}.schoolAdminMain{padding-top:16px}.adminWelcome{padding:20px}.adminStats{grid-template-columns:repeat(2,minmax(0,1fr))}.roleExplainer{grid-template-columns:1fr}.schoolAdminBottomNav span{font-size:.63rem}}@media(max-width:640px){.selfPortal{padding-bottom:calc(72px + env(safe-area-inset-bottom))}.selfTabs{position:fixed!important;left:0;right:0;top:auto!important;bottom:0;z-index:65;display:grid!important;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;padding:7px max(8px,env(safe-area-inset-right)) max(7px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));border-top:1px solid #dde5e9;border-bottom:0;background:#fffffffa;box-shadow:0 -10px 28px #123b5d14;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);overflow:visible!important}.selfTabs button{min-width:0!important;min-height:50px!important;padding:5px 7px!important;border:0!important;border-radius:12px!important;background:transparent!important;display:flex!important;flex-direction:column;justify-content:center;gap:3px!important;color:#73818a!important;font-size:.68rem}.selfTabs button.active{background:#eef7fb!important;color:#2c6884!important}.selfTabs button svg{width:20px;height:20px}.selfPortalMain{padding-bottom:20px}.selfPortalDismissal{padding-bottom:0}.selfPortalHeader{position:sticky;top:0;z-index:50}.receiptStrip{margin-bottom:10px}}
