@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;overflow:visible}.brand-word{unicode-bidi:isolate}.brand-out{color:#f2a900}.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}.login{isolation:isolate;background:linear-gradient(160deg,#e6effa 0%,#f3f7fc 48%,#fcf3e2 100%);overflow:hidden}.login-lang{z-index:3;color:#1b2a4a;inset-block-start:max(1.25rem, env(safe-area-inset-top));inset-inline-end:max(1.25rem, env(safe-area-inset-right))}.login-lang .lang-switch{color:#1b2a4a;background:#ffffffd9;border:1.5px solid #c9d2e0;border-radius:12px;min-block-size:46px;padding-inline:1rem;font-weight:600;box-shadow:0 2px 8px #1b2a4a0f}.lang-globe{align-items:center;gap:.5rem;display:inline-flex}.login .login-card{z-index:2;border-block-start-width:10px;border-radius:28px;position:relative;box-shadow:0 30px 60px -28px #1b2a4a59,0 2px 6px #1b2a4a0d}.login-v2 .login-card{inline-size:min(560px,100%);padding:clamp(1.75rem,4vw,2.6rem) clamp(1.25rem,5vw,3.25rem) clamp(1.5rem,3vw,2rem)}.login-brand-center{justify-content:center;gap:.6rem;margin-block-end:.4rem}.login-v2 .login-brand .mark,.login-v2 .login-logo{block-size:68px;inline-size:68px}.login-v2 .login-brand h1{letter-spacing:-.02em;font-size:clamp(1.8rem,4.5vw,2.6rem);line-height:1.1}.login-v2 .login-tagline{text-align:center;color:#5b6680;max-inline-size:30ch;margin:0 auto 1.4rem;font-size:1.05rem}.login-v2 .login-lede{text-align:center;color:#14213d;margin-block-end:1.4rem;font-size:1.12rem;font-weight:500}.login-tabs{background:#eef1f6;border-radius:14px;grid-template-columns:1fr 1fr;margin-block-end:1.25rem;padding:4px;display:grid}.login-tabs button{color:#24324f;border:2px solid #0000;border-radius:11px;justify-content:center;align-items:center;gap:.55rem;min-block-size:52px;font-size:1.05rem;font-weight:600;display:inline-flex}.login-tabs button[aria-selected=true]{color:#14213d;background:#fff8e4;border-color:#f2b92e;box-shadow:0 1px 3px #1b2a4a14}.phone-field{background:#fff;border:1.5px solid #d3dae6;border-radius:12px;align-items:center;gap:.5rem;min-block-size:54px;padding-inline:.75rem .25rem;display:flex}.phone-field:focus-within{border-color:var(--go);box-shadow:0 0 0 3px var(--go-wash)}.phone-country{align-items:center;gap:.35rem;min-block-size:44px;padding-inline-end:.25rem;display:inline-flex;position:relative}.phone-flag{font-size:1.5rem;line-height:1}.phone-caret{border:5px solid #0000;border-block-start-color:#24324f;margin-block-start:5px}.phone-country select{opacity:0;cursor:pointer;font-size:16px;position:absolute;inset:0}.phone-code{color:#14213d;font-variant-numeric:tabular-nums;font-size:1.1rem}.phone-field input{min-inline-size:0;box-shadow:none;letter-spacing:.02em;background:0 0;border:0;outline:0;flex:1;padding-inline:.25rem;font-size:1.1rem}.login-v2 .field label,.login-v2 .field>span:first-child{font-weight:600}.login-submit{background:#11284d;border-radius:12px;gap:.6rem;min-block-size:58px;font-size:1.2rem}.login-arrow{display:inline-flex}[dir=rtl] .login-arrow{transform:scaleX(-1)}.login-or{color:#6b778c;align-items:center;gap:1rem;margin:1.4rem 0 1.1rem;font-size:.95rem;display:flex}.login-or:before,.login-or:after{content:"";background:#e1e6ee;flex:1;block-size:1px}.login-qr-btn{color:#14213d;background:#f7f9fc;border:1.5px solid #d3dae6;border-radius:12px;gap:.6rem;min-block-size:54px;font-size:1.05rem;font-weight:600}.login-qr-btn .icon{color:#2e5bba}.login-v2 .login-foot{color:#2e5bba;justify-content:center;align-items:center;gap:.45rem;margin-block-start:1.5rem;font-size:1.02rem;display:flex}.login-v2 .login-foot a{color:#2e5bba;font-weight:500}.login-qr{text-align:center;flex-direction:column;align-items:center;gap:.75rem;display:flex}.login-qr h2{margin:0}.login-qr-code{aspect-ratio:1;background:#fff;border:1.5px solid #d3dae6;border-radius:18px;place-items:center;inline-size:min(240px,70vw);padding:10px;display:grid}.login-qr-code img{block-size:100%;inline-size:100%}.login-qr-code.is-expired img{opacity:.15}.qr-device,.qr-done{justify-content:center;align-items:center;gap:.5rem;margin:0;font-weight:600;display:flex}.qr-done{color:var(--ok);margin-block-end:1rem}.login-points{display:none}@media (width>=1200px){.login-points{z-index:2;gap:1.6rem;inline-size:300px;margin:0;padding:0;list-style:none;display:grid;position:absolute;inset-block-start:32%;inset-inline-end:max(3rem,50vw - 640px)}.login-points li{color:#14213d;align-items:center;gap:1rem;font-size:1.15rem;font-weight:500;line-height:1.3;display:flex}.login-points li>span{color:#1d3a7a;background:#fff;border-radius:50%;flex:none;place-items:center;block-size:80px;inline-size:80px;display:grid;box-shadow:0 6px 18px -8px #1b2a4a40}.login-points li:nth-child(2)>span{color:#e3a400}}.ls{z-index:0;pointer-events:none;position:absolute;inset:0}[dir=rtl] .ls svg{transform:scaleX(-1)}.ls-branches{inline-size:clamp(180px,24vw,380px);position:absolute;inset-block-start:-10px;inset-inline-start:-10px}.ls-school{-webkit-mask-composite:source-in;inline-size:clamp(300px,31vw,520px);position:absolute;inset-block-end:0;inset-inline-start:0;-webkit-mask-image:linear-gradient(90deg,#000 72%,#0000),linear-gradient(#0000,#000 12%);mask-image:linear-gradient(90deg,#000 72%,#0000),linear-gradient(#0000,#000 12%);-webkit-mask-composite:source-in;mask-composite:intersect}.ls-waves{block-size:28vh;inline-size:100%;position:absolute;inset-block-end:0;inset-inline:0}@media (width<=1100px){.ls-school{display:none}}@media (width<=760px){.login{padding-block-start:calc(5rem + env(safe-area-inset-top))}.ls-branches{opacity:.85;inline-size:150px}.login-v2 .login-brand .mark,.login-v2 .login-logo{block-size:52px;inline-size:52px}}[dir=rtl] .icon.rtl-flip{transform:scaleX(-1)}.shell .topbar{padding-block:.45rem}.shell .mainnav{gap:.35rem;margin-inline-start:1rem}.shell .mainnav a{border-radius:12px;flex-direction:column;justify-content:center;gap:.2rem;min-block-size:58px;padding:.35rem .95rem;font-size:.875rem;line-height:1.1}.shell .mainnav a.active{color:#14213d;font-weight:600;box-shadow:0 6px 14px -8px #00000080}.usermenu{position:relative}.usermenu-btn{font:inherit;font-size:var(--fs-1);min-block-size:44px;color:var(--on-brand,#f3f5f8);cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:.5rem;padding:.25rem .55rem .25rem .3rem;display:inline-flex}[dir=rtl] .usermenu-btn{padding:.25rem .3rem .25rem .55rem}.usermenu-btn:hover,.usermenu-btn[aria-expanded=true]{background:color-mix(in srgb, var(--on-brand,#fff) 12%, transparent)}.usermenu-btn:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.usermenu-avatar{color:#1b2a4a;background:#fff;border-radius:50%;flex:none;place-items:center;block-size:32px;inline-size:32px;display:grid}.usermenu-name{text-overflow:ellipsis;white-space:nowrap;max-inline-size:16ch;font-weight:500;overflow:hidden}.usermenu-list{z-index:40;background:var(--surface);min-inline-size:200px;color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:.35rem;display:grid;position:absolute;inset-block-start:calc(100% + 8px);inset-inline-end:0;box-shadow:0 16px 34px -14px #0f172a59}.usermenu-list a,.usermenu-list button{font:inherit;min-block-size:44px;color:var(--ink);text-align:start;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:.6rem;padding:.4rem .75rem;text-decoration:none;display:flex}.usermenu-list a:hover,.usermenu-list button:hover,.usermenu-list a:focus-visible,.usermenu-list button:focus-visible{background:var(--muted-wash);outline:none}@media (width<=1024px){.usermenu{display:none}}.guardian.pp{max-inline-size:960px;margin-inline:auto}.pp-head{align-items:flex-start;gap:1rem;margin-block-end:1.5rem;display:flex}.pp-head>div{flex:1;min-inline-size:0}.pp-head h1{margin:0;font-size:clamp(1.6rem,3vw,2.1rem);font-weight:700;line-height:1.15}.pp-head p{margin:.35rem 0 0}.pp-head-icon{color:var(--ink);flex:none;padding-block-start:.15rem}.pp-head>.btn{align-self:center}.pp-head-today{align-items:flex-end;margin-block-end:0}.pp-head-today>.pp-head-icon,.pp-head-today>div{align-self:flex-start;padding-block-end:1.25rem}.pp-school{z-index:0;flex:none;block-size:auto;inline-size:190px;margin-block-end:-6px;position:relative}.pp h2{margin:0}.pp-h2{font-size:var(--fs-3);margin-block:2rem .75rem!important}.pp-btn{border-width:1.5px;border-radius:10px;gap:.45rem;font-weight:600}.pp-btn-danger{color:var(--stop);border-color:color-mix(in srgb, var(--stop) 45%, var(--line-2))}.pp-btn-danger:hover{border-color:var(--stop);background:var(--stop-wash)}.pp-btn-amber{background:var(--signal);color:#14213d;border:0;border-radius:12px;gap:.55rem;min-block-size:50px;padding:.65rem 1.35rem;font-size:1.05rem;font-weight:700;box-shadow:0 8px 18px -12px #c98a00e6}.pp-btn-amber:hover:not(:disabled){background:#ffb81f}.pp-btn-amber:disabled{opacity:.55}.pp-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:1.25rem 1.5rem;box-shadow:0 3px 10px -6px #1b2a4a2e}.pp-chips{flex-wrap:wrap;align-items:center;gap:.4rem .6rem;display:flex}.pp-chip{background:var(--muted-wash);color:var(--ink);white-space:nowrap;border-radius:8px;align-items:center;gap:.3rem;padding:.15rem .6rem;font-size:.875rem;font-weight:500;display:inline-flex}.pp-chip.is-change{background:var(--signal-wash);color:#7a5600}.pp .badge.has-icon{gap:.4rem;padding:.35rem .85rem .35rem .6rem;font-size:.95rem}[dir=rtl] .pp .badge.has-icon{padding:.35rem .6rem .35rem .85rem}.badge.has-icon:before{display:none}.pp-arrive{z-index:1;font:inherit;background:linear-gradient(100deg, #f7b500, var(--signal) 55%, #f5ae00);color:#14213d;text-align:start;cursor:pointer;border:0;border-radius:16px;align-items:center;gap:1.1rem;min-block-size:100px;inline-size:100%;margin-block-end:1rem;padding:1rem 1.25rem 1rem 1.6rem;transition:transform .12s,box-shadow .12s;display:flex;position:relative;box-shadow:0 14px 28px -16px #c98a00f2}[dir=rtl] .pp-arrive{padding:1rem 1.6rem 1rem 1.25rem}.pp-arrive:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 18px 30px -16px #c98a00}.pp-arrive:active{transform:scale(.99)}.pp-arrive:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.pp-arrive:disabled{opacity:.6;cursor:progress}.pp-arrive>.icon{flex:none}.pp-arrive-text{flex-direction:column;flex:1;gap:.2rem;min-inline-size:0;display:flex}.pp-arrive-title{font-size:clamp(1.8rem,4vw,2.4rem);font-weight:800;line-height:1.05}.pp-arrive-sub{font-size:1.05rem}.pp-arrive-go{color:#14213d;background:#fff;border-radius:50%;flex:none;place-items:center;block-size:54px;inline-size:54px;display:grid}.pp-kids{gap:.75rem;margin:1rem 0 1.5rem;padding:0;list-style:none;display:grid}.pp-kid{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 3px 10px -7px #1b2a4a33}.pp-kid-row{font:inherit;color:inherit;text-align:start;cursor:pointer;background:0 0;border:0;border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:1rem;inline-size:100%;padding:.8rem 1.1rem;display:grid}.pp-kid-row:hover{background:color-mix(in srgb, var(--muted-wash) 45%, transparent)}.pp-kid-row:focus-visible{box-shadow:var(--focus);outline:none}.pp-kid-main{flex-direction:column;gap:.4rem;min-inline-size:0;display:flex}.pp-kid-main strong{font-size:1.3rem;font-weight:700;line-height:1.2}.pp-mode{color:var(--ink);white-space:nowrap;align-items:center;gap:.3rem;font-size:.95rem;display:inline-flex}.pp-mode.is-independent{color:var(--go);font-weight:500}.pp-kid-chev{color:var(--ink-3);transition:transform .15s}.pp-kid.is-open .pp-kid-chev{transform:rotate(90deg)}[dir=rtl] .pp-kid.is-open .pp-kid-chev{transform:scaleX(-1)rotate(90deg)}.pp-kid-more{padding:0 1.1rem 1rem;padding-inline-start:calc(2.1rem + 64px)}.pp-kid-more .muted{margin:0}.pp-confirm{margin:0 1.1rem 1rem;margin-inline-start:calc(2.1rem + 64px)}.pp-pass{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.6rem 1rem;display:grid}.pp-pass h2{font-size:1.15rem}.pp-pass p{margin:.2rem 0 0}.pp-tile{background:var(--go-wash);block-size:52px;inline-size:52px;color:var(--go);border-radius:14px;place-items:center;display:grid}.pp-pass-code{grid-column:1/-1;padding-block-start:.75rem}.pp-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.25rem 1rem;margin:1rem 0 0;display:flex}.pp-link{min-block-size:44px;color:var(--go);align-items:center;gap:.45rem;font-weight:600;text-decoration:none;display:inline-flex}.pp-link:hover{text-decoration:underline}.pp-people{gap:1rem;margin:0;padding:0;list-style:none;display:grid}.pp-person{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1.1rem;display:grid}.pp-person .photo{font-weight:600;font-size:1.5rem!important}.pp-person.tint-0 .photo{color:#2560c9;background:#e3edfc}.pp-person.tint-1 .photo{color:#7a3fc4;background:#efe7fb}.pp-person.tint-2 .photo{color:#1f7a4d;background:#e2f4ea}.pp-person.tint-3 .photo{color:#a46700;background:#fdf0d8}.pp-person-main{flex-direction:column;gap:.35rem;min-inline-size:0;display:flex}.pp-person-main strong{font-size:1.2rem;font-weight:700}.pp-you{color:var(--ink-2);font-weight:400}.pp-relation{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.pp-rel{display:inline-block}.pp-rel:first-letter{text-transform:uppercase}.pp-emergency{background:var(--stop-wash);color:var(--stop);border-radius:8px;padding:.1rem .6rem;font-size:.875rem;font-weight:500}.pp-warn{color:#9a5b00;font-size:.875rem}.pp-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.pp-actions .btn-small{min-block-size:40px;padding-inline:.8rem;font-size:.9rem}.pp-change-grid{grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:1.25rem;display:grid}.pp-form{flex-direction:column;gap:1.1rem;display:flex}.pp-form .field-label,.pp-checks legend{color:var(--ink);font-size:.9rem;font-weight:600}.pp-checks{border:0;flex-wrap:wrap;gap:.5rem 1.75rem;margin:0;padding:0;display:flex}.pp-checks legend{margin-block-end:.5rem;padding:0}.pp-checks label{cursor:pointer;align-items:center;gap:.6rem;min-block-size:40px;font-weight:500;display:inline-flex}.pp-checks input[type=checkbox]{appearance:none;border:2px solid var(--line-2);background:var(--surface);cursor:pointer;border-radius:6px;place-items:center;block-size:24px;min-block-size:24px;inline-size:24px;padding:0;display:grid}.pp-checks input[type=checkbox]:checked{background:var(--signal);border-color:var(--signal)}.pp-checks input[type=checkbox]:checked:after{content:"";border:2.5px solid #14213d;border-width:0 2.5px 2.5px 0;block-size:11px;inline-size:6px;transform:translateY(-1px)rotate(45deg)}.pp-checks input[type=checkbox]:focus-visible{box-shadow:var(--focus)}.pp-input{display:block;position:relative}.pp-input>.icon{z-index:1;color:var(--ink-2);pointer-events:none;position:absolute;inset-block-start:50%;inset-inline-start:.8rem;transform:translateY(-50%)}.pp-input>input,.pp-input>select{border-radius:10px;min-block-size:48px;padding-inline-start:2.6rem}.pp-input>select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2344526e' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right .85rem center;background-repeat:no-repeat;padding-inline-end:2.4rem}[dir=rtl] .pp-input>select{background-position:.85rem}.pp-input>input[type=date]{position:relative}.pp-input>input[type=date]::-webkit-calendar-picker-indicator{opacity:0;cursor:pointer;block-size:auto;inline-size:auto;position:absolute;inset:0}.pp-form-actions{flex-wrap:wrap;gap:.75rem;display:flex}.pp-form-actions .pp-btn{min-block-size:50px;padding-inline:1.5rem}.pp-important{color:#1b2a4a;background:linear-gradient(170deg,#eef4ff,#e6eefc);border-radius:16px;padding:1.25rem 1.25rem 1rem;overflow:hidden}.pp-important h2{align-items:center;gap:.5rem;font-size:1.05rem;font-weight:700;display:flex}.pp-important h2 .icon{color:#2560c9}.pp-important ul{gap:.6rem;margin:.75rem 0 0;padding-inline-start:1.1rem;line-height:1.45;display:grid}.pp-important-art{inline-size:110px;margin:1rem auto 0;display:block}.pp-upcoming{padding-block:.25rem}.pp-upcoming li:last-child{border-block-end:0}.pp-table{border-radius:16px;box-shadow:0 3px 10px -7px #1b2a4a33}.pp-table .table{font-size:.95rem}.pp-table .table th{color:var(--ink-2);padding-block:.85rem;font-size:.95rem}.pp-table .table td{padding-block:.75rem}.pp-date{vertical-align:middle;white-space:nowrap;align-items:center;gap:.6rem;font-weight:500;display:inline-flex}.pp-date .icon{color:var(--ink-2)}.pp-strong{font-weight:600}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .pp-important{background:var(--go-wash);color:var(--ink)}:root:not([data-theme=light]) .pp-chip.is-change,:root:not([data-theme=light]) .pp-warn{color:var(--signal)}}@media (width<=860px){.pp-change-grid{grid-template-columns:1fr}.pp-important-art{display:none}.pp-person{grid-template-columns:auto minmax(0,1fr)}.pp-actions{grid-column:1/-1;justify-content:flex-start}}@media (width<=640px){.pp-school{display:none}.pp-head-today{margin-block-end:1rem}.pp-head-today>.pp-head-icon,.pp-head-today>div{padding-block-end:0}.pp-head{flex-wrap:wrap}.pp-head>.btn{inline-size:100%}.pp-head-icon .icon{block-size:26px;inline-size:26px}.pp-arrive{gap:.8rem;padding-inline:1rem}.pp-arrive>.icon{block-size:32px;inline-size:32px}.pp-arrive-go{block-size:44px;inline-size:44px}.pp-kid-row{grid-template-columns:auto minmax(0,1fr) auto;gap:.4rem .8rem;padding:.8rem}.pp-kid-row .photo{grid-row:span 2;block-size:52px!important;inline-size:52px!important}.pp-kid-row .badge{grid-column:2;justify-self:start}.pp-kid-chev{grid-area:1/3/span 2}.pp-kid-main strong{font-size:1.15rem}.pp-kid-more,.pp-confirm{margin-inline:.8rem;padding-inline:0}.pp-confirm{inline-size:calc(100% - 1.6rem)}.pp-pass{grid-template-columns:auto minmax(0,1fr)}.pp-pass>.btn{grid-column:1/-1}.pp-card{padding:1rem}.pp-person{align-items:start}.pp-person .photo{block-size:52px!important;inline-size:52px!important}.pp-table .table-cards td.pp-none{display:none}}.shell.role-staff,.shell.role-admin{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cpath d='M0 80 C 260 40, 520 110, 820 70 S 1250 20, 1440 50 V120 H0z' fill='%23E4EDFA' fill-opacity='.7'/%3E%3Cpath d='M0 120 C 160 70, 360 70, 560 95 S 820 120, 900 120z' fill='%23FBE6B8' fill-opacity='.55'/%3E%3Cpath d='M900 120 C 1080 70, 1260 60, 1440 80 V120z' fill='%23FBE6B8' fill-opacity='.6'/%3E%3C/svg%3E") bottom / 100% 110px no-repeat fixed, var(--paper);min-block-size:100dvh}@media (width<=1024px),(prefers-color-scheme:dark){.shell.role-staff,.shell.role-admin{background:var(--paper)}}.content:has(>.sp){padding-block-end:8rem}.sp{max-inline-size:1040px;margin-inline:auto}.board.sp{max-inline-size:none}.sp-head{flex-wrap:wrap;align-items:center;gap:.75rem 1.1rem;margin-block-end:1.5rem;display:flex}.sp-head>div:not(.sp-head-end){flex:12rem;min-inline-size:0}.sp-head h1{margin:0;font-size:clamp(1.7rem,3vw,2.1rem);font-weight:700;line-height:1.1}.sp-head-sub{color:var(--ink);margin:.3rem 0 0;font-size:1.1rem;font-weight:600}.sp-head-sub.muted{color:var(--ink-2);font-weight:400}.sp-head-icon{color:var(--ink);flex:none}.sp-head-end{flex-wrap:wrap;align-items:center;gap:.75rem;margin-inline-start:auto;display:flex}.sp-live{border:1px solid var(--line);background:var(--surface);border-radius:12px;align-items:center;gap:.4rem;min-block-size:44px;padding:.4rem 1rem;font-size:.95rem;display:inline-flex;box-shadow:0 3px 10px -7px #1b2a4a40}.sp-live-dot{background:var(--signal);border-radius:50%;block-size:10px;inline-size:10px}.sp-live.on .sp-live-dot{background:#22a45d;box-shadow:0 0 0 4px #22a45d2e}.sp-date{border-radius:12px;min-block-size:44px;inline-size:auto}.sp-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2344526e' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right .9rem center;background-repeat:no-repeat;border-radius:12px;min-block-size:48px;inline-size:auto;padding-inline:1rem 2.6rem;font-weight:600}[dir=rtl] .sp-select{background-position:.9rem}.sp-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin-block-end:1.75rem;display:grid}.sp-stats-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sp-stat{border:1px solid var(--line);background:var(--surface);border-radius:16px;align-items:center;gap:1rem;min-inline-size:0;padding:1.1rem 1.25rem;font-size:1.05rem;display:flex;box-shadow:0 4px 14px -9px #1b2a4a4d}.sp-stat>span:last-child{min-inline-size:0}.sp-stat b{font-size:2rem;font-weight:800;line-height:1.05;display:block}.sp-stat small{color:var(--ink-3);font-size:.85rem;display:block}.sp-stat-icon{border-radius:50%;flex:none;place-items:center;block-size:58px;inline-size:58px;display:grid}.sp-stat-icon.is-blue,.sp-stat-icon.is-walk{background:var(--go-wash);color:var(--go)}.sp-stat-icon.is-green{background:var(--ok-wash);color:#1f9d55}.sp-stat-icon.is-green .icon{stroke-width:3px}.sp-stat-icon.is-red{background:var(--stop-wash);color:var(--stop)}.sp-stat.is-alert{border-color:color-mix(in srgb, var(--stop) 45%, var(--line))}.sp-main-actions{gap:.9rem;max-inline-size:640px;margin:0 auto 2rem;display:grid}.sp-scan{font:inherit;background:var(--signal);color:#14213d;cursor:pointer;border:0;border-radius:22px;justify-content:center;align-items:center;gap:.8rem;min-block-size:76px;padding:.75rem 1.5rem;font-size:clamp(1.3rem,2.4vw,1.65rem);font-weight:800;transition:transform .12s,background .12s;display:inline-flex;box-shadow:0 14px 28px -16px #c98a00f2}.sp-scan:hover:not(:disabled){background:#ffb81f;transform:translateY(-1px)}.sp-scan:focus-visible,.sp-close:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.sp-scan:disabled,.sp-close:disabled{opacity:.6;cursor:progress}.sp-close{font:inherit;border:1.5px solid var(--line-2);background:var(--surface);min-block-size:54px;color:var(--ink);cursor:pointer;border-radius:18px;font-size:1.2rem;font-weight:700}.sp-close:hover:not(:disabled){border-color:var(--ink-3)}.board.sp .gate,.board.sp .roster-list,.board.sp .alerts{border-radius:16px}.sp-toolbar{flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;margin-block-end:1rem;display:flex}.sp-search{flex:320px;position:relative}.sp-search .icon{z-index:1;color:var(--ink-2);pointer-events:none;position:absolute;inset-block-start:50%;inset-inline-start:1rem;transform:translateY(-50%)}.sp-search input{border-radius:12px;min-block-size:52px;padding-inline-start:3rem;font-size:1.05rem}.sp-list,.sp-msgs{border:1px solid var(--line);background:var(--surface);border-radius:16px;margin:0;padding:0;list-style:none;overflow:hidden;box-shadow:0 4px 14px -10px #1b2a4a4d}.sp-list>li+li,.sp-msgs>li+li{border-block-start:1px solid var(--line)}.sp-student{min-block-size:72px;color:var(--ink);grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:1rem;padding:.65rem 1.25rem;text-decoration:none;display:grid}.sp-student:hover{background:color-mix(in srgb, var(--muted-wash) 55%, transparent)}.sp-student:focus-visible{box-shadow:inset var(--focus);outline:none}.is-inactive .sp-student{opacity:.6}.sp-student-name{flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;min-inline-size:0;display:flex}.sp-student-name strong{font-size:1.15rem;font-weight:700}.sp-id{color:var(--ink-2);font-size:.9rem}.sp-warn-chip{background:var(--stop-wash);color:var(--stop);border-radius:8px;padding:.05rem .55rem;font-size:.8rem;font-weight:500}.sp-pills{align-items:center;gap:.75rem;display:flex}.sp-pill{background:var(--muted-wash);color:var(--ink);white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;padding:.35rem 1rem;font-size:.95rem;display:inline-flex}.sp-pill.is-grade{min-inline-size:5.5rem;font-weight:700}.sp-pill.is-pickup{min-inline-size:8.5rem}.sp-pill.is-independent{background:var(--go-wash);min-inline-size:8.5rem;color:var(--go);font-weight:500}.sp-chev{color:var(--ink-2)}.sp-msg{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.25rem 1.1rem;padding:1rem 1.25rem;display:grid}.sp-msg-icon{border-radius:50%;place-items:center;block-size:52px;inline-size:52px;display:grid}.sp-msg.is-sent .sp-msg-icon{background:var(--ok-wash);color:#1f9d55}.sp-msg.is-sent .sp-msg-icon .icon{stroke-width:3px}.sp-msg.is-failed .sp-msg-icon{background:var(--stop-wash);color:var(--stop)}.sp-msg.is-queued .sp-msg-icon{background:var(--signal-wash);color:#a46700}.sp-msg-main{flex-direction:column;align-items:flex-start;gap:.2rem;min-inline-size:0;display:flex}.sp-msg-main strong{flex-wrap:wrap;align-items:center;gap:.3rem .6rem;font-size:1.15rem;font-weight:700;display:flex}.sp-msg-kind{background:var(--muted-wash);color:var(--ink-2);border-radius:8px;padding:.05rem .55rem;font-size:.8rem;font-weight:500}.sp-msg-to{color:var(--ink-2)}.sp-msg-body{overflow-wrap:anywhere;max-inline-size:100%;color:var(--ink-3);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:.2rem 0;font-size:.9rem;display:-webkit-box;overflow:hidden}.sp-msg-when{color:var(--ink-2);white-space:nowrap;padding-block-start:.2rem;font-size:.95rem}.sp-chart{margin-block-end:.5rem;position:relative}.sp-chart>header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem 1rem;margin-block-end:1rem;display:flex}.sp-chart h2{margin:0;font-size:1.1rem}.sp-bars{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:clamp(.35rem,2vw,1.5rem);padding-inline:.5rem;display:grid}.sp-bar{cursor:default;outline:none;flex-direction:column;display:flex;position:relative}.sp-bar-plot{border-block-end:1px solid var(--line-2);justify-content:center;align-items:flex-end;block-size:200px;display:flex}.sp-bar-fill{background:#6f9ce8;border-radius:4px 4px 0 0;min-block-size:2px;inline-size:100%;max-inline-size:84px;transition:filter .12s}.sp-bar.is-latest .sp-bar-fill{background:#1f5fd6}.sp-bar:hover .sp-bar-fill,.sp-bar:focus-visible .sp-bar-fill{filter:brightness(.88)}.sp-bar:focus-visible .sp-bar-plot{box-shadow:var(--focus);border-radius:4px}.sp-bar-label{text-align:center;color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;margin-block-start:.5rem;font-size:.85rem;overflow:hidden}.sp-tip{z-index:5;inset-block-end:calc(100% - 1.5rem);color:#fff;pointer-events:none;background:#14213d;border-radius:8px;inline-size:max-content;max-inline-size:220px;padding:.5rem .7rem;font-size:.8rem;line-height:1.4;display:none;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 10px 22px -10px #00000080}.sp-tip b,.sp-bar:hover .sp-tip,.sp-bar:focus-visible .sp-tip{display:block}.sp-bar:nth-child(-n+2) .sp-tip{left:auto;inset-inline-start:0;transform:none}.sp-bar:nth-last-child(-n+2) .sp-tip{left:auto;inset-inline:auto 0;transform:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .sp-bar-fill{background:#3f6fc4}:root:not([data-theme=light]) .sp-bar.is-latest .sp-bar-fill{background:#8fb8ff}}@media (width<=900px){.sp-stats-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.sp-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.sp-stats-4{grid-template-columns:repeat(2,minmax(0,1fr))}.sp-stat{flex-direction:column;align-items:flex-start;gap:.5rem;padding:.8rem;font-size:.9rem}.sp-stat b{font-size:1.6rem}.sp-stat-icon{block-size:42px;inline-size:42px}.sp-stat-icon .icon{block-size:24px;inline-size:24px}.sp-head-icon .icon{block-size:32px;inline-size:32px}.sp-head-end{inline-size:100%;margin-inline-start:0}.sp-scan{min-block-size:64px}.sp-student{grid-template-columns:auto minmax(0,1fr) auto;gap:.35rem .8rem;padding:.7rem .9rem}.sp-student .photo{grid-row:span 2}.sp-pills{grid-area:2/2;gap:.4rem}.sp-pill,.sp-pill.is-grade,.sp-pill.is-pickup,.sp-pill.is-independent{min-inline-size:0;padding:.2rem .65rem;font-size:.85rem}.sp-chev{grid-area:1/3/span 2}.sp-msg{grid-template-columns:auto minmax(0,1fr);padding:.9rem}.sp-msg-icon{block-size:42px;inline-size:42px}.sp-msg-when{grid-column:2;padding:0;font-size:.85rem}.sp-bar-plot{block-size:150px}.sp-bar-label{font-size:.7rem}}@media (width>=1025px) and (width<=1279px){.shell .mainnav{gap:.15rem;margin-inline-start:.25rem}.shell .mainnav a{padding-inline:.55rem;font-size:.8rem}.usermenu-name{display:none}}.sp-stat-icon.is-amber{background:var(--signal-wash);color:#c98a00}.sp-main-actions.is-wide{max-inline-size:900px}.sp-date-wrap{display:inline-block;position:relative}.sp-date-wrap>.icon{z-index:1;color:var(--ink-2);pointer-events:none;position:absolute;inset-block-start:50%;inset-inline-start:.8rem;transform:translateY(-50%)}.sp-date-wrap>.sp-date{padding-inline-start:2.6rem;font-weight:600;position:relative}.sp-date-wrap>.sp-date::-webkit-calendar-picker-indicator{opacity:0;cursor:pointer;block-size:auto;inline-size:auto;position:absolute;inset:0}.sp-close-small{border-radius:12px;min-block-size:44px}.sp-list-head{background:var(--paper);color:var(--ink-2);align-items:center;gap:1rem;padding:.75rem 1.25rem;font-size:.9rem;font-weight:600;display:grid}.sp-list.is-table .sp-list-head,.sp-list.is-table .sp-student{grid-template-columns:52px minmax(0,1fr) 6.5rem 9.5rem 6.5rem 8rem 22px}.sp-list.is-table .sp-list-head>:first-child{grid-column:1/3}.sp-list.is-table .sp-pills{display:contents}.sp-list.is-table .sp-pill.is-grade,.sp-list.is-table .sp-pill.is-pickup,.sp-list.is-table .sp-pill.is-independent{justify-self:start;min-inline-size:0}.sp-count{color:var(--ink);align-items:center;gap:.45rem;font-weight:600;display:inline-flex}.sp-count .icon{color:var(--ink-2)}.sp-count.is-zero,.sp-count.is-zero .icon{color:var(--stop)}.sp-count-label{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.sp-list.sp-users .sp-list-head,.sp-list.sp-users .sp-user{grid-template-columns:32px minmax(0,1fr) 9rem minmax(0,1.3fr) 9.5rem 22px}.sp-user{font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;inline-size:100%}.sp-user-icon{color:var(--ink-2);place-items:center;display:grid}.sp-role{white-space:nowrap;border-radius:10px;justify-self:start;padding:.3rem .9rem;font-size:.9rem;font-weight:600}.sp-role.is-staff{background:var(--go-wash);color:var(--go)}.sp-role.is-guardian{background:var(--ok-wash);color:var(--ok)}.sp-role.is-admin{color:#6b34c0;background:#efe7fb}.sp-contact{text-overflow:ellipsis;white-space:nowrap;text-align:start;min-inline-size:0;overflow:hidden}[dir=rtl] .sp-contact{text-align:end}.sp-last{color:var(--ink-3);white-space:nowrap;font-size:.9rem}.sp-msg-side{flex-direction:column;align-items:flex-end;gap:.6rem;display:flex}.sp-msg-side .btn{min-block-size:40px;font-size:.95rem}.sp-log-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.3rem 1rem;padding:.9rem 1.25rem;display:grid}.sp-log-icon{color:var(--ink-2);place-items:center;inline-size:36px;display:grid}.sp-log-main{flex-direction:column;gap:.15rem;min-inline-size:0;display:flex}.sp-log-main strong{font-weight:700}.sp-log-detail{color:var(--ink-3);overflow-wrap:anywhere;font-size:.85rem}.sp-more{margin-block-start:1rem}.sp-plot{padding-inline-start:2.25rem;position:relative}.sp-yaxis{pointer-events:none;block-size:200px;position:absolute;inset-block-start:0;inset-inline:0}.sp-yaxis>span{border-block-start:1px solid var(--line);position:absolute;inset-inline:2.25rem 0}.sp-yaxis b{color:var(--ink-3);font-size:.75rem;font-weight:400;position:absolute;inset-block-start:0;inset-inline-end:calc(100% + .5rem);transform:translateY(-50%)}.sp-plot .sp-bars{z-index:1;position:relative}.sp-set{scroll-margin-block-start:96px}.sp-sets>section+section{border-block-start:1px solid var(--line)}.sp-set h2{margin:0}.sp-set h2 button{font:inherit;min-block-size:66px;inline-size:100%;color:var(--ink);text-align:start;cursor:pointer;background:0 0;border:0;align-items:center;gap:1rem;padding:.75rem 1.25rem;font-size:1.1rem;font-weight:700;display:flex}.sp-set h2 button:hover{background:color-mix(in srgb, var(--muted-wash) 55%, transparent)}.sp-set h2 button:focus-visible{box-shadow:inset var(--focus);outline:none}.sp-set h2 button>span{flex:1}.sp-set h2 button>.icon:first-child{color:var(--ink-2)}.sp-set .sp-chev{transition:transform .15s}.sp-set.is-open .sp-chev{transform:rotate(90deg)}[dir=rtl] .sp-set.is-open .sp-chev{transform:scaleX(-1)rotate(90deg)}.sp-set-body{padding:.25rem 1.25rem 1.5rem;padding-inline-start:calc(2.25rem + 28px)}.sp-save{align-self:flex-start}.sp-logo{border-block-start:1px solid var(--line);margin-block-start:1.5rem;padding-block-start:1.25rem}.sp-logo h3{margin:0 0 .75rem;font-size:1rem}@media (width<=1100px){.sp-list.sp-users .sp-list-head,.sp-list.sp-users .sp-user{grid-template-columns:32px minmax(0,1fr) 9rem minmax(0,1.2fr) 22px}.sp-users .sp-list-head>:nth-child(4),.sp-last{display:none}}@media (width<=760px){.sp-list-head{display:none}.sp-list.is-table .sp-student{grid-template-columns:auto minmax(0,1fr) auto}.sp-list.is-table .sp-pills{display:flex}.sp-count{display:none}.sp-count.is-zero{grid-column:2;font-size:.85rem;display:inline-flex}.sp-count.is-zero .sp-count-label{clip-path:none;block-size:auto;inline-size:auto;position:static}.sp-list.sp-users .sp-user{grid-template-columns:auto minmax(0,1fr) auto}.sp-users .sp-user .sp-role,.sp-users .sp-user .sp-contact{grid-column:2}.sp-users .sp-user .sp-chev{grid-area:1/3/span 3}.sp-users .sp-user .sp-user-icon{grid-row:1/span 3;align-self:start}.sp-msg-side{flex-flow:wrap;grid-column:2;align-items:center}.sp-log-row{grid-template-columns:auto minmax(0,1fr);padding:.8rem .9rem}.sp-log-row .sp-msg-when{grid-column:2}.sp-yaxis{block-size:150px}.sp-set h2 button{padding-inline:1rem;font-size:1rem}.sp-set-body{padding-inline:1rem}}:root{--dock-h:64px}@media (width<=1024px){.tabbar{background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(12px);border-block-start:1px solid var(--line);box-shadow:0 -6px 20px -14px #0f172659}.tab{color:var(--ink-2);gap:4px}.tab.active:before{display:none}.tab .icon{box-sizing:border-box;border-radius:999px;block-size:30px;inline-size:56px;padding:4px 16px;transition:background-color .15s}.tab.active{color:#14213d}.tab.active .icon{background:#ffe7a6}}@media (width<=1024px) and (prefers-color-scheme:dark){:root:not([data-theme=light]) .tab.active{color:var(--ink)}:root:not([data-theme=light]) .tab.active .icon{background:#4a3a10}}@media (width<=760px){.topbar{min-block-size:56px}.brand .mark,.brand-logo{block-size:34px;inline-size:34px}.topbar .lang-switch{border-radius:999px;min-block-size:38px;padding-inline:.75rem;font-size:.9rem}.pp-head,.sp-head{gap:.5rem .75rem;margin-block-end:1rem}.pp-head h1,.sp-head h1{font-size:1.55rem}.pp-head p,.sp-head-sub{font-size:.95rem}.pp-head-icon .icon,.sp-head-icon .icon{block-size:28px;inline-size:28px}.sp-head-end .btn,.pp-head>.btn{flex:1;min-block-size:48px}.pp-arrive,.fab{z-index:15;inset-inline:max(.75rem, env(safe-area-inset-left));inline-size:auto;min-block-size:var(--dock-h);border-radius:18px;margin:0;animation:.22s ease-out dock-in;position:fixed;inset-block-end:calc(var(--tabbar-h) + .6rem + env(safe-area-inset-bottom));box-shadow:0 12px 26px -10px #0f172673}@keyframes dock-in{0%{opacity:0;transform:translateY(12px)}}:is(.content:has(.pp-arrive),.content:has(.fab)){padding-block-end:calc(var(--tabbar-h) + var(--dock-h) + 2rem + env(safe-area-inset-bottom))}.toaster{inset-block-end:calc(var(--tabbar-h) + 1rem + env(safe-area-inset-bottom))}:is(body:has(.pp-arrive) .toaster,body:has(.fab) .toaster){inset-block-end:calc(var(--tabbar-h) + var(--dock-h) + 1.4rem + env(safe-area-inset-bottom))}.pp-arrive{gap:.75rem;padding:.55rem .6rem .55rem 1rem}[dir=rtl] .pp-arrive{padding:.55rem 1rem .55rem .6rem}.pp-arrive>.icon{block-size:28px;inline-size:28px}.pp-arrive-title{font-size:1.45rem}.pp-arrive-sub{white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;overflow:hidden}.pp-arrive-go{block-size:46px;inline-size:46px}.fab{color:#14213d;background:var(--signal);border:0;justify-content:center;gap:.7rem;font-size:1.15rem;font-weight:800;display:flex}.sp-main-actions .sp-scan{display:none}.sp-main-actions{margin-block-end:1.25rem}.sp-close{border-radius:14px;min-block-size:48px;font-size:1rem}.modal,.modal-wide{border:0;border-radius:22px 22px 0 0;block-size:auto;max-block-size:92dvh;inline-size:100vw;max-inline-size:100vw;margin:auto 0 0;box-shadow:0 -12px 40px -12px #0f172673}.modal[open]{animation:.24s cubic-bezier(.2,.8,.2,1) sheet-rise}@keyframes sheet-rise{0%{opacity:.4;transform:translateY(40%)}}.modal::backdrop{background:#0f172680}.modal-head{padding:1.4rem .75rem .6rem 1.1rem;position:relative}.modal-head:before{content:"";background:var(--line-2);border-radius:3px;block-size:5px;inline-size:40px;margin-inline-start:-20px;position:absolute;inset-block-start:.5rem;inset-inline-start:50%}.modal-body{padding:1rem 1.1rem calc(1rem + env(safe-area-inset-bottom))}.modal-actions{margin-inline:-1.1rem;padding-inline:1.1rem}.modal-actions .btn-primary{border-radius:14px;min-block-size:52px}.sp-stats,.sp-stats-4{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-block-end:1rem}.sp-stats-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sp-stat{border-radius:14px;gap:.35rem;padding:.7rem .6rem;font-size:.8rem;line-height:1.2}.sp-stat b{font-size:1.45rem}.sp-stat small{display:none}.sp-stat-icon{block-size:32px;inline-size:32px}.sp-stat-icon .icon{block-size:19px;inline-size:19px}.sp-head-end{flex-wrap:nowrap;gap:.5rem}.sp-live{white-space:nowrap;flex:1;min-inline-size:0;padding-inline:.75rem;font-size:.85rem;overflow:hidden}.sp-date-wrap>.sp-date{inline-size:9.5rem;padding-inline-end:.5rem;font-size:.9rem}.sp-close-small{padding-inline:.8rem;flex:none!important}.board.sp .sp-head-end:has(.sp-close-small){flex-wrap:wrap}.board.sp .sp-head-end:has(.sp-close-small) .sp-live{flex-basis:100%}.roster .chips{margin-inline:-1rem;padding-inline:1rem;scroll-padding-inline:1rem}.roster-search{grid-template-columns:1fr auto;gap:.5rem;display:grid}.row{grid-template-rows:auto auto;grid-template-columns:auto 40px minmax(0,1fr) auto;gap:.25rem .7rem;padding:.75rem .85rem}.row-select{grid-row:1/span 2}.row-select:empty{display:none}.row:has(.row-select:empty){grid-template-columns:40px minmax(0,1fr) auto}.row>.photo{grid-row:1/span 2}.row .row-main{grid-row:1}.row .badge{grid-area:2;justify-self:start}:is(.row:has(.row-select:empty) .row-main,.row:has(.row-select:empty) .badge){grid-column:2}:is(.row:not(:has(.row-select:empty)) .row-main,.row:not(:has(.row-select:empty)) .badge){grid-column:3}.row-actions{grid-area:1/-2/span 2;justify-content:flex-end;gap:.25rem}.row-actions .btn{border-radius:12px;flex:none;min-block-size:44px;padding-inline:.9rem;font-size:.95rem}.gate-card{border-radius:14px}.pp-kid-row{grid-template-rows:auto auto;grid-template-columns:52px minmax(0,1fr) auto;gap:.2rem .8rem;padding:.8rem .9rem}.pp-kid-row .photo{grid-row:1/span 2;block-size:52px!important;inline-size:52px!important}.pp-kid-main{display:contents}.pp-kid-main strong{grid-area:1/2;align-self:end;font-size:1.1rem}.pp-kid-row .pp-chips{grid-area:2/2/auto/-1;gap:.15rem .5rem;font-size:.85rem}.pp-kid-row .pp-chip{color:var(--ink-2);background:0 0;padding:0;font-size:.85rem}.pp-kid-row .pp-chip.is-change{background:var(--signal-wash);color:#7a5600;padding:.05rem .45rem}.pp-kid-row .pp-mode{font-size:.85rem}.pp-kid-row .pp-mode .icon,.pp-kid-row .pp-chip .icon{block-size:15px;inline-size:15px}.pp-kid-row .badge{grid-area:1/3;place-self:center end;padding:.25rem .6rem .25rem .45rem!important;font-size:.8rem!important}.pp-kid-chev{display:none}.pp-kid-more{margin:0;padding:0 .9rem .9rem;padding-inline-start:calc(1.7rem + 52px)}.pp-confirm{min-block-size:52px;inline-size:calc(100% - 1.8rem);margin:0 .9rem .9rem}.pp-person{grid-template-columns:52px minmax(0,1fr);align-items:center;gap:.75rem .85rem}.pp-person-main{display:contents}.pp-person-main>strong{grid-column:2;font-size:1.1rem}.pp-person .photo{grid-row:1/span 2}.pp-relation{grid-column:2;margin-block-start:-.6rem;font-size:.95rem}.pp-person .pp-chips,.pp-warn,.pp-actions{grid-column:1/-1}.pp-person .pp-chips{gap:.35rem}.pp-warn{margin-block-start:-.4rem}.pp-actions{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.pp-actions:has(>:only-child){grid-template-columns:1fr}.pp-actions .btn-small{border-radius:12px;justify-content:center;min-block-size:44px}.pp-table .table-cards tr{border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.15rem .75rem;padding:.8rem 1rem}.pp-table .table-cards td:before{display:none!important}.pp-table .table-cards td.pp-strong{grid-area:1/1;font-size:1.05rem}.pp-table .table-cards td.cell-title{grid-area:2/1;font-weight:400}.pp-table .pp-date{color:var(--ink-2);gap:.35rem;font-size:.85rem}.pp-table .pp-date .icon{block-size:16px;inline-size:16px}.pp-table .table-cards td:nth-child(3){grid-area:1/2/span 2}.pp-table .table-cards td:nth-child(4){color:var(--ink-2);grid-column:1/-1;font-size:.85rem}.sp-list.sp-users .sp-user{grid-template-columns:28px minmax(0,1fr) auto 18px;row-gap:.15rem}.sp-users .sp-user .sp-user-icon{grid-row:1/span 2;align-self:center}.sp-users .sp-user .sp-student-name{grid-area:1/2}.sp-users .sp-user .sp-role{grid-area:1/3;padding:.2rem .6rem;font-size:.8rem}.sp-users .sp-user .sp-contact{color:var(--ink-2);grid-area:2/2/auto/4;font-size:.9rem}.sp-users .sp-user .sp-chev{grid-area:1/4/span 2}.pp-card,.sp-list,.sp-msgs,.pp-kid{border-radius:14px}.sp-student{min-block-size:64px}.pp-head>.btn{flex:100%}.row .row-main strong,.row .row-meta{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.row .row-meta .mode{margin-inline-start:.3rem}.row-actions .btn{padding-inline:.75rem}.row-actions .more summary{inline-size:30px}.row:not(:has(.row-select:empty)){column-gap:.55rem}.sp-live{white-space:normal;padding-block:.35rem;line-height:1.25}}.install-card{color:#14213d;background:linear-gradient(120deg,#fff8e6,#fff3d4);border:1px solid #f3dfae;border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.9rem 1rem;margin-block:1rem;padding:1rem 1.25rem;display:grid}.install-icon{background:#fff;border-radius:14px;place-items:center;block-size:52px;inline-size:52px;display:grid;box-shadow:0 4px 12px -6px #1b2a4a59}.install-icon .mark{block-size:36px;inline-size:36px}.install-text{flex-direction:column;gap:.15rem;min-inline-size:0;display:flex}.install-text strong{font-size:1.05rem}.install-text span{color:#44526e;font-size:.92rem;line-height:1.4}.install-actions{align-items:center;gap:.5rem;display:flex}.install-share{color:#2f6bdb;background:#fff;border-radius:12px;place-items:center;block-size:44px;inline-size:44px;display:grid}@media (width<=560px){.install-card{grid-template-columns:auto minmax(0,1fr)}.install-actions{grid-column:1/-1}.install-actions .pp-btn-amber{flex:1}}.is-native-app .topbar,.is-standalone .topbar{padding-block-start:calc(.5rem + env(safe-area-inset-top))}.gs{--gs-accent:var(--signal);background:var(--paper);min-block-size:100dvh;color:var(--ink);flex-direction:column;display:flex}.gs-top{padding:calc(.6rem + env(safe-area-inset-top)) clamp(1rem, 3vw, 2rem) .6rem;background:var(--brand,#1b2a4a);color:var(--on-brand,#f3f5f8);align-items:center;gap:1rem;display:flex}.gs-brand{align-items:center;gap:.75rem;min-inline-size:0;display:flex}.gs-brand img,.gs-brand .mark{object-fit:contain;border-radius:10px;block-size:40px;inline-size:40px}.gs-brand>span{flex-direction:column;min-inline-size:0;display:flex}.gs-brand strong{font-size:1.15rem}.gs-brand small{color:var(--on-brand-2,#c9d1df);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.gs-counts{color:var(--on-brand-2,#c9d1df);white-space:nowrap;align-items:center;gap:1.25rem;margin-inline-start:auto;font-size:.95rem;display:flex}.gs-counts b{color:var(--on-brand,#fff);font-size:1.3rem}.gs-clock{color:var(--on-brand,#fff);font-size:1.3rem;font-weight:700}.gs-actions{align-items:center;gap:.5rem;display:flex}.gs-actions .lang-switch{color:var(--on-brand,#fff);border-color:#ffffff59}.gs-exit{font:inherit;min-block-size:44px;color:var(--on-brand,#fff);cursor:pointer;background:0 0;border:1.5px solid #ffffff59;border-radius:10px;align-items:center;gap:.35rem;padding:0 .9rem;display:inline-flex}.gs-banner{background:var(--signal-wash);color:#7a5600;text-align:center;margin:0;padding:.75rem clamp(1rem,3vw,2rem);font-weight:600}.gs-main{flex:1;place-items:center;padding:clamp(1rem,3vw,2.5rem);display:grid}.gs-ready,.gs-error{text-align:center;justify-items:center;gap:1rem;max-inline-size:640px;display:grid}.gs-ready h1,.gs-error h1{margin:0;font-size:clamp(2rem,4.5vw,3rem);font-weight:800}.gs-ready p,.gs-error p{color:var(--ink-2);margin:0;font-size:clamp(1.05rem,1.8vw,1.3rem);line-height:1.5}.gs-ready-icon{color:#14213d;background:#fff3cf;border-radius:40px;place-items:center;block-size:150px;inline-size:150px;animation:2.4s ease-out infinite gs-pulse;display:grid;box-shadow:0 0 #f2a90080}.gs-ready-icon.is-busy{animation-duration:.8s}@keyframes gs-pulse{0%{box-shadow:0 0 #f2a90073}70%{box-shadow:0 0 0 28px #f2a90000}to{box-shadow:0 0 #f2a90000}}@media (prefers-reduced-motion:reduce){.gs-ready-icon{animation:none}}.gs-start,.gs-next,.gs-release{font:inherit;cursor:pointer;border:0;justify-content:center;align-items:center;gap:.6rem;display:inline-flex}.gs-start{background:var(--signal);color:#14213d;border-radius:18px;min-block-size:64px;min-inline-size:260px;padding:0 2rem;font-size:1.3rem;font-weight:800;box-shadow:0 12px 26px -14px #c98a00f2}.gs-start:disabled{opacity:.55}.gs-link{font:inherit;min-block-size:44px;color:var(--go);cursor:pointer;background:0 0;border:0;font-weight:600}.gs-manual{justify-items:center;gap:.75rem;inline-size:min(100%,420px);display:grid}.gs-manual input{text-align:center;letter-spacing:.12em;border-radius:14px;min-block-size:64px;font-size:1.6rem}.gs-error-icon{background:var(--stop-wash);block-size:130px;inline-size:130px;color:var(--stop);border-radius:50%;place-items:center;display:grid}.gs-error{color:var(--stop)}.gs.is-error .gs-main{background:color-mix(in srgb, var(--stop-wash) 60%, var(--paper))}.gs-found{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:clamp(1rem,3vw,2.5rem);inline-size:min(100%,1180px);display:grid}.gs-person{background:var(--surface);border:4px solid var(--gs-accent);text-align:center;border-radius:24px;justify-items:center;gap:.75rem;padding:clamp(1.25rem,3vw,2rem);display:grid;box-shadow:0 18px 40px -24px #1b2a4a73}.gs-person .photo{border-radius:28px;block-size:min(240px,50vw)!important;inline-size:min(240px,50vw)!important;font-size:4.5rem!important}.gs-person h1{margin:.25rem 0 0;font-size:clamp(1.7rem,3.4vw,2.4rem);font-weight:800;line-height:1.15}.gs-check{color:var(--ink-2);align-items:center;gap:.45rem;margin:0;font-size:1.05rem;display:flex}.gs-check.is-warn{color:#9a5b00;font-weight:600}.gs-kids ul{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.gs-kids li{background:var(--surface);border:1px solid var(--line);border-radius:18px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:1rem;padding:.9rem 1rem;display:grid;box-shadow:0 6px 18px -14px #1b2a4a66}.gs-kids li.is-done{opacity:.7}.gs-kid{flex-direction:column;min-inline-size:0;display:flex}.gs-kid strong{font-size:1.35rem}.gs-kid span{color:var(--ink-2)}.gs-kids .badge.has-icon{padding:.35rem .8rem .35rem .6rem;font-size:.95rem}.gs-release{background:var(--ink);min-block-size:56px;color:var(--paper);border-radius:14px;padding:0 1.4rem;font-size:1.1rem;font-weight:700}.gs-release:disabled{opacity:.6}.gs-none{background:var(--stop-wash);color:var(--stop);border-radius:18px;margin:0;padding:1.25rem;font-size:1.15rem;font-weight:600}.gs-found-actions{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-block-start:1.25rem;display:flex}.gs-next{border:1.5px solid var(--line-2);background:var(--surface);min-block-size:56px;color:var(--ink);border-radius:14px;padding:0 1.4rem;font-size:1.05rem;font-weight:700}.gs-done{color:var(--ok);align-items:center;gap:.5rem;margin:0;font-size:1.3rem;font-weight:800;display:inline-flex}.gs.is-done{--gs-accent:#22a45d}.gs.is-done .gs-main{background:color-mix(in srgb, var(--ok-wash) 55%, var(--paper))}.sp-gate-link{border-radius:12px;min-block-size:44px}@media (width<=900px){.gs-found{grid-template-columns:1fr}.gs-counts>span:not(.gs-clock){display:none}}@media (width<=560px){.gs-kids li{grid-template-columns:auto minmax(0,1fr) auto}.gs-kids li .badge{display:none}.gs-start{inline-size:100%;min-inline-size:0}.gs-brand small,.gs-actions .lang-switch{display:none}}.pp-pass-btns{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}@media (width<=640px){.pp-pass-btns{grid-column:1/-1;grid-template-columns:1fr 1fr;display:grid}}.print-root{display:none}@media print{@page{margin:14mm}body>:not(.print-root){display:none!important}body{background:#fff!important}.print-root{color:#14213d;-webkit-print-color-adjust:exact;print-color-adjust:exact;padding:3mm;font-family:Readex Pro Variable,Readex Pro,system-ui,sans-serif;display:block!important}}.pc{box-sizing:border-box;outline-offset:2mm;background:#fff;border:.3mm solid #d9dfe8;border-radius:3.2mm;outline:.35mm dashed #8a94a6;flex-direction:column;block-size:54mm;inline-size:85.6mm;display:flex;overflow:hidden}.pc-band{color:#fff;background:#1b2a4a;align-items:center;gap:2.2mm;padding:2mm 3mm;display:flex}.pc-logo,.pc-band .mark{object-fit:contain;background:#fff;border-radius:1.5mm;block-size:8mm;inline-size:8mm}.pc-school{flex-direction:column;min-inline-size:0;font-size:7.5pt;line-height:1.2;display:flex}.pc-school b{white-space:nowrap;text-overflow:ellipsis;font-size:8.5pt;overflow:hidden}.pc-body{flex:1;grid-template-columns:minmax(0,1fr) auto;gap:3mm;padding:2.6mm 3mm 2.4mm;display:grid}.pc-who{grid-template-rows:auto 1fr;grid-template-columns:15mm minmax(0,1fr);align-content:start;column-gap:2.2mm;display:grid}.pc-photo{object-fit:cover;background:#eceff4;border-radius:1.6mm;grid-row:1/span 2;block-size:18mm;inline-size:15mm}.pc-initial{color:#44526e;place-items:center;font-size:18pt;font-weight:700;display:grid}.pc-label{color:#c98a00;text-transform:uppercase;letter-spacing:.04em;font-size:6.5pt;font-weight:700;line-height:1.25}.pc-name{overflow-wrap:anywhere;align-self:start;margin-block-start:1mm;font-size:10pt;line-height:1.2}.pc-qr{flex-direction:column;align-items:center;gap:1mm;display:flex}.pc-qr img{block-size:25mm;inline-size:25mm}.pc-qr span{letter-spacing:.08em;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:8.5pt;font-weight:700}.pc-note{color:#44526e;max-inline-size:120mm;margin:6mm 0 0;font-size:8pt;line-height:1.5}.gs{inline-size:100%;min-inline-size:100%}.gs-main{inline-size:100%}.gs-main>*{min-inline-size:0}.gs-found{inline-size:100%;max-inline-size:1180px}
