/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--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-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:"Hanken Grotesk", sans-serif;--font-mono:"JetBrains Mono", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-200:oklch(88.5% .062 18.334);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-900:oklch(39.6% .141 25.723);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-900:oklch(41.4% .112 45.904);--color-amber-950:oklch(27.9% .077 45.635);--color-green-500:oklch(72.3% .219 149.579);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-800:oklch(43.2% .095 166.913);--color-emerald-900:oklch(37.8% .077 168.94);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-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-900:oklch(37.9% .146 265.522);--color-blue-950:oklch(28.2% .091 267.935);--color-rose-50:oklch(96.9% .015 12.422);--color-rose-100:oklch(94.1% .03 12.58);--color-rose-600:oklch(58.6% .253 17.585);--color-rose-900:oklch(41% .159 10.272);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-zinc-50:oklch(98.5% 0 0);--color-zinc-100:oklch(96.7% .001 286.375);--color-zinc-500:oklch(55.2% .016 285.938);--color-zinc-700:oklch(37% .013 285.805);--color-zinc-900:oklch(21% .006 285.885);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--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);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--tracking-wider:.05em;--leading-snug:1.375;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-primary:#af101a;--color-primary-fixed:#ffdad6;--color-primary-fixed-dim:#ffb3ac;--color-on-primary-fixed:#410003;--color-secondary:#5f5e5f;--color-secondary-container:#e2dfe0;--color-on-secondary-container:#636263;--color-tertiary:#3f5b69;--color-tertiary-fixed:#c9e7f7;--color-tertiary-fixed-dim:#adcbda;--color-on-tertiary-fixed:#001f2a;--color-error:#ba1a1a;--color-background:#f8f9fa;--color-surface:#f8f9fa;--color-on-surface:#191c1d;--color-on-surface-variant:#5b403d;--color-surface-container-low:#f3f4f5;--color-inverse-surface:#2e3132;--color-inverse-on-surface:#f0f1f2;--color-outline-variant:#e4beba;--color-outline-faint:#e9ecef;--font-label-caps:"JetBrains Mono", monospace;--text-body-sm:14px;--text-body-sm--line-height:20px;--text-body-sm--font-weight:400;--text-label-caps:12px;--text-label-caps--line-height:16px;--text-label-caps--font-weight:500;--text-label-caps--letter-spacing:.08em;--radius-full:9999px;--spacing-margin-mobile:16px;--spacing-topbar-height-mobile:56px}}@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%;-moz-tab-size:4;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]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance: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{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-full{top:100%}.right-0{right:calc(var(--spacing) * 0)}.right-8{right:calc(var(--spacing) * 8)}.right-full{right:100%}.bottom-8{bottom:calc(var(--spacing) * 8)}.left-0{left:calc(var(--spacing) * 0)}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[200\]{z-index:200}.z-\[300\]{z-index:300}.col-1{grid-column:1}.col-2{grid-column:2}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-4{margin:calc(var(--spacing) * 4)}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-4{margin-right:calc(var(--spacing) * 4)}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-1{height:calc(var(--spacing) * 1)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-full{height:100%}.max-h-64{max-height:calc(var(--spacing) * 64)}.min-h-11{min-height:calc(var(--spacing) * 11)}.custom-scrollbar::-webkit-scrollbar{width:6px}.custom-scrollbar::-webkit-scrollbar-track{background:0 0}.custom-scrollbar::-webkit-scrollbar-thumb{background:#e2dfe0;border-radius:10px}.w-1{width:calc(var(--spacing) * 1)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-4{width:calc(var(--spacing) * 4)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-14{width:calc(var(--spacing) * 14)}.w-28{width:calc(var(--spacing) * 28)}.w-\[68px\]{width:68px}.w-\[96px\]{width:96px}.w-\[280px\]{width:280px}.w-auto{width:auto}.w-full{width:100%}.max-w-\[280px\]{max-width:280px}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[96px\]{min-width:96px}.min-w-\[200px\]{min-width:200px}.min-w-\[280px\]{min-width:280px}.min-w-full{min-width:100%}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-help{cursor:help}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.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-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-0>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 0) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 0) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}: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-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}.self-end{align-self:flex-end}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:var(--radius-full)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-amber-100{border-color:var(--color-amber-100)}.border-amber-200{border-color:var(--color-amber-200)}.border-amber-300{border-color:var(--color-amber-300)}.border-blue-100{border-color:var(--color-blue-100)}.border-blue-200{border-color:var(--color-blue-200)}.border-current{border-color:currentColor}.border-emerald-100{border-color:var(--color-emerald-100)}.border-error{border-color:var(--color-error)}.border-error\/10{border-color:#ba1a1a1a}@supports (color:color-mix(in lab,red,red)){.border-error\/10{border-color:color-mix(in oklab,var(--color-error) 10%,transparent)}}.border-error\/15{border-color:#ba1a1a26}@supports (color:color-mix(in lab,red,red)){.border-error\/15{border-color:color-mix(in oklab,var(--color-error) 15%,transparent)}}.border-error\/20{border-color:#ba1a1a33}@supports (color:color-mix(in lab,red,red)){.border-error\/20{border-color:color-mix(in oklab,var(--color-error) 20%,transparent)}}.border-error\/30{border-color:#ba1a1a4d}@supports (color:color-mix(in lab,red,red)){.border-error\/30{border-color:color-mix(in oklab,var(--color-error) 30%,transparent)}}.border-error\/40{border-color:#ba1a1a66}@supports (color:color-mix(in lab,red,red)){.border-error\/40{border-color:color-mix(in oklab,var(--color-error) 40%,transparent)}}.border-gray-300{border-color:var(--color-gray-300)}.border-outline-faint{border-color:var(--color-outline-faint)}.border-outline-variant{border-color:var(--color-outline-variant)}.border-primary\/30{border-color:#af101a4d}@supports (color:color-mix(in lab,red,red)){.border-primary\/30{border-color:color-mix(in oklab,var(--color-primary) 30%,transparent)}}.border-red-200{border-color:var(--color-red-200)}.border-rose-100{border-color:var(--color-rose-100)}.border-transparent{border-color:#0000}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.border-t-transparent{border-top-color:#0000}.bg-\[\#af101a\]{background-color:#af101a}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-700{background-color:var(--color-amber-700)}.bg-black\/10{background-color:#0000001a}@supports (color:color-mix(in lab,red,red)){.bg-black\/10{background-color:color-mix(in oklab,var(--color-black) 10%,transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-700{background-color:var(--color-blue-700)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-600{background-color:var(--color-emerald-600)}.bg-emerald-800{background-color:var(--color-emerald-800)}.bg-error\/5{background-color:#ba1a1a0d}@supports (color:color-mix(in lab,red,red)){.bg-error\/5{background-color:color-mix(in oklab,var(--color-error) 5%,transparent)}}.bg-error\/10{background-color:#ba1a1a1a}@supports (color:color-mix(in lab,red,red)){.bg-error\/10{background-color:color-mix(in oklab,var(--color-error) 10%,transparent)}}.bg-gray-200{background-color:var(--color-gray-200)}.bg-green-500{background-color:var(--color-green-500)}.bg-inverse-surface{background-color:var(--color-inverse-surface)}.bg-primary{background-color:var(--color-primary)}.bg-primary-fixed{background-color:var(--color-primary-fixed)}.bg-primary\/3{background-color:#af101a08}@supports (color:color-mix(in lab,red,red)){.bg-primary\/3{background-color:color-mix(in oklab,var(--color-primary) 3%,transparent)}}.bg-primary\/5{background-color:#af101a0d}@supports (color:color-mix(in lab,red,red)){.bg-primary\/5{background-color:color-mix(in oklab,var(--color-primary) 5%,transparent)}}.bg-primary\/10{background-color:#af101a1a}@supports (color:color-mix(in lab,red,red)){.bg-primary\/10{background-color:color-mix(in oklab,var(--color-primary) 10%,transparent)}}.bg-red-50{background-color:var(--color-red-50)}.bg-red-600{background-color:var(--color-red-600)}.bg-rose-50{background-color:var(--color-rose-50)}.bg-secondary-container{background-color:var(--color-secondary-container)}.bg-surface{background-color:var(--color-surface)}.bg-surface-container-low{background-color:var(--color-surface-container-low)}.bg-tertiary-fixed{background-color:var(--color-tertiary-fixed)}.bg-tertiary-fixed-dim{background-color:var(--color-tertiary-fixed-dim)}.bg-white{background-color:var(--color-white)}.bg-white\/5{background-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.bg-white\/5{background-color:color-mix(in oklab,var(--color-white) 5%,transparent)}}.bg-white\/80{background-color:#fffc}@supports (color:color-mix(in lab,red,red)){.bg-white\/80{background-color:color-mix(in oklab,var(--color-white) 80%,transparent)}}.bg-zinc-50{background-color:var(--color-zinc-50)}.bg-zinc-100{background-color:var(--color-zinc-100)}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing) * 0)}.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-6{padding:calc(var(--spacing) * 6)}.p-12{padding:calc(var(--spacing) * 12)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block: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)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pb-0\.5{padding-bottom:calc(var(--spacing) * .5)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-label-caps{font-family:var(--font-label-caps)}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-label-caps{font-size:var(--text-label-caps);line-height:var(--tw-leading,var(--text-label-caps--line-height));letter-spacing:var(--tw-tracking,var(--text-label-caps--letter-spacing));font-weight:var(--tw-font-weight,var(--text-label-caps--font-weight))}.text-body-sm{font-size:var(--text-body-sm);line-height:var(--tw-leading,var(--text-body-sm--line-height));font-weight:var(--tw-font-weight,var(--text-body-sm--font-weight))}.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-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.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-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.whitespace-nowrap{white-space:nowrap}.text-\[\#af101a\]{color:#af101a}.text-amber-500{color:var(--color-amber-500)}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-amber-800{color:var(--color-amber-800)}.text-amber-900{color:var(--color-amber-900)}.text-amber-950{color:var(--color-amber-950)}.text-blue-600{color:var(--color-blue-600)}.text-blue-900{color:var(--color-blue-900)}.text-blue-950{color:var(--color-blue-950)}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-900{color:var(--color-emerald-900)}.text-error{color:var(--color-error)}.text-error\/80{color:#ba1a1acc}@supports (color:color-mix(in lab,red,red)){.text-error\/80{color:color-mix(in oklab,var(--color-error) 80%,transparent)}}.text-inverse-on-surface{color:var(--color-inverse-on-surface)}.text-on-primary-fixed{color:var(--color-on-primary-fixed)}.text-on-secondary-container{color:var(--color-on-secondary-container)}.text-on-surface{color:var(--color-on-surface)}.text-on-surface-variant{color:var(--color-on-surface-variant)}.text-on-surface-variant\/60{color:#5b403d99}@supports (color:color-mix(in lab,red,red)){.text-on-surface-variant\/60{color:color-mix(in oklab,var(--color-on-surface-variant) 60%,transparent)}}.text-on-tertiary-fixed{color:var(--color-on-tertiary-fixed)}.text-primary{color:var(--color-primary)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-red-900{color:var(--color-red-900)}.text-rose-600{color:var(--color-rose-600)}.text-rose-900{color:var(--color-rose-900)}.text-secondary{color:var(--color-secondary)}.text-secondary\/80{color:#5f5e5fcc}@supports (color:color-mix(in lab,red,red)){.text-secondary\/80{color:color-mix(in oklab,var(--color-secondary) 80%,transparent)}}.text-tertiary{color:var(--color-tertiary)}.text-white{color:var(--color-white)}.text-zinc-500{color:var(--color-zinc-500)}.text-zinc-700{color:var(--color-zinc-700)}.text-zinc-900{color:var(--color-zinc-900)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-60{opacity:.6}.opacity-80{opacity:.8}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.glass-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffc;border:1px solid #e9ecef;box-shadow:0 4px 20px #0000000a}.card-shadow{box-shadow:0 4px 20px #0000000a}.card-shadow-hover:hover{box-shadow:0 8px 30px #00000014}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.select-all{-webkit-user-select:all;user-select:all}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:bg-primary\/5:hover{background-color:#af101a0d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/5:hover{background-color:color-mix(in oklab,var(--color-primary) 5%,transparent)}}.hover\:bg-surface-container-low:hover{background-color:var(--color-surface-container-low)}.hover\:bg-zinc-50:hover{background-color:var(--color-zinc-50)}.hover\:bg-zinc-50\/50:hover{background-color:#fafafa80}@supports (color:color-mix(in lab,red,red)){.hover\:bg-zinc-50\/50:hover{background-color:color-mix(in oklab,var(--color-zinc-50) 50%,transparent)}}.hover\:text-primary\/70:hover{color:#af101ab3}@supports (color:color-mix(in lab,red,red)){.hover\:text-primary\/70:hover{color:color-mix(in oklab,var(--color-primary) 70%,transparent)}}}.focus\:ring-primary:focus{--tw-ring-color:var(--color-primary)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}@media (min-width:40rem){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:block{display:block}.sm\:hidden{display:none}.sm\:w-36{width:calc(var(--spacing) * 36)}.sm\:w-64{width:calc(var(--spacing) * 64)}.sm\:max-w-md{max-width:var(--container-md)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:items-end{align-items:flex-end}.sm\:gap-3{gap:calc(var(--spacing) * 3)}.sm\:p-4{padding:calc(var(--spacing) * 4)}.sm\:pt-0{padding-top:calc(var(--spacing) * 0)}}@media (min-width:48rem){.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:flex-1{flex:1}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-\[minmax\(0\,1fr\)_auto_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.md\:items-stretch{align-items:stretch}}@media (min-width:64rem){.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[1\.25fr_0\.75fr\]{grid-template-columns:1.25fr .75fr}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}}}.performance-page{gap:var(--s-6);box-sizing:border-box;width:100%;max-width:1280px;margin:0 auto;display:grid}.semesters-summary-strip{background:var(--surface-high);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.semesters-summary-item{background:var(--surface-container-lowest);gap:4px;min-width:0;padding:12px 16px;display:grid}.semesters-summary-item .t-body-sm{color:var(--secondary)}.semesters-summary-item strong{color:var(--on-surface);text-overflow:ellipsis;white-space:nowrap;font-size:16px;overflow:hidden}@media (max-width:768px){.semesters-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}.semester-picker{min-width:242px;position:relative}.report-section{border:1px solid var(--outline-variant);background:var(--surface-container-lowest);box-shadow:var(--shadow-1)}.report-inline-loading{color:var(--secondary);align-items:center;gap:8px;font-size:13px;display:inline-flex}.report-inline-loading-spinner{border:2px solid var(--surface-high);border-top-color:var(--primary);border-radius:50%;width:14px;height:14px;animation:.7s linear infinite reportSpin}@keyframes reportSpin{to{transform:rotate(360deg)}}.report-error-card{border-color:var(--danger);gap:8px;display:grid}@supports (color:color-mix(in lab,red,red)){.report-error-card{border-color:color-mix(in srgb,var(--danger) 35%,var(--outline-variant))}}.report-error-card{background:var(--danger-bg-subtle)}.exam-job-status{border:1px solid var(--outline-variant);background:var(--surface-container-low);border-radius:10px;gap:6px;padding:12px 14px;display:grid}.exam-job-status-error{border-color:var(--danger)}@supports (color:color-mix(in lab,red,red)){.exam-job-status-error{border-color:color-mix(in srgb,var(--danger) 35%,var(--outline-variant))}}.exam-job-status-error{background:var(--danger-bg-subtle)}.exam-job-status-success{border-color:var(--success)}@supports (color:color-mix(in lab,red,red)){.exam-job-status-success{border-color:color-mix(in srgb,var(--success) 35%,var(--outline-variant))}}.exam-job-status-success{background:var(--success)}@supports (color:color-mix(in lab,red,red)){.exam-job-status-success{background:color-mix(in srgb,var(--success) 8%,var(--surface-container-low))}}.exam-job-status-progress{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.exam-job-status-progress{border-color:color-mix(in srgb,var(--primary) 25%,var(--outline-variant))}}.semester-picker-trigger{align-items:center;gap:var(--s-3);border:1px solid var(--border-soft);border-radius:var(--r-lg);background:var(--surface-lowest);width:100%;min-height:52px;color:var(--on-surface);box-shadow:var(--shadow-1);text-align:left;cursor:pointer;grid-template-columns:36px 1fr auto;padding:6px 10px 6px 8px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.semester-picker-trigger:hover{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.semester-picker-trigger:hover{border-color:color-mix(in srgb,var(--primary) 32%,var(--border-soft))}}.semester-picker-trigger:hover{box-shadow:var(--shadow-2);transform:translateY(-1px)}.semester-picker-trigger:focus-visible{outline:3px solid var(--primary)}@supports (color:color-mix(in lab,red,red)){.semester-picker-trigger:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 24%,transparent)}}.semester-picker-trigger:focus-visible{outline-offset:2px;border-color:var(--primary)}.semester-picker-icon{background:var(--primary-fixed);width:36px;height:36px;color:var(--primary);border-radius:10px;place-items:center;display:grid}.semester-picker-copy{gap:1px;min-width:0;display:grid}.semester-picker-copy small{color:var(--secondary);letter-spacing:.045em;text-transform:uppercase;font-size:.65rem;font-weight:600}.semester-picker-copy strong{color:var(--on-surface);text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;font-weight:650;overflow:hidden}.semester-picker-chevron{color:var(--secondary);transition:transform .16s}.semester-picker.is-open .semester-picker-trigger{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.semester-picker.is-open .semester-picker-trigger{border-color:color-mix(in srgb,var(--primary) 48%,var(--border-soft))}}.semester-picker.is-open .semester-picker-trigger{box-shadow:var(--shadow-2)}.semester-picker.is-open .semester-picker-chevron{transform:rotate(180deg)}.semester-picker-popover{z-index:60;border:1px solid var(--primary);width:min(350px,100vw - 32px);position:absolute;top:calc(100% + 10px);right:0;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.semester-picker-popover{border:1px solid color-mix(in srgb,var(--primary) 14%,var(--border-soft))}}.semester-picker-popover{border-radius:var(--r-xl);background:var(--surface-lowest);box-shadow:var(--shadow-3);transform-origin:100% 0;animation:.16s ease-out semester-picker-enter}.semester-picker-popover-head{justify-content:space-between;align-items:baseline;gap:var(--s-3);padding:var(--s-4);border-bottom:1px solid var(--row-sep);background:linear-gradient(135deg,var(--primary-fixed),var(--surface-lowest));display:flex}@supports (color:color-mix(in lab,red,red)){.semester-picker-popover-head{background:linear-gradient(135deg,color-mix(in srgb,var(--primary-fixed) 48%,var(--surface-lowest)),var(--surface-lowest))}}.semester-picker-popover-head span{color:var(--on-surface);font-size:.83rem;font-weight:700}.semester-picker-popover-head small{color:var(--secondary);white-space:nowrap;font-size:.68rem}.semester-picker-options{max-height:320px;padding:var(--s-2);scrollbar-width:thin;scrollbar-color:var(--surface-highest) transparent;overflow-y:auto}.semester-picker-option{align-items:center;gap:var(--s-3);border-radius:var(--r-lg);width:100%;min-height:58px;color:var(--on-surface);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:3px minmax(0,1fr) auto 22px;padding:8px 10px 8px 8px;transition:background-color .15s,transform .15s;display:grid;position:relative}.semester-picker-option:hover{background:var(--surface-low)}.semester-picker-option:focus-visible{outline:2px solid var(--primary);outline-offset:-2px;background:var(--surface-low)}.semester-picker-option.is-selected{background:var(--primary-fixed)}@supports (color:color-mix(in lab,red,red)){.semester-picker-option.is-selected{background:color-mix(in srgb,var(--primary-fixed) 42%,var(--surface-lowest))}}.semester-picker-option-marker{background:0 0;border-radius:999px;width:3px;height:28px}.semester-picker-option.is-selected .semester-picker-option-marker{background:var(--primary)}.semester-picker-option-copy{gap:2px;min-width:0;display:grid}.semester-picker-option-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:650;overflow:hidden}.semester-picker-option-copy small,.semester-picker-option-value small{color:var(--secondary);font-size:.68rem}.semester-picker-option-value{color:var(--on-surface);font-variant-numeric:tabular-nums;justify-items:end;gap:1px;font-size:.78rem;font-weight:700;display:grid}.semester-picker-option-value small{letter-spacing:.05em;font-size:.56rem;font-weight:650}.semester-picker-check{color:#0000;place-items:center;display:grid}.semester-picker-option.is-selected .semester-picker-check{color:var(--primary)}@keyframes semester-picker-enter{0%{opacity:0;transform:translateY(-5px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.performance-notice{align-items:flex-start;gap:var(--s-2);padding:var(--s-3) var(--s-4);border:1px solid var(--info);display:flex}@supports (color:color-mix(in lab,red,red)){.performance-notice{border:1px solid color-mix(in srgb,var(--info) 28%,transparent)}}.performance-notice{border-radius:var(--r-lg);background:var(--info-bg);color:var(--on-surface);box-sizing:border-box;width:100%}.performance-notice.warning{border-color:var(--warning)}@supports (color:color-mix(in lab,red,red)){.performance-notice.warning{border-color:color-mix(in srgb,var(--warning) 28%,transparent)}}.performance-notice.warning{background:var(--warning-bg)}.performance-kpi-grid{gap:var(--s-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.performance-kpi{min-height:168px;padding:var(--s-5);border:1px solid var(--border-soft);border-radius:var(--r-xl);background:var(--surface-lowest);box-shadow:var(--shadow-1);flex-direction:column;align-items:flex-start;display:flex}.performance-kpi-icon{width:44px;height:44px;margin-bottom:var(--s-4);border-radius:var(--r-lg);place-items:center;display:grid}.performance-kpi-icon.tone-red{color:var(--primary);background:var(--primary-fixed)}.performance-kpi-icon.tone-green{color:var(--success);background:var(--success-bg)}.performance-kpi-icon.tone-purple{color:#7651c7;background:#f0e8ff}.performance-kpi-icon.tone-blue{color:var(--info);background:var(--info-bg)}.performance-kpi-label,.performance-kpi-hint{color:var(--secondary);font-size:.82rem}.performance-kpi strong{margin:var(--s-1) 0;color:var(--on-surface);font-variant-numeric:tabular-nums;font-size:1.55rem;line-height:1.2}.performance-panel{border:1px solid var(--border-soft);border-radius:var(--r-xl);background:var(--surface-lowest);box-shadow:var(--shadow-1);overflow:hidden}.performance-panel>header{justify-content:space-between;align-items:flex-start;gap:var(--s-4);padding:var(--s-5) var(--s-5) 0;display:flex}.performance-panel>header h2{color:var(--on-surface);margin:0;font-size:1.1rem}.performance-panel>header p{margin:var(--s-1) 0 0;color:var(--secondary);font-size:.84rem}.performance-metric-chip{padding:var(--s-2) var(--s-3);border:1px solid var(--border-soft);border-radius:var(--r-lg);color:var(--secondary);white-space:nowrap;font-size:.78rem}.performance-chart-shell{padding:var(--s-3) var(--s-4) var(--s-2);overflow-x:auto}.performance-chart{width:100%;min-width:650px;height:auto;overflow:visible}.performance-gridline{stroke:var(--row-sep);stroke-width:1px}.performance-line{fill:none;stroke:var(--primary);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.performance-point{fill:var(--surface-lowest);stroke:var(--primary);stroke-width:2.5px}.performance-point-halo{fill:var(--primary-fixed);stroke:none}.performance-axis-label{fill:var(--secondary);font:11px var(--font-sans)}.performance-value-label{fill:var(--on-surface);font:600 11px var(--font-sans);font-variant-numeric:tabular-nums}.performance-term-label{font-size:10px}.performance-table-wrap{margin:var(--s-4);border:1px solid var(--border-soft);border-radius:var(--r-lg);overflow:hidden}.performance-table{border-collapse:collapse;width:100%;font-size:.82rem}.performance-table th{padding:var(--s-3);background:var(--surface-low);color:var(--secondary);text-align:left;text-transform:uppercase;letter-spacing:.035em;font-size:.7rem}.performance-table td{padding:var(--s-3);border-top:1px solid var(--row-sep);color:var(--on-surface);vertical-align:middle}.performance-table td small,.performance-semester-card small{color:var(--secondary);margin-top:2px;display:block}.performance-table .numeric{font-variant-numeric:tabular-nums}.semester-name{align-items:center;gap:var(--s-2);font-weight:600;display:flex}.semester-dot{background:var(--secondary);border-radius:50%;flex:none;width:10px;height:10px}.direction-up{color:var(--success)}.direction-down{color:var(--error)}.direction-flat,.direction-unavailable{color:var(--secondary)}.semester-dot.direction-up{background:var(--success)}.semester-dot.direction-down{background:var(--error)}.pass-rate{--pass-rate:0deg;background:radial-gradient(circle,var(--surface-lowest) 58%,transparent 60%),conic-gradient(var(--success) var(--pass-rate),var(--surface-high) 0);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;width:38px;height:38px;font-size:.65rem;font-weight:700;display:inline-grid}.trend-mark{align-items:center;display:inline-flex}.status-up{color:var(--success)!important}.status-down{color:var(--error)!important}.performance-semester-cards{display:none}.performance-insights{gap:var(--s-4);padding:var(--s-4) var(--s-5) var(--s-5);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.insight{gap:var(--s-3);min-height:120px;padding:var(--s-4);border:1px solid var(--border-soft);border-radius:var(--r-lg);display:flex}.insight>span{border-radius:50%;flex:none;place-items:center;width:42px;height:42px;display:grid}.insight strong{color:var(--on-surface);font-size:.86rem}.insight p{margin:var(--s-1) 0 0;color:var(--secondary);font-size:.78rem;line-height:1.5}.insight b{color:var(--on-surface)}.insight-green{background:linear-gradient(135deg,var(--success-bg),var(--surface-lowest))}.insight-green>span{color:var(--success);background:var(--success-bg)}@supports (color:color-mix(in lab,red,red)){.insight-green>span{background:color-mix(in srgb,var(--success-bg) 68%,white)}}.insight-gold{background:linear-gradient(135deg,var(--warning-bg),var(--surface-lowest))}.insight-gold>span{color:var(--warning);background:#fff3d5}.insight-blue{background:linear-gradient(135deg,var(--info-bg),var(--surface-lowest))}.insight-blue>span{color:var(--info);background:#dbe8ff}.performance-footnote{align-items:center;gap:var(--s-2);color:var(--secondary);margin:-8px 0 0;font-size:.78rem;display:flex}.performance-empty,.performance-state{box-sizing:border-box;justify-content:center;align-items:center;gap:var(--s-3);width:100%;min-height:180px;padding:var(--s-6);color:var(--secondary);text-align:center;flex-direction:column;display:flex}.performance-state{box-sizing:border-box;border:1px dashed var(--border-soft);border-radius:var(--r-xl);background:var(--surface-lowest);width:100%;min-height:260px}.performance-skeleton{background:var(--surface-low);position:relative;overflow:hidden}.performance-skeleton:after{content:"";background:linear-gradient(90deg,#0000,#ffffffa6,#0000);animation:1.4s infinite performance-shimmer;position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%)}.performance-skeleton-large{min-height:330px}@keyframes performance-shimmer{to{transform:translate(100%)}}@keyframes background-job-progress-shimmer{0%{transform:translate(-180%)}to{transform:translate(320%)}}@media (max-width:960px){.performance-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.performance-insights{grid-template-columns:1fr}}@media (max-width:640px){.performance-page{gap:var(--s-4)}.performance-page .page-head{align-items:stretch}.performance-page .page-head .actions,.semester-picker{width:100%}.semester-picker-popover{transform-origin:0 0;width:100%;left:0;right:auto}.performance-kpi-grid{gap:var(--s-3);grid-template-columns:1fr}.performance-kpi{min-height:140px;padding:var(--s-4)}.performance-kpi-icon{margin-bottom:var(--s-3)}.performance-panel>header{padding:var(--s-4) var(--s-4) 0}.performance-metric-chip,.performance-table-wrap{display:none}.performance-semester-cards{gap:var(--s-3);padding:var(--s-4);display:grid}.performance-semester-card{padding:var(--s-4);border:1px solid var(--border-soft);border-radius:var(--r-lg);background:var(--surface-lowest)}.performance-semester-card dl{gap:var(--s-3);margin:var(--s-4) 0;grid-template-columns:repeat(2,1fr);display:grid}.performance-semester-card dl div{gap:2px;display:grid}.performance-semester-card dt{color:var(--secondary);font-size:.7rem}.performance-semester-card dd{color:var(--on-surface);font-variant-numeric:tabular-nums;margin:0;font-weight:700}.semester-card-trend{align-items:center;gap:var(--s-1);font-size:.75rem;font-weight:600;display:inline-flex}.performance-insights{padding:var(--s-4)}}@media (prefers-reduced-motion:reduce){.performance-skeleton:after,.semester-picker-popover{animation:none}.semester-picker-trigger,.semester-picker-chevron,.semester-picker-option{transition:none}}.system-admin-page{gap:var(--s-6);width:100%;max-width:1440px;margin:0 auto;display:grid}.system-admin-brief{justify-content:space-between;align-items:center;gap:var(--s-6);border-left:5px solid var(--primary);background:linear-gradient(100deg,var(--surface-lowest),var(--primary-fixed));display:flex}@supports (color:color-mix(in lab,red,red)){.system-admin-brief{background:linear-gradient(100deg,var(--surface-lowest),color-mix(in srgb,var(--primary-fixed) 18%,var(--surface-lowest)))}}.system-admin-brief-copy{gap:8px;display:grid}.system-admin-brief h2,.system-admin-section-title{color:var(--on-surface);margin:0;font-size:1.2rem}.system-admin-brief p,.system-admin-section-subtitle{color:var(--secondary);margin:0;font-size:.84rem;line-height:1.55}.system-admin-brief-status{min-width:220px;color:var(--on-surface);gap:10px;font-size:.82rem;display:grid}.system-admin-brief-status>div{justify-content:space-between;align-items:center;gap:16px;display:flex}.system-admin-brief-status>div>span{color:var(--secondary)}.system-admin-two-column{gap:var(--s-6);grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);display:grid}.system-admin-section-subtitle{margin-top:4px}.system-admin-issue-list,.system-admin-activity-list{gap:2px;display:grid}.system-admin-issue,.system-admin-activity-row{border-bottom:1px solid var(--row-sep);min-height:68px;color:inherit;grid-template-columns:6px minmax(0,1fr) auto;align-items:center;gap:14px;padding:10px 0;text-decoration:none;display:grid}.system-admin-issue:last-child,.system-admin-activity-row:last-child{border-bottom:0}.system-admin-issue:hover strong,.system-admin-activity-row:hover strong,.system-admin-link-card:hover strong{color:var(--primary)}.system-admin-issue strong,.system-admin-activity-row strong,.system-admin-link-card strong{color:var(--on-surface);font-size:.88rem;display:block}.system-admin-issue small,.system-admin-activity-row small,.system-admin-link-card span,.table-subtext{color:var(--secondary);margin-top:4px;font-size:.76rem;line-height:1.4;display:block}.system-admin-issue b{color:var(--on-surface);font-variant-numeric:tabular-nums}.system-admin-issue-marker{background:var(--info);border-radius:99px;width:5px;height:34px}.system-admin-issue-marker.critical{background:var(--error)}.system-admin-issue-marker.warning{background:var(--warning)}.system-admin-issue-marker.info{background:var(--info)}.system-admin-activity-row{grid-template-columns:10px minmax(0,1fr) auto}.system-admin-activity-dot{background:var(--tertiary);width:9px;height:9px;box-shadow:0 0 0 4px var(--tertiary-fixed);border-radius:50%}.system-admin-link-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.system-admin-link-card{border:1px solid var(--border-soft);border-radius:var(--r-lg);min-height:110px;color:inherit;background:var(--surface-low);flex-direction:column;justify-content:space-between;padding:16px;text-decoration:none;transition:border-color .16s,background-color .16s;display:flex}.system-admin-link-card:hover{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.system-admin-link-card:hover{border-color:color-mix(in srgb,var(--primary) 35%,var(--border-soft))}}.system-admin-link-card:hover{background:var(--surface-lowest)}.system-admin-filter-card{padding:18px 20px}.system-admin-filter-grid{grid-template-columns:minmax(220px,1.6fr) repeat(2,minmax(170px,1fr));align-items:end;gap:16px;display:grid}.system-admin-filter-grid .field{margin:0}.system-admin-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:.75rem}.system-admin-reason,.system-admin-job-error{max-width:340px;color:var(--secondary);font-size:.78rem;line-height:1.45;display:block}.system-admin-job-error{color:var(--error)}.table-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.system-admin-empty,.system-admin-empty-inline{color:var(--secondary);place-items:center start;gap:8px;padding:28px 0;display:grid}.system-admin-empty h2,.system-admin-quality-item h2{color:var(--on-surface);margin:0;font-size:1rem}.system-admin-empty p{margin:0}.system-admin-empty-inline{min-height:80px;padding:0;display:flex}.system-admin-detail-card{gap:24px;display:grid}.system-admin-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0;display:grid}.system-admin-detail-grid div{gap:5px;min-width:0;display:grid}.system-admin-detail-grid .wide{grid-column:1/-1}.system-admin-detail-grid dt{color:var(--secondary);letter-spacing:.05em;text-transform:uppercase;font-size:.72rem}.system-admin-detail-grid dd{color:var(--on-surface);margin:0;font-size:.88rem;line-height:1.5}.system-admin-quality-intro{border-left:5px solid var(--tertiary)}.system-admin-quality-intro h2{color:var(--on-surface);margin:7px 0;font-size:1.1rem}.system-admin-quality-intro p{color:var(--secondary);margin:0;font-size:.84rem}.system-admin-quality-list{gap:16px;display:grid}.system-admin-quality-item{grid-template-columns:6px minmax(0,1fr);gap:18px;display:grid}.system-admin-quality-copy{gap:12px;display:grid}.system-admin-quality-copy h2{margin-top:4px}.system-admin-quality-copy p{color:var(--secondary);margin:0;font-size:.84rem}@media (max-width:1050px){.system-admin-link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.system-admin-filter-grid{grid-template-columns:1fr 1fr}.system-admin-filter-grid .field:first-child{grid-column:1/-1}}@media (max-width:760px){.system-admin-page{gap:var(--s-4)}.system-admin-brief,.system-admin-two-column{grid-template-columns:1fr;display:grid}.system-admin-brief-status{min-width:0}.system-admin-link-grid,.system-admin-filter-grid,.system-admin-detail-grid{grid-template-columns:1fr}.system-admin-filter-grid .field:first-child,.system-admin-detail-grid .wide{grid-column:auto}.system-admin-link-card{min-height:92px}}@media (prefers-reduced-motion:reduce){.system-admin-link-card{transition:none}}.proctor-schedule-public{background:radial-gradient(circle at 100% 0%,var(--primary-fixed),transparent 28rem),var(--surface);min-height:100dvh}@supports (color:color-mix(in lab,red,red)){.proctor-schedule-public{background:radial-gradient(circle at 100% 0%,color-mix(in srgb,var(--primary-fixed) 30%,transparent),transparent 28rem),var(--surface)}}.proctor-schedule-shell{width:min(1280px,100%);padding:max(var(--s-4),env(safe-area-inset-top)) max(var(--s-4),env(safe-area-inset-right)) max(var(--s-5),env(safe-area-inset-bottom)) max(var(--s-4),env(safe-area-inset-left));gap:var(--s-5);margin:0 auto;display:grid}.proctor-schedule-brandbar{align-items:center;gap:var(--s-3);min-height:48px;padding-bottom:var(--s-4);border-bottom:1px solid var(--border-soft);display:flex}.proctor-schedule-brandbar img{object-fit:contain;width:38px;height:38px}.proctor-schedule-brandbar>div{flex:1;gap:1px;min-width:0;display:grid}.proctor-schedule-brandbar strong{color:var(--on-surface);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.proctor-schedule-brandbar .btn{min-height:44px}.proctor-schedule-search-card{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.proctor-schedule-search-card{border-color:color-mix(in srgb,var(--primary) 16%,var(--border-soft))}}.proctor-schedule-search-card{background:linear-gradient(135deg,var(--primary-fixed),white 54%)}@supports (color:color-mix(in lab,red,red)){.proctor-schedule-search-card{background:linear-gradient(135deg,color-mix(in srgb,var(--primary-fixed) 28%,white),#fff 54%)}}.proctor-schedule-search-card{box-shadow:var(--shadow-2)}.proctor-schedule-search-head{justify-content:space-between;align-items:flex-start;gap:var(--s-4);display:flex}.proctor-schedule-search-head h2{letter-spacing:-.02em;font-size:clamp(1.2rem,3vw,1.55rem)}.proctor-schedule-search-head p{max-width:55ch;color:var(--secondary);margin-top:6px;font-size:.88rem;line-height:1.5}.proctor-schedule-live{border:1px solid var(--success);flex:none;align-items:center;gap:7px;padding:7px 10px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.proctor-schedule-live{border:1px solid color-mix(in srgb,var(--success) 25%,var(--border-soft))}}.proctor-schedule-live{border-radius:var(--r-full);background:var(--success-bg);color:var(--success);white-space:nowrap;font-size:.72rem;font-weight:700}.proctor-schedule-live-dot{background:var(--success);width:7px;height:7px;box-shadow:0 0 0 3px var(--success);border-radius:50%}@supports (color:color-mix(in lab,red,red)){.proctor-schedule-live-dot{box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 17%,transparent)}}.proctor-schedule-search-row{align-items:flex-end;gap:var(--s-3);margin-top:var(--s-5);display:flex}.proctor-schedule-search-row .field{flex:1}.proctor-schedule-search-row .btn{white-space:nowrap;min-height:44px}.proctor-schedule-search-row:has(.field:only-child){display:block}.proctor-schedule-suggestions{margin-top:var(--s-2);padding:var(--s-2);border:1px solid var(--border-soft);border-radius:var(--r-lg);background:var(--surface-lowest);box-shadow:var(--shadow-1);gap:4px;display:grid}.proctor-schedule-suggestions button{min-height:44px;padding:0 var(--s-3);border-radius:var(--r-md);color:var(--on-surface);text-align:left;justify-content:space-between;align-items:center;font-size:.9rem;display:flex}.proctor-schedule-suggestions button:hover,.proctor-schedule-suggestions button:focus-visible{background:var(--surface-low);color:var(--primary)}.proctor-schedule-meta{justify-content:center;align-items:center;gap:var(--s-2);color:var(--secondary);text-align:center;flex-wrap:wrap;font-size:.78rem;display:flex}.proctor-schedule-notes{border-left:3px solid var(--warning);background:var(--warning-bg)}.proctor-schedule-notes ul{gap:var(--s-2);margin:var(--s-3) 0 0;padding-inline-start:1.25rem;display:grid}.proctor-schedule-notes li{color:var(--on-surface);font-size:.88rem;line-height:1.6}.proctor-schedule-notes li:lang(ar){text-align:right;direction:rtl}.proctor-schedule-controls{justify-content:flex-end;align-items:center;gap:var(--s-2);color:var(--secondary);font-size:.82rem;display:flex}.proctor-schedule-filter{align-items:center;gap:var(--s-2);display:flex}.proctor-schedule-filter label{font-weight:650}.proctor-schedule-filter-menu{min-width:190px;position:relative}.proctor-schedule-filter-trigger{justify-content:space-between;align-items:center;gap:var(--s-3);border:1px solid var(--border-soft);border-radius:var(--r-lg);background:var(--surface-lowest);width:100%;min-height:48px;color:var(--on-surface);font:inherit;cursor:pointer;padding:0 14px;transition:border-color .2s,box-shadow .2s;display:flex}.proctor-schedule-filter-trigger:hover{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.proctor-schedule-filter-trigger:hover{border-color:color-mix(in srgb,var(--primary) 40%,var(--border-soft))}}.proctor-schedule-filter-trigger:focus-visible{outline:3px solid var(--primary)}@supports (color:color-mix(in lab,red,red)){.proctor-schedule-filter-trigger:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 22%,transparent)}}.proctor-schedule-filter-trigger:focus-visible{outline-offset:2px;border-color:var(--primary)}.proctor-schedule-filter-options{z-index:20;border:1px solid var(--border-soft);border-radius:var(--r-lg);background:var(--surface-lowest);box-shadow:var(--shadow-2);gap:3px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0}.proctor-schedule-filter-options button{border-radius:var(--r-md);min-height:44px;color:var(--on-surface);font:inherit;text-align:left;cursor:pointer;justify-content:space-between;align-items:center;padding:0 10px;display:flex}.proctor-schedule-filter-options button:hover,.proctor-schedule-filter-options button:focus-visible,.proctor-schedule-filter-options button.is-selected{background:var(--surface-low);color:var(--primary)}.proctor-schedule-controls .btn{white-space:nowrap;min-height:44px}.proctor-schedule-results{gap:var(--s-5);display:grid}.proctor-schedule-day{border:1px solid var(--border-soft);border-radius:var(--r-xl);background:var(--surface-lowest);box-shadow:var(--shadow-1);overflow:hidden}.proctor-schedule-day-head{justify-content:space-between;align-items:center;gap:var(--s-4);padding:var(--s-4);border-bottom:1px solid var(--row-sep);background:linear-gradient(90deg,var(--primary-fixed),white);display:flex}@supports (color:color-mix(in lab,red,red)){.proctor-schedule-day-head{background:linear-gradient(90deg,color-mix(in srgb,var(--primary-fixed) 25%,white),#fff)}}.proctor-schedule-day-head h2{letter-spacing:-.02em;margin-top:3px;font-size:1.15rem}.proctor-schedule-day-head>span{border-radius:var(--r-full);background:var(--surface-low);color:var(--secondary);font-family:var(--font-mono);padding:7px 10px;font-size:.7rem;font-weight:600}.proctor-schedule-table-wrap{display:none;overflow-x:auto}.proctor-schedule-table{border-collapse:collapse;width:100%;min-width:760px;font-size:.84rem}.proctor-schedule-table th{background:var(--surface-low);color:var(--secondary);font-family:var(--font-mono);letter-spacing:.04em;text-align:left;text-transform:uppercase;padding:12px 14px;font-size:.66rem;font-weight:600}.proctor-schedule-table td{border-top:1px solid var(--row-sep);color:var(--on-surface);vertical-align:top;padding:14px;line-height:1.45}.proctor-schedule-table td small{color:var(--secondary);margin-top:3px;font-size:.72rem;display:block}.proctor-schedule-table tr.proctor-schedule-row--past{opacity:.62}.proctor-schedule-table tr.proctor-schedule-row--today td:first-child{border-left:3px solid var(--warning)}.proctor-schedule-table tr.proctor-schedule-row--future td:first-child{border-left:3px solid var(--primary)}.proctor-schedule-mobile-cards{gap:var(--s-3);padding:var(--s-3);display:grid}.proctor-schedule-assignment{padding:var(--s-4);border:1px solid var(--border-soft);border-left:3px solid var(--primary);border-radius:var(--r-lg);background:var(--surface-lowest)}.proctor-schedule-assignment--today{border-left-color:var(--warning)}.proctor-schedule-assignment--past{border-left-color:var(--secondary);opacity:.68}.proctor-schedule-assignment-head{justify-content:space-between;align-items:flex-start;gap:var(--s-3);display:flex}.proctor-schedule-assignment-head h3{margin-top:3px;font-size:1rem}.proctor-schedule-status{border-radius:var(--r-full);white-space:nowrap;align-items:center;min-height:26px;padding:3px 9px;font-size:.68rem;font-weight:700;display:inline-flex}.proctor-schedule-status--future{background:var(--primary-fixed);color:var(--primary-strong)}.proctor-schedule-status--today{background:var(--warning-bg);color:var(--warning)}.proctor-schedule-status--past{background:var(--surface-high);color:var(--secondary)}.proctor-schedule-details{gap:var(--s-3);margin-top:var(--s-4);padding-top:var(--s-3);border-top:1px solid var(--row-sep);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.proctor-schedule-detail{gap:2px;min-width:0;display:grid}.proctor-schedule-detail span,.proctor-schedule-proctors>span{color:var(--secondary);font-size:.68rem}.proctor-schedule-detail strong{overflow-wrap:anywhere;font-size:.84rem;line-height:1.35}.proctor-schedule-proctors{margin-top:var(--s-4);padding-top:var(--s-3);border-top:1px solid var(--row-sep);gap:3px;display:grid}.proctor-schedule-proctors strong{font-size:.84rem;line-height:1.45}.proctor-schedule-subhalls{margin-top:var(--s-3);color:var(--secondary);gap:4px;font-size:.76rem;line-height:1.4;display:grid}.proctor-schedule-committee-list{gap:8px;display:grid}.proctor-schedule-committee{border-radius:var(--r-md);background:var(--surface-low);gap:2px;padding:8px 10px;display:grid}.proctor-schedule-committee span{color:var(--secondary);font-family:var(--font-arabic,inherit);font-size:.74rem;font-weight:700}.proctor-schedule-committee strong{font-size:.82rem}.proctor-schedule-state{justify-items:center;gap:var(--s-2);min-height:260px;padding:var(--s-8) var(--s-5);border:1px dashed var(--border-soft);border-radius:var(--r-xl);background:var(--surface-lowest);color:var(--secondary);text-align:center;display:grid}.proctor-schedule-state strong{color:var(--on-surface);font-size:1rem}.proctor-schedule-state span{max-width:46ch;font-size:.86rem;line-height:1.5}.proctor-schedule-state--error{border-color:var(--error)}@supports (color:color-mix(in lab,red,red)){.proctor-schedule-state--error{border-color:color-mix(in srgb,var(--error) 30%,var(--border-soft))}}.proctor-schedule-state--error{background:var(--error-bg)}.proctor-schedule-state--error svg{color:var(--error)}.proctor-schedule-footer{justify-content:center;align-items:flex-start;gap:var(--s-2);padding:var(--s-2) 0 var(--s-4);color:var(--secondary);text-align:center;font-size:.75rem;line-height:1.45;display:flex}@media (min-width:720px){.proctor-schedule-shell{padding:var(--s-8) var(--s-6)}.proctor-schedule-brandbar{padding-bottom:var(--s-5)}.proctor-schedule-mobile-cards{display:none}.proctor-schedule-table-wrap{display:block}.proctor-schedule-day-head{padding:var(--s-5) var(--s-6)}}@media (max-width:560px){.proctor-schedule-shell{gap:var(--s-4)}.proctor-schedule-brandbar{gap:var(--s-2)}.proctor-schedule-brandbar img{width:34px;height:34px}.proctor-schedule-brandbar strong{font-size:.82rem}.proctor-schedule-brandbar .btn{padding-inline:10px}.proctor-schedule-search-head{display:grid}.proctor-schedule-live{justify-self:start}.proctor-schedule-search-row{grid-template-columns:1fr auto;align-items:stretch;display:grid}.proctor-schedule-search-row .field{grid-column:1/-1}.proctor-schedule-search-row .btn{width:100%}.proctor-schedule-controls{flex-wrap:wrap;justify-content:stretch;align-items:stretch}.proctor-schedule-filter{flex:100%;justify-content:space-between}.proctor-schedule-filter-menu{flex:1}.proctor-schedule-controls .btn{flex:100%}.proctor-schedule-day-head{padding:var(--s-3) var(--s-4)}.proctor-schedule-mobile-cards{padding:var(--s-2)}.proctor-schedule-assignment{padding:var(--s-3)}.proctor-schedule-details{gap:var(--s-2);margin-top:var(--s-3);padding-top:var(--s-2)}.proctor-schedule-proctors{margin-top:var(--s-3);padding-top:var(--s-2)}}@media (prefers-reduced-motion:reduce){.proctor-schedule-public *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.exam-page{isolation:isolate;flex-direction:column;align-items:stretch;gap:28px;display:flex;position:relative}.exam-page:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(circle at 20% 20%,#af101a14,#0000 68%);width:min(560px,80vw);height:220px;position:absolute;top:-28px;left:-32px}.exam-page .page-head{align-items:flex-end;padding:4px 2px 6px}.exam-page .page-head h1{letter-spacing:-.035em;font-size:clamp(28px,2.6vw,36px)}.exam-page .page-head .sub{max-width:62ch;margin-top:6px;line-height:1.55}.exam-page .page-head .actions .btn{min-height:44px;box-shadow:0 8px 18px #af101a1a}.exam-context-card{border-color:var(--primary);position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.exam-context-card{border-color:color-mix(in srgb,var(--primary) 15%,var(--border-soft))}}.exam-context-card{background:linear-gradient(110deg,var(--primary-fixed),white 42%,var(--tertiary-container))}@supports (color:color-mix(in lab,red,red)){.exam-context-card{background:linear-gradient(110deg,color-mix(in srgb,var(--primary-fixed) 30%,white),#fff 42%,color-mix(in srgb,var(--tertiary-container) 24%,white))}}.exam-context-card{box-shadow:0 10px 26px #191c1d0d}.exam-context-card:after{content:"";border:1px solid var(--primary);width:220px;height:180px;position:absolute;bottom:-86px;right:-72px}@supports (color:color-mix(in lab,red,red)){.exam-context-card:after{border:1px solid color-mix(in srgb,var(--primary) 14%,transparent)}}.exam-context-card:after{pointer-events:none;border-radius:50%}.exam-context-card .card-body{z-index:1;padding:18px 20px;position:relative}.exam-context-card .exam-context-bar{align-items:flex-end}.exam-context-card label,.exam-page .exam-toolbar label{color:var(--on-surface-variant)}.exam-context-card select,.exam-page .exam-toolbar select{border-color:var(--primary);min-height:46px}@supports (color:color-mix(in lab,red,red)){.exam-context-card select,.exam-page .exam-toolbar select{border-color:color-mix(in srgb,var(--primary) 15%,var(--border-soft))}}.exam-context-card select,.exam-page .exam-toolbar select{background:#ffffffd6}.exam-schedule-filters-layout{grid-template-columns:minmax(0,1.15fr) minmax(360px,.95fr);align-items:center;gap:28px;display:grid}.exam-schedule-filters{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.exam-schedule-filters label{color:var(--on-surface-variant)}.exam-schedule-filters select{border-color:var(--border-soft);background:var(--surface-lowest);min-height:42px}.exam-schedule-summary{border:1px solid var(--border-soft);border-radius:var(--r-lg);background:var(--surface-lowest);grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.exam-schedule-metric{border-left:1px solid var(--border-soft);grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;column-gap:10px;min-width:0;padding:14px 16px;display:grid}.exam-schedule-metric:first-child{border-left:0}.exam-schedule-metric-icon{background:var(--primary-fixed);width:34px;height:34px;color:var(--primary);border-radius:10px;grid-row:1/-1;place-items:center;display:grid}.exam-schedule-metric--venues .exam-schedule-metric-icon{background:var(--error-bg);color:var(--error)}.exam-schedule-metric--seated .exam-schedule-metric-icon{background:var(--tertiary-container);color:var(--tertiary)}.exam-schedule-metric--unseated .exam-schedule-metric-icon{background:var(--warning-bg);color:var(--warning)}.exam-schedule-metric-value{min-width:0;color:var(--on-surface);font-family:var(--font-mono);font-size:17px;font-weight:800;line-height:1.1}.exam-schedule-metric-label{min-width:0;color:var(--secondary);white-space:normal;font-size:10px;line-height:1.3;overflow:visible}.exam-schedule-panel-toolbar{border-bottom:1px solid var(--row-sep);justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding:0 4px;display:flex}.exam-schedule-panel-actions{align-items:stretch;gap:18px;min-width:0;display:inline-flex}.exam-schedule-view-switcher{background:0 0;border:0;border-radius:0;align-items:center;gap:24px;padding:0;display:inline-flex}.exam-schedule-view-switcher .btn{min-height:64px;box-shadow:none;color:var(--secondary);background:0 0;border:0;border-radius:0;padding:0 2px;font-size:13px;font-weight:600;position:relative}.exam-schedule-view-switcher .btn:hover,.exam-schedule-view-switcher .btn:focus-visible,.exam-schedule-view-switcher .btn.btn-primary{color:var(--primary);background:0 0}.exam-schedule-view-switcher .btn.btn-primary:after{content:"";background:var(--primary);height:2px;position:absolute;bottom:-1px;left:0;right:0}.exam-calendar-view-switcher{border:1px solid var(--border-soft);border-radius:var(--r-lg);background:var(--surface-lowest);align-items:center;gap:0;display:inline-flex;overflow:hidden}.exam-calendar-view-switcher .btn{border:0;border-left:1px solid var(--border-soft);min-width:72px;min-height:38px;box-shadow:none;border-radius:0}.exam-calendar-view-switcher .btn:first-child{border-left:0}.exam-calendar-view-switcher .btn.btn-primary{background:var(--primary);color:#fff}.exam-export-button{align-self:center;min-height:38px}.exam-schedule-panel,.exam-attendance-panel,.exam-progress-card,.exam-room-checklist-card,.exam-document-panel{border-color:#8f6f6c2e;box-shadow:0 12px 30px #191c1d0e}.exam-toolbar{border-bottom:1px solid var(--row-sep);padding-bottom:16px}.exam-toolbar>.row:first-child{border:1px solid var(--border-soft);border-radius:var(--r-lg);background:var(--surface-low);padding:4px}.exam-toolbar>.row:first-child .btn{min-height:38px}.exam-data-table{border:1px solid var(--border-soft);border-radius:var(--r-lg);background:var(--surface-lowest);overflow:hidden}.exam-data-table .table-toolbar{background:var(--surface-low);padding:12px}@supports (color:color-mix(in lab,red,red)){.exam-data-table .table-toolbar{background:color-mix(in srgb,var(--surface-low) 72%,white)}}.exam-data-table .table-toolbar .search{width:100%;max-width:none;min-height:42px;box-shadow:inset 0 0 0 1px var(--border-soft);background:#fff;border:1px solid #0000}.exam-data-table .table thead th{background:var(--surface-low);color:var(--on-surface-variant)}.exam-data-table .table tbody tr{transition:background-color .16s,box-shadow .16s}.exam-data-table .table tbody tr:hover td{background:var(--primary-fixed)}@supports (color:color-mix(in lab,red,red)){.exam-data-table .table tbody tr:hover td{background:color-mix(in srgb,var(--primary-fixed) 15%,white)}}.exam-data-table .table tbody td{padding-top:16px;padding-bottom:16px}.exam-course-cell{gap:3px;min-width:150px;display:grid}.exam-course-code,.exam-count-value,.exam-date-value,.exam-time-value{font-variant-numeric:tabular-nums}.exam-course-code{color:var(--on-surface);font-family:var(--font-mono);letter-spacing:.015em;font-size:13px;font-weight:700}.exam-course-name{color:var(--secondary);font-size:13px;line-height:1.35}.exam-date-value,.exam-time-value,.exam-count-value{color:var(--on-surface);font-family:var(--font-mono);font-size:13px;font-weight:600}.exam-type-badge{justify-content:center;min-width:62px}.exam-schedule-table .row-actions,.exam-attendance-table .row-actions{flex-wrap:wrap;justify-content:flex-end;gap:5px}.exam-schedule-table .table td:last-child{min-width:280px}.exam-row-actions{grid-template-columns:repeat(6,40px);width:100%;justify-content:stretch!important;display:grid!important}.exam-row-actions .btn{width:40px;height:40px;padding:9px}.exam-schedule-table .row-actions .btn,.exam-attendance-table .row-actions .btn{min-height:34px;padding-inline:10px}.exam-kpi-grid .kpi-grid{gap:14px}.exam-kpi-grid .kpi{min-height:126px;padding:18px 20px;position:relative;overflow:hidden}.exam-kpi-grid .kpi:after{content:"";border:1px solid var(--primary);width:92px;height:92px;position:absolute;bottom:-32px;right:-22px}@supports (color:color-mix(in lab,red,red)){.exam-kpi-grid .kpi:after{border:1px solid color-mix(in srgb,var(--primary) 10%,transparent)}}.exam-kpi-grid .kpi:after{border-radius:50%}.exam-kpi-grid .kpi:first-child .val{color:var(--success)}.exam-kpi-grid .kpi:nth-child(2) .val{color:var(--warning)}.exam-kpi-grid .kpi:nth-child(3) .val{color:var(--error)}.exam-kpi-grid .kpi:nth-child(4) .val{color:var(--tertiary)}.exam-attendance-status{align-items:center;gap:7px;font-size:13px;font-weight:650;display:inline-flex}.exam-status-dot{background:currentColor;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 3px}@supports (color:color-mix(in lab,red,red)){.exam-status-dot{box-shadow:0 0 0 3px color-mix(in srgb,currentColor 14%,transparent)}}.exam-attendance-status.is-present{color:var(--success)}.exam-attendance-status.is-absent{color:var(--warning)}.exam-attendance-status.is-cheating{color:var(--error)}.exam-progress-card .card-body,.exam-room-checklist-card .card-body,.exam-document-panel .card-body{padding:22px}.exam-progress-card .t-body-lg-strong,.exam-room-checklist-card .t-body-lg-strong{letter-spacing:-.01em}.exam-progress-overview{grid-template-columns:minmax(188px,220px) minmax(0,1fr);align-items:start;gap:24px;display:grid}.exam-progress-summary{border:1px solid var(--border-soft);border-radius:var(--r-lg);background:linear-gradient(145deg,var(--primary-fixed),white 72%);justify-items:center;gap:16px;padding:18px;display:grid}@supports (color:color-mix(in lab,red,red)){.exam-progress-summary{background:linear-gradient(145deg,color-mix(in srgb,var(--primary-fixed) 18%,white),#fff 72%)}}.exam-progress-section-head .t-caps,.exam-progress-tasks>.t-caps{color:var(--secondary)}.exam-progress-ring{justify-items:center;gap:10px;display:grid}.exam-progress-ring__visual{filter:drop-shadow(0 8px 16px #af101a1f);width:152px;height:152px;position:relative}.exam-progress-ring__visual svg{width:100%;height:100%;display:block}.exam-progress-ring__track,.exam-progress-ring__value{fill:none;stroke-width:10px}.exam-progress-ring__track{stroke:var(--primary-fixed)}@supports (color:color-mix(in lab,red,red)){.exam-progress-ring__track{stroke:color-mix(in srgb,var(--primary-fixed) 38%,var(--surface-high))}}.exam-progress-ring__value{stroke:var(--primary);stroke-linecap:round;transition:stroke-dasharray .52s}.exam-progress-ring__center{pointer-events:none;place-items:center;display:grid;position:absolute;top:0;right:0;bottom:0;left:0}.exam-progress-ring__percent{color:var(--on-surface);letter-spacing:-.04em;font-size:28px;font-weight:750;line-height:1}.exam-progress-ring__caption{color:var(--secondary);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700}.exam-progress-breakdown{gap:24px;min-width:0;display:grid}.exam-progress-section-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.exam-progress-section-hint{color:var(--secondary);margin-top:5px}.exam-progress-course-list,.exam-progress-task-grid{gap:10px;display:grid}.exam-progress-course-list{overscroll-behavior:contain;scrollbar-gutter:stable;height:360px;margin-top:12px;padding:2px 8px 2px 0;overflow-y:auto}.exam-progress-course-list::-webkit-scrollbar{width:10px}.exam-progress-course-list::-webkit-scrollbar-track{border-radius:var(--r-full);background:var(--surface-low)}.exam-progress-course-list::-webkit-scrollbar-thumb{border:3px solid var(--surface-low);border-radius:var(--r-full);background:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.exam-progress-course-list::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--secondary) 34%,white)}}.exam-progress-course-list::-webkit-scrollbar-thumb:hover{background:var(--primary)}@supports (color:color-mix(in lab,red,red)){.exam-progress-course-list::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--primary) 48%,white)}}.exam-progress-row{border:1px solid var(--border-soft);border-radius:var(--r-lg);background:var(--surface-low);min-width:0;padding:12px 14px}@supports (color:color-mix(in lab,red,red)){.exam-progress-row{background:color-mix(in srgb,var(--surface-low) 48%,white)}}.exam-progress-row .row{align-items:flex-start;gap:12px}.exam-progress-row .row>.t-body-sm-strong{overflow-wrap:anywhere;min-width:0}.exam-progress-row .progress{height:8px}.exam-progress-tasks{border-top:1px solid var(--row-sep);grid-column:1/-1;padding-top:22px}.exam-progress-task-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:12px}.exam-progress-card .space-y-6>.space-y-3{border:1px solid var(--border-soft);border-radius:var(--r-lg);background:var(--surface-low);padding:16px}@supports (color:color-mix(in lab,red,red)){.exam-progress-card .space-y-6>.space-y-3{background:color-mix(in srgb,var(--surface-low) 48%,white)}}.exam-progress-card .progress{border-radius:var(--r-full);background:var(--surface-high);height:9px}.exam-progress-card .progress>span{background:linear-gradient(90deg,var(--primary),var(--primary-container))}.exam-checklist-table input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary);cursor:pointer;transition:transform .14s,filter .14s}.exam-checklist-table input[type=checkbox]:active{transform:scale(.88)}.exam-checklist-table input[type=checkbox]:checked{animation:.18s ease-out exam-checklist-check}.exam-checklist-table input[type=checkbox]:disabled{cursor:wait;opacity:.65}@keyframes exam-checklist-check{0%{transform:scale(.86)}65%{transform:scale(1.08)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.exam-checklist-table input[type=checkbox]{transition:none}.exam-checklist-table input[type=checkbox]:checked{animation:none}}.exam-checklist-table .exam-checklist-col-head{flex-direction:column;align-items:center;gap:6px;display:flex}.exam-checklist-table .exam-checklist-col-head input[type=checkbox]{width:16px;height:16px}.exam-page .exam-checklist-table>.overflow-x-auto{overflow-x:hidden}.exam-page .exam-checklist-table .table{table-layout:fixed;min-width:0}.exam-page .exam-checklist-table .table thead th{text-align:center;vertical-align:bottom;white-space:normal;overflow-wrap:anywhere;text-wrap:balance;width:auto;padding:10px 5px;line-height:1.15}.exam-page .exam-checklist-table .table thead th:first-child,.exam-page .exam-checklist-table .table tbody td:first-child{text-align:center;width:56px}.exam-page .exam-checklist-table .table thead th:last-child,.exam-page .exam-checklist-table .table tbody td:last-child{width:80px}.exam-page .exam-checklist-table .table thead th:last-child{white-space:nowrap}.exam-page .exam-checklist-table .table tbody td{text-align:center;padding:14px 5px}.exam-page .exam-checklist-table .table tbody td:first-child{padding-left:5px}.exam-document-panel>.card-body>p{border-left:3px solid var(--primary);border-radius:0 var(--r-md) var(--r-md) 0;background:var(--primary-fixed);padding:12px 14px}@supports (color:color-mix(in lab,red,red)){.exam-document-panel>.card-body>p{background:color-mix(in srgb,var(--primary-fixed) 24%,white)}}.exam-document-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.exam-document-tile{border-color:var(--border-soft);background:linear-gradient(145deg,white,var(--surface-low));height:100%;min-height:194px}@supports (color:color-mix(in lab,red,red)){.exam-document-tile{background:linear-gradient(145deg,#fff,color-mix(in srgb,var(--surface-low) 60%,white))}}.exam-document-tile{transition:transform .18s,border-color .18s,box-shadow .18s}.exam-document-tile:hover{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.exam-document-tile:hover{border-color:color-mix(in srgb,var(--primary) 38%,var(--border-soft))}}.exam-document-tile:hover{transform:translateY(-2px);box-shadow:0 10px 24px #191c1d14}.exam-document-tile .card-body{flex-direction:column;height:100%;min-height:194px;display:flex}.exam-document-tile .card-body>.row{flex-wrap:nowrap;grid-template-columns:minmax(0,1fr) auto;align-items:flex-start;gap:8px;min-height:46px;display:grid}.exam-document-tile .card-body>p{height:63px;min-height:63px;max-height:63px;line-height:1.5;overflow:hidden;margin-top:12px!important}.exam-document-tile .card-body>div:last-child{padding-top:18px;margin-top:auto!important}.exam-document-tile .t-body-sm-strong{max-width:22ch;line-height:1.35}.exam-document-tile .badge{background:var(--tertiary-container);color:var(--on-tertiary-container);flex:none}.exam-document-tile .btn{min-height:38px}@media (max-width:820px){.exam-page .page-head h1{font-size:28px}.exam-progress-card .card-body,.exam-room-checklist-card .card-body,.exam-document-panel .card-body{padding:16px}.exam-progress-card .space-y-6>.space-y-3{padding:12px}.exam-progress-overview{grid-template-columns:1fr}}@media (max-width:640px){.exam-page{gap:20px}.exam-page:before{left:-16px}.exam-context-card .card-body{padding:14px}.exam-context-card .exam-context-bar{gap:12px}.exam-context-card .exam-context-bar>*{width:100%!important;min-width:0!important}.exam-toolbar{align-items:stretch}.exam-toolbar>.row{width:100%}.exam-toolbar>.row:last-child{grid-template-columns:1fr 1fr;display:grid}.exam-toolbar>.row:last-child>*{min-width:0!important}.exam-kpi-grid .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.exam-kpi-grid .kpi{min-height:112px;padding:14px}.exam-kpi-grid .kpi .val{font-size:26px}.exam-progress-card .card-body>.row{align-items:stretch}.exam-progress-section-head{flex-direction:column;align-items:stretch}.exam-progress-course-list{height:320px}.exam-document-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.exam-data-table .table tbody tr,.exam-document-tile,.exam-progress-ring__value{transition:none}}body{background-color:var(--color-background);font-family:Hanken Grotesk,sans-serif}html,body,#root{width:100%;min-height:100%;overflow-x:hidden}.material-symbols-outlined{letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;-webkit-font-smoothing:antialiased;direction:ltr;font-family:Material Symbols Outlined;font-style:normal;font-weight:400;line-height:1;display:inline-block}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#e2dfe0;border-radius:10px}:root{--surface:#f8f9fa;--surface-dim:#d9dadb;--surface-bright:#f8f9fa;--surface-lowest:#fff;--surface-low:#f3f4f5;--surface-container:#edeeef;--surface-high:#e7e8e9;--surface-highest:#e1e3e4;--on-surface:#191c1d;--on-surface-variant:#5b403d;--inverse-surface:#2e3132;--inverse-on-surface:#f0f1f2;--outline:#8f6f6c;--outline-variant:#e4beba;--border-soft:#e9ecef;--row-sep:#f1f3f5;--primary:#af101a;--primary-strong:#930010;--primary-container:#d32f2f;--on-primary:#fff;--on-primary-container:#fff2f0;--primary-fixed:#ffdad6;--primary-fixed-dim:#ffb3ac;--on-primary-fixed:#410003;--secondary:#5f5e5f;--secondary-container:#e2dfe0;--on-secondary:#fff;--tertiary:#3f5b69;--tertiary-container:#c9e7f7;--on-tertiary:#fff;--on-tertiary-container:#001f2a;--success:#1f8a5b;--success-bg:#e6f4ec;--warning:#b5651d;--warning-bg:#fdf2e3;--error:#ba1a1a;--error-bg:#ffdad6;--on-error-container:#93000a;--info:#2a6fdb;--info-bg:#e6efff;--font-sans:"Hanken Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--r-sm:.25rem;--r-md:.5rem;--r-lg:.75rem;--r-xl:1rem;--r-2xl:1.5rem;--r-full:9999px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;--shadow-1:0 4px 20px #0000000a;--shadow-2:0 8px 30px #00000014;--shadow-3:0 24px 60px #00000029}.ums{font-family:var(--font-sans);color:var(--on-surface);-webkit-font-smoothing:antialiased}.ums *,.ums :before,.ums :after{box-sizing:border-box;-webkit-tap-highlight-color:transparent}.ums{width:100%;min-height:100dvh;overflow-x:hidden}.ums button{cursor:pointer;-webkit-tap-highlight-color:transparent;font-family:inherit}.ums button:not(.btn){color:inherit;background:0 0;border:0;padding:0}.ums button:focus{outline:none}.ums button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.ums input,.ums textarea,.ums select{color:inherit;font-family:inherit}.ums h1,.ums h2,.ums h3,.ums h4,.ums p{margin:0}.ums ul{margin:0;padding:0;list-style:none}.ums a{color:var(--primary);text-decoration:none}.t-display{letter-spacing:-.02em;font-size:48px;font-weight:700;line-height:56px}.t-headline{letter-spacing:-.01em;font-size:32px;font-weight:600;line-height:40px}.t-headline-m{letter-spacing:-.01em;font-size:24px;font-weight:600;line-height:32px}.t-title{font-size:20px;font-weight:600;line-height:28px}.t-body{font-size:16px;font-weight:400;line-height:24px}.t-body-strong{font-size:16px;font-weight:600;line-height:24px}.t-body-sm{font-size:14px;font-weight:400;line-height:20px}.t-body-sm-strong{font-size:14px;font-weight:600;line-height:20px}.t-caps{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--on-surface-variant);font-size:12px;font-weight:500;line-height:16px}.t-mono{font-family:var(--font-mono);font-size:13px;font-weight:500}.t-data{font-size:14px;font-weight:500;line-height:18px}.t-muted{color:var(--secondary)}.frame{background:var(--surface);width:100%;height:100dvh;min-height:100dvh;display:flex;position:relative;overflow:hidden}.frame.scroll{overflow:auto}.sidebar{background:var(--surface-lowest);border-right:1px solid var(--border-soft);flex-direction:column;flex-shrink:0;width:260px;height:100%;min-height:0;padding:20px 14px 16px;transition:width .18s ease-out;overflow:hidden}.sidebar.sidebar-collapsed{width:68px}.sidebar-brand{border-bottom:1px solid var(--border-soft);align-items:center;gap:10px;margin-bottom:12px;padding:6px 8px 14px;display:flex}.sidebar-nav{overscroll-behavior:contain;overflow-anchor:none;flex-direction:column;flex:auto;gap:8px;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.sidebar-search{border:1px solid var(--border-soft);border-radius:var(--r-lg);min-height:40px;color:var(--secondary);background:var(--surface-low);align-items:center;gap:8px;margin:0 4px 12px;padding:0 10px;transition:border-color .16s,box-shadow .16s,background-color .16s;display:flex}.sidebar-search:focus-within{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.sidebar-search:focus-within{border-color:color-mix(in srgb,var(--primary) 36%,var(--border-soft))}}.sidebar-search:focus-within{background:var(--surface-lowest);box-shadow:0 0 0 3px var(--primary-fixed)}@supports (color:color-mix(in lab,red,red)){.sidebar-search:focus-within{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-fixed) 38%,transparent)}}.sidebar-search input{min-width:0;color:var(--on-surface);background:0 0;border:0;outline:0;flex:1;font-size:13px}.sidebar-search input::placeholder{color:var(--secondary);opacity:.75}.sidebar-search input::-webkit-search-cancel-button{display:none}.sidebar-search-clear{border-radius:var(--r-md);width:28px;height:28px;color:var(--secondary);flex:none;place-items:center;display:grid}.sidebar-search-clear:hover,.sidebar-search-clear:focus-visible{background:var(--surface-high);color:var(--on-surface)}.sidebar-search-empty{color:var(--secondary);text-align:center;padding:16px}.mobile-nav-search{margin:0}.brand-mark{object-fit:contain;flex-shrink:0;width:36px;height:36px}.brand-name{letter-spacing:-.01em;white-space:nowrap;font-size:15px;font-weight:700;overflow:hidden}.brand-tag{color:var(--secondary);font-size:11px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;overflow:hidden}.nav-section-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--secondary);white-space:nowrap;padding:14px 10px 6px;font-size:10.5px;font-weight:600;overflow:hidden}.ums .sidebar .nav-item{isolation:isolate;color:#4a5568;cursor:pointer;background-color:#0000;border-radius:0 12px 12px 0;justify-content:flex-start;align-items:center;gap:16px;width:100%;min-height:38px;padding:8px 16px 8px 20px;font-size:14px;font-weight:500;transition:background-color .2s,color .2s;display:flex;position:relative}.ums .sidebar .nav-item:hover{background:#af101a0b}.ums .sidebar .nav-item.active{color:#a6192e;background-color:#a6192e0d}.ums .sidebar .nav-item.active:before{content:"";z-index:0;pointer-events:none;background-color:#a6192e;border-top-left-radius:0;border-bottom-left-radius:0;width:5px;position:absolute;top:0;bottom:0;left:0}.ums .sidebar .nav-item.active:hover{background-color:#a6192e17}.ums .sidebar .nav-item>*{z-index:1;position:relative}.ums .sidebar .nav-item .ico{opacity:.78;color:currentColor;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.ums .sidebar .nav-item.active .ico{opacity:1}.ums .sidebar .nav-item>span:not(.ico){white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}.ums .sidebar .nav-item .nav-label{text-align:left;display:block}.sidebar-spacer{flex:1}.sidebar-foot{border-top:1px solid var(--border-soft);flex-direction:column;gap:4px;margin-top:10px;padding-top:10px;display:flex}.ums .sidebar .collapse-btn{width:100%;min-height:38px;color:var(--secondary);border-radius:0 12px 12px 0;justify-content:flex-start;align-items:center;gap:16px;padding:8px 16px 8px 20px;font-size:14px;font-weight:500;display:flex}.ums .sidebar .collapse-btn:hover{background:#af101a0b}.ums .sidebar .collapse-btn span{white-space:nowrap;text-overflow:ellipsis;text-align:left;flex:auto;min-width:0;overflow:hidden}.topbar{background:var(--surface-lowest);border-bottom:1px solid var(--border-soft);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;height:64px;padding:0 24px;display:flex;position:relative}.topbar-debug{background:var(--error);border-bottom-color:#7800003d}.topbar-center{pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.topbar-debug-label{border-radius:var(--r-full);min-height:28px;color:var(--error);letter-spacing:0;background:#fff;justify-content:center;align-items:center;padding:4px 16px;font-size:13px;font-weight:800;line-height:1;display:inline-flex}.topbar-left,.topbar-right{align-items:center;gap:16px;min-width:0;display:flex}.topbar-left{flex:none}.topbar-right{margin-left:auto}.topbar .topbar-menu-btn{display:none}.icon-btn{border-radius:var(--r-md);width:38px;height:38px;color:var(--secondary);justify-content:center;align-items:center;display:flex;position:relative}.icon-btn:hover{background:var(--surface-low)}.notif-dot{background:var(--primary);border-radius:var(--r-full);border:2px solid #fff;width:8px;height:8px;position:absolute;top:8px;right:9px}.notification-panel{width:min(360px,100vw - 24px);max-height:min(480px,100dvh - 96px)}.profile-chip{border-radius:var(--r-full);cursor:pointer;text-align:left;-webkit-user-select:none;user-select:none;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;width:40px;height:40px;padding:3px;transition:background-color .15s,border-color .15s,box-shadow .15s;display:flex;position:relative}button.profile-chip:hover,button.profile-chip:focus-visible{background:var(--surface-container-high,#0000000f);border-color:var(--outline-faint,#0000001a)}button.profile-chip:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.profile-chip .avatar{width:34px;height:34px}.profile-chip-indicator{border:2px solid var(--surface-lowest);border-radius:var(--r-full);width:17px;height:17px;color:var(--on-surface);background:var(--surface-high);place-items:center;display:grid;position:absolute;bottom:-1px;right:-1px;box-shadow:0 2px 6px #191c1d1f}.profile-chev{color:var(--secondary);margin-left:2px;transition:transform .2s}.profile-chev.open{transform:rotate(180deg)}.profile-menu-dropdown{background:var(--surface-container-lowest,#fff);border:1px solid var(--outline-variant,#0000001f);border-radius:var(--r-xl,16px);z-index:100;flex-direction:column;gap:4px;width:270px;padding:8px;animation:.15s cubic-bezier(.16,1,.3,1) profileMenuFadeIn;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 10px 30px #0000001f}@keyframes profileMenuFadeIn{0%{opacity:0;transform:translateY(-6px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.profile-menu-header{background:var(--surface-low);border-radius:var(--r-lg,12px);align-items:center;gap:12px;padding:10px 12px;display:flex}.profile-menu-header-meta{flex-direction:column;line-height:1.2;display:flex;overflow:hidden}.profile-menu-name{color:var(--on-surface);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.profile-menu-id{color:var(--on-surface-variant);font-size:11px;font-family:var(--font-mono);margin-top:2px}.profile-menu-role{color:var(--secondary);font-size:10px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;margin-top:2px;font-weight:600}.profile-menu-divider{background:var(--outline-variant,#00000014);height:1px;margin:4px 0}.profile-menu-item{border-radius:var(--r-md,8px);width:100%;color:var(--on-surface);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:9px 12px;font-size:13px;font-weight:500;display:flex}.profile-menu-item:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.profile-menu-item.danger,.profile-menu-item.danger:focus-visible{color:var(--error,#d93025)}.avatar{border-radius:var(--r-full);background:var(--tertiary);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;font-weight:600;display:flex}.avatar.lg{width:44px;height:44px;font-size:15px}.avatar.sm{width:26px;height:26px;font-size:10px}.avatar.red{background:var(--primary)}.avatar.slate{background:var(--secondary)}.avatar.green{background:var(--success)}.avatar.amber{background:var(--warning)}.profile-meta{flex-direction:column;line-height:1.1;display:flex}.profile-meta .nm{text-overflow:ellipsis;white-space:nowrap;max-width:190px;font-size:13px;font-weight:600;overflow:hidden}.profile-meta .rl{color:var(--secondary);font-size:11px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em}.main{background:var(--surface);flex-direction:column;flex:1;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.page{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex-direction:column;flex:auto;gap:24px;min-width:0;min-height:0;padding:28px 32px 40px;display:flex;overflow:hidden auto}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.page-head>div:first-child{flex:260px;min-width:0}.page-head h1{letter-spacing:-.01em;font-size:28px;font-weight:700}.page-head .sub{color:var(--secondary);margin-top:2px;font-size:14px}.page-head .actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.split-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:24px;display:grid}.split-layout.registration{grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr)}.split-layout.finance{grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr)}.info-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:18px;padding-top:4px;display:grid}.feature-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.card{background:var(--surface-lowest);border:1px solid var(--border-soft);border-radius:var(--r-xl);box-shadow:var(--shadow-1)}.card.flush{padding:0}.card.pad{padding:20px 22px}.card.dashed{border:1.5px dashed var(--surface-highest);box-shadow:none;background:0 0}.card-head{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;padding:16px 22px;display:flex}.card-head h3{font-size:16px;font-weight:600}.card-head .link{color:var(--primary);font-size:13px;font-weight:600}.card-body{padding:18px 22px}.btn{border-radius:var(--r-md);white-space:nowrap;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-user-select:none;user-select:none;cursor:pointer;border:1px solid #0000;outline:none;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;line-height:1;transition:background .12s,color .12s;display:inline-flex}.btn:focus{outline:none}.btn:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.btn.lg{padding:12px 24px;font-size:15px}.btn.sm{padding:6px 12px;font-size:13px}.btn-primary{color:var(--primary);border-color:var(--primary);background:0 0;transition:background .15s ease-in-out,color .15s ease-in-out,border-color .15s ease-in-out}.btn-primary:hover:not([disabled]):not(.disabled){background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:active:not([disabled]):not(.disabled){background:var(--primary-strong);color:#fff;border-color:var(--primary-strong)}.btn-outline{color:var(--on-surface);border-color:var(--surface-highest);background:0 0;transition:background .15s ease-in-out,border-color .15s ease-in-out}.btn-outline:hover:not([disabled]):not(.disabled){background:var(--surface-low);border-color:var(--secondary)}.btn-outline:active:not([disabled]):not(.disabled){background:var(--surface-container)}.btn-tonal{background:var(--primary-fixed);color:var(--primary);transition:background .15s ease-in-out}.btn-tonal:hover:not([disabled]):not(.disabled){background:var(--primary-fixed-dim)}.btn-tonal:active:not([disabled]):not(.disabled){background:#ffb3ac}.btn-ghost{color:var(--secondary);background:0 0;transition:background .15s ease-in-out,color .15s ease-in-out}.btn-ghost:hover:not([disabled]):not(.disabled){background:var(--surface-low);color:var(--on-surface)}.btn-ghost:active:not([disabled]):not(.disabled){background:var(--surface-container)}.btn-approve{color:#2e7d32;opacity:.65;background:0 0;border-color:#0000;transition:background .2s,color .2s,opacity .2s}.btn-approve:hover:not([disabled]):not(.disabled){color:#1b5e20;opacity:1;background:#2e7d3212;border-color:#2e7d322e}.btn-approve:active:not([disabled]):not(.disabled){background:#2e7d3224}.btn-reject{color:var(--secondary);opacity:.65;background:0 0;border-color:#0000;transition:background .2s,color .2s,opacity .2s}.btn-reject:hover:not([disabled]):not(.disabled){color:var(--error);opacity:1;background:#ba1a1a0f;border-color:#ba1a1a29}.btn-reject:active:not([disabled]):not(.disabled){background:#ba1a1a1f}.btn-danger{background:var(--error);color:#fff;border-color:var(--error)}.btn-danger:hover:not([disabled]):not(.disabled){background:#9a0d0d;border-color:#9a0d0d}.btn-success{background:var(--success);color:#fff;border-color:var(--success)}.btn-success:hover:not([disabled]):not(.disabled){background:#186e48}.btn[disabled],.btn.disabled{opacity:.38;cursor:not-allowed;pointer-events:none}.btn.icon-only{width:36px;height:36px;padding:8px}.icon-btn{transition:background .12s,color .12s}.icon-btn:hover{background:var(--surface-low);color:var(--on-surface)}.icon-btn:active{background:var(--surface-container)}.table tbody tr .row-actions{opacity:.6;transition:opacity .2s}.table tbody tr:hover .row-actions{opacity:1}.badge{border-radius:var(--r-2xl);letter-spacing:.01em;white-space:nowrap;background:var(--surface-high);color:var(--on-surface);align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:600;line-height:18px;display:inline-flex}.badge.dot:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.badge.success{background:var(--success-bg);color:var(--success)}.badge.warning{background:var(--warning-bg);color:var(--warning)}.badge.error{background:var(--error-bg);color:var(--on-error-container)}.badge.info{background:var(--info-bg);color:var(--info)}.badge.tertiary{background:var(--tertiary-container);color:var(--on-tertiary-container)}.badge.primary{background:var(--primary-fixed);color:var(--on-primary-fixed)}.badge.full{background:var(--primary);color:#fff}.badge.mono{font-family:var(--font-mono);letter-spacing:.02em;padding:2px 8px;font-weight:600}.badge.sm{padding:2px 8px;font-size:11px}.field{flex-direction:column;gap:6px;display:flex}.field label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--secondary);font-size:11px;font-weight:600}.field label .req{color:var(--primary)}.input,.textarea,.select{border:1px solid var(--surface-highest);border-radius:var(--r-md);width:100%;color:var(--on-surface);background:#fff;outline:none;padding:10px 12px;font-size:14px}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:42px}.input:focus,.textarea:focus,.select:focus{border-color:var(--primary);border-left-width:2px;box-shadow:0 0 0 3px #af101a1a}.input.with-icon{padding-left:36px}.input.with-trailing-icon{padding-right:42px}.input-wrap{position:relative}.input-wrap .lead{color:var(--secondary);pointer-events:none;display:flex;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.ums .input-wrap .input-action{border-radius:var(--r-full);width:28px;height:28px;color:var(--secondary);justify-content:center;align-items:center;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.ums .input-wrap .input-action:hover{background:var(--surface-low);color:var(--on-surface)}.ums .input-wrap .input-action:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.textarea{resize:vertical;min-height:90px;line-height:1.5}.field-err{color:var(--error);font-size:12px}.field-hint{color:var(--secondary);font-size:12px}.table{border-collapse:collapse;width:100%;font-size:14px}.table thead th{text-align:left;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--secondary);background:var(--surface-low);border-bottom:1px solid var(--border-soft);white-space:nowrap;padding:12px 18px;font-size:11px;font-weight:600}.table thead th .sort{cursor:pointer;color:var(--secondary);align-items:center;gap:4px;display:inline-flex}.table thead th .sort.active{color:var(--on-surface)}.table tbody td{border-bottom:1px solid var(--row-sep);color:var(--on-surface);vertical-align:middle;padding:14px 18px;font-size:14px;font-weight:500}.table tbody tr:hover td{background:var(--surface-low)}.table tbody tr:last-child td{border-bottom:0}.table .colid{font-family:var(--font-mono);color:var(--on-surface);font-weight:600}.table .name-cell{align-items:center;gap:10px;display:flex}.table .name-cell .nm{font-size:14px;font-weight:600}.table .name-cell .sub{color:var(--secondary);font-size:12px;font-family:var(--font-mono)}.table .row-actions{justify-content:flex-end;gap:6px;display:flex}.table-state-row td{text-align:center}.table-state-content{min-height:72px}.table-state-spinner{flex:none}.table-toolbar{border-bottom:1px solid var(--border-soft);flex-wrap:wrap;align-items:center;gap:10px;padding:14px 18px;display:flex}.table-toolbar .grow{flex:1}.table-toolbar .search{background:var(--surface-low);border-radius:var(--r-md);width:min(320px,100%);min-width:0;color:var(--secondary);flex:240px;align-items:center;gap:8px;padding:8px 12px;font-size:14px;display:flex}.table-toolbar .search input{color:var(--on-surface);background:0 0;border:0;outline:0;flex:1;font-size:14px}.pager{border-top:1px solid var(--border-soft);color:var(--secondary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 18px;font-size:13px;display:flex}.pager .pages{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.pager .pg{border-radius:var(--r-sm);min-width:30px;height:30px;color:var(--secondary);flex-shrink:0;justify-content:center;align-items:center;padding:0 8px;font-size:13px;font-weight:600;display:inline-flex}.pager .pg:hover{background:var(--surface-low);color:var(--on-surface)}.pager .pg.active{background:var(--primary);color:#fff}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.kpi{background:var(--surface-lowest);border:1px solid var(--border-soft);border-radius:var(--r-xl);box-shadow:var(--shadow-1);flex-direction:column;gap:6px;padding:18px 20px;display:flex}.kpi .label{font-family:var(--font-mono);color:var(--secondary);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:600}.kpi .val{letter-spacing:-.01em;font-size:32px;font-weight:700}.kpi .delta{color:var(--secondary);align-items:center;gap:4px;font-size:12px;display:flex}.kpi .delta.up{color:var(--success)}.kpi .delta.warn{color:var(--warning)}.kpi-icon{border-radius:var(--r-md);background:var(--surface-low);width:32px;height:32px;color:var(--secondary);justify-content:center;align-self:flex-end;align-items:center;margin-top:-28px;display:flex}.kpi.red .val{color:var(--primary)}.kpi.green .val{color:var(--success)}.banner{border-radius:var(--r-md);align-items:flex-start;gap:12px;padding:14px 16px;font-size:13px;line-height:1.45;display:flex}.banner.warning{background:var(--warning-bg);color:#6b3a0a;border:1px solid #f0d8a8}.banner.error{background:var(--error-bg);color:var(--on-error-container);border:1px solid #ffc2bd}.banner.success{background:var(--success-bg);color:#0f5a3a;border:1px solid #b9e0c9}.banner.info{background:var(--info-bg);color:#1d4ea3;border:1px solid #c5d8f7}.banner .b-ico{flex-shrink:0}.banner .b-title{margin-bottom:2px;font-size:13px;font-weight:700}.progress{background:var(--surface-high);border-radius:var(--r-full);height:8px;position:relative;overflow:hidden}.progress>span{background:var(--primary);border-radius:var(--r-full);position:absolute;top:0;bottom:0;left:0}.progress.success>span{background:var(--success)}.progress.warning>span{background:var(--warning)}.progress.error>span{background:var(--error)}.ch-bar{border-radius:var(--r-full);background:var(--surface-high);height:10px;margin:18px 0 8px;position:relative}.ch-bar>.fill{background:var(--primary);border-radius:var(--r-full);position:absolute;top:0;bottom:0;left:0}.ch-bar>.marker{background:var(--secondary);width:2px;position:absolute;top:-6px;bottom:-6px}.ch-bar>.marker:after{content:attr(data-label);font-family:var(--font-mono);color:var(--secondary);white-space:nowrap;font-size:10px;position:absolute;top:-18px;left:50%;transform:translate(-50%)}.divider{background:var(--row-sep);height:1px;margin:12px 0}.row{align-items:center;gap:8px;display:flex}.col{flex-direction:column;gap:4px;display:flex}.kv{flex-direction:column;gap:2px;display:flex}.kv .k{font-family:var(--font-mono);color:var(--secondary);text-transform:uppercase;letter-spacing:.08em;font-size:10.5px;font-weight:600}.kv .v{color:var(--on-surface);font-size:15px;font-weight:600}.student-summary-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 16px;display:grid}.chip{background:var(--surface-low);border-radius:var(--r-full);color:var(--secondary);font-size:12px;font-weight:500;font-family:var(--font-mono);align-items:center;gap:6px;padding:5px 10px;display:inline-flex}.chip.active{background:var(--primary-fixed);color:var(--on-primary-fixed)}.course-card{border:1px solid var(--border-soft);border-radius:var(--r-lg);box-shadow:var(--shadow-1);background:#fff;flex-direction:column;gap:10px;padding:16px;display:flex;position:relative}.course-card.selected{border-color:var(--primary);box-shadow:0 0 0 3px #af101a1a}.course-card.disabled{opacity:.55}.course-card .cc-row{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.course-card .cname{font-size:15px;font-weight:600}.course-card .cmeta{flex-wrap:wrap;gap:6px;display:flex}.course-card .cact{justify-content:flex-end;display:flex}.timeline{flex-direction:column;gap:0;display:flex}.tl-step{gap:14px;padding:8px 0;display:flex;position:relative}.tl-step .dot{border-radius:var(--r-full);background:var(--surface-high);border:2px solid var(--border-soft);width:22px;height:22px;color:var(--secondary);z-index:1;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex;position:relative}.tl-step.done .dot{background:var(--primary);border-color:var(--primary);color:#fff}.tl-step.current .dot{border-color:var(--primary);color:var(--primary);background:#fff}.tl-step:not(:last-child):before{content:"";background:var(--border-soft);width:2px;position:absolute;top:28px;bottom:-8px;left:10px}.tl-step.done:not(:last-child):before{background:var(--primary)}.tl-step .tl-body{padding-bottom:8px}.tl-step .tl-label{font-size:14px;font-weight:600}.tl-step .tl-meta{color:var(--secondary);font-size:12px;font-family:var(--font-mono)}.tl-step .tl-note{color:var(--secondary);margin-top:4px;font-size:13px}.bnav{border-top:1px solid var(--border-soft);padding:8px 8px calc(12px + env(safe-area-inset-bottom));z-index:120;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;background:#fff;gap:6px;display:none;position:fixed;bottom:0;left:0;right:0;overflow:auto hidden;box-shadow:0 -8px 24px #0000000a}.mobile-nav-backdrop{inset:var(--spacing-topbar-height-mobile) 0 0 0;z-index:126;background:#12161c5c;position:fixed}.mobile-nav-drawer{top:var(--spacing-topbar-height-mobile);background:var(--surface-lowest);border-right:1px solid var(--border-soft);z-index:127;flex-direction:column;gap:16px;width:min(84vw,340px);padding:16px;display:flex;position:fixed;bottom:0;left:0;box-shadow:20px 0 48px #00000024}.mobile-nav-drawer-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.mobile-nav-drawer-brand{flex-direction:column;gap:4px;min-width:0;display:flex}.mobile-nav-list{flex-direction:column;flex:auto;gap:8px;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.mobile-nav-item{border-radius:var(--r-lg);background:var(--surface-low);width:100%;min-height:48px;color:var(--on-surface);align-items:center;gap:12px;padding:12px 14px;transition:background .12s ease-out,color .12s ease-out;display:flex}.mobile-nav-item:hover{background:var(--surface-lowest)}.mobile-nav-item.active{background:var(--primary-fixed);color:var(--primary)}.mobile-nav-item-ico{border-radius:var(--r-full);background:#af101a14;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.mobile-nav-item.active .mobile-nav-item-ico{background:#af101a1f}.mobile-nav-item-label{text-align:left;flex:auto;min-width:0;font-size:14px;font-weight:600}.mobile-nav-item-chev{color:var(--secondary);flex-shrink:0}.mobile-nav-drawer-foot{margin-top:auto;padding-top:8px}.bnav-item{border-radius:var(--r-lg);min-width:72px;color:var(--secondary);flex-direction:column;flex:0 0 72px;align-items:center;gap:3px;padding:6px 4px;font-size:10.5px;font-weight:600;transition:background .12s ease-out,color .12s ease-out;display:flex;position:relative}.bnav-item:before{content:"";border-radius:var(--r-full);background:var(--primary);width:60%;height:4px;transition:transform .12s ease-out;position:absolute;top:0;left:50%;transform:translate(-50%)scaleX(0)}.bnav-item:hover{background:var(--surface-low);color:var(--inverse-surface)}.bnav-item.active{background:var(--primary-fixed);color:var(--primary)}.bnav-item.active:before{transform:translate(-50%)scaleX(1)}.bnav-item.active:hover{background:var(--color-primary-fixed-dim)}.bnav-item .ico{width:22px;height:22px}.bnav-logout{color:var(--error);margin-left:auto}.bnav-logout:hover{background:var(--error-bg,#dc354514)}.lock-zone{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:40px 24px;display:flex}.lock-zone .ico{border-radius:var(--r-full);background:var(--warning-bg);width:56px;height:56px;color:var(--warning);justify-content:center;align-items:center;display:flex}.cap-pill{color:var(--secondary);font-size:12px;font-family:var(--font-mono);align-items:center;gap:8px;display:inline-flex}.cap-bar{background:var(--surface-high);border-radius:var(--r-full);width:60px;height:5px;position:relative;overflow:hidden}.cap-bar>span{background:var(--success);border-radius:var(--r-full);position:absolute;top:0;bottom:0;left:0}.cap-bar>span.warn{background:var(--warning)}.cap-bar>span.full{background:var(--error)}.modal-back{z-index:10;background:#14161873;justify-content:center;align-items:center;display:flex;position:absolute;top:0;right:0;bottom:0;left:0}.modal{box-sizing:border-box;border-radius:var(--r-xl);width:min(540px,90%);min-width:0;box-shadow:var(--shadow-3);background:#fff;overflow:hidden}.modal.sm{width:min(440px,92%)}.modal.md{width:min(580px,92%)}.modal.lg{width:min(860px,94%)}.bulk-credentials-modal{flex-direction:column;display:flex;overflow:hidden!important}.bulk-credentials-modal .modal-body{flex:auto;min-height:0;overflow-y:auto}.credential-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.credential-summary-card{border:1px solid var(--border-soft);border-radius:var(--r-md);background:linear-gradient(145deg,var(--surface-low),var(--surface));padding:12px 14px}.credential-summary-card strong{font-size:20px;line-height:1;font-family:var(--font-mono);display:block}.credential-summary-card span{color:var(--secondary);margin-top:7px;font-size:11px;line-height:1.3;display:block}.credential-summary-card.success{border-color:var(--success)}@supports (color:color-mix(in lab,red,red)){.credential-summary-card.success{border-color:color-mix(in srgb,var(--success) 35%,var(--border-soft))}}.credential-summary-card.success strong{color:var(--success)}.credential-summary-card.warning strong{color:var(--warning)}.credential-summary-card.danger strong{color:var(--error)}.modal.xl{width:min(1000px,95%)}.modal-head{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.modal-head h3{font-size:17px;font-weight:700}.modal-body{flex-direction:column;gap:14px;min-width:0;padding:22px;display:flex;overflow-x:hidden}.modal-foot{border-top:1px solid var(--border-soft);background:var(--surface-low);justify-content:flex-end;gap:8px;padding:14px 22px;display:flex}.gradebook-import-shell,.gradebook-import-first-step{width:100%;min-width:0}.gradebook-import-dropzone{border-color:var(--primary);padding:0}@supports (color:color-mix(in lab,red,red)){.gradebook-import-dropzone{border-color:color-mix(in srgb,var(--primary) 28%,var(--border-soft))}}.gradebook-import-dropzone{background:linear-gradient(135deg,var(--surface-lowest),var(--surface-low));transition:border-color .18s,background .18s,box-shadow .18s}.gradebook-import-dropzone:hover,.gradebook-import-dropzone.is-dragging{border-color:var(--primary);background:var(--primary-fixed)}@supports (color:color-mix(in lab,red,red)){.gradebook-import-dropzone:hover,.gradebook-import-dropzone.is-dragging{background:color-mix(in srgb,var(--primary-fixed) 38%,var(--surface))}}.gradebook-import-dropzone:hover,.gradebook-import-dropzone.is-dragging{box-shadow:0 0 0 3px var(--primary)}@supports (color:color-mix(in lab,red,red)){.gradebook-import-dropzone:hover,.gradebook-import-dropzone.is-dragging{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)}}.gradebook-import-dropzone-button{width:100%;min-height:150px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;padding:24px;display:grid}.gradebook-import-dropzone-button:focus-visible{outline:3px solid var(--primary)}@supports (color:color-mix(in lab,red,red)){.gradebook-import-dropzone-button:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 42%,transparent)}}.gradebook-import-dropzone-button:focus-visible{outline-offset:-3px}.gradebook-import-upload-icon{background:var(--primary-fixed);width:64px;height:64px;color:var(--primary);border-radius:18px;flex:none;place-items:center;display:grid}.gradebook-import-upload-copy{flex-direction:column;align-items:flex-start;gap:6px;min-width:0;display:flex}.gradebook-import-upload-copy .t-body-sm{color:var(--secondary)}.gradebook-import-format-list{color:var(--secondary);font-family:var(--font-mono);flex-wrap:wrap;gap:6px;margin-top:4px;font-size:11px;display:flex}.gradebook-import-format-list span{border:1px solid var(--border-soft);border-radius:var(--r-full);background:var(--surface);padding:4px 8px}.gradebook-import-browse-button{white-space:nowrap;pointer-events:none;flex:none}.gradebook-import-benefits{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.gradebook-import-benefit{background:var(--surface-lowest);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;min-width:0;padding:16px;display:grid}.gradebook-import-benefit strong,.gradebook-import-benefit .t-body-sm{display:block}.gradebook-import-benefit .t-body-sm{color:var(--secondary);margin-top:5px}.gradebook-import-benefit-number{background:var(--primary-fixed);width:30px;height:30px;color:var(--primary);border-radius:10px;place-items:center;font-size:11px;display:grid}.gradebook-import-allocation-panel{border:1px solid var(--border-soft);border-radius:var(--r-lg);background:var(--surface-low);gap:12px;padding:16px;display:grid}.gradebook-import-allocation-title{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.gradebook-import-allocation-title p{color:var(--secondary);margin:4px 0 0}.gradebook-import-allocation-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.gradebook-import-allocation-bar{border:1px solid var(--border-soft);border-radius:var(--r-md);background:var(--surface-lowest);min-width:0;padding:12px}.gradebook-import-allocation-bar.success{border-color:var(--success)}@supports (color:color-mix(in lab,red,red)){.gradebook-import-allocation-bar.success{border-color:color-mix(in srgb,var(--success) 35%,var(--border-soft))}}.gradebook-import-allocation-bar.warning{border-color:var(--warning)}@supports (color:color-mix(in lab,red,red)){.gradebook-import-allocation-bar.warning{border-color:color-mix(in srgb,var(--warning) 45%,var(--border-soft))}}.gradebook-import-allocation-bar.error{border-color:var(--error)}@supports (color:color-mix(in lab,red,red)){.gradebook-import-allocation-bar.error{border-color:color-mix(in srgb,var(--error) 45%,var(--border-soft))}}.gradebook-import-allocation-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.gradebook-import-meter{border-radius:var(--r-full);background:var(--surface-high);height:8px;margin:10px 0 8px;overflow:hidden}.gradebook-import-meter span{border-radius:inherit;background:var(--primary);height:100%;transition:width .18s;display:block}.gradebook-import-allocation-bar.success .gradebook-import-meter span{background:var(--success)}.gradebook-import-allocation-bar.warning .gradebook-import-meter span{background:var(--warning)}.gradebook-import-allocation-bar.error .gradebook-import-meter span{background:var(--error)}.gradebook-import-pending-categories{border:1px solid var(--primary);padding:12px}@supports (color:color-mix(in lab,red,red)){.gradebook-import-pending-categories{border:1px solid color-mix(in srgb,var(--primary) 28%,var(--border-soft))}}.gradebook-import-pending-categories{border-radius:var(--r-md);background:var(--surface-lowest)}.gradebook-import-pending-category-list{gap:8px;margin-top:10px;display:grid}.gradebook-import-pending-category{border:1px solid var(--border-soft);border-radius:var(--r-md);background:var(--surface);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.gradebook-import-pending-category>div{flex-direction:column;gap:3px;min-width:0;display:flex}.gradebook-import-pending-category .t-body-sm{color:var(--secondary)}.gradebook-import-mapping-list{gap:10px;min-width:0;display:grid}.gradebook-import-mapping-card{background:var(--surface-lowest);min-width:0;padding:16px}.gradebook-import-mapping-card.has-error{border-color:var(--error)}@supports (color:color-mix(in lab,red,red)){.gradebook-import-mapping-card.has-error{border-color:color-mix(in srgb,var(--error) 42%,var(--border-soft))}}.gradebook-import-mapping-card.has-error{box-shadow:inset 3px 0 0 var(--error)}.gradebook-import-mapping-row{grid-template-columns:minmax(0,1fr) minmax(200px,.8fr);align-items:start;gap:14px 18px;min-width:0;display:grid}.gradebook-import-mapping-row>*{min-width:0}.gradebook-import-mapping-row>.gradebook-import-mapping-note,.gradebook-import-mapping-row>.gradebook-import-mapping-form{grid-column:1/-1}.gradebook-import-mapping-note{color:var(--secondary);padding:12px}.gradebook-import-mapping-form{gap:10px;min-width:0}.gradebook-import-mapping-form>.grid{min-width:0}.gradebook-import-validation-panel{border-color:var(--error);gap:10px;padding:14px 16px;display:grid}@supports (color:color-mix(in lab,red,red)){.gradebook-import-validation-panel{border-color:color-mix(in srgb,var(--error) 42%,var(--border-soft))}}.gradebook-import-validation-panel{background:var(--error-bg)}.gradebook-import-validation-heading{align-items:flex-start;gap:10px;display:flex}.gradebook-import-validation-heading p{color:var(--secondary);margin:4px 0 0}.gradebook-import-validation-list{gap:7px;margin:0;padding:0;list-style:none;display:grid}.gradebook-import-validation-list li{align-items:flex-start;gap:8px;display:flex}.gradebook-import-validation-more{color:var(--secondary);padding-left:28px}.gradebook-import-recovery-panel{border-color:var(--error);gap:10px;padding:14px 16px;display:grid}@supports (color:color-mix(in lab,red,red)){.gradebook-import-recovery-panel{border-color:color-mix(in srgb,var(--error) 42%,var(--border-soft))}}.gradebook-import-recovery-panel{background:var(--error-bg)}.gradebook-import-recovery-panel[role=status]{border-color:var(--success)}@supports (color:color-mix(in lab,red,red)){.gradebook-import-recovery-panel[role=status]{border-color:color-mix(in srgb,var(--success) 42%,var(--border-soft))}}.gradebook-import-recovery-panel[role=status]{background:var(--success-bg)}.gradebook-import-skipped-rows{border-color:var(--warning);padding:12px 16px}@supports (color:color-mix(in lab,red,red)){.gradebook-import-skipped-rows{border-color:color-mix(in srgb,var(--warning) 38%,var(--border-soft))}}.gradebook-import-skipped-rows{background:var(--warning-bg)}.group-selector-shell{width:100%;max-width:820px;margin:0 auto}.group-grid{grid-template-columns:repeat(auto-fit,minmax(260px,300px));justify-content:center;align-items:stretch;gap:20px;width:100%;display:grid}.group-subgroup-section{border-top:1px solid var(--border-soft);flex-direction:column;gap:20px;width:100%;max-width:820px;margin-top:8px;padding-top:16px;display:flex}.group-btn{border:2px solid var(--border-soft);border-radius:var(--r-md);background:linear-gradient(180deg,var(--surface-lowest) 0%,var(--surface-low) 100%);cursor:pointer;box-shadow:var(--shadow-1);align-items:flex-start;padding:0;font-size:13px;transition:all .2s ease-in-out;display:flex;position:relative;overflow:hidden}.group-btn-content{box-sizing:border-box;text-align:left;flex-direction:column;align-items:flex-start;gap:6px;width:100%;padding:14px 15px 15px;display:flex}.group-btn:hover:not(.selected):not(.disabled){border-color:var(--primary-fixed-dim);background:linear-gradient(#fff,#fff7f6);transform:translateY(-1px);box-shadow:0 10px 24px #21252914}.group-btn:focus-visible{outline-offset:2px;outline:2px solid #af101a52}.group-btn.selected{border:2px solid var(--primary-strong);box-shadow:0 0 0 2px #93001024,inset 0 0 0 1px #9300100d,var(--shadow-1);background:linear-gradient(#93001017,#9300100f)}.group-btn.selected .group-btn-content{background:0 0}.group-btn.disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.group-btn .gl{font-family:var(--font-mono);font-size:15px;font-weight:700}.group-btn .gm{color:var(--secondary);font-size:11px;font-family:var(--font-mono)}.multi-select-menu{flex-direction:column;gap:8px;display:flex}.multi-select-option,.capability-option{border:1px solid var(--border-soft);border-radius:var(--r-md);width:100%;min-height:48px;color:var(--on-surface);background:var(--surface-lowest);cursor:pointer;align-items:flex-start;gap:9px;padding:10px 12px;transition:border-color .15s,background .15s,color .15s,box-shadow .15s;display:flex}.multi-select-option:hover:not(.disabled),.capability-option:hover:not(.disabled){border-color:var(--primary-fixed-dim);background:var(--surface-low)}.multi-select-option.selected,.capability-option.selected{border-color:var(--primary);color:var(--primary-strong);background:var(--primary-fixed)}.multi-select-option.disabled,.capability-option.disabled{color:var(--secondary);background:var(--surface-low);cursor:not-allowed;opacity:.65}.multi-select-option:focus-within,.capability-option:focus-within{outline:2px solid var(--primary);outline-offset:2px}.multi-select-checkbox,.capability-checkbox{width:18px;height:18px;accent-color:var(--primary);flex:none;margin:1px 0 0}.multi-select-option-content{flex:1;min-width:0;display:block}.multi-select-option-badge{border-radius:var(--r-sm);color:var(--secondary);background:var(--surface-high);padding:2px 6px;font-size:11px;line-height:16px}.capabilities-picker-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px;display:grid}.capability-option{align-items:center}.capability-option-content{min-width:0}.ta-confirm-card{border-radius:var(--r-lg);border:1px solid var(--border-soft);background:linear-gradient(180deg,var(--surface-lowest) 0%,var(--surface-low) 100%);box-shadow:var(--shadow-1);grid-template-columns:auto 1fr auto;align-items:flex-start;gap:12px;padding:14px 16px;transition:border-color .16s,background-color .16s,box-shadow .16s,transform .16s;display:grid}.ta-confirm-card:hover{border-color:var(--primary-fixed-dim);background:linear-gradient(#fff,#fff7f6);transform:translateY(-1px);box-shadow:0 10px 24px #21252914}.ta-confirm-card.active{border-color:var(--primary);box-shadow:0 0 0 3px #af101a1f,var(--shadow-1);background:linear-gradient(#fff9f8,#fff2f0)}.ta-confirm-card.locked{cursor:default}.ta-confirm-card:focus-within{outline-offset:2px;outline:2px solid #af101a3d}.ta-confirm-check{width:18px;height:18px;accent-color:var(--primary);flex-shrink:0;margin-top:2px}.ta-confirm-copy{flex-direction:column;gap:4px;display:flex}.ta-summer-cap-card{border:1px solid var(--border-soft);border-radius:var(--r-lg);box-shadow:var(--shadow-1);background:linear-gradient(#fff,#fff7f6);margin-top:4px;padding:16px}.ta-summer-cap-input{border-radius:var(--r-md);border:1px solid var(--border-soft);background:var(--surface-lowest);width:112px;color:var(--on-surface);padding:10px 12px;font-size:16px;font-weight:700;transition:border-color .16s,box-shadow .16s,transform .16s;box-shadow:inset 0 1px 2px #00000008}.ta-summer-cap-input:focus-visible{outline-offset:2px;outline:2px solid #af101a3d}.ta-summer-cap-input:hover{border-color:var(--primary-fixed-dim)}.tabs{background:var(--surface-low);border-radius:var(--r-md);gap:4px;padding:4px;display:inline-flex}.tab{border-radius:var(--r-sm);color:var(--secondary);cursor:pointer;padding:7px 14px;font-size:13px;font-weight:600}.tab.active{color:var(--on-surface);box-shadow:var(--shadow-1);background:#fff}.filters{flex-wrap:wrap;gap:6px;display:flex}.filter{border-radius:var(--r-full);border:1px solid var(--border-soft);color:var(--secondary);font-size:12.5px;font-weight:600;font-family:var(--font-mono);letter-spacing:.03em;cursor:pointer;background:#fff;padding:6px 12px}.filter:hover{border-color:var(--primary-fixed-dim)}.filter.active{background:var(--on-surface);color:#fff;border-color:var(--on-surface)}.wizard-steps,.wstep{align-items:center;gap:10px;display:flex}.wstep .n{border-radius:var(--r-full);background:var(--surface-high);width:26px;height:26px;color:var(--secondary);font-family:var(--font-mono);justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.wstep.done .n{background:var(--success);color:#fff}.wstep.active .n{background:var(--primary);color:#fff}.wstep .lbl{color:var(--secondary);font-size:13px;font-weight:600}.wstep.active .lbl,.wstep.done .lbl{color:var(--on-surface)}.wstep-sep{background:var(--border-soft);flex:1;height:2px}.wstep-sep.done{background:var(--success)}.mobile-frame .topbar{height:56px;padding:0 14px}.mobile-frame .page{padding:16px 16px 100px}.mobile-frame .kpi-grid{grid-template-columns:repeat(2,1fr);gap:10px}.mobile-frame .kpi{padding:12px 14px}.mobile-frame .kpi .val{font-size:22px}.mobile-frame .group-grid{grid-template-columns:repeat(2,1fr)}.mobile-frame .page-head h1{font-size:22px}.mobile-row{border:1px solid var(--border-soft);border-radius:var(--r-lg);box-shadow:var(--shadow-1);background:#fff;flex-direction:column;gap:8px;padding:14px;display:flex}.mobile-row .top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.mobile-row .meta{color:var(--secondary);font-size:12px;font-family:var(--font-mono);flex-wrap:wrap;gap:10px;display:flex}.form-grid-2{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.form-grid-3{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.course-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.course-step-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.exam-schedule-view{flex-direction:column;gap:14px;display:flex}.exam-schedule-view-heading{justify-content:space-between;align-items:center;padding:14px 4px 0;display:flex}.exam-schedule-grid-controls{justify-content:space-between;align-items:center;gap:16px;padding:16px 4px 10px;display:flex}.exam-schedule-show-switcher,.exam-schedule-date-navigator{align-items:center;gap:10px;display:inline-flex}.exam-schedule-show-switcher>span{color:var(--on-surface);font-size:13px;font-weight:700}.exam-schedule-segmented{border:1px solid var(--border-soft);border-radius:var(--r-lg);background:var(--surface-lowest);display:inline-flex;overflow:hidden}.exam-schedule-segmented .btn{border:0;border-left:1px solid var(--border-soft);min-height:36px;box-shadow:none;border-radius:0}.exam-schedule-segmented .btn:first-child{border-left:0}.exam-schedule-segmented .btn.btn-primary{background:var(--primary);color:#fff}.exam-schedule-date-navigator .btn{min-width:32px;min-height:32px}.exam-schedule-date-range{min-width:180px;color:var(--on-surface);font-family:var(--font-mono);justify-content:center;align-items:center;gap:9px;font-size:13px;font-weight:700;display:inline-flex}.exam-schedule-grid-shell{--exam-time-column-width:82px;border:1px solid var(--border-soft);background:var(--surface-lowest);border-radius:14px;overflow:hidden}.exam-schedule-grid-desktop{-webkit-overflow-scrolling:touch;overflow-x:auto}.exam-schedule-grid-header,.exam-schedule-grid-body{grid-template-columns:var(--exam-time-column-width) repeat(var(--exam-day-count),minmax(var(--exam-day-width),1fr));min-width:calc(var(--exam-time-column-width) + var(--exam-day-count) * var(--exam-day-width));display:grid}.exam-schedule-grid-header{border-bottom:1px solid var(--border-soft);background:var(--surface-lowest)}.exam-schedule-time-heading,.exam-schedule-day-heading{border-right:1px solid var(--border-soft);min-height:62px;padding:12px 14px}.exam-schedule-time-heading{color:var(--secondary);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;align-items:center;font-size:11px;font-weight:700;display:flex}.exam-schedule-day-heading{text-align:center;border-left:1px dashed var(--row-sep);flex-direction:column;justify-content:center;align-items:center;gap:3px;display:flex}.exam-schedule-day-heading span,.exam-schedule-mobile-day-heading span{color:var(--secondary);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700}.exam-schedule-day-heading strong,.exam-schedule-mobile-day-heading strong{color:var(--on-surface);font-size:14px}.exam-schedule-grid-body{min-height:var(--exam-grid-height)}.exam-schedule-time-column{background:var(--surface-low)}.exam-schedule-time-label{border-right:1px solid var(--border-soft);height:88px;color:var(--secondary);font-family:var(--font-mono);white-space:nowrap;padding:10px 10px 0;font-size:11px;font-weight:600}.exam-schedule-day-columns{grid-column:2/-1;grid-template-columns:repeat(var(--exam-day-count),minmax(var(--exam-day-width),1fr));min-width:0;display:grid}.exam-schedule-day-column{min-height:var(--exam-grid-height);border-right:1px solid var(--border-soft);background:var(--surface-lowest);position:relative}.exam-schedule-hour-line{border-top:1px dashed var(--row-sep);height:88px}.exam-schedule-hour-line:first-child{border-top:0}.exam-schedule-event{--exam-accent:var(--primary);z-index:1;border:1px solid var(--exam-accent);flex-direction:column;gap:5px;min-width:0;padding:10px 11px 9px;display:flex;position:absolute;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.exam-schedule-event{border:1px solid color-mix(in srgb,var(--exam-accent) 26%,var(--border-soft))}}.exam-schedule-event{border-left:3px solid var(--exam-accent);background:var(--exam-accent);border-radius:8px}@supports (color:color-mix(in lab,red,red)){.exam-schedule-event{background:color-mix(in srgb,var(--exam-accent) 8%,var(--surface-lowest))}}.exam-schedule-event{color:var(--on-surface);transition:transform .16s,box-shadow .16s;box-shadow:0 1px 4px #1f29370d}.exam-schedule-event:hover{z-index:2;box-shadow:var(--shadow-2);transform:translateY(-2px)}.exam-schedule-event-head{justify-content:space-between;align-items:flex-start;gap:8px;min-width:0;display:flex}.exam-schedule-event-head>strong{min-width:0;color:var(--exam-accent);font-family:var(--font-mono);white-space:nowrap;font-size:12px}.exam-schedule-event-type{color:var(--exam-accent);font-family:var(--font-mono);white-space:nowrap;flex:none;font-size:10px;font-weight:700;line-height:1.3}.exam-schedule-event-name{min-height:34px;color:var(--on-surface);font-size:13px;font-weight:600;font-family:var(--font-sans);text-overflow:ellipsis;line-height:1.35;overflow:hidden}.exam-schedule-event-detail{min-width:0;color:var(--secondary);font-family:var(--font-mono);align-items:flex-start;gap:6px;font-size:11px;line-height:1.35;display:flex}.exam-schedule-event-detail svg{color:var(--exam-accent);flex:none}.exam-schedule-event-detail span{min-width:0}.exam-schedule-event-seating span{text-overflow:ellipsis;overflow:hidden}.exam-schedule-event-stats{border-top:1px solid var(--exam-accent);flex-wrap:wrap;gap:5px 8px;margin-top:auto;padding-top:5px;display:flex}@supports (color:color-mix(in lab,red,red)){.exam-schedule-event-stats{border-top:1px solid color-mix(in srgb,var(--exam-accent) 16%,transparent)}}.exam-schedule-event-stats{color:var(--secondary);font-family:var(--font-mono);font-size:10px;line-height:1.3}.exam-schedule-event-stats span{align-items:center;gap:4px;display:inline-flex}.exam-schedule-event-stats span:first-child{color:var(--on-surface);font-weight:700}.exam-schedule-grid-mobile,.exam-schedule-grid-empty{display:none}.exam-schedule-grid-empty{min-height:220px;color:var(--secondary);flex-direction:column;justify-content:center;align-items:center;gap:10px}.exam-schedule-mobile-day-heading{border-bottom:1px solid var(--border-soft);background:var(--surface-low);justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.exam-schedule-mobile-day-heading>div{flex-direction:column;gap:3px;display:flex}.exam-schedule-mobile-events{gap:10px;padding:12px;display:grid}.exam-schedule-mobile-event{width:auto;height:auto;min-height:164px;position:relative;inset:auto}.schedule-mobile,.schedule-desktop.schedule-timeline-hidden{display:none}.schedule-mobile.schedule-agenda{display:flex}.schedule-agenda .schedule-day-list{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:stretch;gap:12px;display:grid}.schedule-agenda .schedule-session{height:100%}.schedule-day-tabs{-webkit-overflow-scrolling:touch;gap:6px;padding:4px 0 8px;display:flex;overflow-x:auto}.schedule-day-tab{background:var(--surface-low);color:var(--on-surface);border:1px solid var(--border-soft);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border-radius:12px;flex:none;padding:8px 14px;font-size:12px;font-weight:700;transition:all .16s}.schedule-day-tab:hover{background:var(--surface-high)}.schedule-day-tab.active{background:var(--primary);color:#fff;border-color:var(--primary)}.schedule-day-card{border-top:1px solid var(--border-soft);background:var(--surface-lowest);flex-direction:column;gap:10px;padding:14px 16px;display:flex}.schedule-day-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.schedule-day-list{flex-direction:column;gap:10px;display:flex}.schedule-session{border:1px solid var(--border-soft);box-shadow:var(--shadow-1);background:#fff;border-radius:14px;gap:12px;padding:12px;display:flex;position:relative}.schedule-session.conflict{border-color:var(--error);box-shadow:0 0 0 1px var(--error),var(--shadow-1)}.schedule-session-stripe{border-radius:var(--r-full);flex:0 0 4px;width:4px}.schedule-session-body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.schedule-session-meta{font-size:12px;font-family:var(--font-mono);color:var(--secondary);flex-wrap:wrap;gap:10px 14px;display:flex}.schedule-session-meta span{align-items:center;gap:4px;display:inline-flex}.master-session{cursor:pointer;transition:transform .16s,box-shadow .16s,filter .16s}.master-session:hover{box-shadow:0 6px 18px #0000001f,var(--shadow-1);filter:brightness(.97)saturate(1.15);z-index:2;transform:translateY(-1px)}.master-session.conflict:hover{box-shadow:0 0 0 2px var(--error),0 6px 18px #0000001f,var(--shadow-1);transform:translateY(-1px)}@media (max-width:1024px){.kpi-grid,.course-grid{grid-template-columns:repeat(2,1fr)}.group-grid{grid-template-columns:repeat(auto-fit,minmax(280px,320px))}.form-grid-3{grid-template-columns:repeat(2,1fr)}.split-layout,.split-layout.registration,.split-layout.finance{grid-template-columns:1fr}}@media (max-width:768px){.frame{flex-direction:column}.main{width:100%}.page{padding:0 var(--spacing-margin-mobile) calc(112px + env(safe-area-inset-bottom));gap:16px}.page-head{flex-direction:column;justify-content:flex-start;gap:10px}.page-head>div:first-child{flex:none;width:100%}.page-head .actions{justify-content:flex-start;width:100%}.page-head h1{font-size:22px}.topbar{padding:0 var(--spacing-margin-mobile);height:var(--spacing-topbar-height-mobile);gap:8px}.topbar-left,.topbar-right{gap:8px}.topbar-right .profile-chip{padding:4px}.profile-meta{display:none}.notification-panel{left:var(--spacing-margin-mobile);right:var(--spacing-margin-mobile);top:calc(var(--spacing-topbar-height-mobile) + 8px);width:auto;max-height:calc(100dvh - var(--spacing-topbar-height-mobile) - 16px);border-radius:18px;position:fixed}.bnav{display:flex}.bnav-item{flex-basis:74px;min-width:74px}.topbar .topbar-menu-btn{display:none}.kpi-grid{grid-template-columns:repeat(2,1fr);gap:10px}.kpi{padding:12px 14px}.kpi .val{font-size:22px}.group-grid{grid-template-columns:repeat(auto-fit,minmax(280px,320px))}.course-grid{grid-template-columns:1fr}.course-step-head{flex-direction:column;align-items:flex-start}.course-step-head .input-wrap{max-width:100%!important}.schedule-desktop{display:none}.schedule-mobile{flex-direction:column;display:flex}.exam-schedule-grid-desktop{display:none}.exam-schedule-grid-mobile{flex-direction:column;display:flex}.exam-schedule-event{width:auto;height:auto;position:relative;inset:auto}.wizard-steps{flex-wrap:wrap;align-items:flex-start;gap:8px 10px}.wstep{flex:none;align-items:center;gap:8px}.wstep .n{aspect-ratio:1;box-sizing:border-box;flex:0 0 26px;width:26px;height:26px}.wstep .lbl{line-height:1.2}.wstep-sep{display:none}.form-grid-2,.form-grid-3,.col-2,.col-3{grid-template-columns:1fr}.table thead{display:none}.table tbody tr{border-bottom:1px solid var(--border-soft);padding:14px 16px;display:block}.table tbody tr:last-child{border-bottom:0}.table tbody td{border-bottom:none;justify-content:space-between;align-items:center;padding:5px 0;font-size:13px;display:flex}.table tbody td:before{content:attr(data-label);font-family:var(--font-mono);text-transform:uppercase;color:var(--secondary);flex-shrink:0;margin-right:12px;font-size:11px;font-weight:600}.table tbody tr.table-state-row{padding:0}.table tbody tr.table-state-row td{text-align:center;padding:24px 16px;display:block}.table tbody tr.table-state-row td:before{content:none}.table .row-actions{opacity:1;justify-content:flex-start}.table tbody tr .row-actions{opacity:1}.table-toolbar{padding:12px 14px}.table-toolbar .search{width:100%}.dean-dashboard .dean-hero-grid{grid-template-columns:1fr!important;padding:18px!important}.dean-dashboard .dean-hero-badges{gap:6px}.dean-dashboard .dean-chart-header{flex-direction:column;align-items:stretch}.dean-dashboard .dean-chart-toggle{width:100%}.dean-dashboard .dean-chart-toggle button{flex:1 1 0;min-width:0}.dean-dashboard .dean-chart-list{max-height:360px}.dean-dashboard .dean-pie-layout{grid-template-columns:1fr!important}.dean-dashboard .dean-pie-ring{width:124px!important;height:124px!important}.dean-dashboard .dean-pie-legend{max-height:240px}.dean-dashboard .dean-detail-card .tabs{overflow-x:auto}.pager{flex-direction:column;align-items:center;gap:8px;padding:10px 14px}.modal-responsive{border-radius:var(--r-xl) var(--r-xl) 0 0!important;width:100%!important;max-width:100%!important;max-height:calc(100dvh - 16px)!important}.modal-body{padding:16px}.credential-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-head{padding:14px 16px}.modal-foot{flex-direction:column;padding:12px 16px}.modal-foot .btn{justify-content:center;width:100%}.about-title{font-size:32px!important}.about-slogan{flex-direction:column;align-items:flex-start}.about-bento-grid{grid-template-columns:1fr!important}.about-bento-grid>.about-card,.about-bento-grid>.about-span-8,.about-bento-grid>.about-span-4,.about-bento-grid>.about-span-12{grid-column:1/-1!important}.about-hero{padding:24px!important}.about-founders-grid{grid-template-columns:1fr!important}.about-footer>div{align-items:flex-start!important}}@media (max-width:767px){.topbar .topbar-menu-btn{display:inline-flex}}@media (max-width:480px){.kpi-grid,.group-grid{grid-template-columns:1fr}.student-summary-card{padding:14px}.student-summary-card .t-body-sm-strong{margin-bottom:10px!important}.student-summary-card .student-summary-list{grid-template-columns:1fr;gap:8px}.student-summary-card .kv{grid-template-columns:minmax(92px,104px) minmax(0,1fr);align-items:start;gap:3px 10px;display:grid}.student-summary-card .kv .k{font-size:9.5px;line-height:1.2}.student-summary-card .kv .v{text-align:left;overflow-wrap:anywhere;font-size:13px;line-height:1.35}.page{padding:0 12px calc(108px + env(safe-area-inset-bottom));gap:12px}.topbar{padding:0 10px}.table-toolbar .search{min-width:0}.dean-dashboard .dean-chart-toggle{flex-direction:column}.dean-dashboard .dean-chart-toggle button{width:100%}.dean-dashboard .dean-hero-grid{padding:16px!important}.dean-dashboard .dean-chart-list,.dean-dashboard .dean-pie-legend{max-height:none}.dean-dashboard .dean-detail-card .card-body{padding:12px}}.note{color:var(--secondary);font-size:13px;line-height:1.5}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-6{gap:24px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.flex{display:flex}.col-2{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.col-3{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.col-5{grid-template-columns:repeat(5,1fr);gap:16px;display:grid}.between{justify-content:space-between}.center{align-items:center}.right{text-align:right}.grow{flex:1}.fwrap{flex-wrap:wrap}.about-span-4{grid-column:span 4}.about-span-8{grid-column:span 8}.about-span-12{grid-column:span 12}.attendance-workspace{gap:16px;display:grid}.attendance-header,.attendance-card-title{justify-content:space-between;align-items:start;gap:16px;display:flex}.attendance-readiness,.attendance-filters,.attendance-statuses,.attendance-action-bar,.attendance-error{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.attendance-filters{grid-template-columns:minmax(200px,2fr) repeat(2,minmax(160px,1fr));margin-top:16px;display:grid}.attendance-table-wrap{overflow-x:auto}.attendance-statuses .btn{min-height:36px}.attendance-error{border:1px solid var(--danger);background:var(--danger-bg-subtle);color:var(--danger);margin-top:16px;padding:12px}.attendance-error span{color:var(--secondary);flex:240px}.attendance-mobile-grid{gap:12px;display:none}.attendance-action-bar,.gradebook-action-bar{z-index:50;border:1px solid var(--outline-faint,#e9ecef);background:var(--surface-container-lowest,#fff);border-radius:20px;flex-flow:row;justify-content:space-between;align-items:center;gap:16px;margin-top:24px;padding:14px 28px;transition:all .2s;display:flex;position:sticky;bottom:20px;box-shadow:0 10px 25px -5px #0000000d,0 8px 16px -6px #00000008}.action-bar-badges,.action-bar-actions{flex-flow:row;align-items:center;gap:10px;display:flex}.action-bar-badge{border:1px solid #0000;border-radius:9999px;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:500;line-height:1;display:inline-flex}.action-bar-badge.badge-neutral{color:#374151;background:#f3f4f6;border-color:#e5e7eb}.action-bar-badge.badge-success{color:#16a34a;background:#f0fdf4;border-color:#bbf7d0}.action-bar-badge.badge-warning{color:#d97706;background:#fffbeb;border-color:#fef3c7}.action-bar-badge.badge-error{color:#dc2626;background:#fef2f2;border-color:#fecaca}.attendance-action-bar .btn,.gradebook-action-bar .btn{min-height:40px;box-shadow:none;border-radius:10px;gap:8px;padding:10px 18px;font-size:13px;font-weight:600}.btn.btn-tonal-light{color:#4b5563!important;background:#f3f4f6!important;border:1px solid #e5e7eb!important}.btn.btn-tonal-light:hover:not([disabled]):not(.disabled){color:#1f2937!important;background:#e5e7eb!important;border-color:#d1d5db!important}.btn.btn-outline-blue{color:#2563eb!important;background:#fff!important;border:1px solid #3b82f6!important}.btn.btn-outline-blue:hover:not([disabled]):not(.disabled){color:#1d4ed8!important;background:#f0f6ff!important;border-color:#2563eb!important}.btn.btn-solid-red{color:#fff!important;background:#af101a!important;border:1px solid #af101a!important}.btn.btn-solid-red:hover:not([disabled]):not(.disabled){color:#fff!important;background:#8d0b13!important;border-color:#8d0b13!important}.btn.btn-solid-red:disabled{opacity:.6;color:#9ca3af!important;background:#e5e7eb!important;border-color:#e5e7eb!important}.attendance-activity{gap:12px;display:grid}@media (max-width:700px){.attendance-desktop-grid{display:none}.attendance-mobile-grid{display:grid}.attendance-header,.attendance-card-title{flex-direction:column;align-items:stretch}.attendance-filters{grid-template-columns:1fr}.attendance-statuses .btn{flex:calc(50% - 8px);min-height:44px}.attendance-action-bar,.gradebook-action-bar{border-radius:0;flex-direction:column;align-items:stretch;margin-inline:-8px;bottom:0}}@media (prefers-reduced-motion:reduce){.attendance-workspace *{scroll-behavior:auto!important;transition-duration:.01ms!important}}.gradebook-mobile{display:none}.gradebook-workspace{flex-direction:column;gap:24px;display:flex}.gradebook-workspace .table input:not([type=checkbox]){min-width:5rem}.gradebook-workspace .table th:first-child,.gradebook-workspace .table td:first-child{background:var(--surface,white);position:sticky;left:0}@media (max-width:767px){.gradebook-desktop{display:none}.gradebook-mobile{display:block}.gradebook-workspace .page-header{flex-direction:column;align-items:flex-start;gap:12px}.gradebook-workspace .btn{min-height:44px}}@media (prefers-reduced-motion:reduce){.gradebook-workspace *{scroll-behavior:auto!important;transition-duration:.01ms!important}}.gradebook-workspace .btn-primary,.gradebook-action-bar .btn-primary,.attendance-workspace .btn-primary,.attendance-action-bar .btn-primary{background:var(--primary);color:var(--on-primary);border-color:var(--primary);font-weight:600;box-shadow:0 1px 3px #af101a26}.gradebook-workspace .btn-primary:hover:not([disabled]):not(.disabled),.gradebook-action-bar .btn-primary:hover:not([disabled]):not(.disabled),.attendance-workspace .btn-primary:hover:not([disabled]):not(.disabled),.attendance-action-bar .btn-primary:hover:not([disabled]):not(.disabled){color:var(--on-primary);background:#8d0b13;border-color:#8d0b13;box-shadow:0 2px 6px #af101a40}.gradebook-workspace .btn-primary:active:not([disabled]):not(.disabled),.gradebook-action-bar .btn-primary:active:not([disabled]):not(.disabled),.attendance-workspace .btn-primary:active:not([disabled]):not(.disabled),.attendance-action-bar .btn-primary:active:not([disabled]):not(.disabled){background:#73060c;border-color:#73060c}.gradebook-workspace .btn-primary:disabled,.gradebook-workspace .btn-primary.disabled,.gradebook-action-bar .btn-primary:disabled,.gradebook-action-bar .btn-primary.disabled,.attendance-workspace .btn-primary:disabled,.attendance-workspace .btn-primary.disabled,.attendance-action-bar .btn-primary:disabled,.attendance-action-bar .btn-primary.disabled{opacity:.65;background:var(--surface-highest,#e0e0e0)!important;color:var(--secondary,#757575)!important;border-color:var(--surface-highest,#e0e0e0)!important;box-shadow:none!important}.attendance-statuses{background:var(--surface-container-low,#f1f3f4);border:1px solid var(--border-soft,#e0e0e0);border-radius:8px;flex-wrap:nowrap;justify-content:flex-start;width:fit-content;max-width:100%;padding:2px;display:inline-flex;gap:1px!important}.attendance-statuses .btn{min-height:28px!important;box-shadow:none!important;border:none!important;border-radius:6px!important;padding:6px 12px!important;font-size:13px!important;font-weight:600!important;transition:all .2s!important}.attendance-statuses .btn.attendance-btn-present-active{color:#fff!important;background:#2e7d32!important}.attendance-statuses .btn.attendance-btn-absent-active{color:#fff!important;background:#d32f2f!important}.attendance-statuses .btn:not(.attendance-btn-present-active):not(.attendance-btn-absent-active):hover{background:var(--surface-container-high,#e8eaed)!important;color:var(--on-surface)!important}.attendance-page,.attendance-editor-page{gap:24px;min-width:0;display:grid}.attendance-filter-card{background:linear-gradient(180deg,var(--surface-lowest) 0%,var(--surface-low) 100%);box-shadow:var(--shadow-1)}.attendance-filter-grid{grid-template-columns:minmax(180px,.8fr) minmax(260px,1.5fr);gap:16px;display:grid}.attendance-package-table,.attendance-roster-table{overflow:hidden}.attendance-package-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;min-width:190px;display:flex}.attendance-package-table .table tbody td,.attendance-roster-table .table tbody td{padding-top:16px;padding-bottom:16px}.attendance-loading-card{place-items:center;min-height:260px;display:grid}.attendance-editor-topline{gap:12px;display:grid}.attendance-editor-topline>.btn{justify-self:start}.attendance-package-toolbar{border:1px solid var(--border-soft);border-radius:var(--r-lg);background:var(--surface-lowest);box-shadow:var(--shadow-1);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.attendance-notice{justify-content:space-between;align-items:center;gap:16px;display:flex}.attendance-notice-error{border-color:var(--danger)}@supports (color:color-mix(in lab,red,red)){.attendance-notice-error{border-color:color-mix(in srgb,var(--danger) 45%,var(--border-soft))}}.attendance-notice-error{background:var(--danger-bg-subtle);color:var(--danger)}.attendance-notice-warning{border-color:var(--warning)}@supports (color:color-mix(in lab,red,red)){.attendance-notice-warning{border-color:color-mix(in srgb,var(--warning) 45%,var(--border-soft))}}.attendance-notice-warning{background:var(--warning-bg-subtle,var(--surface-low));color:var(--on-surface)}.attendance-roster-controls{background:linear-gradient(135deg,var(--surface-lowest) 0%,var(--surface-low) 100%);position:relative;overflow:hidden}.attendance-roster-controls:before{content:"";background:var(--primary);width:4px;position:absolute;inset:0 auto 0 0}.attendance-package-heading{gap:5px;display:grid}.attendance-eyebrow{color:var(--secondary);font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;font-size:11px;font-weight:700}.attendance-refreshing{color:var(--secondary);align-items:center;gap:7px;font-size:12px;display:inline-flex}.attendance-readiness{text-align:right;justify-content:flex-end}.attendance-filters{border-top:1px solid var(--border-soft);margin-top:22px;padding-top:20px}.attendance-select-cell{gap:6px;display:grid}.attendance-select-label{color:var(--secondary);white-space:nowrap;align-items:center;gap:7px;display:flex}.attendance-student-id{color:var(--secondary);font-size:12px}.attendance-student-cell{gap:4px;display:grid}.attendance-student-meta,.attendance-last-editor,.attendance-editor-column{color:var(--secondary);font-size:12px}.attendance-editor-column{min-width:112px;line-height:1.45;display:inline-block}.attendance-mark-cell{gap:7px;min-width:168px;display:grid}.attendance-not-applicable{color:var(--secondary);font-size:12px;font-style:italic}.attendance-action-bar{border-radius:var(--r-lg);margin-top:8px;padding:12px 18px}.attendance-action-summary,.attendance-action-meta,.attendance-action-buttons{align-items:center;gap:10px;display:flex}.attendance-action-meta{flex-wrap:wrap}.attendance-action-summary{color:var(--secondary);font-size:13px;font-weight:600}.attendance-action-summary-dot{background:var(--primary);width:7px;height:7px;box-shadow:0 0 0 4px var(--primary);border-radius:50%;flex:none}@supports (color:color-mix(in lab,red,red)){.attendance-action-summary-dot{box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 14%,transparent)}}@media (max-width:700px){.attendance-filter-grid{grid-template-columns:1fr}.attendance-package-toolbar,.attendance-notice{flex-direction:column;align-items:stretch}.attendance-readiness{text-align:left;justify-content:flex-start}.attendance-action-meta,.attendance-action-buttons{justify-content:space-between}.attendance-action-buttons{width:100%}.attendance-action-buttons .btn{flex:1}.attendance-statuses{width:100%;display:flex}.attendance-statuses .btn{flex:50%!important;min-height:38px!important}}.student-profile-hero{background:var(--surface-lowest);border:1px solid var(--border-soft);box-shadow:var(--shadow-1);border-radius:20px;flex-direction:column;gap:20px;padding:20px;display:flex}.student-stats-strip{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.student-stat-card{border:1px solid #0000;border-radius:14px;flex-direction:column;gap:6px;padding:12px 12px 14px;display:flex}.student-stat-top{font-size:10.5px;font-family:var(--font-mono);letter-spacing:.03em;white-space:nowrap;align-items:center;gap:5px;min-width:0;font-weight:600;display:flex;overflow:hidden}.student-stat-top svg{flex-shrink:0}.student-stat-top span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.student-stat-val{letter-spacing:-.01em;font-size:22px;font-weight:700;line-height:1}.student-stat-red{color:var(--error);background:#ef44440d;border-color:#ef444426}.student-stat-red .student-stat-val{color:var(--on-surface)}.student-stat-green{color:var(--success);background:#1f8a5b0f;border-color:#1f8a5b26}.student-stat-green .student-stat-val{color:var(--on-surface)}.student-stat-yellow{color:var(--warning);background:#b5651d0f;border-color:#b5651d26}.student-stat-yellow .student-stat-val{color:var(--on-surface)}.student-stat-blue{color:var(--info);background:#2a6fdb0d;border-color:#2a6fdb1f}.student-stat-blue .student-stat-val{color:var(--on-surface)}.student-summary-card{overflow:hidden}.student-summary-head{border-bottom:1px solid var(--border-soft);justify-content:center;align-items:center;gap:8px;padding:18px 24px 16px;display:flex}.student-summary-head span{letter-spacing:-.02em;color:var(--on-surface);font-size:15px;font-weight:700}.student-summary-rows{flex-direction:column;display:flex}.student-summary-row{border-bottom:1px solid var(--border-soft);align-items:baseline;gap:12px;padding:13px 24px;display:flex}.student-summary-row:last-child{border-bottom:none}.ssr-label{font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--secondary);flex:0 0 130px;font-size:10px;font-weight:700;line-height:1.4}.ssr-value{color:var(--on-surface);flex:1 1 0;min-width:0;font-size:14px;font-weight:600;line-height:1.4}.transcript-timeline-head{border-bottom:1px solid var(--border-soft);padding:20px}.transcript-expand-btn{border-radius:var(--r-md);border:1px solid var(--border-soft);background:var(--surface-low);width:34px;height:34px;color:var(--secondary);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s;display:inline-flex}.transcript-expand-btn:hover:not([disabled]){background:var(--surface-high);color:var(--on-surface)}.transcript-expand-btn:disabled{opacity:.4;cursor:default}.transcript-semester-tabs{scrollbar-width:none;gap:8px;padding-top:14px;padding-bottom:2px;display:flex;overflow-x:auto}.transcript-semester-tabs::-webkit-scrollbar{display:none}.ums .transcript-semester-tab,.ums .transcript-semester-tab:visited{border:1px solid var(--border-soft);background:var(--surface-low);color:var(--secondary);white-space:nowrap;cursor:pointer;border-radius:10px;flex-direction:column;flex-shrink:0;gap:1px;padding:8px 14px;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:flex}.ums .transcript-semester-tab:hover{background:var(--surface-high);border-color:var(--outline-variant);color:var(--on-surface);text-decoration:none}.ums .transcript-semester-tab.active,.ums .transcript-semester-tab.active:visited{background:var(--on-surface);border-color:var(--on-surface);color:#fff;text-decoration:none}.transcript-tab-label{font-size:13px;font-weight:600;line-height:1.2}.transcript-tab-count{font-size:11px;font-family:var(--font-mono);opacity:.75}.ums .transcript-semester-tab.active .transcript-tab-count{opacity:.8}.transcript-table{width:100%}.transcript-table thead{display:table-header-group!important}.transcript-table thead th{padding:10px 14px;font-size:10px}.transcript-table tbody tr{border-bottom:1px solid var(--row-sep)!important;padding:0!important;display:table-row!important}.transcript-table tbody tr:last-child{border-bottom:0!important}.transcript-table tbody td{border-bottom:none!important;padding:12px 14px!important;font-size:13px!important;display:table-cell!important}.transcript-table tbody td:before{display:none!important}@media (max-width:768px){.student-profile-hero{border-radius:16px;gap:14px;padding:14px}.student-stats-strip{grid-template-columns:repeat(4,1fr);gap:6px}.student-stat-card{border-radius:12px;gap:4px;padding:8px 8px 10px}.student-stat-top{white-space:normal;flex-direction:column;align-items:flex-start;gap:2px;font-size:9px}.student-stat-top svg{width:12px!important;height:12px!important}.student-stat-top span{white-space:normal;text-overflow:clip;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;line-height:1.2;overflow:visible}.student-stat-val{font-size:17px}.student-summary-head{padding:14px 16px 12px}.student-summary-row{gap:10px;padding:11px 16px}.ssr-label{flex:0 0 100px;font-size:9px}.ssr-value{font-size:13px}.transcript-timeline-head{padding:14px}.transcript-table thead th{padding:8px 6px!important;font-size:9px!important}.transcript-table tbody td{padding:10px 6px!important;font-size:12px!important}.ums .transcript-semester-tab,.ums .transcript-semester-tab:visited{padding:7px 12px}.transcript-tab-label{font-size:12px}.transcript-tab-count{font-size:10px}}@media (max-width:767px){.gradebook-import-dropzone-button{grid-template-columns:auto minmax(0,1fr);gap:14px;padding:18px}.gradebook-import-upload-icon{border-radius:15px;width:52px;height:52px}.gradebook-import-browse-button{grid-column:1/-1;justify-content:center;width:100%}.gradebook-import-benefits,.gradebook-import-allocation-grid{grid-template-columns:1fr}.gradebook-import-pending-category{flex-direction:column;align-items:flex-start}.gradebook-import-mapping-row{grid-template-columns:1fr}}.exam-schedule-view{gap:22px;display:grid}.exam-schedule-print-head{display:none}.exam-schedule-day-title{letter-spacing:.06em;text-transform:uppercase;color:var(--primary);margin:0 0 10px;font-size:.82rem;font-weight:800}.exam-schedule-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;display:grid}.exam-schedule-cell{border:1px solid var(--border-soft);border-radius:var(--r-md);background:var(--surface-lowest);gap:5px;padding:12px 14px;display:grid}.exam-schedule-agenda{gap:12px;display:grid}.exam-schedule-agenda-day{border:1px solid var(--border-soft);border-radius:var(--r-lg);background:var(--surface-lowest);overflow:hidden}.exam-schedule-agenda-day-heading{border-bottom:1px solid var(--border-soft);background:var(--surface-low);align-items:center;gap:8px;padding:12px 14px;display:flex}.exam-schedule-agenda-day-heading span{color:var(--secondary);font-family:var(--font-mono);text-transform:uppercase;font-size:11px;font-weight:700}.exam-schedule-agenda-day-heading strong{color:var(--on-surface);font-size:14px}.exam-schedule-agenda-day-heading .badge{margin-left:auto}.exam-schedule-agenda-events{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;padding:12px;display:grid}.exam-schedule-agenda-event{width:auto;height:auto;min-height:150px;position:relative;inset:auto}.exam-schedule-agenda-empty{color:var(--secondary);grid-column:1/-1;padding:16px;font-size:12px}@media (max-width:1080px){.exam-schedule-filters-layout{grid-template-columns:1fr}}@media (max-width:680px){.exam-schedule-filters,.exam-schedule-summary{grid-template-columns:1fr}.exam-schedule-metric,.exam-schedule-metric:first-child{border-top:1px solid var(--border-soft);border-left:0}.exam-schedule-metric:first-child{border-top:0}.exam-schedule-panel-toolbar{flex-direction:column;align-items:stretch;padding-top:8px;padding-bottom:8px}.exam-schedule-panel-actions,.exam-calendar-view-switcher,.exam-schedule-view-switcher,.exam-export-button{width:100%}.exam-schedule-panel-actions{align-items:stretch}.exam-schedule-view-switcher .btn{flex:1}.exam-export-button{margin-left:auto}.exam-calendar-view-switcher .btn{flex:1}.exam-schedule-grid-controls{flex-direction:column;align-items:stretch}.exam-schedule-date-navigator{justify-content:center}}@media print{.sidebar,.topbar,.bottom-nav,.no-print,.page-head{display:none!important}.ums .main{margin:0!important;padding:0!important}.exam-schedule-view{gap:16px}.exam-schedule-print-head{margin-bottom:12px;display:block}.exam-schedule-day{break-inside:avoid}.exam-schedule-cell{border-color:#000}}.proctor-panel{padding:20px}.proctor-panel-toolbar{margin-bottom:16px}.proctor-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:20px;display:grid}@media (max-width:960px){.proctor-layout{grid-template-columns:1fr}}.proctor-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.proctor-grid-card{border:1px solid var(--border-soft);background:var(--surface);border-radius:12px;overflow:hidden}.proctor-grid-card.is-violation{border-color:#b4530980;box-shadow:inset 0 0 0 1px #b4530926}.proctor-grid-card-head{background:var(--surface-low,#f6f5f1);border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.proctor-grid-slots{gap:8px;padding:12px;display:grid}.proctor-grid-cell{border:1px solid var(--border-soft);background:var(--surface);cursor:pointer;text-align:left;width:100%;font:inherit;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;transition:border-color .15s,background .15s;display:flex}.proctor-grid-cell:hover{border-color:var(--primary,#3d5af1)}.proctor-grid-cell.is-selected{border-color:var(--primary,#3d5af1);background:#3d5af114}.proctor-grid-cell.is-absent{background:#b91c1c14;border-color:#b91c1c66}.proctor-cell-dot{border-radius:50%;flex:none;width:8px;height:8px}.proctor-cell-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.proctor-cell-load{font-family:var(--font-mono,monospace);color:var(--secondary);font-size:11px;font-weight:700}.proctor-empty{text-align:center;color:var(--secondary);border:1px dashed var(--border-soft);border-radius:12px;padding:40px 20px}.proctor-balance-rail{border:1px solid var(--border-soft);background:var(--surface-low,#f6f5f1);border-radius:12px;padding:16px;position:sticky;top:16px}.proctor-balance-list{gap:10px;margin-top:12px;display:grid}.proctor-balance-row{grid-template-columns:minmax(0,1fr) 80px 52px;align-items:center;gap:8px;display:grid}.proctor-balance-name{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.proctor-balance-track{background:#29261b14;border-radius:999px;height:4px;position:relative}.proctor-balance-fill{border-radius:999px;height:100%}.proctor-balance-fill.is-ok{background:#15803d}.proctor-balance-fill.is-under{background:#b45309}.proctor-balance-fill.is-over{background:#b91c1c}.proctor-balance-target{background:var(--ink,#29261b);width:1.5px;height:8px;position:absolute;top:-2px}.proctor-balance-ratio{font-family:var(--font-mono,monospace);text-align:right;white-space:nowrap;font-size:11px;font-weight:700}.proctor-balance-adjust{margin-left:4px;font-size:10px}.proctor-balance-adjust.is-plus{color:#b45309}.proctor-balance-adjust.is-minus{color:#15803d}.proctor-absent-info{background:#b91c1c0f;border:1px solid #b91c1c33;border-radius:10px;flex-direction:column;gap:2px;padding:12px 14px;display:flex}.proctor-replacement-list{gap:8px;margin-top:10px;display:grid}.proctor-replacement-row{border:1px solid var(--border-soft);background:var(--surface);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex}.proctor-replacement-row.is-d4{background:#3d5af10d;border-color:#3d5af166}.proctor-swap-bar{background:var(--surface);border:1px solid var(--border-soft);z-index:50;border-radius:14px;align-items:center;gap:16px;padding:10px 16px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 12px 32px #29261b1f}.proctoring-panel{padding:20px}.proctor-staff-picker{gap:6px;max-height:320px;display:grid;overflow-y:auto}.proctor-staff-option{border:1px solid var(--border-soft);background:var(--surface);cursor:pointer;text-align:left;width:100%;font:inherit;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.proctor-staff-option:hover,.proctor-staff-option.is-selected{border-color:var(--primary,#3d5af1);background:#3d5af10d}.proctor-staff-option>span{gap:2px;min-width:0;display:grid}@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-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@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-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}
