@import"https://fonts.googleapis.com/css2?family=Sen&display=swap";/*! tailwindcss v4.1.16 | 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-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-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-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-300:oklch(80.8% .114 19.571);--color-red-500:oklch(63.7% .237 25.331);--color-orange-500:oklch(70.5% .213 47.604);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-700:oklch(55.5% .163 48.998);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-600:oklch(68.1% .162 75.834);--color-green-100:oklch(96.2% .044 156.743);--color-green-500:oklch(72.3% .219 149.579);--color-blue-50:oklch(97% .014 254.604);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-slate-950:oklch(12.9% .042 264.695);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-black:#000;--color-white:#fff;--spacing:4px;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--leading-relaxed:1.625;--leading-loose:2;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-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}:-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}html,*{margin:0;padding:0;font-family:sen}::-webkit-scrollbar{width:0;height:0}body{scroll-behavior:smooth;margin:calc(var(--spacing)*0);background-color:var(--color-white)}.inputs{margin:calc(var(--spacing)*2);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-gray-200);background-color:var(--color-gray-300);width:100%;padding:calc(var(--spacing)*2);--tw-outline-style:none;outline-style:none}input:focus,textarea:focus,select:focus{--tw-outline-style:none;outline-style:none}select{border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-gray-200);background-color:var(--color-gray-50);width:100%;padding:calc(var(--spacing)*1);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-outline-style:none;outline-style:none}.btn{border-radius:var(--radius-sm);background-color:var(--color-gray-500);width:120px;padding:calc(var(--spacing)*2);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-white);margin-inline:auto}.slide-in{animation:50ms ease-in-out forwards slide-in}.slide-out{animation:50ms ease-in-out alternate forwards slide-out}.slide-up{animation:60ms ease-in 20ms alternate forwards slide-up}@keyframes slide-in{0%{width:180px}to{width:80px}}.react-calendar{border:none!important}@keyframes slide-out{0%{width:100px}to{width:180px}}@media screen and (max-width:500px){@keyframes slide-in{0%{width:80px}to{width:100px}}.slide-in{animation:50ms ease-in-out forwards slide-in}.slide-out{animation:50ms ease-in-out alternate forwards slide-out}.ql-container{border:none!important}@keyframes slide-out{0%{width:0}to{width:180px}}}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}table,td{border-color:var(--color-gray-300)}button{cursor:pointer}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.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)}.inset-x-0{inset-inline:calc(var(--spacing)*0)}.-top-2{top:calc(var(--spacing)*-2)}.top-0{top:calc(var(--spacing)*0)}.top-2{top:calc(var(--spacing)*2)}.top-12{top:calc(var(--spacing)*12)}.top-16{top:calc(var(--spacing)*16)}.-right-1{right:calc(var(--spacing)*-1)}.right-0{right:calc(var(--spacing)*0)}.right-2{right:calc(var(--spacing)*2)}.right-4{right:calc(var(--spacing)*4)}.right-5{right:calc(var(--spacing)*5)}.bottom-4{bottom:calc(var(--spacing)*4)}.bottom-10{bottom:calc(var(--spacing)*10)}.left-0{left:calc(var(--spacing)*0)}.left-5{left:calc(var(--spacing)*5)}.z-10{z-index:10}.z-50{z-index:50}.z-\[400\]{z-index:400}.z-\[5000\]{z-index:5000}.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}}.my-1{margin-block:calc(var(--spacing)*1)}.my-2{margin-block:calc(var(--spacing)*2)}.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-5{margin-top:calc(var(--spacing)*5)}.mt-10{margin-top:calc(var(--spacing)*10)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.mb-7{margin-bottom:calc(var(--spacing)*7)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.table{display:table}.table-cell{display:table-cell}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-2\/3{height:66.6667%}.h-5{height:calc(var(--spacing)*5)}.h-8{height:calc(var(--spacing)*8)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-20{height:calc(var(--spacing)*20)}.h-24{height:calc(var(--spacing)*24)}.h-48{height:calc(var(--spacing)*48)}.h-56{height:calc(var(--spacing)*56)}.h-60{height:calc(var(--spacing)*60)}.h-64{height:calc(var(--spacing)*64)}.h-96{height:calc(var(--spacing)*96)}.h-\[100px\]{height:100px}.h-dvh{height:100dvh}.h-full{height:100%}.h-screen{height:100vh}.max-h-80{max-height:calc(var(--spacing)*80)}.max-h-\[90vh\]{max-height:90vh}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-56{min-height:calc(var(--spacing)*56)}.min-h-\[72px\]{min-height:72px}.min-h-screen{min-height:100vh}.w-1\/2{width:50%}.w-1\/3{width:33.3333%}.w-2{width:calc(var(--spacing)*2)}.w-2\/3{width:66.6667%}.w-5{width:calc(var(--spacing)*5)}.w-5\/6{width:83.3333%}.w-8{width:calc(var(--spacing)*8)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-20{width:calc(var(--spacing)*20)}.w-32{width:calc(var(--spacing)*32)}.w-48{width:calc(var(--spacing)*48)}.w-64{width:calc(var(--spacing)*64)}.w-72{width:calc(var(--spacing)*72)}.w-80{width:calc(var(--spacing)*80)}.w-\[48\%\]{width:48%}.w-\[80\%\]{width:80%}.w-\[90\%\]{width:90%}.w-\[90vw\]{width:90vw}.w-\[100px\]{width:100px}.w-\[130px\]{width:130px}.w-\[200px\]{width:200px}.w-\[min\(18rem\,85vw\)\]{width:min(18rem,85vw)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\[420px\]{max-width:420px}.min-w-0{min-width:calc(var(--spacing)*0)}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.table-auto{table-layout:auto}.table-fixed{table-layout:fixed}.border-collapse{border-collapse:collapse}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-around{justify-content:space-around}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}: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>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*1)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-3>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*3)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-10>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*10)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*10)*calc(1 - var(--tw-space-x-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-scroll{overflow:scroll}.overflow-y-auto{overflow-y:auto}.overflow-y-scroll{overflow-y:scroll}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-b-lg{border-bottom-right-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg)}.rounded-b-md{border-bottom-right-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.rounded-b-xl{border-bottom-right-radius:var(--radius-xl);border-bottom-left-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-x-0{border-inline-style:var(--tw-border-style);border-inline-width:0}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-y-2{border-block-style:var(--tw-border-style);border-block-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-r-2{border-right-style:var(--tw-border-style);border-right-width:2px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-4{border-bottom-style:var(--tw-border-style);border-bottom-width:4px}.border-none{--tw-border-style:none;border-style:none}.border-\[var\(--sidebar-border\)\]{border-color:var(--sidebar-border)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-400{border-color:var(--color-gray-400)}.border-green-500{border-color:var(--color-green-500)}.border-red-500{border-color:var(--color-red-500)}.border-slate-100{border-color:var(--color-slate-100)}.border-slate-200{border-color:var(--color-slate-200)}.border-slate-200\/80{border-color:#e2e8f0cc}@supports (color:color-mix(in lab,red,red)){.border-slate-200\/80{border-color:color-mix(in oklab,var(--color-slate-200)80%,transparent)}}.border-r-gray-200{border-right-color:var(--color-gray-200)}.border-b-gray-400{border-bottom-color:var(--color-gray-400)}.bg-\[var\(--sidebar-accent\)\]{background-color:var(--sidebar-accent)}.bg-\[var\(--sidebar-active\)\]{background-color:var(--sidebar-active)}.bg-\[var\(--sidebar-bg\)\]{background-color:var(--sidebar-bg)}.bg-amber-400{background-color:var(--color-amber-400)}.bg-black{background-color:var(--color-black)}.bg-blue-50{background-color:var(--color-blue-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-500{background-color:var(--color-green-500)}.bg-orange-500{background-color:var(--color-orange-500)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-500,.bg-red-500\/100{background-color:var(--color-red-500)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-800{background-color:var(--color-slate-800)}.bg-slate-950\/50{background-color:#02061880}@supports (color:color-mix(in lab,red,red)){.bg-slate-950\/50{background-color:color-mix(in oklab,var(--color-slate-950)50%,transparent)}}.bg-white{background-color:var(--color-white)}.bg-yellow-500{background-color:var(--color-yellow-500)}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-amber-100\/60{--tw-gradient-from:#fef3c699}@supports (color:color-mix(in lab,red,red)){.from-amber-100\/60{--tw-gradient-from:color-mix(in oklab,var(--color-amber-100)60%,transparent)}}.from-amber-100\/60{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.bg-cover{background-size:cover}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-1{padding:calc(var(--spacing)*1)}.p-1\.5{padding:calc(var(--spacing)*1.5)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-8{padding:calc(var(--spacing)*8)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-5{padding-block:calc(var(--spacing)*5)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.py-10{padding-block:calc(var(--spacing)*10)}.pt-6{padding-top:calc(var(--spacing)*6)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-5{padding-bottom:calc(var(--spacing)*5)}.pb-6{padding-bottom:calc(var(--spacing)*6)}.pl-1{padding-left:calc(var(--spacing)*1)}.text-center{text-align:center}.text-right{text-align:right}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.leading-6{--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}.leading-loose{--tw-leading:var(--leading-loose);line-height:var(--leading-loose)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.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-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.18em\]{--tw-tracking:.18em;letter-spacing:.18em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-\[var\(--sidebar-active-text\)\]{color:var(--sidebar-active-text)}.text-\[var\(--sidebar-muted\)\]{color:var(--sidebar-muted)}.text-\[var\(--sidebar-text\)\]{color:var(--sidebar-text)}.text-black{color:var(--color-black)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-green-500{color:var(--color-green-500)}.text-orange-500{color:var(--color-orange-500)}.text-red-300{color:var(--color-red-300)}.text-red-500{color:var(--color-red-500)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-700{color:var(--color-slate-700)}.text-slate-800{color:var(--color-slate-800)}.text-slate-900{color:var(--color-slate-900)}.text-white{color:var(--color-white)}.text-yellow-500{color:var(--color-yellow-500)}.text-yellow-600{color:var(--color-yellow-600)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px 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-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-slate-200\/60{--tw-shadow-color:#e2e8f099}@supports (color:color-mix(in lab,red,red)){.shadow-slate-200\/60{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-slate-200)60%,transparent)var(--tw-shadow-alpha),transparent)}}.ring-slate-100{--tw-ring-color:var(--color-slate-100)}.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,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.hover\:bg-\[var\(--sidebar-hover\)\]:hover{background-color:var(--sidebar-hover)}.hover\:bg-slate-50:hover{background-color:var(--color-slate-50)}.hover\:bg-slate-100:hover{background-color:var(--color-slate-100)}.hover\:text-\[var\(--sidebar-text\)\]:hover{color:var(--sidebar-text)}.hover\:text-amber-700:hover{color:var(--color-amber-700)}}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}@media (min-width:40rem){.sm\:p-6{padding:calc(var(--spacing)*6)}.sm\:px-6{padding-inline:calc(var(--spacing)*6)}.sm\:px-9{padding-inline:calc(var(--spacing)*9)}.sm\:py-10{padding-block:calc(var(--spacing)*10)}}@media (min-width:48rem){.md\:bottom-5{bottom:calc(var(--spacing)*5)}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:table-cell{display:table-cell}.md\:h-28{height:calc(var(--spacing)*28)}.md\:h-\[250px\]{height:250px}.md\:h-full{height:100%}.md\:w-1\/2{width:50%}.md\:w-1\/3{width:33.3333%}.md\:w-1\/4{width:25%}.md\:w-5\/6{width:83.3333%}.md\:w-28{width:calc(var(--spacing)*28)}.md\:w-72{width:calc(var(--spacing)*72)}.md\:w-\[130px\]{width:130px}.md\:w-\[200px\]{width:200px}.md\:flex-row{flex-direction:row}.md\:border-x-2{border-inline-style:var(--tw-border-style);border-inline-width:2px}.md\:border-y-0{border-block-style:var(--tw-border-style);border-block-width:0}.md\:border-none{--tw-border-style:none;border-style:none}.md\:border-red-500{border-color:var(--color-red-500)}.md\:p-20{padding:calc(var(--spacing)*20)}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}}:root{--brand-primary:#0b0b0b;--brand-primary-text:#fff;--brand-secondary:#facc15;--brand-secondary-text:#000;--brand-accent:#fff;--brand-ink:#0b0b0b;--brand-soft:#fef9e3;--brand-border:#e1d7ad;--brand-hover:#fef4cc;--workspace-bg:#f6f7f9;--workspace-surface-muted:#f9fafb;--workspace-text:#1e293b;--workspace-muted:#64748b;--workspace-border:#e2e8f0}.staff-shell{background:var(--workspace-bg);color:var(--workspace-text)}.staff-shell>div>header,.workspace-context{border-color:var(--workspace-border)}.staff-shell .workspace-context select:focus-visible,.staff-shell button:focus-visible,.staff-shell a:focus-visible{outline-color:var(--brand-ink)}.staff-shell input[type=checkbox],.staff-shell input[type=radio]{accent-color:var(--brand-ink)}.staff-shell :is(.dashboard-banner,.roster-banner,.attendance-banner,.timetable-banner,.midterm-banner,.exam-banner){background-color:var(--brand-primary);color:var(--brand-primary-text)}.staff-shell :is(.dashboard-banner,.roster-banner,.attendance-banner,.timetable-banner,.midterm-banner,.exam-banner) :is(h2,h3,h4),.staff-shell :is(.dashboard-banner,.roster-banner,.attendance-banner,.timetable-banner,.midterm-banner,.exam-banner) :is(p,.dashboard-eyebrow){color:var(--brand-primary-text)}@supports (color:color-mix(in lab,red,red)){.staff-shell :is(.dashboard-banner,.roster-banner,.attendance-banner,.timetable-banner,.midterm-banner,.exam-banner) :is(p,.dashboard-eyebrow){color:color-mix(in srgb,var(--brand-primary-text)78%,transparent)}}.staff-shell :is(.dashboard-banner,.roster-banner,.attendance-banner,.timetable-banner,.midterm-banner,.exam-banner) p span{color:inherit}.staff-shell :is(.records-banner,.subject-settings-banner,.homework-banner){background:var(--brand-soft);border-color:var(--brand-border);color:var(--workspace-text)}.staff-shell :is(.records-banner,.subject-settings-banner,.homework-banner) :is(h2,h3){color:var(--brand-ink)}.staff-shell :is(.records-banner-label,.homework-banner-label,.midterm-banner-label){color:var(--brand-ink);background:var(--brand-soft)}.staff-shell :is(.dashboard-icon.green,.dashboard-icon.blue,.dashboard-icon.purple,.dashboard-icon.amber){background:var(--brand-soft);color:var(--brand-ink)}.staff-shell :is(.dashboard-banner>a,.roster-button-primary,.attendance-button-primary,.midterm-button-primary,.records-button.primary,.subject-settings-button.primary,.homework-button.primary){background:var(--brand-secondary);border-color:var(--brand-secondary);color:var(--brand-secondary-text)}.staff-shell :is(.dashboard-banner>a,.roster-button-primary,.attendance-button-primary,.midterm-button-primary,.records-button.primary,.subject-settings-button.primary,.homework-button.primary):hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-border);color:var(--brand-ink)}.staff-shell :is(.records-terms button.active,.attendance-tabs button.active,.midterm-tabs button.active){color:var(--brand-ink);border-color:var(--brand-border)}.staff-shell .subject-settings-toggle input:checked+span{background:var(--brand-ink)}.staff-shell .subject-settings-toggle input:focus-visible+span,.staff-shell :is(.homework-search,.subject-settings-search):focus-within{outline-color:var(--brand-ink)}.staff-shell .homework-rich-editor .ql-snow .ql-stroke{stroke:var(--workspace-muted)}.staff-shell .homework-rich-editor .ql-editor:focus-visible{outline-color:var(--brand-ink)}.staff-shell .homework-rich-editor .ql-snow :is(button:hover,button.ql-active) .ql-stroke{stroke:var(--brand-ink)}.staff-shell .homework-rich-editor .ql-snow .ql-picker{color:var(--workspace-muted)}.staff-shell .react-calendar__tile--active,.staff-shell :is(button.bg-blue-500,button.bg-green-500,button.bg-black){background:var(--brand-secondary);color:var(--brand-secondary-text)}:root .auth-story{background:var(--brand-primary);color:var(--brand-primary-text)}:root .auth-story :is(.auth-brand,.auth-eyebrow,.auth-story-description,.auth-preview small,.auth-preview-row,.auth-preview-bottom,.auth-story-footer){color:var(--brand-primary-text)}@supports (color:color-mix(in lab,red,red)){:root .auth-story :is(.auth-brand,.auth-eyebrow,.auth-story-description,.auth-preview small,.auth-preview-row,.auth-preview-bottom,.auth-story-footer){color:color-mix(in srgb,var(--brand-primary-text)78%,transparent)}}:root .auth-story h1 em{color:var(--brand-secondary)}:root .auth-preview-icon,.auth-preview-dot,.auth-eyebrow span,:root .auth-primary{background:var(--brand-secondary);color:var(--brand-secondary-text)}:root .auth-primary:hover:not(:disabled){background:var(--brand-hover);color:var(--brand-ink)}:root .auth-input-wrap:focus-within{border-color:var(--brand-ink);box-shadow:0 0 0 3px var(--brand-soft)}:root .auth-shell :is(.auth-card-eyebrow,.auth-forgot,.auth-register a,.auth-school button,.auth-steps .is-complete){color:var(--brand-ink)}.staff-shell .staff-page .attendance-calendar-card .react-calendar__tile--active,.staff-shell .staff-page :is(button.bg-blue-500,button.bg-green-500,button.bg-black){background:var(--brand-secondary);color:var(--brand-secondary-text)}.staff-notifications{z-index:500;border:1px solid var(--workspace-border);background:#fff;border-radius:16px;width:min(410px,100vw - 32px);max-height:calc(100dvh - 110px);position:fixed;top:78px;right:20px;overflow:auto;box-shadow:0 16px 50px #0002}.staff-notifications header{border-bottom:1px solid var(--workspace-border);justify-content:space-between;align-items:center;padding:18px;display:flex}.staff-notifications h3{align-items:center;gap:10px;font-size:15px;font-weight:700;display:flex}.staff-notifications button{color:var(--brand-ink);padding:6px;font-size:11px}.staff-push-preference{background:var(--brand-soft);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;font-size:10px;display:flex}.staff-push-preference button{font-weight:700}.staff-notification-list{padding:16px}.staff-notification-list>p{text-align:center;color:var(--workspace-muted);padding:35px 15px;font-size:12px}.staff-notification-list article{border:1px solid var(--brand-border);background:var(--brand-soft);border-radius:10px;margin-bottom:12px;padding:15px}.staff-notification-list article.read{border-color:var(--workspace-border);background:#fff}.staff-notification-list h4{font-size:12px;font-weight:700}.staff-notification-list article p{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0;font-size:11px;line-height:1.8}.staff-notification-list footer{justify-content:space-between;align-items:center;font-size:10px;display:flex}.staff-notification-list footer a{color:var(--brand-ink);font-weight:700}.staff-notification-list footer button{align-items:center;gap:5px;display:flex}.staff-notification-error{color:#a14132;margin:14px 18px;font-size:11px;line-height:1.8}.staff-unread-badge{background:var(--brand-secondary);color:var(--brand-secondary-text);border:2px solid #fff;border-radius:10px;min-width:17px;padding:2px 4px;font-size:8px;font-weight:700;position:absolute;top:-5px;right:-5px}.staff-push-toast{z-index:450;border:1px solid var(--brand-border);background:#fff;border-radius:12px;align-items:center;gap:14px;padding:16px 20px;font-size:12px;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 10px 35px #0002}.staff-push-toast button{color:var(--brand-ink);font-size:11px;font-weight:700}.staff-shell{font-size:14px}.staff-shell ::-webkit-scrollbar{width:6px;height:6px}.staff-shell ::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:8px}.staff-page{background:#fff;border:1px solid #e2e8f0;border-radius:16px;min-width:0;box-shadow:0 1px 3px #0f172a06}.staff-page>div{min-width:0;height:auto;max-height:none;overflow:visible}.staff-page input:not([type=checkbox]):not([type=radio]):not([type=file]),.staff-page textarea,.staff-shell select{color:#334155;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:8px 10px;font-size:12px}.staff-shell button{transition:background-color .15s,box-shadow .15s}.staff-shell button:disabled{opacity:.5;cursor:not-allowed}.staff-shell :is(button,a,input,select,textarea):focus-visible{outline-offset:3px;outline:2px solid #2563eb}.staff-page table{border-collapse:collapse;font-size:12px}.staff-page thead{color:#64748b;background:#f8fafc}.staff-page th{text-align:left;font-weight:600}.staff-page :is(th,td),.staff-page tbody tr{border-color:#e2e8f0}.staff-page tbody tr:hover{background-color:#f8fafc}.staff-page .shadow-md{border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0f172a0d}.staff-page button:is(.bg-red-500,.bg-blue-500,.bg-green-500,.bg-black){border-radius:8px;padding:8px 12px;font-weight:600}.staff-page button.bg-red-500{background:#dc2626}.staff-page button.bg-blue-500{background:#2563eb}.staff-page .react-calendar{background:#f8fafc;border-radius:12px;width:100%;padding:8px}.staff-page .react-calendar__tile--active{background:#2563eb;border-radius:6px}.staff-stat{background:#fff;border:1px solid #e2e8f0;border-radius:12px;min-width:0;padding:20px;box-shadow:0 1px 3px #0f172a06}@media (max-width:767px){.staff-page>div{flex-direction:column}.staff-page>div>div{max-width:100%}.staff-page{overflow-x:auto}.workspace-context select{max-width:160px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.auth-shell{color:#18251f;background:#fafaf8;grid-template-columns:minmax(0,1fr) minmax(460px,1fr);min-height:100dvh;display:grid}.auth-story{color:#fff;background:#173b30;flex-direction:column;padding:40px clamp(32px,5vw,80px);display:flex;position:relative;overflow:hidden}.auth-story:after{content:"";pointer-events:none;border:1px solid #ffffff0b;border-radius:50%;width:500px;height:500px;position:absolute;top:-250px;right:-270px;box-shadow:0 0 0 70px #ffffff03,0 0 0 140px #ffffff03}.auth-brand{color:#fff;align-items:center;gap:12px;width:fit-content;font-size:20px;font-weight:700;text-decoration:none;display:flex}.auth-brand img{object-fit:contain;background:#ffffff10;border-radius:12px;width:44px;height:44px;padding:6px}.auth-brand small{letter-spacing:2px;color:#bad0c7;margin-top:5px;font-size:9px;font-weight:400;display:block}.auth-story-content{z-index:1;max-width:520px;margin:auto 0;padding:64px 0;position:relative}.auth-eyebrow{color:#c1d4cb;align-items:center;gap:9px;margin-bottom:24px;font-size:12px;display:flex}.auth-eyebrow span{background:#dcba79;border-radius:50%;width:6px;height:6px}.auth-story h1{letter-spacing:-2px;font-size:clamp(36px,3.4vw,54px);font-weight:600;line-height:1.15}.auth-story h1 em{color:#edcc8e;font-family:Georgia,serif;font-weight:400}.auth-story-description{color:#b7cec3;max-width:420px;margin-top:22px;font-size:14px;line-height:1.85}.auth-preview{background:#ffffff08;border:1px solid #ffffff18;border-radius:18px;max-width:390px;margin-top:40px;padding:22px;transform:rotate(-2deg);box-shadow:0 16px 40px #061d191a}.auth-preview-top{border-bottom:1px solid #ffffff15;align-items:center;gap:12px;padding-bottom:18px;display:flex}.auth-preview-icon{color:#173b30;background:#edcc8e;border-radius:11px;place-items:center;width:40px;height:40px;font-size:20px;display:grid}.auth-preview strong{font-size:12px;display:block}.auth-preview small{color:#b7cec3;margin-top:5px;font-size:10px;display:block}.auth-preview-dot{background:#edcc8e;border-radius:50%;width:7px;height:7px;margin-left:auto}.auth-preview-row{color:#c7dcd0;justify-content:space-between;align-items:center;margin-top:18px;font-size:12px;display:flex}.auth-preview-row span{align-items:center;gap:10px;display:flex}.auth-preview-bottom{color:#aac7b8;border-top:1px solid #ffffff15;justify-content:space-between;align-items:center;margin-top:20px;padding-top:16px;font-size:10px;display:flex}.auth-story-footer{color:#9ebaae;justify-content:space-between;gap:16px;font-size:10px;display:flex}.auth-main{flex-direction:column;justify-content:center;align-items:center;min-width:0;padding:48px 36px 24px;display:flex}.auth-card{width:100%;max-width:410px;margin:auto 0;padding:32px 0}.auth-steps{color:#a0aaa4;align-items:center;gap:14px;margin-bottom:46px;font-size:10px;font-weight:600;display:flex}.auth-steps>span{align-items:center;gap:8px;display:flex}.auth-steps .is-complete{color:#285644}.auth-steps i{background:#d6ded7;width:32px;height:1px}.auth-card-eyebrow{color:#648173;letter-spacing:2px;margin-bottom:12px;font-size:10px;font-weight:600}.auth-card h2{letter-spacing:-1.4px;font-size:36px;font-weight:600;line-height:1.2}.auth-card-description{color:#76827a;margin-top:12px;margin-bottom:30px;font-size:13px;line-height:1.7}.auth-form{flex-direction:column;gap:20px;display:flex}.auth-field-group label{margin-bottom:9px;font-size:12px;font-weight:600;display:block}.auth-input-wrap{background:#fff;border:1px solid #dce2dc;border-radius:10px;align-items:center;gap:12px;min-height:52px;padding:0 14px;transition:border-color .15s,box-shadow .15s;display:flex}.auth-input-wrap>svg{color:#8c9c91;flex-shrink:0;font-size:18px}.auth-input-wrap:focus-within{border-color:#3c725a;box-shadow:0 0 0 3px #3c725a12}.auth-input-wrap input{color:#18251f;background:0 0;border:none;width:100%;min-width:0;padding:14px 0;font-size:13px}.auth-input-wrap input::placeholder{color:#a0aaa4}.auth-password-toggle{color:#76827a;border-radius:6px;place-items:center;padding:8px;display:grid}.auth-hint{color:#8b978e;margin-top:9px;font-size:11px;line-height:1.6}.auth-primary{color:#fff;background:#1d4939;border-radius:10px;justify-content:center;align-items:center;gap:12px;width:100%;min-height:52px;padding:12px 20px;font-size:12px;font-weight:600;transition:background .15s,transform .15s;display:flex}.auth-primary:hover:not(:disabled){background:#28604b;transform:translateY(-1px)}.auth-shell button:disabled{opacity:.55;cursor:not-allowed}.auth-shell :is(a,button):focus-visible{outline-offset:4px;outline:2px solid #648173}.auth-help{color:#8b978e;text-align:center;font-size:11px;line-height:1.7}.auth-school{background:#f0f4ef;border:1px solid #dfe7df;border-radius:10px;align-items:center;gap:12px;padding:14px;display:flex}.auth-school img{object-fit:contain;width:36px;height:36px}.auth-school div{flex:1;min-width:0}.auth-school strong{overflow-wrap:anywhere;font-size:12px;display:block}.auth-school span{color:#7c8b80;margin-top:4px;font-size:10px;display:block}.auth-school button{color:#285644;border-radius:6px;padding:6px;font-size:11px;font-weight:600}.auth-forgot{text-align:right;color:#285644;margin-top:-9px;font-size:11px}.auth-register{text-align:center;color:#87918a;margin-top:2px;font-size:11px}.auth-register a{color:#285644;margin-left:4px;font-weight:600}.auth-form a:hover{text-decoration:underline}.auth-access-note{text-align:center;color:#98a198;border-top:1px solid #e4e8e2;margin-top:32px;padding-top:20px;font-size:10px}.auth-error{color:#a14132;background:#fff3ef;border:1px solid #f3d4cf;border-radius:10px;align-items:flex-start;gap:10px;margin-bottom:20px;padding:12px 14px;font-size:12px;line-height:1.6;display:flex}.auth-error svg{flex-shrink:0;margin-top:3px}.auth-footer{color:#98a198;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:24px;font-size:10px;display:flex}.auth-footer a{color:#648173}.auth-mobile-brand{display:none}@media (min-width:1500px){.auth-shell{grid-template-columns:minmax(0,1.1fr) minmax(460px,1fr)}}@media (max-width:1000px){.auth-story{padding:32px}.auth-story h1{font-size:38px}.auth-shell{grid-template-columns:minmax(0,1fr) minmax(420px,1fr)}}@media (max-width:767px){.auth-shell{display:block}.auth-story{display:none}.auth-main{min-height:100dvh;padding:28px 24px 20px}.auth-mobile-brand{align-self:flex-start;align-items:center;gap:10px;font-size:16px;font-weight:700;display:flex}.auth-mobile-brand img{object-fit:contain;width:32px;height:32px}.auth-card{padding:40px 0 24px}.auth-steps{margin-bottom:32px}.auth-card h2{font-size:32px}}.auth-session-notice{color:#3f6451;background:#eff5f0;border:1px solid #dbe7df;border-radius:10px;margin-bottom:20px;padding:12px 14px;font-size:12px;line-height:1.6}.staff-page:has(>.dashboard){box-shadow:none;background:0 0;border:none}.dashboard{flex-direction:column;gap:24px;display:flex}.dashboard-banner{background:var(--brand-primary);color:#fff;background-image:radial-gradient(at 100% 0,#ffffff0a,#0000 60%);border-radius:16px;justify-content:space-between;align-items:center;gap:24px;padding:28px 32px;display:flex}.dashboard-eyebrow{letter-spacing:1.6px;color:var(--workspace-muted);margin-bottom:9px;font-size:9px;font-weight:600;display:block}.dashboard-banner .dashboard-eyebrow{color:var(--workspace-muted)}.dashboard-banner h3{letter-spacing:-.7px;font-size:clamp(20px,2vw,28px);font-weight:600}.dashboard-banner p{color:var(--workspace-muted);margin-top:10px;font-size:12px}.dashboard-banner p span{margin:0 7px}.dashboard-banner>a{color:var(--workspace-text);background:#edcc8e;border-radius:9px;flex-shrink:0;align-items:center;gap:10px;padding:12px 16px;font-size:11px;font-weight:600;display:flex}.dashboard-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.dashboard-metric{border:1px solid var(--workspace-border);background:#fff;border-radius:14px;min-width:0;padding:22px;position:relative}.dashboard-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:18px;display:inline-flex}.dashboard-icon.green{color:var(--brand-ink);background:var(--brand-soft)}.dashboard-icon.blue{color:#4772ab;background:#edf3fb}.dashboard-icon.amber{color:#aa843b;background:#faf3e3}.dashboard-icon.purple{color:#8063a5;background:#f2edf9}.dashboard-metric-label{color:var(--workspace-muted);margin-top:17px;font-size:11px;display:block}.dashboard-metric strong{color:var(--workspace-text);overflow-wrap:anywhere;margin-top:7px;font-size:24px;font-weight:600;line-height:1.25;display:block}.dashboard-metric p{color:var(--workspace-muted);margin-top:9px;font-size:10px;line-height:1.6}.dashboard-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.dashboard-actions a{border:1px solid var(--workspace-border);background:#fff;border-radius:12px;align-items:center;gap:12px;padding:16px;transition:border-color .15s,transform .15s;display:flex}.dashboard-actions a:hover{border-color:var(--brand-ink);transform:translateY(-2px)}.dashboard-actions strong{color:var(--workspace-text);font-size:11px;display:block}.dashboard-actions small{color:var(--workspace-muted);margin-top:4px;font-size:9px;line-height:1.6;display:block}.dashboard-action-arrow{color:var(--workspace-muted);flex-shrink:0;margin-left:auto}.dashboard-analysis{border:1px solid var(--workspace-border);background:#fff;border-radius:16px;padding:24px}.dashboard-section-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.dashboard-section-heading h3{letter-spacing:-.5px;color:var(--workspace-text);font-size:20px;font-weight:600}.dashboard-section-heading p{color:var(--workspace-muted);margin-top:6px;font-size:11px;line-height:1.6}.dashboard-filters{align-items:flex-end;gap:10px;display:flex}.dashboard-filters label,.dashboard-subject-label{color:var(--workspace-muted);font-size:10px;font-weight:600;display:block}.dashboard-filters select{min-width:130px;margin-top:6px}.dashboard-filters button{border:1px solid var(--workspace-border);color:var(--workspace-muted);border-radius:8px;padding:10px}.dashboard-insight-grid{grid-template-columns:minmax(0,1.65fr) minmax(250px,1fr);gap:24px;display:grid}.dashboard-panel{border:1px solid var(--workspace-border);border-radius:12px;min-width:0;padding:20px}.dashboard-panel-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.dashboard-panel h4{color:var(--workspace-text);font-size:13px;font-weight:600}.dashboard-panel-heading p{color:var(--workspace-muted);margin-top:6px;font-size:10px}.dashboard-chip{background:var(--workspace-surface-muted);color:var(--workspace-muted);white-space:nowrap;border-radius:6px;padding:6px 8px;font-size:9px}.dashboard-subject-label select{margin-top:8px}.dashboard-grade-list{flex-direction:column;gap:18px;margin-top:24px;display:flex}.dashboard-grade-row{align-items:center;gap:12px;display:flex}.dashboard-grade{background:var(--brand-soft);width:26px;height:26px;color:var(--brand-ink);border-radius:7px;place-items:center;font-size:10px;font-weight:600;display:grid}.dashboard-grade.grade-E,.dashboard-grade.grade-F{color:#bb7b61;background:#fbefea}.dashboard-grade-track{background:#f1f5f1;border-radius:4px;flex:1;height:6px;overflow:hidden}.dashboard-grade-track>div{background:#648f73;border-radius:4px;height:100%}.dashboard-grade-row strong{text-align:right;color:#48604e;width:25px;font-size:11px;font-weight:600}.dashboard-grade-row small{text-align:right;color:#9ba59d;width:35px;font-size:10px}.dashboard-grade-note{color:#98a198;margin-top:22px;font-size:10px;line-height:1.7}.dashboard-empty{text-align:center;background:var(--workspace-surface-muted);color:var(--workspace-muted);border-radius:12px;padding:50px 20px}.dashboard-empty>svg{width:28px;height:28px;margin:0 auto 15px}.dashboard-empty h4{color:var(--workspace-text);font-size:14px;font-weight:600}.dashboard-empty p{max-width:380px;margin:10px auto 0;font-size:12px;line-height:1.8}.dashboard-empty a{color:var(--brand-ink);align-items:center;gap:8px;margin-top:20px;font-size:12px;font-weight:600;display:inline-flex}.dashboard-notice{color:#947431;background:#fff8e8;border:1px solid #f4e5be;border-radius:8px;margin-bottom:16px;padding:12px;font-size:12px}.dashboard-panel-empty{color:var(--workspace-muted);padding:30px 0;font-size:12px}.dashboard-score-details{color:var(--workspace-muted);margin-top:12px;font-size:11px}.dashboard-score-details summary{cursor:pointer;padding:8px 0}.dashboard-score-details table{width:100%;margin-top:8px}.dashboard-score-details td,.dashboard-score-details th{border-bottom:1px solid var(--workspace-border);padding:8px}.dashboard-bottom-note{color:var(--workspace-muted);align-items:center;gap:10px;padding:0 4px;font-size:11px;display:flex}.dashboard-bottom-note a{color:var(--workspace-muted);align-items:center;gap:8px;margin-left:auto;display:flex}@media (max-width:1200px){.dashboard-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-insight-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:900px){.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-banner{flex-direction:column;align-items:flex-start;padding:24px}}@media (max-width:500px){.dashboard{gap:16px}.dashboard-metrics{gap:10px}.dashboard-metric{padding:16px}.dashboard-metric strong{font-size:20px}.dashboard-actions{grid-template-columns:minmax(0,1fr)}.dashboard-analysis{padding:16px}.dashboard-section-heading{flex-direction:column;align-items:flex-start}.dashboard-filters{width:100%}.dashboard-filters label{flex:1}.dashboard-panel{padding:14px}.dashboard-bottom-note{flex-wrap:wrap;line-height:1.7}.dashboard-bottom-note a{width:100%;margin-left:0}}.staff-page:has(>.students-workspace){box-shadow:none;background:0 0;border:none}.students-workspace{flex-direction:column;gap:20px;display:flex}.roster-banner{background:var(--brand-primary);color:#fff;border-radius:16px;justify-content:space-between;align-items:center;gap:20px;padding:26px 30px;display:flex}.roster-banner .dashboard-eyebrow{color:var(--workspace-muted)}.roster-banner h3{letter-spacing:-.7px;font-size:27px;font-weight:600}.roster-banner h3 span{vertical-align:middle;border:1px solid #ffffff25;border-radius:8px;margin-left:8px;padding:4px 10px;font-size:15px;display:inline-block}.roster-banner p{color:var(--workspace-muted);margin-top:10px;font-size:12px}.roster-banner-session{color:#edcc8e;align-items:center;gap:14px;font-size:12px;display:flex}.roster-banner-session>svg{width:23px;height:23px}.roster-banner-session small{color:var(--workspace-muted);margin-top:5px;font-size:10px;display:block}.roster-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.roster-stats article{border:1px solid var(--workspace-border);background:#fff;border-radius:12px;align-items:center;gap:16px;padding:20px;display:flex}.roster-stats strong{color:var(--workspace-text);font-size:23px;font-weight:600;display:block}.roster-stats article div>span{color:var(--workspace-muted);margin-top:4px;font-size:10px;display:block}.roster-stat-symbol{border-radius:10px;flex-shrink:0;place-items:center;width:38px;height:38px;font-size:13px;font-weight:600;display:grid}.roster-stat-symbol.blue{color:#4772ab;background:#edf3fb}.roster-stat-symbol.amber{color:#aa843b;background:#faf3e3}.roster-layout{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:20px;display:grid}.roster-main{border:1px solid var(--workspace-border);background:#fff;border-radius:14px;min-width:0;overflow:hidden}.roster-section-heading{padding:24px 24px 18px}.roster-section-heading h3{color:var(--workspace-text);align-items:center;gap:9px;font-size:17px;font-weight:600;display:flex}.roster-section-heading h3 span{background:var(--brand-soft);color:var(--workspace-muted);border-radius:6px;padding:4px 7px;font-size:10px}.roster-section-heading p{color:var(--workspace-muted);margin-top:7px;font-size:11px;line-height:1.7}.roster-toolbar{align-items:center;gap:12px;padding:0 24px 22px;display:flex}.roster-search{border:1px solid var(--workspace-border);min-width:0;color:var(--workspace-muted);background:#fff;border-radius:9px;flex:1;align-items:center;gap:9px;padding:0 12px;display:flex}.staff-page .roster-search input{background:0 0;border:none;border-radius:0;width:100%;min-width:0;padding:11px 0}.roster-search:focus-within{border-color:var(--brand-ink)}.roster-filter{position:relative}.roster-filter>span{width:1px;height:1px;position:absolute;overflow:hidden}.staff-shell .roster-filter select{min-width:120px;padding:10px}.roster-selection-bar{background:var(--brand-soft);border-top:1px solid var(--workspace-border);border-bottom:1px solid var(--workspace-border);color:var(--workspace-text);justify-content:space-between;align-items:center;gap:10px;padding:12px 24px;font-size:11px;display:flex}.roster-selection-bar>span{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.roster-selection-bar small{color:var(--workspace-muted);font-size:10px}.roster-selection-bar button{white-space:nowrap;font-weight:600}.roster-table-scroll{overflow-x:auto}.roster-table{text-align:left;width:100%}.roster-table th{white-space:nowrap;background:var(--workspace-surface-muted);color:var(--workspace-muted);padding:13px 12px;font-size:10px;font-weight:600}.roster-table td{border-top:1px solid var(--workspace-border);padding:14px 12px;font-size:11px}.roster-table tr.is-selected{background:var(--workspace-surface-muted)}.roster-table .roster-checkbox-cell{width:44px;padding-left:24px;padding-right:4px}.roster-table input[type=checkbox]{width:14px;height:14px;accent-color:var(--brand-primary);cursor:pointer;vertical-align:middle}.roster-student-name{text-align:left;align-items:center;gap:12px;min-width:170px;display:flex}.roster-student-name strong{color:var(--workspace-text);font-size:12px;font-weight:600;display:block}.roster-student-name small{color:var(--workspace-muted);margin-top:5px;font-size:10px;display:block}.student-avatar{background:var(--brand-soft);border:1px solid var(--workspace-border);width:38px;height:38px;color:var(--workspace-muted);border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.student-avatar img{object-fit:cover;width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0}.student-avatar-large{border-radius:22px;width:88px;height:88px;font-size:25px}.roster-gender{color:var(--workspace-muted)}.roster-status{color:#9ba59d;white-space:nowrap;background:#f3f5f3;border-radius:6px;align-items:center;gap:5px;padding:5px 8px;font-size:9px;display:inline-flex}.roster-status:before{content:"";background:currentColor;border-radius:50%;width:4px;height:4px}.roster-status.active{color:#558964;background:#edf6ef}.roster-status.inactive{color:#b9846a;background:#fff0ea}.roster-profile-button{color:var(--workspace-muted);border-radius:6px;align-items:center;gap:7px;padding:8px;font-size:10px;display:flex}.roster-profile-button:hover{background:var(--brand-soft)}.roster-table-footer{border-top:1px solid var(--workspace-border);color:var(--workspace-muted);justify-content:space-between;align-items:center;gap:10px;padding:16px 24px;font-size:10px;display:flex}.roster-sidebar{flex-direction:column;gap:16px;display:flex}.roster-teacher-card,.roster-transfer-card{border:1px solid var(--workspace-border);background:#fff;border-radius:14px;padding:22px}.roster-teacher-card>div{align-items:center;gap:12px;margin-top:18px;display:flex}.roster-teacher-card strong{color:var(--workspace-text);font-size:12px;font-weight:600;display:block}.roster-teacher-card small{color:var(--workspace-muted);margin-top:5px;font-size:10px;display:block}.roster-teacher-card p{border-top:1px solid var(--workspace-border);color:var(--workspace-muted);margin-top:18px;padding-top:18px;font-size:10px}.roster-transfer-heading{align-items:center;gap:10px;display:flex}.roster-transfer-heading h3{color:var(--workspace-text);font-size:12px;font-weight:600}.roster-transfer-card>p{color:var(--workspace-muted);margin-top:16px;font-size:11px;line-height:1.8}.roster-transfer-card form{flex-direction:column;gap:16px;margin-top:22px;display:flex}.roster-transfer-card label{color:var(--workspace-muted);font-size:10px;font-weight:600}.roster-transfer-card select{margin-top:8px}.roster-button{border-radius:8px;justify-content:center;align-items:center;gap:10px;padding:11px 14px;font-size:11px;font-weight:600;display:inline-flex}.roster-button-primary{background:var(--brand-primary);color:#fff}.roster-button-primary:hover:not(:disabled){background:var(--brand-primary)}.roster-button-secondary{background:var(--workspace-surface-muted);border:1px solid var(--workspace-border);color:var(--workspace-muted)}.roster-transfer-note{color:var(--workspace-muted);gap:8px;margin-top:18px;font-size:10px;line-height:1.7;display:flex}.roster-transfer-note svg{flex-shrink:0;margin-top:3px}.roster-field-error{color:#b9846a;font-size:10px;line-height:1.7}.roster-notice{color:#52785f;background:#eff6f0;border:1px solid #dfece1;border-radius:10px;justify-content:space-between;align-items:center;gap:15px;padding:14px 18px;font-size:12px;line-height:1.7;display:flex}.roster-notice.error{color:#a14132;background:#fff3ef;border-color:#f3d4cf}.roster-notice button{padding:5px}.roster-empty{text-align:center;color:var(--workspace-muted);padding:48px 20px}.roster-empty>svg{width:28px;height:28px;margin:0 auto 16px}.roster-empty h4{color:var(--workspace-muted);font-size:14px;font-weight:600}.roster-empty p{margin-top:10px;font-size:11px;line-height:1.7}.roster-empty button{color:var(--brand-ink);margin-top:16px;font-size:11px;font-weight:600}.student-detail-dialog,.roster-review-dialog{border:1px solid var(--workspace-border);color:var(--workspace-text);background:#fff;border-radius:18px;width:min(460px,100vw - 32px);max-height:90dvh;margin:auto;padding:0;overflow-y:auto;box-shadow:0 24px 100px #122f3026}.student-detail-dialog::backdrop,.roster-review-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f241c66}.student-detail-body{padding:24px}.student-detail-top{justify-content:space-between;align-items:center;display:flex}.student-detail-top .dashboard-eyebrow{margin-bottom:0}.student-detail-top button{color:var(--workspace-muted);background:var(--workspace-surface-muted);border-radius:8px;padding:8px}.student-detail-identity{text-align:center;padding:24px 0}.student-detail-identity h2{overflow-wrap:anywhere;margin-top:14px;font-size:21px;font-weight:600}.student-detail-identity p{color:var(--workspace-muted);margin:8px 0 12px;font-size:11px}.student-detail-section{border-top:1px solid var(--workspace-border);padding:20px 0 8px}.student-detail-section h3{align-items:center;gap:8px;margin-bottom:16px;font-size:11px;font-weight:600;display:flex}.student-detail-section dl>div{justify-content:space-between;gap:24px;margin-bottom:15px;font-size:11px;display:flex}.student-detail-section dt{color:var(--workspace-muted);flex-shrink:0}.student-detail-section dd{text-align:right;overflow-wrap:anywhere}.student-detail-section dd a{color:var(--brand-ink);text-underline-offset:3px;text-decoration:underline}.student-detail-done{width:100%;margin-top:12px}.roster-review-dialog>div{padding:28px}.roster-review-dialog h2{margin:14px 0;font-size:23px;font-weight:600}.roster-review-dialog p{color:var(--workspace-muted);font-size:12px;line-height:1.8}.roster-review-dialog details{border:1px solid var(--workspace-border);border-radius:8px;margin-top:22px;font-size:11px}.roster-review-dialog summary{cursor:pointer;justify-content:space-between;align-items:center;padding:14px;display:flex}.roster-review-dialog ul{max-height:200px;padding:0 14px;list-style:none;overflow-y:auto}.roster-review-dialog li{border-top:1px solid var(--workspace-border);justify-content:space-between;gap:10px;padding:10px 0;display:flex}.roster-review-dialog li span{color:var(--workspace-muted)}.roster-review-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:24px;display:flex}@media (max-width:1200px){.roster-layout{grid-template-columns:minmax(0,1fr)}.roster-sidebar{grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}}@media (max-width:700px){.roster-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.roster-stats article{gap:12px;padding:16px}.roster-banner{flex-direction:column;align-items:flex-start;padding:24px}.roster-sidebar{grid-template-columns:minmax(0,1fr)}.roster-section-heading{padding:20px 16px 16px}.roster-toolbar{flex-wrap:wrap;padding:0 16px 18px}.roster-search{flex-basis:100%}.roster-filter{width:100%}.roster-table .roster-checkbox-cell{padding-left:16px}.roster-table th,.roster-table td{padding:12px 8px}.roster-table-footer{padding:16px}.roster-selection-bar{padding:12px 16px}.roster-profile-button span{display:none}.roster-gender{white-space:nowrap}}.staff-page:has(>.attendance-workspace){box-shadow:none;background:0 0;border:none}.attendance-workspace{flex-direction:column;gap:20px;display:flex}.attendance-banner{background:var(--brand-primary);color:#fff;border-radius:16px;justify-content:space-between;align-items:center;gap:20px;padding:28px 30px;display:flex}.attendance-banner .dashboard-eyebrow{color:var(--workspace-muted)}.attendance-banner h3{letter-spacing:-.7px;font-size:clamp(22px,2vw,28px);font-weight:600}.attendance-banner p{color:var(--workspace-muted);margin-top:10px;font-size:12px}.attendance-banner p span{margin:0 7px}.attendance-banner-date{color:#edcc8e;border:1px solid #ffffff1a;border-radius:9px;flex-shrink:0;align-items:center;gap:9px;padding:12px 16px;font-size:11px;display:flex}.attendance-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.attendance-stats article{border:1px solid var(--workspace-border);background:#fff;border-radius:12px;align-items:center;gap:16px;padding:20px;display:flex}.attendance-stats strong{color:var(--workspace-text);font-size:23px;font-weight:600;display:block}.attendance-stats article div>span{color:var(--workspace-muted);margin-top:5px;font-size:10px;display:block}.attendance-layout{grid-template-columns:minmax(0,1fr) 290px;align-items:start;gap:20px;display:grid}.attendance-register{border:1px solid var(--workspace-border);background:#fff;border-radius:14px;min-width:0;overflow:hidden}.attendance-heading{justify-content:space-between;align-items:center;gap:18px;padding:24px;display:flex}.attendance-heading h3{color:var(--workspace-text);font-size:17px;font-weight:600}.attendance-heading p{color:var(--workspace-muted);margin-top:7px;font-size:11px;line-height:1.7}.attendance-tabs{background:var(--workspace-surface-muted);border-radius:8px;flex-shrink:0;padding:4px;display:flex}.attendance-tabs button{color:var(--workspace-muted);border-radius:6px;padding:8px 10px;font-size:10px}.attendance-tabs button.active{color:var(--brand-ink);background:#fff;font-weight:600;box-shadow:0 1px 3px #0f172a10}.attendance-date-controls{border:1px solid var(--workspace-border);background:var(--workspace-surface-muted);border-radius:10px;flex-wrap:wrap;align-items:flex-end;gap:14px;margin:0 24px 20px;padding:18px;display:flex}.attendance-date-controls label{min-width:125px;color:var(--workspace-muted);flex:1;font-size:10px;font-weight:600}.staff-page .attendance-date-controls input,.staff-page .attendance-date-controls select{width:100%;min-height:37px;margin-top:8px;padding:9px;display:block}.attendance-day-label{flex:1;min-width:125px;padding-bottom:3px}.attendance-day-label>span{color:var(--workspace-muted);font-size:10px;display:block}.attendance-day-label strong{color:var(--brand-ink);margin-top:6px;font-size:12px;font-weight:600;display:block}.attendance-day-label small{color:var(--workspace-muted);margin-top:5px;font-size:9px;display:block}.attendance-refresh{border:1px solid var(--workspace-border);color:var(--workspace-muted);background:#fff;border-radius:8px;padding:11px}.attendance-message{color:#947431;background:#fff8e8;border:1px solid #f4e5be;border-radius:8px;margin:0 24px 16px;padding:12px 14px;font-size:11px;line-height:1.8}.attendance-message.error{color:#a14132;background:#fff3ef;border-color:#f3d4cf}.attendance-roster-tools{flex-wrap:wrap;align-items:center;gap:12px;padding:0 24px 20px;display:flex}.attendance-bulk{align-items:center;gap:8px;display:flex}.attendance-bulk button{color:var(--workspace-muted);border:1px solid var(--workspace-border);border-radius:7px;align-items:center;gap:5px;padding:8px 10px;font-size:10px;display:flex}.attendance-bulk button:last-child{color:#b9846a}.attendance-table-scroll{overflow-x:auto}.attendance-table{width:100%}.attendance-table th{color:var(--workspace-muted);background:var(--workspace-surface-muted);padding:14px 24px;font-size:10px}.attendance-table td{border-top:1px solid var(--workspace-border);padding:15px 24px}.attendance-table td:first-child{width:60%}.attendance-mark-header{text-align:center!important}.attendance-mark-options{justify-content:flex-end;gap:7px;display:flex}.attendance-mark-options button{border:1px solid var(--workspace-border);min-width:75px;color:var(--workspace-muted);background:#fff;border-radius:7px;justify-content:center;align-items:center;gap:6px;padding:8px 10px;font-size:10px;display:flex}.attendance-mark-options button.present.selected{color:#34745b;background:#eaf4ed;border-color:#bad7c2;font-weight:600}.attendance-mark-options button.absent.selected{color:#ad7255;background:#fff0ea;border-color:#edcabb;font-weight:600}.attendance-save-bar{border-top:1px solid var(--workspace-border);background:var(--workspace-surface-muted);justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;display:flex}.attendance-save-bar strong{color:var(--workspace-muted);font-size:11px;font-weight:600}.attendance-save-bar p{color:var(--workspace-muted);margin-top:6px;font-size:10px}.attendance-history-status{border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;display:inline-flex}.attendance-history-status.present{color:#547c62;background:#edf6ef}.attendance-history-status.absent{color:#b9846a;background:#fff0ea}.attendance-history-status.unknown{color:#b1bcb2;background:#f6f8f5}.attendance-table.weekly{min-width:590px}.attendance-table.weekly th,.attendance-table.weekly td{text-align:center;padding:14px 10px}.attendance-table.weekly th:first-child,.attendance-table.weekly td:first-child{text-align:left;width:auto;padding-left:24px}.attendance-table.weekly th small{color:var(--workspace-muted);margin-top:5px;font-size:9px;font-weight:400;display:block}.attendance-week-legend{border-top:1px solid var(--workspace-border);color:var(--workspace-muted);flex-wrap:wrap;align-items:center;gap:16px;padding:16px 24px;font-size:10px;display:flex}.attendance-week-legend>span{align-items:center;gap:5px;display:flex}.attendance-week-legend p{margin-left:auto}.attendance-sidebar{flex-direction:column;gap:16px;display:flex}.attendance-calendar-card,.attendance-history-card{border:1px solid var(--workspace-border);background:#fff;border-radius:14px;padding:22px}.attendance-calendar-card h3,.attendance-history-card h3{color:var(--workspace-text);font-size:13px;font-weight:600}.attendance-calendar-card>p,.attendance-history-card>p{color:var(--workspace-muted);margin-top:8px;font-size:10px;line-height:1.7}.staff-page .attendance-calendar-card .react-calendar{background:#fff;border:none;width:100%;margin-top:18px;padding:0;font-size:11px}.attendance-calendar-card .react-calendar__navigation{height:32px;margin-bottom:12px;font-size:11px}.attendance-calendar-card .react-calendar__navigation button{min-width:28px}.attendance-calendar-card .react-calendar__month-view__weekdays{color:var(--workspace-muted);font-size:9px}.attendance-calendar-card .react-calendar abbr{text-decoration:none}.attendance-calendar-card .react-calendar__tile{border-radius:6px;padding:10px 4px;font-size:11px;position:relative}.attendance-calendar-card .react-calendar__tile--now{background:var(--workspace-surface-muted)}.staff-page .attendance-calendar-card .react-calendar__tile--active{background:var(--brand-primary);color:#fff}.attendance-calendar-card .react-calendar__tile:disabled{color:var(--workspace-muted);background:0 0}.attendance-calendar-card .react-calendar__tile.attendance-calendar-saved:after{content:"";background:var(--brand-soft);border-radius:50%;width:4px;height:4px;position:absolute;bottom:3px;left:calc(50% - 2px)}.attendance-calendar-legend{color:var(--workspace-muted);justify-content:center;align-items:center;gap:7px;margin-top:15px;font-size:9px;display:flex}.attendance-calendar-legend>span{background:var(--brand-soft);border-radius:50%;width:4px;height:4px}.attendance-history-rate{text-align:center;padding:22px 0}.attendance-history-rate strong{color:var(--brand-ink);font-size:34px;font-weight:600;display:block}.attendance-history-rate span{color:var(--workspace-muted);margin-top:5px;font-size:10px;display:block}.attendance-history-card dl{border-top:1px solid var(--workspace-border);padding-top:15px}.attendance-history-card dl>div{justify-content:space-between;gap:16px;padding:8px 0;font-size:10px;display:flex}.attendance-history-card dt{color:var(--workspace-muted)}.attendance-history-card dd{color:var(--workspace-muted);text-align:right;overflow-wrap:anywhere}.attendance-history-card>small{border-top:1px solid var(--workspace-border);color:var(--workspace-muted);margin-top:16px;padding-top:15px;font-size:9px;line-height:1.8;display:block}.attendance-no-history{text-align:center;color:var(--workspace-muted);padding:30px 0 20px;font-size:11px}.attendance-no-history svg{width:24px;height:24px;margin:0 auto 12px}.attendance-draft-note{color:var(--workspace-muted);padding:0 8px;font-size:10px;line-height:1.8}@media (max-width:1300px){.attendance-layout{grid-template-columns:minmax(0,1fr)}.attendance-sidebar{grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.attendance-draft-note{grid-column:1/-1}}@media (max-width:800px){.attendance-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.attendance-banner{flex-direction:column;align-items:flex-start;padding:24px}.attendance-heading{flex-direction:column;align-items:flex-start}}@media (max-width:600px){.attendance-stats article{gap:12px;padding:16px}.attendance-sidebar{grid-template-columns:minmax(0,1fr)}.attendance-heading{padding:20px 16px}.attendance-date-controls{margin:0 16px 16px;padding:14px}.attendance-roster-tools{padding:0 16px 16px}.attendance-roster-tools .roster-search{flex-basis:100%}.attendance-message{margin-left:16px;margin-right:16px}.attendance-table.daily th,.attendance-table.daily td{padding:12px 10px}.attendance-table.daily td:first-child{width:auto}.attendance-table.daily .roster-student-name{gap:8px;min-width:0}.attendance-table.daily .roster-student-name strong{font-size:11px}.attendance-mark-options{gap:5px}.attendance-mark-options button{min-width:34px;padding:8px}.attendance-mark-options button>span{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.attendance-save-bar{flex-wrap:wrap;gap:12px;padding:16px}.attendance-save-bar>button{white-space:nowrap;flex:1}.attendance-history-card,.attendance-calendar-card{padding:20px}}.attendance-save-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}@media (max-width:600px){.attendance-save-actions{width:100%}.attendance-save-actions button{white-space:nowrap;flex:1}}.staff-page:has(>.timetable-workspace){box-shadow:none;background:0 0;border:none}.timetable-workspace{flex-direction:column;gap:20px;display:flex}.timetable-banner{background:var(--brand-primary);color:#fff;border-radius:16px;justify-content:space-between;align-items:center;gap:20px;padding:28px 30px;display:flex}.timetable-banner .dashboard-eyebrow{color:var(--workspace-muted)}.timetable-banner h3{letter-spacing:-.7px;font-size:clamp(22px,2vw,28px);font-weight:600}.timetable-banner p{color:var(--workspace-muted);margin-top:10px;font-size:12px}.timetable-banner p span{margin:0 7px}.timetable-banner-clock{color:#edcc8e;align-items:center;gap:14px;display:flex}.timetable-banner-clock>svg{width:24px;height:24px}.timetable-banner-clock span{font-size:24px;font-weight:600}.timetable-banner-clock small{color:var(--workspace-muted);margin-top:5px;font-size:10px;font-weight:400;display:block}.timetable-metrics{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.5fr);gap:14px;display:grid}.timetable-metrics article{border:1px solid var(--workspace-border);background:#fff;border-radius:12px;align-items:center;gap:16px;padding:22px;display:flex}.timetable-metrics strong{color:var(--workspace-text);font-size:24px;font-weight:600;display:block}.timetable-metrics article:last-child strong{overflow-wrap:anywhere;font-size:16px}.timetable-metrics article div>span{color:var(--workspace-muted);margin-top:6px;font-size:10px;line-height:1.6;display:block}.timetable-plan{border:1px solid var(--workspace-border);background:#fff;border-radius:16px;overflow:hidden}.timetable-heading{justify-content:space-between;align-items:center;gap:20px;padding:24px;display:flex}.timetable-heading h3{color:var(--workspace-text);font-size:18px;font-weight:600}.timetable-heading p{color:var(--workspace-muted);margin-top:7px;font-size:11px;line-height:1.7}.timetable-heading-actions{align-items:center;gap:10px;display:flex}.timetable-day-tabs{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:0 24px 24px;display:grid}.timetable-day-tabs button{border:1px solid var(--workspace-border);background:var(--workspace-surface-muted);text-align:center;border-radius:10px;padding:14px 10px}.timetable-day-tabs button span{color:var(--workspace-muted);font-size:12px;font-weight:600;display:block}.timetable-day-tabs button small{color:var(--workspace-muted);margin-top:6px;font-size:9px;display:block}.timetable-day-tabs button.active{border-color:var(--workspace-border);background:var(--brand-soft)}.timetable-day-tabs button.active span{color:var(--brand-ink)}.timetable-day-tabs button.active small{color:var(--workspace-muted)}.timetable-day-layout{grid-template-columns:minmax(0,1fr) 250px;align-items:start;gap:24px;padding:0 24px 24px;display:grid}.timetable-day-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.timetable-day-heading h4{color:var(--workspace-text);font-size:16px;font-weight:600}.timetable-day-heading span{color:var(--workspace-muted);margin-top:6px;font-size:10px;display:block}.timetable-lesson-list{flex-direction:column;gap:12px;display:flex}.timetable-lesson{border:1px solid var(--workspace-border);background:#fff;border-radius:11px;align-items:center;gap:16px;padding:18px;display:flex}.timetable-lesson-number{background:var(--brand-soft);width:38px;height:38px;color:var(--workspace-muted);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:flex}.timetable-lesson>div{min-width:0}.timetable-lesson small{color:var(--workspace-muted);font-size:10px}.timetable-lesson small span{margin:0 4px}.timetable-lesson h5{color:var(--workspace-text);overflow-wrap:anywhere;margin-top:7px;font-size:14px;font-weight:600}.timetable-lesson.is-current{background:var(--brand-soft);border-color:var(--workspace-border);box-shadow:inset 3px 0 #648f73}.timetable-lesson.is-current .timetable-lesson-number{background:var(--brand-soft);color:var(--brand-ink)}.timetable-lesson.is-empty{background:#fcfdfb;border-style:dashed}.timetable-lesson.is-empty h5{color:var(--workspace-muted);font-weight:400}.timetable-lesson>button{color:var(--workspace-muted);margin-left:auto;padding:8px}.timetable-live{color:var(--brand-ink);white-space:nowrap;align-items:center;gap:6px;margin-left:auto;font-size:9px;display:flex}.timetable-live i,.timetable-plan-footer i{background:var(--brand-primary);border-radius:50%;width:5px;height:5px;display:inline-block}.timetable-break{color:var(--workspace-muted);align-items:center;gap:8px;padding:7px 18px 17px;font-size:10px;display:flex}.timetable-break small{margin-left:auto;font-size:9px}.timetable-day-sidebar{flex-direction:column;gap:16px;display:flex}.timetable-day-sidebar section{border:1px solid var(--workspace-border);background:var(--workspace-surface-muted);border-radius:12px;padding:20px}.timetable-day-sidebar .dashboard-icon{margin-top:10px}.timetable-day-sidebar h4{color:var(--workspace-text);overflow-wrap:anywhere;margin-top:18px;font-size:14px;font-weight:600}.timetable-day-sidebar p{color:var(--workspace-muted);margin-top:9px;font-size:11px;line-height:1.8}.timetable-day-sidebar button{color:var(--workspace-muted);align-items:center;gap:10px;margin-top:18px;font-size:11px;font-weight:600;display:flex}.timetable-plan-footer{border-top:1px solid var(--workspace-border);color:var(--workspace-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:18px 24px;font-size:10px;display:flex}.timetable-plan-footer>span{align-items:center;gap:7px;display:flex}.timetable-session-note{color:#947431;background:#fff8e8;border:1px solid #f4e5be;border-radius:8px;margin:0 24px 20px;padding:12px 14px;font-size:11px;line-height:1.8}.timetable-week-scroll{padding:0 24px 24px;overflow-x:auto}.timetable-week-table{border-spacing:0;table-layout:fixed;width:100%;min-width:950px;border-collapse:separate!important}.timetable-week-table th{background:var(--workspace-surface-muted);border:1px solid var(--workspace-border);color:var(--workspace-muted);padding:14px 12px;font-size:10px}.timetable-week-table th small{color:var(--workspace-muted);margin-top:6px;font-size:9px;font-weight:400;display:block}.timetable-week-table th:first-child{width:100px}.timetable-week-table th:last-child{width:42px}.timetable-week-table td{border:1px solid var(--workspace-border);color:var(--workspace-muted);overflow-wrap:anywhere;padding:18px 12px;font-size:11px;line-height:1.7}.timetable-week-table td.is-current{background:var(--brand-soft);color:var(--brand-ink);font-weight:600}.timetable-week-table td button{color:var(--workspace-muted);padding:4px}.timetable-week-table .timetable-today-label{color:var(--brand-ink)}.timetable-unassigned{color:var(--workspace-muted);font-size:10px;font-style:italic}.timetable-error{text-align:center;color:var(--workspace-muted);padding:45px 24px}.timetable-error>svg{width:28px;height:28px;margin:0 auto 16px}.timetable-error h4{color:var(--workspace-muted);font-size:15px;font-weight:600}.timetable-error p{margin-top:10px;font-size:12px;line-height:1.8}.timetable-error button{margin-top:18px}.timetable-editor-dialog{border:1px solid var(--workspace-border);width:min(590px,100vw - 32px);max-height:90dvh;color:var(--workspace-text);background:#fff;border-radius:18px;margin:auto;padding:0;overflow-y:auto;box-shadow:0 24px 100px #122f3026}.timetable-editor-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f241c66}.timetable-editor-heading{justify-content:space-between;align-items:flex-start;gap:16px;padding:26px;display:flex}.timetable-editor-heading h2{letter-spacing:-.7px;font-size:25px;font-weight:600}.timetable-editor-heading p{color:var(--workspace-muted);margin-top:8px;font-size:11px;line-height:1.7}.timetable-editor-close{color:var(--workspace-muted);background:var(--workspace-surface-muted);border-radius:8px;padding:8px}.timetable-editor-progress{background:var(--workspace-surface-muted);border-top:1px solid var(--workspace-border);border-bottom:1px solid var(--workspace-border);color:var(--workspace-muted);justify-content:space-between;align-items:center;gap:12px;padding:13px 26px;font-size:10px;display:flex}.timetable-editor-progress>span{color:var(--workspace-muted);align-items:center;gap:6px;display:flex}.timetable-editor-progress small{font-size:9px}.timetable-editor-lessons{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:26px;display:grid}.timetable-editor-slot{align-items:flex-start;gap:12px;display:flex}.timetable-editor-slot>div{flex:1;min-width:0}.timetable-editor-slot label{margin-bottom:6px;font-size:11px;font-weight:600;display:block}.timetable-editor-time{color:var(--workspace-muted);align-items:center;gap:5px;font-size:9px;display:flex}.staff-shell .timetable-editor-slot select{margin-top:10px;padding:9px;font-size:11px}.timetable-editor-footer{border-top:1px solid var(--workspace-border);background:var(--workspace-surface-muted);justify-content:flex-end;align-items:center;gap:10px;padding:20px 26px;display:flex}.timetable-editor-error{color:#a14132;background:#fff3ef;border:1px solid #f3d4cf;border-radius:8px;margin:20px 26px 0;padding:12px 14px;font-size:11px;line-height:1.8}@media (max-width:1200px){.timetable-day-layout{grid-template-columns:minmax(0,1fr)}.timetable-day-sidebar{grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}}@media (max-width:800px){.timetable-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.timetable-metrics article:last-child{grid-column:1/-1}.timetable-banner{flex-direction:column;align-items:flex-start;padding:24px}}@media (max-width:600px){.timetable-metrics article{gap:12px;padding:16px}.timetable-heading{flex-direction:column;align-items:flex-start;padding:20px 16px}.timetable-day-tabs{gap:5px;padding:0 16px 20px}.timetable-day-tabs button{padding:12px 4px}.timetable-day-tabs button span{font-size:10px}.timetable-day-tabs button small{font-size:8px}.timetable-day-layout{gap:20px;padding:0 16px 20px}.timetable-day-sidebar{grid-template-columns:minmax(0,1fr)}.timetable-lesson{flex-wrap:wrap;gap:10px;padding:14px}.timetable-lesson h5{font-size:13px}.timetable-lesson small{font-size:9px}.timetable-live{margin-left:48px}.timetable-session-note{margin-left:16px;margin-right:16px}.timetable-plan-footer{padding:16px;line-height:1.7}.timetable-week-scroll{padding-left:16px;padding-right:16px}.timetable-editor-lessons{grid-template-columns:minmax(0,1fr);padding:20px}.timetable-editor-heading{padding:20px}.timetable-editor-progress{flex-direction:column;align-items:flex-start;gap:6px;padding:12px 20px}.timetable-editor-footer{padding:16px 20px}}.staff-page:has(>.midterm-workspace){box-shadow:none;background:0 0;border:none}.midterm-workspace{flex-direction:column;gap:20px;display:flex}.midterm-banner{background:var(--brand-primary);color:#fff;border-radius:16px;justify-content:space-between;align-items:center;gap:20px;padding:28px 30px;display:flex}.midterm-banner .dashboard-eyebrow{color:var(--workspace-muted)}.midterm-banner h3{letter-spacing:-.7px;font-size:clamp(22px,2vw,28px);font-weight:600}.midterm-banner p{color:var(--workspace-muted);margin-top:10px;font-size:12px}.midterm-banner p span{margin:0 7px}.midterm-banner-label{color:#edcc8e;border:1px solid #ffffff20;border-radius:9px;align-items:center;gap:10px;padding:12px 16px;font-size:11px;display:flex}.midterm-mock-selector{color:var(--workspace-muted);min-width:140px;font-size:10px}.midterm-mock-selector select{margin-top:8px;display:block}.midterm-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.midterm-metrics article{border:1px solid var(--workspace-border);background:#fff;border-radius:12px;align-items:center;gap:16px;padding:20px;display:flex}.midterm-metrics strong{color:var(--workspace-text);font-size:23px;font-weight:600;display:block}.midterm-metrics strong small{color:var(--workspace-muted);font-size:13px;font-weight:400}.midterm-metrics article div>span{color:var(--workspace-muted);margin-top:5px;font-size:10px;line-height:1.6;display:block}.midterm-layout{grid-template-columns:255px minmax(0,1fr);align-items:start;gap:20px;display:grid}.midterm-roster{border:1px solid var(--workspace-border);background:#fff;border-radius:14px;overflow:hidden}.midterm-roster-heading{border-bottom:1px solid var(--workspace-border);padding:20px 16px}.midterm-roster-heading h3{color:var(--workspace-text);align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.midterm-roster-heading h3 span{background:var(--brand-soft);color:var(--workspace-muted);border-radius:5px;padding:4px 7px;font-size:9px}.midterm-roster-heading p{color:var(--workspace-muted);margin-top:7px;font-size:10px;line-height:1.7}.midterm-roster-heading .roster-search{margin-top:16px}.midterm-roster-heading .roster-search input{font-size:10px}.midterm-student-list{max-height:650px;padding:8px;overflow-y:auto}.midterm-student-item{text-align:left;border:1px solid #0000;border-radius:9px;align-items:center;gap:10px;width:100%;margin-bottom:3px;padding:13px 10px;display:flex}.midterm-student-item:hover{background:var(--workspace-surface-muted)}.midterm-student-item.selected{background:var(--brand-soft);border-color:var(--workspace-border)}.midterm-student-item>span:last-child{min-width:0}.midterm-student-item strong{color:var(--workspace-text);overflow-wrap:anywhere;font-size:11px;font-weight:600;display:block}.midterm-student-item small{color:var(--workspace-muted);margin-top:5px;font-size:9px;display:block}.midterm-student-item em{color:var(--workspace-muted);margin-top:6px;font-size:8px;font-style:normal;display:block}.midterm-student-item em.saved{color:#789e82}.midterm-student-item em.draft{color:#b89960}.midterm-roster-footer{border-top:1px solid var(--workspace-border);color:var(--workspace-muted);padding:14px 16px;font-size:9px}.midterm-roster-empty{color:var(--workspace-muted);text-align:center;padding:25px 12px;font-size:11px;line-height:1.8}.midterm-roster-empty svg{margin:0 auto 12px}.midterm-content{min-width:0}.midterm-welcome{border:1px solid var(--workspace-border);text-align:center;background:#fff;border-radius:14px;padding:80px 24px}.midterm-welcome-icon{background:var(--brand-soft);width:68px;height:68px;color:var(--workspace-muted);border-radius:18px;justify-content:center;align-items:center;margin-bottom:26px;font-size:28px;display:inline-flex}.midterm-welcome h3{letter-spacing:-.6px;color:var(--workspace-text);margin-top:14px;font-size:26px;font-weight:600}.midterm-welcome>p{max-width:370px;color:var(--workspace-muted);margin:14px auto 0;font-size:12px;line-height:1.9}.midterm-welcome>div{color:var(--workspace-muted);flex-wrap:wrap;justify-content:center;gap:18px;margin-top:32px;font-size:10px;display:flex}.midterm-welcome>div span{align-items:center;gap:6px;display:flex}.midterm-editor-layout{grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:20px;display:grid}.midterm-editor{border:1px solid var(--workspace-border);background:#fff;border-radius:14px;min-width:0;overflow:hidden}.midterm-student-heading{border-bottom:1px solid var(--workspace-border);flex-wrap:wrap;align-items:center;gap:16px;padding:24px;display:flex}.midterm-student-heading .student-avatar-large{border-radius:14px;width:52px;height:52px;font-size:16px}.midterm-student-heading h3{color:var(--workspace-text);overflow-wrap:anywhere;font-size:17px;font-weight:600}.midterm-student-heading .dashboard-eyebrow{margin-bottom:7px;font-size:8px}.midterm-student-heading p{color:var(--workspace-muted);margin-top:6px;font-size:10px;line-height:1.6}.midterm-student-heading p span{margin:0 5px}.midterm-report-status{color:#a6b2a9;background:#f6f8f5;border-radius:6px;margin-left:auto;padding:6px 8px;font-size:9px}.midterm-report-status.saved{color:#789e82;background:#edf6ef}.midterm-report-status.draft{color:#aa843b;background:#faf3e3}.midterm-editor>.roster-notice{margin:20px 24px 0}.midterm-score-heading{justify-content:space-between;align-items:center;gap:16px;padding:24px 24px 20px;display:flex}.midterm-score-heading h4{color:var(--workspace-text);font-size:13px;font-weight:600}.midterm-score-heading p{color:var(--workspace-muted);margin-top:7px;font-size:10px;line-height:1.7}.midterm-score-heading>span{color:var(--workspace-muted);flex-shrink:0;font-size:9px}.midterm-score-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px;padding:0 24px 24px;display:grid}.midterm-score-field>div:first-child{justify-content:space-between;align-items:center;gap:8px;margin-bottom:9px;display:flex}.midterm-score-field label{color:var(--workspace-muted);font-size:11px;font-weight:600}.midterm-score-field small{background:var(--brand-soft);color:var(--workspace-muted);border-radius:4px;padding:3px 5px;font-size:8px}.midterm-score-input{border:1px solid var(--workspace-border);border-radius:8px;align-items:center;padding-right:12px;display:flex;overflow:hidden}.staff-page .midterm-score-input input{width:100%;min-width:0;color:var(--workspace-text);border:none;border-radius:0;padding:10px 12px;font-size:13px}.midterm-score-input:focus-within{border-color:var(--brand-ink);box-shadow:0 0 0 2px #789e8210}.midterm-score-input>span{color:var(--workspace-muted);white-space:nowrap;font-size:10px}.midterm-score-field.disabled{opacity:.55}.midterm-score-field>p{color:var(--workspace-muted);margin-top:6px;font-size:9px}.midterm-validation{color:#a14132;padding:0 24px 20px;font-size:11px;line-height:1.8}.midterm-remarks{border-top:1px solid var(--workspace-border);padding:24px}.midterm-remarks label{color:var(--workspace-muted);align-items:center;gap:8px;margin-bottom:12px;font-size:11px;font-weight:600;display:flex}.staff-page .midterm-remarks textarea{resize:vertical;width:100%;min-height:95px;font-size:11px;line-height:1.8}.midterm-remarks p{color:var(--workspace-muted);margin-top:8px;font-size:9px}.midterm-save-bar{border-top:1px solid var(--workspace-border);background:var(--workspace-surface-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;display:flex}.midterm-save-bar strong{color:var(--workspace-muted);font-size:11px;font-weight:600;display:block}.midterm-save-bar small{color:var(--workspace-muted);margin-top:6px;font-size:9px;line-height:1.8;display:block}.midterm-save-bar>div:last-child{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.midterm-preview{border:1px solid var(--workspace-border);background:#fff;border-radius:14px;min-width:0;padding:20px}.midterm-preview-heading{align-items:center;gap:10px;display:flex}.midterm-preview-heading h3{color:var(--workspace-text);font-size:12px;font-weight:600}.midterm-preview-heading p{color:var(--workspace-muted);margin-top:5px;font-size:9px;line-height:1.7}.midterm-preview-average{text-align:center;padding:28px 0 22px}.midterm-preview-average strong{letter-spacing:-1px;color:var(--brand-ink);font-size:40px;font-weight:600;display:block}.midterm-preview-average span{color:var(--workspace-muted);margin-top:5px;font-size:10px;display:block}.midterm-preview-totals{border-top:1px solid var(--workspace-border);padding-top:14px}.midterm-preview-totals>div{justify-content:space-between;align-items:center;gap:12px;padding:9px 0;font-size:10px;display:flex}.midterm-preview-totals span{color:var(--workspace-muted)}.midterm-preview-totals strong{color:var(--workspace-muted);font-weight:600}.midterm-aggregate-note{color:var(--workspace-muted);margin:12px 0;font-size:9px;line-height:1.8}.midterm-preview-table{width:100%;margin-top:18px}.midterm-preview-table th{padding:9px 6px;font-size:9px}.midterm-preview-table td{border-bottom:1px solid var(--workspace-border);color:var(--workspace-muted);padding:12px 6px;font-size:10px}.midterm-preview-table td:first-child{overflow-wrap:anywhere}.midterm-preview-table td>span{background:var(--brand-soft);min-width:23px;color:var(--workspace-muted);border-radius:5px;justify-content:center;padding:4px;font-size:9px;display:inline-flex}.midterm-preview-empty{text-align:center;color:var(--workspace-muted);padding:28px 0;font-size:11px;line-height:1.8}.midterm-preview-empty svg{margin:0 auto 12px;display:block}.midterm-grading-note{color:var(--workspace-muted);align-items:center;gap:7px;margin-top:18px;font-size:9px;line-height:1.8;display:flex}@media (max-width:1400px){.midterm-editor-layout{grid-template-columns:minmax(0,1fr)}}@media (max-width:900px){.midterm-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.midterm-layout{grid-template-columns:minmax(0,1fr)}.midterm-student-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:230px;display:grid}.midterm-banner{flex-direction:column;align-items:flex-start;padding:24px}}@media (max-width:600px){.midterm-metrics{gap:10px}.midterm-metrics article{gap:12px;padding:16px}.midterm-student-list{grid-template-columns:minmax(0,1fr);max-height:200px}.midterm-student-heading{gap:12px;padding:20px 16px}.midterm-report-status{margin-left:64px}.midterm-score-heading{padding:20px 16px}.midterm-score-grid{gap:16px 12px;padding:0 16px 20px}.midterm-score-field label{font-size:10px}.midterm-remarks{padding:20px 16px}.midterm-save-bar{padding:16px}.midterm-editor>.roster-notice{margin:16px 16px 0}.midterm-welcome{padding:50px 20px}.midterm-welcome>div{flex-direction:column;align-items:center}}.staff-page:has(>.examination-workspace){box-shadow:none;background:0 0;border:none}.examination-workspace{flex-direction:column;gap:20px;display:flex}.exam-banner{background:var(--brand-primary);color:#fff;border-radius:16px;justify-content:space-between;align-items:center;gap:20px;padding:28px 30px;display:flex}.exam-banner .dashboard-eyebrow{color:var(--workspace-muted)}.exam-banner h3{letter-spacing:-.7px;font-size:clamp(22px,2vw,28px);font-weight:600}.exam-banner p{color:var(--workspace-muted);margin-top:10px;font-size:12px}.exam-banner p span{margin:0 7px}.exam-banner-label{color:#edcc8e;border:1px solid #ffffff20;border-radius:9px;flex-shrink:0;align-items:center;gap:10px;padding:12px 16px;font-size:11px;display:flex}.exam-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.exam-metrics article{border:1px solid var(--workspace-border);background:#fff;border-radius:12px;align-items:center;gap:16px;padding:20px;display:flex}.exam-metrics strong{color:var(--workspace-text);font-size:23px;font-weight:600;display:block}.exam-metrics article div>span{color:var(--workspace-muted);margin-top:5px;font-size:10px;line-height:1.6;display:block}.exam-workspace-toolbar{justify-content:space-between;align-items:center;gap:20px;padding:0 3px;display:flex}.exam-workspace-toolbar p{color:var(--workspace-muted);font-size:12px;font-weight:600}.exam-workspace-toolbar p>span{color:var(--workspace-muted);margin-left:10px;font-size:10px;font-weight:400}.exam-layout{grid-template-columns:255px minmax(0,1fr);align-items:start;gap:20px;display:grid}.exam-status-filter{margin-top:14px;display:block}.exam-status-filter>span{color:#99a79e;margin-bottom:8px;font-size:9px;display:block}.exam-status-filter select{font-size:10px}.exam-main{min-width:0}.exam-editor-layout{grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:20px;display:grid}.exam-editor{border:1px solid var(--workspace-border);background:#fff;border-radius:14px;min-width:0;overflow:hidden}.exam-student-heading{border-bottom:1px solid var(--workspace-border);flex-wrap:wrap;align-items:center;gap:16px;padding:24px;display:flex}.exam-student-heading .student-avatar-large{border-radius:14px;width:52px;height:52px;font-size:16px}.exam-student-heading .dashboard-eyebrow{margin-bottom:7px;font-size:8px}.exam-student-heading h3{color:var(--workspace-text);overflow-wrap:anywhere;font-size:17px;font-weight:600}.exam-student-heading p{color:var(--workspace-muted);margin-top:6px;font-size:10px;line-height:1.7}.exam-section-heading{justify-content:space-between;align-items:center;gap:20px;padding:24px;display:flex}.exam-section-heading h4{color:var(--workspace-text);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.exam-section-heading p{color:var(--workspace-muted);margin-top:8px;font-size:10px;line-height:1.8}.exam-section-heading>span{color:var(--workspace-muted);flex-shrink:0;font-size:9px}.exam-score-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:0 24px 24px;display:grid}.exam-score-card{border:1px solid var(--workspace-border);background:#fcfdfb;border-radius:12px;min-width:0;padding:16px}.exam-score-card-heading{align-items:center;gap:10px;margin-bottom:20px;display:flex}.exam-score-card-heading .timetable-lesson-number{border-radius:8px;width:30px;height:30px;font-size:9px}.exam-score-card-heading h5{color:var(--workspace-muted);overflow-wrap:anywhere;font-size:11px;font-weight:600}.exam-grade{background:var(--brand-soft);min-width:25px;height:25px;color:var(--brand-ink);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;font-size:10px;font-weight:600;display:inline-flex}.exam-grade.grade-E,.exam-grade.grade-F{color:#b9846a;background:#fff0ea}.exam-score-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.exam-score-fields label{color:var(--workspace-muted);font-size:9px;display:block}.staff-page .exam-score-fields input{width:100%;min-width:0;margin-top:8px;padding:10px;font-size:12px;display:block}.exam-score-result{border-top:1px solid var(--workspace-border);color:var(--workspace-muted);justify-content:space-between;align-items:flex-end;gap:12px;margin-top:16px;padding-top:16px;font-size:9px;display:flex}.exam-score-result strong{color:var(--brand-ink);margin-top:6px;font-size:18px;font-weight:600;display:block}.exam-score-result strong small{color:var(--workspace-muted);font-size:10px;font-weight:400}.exam-subject-comment{border-top:1px solid var(--workspace-border);color:var(--workspace-muted);margin-top:16px;padding-top:16px;font-size:9px;display:block}.staff-page .exam-subject-comment textarea{resize:vertical;width:100%;margin-top:8px;font-size:10px;line-height:1.8;display:block}.exam-report-details{border-top:1px solid var(--workspace-border)}.exam-report-details .exam-section-heading{padding-bottom:20px}.exam-details-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:0 24px;display:grid}.exam-details-grid label,.exam-remark-label,.exam-remark-suggestion{color:var(--workspace-muted);font-size:10px;font-weight:600;display:block}.staff-page .exam-details-grid input{width:100%;margin-top:9px;display:block}.exam-details-grid small{color:var(--workspace-muted);margin-top:8px;font-size:9px;font-weight:400;line-height:1.8;display:block}.exam-inline-action{color:var(--workspace-muted);text-underline-offset:3px;text-align:left;margin-top:8px;font-size:9px;text-decoration:underline;display:block}.exam-remark-label,.exam-remark-suggestion{margin:24px}.staff-page .exam-remark-label textarea{resize:vertical;width:100%;margin-top:10px;font-size:11px;line-height:1.8;display:block}.exam-remark-suggestion select{width:100%;margin-top:10px;font-size:10px;display:block}.exam-save-bar{border-top:1px solid var(--workspace-border);background:var(--workspace-surface-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;display:flex}.exam-save-bar>div:first-child{flex:1;min-width:170px}.exam-save-bar strong{color:var(--workspace-muted);font-size:11px;font-weight:600;display:block}.exam-save-bar p{color:var(--workspace-muted);margin-top:6px;font-size:10px;line-height:1.8}.exam-save-bar>div:last-child{flex-wrap:wrap;gap:10px;display:flex}.exam-preview{border:1px solid var(--workspace-border);background:#fff;border-radius:14px;min-width:0;padding:20px}.exam-preview-note{color:var(--workspace-muted);border-top:1px solid var(--workspace-border);margin-top:20px;padding-top:16px;font-size:9px;line-height:1.8}.exam-preview-note>svg{vertical-align:middle;margin-right:5px;display:inline}.exam-print-section{margin-top:20px}.exam-print-section button{width:100%;font-size:10px}.exam-print-section p{color:#a14132;margin-top:10px;font-size:10px;line-height:1.8}.exam-progress-heading{justify-content:space-between;align-items:center;gap:16px;padding:24px;display:flex}.exam-progress-heading h4{color:var(--workspace-text);font-size:13px;font-weight:600}.exam-progress-heading p{color:var(--workspace-muted);margin-top:8px;font-size:10px;line-height:1.8}.exam-progress-heading>span{color:var(--workspace-muted);flex-shrink:0;font-size:9px}.exam-progress-categories{flex-direction:column;gap:18px;padding:0 24px 24px;display:flex}.exam-progress-category{border:1px solid var(--workspace-border);border-radius:12px;overflow:hidden}.exam-progress-category-heading{border-bottom:1px solid var(--workspace-border);background:var(--workspace-surface-muted);align-items:center;gap:12px;padding:16px;display:flex}.exam-progress-category-heading .timetable-lesson-number{border-radius:8px;width:30px;height:30px;font-size:9px}.exam-progress-category-heading h5{color:var(--workspace-muted);font-size:12px;font-weight:600}.exam-progress-category-heading>span:last-child{color:var(--workspace-muted);white-space:nowrap;margin-left:auto;font-size:9px}.exam-rating-field{border-bottom:1px solid var(--workspace-border);padding:16px}.exam-rating-field:last-child{border-bottom:none}.exam-rating-field legend{float:left;width:100%;color:var(--workspace-muted);margin-bottom:12px;font-size:11px;line-height:1.7}.exam-rating-field>div{clear:both;flex-wrap:wrap;gap:8px;display:flex}.exam-rating-field label{border:1px solid var(--workspace-border);color:var(--workspace-muted);cursor:pointer;background:#fff;border-radius:7px;align-items:center;gap:7px;padding:8px 10px;font-size:10px;display:flex}.exam-rating-field input{width:12px;height:12px;accent-color:var(--brand-primary);cursor:pointer}.exam-rating-field label.selected{border-color:var(--workspace-border);color:var(--brand-ink);background:var(--brand-soft)}.exam-narrative-field{color:var(--workspace-muted);padding:18px;font-size:11px;display:block}.staff-page .exam-narrative-field textarea{resize:vertical;width:100%;margin-top:12px;font-size:11px;line-height:1.8;display:block}.exam-completion-track{background:var(--brand-soft);border-radius:4px;height:6px;margin-bottom:24px;overflow:hidden}.exam-completion-track>div{background:var(--brand-primary);border-radius:4px;height:100%}.exam-category-summary{flex-direction:column;gap:16px;padding-bottom:22px;display:flex}.exam-category-summary>div{color:var(--workspace-muted);justify-content:space-between;gap:16px;font-size:10px;line-height:1.7;display:flex}.exam-category-summary strong{color:var(--workspace-muted);white-space:nowrap;font-weight:600}.exam-empty{text-align:center;border:1px solid var(--workspace-border);color:var(--workspace-muted);background:#fff;border-radius:14px;padding:70px 24px}.exam-empty>svg{width:32px;height:32px;margin:0 auto 20px}.exam-empty h3{color:var(--workspace-muted);font-size:19px;font-weight:600}.exam-empty p{max-width:360px;margin:14px auto 0;font-size:12px;line-height:1.8}.exam-empty button{margin-top:20px}@media (max-width:1450px){.exam-editor-layout{grid-template-columns:minmax(0,1fr)}}@media (max-width:900px){.exam-layout{grid-template-columns:minmax(0,1fr)}.exam-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.exam-banner{flex-direction:column;align-items:flex-start;padding:24px}}@media (max-width:600px){.exam-metrics{gap:10px}.exam-metrics article{gap:12px;padding:16px}.exam-workspace-toolbar{flex-wrap:wrap;gap:12px}.exam-student-heading{gap:12px;padding:20px 16px}.exam-student-heading>.midterm-report-status{margin-left:64px}.exam-section-heading{flex-wrap:wrap;gap:10px;padding:20px 16px}.exam-score-cards{grid-template-columns:minmax(0,1fr);padding:0 16px 20px}.exam-details-grid{grid-template-columns:minmax(0,1fr);padding:0 16px}.exam-remark-label,.exam-remark-suggestion{margin:20px 16px}.exam-save-bar{padding:16px}.exam-progress-heading{flex-wrap:wrap;gap:10px;padding:20px 16px}.exam-progress-categories{padding:0 16px 20px}.exam-progress-category-heading{gap:8px}.exam-progress-category-heading h5{font-size:11px}.exam-rating-field{padding:14px}.exam-rating-field label{padding:8px;font-size:9px}}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-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-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}.staff-login .auth-field-group label{margin-bottom:8px;color:#334155;font-size:14px;font-weight:500}.staff-login .auth-input-wrap{min-height:48px;padding:0 16px;border-color:#cbd5e1;border-radius:12px}.staff-login .auth-input-wrap>svg{color:#94a3b8}.staff-login .auth-input-wrap input{padding:12px 0;font-size:14px;color:#0f172a}.staff-login .auth-input-wrap input::placeholder{color:#94a3b8}.staff-login .auth-input-wrap:focus-within{border-color:#f59e0b;box-shadow:0 0 0 4px #fef3c7}.staff-login .auth-primary{min-height:48px;border-radius:12px;background:#0f172a;color:#fff;font-size:14px;box-shadow:0 10px 15px -3px #0f172a1a}.staff-login .auth-primary:hover:not(:disabled){background:#1e293b;color:#fff;transform:none}.staff-login .auth-school{padding:16px;border-color:#e2e8f0;border-radius:12px;background:#f8fafc}.staff-login .auth-school img{width:44px;height:44px;padding:4px;border-radius:8px;background:#fff}.staff-login .auth-school strong{color:#0f172a;font-size:14px;font-weight:600}.staff-login .auth-school span{color:#64748b;font-size:12px}.staff-login .auth-school button,.staff-login .auth-forgot,.staff-login .auth-register a{color:#475569;font-size:14px}.staff-login .auth-register,.staff-login .auth-help,.staff-login .auth-hint{color:#64748b;font-size:12px}.staff-login .auth-password-toggle{color:#94a3b8}.staff-login .auth-error{border-color:#fecaca;border-radius:12px;background:#fef2f2;color:#b91c1c;font-size:14px}.staff-login .auth-session-notice{border-color:#e2e8f0;background:#f8fafc;color:#475569;font-size:14px}.staff-login button:disabled{opacity:.6;cursor:not-allowed}.staff-login :is(a,button):focus-visible{outline:2px solid #f59e0b;outline-offset:4px}.react-calendar{width:350px;max-width:100%;background:#fff;border:1px solid #a0a096;font-family:Arial,Helvetica,sans-serif;line-height:1.125em}.react-calendar--doubleView{width:700px}.react-calendar--doubleView .react-calendar__viewContainer{display:flex;margin:-.5em}.react-calendar--doubleView .react-calendar__viewContainer>*{width:50%;margin:.5em}.react-calendar,.react-calendar *,.react-calendar *:before,.react-calendar *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.react-calendar button{margin:0;border:0;outline:none}.react-calendar button:enabled:hover{cursor:pointer}.react-calendar__navigation{display:flex;height:44px;margin-bottom:1em}.react-calendar__navigation button{min-width:44px;background:none}.react-calendar__navigation button:disabled{background-color:#f0f0f0}.react-calendar__navigation button:enabled:hover,.react-calendar__navigation button:enabled:focus{background-color:#e6e6e6}.react-calendar__month-view__weekdays{text-align:center;text-transform:uppercase;font:inherit;font-size:.75em;font-weight:700}.react-calendar__month-view__weekdays__weekday{padding:.5em}.react-calendar__month-view__weekNumbers .react-calendar__tile{display:flex;align-items:center;justify-content:center;font:inherit;font-size:.75em;font-weight:700}.react-calendar__month-view__days__day--weekend{color:#d10000}.react-calendar__month-view__days__day--neighboringMonth,.react-calendar__decade-view__years__year--neighboringDecade,.react-calendar__century-view__decades__decade--neighboringCentury{color:#757575}.react-calendar__year-view .react-calendar__tile,.react-calendar__decade-view .react-calendar__tile,.react-calendar__century-view .react-calendar__tile{padding:2em .5em}.react-calendar__tile{max-width:100%;padding:10px 6.6667px;background:none;text-align:center;line-height:16px;font:inherit;font-size:.833em}.react-calendar__tile:disabled{background-color:#f0f0f0;color:#ababab}.react-calendar__month-view__days__day--neighboringMonth:disabled,.react-calendar__decade-view__years__year--neighboringDecade:disabled,.react-calendar__century-view__decades__decade--neighboringCentury:disabled{color:#cdcdcd}.react-calendar__tile:enabled:hover,.react-calendar__tile:enabled:focus{background-color:#e6e6e6}.react-calendar__tile--now{background:#ffff76}.react-calendar__tile--now:enabled:hover,.react-calendar__tile--now:enabled:focus{background:#ffffa9}.react-calendar__tile--hasActive{background:#76baff}.react-calendar__tile--hasActive:enabled:hover,.react-calendar__tile--hasActive:enabled:focus{background:#a9d4ff}.react-calendar__tile--active{background:#006edc;color:#fff}.react-calendar__tile--active:enabled:hover,.react-calendar__tile--active:enabled:focus{background:#1087ff}.react-calendar--selectRange .react-calendar__tile--hover{background-color:#e6e6e6}.auth-flow-card .auth-school{margin-bottom:24px;background:var(--brand-soft);border-color:var(--brand-border)}.auth-flow-card .auth-school button{color:var(--brand-ink)}.auth-flow-card .auth-primary{min-height:48px;text-decoration:none}.auth-flow-card h2{font-size:30px;line-height:1.25}.auth-flow-card .auth-card-description{margin-bottom:23px}.auth-secondary{padding:11px 16px;border:1px solid var(--workspace-border);border-radius:9px;font-size:11px;color:var(--workspace-muted);background:#fff}.auth-field-error{font-size:11px;line-height:1.7;color:#a14132;margin-top:-8px}.auth-success{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;margin-bottom:20px;border:1px solid #d8eadc;border-radius:10px;color:#366244;background:#f0f8f2;font-size:12px;line-height:1.7}.auth-success svg{flex-shrink:0;margin-top:3px}.auth-complete{display:flex;flex-direction:column;gap:18px}.auth-complete>svg{width:42px;height:42px;color:var(--brand-ink);margin-bottom:2px}.auth-complete .auth-school{margin-bottom:0}.auth-complete>p{font-size:12px;color:var(--workspace-muted)}.auth-complete .auth-primary{display:flex;justify-content:center;text-align:center}.auth-inline-link{display:block;text-align:center;color:var(--brand-ink);font-size:11px;font-weight:600;text-decoration:underline;text-underline-offset:3px}.auth-reset-steps{gap:12px;margin-bottom:32px;align-items:flex-start}.auth-reset-steps>span{flex:1;flex-direction:column;align-items:flex-start;gap:7px;line-height:1.5}.auth-reset-steps b{display:grid;place-items:center;width:25px;height:25px;border-radius:7px;background:#f3f5f7;color:#8b95a3;font-size:10px}.auth-reset-steps .is-complete{color:var(--brand-ink)}.auth-reset-steps .is-complete b{background:var(--brand-soft);color:var(--brand-ink)}.auth-reset-identity{display:flex;align-items:center;gap:10px;padding:13px;background:#f8fafb;border:1px solid #e7ebf0;border-radius:10px;font-size:11px;color:#81909d}.auth-reset-identity>svg{font-size:18px;color:var(--brand-ink);flex-shrink:0}.auth-reset-identity span{flex:1;min-width:0;line-height:1.7}.auth-reset-identity strong{display:block;color:var(--workspace-text);overflow-wrap:anywhere}.auth-reset-identity button{font-size:10px;color:var(--brand-ink);font-weight:600;padding:6px}.auth-code-wrap input{text-align:center;letter-spacing:.7em;font-size:24px;padding-left:24px;font-weight:600}.auth-resend{display:flex;justify-content:space-between;gap:12px;color:#8b98a2;font-size:11px;line-height:1.7}.auth-resend button{color:var(--brand-ink);font-weight:600}.auth-verified{display:flex;gap:10px;align-items:center;background:var(--brand-soft);border:1px solid var(--brand-border);padding:13px 15px;border-radius:10px;color:var(--brand-ink);font-size:11px;font-weight:600}.auth-verified small{display:block;color:var(--workspace-muted);font-size:10px;font-weight:400;margin-top:4px}.auth-restart{margin:22px auto 0;background:transparent}.auth-flow-card button:disabled{opacity:.5;cursor:not-allowed}.auth-flow-card :is(button,a,input):focus-visible{outline:2px solid var(--brand-ink);outline-offset:3px}.auth-flow-card .auth-error{overflow-wrap:anywhere}@media (max-width:600px){.auth-flow-card h2{font-size:28px}.auth-reset-steps{gap:9px}.auth-code-wrap input{font-size:22px}.auth-resend{font-size:10px}}.records-workspace{padding:24px;color:var(--workspace-text);background:#f5f8f7;min-width:0;flex:1}.records-banner{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:28px 30px;background:var(--brand-soft);border:1px solid var(--workspace-border);border-radius:20px}.records-banner h2{font-size:27px;font-weight:700;margin:8px 0;color:var(--brand-ink)}.records-banner p{font-size:13px;color:var(--workspace-muted)}.records-banner p span,.records-profile p span{margin:0 8px;color:var(--workspace-muted)}.records-banner-label{display:flex;align-items:center;gap:9px;background:#fff9;padding:12px 16px;border-radius:12px;font-size:12px;color:var(--brand-ink);white-space:nowrap}.records-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}.records-overview article{display:flex;align-items:center;gap:14px;padding:19px;background:#fff;border:1px solid var(--workspace-border);border-radius:15px}.records-overview article strong,.records-overview article div>span{display:block}.records-overview strong{font-size:22px;font-weight:700}.records-overview article div>span{font-size:11px;color:var(--workspace-muted);margin-top:4px}.records-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:20px;align-items:start}.records-roster,.records-content{background:#fff;border:1px solid var(--workspace-border);border-radius:17px;overflow:hidden}.records-roster-heading{padding:20px;border-bottom:1px solid var(--workspace-border)}.records-roster-heading h3{font-size:15px;font-weight:700;display:flex;align-items:center;justify-content:space-between}.records-roster-heading h3 span{background:var(--brand-soft);color:var(--brand-ink);padding:3px 9px;border-radius:7px;font-size:11px}.records-roster-heading p{font-size:11px;color:var(--workspace-muted);margin:7px 0 17px}.records-student-list{padding:9px;max-height:570px;overflow-y:auto}.records-student{display:flex;align-items:center;gap:11px;width:100%;text-align:left;padding:12px 10px;border:1px solid transparent;border-radius:11px;margin-bottom:4px;background:#fff;cursor:pointer}.records-student:hover{background:var(--workspace-surface-muted)}.records-student.selected{background:var(--brand-soft);border-color:var(--workspace-border)}.records-student>span:last-child{min-width:0}.records-student strong{display:block;font-size:12px;font-weight:600;overflow-wrap:anywhere}.records-student small{display:block;font-size:10px;color:var(--workspace-muted);margin-top:4px}.records-roster footer{padding:14px 20px;border-top:1px solid var(--workspace-border);font-size:10px;color:var(--workspace-muted)}.records-toolbar{padding:16px 22px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--workspace-border)}.records-terms{display:flex;gap:5px;padding:4px;background:var(--workspace-surface-muted);border-radius:10px}.records-terms button{padding:9px 14px;border-radius:7px;color:var(--workspace-muted);font-size:11px;cursor:pointer;white-space:nowrap}.records-terms button.active{background:#fff;color:var(--brand-ink);box-shadow:0 2px 5px #183f3110;font-weight:700}.records-refresh{padding:10px;color:var(--workspace-muted);border:1px solid var(--workspace-border);border-radius:9px;cursor:pointer}.records-empty{min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:45px 30px;text-align:center;gap:15px}.records-empty-icon{display:grid;place-items:center;width:78px;height:78px;border-radius:24px;background:var(--brand-soft);color:var(--brand-ink);font-size:32px;margin-bottom:8px}.records-empty h3{font-size:23px;font-weight:700;color:var(--workspace-text)}.records-empty p{max-width:390px;font-size:12px;line-height:1.9;color:var(--workspace-muted)}.records-profile{display:flex;align-items:center;gap:16px;padding:24px}.records-profile h3{font-size:20px;font-weight:700;margin:5px 0}.records-profile p{font-size:11px;color:var(--workspace-muted)}.records-report-tag{margin-left:auto;font-size:10px;color:var(--brand-ink);background:var(--brand-soft);padding:7px 11px;border-radius:7px;white-space:nowrap}.records-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 24px 24px;border:1px solid var(--workspace-border);border-radius:12px;background:#fafcfb}.records-summary>div{padding:16px 20px;min-width:0}.records-summary>div+div{border-left:1px solid var(--workspace-border)}.records-summary span{display:block;font-size:10px;color:var(--workspace-muted);margin-bottom:6px}.records-summary strong{font-size:19px;font-weight:700;overflow-wrap:anywhere}.records-summary small{font-size:10px;font-weight:400;color:var(--workspace-muted)}.records-table-wrap{overflow-x:auto;padding:0 24px}.records-table{width:100%;border-collapse:collapse;min-width:470px;font-size:12px}.records-table caption{text-align:left;font-weight:700;font-size:14px;padding-bottom:15px}.records-table caption span{display:block;font-size:10px;color:var(--workspace-muted);font-weight:400;margin-top:5px}.records-table thead{background:var(--workspace-surface-muted)}.records-table thead th{padding:13px 12px;color:var(--workspace-muted);font-size:10px;font-weight:600;text-align:center;white-space:nowrap}.records-table thead th:first-child{text-align:left;border-radius:8px 0 0 8px}.records-table th[scope=row]{text-align:left;font-weight:500}.records-table tbody td,.records-table tbody th{padding:15px 12px;border-bottom:1px solid var(--workspace-border)}.records-table td{text-align:center}.records-total{font-weight:700;color:var(--brand-ink)}.records-grade{display:inline-block;min-width:28px;padding:4px 8px;border-radius:6px;background:var(--brand-soft);color:var(--workspace-text);font-size:10px;font-weight:700}.records-report-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 24px}.records-report-actions>p{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--workspace-muted)}.records-report-actions>div,.records-class-actions>div:last-child{display:flex;gap:9px;flex-wrap:wrap}.records-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--workspace-border);border-radius:9px;padding:10px 13px;background:#fff;color:var(--workspace-text);font-size:11px;font-weight:600;cursor:pointer}.records-button:hover{background:var(--workspace-surface-muted)}.records-button.primary{background:var(--brand-primary);color:#fff;border-color:var(--brand-ink)}.records-button.primary:hover{background:var(--brand-primary)}.records-button.danger{color:#b35555;border-color:#efdbdb;background:#fff8f8}.records-class-actions{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:21px 24px;border-top:1px solid var(--workspace-border);background:#fafcfb}.records-class-actions h3{font-size:12px;font-weight:700}.records-class-actions p{font-size:10px;color:var(--workspace-muted);margin-top:5px}.records-notice{margin:12px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;border-radius:9px;font-size:12px;line-height:1.6;background:#edf7ef;color:#35704c}.records-notice.error{background:#fff2f0;color:#a8584f}.records-content>.records-notice{margin:16px 24px}.records-notice button{cursor:pointer;font-weight:700;flex-shrink:0}.records-empty-roster{padding:35px 15px;text-align:center;font-size:12px;color:var(--workspace-muted)}.records-empty-roster svg{margin:0 auto 12px;font-size:24px}.records-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#17382966;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:center;padding:20px}.records-modal{width:100%;max-width:420px;padding:30px;background:#fff;border-radius:20px;box-shadow:0 20px 70px #17382933}.records-delete-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#fff0f0;color:#b75c5c;font-size:22px;margin-bottom:18px}.records-modal h3{font-size:21px;font-weight:700;margin-bottom:12px}.records-modal p{font-size:12px;line-height:1.9;color:var(--workspace-muted)}.records-modal>div{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.records-workspace button:disabled{opacity:.45;cursor:not-allowed}.records-workspace button:focus-visible,.records-workspace input:focus-visible{outline:2px solid var(--brand-ink);outline-offset:3px}.records-workspace .records-student-list::-webkit-scrollbar{width:5px}.records-student-list::-webkit-scrollbar-thumb{background:var(--brand-soft);border-radius:8px}@media (min-width:1500px){.records-layout{grid-template-columns:310px minmax(0,1fr)}}@media (max-width:1100px){.records-layout{grid-template-columns:240px minmax(0,1fr)}.records-report-actions,.records-class-actions{align-items:flex-start;flex-direction:column}.records-summary>div{padding:15px 12px}.records-overview strong{font-size:18px}.records-banner-label{display:none}}@media (max-width:760px){.records-workspace{padding:14px}.records-banner{padding:22px}.records-banner h2{font-size:22px}.records-overview{grid-template-columns:1fr;gap:9px;margin:14px 0}.records-overview article{padding:12px 16px}.records-overview article strong{font-size:17px}.records-layout{grid-template-columns:1fr;gap:14px}.records-student-list{max-height:220px}.records-roster-heading{padding:16px}.records-toolbar{padding:12px}.records-terms{gap:0}.records-terms button{padding:9px 10px;font-size:10px}.records-profile{padding:20px 16px;gap:12px}.records-profile h3{font-size:17px}.records-report-tag{display:none}.records-summary{margin:0 16px 20px}.records-summary strong{font-size:15px}.records-table-wrap{padding:0 16px}.records-class-actions,.records-report-actions{padding:18px 16px}.records-empty{min-height:320px;padding:30px 20px}.records-empty h3{font-size:20px}}.archive-mock-selector{display:flex;align-items:center;gap:12px;padding:15px 24px;border-bottom:1px solid var(--workspace-border)}.archive-mock-selector label{font-size:11px;font-weight:600;white-space:nowrap}.archive-mock-selector select{width:150px;padding:8px 10px;border-radius:8px;background:var(--workspace-surface-muted);border:1px solid var(--workspace-border);font-size:11px}.archive-mock-selector>span{font-size:10px;color:var(--workspace-muted)}.archive-report-notes{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:22px 24px 0;padding:18px;background:#fafcfb;border:1px solid var(--workspace-border);border-radius:10px}.archive-report-notes span{font-size:10px;font-weight:700;color:var(--workspace-muted)}.archive-report-notes p{font-size:11px;line-height:1.8;color:var(--workspace-muted);margin-top:7px;overflow-wrap:anywhere}.archive-report-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:22px 24px}.archive-report-actions>p{width:100%;font-size:10px;color:var(--workspace-muted)}.archive-progress{padding:0 24px}.archive-progress section{border:1px solid var(--workspace-border);border-radius:10px;margin:0 0 16px;overflow:hidden}.archive-progress h4{font-size:12px;font-weight:700;padding:12px 16px;background:var(--workspace-surface-muted);color:var(--workspace-text)}.archive-progress section>div{display:flex;justify-content:space-between;gap:20px;padding:13px 16px;border-top:1px solid var(--workspace-border);font-size:11px}.archive-progress section>div span{flex:1;line-height:1.8}.archive-progress section>div strong{font-size:10px;font-weight:500;color:var(--workspace-text);max-width:45%;line-height:1.8}.archive-standings{padding:22px 24px;border-top:1px solid var(--workspace-border)}.archive-standings h3{font-size:13px;font-weight:700;margin-bottom:14px}.archive-standings h3 span{display:block;font-size:10px;font-weight:400;color:var(--workspace-muted);margin-top:5px}.archive-standings>div{max-height:270px;overflow-y:auto}.archive-standings button{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:12px 8px;border-bottom:1px solid var(--workspace-border);cursor:pointer}.archive-standings button:hover{background:var(--workspace-surface-muted)}.archive-standings button>strong{display:grid;place-items:center;width:30px;font-size:11px;color:var(--workspace-muted)}.archive-standings button>span{flex:1;font-size:12px}.archive-standings button>small{font-size:10px;color:var(--workspace-muted)}.archive-workspace .records-report-tag{display:flex;align-items:center;gap:6px}.archive-workspace .records-button:disabled{opacity:.45}.archive-workspace .records-button:focus-visible{outline:2px solid var(--brand-ink);outline-offset:3px}@media (max-width:760px){.archive-mock-selector{padding:14px 16px;flex-wrap:wrap}.archive-mock-selector>span{width:100%}.archive-report-notes{grid-template-columns:1fr;margin:18px 16px 0}.archive-report-actions{padding:18px 16px}.archive-progress,.archive-standings{padding:0 16px 18px}.archive-standings{padding-top:18px}.archive-standings button>span{font-size:11px}}/*!
 * Quill Editor v1.3.7
 * https://quilljs.com/
 * Copyright (c) 2014, Jason Chen
 * Copyright (c) 2013, salesforce.com
 */.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container.ql-disabled .ql-editor ul[data-checked]>li:before{pointer-events:none}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor ul,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol,.ql-editor ul{padding-left:1.5em}.ql-editor ol>li,.ql-editor ul>li{list-style-type:none}.ql-editor ul>li:before{content:"•"}.ql-editor ul[data-checked=true],.ql-editor ul[data-checked=false]{pointer-events:none}.ql-editor ul[data-checked=true]>li *,.ql-editor ul[data-checked=false]>li *{pointer-events:all}.ql-editor ul[data-checked=true]>li:before,.ql-editor ul[data-checked=false]>li:before{color:#777;cursor:pointer;pointer-events:all}.ql-editor ul[data-checked=true]>li:before{content:"☑"}.ql-editor ul[data-checked=false]>li:before{content:"☐"}.ql-editor li:before{display:inline-block;white-space:nowrap;width:1.2em}.ql-editor li:not(.ql-direction-rtl):before{margin-left:-1.5em;margin-right:.3em;text-align:right}.ql-editor li.ql-direction-rtl:before{margin-left:.3em;margin-right:-1.5em}.ql-editor ol li:not(.ql-direction-rtl),.ql-editor ul li:not(.ql-direction-rtl){padding-left:1.5em}.ql-editor ol li.ql-direction-rtl,.ql-editor ul li.ql-direction-rtl{padding-right:1.5em}.ql-editor ol li{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-0}.ql-editor ol li:before{content:counter(list-0,decimal) ". "}.ql-editor ol li.ql-indent-1{counter-increment:list-1}.ql-editor ol li.ql-indent-1:before{content:counter(list-1,lower-alpha) ". "}.ql-editor ol li.ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-2{counter-increment:list-2}.ql-editor ol li.ql-indent-2:before{content:counter(list-2,lower-roman) ". "}.ql-editor ol li.ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-3{counter-increment:list-3}.ql-editor ol li.ql-indent-3:before{content:counter(list-3,decimal) ". "}.ql-editor ol li.ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-4{counter-increment:list-4}.ql-editor ol li.ql-indent-4:before{content:counter(list-4,lower-alpha) ". "}.ql-editor ol li.ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-5{counter-increment:list-5}.ql-editor ol li.ql-indent-5:before{content:counter(list-5,lower-roman) ". "}.ql-editor ol li.ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-6{counter-increment:list-6}.ql-editor ol li.ql-indent-6:before{content:counter(list-6,decimal) ". "}.ql-editor ol li.ql-indent-6{counter-reset:list-7 list-8 list-9}.ql-editor ol li.ql-indent-7{counter-increment:list-7}.ql-editor ol li.ql-indent-7:before{content:counter(list-7,lower-alpha) ". "}.ql-editor ol li.ql-indent-7{counter-reset:list-8 list-9}.ql-editor ol li.ql-indent-8{counter-increment:list-8}.ql-editor ol li.ql-indent-8:before{content:counter(list-8,lower-roman) ". "}.ql-editor ol li.ql-indent-8{counter-reset:list-9}.ql-editor ol li.ql-indent-9{counter-increment:list-9}.ql-editor ol li.ql-indent-9:before{content:counter(list-9,decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:"";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media (pointer: coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor pre{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor pre{white-space:pre-wrap;margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor pre.ql-syntax{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label:before,.ql-snow .ql-picker.ql-header .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label:before,.ql-snow .ql-picker.ql-font .ql-picker-item:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:#0003 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0px}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:"Edit";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0px;content:"Save";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}.homework-workspace{padding:24px;background:#f5f8f7;color:var(--workspace-text);min-width:0;flex:1}.homework-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 30px;background:var(--brand-soft);border:1px solid var(--workspace-border);border-radius:20px}.homework-banner h2{font-size:26px;font-weight:700;color:var(--brand-ink);margin:8px 0}.homework-banner p{font-size:12px;color:var(--workspace-muted)}.homework-banner p span{margin:0 8px;color:var(--workspace-muted)}.homework-banner-label{display:flex;align-items:center;gap:9px;font-size:11px;padding:12px 16px;background:#fff9;border-radius:12px;color:var(--brand-ink);white-space:nowrap}.homework-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}.homework-metrics article{display:flex;align-items:center;gap:14px;padding:19px;background:#fff;border:1px solid var(--workspace-border);border-radius:15px}.homework-metrics strong{font-size:24px;font-weight:700;display:block}.homework-metrics article div>span{display:block;font-size:11px;color:var(--workspace-muted);margin-top:4px}.homework-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:20px;align-items:start}.homework-composer,.homework-feed{border:1px solid var(--workspace-border);border-radius:17px;overflow:hidden;background:#fff;min-width:0}.homework-panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:24px;border-bottom:1px solid var(--workspace-border)}.homework-panel-heading h3{font-size:21px;font-weight:700;margin:6px 0}.homework-panel-heading p{font-size:11px;color:var(--workspace-muted);line-height:1.8}.homework-status{font-size:9px;color:#849087;background:#f3f6f4;padding:7px 9px;border-radius:7px;white-space:nowrap}.homework-status.draft{background:#fff4df;color:#b58b42}.homework-composer-body{padding:22px 24px}.homework-field{display:block;margin-bottom:20px}.homework-field>span,.homework-instructions-label{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:600;color:var(--workspace-text);margin-bottom:9px}.homework-field small,.homework-instructions-label small{font-size:9px;font-weight:400;color:var(--workspace-muted)}.homework-field select{border:1px solid var(--workspace-border);background:#fafcfb;border-radius:9px;padding:11px 12px;color:var(--workspace-text);font-size:12px}.homework-field-note{font-size:10px;line-height:1.8;color:#b28b4e;margin:-10px 0 18px}.homework-rich-editor .ql-toolbar.ql-snow{border:1px solid var(--workspace-border);border-bottom:0;border-radius:9px 9px 0 0;padding:9px;background:var(--workspace-surface-muted)}.homework-rich-editor .ql-container.ql-snow{border:1px solid var(--workspace-border);border-radius:0 0 9px 9px;background:#fff;font-size:12px}.homework-rich-editor .ql-editor{min-height:245px;max-height:440px;overflow-y:auto;padding:18px;line-height:1.9;color:var(--workspace-text)}.homework-rich-editor .ql-editor.ql-blank:before{left:18px;right:18px;color:var(--workspace-muted);font-style:normal;font-size:12px;line-height:1.9}.homework-rich-editor .ql-snow .ql-stroke{stroke:var(--workspace-muted)}.homework-rich-editor .ql-snow .ql-picker{color:var(--workspace-muted);font-size:11px}.homework-rich-editor .ql-editor:focus-visible{outline:2px solid var(--brand-ink);outline-offset:-2px}.homework-attachment{display:flex;align-items:center;gap:12px;padding:15px;border:1px dashed var(--workspace-border);border-radius:10px;background:var(--workspace-surface-muted);margin-top:20px}.homework-attachment.attached{border-style:solid;background:var(--workspace-surface-muted)}.homework-attachment-icon{display:grid;place-items:center;flex-shrink:0;width:34px;height:38px;background:var(--brand-soft);color:var(--workspace-muted);border-radius:8px}.homework-attachment>div:nth-child(2){flex:1;min-width:0}.homework-attachment strong{display:block;font-size:11px;font-weight:600;overflow-wrap:anywhere}.homework-attachment p{font-size:9px;color:var(--workspace-muted);line-height:1.8;margin-top:4px}.homework-attachment a{font-size:10px;color:var(--brand-ink);text-decoration:underline;margin-top:5px;display:inline-block}.homework-attachment>div:nth-child(3){display:flex;align-items:center;gap:4px}.homework-attachment-remove{padding:7px;color:#b48680;cursor:pointer}.homework-composer-tip{display:flex;align-items:flex-start;gap:9px;margin-top:17px;color:var(--workspace-muted)}.homework-composer-tip svg{flex-shrink:0;margin-top:2px;font-size:13px}.homework-composer-tip p{font-size:10px;line-height:1.8}.homework-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 13px;background:#fff;border:1px solid var(--workspace-border);border-radius:9px;font-size:11px;font-weight:600;color:var(--workspace-text);cursor:pointer;white-space:nowrap}.homework-button:hover{background:var(--brand-soft)}.homework-button.primary{background:var(--brand-primary);border-color:var(--brand-ink);color:#fff}.homework-button.primary:hover{background:var(--brand-primary)}.homework-button.danger{background:#fff5f3;color:#b36960;border-color:#eedbd6}.homework-save-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 24px;background:#fafcfb;border-top:1px solid var(--workspace-border)}.homework-save-bar strong{font-size:11px;font-weight:600}.homework-save-bar p{font-size:10px;color:var(--workspace-muted);margin-top:5px;line-height:1.7;max-width:260px}.homework-save-bar>div:last-child{display:flex;gap:8px}.homework-feed-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:24px 22px 17px}.homework-feed-heading h3{font-size:16px;font-weight:700;display:flex;gap:9px;align-items:center}.homework-feed-heading h3 span{font-size:10px;background:var(--brand-soft);border-radius:6px;padding:3px 8px;color:var(--workspace-muted)}.homework-feed-heading p{font-size:10px;color:var(--workspace-muted);margin-top:7px}.homework-refresh{padding:9px;border:1px solid var(--workspace-border);border-radius:8px;font-size:13px;color:var(--workspace-muted);cursor:pointer}.homework-feed-filters{display:flex;gap:9px;padding:0 22px 18px;border-bottom:1px solid var(--workspace-border)}.homework-search{display:flex;gap:8px;align-items:center;flex:1;min-width:0;border:1px solid var(--workspace-border);border-radius:8px;background:#fafcfb;padding:10px;color:var(--workspace-muted)}.homework-search input{width:100%;min-width:0;font-size:10px;background:transparent;color:var(--workspace-text);border:0}.homework-feed-filters>select{width:130px;border:1px solid var(--workspace-border);border-radius:8px;padding:9px;font-size:10px;background:#fafcfb;color:var(--workspace-muted)}.homework-assignment-list{padding:16px;max-height:750px;overflow-y:auto;background:#fafcfb}.homework-assignment{background:#fff;border:1px solid var(--workspace-border);border-radius:12px;margin-bottom:14px;overflow:hidden}.homework-assignment.editing{border-color:var(--brand-ink);box-shadow:0 0 0 2px #e8f2eb}.homework-assignment header{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--workspace-border)}.homework-subject{display:flex;align-items:center;gap:8px;color:var(--workspace-text);font-size:11px;font-weight:700}.homework-subject svg{color:var(--workspace-muted)}.homework-assignment header>div{display:flex;gap:6px}.homework-assignment header button{padding:7px;border-radius:7px;color:var(--workspace-muted);cursor:pointer}.homework-assignment header button:hover{background:var(--brand-soft);color:var(--brand-ink)}.homework-assignment header button.danger{color:#c18f87}.homework-assignment header button.danger:hover{background:#fff0ec;color:#a96257}.homework-question.ql-editor{padding:16px;min-height:0;font-size:12px;line-height:1.85;white-space:normal;overflow-wrap:anywhere}.homework-question.ql-editor h2{font-size:16px;font-weight:700}.homework-question.ql-editor h3{font-size:14px;font-weight:700}.homework-question.ql-editor p{margin-bottom:7px}.homework-question.ql-editor a{color:var(--brand-ink);text-decoration:underline}.homework-question.ql-editor blockquote{border-left:3px solid var(--workspace-border);padding-left:12px;color:var(--workspace-muted)}.homework-assignment footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;background:var(--workspace-surface-muted);border-top:1px solid var(--workspace-border)}.homework-assignment footer span{display:flex;align-items:center;gap:6px;font-size:9px;color:var(--workspace-muted)}.homework-assignment footer small{display:block;font-size:9px;color:var(--workspace-muted);margin-top:4px}.homework-assignment footer a{display:flex;align-items:center;gap:5px;color:var(--workspace-muted);font-size:9px;font-weight:600}.homework-editing-label{font-size:9px;color:var(--workspace-muted);display:block;padding:9px 16px 0}.homework-feed-footer{display:flex;justify-content:space-between;gap:10px;padding:13px 22px;border-top:1px solid var(--workspace-border);font-size:9px;color:var(--workspace-muted)}.homework-empty{min-height:370px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px;text-align:center;padding:35px 20px}.homework-empty>svg{font-size:30px;color:var(--workspace-muted);margin-bottom:8px}.homework-empty h4{font-size:17px;font-weight:700;color:var(--workspace-text)}.homework-empty p{max-width:260px;font-size:11px;line-height:1.9;color:var(--workspace-muted)}.homework-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px;padding:14px 18px;border-radius:10px;background:#edf6ef;color:#5d8869;font-size:12px;line-height:1.8}.homework-notice.error{background:#fff2ef;color:#ac6960}.homework-notice.warning{background:#fff7e8;color:#a68449}.homework-notice button{padding:4px;cursor:pointer;flex-shrink:0}.homework-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:20px;background:#183b2b66;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.homework-modal{width:100%;max-width:420px;padding:30px;border-radius:20px;background:#fff;box-shadow:0 20px 70px #183b2b33}.homework-confirm-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#fff1ed;color:#b27b6f;font-size:22px;margin-bottom:18px}.homework-modal h3{font-size:21px;font-weight:700;margin-bottom:12px}.homework-modal p{font-size:12px;line-height:1.9;color:var(--workspace-muted)}.homework-modal>div{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.homework-workspace button:disabled,.homework-workspace select:disabled{opacity:.45;cursor:not-allowed}.homework-workspace button:focus-visible,.homework-workspace input:focus-visible,.homework-workspace select:focus-visible{outline:2px solid var(--brand-ink);outline-offset:3px}.homework-assignment-list::-webkit-scrollbar{width:5px}.homework-assignment-list::-webkit-scrollbar-thumb{background:var(--brand-soft);border-radius:5px}@media (max-width:1200px){.homework-layout{grid-template-columns:1fr}.homework-assignment-list{max-height:none}.homework-rich-editor .ql-editor{min-height:220px}.homework-feed-filters>select{width:170px}.homework-banner-label{display:none}}@media (max-width:760px){.homework-workspace{padding:14px}.homework-banner{padding:22px}.homework-banner h2{font-size:23px}.homework-metrics{grid-template-columns:1fr;gap:9px;margin:14px 0}.homework-metrics article{padding:12px 16px}.homework-metrics strong{font-size:20px}.homework-layout{gap:14px}.homework-panel-heading{padding:20px 16px}.homework-panel-heading h3{font-size:19px}.homework-status{white-space:normal;text-align:center}.homework-composer-body{padding:18px 16px}.homework-save-bar{padding:18px 16px;flex-direction:column;align-items:flex-start}.homework-save-bar p{max-width:none}.homework-attachment{flex-wrap:wrap}.homework-attachment>div:nth-child(3){margin-left:46px}.homework-feed-heading{padding:20px 16px 16px}.homework-feed-filters{padding:0 16px 16px;flex-wrap:wrap}.homework-search{flex-basis:100%}.homework-feed-filters>select{width:100%}.homework-assignment-list{padding:12px}.homework-feed-footer{padding:13px 16px}.homework-empty{min-height:280px}}.homework-rich-editor[aria-disabled=true] .ql-toolbar{pointer-events:none;opacity:.5}.homework-question img,.homework-rich-editor .ql-editor img{max-width:100%;height:auto}.subject-settings-workspace{flex:1;min-width:0;padding:24px;background:#f5f8f7;color:var(--workspace-text)}.subject-settings-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 30px;border:1px solid var(--workspace-border);border-radius:20px;background:var(--brand-soft)}.subject-settings-banner h2{font-size:27px;font-weight:700;color:var(--brand-ink);margin:8px 0}.subject-settings-banner p{max-width:540px;font-size:12px;color:var(--workspace-muted);line-height:1.8}.subject-settings-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border:1px solid var(--workspace-border);border-radius:9px;background:#fff;color:var(--workspace-text);font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap}.subject-settings-button:hover{background:var(--workspace-surface-muted)}.subject-settings-button.primary{background:var(--brand-primary);color:#fff;border-color:var(--brand-ink)}.subject-settings-button.primary:hover{background:var(--brand-primary)}.subject-settings-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}.subject-settings-metrics article{display:flex;align-items:center;gap:14px;padding:19px;background:#fff;border:1px solid var(--workspace-border);border-radius:15px}.subject-settings-metrics strong{font-size:24px;font-weight:700;display:block}.subject-settings-metrics strong small{font-size:12px;color:var(--workspace-muted);font-weight:400}.subject-settings-metrics article div>span{display:block;font-size:11px;color:var(--workspace-muted);margin-top:4px}.subject-settings-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:20px;align-items:start}.subject-settings-classes,.subject-settings-editor{border:1px solid var(--workspace-border);border-radius:17px;overflow:hidden;background:#fff}.subject-settings-classes-heading{padding:20px;border-bottom:1px solid var(--workspace-border)}.subject-settings-classes-heading h3{font-size:15px;font-weight:700;display:flex;align-items:center;justify-content:space-between}.subject-settings-classes-heading h3 span{font-size:10px;padding:4px 9px;border-radius:6px;background:var(--brand-soft);color:var(--workspace-text)}.subject-settings-classes-heading p{font-size:11px;color:var(--workspace-muted);margin:7px 0 16px}.subject-settings-search{display:flex;align-items:center;gap:9px;background:var(--workspace-surface-muted);border:1px solid var(--workspace-border);padding:10px 12px;border-radius:9px;color:var(--workspace-muted)}.subject-settings-search input{width:100%;min-width:0;background:transparent;font-size:11px;color:var(--workspace-text);border:0}.subject-settings-class-list{padding:9px;max-height:530px;overflow-y:auto}.subject-settings-class{display:flex;align-items:center;gap:11px;padding:13px 11px;width:100%;text-align:left;border:1px solid transparent;border-radius:11px;background:#fff;margin-bottom:4px;cursor:pointer}.subject-settings-class:hover{background:var(--workspace-surface-muted)}.subject-settings-class.selected{background:var(--brand-soft);border-color:var(--workspace-border)}.subject-settings-class-icon{display:grid;place-items:center;flex-shrink:0;width:33px;height:36px;background:var(--workspace-surface-muted);color:var(--workspace-muted);border-radius:8px;font-size:15px}.subject-settings-class.selected .subject-settings-class-icon{background:var(--brand-soft);color:var(--brand-ink)}.subject-settings-class>span:nth-child(2){min-width:0;flex:1}.subject-settings-class strong{display:block;font-size:12px;font-weight:600;overflow-wrap:anywhere}.subject-settings-class small{display:block;font-size:10px;margin-top:5px;color:var(--workspace-muted)}.subject-settings-class>i{width:7px;height:7px;border-radius:50%;background:#d69a39;flex-shrink:0}.subject-settings-classes footer{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-top:1px solid var(--workspace-border);font-size:10px;color:var(--workspace-muted)}.subject-settings-classes footer button{padding:7px;border-radius:7px;cursor:pointer}.subject-settings-classes footer button:hover{background:var(--brand-soft)}.subject-settings-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px;border-bottom:1px solid var(--workspace-border)}.subject-settings-editor-heading h3{font-size:23px;font-weight:700;margin:5px 0}.subject-settings-editor-heading p{font-size:11px;color:var(--workspace-muted)}.subject-settings-status{padding:7px 10px;background:#f2f4f3;color:#8b958e;font-size:10px;border-radius:7px;white-space:nowrap}.subject-settings-status.draft{background:#fff5e4;color:#b48736}.subject-settings-status.saved{background:#edf6ef;color:#5b8664}.subject-settings-editor-summary{display:flex;align-items:center;gap:28px;padding:20px 24px}.subject-settings-editor-summary>div strong{font-size:20px;font-weight:700;display:block}.subject-settings-editor-summary>div span{font-size:10px;color:var(--workspace-muted);display:block;margin-top:3px}.subject-settings-editor-summary>button{margin-left:auto}.subject-settings-guidance{display:flex;align-items:flex-start;gap:10px;padding:12px 15px;margin:0 24px 18px;background:var(--workspace-surface-muted);border-radius:9px;color:var(--workspace-muted)}.subject-settings-guidance svg{flex-shrink:0;margin-top:3px;color:var(--workspace-muted)}.subject-settings-guidance p{font-size:10px;line-height:1.8}.subject-settings-table-wrap{overflow-x:auto;padding:0 24px 20px}.subject-settings-table{width:100%;border-collapse:collapse;min-width:440px;table-layout:fixed}.subject-settings-table thead{background:var(--workspace-surface-muted)}.subject-settings-table th{text-align:left;font-size:10px;font-weight:600;color:var(--workspace-muted);padding:12px 10px}.subject-settings-table th:nth-child(2){width:75px}.subject-settings-table th:nth-child(3){width:95px}.subject-settings-table th:last-child{width:36px}.subject-settings-table td{padding:12px 6px;border-bottom:1px solid var(--workspace-border)}.subject-settings-table input[type=text],.subject-settings-table input[type=number]{width:100%;padding:10px;border:1px solid var(--workspace-border);border-radius:7px;background:var(--workspace-surface-muted);color:var(--workspace-text);font-size:11px}.subject-settings-table input::placeholder{color:var(--workspace-muted)}.subject-settings-table input:focus{border-color:var(--brand-ink);background:#fff}.subject-settings-toggle{position:relative;display:flex;align-items:center;gap:7px;cursor:pointer}.subject-settings-toggle input{position:absolute;opacity:0;width:34px;height:20px;cursor:pointer}.subject-settings-toggle>span{width:34px;height:20px;border-radius:12px;background:var(--brand-soft);transition:background .15s;padding:3px;pointer-events:none}.subject-settings-toggle i{display:block;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0001;transition:transform .15s}.subject-settings-toggle input:checked+span{background:var(--brand-primary)}.subject-settings-toggle input:checked+span i{transform:translate(14px)}.subject-settings-toggle input:focus-visible+span{outline:2px solid var(--brand-ink);outline-offset:3px}.subject-settings-toggle em{font-style:normal;font-size:10px;color:var(--workspace-muted)}.subject-settings-remove{display:grid;place-items:center;padding:7px;color:#bd8380;border-radius:7px;cursor:pointer}.subject-settings-remove:hover{background:#fff0ed;color:#ac5e57}.subject-settings-save-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 24px;background:#fafcfb;border-top:1px solid var(--workspace-border)}.subject-settings-save-bar strong{font-size:11px;font-weight:600}.subject-settings-save-bar p{font-size:10px;color:var(--workspace-muted);margin-top:5px;line-height:1.7;max-width:330px}.subject-settings-save-bar>div:last-child{display:flex;gap:8px;flex-wrap:wrap}.subject-settings-empty{min-height:470px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:40px 25px;gap:15px}.subject-settings-empty>span{display:grid;place-items:center;width:75px;height:75px;font-size:29px;color:var(--brand-ink);background:var(--brand-soft);border-radius:24px;margin-bottom:7px}.subject-settings-empty h3{font-size:21px;font-weight:700}.subject-settings-empty p{font-size:12px;line-height:1.8;color:var(--workspace-muted);max-width:340px}.subject-settings-small-empty{text-align:center;color:var(--workspace-muted);font-size:11px;padding:30px 15px}.subject-settings-no-subjects{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;min-height:230px;padding:25px;text-align:center}.subject-settings-no-subjects>svg{font-size:26px;color:var(--workspace-muted)}.subject-settings-no-subjects h4{font-size:15px;font-weight:700}.subject-settings-no-subjects p{font-size:11px;color:var(--workspace-muted)}.subject-settings-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;margin:0 0 16px;border-radius:10px;background:#edf6ef;color:#558064;font-size:12px;line-height:1.7}.subject-settings-notice.error{background:#fff1ef;color:#aa625b}.subject-settings-notice button{cursor:pointer;padding:4px}.subject-settings-workspace button:disabled{opacity:.45;cursor:not-allowed}.subject-settings-workspace input:disabled{opacity:.6;cursor:not-allowed}.subject-settings-workspace button:focus-visible,.subject-settings-search:focus-within{outline:2px solid var(--brand-ink);outline-offset:3px}.subject-settings-workspace input:focus-visible{outline:2px solid var(--brand-ink);outline-offset:1px}.subject-settings-class-list::-webkit-scrollbar{width:5px}.subject-settings-class-list::-webkit-scrollbar-thumb{background:var(--brand-soft);border-radius:6px}@media (max-width:1100px){.subject-settings-layout{grid-template-columns:235px minmax(0,1fr)}.subject-settings-save-bar{flex-direction:column;align-items:flex-start}.subject-settings-banner p{max-width:400px}.subject-settings-editor-heading{align-items:flex-start}.subject-settings-status{white-space:normal;text-align:center}}@media (max-width:760px){.subject-settings-workspace{padding:14px}.subject-settings-banner{padding:22px;align-items:flex-start;flex-direction:column}.subject-settings-banner h2{font-size:23px}.subject-settings-metrics{grid-template-columns:1fr;gap:9px;margin:14px 0}.subject-settings-metrics article{padding:12px 16px}.subject-settings-metrics strong{font-size:20px}.subject-settings-layout{grid-template-columns:1fr;gap:14px}.subject-settings-class-list{max-height:215px}.subject-settings-classes-heading{padding:16px}.subject-settings-editor-heading{padding:20px 16px}.subject-settings-editor-heading h3{font-size:21px}.subject-settings-editor-summary{padding:16px;gap:18px;flex-wrap:wrap}.subject-settings-editor-summary>div strong{font-size:18px}.subject-settings-guidance{margin:0 16px 16px}.subject-settings-table-wrap{padding:0 16px 16px}.subject-settings-save-bar{padding:18px 16px}.subject-settings-empty{min-height:320px}.subject-settings-editor-summary>button{padding:9px 10px}}@media (prefers-reduced-motion:reduce){.subject-settings-toggle i,.subject-settings-toggle>span{transition:none}}
