@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-space-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-leading:initial;--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-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia: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-amber-50:oklch(98.7% .022 95.277);--color-amber-700:oklch(55.5% .163 48.998);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-700:oklch(50.8% .118 165.612);--color-cyan-400:oklch(78.9% .154 211.53);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-400:oklch(70.7% .165 254.624);--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-950:oklch(28.2% .091 267.935);--color-violet-50:oklch(96.9% .016 293.756);--color-violet-700:oklch(49.1% .27 292.581);--color-rose-50:oklch(96.9% .015 12.422);--color-rose-200:oklch(89.2% .058 10.001);--color-rose-700:oklch(51.4% .222 16.935);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-slate-950:oklch(12.9% .042 264.695);--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-3xl:48rem;--container-4xl:56rem;--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: 1.5 ;--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);--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--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;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{.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}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-4{top:calc(var(--spacing) * 4)}.right-0{right:calc(var(--spacing) * 0)}.right-4{right:calc(var(--spacing) * 4)}.bottom-0{bottom:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.z-50{z-index:50}.z-\[4\]{z-index:4}.mx-auto{margin-inline:auto}.my-3{margin-block:calc(var(--spacing) * 3)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-3\.5{margin-top:calc(var(--spacing) * 3.5)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-auto{margin-top:auto}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\.5{margin-bottom:calc(var(--spacing) * 2.5)}.ml-1{margin-left:calc(var(--spacing) * 1)}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.inline-flex{display:inline-flex}.list-item{display:list-item}.aspect-\[4\/3\]{aspect-ratio:4/3}.aspect-square{aspect-ratio:1}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-full{width:100%;height:100%}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-60{max-height:calc(var(--spacing) * 60)}.max-h-\[72vh\]{max-height:72vh}.max-h-\[92vh\]{max-height:92vh}.min-h-36{min-height:calc(var(--spacing) * 36)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-40{width:calc(var(--spacing) * 40)}.w-52{width:calc(var(--spacing) * 52)}.w-\[calc\(100vw-24px\)\]{width:calc(100vw - 24px)}.w-full{width:100%}.w-px{width:1px}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-\[1400px\]{max-width:1400px}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-max{min-width:max-content}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.animate-pulse{animation:var(--animate-pulse)}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}: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-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * 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-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * 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)))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overscroll-contain{overscroll-behavior:contain}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[18px\]{border-radius:18px}.rounded-\[20px\]{border-radius:20px}.rounded-\[22px\]{border-radius:22px}.rounded-\[24px\]{border-radius:24px}.rounded-\[28px\]{border-radius:28px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-\[28px\]{border-top-left-radius:28px;border-top-right-radius:28px}.border{border-style:var(--tw-border-style);border-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-rose-200{border-color:var(--color-rose-200)}.border-slate-200{border-color:var(--color-slate-200)}.border-slate-200\/80{border-color:#e2e8f0cc}@supports (color:color-mix(in lab,red,red)){.border-slate-200\/80{border-color:color-mix(in oklab,var(--color-slate-200) 80%,transparent)}}.border-white\/15{border-color:#ffffff26}@supports (color:color-mix(in lab,red,red)){.border-white\/15{border-color:color-mix(in oklab,var(--color-white) 15%,transparent)}}.border-white\/40{border-color:#fff6}@supports (color:color-mix(in lab,red,red)){.border-white\/40{border-color:color-mix(in oklab,var(--color-white) 40%,transparent)}}.bg-amber-50{background-color:var(--color-amber-50)}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-rose-50{background-color:var(--color-rose-50)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-50\/70{background-color:#f8fafcb3}@supports (color:color-mix(in lab,red,red)){.bg-slate-50\/70{background-color:color-mix(in oklab,var(--color-slate-50) 70%,transparent)}}.bg-slate-50\/92{background-color:#f8fafceb}@supports (color:color-mix(in lab,red,red)){.bg-slate-50\/92{background-color:color-mix(in oklab,var(--color-slate-50) 92%,transparent)}}.bg-slate-100{background-color:var(--color-slate-100)}.bg-slate-200{background-color:var(--color-slate-200)}.bg-slate-900{background-color:var(--color-slate-900)}.bg-slate-950\/55{background-color:#0206188c}@supports (color:color-mix(in lab,red,red)){.bg-slate-950\/55{background-color:color-mix(in oklab,var(--color-slate-950) 55%,transparent)}}.bg-slate-950\/70{background-color:#020618b3}@supports (color:color-mix(in lab,red,red)){.bg-slate-950\/70{background-color:color-mix(in oklab,var(--color-slate-950) 70%,transparent)}}.bg-transparent{background-color:#0000}.bg-violet-50{background-color:var(--color-violet-50)}.bg-white{background-color:var(--color-white)}.bg-white\/8{background-color:#ffffff14}@supports (color:color-mix(in lab,red,red)){.bg-white\/8{background-color:color-mix(in oklab,var(--color-white) 8%,transparent)}}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.bg-white\/10{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.bg-white\/12{background-color:#ffffff1f}@supports (color:color-mix(in lab,red,red)){.bg-white\/12{background-color:color-mix(in oklab,var(--color-white) 12%,transparent)}}.bg-white\/15{background-color:#ffffff26}@supports (color:color-mix(in lab,red,red)){.bg-white\/15{background-color:color-mix(in oklab,var(--color-white) 15%,transparent)}}.bg-white\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.bg-white\/90{background-color:color-mix(in oklab,var(--color-white) 90%,transparent)}}.bg-white\/95{background-color:#fffffff2}@supports (color:color-mix(in lab,red,red)){.bg-white\/95{background-color:color-mix(in oklab,var(--color-white) 95%,transparent)}}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-\[radial-gradient\(circle_at_top_left\,_rgba\(96\,165\,250\,\.34\)\,_transparent_30\%\)\,linear-gradient\(135deg\,\#0f172a_0\%\,\#1d4ed8_45\%\,\#2563eb_100\%\)\]{background-image:radial-gradient(circle at 0 0,#60a5fa57,#0000 30%),linear-gradient(135deg,#0f172a,#1d4ed8 45%,#2563eb)}.from-blue-500{--tw-gradient-from:var(--color-blue-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-blue-600{--tw-gradient-from:var(--color-blue-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))}.from-slate-900{--tw-gradient-from:var(--color-slate-900);--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-blue-500{--tw-gradient-via:var(--color-blue-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-slate-900{--tw-gradient-via:var(--color-slate-900);--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-blue-950{--tw-gradient-to:var(--color-blue-950);--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-cyan-400{--tw-gradient-to:var(--color-cyan-400);--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))}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing) * 0)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-7{padding:calc(var(--spacing) * 7)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.pt-0{padding-top:calc(var(--spacing) * 0)}.pt-3\.5{padding-top:calc(var(--spacing) * 3.5)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pb-0{padding-bottom:calc(var(--spacing) * 0)}.pb-0\.5{padding-bottom:calc(var(--spacing) * .5)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.text-center{text-align:center}.text-left{text-align:left}.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))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-none{--tw-leading:1;line-height:1}.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-\[0\.16em\]{--tw-tracking:.16em;letter-spacing:.16em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.whitespace-nowrap{white-space:nowrap}.text-amber-700{color:var(--color-amber-700)}.text-blue-50{color:var(--color-blue-50)}.text-blue-50\/90{color:#eff6ffe6}@supports (color:color-mix(in lab,red,red)){.text-blue-50\/90{color:color-mix(in oklab,var(--color-blue-50) 90%,transparent)}}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-emerald-700{color:var(--color-emerald-700)}.text-rose-700{color:var(--color-rose-700)}.text-slate-300{color:var(--color-slate-300)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-slate-900{color:var(--color-slate-900)}.text-slate-950{color:var(--color-slate-950)}.text-violet-700{color:var(--color-violet-700)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.shadow-\[0_-24px_80px_rgba\(15\,23\,42\,\.18\)\]{--tw-shadow:0 -24px 80px var(--tw-shadow-color,#0f172a2e);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_10px_28px_rgba\(37\,99\,235\,\.22\)\]{--tw-shadow:0 10px 28px var(--tw-shadow-color,#2563eb38);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_18px_48px_rgba\(15\,23\,42\,\.05\)\]{--tw-shadow:0 18px 48px var(--tw-shadow-color,#0f172a0d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_20px_60px_rgba\(30\,64\,175\,\.14\)\]{--tw-shadow:0 20px 60px var(--tw-shadow-color,#1e40af24);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_24px_80px_rgba\(15\,23\,42\,\.18\)\]{--tw-shadow:0 24px 80px var(--tw-shadow-color,#0f172a2e);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_24px_80px_rgba\(15\,23\,42\,\.24\)\]{--tw-shadow:0 24px 80px var(--tw-shadow-color,#0f172a3d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;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-1{--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)}.ring-white\/15{--tw-ring-color:#ffffff26}@supports (color:color-mix(in lab,red,red)){.ring-white\/15{--tw-ring-color:color-mix(in oklab, var(--color-white) 15%, transparent)}}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.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-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.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))}.outline-none{--tw-outline-style:none;outline-style:none}@media(hover:hover){.hover\:-translate-y-0\.5:hover{--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:bg-blue-100:hover{background-color:var(--color-blue-100)}.hover\:bg-blue-500:hover{background-color:var(--color-blue-500)}.hover\:bg-slate-50:hover{background-color:var(--color-slate-50)}.hover\:bg-slate-100:hover{background-color:var(--color-slate-100)}.hover\:bg-slate-800:hover{background-color:var(--color-slate-800)}.hover\:bg-white\/12:hover{background-color:#ffffff1f}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/12:hover{background-color:color-mix(in oklab,var(--color-white) 12%,transparent)}}.hover\:text-slate-900:hover{color:var(--color-slate-900)}.hover\:shadow-sm:hover{--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)}}.focus-visible\:ring-2:focus-visible{--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-visible\:ring-blue-400\/60:focus-visible{--tw-ring-color:#54a2ff99}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-blue-400\/60:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-blue-400) 60%, transparent)}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.data-\[state\=active\]\:bg-slate-900[data-state=active]{background-color:var(--color-slate-900)}.data-\[state\=active\]\:text-white[data-state=active]{color:var(--color-white)}@media(min-width:40rem){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:p-5{padding:calc(var(--spacing) * 5)}.sm\:px-4{padding-inline:calc(var(--spacing) * 4)}.sm\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.sm\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}}@media(min-width:48rem){.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:64rem){.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:80rem){.xl\:col-span-4{grid-column:span 4/span 4}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-\[minmax\(0\,1\.18fr\)_minmax\(340px\,\.82fr\)\]{grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr)}}}:root{--bg:#f7f9fc;--panel:#fff;--line:#e8edf4;--line-strong:#dde5ef;--text:#162033;--muted:#6b778c;--blue:#3b82f6;--blue-soft:#eef4ff;--green:#16a34a;--green-soft:#ecfdf3;--orange:#f59e0b;--orange-soft:#fff7e8;--red:#ef4444;--red-soft:#fff1f2;--purple:#8b5cf6;--purple-soft:#f4efff;--radius:14px;--radius-sm:10px;--content:1240px;--sidebar:232px;--shadow:none;--panel-shadow:0 14px 36px #0f172a0a;--hero-shadow:0 18px 48px #0f172a0d;--modal-shadow:0 24px 80px #0f172a38}*{box-sizing:border-box}html,body,#root{background:var(--bg);min-height:100%;color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;font:14px/1.5 Segoe UI,Inter,Roboto,Arial,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,sans-serif}body{min-width:320px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.app{min-height:100vh;display:flex}.sidebar{width:var(--sidebar);border-right:1px solid var(--line);background:#fff;flex-direction:column;gap:0;height:100vh;min-height:0;padding:12px 12px 14px;display:flex;position:sticky;top:0}.brand{letter-spacing:.1px;align-items:center;gap:7px;margin-bottom:10px;padding:0 4px;font-size:17px;font-weight:750;line-height:1.15;display:flex}.brand-mark{background:var(--blue);color:#fff;border-radius:8px;place-items:center;width:28px;height:28px;font-size:15px;font-weight:800;display:grid}.sidebar-nav-scroll{flex:auto;min-height:0;padding-bottom:12px;overflow:auto}.nav-section{color:#93a0b4;text-transform:uppercase;letter-spacing:.08em;margin:18px 0 8px;padding:0 10px;font-size:11px;font-weight:700}.nav{flex-direction:column;gap:4px;display:flex}.nav a{color:#546177;border-radius:10px;align-items:center;gap:10px;padding:10px;display:flex}.nav a.active{background:var(--blue-soft);color:var(--blue);font-weight:600}.nav a:hover{background:#f6f8fb}.nav .icon{opacity:.95;flex:0 0 20px;place-items:center;width:20px;height:20px;font-size:14px;display:grid}.sidebar-foot{color:#7e8aa0;background:0 0;margin-top:auto;padding-top:6px}.sidebar-account{gap:6px;margin-top:6px;padding-top:0;display:grid}.sidebar-profile{align-items:center;gap:10px;padding-left:0}.sidebar-profile .avatar{width:34px;height:34px;font-size:13px}.sidebar-profile strong{font-size:13px;line-height:1.2}.sidebar-profile small{font-size:11px;line-height:1.35}.sidebar-signout{border-radius:10px;justify-content:center;gap:6px;height:34px;padding:0 10px;font-size:12px}.sidebar-signout .btn-icon{flex:0 0 14px;width:14px;height:14px}.sidebar-signout .btn-icon svg{width:14px;height:14px}.mobile-signout-bar{display:none}.main{flex:1;min-width:0}.topbar{border-bottom:1px solid var(--line);z-index:5;background:#fff;justify-content:space-between;align-items:center;height:64px;padding:0 22px;display:flex;position:sticky;top:0}.topbar-ghost{background:0 0;border-bottom:none}.topbar-copy{gap:4px;min-width:0;display:grid}.topbar-copy strong{font-size:16px;line-height:1.2}.topbar-ghost .topbar-copy strong{font-size:20px}.topbar-copy small{color:var(--muted);font-size:12px}.search{color:#8b97aa;background:#f6f8fb;border:1px solid #0000;border-radius:12px;align-items:center;gap:10px;min-width:320px;padding:10px 12px;display:flex}.search .search-icon{color:#73809a;place-items:center;width:18px;height:18px;display:grid}.search input{width:100%;font:inherit;color:#2c3850;background:0 0;border:none;outline:none}.actions{align-items:center;gap:12px;display:flex}.icon-btn{border:1px solid var(--line);color:#5f6b81;background:#fff;border-radius:12px;place-items:center;width:38px;height:38px;line-height:0;display:grid}.icon-btn.primary{background:var(--blue);color:#fff;border-color:var(--blue)}.profile{align-items:center;gap:12px;padding-left:8px;display:flex}.avatar{color:#1d4ed8;background:#dbeafe;border-radius:50%;place-items:center;width:40px;height:40px;font-weight:700;display:grid}.profile small{color:var(--muted);display:block}.page{padding:22px}.page-inner{max-width:var(--content);margin:0 auto}.page-inner.page-inner-wide{max-width:none}.hero{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.hero h1{letter-spacing:.1px;margin:0 0 6px;font-size:30px;font-weight:750;line-height:1.15}.hero p{color:var(--muted);margin:0;font-size:15px}.badge{border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:12px;font-weight:700;display:inline-flex}.badge.blue{background:var(--blue-soft);color:var(--blue)}.badge.green{background:var(--green-soft);color:var(--green)}.badge.orange{background:var(--orange-soft);color:#b66b00}.badge.red{background:var(--red-soft);color:var(--red)}.badge.purple{background:var(--purple-soft);color:var(--purple)}.grid-4{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.grid-2{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.kpi-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.kpi-icon{border-radius:12px;place-items:center;width:38px;height:38px;display:grid}.kpi-icon.blue{background:var(--blue-soft);color:var(--blue)}.kpi-icon.green{background:var(--green-soft);color:var(--green)}.kpi-icon.orange{background:var(--orange-soft);color:var(--orange)}.kpi-icon.purple{background:var(--purple-soft);color:var(--purple)}.kpi-value{margin:4px 0 6px;font-size:34px;font-weight:700;line-height:1.1}.kpi-label{color:var(--muted);font-weight:500}.kpi-meta{color:var(--green);font-size:13px;font-weight:700}.kpi-meta.muted,.muted{color:var(--muted);font-weight:600}.kpi-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--line);overflow:hidden}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.kpi-grid.cols-3{grid-template-columns:repeat(3,1fr)}.kpi-grid.cols-2{grid-template-columns:repeat(2,1fr)}.kpi-item{background:var(--panel);min-width:0;padding:14px 16px}.kpi-item .kpi-value{margin:6px 0 4px;font-size:28px}.kpi-item .kpi-label{font-size:13px}.kpi-item .kpi-meta{font-size:12px}.section-title{justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.section-title h2,.section-title h3{letter-spacing:-.01em;margin:0;font-size:20px;line-height:1.15}.section-title p{color:var(--muted);margin:4px 0 0}.btn-row{flex-wrap:wrap;gap:10px;display:flex}.btn{border:1px solid var(--line);color:#344053;background:#fff;border-radius:12px;justify-content:center;align-items:center;gap:8px;height:40px;padding:0 14px;font-weight:650;line-height:1;display:inline-flex}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.soft{background:#f6f8fb}.btn.danger{background:var(--red-soft);color:var(--red);border-color:#f0b4bd}.btn-icon{flex:0 0 18px;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.btn-icon svg{width:18px;height:18px}.icon-only-btn{border-radius:12px;width:40px;min-width:40px;padding:0}.primary-button.icon-only-btn{width:44px;padding:0}.btn:hover,.primary-button:hover{transition:transform .18s,box-shadow .18s,border-color .18s;transform:translateY(-1px)}.btn:hover{box-shadow:0 10px 24px #0f172a14}.btn.primary:hover,.primary-button:hover{box-shadow:0 14px 28px #3b82f638}.btn.soft:hover{background:#f9fbff;border-color:#d6e2f4}.btn.danger:hover{box-shadow:0 12px 24px #ef44441f}.chart-box{align-items:flex-end;gap:22px;height:280px;padding:18px 10px 6px;display:flex}.bar-group{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:10px;height:100%;display:flex}.bar-track{background:#f2f5f9;border-radius:999px;align-items:flex-end;width:28px;height:210px;display:flex;position:relative}.bar{background:linear-gradient(#8eb6ff,#4f8dff);border-radius:999px;width:100%}.table-wrap{border:1px solid var(--line);background:#fcfdff;border-radius:18px;overflow:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-top:1px solid var(--line);white-space:nowrap;padding:14px 12px}th{text-transform:uppercase;letter-spacing:.04em;color:#8a96aa;font-size:12px}tr:first-child th,table thead tr:first-child td{border-top:none}.sheet-wrap{border:1px solid var(--line);background:#fcfdff;border-radius:18px;overflow:auto}.sheet-table{border-collapse:separate;border-spacing:0;min-width:980px}.sheet-table th{z-index:1;box-shadow:inset 0 -1px 0 var(--line);background:#f6f9fd;position:sticky;top:0}.sheet-table th,.sheet-table td{border-top:1px solid var(--line);border-right:1px solid var(--line);vertical-align:top;white-space:normal}.sheet-table th:last-child,.sheet-table td:last-child{border-right:none;position:sticky;right:0}.sheet-table th:last-child{z-index:4;box-shadow:inset 1px 0 0 var(--line),inset 0 -1px 0 var(--line),-10px 0 24px #0f172a0d}.sheet-table td:last-child{z-index:2;box-shadow:inset 1px 0 0 var(--line),-10px 0 24px #0f172a0a;background:#fcfdff}.sheet-table tbody tr:hover td,.sheet-table tbody tr:hover td:last-child{background:#f8fbff}.sheet-primary{flex-direction:column;gap:4px;display:flex}.sheet-inline{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sheet-note{min-width:220px;max-width:320px}.student-page-shell,.branch-page-shell,.resource-page-shell{gap:18px;display:grid}.student-page-hero,.branch-page-hero,.resource-page-hero{box-shadow:var(--hero-shadow);background:linear-gradient(#fff,#f8fbff);border:1px solid #94a3b82e;border-radius:24px;justify-content:space-between;align-items:flex-start;gap:18px;padding:24px;display:flex}.student-page-copy{max-width:760px}.student-page-eyebrow{color:#2563eb;letter-spacing:.08em;text-transform:uppercase;background:#3b82f614;border-radius:999px;align-items:center;height:30px;padding:0 12px;font-size:12px;font-weight:800;display:inline-flex}.student-page-copy h1,.branch-page-copy h1,.resource-page-copy h1{letter-spacing:-.02em;margin:0;font-size:32px;line-height:1.08}.topbar-ghost+.page .branch-page-copy h1,.topbar-ghost+.page .resource-page-copy h1,.topbar-ghost+.page .student-page-copy h1,.topbar-ghost+.page .attendance-hero-copy h1,.topbar-ghost+.page .hero h1{display:none}.student-page-copy p{color:#5f6b81;margin:0;font-size:15px;line-height:1.7}.student-page-actions{align-items:flex-start;display:flex}.student-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.student-metric-card,.branch-metric-card,.resource-metric-card{box-shadow:var(--panel-shadow);background:#fffffff0;border:1px solid #e2e8f0e6;border-radius:18px;padding:16px 18px}.student-metric-card{gap:6px;display:grid}.student-metric-card strong{letter-spacing:-.03em;font-size:30px;font-weight:760;line-height:1}.student-metric-card small{color:#6b778c;font-size:12px;line-height:1.5}.student-metric-label{letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:800}.student-metric-card.accent-blue .student-metric-label{color:#2563eb}.student-metric-card.accent-green .student-metric-label{color:#15803d}.student-metric-card.accent-orange .student-metric-label{color:#c2410c}.student-metric-card.accent-slate .student-metric-label{color:#475569}.student-table-card,.branch-table-card,.resource-table-card{box-shadow:var(--panel-shadow);border-radius:22px;padding:18px}.student-table-toolbar,.branch-table-toolbar,.resource-table-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.student-table-toolbar h3{letter-spacing:-.01em;margin:0;font-size:18px}.student-table-toolbar p{color:#6b778c;margin:6px 0 0;font-size:13px}.student-toolbar-actions,.resource-toolbar-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.student-filter-field,.student-filter-select,.branch-toolbar-search,.resource-toolbar-search{border:1px solid var(--line-strong);color:#475467;background:#fbfcff;border-radius:14px;align-items:center;gap:8px;min-width:0;height:40px;padding:0 12px;display:flex;box-shadow:inset 0 1px #ffffffa6}.student-filter-field{min-width:280px}.student-filter-field input,.student-filter-select select,.branch-toolbar-search input,.resource-toolbar-search input{font:inherit;color:#162033;background:0 0;border:none;outline:none;width:100%}.student-filter-select select{padding-right:6px}.student-filter-icon,.branch-filter-icon,.resource-filter-icon{color:#7b879c;justify-content:center;align-items:center;display:inline-flex}.student-filter-icon .btn-icon{flex:0 0 16px;width:16px;height:16px}.student-filter-icon .btn-icon svg{width:16px;height:16px}.student-sheet-table{min-width:1080px}.student-sheet-table thead th,.branch-sheet-table thead th,.resource-sheet-table thead th{color:#5f6b81;background:#f7faff}.student-sheet-table th,.student-sheet-table td{padding:10px 12px}.student-sheet-table tbody td{vertical-align:middle}.student-name-cell,.student-contact-cell,.student-progress-cell,.branch-name-cell,.resource-primary-cell{gap:6px;display:grid}.student-name-cell strong,.student-contact-cell strong{font-size:15px;line-height:1.35}.student-name-link{color:#162033;font:inherit;text-align:left;background:0 0;border:none;padding:0;font-size:15px;font-weight:700;line-height:1.35}.student-name-link:hover{color:var(--blue)}.student-inline-badges{flex-wrap:wrap;gap:6px;display:flex}.student-inline-meta{color:#667085;flex-wrap:wrap;gap:8px 12px;font-size:11px;display:flex}.student-inline-meta span{align-items:center;gap:6px;display:inline-flex}.student-inline-meta span:before{content:"";background:#c0cad9;border-radius:50%;width:4px;height:4px}.student-inline-meta span:first-child:before{display:none}.student-mini-progress{background:#e9eef8;border-radius:999px;max-width:180px;height:6px;overflow:hidden}.student-mini-progress span{background:linear-gradient(90deg,#2563eb,#38bdf8);border-radius:999px;height:100%;display:block}.student-progress-meta{color:#667085;align-items:baseline;gap:6px;font-size:11px;display:flex}.student-progress-meta strong{color:#162033;font-size:14px}.student-note-cell{color:#5f6b81;line-height:1.65}.student-primary-inline{align-items:center;gap:10px;min-width:0;display:flex}.student-primary-inline strong{white-space:nowrap}.student-name-cell,.student-contact-cell,.student-progress-cell{min-width:0}.student-inline-meta-compact{flex-wrap:nowrap;gap:6px 10px;min-width:0}.student-inline-meta-compact span{white-space:nowrap}.student-inline-truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.student-progress-meta-inline strong{white-space:nowrap}.student-note-compact{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.student-row-actions,.branch-row-actions,.resource-row-actions{justify-content:center;min-width:96px}.student-sheet-table tbody .badge,.resource-sheet-table tbody .badge{padding:5px 10px;font-size:11px;line-height:1.2}.student-row-actions{gap:6px;min-width:70px}.student-row-actions .icon-only-btn{border-radius:10px;width:32px;min-width:32px;height:32px}.student-row-actions .btn-icon{flex:0 0 16px;width:16px;height:16px}.student-row-actions .btn-icon svg{width:16px;height:16px}.student-empty-state{text-align:center;border:1px dashed var(--line-strong);background:linear-gradient(#fcfdff,#f7faff);border-radius:18px;justify-items:center;gap:10px;padding:42px 18px;display:grid}.student-empty-icon{color:#2563eb;background:#eef4ff;border-radius:18px;place-items:center;width:56px;height:56px;display:grid}.student-empty-icon .btn-icon{flex:0 0 24px;width:24px;height:24px}.student-empty-icon .btn-icon svg{width:24px;height:24px}.student-empty-state h4{margin:0;font-size:18px}.student-empty-state p{color:#6b778c;max-width:420px;margin:0;line-height:1.7}.branch-page-copy{flex:1;gap:16px;min-width:0;display:grid}.branch-page-actions{align-items:flex-start;display:flex}.branch-metric-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.branch-metric-card{text-align:center;border-radius:16px;place-content:center;place-items:center;min-height:88px;padding:12px 14px;display:grid}.branch-page-shell .branch-page-hero{box-shadow:none;background:0 0;border:none;padding:0}.branch-page-shell,.resource-page-shell{margin-top:-21px}.branch-metric-card strong{letter-spacing:-.03em;font-size:32px;font-weight:760;line-height:1;display:block}.branch-metric-card span{color:#607086;text-align:center;width:100%;margin-top:6px;font-size:13px;font-weight:600;line-height:1.3;display:block}.branch-filter-icon .btn-icon{flex:0 0 16px;width:16px;height:16px}.branch-filter-icon .btn-icon svg{width:16px;height:16px}.branch-toolbar-summary,.resource-toolbar-summary{justify-content:flex-end;align-items:center;display:flex}.branch-toolbar-filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.toolbar-primary-button{border-radius:13px;height:40px;padding:0 13px;box-shadow:0 10px 20px #3b82f626}.toolbar-primary-button .btn-icon{flex:0 0 16px;width:16px;height:16px}.toolbar-primary-button .btn-icon svg{width:16px;height:16px}.branch-sheet-table{min-width:1180px}.branch-sheet-table th,.branch-sheet-table td{padding:9px 12px}.branch-sheet-table td:last-child,.branch-sheet-table th:last-child{padding-left:8px;padding-right:8px}.branch-name-cell{gap:0}.branch-name-cell strong{font-size:15px;line-height:1.35}.branch-sheet-table tbody td{vertical-align:middle}.branch-sheet-table tbody .badge{padding:5px 10px;font-size:11px;line-height:1.2}.branch-row-actions{gap:6px;min-width:70px}.branch-row-actions .icon-only-btn{border-radius:10px;width:32px;min-width:32px;height:32px}.branch-row-actions .btn-icon{flex:0 0 16px;width:16px;height:16px}.branch-row-actions .btn-icon svg{width:16px;height:16px}.branch-empty-state{color:#6b778c;text-align:center;place-items:center;padding:28px 18px;display:grid}.branch-modal-card{width:min(640px,100%);padding:20px}.branch-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.branch-form-span-2{grid-column:1/-1}.branch-form-actions{justify-content:flex-start;gap:8px}.branch-modal-card .form-grid{gap:14px}.branch-modal-card .form-grid label{gap:7px}.branch-modal-card .form-grid label span{color:#344053;font-size:13px;font-weight:700}.branch-modal-card .form-grid input,.branch-modal-card .form-grid select{height:42px;padding:10px 12px}.branch-modal-card .form-grid textarea{min-height:92px;padding:10px 12px}.resource-page-copy{flex:1;gap:16px;min-width:0;display:grid}.resource-page-actions{align-items:flex-start;display:flex}.resource-metric-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.resource-metric-card{text-align:center;border-radius:16px;place-content:center;place-items:center;min-height:88px;padding:12px 14px;display:grid}.resource-page-shell .resource-page-hero{box-shadow:none;background:0 0;border:none;padding:0}.resource-metric-card strong{letter-spacing:-.03em;font-size:32px;font-weight:760;line-height:1;display:block}.resource-metric-card span{color:#607086;text-align:center;width:100%;margin-top:6px;font-size:13px;font-weight:600;line-height:1.3;display:block}.resource-filter-icon .btn-icon{flex:0 0 16px;width:16px;height:16px}.resource-filter-icon .btn-icon svg{width:16px;height:16px}.resource-sheet-table{min-width:1240px}.resource-sheet-table th,.resource-sheet-table td{padding:10px 12px}.resource-sheet-table tbody td{vertical-align:middle}.resource-primary-cell strong{font-size:15px}.resource-primary-cell span{color:#6b778c;font-size:12px}.resource-primary-inline{flex-wrap:nowrap;align-items:center;gap:10px;min-width:0;display:flex}.resource-primary-inline strong,.resource-primary-inline span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.resource-empty-state{color:#6b778c;text-align:center;place-items:center;padding:28px 18px;display:grid}.resource-row-actions{gap:6px;min-width:70px}.resource-row-actions .icon-only-btn{border-radius:10px;width:32px;min-width:32px;height:32px}.resource-row-actions .btn-icon{flex:0 0 16px;width:16px;height:16px}.resource-row-actions .btn-icon svg{width:16px;height:16px}.resource-modal-card{width:min(680px,100%);padding:20px}.resource-modal-card-wide{width:min(840px,100%)}.resource-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.resource-form-span-2{grid-column:1/-1}.resource-form-actions{justify-content:flex-start;gap:8px}.resource-modal-card .form-grid{gap:14px}.resource-modal-card .form-grid label{gap:7px}.resource-modal-card .form-grid label span{color:#344053;font-size:13px;font-weight:700}.resource-modal-card .form-grid input,.resource-modal-card .form-grid select{height:42px;padding:10px 12px}.resource-modal-card .form-grid textarea{min-height:92px;padding:10px 12px}.resource-page-actions-stack{justify-items:stretch;gap:10px;display:grid}.resource-page-actions-stack>.btn,.resource-page-actions-stack>.primary-button{min-width:220px}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:40;background:#0f172a3d;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-card{border:1px solid var(--line);width:min(1080px,100%);max-height:min(90vh,900px);box-shadow:var(--modal-shadow);background:#fff;border-radius:24px;padding:20px;overflow:auto}.modal-card .section-title{z-index:2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#fffffff5;margin:-20px -20px 18px;padding:18px 20px 16px;position:sticky;top:-20px}.compact-admin-page .hero p,.compact-admin-page .section-title p,.compact-admin-page .helper-text,.compact-admin-page .step-preview,.compact-admin-page .footer-note,.compact-admin-page .warning-list,.compact-admin-page .kpi-meta{display:none}.compact-admin-page .section-title{margin-bottom:12px}.compact-admin-page .card{padding-top:18px;padding-bottom:18px}.compact-admin-page .inline-summary .small.muted,.compact-admin-page .notice,.compact-admin-overview .stat-mini .small.muted,.compact-admin-overview .list-item .small.muted{display:none}.person{align-items:center;gap:12px;display:flex}.person-avatar{color:#4f46e5;background:#eef2ff;border-radius:50%;place-items:center;width:34px;height:34px;font-weight:700;display:grid}.list{flex-direction:column;gap:14px;display:flex}.list-item{border-top:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 0;display:flex}.list-item:first-child{border-top:none;padding-top:0}.small{font-size:12px}.stat-stack{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.stat-mini{background:0 0;border:none;border-radius:0;padding:0}.stat-mini h4{text-transform:uppercase;color:#8a96aa;letter-spacing:.04em;margin:0 0 8px;font-size:12px}.stat-mini strong{font-size:24px}.timeline{flex-direction:column;gap:12px;display:flex}.timeline-row{grid-template-columns:72px 1fr;align-items:flex-start;gap:12px;display:grid}.timeline-time{color:#5c677a;font-weight:700}.timeline-card{border-left:2px solid var(--blue);padding-left:12px}.two-column{grid-template-columns:1.15fr .85fr;gap:18px;display:grid}.notice{border:1px solid var(--line);background:#fbfdff;border-radius:16px;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px;display:flex}.notice+.notice{margin-top:12px}.progress{background:#eff3f8;border-radius:999px;height:8px;margin-top:8px;overflow:hidden}.progress>span{background:linear-gradient(90deg,#60a5fa,#3b82f6);border-radius:999px;height:100%;display:block}.footer-note{color:#8a96aa;padding-top:12px;font-size:12px}.login-chip{border:1px solid var(--line);color:#5a667c;background:#fff;border-radius:999px;padding:6px 12px;font-weight:600}.link{color:var(--blue);background:0 0;border:none;padding:0;font-weight:600}.page-stack{flex-direction:column;gap:18px;display:flex}.section-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-heading h2{margin:0;font-size:28px}.section-heading p,.muted-text{color:var(--muted);margin:6px 0 0}.panel{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:16px}.data-table{border-collapse:collapse;width:100%}.data-table th,.data-table td{text-align:left;border-top:1px solid var(--line);white-space:nowrap;padding:14px 12px}.data-table th{text-transform:uppercase;letter-spacing:.04em;color:#8a96aa;font-size:12px}.data-table tr:first-child th,.data-table thead tr:first-child td{border-top:none}.auth-page{background:linear-gradient(#f7f9fc,#eef4ff);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{border:1px solid var(--line);background:#fff;border-radius:24px;width:min(460px,100%);padding:24px;box-shadow:0 24px 60px #16203314}.auth-card h2{margin:0 0 8px}.pill{background:var(--blue-soft);color:var(--blue);border-radius:999px;align-items:center;gap:8px;margin-bottom:14px;padding:6px 12px;font-size:12px;font-weight:700;display:inline-flex}.form-grid{gap:16px;margin-top:18px;display:grid}.form-grid label{gap:8px;display:grid}.form-grid span{color:#475467;font-weight:600}.form-grid input,.form-grid select{border:1px solid var(--line-strong);background:#f8fbff;border-radius:12px;outline:none;padding:12px 14px}.form-grid textarea{border:1px solid var(--line-strong);resize:vertical;background:#f8fbff;border-radius:12px;outline:none;min-height:108px;padding:12px 14px}.form-grid.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.full-span{grid-column:1/-1}.primary-button{border:1px solid var(--blue);background:var(--blue);color:#fff;border-radius:12px;justify-content:center;align-items:center;gap:8px;height:44px;padding:0 16px;font-weight:700;display:inline-flex}.primary-button:disabled{opacity:.7;cursor:not-allowed}.form-error{background:var(--red-soft);color:var(--red);border-radius:12px;padding:10px 12px;font-weight:600}.helper-text{border:1px dashed var(--line-strong);color:#667085;background:#f8fbff;border-radius:12px;padding:12px 14px}.login-quick-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-top:18px;display:grid}.login-quick-card{border:1px solid var(--line);text-align:left;color:#162033;background:#fbfdff;border-radius:16px;gap:4px;padding:12px 14px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.login-quick-card strong{font-size:13px;line-height:1.3}.login-quick-card span{color:#667085;font-size:12px}.login-quick-card small{color:#2563eb;font-size:12px;font-weight:700}.login-quick-card:hover{border-color:#cfe0ff;transform:translateY(-1px);box-shadow:0 10px 22px #3b82f614}.data-setup-layout{grid-template-columns:minmax(0,1.65fr) minmax(300px,.9fr);align-items:start;gap:18px;display:grid}.setup-main{min-width:0}.setup-sidebar{position:sticky;top:86px}.step-pill-row{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.step-pill{border:1px solid var(--line);text-align:left;color:inherit;background:#fbfdff;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.step-pill.active{border-color:var(--blue);background:#f4f8ff;box-shadow:0 0 0 3px #2072ff14}.step-pill span{color:#344053;font-weight:700}.step-card{scroll-margin-top:84px}.step-card-header{text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:0}.step-card-actions{align-items:center;gap:10px;display:flex}.step-toggle-text{color:#667085;font-size:12px;font-weight:700}.step-preview{border:1px dashed var(--line-strong);color:#667085;background:#f8fbff;border-radius:12px;margin-top:10px;padding:12px 14px;display:none}.step-card.collapsed>:not(.step-card-header):not(.step-preview){display:none}.step-card.collapsed .step-preview{display:block}.step-card.active .step-preview{display:none}.card-subgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.inline-summary{border:1px solid var(--line);background:#fbfdff;border-radius:14px;padding:14px 16px}.inline-summary strong{margin-bottom:10px;display:block}.student-profile-modal{flex-direction:column;width:min(800px,100%);min-height:min(680px,84vh);max-height:84vh;display:flex}.student-profile-tabs{flex-wrap:wrap;gap:8px;margin:2px 0 12px;display:flex}.student-profile-tab{color:#475467;background:#f8fbff;border:1px solid #94a3b82e;border-radius:12px;height:36px;padding:0 13px;font-size:12px;font-weight:700}.student-profile-tab.active{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd;box-shadow:0 0 0 3px #3b82f614}.student-profile-form{flex:1;align-content:start;gap:12px;min-height:0;padding-right:2px;overflow:auto}.student-tab-panel{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:12px;min-height:360px;display:grid}.student-profile-form .inline-summary{border-radius:14px;padding:10px 12px}.student-profile-form .inline-summary strong{letter-spacing:-.01em;margin-bottom:0;font-size:14px}.student-profile-form label{gap:6px}.student-profile-form label span{color:#344053;font-size:12px;font-weight:700}.student-profile-form input,.student-profile-form select{height:40px}.student-profile-form textarea{min-height:84px}.student-profile-form .resource-form-actions{z-index:2;background:linear-gradient(#fff0,#fffffff5 18%,#fff);padding-top:10px;padding-bottom:4px;position:sticky;bottom:0}.currency-input-shell{position:relative}.currency-input-shell input{padding-right:34px}.currency-input-suffix{color:#667085;pointer-events:none;font-size:13px;font-weight:700;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.student-detail-modal{width:min(820px,100%)}.student-profile-insight-modal{width:min(980px,100%)}.student-profile-sections{gap:16px;display:grid}.student-profile-section{gap:10px;display:grid}.student-finance-card,.student-report-card,.student-special-plan-card,.student-promotion-card{background:linear-gradient(#fff,#f8fbff);border:1px solid #94a3b829;border-radius:18px;padding:16px 18px}.student-finance-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.student-finance-head strong{color:#101828;font-size:15px;display:block}.student-finance-head span{color:#667085;margin-top:4px;font-size:12px;display:block}.student-finance-paid{color:#1d4ed8;font-size:14px;font-weight:800}.student-tuition-progress{gap:10px;margin-top:14px;display:grid}.parent-tuition-progress{margin-top:16px}.student-tuition-bar{background:#e9eef8;border-radius:999px;height:10px;overflow:hidden}.student-tuition-bar span{background:linear-gradient(90deg,#2563eb,#38bdf8);border-radius:999px;height:100%;display:block}.student-report-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.student-report-grid div,.student-report-notes div{background:#f8fbff;border:1px solid #94a3b824;border-radius:16px;padding:12px 14px}.student-report-grid span{color:#667085;text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:800;display:block}.student-report-grid strong{color:#101828;margin-top:4px;font-size:14px;display:block}.student-report-notes{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.student-report-notes strong{color:#101828;margin-bottom:6px;font-size:13px;display:block}.student-report-notes p,.student-promotion-card p{color:#475467;margin:0;font-size:13px;line-height:1.65}.student-video-link{color:#1d4ed8;background:#eff6ff;border-radius:12px;align-items:center;gap:8px;margin-top:14px;padding:10px 14px;font-weight:700;display:inline-flex}.student-special-plan-card{color:#475467;font-size:13px;line-height:1.7}.student-promotion-list{gap:12px;display:grid}.parent-portal-shell{gap:18px;margin-top:-21px;display:grid}.parent-portal-copy{min-width:0}.parent-portal-metric-strip .branch-metric-card strong{font-size:28px}.parent-portal-tabs-card{border-radius:18px;padding:10px 12px}.parent-portal-tabs{scrollbar-width:none;gap:8px;padding-bottom:2px;display:flex;overflow:auto}.parent-portal-tabs::-webkit-scrollbar{display:none}.parent-portal-tab{color:#52637e;white-space:nowrap;background:#fff;border:1px solid #e8edf4;border-radius:999px;flex:none;height:36px;padding:0 14px;font-size:13px;font-weight:700}.parent-portal-tab.active{color:#2454ff;background:#eef4ff;border-color:#bfd2ff;box-shadow:inset 0 0 0 1px #2454ff0f}.parent-portal-tab-panel{gap:18px;display:grid}.parent-portal-layout{grid-template-columns:minmax(0,1.45fr) minmax(320px,.85fr);align-items:start;gap:18px;display:grid}.parent-portal-main,.parent-portal-side{gap:18px;display:grid}.parent-portal-card{gap:14px;display:grid}.parent-portal-reminder{background:#f8fbff;border:1px dashed #94a3b83d;border-radius:14px;gap:4px;margin-top:14px;padding:12px 14px;display:grid}.parent-portal-reminder strong{color:#101828;font-size:13px}.parent-portal-reminder span{color:#2563eb;font-size:13px;font-weight:700}.parent-portal-reminder small{color:#667085;font-size:12px}.parent-portal-recent-reports,.parent-portal-attendance-list{gap:12px;display:grid}.parent-portal-recent-reports .list-item{padding:8px 0}.parent-portal-report-highlights{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.parent-portal-report-pill{background:#f8fbff;border:1px solid #94a3b81f;border-radius:14px;gap:5px;padding:12px;display:grid}.parent-portal-report-pill strong{color:#101828;font-size:12px}.parent-portal-report-pill span{color:#475467;font-size:12px;line-height:1.55}.parent-portal-attendance-card{gap:12px;display:grid}.parent-portal-attendance-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.parent-portal-attendance-note{color:#475467;background:#f8fbff;border-radius:12px;padding:10px 12px;font-size:13px;line-height:1.6}.parent-portal-attendance-photo{object-fit:cover;border:1px solid #94a3b824;border-radius:12px;width:100%;max-height:160px;display:block}.parent-portal-photo-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.parent-portal-photo-card{color:inherit;text-align:left;cursor:pointer;background:linear-gradient(#fff,#f8fbff);border:1px solid #94a3b824;border-radius:16px;gap:8px;padding:10px;display:grid}.parent-portal-photo-thumb{object-fit:cover;border:1px solid #94a3b81f;border-radius:12px;width:100%;height:128px;display:block}.parent-portal-photo-body{gap:4px;display:grid}.parent-portal-photo-body strong{color:#101828;font-size:12px;line-height:1.45}.parent-portal-photo-modal{width:min(920px,100%)}.parent-portal-photo-modal-image{object-fit:contain;background:#f8fbff;border-radius:18px;width:100%;max-height:min(70vh,720px);display:block}.parent-portal-photo-modal-meta{color:#5d6b82;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;font-size:13px;display:flex}.parent-portal-inline-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.parent-portal-inline-head strong{color:#101828;font-size:14px}.parent-portal-inline-actions{justify-content:flex-start;margin-top:-2px}.parent-portal-compact-note{border-radius:16px;padding:12px 14px}.student-detail-layout{gap:12px;display:grid}.student-detail-table-wrap{border-radius:16px}.student-detail-table th,.student-detail-table td{white-space:normal;vertical-align:top;padding:12px 14px}.student-detail-table th{color:#5f6b81;text-transform:none;letter-spacing:0;background:#f8fbff;width:220px;font-size:12px}.warning-list{gap:10px;display:grid}.warning-item{background:var(--orange-soft);color:#8a5a00;border-radius:12px;padding:12px 14px;font-weight:600}.compact-list{gap:10px}.compact-list .list-item{padding:10px 0}.student-pick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.student-pick{border:1px solid var(--line);color:var(--text);text-align:left;background:#fbfdff;border-radius:14px;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.student-pick.selected{border-color:var(--blue);background:var(--blue-soft)}.student-pick strong{margin-bottom:6px;display:block}.quick-setup-panel{border:1px solid var(--line);background:linear-gradient(#fbfdff,#f4f8ff);border-radius:16px;padding:18px}.card.flat{padding:14px}.schedule-page-shell{background:0 0;gap:14px;margin-top:-21px;display:grid}.topbar-ghost+.page .hero{margin-top:-21px}.tuition-hero p{display:none}.schedule-page-hero{box-shadow:none;background:0 0;border:none;gap:18px;padding:2px 2px 0;display:grid}.schedule-hero-top{justify-content:space-between;align-items:flex-start;gap:20px;width:100%;display:flex}.schedule-hero-copy{flex:1;gap:8px;max-width:none;display:grid}.schedule-hero-copy h1{letter-spacing:.1px;color:#162033;margin:0;font-size:30px;font-weight:750;line-height:1.15}.schedule-hero-note{color:#6b778c;max-width:860px;margin:0;font-size:15px;line-height:1.58}.schedule-hero-actions{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:8px;margin-left:auto;display:flex}.schedule-toolbar-controls{justify-content:flex-end;margin-left:auto}.schedule-month-switcher{height:36px;box-shadow:none;background:#fff;border:1px solid #e8edf4;border-radius:12px;justify-content:center;align-items:center;gap:3px;padding:0 4px;display:flex}.schedule-month-switcher strong{color:#344053;text-transform:capitalize;text-align:center;min-width:92px;font-size:13px;font-weight:650;line-height:36px}.schedule-switcher-arrow{color:#667085;cursor:pointer;background:#f8fafc;border:none;border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;padding:0;transition:background .16s,color .16s,transform .16s;display:inline-flex}.schedule-switcher-arrow:hover{color:#344053;background:#eef2f7;transform:translateY(-1px)}.schedule-switcher-arrow .btn-icon{flex:0 0 14px;width:14px;height:14px}.schedule-switcher-arrow .btn-icon svg{width:14px;height:14px}.schedule-view-toggle{border-radius:12px;min-width:72px;height:36px;padding:0 12px}.schedule-board-card{box-shadow:none;background:#fff;border:1px solid #e8edf4;border-radius:16px;padding:10px}.schedule-toolbar{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.schedule-toolbar-filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.schedule-toolbar-filters .student-filter-field{min-width:280px}.schedule-toolbar .student-filter-select,.schedule-toolbar .student-filter-field,.schedule-filter-pill{height:36px;box-shadow:none;background:#fff;border:1px solid #e8edf4;border-radius:12px}.schedule-toolbar .student-filter-select select,.schedule-toolbar .student-filter-field input{color:#516075;font-size:13px}.schedule-toolbar .student-filter-icon{color:#93a0b4}.schedule-filter-pill{color:#516075;padding:0 14px;font-weight:650}.schedule-mobile-board{display:none}.schedule-mobile-day-card{background:#fff;border:1px solid #e8edf4;border-radius:18px;gap:12px;padding:14px;display:grid}.schedule-mobile-day-card-today{background:#f8fbff;border-color:#bfd2ff}.schedule-mobile-day-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.schedule-mobile-day-head strong{color:#162033;text-transform:capitalize;font-size:15px;line-height:1.35;display:block}.schedule-mobile-day-head span{color:#6f7d92;margin-top:4px;font-size:12px;display:block}.schedule-mobile-session-list{gap:12px;display:grid}.schedule-mobile-session-card{background:linear-gradient(#fff,#fbfdff);border:1px solid #e8edf4;border-radius:16px;gap:10px;padding:14px;display:grid}.schedule-mobile-session-topline{justify-content:space-between;align-items:center;gap:10px;display:flex}.schedule-mobile-session-topline strong{color:#1d4ed8;font-size:13px}.schedule-mobile-session-card h4{color:#162033;margin:0;font-size:17px;line-height:1.3}.schedule-mobile-meta{color:#6f7d92;flex-wrap:wrap;gap:8px 12px;font-size:12px;display:flex}.schedule-mobile-meta-compact{gap:4px 10px;font-size:11px}.schedule-mobile-chip-cloud{flex-wrap:wrap;gap:8px;display:flex}.schedule-mobile-chip-cloud .schedule-student-chip{width:auto;max-width:100%}.schedule-mobile-chip-more{color:#7b889b;background:#f3f6fb;border-radius:11px;justify-content:center;align-items:center;min-height:22px;padding:0 8px;font-size:10px;font-weight:700;display:inline-flex}.schedule-mobile-staff{color:#475467;gap:4px;font-size:12px;line-height:1.55;display:grid}.schedule-mobile-staff strong{color:#344053}.schedule-mobile-attendance-btn{border:none;border-radius:12px;justify-content:center;align-items:center;min-height:42px;padding:0 14px;font-size:13px;font-weight:700;transition:opacity .16s,transform .16s,background .16s,color .16s,box-shadow .16s;display:inline-flex}.schedule-mobile-attendance-btn-active{color:#fff;background:linear-gradient(#2563eb,#1d4ed8);box-shadow:0 14px 28px #2563eb38}.schedule-mobile-attendance-btn-upcoming,.schedule-mobile-attendance-btn-past{color:#6c86b6;opacity:.68;background:#dbe7ff}.schedule-mobile-attendance-btn-other{color:#7a879b;opacity:.68;background:#e8edf4}.schedule-mobile-route-head{gap:4px;display:grid}.schedule-mobile-route-head strong{color:#162033;font-size:17px;line-height:1.2}.schedule-mobile-route-head span{color:#6f7d92;font-size:12px}.schedule-page-shell-mobile-route{margin-top:0}.schedule-page-shell-mobile-route .schedule-toolbar{flex-direction:column;align-items:stretch}.schedule-page-shell-mobile-route .schedule-mobile-board{gap:12px;margin-bottom:14px;display:grid}.schedule-page-shell-mobile-route .schedule-sheet-wrap{display:none}.schedule-page-shell-mobile-route .schedule-hero-actions,.schedule-page-shell-mobile-route .schedule-toolbar-controls{justify-content:flex-start;gap:6px;width:100%;margin-left:0}.schedule-page-shell-mobile-route .schedule-filter-pill.schedule-filter-pill-active{color:#2454ff;background:#eef4ff;border-color:#bfd2ff;box-shadow:inset 0 0 0 1px #2454ff0d}.schedule-page-shell-mobile-route .schedule-filter-pill{border-radius:10px;flex:none;height:34px;padding:0 10px;font-size:12px}.schedule-page-shell-mobile-route .schedule-month-switcher{flex:auto;justify-content:space-between;min-width:0}.schedule-page-shell-mobile-route .schedule-month-switcher strong{flex:auto;min-width:0;font-size:12px}.schedule-page-shell-mobile-route .schedule-view-toggle{border-radius:10px;flex:none;min-width:58px;height:34px;padding:0 10px;font-size:12px}.schedule-page-shell-mobile-route .schedule-month-switcher{border-radius:10px;height:34px}.schedule-page-shell-mobile-route .schedule-switcher-arrow{width:20px;height:20px}.schedule-page-shell-mobile-route .schedule-board-card{border-radius:14px;padding:8px}.schedule-page-shell-mobile-route .schedule-toolbar{gap:8px;margin-bottom:8px}.schedule-page-shell-mobile-route .schedule-mobile-route-head{gap:2px}.schedule-page-shell-mobile-route .schedule-mobile-route-head strong{font-size:16px}.schedule-page-shell-mobile-route .schedule-mobile-route-head span{font-size:11px}.schedule-page-shell-mobile-route .schedule-mobile-board{gap:10px}.schedule-page-shell-mobile-route .schedule-mobile-day-card{border-radius:14px;gap:8px;padding:10px 10px 12px}.schedule-page-shell-mobile-route .schedule-mobile-day-head strong{font-size:14px}.schedule-page-shell-mobile-route .schedule-mobile-day-head span{margin-top:2px;font-size:11px}.schedule-page-shell-mobile-route .schedule-mobile-session-list{gap:8px}.schedule-page-shell-mobile-route .schedule-mobile-session-card{border-radius:14px;gap:8px;padding:10px}.schedule-page-shell-mobile-route .schedule-mobile-session-card.schedule-mobile-session-card-compact h4{font-size:15px;line-height:1.25}.schedule-page-shell-mobile-route .schedule-mobile-session-topline strong{font-size:12px}.schedule-page-shell-mobile-route .schedule-mobile-meta{gap:6px 10px;font-size:11px}.schedule-page-shell-mobile-route .schedule-mobile-session-card-compact{gap:6px;padding:9px 10px}.schedule-page-shell-mobile-route .schedule-mobile-session-card-compact .status-badge{min-height:22px;padding:0 8px;font-size:10px}.schedule-page-shell-mobile-route .schedule-mobile-session-card-compact .schedule-mobile-meta{gap:2px;display:grid}.schedule-page-shell-mobile-route .schedule-mobile-session-card-compact .schedule-mobile-meta span:last-child{color:#475467}.schedule-page-shell-mobile-route .schedule-mobile-chip-cloud{gap:6px}.schedule-page-shell-mobile-route .schedule-mobile-chip-cloud .schedule-student-chip{min-height:20px;padding:0 7px;font-size:10px}.schedule-page-shell-mobile-route .schedule-mobile-chip-more{min-height:20px;padding:0 7px}.schedule-page-shell-mobile-route .schedule-mobile-staff{gap:2px;font-size:11px;line-height:1.45}.schedule-page-shell-mobile-route .schedule-mobile-attendance-btn{min-height:38px;box-shadow:none;border-radius:10px;font-size:12px}.schedule-page-shell-mobile-route .schedule-slot-warning{border-radius:10px;padding:7px 8px;font-size:10px}.schedule-toolbar-foot{justify-content:space-between;align-items:center;gap:16px;margin:2px 0 14px;display:flex}.schedule-legend{flex-wrap:wrap;gap:10px;display:flex}.schedule-legend-item{color:#475569;background:#f8fbff;border-radius:999px;align-items:center;gap:8px;padding:7px 10px;font-size:12px;font-weight:700;display:inline-flex}.schedule-legend-dot{border-radius:999px;width:8px;height:8px;display:block}.schedule-legend-dot-blue{background:#3b82f6}.schedule-legend-dot-orange{background:#f59e0b}.schedule-legend-dot-green{background:#22c55e}.schedule-legend-dot-warning{background:#fb923c;box-shadow:0 0 0 3px #fb923c2e}.schedule-toolbar-meta{color:#64748b;font-size:12px;font-weight:700}.schedule-sheet-wrap{box-shadow:none;background:#fff;border:1px solid #e8edf4;border-radius:16px;overflow:hidden}.schedule-sheet-table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%}.schedule-col-time,.schedule-col-court{width:76px}.schedule-col-day{width:calc((100% - 152px)/var(--schedule-day-count))}.schedule-sheet-table th,.schedule-sheet-table td{vertical-align:top;border-bottom:1px solid #e8edf4;border-right:1px solid #e8edf4}.schedule-sheet-table thead th{z-index:3;position:sticky;top:0}.schedule-axis-head{color:#6f7d92;text-transform:none;letter-spacing:0;text-align:center;background:#fff;padding:12px 10px;font-size:12px;font-weight:700}.schedule-axis-time{z-index:5;min-width:76px;left:0}.schedule-axis-court{z-index:5;min-width:76px;left:76px}.schedule-axis-court,.schedule-axis-court-cell{box-shadow:1px 0 #e8edf4}.sticky-left{position:sticky;left:0}.sticky-left-2{position:sticky;left:76px}.schedule-day-head-cell{text-align:center;color:#6f7d92;background:#fff;padding:0;font-size:12px;font-weight:700}.schedule-day-head-cell-today{background:#edf4ff}.schedule-day-head-inline{white-space:nowrap;background:#fff;justify-content:center;align-items:center;gap:5px;padding:10px 12px;display:flex}.schedule-day-head-cell-today .schedule-day-head-inline{background:#edf4ff}.schedule-day-head-label{text-transform:none;color:#6f7d92;font-size:12px;font-weight:700}.schedule-date-head-label{color:#6f7d92;font-size:12px;font-weight:700}.schedule-axis-time-cell,.schedule-axis-court-cell{color:#6f7d92;background:#fff}.schedule-axis-time-cell{text-align:left;padding:10px 8px}.schedule-axis-time-cell strong{color:#6f7d92;justify-items:center;font-size:12px;font-weight:700;line-height:1.15;display:grid}.schedule-time-part{justify-items:center;display:grid}.schedule-time-dash{line-height:1;display:block}.schedule-axis-time-cell>span{display:none}.schedule-axis-time-cell strong .schedule-time-part,.schedule-axis-time-cell strong .schedule-time-dash{display:grid}.schedule-axis-time-cell-empty strong{display:none}.schedule-axis-time-cell-empty{color:#0000}.schedule-axis-court-cell{text-align:left;color:#6f7d92;padding:9px 8px;font-size:11px;font-weight:700;line-height:1.2}.schedule-grid-cell{vertical-align:top;background:#fff;padding:6px 8px 8px}.schedule-grid-cell-empty{cursor:pointer;position:relative}.schedule-grid-cell-today{background:#f2f7ff}.schedule-grid-entry{text-align:left;color:#162033;cursor:pointer;box-sizing:border-box;background:0 0;border:none;border-radius:0;flex-direction:column;align-items:stretch;gap:5px;width:100%;padding:7px 9px;display:flex}.schedule-grid-entry.empty{background:0 0;position:relative}.schedule-grid-cell-empty:after{content:"+";color:#2563eb;opacity:0;pointer-events:none;background:#2563eb14;border-radius:999px;justify-content:center;align-items:center;width:32px;height:32px;font-size:22px;font-weight:700;line-height:1;transition:opacity .16s,transform .16s,background .16s,color .16s;display:inline-flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.schedule-grid-entry.filled{cursor:default;background:0 0;padding-top:0;position:relative}.schedule-grid-cell-today .schedule-grid-entry,.schedule-grid-cell-today .schedule-grid-entry.status-completed,.schedule-grid-cell-today .schedule-grid-entry.status-in_progress,.schedule-grid-cell-today .schedule-grid-entry.status-planned,.schedule-grid-entry:hover,.schedule-grid-entry.filled:hover{background:0 0}.schedule-grid-cell-empty:hover:after,.schedule-grid-cell-empty:focus-within:after{opacity:1;transform:translate(-50%,-50%)scale(1)}.schedule-grid-entry.status-completed{background:#fbfefc}.schedule-grid-entry.status-in_progress{background:#fbfdff}.schedule-grid-entry.status-planned{background:#fffefb}.schedule-grid-entry.has-replacement{box-shadow:none}.schedule-grid-actions{opacity:0;pointer-events:none;z-index:2;flex-direction:column;gap:4px;transition:opacity .16s,transform .16s;display:flex;position:absolute;top:-4px;right:-2px;transform:translateY(-2px)}.schedule-grid-entry:hover .schedule-grid-actions,.schedule-grid-entry:focus-within .schedule-grid-actions{opacity:1;pointer-events:auto;transform:translateY(0)}.schedule-grid-action-btn{color:#9aa6ba;cursor:pointer;background:#fff;border:none;border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;transition:transform .16s,box-shadow .16s,color .16s;display:inline-flex;box-shadow:inset 0 0 0 1px #e8edf4}.schedule-grid-action-btn:hover{color:#344053;transform:translateY(-1px);box-shadow:inset 0 0 0 1px #d7e2ef}.schedule-grid-action-btn .btn-icon svg{width:13px;height:13px}.schedule-grid-line{gap:2px;display:grid}.schedule-grid-footer{gap:4px;display:grid}.schedule-grid-line-inline{align-items:flex-start;gap:6px;display:flex}.schedule-grid-line-inline strong{flex:none;justify-content:center;align-items:center;display:inline-flex}.schedule-grid-line-inline span{flex:auto}.schedule-grid-inline-value{flex-wrap:wrap;align-items:flex-start;gap:0;display:inline-flex}.schedule-staff-stack{flex-direction:column;align-items:flex-start;gap:2px;width:max-content;display:inline-flex}.schedule-staff-stack span{flex:none;align-items:center;gap:0;display:inline-flex}.schedule-inline-icon-head{flex:none;justify-content:center;align-items:center;margin-right:2px;line-height:1;display:inline-flex}.schedule-inline-icon-head .schedule-inline-icon{transform:none}.schedule-inline-icon-tail{flex:none;justify-content:center;align-items:center;margin-left:2px;line-height:1;display:inline-flex}.schedule-inline-icon-tail .schedule-inline-icon{transform:none}.schedule-grid-line-muted strong,.schedule-grid-line-muted span{color:#7f8ea8}.schedule-grid-line strong{color:#516075;font-size:10px;font-weight:700}.schedule-grid-line span{color:#162033;font-size:11px;line-height:1.4}.schedule-grid-line-inline strong,.schedule-grid-line-inline span{font-size:10px;line-height:1.35}.schedule-grid-student-summary{min-height:calc((var(--student-row-count,1) * 22px) + ((var(--student-row-count,1) - 1) * 4px));align-content:start;gap:3px;margin-top:-1px;display:grid}.schedule-grid-chip-cloud{align-content:start;gap:4px;display:grid}.schedule-student-chip{color:#4f8dff;cursor:pointer;background:#eef4ff;border:none;border-radius:11px;justify-content:flex-start;align-items:center;gap:4px;width:fit-content;max-width:100%;min-height:22px;padding:0 8px;font-size:10px;font-weight:700;line-height:1.1;display:inline-flex}.schedule-student-chip .status-note{color:#8a96aa;align-items:center;font-style:normal;font-weight:500;display:inline-flex}.schedule-inline-icon{justify-content:center;align-items:center;width:12px;height:12px;display:inline-flex}.schedule-inline-icon svg{width:12px;height:12px}.schedule-inline-icon-repeat,.schedule-inline-icon-repeat svg{width:11px;height:11px}.schedule-inline-icon-history,.schedule-inline-icon-history svg{width:10px;height:10px}.schedule-inline-icon-muted{color:#ef4444}.schedule-inline-icon-replacement{color:#2563eb}.schedule-grid-line-muted .schedule-inline-icon-muted{color:#ef4444}.schedule-grid-line .schedule-inline-icon-replacement{color:#2563eb}.schedule-student-chip .schedule-inline-icon-excused_absent{color:#f87171}.schedule-student-chip .schedule-inline-icon-makeup_out{color:#fb923c}.schedule-student-chip .schedule-inline-icon-makeup_in{color:#60a5fa}.schedule-student-chip:hover{background:#e7f0ff}.schedule-student-chip,.schedule-student-chip .status-note{overflow-wrap:anywhere;word-break:break-word;white-space:normal}.schedule-grid-more-chip{color:#7b889b;background:#f6f8fb;border-radius:12px;align-items:center;min-height:28px;padding:0 10px;font-size:11px;font-weight:700;display:inline-flex}.schedule-student-age-inline{color:#64748b;font-size:11px;font-weight:500}.schedule-grid-empty{min-height:1px;display:block}.schedule-grid-note{color:#6b778c;background:#fff;border:1px solid #eef2f7;border-radius:12px;align-items:flex-start;gap:6px;padding:7px 9px;font-size:11px;line-height:1.55;display:flex}.schedule-grid-note-icon{color:#94a3b8;flex:none;justify-content:center;align-items:center;display:inline-flex}.schedule-grid-note-icon .btn-icon{flex:0 0 12px;width:12px;height:12px}.schedule-grid-note-icon .btn-icon svg{width:12px;height:12px}.schedule-grid-warning{color:#b66b00;background:#fff7e8;border-radius:12px;padding:7px 9px;font-size:11px;font-weight:700}.schedule-grid-warning-conflict{color:#c2410c;background:#fff1f2;align-items:flex-start;gap:6px;display:flex}.schedule-grid-warning-conflict .btn-icon{flex:0 0 12px;width:12px;height:12px;margin-top:1px}.schedule-grid-warning-conflict .btn-icon svg{width:12px;height:12px}.schedule-grid-warning-conflict span{color:inherit;font-size:11px;line-height:1.45}.schedule-insight-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px;display:grid}.schedule-insight-card{box-shadow:none;background:#fff;border:1px solid #e8edf4;border-radius:16px;padding:18px}.schedule-insight-card .section-title{margin-bottom:10px}.schedule-insight-card .section-title h3{color:#162033;font-size:18px}.schedule-insight-list{gap:12px;display:grid}.schedule-insight-row{border-top:1px solid #eef2f7;justify-content:space-between;align-items:baseline;gap:12px;padding-top:12px;display:flex}.schedule-insight-row:first-child{border-top:none;padding-top:0}.schedule-insight-row strong{color:#162033;font-size:24px;line-height:1}.schedule-insight-row span{color:#6b778c;text-align:right;font-size:13px}.schedule-grid-empty-row{text-align:center;color:#64748b;background:#fff;padding:18px}.schedule-day-highlight{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.schedule-day-highlight div{background:linear-gradient(#f8fbff,#fff);border-radius:16px;gap:4px;padding:12px;display:grid;box-shadow:inset 0 0 0 1px #93c5fd24}.schedule-day-highlight span{color:#64748b;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:800}.schedule-day-highlight strong{color:#0f172a;font-size:20px;line-height:1}.schedule-detail-body{gap:14px;display:grid}.schedule-court-group{background:#fff;border-radius:18px;gap:10px;padding:12px;display:grid;box-shadow:inset 0 0 0 1px #94a3b81f}.schedule-court-group-title{color:#475569;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:800}.attendance-page-shell{gap:18px;margin-top:-21px;padding-bottom:10px;display:grid}.attendance-page-shell-mobile{gap:14px;margin-top:0;padding-bottom:18px}.attendance-hero-shell{gap:0;display:grid}.attendance-hero-copy{gap:16px}.attendance-mobile-hero{justify-content:space-between;align-items:flex-start;gap:12px;padding:4px 2px 0;display:flex}.attendance-mobile-hero-copy{gap:6px;min-width:0;display:grid}.attendance-mobile-eyebrow{color:#2454ff;background:#eef4ff;border-radius:999px;justify-content:center;align-items:center;width:max-content;min-height:24px;padding:0 10px;font-size:11px;font-weight:700;display:inline-flex}.attendance-mobile-hero-copy h1{letter-spacing:-.03em;color:#162033;margin:0;font-size:22px;line-height:1.18}.attendance-mobile-hero-copy p{color:#6f7d92;margin:0;font-size:12px}.attendance-mobile-refresh{border-radius:12px;min-height:34px;padding-inline:12px}.attendance-mobile-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.attendance-mobile-kpi-card{background:linear-gradient(#fff,#fbfdff);border-radius:18px;box-shadow:0 10px 24px #0f172a08}.attendance-mobile-kpi-card-live{background:linear-gradient(#f8fbff,#fff);border-color:#cfe0ff}.attendance-mobile-kpi-body{gap:4px;padding:14px 12px;display:grid}.attendance-mobile-kpi-body span{color:#7a879b;text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:700}.attendance-mobile-kpi-body strong{color:#162033;font-size:22px;line-height:1}.attendance-mobile-tabs{gap:12px;display:grid}.attendance-mobile-tabs-list{background:#eef3f9;border:none;border-radius:18px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:4px;display:grid}.attendance-mobile-tab-trigger{border-radius:14px;justify-content:center;width:100%}.attendance-mobile-tab-panel{gap:12px;display:grid;margin-top:0!important}.attendance-mobile-filter-row{scrollbar-width:none;gap:8px;padding:0 1px 2px;display:flex;overflow:auto}.attendance-mobile-filter-row::-webkit-scrollbar{display:none}.attendance-mobile-filter-chip{color:#5f6c84;white-space:nowrap;background:#f3f6fb;border:none;border-radius:999px;justify-content:center;align-items:center;min-height:32px;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.attendance-mobile-filter-chip.active{color:#2454ff;background:#e8f0ff;box-shadow:inset 0 0 0 1px #2454ff14}.attendance-mobile-featured-card,.attendance-mobile-list-card,.attendance-mobile-insight-card{background:linear-gradient(#fff,#fcfdff);border-radius:24px;box-shadow:0 16px 36px #0f172a0a}.attendance-mobile-featured-body,.attendance-mobile-list-body,.attendance-mobile-insight-body{gap:14px;padding:16px;display:grid}.attendance-mobile-featured-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.attendance-mobile-featured-label{color:#64748b;text-transform:uppercase;letter-spacing:.06em;background:#f4f7fb;border-radius:999px;align-items:center;min-height:20px;padding:0 8px;font-size:10px;font-weight:700;display:inline-flex}.attendance-mobile-featured-top h2{color:#162033;letter-spacing:-.03em;margin:8px 0 0;font-size:18px;line-height:1.25}.attendance-mobile-featured-meta{color:#6f7d92;flex-wrap:wrap;gap:6px 10px;font-size:12px;display:flex}.attendance-mobile-featured-meta span{align-items:center;gap:6px;display:inline-flex}.attendance-mobile-featured-meta span:before{content:"";background:#c6d3e4;border-radius:999px;width:4px;height:4px}.attendance-mobile-featured-meta span:first-child:before{display:none}.attendance-mobile-featured-staff{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.attendance-mobile-featured-staff div{background:#f8fbff;border-radius:16px;gap:4px;padding:12px;display:grid}.attendance-mobile-featured-staff span{color:#7a879b;text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:700}.attendance-mobile-featured-staff strong{color:#162033;font-size:13px;line-height:1.45}.attendance-mobile-featured-action{border-radius:14px;width:100%;min-height:42px}.attendance-mobile-list-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.attendance-mobile-list-head h3{color:#162033;margin:0;font-size:17px;line-height:1.25}.attendance-mobile-list-head p{color:#7a879c;margin:4px 0 0;font-size:12px;line-height:1.5}.attendance-mobile-session-scroll{max-height:none}.attendance-mobile-session-list{gap:10px;display:grid}.attendance-mobile-session-card{box-shadow:none;border-color:#e9eef6;border-radius:20px}.attendance-mobile-session-card.active{background:linear-gradient(#f8fbff,#fff);border-color:#cddcff}.attendance-mobile-session-card-body{gap:12px;padding:14px;display:grid}.attendance-mobile-session-card-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.attendance-mobile-session-time{color:#2454ff;text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:800}.attendance-mobile-session-card-top h4{color:#162033;letter-spacing:-.02em;margin:6px 0 0;font-size:16px;line-height:1.3}.attendance-mobile-session-meta{color:#6f7d92;flex-wrap:wrap;gap:6px 10px;font-size:12px;display:flex}.attendance-mobile-session-staff{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;display:grid}.attendance-mobile-session-staff strong{color:#162033;font-size:13px;display:block}.attendance-mobile-session-staff span{color:#6f7d92;margin-top:3px;font-size:12px;display:block}.attendance-mobile-session-progress{gap:8px;display:grid}.attendance-mobile-session-progress-head{color:#6f7d92;justify-content:space-between;align-items:center;gap:10px;font-size:12px;display:flex}.attendance-mobile-session-progress-head strong{color:#162033;font-size:12px}.attendance-mobile-session-action-row{align-items:center;gap:10px;display:flex}.attendance-mobile-timing-pill{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:30px;padding:0 10px;font-size:11px;font-weight:700;display:inline-flex}.attendance-mobile-timing-pill.timing-live{color:#1c924a;background:#e9f9ef}.attendance-mobile-timing-pill.timing-upcoming{color:#ca7c00;background:#fff4e5}.attendance-mobile-timing-pill.timing-past{color:#607089;background:#f1f4f9}.attendance-mobile-session-action{border-radius:14px;flex:auto;min-height:40px}.attendance-mobile-insight-list{gap:10px;display:grid}.attendance-mobile-insight-row{border-top:1px solid #eef2f7;justify-content:space-between;align-items:flex-start;gap:10px;padding:12px 0;display:flex}.attendance-mobile-insight-row:first-child{border-top:none;padding-top:0}.attendance-mobile-insight-row strong{color:#162033;font-size:13px;line-height:1.4;display:block}.attendance-mobile-insight-row span{color:#738198;margin-top:4px;font-size:12px;line-height:1.5;display:block}.attendance-mobile-sheet{border-top-left-radius:28px;border-top-right-radius:28px;height:auto;max-height:92vh;padding:0}.attendance-mobile-sheet-handle{background:#d7deea;border-radius:999px;width:46px;height:5px;margin:10px auto 0}.attendance-mobile-sheet-head{padding:18px 18px 0}.attendance-mobile-sheet-head [data-slot=description],.attendance-mobile-sheet-head p{font-size:12px}.attendance-mobile-sheet-hero{gap:4px;padding:14px 18px 0;display:grid}.attendance-mobile-sheet-hero strong{color:#162033;font-size:16px;line-height:1.3;display:block}.attendance-mobile-sheet-hero span{color:#6f7d92;font-size:12px;display:block}.attendance-mobile-sheet-actions{margin-bottom:0;padding:0 18px}.attendance-mobile-sheet-scroll{max-height:calc(92vh - 250px);padding:0 18px}.attendance-mobile-sheet-footer{background:linear-gradient(#fff0,#fff 24%);padding:12px 18px 18px}.attendance-toolbar-card{background:#fff;border:1px solid #e8edf4;border-radius:24px;padding:12px 14px;box-shadow:0 20px 45px #0f172a09}.attendance-mobile-hero-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.attendance-date-pill,.attendance-week-button,.attendance-nav-button,.attendance-session-tile,.attendance-status-chip,.attendance-upload-foot .btn{transition:all .18s}.attendance-date-pill,.attendance-week-button,.attendance-nav-button{color:#1b2640;background:#fff;border:1px solid #e7edf6}.attendance-date-pill{border-radius:16px;justify-content:center;align-items:center;gap:10px;height:46px;padding:0 16px;display:inline-flex;box-shadow:0 12px 30px #0f172a0a}.attendance-date-pill strong{color:#22304d;font-size:15px;line-height:1}.attendance-date-pill-icon{opacity:.8;font-size:15px}.attendance-nav-button{border-radius:14px;width:42px;height:42px;font-size:24px;line-height:1}.attendance-week-button{border-radius:16px;height:46px;padding:0 16px;font-size:14px;font-weight:700}.attendance-layout{gap:18px;display:grid}.attendance-session-card,.attendance-detail-card,.attendance-insight-card,.attendance-media-card,.attendance-admin-card{background:#fff;border:1px solid #e8edf4;border-radius:24px;padding:18px;box-shadow:0 20px 45px #0f172a09}.attendance-session-card,.attendance-detail-card{background:linear-gradient(#fff,#fcfdff)}.attendance-section-title{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.attendance-section-title h3{color:#172132;letter-spacing:-.03em;margin:0;font-size:20px;line-height:1.2}.attendance-section-title p{color:#7a879c;margin:5px 0 0;font-size:13px;line-height:1.55}.attendance-session-header,.attendance-detail-header{gap:14px;display:grid}.attendance-session-header-top,.attendance-detail-header{align-items:start}.attendance-session-header-top{justify-content:space-between;gap:12px;display:flex}.attendance-session-heading-row{align-items:center;gap:8px;display:inline-flex}.attendance-session-heading h3,.attendance-detail-heading h3{color:#172132;letter-spacing:-.03em;margin:0;font-size:20px;line-height:1.2}.attendance-session-heading p,.attendance-detail-heading p{color:#7a879c;margin:5px 0 0;font-size:13px;line-height:1.55}.attendance-refresh-icon-btn{color:#5f6c84;background:#fff;border:1px solid #e2e8f0;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;transition:all .18s;display:inline-flex;box-shadow:0 6px 16px #0f172a0a}.attendance-refresh-icon-btn svg{width:14px;height:14px}.attendance-refresh-icon-btn:hover{color:#2454ff;border-color:#cddcff;transform:translateY(-1px)}.attendance-section-controls{flex-wrap:wrap;justify-content:flex-end;align-items:flex-end;gap:10px;display:flex}.attendance-staff-filter{gap:6px;display:grid}.attendance-staff-filter span{color:#76839b;text-transform:uppercase;letter-spacing:.06em;text-align:left;font-size:11px;font-weight:700}.attendance-staff-filter select{color:#162033;height:42px;font:inherit;background:#fff;border:1px solid #dbe3ee;border-radius:14px;padding:0 12px}.attendance-session-timeline,.attendance-student-list,.attendance-insight-list{gap:12px;display:grid}.attendance-session-tile{text-align:left;background:#fff;border:1px solid #e9eef6;border-radius:20px;grid-template-columns:12px minmax(0,1fr);gap:14px;padding:14px 16px;display:grid;position:relative;box-shadow:0 10px 24px #0f172a08}.attendance-session-tile:hover{border-color:#d7e4ff;transform:translateY(-1px)}.attendance-session-tile.active{background:linear-gradient(#fff,#f7faff);border-color:#cddcff;box-shadow:0 18px 38px #3b82f617}.attendance-session-dot{background:#9aa6ba;border-radius:999px;width:8px;height:8px;margin-top:8px;box-shadow:0 0 0 4px #94a3b81f}.attendance-session-tile.active .attendance-session-dot{background:#2f67ff;box-shadow:0 0 0 4px #2f67ff1f}.attendance-session-content{gap:6px;display:grid}.attendance-session-topline{justify-content:space-between;align-items:center;gap:12px;display:flex}.attendance-session-topline strong{color:#30415f;font-size:14px}.attendance-session-badge-stack{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.attendance-role-badge{color:#607086;background:#f4f7fb;border:1px solid #e5ebf3;border-radius:999px;justify-content:center;align-items:center;min-height:24px;padding:0 10px;font-size:11px;font-weight:700;display:inline-flex}.attendance-session-content h4{color:#162033;letter-spacing:-.02em;margin:0;font-size:18px;line-height:1.25}.attendance-session-content p,.attendance-session-content span{color:#7b879c;margin:0;font-size:13px;line-height:1.5}.attendance-session-tile-footer{justify-content:flex-end;margin-top:4px;display:flex}.attendance-session-open-btn{border-radius:12px;min-height:34px;padding:0 14px;font-size:12px}.attendance-mini-badge{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:28px;padding:0 12px;font-size:11px;font-weight:700;display:inline-flex}.attendance-mini-badge.green{color:#1c924a;background:#e9f9ef}.attendance-mini-badge.amber{color:#ca7c00;background:#fff4e5}.attendance-mini-badge.blue{color:#316cff;background:#eef4ff}.attendance-mini-badge.purple{color:#8a37ff;background:#f4ecff}.attendance-mini-badge.red{color:#d9485f;background:#feeaea}.attendance-detail-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.attendance-detail-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.attendance-detail-body{gap:16px;display:grid}.attendance-session-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.attendance-summary-card{background:linear-gradient(#fff,#fbfdff);border:1px solid #edf2f8;border-radius:20px;padding:16px 18px}.attendance-session-summary span{color:#76839b;text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px;font-size:11px;font-weight:700;display:block}.attendance-session-summary strong{color:#162033;font-size:14px;line-height:1.45}.attendance-detail-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.attendance-student-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.attendance-student-card{background:linear-gradient(#fff,#fbfdff);border:1px solid #e8edf4;border-radius:22px;gap:12px;padding:16px;display:grid}.attendance-student-head{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;display:grid}.attendance-student-avatar{color:#2b5eff;letter-spacing:.02em;background:radial-gradient(circle at 30% 20%,#fff,#e8f0ff);border:1px solid #dbe6fb;border-radius:18px;place-items:center;width:52px;height:52px;font-size:15px;font-weight:800;display:grid}.attendance-student-meta{gap:3px;display:grid}.attendance-student-meta strong{color:#162033;font-size:15px;line-height:1.35;display:block}.attendance-student-meta span{color:#7a879d;font-size:12px;line-height:1.45;display:block}.attendance-student-meta small{color:#8a96ab;font-size:12px;line-height:1.45;display:block}.attendance-assignment-pill{border-radius:999px;justify-content:center;align-items:center;width:max-content;min-height:22px;padding:0 9px;font-size:11px;font-weight:700;display:inline-flex}.attendance-assignment-pill.tone-red{color:#d14343;background:#feecef}.attendance-assignment-pill.tone-amber{color:#c98212;background:#fff4e5}.attendance-assignment-pill.tone-blue{color:#316cff;background:#eef4ff}.attendance-assignment-pill.tone-slate{color:#667085;background:#f2f4f7}.attendance-status-row{flex-wrap:wrap;gap:8px;display:flex}.attendance-status-chip{color:#506076;background:#fff;border:1px solid #dfe7f2;border-radius:999px;justify-content:center;align-items:center;min-height:34px;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.attendance-status-chip.active{box-shadow:inset 0 0 0 1px #4f8dff0d}.attendance-status-chip.tone-green.active{color:#15803d;background:#e9f9ef;border-color:#b9e7c9}.attendance-status-chip.tone-amber.active{color:#b76d05;background:#fff4e5;border-color:#f9ddb0}.attendance-status-chip.tone-red.active{color:#d14343;background:#feecec;border-color:#f7c1c7}.attendance-status-chip.tone-slate.active{color:#667085;background:#f4f6f8;border-color:#d9dfe8}.attendance-status-chip.tone-blue.active{color:#316cff;background:#eef4ff;border-color:#caddff}.attendance-student-card input,.attendance-admin-card input,.attendance-admin-card select{color:#162033;background:#fff;border:1px solid #dbe3ee;border-radius:14px;height:42px;padding:0 12px}.attendance-save-bar{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding-top:6px;display:grid}.attendance-save-summary{color:#6e7a90;background:#f8fbff;border-radius:16px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;font-size:12px;display:flex}.attendance-save-summary strong{color:#162033;font-size:15px}.attendance-empty-state{color:#6f7c92;text-align:center;background:#fbfdff;border:1px dashed #d7e0ec;border-radius:18px;padding:20px}.attendance-insight-grid{gap:18px;display:grid}.attendance-insight-item{border-top:1px solid #eef2f7;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 0;display:flex}.attendance-insight-item:first-child{border-top:none;padding-top:0}.attendance-insight-item strong{color:#162033;font-size:14px;display:block}.attendance-insight-item span{color:#738198;margin-top:4px;font-size:12px;line-height:1.5;display:block}.attendance-insight-divider{background:#eef2f7;height:1px}.attendance-insight-list.compact .attendance-insight-item{padding:10px 0}.attendance-upload-dropzone{cursor:pointer;background:linear-gradient(#fff,#fbfdff);border:1px dashed #d7e0ec;border-radius:22px;place-items:center;min-height:220px;padding:18px;display:grid;position:relative;overflow:hidden}.attendance-upload-dropzone input{opacity:0;cursor:pointer;position:absolute;inset:0}.attendance-upload-empty{text-align:center;color:#7d8aa0;gap:6px;display:grid}.attendance-upload-empty strong{color:#1c2740;font-size:15px}.attendance-photo-preview{background:#f8fbff;border:1px solid #edf2f8;border-radius:18px;overflow:hidden}.attendance-photo-preview img{object-fit:cover;width:100%;max-height:260px;display:block}.attendance-upload-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.attendance-upload-foot span{color:#7a879b;font-size:12px}.attendance-media-card,.attendance-insight-card{min-height:100%}.attendance-weekday-grid{flex-wrap:wrap;gap:10px;display:flex}.attendance-weekday-chip{color:#344054;background:#fff;border:1px solid #e8edf4;border-radius:999px;align-items:center;gap:8px;padding:10px 12px;font-size:12px;font-weight:600;display:inline-flex}@media(min-width:900px){.attendance-layout{grid-template-columns:360px minmax(0,1fr);align-items:start}.attendance-session-card{padding-right:16px}.attendance-session-timeline{max-height:calc(100vh - 310px);padding-right:4px;overflow:auto}.attendance-detail-header-actions{margin-left:auto}.attendance-insight-grid{grid-template-columns:1.1fr 1.6fr}}@media(max-width:899px){.attendance-student-list,.attendance-save-bar{grid-template-columns:1fr}.attendance-detail-header,.attendance-session-header-top{display:grid}.attendance-detail-header-actions{justify-content:flex-start}.attendance-session-summary{grid-template-columns:1fr}}@media(max-width:640px){.attendance-page-shell{gap:14px}.attendance-page-shell-mobile{gap:12px}.attendance-mobile-hero{padding-top:2px}.attendance-mobile-hero-copy h1{font-size:20px}.attendance-mobile-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-mobile-kpi-body{padding:12px 11px}.attendance-mobile-kpi-body strong{font-size:20px}.attendance-mobile-tabs-list{border-radius:16px;gap:4px;padding:3px}.attendance-mobile-tab-trigger{padding-inline:10px;font-size:12px}.attendance-mobile-featured-body,.attendance-mobile-list-body,.attendance-mobile-insight-body{padding:14px}.attendance-mobile-featured-top{display:grid}.attendance-mobile-featured-staff{grid-template-columns:1fr}.attendance-mobile-session-card-body{padding:13px}.attendance-mobile-session-card-top,.attendance-mobile-session-action-row{display:grid}.attendance-mobile-timing-pill{width:max-content}.attendance-mobile-session-scroll{max-height:none}.attendance-mobile-sheet-head{padding:16px 16px 0}.attendance-mobile-sheet-hero,.attendance-mobile-sheet-actions,.attendance-mobile-sheet-scroll,.attendance-mobile-sheet-footer{padding-left:16px;padding-right:16px}.attendance-mobile-hero-actions{gap:8px}.attendance-date-pill{height:42px;padding:0 12px}.attendance-week-button{height:42px;padding:0 14px}.attendance-nav-button{width:38px;height:38px}.attendance-session-heading-row{gap:6px}.attendance-refresh-icon-btn{width:24px;height:24px}.attendance-refresh-icon-btn svg{width:12px;height:12px}.attendance-toolbar-card,.attendance-session-card,.attendance-detail-card,.attendance-insight-card,.attendance-media-card,.attendance-admin-card{border-radius:18px;padding:14px}.attendance-section-controls{justify-content:stretch;width:100%}.attendance-staff-filter{flex:100%;min-width:0}.attendance-session-summary{grid-template-columns:1fr}.attendance-detail-actions,.attendance-upload-foot{justify-content:flex-start}.attendance-student-card{padding:14px}.attendance-session-topline{align-items:flex-start}.attendance-session-badge-stack{justify-content:flex-start}}.schedule-session-stack,.schedule-slot-stack{gap:8px;display:grid}.schedule-slot-item{text-align:left;color:inherit;background:linear-gradient(#fff,#f9fbff);border:1px solid #94a3b829;border-radius:18px;gap:10px;padding:13px 14px;transition:transform .18s,box-shadow .18s,border-color .18s;display:grid}.schedule-slot-item:hover{transform:translateY(-1px);box-shadow:0 12px 24px #0f172a0f}.schedule-slot-item.filled{box-shadow:inset 0 0 0 1px #60a5fa38,0 14px 28px #2563eb0f}.schedule-slot-item.empty{background:linear-gradient(#fbfdff,#f8fbff);border-style:dashed}.schedule-slot-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.schedule-slot-head strong{color:#0f172a;font-size:14px;line-height:1.4;display:block}.schedule-slot-head span{color:#64748b;margin-top:4px;font-size:12px;display:block}.schedule-slot-lines{gap:8px;display:grid}.schedule-slot-line{gap:4px;display:grid}.schedule-slot-line span{color:#64748b;text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:800}.schedule-slot-line strong{color:#0f172a;font-size:13px;line-height:1.45}.schedule-slot-warning{color:#b45309;background:#fff7ed;border-radius:12px;padding:8px 10px;font-size:12px;font-weight:700}.schedule-session-item{text-align:left;color:inherit;background:linear-gradient(#fff,#f9fbff);border:1px solid #94a3b829;border-radius:16px;gap:8px;padding:12px 13px;transition:transform .18s,box-shadow .18s,border-color .18s;display:grid}.schedule-session-item:hover{transform:translateY(-1px);box-shadow:0 12px 24px #0f172a0f}.schedule-session-item.active{background:linear-gradient(#f8fbff,#fff);border-color:#3b82f652;box-shadow:0 16px 28px #3b82f61f}.schedule-session-item-head{gap:7px;display:grid}.schedule-session-item-topline{justify-content:space-between;align-items:center;gap:10px;display:flex}.schedule-session-time{color:#1d4ed8;font-size:12px;font-weight:800}.schedule-session-title{letter-spacing:-.01em;color:#0f172a;font-size:14px;line-height:1.4}.schedule-session-item-meta{color:#64748b;gap:4px;font-size:12px;display:grid}.schedule-session-warning-row{flex-wrap:wrap;gap:6px;display:flex}.schedule-empty-state,.schedule-loading-state,.schedule-roster-empty{color:#64748b;background:linear-gradient(#fbfdff,#f6faff);border:1px dashed #94a3b83d;border-radius:18px;gap:8px;padding:18px;display:grid}.schedule-empty-steps{color:#475569;gap:6px;font-size:12px;line-height:1.55;display:grid}.schedule-empty-steps span{display:block}.schedule-selected-session{background:linear-gradient(#fff,#f9fbff);border-radius:20px;gap:14px;padding:14px;display:grid;box-shadow:inset 0 0 0 1px #94a3b81f}.schedule-selected-session-placeholder{box-shadow:none;background:0 0;padding:0}.schedule-selected-session-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.schedule-selected-session-head h4{letter-spacing:-.03em;margin:0;font-size:17px}.schedule-selected-session-head span{color:#64748b;margin-top:4px;font-size:12px;display:block}.schedule-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.schedule-detail-grid div{background:linear-gradient(#fff,#f8fbff);border:1px solid #94a3b81f;border-radius:16px;gap:6px;padding:12px;display:grid}.schedule-detail-grid span{color:#64748b;text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:800}.schedule-detail-grid strong{color:#0f172a;font-size:13px;line-height:1.45}.schedule-assignment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.schedule-assignment-card{background:linear-gradient(#fff,#f8fbff);border-radius:18px;gap:10px;padding:14px;display:grid;box-shadow:inset 0 0 0 1px #94a3b81f}.schedule-assignment-card-wide{grid-column:1/-1}.schedule-assignment-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.schedule-assignment-head span{color:#64748b;text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:800;display:block}.schedule-assignment-head strong{color:#0f172a;margin-top:4px;font-size:15px;display:block}.schedule-assignment-meta{color:#64748b;font-size:12px;line-height:1.55}.schedule-chip-cloud{flex-wrap:wrap;gap:8px;display:flex}.schedule-pill{border-radius:999px;align-items:center;gap:6px;min-height:30px;padding:0 11px;font-size:12px;font-weight:700;display:inline-flex}.schedule-pill-coach{color:#1d4ed8;background:#eff6ff}.schedule-pill-assistant{color:#6d28d9;background:#f5f3ff}.schedule-pill-empty{color:#64748b;background:#f8fafc}.schedule-pill-info{color:#0f766e;background:#ecfeff}.schedule-pill-muted{color:#64748b;background:#f8fafc}.schedule-conflict-box{background:linear-gradient(#fffaf0,#fff5dd);border:1px solid #f59e0b38;border-radius:18px;gap:10px;padding:12px 14px;display:grid}.schedule-conflict-title{color:#9a6700;align-items:center;gap:8px;display:flex}.schedule-conflict-title .btn-icon{color:inherit}.schedule-conflict-tags{flex-wrap:wrap;gap:6px;display:flex}.schedule-conflict-list{color:#8a5a00;gap:6px;margin:0;padding-left:18px;display:grid}.schedule-conflict-alert{background:linear-gradient(#fff7f7,#fff1f2);border:1px solid #fecdd3;border-radius:18px;gap:10px;padding:12px 14px;display:grid}.schedule-conflict-alert-head{color:#c2410c;align-items:center;gap:8px;display:flex}.schedule-conflict-alert-head .btn-icon{width:14px;height:14px;color:inherit;flex:0 0 14px}.schedule-conflict-alert-head .btn-icon svg{width:14px;height:14px}.schedule-conflict-alert-head strong{color:inherit;font-size:13px;line-height:1.45}.schedule-conflict-alert-list{gap:8px;display:grid}.schedule-conflict-alert-item{gap:4px;display:grid}.schedule-conflict-alert-item strong{color:#9a3412;font-size:12px}.schedule-conflict-alert-item span{color:#7c2d12;font-size:12px;line-height:1.5}.schedule-roster-panel{gap:10px;display:grid}.schedule-roster-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.schedule-roster-head strong{font-size:14px}.schedule-roster-head span{color:#64748b;font-size:12px}.schedule-roster-table-wrap{border-radius:18px;overflow:hidden}.schedule-roster-table th,.schedule-roster-table td{padding:9px 10px;font-size:12px}.schedule-roster-table thead th{background:#f8fbff}.schedule-roster-table{min-width:100%}.schedule-modal-card{background:#fff;border:1px solid #e8edf4;width:min(1040px,100%);box-shadow:0 24px 60px #0f172a1f}.schedule-modal-card .section-title{border-bottom:1px solid #eef2f7;margin-bottom:14px;padding-bottom:12px}.schedule-modal-card .section-title h3{color:#162033;font-size:18px}.schedule-direct-modal-subtitle{color:#64748b;margin:6px 0 0;font-size:12px;line-height:1.45}.schedule-modal-summary{grid-template-columns:78px 78px 78px 132px minmax(220px,1fr);align-items:stretch;gap:8px;padding:0;display:grid}.schedule-modal-summary div{background:#fbfcfe;border:1px solid #eef2f7;border-radius:14px;gap:3px;min-width:0;padding:10px 12px;display:grid}.schedule-modal-summary-stat{text-align:center;justify-items:center}.schedule-modal-summary-stat strong{font-size:18px;line-height:1.05}.schedule-modal-summary-status{min-width:0}.schedule-modal-summary span{color:#8a96aa;text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:700}.schedule-modal-summary strong{color:#162033;white-space:nowrap;text-overflow:ellipsis;font-size:12px;line-height:1.35;overflow:hidden}.schedule-modal-summary select{color:#344053;height:36px;font:inherit;background:#fff;border:1px solid #e8edf4;border-radius:10px;padding:0 8px;font-size:12px}.schedule-modal-summary-note{grid-column:auto}.schedule-replacement-note{gap:8px;margin-top:14px;display:grid}.schedule-replacement-note span{color:#516075;font-size:12px;font-weight:700}.schedule-replacement-note textarea{color:#162033;resize:vertical;min-height:72px;font:inherit;box-shadow:none;background:#fff;border:1px solid #e8edf4;border-radius:14px;padding:12px 14px}.schedule-replacement-note-inline{height:100%;margin-top:0}.schedule-replacement-note-inline span{color:#8a96aa;letter-spacing:.04em;text-transform:uppercase;font-size:10px}.schedule-replacement-note-inline textarea{border-radius:12px;height:100%;min-height:36px;padding:10px 12px;font-size:12px;line-height:1.5}.schedule-student-detail-modal{width:min(640px,100%)}.schedule-student-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.schedule-student-detail-grid div{background:linear-gradient(#fff,#f8fbff);border:1px solid #94a3b81f;border-radius:16px;gap:6px;padding:12px;display:grid}.schedule-student-detail-grid span{color:#64748b;text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:800}.schedule-student-detail-grid strong{color:#0f172a;font-size:13px;line-height:1.45}.schedule-assignment-modal-head{justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:14px;display:flex}.schedule-assignment-modal-summary{gap:4px;display:grid}.schedule-assignment-modal-summary span{color:#8a96aa;text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:700}.schedule-assignment-modal-summary small{color:#64748b;font-size:12px;line-height:1.45}.schedule-assignment-modal-summary strong{color:#162033;font-size:15px;line-height:1.4}.schedule-assignment-stats{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.schedule-assignment-stat{min-width:90px;box-shadow:none;background:#fff;border:1px solid #e8edf4;border-radius:14px;gap:4px;padding:10px 12px;display:grid}.schedule-assignment-stat span{color:#8a96aa;text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:700}.schedule-assignment-stat strong{color:#162033;font-size:18px;line-height:1}.schedule-assignment-search{min-width:0}.schedule-assignment-layout{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px;display:grid}.schedule-assignment-primary,.schedule-assignment-sidebar,.schedule-assignment-column{gap:12px;display:grid}.schedule-assignment-column-head{box-shadow:none;background:#fbfcfe;border:1px solid #eef2f7;border-radius:16px;align-items:center;gap:10px;padding:12px 14px;display:flex}.schedule-assignment-column-head-with-search>div{flex:0 auto;min-width:0}.schedule-assignment-column-head-with-search .schedule-assignment-search{flex:0 180px;min-width:0;max-width:220px;margin-left:auto}.schedule-assignment-column-head .btn-icon{color:#93a0b4}.schedule-assignment-column-head strong{color:#162033;font-size:14px;display:block}.schedule-assignment-column-head span{color:#6b778c;margin-top:4px;font-size:12px;line-height:1.5;display:block}.schedule-assignment-quick-actions{flex-wrap:wrap;gap:8px;display:flex}.schedule-assignment-picker,.schedule-student-picker{gap:10px;max-height:300px;padding-right:2px;display:grid;overflow:auto}.schedule-picker-empty{box-shadow:none;background:#fbfcfe;border:1px dashed #e8edf4;border-radius:16px;padding:16px 14px}.schedule-pick-card{box-shadow:none;cursor:pointer;background:#fff;border:1px solid #e8edf4;border-radius:16px;align-items:flex-start;gap:12px;padding:13px 14px;transition:transform .16s,border-color .16s,background .16s;display:flex}.schedule-pick-card:hover{background:#fcfdff;border-color:#dbe5f0;transform:translateY(-1px)}.schedule-pick-card.selected{box-shadow:none;background:#f7fbff;border-color:#cfe0ff}.schedule-pick-card input{margin-top:3px}.schedule-pick-card strong{color:#0f172a;flex-wrap:wrap;align-items:baseline;gap:4px;font-size:13px;line-height:1.45;display:flex}.schedule-pick-card>div>span{color:#64748b;margin-top:4px;font-size:12px;line-height:1.5;display:block}.schedule-staff-replacement-badge{color:#2563eb;background:#eef4ff;border-radius:999px;justify-content:center;align-items:center;height:18px;padding:0 7px;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.schedule-staff-role-toggle-group{align-items:center;gap:4px;margin-left:4px;display:inline-flex}.schedule-staff-role-toggle{color:#64748b;cursor:pointer;background:#fff;border:1px solid #d9e2ef;border-radius:999px;justify-content:center;align-items:center;min-width:30px;height:20px;padding:0 6px;font-size:10px;font-weight:700;line-height:1;transition:border-color .16s,background .16s,color .16s;display:inline-flex}.schedule-staff-role-toggle.active{color:#2563eb;background:#eef4ff;border-color:#bfd5ff}.schedule-student-age-inline{color:#64748b;font-size:11px;font-weight:500;line-height:1.4;display:inline}.schedule-student-setting-box{gap:8px;margin-top:10px;display:grid}.schedule-student-setting-box select,.schedule-student-setting-box input{color:#162033;background:#fff;border:1px solid #e8edf4;border-radius:10px;height:36px;padding:0 10px;font-size:12px}.schedule-student-setting-box input{height:38px}.schedule-staff-setting-box{max-width:160px}.schedule-student-summary-row{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.schedule-direct-actions{border-top:1px solid #eef2f7;justify-content:flex-end;gap:8px;margin-top:14px;padding-top:10px}.schedule-direct-actions .btn,.schedule-direct-actions .primary-button{border-radius:10px;min-height:34px;padding:0 12px;font-size:12px;line-height:1.2}.schedule-direct-actions .btn.soft{padding:0 11px}.modal-backdrop-nested{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a1f}.schedule-bulk-modal{background:#fff;border:1px solid #e8edf4;gap:16px;width:min(560px,100%);display:grid;box-shadow:0 24px 60px #0f172a1f}.schedule-bulk-modal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.schedule-bulk-modal-grid label,.schedule-bulk-weekdays{gap:8px;display:grid}.schedule-bulk-modal-grid span,.schedule-bulk-weekdays>span{color:#516075;font-size:12px;font-weight:700}.schedule-bulk-modal-grid input{color:#162033;background:#fff;border:1px solid #e8edf4;border-radius:12px;height:40px;padding:0 12px}.schedule-bulk-preset-list{flex-wrap:wrap;gap:8px;display:flex}.schedule-bulk-preset-btn.selected{color:#3b82f6;box-shadow:none;background:#f7fbff;border-color:#cfe0ff}.schedule-bulk-weekday-list{flex-wrap:wrap;gap:10px;display:flex}.schedule-bulk-weekday-chip{cursor:pointer;background:#fff;border:1px solid #e8edf4;border-radius:14px;align-items:center;gap:8px;padding:10px 12px;transition:border-color .16s,transform .16s,background .16s;display:inline-flex}.schedule-bulk-weekday-chip:hover{background:#fcfdff;border-color:#dbe5f0;transform:translateY(-1px)}.schedule-bulk-weekday-chip.selected{box-shadow:none;background:#f7fbff;border-color:#cfe0ff}.schedule-bulk-weekday-chip input{margin:0}.schedule-bulk-weekday-chip span{color:#0f172a;font-size:13px;font-weight:600}.schedule-bulk-hint{box-shadow:none;color:#6b778c;background:#fbfcfe;border:1px solid #eef2f7;border-radius:16px;padding:12px 14px;font-size:12px;line-height:1.6}@media(max-width:1200px){.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3,.grid-2,.two-column,.data-setup-layout,.card-subgrid,.student-pick-grid,.parent-portal-layout{grid-template-columns:1fr}.parent-portal-photo-grid,.parent-portal-report-highlights,.parent-portal-metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-stack,.kpi-grid{grid-template-columns:repeat(2,1fr)}.student-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-table-toolbar{flex-direction:column}.student-filter-field{width:100%;min-width:0}.branch-metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.branch-table-toolbar{flex-direction:column;align-items:stretch}.branch-toolbar-search{min-width:0}.branch-toolbar-summary{justify-content:flex-start}.resource-metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.resource-table-toolbar{flex-direction:column;align-items:stretch}.resource-toolbar-search{min-width:0}.resource-toolbar-actions{flex-direction:column;align-items:stretch}.resource-toolbar-summary{justify-content:flex-start}.schedule-calendar-layout{grid-template-columns:1fr}.schedule-detail-panel{max-height:none;position:static}.schedule-toolbar-foot{flex-direction:column;align-items:flex-start}.schedule-assignment-layout{grid-template-columns:1fr}}@media(max-width:980px){.app,.app-shell-mobile-schedule,.app-shell-parent-portal{display:block}.app-shell-mobile-schedule .topbar{height:auto;min-height:56px;padding:12px 16px}.app-shell-parent-portal .sidebar{display:none}.app-shell-parent-portal .page{padding:8px 12px 18px}.app-shell-parent-portal .mobile-signout-bar{justify-content:center;margin-top:16px;padding-top:0;display:flex}.app-shell-parent-portal .mobile-signout-bar .sidebar-signout{width:100%;max-width:none;height:40px;font-size:13px;display:inline-flex}.app-shell-mobile-schedule .page{padding:12px 14px 18px}.sidebar{border-right:none;border-bottom:1px solid var(--line);width:auto;height:auto;position:relative}.sidebar-foot{margin-top:14px;position:static}.sidebar-account .sidebar-signout{display:none}.mobile-signout-bar{justify-content:center;margin-top:20px;padding-top:8px;display:flex}.mobile-signout-bar .sidebar-signout{width:100%;max-width:280px;height:40px;font-size:13px;display:inline-flex}.topbar{padding:0 16px}.topbar-copy{width:100%}.search{flex:1;min-width:0}.page{padding:8px 18px 18px}.hero{flex-direction:column}.student-page-hero{padding:20px}.branch-page-hero{flex-direction:column;padding:20px}.parent-portal-metric-strip,.parent-portal-photo-grid,.parent-portal-report-highlights{grid-template-columns:1fr}.parent-portal-tabs-card{z-index:2;padding:10px;position:sticky;top:76px}.parent-portal-tab{height:34px;padding:0 12px;font-size:12px}.app-shell-parent-portal .parent-portal-shell{margin-top:0}.branch-page-actions,.branch-page-actions .primary-button{width:100%}.resource-page-hero{flex-direction:column;padding:20px}.parent-portal-attendance-head,.parent-portal-inline-head{flex-direction:column}.resource-page-actions,.resource-page-actions .primary-button{width:100%}.schedule-page-hero{padding:18px}.schedule-page-shell{margin-top:-22px}.schedule-hero-top{flex-direction:column;align-items:flex-start}.schedule-hero-actions{flex-wrap:nowrap;justify-content:flex-start;width:100%;margin-left:0}.schedule-toolbar{flex-direction:column;align-items:stretch}.schedule-mobile-board{gap:12px;margin-bottom:14px;display:grid}.schedule-sheet-wrap{display:none}.schedule-toolbar-controls{justify-content:flex-start;gap:6px;margin-left:0}.schedule-filter-pill.schedule-filter-pill-active{color:#2454ff;background:#eef4ff;border-color:#bfd2ff;box-shadow:inset 0 0 0 1px #2454ff0d}.schedule-filter-pill{flex:none;padding:0 10px}.schedule-month-switcher{flex:auto;justify-content:space-between;min-width:0}.schedule-month-switcher strong{flex:auto;min-width:0;font-size:12px}.schedule-view-toggle{flex:none;min-width:58px;padding:0 10px}.schedule-hero-button-row{justify-content:stretch}.schedule-toolbar-filters .student-filter-field{width:100%;min-width:0}.schedule-insight-grid{grid-template-columns:1fr}.schedule-day-highlight{grid-template-columns:repeat(3,minmax(0,1fr))}.schedule-assignment-grid{grid-template-columns:1fr}.schedule-assignment-modal-head{flex-direction:column;align-items:stretch}.schedule-assignment-stats{justify-content:flex-start}.schedule-assignment-search{width:100%;min-width:0}.schedule-bulk-modal-grid{grid-template-columns:1fr}}@media(max-width:700px){.grid-4,.grid-3,.grid-2,.stat-stack{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:center;gap:10px;height:auto;padding:12px 16px}.profile div{display:none}.search{width:100%;padding:10px 12px}.hero h1{font-size:28px}.kpi-grid,.form-grid.two-columns,.student-metric-grid{grid-template-columns:1fr}.student-page-copy h1{font-size:28px}.student-inline-meta{gap:6px;display:grid}.student-inline-meta span:before{display:none}.branch-page-copy h1{font-size:28px}.branch-metric-strip,.branch-form-grid{grid-template-columns:1fr}.resource-page-copy h1{font-size:28px}.resource-metric-strip,.resource-form-grid{grid-template-columns:1fr}.schedule-weekday-cell{padding:10px 6px;font-size:11px}.schedule-day-cell{min-height:112px;padding:8px}.schedule-day-chip{padding:5px 6px}.schedule-detail-grid,.schedule-modal-summary,.schedule-day-highlight{grid-template-columns:1fr}.schedule-hero-actions{gap:4px}.schedule-filter-pill{padding:0 8px;font-size:12px}.schedule-month-switcher{gap:2px;padding:0 3px}.schedule-month-switcher strong{min-width:0;font-size:11px}.schedule-view-toggle{min-width:54px;padding:0 8px;font-size:12px}.schedule-legend{gap:8px}.schedule-legend-item{font-size:11px}}.schedule-attendance-modal{-webkit-overflow-scrolling:touch;width:min(1080px,100vw - 24px);max-width:1080px;max-height:min(92vh,980px);padding-bottom:88px;overflow:auto}.schedule-attendance-head{z-index:3;background:linear-gradient(#fff 88%,#fff0);align-items:flex-start;margin:-4px -4px 16px;padding:4px 4px 12px;position:sticky;top:0}.schedule-attendance-subtitle{color:#6f7d92;margin:4px 0 0;font-size:13px}.schedule-attendance-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.schedule-attendance-quick-btn{min-height:42px;padding-inline:16px;font-weight:700}.schedule-attendance-toolbar-note{color:#6f7d92;text-align:right;font-size:13px}.schedule-attendance-legend{flex-wrap:wrap;gap:8px 12px;margin-bottom:14px;display:flex}.schedule-attendance-legend-item{color:#6f7d92;align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.schedule-attendance-legend-icon{justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.schedule-attendance-legend-icon svg{width:16px;height:16px}.schedule-attendance-modal-mobile{gap:12px;width:min(560px,100vw - 18px);max-width:560px;padding-bottom:82px}.schedule-attendance-modal-mobile .section-title{margin-bottom:0}.schedule-attendance-modal-mobile .schedule-attendance-subtitle{font-size:11px;line-height:1.35}.schedule-attendance-modal-mobile .schedule-attendance-hero-card{border-radius:14px;margin-bottom:10px;padding:10px 12px}.schedule-attendance-modal-mobile .schedule-attendance-hero-topline strong{font-size:13px}.schedule-attendance-modal-mobile .schedule-attendance-hero-topline span,.schedule-attendance-modal-mobile .schedule-attendance-hero-coach{font-size:11px;line-height:1.4}.schedule-attendance-modal-mobile .schedule-attendance-action-bar{gap:8px}.schedule-attendance-modal-mobile .schedule-attendance-photo-action,.schedule-attendance-modal-mobile .schedule-attendance-quick-btn{border-radius:10px;min-height:36px;font-size:11px}.schedule-attendance-modal-mobile .schedule-attendance-preview{border-radius:14px}.schedule-attendance-modal-mobile .schedule-attendance-student-list{gap:10px}.schedule-attendance-modal-mobile .schedule-attendance-student-card{border-radius:14px;gap:8px;padding:10px}.schedule-attendance-modal-mobile .schedule-attendance-avatar{border-radius:12px;width:38px;height:38px;font-size:12px}.schedule-attendance-modal-mobile .schedule-attendance-student-name{font-size:13px;line-height:1.3}.schedule-attendance-modal-mobile .schedule-attendance-meta{margin-top:2px;font-size:10px}.schedule-attendance-modal-mobile .schedule-attendance-status-badge{min-height:28px;padding:0 9px;font-size:10px}.schedule-attendance-modal-mobile .schedule-attendance-compact-tools{gap:4px}.schedule-attendance-modal-mobile .schedule-attendance-mini-btn{border-radius:9px;width:28px;min-width:28px;min-height:28px;padding:0}.schedule-attendance-modal-mobile .schedule-attendance-mini-btn>span:not(.btn-icon){display:none}.schedule-attendance-modal-mobile .schedule-attendance-status-row.compact{gap:6px}.schedule-attendance-modal-mobile .schedule-attendance-status-chip{border-radius:9px;width:32px;min-width:32px;min-height:32px;padding:0}.schedule-attendance-modal-mobile .schedule-attendance-form-grid label span{margin-bottom:4px;font-size:10px}.schedule-attendance-modal-mobile .schedule-attendance-form-grid input,.schedule-attendance-modal-mobile .schedule-attendance-form-grid textarea{border-radius:12px}.schedule-attendance-modal-mobile .schedule-attendance-actions{background:linear-gradient(#fff0,#fff 28%);grid-template-columns:minmax(0,1fr) auto;gap:8px;padding-top:8px;display:grid;position:sticky;bottom:0}.schedule-attendance-modal-mobile .schedule-attendance-actions .primary-button,.schedule-attendance-modal-mobile .schedule-attendance-actions .btn{border-radius:10px;height:38px;font-size:12px}.schedule-attendance-hero-card{background:#fbfdff;border:1px solid #e4ebf5;border-radius:16px;gap:8px;min-width:0;margin-bottom:16px;padding:14px 16px 12px;display:grid}.schedule-attendance-hero-topline{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.schedule-attendance-hero-topline strong{font-size:16px;line-height:1.3}.schedule-attendance-hero-topline span{color:#6f7d92;letter-spacing:0;text-transform:none;margin:0;font-size:13px;font-weight:600}.schedule-attendance-hero-coach{color:#102347;font-size:14px;font-weight:700;line-height:1.5}.schedule-attendance-action-bar{flex-wrap:wrap;gap:10px;margin-bottom:14px;display:flex}.schedule-attendance-photo-action{color:#2454ff;cursor:pointer;background:#f8fbff;border:1px dashed #bfd2ff;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:10px 14px;font-size:13px;font-weight:700;display:inline-flex;position:relative}.schedule-attendance-photo-action input{opacity:0;cursor:pointer;position:absolute;inset:0}.schedule-attendance-photo-action .btn-icon{width:16px;height:16px}.schedule-attendance-form-grid span{color:#7b89a3;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:12px;font-weight:700;display:block}.schedule-attendance-photo-picker{color:#2454ff;cursor:pointer;border:1px dashed #bfd2ff;border-radius:12px;justify-content:center;align-items:center;min-height:44px;padding:10px 14px;font-weight:600;display:inline-flex;position:relative}.schedule-attendance-photo-picker input{opacity:0;cursor:pointer;position:absolute;inset:0}.schedule-attendance-preview{background:#f8fbff;border:1px solid #e4ebf5;border-radius:18px;margin-bottom:16px;overflow:hidden}.schedule-attendance-preview img{object-fit:cover;width:100%;max-height:280px;display:block}.schedule-attendance-student-list{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-bottom:16px;display:grid}.schedule-attendance-student-card{background:#fff;border:1px solid #e4ebf5;border-radius:18px;padding:16px 14px 14px;position:relative}.schedule-attendance-student-summary{text-align:center;justify-items:center;gap:6px;margin-bottom:12px;display:grid}.schedule-attendance-avatar{color:#2a61ff;background:linear-gradient(#f6f8fc,#edf3ff);border:1px solid #d8e3f7;border-radius:999px;justify-content:center;align-items:center;width:54px;height:54px;font-size:18px;font-weight:800;display:inline-flex}.schedule-attendance-student-name{color:#102347;justify-content:center;align-items:center;gap:4px;line-height:1.35;display:inline-flex}.schedule-attendance-student-name strong{font-size:15px;font-weight:700}.schedule-attendance-name-status-btn{color:#64748b;background:0 0;border:none;border-radius:999px;flex:none;justify-content:center;align-items:center;width:22px;height:22px;padding:0;display:inline-flex}.schedule-attendance-name-status-btn svg{width:14px;height:14px}.schedule-attendance-name-status-btn.tone-green{color:#16a34a}.schedule-attendance-name-status-btn.tone-orange{color:#c96d14}.schedule-attendance-name-status-btn.tone-red{color:#dc2626}.schedule-attendance-name-status-btn.tone-slate{color:#64748b}.schedule-attendance-name-status-btn.tone-blue{color:#2563eb}.schedule-attendance-name-status-btn.active{background:#2563eb14}.schedule-attendance-meta-centered{text-align:center}.schedule-attendance-meta{color:#6f7d92;margin-top:4px;font-size:13px}.schedule-attendance-status-row{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:10px;display:flex}.schedule-attendance-status-row.compact{margin-bottom:12px}.schedule-attendance-status-chip{color:#31415f;background:#fff;border:1px solid #d8e1ef;border-radius:999px;justify-content:center;align-items:center;width:42px;min-width:42px;min-height:42px;padding:0;font-size:13px;font-weight:600;display:inline-flex}.schedule-attendance-status-chip svg{width:18px;height:18px}.schedule-attendance-status-chip.tone-green{color:#1f9d55;background:#f5fcf7;border-color:#c8ead6}.schedule-attendance-status-chip.tone-orange{color:#cf7a1c;background:#fff9f2;border-color:#f3dcc1}.schedule-attendance-status-chip.tone-red{color:#d65252;background:#fff7f7;border-color:#f1caca}.schedule-attendance-status-chip.tone-slate{color:#6c7b95;background:#f7f9fc;border-color:#d7deeb}.schedule-attendance-status-chip.tone-blue{color:#2a61ff;background:#f5f8ff;border-color:#cfdcff}.schedule-attendance-status-chip.active{box-shadow:inset 0 0 0 1px}.schedule-attendance-status-chip.tone-green.active{color:#159947;background:#e9f9ef}.schedule-attendance-status-chip.tone-orange.active{color:#c96d14;background:#fff4e8}.schedule-attendance-status-chip.tone-red.active{color:#de4b4b;background:#fff0f0}.schedule-attendance-status-chip.tone-slate.active{color:#607089;background:#f1f4f9}.schedule-attendance-status-chip.tone-blue.active{color:#2454ff;background:#eef4ff}.schedule-attendance-status-badge{border:none;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:700;display:inline-flex}.schedule-attendance-status-badge svg{width:14px;height:14px}.schedule-attendance-status-badge.active{box-shadow:inset 0 0 0 1px}.schedule-attendance-status-badge.tone-green{color:#159947;background:#e9f9ef}.schedule-attendance-status-badge.tone-orange{color:#c96d14;background:#fff4e8}.schedule-attendance-status-badge.tone-red{color:#de4b4b;background:#fff0f0}.schedule-attendance-status-badge.tone-slate{color:#607089;background:#f1f4f9}.schedule-attendance-status-badge.tone-blue{color:#2454ff;background:#eef4ff}.schedule-attendance-legend-item.tone-green,.schedule-attendance-legend-item.tone-green .schedule-attendance-legend-icon{color:#1f9d55}.schedule-attendance-legend-item.tone-orange,.schedule-attendance-legend-item.tone-orange .schedule-attendance-legend-icon{color:#cf7a1c}.schedule-attendance-legend-item.tone-red,.schedule-attendance-legend-item.tone-red .schedule-attendance-legend-icon{color:#d65252}.schedule-attendance-legend-item.tone-slate,.schedule-attendance-legend-item.tone-slate .schedule-attendance-legend-icon{color:#6c7b95}.schedule-attendance-legend-item.tone-blue,.schedule-attendance-legend-item.tone-blue .schedule-attendance-legend-icon{color:#2a61ff}.schedule-attendance-form-grid{gap:12px;margin-top:10px;display:grid}.schedule-attendance-student-controls{flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;top:8px;right:8px}.schedule-attendance-form-grid input,.schedule-attendance-form-grid textarea{width:100%;font:inherit;color:#102347;background:#fff;border:1px solid #d8e1ef;border-radius:14px;padding:12px 14px}.schedule-attendance-compact-tools{flex-flow:column;justify-content:flex-start;align-items:center;gap:4px;display:flex}.schedule-attendance-mini-btn{color:#52637e;opacity:.58;background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;width:18px;min-width:18px;min-height:18px;padding:0;transition:color .16s,transform .16s,opacity .16s;display:inline-flex}.schedule-attendance-mini-btn .btn-icon{width:11px;height:11px;display:inline-flex}.schedule-attendance-mini-btn:hover{color:#344053;opacity:.9;transform:translateY(-1px)}.schedule-attendance-mini-btn.active{color:#2454ff;opacity:1}.schedule-attendance-actions{z-index:3;background:linear-gradient(#fff0,#fff 14%);margin:0 -4px -4px;padding:12px 4px 4px;position:sticky;bottom:-4px}@media(max-width:900px){.schedule-attendance-modal{width:calc(100vw - 16px);max-height:94vh;padding:16px 14px 90px}.schedule-attendance-head{flex-direction:column;gap:10px;margin:-16px -14px 14px;padding:14px 14px 10px}.schedule-attendance-head .btn.soft{width:100%;min-height:44px}.schedule-attendance-toolbar{flex-direction:column;align-items:stretch}.schedule-attendance-toolbar-note{text-align:left;font-size:12px}.schedule-attendance-legend{gap:8px 10px;margin-bottom:12px}.schedule-attendance-legend-item{font-size:11px}.schedule-attendance-hero-card{padding:12px 14px}.schedule-attendance-action-bar{grid-template-columns:1fr;display:grid}.schedule-attendance-photo-action,.schedule-attendance-quick-btn{justify-content:center;width:100%}.schedule-attendance-preview{border-radius:16px;margin-bottom:14px}.schedule-attendance-preview img{max-height:220px}.schedule-attendance-student-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.schedule-attendance-student-card{border-radius:16px;padding:14px}.schedule-attendance-status-row{grid-template-columns:repeat(5,42px);gap:8px;display:grid}.schedule-attendance-status-chip{font-size:14px}.schedule-attendance-student-controls{gap:6px;top:8px;right:8px}.schedule-attendance-form-grid{gap:10px}.schedule-attendance-form-grid input,.schedule-attendance-form-grid textarea{padding:13px 14px;font-size:15px}.schedule-attendance-form-grid textarea{min-height:108px}.schedule-attendance-compact-tools{flex-direction:column;width:auto;display:flex}.schedule-attendance-mini-btn{justify-content:center;width:18px;min-width:18px;min-height:18px}.schedule-attendance-actions{grid-template-columns:1fr;gap:10px;margin:0 -14px -16px;padding:12px 14px 14px;display:grid}.schedule-attendance-actions .primary-button,.schedule-attendance-actions .btn{width:100%;min-height:46px}}@media(max-width:980px){.app-shell-mobile-coach .branch-metric-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.app-shell-mobile-coach .branch-metric-card{border-radius:14px;min-height:64px;padding:8px 6px}.app-shell-mobile-coach .branch-metric-card strong{font-size:22px}.app-shell-mobile-coach .branch-metric-card span{margin-top:4px;font-size:11px;line-height:1.2}}@media(max-width:520px){.schedule-attendance-modal{border-radius:18px 18px 0 0;width:100vw;max-height:100vh;padding:14px 12px 92px}.schedule-attendance-head{margin:-14px -12px 12px;padding:12px 12px 10px}.schedule-attendance-head h3{font-size:20px;line-height:1.3}.schedule-attendance-subtitle{font-size:12px}.schedule-attendance-status-row{grid-template-columns:repeat(5,42px)}.schedule-attendance-student-list{grid-template-columns:1fr}.schedule-attendance-student-controls{gap:8px}.schedule-attendance-status-chip{min-height:42px;font-size:13px}.schedule-attendance-actions{margin:0 -12px -14px;padding:10px 12px 12px}}@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-space-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-leading{syntax:"*";inherits:false}@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-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}
