@font-face{font-family:Readex Pro Variable;font-style:normal;font-display:swap;font-weight:160 700;src:url(/assets/readex-pro-arabic-wght-normal-DiwT_uOQ.woff2)format("woff2-variations");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Readex Pro Variable;font-style:normal;font-display:swap;font-weight:160 700;src:url(/assets/readex-pro-vietnamese-wght-normal-Do5Nl5oc.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Readex Pro Variable;font-style:normal;font-display:swap;font-weight:160 700;src:url(/assets/readex-pro-latin-ext-wght-normal-CsYMu49W.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Readex Pro Variable;font-style:normal;font-display:swap;font-weight:160 700;src:url(/assets/readex-pro-latin-wght-normal--ekFhJJC.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink:#1b2a4a;--ink-2:#44526e;--ink-3:#6b778c;--paper:#f3f5f8;--surface:#fff;--line:#d9dfe8;--line-2:#c3ccd9;--signal:#f2a900;--signal-deep:#c98a00;--signal-ink:#2b2000;--signal-wash:#fff4d6;--ok:#1f7a4d;--ok-wash:#e3f3ea;--go:#2560c9;--go-wash:#e5eefc;--stop:#c4302b;--stop-wash:#fde8e7;--muted-wash:#eceff4;--font:"Readex Pro Variable", "Readex Pro", system-ui, sans-serif;--fs-1:.8125rem;--fs-2:1rem;--fs-3:1.25rem;--fs-4:1.5625rem;--fs-5:1.953rem;--r-1:6px;--r-2:10px;--r-3:16px;--focus:0 0 0 3px var(--surface), 0 0 0 5px var(--go);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ink:#e8edf6;--ink-2:#b7c1d3;--ink-3:#8c97ab;--paper:#0f1726;--surface:#18223a;--line:#2b3754;--line-2:#3a4868;--signal-wash:#3a2f10;--ok:#4cc28a;--ok-wash:#15362a;--go:#7aa7ff;--go-wash:#182c52;--stop:#ff7a73;--stop-wash:#45201f;--muted-wash:#222d45;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);font-size:var(--fs-2);color:var(--ink);background:var(--paper);font-variation-settings:"HEXP" 0;margin:0;line-height:1.5}:lang(ar) body,html[lang=ar] body{line-height:1.7}h1,h2,h3{letter-spacing:-.01em;margin:0 0 .4em;font-weight:600;line-height:1.2}h1{font-size:var(--fs-5)}h2{font-size:var(--fs-3)}h3{font-size:var(--fs-2)}p{max-inline-size:72ch;margin:0 0 .75em}a{color:var(--go)}code,.mono{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.9em}.muted{color:var(--ink-3)}.small{font-size:var(--fs-1)}.warn-text{color:var(--stop)}:focus-visible{box-shadow:var(--focus);border-radius:var(--r-1);outline:none}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}input,select,textarea{font:inherit;color:inherit;background:var(--surface);border:1.5px solid var(--line-2);border-radius:var(--r-1);min-block-size:44px;inline-size:100%;padding:.55rem .7rem}input[type=checkbox],input[type=radio]{block-size:20px;min-block-size:20px;inline-size:20px;accent-color:var(--ink);flex:none;margin:0}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--go)}.btn,.btn-quiet,.lang-switch,.icon-btn{font:inherit;cursor:pointer;border-radius:var(--r-1);white-space:nowrap;justify-content:center;align-items:center;gap:.4rem;min-block-size:44px;text-decoration:none;display:inline-flex}.btn{border:1.5px solid var(--line-2);background:var(--surface);color:var(--ink);padding:.5rem 1rem;font-weight:500}.btn:hover{border-color:var(--ink-3)}.btn:disabled,.btn-quiet:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--ink);border-color:var(--ink);color:var(--paper)}.btn-primary:hover{border-color:var(--ink);background:var(--ink-2)}.btn-signal{background:var(--signal);border-color:var(--signal-deep);color:var(--signal-ink);font-weight:600}.btn-signal:hover{border-color:var(--signal-ink)}.btn-danger{color:var(--stop)}.btn-small{min-block-size:36px;font-size:var(--fs-1);padding:.25rem .7rem}.btn-block{inline-size:100%}.btn-huge{min-block-size:72px;font-size:var(--fs-3)}.btn-quiet{color:var(--ink-2);background:0 0;border:0;padding:.4rem .6rem}.btn-quiet:hover{color:var(--ink);text-decoration:underline}.icon-btn{color:var(--ink-3);background:0 0;border:0;inline-size:44px;font-size:1.1rem}.lang-switch{border:1.5px solid var(--line-2);color:inherit;background:0 0;padding:.3rem .8rem}.field{flex-direction:column;gap:.3rem;display:flex}.field-label{font-weight:500;font-size:var(--fs-1);color:var(--ink-2)}.field-hint{font-size:var(--fs-1);color:var(--ink-3);display:block}.check{align-items:flex-start;gap:.6rem;display:flex}.checks{border:0;flex-wrap:wrap;gap:.5rem 1.25rem;margin:0;padding:0;display:flex}.checks legend{font-weight:500;font-size:var(--fs-1);color:var(--ink-2);margin-block-end:.4rem;padding:0}.checks label{align-items:center;gap:.5rem;min-block-size:36px;display:inline-flex}.stack{flex-direction:column;gap:1rem;display:flex}.grid-2{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.error-note{color:var(--stop);background:var(--stop-wash);border-radius:var(--r-1);margin:0;padding:.6rem .8rem}.empty{text-align:center;color:var(--ink-3);border:1.5px dashed var(--line-2);border-radius:var(--r-2);padding:2rem 1rem}.segmented{background:var(--muted-wash);border-radius:var(--r-1);grid-auto-columns:1fr;grid-auto-flow:column;margin-block-end:1.25rem;padding:3px;display:grid}.segmented button{font:inherit;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:4px;min-block-size:40px;padding:.5rem}.segmented button[aria-selected=true]{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:0 1px 2px #1b2a4a26}.code-input{font-size:var(--fs-4);letter-spacing:.2em;font-variant-numeric:tabular-nums;text-align:center}.mark{flex:none;block-size:36px;inline-size:36px}.mark rect{fill:var(--signal)}.mark path{fill:none;stroke:#1b2a4a;stroke-width:5px;stroke-linecap:round;stroke-linejoin:round}.splash{min-block-size:100vh;color:var(--ink-3);place-items:center;display:grid}.topbar{color:#f3f5f8;z-index:10;background:#1b2a4a;flex-wrap:wrap;align-items:center;gap:1.25rem;padding:.6rem clamp(1rem,3vw,2rem);display:flex;position:sticky;inset-block-start:0}.brand{align-items:center;gap:.7rem;display:flex}.brand strong{font-size:var(--fs-2);line-height:1.2;display:block}.brand-school{font-size:var(--fs-1);color:#b7c1d3;line-height:1.2;display:block}.mainnav{scrollbar-width:none;flex:1;gap:.25rem;display:flex;overflow-x:auto}.mainnav a{color:#c9d1df;border-radius:var(--r-1);white-space:nowrap;align-items:center;min-block-size:44px;padding:.5rem .8rem;text-decoration:none;display:inline-flex}.mainnav a:hover{color:#fff;background:#ffffff14}.mainnav a.active{color:#1b2a4a;background:var(--signal);font-weight:600}.topbar-end{align-items:center;gap:.5rem;display:flex}.topbar .btn-quiet{color:#c9d1df}.account-link{color:#f3f5f8;font-size:var(--fs-1);text-overflow:ellipsis;white-space:nowrap;max-inline-size:14ch;text-decoration:none;overflow:hidden}.content{max-inline-size:1280px;margin-inline:auto;padding:clamp(1rem,3vw,2rem)}.narrow{max-inline-size:560px}@media (width<=760px){.mainnav{flex-basis:100%;order:3}.topbar-end{margin-inline-start:auto}.account-link{display:none}}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-block-end:1.25rem;display:flex}.page-head select{inline-size:auto}.head-actions{flex-wrap:wrap;gap:.5rem;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-block-end:1rem;display:flex}.toolbar input[type=search]{max-inline-size:360px}.toolbar select{inline-size:auto}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-2);margin-block-end:1.25rem;padding:clamp(1rem,2.5vw,1.5rem)}.panel-head{justify-content:space-between;align-items:center;gap:1rem;margin-block-end:.75rem;display:flex}.panel-head h2{margin:0}.panel h2{margin-block-start:.25rem}.back{margin-block-end:1rem;text-decoration:none;display:inline-block}.back:before{content:"‹ "}[dir=rtl] .back:before{content:"› "}.badge{font-size:var(--fs-1);white-space:nowrap;background:var(--muted-wash);color:var(--ink-2);border-radius:999px;align-items:center;gap:.35rem;padding:.15rem .6rem;font-weight:500;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;block-size:8px;inline-size:8px}.status-guardian_arrived{background:var(--signal-wash);color:#7a5600}.status-released,.status-home_confirmed{background:var(--ok-wash);color:var(--ok)}.status-departed{background:var(--go-wash);color:var(--go)}.status-absent{color:var(--ink-3)}.badge.is-alert{background:var(--stop-wash);color:var(--stop)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .status-guardian_arrived{color:var(--signal)}}.mode{white-space:nowrap;font-size:var(--fs-1);color:var(--ink-3)}.mode-independent{color:var(--go)}.tag{font-size:var(--fs-1);color:var(--stop);margin-inline-start:.5rem;font-weight:500;display:inline-block}.change-note{font-size:var(--fs-1);color:#7a5600;background:var(--signal-wash);border-radius:4px;inline-size:fit-content;margin-block-start:.2rem;padding:.1rem .5rem;display:block}.student-note{font-size:var(--fs-1);background:var(--stop-wash);color:var(--stop);border-radius:4px;margin:.4rem 0 0;padding:.3rem .6rem}.photo{background:var(--muted-wash);color:var(--ink-2);border-radius:50%;flex:none;place-items:center;font-weight:600;display:inline-grid;overflow:hidden}.photo img{object-fit:cover;block-size:100%;inline-size:100%}.board-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-block-end:1rem;display:flex}.board-head h1{margin:0}.board-sub{margin:.25rem 0 0}.board-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.board-actions input[type=date]{inline-size:auto}.btn-scan{min-block-size:52px;font-size:var(--fs-3);padding-inline:1.5rem}.live-dot{font-size:var(--fs-1);align-items:center;gap:.35rem;margin-inline-start:.5rem;display:inline-flex}.live-dot:before{content:"";background:var(--ink-3);border-radius:50%;block-size:8px;inline-size:8px}.live-dot.on:before{background:var(--ok)}.tally{border-block:1px solid var(--line);color:var(--ink-2);flex-wrap:wrap;gap:1.75rem;margin-block-end:1rem;padding-block:.75rem;display:flex}.tally b{font-size:var(--fs-4);color:var(--ink);font-variant-numeric:tabular-nums;margin-inline-end:.2rem}.alerts{border:2px solid var(--stop);background:var(--stop-wash);border-radius:var(--r-2);margin-block-end:1.25rem;padding:1rem}.alerts h2{color:var(--stop);font-size:var(--fs-2)}.alerts ul{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.alerts li{background:var(--surface);border-radius:var(--r-1);align-items:center;gap:.75rem;padding:.5rem .75rem;display:flex}.alert-text{font-size:var(--fs-1);flex-direction:column;flex:1;display:flex}.alert-text strong{font-size:var(--fs-2)}.board-grid{grid-template-columns:minmax(280px,380px) 1fr;align-items:start;gap:1.5rem;display:grid}@media (width<=960px){.board-grid{grid-template-columns:1fr}}.gate{color:#f3f5f8;border-radius:var(--r-3);background:#1b2a4a repeating-linear-gradient(-45deg,#0000 0 14px,#f2a90012 14px 28px);padding:1rem;position:sticky;inset-block-start:84px}.gate h2{font-size:var(--fs-3);align-items:center;gap:.5rem;display:flex}.gate h2:before{content:"";background:var(--signal);border-radius:2px;block-size:14px;inline-size:14px;transform:rotate(45deg)}.gate-empty{color:#b7c1d3;font-size:var(--fs-1);margin:0}.gate-list{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.gate-card{color:#1b2a4a;border-radius:var(--r-2);border-inline-start:6px solid var(--signal);background:#f3f5f8;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:.75rem;animation:.5s ease-out arrive;display:grid}@keyframes arrive{0%{opacity:0;transform:translateY(-6px)}}.gate-card .btn-primary{color:#fff;background:#1b2a4a;border-color:#1b2a4a}.gate-info{min-inline-size:0;font-size:var(--fs-1);color:#44526e;flex-direction:column;display:flex}.gate-info strong{font-size:var(--fs-3);color:#1b2a4a;line-height:1.2}.gate-who{color:#7a5600}.roster{min-inline-size:0}.roster-tools{flex-direction:column;gap:.75rem;margin-block-end:.75rem;display:flex}.chips{flex-wrap:wrap;gap:.4rem;display:flex}.chips button{font:inherit;font-size:var(--fs-1);border:1.5px solid var(--line-2);background:var(--surface);color:var(--ink-2);cursor:pointer;border-radius:999px;min-block-size:36px;padding:.3rem .8rem}.chips button[aria-selected=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.chip-n{font-variant-numeric:tabular-nums;opacity:.7;margin-inline-start:.2rem}.roster-search{gap:.5rem;display:flex}.roster-search select{inline-size:auto}.bulkbar{background:var(--go-wash);border-radius:var(--r-1);align-items:center;gap:.75rem;padding:.5rem .75rem;display:flex}.roster-list{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-2);margin:0;padding:0;list-style:none}.row{border-block-end:1px solid var(--line);grid-template-columns:24px auto 1fr auto auto;align-items:center;gap:.75rem;padding:.65rem .9rem;display:grid}.row:last-child{border-block-end:0}.row-alert{background:var(--stop-wash)}.row-main{flex-direction:column;min-inline-size:0;display:flex}.row-meta,.row-detail{font-size:var(--fs-1);color:var(--ink-3)}.row-meta .mode{margin-inline-start:.4rem}.row-actions{align-items:center;gap:.35rem;display:flex}@media (width<=640px){.row{grid-template-columns:24px auto 1fr}.row .badge{grid-column:3;justify-self:start}.row-actions{grid-column:1/-1;justify-content:flex-end}}.more{position:relative}.more summary{cursor:pointer;border-radius:var(--r-1);block-size:36px;inline-size:36px;color:var(--ink-2);place-items:center;font-size:1.2rem;list-style:none;display:grid}.more summary::-webkit-details-marker{display:none}.more summary:hover{background:var(--muted-wash)}.more-menu{z-index:5;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-1);flex-direction:column;min-inline-size:200px;padding:.25rem;display:flex;position:absolute;inset-block-start:100%;inset-inline-end:0;box-shadow:0 8px 24px #1b2a4a2e}.more-menu button{font:inherit;text-align:start;cursor:pointer;color:var(--ink);background:0 0;border:0;border-radius:4px;padding:.6rem .75rem}.more-menu button:hover{background:var(--muted-wash)}.modal{border-radius:var(--r-3);background:var(--surface);max-block-size:calc(100vh - 2rem);inline-size:min(560px,100vw - 2rem);color:var(--ink);border:0;padding:0;box-shadow:0 24px 64px #0f172659}.modal-wide{inline-size:min(820px,100vw - 2rem)}.modal::backdrop{background:#0f17268c}.modal-head{justify-content:space-between;align-items:center;padding:1rem 1rem 0 1.5rem;display:flex}.modal-head h2{margin:0}.modal-body{padding:1rem 1.5rem 1.5rem}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-block-start:1.25rem;display:flex}.release-student{border-block-end:1px solid var(--line);align-items:center;gap:1rem;padding-block-end:1rem;display:flex}.release-student>div{flex-direction:column;display:flex}.release-student strong{font-size:var(--fs-4)}.release-h{margin-block:1rem .75rem}.person-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.person-tile{font:inherit;color:var(--ink-3);text-align:center;border:2px solid var(--line);border-radius:var(--r-2);background:var(--surface);cursor:pointer;inline-size:100%;font-size:var(--fs-1);flex-direction:column;align-items:center;gap:.4rem;padding:1rem .5rem;display:flex}.person-tile strong{color:var(--ink);font-size:var(--fs-2)}.person-tile[aria-checked=true]{border-color:var(--ink);box-shadow:inset 0 0 0 2px var(--signal);background:var(--signal-wash)}.no-photo{color:var(--stop)}.override{border:1px solid var(--line);border-radius:var(--r-2);margin-block-start:1rem;padding:.75rem 1rem}.override summary{cursor:pointer;min-block-size:32px;font-weight:500}.override[open]{border-color:var(--stop)}.scan-form{flex-wrap:wrap;align-items:flex-end;gap:.5rem;display:flex}.scan-form .field{flex:1;min-inline-size:200px}.scan-video{border-radius:var(--r-2);background:#000;max-block-size:320px;inline-size:100%;margin-block-start:1rem}.scan-result{margin-block-start:1.25rem}.scan-person{align-items:center;gap:1rem;margin-block-end:1rem;display:flex}.scan-person>div{flex-direction:column;display:flex}.scan-person strong{font-size:var(--fs-4)}.scan-kids{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.scan-kids li{border:1px solid var(--line);border-radius:var(--r-1);grid-template-columns:auto 1fr auto auto;align-items:center;gap:.75rem;padding:.5rem;display:grid}.toaster{z-index:100;pointer-events:none;flex-direction:column;align-items:center;gap:.5rem;display:flex;position:fixed;inset-block-end:1rem;inset-inline:0}.toast{color:#fff;border-radius:var(--r-1);background:#1b2a4a;max-inline-size:min(480px,100vw - 2rem);padding:.7rem 1.1rem;box-shadow:0 8px 24px #0f17264d}.toast-err{background:var(--stop)}.login{background:#1b2a4a repeating-linear-gradient(-45deg,#0000 0 22px,#f2a9000f 22px 44px);place-items:center;min-block-size:100vh;padding:1rem;display:grid;position:relative}.login-lang{color:#f3f5f8;position:absolute;inset-block-start:1rem;inset-inline-end:1rem}.login-lang .lang-switch{border-color:#ffffff59}.login-card{background:var(--surface);border-radius:var(--r-3);border-block-start:8px solid var(--signal);inline-size:min(420px,100%);padding:clamp(1.5rem,5vw,2.5rem)}.login-brand{align-items:center;gap:.75rem;margin-block-end:.5rem;display:flex}.login-brand .mark{block-size:48px;inline-size:48px}.login-brand h1{font-size:var(--fs-4);margin:0}.login-tagline{color:var(--ink-3);font-size:var(--fs-1);margin:0}.login-lede{color:var(--ink-3);margin-block-end:1.5rem}.confirm-card{text-align:center}.confirm-card .login-brand{justify-content:center;margin-block-end:2rem}.confirm-q{font-size:var(--fs-5)}.confirm-done h2{font-size:var(--fs-4)}.confirm-check{background:var(--ok-wash);block-size:88px;inline-size:88px;color:var(--ok);border-radius:50%;place-items:center;margin:0 auto 1rem;font-size:2.5rem;display:grid}.guardian{max-inline-size:720px}.arrive{margin-block:1.5rem}.arrive-btn{font:inherit;background:var(--signal);color:#1b2a4a;border-radius:var(--r-3);min-block-size:140px;inline-size:100%;box-shadow:inset 0 0 0 4px #1b2a4a, inset 0 0 0 8px var(--signal);cursor:pointer;border:0;flex-direction:column;justify-content:center;align-items:center;gap:.3rem;padding:1.25rem;transition:transform .12s;display:flex}.arrive-btn:active{transform:scale(.985)}.arrive-btn:disabled{opacity:.6}.arrive-title{font-variation-settings:"HEXP" 60;font-size:clamp(2rem,8vw,2.75rem);font-weight:700;line-height:1.1}.arrive-sub{font-size:var(--fs-2)}.kids{gap:.75rem;margin:1.5rem 0;padding:0;list-style:none;display:grid}.kid{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-2);flex-direction:column;gap:.75rem;padding:1rem;display:flex}.kid-head{grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;display:grid}.kid-head>div{flex-direction:column;display:flex}.kid-head strong{font-size:var(--fs-3)}.kid-head .muted .mode{margin-inline-start:.4rem}.timeline{border-inline-start:2px solid var(--line-2);font-size:var(--fs-1);color:var(--ink-2);gap:.3rem;margin:0;padding:0;padding-inline-start:1rem;list-style:none;display:grid}.timeline li{position:relative}.timeline li:before{content:"";background:var(--ink-3);border-radius:50%;block-size:10px;inline-size:10px;position:absolute;inset-block-start:.55em;inset-inline-start:calc(-1rem - 6px)}.timeline li:last-child:before{background:var(--signal)}.pass-section{border-block-start:1px solid var(--line);flex-wrap:wrap;align-items:flex-start;gap:1.5rem;padding-block:1.5rem;display:flex}.pass-intro{flex:1;min-inline-size:220px}.pass{flex-direction:column;align-items:center;gap:.4rem;margin-inline:auto;display:flex}.pass-sign{background:var(--signal);border-radius:var(--r-3);padding:18px;box-shadow:inset 0 0 0 4px #1b2a4a}.pass-sign img{border-radius:var(--r-1);background:#fff;block-size:auto;max-inline-size:100%;padding:6px;display:block}.pass-name{font-size:var(--fs-3)}.pass-code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:var(--fs-3);letter-spacing:.15em;color:var(--ink-2)}.people-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.person-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-2);grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:.9rem 1rem;display:grid}.panel .person-card{border:0;border-block-end:1px solid var(--line);border-radius:0;padding-inline:0}.person-main{flex-direction:column;min-inline-size:0;display:flex}.person-actions{flex-wrap:wrap;justify-content:flex-end;gap:.4rem;display:flex}@media (width<=640px){.person-card{grid-template-columns:auto 1fr}.person-actions{grid-column:1/-1;justify-content:flex-start}}.kid-chips{flex-wrap:wrap;gap:.3rem;margin-block-start:.3rem;display:flex}.kid-chips span{font-size:var(--fs-1);background:var(--muted-wash);border-radius:999px;padding:.05rem .5rem}.change-list,.simple-list{margin:0;padding:0;list-style:none}.change-list li,.simple-list li{border-block-end:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-block:.75rem;display:flex}.change-list li>div{flex-direction:column;display:flex}.guardian h2{margin-block-start:1.5rem}.table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-2);margin-block-end:1rem;overflow-x:auto}.table{border-collapse:collapse;inline-size:100%;font-size:var(--fs-1)}.table th,.table td{text-align:start;border-block-end:1px solid var(--line);vertical-align:middle;padding:.65rem .9rem}.table th{color:var(--ink-3);white-space:nowrap;background:var(--paper);font-weight:500}.table tr:last-child td{border-block-end:0}.table-dense td{padding-block:.4rem}.table .is-inactive td{color:var(--ink-3)}.cell-person{color:var(--ink);font-size:var(--fs-2);align-items:center;gap:.6rem;text-decoration:none;display:inline-flex}.cell-person:hover span{text-decoration:underline}.cell-ltr{text-align:start;overflow-wrap:anywhere;unicode-bidi:plaintext;max-inline-size:40ch}.bar{background:var(--stop);vertical-align:middle;border-radius:4px;block-size:8px;min-inline-size:2px;margin-inline-end:.3rem;display:inline-block}.kpis{background:var(--line);border:1px solid var(--line);border-radius:var(--r-2);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;margin:0 0 1.25rem;display:grid;overflow:hidden}.kpis div{background:var(--surface);padding:1rem 1.25rem}.kpis dt{font-size:var(--fs-1);color:var(--ink-3)}.kpis dd{font-size:var(--fs-4);font-variant-numeric:tabular-nums;margin:.25rem 0 0;font-weight:600}.detail-head{grid-template-columns:auto 1fr auto;align-items:start;gap:1.25rem;margin-block-end:1.5rem;display:grid}.detail-head h1{margin:0}@media (width<=760px){.detail-head{grid-template-columns:auto 1fr}.detail-head .head-actions{grid-column:1/-1}}.msg-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.msg{background:var(--surface);border:1px solid var(--line);border-inline-start:4px solid var(--ok);border-radius:var(--r-1);padding:.75rem 1rem}.msg-queued{border-inline-start-color:var(--signal)}.msg-failed{border-inline-start-color:var(--stop)}.msg-head{flex-wrap:wrap;align-items:baseline;gap:.75rem;display:flex}.msg-status{font-size:var(--fs-1);font-weight:500}.msg-status-sent{color:var(--ok)}.msg-status-failed{color:var(--stop)}.msg-body{white-space:pre-wrap;margin:.4rem 0 0}.import-result{background:var(--ok-wash);border-radius:var(--r-1);padding:.75rem 1rem}.import-result.has-errors{background:var(--stop-wash)}.import-result ul{margin:.5rem 0 0;padding-inline-start:1.25rem}textarea.mono{font-size:var(--fs-1)}.tabbar,.fab,.more-sheet{display:none}.icon{flex:none}.text-link{align-items:center;min-block-size:44px;font-weight:500;display:inline-flex}:root{--tabbar-h:64px}@media (width<=1024px){.topbar{padding:calc(.5rem + env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) .5rem max(1rem, env(safe-area-inset-left));flex-wrap:nowrap;gap:.75rem}.mainnav,.signout-top,.account-link{display:none}.brand{flex:1;min-inline-size:0}.brand>div{min-inline-size:0}.brand-school{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.topbar-end{margin-inline-start:auto}.content{padding-block-end:calc(var(--tabbar-h) + 1.5rem + env(safe-area-inset-bottom))}.tabbar{z-index:20;background:var(--surface);border-block-start:1px solid var(--line);padding-block-end:env(safe-area-inset-bottom);padding-inline:env(safe-area-inset-left) env(safe-area-inset-right);display:flex;position:fixed;inset-block-end:0;inset-inline:0}.tab{min-inline-size:0;min-block-size:var(--tabbar-h);font:inherit;color:var(--ink-3);cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:11px;line-height:1.2;text-decoration:none;display:flex;position:relative}.tab span{text-overflow:ellipsis;white-space:nowrap;max-inline-size:100%;padding-inline:2px;overflow:hidden}.tab.active{color:var(--ink);font-weight:600}.tab.active:before{content:"";background:var(--signal);border-radius:0 0 3px 3px;block-size:3px;position:absolute;inset-block-start:0;inset-inline:22%}.more-sheet{z-index:19;display:block;position:fixed;inset:0}.more-backdrop{background:#0f172673;border:0;position:absolute;inset:0}.more-panel{background:var(--surface);border-radius:var(--r-3) var(--r-3) 0 0;flex-direction:column;padding:.5rem;animation:.18s ease-out sheet-up;display:flex;position:absolute;inset-block-end:calc(var(--tabbar-h) + env(safe-area-inset-bottom));inset-inline:0}.more-item{border-radius:var(--r-2);min-block-size:52px;font:inherit;color:var(--ink);text-align:start;cursor:pointer;background:0 0;border:0;align-items:center;gap:.9rem;padding-inline:1rem;text-decoration:none;display:flex}.more-item.active{background:var(--signal-wash);font-weight:600}@keyframes sheet-up{0%{opacity:0;transform:translateY(16px)}}.toaster{inset-block-end:calc(var(--tabbar-h) + 1rem + env(safe-area-inset-bottom))}}@media (width<=760px){.content{padding:1rem max(1rem, env(safe-area-inset-left)) calc(var(--tabbar-h) + 1.5rem + env(safe-area-inset-bottom))}h1{font-size:var(--fs-4)}.modal-head h2{margin:0}input,select,textarea,textarea.mono{font-size:16px}body{-webkit-tap-highlight-color:transparent}.btn,.btn-small,.btn-quiet,.lang-switch,.chips button,.segmented button,.more summary{min-block-size:44px}.more summary{block-size:44px;inline-size:44px}.lang-switch{padding-inline:.7rem}.btn-small{font-size:var(--fs-2);padding-inline:.9rem}.check,.checks label{align-items:center;min-block-size:44px}input[type=checkbox]{block-size:22px;inline-size:22px}.page-head{flex-direction:column;align-items:stretch}.page-head>.btn,.page-head>select,.head-actions>.btn{flex:1}.toolbar input[type=search]{max-inline-size:none}.modal,.modal-wide{border-radius:0;flex-direction:column;block-size:100dvh;max-block-size:100dvh;inline-size:100vw;max-inline-size:100vw;margin:0;display:flex}.modal[open]{animation:.18s ease-out sheet-up;display:flex}.modal-head{padding:calc(.75rem + env(safe-area-inset-top)) .75rem .5rem 1rem;border-block-end:1px solid var(--line)}.modal-head h2{font-size:var(--fs-3)}.modal-body{padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom));flex:1;overflow-y:auto}.modal-actions{background:var(--surface);padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom));border-block-start:1px solid var(--line);margin-inline:-1rem;position:sticky;inset-block-end:calc(-1rem - env(safe-area-inset-bottom))}.modal-actions .btn{flex:1}.person-grid{grid-template-columns:repeat(2,1fr)}.table-wrap:has(.table-cards){background:0 0;border:0;overflow:visible}.table-cards,.table-cards tbody{display:block}.table-cards thead{display:none}.table-cards tr{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-2);grid-template-columns:1fr 1fr;gap:.5rem 1rem;margin-block-end:.6rem;padding:.85rem 1rem;display:grid}.table-cards td{font-size:var(--fs-2);overflow-wrap:anywhere;border:0;min-inline-size:0;padding:0;display:block}.table-cards td[data-label]:empty{display:none}.table-cards td[data-label]:before{content:attr(data-label);font-size:var(--fs-1);color:var(--ink-3);display:block}.table-cards .cell-title,.table-cards .cell-ltr,.table-cards .cell-actions{grid-column:1/-1}.table-cards .cell-title{font-weight:600}.table-cards tr:has(.cell-person){position:relative}.table-cards .cell-person{align-items:center;min-block-size:44px;display:flex}.table-cards .cell-person:after{content:"";border-radius:var(--r-2);position:absolute;inset:0}.table-cards .cell-actions .btn{inline-size:100%}.table-dense.table-cards td{font-size:var(--fs-1)}.board-head{flex-direction:column;align-items:stretch}.board-actions{grid-template-columns:1fr 1fr;display:grid}.board-actions .btn-scan{display:none}.board-actions input[type=date]{inline-size:100%}.tally{font-size:var(--fs-1);gap:1rem}.tally b{font-size:var(--fs-3)}.gate{position:static}.gate-card{grid-template-columns:auto 1fr}.gate-card .btn{grid-column:1/-1}.chips{scroll-snap-type:x proximity;scrollbar-width:none;flex-wrap:nowrap;margin-inline:-1rem;padding-inline:1rem;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chips button{scroll-snap-align:start;flex:none}.row{padding:.8rem}.row-actions .btn{flex:1;min-block-size:48px}.fab{z-index:15;background:var(--signal);color:#1b2a4a;min-block-size:56px;font:inherit;cursor:pointer;border:2px solid #1b2a4a;border-radius:28px;align-items:center;gap:.5rem;padding-inline:1.25rem;font-weight:700;display:inline-flex;position:fixed;inset-block-end:calc(var(--tabbar-h) + 1rem + env(safe-area-inset-bottom));inset-inline-end:max(1rem, env(safe-area-inset-right));box-shadow:0 6px 18px #0f17264d}.scan-form{grid-template-columns:1fr 1fr;display:grid}.scan-form .field{grid-column:1/-1}.scan-kids li{grid-template-columns:auto 1fr}.scan-kids li .btn,.scan-kids li .badge{grid-column:1/-1;justify-self:stretch}.detail-head{grid-template-columns:auto 1fr;gap:1rem}.simple-list li>.btn{inline-size:100%}.kpis{grid-template-columns:1fr 1fr}.msg-head{gap:.25rem .75rem}.login{padding-block:calc(4rem + env(safe-area-inset-top)) 2rem;align-items:start}}@media (width<=370px){.tab span{font-size:10px}.person-grid{grid-template-columns:1fr}}@media (pointer:coarse){.btn,.btn-small,.btn-quiet,.chips button,.segmented button,.lang-switch,.cell-person{min-block-size:44px}.more summary{min-block-size:44px;min-inline-size:44px}.cell-person{align-items:center;display:inline-flex}.btn-small{padding-inline:.9rem}input,select,textarea,textarea.mono{font-size:16px}}.text-alert{color:var(--stop)}.section-head{justify-content:space-between;align-items:center;gap:1rem;margin-block-end:.5rem;display:flex}.section-head h2{margin:0}.stack-tight{flex-direction:column;gap:.1rem;min-inline-size:0;display:flex}.form-actions{justify-content:flex-end;gap:.75rem;display:flex}.login-logo,.brand-logo{object-fit:contain;background:#fff;border-radius:10px;block-size:48px;inline-size:48px}.brand-logo{block-size:36px;inline-size:36px}.login-foot{text-align:center;font-size:var(--fs-1);margin:1.25rem 0 0}.choice{justify-content:space-between;gap:1rem;min-block-size:52px}.sub-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem 1.5rem;margin:0 0 .75rem;display:grid}.sub-grid dt{font-size:var(--fs-1);color:var(--ink-3)}.sub-grid dd{margin:.15rem 0 0;font-weight:600}.logo-row{align-items:center;gap:1.25rem;display:flex}.logo-preview{border:1px dashed var(--line-2);background:#fff;border-radius:14px;flex:none;place-items:center;block-size:72px;inline-size:72px;display:grid;overflow:hidden}.logo-preview img{object-fit:contain;max-block-size:100%;max-inline-size:100%}.demobar{padding:calc(.45rem + env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) .45rem max(1rem, env(safe-area-inset-left));color:#1b2a4a;font-size:var(--fs-1);background:#f2a900;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;display:flex}.demobar-label{white-space:nowrap;font-weight:700}.demobar-roles{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}.demobar-viewas{margin-inline-end:.25rem}.demobar-roles button{font:inherit;color:#1b2a4a;cursor:pointer;background:0 0;border:1.5px solid #1b2a4a;border-radius:999px;min-block-size:32px;padding:0 .75rem;font-weight:600}.demobar-roles button[aria-pressed=true]{color:#fff;background:#1b2a4a}.demobar-ends{opacity:.85}.demobar-cta{color:#1b2a4a;margin-inline-start:auto;font-weight:700}.shell.is-demo .topbar{padding-block-start:.5rem}@media (pointer:coarse){.demobar-roles button{min-block-size:44px}}@media (width<=760px){.demobar{scrollbar-width:none;flex-wrap:nowrap;gap:.5rem;overflow-x:auto}.demobar-roles{flex-wrap:nowrap}.demobar-viewas,.demobar-ends{display:none}.demobar-roles button{white-space:nowrap;min-block-size:40px;padding:0 .65rem}.demobar-cta{display:none}body:has(.fab) .toaster{inset-block-end:calc(var(--tabbar-h) + 5.5rem + env(safe-area-inset-bottom))}}.topbar{background:var(--brand,#1b2a4a);color:var(--on-brand,#f3f5f8)}.topbar .mainnav a:not(.active),.topbar .btn-quiet{color:var(--on-brand-2,#c9d1df)}.topbar .account-link,.topbar .brand,.topbar .lang-switch{color:var(--on-brand,#f3f5f8)}.topbar .lang-switch{border-color:color-mix(in srgb, var(--on-brand,#fff) 35%, transparent)}.login-card{border-block-start-color:var(--brand-stripe,var(--signal))}.pass-school{justify-content:center;align-items:center;gap:.5rem;margin-block-end:.5rem;font-weight:600;display:flex}.pass-school img{object-fit:contain;border-radius:6px;block-size:32px;inline-size:32px}.sw{background:var(--paper);flex-direction:column;min-height:100vh;display:flex}.sw main{flex:1}.sw-row{max-inline-size:760px;padding-inline:max(1.25rem, env(safe-area-inset-left));margin-inline:auto}.sw-top{background:var(--brand,#1b2a4a);color:var(--on-brand,#f3f5f8);padding-block-start:env(safe-area-inset-top)}.sw-top .sw-row{align-items:center;gap:.75rem;min-block-size:64px;max-inline-size:1040px;display:flex}.sw-brand{align-items:center;gap:.6rem;min-inline-size:0;margin-inline-end:auto;font-weight:700;display:flex}.sw-brand span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sw-brand img{object-fit:contain;background:#fff;border-radius:8px;flex:none;block-size:40px;inline-size:40px}.sw-brand .mark{flex:none;block-size:32px;inline-size:32px}.sw-top .lang-switch{color:var(--on-brand,#f3f5f8);border-color:color-mix(in srgb, var(--on-brand,#fff) 35%, transparent);background:0 0}.sw-signin{color:var(--on-brand,#fff);white-space:nowrap;align-items:center;min-block-size:44px;font-weight:600;display:inline-flex}.sw-hero{background:var(--surface);border-block-end:6px solid var(--brand-stripe,var(--signal))}.sw-hero-inner{text-align:center;flex-direction:column;align-items:center;padding-block:clamp(2.5rem,7vw,4.5rem);display:flex}.sw-hero-logo{object-fit:contain;background:#fff;border-radius:20px;block-size:112px;inline-size:112px;margin-block-end:1.25rem;box-shadow:0 4px 18px #0f17261f}.sw-hero h1{margin:0 0 1rem;font-size:clamp(1.75rem,4.5vw,2.6rem);line-height:1.2}.sw-message{color:var(--ink-2);white-space:pre-line;max-inline-size:56ch;margin:0 0 1.75rem;font-size:1.125rem;line-height:1.65}.sw-cta{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.sw-btn{min-block-size:48px;min-inline-size:180px}.sw-section{padding-block:clamp(2rem,6vw,3.5rem)}.sw-section+.sw-section{border-block-start:1px solid var(--line)}.sw-section h2{margin:0 0 1rem}.sw-steps{counter-reset:step;gap:1rem;margin:0 0 1.25rem;padding:0;list-style:none;display:grid}.sw-steps li{counter-increment:step;grid-template-columns:2.25rem 1fr;gap:.75rem;line-height:1.55;display:grid}.sw-steps li:before{content:counter(step);background:var(--brand,#1b2a4a);block-size:2.25rem;inline-size:2.25rem;color:var(--on-brand,#fff);border-radius:50%;place-items:center;font-weight:700;display:grid}.sw-note{color:var(--ink-2);margin:0;line-height:1.6}.sw-install{grid-template-columns:1fr 1fr;gap:1rem;margin:1.25rem 0 0;display:grid}.sw-install div{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-2);padding:1rem}.sw-install dt{margin-block-end:.35rem;font-weight:700}.sw-install dd{color:var(--ink-2);margin:0;line-height:1.55}.sw-footer{padding-block:1.5rem calc(1.5rem + env(safe-area-inset-bottom));text-align:center;font-size:var(--fs-1);color:var(--ink-3)}.sw-footer a{color:inherit}@media (width<=600px){.sw-install{grid-template-columns:1fr}.sw-btn{flex:100%}}.color-row{align-items:center;gap:.75rem;display:flex}.color-row input[type=color]{border-radius:var(--r-1);block-size:44px;inline-size:56px;padding:2px}
