@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction: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;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-900:oklch(39.6% .141 25.723);--color-orange-500:oklch(70.5% .213 47.604);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-yellow-500:oklch(79.5% .184 86.047);--color-lime-500:oklch(76.8% .233 130.85);--color-green-100:oklch(96.2% .044 156.743);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-900:oklch(39.3% .095 152.535);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-900:oklch(37.9% .146 265.522);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-600:oklch(51.1% .262 276.966);--color-indigo-700:oklch(45.7% .24 277.023);--color-violet-500:oklch(60.6% .25 292.717);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-zinc-700:oklch(37% .013 285.805);--color-zinc-800:oklch(27.4% .006 286.033);--color-zinc-900:oklch(21% .006 285.885);--color-zinc-950:oklch(14.1% .005 285.823);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-3xl:48rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing)*2)}.right-0{right:calc(var(--spacing)*0)}.right-2{right:calc(var(--spacing)*2)}.right-6{right:calc(var(--spacing)*6)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-6{bottom:calc(var(--spacing)*6)}.left-0{left:calc(var(--spacing)*0)}.left-3{left:calc(var(--spacing)*3)}.z-40{z-index:40}.z-50{z-index:50}.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}}.mx-auto{margin-inline:auto}.my-2{margin-block:calc(var(--spacing)*2)}.my-5{margin-block:calc(var(--spacing)*5)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mt-6{margin-top:calc(var(--spacing)*6)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.h-1{height:calc(var(--spacing)*1)}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-16{height:calc(var(--spacing)*16)}.h-20{height:calc(var(--spacing)*20)}.h-\[calc\(100\%-52px\)\]{height:calc(100% - 52px)}.h-full{height:100%}.h-px{height:1px}.max-h-\[70vh\]{max-height:70vh}.min-h-screen{min-height:100vh}.w-2{width:calc(var(--spacing)*2)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-24{width:calc(var(--spacing)*24)}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-xl{max-width:var(--container-xl)}.min-w-full{min-width:100%}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-slate-50>:not(:last-child)){border-color:var(--color-slate-50)}:where(.divide-slate-100>:not(:last-child)){border-color:var(--color-slate-100)}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-2xl{border-top-left-radius:var(--radius-2xl);border-top-right-radius:var(--radius-2xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-\[var\(--accent-primary\)\]{border-color:var(--accent-primary)}.border-\[var\(--border-color\)\]{border-color:var(--border-color)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-red-200{border-color:var(--color-red-200)}.border-slate-100{border-color:var(--color-slate-100)}.border-slate-200{border-color:var(--color-slate-200)}.border-slate-300{border-color:var(--color-slate-300)}.border-white{border-color:var(--color-white)}.bg-\[\#1a73e8\]{background-color:#1a73e8}.bg-\[var\(--accent-light\)\]{background-color:var(--accent-light)}.bg-\[var\(--bg-primary\)\]{background-color:var(--bg-primary)}.bg-\[var\(--bg-secondary\)\]{background-color:var(--bg-secondary)}.bg-\[var\(--bg-tertiary\)\]{background-color:var(--bg-tertiary)}.bg-\[var\(--success\)\]{background-color:var(--success)}.bg-amber-50{background-color:var(--color-amber-50)}.bg-black{background-color:var(--color-black)}.bg-black\/30{background-color:#0000004d}@supports (color:color-mix(in lab,red,red)){.bg-black\/30{background-color:color-mix(in oklab,var(--color-black)30%,transparent)}}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab,red,red)){.bg-black\/40{background-color:color-mix(in oklab,var(--color-black)40%,transparent)}}.bg-black\/90{background-color:#000000e6}@supports (color:color-mix(in lab,red,red)){.bg-black\/90{background-color:color-mix(in oklab,var(--color-black)90%,transparent)}}.bg-blue-100{background-color:var(--color-blue-100)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-500{background-color:var(--color-green-500)}.bg-indigo-500{background-color:var(--color-indigo-500)}.bg-lime-500{background-color:var(--color-lime-500)}.bg-orange-500{background-color:var(--color-orange-500)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-600{background-color:var(--color-red-600)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-50\/60{background-color:#f8fafc99}@supports (color:color-mix(in lab,red,red)){.bg-slate-50\/60{background-color:color-mix(in oklab,var(--color-slate-50)60%,transparent)}}.bg-slate-100{background-color:var(--color-slate-100)}.bg-slate-900{background-color:var(--color-slate-900)}.bg-white{background-color:var(--color-white)}.bg-white\/80{background-color:#fffc}@supports (color:color-mix(in lab,red,red)){.bg-white\/80{background-color:color-mix(in oklab,var(--color-white)80%,transparent)}}.bg-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))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-gray-50{--tw-gradient-from:var(--color-gray-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-indigo-500{--tw-gradient-from:var(--color-indigo-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-violet-500{--tw-gradient-to:var(--color-violet-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-white{--tw-gradient-to:var(--color-white);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.p-10{padding:calc(var(--spacing)*10)}.p-12{padding:calc(var(--spacing)*12)}.px-1{padding-inline:calc(var(--spacing)*1)}.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-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.py-10{padding-block:calc(var(--spacing)*10)}.pt-1{padding-top:calc(var(--spacing)*1)}.pr-3{padding-right:calc(var(--spacing)*3)}.pr-10{padding-right:calc(var(--spacing)*10)}.pl-10{padding-left:calc(var(--spacing)*10)}.text-center{text-align:center}.text-left{text-align:left}.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-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-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-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.whitespace-nowrap{white-space:nowrap}.text-\[var\(--accent-primary\)\]{color:var(--accent-primary)}.text-\[var\(--text-primary\)\]{color:var(--text-primary)}.text-\[var\(--text-secondary\)\]{color:var(--text-secondary)}.text-\[var\(--text-tertiary\)\]{color:var(--text-tertiary)}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-black{color:var(--color-black)}.text-blue-600{color:var(--color-blue-600)}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-700{color:var(--color-emerald-700)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-green-600{color:var(--color-green-600)}.text-indigo-600{color:var(--color-indigo-600)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-slate-900{color:var(--color-slate-900)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.placeholder-gray-400::placeholder{color:var(--color-gray-400)}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-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-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-amber-200{--tw-ring-color:var(--color-amber-200)}.ring-emerald-200{--tw-ring-color:var(--color-emerald-200)}.ring-slate-200{--tw-ring-color:var(--color-slate-200)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a))drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a)drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.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,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.select-none{-webkit-user-select:none;user-select:none}.placeholder\:text-slate-400::placeholder{color:var(--color-slate-400)}@media(hover:hover){.hover\:-translate-y-0\.5:hover{--tw-translate-y:calc(var(--spacing)*-.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\:bg-\[\#1a73e8\]\/90:hover{background-color:#1a73e8e6}.hover\:bg-\[var\(--bg-hover\)\]:hover{background-color:var(--bg-hover)}.hover\:bg-\[var\(--success-dark\)\]:hover{background-color:var(--success-dark)}.hover\:bg-black\/90:hover{background-color:#000000e6}@supports (color:color-mix(in lab,red,red)){.hover\:bg-black\/90:hover{background-color:color-mix(in oklab,var(--color-black)90%,transparent)}}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-red-700:hover{background-color:var(--color-red-700)}.hover\:bg-slate-50:hover{background-color:var(--color-slate-50)}.hover\:bg-slate-50\/50:hover{background-color:#f8fafc80}@supports (color:color-mix(in lab,red,red)){.hover\:bg-slate-50\/50:hover{background-color:color-mix(in oklab,var(--color-slate-50)50%,transparent)}}.hover\:bg-slate-100:hover{background-color:var(--color-slate-100)}.hover\:bg-slate-200:hover{background-color:var(--color-slate-200)}.hover\:bg-slate-800:hover{background-color:var(--color-slate-800)}.hover\:text-gray-900:hover{color:var(--color-gray-900)}.hover\:text-indigo-700:hover{color:var(--color-indigo-700)}.hover\:text-red-600:hover{color:var(--color-red-600)}.hover\:text-slate-700:hover{color:var(--color-slate-700)}.hover\:text-slate-900:hover{color:var(--color-slate-900)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-lg:hover{--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)}.hover\:shadow-md:hover{--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)}.hover\:shadow-indigo-500\/25:hover{--tw-shadow-color:#625fff40}@supports (color:color-mix(in lab,red,red)){.hover\:shadow-indigo-500\/25:hover{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-indigo-500)25%,transparent)var(--tw-shadow-alpha),transparent)}}}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-\[\#1a73e8\]\/70:focus{--tw-ring-color:oklab(57.3697% -.0409326 -.190249/.7)}.focus\:ring-black:focus{--tw-ring-color:var(--color-black)}.focus\:ring-black\/70:focus{--tw-ring-color:#000000b3}@supports (color:color-mix(in lab,red,red)){.focus\:ring-black\/70:focus{--tw-ring-color:color-mix(in oklab,var(--color-black)70%,transparent)}}.focus\:ring-black\/80:focus{--tw-ring-color:#000c}@supports (color:color-mix(in lab,red,red)){.focus\:ring-black\/80:focus{--tw-ring-color:color-mix(in oklab,var(--color-black)80%,transparent)}}.focus\:ring-slate-300:focus{--tw-ring-color:var(--color-slate-300)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:translate-y-0:active{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media(min-width:40rem){.sm\:flex{display:flex}.sm\:w-60{width:calc(var(--spacing)*60)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:px-6{padding-inline:calc(var(--spacing)*6)}.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}}@media(min-width:48rem){.md\:block{display:block}.md\:flex{display:flex}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}}@media(min-width:64rem){.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:col-span-8{grid-column:span 8/span 8}.lg\:col-span-12{grid-column:span 12/span 12}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:items-end{align-items:flex-end}.lg\:items-start{align-items:flex-start}.lg\:justify-between{justify-content:space-between}.lg\:px-1{padding-inline:calc(var(--spacing)*1)}}@media(prefers-color-scheme:dark){.dark\:border-zinc-700{border-color:var(--color-zinc-700)}.dark\:border-zinc-800{border-color:var(--color-zinc-800)}.dark\:bg-blue-900\/30{background-color:#1c398e4d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-blue-900\/30{background-color:color-mix(in oklab,var(--color-blue-900)30%,transparent)}}.dark\:bg-green-900\/30{background-color:#0d542b4d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-green-900\/30{background-color:color-mix(in oklab,var(--color-green-900)30%,transparent)}}.dark\:bg-red-900\/30{background-color:#82181a4d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-red-900\/30{background-color:color-mix(in oklab,var(--color-red-900)30%,transparent)}}.dark\:bg-white\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.dark\:bg-white\/90{background-color:color-mix(in oklab,var(--color-white)90%,transparent)}}.dark\:bg-zinc-700{background-color:var(--color-zinc-700)}.dark\:bg-zinc-800{background-color:var(--color-zinc-800)}.dark\:bg-zinc-900{background-color:var(--color-zinc-900)}.dark\:bg-zinc-900\/80{background-color:#18181bcc}@supports (color:color-mix(in lab,red,red)){.dark\:bg-zinc-900\/80{background-color:color-mix(in oklab,var(--color-zinc-900)80%,transparent)}}.dark\:from-zinc-900{--tw-gradient-from:var(--color-zinc-900);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:to-zinc-950{--tw-gradient-to:var(--color-zinc-950);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:text-black{color:var(--color-black)}.dark\:text-blue-400{color:var(--color-blue-400)}.dark\:text-gray-100{color:var(--color-gray-100)}.dark\:text-gray-200{color:var(--color-gray-200)}.dark\:text-gray-300{color:var(--color-gray-300)}.dark\:text-gray-400{color:var(--color-gray-400)}.dark\:text-green-400{color:var(--color-green-400)}.dark\:text-red-400{color:var(--color-red-400)}.dark\:text-white{color:var(--color-white)}@media(hover:hover){.dark\:hover\:bg-zinc-800:hover{background-color:var(--color-zinc-800)}.dark\:hover\:text-white:hover{color:var(--color-white)}}.dark\:focus\:ring-white\/80:focus{--tw-ring-color:#fffc}@supports (color:color-mix(in lab,red,red)){.dark\:focus\:ring-white\/80:focus{--tw-ring-color:color-mix(in oklab,var(--color-white)80%,transparent)}}}}:root{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}#root{width:100%;text-align:initial}.sidebar{position:fixed;top:0;left:0;height:100vh;width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;z-index:40;transition:width .3s ease,transform .3s ease}.sidebar.collapsed{width:var(--sidebar-collapsed)}.sidebar.collapsed .hide-collapsed{opacity:0;width:0;overflow:hidden}.sidebar.collapsed .nav-item{justify-content:center;padding:12px 0}.sidebar.collapsed .sidebar-header,.sidebar.collapsed .sidebar-brand{justify-content:center}@media(max-width:1023px){.sidebar{transform:translate(-100%);width:280px}.sidebar.open{transform:translate(0);box-shadow:0 20px 40px #00000026}}.sidebar-overlay{position:fixed;inset:0;background:#0f172a66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:35;opacity:0;pointer-events:none;transition:opacity .2s}.sidebar-overlay.visible{opacity:1;pointer-events:auto}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid var(--border-subtle)}.sidebar-brand{display:flex;align-items:center;gap:12px}.sidebar-logo{width:36px;height:36px;flex-shrink:0}.sidebar-title{font-size:18px;font-weight:700;letter-spacing:-.025em;color:var(--text-primary);transition:all .3s ease;white-space:nowrap}.sidebar-close-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;color:var(--text-secondary);transition:all .15s ease;cursor:pointer;border:none;background:transparent}.sidebar-close-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-close-btn svg{width:20px;height:20px}@media(min-width:1024px){.sidebar-close-btn{display:none}}.sidebar-nav{flex:1;padding:12px;overflow-y:auto}.sidebar-footer{padding:12px;border-top:1px solid var(--border-subtle)}.nav-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.nav-group{margin-bottom:0}.nav-group-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);font-weight:600;padding:8px 12px}.sidebar.collapsed .nav-group-label{display:none}.nav-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;color:var(--text-secondary);font-size:14px;font-weight:500;border-radius:10px;transition:all .15s ease;position:relative;cursor:pointer;border:none;background:transparent;text-align:left;font-family:inherit;animation:slideIn .3s ease backwards}.nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-item.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:20px;background:linear-gradient(180deg,#6366f1,#8b5cf6);border-radius:0 4px 4px 0}.nav-item svg{width:20px;height:20px;flex-shrink:0}.nav-icon{width:20px;height:20px;flex-shrink:0}.nav-label{transition:all .3s ease;white-space:nowrap}.nav-badge{margin-left:auto;padding:2px 8px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;font-size:11px;font-weight:600;border-radius:9999px;line-height:1.4}@keyframes slideIn{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}.nav-item:nth-child(1){animation-delay:0ms}.nav-item:nth-child(2){animation-delay:30ms}.nav-item:nth-child(3){animation-delay:60ms}.nav-item:nth-child(4){animation-delay:90ms}.nav-item:nth-child(5){animation-delay:.12s}.nav-item:nth-child(6){animation-delay:.15s}.nav-item:nth-child(7){animation-delay:.18s}.nav-item:nth-child(8){animation-delay:.21s}.sidebar-nav::-webkit-scrollbar{width:8px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:9999px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#94a3b8}.sidebar.collapsed .nav-item{position:relative}.sidebar.collapsed .nav-item:after{content:attr(data-tooltip);position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%);padding:6px 12px;background:var(--text-primary);color:#fff;font-size:13px;font-weight:500;border-radius:8px;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;transition:all .15s ease;z-index:50}.sidebar.collapsed .nav-item:hover:after{opacity:1;visibility:visible}.sidebar.collapsed .nav-item:before{content:"";position:absolute;left:calc(100% + 6px);top:50%;transform:translateY(-50%);border:6px solid transparent;border-right-color:var(--text-primary);opacity:0;visibility:hidden;transition:all .15s ease;z-index:50}.sidebar.collapsed .nav-item:hover:before{opacity:1;visibility:visible}.sidebar.collapsed .nav-item.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:20px;background:linear-gradient(180deg,#6366f1,#8b5cf6);border-radius:0 4px 4px 0;border:none;opacity:1;visibility:visible}.topbar{position:fixed;top:0;right:0;left:var(--sidebar-width);height:var(--topbar-height);background:#fffc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);z-index:30;transition:left .3s ease;display:flex;align-items:center;justify-content:space-between;padding:0 16px}.topbar.collapsed{left:var(--sidebar-collapsed)}@media(min-width:640px){.topbar{padding:0 24px}}@media(max-width:1023px){.topbar,.topbar.collapsed{left:0}}.topbar-left{display:flex;align-items:center;gap:12px;flex:1}@media(min-width:640px){.topbar-left{gap:16px}}.topbar-right{display:flex;align-items:center;gap:4px}@media(min-width:640px){.topbar-right{gap:8px}}.icon-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;color:var(--text-secondary);transition:all .15s ease;position:relative;cursor:pointer;border:none;background:transparent}.icon-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.icon-btn svg{width:20px;height:20px}.top-search-box{display:none;align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;padding:0 14px;height:42px;transition:all .15s ease;flex:1;max-width:448px}@media(min-width:640px){.top-search-box{display:flex}}.top-search-box:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 3px #6366f11a;background:var(--bg-secondary)}.top-search-box svg{width:16px;height:16px;color:var(--text-tertiary);flex-shrink:0}.top-search-box input{flex:1;background:transparent;border:none;outline:none;color:var(--text-primary);font-size:14px;padding:0 10px;font-family:inherit}.top-search-box input::placeholder{color:var(--text-tertiary)}.search-shortcut{display:none;align-items:center;padding:4px 8px;background:var(--bg-tertiary);color:var(--text-tertiary);font-size:12px;font-weight:500;border-radius:6px;font-family:inherit;border:none}@media(min-width:768px){.search-shortcut{display:flex}}.notif-dot{position:absolute;top:8px;right:8px;width:8px;height:8px;background:#ef4444;border-radius:50%;border:2px solid white}.dropdown-container{position:relative}.lang-btn{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;transition:all .15s ease;cursor:pointer;border:1px solid var(--border-color);background:var(--bg-secondary);font-size:13px;font-weight:500;color:var(--text-secondary);font-family:inherit}.lang-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--text-tertiary)}.lang-btn.active{border-color:var(--accent-primary)}.lang-flag{width:20px;height:14px;border-radius:2px;object-fit:cover;box-shadow:0 1px 2px #0000001a}.lang-code{text-transform:uppercase;font-size:12px;font-weight:600;letter-spacing:.025em}.lang-chevron{display:flex;align-items:center;justify-content:center;transition:transform .15s ease}.lang-chevron.open{transform:rotate(180deg)}.lang-chevron svg{width:16px;height:16px;color:var(--text-tertiary)}.lang-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:180px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:14px;box-shadow:0 10px 40px #0000001a;padding:6px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:all .15s ease;z-index:50}.lang-dropdown.open{opacity:1;visibility:visible;transform:translateY(0)}.lang-option{display:flex;align-items:center;gap:12px;padding:10px 12px;color:var(--text-secondary);font-size:14px;font-weight:500;border-radius:10px;cursor:pointer;transition:all .15s;border:none;background:transparent;width:100%;text-align:left;font-family:inherit}.lang-option:hover{background:var(--bg-hover);color:var(--text-primary)}.lang-option.active{background:var(--accent-light);color:var(--accent-primary)}.lang-flag-large{width:24px;height:16px;border-radius:3px;object-fit:cover;box-shadow:0 1px 3px #0000001f}.lang-name{flex:1}.lang-check{width:16px;height:16px;opacity:0;display:flex;align-items:center;justify-content:center}.lang-check svg{width:16px;height:16px}.lang-option.active .lang-check{opacity:1}.user-btn{display:flex;align-items:center;gap:12px;padding:6px 12px 6px 6px;border-radius:12px;transition:background .15s;cursor:pointer;border:none;background:transparent;font-family:inherit}.user-btn:hover{background:var(--bg-hover)}.user-avatar{width:38px;height:38px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:600;flex-shrink:0}.user-avatar-img{width:38px;height:38px;border-radius:10px;object-fit:cover;flex-shrink:0}.user-info{display:none;flex-direction:column;align-items:flex-start}@media(min-width:768px){.user-info{display:flex}}.user-name{font-size:14px;font-weight:600;color:var(--text-primary);line-height:1.3}.user-role{font-size:12px;color:var(--text-secondary);line-height:1.3}.user-chevron{display:none;align-items:center;justify-content:center;transition:transform .15s ease}@media(min-width:768px){.user-chevron{display:flex}}.user-chevron.open{transform:rotate(180deg)}.user-chevron svg{width:16px;height:16px;color:var(--text-tertiary)}.user-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:14px;box-shadow:0 10px 40px #0000001a;padding:8px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:all .15s ease;z-index:50}.user-dropdown.open{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-item{display:flex;align-items:center;gap:12px;padding:10px 12px;color:var(--text-secondary);font-size:14px;border-radius:8px;cursor:pointer;transition:all .15s;border:none;background:transparent;width:100%;text-align:left;font-family:inherit}.dropdown-item:hover{background:var(--bg-hover);color:var(--text-primary)}.dropdown-item svg{width:16px;height:16px;flex-shrink:0}.dropdown-item.danger{color:#ef4444}.dropdown-item.danger:hover{background:#fef2f2}.dropdown-divider{height:1px;background:var(--border-subtle);margin:8px 0}.school-btn{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;transition:all .15s ease;cursor:pointer;border:1px solid var(--border-color);background:var(--bg-secondary);font-size:13px;font-weight:500;color:var(--text-secondary);font-family:inherit;max-width:220px}.school-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--text-tertiary)}.school-btn.active{border-color:var(--accent-primary)}.school-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0}.school-icon svg{width:16px;height:16px;color:var(--accent-primary)}.school-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.school-chevron{display:flex;align-items:center;justify-content:center;transition:transform .15s ease;flex-shrink:0}.school-chevron.open{transform:rotate(180deg)}.school-chevron svg{width:16px;height:16px;color:var(--text-tertiary)}.school-dropdown{position:absolute;top:calc(100% + 8px);left:0;min-width:260px;max-width:320px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:14px;box-shadow:0 10px 40px #0000001a;padding:6px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:all .15s ease;z-index:50}.school-dropdown.open{opacity:1;visibility:visible;transform:translateY(0)}.school-dropdown-header{padding:8px 12px 6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary)}.school-option{display:flex;align-items:center;gap:12px;padding:10px 12px;color:var(--text-secondary);font-size:14px;font-weight:500;border-radius:10px;cursor:pointer;transition:all .15s;border:none;background:transparent;width:100%;text-align:left;font-family:inherit}.school-option:hover{background:var(--bg-hover);color:var(--text-primary)}.school-option.active{background:var(--accent-light);color:var(--accent-primary)}.school-option-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--bg-tertiary);border-radius:8px;flex-shrink:0}.school-option.active .school-option-icon{background:#6366f126}.school-option-icon svg{width:18px;height:18px;color:var(--text-tertiary)}.school-option.active .school-option-icon svg{color:var(--accent-primary)}.school-option-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.school-option-name{font-size:14px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.school-option.active .school-option-name{color:var(--accent-primary)}.school-option-role{font-size:12px;color:var(--text-tertiary)}.school-check{width:18px;height:18px;opacity:0;display:flex;align-items:center;justify-content:center;flex-shrink:0}.school-check svg{width:16px;height:16px;color:var(--accent-primary)}.school-option.active .school-check{opacity:1}.school-label{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;background:var(--bg-tertiary);font-size:13px;font-weight:500;color:var(--text-secondary);max-width:300px}.school-label .school-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0}.school-label .school-icon svg{width:16px;height:16px;color:var(--accent-primary)}.school-label .school-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}@media(max-width:480px){.school-label .school-name{display:none}.school-label{padding:8px}}@media(max-width:480px){.school-btn .school-name{display:none}.school-btn{padding:8px}}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction: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;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-900:oklch(39.6% .141 25.723);--color-orange-500:oklch(70.5% .213 47.604);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-yellow-500:oklch(79.5% .184 86.047);--color-lime-500:oklch(76.8% .233 130.85);--color-green-100:oklch(96.2% .044 156.743);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-900:oklch(39.3% .095 152.535);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-900:oklch(37.9% .146 265.522);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-600:oklch(51.1% .262 276.966);--color-indigo-700:oklch(45.7% .24 277.023);--color-violet-500:oklch(60.6% .25 292.717);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-zinc-700:oklch(37% .013 285.805);--color-zinc-800:oklch(27.4% .006 286.033);--color-zinc-900:oklch(21% .006 285.885);--color-zinc-950:oklch(14.1% .005 285.823);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-3xl:48rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing)*2)}.right-0{right:calc(var(--spacing)*0)}.right-2{right:calc(var(--spacing)*2)}.right-6{right:calc(var(--spacing)*6)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-6{bottom:calc(var(--spacing)*6)}.left-0{left:calc(var(--spacing)*0)}.left-3{left:calc(var(--spacing)*3)}.z-40{z-index:40}.z-50{z-index:50}.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}}.mx-auto{margin-inline:auto}.my-2{margin-block:calc(var(--spacing)*2)}.my-5{margin-block:calc(var(--spacing)*5)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mt-6{margin-top:calc(var(--spacing)*6)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.h-1{height:calc(var(--spacing)*1)}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-16{height:calc(var(--spacing)*16)}.h-20{height:calc(var(--spacing)*20)}.h-\[calc\(100\%-52px\)\]{height:calc(100% - 52px)}.h-full{height:100%}.h-px{height:1px}.max-h-\[70vh\]{max-height:70vh}.min-h-screen{min-height:100vh}.w-2{width:calc(var(--spacing)*2)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-24{width:calc(var(--spacing)*24)}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-xl{max-width:var(--container-xl)}.min-w-full{min-width:100%}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-slate-50>:not(:last-child)){border-color:var(--color-slate-50)}:where(.divide-slate-100>:not(:last-child)){border-color:var(--color-slate-100)}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-2xl{border-top-left-radius:var(--radius-2xl);border-top-right-radius:var(--radius-2xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-\[var\(--accent-primary\)\]{border-color:var(--accent-primary)}.border-\[var\(--border-color\)\]{border-color:var(--border-color)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-red-200{border-color:var(--color-red-200)}.border-slate-100{border-color:var(--color-slate-100)}.border-slate-200{border-color:var(--color-slate-200)}.border-slate-300{border-color:var(--color-slate-300)}.border-white{border-color:var(--color-white)}.bg-\[\#1a73e8\]{background-color:#1a73e8}.bg-\[var\(--accent-light\)\]{background-color:var(--accent-light)}.bg-\[var\(--bg-primary\)\]{background-color:var(--bg-primary)}.bg-\[var\(--bg-secondary\)\]{background-color:var(--bg-secondary)}.bg-\[var\(--bg-tertiary\)\]{background-color:var(--bg-tertiary)}.bg-\[var\(--success\)\]{background-color:var(--success)}.bg-amber-50{background-color:var(--color-amber-50)}.bg-black{background-color:var(--color-black)}.bg-black\/30{background-color:#0000004d}@supports (color:color-mix(in lab,red,red)){.bg-black\/30{background-color:color-mix(in oklab,var(--color-black)30%,transparent)}}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab,red,red)){.bg-black\/40{background-color:color-mix(in oklab,var(--color-black)40%,transparent)}}.bg-black\/90{background-color:#000000e6}@supports (color:color-mix(in lab,red,red)){.bg-black\/90{background-color:color-mix(in oklab,var(--color-black)90%,transparent)}}.bg-blue-100{background-color:var(--color-blue-100)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-500{background-color:var(--color-green-500)}.bg-indigo-500{background-color:var(--color-indigo-500)}.bg-lime-500{background-color:var(--color-lime-500)}.bg-orange-500{background-color:var(--color-orange-500)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-600{background-color:var(--color-red-600)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-50\/60{background-color:#f8fafc99}@supports (color:color-mix(in lab,red,red)){.bg-slate-50\/60{background-color:color-mix(in oklab,var(--color-slate-50)60%,transparent)}}.bg-slate-100{background-color:var(--color-slate-100)}.bg-slate-900{background-color:var(--color-slate-900)}.bg-white{background-color:var(--color-white)}.bg-white\/80{background-color:#fffc}@supports (color:color-mix(in lab,red,red)){.bg-white\/80{background-color:color-mix(in oklab,var(--color-white)80%,transparent)}}.bg-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))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-gray-50{--tw-gradient-from:var(--color-gray-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-indigo-500{--tw-gradient-from:var(--color-indigo-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-violet-500{--tw-gradient-to:var(--color-violet-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-white{--tw-gradient-to:var(--color-white);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.p-10{padding:calc(var(--spacing)*10)}.p-12{padding:calc(var(--spacing)*12)}.px-1{padding-inline:calc(var(--spacing)*1)}.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-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.py-10{padding-block:calc(var(--spacing)*10)}.pt-1{padding-top:calc(var(--spacing)*1)}.pr-3{padding-right:calc(var(--spacing)*3)}.pr-10{padding-right:calc(var(--spacing)*10)}.pl-10{padding-left:calc(var(--spacing)*10)}.text-center{text-align:center}.text-left{text-align:left}.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-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-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-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.whitespace-nowrap{white-space:nowrap}.text-\[var\(--accent-primary\)\]{color:var(--accent-primary)}.text-\[var\(--text-primary\)\]{color:var(--text-primary)}.text-\[var\(--text-secondary\)\]{color:var(--text-secondary)}.text-\[var\(--text-tertiary\)\]{color:var(--text-tertiary)}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-black{color:var(--color-black)}.text-blue-600{color:var(--color-blue-600)}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-700{color:var(--color-emerald-700)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-green-600{color:var(--color-green-600)}.text-indigo-600{color:var(--color-indigo-600)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-slate-900{color:var(--color-slate-900)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.placeholder-gray-400::placeholder{color:var(--color-gray-400)}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-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-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-amber-200{--tw-ring-color:var(--color-amber-200)}.ring-emerald-200{--tw-ring-color:var(--color-emerald-200)}.ring-slate-200{--tw-ring-color:var(--color-slate-200)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a))drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a)drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.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,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.select-none{-webkit-user-select:none;user-select:none}.placeholder\:text-slate-400::placeholder{color:var(--color-slate-400)}@media(hover:hover){.hover\:-translate-y-0\.5:hover{--tw-translate-y:calc(var(--spacing)*-.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\:bg-\[\#1a73e8\]\/90:hover{background-color:#1a73e8e6}.hover\:bg-\[var\(--bg-hover\)\]:hover{background-color:var(--bg-hover)}.hover\:bg-\[var\(--success-dark\)\]:hover{background-color:var(--success-dark)}.hover\:bg-black\/90:hover{background-color:#000000e6}@supports (color:color-mix(in lab,red,red)){.hover\:bg-black\/90:hover{background-color:color-mix(in oklab,var(--color-black)90%,transparent)}}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-red-700:hover{background-color:var(--color-red-700)}.hover\:bg-slate-50:hover{background-color:var(--color-slate-50)}.hover\:bg-slate-50\/50:hover{background-color:#f8fafc80}@supports (color:color-mix(in lab,red,red)){.hover\:bg-slate-50\/50:hover{background-color:color-mix(in oklab,var(--color-slate-50)50%,transparent)}}.hover\:bg-slate-100:hover{background-color:var(--color-slate-100)}.hover\:bg-slate-200:hover{background-color:var(--color-slate-200)}.hover\:bg-slate-800:hover{background-color:var(--color-slate-800)}.hover\:text-gray-900:hover{color:var(--color-gray-900)}.hover\:text-indigo-700:hover{color:var(--color-indigo-700)}.hover\:text-red-600:hover{color:var(--color-red-600)}.hover\:text-slate-700:hover{color:var(--color-slate-700)}.hover\:text-slate-900:hover{color:var(--color-slate-900)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-lg:hover{--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)}.hover\:shadow-md:hover{--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)}.hover\:shadow-indigo-500\/25:hover{--tw-shadow-color:#625fff40}@supports (color:color-mix(in lab,red,red)){.hover\:shadow-indigo-500\/25:hover{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-indigo-500)25%,transparent)var(--tw-shadow-alpha),transparent)}}}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-\[\#1a73e8\]\/70:focus{--tw-ring-color:oklab(57.3697% -.0409326 -.190249/.7)}.focus\:ring-black:focus{--tw-ring-color:var(--color-black)}.focus\:ring-black\/70:focus{--tw-ring-color:#000000b3}@supports (color:color-mix(in lab,red,red)){.focus\:ring-black\/70:focus{--tw-ring-color:color-mix(in oklab,var(--color-black)70%,transparent)}}.focus\:ring-black\/80:focus{--tw-ring-color:#000c}@supports (color:color-mix(in lab,red,red)){.focus\:ring-black\/80:focus{--tw-ring-color:color-mix(in oklab,var(--color-black)80%,transparent)}}.focus\:ring-slate-300:focus{--tw-ring-color:var(--color-slate-300)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:translate-y-0:active{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media(min-width:40rem){.sm\:flex{display:flex}.sm\:w-60{width:calc(var(--spacing)*60)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:px-6{padding-inline:calc(var(--spacing)*6)}.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}}@media(min-width:48rem){.md\:block{display:block}.md\:flex{display:flex}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}}@media(min-width:64rem){.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:col-span-8{grid-column:span 8/span 8}.lg\:col-span-12{grid-column:span 12/span 12}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:items-end{align-items:flex-end}.lg\:items-start{align-items:flex-start}.lg\:justify-between{justify-content:space-between}.lg\:px-1{padding-inline:calc(var(--spacing)*1)}}@media(prefers-color-scheme:dark){.dark\:border-zinc-700{border-color:var(--color-zinc-700)}.dark\:border-zinc-800{border-color:var(--color-zinc-800)}.dark\:bg-blue-900\/30{background-color:#1c398e4d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-blue-900\/30{background-color:color-mix(in oklab,var(--color-blue-900)30%,transparent)}}.dark\:bg-green-900\/30{background-color:#0d542b4d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-green-900\/30{background-color:color-mix(in oklab,var(--color-green-900)30%,transparent)}}.dark\:bg-red-900\/30{background-color:#82181a4d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-red-900\/30{background-color:color-mix(in oklab,var(--color-red-900)30%,transparent)}}.dark\:bg-white\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.dark\:bg-white\/90{background-color:color-mix(in oklab,var(--color-white)90%,transparent)}}.dark\:bg-zinc-700{background-color:var(--color-zinc-700)}.dark\:bg-zinc-800{background-color:var(--color-zinc-800)}.dark\:bg-zinc-900{background-color:var(--color-zinc-900)}.dark\:bg-zinc-900\/80{background-color:#18181bcc}@supports (color:color-mix(in lab,red,red)){.dark\:bg-zinc-900\/80{background-color:color-mix(in oklab,var(--color-zinc-900)80%,transparent)}}.dark\:from-zinc-900{--tw-gradient-from:var(--color-zinc-900);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:to-zinc-950{--tw-gradient-to:var(--color-zinc-950);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:text-black{color:var(--color-black)}.dark\:text-blue-400{color:var(--color-blue-400)}.dark\:text-gray-100{color:var(--color-gray-100)}.dark\:text-gray-200{color:var(--color-gray-200)}.dark\:text-gray-300{color:var(--color-gray-300)}.dark\:text-gray-400{color:var(--color-gray-400)}.dark\:text-green-400{color:var(--color-green-400)}.dark\:text-red-400{color:var(--color-red-400)}.dark\:text-white{color:var(--color-white)}@media(hover:hover){.dark\:hover\:bg-zinc-800:hover{background-color:var(--color-zinc-800)}.dark\:hover\:text-white:hover{color:var(--color-white)}}.dark\:focus\:ring-white\/80:focus{--tw-ring-color:#fffc}@supports (color:color-mix(in lab,red,red)){.dark\:focus\:ring-white\/80:focus{--tw-ring-color:color-mix(in oklab,var(--color-white)80%,transparent)}}}}:root{--sidebar-width:260px;--sidebar-collapsed:72px;--topbar-height:64px;--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-tertiary:#f1f5f9;--bg-elevated:#fff;--bg-hover:#f1f5f9;--border-color:#e2e8f0;--border-subtle:#f1f5f9;--text-primary:#0f172a;--text-secondary:#475569;--text-tertiary:#94a3b8;--text-muted:#cbd5e1;--accent-primary:#6366f1;--accent-hover:#4f46e5;--accent-light:#eef2ff;--primary:#6366f1;--primary-dark:#4f46e5;--primary-light:#eef2ff;--border:#e2e8f0;--border-light:#f1f5f9;--background:#f8fafc;--success:#10b981;--success-dark:#059669;--success-bg:#ecfdf5;--warning:#f59e0b;--warning-bg:#fffbeb;--danger:#ef4444;--danger-bg:#fef2f2;--info:#3b82f6;--info-bg:#eff6ff;--active-color:#10b981;--active-bg:#ecfdf5;--inactive-color:#ef4444;--inactive-bg:#fef2f2;--pending-color:#f59e0b;--pending-bg:#fffbeb;--public-color:#3b82f6;--public-bg:#eff6ff;--private-color:#8b5cf6;--private-bg:#f5f3ff;--international-color:#06b6d4;--international-bg:#ecfeff;--charter-color:#f59e0b;--charter-bg:#fffbeb;--sent-color:#10b981;--sent-bg:#ecfdf5;--draft-color:#94a3b8;--draft-bg:#f1f5f9;--sending-color:#f59e0b;--sending-bg:#fffbeb;--failed-color:#ef4444;--failed-bg:#fef2f2;--announcement-color:#6366f1;--announcement-bg:#eef2ff;--reminder-color:#f59e0b;--reminder-bg:#fffbeb;--alert-color:#ef4444;--alert-bg:#fef2f2;--promotion-color:#ec4899;--promotion-bg:#fdf2f8;--system-color:#6b7280;--system-bg:#f3f4f6;--school-color:#8b5cf6;--role-color:#06b6d4;--class-color:#10b981;--section-color:#f59e0b;--user-color:#ec4899;--status-active:#10b981;--status-active-bg:#ecfdf5;--status-upcoming:#f59e0b;--status-upcoming-bg:#fffbeb;--status-completed:#6b7280;--status-completed-bg:#f3f4f6;--status-archived:#94a3b8;--status-archived-bg:#f8fafc;--live-color:#ef4444;--live-bg:#fef2f2;--scheduled-color:#3b82f6;--scheduled-bg:#eff6ff;--completed-color:#10b981;--completed-bg:#ecfdf5;--cancelled-color:#6b7280;--cancelled-bg:#f3f4f6;--zoom-color:#2d8cff;--meet-color:#00897b;--teams-color:#6264a7}.dashboard-layout{background:var(--bg-primary);min-height:100vh}.main-wrapper{margin-left:var(--sidebar-width);min-height:100vh;transition:margin-left .3s}.main-wrapper.collapsed{margin-left:var(--sidebar-collapsed)}@media(max-width:1023px){.main-wrapper,.main-wrapper.collapsed{margin-left:0}}.main-content{padding-top:var(--topbar-height);min-height:100vh}.content-inner{max-width:1400px;margin:0 auto;padding:32px;animation:.3s fadeUp}@media(max-width:767px){.content-inner{padding:16px}}.page-header{flex-flow:column wrap;gap:16px;margin-bottom:32px;display:flex}.page-header-actions{gap:10px;display:flex}@media(min-width:640px){.page-header{flex-direction:row;justify-content:space-between;align-items:center}}.page-header-text{flex:1}.header-actions{gap:12px;display:flex}.page-title-row{align-items:center;gap:12px;display:flex}.page-title{color:var(--text-primary);letter-spacing:-.025em;align-items:center;gap:12px;margin:0;font-size:24px;font-weight:700;display:flex}@media(min-width:640px){.page-title{font-size:30px}}.page-title svg,.page-title-row svg{width:28px;height:28px;color:var(--accent-primary)}@media(min-width:640px){.page-title svg,.page-title-row svg{width:32px;height:32px}}.page-subtitle{color:var(--text-secondary);margin:4px 0 0;font-size:14px;line-height:1.5}@media(min-width:640px){.page-subtitle{font-size:15px}}.primary-btn{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-family:inherit;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex}.primary-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #6366f140}.primary-btn:active{transform:translateY(0)}.primary-btn svg{width:18px;height:18px}.content-grid{grid-template-columns:1fr;gap:24px;display:grid}@media(min-width:1024px){.content-grid{grid-template-columns:repeat(2,1fr)}}.role-toggle{background:var(--bg-secondary);border:1px solid var(--border-color);z-index:50;border-radius:9999px;align-items:center;gap:8px;padding:8px 16px;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 10px 40px #0000001a}.role-toggle-label{color:var(--text-secondary);white-space:nowrap;font-size:12px}.role-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:9999px;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:500;transition:all .15s}.role-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.role-btn.active{color:#fff;background:var(--accent-primary)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}button:focus:not(:focus-visible){outline:none}.page-container{max-width:1600px;margin:0 auto;padding:32px;animation:.3s fadeUp}@media(max-width:767px){.page-container{padding:16px}}.filters-bar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:24px;display:flex}.filter-select{appearance:none;background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;border-radius:10px;padding:10px 36px 10px 14px;font-family:inherit;font-size:14px;font-weight:500;transition:all .15s}.filter-select:focus{border-color:var(--accent-primary);outline:none;box-shadow:0 0 0 3px #6366f11a}.search-box{flex:1;min-width:240px;max-width:360px;position:relative}.search-box svg{width:18px;height:18px;color:var(--text-tertiary);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.search-box input{background:var(--bg-secondary);border:1px solid var(--border-color);width:100%;color:var(--text-primary);border-radius:10px;padding:10px 14px 10px 44px;font-family:inherit;font-size:14px;transition:all .15s}.search-box input:focus{border-color:var(--accent-primary);outline:none;box-shadow:0 0 0 3px #6366f11a}.search-box input::placeholder{color:var(--text-tertiary)}.results-count,.results-info{color:var(--text-secondary);font-size:14px}.results-count strong,.results-info strong{color:var(--text-primary);font-weight:600}.stats-overview{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:32px;display:grid}.stat-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;align-items:center;gap:16px;padding:20px;transition:all .2s;display:flex}.stat-icon{border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.stat-icon-bg{background:var(--accent-primary);color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6)}.stat-icon-accent{background:var(--accent-light);color:var(--accent-primary);border-radius:12px}.stat-icon-color{background:var(--stat-color)}@supports (color:color-mix(in lab,red,red)){.stat-icon-color{background:color-mix(in srgb,var(--stat-color)12%,transparent)}}.stat-icon-color{color:var(--stat-color);border-radius:14px}.stat-icon svg{width:24px;height:24px}.stat-card.live .stat-icon{color:#ef4444;background:#fef2f2}.stat-card.delivered .stat-icon{color:#10b981;background:#ecfdf5}.stat-content{flex-direction:column;display:flex}.stat-value{color:var(--text-primary);font-size:28px;font-weight:700;line-height:1.2}.stat-label{color:var(--text-secondary);font-size:13px}.card-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.card-title{color:var(--text-primary);align-items:center;gap:12px;margin:0;font-size:16px;font-weight:600;display:flex}.card-title svg{width:20px;height:20px;color:var(--accent-primary)}.card-edit-btn{width:32px;height:32px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .15s;display:flex}.card-edit-btn:hover{background:var(--accent-light);color:var(--accent-primary)}.card-edit-btn svg{width:16px;height:16px}.card-body{padding:24px}.status-badge{border-radius:9999px;align-items:center;gap:6px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.status-badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.status-badge.active{color:#059669;background:#ecfdf5}.status-badge.inactive{color:#dc2626;background:#fef2f2}.status-badge.pending{color:#d97706;background:#fffbeb}.status-badge.suspended{color:#64748b;background:#f1f5f9}.status-badge.completed{background:var(--completed-bg);color:var(--completed-color)}.status-badge.live{color:#ef4444;background:#fef2f2}.status-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.progress-cell{align-items:center;gap:10px;display:flex}.progress-bar{background:var(--bg-tertiary);border-radius:9999px;flex:1;min-width:60px;max-width:100px;height:6px;overflow:hidden}.progress-fill{border-radius:9999px;height:100%;transition:width .3s}.progress-fill.high{background:linear-gradient(90deg,#10b981,#34d399)}.progress-fill.medium{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.progress-fill.low{background:linear-gradient(90deg,#ef4444,#f87171)}.progress-value{min-width:36px;font-size:13px;font-weight:600}.progress-value.high{color:#059669}.progress-value.medium{color:#d97706}.progress-value.low{color:#dc2626}.score-badge{border-radius:8px;justify-content:center;align-items:center;padding:4px 12px;font-size:13px;font-weight:700;display:inline-flex}.score-badge.high{color:#059669;background:#ecfdf5}.score-badge.medium{color:#d97706;background:#fffbeb}.score-badge.low{color:#dc2626;background:#fef2f2}.risk-flag{border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.risk-flag svg{width:14px;height:14px}.risk-flag.high{color:#dc2626;background:#fef2f2}.risk-flag.medium{color:#d97706;background:#fffbeb}.risk-flag.low{color:#059669;background:#ecfdf5}.table-actions{align-items:center;gap:4px;display:flex}.action-btn{width:32px;height:32px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.action-btn.danger:hover{color:#dc2626;background:#fef2f2}.action-btn.warning:hover{color:#f59e0b;background:#fffbeb}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.empty-state svg{width:64px;height:64px;color:var(--text-tertiary);opacity:.5;margin-bottom:20px}.empty-state h3{color:var(--text-primary);margin:0 0 8px;font-size:18px;font-weight:600}.empty-state p{color:var(--text-secondary);margin:0 0 24px;font-size:14px}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:20px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal-container{background:var(--bg-secondary);border-radius:20px;flex-direction:column;width:100%;max-width:560px;max-height:90vh;animation:.3s slideUp;display:flex;box-shadow:0 25px 50px #00000040}.modal-container.modal-md{max-width:600px}.modal-container.modal-lg{max-width:720px}.modal-container.modal-xl{max-width:800px}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:24px;display:flex}.modal-title{color:var(--text-primary);align-items:center;gap:12px;margin:0;font-size:20px;font-weight:600;display:flex}.modal-close{width:36px;height:36px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;transition:all .15s;display:flex}.modal-body{flex:1;padding:24px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border-color);background:var(--bg-tertiary);border-radius:0 0 20px 20px;justify-content:flex-end;align-items:center;gap:12px;padding:20px 24px;display:flex}.modal-footer-spacer{flex:1}.modal-steps{border-bottom:1px solid var(--border-color);background:var(--bg-tertiary);gap:8px;padding:20px 24px;display:flex;overflow-x:auto}.step-item{cursor:pointer;border-radius:10px;flex-shrink:0;align-items:center;gap:10px;padding:10px 16px;transition:all .2s;display:flex}.step-icon{background:var(--bg-secondary);width:32px;height:32px;color:var(--text-tertiary);border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.step-title{color:var(--text-secondary);font-size:13px;font-weight:600}.section-header-sm{gap:calc(var(--spacing)*2);border-bottom:1px solid var(--border-subtle);margin-bottom:6px;padding:0 0 3px;display:flex}.form-section{margin-bottom:16px}.form-section:last-child{margin-bottom:0}.section-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;margin-bottom:24px;overflow:hidden}.section-header{border-bottom:1px solid var(--border-subtle);align-items:center;padding:16px 20px;display:flex}.section-header h3{color:var(--text-primary);align-items:center;gap:10px;margin:0;font-size:15px;font-weight:600;display:flex}.form-section-title{color:var(--text-primary);align-items:center;gap:10px;font-size:15px;font-weight:600;display:flex}.section-icon{background:var(--color-bg-tertiary,#f1f5f9);width:28px;height:28px;color:var(--color-text-secondary,#475569);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.section-icon svg{width:14px;height:14px}.section-title{color:var(--color-text-primary,#0f172a);font-size:14px;font-weight:600}.form-grid{gap:20px;display:grid}.form-grid-2{grid-template-columns:1fr 1fr}@media(max-width:540px){.form-grid-2{grid-template-columns:1fr}}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{color:var(--color-text-secondary,#475569);align-items:center;gap:4px;font-size:13px;font-weight:600;display:flex}.form-label .required{color:#ef4444}.form-label .optional{color:var(--color-text-tertiary,#94a3b8);font-size:12px;font-weight:400}.form-group{margin-bottom:16px}.form-group:last-child{margin-bottom:0}.form-input,.form-select,.form-textarea{background:var(--bg-secondary);border:1px solid var(--border-color);width:100%;color:var(--text-primary);box-sizing:border-box;border-radius:10px;padding:12px 14px;font-family:inherit;font-size:14px;transition:all .15s}.form-input:hover,.form-select:hover,.form-textarea:hover{border-color:var(--text-tertiary)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent-primary);outline:none;box-shadow:0 0 0 3px #6366f11a}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-tertiary)}.form-input.error,.form-select.error,.form-textarea.error{background:#fef2f2;border-color:#ef4444}.form-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:40px}.form-input.error:focus,.form-select.error:focus{box-shadow:0 0 0 3px #ef44441a}.form-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;display:grid}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fade-in{animation:.3s fadeIn}.slide-up{animation:.3s slideUp}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media(prefers-color-scheme:dark){.dashboard-layout[data-theme=auto]{--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-tertiary:#334155;--bg-hover:#334155;--border-color:#334155;--border-subtle:#1e293b;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-tertiary:#64748b;--text-muted:#475569}}@media(max-width:767px){.filters-bar{flex-direction:column;align-items:stretch}.filter-select{width:100%}.filters-spacer{display:none}.results-count,.results-info{text-align:center;border-top:1px solid var(--border-subtle);padding-top:8px}.search-box{max-width:none}.modal-container{border-radius:20px 20px 0 0;max-height:100vh;margin-top:auto}.step-title{display:none}.stats-overview,.form-row{grid-template-columns:1fr}}.header-left{align-items:center;gap:16px;display:flex}.header-left .back-btn{background:var(--bg-secondary);width:40px;height:40px;color:var(--text-secondary);cursor:pointer;border:none;border:1px solid var(--border-color);border-radius:10px;justify-content:center;align-items:center;transition:all .15s;display:flex}.header-left .back-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.header-left .back-btn svg{width:20px;height:20px}.header-info{flex-direction:column;gap:4px;display:flex}.btn{cursor:pointer;white-space:nowrap;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-family:inherit;font-size:14px;font-weight:600;transition:all .15s;display:inline-flex}.btn svg{width:18px;height:18px}.btn-primary{color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6)}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 15px #6366f14d}.btn-secondary{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--text-tertiary)}.btn-outline{color:var(--accent-primary);border:1px solid var(--accent-primary);background:0 0}.btn-outline:hover{background:var(--accent-light)}.btn-sm{padding:8px 14px;font-size:13px}.btn-sm svg{width:16px;height:16px}.btn-link{color:var(--accent-primary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:13px;font-weight:600;transition:all .15s}.btn-link:hover{background:var(--accent-light)}.tab-navigation{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;gap:8px;width:fit-content;margin-bottom:20px;padding:6px;display:flex}.tab-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-family:inherit;font-size:14px;font-weight:600;transition:all .15s;display:flex}.tab-btn svg{width:18px;height:18px}.tab-btn:hover{color:var(--text-primary);background:var(--bg-tertiary)}.tab-btn.active{background:var(--accent-primary);color:#fff}.tab-btn .badge{border-radius:10px;padding:2px 8px;font-size:11px;font-weight:700}.tab-btn .badge.danger{background:var(--danger);color:#fff}.tab-btn.active .badge.danger{color:var(--danger);background:#fff}.stats-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}@media(min-width:768px){.stats-grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:1024px){.stats-grid{grid-template-columns:repeat(4,1fr)}}.stats-grid-3{grid-template-columns:repeat(3,1fr)}.stats-grid-4{grid-template-columns:repeat(4,1fr)}.stats-grid .stat-item{text-align:center;background:var(--bg-tertiary);border-radius:12px;padding:16px}.stats-grid .stat-value{color:var(--text-primary);font-size:28px;font-weight:700;line-height:1.2;display:block}.stats-grid .stat-label{color:var(--text-secondary);font-size:12px}.stats-grid .stat-item.warning{background:var(--warning-bg)}.stats-grid .stat-item.warning .stat-value{color:var(--warning)}.tab-content{animation:.25s fadeUp}@media(max-width:767px){.tab-content{padding:16px}}.tab-navigation{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:0 32px;overflow-x:auto}@media(max-width:767px){.tab-navigation{padding:0 16px}}.tab-list{gap:0;margin:0;padding:0;list-style:none;display:flex}.column-picker-wrapper{position:relative}.column-picker-btn.active{background:var(--bg-accent-light,#ede9fe);color:var(--accent-primary,#6366f1);border-color:var(--accent-primary,#6366f1)}.column-picker-dropdown{z-index:200;background:var(--bg-primary,#fff);border:1px solid var(--border-light,#e2e8f0);border-radius:10px;min-width:180px;padding:8px 0;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 24px #0000001f}.column-picker-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted,#94a3b8);border-bottom:1px solid var(--border-light,#e2e8f0);margin-bottom:4px;padding:6px 14px 8px;font-size:11px;font-weight:600}.column-picker-item{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-primary,#0f172a);align-items:center;gap:8px;padding:7px 14px;font-size:13px;transition:background .15s;display:flex}.column-picker-item:hover{background:var(--bg-tertiary,#f1f5f9)}.column-picker-item input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent-primary,#6366f1);cursor:pointer;flex-shrink:0}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{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}@property --tw-ease{syntax:"*";inherits:false}.users-management{padding:32px;max-width:1600px;margin:0 auto;animation:fadeUp .3s ease}.tabs-container{display:flex;align-items:center;gap:4px;padding:4px;background:var(--bg-tertiary);border-radius:12px;width:fit-content;margin-bottom:24px;overflow-x:auto}.tab-btn{padding:10px 20px;border:none;background:transparent;color:var(--text-secondary);font-size:14px;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px;font-family:inherit;white-space:nowrap}.tab-btn svg{width:16px;height:16px}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{background:var(--bg-secondary);color:var(--accent-primary);box-shadow:0 1px 3px #00000014}.tab-label{display:inline}.tab-count{padding:2px 8px;background:var(--bg-tertiary);border-radius:9999px;font-size:12px;font-weight:600}.tab-btn.active .tab-count{background:var(--accent-light);color:var(--accent-primary)}.bulk-actions{display:flex;align-items:center;gap:12px;padding:14px 20px;background:var(--accent-light);border:1px solid var(--accent-primary);border-radius:12px;margin-bottom:20px;animation:fadeUp .2s ease}.bulk-count{font-size:14px;font-weight:600;color:var(--accent-primary);margin-right:8px}.bulk-actions .btn{padding:8px 14px;font-size:13px}.bulk-actions .btn svg{width:16px;height:16px}.data-table-container{background:var(--bg-secondary);border-radius:16px;box-shadow:0 1px 3px #0000000d;overflow:hidden}.data-table-wrapper{overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table th{padding:14px 16px;text-align:left;font-size:12px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-subtle);white-space:nowrap}.data-table td{padding:14px 16px;font-size:14px;color:var(--text-primary);border-bottom:1px solid var(--border-subtle);vertical-align:middle}.data-table tbody tr{transition:background .15s}.data-table tbody tr:hover{background:var(--bg-tertiary)}.data-table tbody tr.selected{background:var(--accent-light)}.checkbox-cell{width:40px;text-align:center}.checkbox-cell input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--accent-primary)}.code{font-family:SF Mono,Monaco,Consolas,monospace;font-size:13px;padding:4px 8px;background:var(--bg-tertiary);border-radius:6px;color:var(--text-secondary)}.table-footer{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-top:1px solid var(--border-subtle)}.table-info{font-size:14px;color:var(--text-secondary)}.pagination{display:flex;align-items:center;gap:8px}.pagination-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.pagination-btn:hover:not(:disabled){border-color:var(--accent-primary);color:var(--accent-primary)}.pagination-btn svg{width:18px;height:18px}.pagination-pages{display:flex;gap:4px}.pagination-page{min-width:36px;height:36px;padding:0 12px;border:none;background:transparent;border-radius:8px;font-size:14px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s;font-family:inherit}.pagination-page:hover{background:var(--bg-tertiary);color:var(--text-primary)}.pagination-page.active{background:var(--accent-primary);color:#fff}.user-cell{display:flex;align-items:center;gap:12px}.user-cell-avatar{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:#fff;flex-shrink:0;overflow:hidden}.user-cell-avatar img{width:100%;height:100%;object-fit:cover}.user-cell-info{min-width:0;flex:1}.user-cell-name{font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4;display:block}.user-cell-email{font-size:12px;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4;display:block}.tags-cell{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.more-btn{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;background:var(--bg-tertiary);border:none;border-radius:6px;font-size:12px;font-weight:600;color:var(--text-tertiary);cursor:pointer;transition:all .15s ease}.more-btn:hover{background:var(--accent-primary);color:#fff}.tag{display:inline-flex;align-items:center;padding:4px 10px;background:var(--bg-tertiary);border-radius:6px;font-size:12px;font-weight:500;color:var(--text-secondary)}.tag.primary{background:var(--accent-light);color:var(--accent-primary)}.role-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:6px;font-size:12px;font-weight:600}.role-badge.teacher{background:#eef2ff;color:#6366f1}.role-badge.student{background:#ecfdf5;color:#059669}.role-badge.parent{background:#fdf4ff;color:#c026d3}.role-badge.admin{background:#fef2f2;color:#dc2626}.role-badge.staff{background:#f0f9ff;color:#0284c7}.last-login{display:flex;flex-direction:column;gap:2px}.last-login-time{font-size:13px;color:var(--text-primary);font-weight:500;line-height:1.4}.last-login-date{font-size:11px;color:var(--text-tertiary);line-height:1.4}.parent-contact{display:flex;flex-direction:column;gap:2px}.parent-name{font-size:13px;color:var(--text-primary);font-weight:500;line-height:1.4}.parent-phone{font-size:12px;color:var(--text-tertiary);line-height:1.4}.children-list{display:flex;flex-direction:column;gap:6px}.child-item{display:flex;align-items:center;gap:8px}.child-name{font-size:13px;color:var(--text-primary);font-weight:500}@media(max-width:1023px){.hide-tablet{display:none!important}.page-header{flex-direction:column;align-items:stretch}.page-header-actions{flex-wrap:wrap}.tabs-container{width:100%;overflow-x:auto}}@media(max-width:767px){.hide-mobile{display:none!important}.page-header-actions{flex-direction:column}.page-header-actions .btn{width:100%}.tab-btn{flex:1;justify-content:center;padding:10px 12px}.tab-label{display:none}.bulk-actions{flex-wrap:wrap;justify-content:center}.bulk-count{width:100%;text-align:center;margin-bottom:8px}.table-footer{flex-direction:column;gap:16px}.pagination-pages{display:none}}.contract-type-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:500;white-space:nowrap}.contract-type-fulltime{background:#dbeafe;color:#1d4ed8}.contract-type-parttime{background:#fef3c7;color:#b45309}.contract-expire-badge{display:inline-flex;flex-direction:column;gap:2px;font-size:13px}.contract-expire-note{font-size:11px;font-weight:600;line-height:1}.contract-expire-soon .contract-expire-note{color:#d97706}.contract-expire-expired .contract-expire-note{color:#dc2626}.modal-overlay{position:fixed;inset:0;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:50;animation:overlayFadeIn .2s ease}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--color-bg-secondary, #ffffff);border-radius:20px;box-shadow:0 25px 50px -12px #00000040;width:100%;max-width:640px;max-height:90vh;display:flex;flex-direction:column;animation:modalSlideIn .3s cubic-bezier(.4,0,.2,1)}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 28px;border-bottom:1px solid var(--color-border, #e2e8f0);flex-shrink:0}.modal-header-content{display:flex;align-items:center;gap:14px}.modal-icon{width:44px;height:44px;background:linear-gradient(135deg,var(--color-accent-primary, #6366f1),#8b5cf6);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.modal-icon svg{width:22px;height:22px}.modal-title{font-size:20px;font-weight:700;color:var(--color-text-primary, #0f172a);margin:0}.modal-subtitle{font-size:13px;color:var(--color-text-tertiary, #94a3b8);margin-top:2px}.close-btn{width:36px;height:36px;border-radius:10px;border:none;background:transparent;color:var(--color-text-tertiary, #94a3b8);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.close-btn:hover{background:var(--color-bg-tertiary, #f1f5f9);color:var(--color-text-primary, #0f172a)}.close-btn svg{width:20px;height:20px}.modal-body{padding:28px;overflow-y:auto;flex:1}.modal-body::-webkit-scrollbar{width:6px}.modal-body::-webkit-scrollbar-track{background:transparent}.modal-body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:9999px}.modal-body::-webkit-scrollbar-thumb:hover{background:#94a3b8}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px;cursor:pointer}.form-textarea{min-height:100px;resize:vertical;line-height:1.5}.input-with-icon{position:relative}.input-with-icon .input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--color-text-tertiary, #94a3b8);pointer-events:none;display:flex;align-items:center;justify-content:center}.input-with-icon .input-icon svg{width:18px;height:18px}.input-with-icon .form-input{padding-left:42px}.input-hint{font-size:12px;color:var(--color-text-tertiary, #94a3b8);margin-top:4px}.input-error{font-size:12px;color:#ef4444;margin-top:4px;display:flex;align-items:center;gap:4px}.status-toggle{display:flex;gap:8px}.status-option{flex:1;padding:12px 16px;background:var(--color-bg-secondary, #ffffff);border:1px solid var(--color-border, #e2e8f0);border-radius:10px;cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:10px}.status-option:hover{border-color:var(--color-text-tertiary, #94a3b8)}.status-option.selected{border-color:var(--color-accent-primary, #6366f1);background:var(--color-accent-light, #eef2ff)}.status-indicator{width:18px;height:18px;border-radius:50%;border:2px solid var(--color-border, #e2e8f0);display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}.status-option.selected .status-indicator{border-color:var(--color-accent-primary, #6366f1);background:var(--color-accent-primary, #6366f1)}.status-indicator:after{content:"";width:6px;height:6px;border-radius:50%;background:#fff;opacity:0;transition:opacity .15s}.status-option.selected .status-indicator:after{opacity:1}.status-label{font-size:14px;font-weight:500;color:var(--color-text-secondary, #475569)}.status-option.selected .status-label{color:var(--color-accent-primary, #6366f1);font-weight:600}.capacity-input{display:flex;align-items:center;gap:12px}.capacity-btn{width:36px;height:36px;border-radius:8px;border:1px solid var(--color-border, #e2e8f0);background:var(--color-bg-secondary, #ffffff);color:var(--color-text-secondary, #475569);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}.capacity-btn:hover{background:var(--color-bg-tertiary, #f1f5f9);color:var(--color-text-primary, #0f172a)}.capacity-btn:active{transform:scale(.95)}.capacity-btn svg{width:16px;height:16px}.capacity-value{width:80px;text-align:center;font-size:16px;font-weight:600}.code-preview{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--color-bg-tertiary, #f1f5f9);border-radius:10px;border:1px dashed var(--color-border, #e2e8f0)}.code-preview-icon{width:32px;height:32px;background:var(--color-accent-light, #eef2ff);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--color-accent-primary, #6366f1);flex-shrink:0}.code-preview-icon svg{width:16px;height:16px}.code-preview-content{flex:1}.code-preview-label{font-size:11px;font-weight:600;color:var(--color-text-tertiary, #94a3b8);text-transform:uppercase;letter-spacing:.05em}.code-preview-value{font-size:15px;font-weight:700;color:var(--color-accent-primary, #6366f1);font-family:SF Mono,Consolas,Monaco,monospace;letter-spacing:.02em}.teacher-selector{position:relative}.teacher-selector-btn{width:100%;display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--color-bg-secondary, #ffffff);border:1px solid var(--color-border, #e2e8f0);border-radius:10px;cursor:pointer;transition:all .15s;text-align:left;font-family:inherit}.teacher-selector-btn:hover{border-color:var(--color-text-tertiary, #94a3b8)}.teacher-selector-btn.selected{border-color:var(--color-accent-primary, #6366f1);background:var(--color-accent-light, #eef2ff)}.teacher-avatar{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:#fff;flex-shrink:0}.teacher-avatar.placeholder{background:var(--color-bg-tertiary, #f1f5f9);color:var(--color-text-tertiary, #94a3b8)}.teacher-avatar.placeholder svg{width:18px;height:18px}.teacher-info{flex:1;min-width:0;display:flex;flex-direction:column}.teacher-name{font-size:14px;font-weight:600;color:var(--color-text-primary, #0f172a)}.teacher-name.no-teacher{color:var(--color-text-tertiary, #94a3b8)}.teacher-subject{font-size:12px;color:var(--color-text-tertiary, #94a3b8)}.teacher-placeholder{font-size:14px;color:var(--color-text-tertiary, #94a3b8)}.teacher-selector-icon{color:var(--color-text-tertiary, #94a3b8);flex-shrink:0;display:flex;align-items:center;justify-content:center}.teacher-selector-icon svg{width:18px;height:18px}.teacher-dropdown{position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--color-bg-secondary, #ffffff);border:1px solid var(--color-border, #e2e8f0);border-radius:12px;box-shadow:0 10px 40px #0000001f;z-index:10;max-height:240px;overflow-y:auto;display:none}.teacher-dropdown.open{display:block;animation:dropdownFadeIn .15s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.teacher-option{display:flex;align-items:center;gap:12px;padding:12px 14px;cursor:pointer;transition:background .15s;border:none;background:transparent;width:100%;text-align:left;font-family:inherit}.teacher-option:hover{background:var(--color-bg-tertiary, #f1f5f9)}.teacher-option:first-child{border-radius:12px 12px 0 0}.teacher-option:last-child{border-radius:0 0 12px 12px}.teacher-option .check-icon{width:18px;height:18px;margin-left:auto;color:var(--color-accent-primary, #6366f1);opacity:0;flex-shrink:0;display:flex;align-items:center;justify-content:center}.teacher-option .check-icon svg{width:100%;height:100%}.teacher-option.selected .check-icon{opacity:1}.quick-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.quick-action-btn{padding:6px 12px;background:var(--color-bg-tertiary, #f1f5f9);border:1px solid var(--color-border-subtle, #f1f5f9);border-radius:6px;font-size:12px;font-weight:500;color:var(--color-text-secondary, #475569);cursor:pointer;transition:all .15s;font-family:inherit}.quick-action-btn:hover{background:var(--color-accent-light, #eef2ff);color:var(--color-accent-primary, #6366f1);border-color:var(--color-accent-primary, #6366f1)}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:20px 28px;border-top:1px solid var(--color-border, #e2e8f0);background:var(--color-bg-tertiary, #f1f5f9);border-radius:0 0 20px 20px;flex-shrink:0}.btn-cancel{padding:12px 24px;background:var(--color-bg-secondary, #ffffff);border:1px solid var(--color-border, #e2e8f0);border-radius:10px;font-size:14px;font-weight:600;color:var(--color-text-secondary, #475569);cursor:pointer;transition:all .15s;font-family:inherit}.btn-cancel:hover{background:var(--color-bg-hover, #f1f5f9);color:var(--color-text-primary, #0f172a);border-color:var(--color-text-tertiary, #94a3b8)}.btn-submit{padding:12px 28px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:10px;font-size:14px;font-weight:600;color:#fff;cursor:pointer;transition:all .15s;font-family:inherit;display:flex;align-items:center;gap:8px}.btn-submit:hover{box-shadow:0 4px 15px #6366f166;transform:translateY(-1px)}.btn-submit:active{transform:translateY(0)}.btn-submit svg{width:18px;height:18px}.btn-submit:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}@media(max-width:540px){.modal{max-height:100vh;border-radius:20px 20px 0 0;margin-top:auto}.modal-header,.modal-body{padding:20px}.modal-footer{padding:16px 20px;flex-direction:column}.btn-cancel,.btn-submit{width:100%;justify-content:center}.status-toggle{flex-direction:column}.capacity-input{justify-content:center}.modal-header-content{gap:10px}.modal-icon{width:38px;height:38px}.modal-icon svg{width:18px;height:18px}.modal-title{font-size:18px}}.subject-input-group{display:flex;gap:8px;align-items:center}.selected-subjects{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding:12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:10px;min-height:48px}.subject-tag{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--accent-primary);color:#fff;border-radius:8px;font-size:13px;font-weight:500;transition:all .15s ease}.subject-tag:hover{background:var(--accent-hover);transform:translateY(-1px)}.subject-remove{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;background:#fff3;color:#fff;border-radius:4px;font-size:16px;line-height:1;cursor:pointer;transition:all .15s ease}.subject-remove:hover{background:#ffffff4d}.confirm-dialog-overlay{position:fixed;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;opacity:0;visibility:hidden;transition:all .2s ease}.confirm-dialog-overlay.visible{opacity:1;visibility:visible}.confirm-dialog{background:var(--bg-secondary, #ffffff);border-radius:16px;width:100%;max-width:420px;position:relative;box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #0000000d;transform:scale(.95) translateY(10px);opacity:0;transition:all .3s cubic-bezier(.34,1.56,.64,1);padding:24px;text-align:center}.confirm-dialog.visible{transform:scale(1) translateY(0);opacity:1}.confirm-dialog__close{position:absolute;top:12px;right:12px;width:32px;height:32px;border:none;background:var(--bg-tertiary, #f1f5f9);border-radius:8px;color:var(--text-tertiary, #64748b);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;z-index:10}.confirm-dialog__close:hover{background:var(--danger-bg, #fef2f2);color:var(--danger, #ef4444)}.confirm-dialog__close:disabled{opacity:.5;cursor:not-allowed}.confirm-dialog__close svg{width:16px;height:16px}.confirm-dialog__icon{width:64px;height:64px;margin:0 auto 16px;border-radius:50%;display:flex;align-items:center;justify-content:center}.confirm-dialog__icon svg{width:32px;height:32px}.confirm-dialog__icon--danger{background:var(--danger-bg, #fef2f2);color:var(--danger, #ef4444)}.confirm-dialog__icon--warning{background:var(--warning-bg, #fffbeb);color:var(--warning, #f59e0b)}.confirm-dialog__icon--info{background:var(--info-bg, #eff6ff);color:var(--info, #3b82f6)}.confirm-dialog__icon--success{background:var(--success-bg, #f0fdf4);color:var(--success, #22c55e)}.confirm-dialog__content{margin-bottom:20px}.confirm-dialog__title{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--text-primary, #1e293b)}.confirm-dialog__message{font-size:14px;line-height:1.6;color:var(--text-secondary, #64748b)}.confirm-dialog__warning{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;margin-bottom:20px;background:var(--danger-bg, #fef2f2);border:1px solid var(--danger-border, #fecaca);border-radius:8px;font-size:13px;color:var(--danger, #ef4444)}.confirm-dialog__warning svg{width:16px;height:16px;flex-shrink:0}.confirm-dialog__actions{display:flex;gap:12px;justify-content:center}.confirm-dialog__actions--single{justify-content:center}.confirm-dialog__actions--single .btn{min-width:160px}.confirm-dialog__actions .btn{min-width:120px;padding:10px 20px;font-size:14px;font-weight:500;border-radius:8px;cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;justify-content:center;gap:8px}.confirm-dialog__actions .btn:disabled{opacity:.6;cursor:not-allowed}.confirm-dialog__actions .btn-secondary{background:var(--bg-tertiary, #f1f5f9);border:1px solid var(--border, #e2e8f0);color:var(--text-secondary, #64748b)}.confirm-dialog__actions .btn-secondary:hover:not(:disabled){background:var(--bg-quaternary, #e2e8f0);color:var(--text-primary, #1e293b)}.confirm-dialog__actions .btn-danger{background:var(--danger, #ef4444);border:1px solid var(--danger, #ef4444);color:#fff}.confirm-dialog__actions .btn-danger:hover:not(:disabled){background:var(--danger-dark, #dc2626);border-color:var(--danger-dark, #dc2626)}.confirm-dialog__actions .btn-warning{background:var(--warning, #f59e0b);border:1px solid var(--warning, #f59e0b);color:#fff}.confirm-dialog__actions .btn-warning:hover:not(:disabled){background:var(--warning-dark, #d97706);border-color:var(--warning-dark, #d97706)}.confirm-dialog__actions .btn-primary{background:var(--accent-primary, #6366f1);border:1px solid var(--accent-primary, #6366f1);color:#fff}.confirm-dialog__actions .btn-primary:hover:not(:disabled){background:var(--accent-dark, #4f46e5);border-color:var(--accent-dark, #4f46e5)}.confirm-dialog__spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:confirm-dialog-spin .8s linear infinite}@keyframes confirm-dialog-spin{to{transform:rotate(360deg)}}@media(max-width:480px){.confirm-dialog-overlay{padding:16px}.confirm-dialog{padding:20px}.confirm-dialog__icon{width:56px;height:56px}.confirm-dialog__icon svg{width:28px;height:28px}.confirm-dialog__title{font-size:16px}.confirm-dialog__message{font-size:13px}.confirm-dialog__actions{flex-direction:column-reverse}.confirm-dialog__actions .btn{width:100%;min-width:unset}}@media(prefers-color-scheme:dark){.confirm-dialog-overlay{background:#000000b3}}.data-table-container{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;overflow:hidden}.table-wrapper{overflow-x:auto}.data-table{width:100%;border-collapse:separate;border-spacing:0}.data-table th{text-align:left;padding:14px 16px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);white-space:nowrap}.data-table th:first-child{border-radius:12px 0 0}.data-table th:last-child{border-radius:0 12px 0 0}.data-table td{padding:16px;border-bottom:1px solid var(--border-subtle);font-size:14px;color:var(--text-secondary);transition:background .15s}.data-table tbody tr:hover td{background:#6366f105}.data-table tbody tr.clickable{cursor:pointer}.data-table tbody tr.clickable:hover td{background:#6366f10a}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:last-child td:first-child{border-radius:0 0 0 12px}.data-table tbody tr:last-child td:last-child{border-radius:0 0 12px}@keyframes tableRowFade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.data-table tbody tr{animation:tableRowFade .3s ease backwards}@media(max-width:1023px){.hide-mobile{display:none}}.empty-cell{padding:48px 16px!important}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.empty-icon{width:48px;height:48px;color:var(--text-tertiary);margin-bottom:16px;opacity:.5}.empty-text{font-size:14px;color:var(--text-tertiary);margin:0}.skeleton-row td{padding:16px!important}.skeleton{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0,#f1f5f9 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:6px}.skeleton-cell{height:20px;width:80%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.pagination{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-top:1px solid var(--border-subtle);background:var(--bg-tertiary);gap:16px;flex-wrap:wrap}.pagination-info{font-size:13px;color:var(--text-secondary)}.pagination-info strong{color:var(--text-primary);font-weight:600}.pagination-controls{display:flex;align-items:center;gap:8px}.pagination-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.pagination-btn:hover:not(:disabled){border-color:var(--accent-primary);color:var(--accent-primary);background:var(--accent-light)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-btn svg{width:16px;height:16px}.pagination-pages{display:flex;align-items:center;gap:4px}.pagination-page{display:flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 12px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.pagination-page:hover{background:var(--bg-hover);color:var(--text-primary)}.pagination-page.active{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.pagination-ellipsis{display:flex;align-items:center;justify-content:center;min-width:36px;height:36px;color:var(--text-tertiary);font-size:14px}@media(max-width:640px){.pagination{flex-direction:column;align-items:stretch;gap:12px}.pagination-info{text-align:center}.pagination-controls{justify-content:center}.pagination-pages{display:none}}.live-session-management{padding:32px;max-width:1600px;margin:0 auto;animation:fadeUp .3s ease}.session-card-class{display:flex;gap:8px}.session-card-class svg{width:24px;height:24px}@media(max-width:767px){.live-session-management{padding:16px}}.stats-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:32px}.stat-card{display:flex;align-items:center;gap:16px;padding:20px;background:var(--bg-secondary);border-radius:16px;border:1px solid var(--border-color);transition:all .2s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000000f}.stat-card.live .stat-icon{background:var(--live-bg);color:var(--live-color)}.filters-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:24px}.filter-select{appearance:none;padding:10px 36px 10px 14px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;font-size:14px;font-weight:500;color:var(--text-primary);cursor:pointer;font-family:inherit;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;transition:all .15s ease}.filter-select:hover{border-color:var(--text-tertiary)}.filter-select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #6366f11a}.filters-spacer{flex:1}.results-count{font-size:14px;color:var(--text-secondary)}.results-count strong{color:var(--text-primary);font-weight:600}.sessions-section{margin-bottom:40px}.section-title{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 20px;display:flex;align-items:center;gap:10px}.section-title.live{color:var(--live-color);justify-content:flex-start}.live-indicator{width:10px;height:10px;border-radius:50%;background:var(--live-color);animation:livePulse 2s ease infinite}@keyframes livePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.1)}}.sessions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:20px}@media(max-width:767px){.sessions-grid{grid-template-columns:1fr}}.session-card{background:var(--bg-secondary);border-radius:16px;border:1px solid var(--border-color);overflow:hidden;transition:all .2s ease}.session-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px #00000014}.session-card .live{border-color:var(--live-color);box-shadow:0 0 0 1px var(--live-color),0 8px 25px #ef444426}.session-card-header{padding:20px 20px 16px;border-bottom:1px solid var(--border-subtle)}.session-card-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.session-card-title{font-size:16px;font-weight:600;color:var(--text-primary);margin:0;line-height:1.4}.session-card-course{display:flex;align-items:center;gap:8px}.course-code{font-size:12px;font-weight:600;color:var(--accent-primary);background:var(--accent-light);padding:2px 8px;border-radius:4px}.course-name{font-size:13px;color:var(--text-secondary)}.session-card-body{padding:16px 20px}.session-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.session-info-item{display:flex;align-items:flex-start;gap:10px}.session-info-item svg{width:18px;height:18px;color:var(--text-tertiary);flex-shrink:0;margin-top:2px}.session-info-content{display:flex;flex-direction:column;gap:2px}.session-info-label{font-size:11px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.session-info-value{font-size:13px;color:var(--text-primary);font-weight:500}.session-recurrence{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--bg-tertiary);border-radius:8px;margin-bottom:16px;font-size:13px;color:var(--text-secondary)}.session-recurrence svg{width:16px;height:16px;color:var(--accent-primary)}.recurrence-end{color:var(--text-tertiary)}.session-classes{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap}.session-classes-label{font-size:12px;color:var(--text-tertiary);padding-top:4px}.session-classes-list{display:flex;flex-wrap:wrap;gap:6px;flex:1}.class-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:var(--bg-tertiary);border-radius:6px;font-size:12px;color:var(--text-secondary);font-weight:500}.class-chip-count{font-size:11px;color:var(--text-tertiary)}.session-card-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--bg-tertiary);border-top:1px solid var(--border-subtle)}.session-card-actions-left{display:flex;align-items:center}.attendee-count{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--live-color);font-weight:600}.attendee-count svg{width:16px;height:16px}.session-card-actions{display:flex;align-items:center;gap:4px}.session-status{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;flex-shrink:0}.session-status.scheduled{background:var(--scheduled-bg);color:var(--scheduled-color)}.session-status.live{background:var(--live-bg);color:var(--live-color)}.session-status.completed{background:var(--completed-bg);color:var(--completed-color)}.session-status.cancelled{background:var(--cancelled-bg);color:var(--cancelled-color)}.live-dot{width:6px;height:6px;border-radius:50%;background:currentColor;animation:livePulse 1.5s ease infinite}.provider-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600}.provider-badge svg{width:16px;height:16px}.provider-badge.zoom{background:#e3f2fd;color:#2d8cff}.provider-badge.google-meet{background:#e0f2f1;color:#00897b}.provider-badge.microsoft-teams{background:#ede7f6;color:#6264a7}.provider-badge.custom{background:var(--bg-tertiary);color:var(--text-secondary)}.action-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;transition:all .15s}.action-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.action-btn.danger:hover{background:#fef2f2;color:#dc2626}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.empty-state svg{width:64px;height:64px;color:var(--text-tertiary);margin-bottom:20px;opacity:.5}.empty-state h3{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.empty-state p{font-size:14px;color:var(--text-secondary);margin:0 0 24px}.modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-container{background:var(--bg-secondary);border-radius:20px;width:100%;max-width:720px;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .3s ease;box-shadow:0 25px 50px #00000040}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid var(--border-color)}.modal-title{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:600;color:var(--text-primary);margin:0}.modal-title svg{width:24px;height:24px;color:var(--accent-primary)}.modal-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;transition:all .15s}.modal-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.modal-close svg{width:20px;height:20px}.modal-body{padding:24px;overflow-y:auto;flex:1}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid var(--border-color);background:var(--bg-tertiary);border-radius:0 0 20px 20px}.form-section-actions{display:flex;gap:8px}.form-section-header .form-section-title{margin:0}.form-section-title svg{width:18px;height:18px;color:var(--accent-primary)}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:40px;cursor:pointer}.form-textarea{resize:vertical;min-height:80px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px}.room-mode-toggle{display:flex;gap:8px;margin-bottom:20px}.room-mode-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;background:var(--bg-tertiary);border:2px solid transparent;border-radius:10px;font-size:14px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.room-mode-btn svg{width:18px;height:18px}.room-mode-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.room-mode-btn.active{background:var(--accent-light);border-color:var(--accent-primary);color:var(--accent-primary)}.room-api-section{display:flex;flex-direction:column;gap:16px}.provider-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.provider-option{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 16px;background:var(--bg-tertiary);border:2px solid transparent;border-radius:12px;cursor:pointer;transition:all .2s ease}.provider-option svg{width:32px;height:32px}.provider-option span{font-size:13px;font-weight:600;color:var(--text-secondary)}.provider-option:hover{background:var(--bg-hover);border-color:var(--border-color)}.provider-option.selected{border-color:var(--accent-primary);background:var(--accent-light)}.provider-option.selected span{color:var(--accent-primary)}.provider-option.selected svg{color:var(--accent-primary)}.btn-create-room{align-self:flex-start}.room-created-info{display:flex;align-items:flex-start;gap:12px;padding:16px;background:var(--completed-bg);border-radius:10px;border:1px solid #a7f3d0}.room-created-info svg{width:20px;height:20px;color:var(--completed-color);flex-shrink:0}.room-created-details{display:flex;flex-direction:column;gap:4px}.room-created-label{font-size:14px;font-weight:600;color:var(--completed-color)}.room-url{font-size:13px;color:var(--text-secondary);word-break:break-all}.room-manual-section{display:flex;flex-direction:column;gap:16px}.classes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-bottom:16px}.class-option{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--bg-tertiary);border:2px solid transparent;border-radius:10px;cursor:pointer;transition:all .2s ease}.class-option input{display:none}.class-option:hover{background:var(--bg-hover);border-color:var(--border-color)}.class-option.selected{background:var(--accent-light);border-color:var(--accent-primary)}.class-option-content{flex:1;display:flex;flex-direction:column;gap:2px}.class-option-name{font-size:14px;font-weight:600;color:var(--text-primary)}.class-option-info{font-size:12px;color:var(--text-tertiary)}.class-option.selected .class-option-name{color:var(--accent-primary)}.class-option svg{width:18px;height:18px;color:var(--accent-primary)}.invite-summary{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--accent-light);border-radius:10px;font-size:13px;color:var(--accent-primary);font-weight:500}.invite-summary svg{width:18px;height:18px}@media(max-width:767px){.page-header-actions{flex-direction:column;width:100%}.page-header-actions .btn{width:100%}.filters-bar{flex-direction:column;align-items:stretch}.filter-select{width:100%}.filters-spacer{display:none}.results-count{text-align:center;padding-top:8px;border-top:1px solid var(--border-subtle)}.stats-overview,.session-info-grid{grid-template-columns:1fr}.modal-container{max-height:100vh;border-radius:0}.provider-selector,.classes-grid,.form-row{grid-template-columns:1fr}}.session-title-cell{display:flex;flex-direction:column;gap:4px}.session-title-cell .session-title-row{display:flex;align-items:center;gap:8px}.session-title-cell .session-title{font-size:14px;font-weight:600;color:var(--text-primary);line-height:1.4}.session-title-cell .recurrence-indicator{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:var(--accent-light);border-radius:4px;color:var(--accent-primary)}.session-title-cell .recurrence-indicator svg{width:12px;height:12px}.session-title-cell .session-course-row{display:flex;align-items:center;gap:8px}.session-title-cell .session-student-row{display:flex;align-items:center;gap:4px;color:var(--text-tertiary);font-size:12px}.session-title-cell .session-student-row svg{width:13px;height:13px;flex-shrink:0;color:var(--text-primary)}.session-title-cell .course-code{font-size:11px;font-weight:600;color:var(--accent-primary);background:var(--accent-light);padding:2px 6px;border-radius:4px}.session-title-cell .course-name{font-size:12px;color:var(--text-tertiary)}.schedule-cell{display:flex;flex-direction:column;gap:2px}.schedule-cell .schedule-date{font-size:13px;font-weight:600;color:var(--text-primary)}.schedule-cell .schedule-time{font-size:12px;color:var(--text-tertiary)}.classes-cell{display:flex;flex-direction:column;gap:2px}.classes-cell .classes-count{font-size:13px;font-weight:600;color:var(--text-primary)}.classes-cell .students-count{font-size:12px;color:var(--text-tertiary)}.table-actions{display:flex;gap:4px;align-items:center}.table-actions .action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;border-radius:8px;color:var(--text-tertiary);cursor:pointer;transition:all .15s ease}.table-actions .action-btn svg{width:16px;height:16px}.table-actions .action-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.table-actions .action-btn.danger:hover{background:#fef2f2;color:#ef4444}.table-actions .action-btn.primary{background:var(--accent-light);color:var(--accent-primary)}.table-actions .action-btn.primary:hover{background:var(--accent-primary);color:#fff}.school-management{padding:32px;max-width:1600px;margin:0 auto;animation:fadeUp .3s ease}@media(max-width:767px){.school-management{padding:16px}}.stat-card.active .stat-icon{background:var(--active-bg);color:var(--active-color)}.stat-card.inactive .stat-icon{background:var(--inactive-bg);color:var(--inactive-color)}.stat-card.pending .stat-icon{background:var(--pending-bg);color:var(--pending-color)}.view-toggle{display:flex;background:var(--bg-tertiary);border-radius:10px;padding:4px;margin-left:auto}.toggle-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;border-radius:8px;color:var(--text-tertiary);cursor:pointer;transition:all .15s}.toggle-btn:hover{color:var(--text-primary)}.toggle-btn.active{background:var(--bg-secondary);color:var(--accent-primary);box-shadow:0 1px 3px #00000014}.schools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px}@media(max-width:767px){.schools-grid{grid-template-columns:1fr}}.school-card{background:var(--bg-secondary);border-radius:16px;border:1px solid var(--border-color);overflow:hidden;transition:all .2s ease}.school-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px #00000014}.school-card.inactive{opacity:.7}.school-card.pending{border-color:var(--pending-color);border-style:dashed}.school-card-header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 20px 0}.school-logo{width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,var(--accent-primary),#8b5cf6);display:flex;align-items:center;justify-content:center;color:#fff;overflow:hidden}.school-logo img{width:100%;height:100%;object-fit:cover}.school-logo svg{width:28px;height:28px}.school-card-menu{position:relative}.menu-trigger{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;border-radius:8px;color:var(--text-tertiary);cursor:pointer;transition:all .15s}.menu-trigger:hover{background:var(--bg-tertiary);color:var(--text-primary)}.menu-trigger svg{width:18px;height:18px}.menu-dropdown{position:absolute;top:100%;right:0;margin-top:4px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 10px 40px #0000001f;min-width:160px;z-index:100;overflow:hidden}.menu-dropdown button{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;border:none;background:none;font-size:14px;color:var(--text-primary);cursor:pointer;transition:background .15s;text-align:left}.menu-dropdown button.danger{color:var(--inactive-color)}.menu-dropdown button svg{width:16px;height:16px}.school-card-body{padding:16px 20px;cursor:pointer}.school-badges{display:flex;gap:8px;margin-bottom:12px}.school-card .school-name{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 12px;line-height:1.3}.school-location,.school-principal{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary);margin-bottom:8px}.school-location svg,.school-principal svg{width:16px;height:16px;color:var(--text-tertiary)}.school-card-stats{display:flex;gap:16px;padding:16px 20px;background:var(--bg-tertiary);border-top:1px solid var(--border-subtle)}.school-card-stats .stat-item{display:flex;align-items:center;gap:8px;flex:1}.school-card-stats .stat-item svg{width:16px;height:16px;color:var(--text-tertiary)}.school-card-stats .stat-info{display:flex;flex-direction:column}.school-card-stats .stat-value{font-size:14px;font-weight:600;color:var(--text-primary)}.school-card-stats .stat-label{font-size:11px;color:var(--text-tertiary)}.school-card-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-top:1px solid var(--border-subtle)}.school-year{font-size:12px;color:var(--text-tertiary)}.status-badge.active{background:var(--active-bg);color:var(--active-color)}.status-badge.inactive{background:var(--inactive-bg);color:var(--inactive-color)}.status-badge.pending{background:var(--pending-bg);color:var(--pending-color)}.status-dot{width:6px;height:6px;border-radius:50%;background:currentColor;animation:pulse 2s ease infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.type-badge{display:inline-flex;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600}.type-badge.public{background:var(--public-bg);color:var(--public-color)}.type-badge.private{background:var(--private-bg);color:var(--private-color)}.type-badge.international{background:var(--international-bg);color:var(--international-color)}.type-badge.charter{background:var(--charter-bg);color:var(--charter-color)}.level-badge{display:inline-flex;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;background:var(--bg-tertiary);color:var(--text-secondary)}.schools-table-wrapper{background:var(--bg-secondary);border-radius:16px;border:1px solid var(--border-color);overflow:hidden}.schools-table{width:100%;border-collapse:collapse}.schools-table th{padding:14px 16px;text-align:left;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.schools-table td{padding:16px;border-bottom:1px solid var(--border-subtle);vertical-align:middle}.schools-table tbody tr{cursor:pointer;transition:background .15s}.schools-table tbody tr:hover{background:var(--bg-hover)}.schools-table tbody tr:last-child td{border-bottom:none}.school-row.inactive{opacity:.6}.school-cell{display:flex;align-items:center;gap:14px}.school-logo-sm{width:44px;height:44px;border-radius:10px;background:linear-gradient(135deg,var(--accent-primary),#8b5cf6);display:flex;align-items:center;justify-content:center;color:#fff;overflow:hidden}.school-logo-sm img{width:100%;height:100%;object-fit:cover}.school-logo-sm svg{width:20px;height:20px}.school-info{display:flex;flex-direction:column;gap:2px}.school-info .school-name{font-size:14px;font-weight:600;color:var(--text-primary)}.school-info .school-location{font-size:12px;color:var(--text-tertiary);margin:0}.stats-compact{display:flex;gap:16px}.stats-compact span{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary)}.stats-compact svg{width:14px;height:14px;color:var(--text-tertiary)}.action-btn.danger:hover{background:var(--inactive-bg);color:var(--inactive-color)}.step-item.completed{background:var(--active-bg)}.step-item.completed .step-icon{background:var(--active-color);color:#fff}.step-item.completed .step-title{color:var(--active-color)}@media(max-width:1023px){.hide-tablet{display:none!important}}@media(max-width:767px){.hide-mobile{display:none!important}.page-header-actions{flex-direction:column;width:100%}.page-header-actions .btn{width:100%}.toolbar{flex-direction:column;align-items:stretch}.search-box{max-width:none}.filters{flex-direction:column}.filter-select{width:100%}.view-toggle{align-self:flex-end}.stats-overview{grid-template-columns:1fr 1fr;gap:12px}.stat-card{padding:16px}.stat-card .stat-value{font-size:22px}.modal-container{max-height:100vh;border-radius:20px 20px 0 0;margin-top:auto}}.notification-management{padding:32px;max-width:1600px;margin:0 auto;animation:fadeUp .3s ease}@media(max-width:767px){.notification-management{padding:16px}}.stat-card.sent .stat-icon{background:var(--sent-bg);color:var(--sent-color)}.stat-card.scheduled .stat-icon{background:var(--scheduled-bg);color:var(--scheduled-color)}.stat-card.delivered .stat-icon{background:#ecfdf5;color:#10b981}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px}.type-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600}.type-badge svg{width:14px;height:14px}.type-badge.announcement{background:var(--announcement-bg);color:var(--announcement-color)}.type-badge.reminder{background:var(--reminder-bg);color:var(--reminder-color)}.type-badge.alert{background:var(--alert-bg);color:var(--alert-color)}.type-badge.promotion{background:var(--promotion-bg);color:var(--promotion-color)}.type-badge.system{background:var(--system-bg);color:var(--system-color)}.status-badge.sent{background:var(--sent-bg);color:var(--sent-color)}.status-badge.scheduled{background:var(--scheduled-bg);color:var(--scheduled-color)}.status-badge.draft{background:var(--draft-bg);color:var(--draft-color)}.status-badge.sending{background:var(--sending-bg);color:var(--sending-color)}.status-badge.failed{background:var(--failed-bg);color:var(--failed-color)}.status-badge.cancelled{background:var(--cancelled-bg);color:var(--cancelled-color)}.status-spinner{width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin 1s linear infinite}.priority-badge{display:inline-flex;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}.priority-badge.low{background:#f1f5f9;color:#94a3b8}.priority-badge.normal{background:#eff6ff;color:#3b82f6}.priority-badge.high{background:#fffbeb;color:#f59e0b}.priority-badge.urgent{background:#fef2f2;color:#ef4444}.channel-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;background:var(--bg-tertiary);color:var(--text-secondary)}.channel-badge svg{width:14px;height:14px}.channels-cell{display:flex;gap:4px}.target-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:500;background:var(--bg-tertiary);color:var(--text-secondary)}.target-badge svg{width:14px;height:14px}.target-badge.school{background:#f5f3ff;color:var(--school-color)}.target-badge.role{background:#ecfeff;color:var(--role-color)}.target-badge.class{background:#ecfdf5;color:var(--class-color)}.target-badge.section{background:#fffbeb;color:var(--section-color)}.target-badge.user{background:#fdf2f8;color:var(--user-color)}.targets-cell{display:flex;flex-wrap:wrap;gap:6px}.more-targets{font-size:12px;color:var(--text-tertiary);padding:4px 8px}.title-cell{display:flex;flex-direction:column;gap:6px}.title-row{display:flex;gap:8px;align-items:center}.notification-title{font-size:14px;font-weight:600;color:var(--text-primary);margin:0;line-height:1.4}.notification-excerpt{font-size:13px;color:var(--text-tertiary);margin:0;line-height:1.4}.stats-bar-container{display:flex;flex-direction:column;gap:4px;min-width:120px}.stats-bar{height:6px;background:var(--bg-tertiary);border-radius:3px;overflow:hidden;position:relative}.stats-bar-delivered{position:absolute;height:100%;background:var(--sent-color);border-radius:3px}.stats-bar-read{position:absolute;height:100%;background:var(--scheduled-color);border-radius:3px}.stats-bar-labels{display:flex;justify-content:space-between;font-size:11px;color:var(--text-tertiary)}.stats-pending{font-size:12px;color:var(--text-tertiary)}.action-btn.warning:hover{background:#fffbeb;color:#f59e0b}.action-btn.danger:hover{background:var(--failed-bg);color:var(--failed-color)}.modal-steps{display:flex;padding:20px 24px;border-bottom:1px solid var(--border-color);background:var(--bg-tertiary);gap:8px;overflow-x:auto}.step-item{display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:10px;cursor:pointer;transition:all .2s;flex-shrink:0}.step-item:hover{background:var(--bg-secondary)}.step-item.active{background:var(--accent-light)}.step-item.completed{background:var(--sent-bg)}.step-icon{width:32px;height:32px;border-radius:8px;background:var(--bg-secondary);display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);transition:all .2s}.step-item.active .step-icon{background:var(--accent-primary);color:#fff}.step-item.completed .step-icon{background:var(--sent-color);color:#fff}.step-icon svg{width:16px;height:16px}.step-title{font-size:13px;font-weight:600;color:var(--text-secondary)}.step-item.active .step-title{color:var(--accent-primary)}.step-item.completed .step-title{color:var(--sent-color)}@media(max-width:640px){.step-title{display:none}}.target-selector{display:flex;flex-direction:column;gap:16px}.target-type-tabs{display:flex;gap:8px;padding:4px;background:var(--bg-tertiary);border-radius:12px;overflow-x:auto}.target-type-tab{display:flex;align-items:center;gap:8px;padding:10px 16px;border:none;background:transparent;border-radius:8px;font-size:13px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .15s;white-space:nowrap}.target-type-tab:hover{background:var(--bg-secondary);color:var(--text-primary)}.target-type-tab.active{background:var(--bg-secondary);color:var(--accent-primary);box-shadow:0 2px 8px #0000000f}.target-type-tab svg{width:16px;height:16px}.target-search{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px}.target-search svg{width:18px;height:18px;color:var(--text-tertiary)}.target-search input{flex:1;border:none;background:none;font-size:14px;outline:none}.target-options-list{display:flex;flex-direction:column;gap:8px;max-height:240px;overflow-y:auto;padding:4px;margin:-4px}.target-option{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;cursor:pointer;transition:all .15s}.target-option:hover,.target-option.selected{border-color:var(--accent-primary);background:var(--accent-light)}.target-option svg{width:20px;height:20px;color:var(--text-tertiary);flex-shrink:0}.target-option.selected svg{color:var(--accent-primary)}.target-option-check{width:20px;height:20px;border:2px solid var(--border-color);border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.target-option.selected .target-option-check{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.target-option-check svg{width:14px;height:14px}.target-option-info{display:flex;flex-direction:column;gap:2px;min-width:0}.target-option-name{font-size:14px;font-weight:600;color:var(--text-primary)}.target-option-meta{font-size:12px;color:var(--text-tertiary)}.selected-targets{margin-top:20px;padding-top:20px;border-top:1px solid var(--border-subtle)}.selected-targets h4{font-size:14px;font-weight:600;color:var(--text-secondary);margin:0 0 12px}.selected-targets-list{display:flex;flex-direction:column;gap:8px}.selected-target-group{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.selected-target-type{font-size:12px;font-weight:600;color:var(--text-tertiary)}.selected-target-item{display:inline-flex;align-items:center;gap:6px;padding:4px 8px 4px 12px;background:var(--accent-light);color:var(--accent-primary);border-radius:6px;font-size:13px;font-weight:500}.selected-target-item button{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;background:transparent;color:var(--accent-primary);cursor:pointer;border-radius:4px;transition:all .15s}.selected-target-item button:hover{background:var(--accent-primary);color:#fff}.selected-target-item button svg{width:12px;height:12px}.channel-options{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media(min-width:640px){.channel-options{grid-template-columns:repeat(4,1fr)}}.channel-option{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:12px;cursor:pointer;transition:all .15s}.channel-option:hover{border-color:var(--accent-primary)}.channel-option.selected{border-color:var(--accent-primary);background:var(--accent-light)}.channel-option svg{width:24px;height:24px;color:var(--text-tertiary)}.channel-option.selected svg{color:var(--accent-primary)}.channel-option span{font-size:13px;font-weight:600;color:var(--text-secondary)}.channel-option.selected span{color:var(--accent-primary)}.channel-option-check{width:20px;height:20px;border:2px solid var(--border-color);border-radius:50%;display:flex;align-items:center;justify-content:center}.channel-option.selected .channel-option-check{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.channel-option-check svg{width:12px;height:12px}.schedule-options{display:flex;flex-direction:column;gap:12px}.schedule-option{display:flex;align-items:center;gap:14px;padding:16px;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:12px;cursor:pointer;transition:all .15s}.schedule-option:hover{border-color:var(--accent-primary)}.schedule-option.selected{border-color:var(--accent-primary);background:var(--accent-light)}.schedule-option svg{width:24px;height:24px;color:var(--text-tertiary)}.schedule-option.selected svg{color:var(--accent-primary)}.schedule-option-radio{width:20px;height:20px;border:2px solid var(--border-color);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.schedule-option.selected .schedule-option-radio{border-color:var(--accent-primary)}.radio-dot{width:10px;height:10px;background:var(--accent-primary);border-radius:50%}.schedule-option-info{display:flex;flex-direction:column;gap:2px}.schedule-option-title{font-size:14px;font-weight:600;color:var(--text-primary)}.schedule-option-desc{font-size:12px;color:var(--text-tertiary)}.schedule-datetime{margin-top:12px}.schedule-datetime input{max-width:300px}.send-summary{margin-top:24px;padding:20px;background:var(--bg-tertiary);border-radius:12px}.send-summary h4{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 16px}.summary-item{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--border-subtle)}.summary-item:last-child{border-bottom:none}.summary-item>span:first-child{font-size:13px;color:var(--text-tertiary);min-width:100px}.summary-item strong{font-size:14px;color:var(--text-primary)}.stats-detail-header{margin-bottom:24px}.stats-detail-header h3{font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.stats-detail-meta{display:flex;align-items:center;gap:12px}.sent-time{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-tertiary)}.sent-time svg{width:14px;height:14px}.stats-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px}@media(min-width:640px){.stats-detail-grid{grid-template-columns:repeat(3,1fr)}}.stats-detail-card{display:flex;flex-direction:column;align-items:center;padding:20px;background:var(--bg-tertiary);border-radius:12px;text-align:center}.stats-detail-icon{margin-bottom:8px}.stats-detail-icon svg{width:24px;height:24px}.stats-detail-value{font-size:28px;font-weight:700;color:var(--text-primary)}.stats-detail-label{font-size:12px;color:var(--text-secondary);margin-top:4px}.stats-detail-card.total .stats-detail-icon{color:var(--accent-primary)}.stats-detail-card.delivered .stats-detail-icon{color:var(--sent-color)}.stats-detail-card.read .stats-detail-icon{color:var(--scheduled-color)}.stats-detail-card.clicked .stats-detail-icon{color:var(--promotion-color)}.stats-detail-card.failed .stats-detail-icon{color:var(--failed-color)}.stats-detail-bar{width:100%;height:4px;background:var(--border-color);border-radius:2px;margin-top:8px;overflow:hidden}.stats-detail-bar>div{height:100%;border-radius:2px}.stats-detail-card.delivered .stats-detail-bar>div{background:var(--sent-color)}.stats-detail-card.read .stats-detail-bar>div{background:var(--scheduled-color)}.stats-detail-card.clicked .stats-detail-bar>div{background:var(--promotion-color)}.stats-targets,.stats-channels{margin-top:20px}.stats-targets h4,.stats-channels h4{font-size:13px;font-weight:600;color:var(--text-secondary);margin:0 0 12px}.stats-targets-list{display:flex;flex-wrap:wrap;gap:8px}.stats-channels-list{display:flex;gap:16px}.channel-stat{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}@media(max-width:767px){.page-header-actions{flex-direction:column;width:100%}.page-header-actions .btn{width:100%}.toolbar{flex-direction:column;align-items:stretch}.search-box{max-width:none}.filters{flex-direction:column}.filter-select{width:100%}.modal-container{max-height:100vh;border-radius:20px 20px 0 0;margin-top:auto}}.my-classes{padding:32px;max-width:1600px;margin:0 auto;animation:fadeUp .3s ease}@media(max-width:767px){.my-classes{padding:16px}}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.stat-card.active .stat-icon{background:var(--accent-light);color:var(--accent-primary)}.stat-card.students .stat-icon{background:#ecfdf5;color:#10b981}.stat-card.upcoming .stat-icon{background:#fffbeb;color:#f59e0b}.stat-card.progress .stat-icon{background:#fef2f2;color:#ef4444}.view-toggle{display:flex;background:var(--bg-tertiary);border-radius:10px;padding:4px;gap:4px}.toggle-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;border-radius:8px;color:var(--text-tertiary);cursor:pointer;transition:all .15s ease}.toggle-btn svg{width:18px;height:18px}.toggle-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.toggle-btn.active{background:var(--bg-secondary);color:var(--accent-primary);box-shadow:0 2px 4px #0000000d}.classes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px}@media(max-width:767px){.classes-grid{grid-template-columns:1fr}}.class-card{background:var(--bg-secondary);border-radius:16px;border:1px solid var(--border-color);overflow:hidden;cursor:pointer;transition:all .2s ease}.class-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #0000001a}.class-card-header{padding:20px;color:#fff;position:relative}.class-card-header-content{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.class-card-badges{display:flex;gap:8px;flex-wrap:wrap}.grade-badge{display:inline-flex;padding:4px 10px;background:#fff3;border-radius:6px;font-size:11px;font-weight:600;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.class-card-menu{position:relative}.menu-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:#fff3;border-radius:8px;color:#fff;cursor:pointer;transition:all .15s}.menu-btn:hover{background:#ffffff4d}.class-card-title{font-size:20px;font-weight:700;margin:0 0 4px}.class-card-subject{font-size:14px;opacity:.9;margin:0}.class-card-body{padding:20px;display:flex;flex-direction:column;gap:16px}.class-card-stats{display:flex;gap:16px;flex-wrap:wrap}.stat-item{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary)}.class-card-schedule,.schedule-badges{display:flex;flex-wrap:wrap;gap:6px}.schedule-badge{display:inline-flex;padding:4px 10px;background:var(--bg-tertiary);border-radius:6px;font-size:12px;font-weight:500;color:var(--text-secondary)}.schedule-badge.more{background:var(--accent-light);color:var(--accent-primary)}.class-card-progress{display:flex;flex-direction:column;gap:8px}.progress-header{display:flex;justify-content:space-between;font-size:12px;color:var(--text-secondary)}.class-card-next-session{padding:12px;background:var(--bg-tertiary);border-radius:10px}.next-session-label{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.next-session-label svg{width:14px;height:14px}.next-session-info{display:flex;flex-direction:column;gap:4px}.next-session-date{font-size:13px;font-weight:600;color:var(--text-primary)}.next-session-topic{font-size:13px;color:var(--text-secondary)}.class-card-activity{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--accent-light);border-radius:8px;font-size:13px;color:var(--accent-primary)}.class-card-activity svg{width:16px;height:16px;flex-shrink:0}.class-card-footer{padding:16px 20px;border-top:1px solid var(--border-subtle)}.class-status{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600}.class-status svg{width:12px;height:12px}.class-status.active{background:var(--status-active-bg);color:var(--status-active)}.class-status.upcoming{background:var(--status-upcoming-bg);color:var(--status-upcoming)}.class-status.completed{background:var(--status-completed-bg);color:var(--status-completed)}.class-status.archived{background:var(--status-archived-bg);color:var(--status-archived)}.class-card-header .class-status{background:#fff3;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.class-name-cell{display:flex;align-items:center;gap:12px}.class-color-indicator{width:4px;height:40px;border-radius:2px;flex-shrink:0}.class-name-content{display:flex;flex-direction:column;gap:4px}.class-name-row{display:flex;align-items:center;gap:10px}.class-name{font-size:14px;font-weight:600;color:var(--text-primary)}.class-code{font-size:11px;font-weight:500;color:var(--text-tertiary);background:var(--bg-tertiary);padding:2px 6px;border-radius:4px}.class-subject-row{display:flex;align-items:center;gap:8px}.subject-name{font-size:13px;color:var(--text-secondary)}.grade-label{font-size:11px;color:var(--accent-primary);background:var(--accent-light);padding:2px 6px;border-radius:4px;font-weight:600}.students-cell{display:flex;align-items:baseline;gap:4px}.students-count{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--text-primary)}.students-count svg{width:16px;height:16px;color:var(--text-tertiary)}.students-capacity{font-size:12px;color:var(--text-tertiary)}.schedule-cell{display:flex;flex-direction:column;gap:6px}.schedule-days{display:flex;gap:4px;flex-wrap:wrap}.day-badge{display:inline-flex;padding:2px 8px;background:var(--bg-tertiary);border-radius:4px;font-size:11px;font-weight:600;color:var(--text-secondary)}.schedule-room{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-tertiary)}.schedule-room svg{width:12px;height:12px}.progress-cell{min-width:120px}.progress-cell .progress-bar-container{height:6px}.progress-cell .progress-label{display:block;position:static;margin-top:4px;font-size:11px;color:var(--text-tertiary)}@media(max-width:767px){.filters-bar{flex-direction:column;align-items:stretch}.search-box{min-width:100%}.filter-select{width:100%}.filters-spacer{display:none}.view-toggle{align-self:center}.results-count{text-align:center;width:100%;padding-top:8px;border-top:1px solid var(--border-subtle)}.stats-overview{grid-template-columns:repeat(2,1fr)}.stat-card{padding:16px}.stat-value{font-size:24px}}@media(max-width:480px){.stats-overview{grid-template-columns:1fr}}.class-detail{min-height:100vh;background:var(--bg-primary)}.class-detail-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px;color:var(--text-secondary)}.class-detail-loading .spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite}.class-detail-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px;padding:32px;text-align:center}.class-detail-error svg{width:48px;height:48px;color:var(--danger)}.class-detail-error p{font-size:16px;color:var(--text-secondary);margin:0}.class-body{padding:24px 32px}@media(max-width:767px){.class-body{padding:16px}}.class-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:20px 32px;background:var(--bg-secondary);border-bottom:3px solid var(--accent-primary)}@media(max-width:767px){.class-header{padding:16px}}.header-left{display:flex;align-items:center;gap:16px;flex:1;min-width:0}.edit-class-header .back-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:var(--bg-tertiary);border-radius:10px;color:var(--text-secondary);cursor:pointer;transition:all .15s;flex-shrink:0}.edit-class-header .back-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.edit-class-header .back-btn svg{width:20px;height:20px}.class-title-section{min-width:0}.class-title{display:flex;align-items:baseline;gap:8px;margin:0 0 8px;font-size:24px;font-weight:700;color:var(--text-primary);flex-wrap:wrap}@media(max-width:767px){.class-title{font-size:20px}}.class-title .separator{color:var(--text-tertiary);font-weight:400}.class-title .subject{color:var(--text-secondary)}.class-chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:var(--bg-tertiary);border-radius:6px;font-size:12px;font-weight:500;color:var(--text-secondary)}.chip svg{width:14px;height:14px}.chip.homeroom{background:var(--accent-light);color:var(--accent-primary)}.header-right{display:flex;align-items:center;gap:12px}.header-actions{display:flex;gap:8px}.more-menu-wrapper{position:relative}.more-menu{position:absolute;top:calc(100% + 8px);right:0;background:var(--bg-secondary);border-radius:12px;box-shadow:0 10px 40px #00000026;border:1px solid var(--border-color);min-width:180px;z-index:100;overflow:hidden}.more-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;border:none;background:transparent;color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s;text-align:left}.more-menu button:hover{background:var(--bg-tertiary)}.more-menu button svg{width:18px;height:18px;color:var(--text-tertiary)}.overview-tab{display:flex;flex-direction:column;gap:24px}.overview-cards-row,.overview-bottom-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.overview-card{background:var(--bg-secondary);border-radius:16px;border:1px solid var(--border-color);overflow:hidden}.overview-card .card-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-subtle)}.overview-card .card-header h3{display:flex;align-items:center;gap:10px;margin:0;font-size:15px;font-weight:600;color:var(--text-primary)}.overview-card .card-header h3 svg{width:18px;height:18px;color:var(--accent-primary)}.overview-card .card-body{padding:20px}.count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 8px;background:var(--danger-bg);color:var(--danger);border-radius:12px;font-size:12px;font-weight:600}.progress-card .progress-info{margin-bottom:20px}.progress-card .current-unit{margin-bottom:16px}.progress-card .label{display:block;font-size:11px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.progress-card .value{font-size:14px;font-weight:600;color:var(--text-primary)}.progress-bar-wrapper{display:flex;align-items:center;gap:12px;margin-bottom:8px}.progress-bar-track{flex:1;height:8px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;border-radius:4px;transition:width .3s ease}.progress-percent{font-size:14px;font-weight:700;color:var(--text-primary);min-width:40px}.progress-stats{font-size:12px;color:var(--text-tertiary)}.next-lesson{padding:12px;background:var(--bg-tertiary);border-radius:10px}.next-lesson .label{margin-bottom:4px}.next-lesson .value{font-size:13px}.statistics-card{display:flex;flex-direction:column}.statistics-card .card-body{flex:1;display:flex;align-items:center}.statistics-grid{display:grid;gap:16px;width:100%}.statistics-grid-3{grid-template-columns:repeat(3,1fr)}.stat-item{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 16px;background:var(--bg-tertiary);border-radius:12px;text-align:center;transition:all .2s ease}.stat-item:hover{background:var(--bg-hover);transform:translateY(-2px)}.stat-value{font-size:28px;font-weight:700;color:var(--text-primary);line-height:1.2;margin-bottom:6px}.stat-label{font-size:12px;font-weight:500;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.3px}.stat-item.success .stat-value{color:var(--success)}.stat-item.warning{background:var(--warning-bg);border:1px solid rgba(245,158,11,.2)}.stat-item.warning .stat-value,.stat-item.warning .stat-label{color:var(--warning)}.stat-item.danger{background:var(--danger-bg);border:1px solid rgba(239,68,68,.2)}.stat-item.danger .stat-value,.stat-item.danger .stat-label{color:var(--danger)}.schedule-list{display:flex;flex-direction:column;gap:12px}.schedule-item{display:flex;align-items:center;gap:16px;padding:12px;background:var(--bg-tertiary);border-radius:10px;border-left:3px solid var(--accent-primary)}.schedule-item.exam{border-left-color:var(--warning);background:var(--warning-bg)}.schedule-date{display:flex;flex-direction:column;align-items:center;min-width:50px}.schedule-date .day{font-size:14px;font-weight:700;color:var(--text-primary)}.schedule-date .time{font-size:11px;color:var(--text-tertiary)}.schedule-info{flex:1;min-width:0}.schedule-info .topic{display:block;font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:2px}.schedule-info .room{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-tertiary)}.schedule-info .room svg{width:12px;height:12px}.schedule-type-badge{padding:4px 8px;background:var(--warning);color:#fff;border-radius:4px;font-size:10px;font-weight:600}.at-risk-list{display:flex;flex-direction:column;gap:12px}.at-risk-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-tertiary);border-radius:10px;cursor:pointer;transition:all .15s}.at-risk-item:hover{background:var(--bg-hover)}.at-risk-item svg{width:16px;height:16px;color:var(--text-tertiary)}.student-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;flex-shrink:0}.student-avatar.small{width:28px;height:28px;font-size:12px}.at-risk-item .student-info{flex:1;min-width:0}.at-risk-item .student-name{display:block;font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:2px}.at-risk-item .student-issues{display:flex;flex-wrap:wrap;gap:8px}.at-risk-item .issue{font-size:11px;color:var(--danger);background:var(--danger-bg);padding:2px 6px;border-radius:4px}.view-all-btn{width:100%;padding:10px;border:1px dashed var(--border-color);background:transparent;border-radius:8px;color:var(--accent-primary);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}.view-all-btn:hover{background:var(--accent-light);border-color:var(--accent-primary)}.empty-state-small{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;color:var(--text-tertiary)}.empty-state-small svg{width:40px;height:40px;margin-bottom:12px;color:var(--success)}.students-tab{display:flex;flex-direction:column;gap:20px}.tab-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.student-name-cell{display:flex;align-items:center;gap:12px}.student-name-cell .student-details{display:flex;flex-direction:column;gap:2px}.student-name-cell .name{font-size:14px;font-weight:600;color:var(--text-primary)}.student-name-cell .email{font-size:12px;color:var(--text-tertiary)}.attendance-cell,.score-cell{font-size:14px;font-weight:600;color:var(--text-primary)}.attendance-cell.low,.score-cell.low{color:var(--danger)}.score-cell.high{color:var(--success)}.student-status{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600}.student-status svg{width:14px;height:14px}.student-status.excellent{background:#fef3c7;color:#d97706}.student-status.good{background:var(--success-bg);color:var(--success)}.student-status.at-risk{background:var(--danger-bg);color:var(--danger)}.student-cards{display:flex;flex-direction:column;gap:12px}.student-card{background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-color);padding:16px;cursor:pointer;transition:all .15s}.student-card:hover{box-shadow:0 4px 15px #00000014}.student-card-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.student-card-header .student-info{flex:1}.student-card-header .name{display:block;font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.student-card-header .status-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}.student-card-header .status-badge.excellent{background:#fef3c7;color:#d97706}.student-card-header .status-badge.good{background:var(--success-bg);color:var(--success)}.student-card-header .status-badge.at-risk{background:var(--danger-bg);color:var(--danger)}.student-card-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.student-card-stats .stat{text-align:center;padding:8px;background:var(--bg-tertiary);border-radius:8px}.student-card-stats .label{display:block;font-size:10px;color:var(--text-tertiary);margin-bottom:2px}.student-card-stats .value{font-size:16px;font-weight:700;color:var(--text-primary)}.student-card-stats .value.low{color:var(--danger)}.student-card-stats .value.high{color:var(--success)}.lessons-tab{display:flex;flex-direction:column;gap:20px}.lessons-list{display:flex;flex-direction:column;gap:8px}.lesson-row{display:flex;align-items:center;gap:16px;padding:16px 20px;background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-color);cursor:pointer;transition:all .15s}.lesson-row:hover{box-shadow:0 4px 15px #0000000f;border-color:var(--accent-primary)}.lesson-order{width:32px;height:32px;border-radius:8px;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:var(--text-secondary);flex-shrink:0}.lesson-info{flex:1;min-width:0}.lesson-title{display:block;font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.lesson-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--text-tertiary)}.lesson-meta .unit{color:var(--accent-primary);font-weight:500}.lesson-meta .duration{display:flex;align-items:center;gap:4px}.lesson-meta .duration svg{width:12px;height:12px}.assignments-tab{display:flex;flex-direction:column;gap:20px}.assignment-name-cell{display:flex;align-items:center;gap:10px}.type-badge{padding:4px 8px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase}.type-badge.quiz{background:#fef3c7;color:#d97706}.type-badge.project{background:#dbeafe;color:#2563eb}.assignment-name-cell .name{font-size:14px;font-weight:500;color:var(--text-primary)}.due-date{font-size:13px;color:var(--text-secondary)}.submitted-cell .incomplete{color:var(--warning);font-weight:600}.submitted-cell .complete{color:var(--success);font-weight:600}.avg-score{font-size:14px;font-weight:600;color:var(--text-primary)}.no-score{color:var(--text-tertiary)}.gradebook-tab{background:var(--bg-secondary);border-radius:16px;border:1px solid var(--border-color);overflow:hidden}.gradebook-scroll-wrapper{overflow-x:auto;padding:0}.gradebook-table{width:100%;min-width:800px;border-collapse:collapse;font-size:13px}.gradebook-table th,.gradebook-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border-subtle)}.gradebook-table th{background:var(--bg-tertiary);font-weight:600;color:var(--text-secondary);font-size:12px;position:sticky;top:0}.gradebook-table .student-col{min-width:180px;position:sticky;left:0;background:inherit;z-index:1}.gradebook-table th.student-col{background:var(--bg-tertiary);z-index:2}.gradebook-table td.student-col{background:var(--bg-secondary)}.gradebook-table .grade-col{width:100px;text-align:center}.gradebook-table .avg-col{width:80px;text-align:center;background:var(--bg-tertiary)}.assignment-header{display:flex;flex-direction:column;gap:2px}.assignment-header .name{font-size:11px;font-weight:600}.assignment-header .max{font-size:10px;color:var(--text-tertiary)}.grade-input{width:60px;padding:6px 8px;border:1px solid var(--border-color);border-radius:6px;text-align:center;font-size:13px;font-weight:600;color:var(--text-primary);transition:all .15s}.grade-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px #6366f11a}.grade-input.low{background:var(--danger-bg);border-color:var(--danger);color:var(--danger)}.grade-input.high{background:var(--success-bg);border-color:var(--success);color:var(--success)}.not-submitted{color:var(--text-tertiary);font-style:italic}.gradebook-table .avg-score{display:inline-block;padding:4px 10px;border-radius:6px;font-weight:700}.gradebook-table .avg-score.low{background:var(--danger-bg);color:var(--danger)}.gradebook-table .avg-score.high{background:var(--success-bg);color:var(--success)}.gradebook-student-list{display:flex;flex-direction:column}.gradebook-student-row{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--border-subtle);cursor:pointer;transition:all .15s}.gradebook-student-row:hover{background:var(--bg-tertiary)}.gradebook-student-row .student-info{flex:1}.gradebook-student-row .name{display:block;font-size:14px;font-weight:600;color:var(--text-primary)}.gradebook-student-row .avg{font-size:13px;color:var(--text-secondary)}.gradebook-student-row svg{width:18px;height:18px;color:var(--text-tertiary)}.gradebook-tab.mobile-detail{padding:16px}.gradebook-tab.mobile-detail .back-btn{margin-bottom:16px;padding:8px 12px;gap:8px;font-size:14px;color:var(--accent-primary);background:transparent;border:none;cursor:pointer;display:flex;align-items:center}.gradebook-tab.mobile-detail .back-btn svg{width:18px;height:18px}.student-grade-detail .student-header{display:flex;align-items:center;gap:16px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border-subtle)}.student-grade-detail .student-header .name{display:block;font-size:18px;font-weight:700;color:var(--text-primary)}.student-grade-detail .student-header .avg{font-size:14px;color:var(--text-secondary)}.grades-list{display:flex;flex-direction:column;gap:12px}.grade-item{display:flex;align-items:center;justify-content:space-between;padding:14px;background:var(--bg-tertiary);border-radius:10px}.grade-item .assignment-info .name{display:block;font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:2px}.grade-item .assignment-info .type{font-size:12px;color:var(--text-tertiary)}.grade-item .grade-value .score{font-size:20px;font-weight:700;color:var(--text-primary)}.grade-item .grade-value .score.low{color:var(--danger)}.grade-item .grade-value .score.high{color:var(--success)}.grade-item .not-submitted{font-size:13px;color:var(--warning);font-style:normal}@media(max-width:767px){.desktop-only{display:none}.mobile-only{display:block}.overview-cards-row,.overview-bottom-row{grid-template-columns:1fr}.statistics-grid{gap:10px}.statistics-grid-3{grid-template-columns:repeat(3,1fr)}.stat-item{padding:14px 10px;border-radius:10px}.stat-item:hover{transform:none}.stat-value{font-size:20px;margin-bottom:4px}.stat-label{font-size:10px;letter-spacing:.2px}.tab-toolbar{flex-direction:column;align-items:stretch}.search-box{min-width:100%}}.att-page{min-height:100vh;background:var(--bg-primary);padding:32px}@media(max-width:767px){.att-page{padding:16px}}.att-class-filter-section{background:var(--bg-secondary);border-radius:16px;border:1px solid var(--border-color);padding:20px 24px;margin-bottom:20px}.att-class-filter-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.att-filter-label{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.att-class-count{font-size:13px;color:var(--text-tertiary)}.att-class-chips-container{display:flex;flex-wrap:wrap;gap:10px}.att-class-chip{display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:12px;cursor:pointer;transition:all .2s ease;font-family:inherit}.att-class-chip:hover{border-color:var(--text-tertiary);background:var(--bg-hover)}.att-class-chip.active{color:#fff;border-color:transparent}.att-class-chip .att-class-name{font-size:15px;font-weight:700}.att-class-chip .att-class-subject{font-size:13px;opacity:.8}.att-class-chip .att-student-count{display:flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 8px;background:#fff3;border-radius:8px;font-size:12px;font-weight:600}.att-class-chip:not(.active) .att-student-count{background:var(--bg-secondary);color:var(--text-secondary)}.att-current-class-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-color);border-left:4px solid var(--accent-primary);margin-bottom:20px}.att-current-class-info{display:flex;flex-direction:column;gap:4px}.att-current-class-name{font-size:16px;font-weight:700;color:var(--text-primary)}.att-current-class-details{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--text-secondary)}.att-current-class-details svg{width:14px;height:14px}.att-current-class-details .att-grade-badge{padding:2px 8px;background:var(--accent-light);color:var(--accent-primary);border-radius:4px;font-size:11px;font-weight:600}.att-date-filter{display:flex;background:var(--bg-tertiary);border-radius:10px;padding:4px;gap:4px}.att-date-filter-btn{padding:8px 16px;border:none;background:transparent;border-radius:8px;font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s;font-family:inherit}.att-date-filter-btn:hover{color:var(--text-primary)}.att-date-filter-btn.active{background:var(--bg-secondary);color:var(--accent-primary);box-shadow:0 2px 4px #0000000d}.att-content-section{background:var(--bg-secondary);border-radius:16px;border:1px solid var(--border-color);overflow:hidden}.att-section-header{display:flex;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-subtle)}.att-section-title{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.att-session-count{font-size:13px;color:var(--text-tertiary);background:var(--bg-tertiary);padding:4px 12px;border-radius:20px;margin-left:auto}.att-status{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:6px;font-size:12px;font-weight:600}.att-status svg{width:14px;height:14px}.att-status.present{background:var(--success-bg);color:var(--success)}.att-status.absent{background:var(--danger-bg);color:var(--danger)}.att-status.late{background:var(--warning-bg);color:var(--warning)}.att-status.excused{background:var(--info-bg);color:var(--info)}.att-session-list{display:flex;flex-direction:column}.att-session-history-item{display:flex;align-items:center;gap:16px;padding:16px 24px;border-bottom:1px solid var(--border-subtle);cursor:pointer;transition:all .15s}.att-session-history-item:last-child{border-bottom:none}.att-session-history-item:hover{background:var(--bg-tertiary)}.att-session-date{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:60px}.att-session-date .att-day{font-size:15px;font-weight:700;color:var(--text-primary)}.att-type-badge{display:flex;align-items:center;justify-content:center;border-radius:6px}.att-type-badge svg{width:14px;height:14px}.att-type-badge.online{background:var(--info-bg);color:var(--info)}.att-type-badge.in-person{background:var(--success-bg);color:var(--success)}.att-session-info{flex:1;min-width:0}.att-session-info .att-lesson-title{display:block;font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:6px}.att-session-stats{display:flex;gap:12px}.att-session-stats .att-stat{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:500}.att-session-stats .att-stat svg{width:14px;height:14px}.att-session-stats .att-stat.present{color:var(--success)}.att-session-stats .att-stat.absent{color:var(--danger)}.att-session-stats .att-stat.late{color:var(--warning)}.att-session-rate{display:flex;align-items:center}.att-rate-circle{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}.att-rate-circle.high{background:var(--success-bg);color:var(--success)}.att-rate-circle.medium{background:var(--warning-bg);color:var(--warning)}.att-rate-circle.low{background:var(--danger-bg);color:var(--danger)}.att-session-actions{display:flex;gap:8px}.att-page .action-btn.att-live-report{background:var(--info-bg);color:var(--info)}.att-page .action-btn.att-live-report:hover{background:var(--info);color:#fff}.att-taking{padding:24px}.att-taking-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.att-taking-stats{display:flex;gap:16px}.att-taking-stats .att-stat{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;font-size:14px;font-weight:600}.att-taking-stats .att-stat svg{width:18px;height:18px}.att-taking-stats .att-stat.present{background:var(--success-bg);color:var(--success)}.att-taking-stats .att-stat.absent{background:var(--danger-bg);color:var(--danger)}.att-taking-stats .att-stat.late{background:var(--warning-bg);color:var(--warning)}.att-taking-stats .att-stat.excused{background:var(--info-bg);color:var(--info)}.att-taking-actions{display:flex;gap:12px}.att-student-list{display:flex;flex-direction:column;gap:8px}.att-student-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;background:var(--bg-tertiary);border-radius:12px}.att-student-row .att-student-info{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.att-student-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--accent-primary, #6366f1),#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;flex-shrink:0}.att-student-details{display:flex;flex-direction:column;gap:2px;min-width:0}.att-student-details .att-name{font-size:14px;font-weight:600;color:var(--text-primary)}.att-student-details .att-email{font-size:12px;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.att-status-buttons{display:flex;gap:8px}.att-status-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:2px solid var(--border-color);background:var(--bg-secondary);border-radius:10px;color:var(--text-tertiary);cursor:pointer;transition:all .15s}.att-status-btn svg{width:20px;height:20px}.att-status-btn:hover{border-color:var(--text-tertiary)}.att-status-btn.present:hover,.att-status-btn.present.active{background:var(--success-bg);border-color:var(--success);color:var(--success)}.att-status-btn.absent:hover,.att-status-btn.absent.active{background:var(--danger-bg);border-color:var(--danger);color:var(--danger)}.att-status-btn.late:hover,.att-status-btn.late.active{background:var(--warning-bg);border-color:var(--warning);color:var(--warning)}.att-status-btn.excused:hover,.att-status-btn.excused.active{background:var(--info-bg);border-color:var(--info);color:var(--info)}.att-live-report-modal{max-width:1000px}.att-modal-title-section{display:flex;align-items:center;gap:16px}.att-modal-icon{width:48px;height:48px;border-radius:12px;background:var(--info-bg);color:var(--info);display:flex;align-items:center;justify-content:center}.att-modal-icon svg{width:24px;height:24px}.att-modal-subtitle{margin:0;font-size:13px;color:var(--text-secondary)}.att-session-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;padding:20px 24px;background:var(--bg-tertiary)}.att-summary-item{display:flex;align-items:center;gap:12px}.att-summary-item svg{width:20px;height:20px;color:var(--text-tertiary)}.att-summary-content{display:flex;flex-direction:column;gap:2px}.att-summary-content .att-label{font-size:11px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.att-summary-content .att-value{font-size:14px;font-weight:600;color:var(--text-primary)}.att-quick-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:16px 24px;border-bottom:1px solid var(--border-subtle)}.att-quick-stat{text-align:center;padding:12px;border-radius:10px}.att-quick-stat .att-stat-value{display:block;font-size:24px;font-weight:700;line-height:1.2}.att-quick-stat .att-stat-label{font-size:11px;font-weight:500}.att-quick-stat.present{background:var(--success-bg);color:var(--success)}.att-quick-stat.absent{background:var(--danger-bg);color:var(--danger)}.att-quick-stat.full{background:var(--info-bg);color:var(--info)}.att-quick-stat.partial{background:var(--warning-bg);color:var(--warning)}.att-modal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px;border-bottom:1px solid var(--border-subtle)}.att-modal-toolbar .search-box{margin-bottom:0;min-width:250px}.att-student-cell{display:flex;align-items:center;gap:12px}.att-student-cell .att-student-info{display:flex;flex-direction:column;gap:2px}.att-student-cell .att-name{font-size:14px;font-weight:600;color:var(--text-primary)}.att-student-cell .att-email{font-size:12px;color:var(--text-tertiary)}.att-time-cell{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:500;color:var(--text-primary)}.att-time-cell svg{width:14px;height:14px}.att-time-cell.join svg{color:var(--success)}.att-time-cell.leave svg{color:var(--danger)}.att-duration-cell{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--text-secondary)}.att-duration-cell svg{width:14px;height:14px;color:var(--text-tertiary)}.att-percent-cell{display:flex;align-items:center;gap:10px}.att-percent-bar{width:60px;height:6px;background:var(--bg-tertiary);border-radius:3px;overflow:hidden}.att-percent-fill{height:100%;border-radius:3px;transition:width .3s ease}.att-percent-cell.high .att-percent-fill{background:var(--success)}.att-percent-cell.medium .att-percent-fill{background:var(--warning)}.att-percent-cell.low .att-percent-fill{background:var(--danger)}.att-percent-value{font-size:13px;font-weight:600;min-width:40px}.att-percent-cell.high .att-percent-value{color:var(--success)}.att-percent-cell.medium .att-percent-value{color:var(--warning)}.att-percent-cell.low .att-percent-value{color:var(--danger)}.att-rejoin-cell{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--text-tertiary)}.att-rejoin-cell svg{width:14px;height:14px}.att-rejoin-cell.has-rejoins{color:var(--warning)}.att-rejoin-cell .att-no-rejoin{color:var(--text-tertiary)}.att-attendee-cards{padding:16px;display:flex;flex-direction:column;gap:12px}.att-attendee-card{background:var(--bg-tertiary);border-radius:12px;padding:16px}.att-attendee-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.att-attendee-header .att-student-info{flex:1;display:flex;align-items:center;justify-content:space-between}.att-attendee-header .att-name{font-size:15px;font-weight:600;color:var(--text-primary)}.att-percent-badge{padding:4px 10px;border-radius:6px;font-size:13px;font-weight:700}.att-percent-badge.high{background:var(--success-bg);color:var(--success)}.att-percent-badge.medium{background:var(--warning-bg);color:var(--warning)}.att-percent-badge.low{background:var(--danger-bg);color:var(--danger)}.att-attendee-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.att-attendee-stats .att-stat{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px;background:var(--bg-secondary);border-radius:8px}.att-attendee-stats .att-stat svg{width:16px;height:16px;color:var(--text-tertiary)}.att-attendee-stats .att-stat .att-label{font-size:10px;color:var(--text-tertiary)}.att-attendee-stats .att-stat .att-value{font-size:14px;font-weight:700;color:var(--text-primary)}.att-desktop-only{display:block}.att-mobile-only{display:none}@media(max-width:767px){.att-desktop-only{display:none}.att-mobile-only{display:block}.att-page .page-header{flex-direction:column;align-items:flex-start}.att-page .header-actions{width:100%}.att-page .header-actions .btn{flex:1;justify-content:center}.att-class-filter-section{padding:16px}.att-class-chips-container{gap:8px}.att-class-chip{padding:8px 12px;gap:8px}.att-class-chip .att-class-name{font-size:14px}.att-class-chip .att-class-subject{font-size:12px}.att-class-chip .att-student-count{min-width:24px;height:24px;font-size:11px}.att-current-class-bar{flex-direction:column;align-items:flex-start}.att-date-filter{width:100%;justify-content:center}.att-page .stats-overview{grid-template-columns:repeat(2,1fr)}.att-taking-header{flex-direction:column;align-items:stretch}.att-taking-stats{justify-content:space-between}.att-taking-actions{justify-content:flex-end}.att-status-buttons{gap:6px}.att-status-btn{width:36px;height:36px}.att-status-btn svg{width:18px;height:18px}.att-session-summary,.att-quick-stats{grid-template-columns:repeat(2,1fr)}.att-modal-toolbar{flex-direction:column;align-items:stretch}.att-modal-toolbar .search-box{min-width:100%}.att-modal-toolbar .btn{justify-content:center}.att-session-history-item{flex-wrap:wrap;padding:16px}.att-session-rate{order:-1;margin-left:auto}.att-session-actions{width:100%;justify-content:flex-end;margin-top:8px;padding-top:12px;border-top:1px solid var(--border-subtle)}}.analytics-screen{min-height:100vh;background:var(--bg-primary);padding:32px}@media(max-width:767px){.analytics-screen{padding:16px}}.analytics-screen .tab-content{padding:0}.class-filter-bar{margin-bottom:24px;overflow-x:auto;padding-bottom:4px}.class-selector{display:flex;gap:8px}.class-btn{padding:8px 16px;border:2px solid var(--border-color);background:var(--bg-secondary);border-radius:10px;font-size:13px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .15s;white-space:nowrap;font-family:inherit}.class-btn:hover{border-color:var(--text-tertiary);color:var(--text-primary)}.class-btn.active{color:#fff;border-color:transparent}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.metric-card{display:flex;align-items:flex-start;gap:16px;padding:20px;background:var(--bg-secondary);border-radius:16px;border:1px solid var(--border-color);transition:all .2s}.metric-card:hover{box-shadow:0 4px 15px #0000000d}.metric-card.warning{border-color:var(--warning);background:var(--warning-bg)}.metric-card.success{border-color:var(--success);background:var(--success-bg)}.metric-card.danger{border-color:var(--danger);background:var(--danger-bg)}.metric-icon{width:48px;height:48px;border-radius:12px;background:var(--accent-light);color:var(--accent-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.metric-icon svg{width:24px;height:24px}.metric-content{flex:1;min-width:0}.metric-label{display:block;font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:4px}.metric-value-row{display:flex;align-items:baseline;gap:4px}.metric-value{font-size:28px;font-weight:700;color:var(--text-primary);line-height:1.2}.metric-subvalue{font-size:14px;color:var(--text-tertiary)}.metric-trend{display:flex;align-items:center;gap:4px;margin-top:6px;font-size:12px;font-weight:600}.metric-trend svg{width:14px;height:14px}.metric-trend.positive{color:var(--success)}.metric-trend.negative{color:var(--danger)}.charts-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-bottom:24px}.chart-card{background:var(--bg-secondary);border-radius:16px;border:1px solid var(--border-color);overflow:hidden}.chart-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-subtle)}.chart-header h3{display:flex;align-items:center;gap:10px;margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.chart-header h3 svg{width:18px;height:18px;color:var(--accent-primary)}.chart-body{padding:20px}.mini-chart{display:flex;align-items:flex-end;justify-content:space-around;height:100px;gap:12px}.mini-chart-bar-wrapper{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1;height:100%}.mini-chart-bar{width:100%;max-width:40px;border-radius:6px 6px 0 0;transition:height .3s ease}.mini-chart-label{font-size:11px;font-weight:600;color:var(--text-tertiary)}.engagement-card .chart-body{display:flex;justify-content:center;padding:20px}.engagement-gauge{position:relative;width:160px;height:80px}.engagement-gauge svg{width:100%;height:100%}.gauge-value{position:absolute;bottom:0;left:50%;transform:translate(-50%);text-align:center}.gauge-value .value{font-size:32px;font-weight:700;color:var(--text-primary)}.gauge-value .label{font-size:14px;color:var(--text-tertiary)}.section-card{background:var(--bg-secondary);border-radius:16px;border:1px solid var(--border-color);margin-bottom:24px;overflow:hidden}.section-header{display:flex;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-subtle)}.section-header h3{display:flex;align-items:center;gap:10px;margin:0;font-size:15px;font-weight:600;color:var(--text-primary)}.section-header h3 svg{width:18px;height:18px;color:var(--accent-primary)}.class-comparison-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;padding:20px}.class-comparison-card{border:2px solid var(--border-color);border-radius:12px;overflow:hidden;cursor:pointer;transition:all .2s}.class-comparison-card:hover{box-shadow:0 4px 15px #00000014;transform:translateY(-2px)}.class-comparison-card.selected{border-width:2px}.class-comparison-card .class-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px}.class-comparison-card .class-name{font-size:16px;font-weight:700}.class-comparison-card .class-subject{font-size:12px;color:var(--text-secondary)}.class-comparison-card .class-metrics{padding:12px 16px}.class-comparison-card .metric-row{display:flex;align-items:center;justify-content:space-between;padding:6px 0}.class-comparison-card .metric-row .label{font-size:12px;color:var(--text-secondary)}.class-comparison-card .metric-row .value{font-size:14px;font-weight:600;color:var(--text-primary)}.class-comparison-card .metric-row .trend{font-size:11px;font-weight:600;padding:2px 6px;border-radius:4px}.class-comparison-card .metric-row .trend.positive{background:var(--success-bg);color:var(--success)}.class-comparison-card .metric-row .trend.negative{background:var(--danger-bg);color:var(--danger)}.class-comparison-card .class-footer{padding:12px 16px;border-top:1px solid var(--border-subtle);background:var(--bg-tertiary)}.class-comparison-card .student-counts{display:flex;gap:16px}.class-comparison-card .student-counts span{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:600}.class-comparison-card .student-counts svg{width:14px;height:14px}.class-comparison-card .at-risk{color:var(--warning)}.class-comparison-card .excellent{color:var(--success)}.assignment-list{padding:0}.assignment-row{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-subtle);transition:background .15s}.assignment-row:last-child{border-bottom:none}.assignment-row:hover{background:var(--bg-tertiary)}.assignment-info{display:flex;align-items:center;gap:12px}.type-badge{padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600}.type-badge.homework{background:var(--accent-light);color:var(--accent-primary)}.type-badge.quiz{background:var(--warning-bg);color:var(--warning)}.type-badge.exam{background:var(--danger-bg);color:var(--danger)}.type-badge.project{background:var(--info-bg);color:var(--info)}.assignment-info .name{font-size:14px;font-weight:500;color:var(--text-primary)}.assignment-metrics{display:flex;gap:24px}.assignment-metrics .metric{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.assignment-metrics .label{font-size:10px;color:var(--text-tertiary)}.assignment-metrics .value{font-size:14px;font-weight:600;color:var(--text-primary)}.assignment-metrics .value.low{color:var(--danger)}.assignment-metrics .value.high{color:var(--success)}.risk-detection-tab{display:flex;flex-direction:column;gap:20px}.risk-summary-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.risk-summary-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 20px;background:var(--bg-secondary);border-radius:16px;border:2px solid var(--border-color);cursor:pointer;transition:all .2s}.risk-summary-card:hover{transform:translateY(-2px);box-shadow:0 4px 15px #00000014}.risk-summary-card.active{border-width:3px}.risk-summary-card svg{width:32px;height:32px}.risk-summary-card .count{font-size:36px;font-weight:700;line-height:1}.risk-summary-card .label{font-size:13px;font-weight:500}.risk-summary-card.high{border-color:var(--danger);background:var(--danger-bg);color:var(--danger)}.risk-summary-card.high.active{background:var(--danger);color:#fff}.risk-summary-card.medium{border-color:var(--warning);background:var(--warning-bg);color:var(--warning)}.risk-summary-card.medium.active{background:var(--warning);color:#fff}.risk-summary-card.low{border-color:var(--success);background:var(--success-bg);color:var(--success)}.risk-summary-card.low.active{background:var(--success);color:#fff}.risk-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.filter-info{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--text-secondary)}.clear-filter{display:flex;align-items:center;gap:4px;padding:6px 12px;border:none;background:var(--bg-tertiary);border-radius:6px;font-size:12px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s}.clear-filter:hover{background:var(--danger-bg);color:var(--danger)}.clear-filter svg{width:14px;height:14px}.risk-table-wrapper{background:var(--bg-secondary);border-radius:16px;border:1px solid var(--border-color);overflow:hidden}.student-cell{display:flex;align-items:center;gap:12px}.student-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--accent-primary, #6366f1),#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;flex-shrink:0}.student-cell .student-info{display:flex;flex-direction:column;gap:2px}.student-cell .name{font-size:14px;font-weight:600;color:var(--text-primary)}.student-cell .class{font-size:12px;color:var(--text-tertiary)}.risk-level-cell{display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:8px;width:fit-content}.risk-level-cell svg{width:18px;height:18px}.risk-level-cell .score{font-size:16px;font-weight:700}.risk-level-cell.high{background:var(--danger-bg);color:var(--danger)}.risk-level-cell.medium{background:var(--warning-bg);color:var(--warning)}.risk-level-cell.low{background:var(--success-bg);color:var(--success)}.factors-cell{display:flex;flex-wrap:wrap;gap:6px}.risk-factor-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:6px;font-size:11px;font-weight:500}.risk-factor-badge svg{width:12px;height:12px}.risk-factor-badge.high{background:var(--danger-bg);color:var(--danger)}.risk-factor-badge.medium{background:var(--warning-bg);color:var(--warning)}.risk-factor-badge.low{background:var(--info-bg);color:var(--info)}.more-factors{font-size:11px;color:var(--text-tertiary);font-weight:500}.metrics-cell{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-secondary)}.metrics-cell .danger{color:var(--danger);font-weight:600}.trend-cell{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500}.trend-cell svg{width:16px;height:16px}.trend-cell.improving{color:var(--success)}.trend-cell.declining{color:var(--danger)}.trend-cell.stable{color:var(--text-tertiary)}.last-active{font-size:12px;color:var(--text-secondary)}.last-active.warning{color:var(--warning);font-weight:600}.risk-cards{display:flex;flex-direction:column;gap:12px}.student-risk-card{background:var(--bg-secondary);border-radius:16px;border:1px solid var(--border-color);padding:16px;cursor:pointer;transition:all .15s}.student-risk-card:hover{box-shadow:0 4px 15px #00000014}.risk-card-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.risk-card-header .student-info{flex:1}.risk-card-header .name{display:block;font-size:15px;font-weight:600;color:var(--text-primary)}.risk-card-header .class{font-size:12px;color:var(--text-tertiary)}.risk-badge{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:10px}.risk-badge svg{width:16px;height:16px}.risk-badge span{font-size:16px;font-weight:700}.risk-badge.high{background:var(--danger-bg);color:var(--danger)}.risk-badge.medium{background:var(--warning-bg);color:var(--warning)}.risk-badge.low{background:var(--success-bg);color:var(--success)}.risk-card-factors{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.risk-card-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:12px;background:var(--bg-tertiary);border-radius:10px;margin-bottom:12px}.risk-card-stats .stat{text-align:center}.risk-card-stats .label{display:block;font-size:10px;color:var(--text-tertiary);margin-bottom:2px}.risk-card-stats .value{font-size:16px;font-weight:700;color:var(--text-primary)}.risk-card-stats .value.danger{color:var(--danger)}.risk-card-stats .value.trend{display:flex;justify-content:center}.risk-card-stats .value.trend svg{width:20px;height:20px}.risk-card-stats .value.trend.improving{color:var(--success)}.risk-card-stats .value.trend.declining{color:var(--danger)}.risk-card-stats .value.trend.stable{color:var(--text-tertiary)}.risk-card-actions{display:flex;justify-content:flex-end;gap:8px}.desktop-only{display:block}@media(max-width:767px){.desktop-only{display:none}.mobile-only{display:block}.page-header{flex-direction:column;align-items:flex-start}.header-actions{width:100%}.header-actions .btn{flex:1;justify-content:center}.tab-navigation{width:100%}.tab-btn{flex:1;justify-content:center}.class-filter-bar{margin:0 -16px 24px;padding:0 16px 4px}.metrics-grid{grid-template-columns:repeat(2,1fr)}.metric-card{padding:16px}.metric-icon{width:40px;height:40px}.metric-value{font-size:24px}.charts-row,.class-comparison-grid{grid-template-columns:1fr}.assignment-row{flex-direction:column;align-items:flex-start;gap:12px}.assignment-metrics{width:100%;justify-content:space-between}.risk-summary-cards{grid-template-columns:repeat(3,1fr)}.risk-summary-card{padding:16px 12px}.risk-summary-card svg{width:24px;height:24px}.risk-summary-card .count{font-size:28px}.risk-summary-card .label{font-size:11px}.risk-toolbar{flex-direction:column;align-items:stretch}.search-box{min-width:100%}.filter-info{justify-content:space-between}}.messages-screen{display:flex;height:100vh;background:var(--bg-primary);overflow:hidden}.messages-sidebar{width:420px;min-width:320px;max-width:500px;background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;overflow:hidden}.messages-detail{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-secondary)}.sidebar-header{padding:20px;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.header-top{display:flex;align-items:center;gap:12px}.detail-header .back-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:var(--bg-tertiary);border-radius:10px;color:var(--text-secondary);cursor:pointer;transition:all .15s;flex-shrink:0}.detail-header .back-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.detail-header .back-btn svg{width:20px;height:20px}.page-title-sm{display:flex;align-items:center;gap:10px;margin:0;font-size:22px;font-weight:700;color:var(--text-primary);flex:1}.page-title-sm svg{width:24px;height:24px;color:var(--accent-primary)}.compose-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:10px;color:#fff;cursor:pointer;transition:all .15s}.compose-btn:hover{box-shadow:0 4px 15px #6366f14d;transform:translateY(-1px)}.compose-btn svg{width:20px;height:20px}.messages-sidebar .search-box{background:var(--bg-tertiary);border:1px solid transparent}.messages-sidebar .search-box:focus-within{background:var(--bg-secondary);border-color:var(--accent-primary);box-shadow:0 0 0 3px #6366f11a}.clear-search{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:var(--text-tertiary);border-radius:50%;color:#fff;cursor:pointer;padding:0}.clear-search svg{width:12px;height:12px;color:#fff}.scope-filter-tabs{display:flex;gap:4px;padding:12px 20px;border-bottom:1px solid var(--border-subtle);overflow-x:auto;flex-shrink:0}.scope-tab{display:flex;align-items:center;gap:8px;padding:10px 14px;border:none;background:transparent;border-radius:10px;font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s;white-space:nowrap;font-family:inherit}.scope-tab svg{width:16px;height:16px}.scope-tab:hover{background:var(--bg-tertiary);color:var(--text-primary)}.scope-tab.active{background:var(--accent-light);color:var(--accent-primary)}.scope-tab .count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:var(--danger);color:#fff;border-radius:10px;font-size:11px;font-weight:700}.scope-tab.active .count{background:var(--accent-primary)}.filter-options{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.filter-checkbox{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary);cursor:pointer}.filter-checkbox input{width:16px;height:16px;accent-color:var(--accent-primary)}.message-count{font-size:12px;color:var(--text-tertiary)}.message-list{flex:1;overflow-y:auto}.message-list-item{display:flex;align-items:flex-start;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border-subtle);cursor:pointer;transition:all .15s;position:relative}.message-list-item:hover{background:var(--bg-tertiary)}.message-list-item.selected{background:var(--accent-light)}.message-list-item.unread{background:var(--info-bg)}.message-list-item.unread:hover{background:#dbeafe}.message-list-item.pinned{border-left:3px solid var(--accent-primary)}.pin-indicator{position:absolute;top:8px;right:8px;color:var(--accent-primary)}.pin-indicator svg{width:12px;height:12px}.message-checkbox{flex-shrink:0;padding-top:4px}.star-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;padding:0;transition:all .15s}.star-btn:hover,.star-btn.starred{color:var(--warning)}.star-btn svg{width:18px;height:18px}.message-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;flex-shrink:0;overflow:hidden}.message-avatar img{width:100%;height:100%;object-fit:cover}.message-content{flex:1;min-width:0}.message-header{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:4px}.sender-name{font-size:14px;font-weight:600;color:var(--text-primary)}.message-list-item.unread .sender-name{font-weight:700}.message-badges{display:flex;align-items:center;gap:6px;flex:1;white-space:nowrap}.scope-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:600;white-space:nowrap}.scope-badge svg{width:16px;height:16px}.scope-badge.school{background:var(--accent-light);color:var(--accent-primary)}.scope-badge.class{background:var(--success-bg);color:var(--success)}.scope-badge.individual{background:var(--info-bg);color:var(--info)}.priority-badge{padding:2px 8px;border-radius:4px;font-size:12px;font-weight:600;white-space:nowrap}.priority-badge.high{background:var(--danger-bg);color:var(--danger)}.message-time{font-size:11px;color:var(--text-tertiary);margin-left:auto;flex-shrink:0}.message-subject{font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-list-item.unread .message-subject{font-weight:600}.message-preview{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment-indicator{flex-shrink:0;color:var(--text-secondary)}.attachment-indicator svg{width:14px;height:14px}.unread-indicator{position:absolute;right:20px;top:50%;transform:translateY(-50%);width:10px;height:10px;background:var(--accent-primary);border-radius:50%}.message-detail{display:flex;flex-direction:column;height:100%}.detail-header{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:16px 24px;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.detail-actions{display:flex;gap:4px}.detail-actions .action-btn{width:40px;height:40px;border-radius:10px}.detail-actions .action-btn svg{width:20px;height:20px}.detail-actions .action-btn.starred{color:var(--warning)}.more-actions-wrapper{position:relative}.more-actions-menu{position:absolute;top:calc(100% + 4px);right:0;background:var(--bg-secondary);border-radius:10px;box-shadow:0 10px 40px #00000026;border:1px solid var(--border-color);overflow:hidden;z-index:100;min-width:150px}.more-actions-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;border:none;background:transparent;color:var(--text-primary);font-size:14px;cursor:pointer;transition:all .15s;text-align:left}.more-actions-menu button:hover{background:var(--danger-bg);color:var(--danger)}.more-actions-menu button svg{width:16px;height:16px}.detail-content{flex:1;overflow-y:auto;padding:24px}.detail-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.type-badge{display:inline-flex;align-items:center;gap:6px;border-radius:8px;font-size:12px;font-weight:600}.type-badge svg{width:16px;height:16px}.type-badge.announcement{background:var(--accent-light);color:var(--accent-primary)}.type-badge.notification{background:var(--info-bg);color:var(--info)}.type-badge.message{background:var(--success-bg);color:var(--success)}.type-badge.alert{background:var(--danger-bg);color:var(--danger)}.type-badge.reminder{background:var(--warning-bg);color:var(--warning)}.detail-badges .scope-badge,.detail-badges .priority-badge{padding:6px 12px;font-size:12px}.detail-subject{margin:0 0 20px;font-size:24px;font-weight:700;color:var(--text-primary);line-height:1.3}.detail-meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid var(--border-subtle)}.sender-info{display:flex;align-items:center;gap:12px}.sender-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:600;overflow:hidden}.sender-avatar img{width:100%;height:100%;object-fit:cover}.sender-details{display:flex;flex-direction:column;gap:2px}.sender-details .sender-name{font-size:16px;font-weight:600;color:var(--text-primary)}.sender-details .sender-role{font-size:13px;color:var(--text-tertiary)}.message-datetime{font-size:13px;color:var(--text-secondary)}.expiry-notice{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--warning-bg);border-radius:10px;margin-bottom:20px;font-size:13px;color:var(--warning)}.expiry-notice svg{width:16px;height:16px}.detail-body{font-size:15px;line-height:1.7;color:var(--text-primary)}.detail-body p{margin:0 0 12px}.detail-body p:last-child{margin-bottom:0}.detail-attachments{margin-top:24px;padding-top:20px;border-top:1px solid var(--border-subtle)}.detail-attachments h4{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:14px;font-weight:600;color:var(--text-secondary)}.detail-attachments h4 svg{width:16px;height:16px}.attachments-list{display:flex;flex-wrap:wrap;gap:10px}.attachment-item{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--bg-tertiary);border-radius:10px;text-decoration:none;transition:all .15s}.attachment-item:hover{background:var(--bg-hover);box-shadow:0 2px 8px #0000000d}.attachment-item svg{width:20px;height:20px;color:var(--accent-primary);flex-shrink:0}.attachment-name{font-size:13px;font-weight:500;color:var(--text-primary)}.attachment-size{font-size:12px;color:var(--text-tertiary)}.reply-indicator{display:flex;align-items:center;gap:8px;margin-top:20px;padding:12px 16px;background:var(--accent-light);border-radius:10px;font-size:13px;font-weight:500;color:var(--accent-primary)}.reply-indicator svg{width:16px;height:16px}.detail-footer{padding:16px 24px;border-top:1px solid var(--border-subtle);flex-shrink:0}.no-message-selected{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:40px;color:var(--text-tertiary)}.no-message-selected svg{width:64px;height:64px;margin-bottom:20px;opacity:.5}.no-message-selected h3{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--text-secondary)}.no-message-selected p{margin:0;font-size:14px}.mobile-only{display:none}@media(max-width:900px){.messages-screen{flex-direction:column}.messages-sidebar{width:100%;max-width:none;min-width:0;height:100%}.messages-sidebar.hidden-mobile{display:none}.messages-detail{position:absolute;inset:0;z-index:100;display:none}.messages-detail.visible,.mobile-only{display:flex}.detail-header{justify-content:space-between}.detail-header .back-btn{display:flex}.scope-tab .label{display:none}.scope-tab{padding:10px 12px}.detail-subject{font-size:20px}.detail-content{padding:20px 16px}.detail-meta{flex-direction:column;align-items:flex-start}.message-datetime{font-size:12px}}@media(max-width:480px){.sidebar-header{padding:16px}.scope-filter-tabs,.filter-options{padding:10px 16px}.message-list-item{padding:14px 16px}.message-avatar{width:40px;height:40px;font-size:16px}.sender-name,.message-subject{font-size:13px}.message-preview{font-size:12px}}.user-settings{min-height:100vh;background:var(--bg-primary)}.settings-header{display:flex;align-items:center;justify-content:space-between;padding:20px 32px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:0}.header-left{display:flex;align-items:center;gap:16px}.save-btn{display:flex;align-items:center;gap:8px}.settings-layout{display:flex;max-width:1200px;margin:0 auto;padding:32px;gap:32px}.settings-sidebar{width:280px;flex-shrink:0}.settings-nav{background:var(--bg-secondary);border-radius:16px;padding:8px;box-shadow:0 1px 3px #0000000d;position:sticky;top:100px}.nav-item{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;border:none;background:transparent;border-radius:12px;font-size:15px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s;text-align:left;font-family:inherit}.nav-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.nav-item.active{background:var(--accent-light);color:var(--accent-primary)}.nav-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px}.nav-icon svg{width:20px;height:20px}.nav-label{flex:1}.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:var(--danger);color:#fff;border-radius:10px;font-size:11px;font-weight:700}.nav-item>svg:last-child{width:16px;height:16px;opacity:0;transition:opacity .15s}.nav-item:hover>svg:last-child,.nav-item.active>svg:last-child{opacity:.5}.settings-content{flex:1;min-width:0}.settings-tab{background:var(--bg-secondary);border-radius:16px;padding:32px;box-shadow:0 1px 3px #0000000d}.settings-tab .section-header{padding:0 0 12px;display:block;border-bottom:1px solid var(--border-subtle)}.settings-tab .section-header .section-title{margin:0 0 8px;font-size:20px;font-weight:700;color:var(--text-primary)}.settings-tab .section-header .section-description{margin:0;font-size:14px;color:var(--text-secondary)}.settings-group{margin-bottom:32px}.settings-group:last-child{margin-bottom:0}.group-title{display:flex;align-items:center;gap:8px;margin:0 0 16px;font-size:14px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.group-title svg{width:16px;height:16px}.setting-row{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--border-subtle)}.setting-row:last-child{border-bottom:none}.setting-info{display:flex;align-items:flex-start;gap:14px;flex:1;min-width:0}.setting-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--bg-tertiary);border-radius:10px;color:var(--text-secondary);flex-shrink:0}.setting-icon svg{width:20px;height:20px}.setting-text{display:flex;flex-direction:column;gap:2px}.setting-title{font-size:15px;font-weight:600;color:var(--text-primary)}.setting-description{font-size:13px;color:var(--text-tertiary)}.setting-control{flex-shrink:0;margin-left:16px}.toggle{position:relative;width:48px;height:28px;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:14px;cursor:pointer;transition:all .2s;padding:0}.toggle:hover{border-color:var(--text-tertiary)}.toggle.on{background:var(--accent-primary);border-color:var(--accent-primary)}.toggle.disabled{opacity:.5;cursor:not-allowed}.toggle-thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;box-shadow:0 2px 4px #0000001a;transition:transform .2s}.toggle.on .toggle-thumb{transform:translate(20px)}.avatar-section{display:flex;align-items:center;gap:24px;padding:24px;background:var(--bg-tertiary);border-radius:16px;margin-bottom:32px}.avatar-wrapper{position:relative}.avatar-large{width:100px;height:100px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:36px;font-weight:600;overflow:hidden}.avatar-large img{width:100%;height:100%;object-fit:cover}.avatar-upload-btn{position:absolute;bottom:0;right:0;width:32px;height:32px;background:var(--bg-secondary);border:2px solid var(--bg-tertiary);border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.avatar-upload-btn:hover{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.avatar-upload-btn svg{width:16px;height:16px}.avatar-info h4{margin:0 0 6px;font-size:18px;font-weight:600;color:var(--text-primary)}.avatar-info .role-badge{display:inline-block;padding:4px 12px;background:var(--accent-light);color:var(--accent-primary);border-radius:12px;font-size:12px;font-weight:600;margin-bottom:8px}.avatar-info p{margin:0;font-size:13px;color:var(--text-tertiary)}.input-with-icon svg{position:absolute;left:14px;width:18px;height:18px;color:var(--text-tertiary);pointer-events:none}.input-with-icon .form-input{padding-left:44px;width:100%}.theme-options{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.theme-option{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px;background:var(--bg-tertiary);border:2px solid transparent;border-radius:16px;cursor:pointer;transition:all .15s;font-family:inherit}.theme-option:hover{border-color:var(--border-color)}.theme-option.active{background:var(--accent-light);border-color:var(--accent-primary)}.theme-preview{width:64px;height:64px;border-radius:16px;display:flex;align-items:center;justify-content:center}.theme-preview svg{width:28px;height:28px}.theme-preview.light{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#f59e0b}.theme-preview.dark{background:linear-gradient(135deg,#1e293b,#334155);color:#94a3b8}.theme-preview.system{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);color:#6366f1}.theme-option span:last-child{font-size:14px;font-weight:600;color:var(--text-primary)}.language-options{display:flex;flex-direction:column;gap:8px}.language-option{display:flex;align-items:center;gap:14px;padding:16px 20px;background:var(--bg-tertiary);border:2px solid transparent;border-radius:12px;cursor:pointer;transition:all .15s;font-family:inherit;text-align:left}.language-option:hover{border-color:var(--border-color)}.language-option.active{background:var(--accent-light);border-color:var(--accent-primary)}.language-option .flag{font-size:24px}.language-option span:nth-child(2){flex:1;font-size:15px;font-weight:600;color:var(--text-primary)}.language-option svg{width:20px;height:20px;color:var(--accent-primary)}.font-size-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.font-option{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;background:var(--bg-tertiary);border:2px solid transparent;border-radius:12px;cursor:pointer;transition:all .15s;font-family:inherit}.font-option:hover{border-color:var(--border-color)}.font-option.active{background:var(--accent-light);border-color:var(--accent-primary)}.font-preview{font-weight:700;color:var(--text-primary)}.font-preview.small{font-size:16px}.font-preview.medium{font-size:20px}.font-preview.large{font-size:24px}.font-option span:last-child{font-size:13px;color:var(--text-secondary)}.security-card{display:flex;align-items:center;justify-content:space-between;padding:20px;background:var(--bg-tertiary);border-radius:14px;margin-bottom:12px}.security-card:last-child{margin-bottom:0}.security-card.enabled{background:var(--success-bg)}.security-info{display:flex;align-items:flex-start;gap:14px}.security-info>svg{width:24px;height:24px;color:var(--text-secondary);margin-top:2px}.security-card.enabled .security-info>svg{color:var(--success)}.security-info h5{margin:0 0 4px;font-size:15px;font-weight:600;color:var(--text-primary)}.security-info p{margin:0;font-size:13px;color:var(--text-secondary)}.danger-zone .group-title{color:var(--danger)}.danger-card{padding:20px;background:var(--danger-bg);border:1px solid rgba(239,68,68,.2);border-radius:14px}.danger-info{margin-bottom:16px}.danger-info h5{margin:0 0 6px;font-size:15px;font-weight:600;color:var(--danger)}.danger-info p{margin:0;font-size:13px;color:var(--text-secondary)}@media(max-width:900px){.settings-layout{flex-direction:column;padding:20px;gap:20px}.settings-sidebar{width:100%}.settings-nav{display:flex;gap:8px;overflow-x:auto;padding:8px;position:static}.nav-item{flex-direction:column;gap:6px;padding:12px 16px;min-width:fit-content;white-space:nowrap}.nav-item>svg:last-child{display:none}.nav-label{font-size:12px}.settings-tab{padding:24px}.avatar-section{flex-direction:column;text-align:center}.form-row,.theme-options,.font-size-options{grid-template-columns:1fr}.security-card{flex-direction:column;align-items:flex-start;gap:16px}.security-card .btn{width:100%}}@media(max-width:480px){.settings-header{padding:16px}.page-title{font-size:20px}.settings-layout{padding:16px}.settings-tab{padding:20px;border-radius:12px}.section-title{font-size:18px}.setting-row{flex-direction:column;align-items:flex-start;gap:12px}.setting-control{margin-left:0;align-self:flex-end}.theme-options{grid-template-columns:repeat(3,1fr)}.theme-option{padding:12px}.theme-preview{width:48px;height:48px}}.school-settings{min-height:100vh;background:var(--bg-primary)}.settings-header{display:flex;align-items:center;justify-content:space-between;padding:24px 32px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);position:sticky;top:0}.page-title{margin:0;font-size:24px;font-weight:700;color:var(--text-primary)}.page-subtitle{margin:0;font-size:14px;color:var(--text-secondary)}.settings-body{max-width:1400px;margin:0 auto;padding:32px}.statistics-section{margin-bottom:32px}.stats-title{display:flex;align-items:center;gap:10px;margin:0 0 20px;font-size:18px;font-weight:600;color:var(--text-primary)}.stats-title svg{width:22px;height:22px;color:var(--accent-primary)}.stat-trend{display:flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:600}.stat-trend svg{width:14px;height:14px}.stat-trend.positive{background:var(--success-bg);color:var(--success)}.stat-trend.negative{background:var(--danger-bg);color:var(--danger)}.stat-trend.negative svg{transform:rotate(180deg)}.settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-bottom:24px}.section-card{background:var(--bg-secondary);border-radius:20px;box-shadow:0 1px 3px #0000000d;overflow:hidden}.section-card .section-header{display:flex;align-items:flex-start;gap:16px;background:linear-gradient(135deg,var(--bg-tertiary),var(--bg-secondary));border-bottom:1px solid var(--border-subtle)}.section-header .section-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:linear-gradient(135deg,var(--accent-primary),#8b5cf6);border-radius:14px;color:#fff;flex-shrink:0}.section-icon svg{width:24px;height:24px}.section-info{display:flex;flex-direction:column;gap:4px}.section-title{margin:0;font-size:18px;font-weight:700;color:var(--text-primary)}.section-description{margin:0;font-size:13px;color:var(--text-secondary)}.section-content{padding:28px}.logo-section{display:flex;align-items:center;gap:20px;padding:20px;background:var(--bg-tertiary);border-radius:16px;margin-bottom:24px}.logo-preview{position:relative;width:88px;height:88px;flex-shrink:0}.logo-preview img{width:100%;height:100%;object-fit:cover;border-radius:16px}.logo-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent-primary),#8b5cf6);border-radius:16px;color:#fff}.logo-placeholder svg{width:40px;height:40px}.logo-upload-btn{position:absolute;bottom:-6px;right:-6px;width:32px;height:32px;background:var(--bg-secondary);border:2px solid var(--bg-tertiary);border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.logo-upload-btn:hover{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.logo-upload-btn svg{width:16px;height:16px}.logo-info{display:flex;flex-direction:column;gap:4px}.logo-label{font-size:15px;font-weight:600;color:var(--text-primary)}.logo-hint{font-size:13px;color:var(--text-tertiary)}.form-group.full-width{grid-column:1 / -1}.form-label .required{color:var(--danger);margin-left:4px}.input-with-icon{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:14px;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);pointer-events:none;z-index:1}.input-icon svg{width:18px;height:18px}.input-with-icon .form-input{padding-left:44px}.subsection{margin-bottom:28px}.subsection:first-child{margin-top:0;padding-top:0;border-top:none}.subsection:last-child{margin-bottom:0}.subsection-title{display:flex;align-items:center;gap:8px;margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid var(--border-subtle);font-size:14px;font-weight:600;color:var(--text-secondary)}.subsection-title svg{width:18px;height:18px;color:var(--accent-primary)}.quick-info-card{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:20px;padding:24px 28px;color:#fff}.quick-info-header{display:flex;align-items:center;gap:10px;margin-bottom:20px;font-size:16px;font-weight:600}.quick-info-header svg{width:22px;height:22px;opacity:.9}.quick-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px}.quick-info-item{display:flex;flex-direction:column;gap:4px}.qi-label{font-size:12px;opacity:.75;text-transform:uppercase;letter-spacing:.5px}.qi-value{font-size:15px;font-weight:600}.qi-value.email{word-break:break-all}@media(max-width:1200px){.settings-grid{grid-template-columns:1fr}}@media(max-width:768px){.settings-header{padding:16px 20px;flex-direction:column;gap:16px;align-items:flex-start}.header-left,.settings-header .btn{width:100%}.settings-body{padding:20px}.page-title{font-size:20px}.stats-grid{grid-template-columns:repeat(2,1fr)}.stat-card{padding:16px;flex-direction:column;text-align:center;gap:12px}.stat-value{font-size:22px}.section-header,.section-content{padding:20px}.form-grid{grid-template-columns:1fr}.logo-section{flex-direction:column;text-align:center}.quick-info-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.settings-body{padding:16px}.stats-grid{grid-template-columns:1fr}.stat-card{flex-direction:row;text-align:left}.section-header{flex-direction:column;text-align:center}.quick-info-grid{grid-template-columns:1fr}.back-btn{width:40px;height:40px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.section-card,.stat-card{animation:fadeIn .3s ease}.stat-card:nth-child(2){animation-delay:.05s}.stat-card:nth-child(3){animation-delay:.1s}.stat-card:nth-child(4){animation-delay:.15s}.stat-card:nth-child(5){animation-delay:.2s}.stat-card:nth-child(6){animation-delay:.25s}.student-profile{max-width:1200px;margin:0 auto;padding:24px}.profile-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:32px;padding:24px;background:var(--bg-secondary, white);border-radius:12px;box-shadow:0 1px 3px #0000001a}.profile-avatar-large{width:100px;height:100px;border-radius:50%;object-fit:cover;border:4px solid var(--accent-light, #eef2ff)}.profile-student-id{font-weight:500}.profile-class{font-weight:500;color:var(--accent-primary, #6366f1)}.profile-divider{color:var(--border-color, #e2e8f0)}.profile-risk-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase}.profile-risk-badge.risk-high{background:#fee;color:#c00}.profile-risk-badge.risk-medium{background:#fff3cd;color:#856404}.profile-risk-badge.risk-low{background:#d4edda;color:#155724}.profile-risk-badge.risk-none{background:#e3f2fd;color:#0d47a1}.profile-save-error{display:flex;align-items:center;gap:10px;padding:12px 16px;margin-bottom:16px;background:#f8d7da;color:#721c24;border:1px solid #f5c6cb;border-radius:8px;font-size:14px;font-weight:500}.profile-save-error svg{width:18px;height:18px;flex-shrink:0;color:#dc3545}.bio-text{margin:0;font-size:15px;color:var(--text-primary);line-height:1.6;white-space:pre-wrap}.profile-section{background:var(--bg-secondary, white);border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a}.profile-section .section-header{display:flex;align-items:center;gap:12px;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid var(--border-subtle, #f1f5f9)}.profile-section .section-header svg{width:24px;height:24px;color:var(--accent-primary, #6366f1)}.profile-section .section-header .section-title{margin:0;font-size:20px;font-weight:700;color:var(--text-primary)}.info-label{font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.subsection{margin-top:32px;padding-top:24px;border-top:1px solid var(--border-subtle, #f1f5f9)}.attendance-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px}.attendance-stat-card{display:flex;align-items:center;gap:16px;padding:20px;background:var(--bg-tertiary, #f1f5f9);border-radius:8px;border:1px solid var(--border-subtle, #f1f5f9)}.attendance-stat-card.primary{background:linear-gradient(135deg,var(--accent-primary, #6366f1) 0%,#4f46e5 100%);color:#fff;border:none}.attendance-stat-card .stat-icon{border-radius:50%;background:#fff3}.attendance-stat-card .stat-icon svg{color:#fff}.attendance-stat-card.primary .stat-value,.attendance-stat-card.primary .stat-label{color:#fff}.attendance-status{margin-top:16px}.status-message{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;font-size:14px;font-weight:500}.status-message svg{width:20px;height:20px}.status-message.status-success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.status-message.status-success svg{color:#28a745}.status-message.status-warning{background:#fff3cd;color:#856404;border:1px solid #ffeaa7}.status-message.status-warning svg{color:#ffc107}.status-message.status-danger{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.status-message.status-danger svg{color:#dc3545}.performance-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.performance-stat-card{display:flex;align-items:center;gap:16px;padding:20px;background:var(--bg-tertiary, #f1f5f9);border-radius:8px;border:1px solid var(--border-subtle, #f1f5f9)}.performance-stat-card.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none}.performance-stat-card.primary .stat-value,.performance-stat-card.primary .stat-label{color:#fff}.subjects-list{display:flex;flex-direction:column;gap:16px}.subject-item{display:flex;align-items:center;gap:16px;padding:16px;background:var(--bg-tertiary, #f1f5f9);border-radius:8px;border:1px solid var(--border-subtle, #f1f5f9)}.subject-info{flex:1;display:flex;flex-direction:column;gap:4px}.subject-name{font-size:15px;font-weight:600;color:var(--text-primary)}.subject-grade{font-size:13px;color:var(--text-secondary)}.subject-score{display:flex;align-items:center;gap:12px;min-width:200px}.score-bar{flex:1;height:8px;background:var(--border-subtle, #f1f5f9);border-radius:4px;overflow:hidden}.score-fill{height:100%;background:linear-gradient(90deg,var(--success, #10b981) 0%,var(--accent-primary, #6366f1) 100%);transition:width .3s ease}.score-value{font-size:14px;font-weight:700;color:var(--text-primary);min-width:40px;text-align:right}.subsection .assignments-list{display:flex;flex-direction:column;gap:12px}.subsection .assignments-list .assignment-item{display:flex;align-items:center;gap:16px;padding:12px 16px;background:var(--bg-tertiary, #f1f5f9);border-radius:8px;border:1px solid var(--border-subtle, #f1f5f9)}.subsection .assignments-list .assignment-item .assignment-info{flex:1;display:flex;flex-direction:column;gap:4px}.subsection .assignments-list .assignment-item .assignment-name{font-size:14px;font-weight:600;color:var(--text-primary)}.subsection .assignments-list .assignment-item .assignment-subject{font-size:12px;color:var(--text-secondary)}.subsection .assignments-list .assignment-item .assignment-score{font-size:15px;font-weight:700;color:var(--accent-primary, #6366f1);min-width:60px;text-align:center}.subsection .assignments-list .assignment-item .assignment-date{font-size:13px;color:var(--text-secondary);min-width:100px;text-align:right}@media(max-width:768px){.student-profile{padding:16px}.profile-header{flex-direction:column;padding:16px}.profile-header-content{flex-direction:column;text-align:center}.profile-name{font-size:24px}.profile-meta{flex-wrap:wrap;justify-content:center}.profile-section{padding:16px}.attendance-overview,.performance-overview,.info-grid{grid-template-columns:1fr}.subject-item{flex-direction:column;align-items:flex-start}.subject-score{width:100%}.assignment-item{flex-direction:column;align-items:flex-start;gap:8px}.assignment-score,.assignment-date{min-width:auto;text-align:left}}.teacher-profile{max-width:1200px;margin:0 auto;padding:24px}.profile-loading,.profile-error{display:flex;align-items:center;justify-content:center;min-height:400px;font-size:16px;color:var(--text-secondary)}.profile-meta{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-secondary)}.profile-department,.profile-staff-code{font-weight:500}.profile-status-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase}.profile-status-badge.status-active{background:#d4edda;color:#155724}.profile-status-badge.status-inactive{background:#f8d7da;color:#721c24}.info-value svg{width:16px;height:16px;color:var(--text-secondary)}.subjects-list{display:flex;flex-wrap:wrap;gap:8px}.subject-tag{display:inline-flex;align-items:center;padding:6px 14px;background:var(--primary-light);color:var(--primary);border-radius:16px;font-size:13px;font-weight:500}.subjects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.subject-checkbox{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--background);border:1px solid var(--border-light);border-radius:8px;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.subject-checkbox:hover{background:var(--primary-light);border-color:var(--primary)}.subject-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--primary)}.subject-checkbox span{font-size:14px;color:var(--text-primary);font-weight:500}.teaching-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:24px}.classes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.view-details svg{width:16px;height:16px}.empty-state{display:flex;align-items:center;justify-content:center;padding:40px 20px;text-align:center;color:var(--text-secondary);font-size:15px}@media(max-width:768px){.teacher-profile{padding:16px}.profile-header{flex-direction:column;padding:16px}.profile-header-content{flex-direction:column;text-align:center}.profile-name{font-size:24px}.profile-meta{flex-wrap:wrap;justify-content:center}.profile-section{padding:16px}.info-grid,.subjects-grid,.teaching-stats,.classes-grid{grid-template-columns:1fr}.edit-actions{flex-direction:column;width:100%}.edit-actions button{width:100%}}.user-profile{max-width:1200px;margin:0 auto;padding:24px}.user-profile .back-btn{display:inline-flex;align-items:center;gap:8px;margin-bottom:24px;background:transparent;border:1px solid var(--border);border-radius:8px;font-size:14px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s}.user-profile .back-btn:hover{background:var(--background);color:var(--text-primary);border-color:var(--primary)}.user-profile .back-btn svg{width:16px;height:16px}.profile-loading,.profile-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:400px;font-size:16px;color:var(--text-secondary)}.profile-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:32px;padding:24px;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a}.profile-header-content{display:flex;align-items:center;gap:24px;flex:1}.profile-avatar-section{flex-shrink:0}.profile-avatar-large{width:100px;height:100px;border-radius:50%;object-fit:cover;border:4px solid var(--primary-light)}.profile-avatar-placeholder{display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:600;color:#fff}.profile-header-info{flex:1}.profile-name{margin:0 0 8px;font-size:28px;font-weight:700;color:var(--text-primary)}.profile-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:14px;color:var(--text-secondary)}.profile-department,.profile-title{font-weight:500}.profile-divider{color:var(--border)}.user-profile-status-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase}.user-profile-status-badge.status-active{background:#d4edda;color:#155724}.user-profile-status-badge.status-inactive{background:#f8d7da;color:#721c24}.user-profile-status-badge.status-on-leave{background:#fff3cd;color:#856404}.user-profile-role-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase}.user-profile-role-badge.role-school_admin,.user-profile-role-badge.role-admin{background:#e0e7ff;color:#3730a3}.user-profile-role-badge.role-collaborator{background:#fce7f3;color:#9d174d}.user-profile-role-badge.role-staff{background:#dbeafe;color:#1e40af}.profile-header-actions,.edit-actions{display:flex;gap:12px}.profile-content{display:flex;flex-direction:column;gap:24px}.profile-section{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a}.section-header{display:flex;align-items:center;gap:12px;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid var(--border-light)}.section-header svg{width:24px;height:24px}.section-title{margin:0;font-size:20px;font-weight:700;color:var(--text-primary)}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:24px}.info-item{display:flex;flex-direction:column;gap:6px}.info-label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.info-label svg{width:16px;height:16px;color:var(--text-secondary)}.info-value{display:flex;align-items:center;gap:8px;font-size:15px;color:var(--text-primary);font-weight:500}.subsection{margin-top:32px;padding-top:24px;border-top:1px solid var(--border-light)}.subsection-title{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--text-primary)}.bio-text{font-size:15px;line-height:1.6;color:var(--text-primary);margin:0}.responsibilities-list{display:flex;flex-wrap:wrap;gap:8px}.responsibility-tag{display:inline-flex;align-items:center;padding:8px 16px;background:var(--primary-light);color:var(--primary);border-radius:20px;font-size:14px;font-weight:500}.responsibilities-edit{display:flex;flex-direction:column;gap:16px}.responsibility-input-group{display:flex;gap:12px}.responsibility-input-group .form-input{flex:1}.responsibilities-tags{display:flex;flex-wrap:wrap;gap:8px}.responsibility-tag-editable{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:var(--primary-light);color:var(--primary);border-radius:20px;font-size:14px;font-weight:500}.responsibility-tag-remove{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;background:var(--primary);color:#fff;border:none;border-radius:50%;cursor:pointer;transition:all .2s}.responsibility-tag-remove:hover{background:var(--danger)}.responsibility-tag-remove svg{width:12px;height:12px}.empty-text{color:var(--text-secondary);font-size:14px;font-style:italic}.form-input,.form-select,.form-textarea{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:8px;font-size:14px;color:var(--text-primary);background:#fff;transition:all .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.form-select{cursor:pointer}@media(max-width:768px){.user-profile{padding:16px}.profile-header{flex-direction:column;padding:16px}.profile-header-content{flex-direction:column;text-align:center}.profile-name{font-size:24px}.profile-meta{justify-content:center}.profile-header-actions{width:100%;justify-content:center}.profile-section{padding:16px}.info-grid{grid-template-columns:1fr}.edit-actions{flex-direction:column;width:100%}.edit-actions button{width:100%}.responsibility-input-group{flex-direction:column}.responsibility-input-group .btn{width:100%}}.edit-class{min-height:100vh;background:var(--bg-primary);padding-bottom:40px}.edit-class-loading,.edit-class-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px}.spinner{width:40px;height:40px;border:4px solid var(--border-color);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}.edit-class-header{display:flex;align-items:center;gap:16px;padding:24px;background:#fff;border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:10}.edit-class-header .back-btn{border-color:var(--primary)}.header-content{flex:1}.header-content h1{margin:0;font-size:24px;font-weight:700;color:var(--text-primary)}.header-content p{margin:4px 0 0;font-size:14px;color:var(--text-secondary)}.edit-class-content{max-width:1200px;margin:0 auto;padding:24px;display:flex;flex-direction:column;gap:24px}.edit-section{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a}.edit-section h2{margin:0 0 20px;font-size:18px;font-weight:600;color:var(--text-primary)}.section-header{margin-bottom:20px}.section-header h2{margin:0}.form-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin-bottom:16px}.teacher-card{display:flex;align-items:center;justify-content:space-between;padding:16px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-tertiary)}.teacher-info{display:flex;flex-direction:row;align-items:center;gap:16px;flex:1}.teacher-info .teacher-avatar{width:48px;height:48px;max-width:48px;min-height:48px;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;flex-shrink:0}.teacher-info>div{flex:1}.teacher-info h3{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.teacher-info p{margin:4px 0 0;font-size:14px;color:var(--text-secondary)}.teacher-info .subjects{margin-top:4px;font-size:12px;color:var(--primary)}.students-list{display:flex;flex-direction:column;gap:12px}.student-card{display:flex;justify-content:space-between;padding:12px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-tertiary)}.student-info{display:flex;align-items:center;gap:12px;flex:1}.student-avatar{width:40px;height:40px;border-radius:50%;background:var(--success);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;flex-shrink:0}.student-info h3{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.student-info p{margin:2px 0 0;font-size:13px;color:var(--text-secondary)}.empty-state{padding:40px}.btn-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:6px;background:transparent;cursor:pointer;transition:all .2s}.btn-icon:hover{background:var(--bg-hover)}.btn-icon.danger{color:var(--danger)}.btn-icon.danger:hover{background:#fee}.btn-icon svg{width:18px;height:18px}.modal-container{max-width:600px}.selectable-list{display:flex;flex-direction:column;gap:8px}.selectable-item{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s}.selectable-item:hover{background:var(--bg-hover);border-color:var(--primary)}.item-avatar{width:40px;height:40px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;flex-shrink:0}.item-info{flex:1}.item-info h4{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.item-info p{margin:2px 0 0;font-size:13px;color:var(--text-secondary)}.item-info .subjects{display:block;margin-top:4px;font-size:12px;color:var(--primary)}.selectable-item svg{width:20px;height:20px;color:var(--primary);flex-shrink:0}.loading-state{padding:40px;text-align:center;color:var(--text-secondary)}.schedule-sessions{display:flex;flex-direction:column;gap:16px}.schedule-session{border:1px solid var(--border-color, #e2e8f0);border-radius:8px;overflow:hidden;background:var(--bg-secondary, white)}.session-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-tertiary, #f1f5f9);border-bottom:1px solid var(--border-color, #e2e8f0)}.session-header h3{display:flex;align-items:center;gap:8px;margin:0;font-size:14px;font-weight:600;color:var(--text-primary, #0f172a)}.session-header h3 svg{width:16px;height:16px;color:var(--accent-primary, #6366f1)}.session-body{padding:16px;display:flex;flex-direction:column;gap:16px}.schedule-details{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}@media(max-width:768px){.schedule-details{grid-template-columns:1fr 1fr}}@media(max-width:480px){.schedule-details{grid-template-columns:1fr}}.section-header h2{display:flex;align-items:center;gap:8px}.section-header h2 svg{width:20px;height:20px;color:var(--accent-primary, #6366f1)}.empty-state svg{width:48px;height:48px;color:var(--text-tertiary, #94a3b8);margin-bottom:12px}@media(max-width:768px){.edit-class-header{padding:16px}.header-content h1{font-size:20px}.edit-class-content,.edit-section{padding:16px}.form-grid{grid-template-columns:1fr}.edit-section .section-header{flex-direction:column;align-items:flex-start;justify-content:space-between;gap:12px}.modal-container{max-width:100%;max-height:90vh}.schedule-details{grid-template-columns:1fr}.session-header{padding:10px 12px}.session-body{padding:12px}}.prospective-students{max-width:1600px;margin:0 auto;padding:32px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:32px}.prospective-student-stat-card{display:flex;align-items:center;gap:16px;padding:20px;background:var(--bg-secondary, white);border:1px solid var(--border-subtle, #f1f5f9);border-radius:12px;transition:all .2s ease}.prospective-student-stat-card:hover{border-color:var(--border-color, #e2e8f0);box-shadow:0 2px 8px #0000000a}.prospective-student-stat-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:10px;flex-shrink:0}.prospective-student-stat-icon svg{width:24px;height:24px;color:#fff}.prospective-student-stat-icon.total{background:linear-gradient(135deg,var(--accent-primary, #6366f1),#8b5cf6)}.prospective-student-stat-icon.new{background:linear-gradient(135deg,#3b82f6,#2563eb)}.prospective-student-stat-icon.contacted{background:linear-gradient(135deg,#f59e0b,#d97706)}.prospective-student-stat-icon.scheduled{background:linear-gradient(135deg,#10b981,#059669)}.prospective-student-stat-icon.enrolled{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.prospective-student-stat-content{display:flex;flex-direction:column;gap:4px}.prospective-student-stat-label{font-size:13px;font-weight:500;color:var(--text-secondary, #475569)}.prospective-student-stat-value{font-size:28px;font-weight:700;color:var(--text-primary, #0f172a);line-height:1}.filters-bar{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}@media(min-width:768px){.filters-bar{flex-direction:row;align-items:center;justify-content:space-between}}.search-box{position:relative;flex:1;max-width:400px}.search-box svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--text-tertiary, #94a3b8);pointer-events:none}.search-input{width:100%;padding:10px 14px 10px 42px;border:1px solid var(--border-color, #e2e8f0);border-radius:8px;font-size:14px;color:var(--text-primary, #0f172a);background:var(--bg-secondary, white);transition:all .2s ease}.search-input:focus{outline:none;border-color:var(--accent-primary, #6366f1);box-shadow:0 0 0 3px #6366f11a}.search-input::placeholder{color:var(--text-tertiary, #94a3b8)}.filter-group{display:flex;gap:12px;align-items:center}.filter-select{padding:10px 36px 10px 14px;border:1px solid var(--border-color, #e2e8f0);border-radius:8px;font-size:14px;color:var(--text-primary, #0f172a);background:var(--bg-secondary, white);cursor:pointer;transition:all .2s ease;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%2394a3b8' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.filter-select:focus{outline:none;border-color:var(--accent-primary, #6366f1);box-shadow:0 0 0 3px #6366f11a}.view-mode-toggle{display:flex;gap:4px;background:var(--bg-tertiary, #f1f5f9);border-radius:8px;padding:4px}.view-mode-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;border-radius:6px;cursor:pointer;transition:all .2s ease;color:var(--text-secondary, #475569)}.view-mode-btn svg{width:18px;height:18px}.view-mode-btn:hover{background:var(--bg-secondary, white);color:var(--accent-primary, #6366f1)}.view-mode-btn.active{background:var(--bg-secondary, white);color:var(--accent-primary, #6366f1);box-shadow:0 1px 3px #0000001a}.results-count{font-size:14px;color:var(--text-secondary, #475569)}.students-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.prospective-student-card{background:var(--bg-secondary, white);border:1px solid var(--border-subtle, #f1f5f9);border-radius:12px;overflow:hidden;transition:all .2s ease;flex-flow:column}.prospective-student-card:hover{border-color:var(--border-color, #e2e8f0);box-shadow:0 4px 12px #00000014}.prospective-student-card-header{padding:20px;border-bottom:1px solid var(--border-subtle, #f1f5f9)}.student-card-title-row{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.student-avatar{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:10px;background:linear-gradient(135deg,var(--accent-primary, #6366f1),#8b5cf6);flex-shrink:0}.student-avatar svg{width:24px;height:24px;color:#fff}.student-name-group{flex:1;min-width:0}.student-card-title{font-size:16px;font-weight:600;color:var(--text-primary, #0f172a);margin:0 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-email{font-size:13px;color:var(--text-secondary, #475569);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.student-card-body{padding:20px}.student-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin-bottom:16px}.student-info-item{display:flex;align-items:flex-start;gap:10px}.student-info-item svg{width:16px;height:16px;color:var(--text-tertiary, #94a3b8);flex-shrink:0;margin-top:2px}.student-info-content{display:flex;flex-direction:column;gap:2px;min-width:0}.student-info-label{font-size:12px;font-weight:500;color:var(--text-tertiary, #94a3b8)}.student-info-value{font-size:13px;color:var(--text-primary, #0f172a);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-courses{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-subtle, #f1f5f9)}.student-courses-label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--text-secondary, #475569);margin-bottom:8px}.student-courses-label svg{width:14px;height:14px}.student-courses-list{display:flex;flex-wrap:wrap;gap:6px}.course-chip{display:inline-block;padding:4px 10px;font-size:12px;font-weight:500;color:var(--accent-primary, #6366f1);background:var(--accent-light, #eef2ff);border-radius:6px}.student-notes{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-subtle, #f1f5f9)}.student-notes-label{font-size:12px;font-weight:600;color:var(--text-secondary, #475569);margin-bottom:6px;display:block}.student-notes-text{font-size:13px;color:var(--text-secondary, #475569);line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.student-card-footer{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--bg-tertiary, #f1f5f9);border-top:1px solid var(--border-subtle, #f1f5f9)}.student-card-date{font-size:12px;color:var(--text-secondary, #475569)}.student-card-actions{display:flex;gap:8px}.status-badge{display:inline-flex;align-items:center;padding:4px 10px;font-size:12px;font-weight:600;border-radius:6px;white-space:nowrap}.status-badge.status-new{color:#3b82f6;background:#eff6ff}.status-badge.status-contacted{color:#f59e0b;background:#fffbeb}.status-badge.status-scheduled{color:#10b981;background:#ecfdf5}.status-badge.status-enrolled{color:#8b5cf6;background:#f5f3ff}.status-badge.status-not-interested{color:#6b7280;background:#f3f4f6}.name-cell{display:flex;align-items:center;gap:12px}.name-cell-avatar{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;background:linear-gradient(135deg,var(--accent-primary, #6366f1),#8b5cf6);flex-shrink:0}.name-cell-avatar svg{width:20px;height:20px;color:#fff}.name-cell-content{display:flex;flex-direction:column;gap:2px;min-width:0}.name-cell-name{font-size:14px;font-weight:600;color:var(--text-primary, #0f172a)}.name-cell-email{font-size:13px;color:var(--text-secondary, #475569)}.contact-cell{display:flex;flex-direction:column;gap:4px}.contact-phone,.contact-parent{font-size:13px;color:var(--text-primary, #0f172a)}.contact-parent{color:var(--text-secondary, #475569)}.parent-cell{display:flex;flex-direction:column;gap:2px}.parent-name{font-size:13px;font-weight:500;color:var(--text-primary, #0f172a)}.parent-phone,.parent-email{font-size:12px;color:var(--text-secondary, #475569)}.courses-cell{display:flex;flex-wrap:wrap;gap:4px}.course-tag{display:inline-block;padding:3px 8px;font-size:11px;font-weight:500;color:var(--accent-primary, #6366f1);background:var(--accent-light, #eef2ff);border-radius:4px}.course-more{display:inline-block;padding:3px 8px;font-size:11px;font-weight:600;color:var(--text-secondary, #475569);background:var(--bg-tertiary, #f1f5f9);border-radius:4px}.text-muted{color:var(--text-tertiary, #94a3b8)}.table-actions{display:flex;gap:8px;justify-content:flex-end}.action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border-color, #e2e8f0);background:var(--bg-secondary, white);border-radius:6px;cursor:pointer;transition:all .2s ease;color:var(--text-secondary, #475569)}.action-btn:hover{border-color:var(--accent-primary, #6366f1);background:var(--accent-light, #eef2ff);color:var(--accent-primary, #6366f1)}.action-btn.danger:hover{border-color:var(--danger, #ef4444);background:var(--danger-bg, #fef2f2);color:var(--danger, #ef4444)}.action-btn.enroll:hover{border-color:var(--success, #10b981);background:#ecfdf5;color:var(--success, #10b981)}.course-input-group{display:flex;gap:8px}.course-input-group .form-input{flex:1}.courses-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.course-tag-editable{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:500;color:var(--accent-primary, #6366f1);background:var(--accent-light, #eef2ff);border-radius:6px}.course-tag-remove{display:flex;align-items:center;justify-content:center;width:16px;height:16px;border:none;background:transparent;border-radius:3px;cursor:pointer;color:var(--accent-primary, #6366f1);transition:all .2s ease}.course-tag-remove svg{width:12px;height:12px}.course-tag-remove:hover{background:#6366f133}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;background:var(--bg-secondary, white);border:1px solid var(--border-subtle, #f1f5f9);border-radius:12px;text-align:center}.empty-state svg{width:64px;height:64px;color:var(--text-tertiary, #94a3b8);margin-bottom:20px}.empty-state h3{font-size:18px;font-weight:600;color:var(--text-primary, #0f172a);margin:0 0 8px}.empty-state p{font-size:14px;color:var(--text-secondary, #475569);margin:0 0 24px;max-width:400px}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;background:var(--bg-secondary, white);border:1px solid var(--border-subtle, #f1f5f9);border-radius:12px}.spinner{width:40px;height:40px;border:3px solid var(--border-subtle, #f1f5f9);border-top-color:var(--accent-primary, #6366f1);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px}.loading-state p{font-size:14px;color:var(--text-secondary, #475569);margin:0}.error-banner{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--danger-bg, #fef2f2);border:1px solid var(--danger, #ef4444);border-radius:8px;margin-bottom:20px}.error-banner span{font-size:14px;font-weight:500;color:var(--danger, #ef4444)}.error-banner button{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;border-radius:4px;cursor:pointer;color:var(--danger, #ef4444);transition:all .2s ease}.error-banner button:hover{background:#ef44441a}.error-banner button svg{width:16px;height:16px}@media(max-width:768px){.stats-grid,.students-grid{grid-template-columns:1fr}.filters-bar{flex-direction:column}.search-box{max-width:100%}.filter-group{width:100%}.filter-select{flex:1}}.slide-panel-overlay{position:fixed;inset:0;background:#0f172a66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;opacity:0;pointer-events:none;transition:opacity .3s ease}.slide-panel-overlay.open{opacity:1;pointer-events:auto}.slide-panel{position:fixed;top:0;right:0;bottom:0;width:100%;max-width:520px;background:var(--bg-secondary);box-shadow:-20px 0 60px #00000026;z-index:51;transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}.slide-panel.open{transform:translate(0)}.slide-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 24px;border-bottom:1px solid var(--border-color);flex-shrink:0}.slide-panel-header-text{flex:1;min-width:0}.slide-panel-title{font-size:20px;font-weight:700;color:var(--text-primary);margin:0 0 4px;line-height:1.3}.slide-panel-subtitle{font-size:14px;color:var(--text-secondary);margin:0;line-height:1.4}.slide-panel-close{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s ease;flex-shrink:0}.slide-panel-close:hover{background:var(--bg-hover);color:var(--text-primary)}.slide-panel-close svg{width:20px;height:20px}.slide-panel-body{flex:1;overflow-y:auto;padding:24px}.slide-panel-footer{display:flex;gap:12px;padding:16px 24px;border-top:1px solid var(--border-color);background:var(--bg-tertiary);flex-shrink:0}.info-card{background:var(--bg-tertiary);border-radius:14px;padding:20px;margin-bottom:24px}.info-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border-color);gap:16px}.info-row:last-child{border-bottom:none}.info-label{font-size:13px;color:var(--text-tertiary);font-weight:500;flex-shrink:0}.info-value{font-size:14px;font-weight:600;color:var(--text-primary);text-align:right;display:flex;align-items:center;gap:8px}.slide-section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px;gap:12px}.slide-section-title h3{font-size:14px;font-weight:600;color:var(--text-primary);margin:0}.slide-section-title .count{font-size:12px;color:var(--text-tertiary);background:var(--bg-tertiary);padding:4px 10px;border-radius:9999px;font-weight:500}@media(max-width:767px){.slide-panel{max-width:100%}.slide-panel-header{padding:16px 20px}.slide-panel-body{padding:20px}.slide-panel-footer{padding:16px 20px}}.create-assessment-form{display:flex;flex-direction:column;gap:24px;padding-bottom:20px}.create-assessment-form .form-section-title{font-size:16px;font-weight:700;color:var(--text-primary);margin:0;padding-bottom:8px;border-bottom:2px solid var(--border-color)}.create-assessment-form .form-label{font-size:14px;font-weight:600;color:var(--text-primary)}.create-assessment-form .form-label.required:after{content:" *";color:var(--danger)}.form-error{font-size:12px;color:var(--danger);margin-top:-2px}.form-error-message{padding:12px 16px;background:var(--danger-bg);border:1px solid var(--danger);border-radius:10px;color:var(--danger);font-size:14px;font-weight:500}.type-selector{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media(max-width:640px){.type-selector{grid-template-columns:1fr}}.type-option{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px 12px;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:12px;cursor:pointer;transition:all .15s ease;position:relative}.type-option:hover,.type-option.selected{border-color:var(--accent-primary);background:var(--accent-light)}.type-option svg{width:24px;height:24px;color:var(--text-tertiary);transition:color .15s ease}.type-option.selected svg{color:var(--accent-primary)}.type-option span{font-size:13px;font-weight:600;color:var(--text-primary)}.type-option svg:last-child{position:absolute;top:8px;right:8px;width:18px;height:18px;color:var(--accent-primary)}.mode-selector{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.mode-option{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:10px;padding:14px 16px;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:12px;cursor:pointer;transition:all .15s ease;position:relative}.mode-option:hover,.mode-option.selected{border-color:var(--accent-primary);background:var(--accent-light)}.mode-option svg{width:20px;height:20px;color:var(--text-tertiary);transition:color .15s ease;flex-shrink:0}.mode-option.selected svg{color:var(--accent-primary)}.mode-option span{font-size:14px;font-weight:600;color:var(--text-primary)}.mode-option svg:last-child{position:absolute;top:8px;right:8px;width:16px;height:16px;color:var(--accent-primary)}.input-with-addon{display:flex;align-items:center;gap:8px}.input-addon{flex-shrink:0;font-size:14px;font-weight:500;color:var(--text-secondary);padding:10px 12px;background:var(--bg-tertiary);border-radius:8px}.checkbox-label,.radio-label{display:flex;align-items:flex-start;gap:10px;cursor:pointer;padding:12px;background:var(--bg-tertiary);border-radius:10px;transition:background .15s ease}.checkbox-label:hover,.radio-label:hover{background:var(--bg-hover)}.checkbox-label input[type=checkbox],.radio-label input[type=radio]{width:18px;height:18px;margin-top:2px;cursor:pointer;accent-color:var(--accent-primary);flex-shrink:0}.checkbox-label span,.radio-label span{flex:1;font-size:14px;color:var(--text-primary);line-height:1.5}.radio-label span strong{font-weight:600;color:var(--text-primary)}.attachment-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:28px 20px;background:var(--bg-tertiary);border:2px dashed var(--border-color);border-radius:12px;cursor:pointer;transition:border-color .15s,background .15s;text-align:center;position:relative}.attachment-dropzone:hover:not(.uploading){border-color:var(--accent-primary);background:var(--accent-light)}.attachment-dropzone.drag-over{border-color:var(--accent-primary);background:var(--accent-light)}.attachment-dropzone.uploading{cursor:not-allowed;opacity:.7}.attachment-dropzone svg{width:28px;height:28px;color:var(--accent-primary)}.attachment-dropzone-text{font-size:14px;font-weight:500;color:var(--text-primary)}.attachment-dropzone-hint{font-size:12px;color:var(--text-tertiary)}.attachment-file-input{display:none}@keyframes attachment-spin{to{transform:rotate(360deg)}}.attachment-spin{animation:attachment-spin .7s linear infinite}.attachment-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.attachment-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px}.attachment-item>svg{width:18px;height:18px;color:var(--accent-primary);flex-shrink:0}.attachment-item-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.attachment-item-name{font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment-item-size{font-size:11px;color:var(--text-tertiary)}.attachment-remove-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;background:transparent;border-radius:6px;color:var(--text-tertiary);cursor:pointer;transition:all .15s;flex-shrink:0}.attachment-remove-btn:hover{background:var(--danger-bg);color:var(--danger)}.attachment-remove-btn svg{width:14px;height:14px}@media(max-width:640px){.create-assessment-form~.modal-footer,.create-assessment-modal .modal-footer{flex-direction:column-reverse}.create-assessment-form~.modal-footer .btn,.create-assessment-modal .modal-footer .btn{width:100%}}.assessment-management{padding:32px;max-width:1600px;margin:0 auto;animation:fadeUp .3s ease}@media(max-width:767px){.assessment-management{padding:16px}}.stat-card.total .stat-icon{background:var(--accent-light);color:var(--accent-primary)}.stat-card.published .stat-icon{background:var(--status-active-bg);color:var(--status-active)}.stat-card.drafts .stat-icon{background:var(--draft-bg);color:var(--draft-color)}.stat-card.graded .stat-icon{background:#fef3c7;color:#f59e0b}.assessments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px}@media(max-width:767px){.assessments-grid{grid-template-columns:1fr}}.assessment-card{background:var(--bg-secondary);border-radius:16px;border:1px solid var(--border-color);overflow:hidden;cursor:pointer;transition:all .2s ease}.assessment-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #0000001a}.assessment-card-header{padding:20px;border-top:4px solid var(--accent-primary);position:relative}.assessment-card-header-content{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.assessment-card-badges{display:flex;gap:8px;flex-wrap:wrap}.assessment-card-menu{position:relative}.menu-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:var(--bg-tertiary);border-radius:8px;color:var(--text-tertiary);cursor:pointer;transition:all .15s}.menu-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.menu-btn svg{width:18px;height:18px}.menu-dropdown{position:absolute;top:100%;right:0;margin-top:8px;background:var(--bg-secondary);border-radius:12px;box-shadow:0 10px 40px #00000026;border:1px solid var(--border-color);min-width:180px;z-index:100;overflow:hidden}.menu-dropdown button{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;border:none;background:transparent;color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s;text-align:left}.menu-dropdown button:hover{background:var(--bg-tertiary)}.menu-dropdown button svg{width:16px;height:16px;color:var(--text-tertiary)}.assessment-card-title{font-size:18px;font-weight:700;margin:0 0 6px;color:var(--text-primary);line-height:1.3}.assessment-card-description{font-size:13px;color:var(--text-secondary);margin:0;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.assessment-card-body{padding:20px;display:flex;flex-direction:column;gap:16px}.assessment-card-stats{display:flex;gap:16px;flex-wrap:wrap}.stat-item{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary);font-weight:500}.stat-item svg{width:16px;height:16px;color:var(--text-tertiary)}.assessment-card-due{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--warning-bg);border-radius:8px}.assessment-card-due svg{width:16px;height:16px;color:var(--warning);flex-shrink:0}.assessment-card-due>div{display:flex;flex-direction:column;gap:2px}.due-label{font-size:11px;font-weight:600;color:var(--warning);text-transform:uppercase;letter-spacing:.5px}.due-date{font-size:13px;font-weight:600;color:var(--text-primary)}.assessment-card-progress{display:flex;flex-direction:column;gap:8px}.progress-header{display:flex;justify-content:space-between;font-size:12px;color:var(--text-secondary);font-weight:500}.progress-bar-container{position:relative;height:8px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden}.progress-bar-container .progress-bar{height:100%;border-radius:4px;transition:width .3s ease}.progress-label{position:absolute;right:0;top:-20px;font-size:12px;font-weight:600;color:var(--text-primary);display:none}.assessment-card-grading{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--bg-tertiary);border-radius:8px}.grading-stat{display:flex;justify-content:space-between;align-items:center;font-size:13px}.grading-label{color:var(--text-secondary);font-weight:500}.grading-value{color:var(--text-primary);font-weight:600}.assessment-card-footer{padding:16px 20px;border-top:1px solid var(--border-subtle)}.card-action-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px 16px;background:var(--bg-tertiary);border:none;border-radius:10px;font-size:14px;font-weight:600;color:var(--text-primary);cursor:pointer;transition:all .15s ease}.card-action-btn:hover{background:var(--accent-primary);color:#fff}.card-action-btn svg{width:16px;height:16px}.assessment-status{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600}.assessment-status svg{width:12px;height:12px}.assessment-status.draft{background:var(--draft-bg);color:var(--draft-color)}.assessment-status.published{background:var(--status-active-bg);color:var(--status-active)}.assessment-status.archived{background:var(--status-archived-bg);color:var(--status-archived)}.assessment-type{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600;border:1.5px solid;background:#fff}.assessment-type svg{width:12px;height:12px}.assessment-mode{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600;border:1.5px solid;background:#fff}.assessment-mode svg{width:12px;height:12px}.assessment-name-cell{display:flex;align-items:center;gap:12px}.assessment-type-indicator{width:4px;height:40px;border-radius:2px;flex-shrink:0}.assessment-name-content{display:flex;flex-direction:column;gap:4px;flex:1}.assessment-name-row{display:flex;align-items:center;gap:10px}.assessment-name{font-size:14px;font-weight:600;color:var(--text-primary)}.assessment-description-row{display:flex;align-items:center;gap:8px}.assessment-description{font-size:12px;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.score-cell{display:flex;flex-direction:column;gap:2px}.score-value{font-size:16px;font-weight:700;color:var(--text-primary)}.passing-score{font-size:11px;color:var(--text-tertiary)}.due-date-cell{font-size:13px;color:var(--text-secondary)}.submissions-cell{display:flex;flex-direction:column;gap:4px}.submissions-count{font-size:14px;font-weight:600;color:var(--text-primary)}.graded-count{font-size:11px;color:var(--success);background:var(--success-bg);padding:2px 6px;border-radius:4px;display:inline-block;width:fit-content}.table-actions{display:flex;gap:6px;justify-content:flex-end}.action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:var(--bg-tertiary);border-radius:8px;color:var(--text-tertiary);cursor:pointer;transition:all .15s}.action-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.action-btn svg{width:16px;height:16px}.action-btn.primary{background:var(--accent-light);color:var(--accent-primary)}.action-btn.primary:hover{background:var(--accent-primary);color:#fff}.action-btn.success{background:var(--success-bg);color:var(--success)}.action-btn.success:hover{background:var(--success);color:#fff}.empty-state{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.empty-state svg{width:64px;height:64px;color:var(--text-tertiary);margin-bottom:20px}.empty-state h3{font-size:20px;font-weight:700;color:var(--text-primary);margin:0 0 8px}.empty-state p{font-size:14px;color:var(--text-secondary);margin:0 0 24px;max-width:400px}@media(max-width:767px){.stats-overview{grid-template-columns:repeat(2,1fr)}.stat-card{padding:16px}.stat-value{font-size:24px}.filters-bar{flex-direction:column;align-items:stretch}.search-box{min-width:100%}.filter-select{width:100%}.filters-spacer{display:none}.view-toggle{align-self:center}.results-count{text-align:center;width:100%;padding-top:8px;border-top:1px solid var(--border-subtle)}}@media(max-width:480px){.stats-overview{grid-template-columns:1fr}.page-header{flex-direction:column;align-items:flex-start}.page-header-actions,.primary-btn{width:100%}}.assessment-detail{min-height:100vh;background:var(--bg-primary)}.assessment-detail-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px;color:var(--text-secondary)}.assessment-detail-loading .spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.assessment-detail-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px;padding:32px;text-align:center}.assessment-detail-error svg{width:48px;height:48px;color:var(--danger)}.assessment-detail-error p{font-size:16px;color:var(--text-secondary);margin:0}.assessment-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 32px;background:var(--bg-secondary);border-top:4px solid var(--accent-primary);border-bottom:1px solid var(--border-color)}@media(max-width:767px){.assessment-header{flex-direction:column;padding:16px}}.header-left{display:flex;align-items:flex-start;gap:16px;flex:1;min-width:0}.back-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:var(--bg-tertiary);border-radius:10px;color:var(--text-secondary);cursor:pointer;transition:all .15s;flex-shrink:0}.back-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.back-btn svg{width:20px;height:20px}.header-info{flex:1;min-width:0}.header-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.type-badge,.mode-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid;border-radius:6px;font-size:12px;font-weight:600}.type-badge svg,.mode-badge svg{width:14px;height:14px}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600}.status-badge svg{width:14px;height:14px}.status-badge.draft{background:var(--bg-tertiary);color:var(--text-secondary)}.status-badge.published{background:var(--success-bg);color:var(--success)}.status-badge.archived{background:var(--warning-bg);color:var(--warning)}.header-title{margin:0;font-size:24px;font-weight:700;color:var(--text-primary)}.header-title-input{width:100%;padding:8px 12px;font-size:24px;font-weight:700;color:var(--text-primary);background:var(--bg-tertiary);border:2px solid var(--accent-primary);border-radius:8px;font-family:inherit}.header-title-input:focus{outline:none;box-shadow:0 0 0 3px #6366f11a}.header-actions{display:flex;gap:8px;flex-shrink:0}@media(max-width:767px){.header-actions{width:100%;flex-wrap:wrap}.header-actions .btn{flex:1;min-width:120px}}.assessment-body{display:grid;grid-template-columns:1fr 320px;gap:24px;padding:24px 32px;max-width:1400px;margin:0 auto}@media(max-width:1024px){.assessment-body{grid-template-columns:1fr;padding:16px}}.assessment-content{display:flex;flex-direction:column;gap:24px}.content-section{background:var(--bg-secondary);border-radius:16px;border:1px solid var(--border-color);overflow:hidden}.section-title{margin:0;padding:16px 20px;font-size:16px;font-weight:600;color:var(--text-primary);background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.section-body{padding:20px}.form-grid{display:grid;gap:20px}.form-grid-2{grid-template-columns:repeat(2,1fr)}@media(max-width:640px){.form-grid-2{grid-template-columns:1fr}}.form-group{display:flex;flex-direction:column;gap:8px}.form-label{font-size:13px;font-weight:600;color:var(--text-secondary)}.form-value{margin:0;font-size:15px;color:var(--text-primary);line-height:1.5}.form-input,.form-textarea{padding:10px 14px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;font-size:14px;color:var(--text-primary);font-family:inherit;transition:all .15s ease}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #6366f11a}.form-textarea{resize:vertical;min-height:100px}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent-primary);cursor:pointer}.checkbox-label span{font-size:14px;color:var(--text-primary)}.settings-grid{display:flex;flex-direction:column;gap:12px}.setting-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:var(--bg-tertiary);border-radius:8px}.setting-label{font-size:14px;color:var(--text-secondary)}.setting-value{font-size:14px;font-weight:500;color:var(--text-primary)}.assessment-sidebar{display:flex;flex-direction:column;gap:20px}.sidebar-card{background:var(--bg-secondary);border-radius:16px;border:1px solid var(--border-color);overflow:hidden}.sidebar-card-title{display:flex;align-items:center;gap:10px;margin:0;padding:16px 20px;font-size:15px;font-weight:600;color:var(--text-primary);background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.sidebar-card-title svg{width:18px;height:18px;color:var(--accent-primary)}.stats-list{padding:16px;display:flex;flex-direction:column;gap:12px}.stat-row{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:var(--bg-tertiary);border-radius:8px}.stat-row.highlight{background:var(--accent-light)}.stat-row .stat-label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}.stat-row .stat-label svg{width:16px;height:16px}.stat-row .stat-value{font-size:15px;font-weight:600;color:var(--text-primary)}.stat-row .stat-percent{margin-left:4px;font-size:12px;font-weight:500;color:var(--text-tertiary)}.info-list{padding:16px;display:flex;flex-direction:column;gap:12px}.info-row{display:flex;align-items:center;gap:12px}.info-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-tertiary);border-radius:8px;color:var(--text-tertiary)}.info-icon svg{width:16px;height:16px}.info-text{font-size:14px;color:var(--text-primary)}.btn-success{background:var(--success);color:#fff;border:none}.btn-success:hover{background:var(--success-hover, #059669)}.btn-warning{background:var(--warning);color:#fff;border:none}.btn-warning:hover{background:var(--warning-hover, #d97706)}.btn-danger{background:var(--danger);color:#fff;border:none;padding:10px 12px}.btn-danger:hover{background:var(--danger-hover, #dc2626)}.btn-danger svg{width:18px;height:18px}.ad-tabs{display:flex;align-items:center;gap:4px;padding:0 32px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}@media(max-width:767px){.ad-tabs{padding:0 16px}}.ad-tab{display:flex;align-items:center;gap:8px;padding:14px 18px;border:none;background:transparent;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;border-bottom:3px solid transparent;transition:all .15s;font-family:inherit;margin-bottom:-1px}.ad-tab svg{width:16px;height:16px}.ad-tab:hover{color:var(--text-primary);background:var(--bg-hover)}.ad-tab-active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.ad-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:var(--accent-light);color:var(--accent-primary);border-radius:10px;font-size:11px;font-weight:700}.ad-students-panel{padding:24px 32px;max-width:1400px;margin:0 auto;display:flex;flex-direction:column;gap:16px}@media(max-width:767px){.ad-students-panel{padding:16px}}.ad-students-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ad-students-search{display:flex;align-items:center;gap:8px;flex:1;min-width:200px;padding:8px 12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;transition:border-color .15s}.ad-students-search:focus-within{border-color:var(--accent-primary)}.ad-students-search svg{width:16px;height:16px;color:var(--text-tertiary);flex-shrink:0}.ad-students-search input{flex:1;border:none;background:transparent;font-size:14px;color:var(--text-primary);font-family:inherit}.ad-students-search input:focus{outline:none}.ad-students-search input::placeholder{color:var(--text-tertiary)}.ad-status-filter{padding:8px 12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;font-size:14px;color:var(--text-primary);font-family:inherit;cursor:pointer}.ad-status-filter:focus{outline:none;border-color:var(--accent-primary)}.ad-refresh-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .15s;flex-shrink:0}.ad-refresh-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.ad-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.ad-refresh-btn svg{width:16px;height:16px}.ad-students-count{font-size:13px;color:var(--text-secondary);white-space:nowrap}.ad-students-loading,.ad-students-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 24px;color:var(--text-secondary);background:var(--bg-secondary);border-radius:16px;border:1px solid var(--border-color)}.ad-students-loading svg,.ad-students-empty svg{width:32px;height:32px;color:var(--text-tertiary)}.ad-students-empty p{margin:0;font-size:14px}.ad-students-list{display:flex;flex-direction:column;gap:12px}.ad-student-row{display:grid;grid-template-columns:220px 180px 1fr;align-items:start;gap:16px;padding:16px 20px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;transition:box-shadow .15s}.ad-student-row:hover{box-shadow:0 2px 8px #00000012}@media(max-width:1024px){.ad-student-row{grid-template-columns:1fr;gap:12px}}.ad-student-info{display:flex;align-items:flex-start;gap:12px}.ad-student-avatar{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--accent-light);color:var(--accent-primary);font-size:16px;font-weight:700;flex-shrink:0}.ad-student-meta{display:flex;flex-direction:column;gap:4px;min-width:0}.ad-student-name{font-size:14px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ad-student-email{font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ad-student-status{display:inline-flex;align-items:center;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;width:fit-content}.student-status-assigned{background:var(--bg-tertiary);color:var(--text-secondary)}.student-status-in-progress{background:#eff6ff;color:#2563eb}.student-status-submitted{background:#fefce8;color:#ca8a04}.student-status-graded{background:var(--success-bg);color:var(--success)}.ad-submission-details{display:flex;flex-direction:column;gap:6px;padding-top:2px}.ad-submission-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary)}.ad-submission-item svg{width:13px;height:13px;flex-shrink:0}.ad-graded-at{color:var(--success)}.ad-grading-controls{display:flex;flex-direction:column;gap:8px}.ad-score-group{display:flex;align-items:center;gap:6px}.ad-score-input{width:80px;padding:7px 10px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;font-size:14px;font-weight:600;color:var(--text-primary);font-family:inherit;text-align:center;transition:border-color .15s}.ad-score-input:focus{outline:none;border-color:var(--accent-primary)}.ad-score-input.ad-input-error{border-color:var(--danger)}.ad-score-max{font-size:13px;color:var(--text-tertiary);white-space:nowrap}.ad-grade-input{width:60px;padding:7px 10px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;font-size:14px;font-weight:600;color:var(--text-primary);font-family:inherit;text-align:center;text-transform:uppercase;transition:border-color .15s}.ad-grade-input:focus{outline:none;border-color:var(--accent-primary)}.ad-feedback-input{width:100%;padding:8px 10px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;font-size:13px;color:var(--text-primary);font-family:inherit;resize:vertical;transition:border-color .15s}.ad-feedback-input:focus{outline:none;border-color:var(--accent-primary)}.ad-feedback-input::placeholder{color:var(--text-tertiary)}.ad-save-grade-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;background:var(--accent-primary);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s;width:fit-content}.ad-save-grade-btn svg{width:15px;height:15px}.ad-save-grade-btn:hover:not(:disabled){background:var(--accent-hover, #4f46e5)}.ad-save-grade-btn:disabled{opacity:.55;cursor:not-allowed}.ad-save-grade-btn.ad-btn-saved{background:var(--success)}.ad-save-grade-btn.ad-btn-error{background:var(--danger)}@keyframes ad-spin{to{transform:rotate(360deg)}}.ad-spin{animation:ad-spin .7s linear infinite}.approvals-management{padding:32px;max-width:1600px;margin:0 auto;animation:fadeUp .3s ease}@media(max-width:767px){.approvals-management{padding:16px}}.approvals-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-bottom:24px}@media(max-width:767px){.approvals-stats{grid-template-columns:repeat(2,1fr)}}.approvals-tabs{display:flex;align-items:center;gap:4px;padding:4px;background:var(--bg-tertiary);border-radius:12px;width:fit-content;margin-bottom:24px;overflow-x:auto}.approvals-tab-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;border:none;background:transparent;color:var(--text-secondary);font-size:14px;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s ease;font-family:inherit;white-space:nowrap}.approvals-tab-btn svg{width:18px;height:18px}.approvals-tab-btn:hover{color:var(--text-primary)}.approvals-tab-btn.active{background:var(--bg-secondary);color:var(--accent-primary);box-shadow:0 1px 3px #00000014}.approvals-tab-label{display:inline}.approvals-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:var(--bg-tertiary);border-radius:10px;font-size:11px;font-weight:700;color:var(--text-secondary)}.approvals-tab-btn.active .approvals-tab-count{background:var(--accent-light);color:var(--accent-primary)}@media(max-width:767px){.approvals-tabs{width:100%}.approvals-tab-btn{flex:1;justify-content:center;padding:10px 12px}.approvals-tab-label{display:none}}.approvals-content{background:var(--bg-secondary);border-radius:16px;box-shadow:0 1px 3px #0000000d;overflow:hidden}.approvals-actions{display:flex;align-items:center;gap:8px}.approvals-action-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:none;background:transparent;cursor:pointer;transition:all .15s}.approvals-action-btn svg{width:16px;height:16px}.approvals-action-btn.approve{background:var(--success-bg);color:var(--success)}.approvals-action-btn.approve:hover{background:var(--success);color:#fff}.approvals-action-btn.reject{background:var(--danger-bg);color:var(--danger)}.approvals-action-btn.reject:hover{background:var(--danger);color:#fff}.approvals-action-btn.view{background:var(--accent-light);color:var(--accent-primary)}.approvals-action-btn.view:hover{background:var(--accent-primary);color:#fff}.approvals-tags{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.approvals-more{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;background:var(--bg-tertiary);border-radius:6px;font-size:11px;font-weight:600;color:var(--text-tertiary)}.approvals-class-cell,.approvals-course-cell{display:flex;flex-direction:column;gap:2px}.approvals-class-name,.approvals-course-name{font-weight:600;color:var(--text-primary);line-height:1.4}.approvals-class-course,.approvals-course-code{font-size:12px;color:var(--text-tertiary);line-height:1.4}.approvals-description{font-size:13px;color:var(--text-secondary);line-height:1.4}@media(max-width:1023px){.approvals-stats{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){.approvals-stats{grid-template-columns:repeat(2,1fr)}}.gb-page{padding:32px;max-width:1800px;margin:0 auto;animation:fadeUp .3s ease}@media(max-width:767px){.gb-page{padding:16px}}.gb-class-selector select{padding:10px 40px 10px 16px;font-size:14px;font-weight:600;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;color:var(--text-primary);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;min-width:200px}.gb-class-selector select:hover{border-color:var(--accent-primary)}.gb-class-selector select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-light)}.gb-page .stat-card.gb-students .stat-icon{background:var(--accent-light);color:var(--accent-primary)}.gb-page .stat-card.gb-assessments .stat-icon{background:#fef3c7;color:#f59e0b}.gb-page .stat-card.gb-average .stat-icon{background:#dcfce7;color:#22c55e}.gb-page .stat-card.gb-completion .stat-icon{background:#e0e7ff;color:#6366f1}.gb-loading-message,.gb-loading-grades{display:flex;align-items:center;justify-content:center;gap:12px;padding:60px 20px;color:var(--text-secondary);font-size:15px}.gb-loading-grades{padding:40px 20px;background:var(--bg-secondary);border-radius:16px;border:1px solid var(--border-color)}.gb-spin{animation:gb-spin 1s linear infinite}@keyframes gb-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.gb-error-message{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:60px 20px;text-align:center;color:var(--danger)}.gb-error-message svg{width:48px;height:48px;opacity:.5}.gb-table-container{background:var(--bg-secondary);border-radius:16px;border:1px solid var(--border-color);overflow:hidden;margin-bottom:20px}@media(max-width:767px){.gb-table-container{display:none}}.gb-table{width:100%;border-collapse:collapse;font-size:14px;table-layout:auto}.gb-table thead{position:sticky;top:0;z-index:20;background:var(--bg-tertiary)}.gb-table th{padding:16px 12px;text-align:left;font-weight:600;color:var(--text-primary);border-bottom:1px solid var(--border-color);white-space:nowrap}.gb-table td{padding:12px;border-bottom:1px solid var(--border-color);vertical-align:middle}.gb-table tbody tr:hover{background:var(--bg-hover)}.gb-table tbody tr:last-child td{border-bottom:none}.gb-table .gb-sticky-col{position:sticky;left:0;z-index:10;background:var(--bg-secondary)}.gb-table thead .gb-sticky-col{background:var(--bg-tertiary);z-index:25}.gb-table tbody tr:hover .gb-sticky-col{background:var(--bg-hover)}.gb-table .gb-student-col{min-width:220px;max-width:280px}.gb-assessment-col{min-width:120px;max-width:160px}.gb-assessment-header{display:flex;flex-direction:column;gap:4px}.gb-assessment-type-icon{display:flex;align-items:center;color:var(--text-tertiary)}.gb-assessment-type-icon svg{width:14px;height:14px}.gb-assessment-title{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}.gb-assessment-max-score{font-size:11px;color:var(--text-tertiary);font-weight:500}.gb-avg-col{min-width:80px;text-align:center}.gb-avg-score{display:inline-flex;align-items:center;justify-content:center;min-width:48px;padding:6px 12px;font-size:14px;font-weight:700;border-radius:8px;background:var(--bg-tertiary)}.gb-avg-score.gb-score-low{background:#fee2e2;color:#dc2626}.gb-avg-score.gb-score-medium{background:#fef3c7;color:#d97706}.gb-avg-score.gb-score-high{background:#dcfce7;color:#16a34a}.gb-student-cell{display:flex;align-items:center;gap:12px}.gb-student-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:#fff;flex-shrink:0}.gb-student-info{display:flex;flex-direction:column;gap:2px;min-width:0}.gb-student-name{font-size:14px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gb-student-email{font-size:12px;color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gb-score-col{min-width:100px}.gb-score-input-cell{display:flex;align-items:center;gap:4px;position:relative}.gb-score-input{width:60px;padding:8px 10px;font-size:14px;font-weight:600;text-align:center;border:2px solid var(--border-color);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);transition:all .15s ease}.gb-score-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-light)}.gb-score-input:hover:not(:focus){border-color:var(--text-tertiary)}.gb-score-input::-webkit-outer-spin-button,.gb-score-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.gb-score-input[type=number]{-moz-appearance:textfield}.gb-max-score{font-size:12px;color:var(--text-tertiary);font-weight:500}.gb-not-submitted{display:flex;align-items:center;justify-content:center;width:60px;padding:8px 10px;font-size:14px;color:var(--text-tertiary);background:var(--bg-tertiary);border-radius:8px}.gb-score-input-cell.gb-score-low .gb-score-input{background:#fee2e2;border-color:#fecaca;color:#dc2626}.gb-score-input-cell.gb-score-medium .gb-score-input{background:#fef3c7;border-color:#fde68a;color:#d97706}.gb-score-input-cell.gb-score-high .gb-score-input{background:#dcfce7;border-color:#bbf7d0;color:#16a34a}.gb-save-indicator{display:flex;align-items:center;justify-content:center;width:20px;height:20px}.gb-save-indicator svg{width:14px;height:14px}.gb-save-indicator.gb-saving{color:var(--accent-primary)}.gb-save-indicator.gb-saving svg{animation:gb-spin 1s linear infinite}.gb-save-indicator.gb-saved{color:#22c55e}.gb-save-indicator.gb-error{color:#dc2626}.gb-score-input-cell.gb-saving .gb-score-input{border-color:var(--accent-primary)}.gb-score-input-cell.gb-saved .gb-score-input{border-color:#22c55e}.gb-score-input-cell.gb-error .gb-score-input{border-color:#dc2626}.gb-empty-table{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 20px;text-align:center;color:var(--text-secondary)}.gb-empty-table svg{width:48px;height:48px;opacity:.3}.gb-empty-table p{margin:0;font-size:14px}.gb-mobile{display:none}@media(max-width:767px){.gb-mobile{display:flex;flex-direction:column;gap:12px}}.gb-student-card{background:var(--bg-secondary);border-radius:16px;border:1px solid var(--border-color);overflow:hidden;transition:all .2s ease}.gb-student-card.gb-expanded{box-shadow:0 8px 24px #00000014}.gb-student-card .gb-card-header{display:flex;align-items:center;justify-content:space-between;padding:16px;cursor:pointer;transition:background .15s ease}.gb-student-card .gb-card-header:hover{background:var(--bg-hover)}.gb-student-card .gb-student-info{display:flex;align-items:center;gap:12px}.gb-student-card .gb-student-avatar{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;color:#fff}.gb-student-card .gb-student-details{display:flex;flex-direction:column;gap:2px}.gb-student-card .gb-student-name{font-size:15px;font-weight:600;color:var(--text-primary)}.gb-student-card .gb-student-email{font-size:13px;color:var(--text-tertiary)}.gb-student-card .gb-student-avg{display:flex;align-items:center;gap:8px}.gb-student-card .gb-avg-score{min-width:48px;padding:6px 12px;font-size:15px;font-weight:700;border-radius:10px;text-align:center;background:var(--bg-tertiary)}.gb-expand-icon{width:20px;height:20px;color:var(--text-tertiary);transition:transform .2s ease}.gb-expand-icon.gb-expanded{transform:rotate(180deg)}.gb-card-grades{padding:16px;display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--border-color);animation:gb-slideDown .2s ease}@keyframes gb-slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.gb-card-grades .gb-grade-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:var(--bg-tertiary);border-radius:10px}.gb-card-grades .gb-assessment-info{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.gb-card-grades .gb-assessment-type-icon{display:flex;color:var(--text-tertiary)}.gb-card-grades .gb-assessment-type-icon svg{width:16px;height:16px}.gb-card-grades .gb-assessment-title{font-size:13px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gb-card-grades .gb-score-input-cell{flex-shrink:0}@media(max-width:1200px){.gb-assessment-col{min-width:100px;max-width:120px}.gb-assessment-title{max-width:80px}}@media(max-width:991px){.gb-table-container{overflow-x:auto}}.gb-page .page-header-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}@media(max-width:767px){.gb-page .page-header-actions{width:100%}.gb-page .gb-class-selector{flex:1}.gb-page .gb-class-selector select{width:100%;min-width:unset}}.gb-secondary-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;background:var(--bg-secondary);color:var(--text-secondary);font-size:14px;font-weight:500;border:1px solid var(--border-color);border-radius:10px;cursor:pointer;transition:all .15s ease;font-family:inherit;white-space:nowrap}.gb-secondary-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--text-tertiary)}.gb-secondary-btn:disabled{opacity:.5;cursor:not-allowed}.gb-secondary-btn svg{width:18px;height:18px}
