@import "https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Inter:wght@400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif:"Instrument Serif", Georgia, serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;font-family:var(--font-sans);color:#17243a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--navy:#17243a;--charcoal:#30343b;--ivory:#faf7f1;--cream:#fff4e6;--aqua:#bfe5e3;--coral:#f26d5b;--green:#2e7d50;--amber:#f2b84b;--line:#e8dfd2;--muted:#68707c;--panel:#fffdf8;--soft:#f4eee4;--white:#fff;--danger:#b94b3f;--success:var(--green);--warning:#a36d08;--brand-primary:var(--navy);--brand-secondary:var(--charcoal);--brand-accent:var(--green);--brand-maroon:var(--navy);--brand-gold:var(--amber);--surface:var(--panel);--surface-white:var(--panel);--surface-ivory:var(--ivory);--surface-sand:var(--soft);--border-light:var(--line);--text-dark:var(--navy);--text-muted:var(--muted);--surface-raised:var(--white);--surface-recessed:#fbfaf8;--surface-selected:#e7f3eb;--surface-warning:#fff7df;--surface-danger:#fff0ed;--surface-info:#f3fbfb;--border-selected:#bddbc7;--border-warning:#ecd9a7;--border-danger:#efc7bf;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--radius-control:7px;--radius-card:8px;--radius-panel:8px;--radius-pill:999px;--control-height-sm:34px;--control-height:40px;--input-height:42px;--dashboard-gap:var(--space-3);--dashboard-gap-lg:var(--space-4);--dashboard-gutter:var(--space-6);--dashboard-panel-padding:var(--space-5);--shadow:0 1px 0 #17243a0a, 0 12px 34px #30343b0f;--shadow-card:0 10px 22px #17243a0f;--shadow-overlay:0 24px 70px #17243a38;--shadow-toast:0 18px 44px #17243a2e, 0 3px 10px #17243a14;--focus-ring:0 0 0 3px #2e7d5024;background:#faf7f1}*{box-sizing:border-box}html{background:var(--ivory);min-width:320px}body{background:var(--ivory);min-width:320px;min-height:100vh;color:var(--navy);letter-spacing:0;margin:0}button,input,select,textarea{font:inherit;letter-spacing:0}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--navy);font-weight:800}.theme-root,.app-shell{min-height:100vh}.theme-root{background:var(--ivory)}.landing-exact-page{background:#faf7f1;width:100%;height:100dvh;overflow:hidden}.landing-exact-frame{border:0;width:100%;height:100%;display:block}.landing-page{color:#17243a;background:#faf7f1;min-height:100vh;overflow-x:hidden}.landing-nav{z-index:30;-webkit-backdrop-filter:blur(18px)saturate(140%);backdrop-filter:blur(18px)saturate(140%);background:#faf7f1c7;border-bottom:1px solid #17243a14;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:22px;min-height:72px;padding:16px clamp(18px,4vw,48px);display:grid;position:fixed;inset:0 0 auto}.landing-logo{color:#17243a;align-items:center;gap:10px;min-width:0;font-family:Instrument Serif,Georgia,serif;font-size:23px;line-height:1;display:inline-flex}.landing-logo img{object-fit:contain;flex:0 0 34px;width:34px;height:34px}.landing-nav-links,.landing-nav-actions,.landing-cta-row,.landing-footer-links{align-items:center;display:flex}.landing-nav-links{color:#17243ab8;justify-content:center;gap:24px;font-size:14px;font-weight:650}.landing-nav-links a:hover,.landing-footer-links a:hover{color:#f26d5b}.landing-nav-actions{justify-content:flex-end;gap:10px}.landing-button{white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 17px;font-size:14px;font-weight:750;line-height:1;transition:background .16s,border-color .16s,box-shadow .16s,transform .16s;display:inline-flex}.landing-button:hover{transform:translateY(-1px)}.landing-button-primary{color:#fffdf8;background:#17243a}.landing-button-ghost{color:#17243a;background:#fff6;border-color:#17243a1a}.landing-button-light{color:#17243a;background:#ffffffad;border-color:#17243a1f}.landing-button-coral{color:#fffdf8;background:#f26d5b;box-shadow:0 14px 34px -20px #f26d5bd9}.landing-button-large{min-height:50px;padding:0 23px;font-size:15px}.landing-hero{isolation:isolate;align-items:center;min-height:92vh;padding:116px clamp(20px,5vw,72px) 86px;display:grid;position:relative;overflow:hidden}.landing-hero:before{content:"";z-index:-1;background:linear-gradient(90deg,#faf7f1fa 0%,#faf7f1e6 38%,#faf7f166 68%,#faf7f1b8 100%),radial-gradient(circle at 20% 78%,#bfe5e38a,#0000 34%),linear-gradient(#fff4e6 0%,#faf7f1 100%);position:absolute;inset:0}.landing-hero-art{z-index:-1;filter:drop-shadow(0 24px 28px #17243a24);width:min(84vw,1120px);max-width:none;height:auto;position:absolute;bottom:-6vw;right:max(-18vw,-260px)}.landing-hero-copy{width:min(650px,100%)}.landing-live-pill,.landing-eyebrow{color:#2e7d50;letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:10px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;font-weight:650;display:inline-flex}.landing-live-pill{letter-spacing:0;text-transform:none;background:#2e7d501a;border:1px solid #2e7d5033;border-radius:999px;margin-bottom:26px;padding:7px 13px 7px 9px}.landing-live-pill span{background:#2e7d50;border-radius:50%;width:8px;height:8px;animation:1.8s ease-out infinite landingPulse;box-shadow:0 0 #2e7d5099}@keyframes landingPulse{to{box-shadow:0 0 0 10px #2e7d5000}}.landing-hero h1,.landing-section h2,.landing-final h2{color:#17243a;letter-spacing:0;text-wrap:balance;margin-bottom:0;font-family:Instrument Serif,Georgia,serif;font-weight:400;line-height:.98}.landing-hero h1{max-width:700px;font-size:clamp(4rem,8vw,7.6rem)}.landing-hero p,.landing-copy p,.landing-final p{color:#30343bd1;font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.6}.landing-hero-copy>p:not(.landing-live-pill){max-width:560px;margin:24px 0 0}.landing-cta-row{flex-wrap:wrap;gap:13px;margin-top:34px}.landing-micro-stats{border-top:1px solid #17243a1a;flex-wrap:wrap;gap:30px;margin:52px 0 0;padding-top:26px;display:flex}.landing-micro-stats div{min-width:92px}.landing-micro-stats dt{color:#17243a;font-family:Instrument Serif,Georgia,serif;font-size:34px;line-height:1}.landing-micro-stats dd{color:#30343ba8;letter-spacing:.08em;text-transform:uppercase;margin:8px 0 0;font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px}.landing-section{grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);align-items:center;gap:clamp(34px,6vw,86px);width:min(1260px,100% - 40px);margin:0 auto;padding:clamp(76px,10vw,132px) 0;display:grid}.landing-section-flip{grid-template-columns:minmax(420px,1.1fr) minmax(0,.9fr)}.landing-section-flip .landing-copy{grid-area:1/2}.landing-section-flip .landing-visual{grid-area:1/1}.landing-copy{min-width:0}.landing-eyebrow{color:#f26d5b;margin-bottom:20px}.landing-section h2,.landing-final h2{font-size:clamp(2.8rem,5.4vw,5rem)}.landing-copy p,.landing-final p{max-width:560px;margin:22px 0 0}.landing-visual{min-width:0;margin:0;position:relative}.landing-visual:after{content:"";z-index:-1;filter:blur(18px);background:#17243a2b;border-radius:999px;height:8%;position:absolute;bottom:4%;left:13%;right:13%}.landing-visual img{filter:drop-shadow(0 18px 20px #17243a1f);width:100%;height:auto;display:block}.landing-check-list,.landing-ops-list{margin:30px 0 0;padding:0;list-style:none}.landing-check-list{color:#17243a;gap:14px;font-weight:700;display:grid}.landing-check-list li,.landing-ops-list li{align-items:center;min-width:0;display:flex}.landing-check-list li{gap:12px}.landing-check-list svg{color:#2e7d50;flex:none}.landing-timeline{height:96px;margin:38px 0 0;position:relative}.landing-timeline:before,.landing-timeline:after{content:"";border-radius:99px;height:2px;position:absolute;top:14px;left:0;right:0}.landing-timeline:before{background:#17243a1f}.landing-timeline:after{background:#2e7d50;right:34%}.landing-timeline div{width:112px;position:absolute;top:0;transform:translate(-50%)}.landing-timeline div:first-child{transform:none}.landing-timeline div:last-child{text-align:right;transform:translate(-100%)}.landing-timeline div:before{content:"";background:#2e7d50;border:4px solid #faf7f1;border-radius:50%;width:14px;height:14px;margin:8px auto 14px;display:block}.landing-timeline div:first-child:before{margin-left:0}.landing-timeline div:last-child:before{margin-right:0}.landing-timeline strong{color:#2e7d50;letter-spacing:.07em;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;display:block}.landing-timeline span{color:#17243a;margin-top:5px;font-size:12px;font-weight:700;line-height:1.25;display:block}.landing-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:32px;display:grid}.landing-stat-grid article{background:#fffdf8;border:1px solid #17243a14;border-radius:8px;gap:10px;min-height:152px;padding:18px;display:grid}.landing-stat-grid svg{color:#2e7d50}.landing-stat-grid strong{color:#f26d5b;font-family:Instrument Serif,Georgia,serif;font-size:30px;font-weight:400;line-height:1}.landing-stat-grid span{color:#30343bc2;font-size:13px;line-height:1.45}.landing-ops-list{color:#17243adb;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 14px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;display:grid}.landing-ops-list li{gap:8px}.landing-ops-list svg{color:#f2b84b;flex:none}.landing-final{text-align:center;background:linear-gradient(#faf7f1f5,#fff4e6f0),radial-gradient(circle at 50% 0,#bfe5e39e,#0000 48%);justify-items:center;min-height:72vh;padding:clamp(90px,12vw,150px) 20px;display:grid}.landing-final .landing-eyebrow{justify-content:center}.landing-final p{margin-inline:auto}.landing-final .landing-cta-row{justify-content:center}.landing-footer{color:#fffdf8;background:#17243a;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:36px;padding:56px clamp(20px,5vw,72px);display:grid}.landing-logo-footer{color:#fffdf8}.landing-footer p{max-width:420px;margin:22px 0 0;font-family:Instrument Serif,Georgia,serif;font-size:clamp(2.1rem,4vw,3.2rem);line-height:1.05}.landing-footer-links{flex-wrap:wrap;justify-content:flex-end;gap:14px 22px;max-width:520px}.landing-footer-links a{color:#fffdf8d1;font-size:14px;font-weight:650}@media (width<=1040px){.landing-nav{grid-template-columns:auto auto}.landing-nav-links{display:none}.landing-section,.landing-section-flip{grid-template-columns:1fr;gap:28px}.landing-section-flip .landing-copy,.landing-section-flip .landing-visual{grid-area:auto}.landing-section-flip .landing-copy{order:1}.landing-section-flip .landing-visual{order:2}}@media (width<=760px){.landing-nav{min-height:64px;padding:12px 16px}.landing-logo span{font-size:21px}.landing-logo img{flex-basis:30px;width:30px;height:30px}.landing-nav-actions{gap:7px}.landing-nav-actions .landing-button-ghost{width:40px;padding:0}.landing-nav-actions .landing-button-ghost svg{margin:0}.landing-nav-actions .landing-button-ghost{font-size:0}.landing-nav-actions .landing-button-primary{min-height:38px;padding-inline:13px}.landing-hero{min-height:88vh;padding:104px 18px 54px}.landing-hero:before{background:linear-gradient(#faf7f1fa 0%,#faf7f1d1 55%,#faf7f1fa 100%),radial-gradient(circle at 50% 70%,#bfe5e37a,#0000 42%),linear-gradient(#fff4e6 0%,#faf7f1 100%)}.landing-hero-art{opacity:.46;width:118vw;bottom:-7vw;right:-38vw}.landing-hero h1{font-size:clamp(3.25rem,17vw,5.25rem)}.landing-live-pill{max-width:100%;font-size:11px}.landing-micro-stats{gap:18px;margin-top:38px}.landing-micro-stats dt{font-size:28px}.landing-section{width:min(100% - 28px,1260px);padding:66px 0}.landing-section h2,.landing-final h2{font-size:clamp(2.55rem,13vw,4rem)}.landing-stat-grid,.landing-ops-list{grid-template-columns:1fr}.landing-timeline{gap:12px;height:auto;display:grid}.landing-timeline:before,.landing-timeline:after{display:none}.landing-timeline div,.landing-timeline div:first-child,.landing-timeline div:last-child{text-align:left;grid-template-columns:auto 1fr;align-items:center;column-gap:10px;width:auto;display:grid;position:relative;top:auto;transform:none;left:auto!important}.landing-timeline div:before,.landing-timeline div:first-child:before,.landing-timeline div:last-child:before{grid-row:span 2;margin:0}.landing-footer{grid-template-columns:1fr;align-items:start}.landing-footer-links{justify-content:flex-start}}.app-shell{width:min(1440px,100%);margin:0 auto;padding:24px}.admin-app-shell{width:100%;min-height:100vh;margin:0;padding:0}.topbar{justify-content:space-between;align-items:center;gap:16px;min-height:44px;margin-bottom:18px;display:flex}.gold-rule{display:none}.brand-lockup{align-items:center;gap:12px;min-width:0;display:inline-flex}.brand-mark{flex:0 0 40px;place-items:center;width:40px;height:40px;display:grid}.brand-mark img{object-fit:contain;width:100%;height:100%;display:block}.brand-lockup span:last-child{gap:3px;min-width:0;display:grid}.brand-lockup strong{color:var(--navy);text-overflow:ellipsis;white-space:nowrap;font-size:18px;font-weight:800;line-height:1.1;overflow:hidden}.brand-lockup small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;line-height:1.2;overflow:hidden}.brand-bar-actions,.topnav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.brand-bar-action{border:1px solid var(--line);min-height:36px;color:var(--navy);background:var(--panel);border-radius:7px;justify-content:center;align-items:center;gap:7px;padding:0 13px;font-size:13px;font-weight:750;display:inline-flex}.brand-bar-icon{width:38px;padding:0}.brand-bar-action:hover{background:var(--soft)}.topnav{display:none}.page{width:min(1100px,100%);padding:var(--space-6) 0 64px;margin:0 auto}.page.narrow{width:min(520px,100%)}.parent-page{width:min(680px,100%);padding-top:18px;padding-bottom:128px}.settings-page{gap:16px;width:min(960px,100%);display:grid}.admin-page,.classroom-display,.platform-page{width:min(1280px,100%)}.parent-grid,.two-column{gap:var(--dashboard-gap-lg);grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr);align-items:start;display:grid}.panel,.hero-panel{border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--panel);box-shadow:none}.panel{padding:var(--space-4)}.hero-panel{padding:var(--space-5)}.parent-checkin-card{padding:0;overflow:hidden}.parent-checkin-card.has-sticky-actions{padding-bottom:24px}.parent-entry,.parent-card-head,.parent-section{padding:24px 24px 0}.parent-entry{padding-bottom:24px}.parent-boot{text-align:center;place-items:center;min-height:220px}.parent-boot-spinner{border:3px solid #17243a24;border-top-color:var(--green);border-radius:50%;width:34px;height:34px;animation:.75s linear infinite spin;display:block}@keyframes spin{to{transform:rotate(360deg)}}.settings-page-head,.settings-section{gap:16px;display:grid}.settings-page-head h1{margin-bottom:0;font-size:clamp(1.8rem,5vw,2.5rem)}.settings-page-head .lookup-form{margin-top:4px}.parent-card-head{text-align:center;gap:10px;min-width:0;display:grid}.parent-session-actions,.settings-title-row,.settings-actions{align-items:center;gap:10px;display:flex}.parent-session-actions{justify-content:flex-end}.settings-title-row{justify-content:space-between;gap:18px}.settings-title-row>div:first-child{min-width:0}.settings-actions{flex-wrap:wrap;justify-content:flex-end}.parent-card-head h1{text-wrap:balance;overflow-wrap:anywhere;margin:8px 0 0;font-size:clamp(1.35rem,4vw,1.8rem);line-height:1.1}.parent-card-head p,.lead-copy{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:1rem;line-height:1.45}.parent-section{gap:12px;display:grid}.parent-section+.parent-section{margin-top:24px}.parent-lookup-form label{width:100%}.parent-entry .lead-copy{margin-bottom:26px}.parent-lookup-form{gap:14px;display:grid}.parent-lookup-form input{min-height:56px;padding:12px 14px;font-size:1.12rem}.parent-lookup-form .primary{width:100%;min-height:50px}.approved-family{margin:0;font-size:1.1rem;line-height:1.15}.family-card{gap:10px;display:grid}.hero-panel h1,.panel h1,.parent-entry h1{margin:0 0 14px;font-size:clamp(1.8rem,5vw,2.75rem);line-height:1.04}.panel h2{margin:0;font-size:clamp(1.15rem,3vw,1.5rem);line-height:1.12}.eyebrow{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 7px;font-size:12px;font-weight:800}.lookup-form,.action-row,.notice-row,.section-heading,.schedule-control{gap:var(--space-3);flex-wrap:wrap;align-items:end;display:flex}.section-heading{margin-bottom:var(--space-3);justify-content:space-between;align-items:center}.compact-heading{margin-bottom:0}.compact-heading .eyebrow{margin:0}.stack{gap:var(--dashboard-gap);min-width:0;display:grid}.roomy{gap:var(--dashboard-gap-lg)}label{gap:var(--space-2);color:var(--muted);font-size:13px;font-weight:750;display:grid}input,select,textarea{width:100%;min-height:var(--input-height);border:1px solid var(--line);border-radius:var(--radius-control);color:var(--navy);background:var(--surface-raised);padding:9px 11px}input[type=color]{min-height:var(--input-height);padding:4px}textarea{resize:vertical}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{border-color:var(--green);box-shadow:var(--focus-ring);outline:none}.topnav a,button,.primary,.secondary,.ghost,.icon-text,.icon-only{min-height:var(--control-height);justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-control);border:1px solid #0000;padding:0 13px;font-weight:750;line-height:1.1;display:inline-flex}.primary,a.primary{color:#fff;border-color:var(--navy);background:var(--navy)}.primary:hover{background:#24334d}.secondary{color:var(--navy);border-color:var(--line);background:var(--panel)}.secondary:hover{background:var(--soft)}.ghost{color:var(--navy);border-color:var(--line);background:var(--panel)}.ghost:hover{background:var(--soft)}.danger{color:var(--danger)}.large{min-height:54px;font-size:1rem}.inline{margin-top:18px}.icon-only{width:var(--control-height);padding:0}.pill-button{min-height:36px;padding-inline:12px}.text-link{min-height:40px;color:var(--muted);background:0 0;border:0;padding:0;font-weight:750;text-decoration:underline}.center-state{background:var(--ivory);text-align:center;place-items:center;min-height:100vh;padding:32px;display:grid}.center-state h1{max-width:560px;margin:4px 0 10px;font-size:clamp(2rem,6vw,3.2rem);line-height:1}.student-list{gap:var(--space-2);display:grid}.student-row,.preset-row{justify-content:flex-start;gap:var(--space-3);border-color:var(--line);border-radius:var(--radius-card);background:var(--surface-raised);width:100%;min-height:64px;color:var(--navy);text-align:left;box-shadow:none;padding:11px 13px}.student-row>span:not(.student-toggle),.preset-row>span:not(.student-toggle){flex:1;gap:3px;min-width:0;display:grid}.student-row strong,.preset-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:1rem;overflow:hidden}.student-row small,.preset-row small,.display-card small,.mini-list small,.class-tile small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:650;overflow:hidden}.student-row.selected,.preset-row.selected{border-color:var(--border-selected);background:var(--surface-selected)}.student-row.called{opacity:1;background:var(--surface-recessed)}.student-toggle{border:1px solid var(--line);border-radius:var(--radius-control);width:34px;height:34px;color:var(--navy);background:var(--soft);flex:0 0 34px;place-items:center;display:inline-grid}.student-toggle.small{flex-basis:30px;width:30px;height:30px}.student-row.selected .student-toggle,.preset-row.selected .student-toggle{color:#fff;border-color:var(--green);background:var(--green)}.student-row .badge{display:none}.preset-row b{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;font-size:12px}.badge{border-radius:var(--radius-control);justify-content:center;align-items:center;gap:6px;min-width:96px;padding:7px 10px;font-size:12px;font-weight:850;display:inline-flex}.badge.waiting{color:#815609;background:var(--surface-warning)}.badge.called{color:var(--green);background:var(--surface-selected)}.date-pill{border-radius:var(--radius-control);color:var(--green);background:var(--surface-selected);padding:7px 12px;font-weight:850}.schedule-control{border:1px solid var(--line);background:var(--panel);border-radius:8px;align-items:center;padding:5px}.schedule-control select{width:auto;min-width:92px;box-shadow:none;background:0 0;border:0}.notice-row{background:#fff7df;border:1px solid #f4d283;border-radius:8px;justify-content:space-between;margin:18px 24px 0;padding:11px;font-weight:750}.notice-row span{gap:3px;display:grid}.notice-row small{color:var(--muted);font-size:12px}.checkin-notice{background:#e7f3eb;border:1px solid #bddbc7;border-radius:8px;gap:3px;margin:16px 24px 0;padding:12px;display:grid}.checkin-notice span{color:var(--muted);font-size:13px}.done-card{text-align:center;gap:18px;padding:24px;display:grid}.done-card h1{margin:0;font-size:clamp(1.45rem,4vw,2rem);line-height:1.15}.done-back{justify-self:start;text-decoration:none}.check-ring{width:76px;height:76px;color:var(--green);background:#e7f3eb;border-radius:50%;justify-self:center;place-items:center;display:inline-grid}.done-recall-section{text-align:left;gap:12px;display:grid}.parent-called-row{align-items:center;display:flex}.parent-called-row .recall-button{white-space:nowrap;margin-left:auto}.parent-sticky-actions{left:50%;bottom:max(14px, env(safe-area-inset-bottom));z-index:50;border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffdf8f5;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:min(680px,100vw - 48px);padding:14px 18px;display:grid;position:fixed;transform:translate(-50%);box-shadow:0 18px 44px #17243a2e}.parent-submit{text-align:center;white-space:normal;width:100%;min-width:0;font-size:1rem}.parent-submit svg,.parent-schedule-button svg{flex:none}.parent-schedule-button{min-width:82px}.parent-schedule{background:0 0;border:0;gap:6px;padding:0}.parent-schedule select{display:none}.mini-list,.option-list,.grid-list{gap:8px;display:grid}.spaced{margin-top:14px}.mini-list-row,.option-list button,.check-row,.item-card{border:1px solid var(--line);background:var(--white);border-radius:7px;justify-content:space-between;align-items:center;gap:10px;min-height:46px;padding:10px 11px;display:flex}.item-card{align-items:stretch;gap:8px;padding:14px;display:grid}.item-card h3,.item-card p{margin:0}.item-card h3{overflow-wrap:anywhere;font-size:1rem}.item-card p{color:var(--muted);font-size:13px;font-weight:650;line-height:1.4}.item-row,.item-actions,.section-title-row{align-items:center;gap:10px;display:flex}.item-row{justify-content:space-between}.item-actions{justify-content:flex-end}.item-count{color:var(--green);background:#e7f3eb;border-radius:999px;flex:none;padding:5px 9px;font-size:12px;font-weight:850}.section-title-row{min-width:0}.help-inline{display:inline-flex;position:relative}.help-badge{aspect-ratio:1;border:1px solid var(--line);background:var(--white);width:28px;min-width:28px;height:28px;min-height:28px;color:var(--muted);border-radius:50%;flex:0 0 28px;place-items:center;padding:0;display:inline-grid}.help-popover{z-index:20;border:1px solid var(--line);background:var(--navy);color:#fff;width:min(260px,82vw);box-shadow:var(--shadow);border-radius:8px;padding:10px;font-size:12px;font-weight:650;line-height:1.35;display:none;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)}.help-inline:hover .help-popover,.help-badge:focus+.help-popover{display:block}.mini-list-row>span{gap:2px;display:grid}.check-row{justify-content:flex-start;font-weight:750}.check-row input{width:18px;min-height:18px;accent-color:var(--green)}.modal-overlay{z-index:60;background:#17243a6b;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal-card{gap:var(--dashboard-gap-lg);border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--panel);width:min(620px,100%);max-height:min(760px,100vh - 36px);box-shadow:var(--shadow-overlay);padding:18px;display:grid;overflow:auto}.schedule-modal-card{width:min(460px,100%)}.modal-head,.modal-actions{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.modal-head h2,.modal-head p{margin:0}.modal-head .eyebrow{margin-bottom:6px}.modal-actions{justify-content:flex-end;align-items:center}.form-row,.picker-groups,.picker-group{gap:10px;display:grid}.picker-groups{gap:14px}.picker-group{border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-3);background:var(--surface-raised)}.picker-group-head h3{margin:0;font-size:1rem}.weekday-picker,.schedule-options,.schedule-stepper{gap:8px;display:grid}.weekday-picker{grid-template-columns:repeat(5,minmax(0,1fr))}.weekday-option{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-raised);min-height:58px;color:var(--navy);text-align:center;gap:3px;padding:8px;display:grid}.weekday-option span{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.weekday-option small{color:var(--muted);font-size:11px;font-weight:800}.weekday-option.selected,.selected-option{border-color:var(--border-selected)!important;background:var(--surface-selected)!important}.schedule-options{grid-template-columns:repeat(4,minmax(0,1fr))}.schedule-stepper{border:1px solid var(--line);background:var(--white);text-align:center;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;padding:8px}.authorization-toggle{align-items:center;gap:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-raised);color:var(--navy);padding:10px;display:flex}.authorization-toggle input{width:18px;min-height:18px;accent-color:var(--green)}.lookup-family-box{border:1px solid var(--border-selected);border-radius:var(--radius-card);padding:var(--space-3);background:var(--surface-selected);gap:4px;display:grid}.lookup-family-box h3{margin:0;font-size:1.05rem}.empty-inline{border:1px dashed var(--line);color:var(--muted);background:var(--white);border-radius:8px;margin:0;padding:11px;font-size:13px;font-weight:650}.option-list button{text-align:left}.option-list button.selected-option{border-color:var(--green);background:#e7f3eb}.form-grid{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.form-grid.single{grid-template-columns:1fr}.message{top:max(18px, env(safe-area-inset-top));z-index:100;align-items:flex-start;gap:var(--space-3);border-radius:var(--radius-panel);border:1px solid var(--line);background:var(--panel);width:min(420px,100vw - 32px);box-shadow:var(--shadow-toast);pointer-events:none;padding:13px 15px;font-weight:750;animation:.18s ease-out toast-in;display:flex;position:fixed;right:24px}.parent-entry .message,.panel>.message,.hero-panel>.message,.admin-workspace>.message{margin-inline:0}.message.leaving{animation:.3s ease-in forwards toast-out}.message-icon{background:#17243a0f;border-radius:7px;place-items:center;width:30px;min-width:30px;height:30px;display:grid}.message-copy{gap:3px;min-width:0;display:grid}.message-title{overflow-wrap:anywhere;line-height:1.25}.message-copy small{color:var(--muted);font-size:13px;font-weight:650;line-height:1.35}.message.info{color:#29444d;background:var(--surface-info);border-color:#c8e0e3}.message.info .message-icon{background:#e7f3f4}.message.success{color:var(--green);border-color:var(--border-selected);background:#f6fbf7}.message.success .message-icon{background:var(--surface-selected)}.message.error{color:var(--danger);border-color:var(--border-danger);background:#fff8f6}.message.error .message-icon{background:var(--surface-danger)}.error{color:var(--danger);background:var(--surface-danger)}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-out{to{opacity:0;transform:translateY(-8px)}}.empty-state{border-radius:var(--radius-card);min-height:112px;color:var(--muted);text-align:center;background:var(--surface-recessed);border:1px dashed #d8cfc1;place-items:center;padding:18px;display:grid}.class-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.class-tile{border:1px solid var(--line);background:var(--white);border-radius:8px;justify-content:space-between;align-items:center;gap:14px;min-height:94px;padding:16px;display:flex}.class-tile:hover{background:#f8fbf8;border-color:#bddbc7}.class-tile span{gap:6px;display:grid}.class-tile b{color:#fff;background:var(--green);border-radius:7px;place-items:center;width:42px;height:42px;display:grid}.display-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.display-header h1{margin:0;font-size:clamp(2.25rem,7vw,5rem);line-height:.95}.display-board{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}.display-card{border:1px solid var(--line);background:var(--white);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"content time";align-items:start;gap:12px;min-height:106px;padding:16px;display:grid}.display-card.called{background:#e7f3eb;border-color:#bddbc7}.display-card strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:clamp(1.25rem,2.5vw,1.75rem);line-height:1.05;display:block;overflow:hidden}.display-card>div:first-child{grid-area:content;min-width:0}.display-status{justify-items:end;gap:8px;display:grid}.display-card-time{color:var(--muted);white-space:nowrap;grid-area:time;align-self:start;font-size:12px;font-weight:850}.muted{color:var(--muted);margin:0;font-size:.92rem;font-weight:650}.classroom-hub-page{width:min(1280px,100%)}.classroom-hub-panel{gap:18px;display:grid}.classroom-hub-heading{margin-bottom:0}.classroom-hub-heading h1{margin-bottom:8px;font-size:clamp(1.25rem,2.5vw,1.55rem);line-height:1.1}.live-badge{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;font-size:12px;font-weight:850;display:inline-flex}.live-badge span{background:var(--green);border-radius:99px;width:8px;height:8px;animation:1.9s ease-out infinite classroomPulse;box-shadow:0 0 #2e7d5080}@keyframes classroomPulse{to{box-shadow:0 0 0 10px #2e7d5000}}.hub-actions,.hub-top-actions,.hub-students-controls,.class-card-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.hub-top-actions{justify-content:flex-end}.hub-top-actions .secondary.active{background:var(--aqua);border-color:#bfe5e3f2}.hub-selection-status{color:var(--muted);margin:-6px 0 0;font-size:13px;font-weight:700}.classroom-hub-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.classroom-class-card{border:1px solid var(--line);border-left:4px solid var(--amber);background:var(--white);min-height:138px;color:var(--navy);cursor:pointer;text-align:left;border-radius:8px;align-content:start;gap:12px;padding:16px;transition:background-color .16s,border-color .16s,box-shadow .16s,transform .16s;display:grid;position:relative}.classroom-class-card:hover{background:#fbfefd;border-color:#bfe5e3f2}.classroom-class-card:focus-visible{border-color:var(--green);outline:none;box-shadow:0 0 0 3px #2e7d5024}.classroom-class-card.selected{border-color:#bfe5e3f2;border-left-color:var(--aqua);background:#eef8f7;box-shadow:0 0 0 2px #bfe5e35c}.classroom-class-card.selecting{padding-right:54px}.classroom-class-card.complete{border-left-color:var(--green)}.classroom-class-card strong{margin-bottom:6px;font-size:1.15rem;line-height:1.1;display:block}.classroom-class-card b{color:var(--navy);font-size:1.7rem;line-height:1}.classroom-class-card .secondary.active{color:#fff;border-color:var(--green);background:var(--green)}.class-card-actions{align-self:end}.class-card-actions .primary,.class-card-actions .secondary{flex:92px}.class-select-check{border:1px solid var(--line);width:30px;height:30px;min-height:30px;color:var(--navy);background:var(--panel);border-radius:7px;place-items:center;padding:0;display:inline-grid;position:absolute;top:12px;right:12px}.class-select-check:hover,.class-select-check.selected{background:var(--aqua);border-color:#bfe5e3f2}.all-out-label{width:fit-content;color:var(--green);letter-spacing:.08em;text-transform:uppercase;background:#e7f3eb;border-radius:7px;padding:5px 8px;font-size:11px;font-weight:900}.hub-students-card{border:1px solid var(--line);background:#fffdf8d1;border-radius:8px;gap:14px;padding:16px;display:grid}.hub-students-card.is-fullscreen{z-index:80;background:var(--ivory);border-radius:0;grid-template-rows:auto minmax(0,1fr);margin:0;padding:18px;position:fixed;inset:0}.hub-students-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.hub-students-head p{color:var(--muted);margin:4px 0 0;font-size:13px;line-height:1.4}.hub-students-title{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.hub-students-title h2{margin:0}.hub-students-count{color:var(--muted);font-size:13px;font-weight:800}.hub-students-toggle{color:var(--navy);cursor:pointer;grid-template-columns:none;align-items:center;gap:8px;font-size:13px;font-weight:850;display:inline-flex}.hub-students-toggle input{width:18px;min-height:18px;accent-color:var(--green);margin:0}.hub-student-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;display:grid}.hub-students-card.is-fullscreen .hub-student-grid{min-height:0}.hub-student-grid.is-fitting{grid-template-columns:var(--fit-grid-columns);grid-auto-rows:var(--fit-card-height);gap:var(--fit-grid-gap);align-content:stretch;width:100%;height:100%}.hub-student-card{border:1px solid var(--line);background:var(--white);text-align:center;border-radius:8px;place-items:center;gap:4px;min-height:82px;padding:12px 10px;display:grid}.hub-student-grid.is-fitting .hub-student-card{min-height:0;height:var(--fit-card-height);border-radius:var(--fit-card-radius);padding:var(--fit-card-padding);font-size:var(--fit-card-font-size);line-height:1.05;overflow:hidden}.hub-student-card.called{background:#e7f3eb;border-color:#bddbc7}.hub-student-card .student-name,.hub-student-card .student-class{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.hub-student-card .student-name{color:var(--navy);font-weight:850}.hub-student-card .student-class{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:800}.projector-display{gap:12px;width:min(1280px,100%);padding-top:18px;display:grid;position:relative}.projector-header{border:1px solid var(--line);background:var(--panel);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;padding:16px;display:grid}.projector-header h1{color:var(--navy);margin:0;font-size:clamp(1.25rem,2.4vw,1.55rem);font-weight:800;line-height:1.1}.projector-header .eyebrow{color:var(--muted)}.projector-header p:not(.eyebrow){color:var(--muted);margin:5px 0 0;font-size:13px;line-height:1.35}.display-back-link{border:1px solid var(--line);width:fit-content;min-height:34px;color:var(--navy);background:var(--white);border-radius:7px;align-items:center;gap:7px;margin-bottom:12px;padding:0 10px;font-size:13px;font-weight:800;display:inline-flex}.display-back-link:hover{background:var(--soft)}.display-session-meta{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.display-pill{border:1px solid var(--line);background:var(--white);min-height:30px;color:var(--muted);border-radius:7px;align-items:center;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.display-pill.waiting{color:#8a640f;background:#fff8e7;border-color:#f2b84b7a}.display-pill.called{color:var(--green);background:#e9f3ef;border-color:#2e7d5038}.projector-rule{display:none}.projector-board{border:1px solid var(--line);background:var(--panel);border-radius:8px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));align-content:start;gap:10px;min-height:52vh;padding:12px}.projector-board .display-card{border-radius:8px;min-height:118px;padding:18px;transition:background-color .35s,border-color .35s,box-shadow .35s}.projector-board .display-card:not(.called){background:#fffaf0;border-color:#f2b84b57}.projector-board .display-card.called{color:#fff;border-color:var(--green);background:var(--green);box-shadow:none}.projector-board .display-card strong{letter-spacing:0;white-space:normal;max-width:min(100%,14ch);font-size:clamp(1.45rem,2.35vw,2.05rem)}.projector-board .display-card small{margin-top:8px;font-size:clamp(.88rem,1.15vw,1rem);font-weight:800;line-height:1.25;display:block}.projector-board .display-card small+small{margin-top:5px}.projector-board .display-card.called strong,.projector-board .display-card.called small,.projector-board .display-card.called .display-card-time{color:#fff}.projector-board .display-card-time{opacity:.9;margin-top:2px;font-size:.88rem;font-weight:850}.display-audio-controls{flex-direction:column;align-items:flex-end;gap:7px;display:flex}.display-audio-controls.ready{opacity:1}.display-audio-controls small{min-height:1rem;color:var(--muted);letter-spacing:.08em;text-align:right;text-transform:uppercase;font-size:11px;font-weight:850}.display-audio-button{border-color:var(--line);width:40px;height:40px;min-height:40px;color:var(--navy);background:var(--white);border-radius:7px;padding:0}.display-audio-button.ready{color:var(--green);box-shadow:none;background:#e9f3ef;border-color:#2e7d5042}.display-alert-overlay{z-index:90;opacity:0;pointer-events:none;visibility:hidden;background:0 0;justify-content:center;align-items:center;padding:24px;transition:opacity .45s,visibility .45s;display:flex;position:fixed;inset:0}.display-alert-overlay.visible{opacity:1;visibility:visible}.display-alert-modal{border:1px solid #bddbc7;border-left:7px solid var(--green);width:min(900px,100vw - 48px);color:var(--navy);background:var(--panel);text-align:center;border-radius:8px;padding:clamp(28px,3vw,42px);transition:transform .45s;transform:translateY(12px)scale(.97);box-shadow:0 24px 70px #17243a2e,0 0 0 8px #fffdf8c7}.display-alert-overlay.visible .display-alert-modal{transform:translateY(0)scale(1)}.display-alert-eyebrow{color:var(--green);letter-spacing:.26em;text-transform:uppercase;font-size:.92rem;font-weight:850}.display-alert-title{margin:12px 0 8px;font-size:clamp(2.6rem,6vw,5rem);font-weight:900;line-height:.95}.display-alert-class{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:clamp(1rem,2vw,1.45rem);font-weight:850}.display-alert-caller{width:fit-content;max-width:100%;color:var(--green);background:#e9f3ef;border:1px solid #2e7d5038;border-radius:7px;margin:22px auto 0;padding:10px 14px;font-size:clamp(1rem,1.5vw,1.2rem);font-weight:850;line-height:1.25}@media (width<=720px){.projector-display{padding-top:14px}.projector-header{grid-template-columns:1fr}.display-audio-controls{flex-direction:row;justify-content:flex-start;align-items:flex-start;gap:10px;width:100%}.display-audio-controls small{text-align:left;text-overflow:ellipsis;white-space:nowrap;align-self:center;min-width:0;overflow:hidden}.projector-board{grid-template-columns:1fr}.projector-board .display-card{grid-template-columns:1fr;grid-template-areas:"time""content";gap:8px}.projector-board .display-card-time{justify-self:start}}.tabbar{border:1px solid var(--line);background:var(--panel);border-radius:8px;gap:4px;margin-bottom:16px;padding:5px;display:flex;overflow-x:auto}.tabbar button{min-height:36px;color:var(--muted);text-transform:capitalize;background:0 0;flex:none}.tabbar button:hover{background:var(--soft)}.tabbar button.active{color:#fff;border-color:var(--green);background:var(--green)}.data-table{overscroll-behavior-x:contain;border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--surface-raised);isolation:isolate;width:100%;min-width:0;max-width:100%;display:block;overflow:auto visible}.table-row{--table-row-bg:var(--surface-raised);border-bottom:1px solid var(--line);background:var(--table-row-bg);grid-template-columns:minmax(180px,1.4fr) minmax(120px,.7fr) minmax(120px,.7fr) minmax(120px,.6fr);align-items:stretch;gap:0;min-width:700px;padding:0;display:grid}.table-row>span{min-width:0;min-height:inherit;padding:11px var(--space-4);align-items:center;display:flex}.table-row>span:not(.roster-actions):not(.live-action-cell){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.table-row:last-child{border-bottom:0}.table-row.header{--table-row-bg:var(--soft);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:850}.table-row:not(.header){transition:background .12s}.table-row:not(.header):hover{--table-row-bg:var(--soft)}.table-row>.pinned-left,.table-row>.pinned-right{z-index:2;background:var(--table-row-bg);position:sticky}.table-row.header>.pinned-left,.table-row.header>.pinned-right{z-index:4}.table-row>.pinned-left{border-right:1px solid #e8dfd2e0;left:0}.table-row>.pinned-right{border-left:1px solid #e8dfd2b8;right:0}.table-row>.pinned-right.roster-actions{justify-content:center;justify-self:stretch}.admin-dashboard-shell{--admin-sidebar-width:clamp(240px, 20vw, 320px);grid-template-columns:var(--admin-sidebar-width) minmax(0, 1fr);will-change:grid-template-columns;align-items:stretch;min-height:100vh;transition:grid-template-columns .28s cubic-bezier(.22,1,.36,1);display:grid}.admin-page{width:100%;min-height:100vh;margin:0;padding:0}.admin-dashboard-shell.sidebar-collapsed{grid-template-columns:var(--admin-sidebar-width) minmax(0, 1fr)}.admin-dashboard-shell.sidebar-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.admin-dashboard-shell.sidebar-resizing,.admin-dashboard-shell.sidebar-resizing .admin-sidebar,.admin-dashboard-shell.sidebar-resizing .admin-sidebar-copy,.admin-dashboard-shell.sidebar-resizing .admin-sidebar-toggle,.admin-dashboard-shell.sidebar-resizing .nav-item,.admin-dashboard-shell.sidebar-resizing .nav-label,.admin-dashboard-shell.sidebar-resizing .admin-sidebar-footer,.admin-dashboard-shell.sidebar-resizing .admin-logout-button{transition:none}.admin-sidebar{gap:var(--dashboard-gap);border:0;border-right:1px solid var(--line);background:var(--panel);border-radius:0;grid-template-rows:auto auto 1fr auto;align-self:start;height:100vh;max-height:100vh;padding:18px;transition:padding .28s cubic-bezier(.22,1,.36,1);display:grid;position:sticky;top:0;overflow:hidden}.admin-sidebar-resizer{z-index:4;cursor:col-resize;touch-action:none;width:10px;position:absolute;top:0;bottom:0;right:0}.admin-sidebar-resizer:after{content:"";background:0 0;width:2px;height:100%;transition:background .16s;position:absolute;top:0;right:0}.admin-sidebar-resizer:hover:after,.admin-sidebar-resizer:focus-visible:after,.sidebar-resizing .admin-sidebar-resizer:after{background:#2e7d5073}.admin-sidebar-head{border-bottom:1px solid var(--line);min-height:64px;padding-bottom:var(--space-3);align-items:start;display:grid}.admin-sidebar-title{align-items:flex-start;gap:var(--space-3);min-width:0;display:flex}.admin-sidebar-mark{border-radius:var(--radius-card);color:#fff;background:var(--navy);text-transform:uppercase;flex:0 0 36px;place-items:center;width:36px;height:36px;font-size:15px;font-weight:850;line-height:1;display:grid}.admin-sidebar-copy{opacity:1;gap:3px;min-width:0;max-width:190px;max-height:64px;transition:max-width .24s cubic-bezier(.22,1,.36,1),max-height .24s cubic-bezier(.22,1,.36,1),opacity .16s,transform .24s cubic-bezier(.22,1,.36,1);display:grid;overflow:hidden;transform:translate(0)}.admin-sidebar-title strong{overflow-wrap:anywhere;white-space:normal;font-size:14px;line-height:1.2}.admin-sidebar-title small{color:var(--muted);overflow-wrap:anywhere;font-size:12px;line-height:1.3}.admin-sidebar-toggle{border-radius:var(--radius-control);width:42px;min-height:42px;color:var(--muted);background:0 0;border:0;flex:0 0 42px;justify-content:center;padding:0;transition:background .16s,color .16s,width .28s cubic-bezier(.22,1,.36,1)}.admin-sidebar-toggle:hover{color:var(--navy);background:var(--soft)}.admin-nav{grid-row:2;align-content:start;align-self:start;gap:6px;min-height:0;display:grid;overflow-y:auto}.nav-item{min-width:0;min-height:42px;color:var(--muted);background:0 0;border:0;justify-content:flex-start;padding:0 11px;font-size:14px;font-weight:700;transition:background .16s,color .16s,padding .28s cubic-bezier(.22,1,.36,1)}.nav-label{opacity:1;text-overflow:ellipsis;white-space:nowrap;max-width:180px;transition:max-width .24s cubic-bezier(.22,1,.36,1),opacity .16s,transform .24s cubic-bezier(.22,1,.36,1);display:inline-block;overflow:hidden;transform:translate(0)}.nav-item:hover{background:var(--soft)}.nav-item.active{color:var(--green);background:var(--surface-selected)}.nav-item .icon{border-radius:var(--radius-control);width:24px;height:24px;color:var(--navy);background:var(--soft);flex:0 0 24px;place-items:center;display:grid}.nav-item.active .icon{color:#fff;background:var(--green)}.admin-sidebar-footer{border-top:1px solid var(--line);grid-row:4;grid-template-columns:minmax(0,1fr) 42px;align-items:center;gap:6px;padding-top:10px;transition:grid-template-columns .28s cubic-bezier(.22,1,.36,1);display:grid}.admin-logout-button{min-width:0;min-height:42px;color:var(--danger);background:0 0;border:0;justify-content:flex-start;padding:0 11px;font-size:14px;font-weight:750;transition:background .16s,padding .28s cubic-bezier(.22,1,.36,1)}.admin-logout-button:hover{background:#faece9}.admin-logout-button .icon{border-radius:var(--radius-control);width:24px;height:24px;color:var(--danger);background:#faece9;flex:0 0 24px;place-items:center;display:grid}.admin-workspace{background:var(--ivory);min-width:0;min-height:100vh;padding:var(--dashboard-gutter);border:0;border-radius:0}.sidebar-collapsed .admin-sidebar{padding:18px 15px}.sidebar-collapsed .admin-sidebar-head{justify-items:center;width:100%}.sidebar-collapsed .admin-sidebar-title{justify-content:center;gap:0;width:100%}.sidebar-collapsed .admin-sidebar-copy{opacity:0;pointer-events:none;max-width:0;max-height:0;overflow:hidden;transform:translate(-4px)}.sidebar-collapsed .nav-label{opacity:0;pointer-events:none;max-width:0;overflow:hidden;transform:translate(-4px)}.sidebar-collapsed .admin-sidebar-toggle,.sidebar-collapsed .nav-item,.sidebar-collapsed .admin-logout-button{justify-content:center;gap:0;padding-inline:0}.sidebar-collapsed .admin-nav{align-self:start;justify-items:center;gap:6px;overflow:visible}.sidebar-collapsed .nav-item,.sidebar-collapsed .admin-logout-button,.sidebar-collapsed .admin-sidebar-toggle{width:42px;min-height:42px}.sidebar-collapsed .admin-sidebar-footer{grid-template-columns:1fr;justify-items:center;gap:6px;width:100%}@media (prefers-reduced-motion:reduce){.admin-dashboard-shell,.admin-sidebar,.admin-sidebar-copy,.admin-sidebar-toggle,.nav-item,.nav-label,.admin-sidebar-footer,.admin-logout-button{transition:none}}.admin-hero{justify-content:space-between;gap:var(--dashboard-gap);margin-bottom:var(--dashboard-gap);align-items:flex-start;display:flex}.admin-stats,.school-metrics{gap:var(--space-2);margin-bottom:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.admin-stats.two{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-stat,.school-metrics span{justify-content:flex-end;gap:var(--space-1);border:1px solid var(--line);border-radius:var(--radius-card);min-height:96px;padding:var(--space-4) var(--space-5);background:var(--surface-raised);color:var(--muted);text-transform:uppercase;letter-spacing:.1em;flex-direction:column;font-size:11px;font-weight:700;display:flex}.admin-stat strong,.school-metrics strong{color:var(--navy);letter-spacing:0;font-size:36px;font-weight:800;line-height:1}.admin-stat.green strong{color:var(--green)}.admin-stat.amber strong{color:#b17a10}.admin-stat.coral strong{color:var(--coral)}.dashboard-section{border:1px solid var(--line);border-radius:var(--radius-panel);min-width:0;padding:var(--dashboard-panel-padding);background:var(--surface-raised)}.dashboard-section-heading{margin-bottom:var(--space-5)}.dashboard-section-heading h2{margin:0}.live-roster-heading{align-items:center}.live-roster-switch{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel);align-items:center;padding:3px;display:inline-flex}.live-roster-switch button{min-height:var(--control-height-sm);border-radius:var(--radius-control);color:var(--muted);background:0 0;border:0;padding:0 14px;font-size:13px;font-weight:850}.live-roster-switch button:hover{color:var(--navy);background:var(--soft)}.live-roster-switch button.active{color:var(--green);background:var(--surface-selected);box-shadow:0 1px #17243a0a}.live-dashboard-grid{gap:var(--dashboard-gap);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}.settings-dashboard-grid{gap:var(--dashboard-gap);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.settings-school-card h2{margin-bottom:26px}.class-progress-grid{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid;overflow:visible}.class-progress-item{min-width:0;position:relative}.class-progress-card{gap:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-card);width:100%;padding:var(--space-4);background:var(--surface-recessed);color:var(--navy);text-align:left;transition:background .12s,border-color .12s,box-shadow .12s,transform .12s;display:grid}.class-progress-card:hover,.class-progress-card.active{box-shadow:var(--shadow-card);border-color:#cbdccf;transform:translateY(-1px)}.class-progress-card.active{background:#f7fbf9}.class-progress-card.complete{opacity:.62}.class-progress-card>div:first-child{justify-content:space-between;align-items:start;gap:var(--space-3);display:flex}.class-progress-card strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.class-progress-card span,.class-progress-card small{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:800}.progress-track{border-radius:var(--radius-pill);background:var(--line);height:6px;overflow:hidden}.progress-track span{border-radius:inherit;background:var(--green);height:100%;display:block}.class-student-popover{z-index:25;border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--surface-raised);width:min(420px,100vw - 40px);max-height:min(520px,100vh - 180px);display:grid;position:absolute;top:calc(100% + 12px);left:50%;transform:translate(-50%);box-shadow:0 20px 48px #17243a2e}.class-student-popover-arrow{border-top:1px solid var(--line);border-left:1px solid var(--line);background:var(--surface-raised);width:16px;height:16px;position:absolute;top:-8px;left:50%;transform:translate(-50%)rotate(45deg)}.class-student-popover-head{z-index:1;justify-content:space-between;align-items:start;gap:var(--space-3);border-bottom:1px solid var(--line);padding:var(--space-4) var(--space-4) var(--space-3);display:flex;position:relative}.class-student-popover-head h3{margin:0 0 4px;font-size:1rem}.class-student-popover-head p{color:var(--muted);margin:0;font-size:12px;font-weight:800}.class-student-row-list{max-height:410px;padding:8px;display:grid;overflow:auto}.class-student-row{align-items:center;gap:var(--space-3);border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto;min-height:58px;padding:9px 6px;display:grid}.class-student-row:last-child{border-bottom:0}.class-student-row>span:first-child{gap:3px;min-width:0;display:grid}.class-student-row strong,.class-student-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.class-student-row strong{font-size:14px}.class-student-row small{color:var(--muted);font-size:12px;font-weight:750}.class-student-status{border-radius:var(--radius-pill);text-transform:uppercase;white-space:nowrap;padding:6px 9px;font-size:11px;font-weight:900}.class-student-status.called{color:var(--green);background:var(--surface-selected)}.class-student-status.waiting{color:#9f6d0b;background:var(--surface-warning)}.class-student-action{white-space:nowrap;min-height:34px;padding:0 12px;font-size:12px}.live-student-grid{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid}.live-student-card{border:1px solid var(--line);border-radius:var(--radius-card);min-height:70px;padding:var(--space-3) var(--space-4);background:var(--surface-recessed);color:var(--navy);text-align:left;align-items:center;gap:4px;transition:background .12s,border-color .12s,box-shadow .12s,transform .12s;display:grid}.live-student-card:hover:not(:disabled){box-shadow:var(--shadow-card);border-color:#cbdccf;transform:translateY(-1px)}.live-student-card.called{background:var(--surface-selected);border-color:#cddfcf}.live-student-card.waiting{background:var(--surface-recessed)}.live-student-card span{gap:4px;min-width:0;display:grid}.live-student-card strong,.live-student-card small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.live-student-card strong{font-size:15px;line-height:1.15}.live-student-card small{color:var(--muted);font-size:12px;font-weight:750}.activity-panel h2{margin-bottom:var(--dashboard-gap)}.activity-feed{gap:var(--space-2);display:grid}.activity-item{justify-content:space-between;align-items:center;gap:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-card);min-height:54px;padding:10px var(--space-3);background:var(--panel);transition:background .12s;display:flex}.activity-item:hover{background:var(--soft)}.activity-item span{gap:3px;min-width:0;display:grid}.activity-item strong,.activity-item small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.activity-item small{color:var(--muted);font-size:12px;font-weight:700}.activity-item b{color:var(--muted);white-space:nowrap;font-size:12px}.live-activity-panel{padding:0;overflow:hidden}.live-activity-head{justify-content:space-between;align-items:center;gap:var(--dashboard-gap-lg);padding:var(--dashboard-panel-padding) var(--dashboard-panel-padding) var(--space-5);display:flex}.live-activity-head.dashboard-section-heading,.live-activity-head h2{margin-bottom:0}.live-activity-search{gap:var(--space-2);width:min(100%,260px);display:grid}.live-activity-search input{min-height:var(--input-height);background:var(--panel)}.live-activity-table{border-width:1px 0 0;border-radius:0}.live-activity-table .table-row{grid-template-columns:minmax(170px,1fr) minmax(92px,.58fr) minmax(86px,.48fr) minmax(240px,1.36fr) minmax(112px,.58fr) minmax(120px,.58fr) minmax(250px,1.28fr) minmax(72px,.38fr);min-width:1260px}.live-activity-table .table-row>span{padding:14px var(--space-5)}.live-activity-table .table-row.header>span{padding-block:10px}.live-activity-table .table-row>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.live-sort-button{min-height:24px;color:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:inherit;background:0 0;border:0;border-radius:5px;justify-content:flex-start;padding:0}.live-sort-button:hover,.live-sort-button.active{color:var(--navy);background:0 0}.status-toggle{border-radius:var(--radius-pill);text-transform:uppercase;min-height:30px;padding:0 12px;font-size:12px;font-weight:850}.status-toggle.called{color:var(--green);background:var(--surface-selected);border-color:#d3e5d8}.status-toggle.waiting{border-color:var(--border-warning);color:#9f6d0b;background:var(--surface-warning)}.checked-in-cell{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.live-action-cell{justify-content:center;justify-self:stretch;display:flex;overflow:visible!important}.live-action-button{border-color:var(--line);color:var(--charcoal);background:var(--panel)}.live-action-button:hover:not(:disabled){color:var(--green);background:var(--soft)}.roster-toolbar{justify-content:space-between;align-items:center;gap:var(--dashboard-gap-lg);width:100%;min-width:0;display:flex}.roster-heading-group{align-items:center;gap:var(--dashboard-gap-lg);min-width:0;display:flex}.roster-heading-group h2{margin:0}.roster-toolbar-actions{justify-content:flex-end;align-items:center;gap:var(--space-3);min-width:0;display:flex}.roster-search{width:min(100%,280px)}.roster-add-button{flex:0 0 42px}.roster-table{border-radius:var(--radius-panel);width:100%;min-width:0;max-width:100%}.roster-table .table-row{min-height:72px}.roster-table .table-row.header{min-height:52px}.roster-table .table-row>span{padding:15px var(--space-6)}.roster-table .table-row.header>span{padding-block:12px}.roster-table .table-row>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.roster-student-table .table-row{grid-template-columns:minmax(210px,1.2fr) minmax(120px,.52fr) minmax(320px,1.58fr) minmax(110px,.48fr) minmax(130px,.42fr);min-width:980px}.family-table .table-row{grid-template-columns:minmax(130px,.46fr) minmax(280px,.95fr) minmax(400px,1.42fr) minmax(130px,.42fr);min-width:960px}.roster-class-table .table-row{grid-template-columns:minmax(44px,44px) minmax(220px,1fr) minmax(140px,.52fr) minmax(120px,.42fr) minmax(130px,.42fr);min-width:820px}.roster-class-group{display:grid}.roster-class-group:not(:last-child){border-bottom:1px solid var(--line)}.roster-class-group>.table-row{border-bottom:0}.roster-actions{justify-self:start;gap:var(--space-3);display:inline-flex;overflow:visible}.roster-table .table-row>.roster-actions{overflow:visible}.roster-row-action{border-color:var(--line);border-radius:var(--radius-card);width:42px;height:42px;min-height:42px;color:var(--charcoal);background:var(--surface-raised)}.roster-row-action:hover:not(:disabled){color:var(--green);background:var(--soft)}.roster-row-action.danger:hover:not(:disabled){color:var(--danger);background:#faece9}.roster-expand-button{width:34px;min-height:34px;color:var(--muted);background:0 0;border:0;border-radius:6px;padding:0}.roster-expand-button:hover{color:var(--navy);background:var(--soft)}.class-expanded-row{min-width:820px;padding:0 0 16px 50px}.class-expanded-table{border-top:1px solid var(--line);background:var(--surface-recessed);display:grid;overflow:hidden}.class-expanded-header,.class-expanded-student{gap:var(--dashboard-gap-lg);border-bottom:1px solid var(--line);grid-template-columns:minmax(240px,1fr) minmax(120px,.45fr);align-items:center;min-height:46px;padding:0 20px;display:grid}.class-expanded-header{min-height:40px;color:var(--muted);background:var(--soft);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:850}.class-expanded-student:last-child{border-bottom:0}.class-expanded-student span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.permission-table .table-row{grid-template-columns:minmax(230px,1.02fr) minmax(250px,1.2fr) minmax(250px,1.2fr) minmax(120px,.5fr) minmax(120px,.5fr) minmax(100px,.42fr) minmax(130px,.42fr);min-width:1150px;min-height:72px}.permission-table .table-row.header{min-height:52px}.permission-table .table-row>span{padding:15px var(--space-6)}.permission-table .table-row.header>span{padding-block:12px}.permission-table .table-row>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.permission-table .roster-actions{overflow:visible}.carpool-table .table-row{grid-template-columns:minmax(300px,1.35fr) minmax(260px,1.2fr) minmax(180px,.75fr) minmax(120px,.5fr) minmax(130px,.42fr);min-width:990px;min-height:72px}.carpool-table .table-row.header{min-height:52px}.carpool-table .table-row>span{padding:15px var(--space-6)}.carpool-table .table-row.header>span{padding-block:12px}.carpool-table .table-row>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.carpool-table .roster-actions{overflow:visible}.segmented-control{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel);gap:4px;width:fit-content;max-width:100%;padding:5px;display:inline-flex;overflow-x:auto}.segmented-control button{min-height:var(--control-height-sm);color:var(--muted);white-space:nowrap;background:0 0}.segmented-control button.active{color:#fff;border-color:var(--green);background:var(--green)}.status-text{color:var(--muted);font-weight:800}.status-text.active{color:var(--green)}.settings-list{gap:var(--space-2);display:grid}.settings-list div{justify-content:space-between;align-items:center;gap:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-raised);min-height:46px;padding:10px;display:flex}.settings-list span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:800}.settings-list strong{min-width:0;color:var(--navy);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.import-page{gap:var(--dashboard-gap-lg);display:grid}.import-picker-panel{justify-items:center;gap:var(--space-4);max-width:720px;margin:var(--space-5) auto var(--space-2);text-align:center;display:grid}.import-picker-panel p{max-width:640px;color:var(--muted);margin:0;font-size:15px;line-height:1.55}.csv-file-picker{width:min(100%,320px);max-width:100%;display:inline-flex;position:relative}.csv-file-picker input{opacity:0;cursor:pointer;position:absolute;inset:0}.csv-file-picker span{justify-content:center;align-items:center;gap:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-card);width:100%;min-height:58px;padding:0 var(--space-5);color:var(--navy);background:var(--surface-raised);box-shadow:var(--shadow);font-size:16px;font-weight:800;display:inline-flex}.csv-file-picker:hover span,.csv-file-picker:focus-within span{border-color:var(--green);background:var(--soft)}.csv-file-name{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:-2px 0 0;font-size:13px;font-weight:650;overflow:hidden}.import-review-section{padding:0;overflow:hidden}.import-review-heading{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-5);display:flex}.import-review-heading h2{margin-bottom:0}.import-review-table{border-width:1px 0 0;border-radius:0}.import-review-table .table-row{min-width:1120px;min-height:64px;padding:10px var(--space-5);grid-template-columns:minmax(120px,.6fr) minmax(240px,1.25fr) minmax(170px,.9fr) minmax(170px,.9fr) minmax(150px,.75fr) minmax(100px,.5fr) minmax(90px,.4fr)}.import-review-table .table-row.header{min-height:46px;padding-block:10px}.import-review-table input{min-height:38px;padding:7px 9px}.import-modal-card{max-width:680px}.import-option-list{gap:var(--space-3);display:grid}.import-option{align-items:start;gap:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-4);background:var(--surface-raised);color:var(--navy);grid-template-columns:auto minmax(0,1fr);display:grid}.import-option input{width:18px;min-height:18px;margin-top:2px}.import-option span{gap:4px;min-width:0;display:grid}.import-option strong{color:var(--navy);font-size:15px}.import-option small{color:var(--muted);font-size:13px;font-weight:650;line-height:1.4}.import-erase-warning{border-radius:var(--radius-card);padding:var(--space-4);background:#fff4f1;border:1px solid #e2b7af}.import-erase-warning h3{color:var(--danger);margin-bottom:8px}.import-erase-warning p{color:var(--charcoal);margin:0;line-height:1.5}.danger-button{border-color:var(--danger);color:#fff;background:var(--danger)}.danger-button:hover:not(:disabled){background:#9f3d32;border-color:#9f3d32}.compact{position:sticky;top:24px}.platform-header{justify-content:space-between;gap:var(--dashboard-gap-lg);margin-bottom:var(--dashboard-gap-lg);align-items:center;display:flex}.platform-header h1{margin-bottom:0}.platform-layout{gap:var(--dashboard-gap-lg);grid-template-columns:minmax(240px,.7fr) minmax(420px,1.3fr) minmax(300px,.9fr);align-items:start;display:grid}.platform-school-list,.platform-members{position:sticky;top:16px}.school-list,.member-list{gap:var(--space-2);display:grid}.school-card{border-color:var(--line);background:var(--surface-raised);text-align:left;justify-content:space-between;width:100%;min-height:68px}.school-card.active{border-color:var(--border-selected);background:var(--surface-selected)}.school-card span,.member-row span{gap:4px;min-width:0;display:grid}.school-card strong,.school-card small,.member-row strong,.member-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.school-card b{border-radius:var(--radius-control);color:#fff;background:var(--green);place-items:center;width:38px;height:38px;display:grid}.platform-form,.invite-form{gap:var(--dashboard-gap);display:grid}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-form textarea{min-height:150px;font-family:var(--font-mono)}.link-row{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.invite-form{margin-bottom:var(--space-4);grid-template-columns:minmax(0,1fr) 130px auto;align-items:end}.member-row{gap:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-raised);grid-template-columns:minmax(0,1fr) 120px 40px;align-items:center;padding:10px;display:grid}.auth-panel h1{font-size:clamp(1.8rem,6vw,2.7rem)}.demo-info-panel{z-index:70;border:1px solid var(--line);-webkit-backdrop-filter:blur(12px)saturate(135%);backdrop-filter:blur(12px)saturate(135%);background:#fffdf8f5;border-radius:8px;grid-template-rows:auto minmax(0,1fr);width:auto;max-width:1180px;max-height:calc(100vh - clamp(36px,8vw,92px));margin:auto;animation:.95s ease-out 2 demoInfoPulse;display:grid;position:fixed;inset:clamp(18px,4vw,46px);overflow:hidden;box-shadow:0 24px 70px #17243a3d}.demo-info-panel.is-collapsed{width:auto;max-width:calc(100vw - 36px);max-height:none;margin:0;display:block;inset:auto 18px 18px auto}.demo-info-head{border-bottom:1px solid var(--line);background:var(--soft);justify-content:space-between;align-items:center;gap:10px;padding:10px 10px 10px 12px;display:flex}.demo-info-head span,.demo-info-tab{color:var(--navy);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:7px;font-size:12px;font-weight:850;display:inline-flex}.demo-info-collapse{border-color:var(--line);width:32px;min-height:32px;color:var(--navy);background:var(--panel);flex:0 0 32px;padding:0}.demo-info-collapse:hover,.demo-info-tab:hover{background:var(--white)}.demo-guide-content{grid-template-rows:auto minmax(0,1fr);gap:16px;min-height:0;padding:clamp(16px,3vw,26px);display:grid;overflow:auto}.demo-guide-intro{gap:9px;max-width:760px;display:grid}.demo-guide-intro h2{margin:0;font-size:clamp(1.7rem,4vw,2.8rem);line-height:1.02}.demo-guide-intro p:not(.eyebrow),.demo-guide-section-head p{color:var(--muted);margin:0;font-size:.96rem;line-height:1.45}.demo-guide-section,.demo-guide-intro{min-width:0}.demo-guide-section{gap:10px;display:grid}.demo-guide-section-head{gap:4px;display:grid}.demo-guide-section-head h3{color:var(--navy);text-transform:uppercase;margin:0;font-size:1rem;line-height:1.1}.demo-guide-login-choice{gap:8px}.demo-guide-role-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.demo-guide-role-card{border:1px solid var(--line);background:var(--white);min-height:158px;color:var(--navy);text-align:left;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:clamp(16px,2.6vw,24px);transition:background .16s,border-color .16s,transform .16s,box-shadow .16s;display:grid}.demo-guide-role-card:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 16px 34px #17243a17}.demo-guide-role-card.parent:hover:not(:disabled){background:#f5fbfb;border-color:#b9dfdc}.demo-guide-role-card.admin:hover:not(:disabled){background:#f7fbf8;border-color:#bddbc7}.demo-guide-role-card.classroom:hover:not(:disabled){background:#fffaf0;border-color:#d9ca9f}.demo-guide-role-card.spotter:hover:not(:disabled){background:#fbf7f1;border-color:#d2c4b4}.demo-guide-role-icon{background:var(--soft);width:58px;min-height:58px;color:var(--green);border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.demo-guide-role-card.parent .demo-guide-role-icon{color:#27706f}.demo-guide-role-card.classroom .demo-guide-role-icon{color:var(--warning)}.demo-guide-role-card.spotter .demo-guide-role-icon{color:var(--charcoal)}.demo-guide-role-card>span:not(.demo-guide-role-icon){gap:8px;min-width:0;display:grid}.demo-guide-role-card small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:850;line-height:1}.demo-guide-role-card strong{color:var(--navy);font-size:clamp(1.45rem,3vw,2.15rem);line-height:1.02}.demo-guide-role-card b{color:var(--green);align-items:center;gap:7px;font-size:14px;line-height:1;display:inline-flex}.demo-guide-error{color:var(--danger);margin:0;font-size:14px;font-weight:700}.demo-info-tab{border-color:var(--line);background:var(--panel);border-radius:8px;min-height:38px;padding:0 12px;box-shadow:0 12px 28px #17243a1f}@keyframes demoInfoPulse{0%{box-shadow:0 0 #2e7d5047,0 18px 44px #17243a24}70%{box-shadow:0 0 0 11px #2e7d5000,0 18px 44px #17243a24}to{box-shadow:0 0 #2e7d5000,0 18px 44px #17243a24}}@media (width<=1100px){.platform-layout{grid-template-columns:1fr}.admin-dashboard-shell,.admin-dashboard-shell.sidebar-collapsed{grid-template-columns:var(--admin-sidebar-width) minmax(0, 1fr)}}@media (width<=900px){.parent-grid,.two-column,.platform-layout{grid-template-columns:1fr}.compact,.platform-school-list,.platform-members{position:static}.form-grid,.form-grid.two,.invite-form{grid-template-columns:1fr}.admin-stats,.school-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.live-dashboard-grid,.settings-dashboard-grid{grid-template-columns:1fr}}@media (width<=760px){.admin-dashboard-shell,.admin-dashboard-shell.sidebar-collapsed{grid-template-columns:1fr;gap:12px;min-height:0}.admin-sidebar{border:1px solid var(--line);border-radius:8px;height:auto;min-height:0;max-height:none;position:static;overflow:visible}.admin-workspace{border-radius:8px;min-height:0}.admin-nav{display:flex;overflow-x:auto}.admin-sidebar-resizer{display:none}.nav-item{white-space:nowrap}.live-activity-head{display:grid}.live-activity-search{width:100%}.roster-toolbar,.roster-heading-group,.roster-toolbar-actions{flex-direction:column;align-items:stretch}.roster-toolbar-actions{width:100%}.roster-add-button{align-self:flex-end}.class-student-popover{width:auto;max-height:min(560px,100vh - 36px);position:fixed;inset:auto 14px 18px;transform:none}.class-student-popover-arrow{display:none}}@media (width<=640px){.app-shell{padding:14px}.topbar{flex-direction:column;align-items:flex-start}.brand-lockup strong{font-size:16px}.brand-lockup small{max-width:220px}.brand-bar-actions{justify-content:flex-start;gap:8px}.brand-bar-action{min-height:36px;padding-inline:10px}.brand-bar-icon{width:38px;padding:0}.page,.admin-page,.classroom-display{width:100%;padding-top:14px}.parent-page{width:100%;padding-top:14px;padding-bottom:126px}.parent-entry,.parent-card-head,.parent-section{padding-inline:18px}.settings-title-row,.parent-session-actions{flex-direction:column;align-items:stretch}.settings-actions,.parent-session-actions{justify-content:flex-start}.parent-card-head h1{font-size:1.55rem}.hero-panel h1,.panel h1,.parent-entry h1{font-size:2rem}.parent-checkin-card .parent-card-head h1{font-size:1.55rem}.lookup-form,.action-row,.notice-row,.schedule-control{align-items:stretch}.lookup-form>*,.action-row>*{width:100%}.student-row,.preset-row,.mini-list-row,.item-card{min-height:62px}.class-student-row{grid-template-columns:minmax(0,1fr) auto}.class-student-status{justify-self:end}.class-student-action{grid-column:1/-1;width:100%}.parent-called-row{flex-direction:column;align-items:stretch}.parent-called-row .recall-button{width:100%;margin-left:0}.weekday-picker,.schedule-options{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-overlay{align-items:end;padding:10px}.modal-card{max-height:calc(100vh - 20px)}.preset-row b{display:none}.parent-sticky-actions{grid-template-columns:auto minmax(0,1fr) auto;gap:8px;width:calc(100vw - 28px);padding:12px}.parent-submit{min-height:52px;padding-inline:10px;font-size:.9rem}.parent-schedule-button{width:52px;min-width:52px;padding-inline:0}.parent-schedule-label{display:none}.display-card,.admin-hero,.platform-header{flex-direction:column;align-items:flex-start}.admin-stats,.school-metrics{grid-template-columns:1fr 1fr}.demo-info-panel{max-height:calc(100vh - 20px);inset:10px}.demo-info-panel.is-collapsed{inset:auto 12px calc(100px + env(safe-area-inset-bottom)) auto}.demo-guide-content{padding:14px}.demo-guide-role-grid{grid-template-columns:1fr}.demo-guide-role-card{grid-template-columns:auto minmax(0,1fr);min-height:118px}.demo-guide-role-card b{grid-column:2}}@media (width<=760px){html,body{overflow-x:hidden}.app-shell{padding:max(10px, env(safe-area-inset-top)) clamp(10px, 4vw, 16px) 18px}.topbar{grid-template-columns:1fr;gap:12px;margin-bottom:12px;display:grid}.brand-lockup{width:100%}.brand-lockup strong,.brand-lockup small{white-space:normal}.brand-lockup strong{overflow-wrap:anywhere}.brand-bar-actions{grid-template-columns:repeat(auto-fit,minmax(104px,1fr));width:100%;display:grid}.brand-bar-action{white-space:normal;min-width:0;padding-inline:10px;line-height:1.15}.page{padding-bottom:48px}.panel,.hero-panel,.dashboard-section{border-radius:8px;padding:14px}.section-heading{flex-direction:column;align-items:stretch;gap:10px}.section-heading>button,.section-heading>.primary,.section-heading>.secondary{width:100%}.parent-checkin-card{border-radius:10px}.parent-entry,.parent-card-head,.parent-section{padding:18px 16px 0}.parent-entry{padding-bottom:18px}.parent-section+.parent-section{margin-top:18px}.parent-card-head{text-align:left;gap:8px}.parent-card-head h1{margin-top:0}.student-row,.preset-row{align-items:center;min-height:66px;padding:12px}.student-row strong,.preset-row strong,.student-row small,.preset-row small,.display-card small,.mini-list small,.class-tile small{text-overflow:clip;white-space:normal;overflow:visible}.student-row strong,.preset-row strong{overflow-wrap:anywhere;line-height:1.18}.student-row small,.preset-row small{line-height:1.25}.item-row{flex-direction:column;align-items:flex-start;gap:8px}.item-actions{justify-content:flex-start}.item-count{width:fit-content}.notice-row{grid-template-columns:1fr;margin:14px 16px 0;display:grid}.notice-row button{width:100%}.parent-sticky-actions{bottom:max(8px, env(safe-area-inset-bottom));border-radius:10px;grid-template-columns:minmax(38px,auto) minmax(0,1fr) 48px;gap:6px;width:calc(100vw - 16px);padding:10px}.parent-sticky-actions .text-link{min-width:38px;font-size:.86rem}.parent-submit{min-height:52px;padding-inline:8px;font-size:.86rem;line-height:1.15}.parent-schedule-button{width:48px;min-width:48px}.modal-overlay{align-items:end;padding:10px}.modal-card{border-radius:10px 10px 0 0;width:100%;max-height:calc(100dvh - 20px);padding:16px}.modal-head{align-items:flex-start}.modal-actions{grid-template-columns:1fr;width:100%;display:grid}.modal-actions button,.modal-card>.primary{width:100%}.weekday-option span{white-space:normal}.help-popover{left:auto;right:0;transform:none}.message{left:10px;right:10px;top:max(10px, env(safe-area-inset-top));width:auto}.classroom-hub-heading,.hub-students-head,.live-activity-head,.import-review-heading,.platform-header{align-items:stretch}.hub-top-actions,.hub-students-controls{grid-template-columns:1fr;width:100%;display:grid}.hub-top-actions button,.hub-students-controls button{width:100%}.classroom-hub-grid,.hub-student-grid,.live-student-grid,.class-progress-grid{grid-template-columns:1fr}.hub-students-card{padding:14px}.hub-students-card.is-fullscreen{padding:12px}.projector-board{padding:8px}.display-alert-overlay{padding:12px}.display-alert-modal{width:100%;padding:24px 18px}.admin-sidebar{grid-template-rows:auto auto auto;gap:10px;padding:12px}.admin-sidebar-head{min-height:0;padding-bottom:10px}.admin-sidebar-copy,.sidebar-collapsed .admin-sidebar-copy{opacity:1;pointer-events:auto;max-width:none;max-height:none;transform:none}.admin-nav{gap:8px;margin-inline:-2px;padding-bottom:2px;display:flex;overflow-x:auto}.nav-item,.sidebar-collapsed .nav-item{justify-content:flex-start;gap:var(--space-2);border:1px solid var(--line);background:var(--surface-raised);white-space:nowrap;flex:none;width:auto;min-height:40px;padding:0 10px}.nav-label,.sidebar-collapsed .nav-label{opacity:1;pointer-events:auto;max-width:180px;transform:none}.admin-sidebar-footer,.sidebar-collapsed .admin-sidebar-footer{grid-template-columns:1fr;justify-items:stretch;width:100%}.admin-sidebar-toggle{display:none}.admin-logout-button,.sidebar-collapsed .admin-logout-button{justify-content:center;gap:var(--space-2);border-radius:var(--radius-control);background:#fff8f6;border:1px solid #efc7bf;width:100%;padding-inline:10px}.admin-workspace{min-height:0;padding:10px}.admin-stat,.school-metrics span{min-height:84px;padding:10px}.admin-stat strong,.school-metrics strong{font-size:28px}.live-roster-switch,.segmented-control{width:100%}.live-roster-switch button,.segmented-control button{flex:1 1 0}.class-student-row-list{max-height:calc(100dvh - 170px)}.settings-list div,.member-row{grid-template-columns:1fr;align-items:stretch}.settings-list div{flex-direction:column}.settings-list strong,.member-row strong,.member-row small,.school-card strong,.school-card small{white-space:normal}.link-row .secondary{flex:calc(50% - 4px)}.member-row select,.member-row button,.csv-file-picker{width:100%}}@media (width<=700px){.admin-workspace{padding-inline:8px}.admin-workspace .dashboard-section{padding:10px}.data-table{background:0 0;border:0;gap:10px;display:grid;overflow:visible}.data-table .table-row.header{display:none}.data-table .table-row{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-raised);grid-template-columns:1fr;min-width:0;min-height:0;display:grid;overflow:hidden}.data-table .table-row>span{border-bottom:1px solid var(--line);text-overflow:clip;grid-template-columns:minmax(76px,.36fr) minmax(0,1fr);justify-content:stretch;align-items:center;gap:8px;min-height:0;padding:9px 10px;display:grid;white-space:normal!important;overflow:visible!important}.data-table .table-row>span:last-child{border-bottom:0}.data-table .table-row>.pinned-left,.data-table .table-row>.pinned-right{background:0 0;border-left:0;border-right:0;position:static}.data-table .table-row>span:before{content:"";color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:850;line-height:1.2}.live-activity-table .table-row>span:first-child:before{content:"Student"}.live-activity-table .table-row>span:nth-child(2):before{content:"Time"}.live-activity-table .table-row>span:nth-child(3):before{content:"Class"}.live-activity-table .table-row>span:nth-child(4):before{content:"Family"}.live-activity-table .table-row>span:nth-child(5):before{content:"Carpool"}.live-activity-table .table-row>span:nth-child(6):before{content:"Status"}.live-activity-table .table-row>span:nth-child(7):before{content:"Checked in"}.live-activity-table .table-row>span:nth-child(8):before{content:"Action"}.roster-student-table .table-row>span:first-child:before{content:"Name"}.roster-student-table .table-row>span:nth-child(2):before{content:"Class"}.roster-student-table .table-row>span:nth-child(3):before{content:"Family"}.roster-student-table .table-row>span:nth-child(4):before{content:"Carpool"}.roster-student-table .table-row>span:nth-child(5):before{content:"Actions"}.family-table .table-row>span:first-child:before{content:"Carpool"}.family-table .table-row>span:nth-child(2):before{content:"Family"}.family-table .table-row>span:nth-child(3):before{content:"Students"}.family-table .table-row>span:nth-child(4):before{content:"Actions"}.roster-class-table .table-row>span:first-child:before{content:"Details"}.roster-class-table .table-row>span:nth-child(2):before{content:"Class"}.roster-class-table .table-row>span:nth-child(3):before{content:"Sort"}.roster-class-table .table-row>span:nth-child(4):before{content:"Students"}.roster-class-table .table-row>span:nth-child(5):before{content:"Actions"}.permission-table .table-row>span:first-child:before{content:"Students"}.permission-table .table-row>span:nth-child(2):before{content:"Granting"}.permission-table .table-row>span:nth-child(3):before{content:"Receiving"}.permission-table .table-row>span:nth-child(4):before{content:"Start"}.permission-table .table-row>span:nth-child(5):before{content:"End"}.permission-table .table-row>span:nth-child(6):before{content:"Status"}.permission-table .table-row>span:nth-child(7):before{content:"Actions"}.carpool-table .table-row>span:first-child:before{content:"Students"}.carpool-table .table-row>span:nth-child(2):before{content:"Family"}.carpool-table .table-row>span:nth-child(3):before{content:"Carpool"}.carpool-table .table-row>span:nth-child(4):before{content:"Days"}.carpool-table .table-row>span:nth-child(5):before{content:"Actions"}.import-review-table .table-row>span:first-child:before{content:"Carpool"}.import-review-table .table-row>span:nth-child(2):before{content:"Parents"}.import-review-table .table-row>span:nth-child(3):before{content:"First"}.import-review-table .table-row>span:nth-child(4):before{content:"Last"}.import-review-table .table-row>span:nth-child(5):before{content:"Class"}.import-review-table .table-row>span:nth-child(6):before{content:"Grade"}.import-review-table .table-row>span:nth-child(7):before{content:"Action"}.data-table .roster-actions,.data-table .live-action-cell{grid-template-columns:minmax(76px,.36fr) repeat(2,42px);justify-content:flex-start}.data-table .live-action-cell{grid-template-columns:minmax(76px,.36fr) auto}.data-table .roster-actions:before,.data-table .live-action-cell:before{align-self:center}.data-table .table-row>span>input,.data-table .table-row>span>select{min-width:0}.roster-class-group{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-raised);overflow:hidden}.roster-class-group:not(:last-child){border-bottom:1px solid var(--line)}.roster-class-group>.table-row{border:0;border-radius:0}.class-expanded-row{min-width:0;padding:0 10px 10px}.class-expanded-header,.class-expanded-student{grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:0 10px}.import-review-table .table-row{padding:0}}
