.auth-captcha{flex-basis:100%;grid-column:1/-1;width:100%;min-width:0}.auth-captcha>div:first-child{min-height:65px}.auth-captcha-error{color:#8e3029;gap:8px;font-size:.9rem;display:grid}.auth-captcha-error p{margin:0}.auth-captcha-error button{min-height:44px;color:var(--navy);border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px 12px}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--navy:#061064;--navy-2:#101d77;--gold:#d2a13a;--red:#c8242b;--ink:#17172a;--muted:#6d7284;--line:#dfe2ea;--paper:#fbf8f3;--surface:#fff;--success:#18895c;--warning:#b56b0b;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:0;min-height:100vh;color:var(--ink);background:linear-gradient(180deg, #06106414, #fbf8f300 28rem), var(--paper);margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}main{width:min(1440px,100%);margin:0 auto;padding:20px}.app-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:16px;margin-top:24px;padding:12px 2px 4px;font-size:.72rem;font-weight:700;display:flex}.app-footer span:last-child{text-align:right}.app-header{justify-content:space-between;align-items:center;gap:20px;padding:18px 0 20px;display:flex}.brand-lockup{align-items:center;gap:16px;min-width:0;display:flex}.brand-lockup img{object-fit:contain;width:78px;height:78px}.eyebrow{color:var(--gold);letter-spacing:0;text-transform:uppercase;margin:0 0 4px;font-size:.76rem;font-weight:800}h1,h2,h3,p{margin-top:0}h1{color:var(--navy);margin-bottom:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,4vw,4rem);font-weight:500;line-height:.95}h2{margin-bottom:0;font-size:1.12rem}h3{color:var(--navy);margin-bottom:6px;font-size:1.45rem}.header-status{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.header-status span,.header-status button,.badge{min-height:30px;color:var(--navy);background:#ffffffbd;border:1px solid #06106429;border-radius:6px;align-items:center;padding:6px 10px;font-size:.84rem;font-weight:800;display:inline-flex}.header-status button{cursor:pointer}.header-status button svg{width:15px;height:15px}.header-status .connection-chip{color:#116943;background:#e9f8f0eb}.header-status .queue-health-error,.header-status .queue-health-stale,.header-status .queue-health-offline{color:#7b5200;background:#fff0c9}.queue-health-error .connection-dot,.queue-health-stale .connection-dot,.queue-health-offline .connection-dot,.queue-health-loading .connection-dot{box-shadow:none;background:#ad7614}.header-status .queue-health-loading{color:var(--muted);background:#f1f2f6}.queue-sync-status{border:1px solid var(--line);background:#fff;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:12px 16px;display:flex}.queue-sync-status p{color:var(--muted);margin:3px 0;font-size:.82rem}.queue-sync-status .queue-sync-health{color:var(--navy);align-items:center;gap:7px;font-weight:850;display:flex}.queue-sync-health svg{flex:none;width:18px;height:18px}.queue-sync-status button{flex:none;min-height:44px}.queue-sync-warning{background:#fff8e8;border-color:#d9b76b}.queue-sync-warning p,.queue-sync-warning .queue-sync-health{color:#6a480a}.connection-dot{background:var(--success);border-radius:50%;width:8px;height:8px;margin-right:7px;box-shadow:0 0 0 3px #18895c24}.header-menu{position:relative}.header-status .header-menu-trigger{border-color:var(--navy);color:#fff;background:var(--navy);justify-content:center;width:40px;min-height:40px;padding:8px}.header-status .header-menu-trigger svg{width:20px;height:20px}.header-menu-popover{z-index:20;background:#fff;border:1px solid #0610642e;border-radius:10px;width:min(340px,100vw - 24px);padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 18px 40px #06106433}.header-status .header-menu-item{background:0 0;border:0;border-radius:6px;justify-content:flex-start;gap:8px;width:100%;min-height:42px;padding:9px 10px}.header-status .header-menu-item:hover,.header-status .header-menu-item:focus-visible,.header-status .header-menu-item.active{background:#06106414}.header-status .header-menu-item.danger{border-top:1px solid var(--line);color:var(--red);border-radius:0 0 6px 6px;margin-top:4px}.header-menu-search{border-bottom:1px solid var(--line);background:#06106409;gap:7px;padding:10px;display:grid}.header-menu-search label{color:var(--muted);font-size:.76rem;font-weight:900}.header-menu-search input{border:1px solid #06106433;border-radius:6px;width:100%;min-height:42px;padding:8px 10px}.header-menu-search-hint{color:var(--muted);font-size:.76rem;font-weight:700}.header-menu-search-results{gap:6px;max-height:250px;display:grid;overflow-y:auto}.header-menu-search-results button{border:1px solid var(--line);width:100%;min-height:48px;color:var(--ink);text-align:left;background:#fff;border-radius:6px;padding:8px 10px;display:block}.header-menu-search-results button:hover,.header-menu-search-results button:focus-visible{border-color:var(--gold);box-shadow:0 0 0 2px #d2a13a2e}.header-menu-search-results strong,.header-menu-search-results small{display:block}.header-menu-search-results small{color:var(--muted);margin-top:3px;font-size:.74rem}.header-menu-identity,.header-menu-notification{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;padding:10px;display:grid}.header-menu-identity{border-bottom:1px solid var(--line);grid-template-columns:1fr}.header-menu-identity strong,.header-menu-identity span,.header-menu-notification strong,.header-menu-notification span{display:block}.header-status .header-menu-identity span,.header-status .header-menu-notification span{min-height:0;color:var(--muted);background:0 0;border:0;border-radius:0;margin-top:2px;padding:0;font-size:.76rem;font-weight:700}.header-menu-notification{border-bottom:1px solid var(--line)}.header-menu-notification svg{width:20px;height:20px;color:var(--muted)}.header-menu-notification.enabled svg{color:var(--success)}.header-menu-password-form{border-block:1px solid var(--line);gap:6px;padding:10px;display:grid}.header-menu-password-form label{color:var(--muted);font-size:.76rem;font-weight:800}.header-menu-password-form input{border:1px solid #06106433;border-radius:6px;width:100%;min-height:38px;padding:7px 9px}.header-menu-password-error{color:var(--red);font-size:.78rem;font-weight:800}.header-status .header-menu-password-form button{justify-content:center;width:100%}.connection-feedback{border-left:4px solid var(--success);color:var(--navy);background:#e9f8f0eb;margin:-6px 0 16px;padding:8px 10px;font-size:.86rem;font-weight:800}.connection-panel{background:#ffffffb8;border:1px solid #06106424;border-radius:8px;grid-template-columns:minmax(220px,1fr) auto;align-items:center;gap:10px;margin-bottom:16px;padding:10px;display:grid}.connection-panel strong,.connection-panel span{display:block}.connection-panel strong{color:var(--navy)}.connection-panel span,.connection-panel p{color:var(--muted);margin:2px 0 0;font-size:.86rem;font-weight:800}.connection-panel p{grid-column:1/-1}.connection-form{gap:8px;display:flex}.connection-panel input{border:1px solid var(--line);border-radius:6px;min-height:38px;padding:8px 10px}.connection-panel button{border:1px solid var(--navy);color:#fff;background:var(--navy);border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:8px 10px;font-weight:900;display:inline-flex}.connection-panel svg{width:17px;height:17px}.install-app-card{border-top:1px solid var(--line);grid-column:1/-1;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:2px;padding-top:12px;display:grid}.install-app-card>svg{width:22px;height:22px;color:var(--navy)}.install-app-card p{color:var(--navy);margin-top:5px}.teacher-location-bar{background:#ffffffe6;border:1px solid #06106429;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:9px 10px;display:flex}.teacher-location-copy{align-items:center;gap:9px;min-width:0;display:flex}.teacher-location-copy>svg{width:20px;height:20px;color:var(--navy)}.teacher-location-copy strong,.teacher-location-copy span{display:block}.teacher-location-copy strong{color:var(--navy)}.teacher-location-copy span{color:var(--muted);margin-top:2px;font-size:.78rem;font-weight:700}.teacher-location-switch button{border:1px solid var(--navy);color:#fff;background:var(--navy);border-radius:6px;min-height:40px;padding:8px 10px;font-weight:900}.teacher-location-switch{grid-template-columns:repeat(2,minmax(76px,1fr));align-items:center;gap:7px;display:grid}.teacher-location-switch button{color:var(--navy);background:#fff;transition:min-height .14s,transform .14s,color .14s,background .14s}.teacher-location-switch button.active{color:#fff;background:var(--navy);min-height:46px;font-size:1rem;transform:scale(1.04)}.mode-control button,.verification-method button,.action-strip button,.primary-action,.request-actions button,.manual-results button,.student-check{border:1px solid var(--line);color:var(--ink);background:var(--surface);border-radius:6px}.panel-title svg,.primary-action svg,.mode-control svg,.verification-method svg,.action-strip svg{width:18px;height:18px}.workspace-grid{grid-template-columns:minmax(320px,.85fr) minmax(360px,1.15fr);gap:16px;display:grid}.panel{background:#ffffffeb;border:1px solid #0610641f;border-radius:8px;box-shadow:0 16px 50px #0e143214}.scan-panel,.detail-panel,.history-panel,.access-panel,.admin-layout .panel,.classroom-panel{padding:18px}.configuration-error{border:2px solid var(--red);color:#7d171c;background:#fff5f5;grid-template-columns:auto minmax(0,1fr);gap:16px;max-width:760px;padding:22px;display:grid}.configuration-error>svg{width:34px;height:34px;color:var(--red)}.configuration-error h2{color:var(--red);margin-bottom:10px}.configuration-error p:last-child{margin-bottom:0}.panel-title{color:var(--navy);align-items:center;gap:10px;margin-bottom:16px;display:flex}.history-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.history-heading .panel-title{margin-bottom:0}.history-heading h2,.history-heading p{margin:0}.history-heading p{color:var(--muted);margin-top:3px;font-size:.86rem;font-weight:700}.history-range{gap:6px;display:flex}.history-range button{border:1px solid var(--line);min-height:36px;color:var(--navy);background:#fff;border-radius:6px;padding:7px 11px;font-weight:900}.history-range button.active{border-color:var(--navy);color:#fff;background:var(--navy)}.history-message{color:var(--muted);margin:0 0 12px;font-weight:800}.history-message.error{color:var(--red)}.history-empty{color:var(--muted);text-align:center;padding:34px 16px;font-weight:800}.scan-frame{aspect-ratio:1.3;color:var(--navy);background:linear-gradient(90deg,#0000 49%,#d2a13a2e 50%,#0000 51%),#0610640a;border:2px dashed #06106442;border-radius:8px;place-items:center;margin-bottom:14px;display:grid;position:relative;overflow:hidden}.scan-frame svg{width:56px;height:56px}.scan-frame video{object-fit:cover;border-radius:6px;width:100%;height:100%}.scan-target{pointer-events:none;border:3px solid #fffffff5;border-radius:14px;position:absolute;inset:18% 14%;box-shadow:0 0 0 999px #06106433,0 0 0 2px #06106473}.scan-frame .scan-guidance{color:#fff;text-align:center;background:#061064d1;border-radius:999px;margin:0;padding:7px 12px;font-size:.78rem;position:absolute;bottom:14px;left:16px;right:16px}.scan-frame span{margin-top:-32px;font-weight:900}.scan-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px;display:grid}.camera-toggle{border:1px solid var(--line);width:100%;min-height:42px;color:var(--navy);background:#fff;border-radius:6px;justify-content:center;align-items:center;gap:8px;font-weight:900;display:inline-flex}.camera-toggle.active{border-color:var(--navy);color:#fff;background:var(--navy)}.camera-toggle svg{width:18px;height:18px}.scan-error{color:var(--warning);margin:-4px 0 12px;font-size:.9rem;font-weight:800}.scan-info{color:var(--navy);margin:-4px 0 12px;font-size:.9rem;font-weight:800}.scan-success{color:#0b5d38;background:#e9f8f0;border:2px solid #198754;border-radius:8px;margin-top:0;padding:14px;font-size:1rem;line-height:1.4}.scanner-state{color:var(--muted);text-align:center;margin:-2px 0 12px;font-size:.85rem;font-weight:800}.scanner-enviando{color:var(--navy)}.scanner-enviado{color:var(--success)}.scanner-error{color:var(--red)}.field-row{gap:8px;margin-bottom:10px;display:grid}.field-row label{color:var(--muted);font-size:.82rem;font-weight:800}.field-row input{border:1px solid var(--line);border-radius:6px;width:100%;min-height:44px;padding:10px 12px}.mode-control,.verification-method,.action-strip,.student-checklist{gap:8px;display:grid}.mode-control{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:12px}.mode-control button,.verification-method button,.action-strip button,.primary-action,.manual-results button{justify-content:center;align-items:center;gap:8px;min-height:44px;padding:9px 10px;font-weight:900;display:inline-flex}.mode-control button.selected,.verification-method button.selected,.guardian-card.selected,.student-check.selected{border-color:var(--gold);box-shadow:0 0 0 3px #d2a13a2e}.primary-action{border-color:var(--navy);color:#fff;background:var(--navy);width:100%}.empty-state{min-height:340px;color:var(--muted);text-align:center;place-items:center;display:grid}.empty-state svg{width:42px;height:42px;margin-bottom:12px}.access-panel .empty-state{min-height:140px}.family-summary{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.family-summary p{color:var(--muted);margin-bottom:0;font-weight:800}.family-summary small,.manual-results small,.student-check small{color:var(--muted);margin-top:4px;font-size:.8rem;font-weight:800;display:block}.family-summary img{border:1px solid var(--line);background:#fff;border-radius:8px;width:116px;height:116px;padding:6px}.safety-alert{color:var(--red);background:#c8242b0f;border:1px solid #c8242b3d;border-radius:6px;align-items:center;gap:10px;margin-bottom:14px;padding:10px;font-weight:800;display:flex}.safety-alert svg{width:20px;min-width:20px}.guardian-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.guardian-card{border:1px solid var(--line);text-align:left;background:#fff;border-radius:8px;align-items:center;gap:12px;min-height:88px;padding:10px;display:flex}.avatar{color:#fff;background:var(--navy);border-radius:50%;place-items:center;width:46px;min-width:46px;height:46px;font-weight:900;display:grid}.guardian-photo{object-fit:cover;background:#fff;border:2px solid #d2a13a99;border-radius:6px;width:58px;min-width:58px;height:58px}.guardian-card strong,.guardian-card small,.guardian-card em{display:block}.guardian-card small{color:var(--muted)}.guardian-card em{color:var(--warning);margin-top:4px;font-style:normal;font-weight:900}.guardian-card em.authorized{color:var(--success)}.verification-method{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:12px}.action-strip{grid-template-columns:1fr}.action-strip button{border-color:var(--navy);color:#fff;background:var(--navy)}.manual-results{gap:6px;display:grid}.manual-results button{text-align:left;justify-content:space-between;align-items:flex-start;min-height:42px}.mode-label{color:var(--muted);text-transform:uppercase;margin:0 0 8px;font-size:.82rem;font-weight:900}.student-checklist{margin-bottom:12px}.student-check{background:#fff;align-items:center;gap:10px;min-height:64px;padding:10px;display:flex}.student-check input{width:20px;height:20px;accent-color:var(--navy)}.student-check strong{display:block}.student-check.locked{opacity:.72}.active-notice-detail{background:#06106409;border:1px solid #0610641f;border-radius:8px;margin-bottom:18px;padding:14px}.active-notice-detail+.gate-queue,.gate-queue+.active-notice-detail{margin-top:18px}.gate-queue-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.gate-queue-heading strong,.gate-queue-heading span{display:block}.gate-queue-heading>div>strong{color:var(--navy);font-size:1.02rem}.gate-queue-heading>div>span{color:var(--muted);margin-top:2px;font-size:.8rem;font-weight:700}.gate-all-filter{border:1px solid var(--line);min-height:38px;color:var(--navy);background:#fff;border-radius:999px;align-items:center;gap:7px;padding:7px 12px;font-weight:900;display:inline-flex}.gate-all-filter strong{color:#fff;background:var(--navy);text-align:center;border-radius:999px;min-width:22px;padding:2px 6px;font-size:.75rem}.gate-all-filter.active{border-color:var(--navy);background:#06106414}.grade-filter-grid{grid-template-columns:repeat(7,minmax(48px,1fr));gap:7px;margin:14px 0;display:grid}.grade-filter-grid button{border:1px solid var(--line);min-height:56px;color:var(--navy);background:#fff;border-radius:7px;place-items:center;gap:2px;padding:6px;display:grid}.grade-filter-grid button span{font-size:.92rem;font-weight:900}.grade-filter-grid button strong{color:var(--muted);font-size:.72rem}.grade-filter-grid button.active{border-color:var(--gold);color:#fff;background:var(--navy);box-shadow:0 0 0 3px #d2a13a2e}.grade-filter-grid button.active strong{color:#fff}.gate-queue-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.gate-queue-row{border:1px solid var(--line);background:#fff;border-left-width:5px;border-radius:8px;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:70px;padding:10px 12px 10px 8px;display:grid}.gate-queue-row.status-avisado_salon{border-left-color:var(--gold);background:#fffaf0}.gate-queue-row>.request-actions{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.gate-queue-row>.request-actions button{width:100%;min-width:0}.gate-queue-row.status-en_camino{border-left-color:var(--success);background:#edf9f3}.gate-queue-row.status-necesita_apoyo{border-left-color:var(--red);background:#fff5f5}.gate-queue-row.status-no_esta_en_salon{border-left-color:var(--warning);background:#fff7ee}.gate-queue-position{color:#fff;background:var(--navy);border-radius:50%;place-items:center;width:34px;height:34px;font-weight:900;display:grid}.gate-queue-copy,.gate-queue-state{min-width:0}.gate-queue-copy strong,.gate-queue-copy small,.gate-queue-state span,.gate-queue-state time{display:block}.gate-queue-copy strong{overflow-wrap:anywhere}.gate-queue-copy small{color:var(--muted);margin-top:4px;font-size:.78rem;font-weight:700}.gate-queue-state{justify-items:end;gap:5px;display:grid}.gate-queue-status{color:#684a05;white-space:nowrap;background:#f7d87f;border-radius:999px;align-items:center;gap:5px;padding:5px 9px;font-size:.76rem;font-weight:900;display:inline-flex!important}.status-en_camino .gate-queue-status{color:#fff;background:var(--success)}.status-necesita_apoyo .gate-queue-status{color:#fff;background:var(--red)}.status-no_esta_en_salon .gate-queue-status{color:#6e3508;background:#ffd3ad}.gate-queue-status svg{width:14px;height:14px}.gate-queue-state time{color:var(--muted);font-size:.74rem;font-weight:800}.gate-queue-empty{min-height:180px;color:var(--muted);text-align:center;place-items:center;display:grid}.manual-arrival-disclosure{padding:14px 18px}.manual-arrival-disclosure>summary{cursor:pointer}.manual-arrival-disclosure>summary span{align-items:center;gap:8px;font-weight:800;display:inline-flex}.manual-arrival-disclosure>summary svg{width:18px;height:18px}.manual-arrival-disclosure>summary small{color:var(--muted);margin-top:5px;display:block}.manual-arrival-form{margin-top:18px}.manual-arrival-form fieldset{border:0;gap:12px;min-width:0;margin:0;padding:0;display:grid}.manual-arrival-form input[type=search],.manual-arrival-form select{border:1px solid var(--line);width:100%;min-height:44px;font:inherit;border-radius:8px;padding:10px 12px}.manual-arrival-results{gap:8px;margin:0;padding:0;list-style:none;display:grid}.manual-arrival-results button{text-align:left;width:100%;color:var(--navy);border:1px solid var(--line);background:#f5f7fb;border-radius:8px;gap:4px;padding:12px;display:grid}.manual-arrival-results small,.manual-arrival-students small{color:var(--muted);margin-top:4px;display:block}.manual-arrival-family{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.manual-arrival-family h3{margin:0}.manual-arrival-students{gap:8px;display:grid}.manual-arrival-students label,.manual-identity-confirmation{border:1px solid var(--line);border-radius:8px;align-items:flex-start;gap:10px;padding:12px;display:flex}.manual-arrival-students input,.manual-identity-confirmation input{flex:0 0 20px;width:20px;height:20px;margin:1px 0 0}.manual-identity-confirmation{background:#fffaf0}.manual-arrival-form button[type=submit]{justify-self:start}.gate-queue-empty svg{width:34px;height:34px;margin-bottom:8px}.gate-queue-empty p{margin:0;font-weight:800}.classroom-grid{grid-template-columns:repeat(3,minmax(280px,1fr));gap:16px;display:grid}.classroom-grid.single-classroom{grid-template-columns:minmax(0,1fr)}.single-classroom .request-summary strong{font-size:clamp(1rem,1.2vw,1.25rem)}.classroom-head{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px;display:flex}.classroom-head p,.muted{color:var(--muted);margin:4px 0 0}.classroom-head span{color:#fff;background:var(--navy);border-radius:50%;place-items:center;width:36px;height:36px;font-weight:900;display:grid}.request-card{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:6px minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:10px;padding:9px 10px;display:grid}.request-summary{align-items:baseline;gap:8px;min-width:0;display:flex}.request-summary strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.request-summary small{color:var(--muted);white-space:nowrap;flex:none}.status-dot{background:var(--muted);border-radius:999px;width:6px;height:100%;min-height:42px}.status-dot.avisado_salon{background:var(--gold)}.status-dot.en_camino{background:var(--success)}.status-dot.no_esta_en_salon{background:var(--warning)}.status-dot.necesita_apoyo{background:var(--red)}.request-actions{grid-column:3;gap:6px;margin:0;display:flex}.request-actions button{justify-content:center;align-items:center;gap:6px;min-height:40px;padding:7px 9px;font-weight:900;display:inline-flex}.request-actions button svg{width:17px;height:17px}.sent-section{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.admin-layout{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:16px;display:grid}.qr-admin-layout{grid-template-columns:minmax(0,1fr)}.admin-side-stack{align-content:start;gap:16px;min-width:0;display:grid}.compact-table table{min-width:420px}.qr-generator-panel{min-width:0}.qr-stepper{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:0;margin-bottom:12px;padding:0;list-style:none;display:grid}.secondary-action,.qr-review-table input{border:1px solid var(--line);background:#fff;border-radius:6px}.secondary-action{min-height:42px;color:var(--navy);justify-content:center;align-items:center;gap:8px;padding:9px 10px;font-weight:900;display:inline-flex}.qr-stepper li{min-width:0}.qr-stepper button{border:1px solid var(--line);width:100%;min-height:42px;color:var(--muted);background:#fff;border-radius:6px;justify-content:center;align-items:center;padding:9px 10px;font-weight:900;display:flex}.qr-stepper button.active{border-color:var(--navy);color:#fff;background:var(--navy)}.qr-stepper button.complete{color:var(--navy);background:#0610640d}.secondary-action svg,.compact-action svg,.qr-row-messages svg,.qr-warning-list svg,.qr-ok svg,.qr-callout svg{width:18px;height:18px}.qr-generator-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:14px;display:grid}.summary-metric{background:#0610640a;border:1px solid #0610641f;border-radius:8px;min-height:70px;padding:10px}.summary-metric span,.summary-metric strong{display:block}.summary-metric span{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:900}.summary-metric strong{color:var(--navy);margin-top:4px;font-size:1.6rem}.summary-metric.ok strong{color:var(--success)}.summary-metric.danger strong{color:var(--red)}.qr-step-panel{gap:14px;display:grid}.qr-step-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.qr-step-heading h3{margin-bottom:0;font-size:1.2rem}.qr-step-heading p,.qr-template-heading p{color:var(--muted);margin:5px 0 0}.qr-import-heading{display:block}.qr-import-heading h3{margin:0;font-size:1.12rem}.qr-import-heading h3 span{color:var(--muted);font-size:.95rem;font-weight:600}.qr-file-drop{min-height:210px;color:var(--navy);text-align:center;cursor:pointer;background:#06106406;border:2px dashed #06106447;border-radius:12px;align-content:center;place-items:center;gap:8px;padding:28px;transition:border-color .16s,background .16s;display:grid}.qr-file-drop:hover,.qr-file-drop.active{border-color:var(--gold);background:#d2a13a14}.qr-file-drop:focus-within{outline-offset:2px;outline:3px solid #0610642e}.qr-file-drop>span:not(.qr-file-icon){color:var(--muted);font-weight:700}.qr-file-icon{color:#fff;background:var(--navy);border-radius:50%;place-items:center;width:54px;height:54px;display:grid}.qr-file-icon svg{width:26px;height:26px}.qr-template-guide{border:1px solid var(--line);background:#fff;border-radius:10px;gap:12px;padding:16px;display:grid}.qr-template-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.template-download-link{color:var(--navy);flex:none;align-items:center;gap:7px;font-weight:900;text-decoration:none;display:inline-flex}.template-download-link:hover{text-decoration:underline}.template-download-link svg{width:18px;height:18px}.compact-template-table table{min-width:560px}.qr-generator-toolbar,.qr-export-actions{flex-wrap:wrap;gap:8px;display:flex}.compact-action{width:auto;min-width:170px}.qr-inline-note{color:var(--muted);margin:0;font-weight:800}.qr-review-table table{min-width:620px}.qr-review-table input{width:100%;min-height:34px;padding:6px 9px}.qr-review-table tr.row-error td{background:#c8242b0a}.qr-family-review-list{gap:8px;display:grid}.qr-review-family-card{background:#fff;border:1px solid #06106429;border-radius:9px;overflow:hidden}.qr-review-family-card.problem{border-color:#c8242b47}.qr-review-family-heading{border-bottom:1px solid var(--line);background:#06106409;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;display:flex}.qr-review-family-heading>div{align-items:center;gap:9px;display:flex}.qr-review-family-heading strong{color:var(--navy);font-size:1.02rem}.qr-review-family-heading small{color:var(--muted);font-size:.78rem;font-weight:700}.qr-review-family-heading>span{color:var(--muted);font-size:.82rem;font-weight:900}.qr-review-family-card .table-wrap{border:0;border-radius:0}.qr-review-family-card .qr-review-table th,.qr-review-family-card .qr-review-table td{vertical-align:middle;padding:7px 9px}.qr-row-messages,.qr-warning-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.qr-row-messages li,.qr-warning-list li,.qr-ok,.qr-callout{align-items:flex-start;gap:8px;display:flex}.qr-row-messages li{font-size:.82rem;font-weight:800}.qr-row-messages li.error,.qr-callout.danger{color:var(--red)}.qr-row-messages li.warning,.qr-warning-list li{color:var(--warning)}.qr-ok{color:var(--success);align-items:center;font-weight:900}.compact-empty{min-height:180px}.qr-callout{background:#c8242b0f;border:1px solid #c8242b38;border-radius:8px;padding:10px;font-weight:900}.qr-callout.success{color:var(--success);background:#e9f8f0eb;border-color:#18895c57}.qr-group-list{gap:10px;display:grid}.qr-group-card{border:1px solid var(--line);background:#fff;border-radius:8px;gap:10px;padding:12px;display:grid}.qr-group-card h4{color:var(--navy);margin:8px 0 4px;font-size:1.08rem}.qr-group-card p{color:var(--muted);margin:0;font-weight:800}.qr-card-sheet{grid-template-columns:repeat(2,minmax(280px,1fr));gap:14px;display:grid}.qr-current-card{gap:8px;display:grid}.qr-enlarge-action{width:100%}.qr-current-loading{border:1px solid var(--line);color:var(--muted);text-align:center;background:#fff;border-radius:8px;padding:18px;font-weight:800}.qr-callout.warning{color:var(--warning);background:#fff7e0e6;border-color:#b66e004d}.qr-legacy-list{gap:8px;display:grid}.qr-legacy-card{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px;display:grid}.qr-legacy-card>div,.qr-legacy-card>div span{min-width:0;display:block}.qr-legacy-confirm{gap:8px;min-width:min(100%,290px);display:grid}.qr-legacy-confirm>span{color:var(--warning);font-size:.82rem;font-weight:800}.qr-legacy-actions{gap:8px;display:flex}.qr-legacy-actions button{flex:auto}.qr-legacy-card>div strong{color:var(--navy)}.qr-legacy-card>div span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:.84rem;font-weight:700;overflow:hidden}.qr-focus-backdrop{z-index:1000;background:#050820c7;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.qr-focus-dialog{text-align:center;background:#fff;border-radius:18px;justify-items:center;width:min(94vw,620px);padding:28px;display:grid;position:relative;box-shadow:0 24px 80px #00000052}.qr-focus-dialog>span{color:var(--gold);text-transform:uppercase;font-weight:900}.qr-focus-dialog h3{color:var(--navy);margin:5px 44px 14px;font-size:clamp(1.5rem,4vw,2.4rem)}.qr-focus-dialog img{object-fit:contain;width:min(72vw,430px);height:min(72vw,430px);image-rendering:pixelated}.qr-focus-dialog p{color:var(--muted);margin:14px 0 0;font-weight:800}.qr-focus-close{border:1px solid var(--line);width:42px;height:42px;color:var(--navy);background:#fff;border-radius:50%;place-items:center;display:grid;position:absolute;top:14px;right:14px}.qr-card-preview{background:linear-gradient(#d2a13a17,#fff0 42%),#fff;border:1px solid #0610642e;border-radius:8px;gap:14px;min-height:420px;padding:18px;display:grid;box-shadow:0 14px 34px #0e143214}.qr-card-brand{align-items:center;gap:12px;min-width:0;display:flex}.qr-card-brand img{object-fit:contain;width:58px;height:58px}.qr-card-brand span,.qr-card-brand strong{display:block}.qr-card-brand span{color:var(--gold);text-transform:uppercase;font-size:.72rem;font-weight:900}.qr-card-brand strong{color:var(--navy);font-family:Georgia,Times New Roman,serif;font-size:1.6rem;line-height:1}.qr-card-main{grid-template-columns:minmax(0,1fr) 156px;align-items:start;gap:14px;display:grid}.qr-card-family-label{min-height:28px;color:var(--navy);text-transform:uppercase;background:#0610640a;border:1px solid #06106429;border-radius:6px;align-items:center;padding:4px 8px;font-size:.78rem;font-weight:900;display:inline-flex}.qr-card-copy h3{margin:10px 0;font-size:1.8rem;line-height:1.08}.qr-card-copy ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.qr-card-copy li strong,.qr-card-copy li span{display:block}.qr-card-copy li span{color:var(--muted);font-size:.84rem;font-weight:800}.qr-card-dense .qr-card-copy ul,.qr-card-very-dense .qr-card-copy ul{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px}.qr-card-dense .qr-card-copy li strong{font-size:.86rem}.qr-card-very-dense .qr-card-copy ul{gap:5px 10px}.qr-card-very-dense .qr-card-copy li strong{font-size:.76rem;line-height:1.15}.qr-card-very-dense .qr-card-copy li span{font-size:.7rem}.qr-image-box{border:1px solid var(--line);width:156px;height:156px;color:var(--muted);text-align:center;background:#fff;border-radius:8px;place-items:center;padding:8px;font-size:.78rem;font-weight:900;display:grid}.qr-image-box img{object-fit:contain;width:100%;height:100%}.qr-card-footer{border-top:1px solid var(--line);align-self:end;padding-top:12px}.qr-card-footer p{color:var(--ink);margin:0 0 4px;font-weight:900}.qr-card-footer small{color:var(--muted);margin-top:8px;font-weight:900;display:block}.table-wrap{width:100%;overflow-x:auto}.table-scroll-hint{color:var(--muted);margin:0 0 8px;font-size:.78rem;font-weight:800;display:none}.required-password-panel{grid-template-columns:minmax(0,1fr) minmax(280px,420px);align-items:start;gap:32px;max-width:920px;margin:30px auto;display:grid}.required-password-panel h2{color:var(--navy);margin:6px 0 12px}.required-password-panel p{line-height:1.55}.required-password-form{gap:9px;display:grid}.required-password-form label{color:var(--navy);font-size:.84rem;font-weight:900}.required-password-form input{width:100%}.required-password-message{color:var(--danger);margin:2px 0;font-size:.84rem;font-weight:800}table{border-collapse:collapse;width:100%;min-width:640px}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:12px 10px}th{color:var(--navy);text-transform:uppercase;font-size:.8rem}.rules-list{color:var(--muted);gap:12px;margin:0;padding-left:20px;font-weight:800;display:grid}@media (width<=980px){.workspace-grid,.admin-layout,.qr-admin-layout{grid-template-columns:1fr}.classroom-grid{grid-template-columns:repeat(2,minmax(260px,1fr))}}@media (width<=1200px){.request-actions button{width:40px;padding:7px}.classroom-action-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}@media (width<=680px){main{padding:12px}.app-footer{text-align:center;flex-direction:column;gap:4px}.app-footer span:last-child{text-align:center}.app-header{flex-direction:column;align-items:flex-start}.app-header.compact-app-header{flex-direction:row;align-items:center;gap:8px}.compact-app-header .brand-lockup{flex:1;gap:8px}.compact-app-header .brand-lockup>div{min-width:0}.compact-app-header .brand-lockup img{width:52px;height:52px}.compact-app-header h1{text-overflow:ellipsis;white-space:nowrap;font-size:clamp(1.25rem,5.5vw,1.55rem);overflow:hidden}.compact-app-header .eyebrow{font-size:.62rem}.brand-lockup img{width:64px;height:64px}.header-status{justify-content:flex-start;width:100%}.compact-app-header .header-status{flex-wrap:nowrap;width:auto;margin-left:auto}.compact-app-header .connection-chip{color:#0000;justify-content:center;width:32px;min-height:32px;padding:0;font-size:0;overflow:hidden}.compact-app-header .connection-dot{margin-right:0}.connection-panel,.connection-form{grid-template-columns:1fr}.teacher-location-bar{flex-direction:column;align-items:stretch}.teacher-location-switch{width:100%}.connection-panel,.connection-form{display:grid}.install-app-card{grid-template-columns:auto minmax(0,1fr)}.install-app-card>button{grid-column:1/-1}.connection-panel button,.connection-panel input{width:100%}.qr-generator-summary,.qr-card-sheet{grid-template-columns:1fr;min-width:0}.qr-stepper{grid-template-columns:repeat(3,minmax(0,1fr))}.qr-stepper button{min-height:48px;padding:8px 4px;font-size:.78rem;line-height:1.1}.qr-review-family-heading,.qr-review-family-heading>div{flex-direction:column;align-items:flex-start;gap:5px}.qr-step-heading,.qr-card-main{grid-template-columns:1fr;min-width:0}.qr-step-heading:not(.qr-import-heading){flex-direction:column}.qr-image-box{aspect-ratio:1;width:100%;max-width:220px;height:auto}.admin-side-stack,.admin-side-stack .panel,.qr-generator-panel,.qr-card-preview,.qr-card-copy,.qr-card-brand{min-width:0}.admin-layout .panel{padding:14px}.compact-table table{min-width:360px}.qr-generator-toolbar,.qr-export-actions{grid-template-columns:1fr;width:100%;display:grid}.secondary-action,.compact-action{width:100%;min-width:0}.qr-stepper li{min-width:0}.qr-template-heading{flex-direction:column}.qr-card-preview{padding:14px}.qr-card-brand strong{font-size:1.35rem}.qr-card-copy h3{overflow-wrap:anywhere;font-size:1.45rem}.qr-card-dense .qr-card-copy ul,.qr-card-very-dense .qr-card-copy ul{grid-template-columns:1fr}.table-scroll-hint{display:block}.required-password-panel{grid-template-columns:1fr;gap:20px;margin:18px 0}.history-heading{flex-direction:column;align-items:stretch}.history-range{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.history-table-wrap{overflow:visible}.history-table{min-width:0}.history-table thead{display:none}.history-table tbody,.history-table tr,.history-table td{width:100%;display:block}.history-table tr{border:1px solid var(--line);background:#fff;border-radius:10px;margin-bottom:12px;padding:7px 12px}.history-table td{border:0;border-bottom:1px solid var(--line);overflow-wrap:anywhere;grid-template-columns:minmax(96px,.42fr) minmax(0,1fr);gap:12px;padding:8px 0;display:grid}.history-table td:last-child{border-bottom:0}.history-table td:before{content:attr(data-label);color:var(--navy);text-transform:uppercase;font-size:.72rem;font-weight:900}.history-table .history-empty{text-align:center;display:block}.history-table .history-empty:before{content:none}.guardian-list,.verification-method,.action-strip,.classroom-grid{grid-template-columns:1fr}.grade-filter-grid{grid-template-columns:repeat(4,minmax(52px,1fr))}.gate-queue-row{grid-template-columns:36px minmax(0,1fr)}.gate-queue-state{grid-column:2;justify-items:start}.family-summary{flex-direction:column}.family-summary img{width:100%;max-width:220px;height:auto}.qr-legacy-card{grid-template-columns:1fr}.qr-focus-dialog{padding:24px 14px 20px}}@media print{body{background:#fff}main{width:100%;padding:0}.app-header,.connection-panel,.header-status,.qr-stepper,.qr-generator-summary,.qr-generator-toolbar,.qr-export-actions,.qr-enlarge-action,.qr-current-loading,.qr-legacy-list,.qr-focus-backdrop,.qr-import-panel,.qr-review-panel,.qr-groups-panel,.admin-side-stack,.app-footer{display:none!important}.admin-layout,.qr-admin-layout,.qr-generator-panel,.qr-cards-panel{display:block}.panel{box-shadow:none;border:0}.qr-card-sheet{grid-template-columns:repeat(2,minmax(0,1fr));gap:10mm;display:grid}.qr-card-preview{break-inside:avoid;box-shadow:none}}.entrance-correction-list{gap:.65rem;margin-top:.9rem;display:grid}.entrance-correction-row{background:#f7f8fc;border:1px solid #dfe3ef;border-radius:.75rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem .8rem;display:flex}.roster-replacement-preview>div{gap:.55rem;width:100%;display:grid}.roster-replacement-preview p{margin:0}@media (width<=640px){.entrance-correction-row{flex-direction:column;align-items:stretch}}.parent-app{width:min(620px,100%);min-height:100vh;margin:0 auto;padding:18px 18px 10px}.parent-app.compact{width:min(760px,100%)}.parent-header{justify-content:space-between;align-items:center;gap:14px;padding:4px 2px 18px;display:flex}.parent-brand{min-width:0;color:var(--navy);align-items:center;gap:12px;text-decoration:none;display:flex}.parent-brand img{object-fit:contain;flex:none;width:58px;height:58px}.parent-brand span{gap:2px;min-width:0;display:grid}.parent-brand small{color:var(--gold);letter-spacing:.04em;text-transform:uppercase;font-size:.68rem;font-weight:900}.parent-brand strong{text-overflow:ellipsis;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.45rem,6vw,2rem);font-weight:600;line-height:1;overflow:hidden}.parent-header-signout,.parent-header-settings{width:44px;height:44px;color:var(--navy);background:#fff;border:1px solid #0610642e;border-radius:50%;flex:none;place-items:center;display:inline-grid}.parent-header-signout svg,.parent-header-settings svg{width:19px;height:19px}.parent-content{gap:16px;display:grid}.parent-auth-card,.parent-state-card,.parent-status-card,.parent-arrival-card,.parent-install-card{background:#fffffff5;border:1px solid #0610641f;border-radius:20px;box-shadow:0 18px 55px #06106417}.parent-auth-card{overflow:hidden}.parent-first-time{border-top:1px solid var(--line);gap:14px;margin:0 24px 24px;padding-top:20px;display:grid}.parent-first-time>div{color:var(--navy);gap:3px;display:grid}.parent-first-time span{color:var(--muted);font-size:.84rem;line-height:1.45}.parent-first-time .parent-secondary-button{width:100%}.parent-auth-tabs{border-bottom:1px solid var(--line);background:#f3f4f8;grid-template-columns:1fr 1fr;padding:6px;display:grid}.parent-auth-tabs button{color:#62677a;background:0 0;border:0;border-radius:14px;min-height:46px;font-weight:900}.parent-auth-tabs button.active{color:var(--navy);background:#fff;box-shadow:0 4px 14px #06106417}.parent-auth-intro{gap:14px;padding:24px 24px 8px;display:flex}.parent-auth-intro>span,.parent-state-icon,.parent-install-icon{width:46px;height:46px;color:var(--navy);background:#d2a13a29;border-radius:14px;flex:none;place-items:center;display:inline-grid}.parent-auth-intro svg,.parent-state-icon svg,.parent-install-icon svg{width:23px;height:23px}.parent-auth-intro h2,.parent-state-card h2,.parent-status-card h2,.parent-arrival-card h2,.parent-install-card h2{color:var(--navy);font-family:Georgia,Times New Roman,serif;font-size:1.55rem;font-weight:600}.parent-auth-intro p,.parent-state-card>p,.parent-install-card p{color:var(--muted);margin:5px 0 0;line-height:1.5}.parent-auth-form,.parent-reset-panel{gap:8px;padding:18px 24px 26px;display:grid}.parent-auth-form label,.parent-reset-panel label,.parent-rejection-form label{color:var(--navy);margin-top:8px;font-size:.8rem;font-weight:900}.parent-auth-form input,.parent-auth-form select,.parent-reset-panel input,.parent-rejection-form textarea{width:100%;min-height:50px;color:var(--ink);background:#fff;border:1px solid #ccd1de;border-radius:12px;padding:11px 13px}.parent-auth-form input:focus,.parent-auth-form select:focus,.parent-reset-panel input:focus,.parent-rejection-form textarea:focus{border-color:var(--navy);outline:3px solid #d2a13a47}.parent-field-help{color:var(--muted);font-size:.72rem;line-height:1.4}.parent-primary-button,.parent-primary-link,.parent-secondary-button,.shared-gate-actions a,.shared-gate-actions button,.parent-registration-actions button,.parent-rejection-form button{border:1px solid var(--navy);color:#fff;background:var(--navy);border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:49px;padding:11px 16px;font-weight:900;text-decoration:none;display:inline-flex}.parent-primary-button{width:100%;margin-top:12px}.parent-secondary-button{color:var(--navy);background:#fff;border-color:#06106438}.parent-text-button{min-height:42px;color:var(--navy);background:0 0;border:0;justify-content:center;align-items:center;gap:7px;padding:7px 10px;font-weight:850;display:inline-flex}.parent-text-button svg{width:17px;height:17px}.parent-inline-message{color:#7a3d00;background:#fff4dc;border-radius:10px;margin:8px 0 0;padding:10px 12px;font-size:.82rem;font-weight:750;line-height:1.4}.parent-install-card{gap:14px;padding:20px;display:flex}.parent-install-card.compact{box-shadow:none;border-radius:14px;padding:16px}.parent-install-card h2{margin-bottom:3px;font-size:1.2rem}.parent-install-card ol{color:#4f5364;margin:12px 0 14px;padding-left:20px;font-size:.82rem;line-height:1.5}.parent-install-card li+li{margin-top:6px}.parent-install-message{color:var(--success);font-size:.8rem;font-weight:800}.parent-school-link{color:var(--muted);text-align:center;margin:2px 0 0;font-size:.78rem}.parent-school-link a{color:var(--navy);font-weight:850}.parent-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:14px;margin-top:20px;padding:12px 2px;font-size:.68rem;font-weight:750;display:flex}.parent-state-card{text-align:center;justify-items:center;padding:34px 24px;display:grid}.parent-state-card>svg{width:42px;height:42px;color:var(--navy);margin-bottom:16px}.parent-state-warning>svg{color:var(--warning)}.parent-state-card .parent-primary-link,.parent-state-card .parent-primary-button,.parent-state-card .parent-secondary-button{width:min(100%,340px);margin-top:18px}.parent-phone-state .parent-state-icon{margin-bottom:14px}.parent-phone-input{background:#fff;border:1px solid #ccd1de;border-radius:12px;grid-template-columns:auto minmax(0,1fr);align-items:center;display:grid;overflow:hidden}.parent-phone-input:focus-within{border-color:var(--navy);outline:3px solid #d2a13a47}.parent-phone-input>span{color:var(--navy);background:#f5f6fa;border-right:1px solid #d8dce7;align-self:stretch;place-items:center;padding:0 12px;font-weight:900;display:grid}.parent-auth-form .parent-phone-input input{border:0;border-radius:0;outline:0;min-width:0}.parent-auth-form .parent-otp-input{letter-spacing:.32em;text-align:center;font-size:1.45rem;font-weight:900}.parent-children-fieldset{border:1px solid #d7dbe7;border-radius:14px;gap:12px;margin-top:12px;padding:12px;display:grid}.parent-children-fieldset>legend{color:var(--navy);padding:0 6px;font-size:.8rem;font-weight:900}.parent-child-draft{background:#f6f7fb;border-radius:11px;gap:7px;padding:11px;display:grid}.parent-child-draft-heading{color:var(--navy);justify-content:space-between;align-items:center;gap:10px;display:flex}.parent-child-draft-heading button{color:#9a252b;background:#fff5f5;border:1px solid #e2b8ba;border-radius:9px;place-items:center;width:34px;height:34px;display:inline-grid}.parent-child-draft-heading svg{width:16px;height:16px}.parent-add-child-button{min-height:42px;color:var(--navy);background:#fff;border:1px dashed #06106459;border-radius:10px;justify-content:center;align-items:center;gap:7px;font-weight:850;display:inline-flex}.parent-add-child-button svg{width:17px;height:17px}.parent-loading-card>svg{animation:1.1s linear infinite parent-spin}@keyframes parent-spin{to{transform:rotate(360deg)}}.parent-status-card{padding:24px}.parent-roster-note{color:#39405a;background:#f4f6fb;border-radius:12px;margin:18px 0 0;padding:12px 14px;font-size:.85rem;line-height:1.5}.parent-status-heading>span.confirmed{color:#0d6b48;background:#e4f7ef}.parent-password-setup{border-top:1px solid var(--line);background:#fbfcff;margin:4px -24px -24px}.parent-password-setup h3{color:var(--navy);margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.25rem}.parent-password-setup>p{color:var(--muted);margin:0 0 4px;font-size:.85rem;line-height:1.45}.parent-settings-backdrop{z-index:60;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#040a307a;align-items:end;padding:14px;display:grid;position:fixed;inset:0}.parent-settings-dialog{background:#fff;border-radius:20px;width:min(100%,480px);margin:0 auto;padding:22px;box-shadow:0 24px 70px #040a3047}.parent-settings-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.parent-settings-heading h2{color:var(--navy);font-family:Georgia,Times New Roman,serif;font-size:1.55rem}.parent-settings-heading>button{border:1px solid var(--line);width:42px;height:42px;color:var(--navy);background:#fff;border-radius:50%;place-items:center;display:inline-grid}.parent-settings-heading svg{width:19px;height:19px}.parent-settings-signout{width:100%}.parent-signout-confirm{color:#731d22;background:#fff6f6;border:1px solid #efc2c4;border-radius:14px;gap:10px;padding:14px;display:grid}.parent-signout-confirm p{color:#68484a;margin:0;font-size:.84rem;line-height:1.45}.parent-signout-confirm>div{grid-template-columns:1fr 1fr;gap:9px;display:grid}.parent-danger-button{color:#fff;background:#a3262d;border:1px solid #a3262d;border-radius:12px;min-height:49px;padding:11px 14px;font-weight:900}@media (width>=640px){.parent-settings-backdrop{align-items:center}}.parent-status-heading{align-items:flex-start;gap:14px;display:flex}.parent-status-heading>span{color:#855300;background:#fff1ce;border-radius:15px;flex:none;place-items:center;width:48px;height:48px;display:inline-grid}.parent-status-heading>span.rejected{color:#a21f27;background:#ffe8e8}.parent-status-heading svg{width:23px;height:23px}.parent-status-heading span.pending svg{animation:3s linear infinite parent-spin}.parent-kicker{color:var(--gold);letter-spacing:.05em;text-transform:uppercase;margin:0 0 4px;font-size:.72rem;font-weight:900}.parent-status-card h2{margin:0}.parent-profile-summary{border:1px solid var(--line);border-radius:14px;gap:0;margin:22px 0;display:grid;overflow:hidden}.parent-profile-summary>div{border-bottom:1px solid var(--line);grid-template-columns:95px minmax(0,1fr);gap:12px;padding:11px 13px;display:grid}.parent-profile-summary>div:last-child{border-bottom:0}.parent-profile-summary dt{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:850}.parent-profile-summary dd{margin:0;font-weight:800}.parent-approval-steps{gap:13px;display:grid}.parent-approval-steps>div{grid-template-columns:34px minmax(0,1fr);align-items:center;gap:11px;display:grid}.parent-approval-steps>div>span{color:#765000;background:#fff1ce;border-radius:50%;place-items:center;width:34px;height:34px;font-weight:900;display:inline-grid}.parent-approval-steps>div.complete>span{color:#fff;background:var(--success)}.parent-approval-steps svg{width:17px;height:17px}.parent-approval-steps p{margin:0;display:grid}.parent-approval-steps small{color:var(--muted)}.parent-status-note{border-left:4px solid var(--gold);color:#505464;background:#fbf7ec;margin:20px 0 14px;padding:10px 12px;line-height:1.45}.parent-rejection-reason{color:#7e2025;background:#fff2f2;border:1px solid #f0b9bb;border-radius:12px;margin-top:18px;padding:12px 14px}.parent-rejection-reason p{margin:4px 0 0}.parent-edit-form{padding:18px 0 0}.parent-signout-button{border-top:1px solid var(--line);border-radius:0;width:100%;margin-top:12px;padding-top:16px}.parent-device-detail{background:#eef0f8;border-radius:999px;padding:7px 11px;font-size:.76rem;font-weight:900;color:var(--navy)!important}.parent-arrival-card{padding:22px}.parent-choice-label{color:var(--navy);margin:0 0 7px;font-size:.85rem;font-weight:800}.parent-scan-start p{color:var(--muted);margin:8px 0 0;font-size:.85rem;line-height:1.5}.parent-scan-start .parent-primary-button{width:100%}.parent-help{color:var(--navy);border-top:1px solid #e1e4ed;margin-top:18px;padding-top:6px}.parent-help summary{cursor:pointer;align-content:center;min-height:44px;font-weight:700}.parent-help p{color:var(--muted);margin:6px 0;font-size:.9rem;line-height:1.5}.parent-help summary:focus-visible{outline-offset:3px;outline:3px solid #c99523}.parent-welcome-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.parent-welcome-row h2{margin:0}.parent-approved-chip{color:#116943;background:#e9f8f0;border-radius:999px;flex:none;align-items:center;gap:5px;padding:7px 9px;font-size:.7rem;font-weight:900;display:inline-flex}.parent-approved-chip svg{width:14px;height:14px}.parent-student-selection{border:0;gap:8px;margin:18px 0;padding:0;display:grid}.parent-student-selection legend{color:var(--navy);margin-bottom:7px;font-size:.78rem;font-weight:900}.parent-student-selection label{cursor:pointer;background:#f8f9fc;border:1px solid #d8dce7;border-radius:11px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 11px;display:grid}.parent-student-selection label.selected{background:#edfaf3;border-color:#77b99a}.parent-student-selection input{width:19px;height:19px;accent-color:var(--success)}.parent-student-selection span{min-width:0;display:grid}.parent-student-selection strong{color:var(--navy);font-size:.83rem}.parent-student-selection small{color:var(--muted);font-size:.7rem}.parent-student-selection label>svg{width:18px;height:18px;color:var(--success);opacity:0}.parent-student-selection label.selected>svg{opacity:1}.parent-mode-choice{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;display:grid}.parent-mode-choice button{color:#53586a;text-align:left;background:#fff;border:2px solid #d8dce7;border-radius:14px;align-items:center;gap:10px;min-width:0;min-height:66px;padding:10px 12px;display:flex}.parent-mode-choice button.active{border-color:var(--navy);color:var(--navy);background:#f1f3ff;box-shadow:0 0 0 3px #06106414}.parent-mode-choice svg{flex:none;width:25px;height:25px}.parent-mode-choice span{min-width:0;display:grid}.parent-mode-choice small{color:var(--muted);font-size:.68rem}.parent-scanner{gap:12px;display:grid}.parent-camera-frame{aspect-ratio:4/3;border:3px solid var(--navy);background:#07112d;border-radius:20px;position:relative;overflow:hidden}.parent-camera-frame video{object-fit:cover;width:100%;height:100%}.parent-scan-corners{border:3px solid #fffffff2;border-radius:18px;position:absolute;inset:18% 15%;box-shadow:0 0 0 999px #0003}.parent-camera-frame.status-scanning .parent-scan-corners{animation:1.8s ease-in-out infinite parent-scan-pulse}@keyframes parent-scan-pulse{50%{border-color:#f2c04f;box-shadow:0 0 0 999px #00000026,0 0 0 5px #f2c04f47}}.parent-camera-overlay{z-index:2;color:#fff;background:#050c28c7;place-content:center;justify-items:center;gap:9px;font-weight:850;display:grid;position:absolute;inset:0}.parent-camera-overlay.sending svg{animation:1s linear infinite parent-spin}.parent-scanner-copy{color:var(--navy);align-items:center;gap:10px;display:flex}.parent-scanner-copy>svg{flex:none;width:26px;height:26px}.parent-scanner-copy p{margin:0;display:grid}.parent-scanner-copy small{color:var(--muted);font-size:.72rem;line-height:1.35}.parent-scan-success{color:#124d36;text-align:center;background:linear-gradient(#e8fff3,#f8fffb);border:2px solid #79c7a4;border-radius:20px;justify-items:center;padding:30px 20px;display:grid}.parent-scan-success>span{color:#fff;background:var(--success);border-radius:50%;place-items:center;width:68px;height:68px;margin-bottom:13px;display:inline-grid;box-shadow:0 8px 26px #18895c3d}.parent-scan-success>span svg{width:38px;height:38px}.parent-scan-success h3{color:#0d5a3d;margin-bottom:12px;font-family:Georgia,Times New Roman,serif;font-size:1.65rem}.parent-scan-success>p:last-child{max-width:430px;margin:14px 0 0;line-height:1.5}.parent-arrival-students{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.parent-arrival-students p{background:#fff;border-radius:10px;margin:0;padding:9px 12px;display:grid;box-shadow:0 4px 12px #14644414}.parent-arrival-students small{font-size:.7rem}.parent-detected-code{text-align:center;background:#f7f8fd;border:2px solid #c8cfe5;border-radius:18px;justify-items:center;padding:25px 18px;display:grid}.parent-detected-code>span{color:#fff;background:var(--navy);border-radius:16px;place-items:center;width:58px;height:58px;margin-bottom:10px;display:inline-grid}.parent-detected-code h3{margin-bottom:4px}.parent-detected-code p{color:var(--muted)}.parent-install-details{border:1px solid var(--line);background:#ffffffc2;border-radius:14px}.parent-install-details summary{min-height:48px;color:var(--navy);cursor:pointer;align-items:center;gap:8px;padding:10px 14px;font-size:.82rem;font-weight:850;display:flex}.parent-install-details summary svg{width:18px;height:18px}.parent-install-details .parent-install-card{border:0;border-top:1px solid var(--line);border-radius:0 0 14px 14px}.gate-staff-layout,.parent-admin-layout{gap:16px;display:grid}.gate-staff-intro,.gate-staff-queue-panel{padding:18px}.staff-install-details{border-top:1px solid var(--line);flex-basis:100%;width:100%;padding-top:10px}.staff-install-details>summary{cursor:pointer;min-height:44px;color:var(--navy);align-items:center;gap:8px;font-weight:700;display:flex}.staff-install-details>summary svg{width:18px;height:18px}.classroom-grid .request-actions button,.gate-staff-layout .request-actions button{width:auto;min-height:44px;padding:8px}.classroom-grid .classroom-action-label,.gate-staff-layout .classroom-action-label{clip:auto;white-space:normal;width:auto;height:auto;margin:0;font-size:.75rem;position:static;overflow:visible}.gate-staff-intro,.parent-admin-heading{justify-content:space-between;align-items:center;gap:18px;display:flex}.gate-staff-intro p,.parent-admin-heading p{color:var(--muted);margin:5px 0 0}.gate-staff-intro>span{color:#116943;background:#e9f8f0;border-radius:999px;flex:none;align-items:center;gap:7px;padding:8px 11px;font-size:.76rem;font-weight:850;display:inline-flex}.gate-staff-intro svg{width:18px;height:18px}.gate-staff-queue-panel .gate-queue{min-height:360px}.parent-profile-admin-layout{display:block}.parent-admin-columns{grid-template-columns:minmax(0,1.55fr) minmax(310px,.75fr);align-items:start;gap:16px;display:grid}.parent-review-title,.shared-gate-heading,.parent-registration-topline,.shared-gate-actions,.parent-registration-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.parent-review-title>span{color:var(--navy);background:#f0f2fb;border-radius:999px;align-items:center;gap:6px;padding:7px 10px;font-weight:900;display:inline-flex}.parent-review-title svg{width:17px;height:17px}.parent-review-tabs{background:#f1f2f6;border-radius:12px;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:18px 0;padding:5px;display:grid}.parent-review-tabs button{color:#606578;background:0 0;border:0;border-radius:9px;min-height:42px;font-size:.78rem;font-weight:850}.parent-review-tabs button.active{color:var(--navy);background:#fff;box-shadow:0 3px 10px #0610641a}.parent-review-tabs strong{background:#e8eaf2;border-radius:999px;place-items:center;min-width:22px;height:22px;margin-left:3px;display:inline-grid}.parent-registration-list{gap:12px;display:grid}.parent-review-help{color:var(--muted);margin:-6px 0 16px;font-size:.82rem}.parent-attention-reasons{flex-wrap:wrap;gap:6px;margin:12px 0;padding:0;list-style:none;display:flex}.parent-attention-reasons li{color:#6a480a;background:#fff0c9;border-radius:6px;align-items:center;gap:5px;padding:6px 8px;font-size:.78rem;font-weight:750;display:inline-flex}.parent-attention-reasons svg{flex:none;width:15px;height:15px}.parent-registration-card{border:1px solid var(--line);background:#fff;border-radius:14px;padding:15px}.parent-registration-status,.parent-registration-topline>span:last-child{border-radius:999px;align-items:center;gap:5px;padding:5px 8px;font-size:.68rem;font-weight:900;display:inline-flex}.parent-registration-status.pending{color:#7b5200;background:#fff0c9}.parent-registration-status.approved,.email-confirmed{color:#116943;background:#e6f7ee}.parent-registration-status.rejected,.email-unconfirmed{color:#9a252b;background:#ffe8e8}.parent-registration-topline svg{width:14px;height:14px}.parent-registration-card h4{color:var(--navy);margin:16px 0 2px;font-size:1.2rem}.parent-registration-grade{color:var(--gold);font-size:.78rem;font-weight:900}.parent-registration-card dl{gap:6px;margin:13px 0;display:grid}.parent-registration-card dl>div{grid-template-columns:70px minmax(0,1fr);gap:9px;display:grid}.parent-registration-card dt{color:var(--muted);text-transform:uppercase;font-size:.7rem;font-weight:850}.parent-registration-card dd{overflow-wrap:anywhere;min-width:0;margin:0;font-size:.82rem;font-weight:750}.parent-match-fieldset{border:1px solid #cfd4e3;border-radius:11px;gap:7px;margin:13px 0;padding:10px;display:grid}.parent-match-fieldset legend{color:var(--navy);padding:0 5px;font-size:.7rem;font-weight:900}.parent-match-fieldset label{background:#f7f8fb;border-radius:8px;align-items:center;gap:9px;padding:7px;display:flex}.parent-match-fieldset input{width:18px;height:18px}.parent-match-fieldset span{display:grid}.parent-match-fieldset small{color:var(--muted)}.parent-no-match,.parent-rejected-copy{color:#5f4a12;background:#fff8e8;border-radius:10px;padding:9px 11px;font-size:.76rem;line-height:1.4}.parent-record-match{color:#116943;background:#e9f8f0;border-radius:10px;align-items:center;gap:7px;padding:9px 11px;font-size:.76rem;font-weight:800;display:flex}.parent-record-match svg,.parent-no-match svg{flex:none;width:16px;height:16px}.parent-roster-identity{background:#f8f9fc;border:1px solid #dfe3ec;border-radius:10px;padding:9px 10px}.parent-device-list{border-top:1px solid var(--line);gap:8px;margin-top:14px;padding-top:12px;display:grid}.parent-device-list>strong,.parent-device-list>div,.parent-device-list>div>span,.parent-device-actions{align-items:center;gap:7px;display:flex}.parent-device-list>strong{color:var(--navy);font-size:.78rem}.parent-device-list>strong svg{width:17px;height:17px}.parent-device-list>div{background:#f6f7fb;border-radius:9px;justify-content:space-between;padding:8px 9px}.parent-device-list>div>span{flex-direction:column;align-items:flex-start;gap:1px}.parent-device-list small{color:var(--muted);font-size:.68rem}.parent-device-list button{border:1px solid var(--navy);color:#fff;background:var(--navy);border-radius:8px;min-height:34px;padding:6px 9px;font-size:.7rem;font-weight:850}.parent-device-actions{flex-direction:row!important}.parent-device-list button.revoke-device{color:#8c2b31;background:#fff;border-color:#c75d64}.parent-rejected-copy{color:#8c2b31;background:#fff1f1}.parent-registration-actions{flex-wrap:wrap;justify-content:flex-start;margin-top:14px}.parent-registration-actions button,.parent-rejection-form button{border-radius:9px;min-height:42px;padding:8px 11px;font-size:.75rem}.parent-registration-actions button.secondary-action{color:var(--navy);background:#fff}.parent-registration-actions svg{width:16px;height:16px}.parent-rejection-form{border-top:1px solid var(--line);gap:7px;margin-top:12px;padding-top:12px;display:grid}.parent-rejection-form textarea{resize:vertical;min-height:86px}.parent-review-empty{color:var(--muted);text-align:center;justify-items:center;gap:8px;padding:42px 12px;display:grid}.parent-review-empty svg{width:34px;height:34px}.parent-review-empty svg[data-lucide=refresh-cw]{animation:1.1s linear infinite parent-spin}.shared-gate-card{position:sticky;top:16px}.shared-gate-heading{justify-content:flex-start;margin-bottom:14px}.shared-gate-heading>span{color:#fff;background:var(--navy);border-radius:13px;flex:none;place-items:center;width:44px;height:44px;display:inline-grid}.shared-gate-heading h3{margin:0;font-size:1.35rem}.shared-gate-print{border:5px solid var(--navy);text-align:center;background:#fff;border-radius:16px;justify-items:center;padding:18px 14px;display:grid}.shared-gate-crest{object-fit:contain;width:62px;height:62px}.shared-gate-print>p{color:var(--gold);text-transform:uppercase;margin:7px 0 2px;font-size:.68rem;font-weight:900}.shared-gate-print h2{max-width:300px;color:var(--navy);margin-bottom:12px;font-family:Georgia,Times New Roman,serif;font-size:1.45rem;line-height:1.08}.shared-gate-qr,.shared-gate-qr-loading{aspect-ratio:1;width:min(100%,290px)}.shared-gate-qr-loading{color:var(--navy);background:#f1f2f7;place-items:center;display:grid}.shared-gate-qr-loading svg{animation:1.1s linear infinite parent-spin}.shared-gate-print>strong{color:var(--navy);margin-top:9px;font-family:Georgia,Times New Roman,serif;font-size:1.1rem}.shared-gate-print>small{max-width:280px;color:var(--muted);margin-top:5px;font-size:.68rem;line-height:1.4}.shared-gate-actions{grid-template-columns:1fr 1fr;margin-top:12px;display:grid}.shared-gate-actions a,.shared-gate-actions button{border-radius:9px;min-height:44px;padding:8px 10px;font-size:.74rem}.shared-gate-actions>:last-child:nth-child(3){grid-column:1/-1}.shared-gate-actions svg{width:16px;height:16px}.shared-gate-note{color:var(--muted);margin:12px 0 0;font-size:.75rem;line-height:1.45}.guardian-roster-panel{gap:14px;padding:18px;display:grid}.guardian-roster-heading{align-items:flex-start;gap:12px;display:flex}.guardian-roster-heading>span{color:#fff;background:var(--navy);border-radius:12px;flex:none;place-items:center;width:42px;height:42px;display:grid}.guardian-roster-heading>span svg{width:21px;height:21px}.guardian-roster-heading h3{color:var(--navy);margin:1px 0 3px;font-size:1.12rem}.guardian-roster-heading p:last-child,.guardian-roster-note{color:var(--muted);margin:0;font-size:.78rem;line-height:1.5}.guardian-roster-actions{flex-wrap:wrap;gap:9px;display:flex}.guardian-roster-actions a,.guardian-roster-upload{border:1px solid var(--navy);min-height:42px;color:var(--navy);cursor:pointer;background:#fff;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:8px 12px;font-size:.76rem;font-weight:850;text-decoration:none;display:inline-flex}.guardian-roster-upload{color:#fff;background:var(--navy)}.guardian-roster-actions svg{width:17px;height:17px}.guardian-roster-message{color:#8c2b31;background:#fff1f1;border:1px solid #f0bec1;border-radius:9px;margin:0;padding:9px 11px;font-size:.77rem;font-weight:750}.guardian-roster-message.success{color:#16653a;background:#eefaf3;border-color:#a9d8be}.guardian-roster-review{border-top:1px solid var(--line);gap:12px;padding-top:14px;display:grid}.guardian-roster-summary{grid-template-columns:minmax(170px,2fr) repeat(3,minmax(90px,1fr));gap:8px;display:grid}.guardian-roster-summary>span{color:var(--navy);background:#f4f6fb;border-radius:9px;gap:2px;padding:9px 10px;display:grid}.guardian-roster-summary>span.ok{color:#16653a;background:#eefaf3}.guardian-roster-summary>span.danger{color:#8c2b31;background:#fff1f1}.guardian-roster-summary strong{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.guardian-roster-summary small{color:inherit;font-size:.65rem;font-weight:700}.guardian-roster-table-wrap{border:1px solid var(--line);border-radius:10px;max-height:330px;overflow:auto}.guardian-roster-table{border-collapse:collapse;width:100%;min-width:850px;font-size:.72rem}.guardian-roster-table th{z-index:1;color:#fff;background:var(--navy);text-align:left;padding:8px 9px;position:sticky;top:0}.guardian-roster-table td{border-top:1px solid var(--line);vertical-align:top;padding:8px 9px}.guardian-roster-table tr.has-error td{background:#fff8f8}.guardian-roster-table td small{color:var(--muted);margin-top:2px;font-size:.64rem;display:block}.guardian-roster-row-ok,.guardian-roster-row-error{align-items:flex-start;gap:5px;font-weight:800;line-height:1.35;display:inline-flex}.guardian-roster-row-ok{color:#16653a}.guardian-roster-row-error{color:#8c2b31;max-width:300px}.guardian-roster-row-ok svg,.guardian-roster-row-error svg{flex:none;width:15px;height:15px}.guardian-roster-confirm{justify-content:space-between;align-items:center;gap:14px;display:flex}.guardian-roster-confirm p{color:var(--muted);align-items:flex-start;gap:7px;margin:0;font-size:.72rem;line-height:1.45;display:flex}.guardian-roster-confirm p svg{color:#16653a;flex:none;width:17px;height:17px}.guardian-roster-confirm button{border-radius:9px;flex:none;min-height:42px;padding:8px 12px;font-size:.75rem}.guardian-roster-reset{border-top:1px solid #f0bec1;justify-content:space-between;align-items:center;gap:16px;padding-top:14px;display:flex}.guardian-roster-reset>div:first-child{min-width:0}.guardian-roster-reset strong{color:#8c2b31;font-size:.8rem}.guardian-roster-reset p{color:var(--muted);margin:3px 0 0;font-size:.7rem;line-height:1.45}.guardian-roster-reset button{border-radius:9px;min-height:42px;padding:8px 12px;font-size:.74rem;font-weight:850}.guardian-roster-reset-toggle,.guardian-roster-reset-submit{color:#fff;background:#aa3038;border:1px solid #aa3038;flex:none;justify-content:center;align-items:center;gap:7px;display:inline-flex}.guardian-roster-reset-toggle svg,.guardian-roster-reset-submit svg{width:16px;height:16px}.guardian-roster-reset-confirm{flex:0 0 360px;gap:7px;width:min(100%,360px);display:grid}.guardian-roster-reset-confirm label{color:#6d252a;font-size:.7rem;font-weight:750}.guardian-roster-reset-confirm input{min-height:40px;font:inherit;text-transform:uppercase;border:1px solid #d88d92;border-radius:8px;padding:8px 10px}.guardian-roster-reset-confirm>div{justify-content:flex-end;gap:7px;display:flex}.guardian-roster-reset-cancel{border:1px solid var(--line);color:var(--navy);background:#fff}.guardian-roster-reset button:disabled{cursor:not-allowed;opacity:.55}.parent-admin-message{margin:0}@media (width<=980px){.parent-admin-columns{grid-template-columns:1fr}.shared-gate-card{position:static}.shared-gate-print{max-width:440px;margin:0 auto}}@media (width<=680px){.parent-app{padding:10px 12px 6px}.parent-header{padding-bottom:12px}.parent-brand img{width:48px;height:48px}.parent-brand small{font-size:.58rem}.parent-auth-card,.parent-state-card,.parent-status-card,.parent-arrival-card{border-radius:16px}.parent-auth-intro{padding:19px 17px 5px}.parent-auth-form,.parent-reset-panel{padding:14px 17px 20px}.parent-status-card,.parent-arrival-card{padding:17px}.parent-install-card{flex-direction:column;align-items:stretch;padding:16px}.parent-install-card .parent-secondary-button{width:100%}.parent-install-card ol{margin:0}.parent-install-icon{display:none}.parent-welcome-row,.gate-staff-intro,.parent-admin-heading,.guardian-roster-confirm,.guardian-roster-reset{flex-direction:column;align-items:stretch}.guardian-roster-summary{grid-template-columns:1fr 1fr}.guardian-roster-confirm button,.guardian-roster-reset-toggle,.guardian-roster-reset-confirm{width:100%}.guardian-roster-reset-confirm{flex-basis:auto}.parent-approved-chip,.gate-staff-intro>span{align-self:flex-start}.parent-camera-frame{aspect-ratio:3/4;max-height:62vh}.parent-review-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.parent-review-tabs button{min-height:44px}.classroom-grid .request-card{grid-template-columns:6px minmax(0,1fr)}.classroom-grid .request-card>.status-dot{grid-row:1/3}.classroom-grid .request-summary{flex-wrap:wrap;align-items:center}.classroom-grid .request-summary strong{white-space:normal;overflow-wrap:anywhere;overflow:visible}.classroom-grid .request-actions{grid-column:2;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.classroom-grid .request-actions button{width:100%;min-width:0}.queue-sync-status{flex-direction:column;align-items:stretch}.parent-device-list>div{flex-direction:column;align-items:stretch;gap:8px}.parent-device-actions{flex-wrap:wrap}.parent-device-list button{min-height:44px}.parent-registration-topline{flex-direction:column;align-items:flex-start}.parent-registration-actions,.shared-gate-actions,.guardian-roster-actions{grid-template-columns:1fr;display:grid}.parent-registration-actions button,.shared-gate-actions a,.shared-gate-actions button{width:100%}.compact-app-header h1{white-space:normal;max-width:210px;font-size:.95rem;line-height:1.05}}@media (width<=390px){.brand-lockup,.brand-lockup>div{min-width:0}.brand-lockup h1{overflow-wrap:anywhere;font-size:1.65rem}.parent-mode-choice{gap:8px}.parent-mode-choice button{flex-direction:column;align-items:flex-start;gap:5px;padding:10px}.parent-mode-choice small{display:none}.parent-footer{text-align:center;flex-direction:column;align-items:center}}@media print{body:has(.shared-gate-print) *{visibility:hidden!important}:is(body:has(.shared-gate-print) .shared-gate-print,body:has(.shared-gate-print) .shared-gate-print *){visibility:visible!important}body:has(.shared-gate-print) .shared-gate-print{border-width:3mm;border-radius:0;place-content:center;width:190mm;height:260mm;margin:auto;padding:18mm;position:fixed;inset:0;display:grid!important}body:has(.shared-gate-print) .shared-gate-crest{width:28mm;height:28mm}body:has(.shared-gate-print) .shared-gate-print h2{max-width:150mm;font-size:13mm}body:has(.shared-gate-print) .shared-gate-qr{width:108mm}body:has(.shared-gate-print) .shared-gate-print>strong{font-size:8mm}body:has(.shared-gate-print) .shared-gate-print>small{max-width:145mm;font-size:4.5mm}}
