/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-orange-500:oklch(70.5% .213 47.604);--color-orange-600:oklch(64.6% .222 41.116);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-200:oklch(94.5% .129 101.54);--color-yellow-300:oklch(90.5% .182 98.111);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-600:oklch(68.1% .162 75.834);--color-yellow-700:oklch(55.4% .135 66.442);--color-yellow-800:oklch(47.6% .114 61.907);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-600:oklch(51.1% .262 276.966);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-700:oklch(49.6% .265 301.924);--color-pink-500:oklch(65.6% .241 354.308);--color-slate-700:oklch(37.2% .044 257.287);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-stone-50:oklch(98.5% .001 106.423);--color-stone-100:oklch(97% .001 106.424);--color-stone-300:oklch(86.9% .005 56.366);--color-stone-400:oklch(70.9% .01 56.259);--color-stone-500:oklch(55.3% .013 58.071);--color-stone-800:oklch(26.8% .007 34.298);--color-stone-900:oklch(21.6% .006 56.043);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-wider:.05em;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-4{top:calc(var(--spacing) * 4)}.top-20{top:calc(var(--spacing) * 20)}.right-0{right:calc(var(--spacing) * 0)}.right-4{right:calc(var(--spacing) * 4)}.left-0{left:calc(var(--spacing) * 0)}.left-1{left:calc(var(--spacing) * 1)}.isolate{isolation:isolate}.-z-10{z-index:calc(10 * -1)}.z-50{z-index:50}.col-span-full{grid-column:1/-1}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing) * 1)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mr-1{margin-right:calc(var(--spacing) * 1)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-3{margin-right:calc(var(--spacing) * 3)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-5{margin-left:calc(var(--spacing) * 5)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-24{height:calc(var(--spacing) * 24)}.h-40{height:calc(var(--spacing) * 40)}.h-full{height:100%}.h-screen{height:100vh}.max-h-40{max-height:calc(var(--spacing) * 40)}.max-h-60{max-height:calc(var(--spacing) * 60)}.min-h-\[100px\]{min-height:100px}.min-h-screen{min-height:100vh}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-40{width:calc(var(--spacing) * 40)}.w-96{width:calc(var(--spacing) * 96)}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-xl{max-width:var(--container-xl)}.min-w-full{min-width:100%}.grow{flex-grow:1}.translate-x-1{--tw-translate-x:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-105{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-ping{animation:var(--animate-ping)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.appearance-none{appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-8{gap:calc(var(--spacing) * 8)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-3>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 3) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-6>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 6) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-gray-200>:not(:last-child)){border-color:var(--color-gray-200)}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-blue-200{border-color:var(--color-blue-200)}.border-blue-500{border-color:var(--color-blue-500)}.border-blue-600{border-color:var(--color-blue-600)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-green-400{border-color:var(--color-green-400)}.border-orange-600{border-color:var(--color-orange-600)}.border-red-200{border-color:var(--color-red-200)}.border-red-400{border-color:var(--color-red-400)}.border-stone-300{border-color:var(--color-stone-300)}.border-yellow-200{border-color:var(--color-yellow-200)}.border-yellow-300{border-color:var(--color-yellow-300)}.border-yellow-400{border-color:var(--color-yellow-400)}.bg-amber-300{background-color:var(--color-amber-300)}.bg-amber-600{background-color:var(--color-amber-600)}.bg-black{background-color:var(--color-black)}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-blue-700{background-color:var(--color-blue-700)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-100\/50{background-color:#f3f4f680}@supports (color:color-mix(in lab, red, red)){.bg-gray-100\/50{background-color:color-mix(in oklab, var(--color-gray-100) 50%, transparent)}}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-gray-400{background-color:var(--color-gray-400)}.bg-gray-500{background-color:var(--color-gray-500)}.bg-gray-600{background-color:var(--color-gray-600)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-500{background-color:var(--color-green-500)}.bg-green-600{background-color:var(--color-green-600)}.bg-indigo-500{background-color:var(--color-indigo-500)}.bg-indigo-600{background-color:var(--color-indigo-600)}.bg-orange-500{background-color:var(--color-orange-500)}.bg-purple-600{background-color:var(--color-purple-600)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-500{background-color:var(--color-red-500)}.bg-stone-50{background-color:var(--color-stone-50)}.bg-stone-100{background-color:var(--color-stone-100)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-yellow-50{background-color:var(--color-yellow-50)}.bg-yellow-100{background-color:var(--color-yellow-100)}.bg-yellow-500{background-color:var(--color-yellow-500)}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-amber-500{--tw-gradient-from:var(--color-amber-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-pink-500{--tw-gradient-from:var(--color-pink-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-red-500{--tw-gradient-from:var(--color-red-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-stone-300{--tw-gradient-from:var(--color-stone-300);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-stone-500{--tw-gradient-from:var(--color-stone-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-gray-500{--tw-gradient-via:var(--color-gray-500);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-green-500{--tw-gradient-via:var(--color-green-500);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-amber-500{--tw-gradient-to:var(--color-amber-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-green-500{--tw-gradient-to:var(--color-green-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-orange-600{--tw-gradient-to:var(--color-orange-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-red-500{--tw-gradient-to:var(--color-red-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-slate-700{--tw-gradient-to:var(--color-slate-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-10{padding:calc(var(--spacing) * 10)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-7{padding-inline:calc(var(--spacing) * 7)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-8{padding-block:calc(var(--spacing) * 8)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pr-4{padding-right:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-top{vertical-align:top}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.whitespace-nowrap{white-space:nowrap}.text-amber-500{color:var(--color-amber-500)}.text-amber-600{color:var(--color-amber-600)}.text-black{color:var(--color-black)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-blue-800{color:var(--color-blue-800)}.text-gray-200{color:var(--color-gray-200)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-green-500{color:var(--color-green-500)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-orange-500{color:var(--color-orange-500)}.text-orange-600{color:var(--color-orange-600)}.text-purple-700{color:var(--color-purple-700)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-red-800{color:var(--color-red-800)}.text-red-900{color:var(--color-red-900)}.text-stone-500{color:var(--color-stone-500)}.text-stone-800{color:var(--color-stone-800)}.text-stone-900{color:var(--color-stone-900)}.text-white{color:var(--color-white)}.text-yellow-700{color:var(--color-yellow-700)}.text-yellow-800{color:var(--color-yellow-800)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0px_9px_12px_3px_rgba\(0\,_0\,_0\,_0\.35\)\]{--tw-shadow:0px 9px 12px 3px var(--tw-shadow-color,#00000059);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0px_14px_23px_3px_\#b3b3b3\]{--tw-shadow:0px 14px 23px 3px var(--tw-shadow-color,#b3b3b3);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[5px_20px_23px_-10px_\#b3b3b3\]{--tw-shadow:5px 20px 23px -10px var(--tw-shadow-color,#b3b3b3);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[inset_0px_4px_6px_0px_rgba\(0\,_0\,_0\,_0\.2\)\]{--tw-shadow:inset 0px 4px 6px 0px var(--tw-shadow-color,#0003);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[inset_5px_20px_23px_-10px_\#b3b3b3\]{--tw-shadow:inset 5px 20px 23px -10px var(--tw-shadow-color,#b3b3b3);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition\!{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events!important;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))!important;transition-duration:var(--tw-duration,var(--default-transition-duration))!important}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.select-all{-webkit-user-select:all;user-select:all}.\[animation-delay\:-0\.4s\]{animation-delay:-.4s}.\[animation-delay\:-0\.6s\]{animation-delay:-.6s}.\[background\:radial-gradient\(125\%_125\%_at_50\%_10\%\,\#fff_40\%\,\#59f05b_100\%\)\]{background:radial-gradient(125% 125% at 50% 10%,#fff 40%,#59f05b 100%)}.\[background\:radial-gradient\(125\%_125\%_at_50\%_10\%\,\#fff_40\%\,\#C0392B_100\%\)\]{background:radial-gradient(125% 125% at 50% 10%,#fff 40%,#c0392b 100%)}.\[env\:bench-nocell-led60\]{env:bench-nocell-led60}.\[env\:bench-nocell\]{env:bench-nocell}.\[env\:gate-wifi\]{env:gate-wifi}.\[env\:leds-pinhunt\]{env:leds-pinhunt}.\[env\:leds-proof60\]{env:leds-proof60}.\[env\:leds-square-anim\]{env:leds-square-anim}.\[env\:leds-test60-anim-front\]{env:leds-test60-anim-front}.\[env\:leds-test60-anim\]{env:leds-test60-anim}.\[env\:leds-test60-usb\]{env:leds-test60-usb}.\[env\:leds-test60\]{env:leds-test60}.\[env\:ttgo-t-a7670\]{env:ttgo-t-a7670}.\[stroke-dasharray\:100\]{stroke-dasharray:100}.\[stroke-dashoffset\:100\]{stroke-dashoffset:100px}.\[user-select\:none\]{-webkit-user-select:none;user-select:none}.peer-checked\:\[stroke-dashoffset\:0\]:is(:where(.peer):checked~*){stroke-dashoffset:0}@media (hover:hover){.hover\:bg-amber-700:hover{background-color:var(--color-amber-700)}.hover\:bg-blue-100:hover{background-color:var(--color-blue-100)}.hover\:bg-blue-600:hover{background-color:var(--color-blue-600)}.hover\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\:bg-blue-800:hover{background-color:var(--color-blue-800)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\:bg-gray-400:hover{background-color:var(--color-gray-400)}.hover\:bg-gray-600:hover{background-color:var(--color-gray-600)}.hover\:bg-green-50:hover{background-color:var(--color-green-50)}.hover\:bg-green-600:hover{background-color:var(--color-green-600)}.hover\:bg-green-700:hover{background-color:var(--color-green-700)}.hover\:bg-indigo-600:hover{background-color:var(--color-indigo-600)}.hover\:bg-orange-600:hover{background-color:var(--color-orange-600)}.hover\:bg-purple-700:hover{background-color:var(--color-purple-700)}.hover\:bg-red-600:hover{background-color:var(--color-red-600)}.hover\:bg-yellow-600:hover{background-color:var(--color-yellow-600)}.hover\:text-blue-700:hover{color:var(--color-blue-700)}.hover\:text-gray-900:hover{color:var(--color-gray-900)}.hover\:text-green-700:hover{color:var(--color-green-700)}.hover\:text-green-800:hover{color:var(--color-green-800)}.hover\:text-red-700:hover{color:var(--color-red-700)}.hover\:text-red-900:hover{color:var(--color-red-900)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:z-10:focus{z-index:10}.focus\:border-blue-500:focus{border-color:var(--color-blue-500)}.focus\:border-indigo-500:focus{border-color:var(--color-indigo-500)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-4:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-amber-400:focus{--tw-ring-color:var(--color-amber-400)}.focus\:ring-blue-300:focus{--tw-ring-color:var(--color-blue-300)}.focus\:ring-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.focus\:ring-gray-100:focus{--tw-ring-color:var(--color-gray-100)}.focus\:ring-gray-300:focus{--tw-ring-color:var(--color-gray-300)}.focus\:ring-green-400:focus{--tw-ring-color:var(--color-green-400)}.focus\:ring-indigo-400:focus{--tw-ring-color:var(--color-indigo-400)}.focus\:ring-indigo-500:focus{--tw-ring-color:var(--color-indigo-500)}.focus\:ring-purple-500:focus{--tw-ring-color:var(--color-purple-500)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.disabled\:bg-gray-300:disabled{background-color:var(--color-gray-300)}@media (width>=40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}:where(.rtl\:space-x-reverse:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *)>:not(:last-child)){--tw-space-x-reverse:1}@media (prefers-color-scheme:dark){.dark\:border-gray-200{border-color:var(--color-gray-200)}.dark\:bg-gray-200{background-color:var(--color-gray-200)}.dark\:text-stone-400,.dark\:placeholder-stone-400::placeholder{color:var(--color-stone-400)}}}:root{--bg:#f5f1e8;--surface:#fff;--surface-warm:#ffef5a;--fg:#000;--fg-2:#222;--muted:#555;--meta:#000;--border:#000;--border-soft:#000;--accent:#ffef5a;--accent-on:#000;--accent-hover:var(--accent)}@supports (color:color-mix(in lab, red, red)){:root{--accent-hover:color-mix(in oklab, var(--accent), black 8%)}}:root{--accent-active:var(--accent)}@supports (color:color-mix(in lab, red, red)){:root{--accent-active:color-mix(in oklab, var(--accent), black 14%)}}:root{--success:#00b050;--warn:#ff8c00;--danger:#ff2b2b;--font-display:Arial Black, Impact, sans-serif;--font-body:Arial, Helvetica, sans-serif;--font-sans:Arial, Helvetica, sans-serif;--font-mono:"Courier New", ui-monospace, monospace;--radius-sm:0px;--radius-md:0px;--radius-lg:0px;--radius:0px;--elev-raised:8px 8px 0 #000;--focus-ring:none;--ease-standard:steps(2, end);--motion-fast:90ms;--motion-base:.14s;--border-width:2px;--bone:#f5f1e8;--paper:#fff;--well:#ebe6db;--ink:#000;--green:#ffef5a;--green-dark:var(--green)}@supports (color:color-mix(in lab, red, red)){:root{--green-dark:color-mix(in oklab, var(--green), black 14%)}}:root{--green-soft:var(--green)}@supports (color:color-mix(in lab, red, red)){:root{--green-soft:color-mix(in oklab, var(--green), white 55%)}}:root{--line:#000;--red:#ff2b2b;--red-soft:var(--red)}@supports (color:color-mix(in lab, red, red)){:root{--red-soft:color-mix(in oklab, var(--red), white 85%)}}:root{--amber:#ff8c00;--yellow:#ffef5a;--yellow-soft:var(--yellow)}@supports (color:color-mix(in lab, red, red)){:root{--yellow-soft:color-mix(in oklab, var(--yellow), white 70%)}}:root{--shadow:8px 8px 0 #000}*{box-sizing:border-box}html{background:var(--bone)}html:has(.admin-page-tabs){scrollbar-gutter:stable}body{background:var(--bone);color:var(--ink);font-family:var(--font-body), Arial, Helvetica, sans-serif;min-width:320px;margin:0}button,input,select,textarea{font:inherit}button{color:inherit;border-radius:var(--radius-sm)}button:focus,button:focus-visible,input:focus,input:focus-visible,select:focus,select:focus-visible,textarea:focus,textarea:focus-visible,label:focus-within{outline:none}.app-shell{min-height:100vh}.topbar{border-bottom:var(--border-width) solid var(--line);background:var(--surface);z-index:20;align-items:center;gap:26px;height:76px;padding:0 clamp(18px,4vw,58px);display:flex;position:sticky;top:0}.brand{cursor:pointer;background:0 0;border:0;align-items:center;gap:11px;padding:0;display:flex}.brand-mark,.loading-mark{border-radius:var(--radius-sm);width:42px;height:42px;color:var(--accent-on);background:var(--green);font-family:var(--font-display);border:var(--border-width) solid var(--border);box-shadow:var(--elev-raised);place-items:center;font-size:25px;display:grid}.brand strong{font-family:var(--font-display);font-size:19px;line-height:1;display:block}.brand small{color:var(--green);letter-spacing:.22em;margin-top:5px;font-size:8px;font-weight:800;display:block}.live-status{color:var(--green);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:7px;font-size:12px;font-weight:800;display:flex}.dot{background:var(--success);width:8px;height:8px;box-shadow:2px 2px 0 var(--border);border-radius:0}.dot.offline{background:var(--red);box-shadow:0 0 0 4px #b93a391f}.session-summary{align-items:center;gap:24px;margin-left:auto;display:flex}.session-summary span{color:var(--muted);white-space:nowrap;font-size:12px}.session-summary strong{color:var(--ink);margin-right:3px;font-size:15px}.role-nav{background:var(--paper);z-index:19;border-bottom:0;align-items:stretch;gap:0;height:58px;padding:0;display:flex;position:sticky;top:0;overflow-x:auto}.role-nav button{border:var(--border-width) solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;white-space:nowrap;border-radius:0;align-items:center;gap:8px;margin:0;padding:0 17px;font-size:13px;font-weight:700;display:flex}.role-nav button+button{margin-left:calc(-1 * var(--border-width))}.role-nav .utility-nav-button{border:var(--border-width) solid var(--border);white-space:nowrap;align-items:center;gap:8px;padding:0 17px;font-size:13px;font-weight:700;text-decoration:none;display:flex}.role-nav button span{font-size:16px}.role-nav button:hover{color:var(--accent-on);background:var(--accent-hover)}.role-nav button.active{color:var(--accent-on);background:var(--accent)}.role-nav .nav-spacer{border-bottom:var(--border-width) solid var(--border);flex:1 0 24px}.role-nav .utility-nav-button{color:#76550f}.role-nav .utility-nav-button:hover{color:var(--accent-on);background:var(--accent-hover)}.role-nav .utility-nav-button.active{color:var(--accent-on);background:var(--amber)}.role-nav .sos-button{color:#fff;background:var(--red);margin-left:calc(-1 * var(--border-width));border-radius:0;padding:0 17px}.role-nav .sos-button:hover{color:#fff;background:var(--red)}@supports (color:color-mix(in lab, red, red)){.role-nav .sos-button:hover{background:color-mix(in oklab, var(--red), black 14%)}}.role-nav .sos-button span{width:20px;height:20px;color:var(--red);background:#fff;border-radius:50%;place-items:center;font-size:12px;font-weight:950;display:grid}.simulation-banner{color:#493909;letter-spacing:.03em;background:#f4d77a;border-bottom:1px solid #d2b75d;justify-content:center;align-items:center;gap:10px;min-height:38px;padding:8px 18px;font-size:10px;display:flex}.simulation-banner strong{letter-spacing:.12em}.roster-warning{color:#fff;background:#9d282a;border-bottom:1px solid #751718;justify-content:center;align-items:center;gap:10px;min-height:46px;padding:9px 18px;font-size:10px;line-height:1.4;display:flex}.roster-warning strong{letter-spacing:.1em;flex:none}.workspace{width:min(1320px,100% - 36px);margin:0 auto;padding:46px 0 80px}.page-heading{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:30px;display:flex}.eyebrow{color:var(--green);letter-spacing:.16em;text-transform:uppercase;margin:0 0 9px;font-size:11px;font-weight:900}h1,h2,h3,p{margin-top:0}h1{font-family:var(--font-display);letter-spacing:-.04em;margin-bottom:8px;font-size:clamp(34px,4.3vw,57px);font-weight:520;line-height:1}.lede{color:var(--muted);margin:0;font-size:15px}.date-card{border-left:1px solid var(--line);min-width:90px;padding-left:24px}.date-card small{color:var(--muted);letter-spacing:.14em;font-size:9px;font-weight:800;display:block}.date-card strong{font-family:var(--font-display);white-space:nowrap;margin-top:4px;font-size:24px;display:block}.scan-layout{grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr);gap:24px;display:grid}.scan-card,.recent-panel,.roster-panel,.chaperone-card,.admin-card{background:var(--paper);border:var(--border-width) solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.scan-card{padding:30px}.scan-lane-picks{grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:10px;margin-bottom:18px;display:grid}.scan-lane-picks .primary-button{text-overflow:ellipsis;white-space:nowrap;width:100%;min-width:0;margin:0;overflow:hidden}.scan-lane-picks .primary-button:not(.active){background:var(--surface);color:var(--ink)}.scan-lane-picks .primary-button:not(.active):hover{background:var(--well);color:var(--ink)}.scan-lane-picks .lane-pick-badger.active,.scan-lane-picks .lane-pick-first.active,.scan-lane-picks .lane-pick-stallion.active,.scan-lane-picks .lane-pick-extra.active{background:var(--green);color:var(--accent-on)}.verification-lanes{margin-top:17px}.verification-lanes .primary-button{margin-top:0}.scan-mode-row{justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px;display:flex}.scan-mode-row strong,.scan-mode-row small{display:block}.scan-mode-row strong{font-size:12px}.scan-mode-row small{color:var(--muted);margin-top:3px;font-size:9px}.tie-mode-row{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--well);margin-top:-7px;padding:12px 13px}.tie-mode-row.active{background:var(--green-soft);border-color:#9bb7a5}.ocr-mode-row{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--well);margin-top:-7px;padding:12px 13px}.ocr-mode-row.active{background:#fff8dc;border-color:#b8a561}.mode-toggle{border:1px solid var(--line);border-radius:var(--radius-sm);white-space:nowrap;color:var(--muted);cursor:pointer;background:#efede6;align-items:center;gap:7px;padding:7px 10px 7px 7px;font-size:9px;font-weight:900;display:flex}.mode-toggle span{background:#a8aea9;border-radius:50%;width:22px;height:22px;position:relative}.mode-toggle.active{color:var(--green);background:var(--green-soft);border-color:#93b7a2}.mode-toggle.active span{background:var(--green)}.scanner-control-row{z-index:2;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:8px;width:min(100%,560px);margin:-19px auto 0;display:grid;position:relative}.scanner-control-row.camera-only{grid-template-columns:auto auto;justify-content:center;margin:8px auto 0}.scan-rfid{justify-items:center;gap:6px;display:grid}.scanner-mini-toggle{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);min-height:44px;color:var(--muted);text-align:left;cursor:pointer;flex-direction:column;justify-content:center;gap:1px;padding:8px 12px;display:flex}.scanner-mini-toggle strong{color:var(--ink);letter-spacing:.05em;text-transform:uppercase;font-size:8px;font-weight:950;line-height:1.1}.scanner-mini-toggle span{color:var(--muted);white-space:nowrap;font-size:9px;font-weight:900}.scanner-mini-toggle.active{background:var(--green-soft);border-color:#93b7a2}.scanner-mini-toggle.active span{color:var(--green)}.scanner-mini-toggle.ocr.active{background:#fff8dc;border-color:#b8a561}.scanner-mini-toggle.ocr.active span{color:#76550f}.cone-car{--car-color:var(--red);vertical-align:-2px;background:var(--car-color);color:#0000;border-radius:9px 9px 5px 5px;flex:none;width:26px;height:16px;margin-right:6px;display:inline-block;position:relative;box-shadow:inset 0 0 0 1px #0000001f}.cone-car:before{content:"";background:var(--car-color);border-radius:8px 8px 2px 2px;height:8px;position:absolute;top:-5px;left:7px;right:7px;box-shadow:inset 0 0 0 1px #0000001a}.cone-car:after{content:"";background:radial-gradient(circle at 0,#1d2a24 0 3px,#0000 3.5px),radial-gradient(circle at 100%,#1d2a24 0 3px,#0000 3.5px);border-radius:999px;height:7px;position:absolute;bottom:-4px;left:4px;right:4px}.cone-car.red{--car-color:#d83a35}.cone-car.green{--car-color:#1b8b55}.cone-car.blue{--car-color:#2b6fd3}.cone-car.purple{--car-color:#7b4ab8}.cone-car.yellow{--car-color:#f0c232}.cone-car.gray{--car-color:#7d8782}.display-student-name{--display-line:#7d8782;overflow-wrap:anywhere;border:var(--border-width) solid var(--display-line);border-radius:0;max-width:100%;padding:.06em .18em;text-decoration:none;display:inline-block}.display-student-name.red{--display-line:#d83a35}.display-student-name.green{--display-line:#1b8b55}.display-student-name.blue{--display-line:#2b6fd3}.display-student-name.purple{--display-line:#7b4ab8}.display-student-name.yellow{--display-line:#f0c232}.display-student-name.gray{--display-line:#7d8782}.scan-visual{aspect-ratio:1;border-radius:var(--radius);background:var(--well);place-items:center;width:min(100%,420px);margin:0 auto;display:grid;position:relative;overflow:hidden}.scan-visual.minimized{aspect-ratio:5/2;border-radius:14px;width:min(100%,250px)}.scan-visual.minimized .qr-glyph{opacity:.68;transform:scale(.58)}.scan-visual video{object-fit:cover;width:100%;height:100%}.scan-corners{border:3px solid #ffffffdb;border-radius:18px;position:absolute;inset:35px;box-shadow:0 0 0 999px #0a1e1440}.qr-glyph{grid-template-columns:repeat(3,1fr);gap:8px;width:104px;height:104px;display:grid;position:relative}.qr-glyph i{background:var(--green);border-radius:4px;display:block}.qr-glyph i:nth-child(2),.qr-glyph i:nth-child(4),.qr-glyph i:nth-child(6){border:5px solid var(--green);background:0 0}.camera-button{border:1px solid var(--green);border-radius:var(--radius-sm);background:var(--paper);color:var(--green);cursor:pointer;white-space:nowrap;margin:0;padding:10px 18px;font-size:12px;font-weight:800;display:block}.camera-button.stop{color:var(--red);border-color:var(--red)}.scanner-status{color:var(--red);text-align:center;margin:10px 0 -8px;font-size:10px;font-weight:800}.scanner-status.active{color:var(--green)}.or-divider{color:#939a95;text-transform:uppercase;letter-spacing:.12em;align-items:center;gap:14px;margin:25px 0 17px;font-size:10px;font-weight:700;display:flex}.or-divider:before,.or-divider:after{content:"";background:var(--line);flex:1;height:1px}.scan-card label{margin-bottom:8px;font-size:12px;font-weight:800;display:block}.tag-entry{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:stretch;gap:10px;display:grid}.tag-input-wrap{grid-template-columns:minmax(0,1fr) 64px;gap:8px;min-width:0;display:grid}.tag-entry input{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bone);letter-spacing:.05em;min-width:0;color:var(--ink);padding:15px 17px;font-size:22px;font-weight:800}.tag-entry input:focus,.tag-entry input:focus-visible{box-shadow:none;outline:none}.tag-keyboard-toggle{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink);letter-spacing:.06em;cursor:pointer;font-size:14px;font-weight:900}.tag-keyboard-toggle.active{border-color:var(--green);background:var(--green-soft);color:var(--green)}.tag-entry-lanes{grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:10px;min-width:0;display:grid}.tag-entry-lanes .primary-button{text-overflow:ellipsis;white-space:nowrap;width:100%;min-width:0;padding-left:10px;padding-right:10px;overflow:hidden}.tag-entry input::placeholder{color:#a8ada9;font-weight:500}.primary-button{border:var(--border-width) solid var(--border);border-radius:var(--radius-sm);background:var(--green);color:var(--accent-on);cursor:pointer;box-shadow:var(--elev-raised);transition:box-shadow var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);padding:13px 20px;font-size:13px;font-weight:800}.primary-button:active{box-shadow:inset 3px 3px 0 var(--border);transform:translate(2px,2px)}.primary-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.primary-button span{margin-left:10px}.primary-button.full{width:100%;margin-top:17px}.primary-button.long-pressing{background:#3d4654;box-shadow:0 0 0 5px #3d465424,0 7px 18px #3d46542e}.primary-button.lane-submit-badger,.primary-button.lane-submit-first{background:var(--green);color:var(--accent-on);box-shadow:var(--elev-raised)}.primary-button.lane-submit-badger:hover,.primary-button.lane-submit-first:hover{background:var(--green-dark)}.keyboard-hint{text-align:center;color:var(--muted);margin:12px 0 0;font-size:10px}.keyboard-hint.prefix-warning{color:var(--red)}.lookup-hint{color:var(--muted);margin:7px 2px 0;font-size:9px}.lookup-hint.tag-not-loaded{color:var(--red);font-weight:800}.lookup-hint.manual-entry-hint{color:#8b5a09;font-weight:800}.scanner-search-matches{margin-top:8px}.scanner-verification{border-radius:var(--radius);background:var(--green-soft);border:1px solid #91ae99;margin-top:17px;padding:17px}.scanner-verification>header{border-bottom:1px solid #d5e0d7;justify-content:space-between;align-items:center;gap:15px;padding-bottom:12px;display:flex}.scanner-verification h3{font-family:var(--font-display);margin:0;font-size:24px}.scanner-verification>header button{color:var(--muted);text-transform:uppercase;cursor:pointer;background:0 0;border:0;font-size:9px;font-weight:900}.verification-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:15px 0;display:grid}.verification-grid small,.verification-grid strong{display:block}.verification-grid small,.verification-siblings>small{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-size:8px;font-weight:900}.verification-grid strong{overflow-wrap:anywhere;margin-top:4px;font-size:11px}.verification-siblings{border-top:1px solid #d5e0d7;padding-top:11px}.verification-siblings p{color:var(--ink);margin:5px 0 0;font-size:10px}.verification-note{border-left:3px solid var(--amber);color:#745225;background:#f7edd9;border-radius:0 8px 8px 0;margin:13px 0 0;padding:8px 10px;font-size:9px;line-height:1.45}kbd{font:inherit;background:#eeece5;border:1px solid #d9d5cc;border-radius:4px;padding:2px 5px;font-weight:700}.recent-panel{padding:24px}.panel-title,.section-heading{justify-content:space-between;align-items:center;gap:18px;display:flex}.panel-title h2,.section-heading h2,.admin-card h2{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:24px;font-weight:560}.panel-title small{color:var(--muted);max-width:230px;margin-top:4px;font-size:10px;display:block}.panel-title>span{background:var(--green-soft);color:var(--green);border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800}.scanner-offline-queue{background:#fff5cc;border:1px solid #d2a73d;border-radius:16px;margin-top:15px;padding:13px;box-shadow:0 12px 30px #5b3e051a}.scanner-offline-queue header{justify-content:space-between;align-items:center;gap:12px;display:flex}.scanner-offline-queue strong,.scanner-offline-queue small{display:block}.scanner-offline-queue strong{color:#745225;font-size:13px}.scanner-offline-queue small{color:#8d7041;margin-top:2px;font-size:9px}.scanner-offline-queue button{border-radius:var(--radius-sm);color:#fff;white-space:nowrap;cursor:pointer;background:#745225;border:0;padding:8px 11px;font-size:9px;font-weight:900}.scanner-offline-queue div:last-child{gap:6px;margin-top:10px;display:grid}.scanner-offline-queue p{color:var(--ink);align-items:center;gap:7px;margin:0;font-size:10px;font-weight:800;display:flex}.scanner-offline-queue p span{color:#745225;text-transform:uppercase;letter-spacing:.04em;background:#74522521;border-radius:999px;padding:3px 7px;font-size:8px}.recent-list{margin-top:17px}.recent-list article{cursor:pointer;border-top:1px solid #e5e1d9;border-radius:12px;padding:13px 0}.recent-list article.selected{background:#f0f6f1;margin:0 -9px;padding-left:9px;padding-right:9px;box-shadow:inset 0 0 0 1px #cfe0d2}.recent-card-main{grid-template-columns:48px 1fr auto;align-items:center;gap:12px;display:grid}.recent-list article.cleared{opacity:.48}.recent-list article.disabled-car{background:var(--yellow-soft);border-radius:12px;margin:0 -9px;padding-left:9px;padding-right:9px}.tag-badge{background:var(--green-soft);height:42px;color:var(--green);border-radius:10px;place-items:center;font-size:11px;font-weight:900;display:grid}.recent-list article.disabled-car .tag-badge{color:#fff;background:#bf8317}.recent-list strong,.recent-list small{display:block}.recent-list strong{font-size:13px}.recent-list small{color:var(--muted);margin-top:3px;font-size:10px}.recent-list b{color:var(--green);background:#eff5ef;border-radius:7px;padding:6px 8px;font-size:11px}.scanner-card-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px;display:grid}.scanner-card-actions button{background:var(--paper);color:var(--ink);border-radius:var(--radius-sm);border:1px solid #cfdbd1;justify-content:center;align-items:center;gap:6px;padding:8px 6px;font-size:10px;font-weight:900;display:flex}.scanner-card-actions button strong{background:var(--green);width:20px;height:20px;color:var(--accent-on);border:1px solid var(--border);border-radius:0;place-items:center;margin:0;font-size:13px;display:inline-grid}.scanner-card-actions button.danger strong{background:var(--red)}.scanner-card-actions button span{white-space:nowrap}.grade-picker{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.grade-picker button,.group-tabs button{border:1px solid var(--line);background:var(--paper);border-radius:var(--radius-sm);cursor:pointer;padding:9px 13px;font-size:11px;font-weight:800}.grade-picker button.active{border-color:var(--border);background:var(--green);color:var(--accent-on)}.grade-layout{grid-template-columns:minmax(0,1.6fr) minmax(300px,.72fr);align-items:start;gap:24px;display:grid}.section-heading{margin-bottom:16px}.section-heading p{color:var(--muted);margin:4px 0 0;font-size:11px}.legend{color:var(--muted);align-items:center;gap:6px;font-size:10px;display:flex}.ready-dot,.absent-dot{background:#43a978;border-radius:50%;width:8px;height:8px;display:inline-block}.absent-dot{background:#bd6a64;margin-left:9px}.student-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.student-card{text-align:left;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);cursor:pointer;min-height:154px;padding:18px;transition:all .18s}.student-card:hover{box-shadow:var(--shadow);border-color:#a8bbaa;transform:translateY(-2px)}.student-card.ready{background:var(--green-soft);border-color:#82b99a}.student-card.absent{background:var(--red-soft);border-color:#d9aaa5}.student-card .group-pill{color:var(--green);text-transform:uppercase;letter-spacing:.07em;background:#edf5ef;border-radius:6px;padding:5px 8px;font-size:9px;font-weight:900;display:inline-block}.student-card strong,.student-card small{display:block}.student-card strong{font-family:var(--font-display);margin-top:16px;font-size:22px}.student-card small{color:var(--muted);margin-top:4px;font-size:10px}.student-card .status-action{color:var(--green);text-transform:uppercase;letter-spacing:.05em;margin-top:14px;font-size:10px;font-weight:900;display:block}.grade-section-heading{margin-top:4px}.staff-name-bar{border:1px solid var(--line,#d8dde3);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px;padding:10px 12px;display:flex}.staff-name-bar p{margin:0;font-size:13px}.staff-name-bar button:disabled{opacity:.6;cursor:not-allowed}.manual-call-stack{gap:9px;margin:0 0 16px;display:grid}.manual-call-popup{background:#fff4c8;border:1px solid #d2a73d;border-radius:16px;grid-template-columns:minmax(0,1fr) 38px;align-items:stretch;display:grid;overflow:hidden;box-shadow:0 12px 32px #5b3e051f}.manual-call-name{color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;padding:13px 15px}.manual-call-name strong,.manual-call-name span{display:block}.manual-call-name strong{font-family:var(--font-display);font-size:22px}.manual-call-name span{color:#745225;margin-top:2px;font-size:10px;font-weight:850}.manual-call-close{color:#745225;cursor:pointer;background:#ffffff73;border:0;border-left:1px solid #7452252e;font-size:22px;font-weight:850}.manual-call-popup button:hover{background:#ffffff8c}.grade-groups{gap:16px;display:grid}.grade-group{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden}.grade-group.alerted{border:2px solid var(--red);box-shadow:0 0 0 5px #b93a391a}.grade-group.daycare-group{border-color:var(--green);background:var(--green-soft)}.grade-group.daycare-group>header{background:var(--green)}@supports (color:color-mix(in lab, red, red)){.grade-group.daycare-group>header{background:color-mix(in srgb, var(--green) 18%, var(--paper))}}.grade-group>header{background:var(--well);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;min-height:58px;padding:12px 18px;display:flex}.grade-group>header div{align-items:center;gap:10px;display:flex}.grade-group>header strong{color:var(--muted);font-size:11px}.grade-group>header>small{color:var(--green);text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:900}.grade-group .group-pill{color:var(--accent-on);background:var(--green);border:1px solid var(--border);text-transform:uppercase;letter-spacing:.07em;border-radius:0;padding:7px 10px;font-size:10px;font-weight:900;display:inline-block}.grade-group .daycare-pill{background:var(--green-dark)}.group-student-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px;display:grid}.group-student{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--well);text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;justify-content:space-between;align-items:center;gap:14px;min-height:84px;padding:15px;display:flex;position:relative;overflow:hidden}.group-student:hover{border-color:#9db3a3}.group-student>span strong,.group-student>span small{display:block}.group-student>span strong{font-family:var(--font-display);font-size:20px}.group-student>span small{color:var(--muted);margin-top:4px;font-size:9px}.group-student>b{color:var(--green);letter-spacing:.06em;white-space:nowrap;font-size:8px}.group-student>i{background:var(--red);width:0;height:3px;position:absolute;bottom:0;left:0}.group-student:active>i{width:100%;transition:width 1s linear}.group-student.ready{background:var(--green-soft);border-color:#86b99b}.group-student.absent{background:var(--red-soft);opacity:.72;border-color:#d7a39d}.group-student.absent>span{text-decoration:line-through}.group-student.alerted{border-color:var(--red);background:#ffe5e0;animation:1.1s infinite alertPulse}.group-student.alerted>b{color:var(--red)}.grade-group.disabled-car{border-color:#d2a51a;box-shadow:0 0 0 3px #f3c84533}.group-student.disabled-car{background:var(--yellow-soft);box-shadow:inset 4px 0 0 var(--yellow);border-color:#d0a11a}.group-student.disabled-car>b{color:#94610d}.grade-alert-banner,.grade-hold-banner{color:#fff;border-radius:16px;align-items:center;gap:14px;margin:-6px 0 22px;padding:16px 19px;display:flex;box-shadow:0 12px 28px #82181940}.grade-alert-banner{background:var(--red)}.grade-hold-banner{color:#241805;background:#b57a16;box-shadow:0 12px 28px #8f5e0a38}.grade-alert-banner>span,.grade-hold-banner>span{background:#fff;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:20px;font-weight:900;display:grid}.grade-alert-banner>span{color:var(--red)}.grade-hold-banner>span{color:#9b670d}.grade-alert-banner strong,.grade-alert-banner small,.grade-hold-banner strong,.grade-hold-banner small{display:block}.grade-alert-banner strong,.grade-hold-banner strong{font-family:var(--font-display);font-size:19px}.grade-alert-banner small{color:#ffd8d3;margin-top:3px;font-size:10px}.grade-hold-banner small{color:#4f3509;margin-top:3px;font-size:10px}.grade-emergency{animation:1.2s ease-in-out infinite gradeEmergencyBg}.roster-panel{padding:22px}.teacher-roster{margin-top:20px}.teacher-roster h3{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);justify-content:space-between;align-items:center;margin:0 0 6px;font-size:11px;display:flex}.teacher-roster h3 span{background:var(--well);border-radius:999px;padding:3px 7px}.teacher-roster button{border:0;border-top:1px solid var(--line);cursor:pointer;background:0 0;border-radius:0;justify-content:space-between;gap:10px;width:100%;padding:10px 2px;font-size:12px;display:flex}.teacher-roster button:hover{color:var(--green)}.teacher-roster button.absent{color:var(--red);opacity:.68;text-decoration:line-through}.teacher-roster button b{color:var(--green);font-size:9px;text-decoration:none}.teacher-roster button.absent b{color:var(--red)}.big-stat{align-items:center;gap:10px;display:flex}.big-stat span{font-family:var(--font-display);color:var(--green);font-size:46px;line-height:1}.big-stat small{color:var(--muted);letter-spacing:.12em;font-size:8px;font-weight:800;line-height:1.4}.group-tabs{gap:8px;margin-bottom:18px;padding-bottom:2px;display:flex;overflow-x:auto}.group-tabs button{border-radius:var(--radius-sm);min-width:108px;padding:11px 18px}.group-tabs button small{color:var(--muted);letter-spacing:.13em;margin-bottom:3px;font-size:7px;display:block}.group-tabs button.active{background:var(--green);border-color:var(--border);color:var(--accent-on)}.group-tabs button.active small{color:var(--accent-on);opacity:.75}.group-tabs button.daycare-tab{border-style:dashed}.group-tabs button.daycare-tab.active{background:var(--green-dark);border-color:var(--green-dark)}.chaperone-card{overflow:hidden}.chaperone-header{border-bottom:1px solid var(--line);grid-template-columns:76px 1fr auto;align-items:center;gap:18px;padding:24px 28px;display:grid}.group-number{background:var(--green);width:70px;height:70px;color:var(--accent-on);border-radius:var(--radius);border:var(--border-width) solid var(--border);font-family:var(--font-display);place-items:center;font-size:39px;display:grid}.group-number.daycare-number{background:var(--green-dark)}.chaperone-header h2{font-family:var(--font-display);margin:0;font-size:27px}.chaperone-header p:not(.eyebrow){color:var(--muted);margin:4px 0 0;font-size:11px}.claim-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:11px;display:flex}.claim-heading-start{flex-wrap:wrap;align-items:center;gap:11px;min-width:0;display:flex}.claim-heading-start button{border-radius:var(--radius-sm);background:var(--green-soft);color:var(--green);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;border:1px solid #9fb7a8;padding:7px 10px;font-size:8px;font-weight:950}.claim-heading .dismiss-group{margin-left:auto;padding:10px 16px;font-size:12px}.claim-heading .dismiss-group.release-ready{background:var(--green);color:var(--accent-on)}.claim-heading .dismiss-group:disabled{background:var(--well);color:var(--muted);opacity:1}.remembered-claims{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.remembered-claims button{border-radius:var(--radius-sm);background:var(--paper);color:var(--green);cursor:pointer;border:1px solid #d4d9d1;padding:6px 9px;font-size:8px;font-weight:900}.remembered-claims button:hover{background:var(--green-soft);border-color:#9fb7a8}.progress-ring{--progress:0deg;background:conic-gradient(var(--green) var(--progress), var(--well) 0);border-radius:50%;place-items:center;width:70px;height:70px;display:grid;position:relative}.progress-ring:before{content:"";background:var(--paper);border-radius:50%;position:absolute;inset:7px}.progress-ring div{text-align:center;position:relative}.progress-ring strong,.progress-ring small{display:block}.progress-ring strong{font-size:13px}.progress-ring small{color:var(--muted);text-transform:uppercase;font-size:7px}.vehicle-order{padding:0 28px}.vehicle-order article{border-bottom:1px solid var(--line);grid-template-columns:36px 120px 1fr;align-items:center;gap:15px;padding:16px 0;display:grid}.vehicle-order article.disabled-car{background:var(--yellow-soft);border-bottom-color:#e7c756;border-radius:14px;margin:0 -12px;padding:16px 12px}.order-index{background:var(--well);border-radius:50%;place-items:center;width:38px;height:38px;font-size:20px;font-weight:900;display:grid}.vehicle-meta strong,.vehicle-meta small{display:block}.vehicle-meta strong{font-size:12px}.vehicle-meta small{color:var(--muted);margin-top:3px;font-size:9px}.vehicle-order article.disabled-car .order-index{color:#fff;background:#bf8317}.vehicle-order article.disabled-car .vehicle-meta small{color:#81540a;text-transform:uppercase;letter-spacing:.04em;font-weight:900}.mini-action{border-radius:var(--radius-sm);color:#8b5a09;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;background:#fff;border:1px solid #c3931d;margin-top:7px;padding:6px 8px;font-size:8px;font-weight:950}.chaperone-students{flex-wrap:wrap;gap:8px;display:flex}.chaperone-students button{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--well);text-align:left;cursor:pointer;flex:190px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.chaperone-students button span{font-size:12px;font-weight:800}.chaperone-students button small{color:var(--muted);margin-top:2px;font-size:8px;display:block}.chaperone-students button b{color:var(--muted);white-space:nowrap;font-size:8px}.chaperone-students button.ready{background:var(--green-soft);border-color:#8dbea1}.chaperone-students button.ready b{color:var(--green)}.chaperone-students button.absent{opacity:.58;text-decoration:line-through}.chaperone-students button.alerted{background:var(--red-soft);border-color:#d58a83;animation:1.5s infinite alertPulse}.chaperone-students button.alerted b{color:var(--red)}.chaperone-students button.disabled-car{opacity:1;cursor:default;background:#ffeaa0;border-color:#c99c1a}.chaperone-students button.disabled-car b{color:#865a0d}.daycare-chaperone-list{padding:24px 28px}.daycare-chaperone-list .group-student{flex:260px}.depart-bar{background:var(--well);justify-content:space-between;align-items:center;gap:24px;padding:20px 28px;display:flex}.depart-bar strong,.depart-bar span{display:block}.depart-bar strong{font-size:13px}.depart-bar span{color:var(--muted);margin-top:3px;font-size:10px}.depart-bar.locked{background:#f3f0e9}.depart-bar.locked button{opacity:.45;cursor:not-allowed;box-shadow:none}.tardy-title-row{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.tardy-title-row h1{margin:0}.kiosk-open{letter-spacing:.08em;min-width:108px}.app-shell.tardy-kiosk-mode{background:var(--bone);min-height:100dvh}.tardy-kiosk{align-content:center;justify-items:center;gap:36px;min-height:100dvh;padding:40px 24px 80px;display:grid}.tardy-kiosk-clock{font-family:var(--font-display);letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:clamp(48px,10vw,96px);font-weight:560;line-height:1}.tardy-kiosk-search{width:min(720px,100%);margin-top:0}.tardy-kiosk-search input{min-height:64px;padding:14px 16px;font-size:28px}.tardy-kiosk-done{text-align:center;gap:16px;width:min(720px,100%);display:grid}.tardy-kiosk-done p{margin:0;font-size:28px;font-weight:650;line-height:1.35}.tardy-kiosk-done strong{color:var(--green)}.tardy-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}.tardy-card{min-height:520px}.tardy-search{margin-top:18px}.tardy-selected{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);margin-top:18px;padding:19px}.tardy-selected.already{background:var(--well);border-color:var(--line)}.tardy-selected header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;padding-bottom:13px;display:flex}.tardy-selected-name{align-items:center;gap:14px;min-width:0;display:flex}.tardy-selected-name .student-photo{flex:none;width:72px;height:72px}.tardy-selected h3{font-family:var(--font-display);margin:0;font-size:28px}.tardy-note{border-left:3px solid var(--line);background:var(--well);color:var(--ink);border-radius:0 9px 9px 0;margin:4px 0 16px;padding:10px 12px;font-size:11px;line-height:1.5}.tardy-note.improving{border-left-color:var(--green);background:var(--green-soft)}.tardy-note.increased{border-left-color:var(--red);background:var(--red-soft)}.tardy-summary-row{gap:8px;margin:14px 0 11px;display:flex}.tardy-summary-row span{background:var(--well);color:var(--ink);text-align:center;text-transform:uppercase;letter-spacing:.05em;border-radius:999px;flex:1;padding:7px 10px;font-size:9px;font-weight:900}.tardy-summary-row span:first-child{background:var(--green-soft);color:var(--green)}.tardy-summary-row span:last-child{background:var(--red-soft);color:var(--red)}.tardy-list{gap:8px;display:grid}.tardy-list button{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);text-align:left;cursor:pointer;color:var(--ink);padding:12px 13px}.tardy-list strong,.tardy-list small{display:block}.tardy-list strong{font-family:var(--font-display);font-size:18px}.tardy-list small{color:var(--muted);margin-top:2px;font-size:9px}.tardy-name{align-items:baseline;gap:6px;display:inline-flex}.tardy-name.improving,.tardy-trend.improving{color:var(--green)}.tardy-name.increased,.tardy-trend.increased{color:var(--red)}.tardy-arrow{font-weight:950}.tardy-trend{background:var(--well);color:var(--ink);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;align-items:center;gap:5px;margin-top:5px;padding:4px 7px;font-size:8px;font-weight:900;display:inline-flex}.tardy-trend.improving{background:var(--green-soft);color:var(--green)}.tardy-trend.increased{background:var(--red-soft);color:var(--red)}.chaperone-students .tardy-trend,.group-student .tardy-trend{display:inline-flex}.public-display{background:var(--bone);--display-face:var(--font-display);--display-name:clamp(22px, 3.2vw, 52px);--display-label:clamp(33px, 4vw, 70px);--display-next:clamp(20px, 2.5vw, 40px);flex-direction:column;height:100vh;min-height:100vh;display:flex;position:relative;overflow:hidden}.public-display[data-font=sans]{--display-face:var(--font-sans)}.public-display[data-font=system]{--display-face:system-ui, Arial, sans-serif}.public-display[data-size=s]{--display-name:clamp(16px, 2.4vw, 34px);--display-label:clamp(24px, 3vw, 48px);--display-next:clamp(16px, 2vw, 28px)}.public-display[data-size=l]{--display-name:clamp(28px, 4vw, 68px);--display-label:clamp(40px, 5vw, 88px);--display-next:clamp(26px, 3.2vw, 52px)}.public-display[data-size=xl]{--display-name:clamp(34px, 5vw, 84px);--display-label:clamp(48px, 6vw, 110px);--display-next:clamp(30px, 3.8vw, 64px)}.public-display[data-align=center] .display-names,.public-display[data-align=center] .display-lane-names,.public-display[data-align=center] .next-names,.public-display[data-align=center] .all-ready{text-align:center;justify-content:center;justify-items:center}.public-display[data-align=right] .display-names,.public-display[data-align=right] .display-lane-names,.public-display[data-align=right] .next-names,.public-display[data-align=right] .all-ready{text-align:right;justify-content:flex-end;justify-items:end}.exit-display{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;border-radius:var(--radius-sm);cursor:pointer;opacity:.25;background:#0a281c99;border:1px solid #ffffff59;padding:8px 13px;font-size:10px;font-weight:800;transition:all .2s;position:fixed;top:14px;right:14px}.public-display.has-clock .exit-display{left:14px;right:auto}.exit-display:hover{opacity:1}.display-clock{z-index:9;color:var(--muted);letter-spacing:.04em;font-size:clamp(13px,1.4vw,20px);font-weight:800;position:absolute;top:16px;right:22px}.display-banner{text-align:center;font-family:var(--display-face);color:var(--green);margin:0;padding:18px 24px 0;font-size:clamp(16px,2vw,28px);font-weight:700}.public-display.has-clock .display-banner{padding-top:52px}.public-display>.display-banner:last-child{padding:12px 24px 18px}.display-current{flex:65 1 0;grid-template-columns:180px 1fr;align-items:center;gap:clamp(30px,5vw,78px);min-height:0;padding:clamp(24px,4vw,60px);display:grid}.display-label span,.display-label b{display:block}.display-label span{color:var(--green);letter-spacing:.19em;font-size:clamp(10px,1vw,18px);font-weight:900}.display-label b{font-family:var(--display-face);font-size:var(--display-label);white-space:nowrap;margin-top:9px;line-height:.95}.display-names{grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;gap:clamp(9px,1.4vw,20px);display:grid}.display-names div{border-bottom:2px solid #d9d5cb;padding:clamp(7px,1.1vw,14px) 0}.display-names strong,.display-names span{display:block}.display-names strong{font-family:var(--display-face);font-size:var(--display-name);letter-spacing:-.03em;font-weight:580;line-height:1}.display-names span{color:var(--muted);margin-top:6px;font-size:clamp(9px,1vw,15px)}.display-names .last-call strong,.display-lane-names .last-call strong{color:var(--red);animation:1.15s steps(2,end) infinite blinkRed}.display-board{grid-template-columns:repeat(var(--display-lanes,2), minmax(0, 1fr));flex:auto;min-height:0;display:grid}.public-display.has-clock .display-board{padding-top:52px}.display-lane{border-left:var(--border-width) solid var(--border);flex-direction:column;gap:16px;min-width:0;min-height:0;padding:clamp(18px,2.4vw,36px);display:flex;overflow:auto}.display-lane:first-child{border-left:0}.display-lane.missing{animation:1.15s steps(2,end) infinite displayLaneAlert}.display-lane.missing .display-student-name{background:var(--surface);color:var(--ink)}@keyframes displayLaneAlert{50%{background:var(--red);color:var(--surface)}}.display-lane-title{font-family:var(--display-face);overflow-wrap:anywhere;margin:0;font-size:clamp(22px,2.4vw,52px);line-height:1}.display-lane-names{flex-direction:column;align-items:flex-start;gap:clamp(10px,1.4vw,18px);display:flex}.display-lane-names strong{font-family:var(--display-face);font-size:var(--display-name);letter-spacing:-.03em;font-weight:580;line-height:1.05}.display-extra{margin-left:.28em}.display-alert-bar{background:var(--red);color:var(--surface);letter-spacing:.08em;flex-wrap:wrap;align-items:center;gap:12px 18px;padding:12px 24px;font-weight:900;display:flex}.display-board-empty{flex:none;padding:0 24px 28px}.display-next{background:var(--green);color:var(--accent-on);flex:35 1 0;grid-template-columns:180px 1fr;align-items:center;gap:clamp(30px,5vw,78px);min-height:0;padding:clamp(22px,3.4vw,48px) clamp(24px,4vw,60px);display:grid}.display-next .display-label span{color:var(--accent-on);opacity:.72}.display-next .display-label b{font-size:calc(var(--display-label) * .78)}.next-names{flex-wrap:wrap;gap:10px 28px;display:flex}.next-names strong{font-family:var(--display-face);font-size:var(--display-next);font-weight:520}.display-next.has-alert{background:#9f3433;animation:1.6s ease-in-out infinite alertBg}.display-next.has-alert .display-label span{color:#ffd0ca}.alert-names{flex-wrap:wrap;gap:20px 38px;display:flex}.alert-names strong{font-family:var(--display-face);font-size:calc(var(--display-name) * 1.2)}.alert-names .display-student-name{display:inline-block}.alert-names small{font-family:var(--font-sans);color:#ffd9d4;text-transform:uppercase;letter-spacing:.09em;font-size:.36em}.all-ready{text-align:center}.all-ready>span{background:var(--green-soft);width:75px;height:75px;color:var(--green);font-family:var(--font-display);border-radius:50%;place-items:center;margin:0 auto 16px;font-size:36px;display:grid}.all-ready strong{font-family:var(--display-face);font-size:var(--display-label);display:block}.all-ready p{color:var(--muted);font-size:clamp(12px,1.4vw,20px)}.outline-button{border:var(--border-width) solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);cursor:pointer;box-shadow:4px 4px 0 var(--border);padding:11px 15px;font-size:11px;font-weight:800}.outline-button.danger{color:var(--red);border-color:#c18780}.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.session-reset{color:var(--accent-on);font-weight:900}.admin-page-tabs{top:calc(58px - var(--border-width));z-index:18;overscroll-behavior-x:contain;height:58px;width:var(--admin-bar-width,100%);margin:calc(-46px - var(--border-width)) calc(-1 * var(--admin-bar-shift,0px)) 24px;padding:0 0 0 var(--admin-tab-offset,0px);background:var(--bone);border-bottom:0;align-items:stretch;gap:0;display:flex;position:sticky;overflow-x:auto}.admin-page-tabs button{border:var(--border-width) solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;white-space:nowrap;border-radius:0;align-items:center;margin:0;padding:0 17px;font-size:13px;font-weight:700;display:flex}.admin-page-tabs button:first-child{width:var(--admin-tab-width,auto);flex:0 0 var(--admin-tab-width,auto);justify-content:center;padding-left:8px;padding-right:8px}.admin-page-tabs button+button{margin-left:calc(-1 * var(--border-width))}.admin-page-tabs button:hover{color:var(--accent-on);background:var(--accent-hover)}.admin-page-tabs button.active{color:var(--accent-on);background:var(--accent)}.kiosk-glass-card{gap:16px;display:grid}.kiosk-help-field{grid-column:1/-1}.kiosk-help-field textarea{resize:vertical;width:100%;min-height:84px;font:inherit;border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 12px}.glass-canvas-tools{flex-wrap:wrap;gap:8px;display:flex}.glass-tag-buttons{flex-wrap:wrap;gap:6px;display:flex}.glass-tag-buttons button{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--well);cursor:pointer;padding:6px 8px;font-size:11px;font-weight:800}.glass-tag-buttons button:disabled{opacity:.45;cursor:default}.glass-canvas{aspect-ratio:800/480;color:#111;touch-action:none;-webkit-user-select:none;user-select:none;background:#f4f1e8;border:1px solid #1a1a1a;width:min(100%,640px);margin:0 auto;position:relative;overflow:visible;box-shadow:inset 0 0 0 6px #d9d4c6}.glass-canvas-field{box-sizing:border-box;cursor:move;padding:8px;position:absolute}.glass-canvas-field.selected{outline:2px solid var(--green);outline-offset:0}.glass-lane-road{width:auto;max-width:100%;height:100%;margin-inline:auto;display:block}.glass-choice{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.glass-choice .primary-button,.glass-choice .outline-button{margin:0}.glass-field-fit,.glass-tag-chips,.glass-field-editor{text-align:center;white-space:pre-wrap;word-break:break-word;justify-content:center;align-items:center;width:100%;height:100%;font-weight:800;line-height:.95;display:flex;overflow:hidden}.glass-field-editor{box-sizing:border-box;cursor:text;-webkit-user-select:text;user-select:text;resize:none;width:100%;height:100%;color:inherit;background:0 0;border:0;outline:none;padding:0;font-weight:800;line-height:.95;display:block}.glass-field-resize{padding:0}.glass-tag-chips{white-space:nowrap;flex-wrap:wrap;gap:6px}.glass-tag-latest{outline:2px solid #111;padding:2px 6px}.glass-field-delete{color:#111;cursor:pointer;z-index:2;background:#fff;border:1px solid #111;border-radius:11px;width:22px;height:22px;font-size:16px;line-height:18px;position:absolute;top:-18px;left:50%;transform:translate(-50%)}.glass-field-resize{background:var(--green);border:1px solid var(--border);cursor:nwse-resize;width:12px;height:12px;position:absolute;bottom:-5px;right:-5px}.glass-mock{aspect-ratio:800/480;color:#111;background:#f4f1e8;border:1px solid #1a1a1a;grid-template-rows:70% 30%;width:min(100%,420px);margin:0 auto;display:grid;box-shadow:inset 0 0 0 6px #d9d4c6}.glass-mock-lane{align-content:center;place-items:center;gap:2px;display:grid}.glass-mock-lane strong{font-family:var(--font-display);letter-spacing:.04em;line-height:.85}.glass-mock.font-sans .glass-mock-lane strong{font-family:var(--font-sans)}.glass-mock.font-system .glass-mock-lane strong{font-family:ui-monospace,monospace}.glass-mock.size-sm .glass-mock-lane strong{font-size:clamp(28px,8vw,42px)}.glass-mock.size-md .glass-mock-lane strong{font-size:clamp(36px,10vw,56px)}.glass-mock.size-lg .glass-mock-lane strong{font-size:clamp(44px,12vw,68px)}.glass-mock.size-xl .glass-mock-lane strong{font-size:clamp(52px,14vw,84px)}.glass-mock-lane small{letter-spacing:.18em;font-size:.42em;font-weight:900}.glass-mock-bottom{border-top:2px solid #111;grid-template-columns:1fr 1fr;min-height:0;display:grid}.glass-mock-tags,.glass-mock-help{padding:8px 10px;font-size:11px;font-weight:800;line-height:1.35}.glass-mock-tags{letter-spacing:.04em;border-right:1px solid #111}.glass-mock-help{color:#222;font-weight:700}.simulation-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow);justify-content:space-between;align-items:center;gap:20px;margin-bottom:0;padding:14px 16px;display:flex}.simulation-card.active{color:var(--accent-on);border-color:var(--border);background:var(--green)}.simulation-card h2{font-family:var(--font-display);margin:0 0 6px;font-size:26px}.simulation-card p{max-width:780px;color:var(--muted);margin:0;font-size:11px;line-height:1.55}.simulation-card.active p{color:var(--accent-on)}.simulation-card.active .eyebrow{color:var(--accent-on);margin-bottom:6px}.simulation-card button{flex:none}.admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px;display:grid}.admin-metrics article{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);min-height:0;box-shadow:var(--shadow);align-items:center;gap:12px;padding:12px 14px;display:flex}.admin-metrics article>span{background:var(--green-soft);width:38px;height:38px;color:var(--green);border-radius:11px;flex:none;place-items:center;font-weight:900;display:grid}.admin-metrics small,.admin-metrics strong,.admin-metrics p{display:block}.admin-metrics small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:8px;font-weight:900}.admin-metrics strong{font-family:var(--font-display);margin-top:3px;font-size:26px;line-height:1}.admin-metrics p{color:var(--muted);margin:4px 0 0;font-size:8px}.session-history-card{margin-bottom:12px}.history-lane-tabs{margin:10px 0 8px}.session-history-list{gap:10px;margin-top:14px;display:grid}.session-history-list article{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--well);padding:12px 14px}.session-history-list article.open{border-color:var(--green)}.session-day-button{text-align:left;cursor:pointer;width:100%;color:inherit;background:0 0;border:0;border-radius:0;padding:0}.session-history-list strong,.session-history-list small{display:block}.session-history-list strong{font-family:var(--font-display);font-size:18px}.session-history-list small{color:var(--muted);margin-top:4px;font-size:10px}.session-day-detail{margin-top:12px}.session-day-detail p{color:var(--muted);margin:0;font-size:11px}.session-day-detail ol{gap:8px;margin:0;padding:0;list-style:none;display:grid}.session-day-detail li{border-top:1px solid var(--line);gap:2px;padding-top:8px;display:grid}.session-day-detail b{color:var(--green)}.session-day-detail span{font-size:13px;font-weight:800}.session-history-empty{margin:10px 0 0}.personalization-card{margin-bottom:0}.personalization-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0;display:grid}.personalization-card .personalization-mascot,.personalization-card .color-pair{grid-column:1/-1}.personalization-card .color-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.setup-grid .personalization-grid{flex-wrap:wrap;justify-content:flex-start;align-items:flex-start;gap:14px 28px;display:flex}.setup-grid .personalization-grid>:not(.color-pair){flex:0 240px;max-width:240px}.setup-grid .personalization-card .personalization-mascot,.setup-grid .personalization-card .color-pair{grid-column:auto}.setup-grid .personalization-card .color-pair{flex-wrap:wrap;flex:none;gap:14px 28px;width:auto;max-width:100%;display:flex}.setup-grid .color-pair>label{width:160px;max-width:160px}.setup-grid .personalization-card .color-pair{grid-template-columns:max-content max-content;justify-content:start}.setup-grid .personalization-grid input,.setup-grid .personalization-grid select,.setup-grid .lane-name-list input,.setup-grid .lane-locks-column input{justify-self:start;width:min(100%,240px)}.setup-grid .personalization-grid input[type=color]{width:72px;height:42px}.setup-grid .lane-name-list,.setup-grid .lane-locks-table{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),220px));justify-content:start}.setup-grid .dual-steppers{grid-template-columns:repeat(auto-fit,minmax(140px,160px));justify-content:start}.setup-grid .reprint-actions{grid-template-columns:repeat(auto-fit,minmax(140px,180px));justify-content:start}.add-student-actions{flex-wrap:wrap;justify-content:flex-start;gap:8px;display:flex}.add-student-actions .primary-button,.add-student-actions .outline-button{width:auto}.add-student-note{color:var(--muted);margin:10px 0 0;font-size:12px}.roster-filters{flex-wrap:wrap;align-items:end;gap:12px 16px;margin:16px 0;display:flex}.roster-filters label{gap:6px;font-size:11px;font-weight:800;display:grid}.roster-filters input,.roster-filters select{border:var(--border-width) solid var(--border);background:var(--surface);color:var(--ink);font:inherit;border-radius:0;min-width:180px;padding:8px 10px;font-weight:700}.roster-grade-filter{flex-wrap:wrap;display:flex}.roster-grade-filter button{border:var(--border-width) solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:0;margin:0;padding:8px 12px;font-size:12px;font-weight:700}.roster-grade-filter button+button{margin-left:calc(-1 * var(--border-width))}.roster-grade-filter button.active{background:var(--accent);color:var(--accent-on)}.school-sort{color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:0;border-radius:0;padding:0}.school-roster tbody tr{cursor:pointer}.school-roster tbody tr.editing,.school-roster tbody tr.roster-edit-extra{cursor:default;background:var(--surface);color:var(--ink)}.school-roster .roster-field{border:var(--border-width) solid var(--border);background:var(--paper);width:100%;color:var(--ink);font:inherit;border-radius:0;padding:6px 8px;font-size:12px}.roster-photo-field{cursor:pointer;justify-items:start;gap:4px;display:grid}.roster-photo-field input{display:none}.roster-photo-field small{font-size:9px;font-weight:800}.roster-edit-fields{flex-wrap:wrap;gap:10px 16px;display:flex}.roster-edit-fields label{flex:180px;gap:4px;max-width:280px;font-size:11px;font-weight:800;display:grid}.student-photo{object-fit:cover;border:var(--border-width) solid var(--border);background:var(--surface);border-radius:0;width:72px;height:72px;display:block}.school-roster td .student-photo{width:36px;height:36px}.personalization-grid label,.lane-name-list label{gap:6px;font-size:11px;font-weight:800;display:grid}.personalization-grid input,.personalization-grid select,.lane-name-list input{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bone);padding:10px 12px;font-weight:700}.personalization-grid input[type=color]{cursor:pointer;height:42px;padding:4px}.personalization-grid small{color:var(--muted);font-size:10px;font-weight:600}.personalization-grid .stepper{margin-top:8px}.personalization-grid .stepper strong{font-size:32px}.corner-picker{gap:8px;display:grid}.corner-options{gap:8px;display:flex}.corner-options button{border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;background:0 0;place-items:center;width:40px;height:40px;padding:0;display:grid}.corner-options button.active{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.corner-swatch{background:0 0;border-top:2px solid #111;border-bottom:0;border-left:0;border-right:2px solid #111;width:18px;height:18px}.lane-name-list{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:16px 0 0;display:grid}.lane-setup{align-content:start;gap:8px;display:grid}.lane-outside-cap{gap:6px;display:grid}.lane-outside-cap small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:8px;font-weight:950}.lane-outside-cap .stepper{grid-template-columns:36px 48px 36px;width:max-content;margin-top:0}.lane-outside-cap .stepper button{width:36px;height:36px}.lane-outside-cap .stepper strong{font-size:28px}.lane-locks-table{gap:12px;margin:16px 0 0;display:grid}.lane-locks-column{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--well);align-content:start;gap:10px;padding:12px;display:grid}.lane-locks-column>strong{font-family:var(--font-display);font-size:20px}.lane-locks-column ul{gap:6px;min-height:36px;margin:0;padding:0;list-style:none;display:grid}.lane-locks-column li{border:1px solid var(--line);background:var(--paper);border-radius:8px;grid-template-columns:1fr 36px;align-items:center;gap:6px;padding:6px 6px 6px 10px;font-weight:800;display:grid}.lane-locks-column li button{cursor:pointer;width:36px;height:36px;color:var(--muted);background:0 0;border:0;font-size:22px}.lane-locks-column label{gap:6px;font-size:11px;font-weight:800;display:grid}.lane-locks-column input{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bone);letter-spacing:.12em;padding:10px 12px;font-weight:700}.admin-card{padding:14px 16px}.admin-card>p:not(.eyebrow){color:var(--muted);font-size:12px;line-height:1.6}.admin-card.wide{grid-column:1/-1}.program-tags-live{grid-template-columns:1fr 120px;gap:10px;margin:14px 0 10px;display:grid}.program-tags-live div{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--well);padding:10px 12px}.program-tags-live small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:8px;font-weight:950;display:block}.program-tags-live strong{word-break:break-all;margin-top:6px;font-size:14px;display:block}.program-tags-status{margin:0 0 12px!important}.program-tags-pad{grid-template-columns:repeat(3,1fr);gap:8px;max-width:320px;display:grid}.program-tags-entry{letter-spacing:.28em;border:1px solid var(--line);background:var(--well);border-radius:12px;grid-column:1/-1;place-items:center;min-height:52px;font-size:28px;font-weight:800;display:grid}.program-tags-pad button{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);cursor:pointer;min-height:52px;font-size:20px;font-weight:800}.tag-job-tools{gap:10px;margin-top:16px;display:grid}.tag-job-tools label{gap:6px;font-size:11px;font-weight:800;display:grid}.tag-job-tools input,.tag-job-tools select{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);width:100%;color:var(--ink);font:inherit;padding:10px 12px;font-weight:700}.tag-job-actions{flex-wrap:wrap;gap:8px;display:flex}.tag-job-actions .primary-button,.tag-job-actions .outline-button{margin:0}.tag-match-list,.tag-written-list,.tag-batch-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.tag-batch-list{max-height:280px;overflow:auto}.tag-match-list button,.tag-written-list li,.tag-batch-list li{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);text-align:left;padding:8px 10px}.tag-match-list button{cursor:pointer;font-weight:800}.tag-batch-list li,.tag-written-list li{grid-template-columns:64px 1fr auto;align-items:center;gap:8px;display:grid}.tag-batch-list li.done{background:var(--green-soft)}.tag-match-list small,.tag-written-list small,.tag-batch-list small,.tag-job-tools>div>small{color:var(--muted);font-size:11px;font-weight:700}.tag-job-tools>div>small{letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:8px;font-weight:950;display:block}.glass-confirm-row{justify-content:flex-end;align-items:center;gap:10px;margin-top:16px;display:flex}.glass-confirm-row .setup-confirm{margin:0}.kiosk-glass-card .scanner-status{margin-top:12px}.admin-card .setup-confirm{width:fit-content;min-width:132px;margin:16px 0 0 auto;display:block}.kiosk-glass-card .glass-confirm-row .setup-confirm{margin:0}.webex-card{border-color:var(--line);background:var(--paper)}.webex-card.active{border-color:var(--green);background:var(--green-soft)}.webex-toggles{gap:12px;margin-top:18px;display:grid}.webex-toggle-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.webex-toggle-row small{color:var(--ink);font-size:14px;font-weight:800}.webex-toggle-row .webex-toggle{margin-top:0}.stepper{grid-template-columns:46px 1fr 46px;align-items:center;gap:8px;margin-top:25px;display:grid}.stepper button{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--well);cursor:pointer;width:46px;height:46px;font-size:22px}.stepper strong{text-align:center;font-family:var(--font-display);font-size:44px}.dual-steppers{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-top:20px;display:grid}.dual-steppers>div{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--well);padding:12px}.dual-steppers small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:8px;font-weight:950;display:block}.dual-steppers .stepper{grid-template-columns:40px 1fr 40px;gap:6px;margin-top:8px}.dual-steppers .stepper button{width:40px;height:40px}.dual-steppers .stepper strong{font-size:34px}.upload-zone{border:1.5px dashed var(--line);border-radius:var(--radius);background:var(--well);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;min-height:145px;margin-top:18px;display:flex}.upload-zone input{display:none}.upload-zone>span{color:var(--green);font-size:23px}.upload-zone strong{margin-top:4px;font-size:12px}.upload-zone small{color:var(--muted);margin-top:4px;font-size:9px}.upload-zone.disabled{cursor:not-allowed;opacity:.58}.roster-preview{gap:10px;margin-top:14px;display:grid}.roster-preview p{margin:0;font-size:12px}.roster-preview small{color:var(--muted);font-size:10px;line-height:1.45;display:block}.pending-matches{gap:8px;display:grid}.pending-matches article{background:#fff9df;border:1px solid #d8c26d;border-radius:12px;padding:10px 12px}.pending-matches p,.pending-matches small{margin:0;display:block}.pending-matches p{font-size:13px;font-weight:800}.pending-matches small{color:#76550f;margin:4px 0 8px}.pending-matches article>div:last-child{flex-wrap:wrap;gap:8px;display:flex}.pending-matches button{border-radius:var(--radius-sm);cursor:pointer;background:#fff;border:1px solid #d0a11a;padding:7px 10px;font-size:11px;font-weight:800}.pending-matches button.active{background:var(--yellow)}.family-members{gap:8px;margin:8px 0;display:grid}.family-member{align-items:flex-start;gap:8px;display:flex}.family-member input{margin-top:4px}.family-member b{font-size:12px;display:block}.family-member small{color:#76550f;margin:2px 0 4px;display:block}.field-fits{flex-wrap:wrap;gap:4px;display:flex}.field-fit{border-radius:999px;padding:2px 7px;font-size:9px;font-weight:800}.field-fit.match{color:#1d6b32;background:#d9f2df}.field-fit.mismatch{color:#9b2416;background:#ffd9d4}.field-fit.empty{color:#666;background:#eee}.table-wrap tr.family-highlight{background:#fff3bf}.outline-button.full{width:100%}.csv-actions{gap:12px;margin-top:18px;display:grid}.csv-actions .upload-zone{margin-top:0}.reprint-actions{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:16px}.reprint-actions .primary-button{width:100%;margin-top:0}.family-tag-notice{background:#f4faf4;border:1px solid #9bb7a5;border-radius:16px;justify-content:space-between;align-items:flex-start;gap:12px;margin:16px 0 0;padding:14px;display:flex}.family-tag-notice .eyebrow{margin:0 0 4px}.family-tag-notice strong{font-size:14px;line-height:1.35;display:block}.family-tag-notice button{border:var(--border-width) solid var(--border);border-radius:var(--radius-sm);background:var(--green);color:var(--accent-on);white-space:nowrap;cursor:pointer;padding:8px 11px;font-size:9px;font-weight:900}.privacy-note{color:var(--green);background:var(--green-soft);border-radius:999px;padding:6px 10px;font-size:9px;font-weight:800}.table-wrap{margin-top:12px;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:830px}th{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;text-align:left;border-bottom:1px solid var(--line);padding:10px 9px;font-size:8px}td{border-bottom:1px solid #e9e5dd;padding:12px 9px;font-size:11px}td strong{font-size:12px}td small{color:var(--muted);margin-top:3px;font-size:9px;display:block}.mini-tag{color:var(--green);background:var(--green-soft);border-radius:6px;padding:4px 7px;display:inline-block}.status-chip{color:var(--muted);text-transform:uppercase;background:#e8e7e1;border-radius:999px;padding:4px 7px;font-size:8px;font-weight:900;display:inline-block}.status-chip.ready{background:var(--green-soft);color:var(--green)}.status-chip.absent{background:var(--red-soft);color:var(--red)}.status-chip.outside,.status-chip.departed{color:#315f83;background:#dfe9f3}.status-chip.disabled-car{background:var(--yellow-soft);color:#8b5a09}.roster-tabs{border-bottom:1px solid var(--line);gap:5px;margin-top:18px;display:flex}.roster-tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;border-radius:0;padding:11px 15px;font-size:11px;font-weight:900}.roster-tabs button.active{color:var(--green);border-bottom-color:var(--green)}.roster-tabs button span{background:#e8e6df;border-radius:999px;margin-left:4px;padding:3px 6px;font-size:8px}.compact-empty{min-height:150px;color:var(--muted);place-items:center;font-size:11px;display:grid}.compact-empty.small{min-height:94px}.queue-correction-list{gap:8px;max-height:260px;margin-top:16px;padding-right:3px;display:grid;overflow:auto}.queue-correction-list article{border:1px solid var(--line);background:#fbfaf5;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;display:flex}.queue-correction-list article.disabled-car{background:var(--yellow-soft);border-color:#d0a11a}.queue-correction-list strong,.queue-correction-list small{display:block}.queue-correction-list strong{font-family:var(--font-display);font-size:17px}.queue-correction-list small{color:var(--muted);margin-top:2px;font-size:9px}.queue-correction-list button{border-radius:var(--radius-sm);background:var(--red-soft);color:var(--red);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;border:1px solid #d1a5a0;flex:none;padding:8px 11px;font-size:8px;font-weight:950}.queue-correction-list button:hover{border-color:var(--red);background:#f5d4cf}.student-search{padding-top:18px}.search-tools{grid-template-columns:220px 1fr;align-items:start;gap:18px;display:grid}.badge-scanner{aspect-ratio:1;background:#e8ede7;border-radius:15px;place-items:center;width:min(100%,220px);display:grid;position:relative;overflow:hidden}.badge-scanner>span{color:var(--green);font-size:42px}.badge-scanner video{object-fit:cover;width:100%;height:100%}.badge-scanner button{border:1px solid var(--green);border-radius:var(--radius-sm);color:var(--green);white-space:nowrap;cursor:pointer;background:#fffdf8f0;padding:7px 11px;font-size:8px;font-weight:900;position:absolute;bottom:9px;left:50%;transform:translate(-50%)}.search-field{position:relative}.search-field>label{margin-bottom:7px;font-size:10px;font-weight:900;display:block}.search-field>input{background:#fff;border:1px solid #c8ccc8;border-radius:13px;width:100%;padding:15px 17px;font-size:16px;font-weight:700}.search-field>small{color:var(--muted);margin-top:7px;font-size:9px;display:block}.search-matches{z-index:3;border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:12px;margin-top:7px;position:relative;overflow:hidden}.search-matches button{text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #ece8e0;border-radius:0;justify-content:space-between;align-items:center;gap:15px;width:100%;padding:10px 12px;display:flex}.search-matches button:hover{background:var(--green-soft)}.search-matches strong,.search-matches small{display:block}.search-matches strong{font-size:11px}.search-matches small{color:var(--muted);margin-top:2px;font-size:8px}.search-matches b{color:var(--green);font-size:9px}.student-detail{border-radius:var(--radius);background:var(--green-soft);border:1px solid #a6b9aa;margin-top:18px;padding:19px}.student-detail>header{border-bottom:1px solid #d9e1da;justify-content:space-between;align-items:center;gap:15px;padding-bottom:13px;display:flex}.student-detail h3{font-family:var(--font-display);margin:0;font-size:25px}.detail-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;padding:17px 0;display:grid}.detail-grid div{min-width:0}.detail-grid small,.detail-grid strong{display:block}.detail-grid small,.sibling-list>small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:8px;font-weight:900}.detail-grid strong{word-break:break-word;margin-top:4px;font-size:11px}.detail-grid .email{grid-column:span 2}.sibling-list{border-top:1px solid #d9e1da;padding-top:13px}.sibling-list button{border:1px solid var(--line);border-radius:var(--radius-sm);text-align:left;cursor:pointer;background:#fff;width:100%;margin-top:7px;padding:9px 11px;font-size:10px;font-weight:800;display:block}.sibling-list button span{color:var(--muted);margin-left:8px;font-weight:500}.sibling-list p{color:var(--muted);margin:7px 0 0;font-size:10px}.empty-state{border:var(--border-width) solid var(--border);min-height:250px;box-shadow:var(--elev-raised);background:var(--surface);text-align:center;color:var(--muted);border-radius:0;flex-direction:column;justify-content:center;align-items:center;padding:30px;display:flex}.empty-state>span{border:var(--border-width) solid var(--border);background:var(--accent);width:50px;height:50px;color:var(--accent-on);box-shadow:4px 4px 0 var(--border);border-radius:0;place-items:center;font-size:22px;display:grid}.empty-state strong{color:var(--ink);font-family:var(--font-display);margin-top:12px;font-size:20px}.empty-state p{margin:5px 0 0;font-size:11px}.loading-state{min-height:70vh;color:var(--muted);place-content:center;justify-items:center;display:grid}.loading-mark{animation:1.3s ease-in-out infinite loadPulse}.loading-state p{margin-top:13px;font-size:12px}.toast{z-index:100;background:var(--ink);width:min(370px,100% - 44px);color:var(--surface);border:var(--border-width) solid var(--border);box-shadow:var(--elev-raised);border-radius:0;grid-template-columns:28px 1fr auto;align-items:center;gap:9px;padding:14px 15px;animation:.25s ease-out toastIn;display:grid;position:fixed;bottom:22px;right:22px}.toast>span{background:#398766;border-radius:50%;place-items:center;width:26px;height:26px;font-size:12px;font-weight:900;display:grid}.toast.error>span{background:var(--red)}.toast p{margin:0;font-size:12px;font-weight:700}.toast button{color:#aeb7b1;cursor:pointer;background:0 0;border:0;border-radius:0;font-size:20px}.sos-toast{z-index:150;background:var(--red);color:#fff;border:3px solid #fff;border-radius:17px;grid-template-columns:38px 1fr auto;align-items:center;gap:13px;width:min(520px,100% - 32px);padding:16px 18px;animation:.28s ease-out sosIn;display:grid;position:fixed;top:18px;left:50%;transform:translate(-50%);box-shadow:0 20px 60px #640a0c6b}.sos-toast>span{width:36px;height:36px;color:var(--red);background:#fff;border-radius:50%;place-items:center;font-size:22px;font-weight:950;display:grid}.sos-toast p{font-family:var(--font-display);margin:0;font-size:21px;font-weight:700}.sos-toast small{color:#ffd9d4;font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;margin-top:2px;font-size:10px;font-weight:900;display:block}.sos-toast button{border-radius:var(--radius-sm);color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffffb8;padding:9px 12px;font-size:10px;font-weight:900}.modal-backdrop{z-index:180;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1417136b;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.sos-dialog{border-radius:var(--radius);background:var(--paper);border:3px solid #fff;width:min(420px,100%);padding:18px;box-shadow:0 24px 80px #1c120a57}.sos-dialog header{grid-template-columns:40px 1fr;align-items:center;gap:12px;margin-bottom:14px;display:grid}.sos-dialog header>span{background:var(--red);color:#fff;border-radius:50%;place-items:center;width:38px;height:38px;font-size:21px;font-weight:950;display:grid}.sos-dialog h2{font-family:var(--font-display);margin:0;font-size:27px}.sos-options{gap:9px;display:grid}.sos-options button{border-radius:var(--radius-sm);background:var(--red-soft);min-height:48px;color:var(--red);text-align:left;cursor:pointer;border:1px solid #e1c2be;padding:12px 14px;font-size:14px;font-weight:900}.sos-options button:hover{border-color:var(--red);background:#f6d6d0}.dialog-help{color:var(--muted);margin:-4px 0 13px;font-size:11px;line-height:1.5}.disabled-car-dialog{width:min(560px,100%)}.disabled-car-list{gap:8px;max-height:min(52vh,430px);padding-right:2px;display:grid;overflow:auto}.disabled-car-list button{border-radius:var(--radius-sm);text-align:left;cursor:pointer;background:#fff9df;border:1px solid #d8c26d;justify-content:space-between;align-items:center;gap:16px;min-height:58px;padding:12px 13px;display:flex}.disabled-car-list button:hover{background:var(--yellow-soft);border-color:#bd8b13}.disabled-car-list button.already-disabled{background:#ffe49a;border-color:#bf8317}.disabled-car-list strong,.disabled-car-list small{display:block}.disabled-car-list strong{font-family:var(--font-display);font-size:18px}.disabled-car-list small{color:#76550f;margin-top:2px;font-size:9px}.disabled-car-list b{color:#8b5a09;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;font-size:9px}.staff-name-dialog header>span{background:var(--green)}.staff-name-dialog form{gap:8px;display:grid}.staff-name-dialog label{font-size:12px;font-weight:800}.staff-name-dialog input{background:#fbfaf5;border:1px solid #c8ccc8;border-radius:12px;padding:12px 14px;font-size:16px}.staff-name-dialog .primary-button{margin-top:6px}.unclaimed-group-dialog header>span{background:var(--yellow);color:#493909}.unclaimed-group-dialog .warning-copy{color:#65430c;font-size:15px;font-weight:700;line-height:1.45}.unclaimed-group-dialog .primary-button{margin-top:4px}.dialog-cancel{border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;color:var(--muted);cursor:pointer;background:0 0;margin-top:12px;padding:11px;font-size:11px;font-weight:900}.display-simulation-badge{z-index:90;color:#493909;letter-spacing:.12em;background:#f4d77a;border-radius:9px;padding:8px 12px;font-size:10px;font-weight:950;position:fixed;top:16px;left:16px}@keyframes blinkRed{50%{opacity:.22}}@keyframes alertPulse{50%{box-shadow:0 0 0 4px #b93a391f}}@keyframes alertBg{50%{background:#b5413f}}@keyframes loadPulse{50%{opacity:.7;transform:scale(.92)}}@keyframes toastIn{0%{opacity:0;transform:translateY(15px)}}@keyframes sosIn{0%{opacity:0;transform:translate(-50%,-18px)}}@keyframes gradeEmergencyBg{0%,to{background:var(--bone)}50%{background:#edaaa3}}@media (width<=880px){.session-summary span:first-child,.session-summary span:nth-child(2){display:none}.scan-layout,.grade-layout,.tardy-layout{grid-template-columns:1fr}.recent-panel .recent-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 15px;display:grid}.admin-metrics,.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.display-current,.display-next{grid-template-columns:1fr;align-content:center;gap:20px}.display-current{padding-top:60px}.display-label{justify-content:space-between;align-items:baseline;display:flex}.display-label b{margin-top:0}}@media (width<=640px){.topbar{height:64px;padding:0 15px}.brand-mark{border-radius:11px;width:36px;height:36px;font-size:21px}.brand strong{font-size:15px}.brand small{font-size:7px}.live-status{margin-left:auto}.session-summary{margin-left:0}.session-summary span:nth-child(3){font-size:9px}.role-nav{flex-wrap:wrap;height:auto;min-height:52px;padding:0;top:0;overflow:visible}.role-nav .nav-spacer{border:0;flex:1 0 100%;height:0;margin:0;display:block}.role-nav button,.role-nav .utility-nav-button{flex:1 0 auto;min-height:52px}.role-nav .utility-nav-button{flex:auto}.role-nav .sos-button{flex:none;margin-left:auto}.admin-page-tabs{top:calc(52px - var(--border-width));height:54px;margin-top:calc(-29px - var(--border-width))}.admin-page-tabs button{padding:0 11px;font-size:11px}.role-nav button{flex:1 0 auto;padding:0 11px;font-size:11px}.workspace{width:min(100% - 24px,1320px);padding:29px 0 65px}.page-heading{display:block}.page-heading>:last-child:not(:first-child){margin-top:18px}.date-card{display:none}h1{font-size:36px}.scan-card,.recent-panel,.roster-panel{border-radius:var(--radius-lg);padding:17px}.admin-card{border-radius:var(--radius-lg);padding:12px}.scan-visual{width:min(100%,360px)}.scanner-control-row{grid-template-columns:1fr 1fr;margin-top:-12px}.scanner-control-row.camera-only{grid-template-columns:auto;margin-top:8px}.scanner-control-row .camera-button{grid-column:1/-1;justify-self:center;min-height:44px}.tag-entry{grid-template-columns:1fr}.tag-entry-lanes .primary-button{min-height:52px}.verification-grid{grid-template-columns:1fr 1fr}.recent-panel .recent-list,.student-grid,.group-student-list{grid-template-columns:1fr}.student-card{min-height:138px}.grade-picker{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto}.legend{display:none}.chaperone-header{grid-template-columns:55px 1fr;padding:17px}.group-number{border-radius:13px;width:52px;height:52px;font-size:29px}.progress-ring{display:none}.vehicle-order{padding:0 17px}.vehicle-order article{grid-template-columns:32px 1fr}.chaperone-students{grid-column:1/-1}.depart-bar{padding:17px;display:grid}.depart-bar button{width:100%;min-height:50px}.admin-grid{grid-template-columns:1fr}.admin-card.wide{grid-column:auto}.admin-metrics{grid-template-columns:1fr 1fr}.simulation-card{gap:18px;display:grid}.simulation-card button{width:100%}.search-tools{grid-template-columns:1fr}.badge-scanner{justify-self:center;width:min(100%,260px)}.detail-grid{grid-template-columns:1fr 1fr}.display-current,.display-next{padding-left:20px;padding-right:20px}.display-names{grid-template-columns:1fr}.display-names div{padding:5px 0}.display-names strong{font-size:clamp(23px,7.6vw,38px)}.display-names span{display:none}}@media (width<=480px){.session-summary{display:none}.simulation-banner{flex-direction:column;align-items:flex-start;gap:2px}.roster-warning{flex-direction:column;align-items:flex-start;gap:3px}.sos-toast{grid-template-columns:34px 1fr}.sos-toast button{grid-column:1/-1}}.glass-setup{background:var(--bg);min-height:100vh;color:var(--fg);font-family:var(--font-body);padding:32px 20px}.glass-setup-card{background:var(--surface);border:var(--border-width) solid var(--border);max-width:640px;box-shadow:var(--elev-raised);gap:16px;margin:0 auto;padding:24px;display:grid}.glass-setup h1{font-family:var(--font-display);margin:0;font-size:40px;line-height:1}.glass-setup p{margin:0}.glass-setup label{gap:6px;font-weight:700;display:grid}.glass-setup input{border:var(--border-width) solid var(--border);background:var(--surface);color:var(--fg);font:inherit;border-radius:0;padding:10px 12px}.glass-setup-actions{flex-wrap:wrap;gap:12px;display:flex}.glass-setup-status{font-family:var(--font-mono)}.suite-link{border:var(--border-width) solid var(--border);background:var(--surface);color:var(--fg);border-radius:0;padding:8px 12px;font-weight:800;text-decoration:none}.suite-page,.all-clear{background:var(--bg);min-height:100vh;color:var(--fg);font-family:var(--font-body);padding:32px 20px}.suite-wrap,.all-clear-setup,.all-clear-live{max-width:880px;margin:0 auto}.suite-page h1,.all-clear h1,.all-clear h2{font-family:var(--font-display);margin:0;line-height:1}.suite-page h1{font-size:48px}.suite-page p,.all-clear p{margin:12px 0 0}.suite-grid{gap:16px;margin-top:24px;display:grid}.suite-card{color:var(--fg);background:var(--surface);border:var(--border-width) solid var(--border);box-shadow:var(--elev-raised);border-radius:0;gap:8px;padding:20px;text-decoration:none;display:grid}.suite-card small{letter-spacing:.04em;text-transform:uppercase;font-weight:800}.suite-card strong{font-family:var(--font-display);font-size:32px;line-height:1}.suite-card:hover{background:var(--accent)}.all-clear-bar{border-bottom:var(--border-width) solid var(--border);flex-wrap:wrap;align-items:baseline;gap:14px;max-width:880px;margin:0 auto 20px;padding:0 0 12px;display:flex}.all-clear-bar a{color:var(--fg);font-weight:800}.all-clear-bar h1{flex:1;margin:0;font-size:36px;line-height:1}.all-clear.real .all-clear-bar time{background:var(--danger);color:var(--surface);padding:6px 10px;font-weight:800}.all-clear-bar time{background:var(--accent);color:var(--accent-on);padding:6px 10px;font-weight:800}.all-clear-note{background:var(--accent);max-width:880px;margin:0 auto 12px;padding:10px 12px;font-weight:800}@supports (color:color-mix(in lab, red, red)){.all-clear-note{background:color-mix(in oklab, var(--accent), white 72%)}}.all-clear-note{border:var(--border-width) solid var(--border)}.all-clear-actions,.all-clear-staff{flex-wrap:wrap;gap:12px;margin-top:16px;display:flex}.all-clear-staff{display:grid}.all-clear-staff label,.all-clear-live label{gap:6px;font-weight:700;display:grid}.all-clear input{border:var(--border-width) solid var(--border);background:var(--surface);color:var(--fg);font:inherit;border-radius:0;padding:10px 12px;font-size:22px}.all-clear-staff ul,.all-clear-list{gap:8px;margin:16px 0 0;padding:0;list-style:none;display:grid}.all-clear-staff li{justify-content:space-between;align-items:center;gap:12px;display:flex}.all-clear-done{background:var(--accent);border:var(--border-width) solid var(--border);font-family:var(--font-display);margin:12px 0 0;padding:12px;font-size:40px}.all-clear-person{text-align:left;border:var(--border-width) solid var(--border);background:var(--surface);width:100%;color:var(--fg);cursor:pointer;border-radius:0;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:12px;display:grid}.all-clear-person small{font-weight:600;display:block}.all-clear-person.here{background:var(--accent)}.all-clear-live{gap:12px;display:grid}.all-clear-live form{margin:0}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.pin-gate{place-items:center;min-height:100vh;padding:24px;display:grid}.pin-gate form{text-align:center;justify-items:center;gap:14px;width:min(420px,100%);display:grid}.pin-mark{width:64px;height:64px;color:var(--accent-on,#fff);background:var(--accent,#e55e22);border-radius:20px;place-items:center;font-size:28px;font-weight:800;display:grid}.pin-gate h1{color:var(--fg,#1b1a17);margin:0;font-size:22px}.pin-gate p{color:var(--muted,#6b655c);margin:0}.pin-input{letter-spacing:.4em;text-align:center;border-radius:var(--radius,14px);border:2px solid var(--border,#e2ddd4);background:var(--surface,#fff);width:100%;color:var(--fg,#1b1a17);padding:18px 20px;font-size:28px}.pin-input:focus{border-color:var(--accent,#e55e22);outline:none}.pin-error{color:#b3261e;font-weight:600}.pin-submit{border-radius:var(--radius,14px);width:100%;color:var(--accent-on,#fff);background:var(--accent,#e55e22);border:0;padding:16px;font-size:18px;font-weight:700}.pin-submit:disabled{opacity:.5}.pin-gate small{color:var(--muted,#6b655c)}.all-clear-tabs{gap:8px;max-width:880px;margin:0 auto 16px;display:flex}.all-clear-tabs button{background:var(--surface);color:var(--fg);border:var(--border-width) solid var(--border);font-family:var(--font-body);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;flex:1;padding:12px 14px;font-size:13px;font-weight:800}.all-clear-tabs button[data-active=true]{background:var(--accent)}.all-clear-alert{background:var(--surface);border:3px solid var(--danger);max-width:880px;margin:0 auto 12px;padding:12px 14px;font-weight:800}.all-clear-teacher,.all-clear-area,.all-clear-admin{gap:14px;max-width:880px;margin:0 auto;display:grid}.all-clear-picker{text-transform:uppercase;letter-spacing:.06em;gap:6px;font-size:12px;font-weight:800;display:grid}.all-clear-picker select{font-family:var(--font-body);border:var(--border-width) solid var(--border);background:var(--surface);color:var(--fg);padding:10px 12px;font-size:16px;font-weight:700}.all-clear-hint{color:var(--muted);max-width:62ch;font-size:13px}.all-clear-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.all-clear-tile{border:var(--border-width) solid var(--border);background:var(--surface);--hold:0;position:relative}.all-clear-tile:after{content:"";height:5px;width:calc(var(--hold) * 100%);background:var(--fg);position:absolute;bottom:0;left:0}.all-clear-tile[data-variant=teacher] .all-clear-tile-main{gap:4px;padding:6px 4px 10px}.all-clear-tile-main{width:100%;color:var(--fg);font-family:var(--font-body);cursor:pointer;touch-action:pan-y;-webkit-user-select:none;user-select:none;background:0 0;border:0;justify-items:center;gap:6px;padding:14px 10px 18px;display:grid}.all-clear-face{background:var(--well);border:var(--border-width) solid var(--border);place-items:center;width:64px;height:64px;font-size:20px;font-weight:900;display:grid;overflow:hidden}.all-clear-face img{object-fit:cover;width:100%;height:100%}.all-clear-tile[data-variant=teacher] .all-clear-face-photo{aspect-ratio:4/3;border:0;border-bottom:var(--border-width) solid var(--border);width:100%;height:auto;display:block;position:relative}.all-clear-tile[data-variant=teacher] .all-clear-face-photo img{object-fit:cover;width:100%;height:100%;display:block}.all-clear-tile[data-variant=teacher] .all-clear-face-photo b{color:#b4b0a6;place-items:center;font-size:42px;display:grid;position:absolute;inset:0}.all-clear-face-name{letter-spacing:.03em;text-transform:uppercase;text-align:left;color:#fff;white-space:nowrap;text-overflow:ellipsis;background:#111111db;padding:3px 6px;font-size:14px;font-style:normal;font-weight:900;line-height:1.2;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.all-clear-grid.accounted .all-clear-tile[data-variant=teacher] .all-clear-face-photo{aspect-ratio:3/2;width:100%;height:auto}.all-clear-grid.accounted .all-clear-tile[data-variant=teacher] .all-clear-face-photo b{font-size:26px}.all-clear-grid.accounted .all-clear-face-name{padding:2px 5px;font-size:12px}.all-clear-name{text-align:center;font-size:15px;font-weight:800;line-height:1.15}.all-clear-tile small{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:11px}.all-clear-tile.status-present{background:var(--accent)}.all-clear-tile.status-present small{color:var(--fg)}.all-clear-tile.status-absent{background:var(--well)}.all-clear-tile.status-absent .all-clear-name{text-decoration:line-through}.all-clear-tile.status-area{background:var(--warn)}@supports (color:color-mix(in lab, red, red)){.all-clear-tile.status-area{background:color-mix(in oklab, var(--warn), white 72%)}}.all-clear-tile[data-alert=true]{outline:3px solid var(--danger);outline-offset:-3px}.all-clear-tile[data-pressing=true]{transform:translateY(1px)}.all-clear-more{width:26px;height:26px;color:var(--fg);cursor:pointer;background:0 0;border:0;font-size:18px;line-height:1;position:absolute;top:2px;right:2px}.all-clear-menu{z-index:20;background:var(--surface);border:3px solid var(--border);box-shadow:var(--elev-raised);gap:8px;padding:10px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0}.all-clear-menu p{text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:12px;font-weight:800}.all-clear-menu-row{flex-wrap:wrap;gap:6px;display:flex}.all-clear-menu .outline-button{padding:8px 10px;font-size:12px}.all-clear-progress{gap:6px;margin:0;padding:0;list-style:none;display:grid}.all-clear-progress button{background:var(--surface);border:var(--border-width) solid var(--border);width:100%;color:var(--fg);font-family:var(--font-body);text-align:left;cursor:pointer;grid-template-columns:1fr 120px auto;align-items:center;gap:10px;padding:10px 12px;font-weight:700;display:grid}.all-clear-progress li[data-done=true] button{background:var(--accent)}.all-clear-bar-track{border:2px solid var(--border);background:var(--well);height:10px;display:block}.all-clear-bar-track i{background:var(--fg);height:100%;display:block}.all-clear-progress small{color:var(--muted);font-size:12px}.all-clear-progress li[data-done=true] small{color:var(--fg)}.all-clear-area-group h2{margin:0 0 6px;font-size:18px}.all-clear-list.compact li{background:var(--surface);border:var(--border-width) solid var(--border);justify-content:space-between;gap:12px;padding:8px 10px;display:flex}.all-clear-list.compact small{color:var(--muted)}.all-clear-admin h2{margin:18px 0 8px;font-size:20px}.all-clear-locations ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.all-clear-locations li{background:var(--surface);border:var(--border-width) solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;display:flex}.all-clear-locations form{grid-template-columns:1fr 1fr auto;align-items:end;gap:8px;margin-top:8px;display:grid}.all-clear-locations form label{text-transform:uppercase;letter-spacing:.06em;gap:4px;font-size:12px;font-weight:700;display:grid}.all-clear-locations input{font-family:var(--font-body);border:var(--border-width) solid var(--border);background:var(--surface);padding:8px 10px;font-size:15px}@media (width<=700px){.all-clear-locations form{grid-template-columns:1fr}}.all-clear-section{text-transform:uppercase;letter-spacing:.08em;margin:18px 0 8px!important;font-size:16px!important}.all-clear-grid.accounted .all-clear-tile-main{padding-top:10px;padding-bottom:12px}.all-clear-grid.accounted .all-clear-face{width:44px;height:44px;font-size:16px}.all-clear-who{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=700px){.all-clear-who{grid-template-columns:1fr}}.all-clear-peers{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.all-clear-peers>span{text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:800}.all-clear-peers .outline-button{padding:7px 10px;font-size:12px}.all-clear-peers .outline-button[data-active=true]{background:var(--accent)}.all-clear-guest{border:2px dashed var(--border);background:var(--surface);grid-template-columns:1fr auto;align-items:end;gap:10px;margin-top:14px;padding:12px;display:grid}.all-clear-guest label{text-transform:uppercase;letter-spacing:.06em;gap:6px;font-size:12px;font-weight:700;display:grid}.all-clear-guest input{font-family:var(--font-body);border:var(--border-width) solid var(--border);background:var(--bg);padding:9px 10px;font-size:15px}.all-clear-guest small{color:var(--muted);grid-column:1/-1}.all-clear-staffadmin{gap:12px;display:grid}.all-clear-staffadmin form{grid-template-columns:1.2fr 1.2fr 1fr auto auto;align-items:end;gap:8px;display:grid}.all-clear-staffadmin form label{text-transform:uppercase;letter-spacing:.06em;gap:4px;font-size:12px;font-weight:700;display:grid}.all-clear-staffadmin input,.all-clear-staffadmin select{font-family:var(--font-body);border:var(--border-width) solid var(--border);background:var(--surface);padding:8px 10px;font-size:15px}@media (width<=900px){.all-clear-staffadmin form{grid-template-columns:1fr 1fr}}.all-clear-staff-group h3{text-transform:uppercase;letter-spacing:.08em;margin:8px 0 6px;font-size:14px}.all-clear-staff-group ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.all-clear-staff-group li{background:var(--surface);border:var(--border-width) solid var(--border);align-items:center;gap:8px;padding:8px 10px;display:flex}.all-clear-staff-group li span{flex:1}.all-clear-staff-group li em{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:11px;font-style:normal}.all-clear-staff-group li[data-status=missing] em{color:var(--danger);font-weight:800}.all-clear-staff-group li[data-status=present] em{color:var(--success);font-weight:800}.all-clear-tile.status-tardy{background:var(--warn)}@supports (color:color-mix(in lab, red, red)){.all-clear-tile.status-tardy{background:color-mix(in oklab, var(--warn), white 72%)}}.all-clear-tile.status-left{background:var(--well)}.all-clear-tile.status-left .all-clear-name{text-decoration:line-through}.all-clear-lunch{gap:12px;max-width:880px;margin:0 auto;display:grid}.all-clear-scan{background:var(--surface);border:3px solid var(--border);grid-template-columns:1fr auto;align-items:end;gap:10px;padding:12px;display:grid}.all-clear-scan label{text-transform:uppercase;letter-spacing:.06em;gap:4px;font-size:12px;font-weight:800;display:grid}.all-clear-scan input{font-family:var(--font-body);border:var(--border-width) solid var(--border);background:var(--bg);letter-spacing:.08em;padding:10px 12px;font-size:20px}.all-clear-claim{text-transform:uppercase;letter-spacing:.06em;background:var(--accent);border:var(--border-width) solid var(--border);padding:8px 10px;font-size:12px;font-weight:800}.all-clear-scan-buttons{gap:8px;display:flex}.all-clear-scan-buttons .primary-button,.all-clear-scan-buttons .outline-button{white-space:nowrap}.all-clear-candidates{border:2px dashed var(--border);flex-wrap:wrap;grid-column:1/-1;gap:8px;padding:10px;display:flex}.all-clear-candidates legend{text-transform:uppercase;letter-spacing:.06em;padding:0 6px;font-size:12px;font-weight:800}.pass{max-width:1240px;margin:0 auto;padding:24px 20px 80px}.pass-bar{border-bottom:var(--border-width) solid var(--border);align-items:center;gap:18px;margin-bottom:20px;padding-bottom:12px;display:flex}.pass-bar h1{font-family:var(--font-display);flex:1;align-items:center;gap:12px;margin:0;font-size:40px;line-height:1;display:flex}.pass-mark{background:var(--accent);border:var(--border-width) solid var(--border);place-items:center;width:44px;height:44px;font-size:26px;display:inline-grid}.pass-tabs{gap:8px;display:flex}.pass-tabs button,.pass-actions button,.pass-where-btn,.pass-again,.pass-back,.pass-results button{font:inherit;text-transform:uppercase;letter-spacing:.03em;background:var(--surface);color:var(--ink);border:var(--border-width) solid var(--border);cursor:pointer;padding:10px 14px;font-weight:800}.pass-tabs button.on,.pass-tabs button:hover,.pass-actions button:hover,.pass-where-btn:hover,.pass-results button:hover{background:var(--accent)}.pass-enter h2,.pass-ask h2{font-family:var(--font-display);margin:0 0 6px;font-size:44px}.pass-sub{color:var(--muted);margin:0 0 18px;font-weight:700}.pass-field{text-transform:uppercase;letter-spacing:.04em;gap:6px;font-size:13px;font-weight:800;display:grid}.pass-field input,.pass-field select{font:inherit;text-transform:none;letter-spacing:0;border:var(--border-width) solid var(--border);background:var(--surface);width:100%;padding:14px 16px;font-size:28px;font-weight:800}.pass-results{gap:8px;margin:16px 0 0;padding:0;list-style:none;display:grid}.pass-results button{text-align:left;text-transform:none;letter-spacing:0;justify-content:space-between;align-items:baseline;gap:16px;width:100%;font-size:24px;display:flex}.pass-results button span{color:var(--muted);text-transform:none;font-size:14px}.pass-where{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:8px;display:grid}.pass-where-btn{text-align:left;gap:6px;padding:26px 18px;display:grid}.pass-where-btn strong{font-family:var(--font-display);text-transform:uppercase;font-size:30px}.pass-where-btn span{color:var(--muted);font-size:13px;font-weight:700}.pass-where-btn:disabled{opacity:.5;cursor:progress}.pass-back{margin-bottom:16px}.pass-note{background:var(--warn);margin-top:14px;padding:12px 14px}@supports (color:color-mix(in lab, red, red)){.pass-note{background:color-mix(in oklab, var(--warn), white 72%)}}.pass-note{border:var(--border-width) solid var(--border);font-weight:800}.pass-hint{color:var(--muted);margin:10px 0 0;font-size:13px}.pass-room{border-top:1px solid var(--border-soft);margin-top:26px;padding-top:12px}.pass-room summary{cursor:pointer;text-transform:uppercase;letter-spacing:.04em;font-size:13px;font-weight:800}.pass-ticket{text-align:center;justify-items:center;gap:8px;padding:30px 0 10px;display:grid}.pass-ticket-who{color:var(--muted);margin:0;font-size:20px;font-weight:800}.pass-ticket-code{font-family:var(--font-display);border:var(--border-width) solid var(--border);margin:0;padding:10px 26px;font-size:72px;line-height:1}.pass-ticket-word{font-family:var(--font-display);margin:6px 0 0;font-size:120px;line-height:.95}.pass-ticket-line{max-width:720px;margin:4px 0 0;font-size:26px;font-weight:700}.pass-ticket-flag{text-transform:uppercase;letter-spacing:.06em;border:var(--border-width) solid var(--border);background:var(--warn);padding:6px 12px;font-weight:800}@supports (color:color-mix(in lab, red, red)){.pass-ticket-flag{background:color-mix(in oklab, var(--warn), white 60%)}}.pass-ticket.waiting .pass-ticket-word{color:var(--muted)}.pass-ticket.approved .pass-ticket-word,.pass-ticket.out .pass-ticket-word{background:var(--success);color:#000;padding:0 18px}.pass-ticket.denied .pass-ticket-word{color:var(--danger)}.pass-again{margin-top:20px;font-size:20px}.pass-counts{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px;display:grid}.pass-counts p{border:var(--border-width) solid var(--border);background:var(--surface);text-transform:uppercase;letter-spacing:.04em;margin:0;padding:14px;font-size:12px;font-weight:800}.pass-counts strong{font-family:var(--font-display);font-size:44px;line-height:1;display:block}.pass-counts .hot{background:var(--danger)}@supports (color:color-mix(in lab, red, red)){.pass-counts .hot{background:color-mix(in oklab, var(--danger), white 78%)}}.pass-filters{flex-wrap:wrap;align-items:end;gap:16px;margin-bottom:20px;display:flex}.pass-filters .pass-field{min-width:220px}.pass-filters input,.pass-filters select{padding:10px 12px;font-size:18px}.pass-columns{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start;gap:16px;display:grid}.pass-column{border:var(--border-width) solid var(--border);background:var(--surface);padding:14px}.pass-column h3{font-family:var(--font-display);text-transform:uppercase;justify-content:space-between;align-items:baseline;margin:0 0 12px;font-size:24px;display:flex}.pass-column h3 span{background:var(--accent);padding:2px 8px;font-size:16px}.pass-empty{color:var(--muted);margin:0;font-size:14px}.pass-cards{gap:10px;margin:0;padding:0;list-style:none;display:grid}.pass-card{border:var(--border-width) solid var(--border);background:var(--bg);gap:4px;padding:12px;display:grid}.pass-card strong{font-size:20px}.pass-card small{color:var(--muted);font-weight:700}.pass-card em{text-transform:uppercase;letter-spacing:.03em;font-size:13px;font-style:normal;font-weight:800}.pass-card.overdue{background:var(--danger)}@supports (color:color-mix(in lab, red, red)){.pass-card.overdue{background:color-mix(in oklab, var(--danger), white 82%)}}.pass-card.overdue em{color:var(--danger)}.pass-card.out{border-left-width:10px}.pass-escort{letter-spacing:.08em;text-transform:uppercase;background:var(--warn);justify-self:start;padding:2px 8px;font-size:11px;font-weight:900}.pass-actions{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.pass-actions button{padding:8px 10px;font-size:12px}.pass-actions button.quiet{background:0 0}.pass-today{border-top:1px solid var(--border-soft);margin-top:26px;padding-top:12px}.pass-today summary{cursor:pointer;text-transform:uppercase;letter-spacing:.04em;font-size:13px;font-weight:800}.pass-done{gap:6px;margin:12px 0 0;padding:0;font-size:14px;list-style:none;display:grid}.pass-done span{color:var(--muted)}.pass-auth{border:var(--border-width) solid var(--border);background:var(--surface);max-width:420px;box-shadow:var(--elev-raised);margin:12vh auto 0;padding:24px}.pass-auth h2{font-family:var(--font-display);text-transform:uppercase;margin:0 0 6px;font-size:32px}.pass-auth form{gap:14px;margin-top:18px;display:grid}.pass-auth button{font:inherit;text-transform:uppercase;letter-spacing:.04em;background:var(--accent);border:var(--border-width) solid var(--border);cursor:pointer;padding:14px;font-weight:800}.pass-auth button:disabled{opacity:.6;cursor:progress}.pass-mode{letter-spacing:.06em;text-transform:uppercase;border:var(--border-width) solid var(--border);background:var(--surface);margin:0;padding:8px 12px;font-size:12px;font-weight:900}.pass-next{border:var(--border-width) solid var(--border);background:var(--surface);flex-wrap:wrap;align-items:baseline;gap:12px;margin:0 0 18px;padding:14px 18px;display:flex}.pass-next span{letter-spacing:.08em;text-transform:uppercase;background:var(--accent);padding:2px 8px;font-size:12px;font-weight:900}.pass-next strong{font-family:var(--font-display);font-size:28px}.pass-next em{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:13px;font-style:normal;font-weight:800}.pass-next.approved{background:var(--success)}@supports (color:color-mix(in lab, red, red)){.pass-next.approved{background:color-mix(in oklab, var(--success), white 78%)}}.pass-position{background:var(--accent);place-items:center;min-width:24px;height:24px;margin-right:8px;font-size:12px;display:inline-grid}.pass-grid{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:10px;max-height:46vh;margin:0 0 22px;padding:2px;display:grid;overflow-y:auto}.pass-kid{text-align:center;min-height:84px;font:inherit;border:var(--border-width) solid var(--border);background:var(--surface);cursor:pointer;place-items:center;gap:4px;padding:12px 10px;font-size:18px;display:grid}.pass-kid:hover{background:var(--accent)}.pass-kid strong{font-size:18px;line-height:1.15}.pass-kid span{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:900}.pass-kid.blocked:hover{background:var(--surface)}.pass-kid.blocked{opacity:.45;cursor:not-allowed}.pass-ticket-go{font:inherit;letter-spacing:.06em;text-transform:uppercase;border:var(--border-width) solid var(--border);background:var(--success);color:#000;cursor:pointer;margin-top:16px;padding:16px 34px;font-size:22px;font-weight:900}.pass-ticket-go:disabled{opacity:.5;cursor:progress}.pass-deny{gap:6px;margin-top:8px;display:flex}.pass-deny input{min-width:0;font:inherit;border:var(--border-width) solid var(--border);background:var(--surface);flex:1;padding:8px 10px;font-size:14px}.pass-check{align-items:center;gap:8px;font-size:13px;font-weight:800;display:flex}.pass-rules{border-top:1px solid var(--border-soft);gap:8px;margin-top:10px;padding-top:10px;display:grid}.pass-rules summary{cursor:pointer;letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:900}.pass-rules .quiet{background:0 0;justify-self:start;padding:6px 10px;font-size:12px}.pass-display h2,.pass-history h3{font-family:var(--font-display);text-transform:uppercase}.pass-hud-preview{border:var(--border-width) solid var(--border);color:#fff;text-align:center;background:#111;place-items:center;gap:6px;margin:20px 0 10px;padding:28px;display:grid}.pass-hud-preview span{letter-spacing:.14em;color:#ffb020;font-size:14px;font-weight:900}.pass-hud-preview strong{font-family:var(--font-display);font-size:clamp(34px,6vw,64px);line-height:1}.pass-hud-preview em{color:#9aa;font-style:normal;font-weight:700}.pass-hud-preview.go{background:#0b2d16}.pass-hud-preview.go span{color:#58e06b}.hud{color:#fff;text-align:center;background:#0c0c0d;place-content:center;justify-items:center;gap:10px;padding:3vh 4vw;display:grid;position:fixed;inset:0}.hud-bar{letter-spacing:.08em;text-transform:uppercase;color:#8b8b93;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;font-size:12px;font-weight:800;display:flex;position:fixed;top:0;left:0;right:0}.hud-bar button{font:inherit;color:#8b8b93;cursor:pointer;background:0 0;border:1px solid #333;padding:6px 10px;font-size:11px}.hud-word{font-family:var(--font-display);letter-spacing:-.02em;color:#8b8b93;margin:0;font-size:clamp(60px,14vw,190px);line-height:.9}.hud-name{font-family:var(--font-display);margin:0;font-size:clamp(48px,12vw,160px);line-height:.95}.hud-where{letter-spacing:.08em;text-transform:uppercase;color:#8b8b93;margin:0;font-size:clamp(18px,2.6vw,34px);font-weight:800}.hud-detail{color:#6f6f78;margin:0;font-size:clamp(14px,1.6vw,20px);font-weight:700}.hud.tone-live .hud-word,.hud.tone-live .hud-name{color:#58e06b}.hud.tone-running .hud-word{color:#ffb020}.hud.tone-idle .hud-word{color:#8b8b93}.hud .quiet{color:#4b4b52}.hud-foot{color:#4b4b52;justify-content:space-between;gap:12px;padding:10px 16px;font-size:11px;display:flex;position:fixed;bottom:0;left:0;right:0}.hud-foot a{color:#6f6f78;text-decoration:none}.hud-setup{background:var(--bg,#f4f4f2);color:var(--fg,#0c0c0d);text-align:left;justify-items:start}.hud-setup h1{font-family:var(--font-display);text-transform:uppercase;margin:0;font-size:clamp(32px,5vw,56px)}.hud-eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--muted,#6d6d74);margin:0;font-size:12px;font-weight:900}.hud-setup-copy{max-width:560px;font-size:17px}.hud-setup form{flex-wrap:wrap;gap:10px;margin-top:10px;display:flex}.hud-setup input{font:inherit;border:var(--border-width,2px) solid var(--border,#e3e3e0);background:#fff;min-width:260px;padding:12px 14px;font-size:20px}.hud-setup button{font:inherit;text-transform:uppercase;letter-spacing:.05em;border:var(--border-width,2px) solid var(--border,#e3e3e0);background:var(--accent,#e55e22);cursor:pointer;padding:12px 20px;font-weight:900}.staff-badge{color:var(--muted,#666);white-space:nowrap;align-items:center;gap:10px;margin-left:auto;font-size:12px;display:flex}.staff-badge span{text-overflow:ellipsis;font-variant-numeric:tabular-nums;max-width:260px;overflow:hidden}.staff-badge button{font:inherit;text-transform:uppercase;letter-spacing:.05em;color:var(--ink,#111);border:var(--border-width,2px) solid var(--line,#111);cursor:pointer;background:0 0;border-radius:0;padding:5px 10px;font-size:11px;font-weight:700}.staff-badge button:hover:not(:disabled){background:var(--ink,#111);color:var(--surface,#fff)}.staff-badge button:disabled{opacity:.55;cursor:progress}.pii-note{color:#6b6b6b;margin:10px 0 0;font-size:12px}@media (width<=860px){.staff-badge span{display:none}}.rssi-panel{border-top:2px solid var(--line,#111);margin-top:18px;padding-top:14px}.rssi-head{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:0;display:flex}.rssi-title{letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:800}.rssi-chip{letter-spacing:.05em;text-transform:uppercase;border:2px solid var(--line,#111);padding:3px 8px;font-size:10px;font-weight:700}.rssi-chip.strong{color:#fff;background:#2f7238;border-color:#2f7238}.rssi-chip.ok{color:#2f7238;background:#e9efe6;border-color:#2f7238}.rssi-chip.weak{color:#92400e;background:#fdf1dc;border-color:#92400e}.rssi-chip.poor{color:#fff;background:#b8471a;border-color:#b8471a}.rssi-chip.idle{color:#6b6b6b;border-style:dashed}.rssi-caret{margin-left:auto;font-size:16px;font-weight:800}.rssi-live{align-items:center;gap:16px;margin-top:12px;display:flex}.rssi-number strong{font-variant-numeric:tabular-nums;font-size:44px;line-height:1}.rssi-number small{letter-spacing:.08em;text-transform:uppercase;color:#6b6b6b;font-size:10px;display:block}.rssi-meta{flex-direction:column;gap:2px;min-width:0;font-size:13px;display:flex}.rssi-peak{color:#6b6b6b;font-size:11px}.rssi-epc{letter-spacing:.04em;color:#8a8a8a;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.rssi-spark{width:180px;height:34px;color:var(--ink,#111);opacity:.75;margin-left:auto}.rssi-spark.empty{background:repeating-linear-gradient(90deg,#dcdcdc 0 1px,#0000 1px 12px)}.rssi-log{margin-top:14px}.rssi-log-head{letter-spacing:.06em;text-transform:uppercase;color:#6b6b6b;justify-content:space-between;align-items:center;gap:10px;font-size:10px;display:flex}.rssi-log-head button{font:inherit;text-transform:uppercase;border:2px solid var(--line,#111);cursor:pointer;background:0 0;padding:4px 8px;font-size:10px;font-weight:700}.rssi-log table{border-collapse:collapse;width:100%;margin-top:8px;font-size:12px}.rssi-log th{letter-spacing:.06em;text-transform:uppercase;text-align:left;color:#6b6b6b;border-bottom:1px solid #ddd;padding:4px 6px;font-size:10px}.rssi-log td{border-bottom:1px solid #eee;padding:5px 6px}.rssi-log .num{text-align:right;font-variant-numeric:tabular-nums}.band-strong,.band-ok{color:#2f7238}.band-strong,.band-weak,.band-poor{font-weight:700}.band-weak{color:#92400e}.band-poor{color:#b8471a}.rssi-empty,.rssi-note,.rssi-help{color:#6b6b6b;margin:8px 0 0;font-size:11px}.refusals-actions{flex-wrap:wrap;gap:8px;display:flex}.refusals-table{border-collapse:collapse;width:100%;margin-top:10px;font-size:13px}.refusals-table th{letter-spacing:.06em;text-transform:uppercase;text-align:left;color:#6b6b6b;border-bottom:1px solid #ddd;padding:6px;font-size:10px}.refusals-table td{border-bottom:1px solid #eee;padding:7px 6px}.refusals-table .num{text-align:right;font-variant-numeric:tabular-nums}.refusals-empty{color:#6b6b6b;max-width:70ch;margin:10px 0 0;font-size:12px}.refusals-table caption{letter-spacing:.08em;text-transform:uppercase;text-align:left;color:#6b6b6b;padding-top:12px;font-size:10px;font-weight:800}.refusals-students{color:#6b6b6b;margin:10px 0 0;font-size:12px}.all-clear-meter{border:var(--border-width) solid var(--border);background:var(--surface);max-width:880px;margin:0 auto 14px;padding:14px 16px}.all-clear-meter-bar{border:2px solid var(--border);background:var(--well);height:22px;display:flex;overflow:hidden}.all-clear-meter-bar i{height:100%;display:block}.all-clear-meter-bar .meter-present{background:#2f7d32}.all-clear-meter-bar .meter-absent{background:var(--well)}.all-clear-meter-bar .meter-accounted{background:#e0a13c}.all-clear-meter-bar .meter-to-account{background:var(--danger)}.all-clear-meter-line{font-family:var(--font-display);flex-wrap:wrap;align-items:baseline;gap:14px;margin:12px 0 10px;font-size:20px;line-height:1;display:flex}.all-clear-meter-line strong{font-size:32px}.all-clear-meter-sub{text-transform:uppercase;letter-spacing:.06em;color:#5a5a5a;margin:-4px 0 10px;font-size:12px;font-weight:800}.all-clear-meter-legend{text-transform:uppercase;letter-spacing:.06em;flex-wrap:wrap;gap:6px 16px;margin:0;padding:0;font-size:12px;font-weight:800;list-style:none;display:flex}.all-clear-meter-legend li{align-items:center;gap:6px;display:flex}.all-clear-meter-legend i{width:14px;height:14px;display:block}.all-clear-meter-legend .meter-present i{background:#2f7d32}.all-clear-meter-legend .meter-absent i{background:var(--well)}.all-clear-meter-legend .meter-accounted i{background:#e0a13c}.all-clear-meter-legend .meter-to-account i{background:var(--danger)}@media (width<=700px){.all-clear-meter-line{font-size:16px}.all-clear-meter-line strong{font-size:26px}}.all-clear-slot{border:var(--border-width) solid var(--border);background:var(--surface);gap:10px;padding:12px 14px;display:grid}.all-clear-slot[data-kind=specials]{border-left:6px solid #e0a13c}.all-clear-slot[data-kind=lunch]{border-left:6px solid #2f7d32}.all-clear-slot .all-clear-section{margin:0}.all-clear-slot .all-clear-section small{font-family:var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-left:10px;font-size:11px;font-weight:800}.all-clear-cards{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.all-clear-cards button{text-align:left;border:2px solid var(--border);background:var(--paper);width:100%;color:var(--fg);cursor:pointer;gap:2px;padding:10px 12px;display:grid}.all-clear-cards button:hover,.all-clear-cards button:focus-visible{background:var(--accent)}.all-clear-cards strong{text-overflow:ellipsis;white-space:nowrap;padding-right:46px;font-size:16px;line-height:1.15;overflow:hidden}.all-clear-cards span{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:800}.all-clear-cards small{font-size:12px;font-weight:700}.all-clear-schedule-card{border:var(--border-width) solid var(--border);background:var(--surface);gap:10px;padding:14px 16px;display:grid}.all-clear-schedule-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.all-clear-schedule-head h2{font-family:var(--font-display);margin:2px 0 0;font-size:24px;line-height:1}.all-clear-schedule{border-collapse:collapse;width:auto;min-width:1020px;font-size:13px}.all-clear-schedule th,.all-clear-schedule td{border:1px solid var(--line);text-align:left;white-space:nowrap;padding:4px 6px}.all-clear-schedule thead th{text-transform:uppercase;letter-spacing:.06em;background:var(--well);font-size:10px}.all-clear-schedule tbody th{font-size:12px;font-weight:800}.all-clear-schedule input[type=time]{border:1px solid var(--line);background:var(--bg);width:116px;color:var(--fg);padding:4px 2px;font-size:13px}.all-clear-schedule select{border:1px solid var(--line);background:var(--bg);color:var(--fg);max-width:100px;padding:4px 2px;font-size:12px}.schedule-window{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.all-clear-schedule-actions{flex-wrap:wrap;gap:8px;display:flex}.all-clear-schedule-actions button{width:auto}.all-clear-cards button{position:relative}.all-clear-slot .all-clear-section small{margin-top:4px;display:block}.all-clear-card-open{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:10px;font-style:normal;font-weight:900;position:absolute;top:8px;right:10px}.all-clear-cards button:hover .all-clear-card-open{color:var(--fg)}.all-clear-admin{gap:14px;max-width:980px;margin:0 auto;display:grid}.adm-tabs{border:var(--border-width) solid var(--border);background:var(--surface);gap:0;display:flex}.adm-tabs button{background:var(--surface);border:0;border-right:var(--border-width) solid var(--border);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;flex:1;min-height:44px;padding:10px 12px;font-size:12px;font-weight:900}.adm-tabs button:last-child{border-right:0}.adm-tabs button[data-active=true]{background:var(--accent)}.adm-hero{background:var(--surface);border:var(--border-width) solid var(--border);box-shadow:var(--shadow);grid-template-columns:150px minmax(0,1fr) minmax(0,220px);align-items:center;gap:18px;padding:16px 18px;display:grid}.adm-ring{border:var(--border-width) solid var(--border);place-items:center;width:132px;height:132px;display:grid}.adm-ring-hole{background:var(--surface);border:var(--border-width) solid var(--border);align-content:center;place-items:center;gap:0;width:92px;height:92px;display:grid}.adm-ring-hole strong{font-family:var(--font-display);font-size:30px;line-height:1}.adm-ring-hole span{letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:900}.adm-hero-copy{gap:2px;display:grid}.adm-hero-copy .eyebrow{color:var(--muted);margin:0}.adm-hero-number{font-family:var(--font-display);font-size:64px;line-height:.9}.adm-hero-sub{color:var(--muted);margin:4px 0 0;font-size:13px;font-weight:700}.adm-chips{gap:6px;margin:0;padding:0;list-style:none;display:grid}.adm-chips li{border:1px solid var(--border);background:var(--bg);justify-content:space-between;align-items:baseline;gap:10px;padding:5px 8px;display:flex}.adm-chips span{text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:800}.adm-chips strong{font-family:var(--font-display);font-size:18px}.adm-section-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.adm-section-head h2{font-family:var(--font-display);margin:0;font-size:20px}.adm-section-head small{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:800}.adm-grades{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.adm-grades button{text-align:left;background:var(--surface);border:var(--border-width) solid var(--border);cursor:pointer;gap:3px;width:100%;padding:8px 10px;display:grid}.adm-grades button:hover,.adm-grades button:focus-visible{background:var(--accent)}.adm-grades button[data-done=true]{background:var(--success)}@supports (color:color-mix(in lab, red, red)){.adm-grades button[data-done=true]{background:color-mix(in oklab, var(--success), white 84%)}}.adm-grade-name{font-family:var(--font-display);font-size:15px;line-height:1.05}.adm-grade-count{align-items:baseline;gap:6px;display:flex}.adm-grade-count strong{font-family:var(--font-display);font-size:22px;line-height:1}.adm-grade-count small{color:var(--muted);font-size:11px;font-weight:800}.adm-bad{color:var(--danger)}.adm-good{color:#2f7d32}.adm-grade-bar{border:1px solid var(--border);background:var(--bg);height:8px;display:block}.adm-grade-bar i{background:#2f7d32;height:100%;display:block}.adm-grade-meta{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:800}.adm-now{background:var(--surface);border:var(--border-width) solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:10px 14px;display:flex}.adm-now p{margin:2px 0 0}.adm-now-line{font-size:13px;font-weight:800}.adm-now .outline-button{white-space:nowrap;min-height:40px}.adm-card{background:var(--surface);border:var(--border-width) solid var(--border);gap:8px;padding:14px 16px;display:grid}.adm-card h3{font-family:var(--font-display);align-items:baseline;gap:8px;margin:0;font-size:18px;line-height:1.1;display:flex}.adm-count{font-family:var(--font-body);letter-spacing:.06em;background:var(--accent);border:1px solid var(--border);padding:1px 6px;font-size:11px;font-weight:900}.adm-scroll{max-height:46vh;overflow:auto}.adm-checkin,.adm-setup{gap:12px;display:grid}.adm-modal-backdrop{z-index:60;background:#00000073;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.adm-modal{background:var(--surface);border:var(--border-width) solid var(--border);width:min(560px,100%);max-height:84vh;box-shadow:var(--shadow);gap:12px;padding:16px 18px;display:grid;overflow:auto}.adm-modal header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.adm-modal h2{font-family:var(--font-display);margin:2px 0 0;font-size:24px;line-height:1}.adm-modal-close{border:var(--border-width) solid var(--border);background:var(--surface);cursor:pointer;width:40px;height:40px;font-size:16px;font-weight:900}.adm-modal-close:hover{background:var(--accent)}.adm-modal-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.adm-modal-list li{border:1px solid var(--border);background:var(--bg);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.adm-modal-list strong{font-size:14px;display:block}.adm-modal-list small{color:var(--muted);font-size:11px;font-weight:700}.adm-modal-list .outline-button{min-height:34px;padding:4px 10px;font-size:11px}@media (width<=760px){.adm-hero{grid-template-columns:112px minmax(0,1fr)}.adm-ring{width:104px;height:104px}.adm-ring-hole{width:72px;height:72px}.adm-ring-hole strong{font-size:22px}.adm-hero-number{font-size:44px}.adm-chips{grid-column:1/-1;grid-template-columns:1fr 1fr;display:grid}.adm-grades{grid-template-columns:repeat(2,minmax(0,1fr))}.adm-now{flex-direction:column;align-items:stretch}}.adm-modal .eyebrow,.all-clear-admin .eyebrow{color:var(--muted)}@media (width<=760px){.all-clear-tabs{flex-wrap:wrap}.all-clear-tabs button{flex:42%;min-width:0;padding:10px 8px;font-size:11px}.adm-ring-hole span{display:none}}.suite-page,.all-clear{padding:12px clamp(8px,1.1vw,18px) 26px}.suite-wrap,.all-clear-setup,.all-clear-live,.all-clear-bar,.all-clear-tabs,.all-clear-alert,.all-clear-note,.all-clear-teacher,.all-clear-area,.all-clear-admin{max-width:min(1600px,100%);margin-inline:auto}.primary-button,.outline-button{border:var(--border-width) solid var(--border);min-height:44px;font-family:var(--font-body);letter-spacing:.05em;text-transform:uppercase;box-shadow:4px 4px 0 var(--border);cursor:pointer;border-radius:0;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:12px;font-weight:900;line-height:1;display:inline-flex}.primary-button{background:var(--accent);color:var(--accent-on)}.primary-button:hover{background:var(--accent-hover);color:var(--accent-on)}.outline-button{background:var(--surface);color:var(--ink)}.outline-button:hover{background:var(--accent)}.primary-button:active,.outline-button:active{box-shadow:inset 3px 3px 0 var(--border);transform:translate(2px,2px)}.primary-button:disabled,.outline-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.outline-button.danger{border-color:var(--danger);color:var(--danger)}.outline-button.danger:hover{background:var(--red-soft)}.all-clear-tabs,.adm-tabs{gap:0}.all-clear-tabs button,.adm-tabs button{min-height:46px;font-family:var(--font-body);letter-spacing:.06em;text-transform:uppercase;background:var(--surface);color:var(--fg);border:var(--border-width) solid var(--border);cursor:pointer;border-right-width:0;padding:10px 12px;font-size:12px;font-weight:900}.all-clear-tabs button:last-child,.adm-tabs button:last-child{border-right-width:var(--border-width)}.all-clear-tabs button[data-active=true],.adm-tabs button[data-active=true]{background:var(--accent)}.all-clear-tabs{border:0}.all-clear-tabs button+button{margin-left:-2px}.zone-canvas{border:var(--border-width) solid var(--border);background:repeating-linear-gradient(0deg, #00000012 0 1px, transparent 1px 40px), repeating-linear-gradient(90deg, #00000012 0 1px, transparent 1px 40px), var(--bg);touch-action:manipulation;width:100%;position:relative;overflow:hidden}.zone-canvas[data-drawing=true]{cursor:crosshair}.zone-canvas img{object-fit:fill;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.zone-canvas svg{width:100%;height:100%;position:absolute;inset:0}.zone-shape{pointer-events:none}.zone-shape-pick{pointer-events:auto;cursor:pointer}.zone-shape-pick:hover{fill-opacity:.45}.zone-canvas-blank{text-align:center;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);place-items:center;padding:16px;font-size:12px;font-weight:800;display:grid;position:absolute;inset:0}.zone-labels{pointer-events:none;position:absolute;inset:0}.zone-labels span{color:#fff;border:2px solid #000;place-items:center;min-width:26px;height:26px;font-size:12px;font-weight:900;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 2px #ffffffb3}.zone-picker{gap:10px;display:grid}.zone-buttons{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.zone-buttons button{background:var(--surface);border:var(--border-width) solid var(--border);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;align-items:center;gap:8px;width:100%;min-height:44px;padding:8px 10px;font-size:12px;font-weight:900;display:flex}.zone-buttons button[data-active=true]{background:var(--accent)}.zone-buttons i,.zone-editor-list i{color:#fff;border:2px solid #000;place-items:center;width:24px;height:24px;font-size:11px;font-style:normal;font-weight:900;display:grid}.zone-lead{margin:0;font-size:14px;line-height:1.45}.zone-chip{color:#fff;border:2px solid #000;padding:1px 7px;font-size:12px;font-weight:900;display:inline-block}.zone-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.zone-meta{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0;font-size:11px;font-weight:800}.zone-note{color:var(--danger);margin:0;font-size:12px;font-weight:800}.zone-sweep{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;max-height:46vh;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.zone-sweep button{text-align:left;background:var(--surface);border:var(--border-width) solid var(--border);cursor:pointer;gap:2px;width:100%;padding:10px 12px;display:grid}.zone-sweep button[data-picked=true]{background:var(--accent);box-shadow:inset 0 0 0 2px #000}.zone-sweep span{font-size:14px;font-weight:800}.zone-sweep small{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:10px;font-weight:800}.zone-editor{gap:10px;display:grid}.zone-editor-bar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.zone-upload{border:var(--border-width) solid var(--border);background:var(--surface);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;align-items:center;gap:8px;min-height:44px;padding:8px 12px;font-size:11px;font-weight:900;display:inline-flex}.zone-upload input{max-width:190px;font-size:11px}.zone-editor-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.zone-editor-list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.zone-editor-list button{background:var(--surface);border:var(--border-width) solid var(--border);cursor:pointer;align-items:center;gap:8px;min-height:38px;padding:6px 10px;font-size:12px;font-weight:800;display:inline-flex}.zone-editor-list button[data-active=true]{background:var(--accent)}.zone-editor-list small{color:var(--muted);font-size:10px}.all-clear-zone-chip{border:var(--border-width) solid var(--border);background:var(--surface);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;min-height:36px;margin-left:auto;padding:6px 12px;font-size:11px;font-weight:900}.all-clear-zone-chip[data-zone=""]{background:var(--accent)}.adm-bottom{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:12px;display:grid}.adm-zones{background:var(--surface);border:var(--border-width) solid var(--border);gap:8px;padding:10px 14px;display:grid}.adm-zones-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.adm-zones-head .eyebrow{margin:0}.adm-link{text-transform:uppercase;letter-spacing:.05em;cursor:pointer;background:0 0;border:0;padding:0;font-size:11px;font-weight:900;text-decoration:underline}.adm-zone-line{flex-wrap:wrap;gap:14px;font-size:12px;font-weight:800;display:flex}.adm-zone-line strong{font-family:var(--font-display);margin-right:3px;font-size:18px}.adm-warn{color:var(--amber)}.adm-zone-pills{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.adm-zone-pills button{border:var(--border-width) solid var(--border);background:var(--surface);cursor:pointer;align-items:center;gap:6px;min-height:34px;padding:4px 8px;display:inline-flex}.adm-zone-pills button:hover{background:var(--accent)}.adm-zone-pills i{color:#fff;border:2px solid #000;place-items:center;width:20px;height:20px;font-size:10px;font-style:normal;font-weight:900;display:grid}.adm-zone-pills strong{font-family:var(--font-display);font-size:14px}.adm-zone-missing{color:var(--danger);border-style:dashed!important}@media (width<=900px){.adm-bottom{grid-template-columns:minmax(0,1fr)}}.all-clear-meter,.all-clear-lunch,.all-clear-teacher,.all-clear-area,.all-clear-admin{max-width:min(1600px,100%)}.all-clear-signed{letter-spacing:.06em;text-transform:uppercase;color:#55534d;align-self:end;padding-bottom:6px;font-size:12px;font-weight:800}.all-clear-signed strong{color:var(--ink)}.all-clear-audit{letter-spacing:.05em;text-transform:uppercase;color:#55534d;margin:0 0 10px;font-size:11px;font-weight:800}.all-clear-menu .all-clear-audit strong{color:var(--ink)}.all-clear-history{border-top:2px solid #1b1b18;max-height:320px;margin:0;padding:0;list-style:none;overflow-y:auto}.all-clear-history li{border-bottom:1px solid #d8d5cc;grid-template-columns:62px minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);align-items:baseline;gap:10px;padding:7px 2px;font-size:13px;display:grid}.all-clear-history time{letter-spacing:.04em;font-size:12px;font-weight:900}.all-clear-history span{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.all-clear-history small{letter-spacing:.04em;text-transform:uppercase;color:#55534d;font-size:11px;font-weight:800}.all-clear-history b{text-align:right;text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}@media (width<=720px){.all-clear-history li{grid-template-columns:54px minmax(0,1fr)}.all-clear-history small,.all-clear-history b{text-align:left;grid-column:2}}.bell-defaults{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin:14px 0 6px;display:grid}.bell-defaults fieldset{background:#fff;border:2px solid #1b1b18;flex-wrap:wrap;align-items:end;gap:10px;margin:0;padding:12px 14px 14px;display:flex}.bell-defaults legend{letter-spacing:.08em;text-transform:uppercase;padding:0 6px;font-family:Arial Black,Arial Bold,Arial,sans-serif;font-size:12px}.bell-defaults label{letter-spacing:.06em;text-transform:uppercase;color:#55534d;gap:4px;font-size:10px;font-weight:800;display:grid}.bell-defaults input{width:84px;height:34px;font:inherit;background:#fff;border:2px solid #1b1b18;border-radius:0;padding:0 8px;font-size:13px;font-weight:700}.bell-defaults small{color:#55534d;flex-basis:100%;font-size:11px;font-weight:700}.bell-tabs{border:2px solid #1b1b18;flex-wrap:wrap;gap:0;width:fit-content;max-width:100%;margin:14px 0 12px;display:flex}.bell-tabs button{min-height:40px;font:inherit;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;background:#fff;border:0;border-right:2px solid #1b1b18;padding:0 14px;font-size:12px;font-weight:900}.bell-tabs button:last-child{border-right:0}.bell-tabs button[data-active=true]{background:var(--yellow,#ffef5a)}.bell-rooms{grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px;display:grid}.bell-room{background:#fff;border:2px solid #1b1b18;gap:8px;padding:14px;display:grid}.bell-room header{border-bottom:2px solid #1b1b18;justify-content:space-between;align-items:baseline;gap:8px;padding-bottom:6px;display:flex}.bell-room h3{letter-spacing:.02em;margin:0;font-family:Arial Black,Arial Bold,Arial,sans-serif;font-size:14px}.bell-room header small{letter-spacing:.06em;text-transform:uppercase;color:#55534d;font-size:10px;font-weight:800}.bell-line{letter-spacing:.04em;text-transform:uppercase;color:#55534d;flex-wrap:wrap;align-items:center;gap:6px;font-size:11px;font-weight:800;display:flex}.bell-line>span:first-child{color:#1b1b18;min-width:58px}.bell-line b{color:#1b1b18;text-transform:none;letter-spacing:0;font-size:11px;font-weight:800}.bell-line input,.bell-day select,.bell-day input{height:32px;font:inherit;color:#1b1b18;background:#fff;border:2px solid #1b1b18;border-radius:0;padding:0 6px;font-size:12px;font-weight:700}.bell-line input[type=number]{width:62px}.bell-line .outline-button{min-height:32px;padding:0 10px;font-size:10px}.bell-window{align-items:center;gap:4px;display:inline-flex}.bell-x{width:32px;min-width:32px;height:32px;font:inherit;cursor:pointer;background:#fff;border:2px solid #1b1b18;padding:0;font-size:15px;font-weight:900;line-height:1}.bell-week{border-top:1px dashed #b8b4a8;gap:4px;margin-top:4px;padding-top:8px;display:grid}.bell-day{letter-spacing:.05em;text-transform:uppercase;color:#55534d;grid-template-columns:34px minmax(0,1fr) minmax(0,92px);align-items:center;gap:6px;font-size:10px;font-weight:800;display:grid}.bell-day[data-set=true]>span{color:#1b1b18}.bell-day small{letter-spacing:0;text-transform:none;color:#1b1b18;font-size:10px;font-weight:700}.all-clear-staff-csv{background:#fff;border:2px dashed #1b1b18;flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:14px;padding:12px;display:flex}.all-clear-csv-drop{letter-spacing:.06em;text-transform:uppercase;color:#55534d;gap:4px;font-size:10px;font-weight:800;display:grid}.all-clear-csv-drop input{font-size:12px;font-weight:600}.all-clear-staff-csv small{flex-basis:100%}@media (width<=640px){.bell-day{grid-template-columns:30px minmax(0,1fr) 84px}.bell-day small{display:none}}.bell-grade{background:#fff;border:2px solid #1b1b18;gap:8px;margin-bottom:12px;padding:12px 14px;display:grid}.bell-grade h3{letter-spacing:.04em;text-transform:uppercase;margin:0;font-family:Arial Black,Arial Bold,Arial,sans-serif;font-size:13px}.bell-grade .all-clear-hint{margin:2px 0 0}.settings-page{background:var(--bg);min-height:100vh;color:var(--fg);font-family:var(--font-body);padding:24px 16px 64px}.settings-wrap{gap:14px;max-width:980px;margin:0 auto;display:grid}.settings-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.settings-head h1{font-family:var(--font-display);letter-spacing:-.01em;margin:2px 0 0;font-size:40px;line-height:.95}.settings-lead{max-width:62ch;margin:0;font-size:15px;line-height:1.45}.settings-tabs{border:var(--border-width) solid var(--border);background:var(--surface);width:fit-content;max-width:100%;display:flex}.settings-tabs button{border:0;border-right:var(--border-width) solid var(--border);background:var(--surface);min-height:44px;color:var(--fg);font:inherit;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;padding:0 18px;font-size:12px;font-weight:900}.settings-tabs button:last-child{border-right:0}.settings-tabs button[data-active=true]{background:var(--accent)}.settings-note{border:var(--border-width) solid var(--border);background:var(--surface);margin:0;padding:10px 12px;font-size:13px;font-weight:700}.settings-card{border:var(--border-width) solid var(--border);background:var(--surface);gap:12px;padding:18px;display:grid}.settings-card h2,.settings-module h2{font-family:var(--font-display);margin:0;font-size:22px;line-height:1}.settings-card h3{letter-spacing:.08em;text-transform:uppercase;margin:8px 0 0;font-size:12px;font-weight:900}.settings-hint{color:var(--muted);margin:0;font-size:13px;line-height:1.45}.settings-form{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:start;gap:14px;display:grid}.settings-form>label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);gap:6px;font-size:10px;font-weight:800;display:grid}.settings-form input[type=text],.settings-form input:not([type]){border:var(--border-width) solid var(--border);background:var(--bg);height:40px;color:var(--fg);font:inherit;padding:0 10px;font-size:15px;font-weight:700}.settings-form small{letter-spacing:0;text-transform:none;color:var(--muted);font-size:11px;font-weight:600}.settings-color{align-items:center;gap:10px;display:flex}.settings-color input[type=color]{border:var(--border-width) solid var(--border);background:var(--surface);cursor:pointer;width:56px;height:40px;padding:2px}.settings-color code{font-family:var(--font-mono);font-size:13px;font-weight:700}.settings-corners{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);gap:6px;font-size:10px;font-weight:800;display:grid}.settings-corners>div{gap:8px;display:flex}.settings-corners button{border:var(--border-width) solid var(--border);background:var(--surface);min-height:40px;color:var(--fg);font:inherit;cursor:pointer;align-items:center;gap:8px;padding:0 12px;font-size:11px;font-weight:800;display:flex}.settings-corners button.active{background:var(--accent)}.settings-corners i{border:2px solid;border-top-left-radius:0;width:18px;height:18px}.settings-preview{border:var(--border-width) solid var(--border);color:var(--fg);justify-content:space-between;align-items:center;gap:14px;padding:18px;display:flex}.settings-preview strong{font-family:var(--font-display);padding:4px 6px;font-size:20px}.settings-preview span{border:var(--border-width) solid var(--border);letter-spacing:.06em;text-transform:uppercase;color:var(--accent-on,#000);padding:10px 16px;font-size:12px;font-weight:900}.settings-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.settings-modules{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;display:grid}.settings-module{border:var(--border-width) solid var(--border);background:var(--surface);gap:10px;padding:16px;display:grid}.settings-module header small{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:900;display:block}.settings-module p{margin:0;font-size:13px;line-height:1.45}.settings-stats{gap:6px;margin:0;padding:0;list-style:none;display:grid}.settings-stats li,.settings-facts li{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:baseline;gap:12px;padding:6px 0;font-size:13px;display:flex}.settings-stats span,.settings-facts span{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:800}.settings-stats strong,.settings-facts strong{text-align:right;font-size:14px;font-weight:900}.settings-module-links{flex-wrap:wrap;gap:8px;display:flex}.settings-facts{margin:0;padding:0;list-style:none}.settings-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.settings-list li{border-bottom:1px solid var(--border-soft);justify-content:space-between;gap:12px;padding:7px 0;font-size:13px;font-weight:600;display:flex}.settings-list small{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:800}.suite-card-settings{border-style:dashed}@media (width<=640px){.settings-head h1{font-size:30px}.settings-preview{flex-direction:column;align-items:flex-start}}.bell-order-block{background:#fff;border:2px solid #1b1b18;gap:8px;margin-bottom:14px;padding:12px 14px;display:grid}.bell-order-block h3{letter-spacing:.04em;text-transform:uppercase;margin:0;font-family:Arial Black,Arial Bold,Arial,sans-serif;font-size:13px}.bell-order-block .all-clear-hint{margin:2px 0 0}.bell-order{gap:4px;max-width:560px;margin:0;padding:0;list-style:none;display:grid}.bell-order li{background:#fff;border:2px solid #1b1b18;grid-template-columns:32px 20px minmax(0,1fr) auto;align-items:center;gap:8px;padding:3px 6px 3px 3px;display:grid}.bell-order li[data-dragging=true]{background:var(--accent,#ffef5a)}.bell-grip{width:32px;height:32px;font:inherit;color:#1b1b18;cursor:grab;touch-action:none;background:#fff;border:2px solid #1b1b18;padding:0;font-size:15px;line-height:1}.bell-grip:active{cursor:grabbing}.bell-order-number{text-align:center;color:#55534d;font-size:11px;font-weight:900}.bell-order-name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:800;overflow:hidden}.bell-order li small{color:#55534d;white-space:nowrap;font-size:11px;font-weight:700}.bell-defaults input[type=time]{width:112px}.module-bar{border-bottom:var(--border-width) solid var(--border);flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:18px;padding-bottom:14px;display:flex}.module-brand{color:var(--ink);align-items:center;gap:12px;text-decoration:none;display:flex}.module-mark{background:var(--accent);width:44px;height:44px;color:var(--accent-on);border:var(--border-width) solid var(--border);font-family:var(--font-display);place-items:center;font-size:26px;line-height:1;display:inline-grid}.module-name{flex-direction:column;display:flex}.module-name strong{font-family:var(--font-display);text-transform:uppercase;font-size:20px;line-height:1}.module-name small{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:4px;font-size:10px}.module-status{text-overflow:ellipsis;white-space:nowrap;background:var(--surface);border:var(--border-width) solid var(--border);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;max-width:260px;padding:6px 10px;font-size:11px;font-weight:800;display:inline-flex;overflow:hidden}.module-status .dot{width:7px;height:7px;box-shadow:none;background:currentColor}.module-status.tone-live{background:var(--success);color:#fff}.module-status.tone-running{background:var(--accent);color:var(--accent-on)}.module-status.tone-idle{background:var(--well);color:var(--muted)}.module-status.tone-alert{background:var(--danger);color:#fff}.module-status.tone-offline{background:repeating-linear-gradient(45deg, var(--well) 0 6px, var(--surface) 6px 12px);color:var(--muted)}.module-stats{flex-wrap:wrap;align-items:center;gap:22px;margin-left:auto;display:flex}.module-stat{color:var(--muted);white-space:nowrap;font-size:12px}.module-stat strong{color:var(--ink);margin-right:3px;font-size:15px}.module-stats .all-clear-meter{flex-wrap:wrap;align-items:center;gap:14px;margin:0;display:flex}.module-stats .all-clear-meter-bar{width:170px}.module-stats .all-clear-meter-line,.module-stats .all-clear-meter-sub{margin:0;font-size:12px}.module-stats .all-clear-meter-legend{gap:12px;margin:0;padding:0;font-size:11px;list-style:none;display:flex}.account{position:relative}.account-button{font:inherit;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);background:var(--surface);border:var(--border-width) solid var(--border);cursor:pointer;padding:8px 12px;font-size:11px;font-weight:800}.account-button:hover,.account-button.on{background:var(--accent)}.account-menu{z-index:80;background:var(--surface);border:var(--border-width) solid var(--border);min-width:250px;box-shadow:8px 8px 0 var(--border);flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.account-menu a,.account-menu button{font:inherit;text-align:left;color:var(--ink);cursor:pointer;background:0 0;border:0;flex-direction:column;gap:2px;padding:9px 10px;text-decoration:none;display:flex}.account-menu a small{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:9px}.account-menu a span{font-size:14px;font-weight:700}.account-menu button.account-signout{letter-spacing:.06em;text-transform:uppercase;border-top:2px solid var(--border);margin-top:4px;padding-top:10px;font-size:12px;font-weight:800}.account-menu a:hover,.account-menu a.on,.account-menu button.account-signout:hover{background:var(--accent)}.account-menu a.on{outline:2px solid var(--border);outline-offset:-4px}.account-name{border-top:2px solid var(--border);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:6px 0 2px;padding:8px 10px 2px;font-size:11px;overflow:hidden}.all-clear-zone-row{flex-wrap:wrap;align-items:center;gap:14px;margin:-6px 0 14px;display:flex}.all-clear-zone-row time{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:12px}.all-clear-note-form{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.all-clear-note-form input{min-width:200px;font:inherit;color:var(--ink);background:var(--surface);border:var(--border-width) solid var(--border);flex:260px;padding:9px 10px;font-size:14px}.settings-times{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.settings-times input[type=time]{width:120px;font:inherit;border:var(--border-width) solid var(--border);background:var(--surface);padding:8px}@media (width<=760px){.module-bar{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px 12px;padding-bottom:12px;display:grid}.module-brand{grid-area:1/1/2/3;min-width:0}.module-mark{width:38px;height:38px;font-size:22px}.module-name strong{font-size:16px}.module-name small{margin-top:3px;font-size:9px}.module-status{grid-area:2/1/3/-1;justify-self:start;max-width:100%}.module-stats{overscroll-behavior-x:contain;scrollbar-width:none;flex-wrap:nowrap;grid-area:3/1/4/-1;gap:16px;margin-left:0;padding-bottom:2px;overflow-x:auto}.module-stats::-webkit-scrollbar{display:none}.module-stats .all-clear-meter{flex-wrap:nowrap}.account{grid-area:1/3/2/4;justify-self:end}.account-menu{max-width:calc(100vw - 32px);left:auto;right:0}.module-stats .all-clear-meter{flex-direction:column;align-items:stretch;gap:8px;width:100%}.module-stats .all-clear-meter-bar{flex:none;width:100%}.module-stats .all-clear-meter-legend{flex-wrap:wrap;gap:8px 14px}}.settings-form select,.settings-form input[type=number]{font:inherit;border:var(--border-width) solid var(--border);background:var(--surface);padding:10px 12px}.settings-form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.settings-pair{gap:8px;display:flex}.settings-pair input{flex:1;min-width:0}.settings-check{align-items:center;gap:8px;font-weight:700;display:flex}.settings-form-grid .settings-check{grid-column:1/-1}.settings-check input{width:18px;height:18px}.settings-checks{flex-wrap:wrap;align-items:center;gap:14px;margin:4px 0 18px;font-weight:800;display:flex}.settings-checks>span{letter-spacing:.06em;text-transform:uppercase;font-size:12px}.settings-grade-table{margin:8px 0 18px}.settings-grade-table table{border-collapse:collapse;width:100%;font-size:14px}.settings-grade-table th,.settings-grade-table td{text-align:left;border-bottom:1px solid var(--border-soft);padding:8px 10px}.settings-grade-table thead th{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:11px}.settings-grade-table tr[data-changed=true] th{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.settings-grade-table tr[data-changed=true] th{background:color-mix(in oklab, var(--accent), white 86%)}}.settings-clear{font:inherit;border:1px solid var(--border);cursor:pointer;background:0 0;padding:4px 8px;font-size:12px}.settings-requests{grid-column:1/-1}.pass-landing-foot{border-top:1px solid var(--border-soft);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;margin-top:44px;padding-top:14px;font-size:12px;display:flex}.pass-landing-foot a{letter-spacing:.04em;text-transform:uppercase;font-weight:900}.pass-tabs-back{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);align-self:center;margin-left:auto;padding:8px 10px;font-size:12px;font-weight:900;text-decoration:none}.pass-tabs-back:hover{color:var(--fg,#0c0c0d)}.pass-request-btn{width:100%;font:inherit;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.02em;border:var(--border-width) solid var(--border);background:var(--success);color:#000;cursor:pointer;margin:8px 0 26px;padding:30px 24px;font-size:clamp(26px,4vw,40px);display:block}.pass-request-btn:hover{background:var(--success)}@supports (color:color-mix(in lab, red, red)){.pass-request-btn:hover{background:color-mix(in oklab, var(--success), white 18%)}}.pass-picking h2{font-family:var(--font-display);text-transform:uppercase;margin:0;font-size:clamp(26px,3.4vw,38px)}.pass-modal-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.pass-modal-head .quiet{font:inherit;border:1px solid var(--border);cursor:pointer;background:0 0;padding:8px 12px;font-size:13px}.pass-line{margin:0 0 26px}.pass-line h2{font-family:var(--font-display);text-transform:uppercase;margin:0 0 10px;font-size:26px}.pass-line ol{gap:8px;margin:0;padding:0;list-style:none;display:grid}.pass-line-row{border:var(--border-width) solid var(--border);background:var(--surface);grid-template-columns:34px 1fr auto;align-items:center;gap:12px;padding:14px 16px;display:grid}.pass-line-row strong{font-size:22px}.pass-line-row em{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:12px;font-style:normal;font-weight:900}.pass-line-pos{font-family:var(--font-display);text-align:center;color:var(--muted);font-size:20px}.pass-line-row.waiting{background:var(--warn)}@supports (color:color-mix(in lab, red, red)){.pass-line-row.waiting{background:color-mix(in oklab, var(--warn), white 80%)}}.pass-line-row.approved{background:var(--success)}@supports (color:color-mix(in lab, red, red)){.pass-line-row.approved{background:color-mix(in oklab, var(--success), white 70%)}}.pass-line-row.approved{border-left-width:10px}.pass-line-row.out{background:oklab(93.6591% 5.96046e-9 5.96046e-8)}.pass-line-row .pass-line-pos{color:var(--fg,#0c0c0d)}.pass-section-title{font-family:var(--font-display);text-transform:uppercase;margin:26px 0 10px;font-size:24px}.pass-section-title.ok{color:var(--success-ink,#2f7238)}.pass-section-title.late{color:var(--danger)}.pass-table{border-collapse:collapse;background:var(--surface);border:var(--border-width) solid var(--border);width:100%;font-size:14px}.pass-table th,.pass-table td{text-align:left;border-bottom:1px solid var(--border-soft);vertical-align:top;padding:10px 12px}.pass-table thead th{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:11px}.pass-table tr.out{border-left:8px solid var(--muted)}.pass-table tr.overdue{background:var(--danger)}@supports (color:color-mix(in lab, red, red)){.pass-table tr.overdue{background:color-mix(in oklab, var(--danger), white 84%)}}.pass-table-actions{flex-wrap:wrap;align-items:start;gap:6px;display:flex}.pass-table-actions button{padding:6px 9px;font-size:12px}.pass-done-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;display:grid}.pass-restriction-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:start;gap:16px;display:grid}.pass-restriction-col{border:var(--border-width) solid var(--border);background:var(--surface);max-height:62vh;padding:12px;overflow-y:auto}.pass-restriction-col h3{font-family:var(--font-display);text-transform:uppercase;margin:0 0 10px;font-size:18px}.pass-restriction-col .pass-check{padding:4px 0;font-size:14px;font-weight:600}.pass-restriction-col .pass-check.on{font-weight:900}.pass-timing-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:6px 0 20px;display:grid}.pass-timing-grid .pass-field input,.pass-timing-grid .pass-field select{font:inherit;border:var(--border-width) solid var(--border);background:var(--surface);padding:10px 12px}.pass-timing-grid small{color:var(--muted);text-transform:none;letter-spacing:0;font-size:12px;font-weight:500}.pass-timing-checks{flex-wrap:wrap;gap:12px;display:flex}.pass-room-label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:-18px 0 20px;font-size:13px;font-weight:700}.pass-modal{z-index:60;background:#0c0c0d8c;justify-content:center;align-items:flex-start;padding:4vh 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.pass-modal-card{background:var(--surface);border:var(--border-width) solid var(--border);width:min(620px,100%);padding:20px;box-shadow:0 24px 60px #00000059}.pass-modal-card h2{font-family:var(--font-display);text-transform:uppercase;margin:0;font-size:clamp(24px,3vw,34px)}.pass-modal-x{font:inherit;cursor:pointer;background:0 0;border:0;padding:0 8px;font-size:30px;line-height:1}.pass-or{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:20px 0 8px;font-size:12px}.pass-modal .pass-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-height:42vh;padding-right:4px;overflow-y:auto}.pass-modal .pass-results{max-height:30vh;overflow-y:auto}.pass-confirm{gap:12px;padding:10px 0 4px;display:grid}.pass-confirm p{margin:0 0 6px;font-size:clamp(22px,3vw,30px)}.pass-confirm-yes{font:inherit;font-family:var(--font-display);text-transform:uppercase;border:var(--border-width) solid var(--border);background:var(--success);color:#000;cursor:pointer;padding:18px;font-size:22px}.pass-confirm-no{font:inherit;border:1px solid var(--border);cursor:pointer;background:0 0;padding:12px;font-size:15px}.bdgr-screen{background:var(--paper,#f4f4f2);flex-direction:column;height:100vh;min-height:0;display:flex}.bdgr-frame-wrap{background:var(--paper,#f4f4f2);flex:1;min-height:0;display:flex}.bdgr-frame{background:var(--paper,#f4f4f2);border:0;width:100%;height:100%;min-height:0;display:block}.bdgr-message{flex-direction:column;flex:1;justify-content:center;gap:10px;width:min(620px,100% - 40px);margin:0 auto;padding:48px 0;display:flex}.bdgr-message small{letter-spacing:.12em;text-transform:uppercase;color:var(--muted,#6b6b6b);font-size:11px;font-weight:800}.bdgr-message h2{font-family:var(--font-display,Georgia, serif);margin:0;font-size:clamp(28px,4vw,44px);line-height:1.05}.bdgr-message p{max-width:54ch;margin:0;font-size:16px;line-height:1.55}.bdgr-message code{border:1px solid var(--border,#d8d4c8);background:var(--surface,#fff);padding:1px 5px;font-size:.92em}.bdgr-email{color:var(--muted,#6b6b6b);font-size:13px}.bdgr-locked{border-top:6px solid var(--accent,#e55e22)}@media (width<=760px){.bdgr-screen{height:100dvh}.bdgr-message{padding:32px 0}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}
