*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.18 | MIT License | https://tailwindcss.com
*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit}hr{border-top-width:1px;color:inherit;height:0}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background:0 0% 100%;--foreground:0 0% 3.9%;--card:0 0% 100%;--card-foreground:0 0% 3.9%;--popover:0 0% 100%;--popover-foreground:0 0% 3.9%;--primary:0 0% 9%;--primary-foreground:0 0% 98%;--secondary:0 0% 96.1%;--secondary-foreground:0 0% 9%;--muted:0 0% 96.1%;--muted-foreground:0 0% 45.1%;--accent:0 0% 96.1%;--accent-foreground:0 0% 9%;--destructive:0 84.2% 60.2%;--destructive-foreground:0 0% 98%;--border:0 0% 89.8%;--input:0 0% 89.8%;--ring:0 0% 3.9%;--chart-1:12 76% 61%;--chart-2:173 58% 39%;--chart-3:197 37% 24%;--chart-4:43 74% 66%;--chart-5:27 87% 67%;--radius:0.5rem}.dark{--background:0 0% 3.9%;--foreground:0 0% 98%;--card:0 0% 3.9%;--card-foreground:0 0% 98%;--popover:0 0% 3.9%;--popover-foreground:0 0% 98%;--primary:0 0% 98%;--primary-foreground:0 0% 9%;--secondary:0 0% 14.9%;--secondary-foreground:0 0% 98%;--muted:0 0% 14.9%;--muted-foreground:0 0% 63.9%;--accent:0 0% 14.9%;--accent-foreground:0 0% 98%;--destructive:0 62.8% 30.6%;--destructive-foreground:0 0% 98%;--border:0 0% 14.9%;--input:0 0% 14.9%;--ring:0 0% 83.1%;--chart-1:220 70% 50%;--chart-2:160 60% 45%;--chart-3:30 80% 55%;--chart-4:280 65% 60%;--chart-5:340 75% 55%}*{border-color:#e5e5e5;border-color:hsl(var(--border))}body{background-color:#fff;background-color:hsl(var(--background));color:#0a0a0a;color:hsl(var(--foreground))}[data-debug-wrapper=true]{display:contents!important}[data-debug-wrapper=true]>*{border:inherit;column-gap:inherit;gap:inherit;margin:inherit;padding:inherit;row-gap:inherit}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:-webkit-sticky;position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-y-0{bottom:0;top:0}.-bottom-12{bottom:-3rem}.-left-12{left:-3rem}.-right-12{right:-3rem}.-top-12{top:-3rem}.bottom-0{bottom:0}.left-0{left:0}.left-1{left:.25rem}.left-1\/2{left:50%}.left-2{left:.5rem}.left-\[50\%\]{left:50%}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-4{right:1rem}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-4{top:1rem}.top-\[1px\]{top:1px}.top-\[50\%\]{top:50%}.top-\[60\%\]{top:60%}.top-full{top:100%}.z-10{z-index:10}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[1\]{z-index:1}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-bottom:.25rem;margin-top:.25rem}.-ml-4{margin-left:-1rem}.-mt-4{margin-top:-1rem}.mb-1{margin-bottom:.25rem}.ml-1{margin-left:.25rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-24{margin-top:6rem}.mt-4{margin-top:1rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1/1}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[1px\]{height:1px}.h-\[var\(--radix-navigation-menu-viewport-height\)\]{height:var(--radix-navigation-menu-viewport-height)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-\[--radix-context-menu-content-available-height\]{max-height:var(--radix-context-menu-content-available-height)}.max-h-\[--radix-select-content-available-height\]{max-height:var(--radix-select-content-available-height)}.max-h-\[300px\]{max-height:300px}.max-h-\[var\(--radix-dropdown-menu-content-available-height\)\]{max-height:var(--radix-dropdown-menu-content-available-height)}.max-h-screen{max-height:100vh}.min-h-\[60px\]{min-height:60px}.w-10{width:2.5rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-4{width:1rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[100px\]{width:100px}.w-\[1px\]{width:1px}.w-full{width:100%}.w-max{width:-webkit-max-content;width:max-content}.w-px{width:1px}.min-w-0{min-width:0}.min-w-10{min-width:2.5rem}.min-w-8{min-width:2rem}.min-w-9{min-width:2.25rem}.min-w-\[12rem\]{min-width:12rem}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.max-w-lg{max-width:32rem}.max-w-max{max-width:-webkit-max-content;max-width:max-content}.flex-1{flex:1 1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-full{flex-basis:100%}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.origin-\[--radix-context-menu-content-transform-origin\]{transform-origin:var(--radix-context-menu-content-transform-origin)}.origin-\[--radix-dropdown-menu-content-transform-origin\]{transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\[--radix-hover-card-content-transform-origin\]{transform-origin:var(--radix-hover-card-content-transform-origin)}.origin-\[--radix-menubar-content-transform-origin\]{transform-origin:var(--radix-menubar-content-transform-origin)}.origin-\[--radix-popover-content-transform-origin\]{transform-origin:var(--radix-popover-content-transform-origin)}.origin-\[--radix-select-content-transform-origin\]{transform-origin:var(--radix-select-content-transform-origin)}.origin-\[--radix-tooltip-content-transform-origin\]{transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}.translate-x-\[-50\%\]{--tw-translate-x:-50%}.translate-x-\[-50\%\],.translate-y-\[-50\%\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y:-50%}.rotate-45{--tw-rotate:45deg}.rotate-45,.rotate-90{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate:90deg}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;user-select:none}.resize{resize:both}.list-none{list-style-type:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.25rem*var(--tw-space-x-reverse))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.375rem*var(--tw-space-y-reverse));margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem;border-radius:var(--radius)}.rounded-md{border-radius:calc(.5rem - 2px);border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(.5rem - 4px);border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.rounded-t-\[10px\]{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-tl-sm{border-top-left-radius:calc(.5rem - 4px);border-top-left-radius:calc(var(--radius) - 4px)}.border{border-width:1px}.border-2{border-width:2px}.border-y{border-top-width:1px}.border-b,.border-y{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-destructive{border-color:#ef4444;border-color:hsl(var(--destructive))}.border-destructive\/50{border-color:#ef444480;border-color:hsl(var(--destructive)/.5)}.border-input{border-color:#e5e5e5;border-color:hsl(var(--input))}.border-primary{border-color:#171717;border-color:hsl(var(--primary))}.border-primary\/50{border-color:#17171780;border-color:hsl(var(--primary)/.5)}.border-transparent{border-color:#0000}.border-l-transparent{border-left-color:#0000}.border-t-transparent{border-top-color:#0000}.bg-accent{background-color:#f5f5f5;background-color:hsl(var(--accent))}.bg-background{background-color:#fff;background-color:hsl(var(--background))}.bg-black\/80{background-color:#000c}.bg-border{background-color:#e5e5e5;background-color:hsl(var(--border))}.bg-card{background-color:#fff;background-color:hsl(var(--card))}.bg-destructive{background-color:#ef4444;background-color:hsl(var(--destructive))}.bg-foreground{background-color:#0a0a0a;background-color:hsl(var(--foreground))}.bg-muted{background-color:#f5f5f5;background-color:hsl(var(--muted))}.bg-muted\/50{background-color:#f5f5f580;background-color:hsl(var(--muted)/.5)}.bg-popover{background-color:#fff;background-color:hsl(var(--popover))}.bg-primary{background-color:#171717;background-color:hsl(var(--primary))}.bg-primary\/10{background-color:#1717171a;background-color:hsl(var(--primary)/.1)}.bg-primary\/20{background-color:#17171733;background-color:hsl(var(--primary)/.2)}.bg-secondary{background-color:#f5f5f5;background-color:hsl(var(--secondary))}.bg-transparent{background-color:initial}.fill-current{fill:currentColor}.fill-primary{fill:#171717;fill:hsl(var(--primary))}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-\[1px\]{padding:1px}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.pb-4{padding-bottom:1rem}.pl-2{padding-left:.5rem}.pl-2\.5{padding-left:.625rem}.pl-4{padding-left:1rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-6{padding-right:1.5rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.align-middle{vertical-align:middle}.text-\[0\.8rem\]{font-size:.8rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.italic{font-style:italic}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.tracking-widest{letter-spacing:.1em}.text-accent-foreground{color:#171717;color:hsl(var(--accent-foreground))}.text-card-foreground{color:#0a0a0a;color:hsl(var(--card-foreground))}.text-current{color:currentColor}.text-destructive{color:#ef4444;color:hsl(var(--destructive))}.text-destructive-foreground{color:#fafafa;color:hsl(var(--destructive-foreground))}.text-foreground{color:#0a0a0a;color:hsl(var(--foreground))}.text-foreground\/50{color:#0a0a0a80;color:hsl(var(--foreground)/.5)}.text-muted-foreground{color:#737373;color:hsl(var(--muted-foreground))}.text-popover-foreground{color:#0a0a0a;color:hsl(var(--popover-foreground))}.text-primary{color:#171717;color:hsl(var(--primary))}.text-primary-foreground{color:#fafafa;color:hsl(var(--primary-foreground))}.text-secondary-foreground{color:#171717;color:hsl(var(--secondary-foreground))}.underline-offset-4{text-underline-offset:4px}.placeholder-card::placeholder{color:#fff;color:hsl(var(--card))}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-lg{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-sm{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.outline-none{outline:2px solid #0000;outline-offset:2px}.outline{outline-style:solid}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-0,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-ring{--tw-ring-color:hsl(var(--ring))}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,-webkit-text-decoration-color;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,-webkit-text-decoration-color;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-1000{transition-duration:1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes enter{0%{opacity:1;opacity:var(--tw-enter-opacity,1);transform:translateZ(0) scaleX(1) rotate(0);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:1;opacity:var(--tw-exit-opacity,1);transform:translateZ(0) scaleX(1) rotate(0);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.animate-in{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-duration:.15s;animation-name:enter}.fade-in-0{--tw-enter-opacity:0}.zoom-in-95{--tw-enter-scale:.95}.duration-1000{animation-duration:1s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.running{animation-play-state:running}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.file\:border-0::-webkit-file-upload-button{border-width:0}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::-webkit-file-upload-button{background-color:initial}.file\:bg-transparent::file-selector-button{background-color:initial}.file\:text-sm::-webkit-file-upload-button{font-size:.875rem;line-height:1.25rem}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::-webkit-file-upload-button{font-weight:500}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::-webkit-file-upload-button{color:#0a0a0a;color:hsl(var(--foreground))}.file\:text-foreground::file-selector-button{color:#0a0a0a;color:hsl(var(--foreground))}.placeholder\:text-muted-foreground::placeholder{color:#737373;color:hsl(var(--muted-foreground))}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-y-0:after{bottom:0;content:var(--tw-content);top:0}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-1:after{content:var(--tw-content);width:.25rem}.after\:-translate-x-1\/2:after{--tw-translate-x:-50%;content:var(--tw-content);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.first\:rounded-l-md:first-child{border-bottom-left-radius:calc(.5rem - 2px);border-bottom-left-radius:calc(var(--radius) - 2px);border-top-left-radius:calc(.5rem - 2px);border-top-left-radius:calc(var(--radius) - 2px)}.first\:border-l:first-child{border-left-width:1px}.last\:rounded-r-md:last-child{border-bottom-right-radius:calc(.5rem - 2px);border-bottom-right-radius:calc(var(--radius) - 2px);border-top-right-radius:calc(.5rem - 2px);border-top-right-radius:calc(var(--radius) - 2px)}.focus-within\:relative:focus-within{position:relative}.focus-within\:z-20:focus-within{z-index:20}.hover\:bg-accent:hover{background-color:#f5f5f5;background-color:hsl(var(--accent))}.hover\:bg-destructive\/80:hover{background-color:#ef4444cc;background-color:hsl(var(--destructive)/.8)}.hover\:bg-destructive\/90:hover{background-color:#ef4444e6;background-color:hsl(var(--destructive)/.9)}.hover\:bg-muted:hover{background-color:#f5f5f5;background-color:hsl(var(--muted))}.hover\:bg-muted\/50:hover{background-color:#f5f5f580;background-color:hsl(var(--muted)/.5)}.hover\:bg-primary:hover{background-color:#171717;background-color:hsl(var(--primary))}.hover\:bg-primary\/80:hover{background-color:#171717cc;background-color:hsl(var(--primary)/.8)}.hover\:bg-primary\/90:hover{background-color:#171717e6;background-color:hsl(var(--primary)/.9)}.hover\:bg-secondary:hover{background-color:#f5f5f5;background-color:hsl(var(--secondary))}.hover\:bg-secondary\/80:hover{background-color:#f5f5f5cc;background-color:hsl(var(--secondary)/.8)}.hover\:text-accent-foreground:hover{color:#171717;color:hsl(var(--accent-foreground))}.hover\:text-foreground:hover{color:#0a0a0a;color:hsl(var(--foreground))}.hover\:text-muted-foreground:hover{color:#737373;color:hsl(var(--muted-foreground))}.hover\:text-primary-foreground:hover{color:#fafafa;color:hsl(var(--primary-foreground))}.hover\:underline:hover{-webkit-text-decoration-line:underline;text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.focus\:bg-accent:focus{background-color:#f5f5f5;background-color:hsl(var(--accent))}.focus\:bg-primary:focus{background-color:#171717;background-color:hsl(var(--primary))}.focus\:text-accent-foreground:focus{color:#171717;color:hsl(var(--accent-foreground))}.focus\:text-primary-foreground:focus{color:#fafafa;color:hsl(var(--primary-foreground))}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-1:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline:2px solid #0000;outline-offset:2px}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:hsl(var(--background))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:opacity-100{opacity:1}.group.destructive .group-\[\.destructive\]\:border-muted\/40{border-color:#f5f5f566;border-color:hsl(var(--muted)/.4)}.group.toaster .group-\[\.toaster\]\:border-border{border-color:#e5e5e5;border-color:hsl(var(--border))}.group.toast .group-\[\.toast\]\:bg-muted{background-color:#f5f5f5;background-color:hsl(var(--muted))}.group.toast .group-\[\.toast\]\:bg-primary{background-color:#171717;background-color:hsl(var(--primary))}.group.toaster .group-\[\.toaster\]\:bg-background{background-color:#fff;background-color:hsl(var(--background))}.group.destructive .group-\[\.destructive\]\:text-red-300{--tw-text-opacity:1;color:#fca5a5;color:rgb(252 165 165/var(--tw-text-opacity,1))}.group.toast .group-\[\.toast\]\:text-muted-foreground{color:#737373;color:hsl(var(--muted-foreground))}.group.toast .group-\[\.toast\]\:text-primary-foreground{color:#fafafa;color:hsl(var(--primary-foreground))}.group.toaster .group-\[\.toaster\]\:text-foreground{color:#0a0a0a;color:hsl(var(--foreground))}.group.toaster .group-\[\.toaster\]\:shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover{border-color:#ef44444d;border-color:hsl(var(--destructive)/.3)}.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover{background-color:#ef4444;background-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover{color:#fafafa;color:hsl(var(--destructive-foreground))}.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover{--tw-text-opacity:1;color:#fef2f2;color:rgb(254 242 242/var(--tw-text-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus{--tw-ring-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(248 113 113/var(--tw-ring-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus{--tw-ring-offset-color:#dc2626}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.has-\[\:disabled\]\:opacity-50:has(:disabled){opacity:.5}.aria-selected\:bg-accent[aria-selected=true]{background-color:#f5f5f5;background-color:hsl(var(--accent))}.aria-selected\:bg-accent\/50[aria-selected=true]{background-color:#f5f5f580;background-color:hsl(var(--accent)/.5)}.aria-selected\:text-accent-foreground[aria-selected=true]{color:#171717;color:hsl(var(--accent-foreground))}.aria-selected\:text-muted-foreground[aria-selected=true]{color:#737373;color:hsl(var(--muted-foreground))}.aria-selected\:opacity-100[aria-selected=true]{opacity:1}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true],.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction=vertical]{height:1px}.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction=vertical]{width:100%}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:0.25rem}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom],.data-\[side\=left\]\:-translate-x-1[data-side=left]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:-0.25rem}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:0.25rem}.data-\[side\=right\]\:translate-x-1[data-side=right],.data-\[side\=top\]\:-translate-y-1[data-side=top]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:-0.25rem}.data-\[state\=checked\]\:translate-x-4[data-state=checked]{--tw-translate-x:1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked],.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel]{--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{--tw-translate-x:var(--radix-toast-swipe-end-x)}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end],.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{--tw-translate-x:var(--radix-toast-swipe-move-x)}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:accordion-up .2s ease-out}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:accordion-down .2s ease-out}.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction=vertical]{flex-direction:column}.data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:#f5f5f5;background-color:hsl(var(--accent))}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:#fff;background-color:hsl(var(--background))}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:#171717;background-color:hsl(var(--primary))}.data-\[state\=on\]\:bg-accent[data-state=on],.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:#f5f5f5;background-color:hsl(var(--accent))}.data-\[state\=open\]\:bg-accent\/50[data-state=open]{background-color:#f5f5f580;background-color:hsl(var(--accent)/.5)}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:#f5f5f5;background-color:hsl(var(--secondary))}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:#f5f5f5;background-color:hsl(var(--muted))}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:#e5e5e5;background-color:hsl(var(--input))}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:#737373;color:hsl(var(--muted-foreground))}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:#171717;color:hsl(var(--accent-foreground))}.data-\[state\=active\]\:text-foreground[data-state=active]{color:#0a0a0a;color:hsl(var(--foreground))}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:#fafafa;color:hsl(var(--primary-foreground))}.data-\[state\=on\]\:text-accent-foreground[data-state=on],.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:#171717;color:hsl(var(--accent-foreground))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:#737373;color:hsl(var(--muted-foreground))}.data-\[disabled\=true\]\:opacity-50[data-disabled=true],.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=active\]\:shadow[data-state=active]{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}.data-\[state\=closed\]\:duration-300[data-state=closed]{transition-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{transition-duration:.5s}.data-\[motion\^\=from-\]\:animate-in[data-motion^=from-],.data-\[state\=open\]\:animate-in[data-state=open],.data-\[state\=visible\]\:animate-in[data-state=visible]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-duration:.15s;animation-name:enter}.data-\[motion\^\=to-\]\:animate-out[data-motion^=to-],.data-\[state\=closed\]\:animate-out[data-state=closed],.data-\[state\=hidden\]\:animate-out[data-state=hidden],.data-\[swipe\=end\]\:animate-out[data-swipe=end]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-duration:.15s;animation-name:exit}.data-\[motion\^\=from-\]\:fade-in[data-motion^=from-]{--tw-enter-opacity:0}.data-\[motion\^\=to-\]\:fade-out[data-motion^=to-],.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:fade-out-80[data-state=closed]{--tw-exit-opacity:0.8}.data-\[state\=hidden\]\:fade-out[data-state=hidden]{--tw-exit-opacity:0}.data-\[state\=open\]\:fade-in-0[data-state=open],.data-\[state\=visible\]\:fade-in[data-state=visible]{--tw-enter-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:zoom-in-90[data-state=open]{--tw-enter-scale:.9}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion=from-end]{--tw-enter-translate-x:13rem}.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion=from-start]{--tw-enter-translate-x:-13rem}.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion=to-end]{--tw-exit-translate-x:13rem}.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion=to-start]{--tw-exit-translate-x:-13rem}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-0.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:0.5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-0.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:0.5rem}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x:-50%}.data-\[state\=closed\]\:slide-out-to-right-full[data-state=closed],.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x:-50%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-top-full[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=closed\]\:duration-300[data-state=closed]{animation-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{animation-duration:.5s}.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);left:0}.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction=vertical]:after{content:var(--tw-content);height:.25rem}.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction=vertical]:after{content:var(--tw-content);width:100%}.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction=vertical]:after{--tw-translate-y:-50%;content:var(--tw-content);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction=vertical]:after{--tw-translate-x:0px;content:var(--tw-content);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=open\]\:focus\:bg-accent:focus[data-state=open],.data-\[state\=open\]\:hover\:bg-accent:hover[data-state=open]{background-color:#f5f5f5;background-color:hsl(var(--accent))}.group[data-state=open] .group-data-\[state\=open\]\:rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:border-destructive:is(.dark *){border-color:#ef4444;border-color:hsl(var(--destructive))}@media (min-width:640px){.sm\:bottom-0{bottom:0}.sm\:right-0{right:0}.sm\:top-auto{top:auto}.sm\:mt-0{margin-top:0}.sm\:max-w-sm{max-width:24rem}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2\.5{gap:.625rem}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(0px*var(--tw-space-y-reverse));margin-top:calc(0px*(1 - var(--tw-space-y-reverse)))}.sm\:rounded-lg{border-radius:.5rem;border-radius:var(--radius)}.sm\:text-left{text-align:left}.data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state=open]{--tw-enter-translate-y:100%}}@media (min-width:768px){.md\:absolute{position:absolute}.md\:w-\[var\(--radix-navigation-menu-viewport-width\)\]{width:var(--radix-navigation-menu-viewport-width)}.md\:w-auto{width:auto}.md\:max-w-\[420px\]{max-width:420px}.md\:text-sm{font-size:.875rem;line-height:1.25rem}}.\[\&\+div\]\:text-xs+div{font-size:.75rem;line-height:1rem}.\[\&\:has\(\>\.day-range-end\)\]\:rounded-r-md:has(>.day-range-end){border-bottom-right-radius:calc(.5rem - 2px);border-bottom-right-radius:calc(var(--radius) - 2px);border-top-right-radius:calc(.5rem - 2px);border-top-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\>\.day-range-start\)\]\:rounded-l-md:has(>.day-range-start){border-bottom-left-radius:calc(.5rem - 2px);border-bottom-left-radius:calc(var(--radius) - 2px);border-top-left-radius:calc(.5rem - 2px);border-top-left-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[aria-selected\]\)\]\:rounded-md:has([aria-selected]){border-radius:calc(.5rem - 2px);border-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[aria-selected\]\)\]\:bg-accent:has([aria-selected]){background-color:#f5f5f5;background-color:hsl(var(--accent))}.first\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-l-md:has([aria-selected]):first-child{border-bottom-left-radius:calc(.5rem - 2px);border-bottom-left-radius:calc(var(--radius) - 2px);border-top-left-radius:calc(.5rem - 2px);border-top-left-radius:calc(var(--radius) - 2px)}.last\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-r-md:has([aria-selected]):last-child{border-bottom-right-radius:calc(.5rem - 2px);border-bottom-right-radius:calc(var(--radius) - 2px);border-top-right-radius:calc(.5rem - 2px);border-top-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[aria-selected\]\.day-outside\)\]\:bg-accent\/50:has([aria-selected].day-outside){background-color:#f5f5f580;background-color:hsl(var(--accent)/.5)}.\[\&\:has\(\[aria-selected\]\.day-range-end\)\]\:rounded-r-md:has([aria-selected].day-range-end){border-bottom-right-radius:calc(.5rem - 2px);border-bottom-right-radius:calc(var(--radius) - 2px);border-top-right-radius:calc(.5rem - 2px);border-top-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>span\]\:line-clamp-1>span{-webkit-box-orient:vertical;-webkit-line-clamp:1;display:-webkit-box;overflow:hidden}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y:-3px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:left-4>svg{left:1rem}.\[\&\>svg\]\:top-4>svg{top:1rem}.\[\&\>svg\]\:size-4>svg{height:1rem;width:1rem}.\[\&\>svg\]\:h-3\.5>svg{height:.875rem}.\[\&\>svg\]\:w-3\.5>svg{width:.875rem}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-destructive>svg{color:#ef4444;color:hsl(var(--destructive))}.\[\&\>svg\]\:text-foreground>svg{color:#0a0a0a;color:hsl(var(--foreground))}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:1.75rem}.\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0}.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div{--tw-rotate:90deg}.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div,.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{--tw-rotate:180deg}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-bottom:.375rem;padding-top:.375rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:#737373;color:hsl(var(--muted-foreground))}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:3rem}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-bottom:.75rem;padding-top:.75rem}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:1.25rem}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:1.25rem}.\[\&_p\]\:leading-relaxed p{line-height:1.625}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{height:1rem;width:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}.theme-toggle-container{border-top:1px solid var(--border-200);margin-top:auto;padding:var(--spacing-md)}.theme-toggle-label{color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:600;letter-spacing:.5px;margin-bottom:var(--spacing-sm);text-transform:uppercase}.theme-toggle-btn{align-items:center;background:var(--surface-secondary);border:1px solid var(--border-200);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;display:flex;font-size:var(--font-size-sm);gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);transition:all .2s ease;width:100%}.theme-toggle-btn:hover{background:var(--surface-hover);border-color:var(--brand-600)}.theme-toggle-btn:active{transform:scale(.98)}.theme-toggle-text{flex:1 1;text-align:left}.collapsed .theme-toggle-container{padding:var(--spacing-sm)}.collapsed .theme-toggle-label{display:none}.collapsed .theme-toggle-btn{justify-content:center;padding:var(--spacing-sm)}.collapsed .theme-toggle-text{display:none}.faculty-collapsible-sidebar{background:var(--surface-primary);border-right:1px solid var(--border-color);bottom:0;box-shadow:2px 0 8px #0000000d;display:flex;flex-direction:column;height:100vh;left:0;max-width:280px;min-width:280px;overflow:hidden;position:fixed;top:0;transition:all .3s cubic-bezier(.4,0,.2,1);width:280px;z-index:1000}.faculty-collapsible-sidebar.collapsed{max-width:80px;min-width:80px;width:80px}.faculty-sidebar-header{border-bottom:1px solid var(--border-color);display:flex;flex-direction:column;justify-content:center;min-height:110px;padding:32px 20px}.faculty-sidebar-header h1{color:var(--text-primary);font-size:24px;font-weight:800;letter-spacing:-.02em;margin:0 0 4px}.faculty-sidebar-header p{color:var(--text-secondary);font-size:13px;font-weight:500;margin:0;text-align:center}.faculty-sidebar-logo{align-items:center;display:flex;height:auto;justify-content:center;margin:0 auto 12px;width:160px}.faculty-sidebar-logo img{height:auto;max-height:60px;object-fit:contain;width:100%}.faculty-sidebar-logo-small{align-items:center;background:var(--surface-primary);border-radius:10px;display:flex;height:48px;justify-content:center;margin:0 auto;padding:4px;width:48px}.faculty-sidebar-logo-small img{height:100%;object-fit:contain;width:100%}.faculty-sidebar-toggle-btn{align-items:center;background:var(--surface-primary);border:2px solid var(--border-color);border-radius:50%;box-shadow:0 2px 8px #0000001a;color:var(--text-secondary);cursor:pointer;display:flex;height:28px;justify-content:center;position:absolute;right:-12px;top:40px;transition:all .2s;width:28px;z-index:1000}.faculty-sidebar-toggle-btn:hover{background:var(--brand-color);border-color:var(--brand-color);box-shadow:var(--shadow-md);color:var(--text-on-brand);transform:scale(1.15)}.faculty-sidebar-nav{flex:1 1;overflow-x:hidden;overflow-y:auto;padding:20px 12px}.faculty-sidebar-nav-item{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px;margin-bottom:4px;padding:12px 16px;text-align:left;text-decoration:none;transition:all .15s;white-space:nowrap;width:100%}.faculty-collapsible-sidebar.collapsed .faculty-sidebar-nav-item{justify-content:center;padding:12px}.faculty-sidebar-nav-item:hover{background:var(--surface-hover);color:var(--text-primary)}.faculty-sidebar-nav-item.active{background:var(--info-tint-bg);color:var(--brand-color);font-weight:600}.faculty-sidebar-nav-item svg{color:inherit;flex-shrink:0;opacity:1}.faculty-sidebar-footer{border-top:1px solid var(--border-color);margin-top:auto;padding:16px}.faculty-sidebar-user-info{align-items:center;background:var(--surface-secondary);border-radius:8px;display:flex;gap:12px;margin-bottom:12px;padding:12px}.faculty-collapsible-sidebar.collapsed .faculty-sidebar-user-info{justify-content:center;padding:12px 8px}.faculty-sidebar-avatar{align-items:center;background:var(--brand-color);color:var(--text-on-brand);display:flex;font-size:16px;font-weight:700;justify-content:center}.faculty-sidebar-avatar,.faculty-sidebar-avatar-img{border-radius:50%;flex-shrink:0;height:40px;width:40px}.faculty-sidebar-avatar-img{border:2px solid var(--brand-color);box-shadow:0 2px 8px #0000001a;object-fit:cover}.faculty-sidebar-user-details{overflow:hidden}.faculty-sidebar-user-name{color:var(--text-primary);font-size:14px;font-weight:600}.faculty-sidebar-user-name,.faculty-sidebar-user-role{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.faculty-sidebar-user-role{color:var(--text-secondary);font-size:12px;text-transform:capitalize}.faculty-sidebar-logout-btn{align-items:center;background:#0000;border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:12px;transition:all .15s;width:100%}.faculty-collapsible-sidebar.collapsed .faculty-sidebar-logout-btn{padding:12px}.faculty-sidebar-logout-btn:hover{background:var(--surface-hover);border-color:var(--danger-color);color:var(--danger-color)}.faculty-sidebar-logout-btn svg{flex-shrink:0}.faculty-sidebar-nav::-webkit-scrollbar{width:4px}.faculty-sidebar-nav::-webkit-scrollbar-track{background:#0000}.faculty-sidebar-nav::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}.faculty-sidebar-nav::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}@media (max-width:768px){.faculty-collapsible-sidebar{box-shadow:4px 0 20px #0000004d;left:-280px;max-width:280px;min-width:280px;position:fixed;transition:left .3s ease;width:280px;z-index:9999}.faculty-collapsible-sidebar.mobile-open{left:0}.faculty-collapsible-sidebar.collapsed{left:-280px;max-width:280px;min-width:280px;width:280px}.faculty-collapsible-sidebar.collapsed.mobile-open{left:0}.faculty-sidebar-toggle-btn{display:none}.faculty-collapsible-sidebar.collapsed .faculty-sidebar-nav-item{justify-content:flex-start;padding:12px 16px}.faculty-collapsible-sidebar.collapsed .faculty-sidebar-nav-item span{display:inline}.faculty-collapsible-sidebar.collapsed .faculty-sidebar-user-info{justify-content:flex-start;padding:12px}.faculty-collapsible-sidebar.collapsed .faculty-sidebar-user-details{display:block}.faculty-collapsible-sidebar.collapsed .faculty-sidebar-logout-btn span{display:inline}.faculty-collapsible-sidebar.collapsed .faculty-sidebar-logo{display:flex}.faculty-collapsible-sidebar.collapsed .faculty-sidebar-logo-small{display:none}}.mobile-sidebar-overlay{background:#00000080;bottom:0;display:none;left:0;opacity:0;position:fixed;right:0;top:0;transition:opacity .3s ease;z-index:9998}.mobile-sidebar-overlay.visible{display:block;opacity:1}.mobile-menu-btn{align-items:center;background:#3b82f6;background:var(--brand-color,#3b82f6);border:none;border-radius:12px;box-shadow:0 4px 12px #00000026;color:#fff;cursor:pointer;display:none;height:48px;justify-content:center;left:12px;position:fixed;top:12px;transition:transform .2s ease,background .2s ease;width:48px;z-index:10000}@media (max-width:768px){.mobile-menu-btn{display:flex}}.mobile-menu-btn:hover{background:#2563eb;background:var(--brand-color-hover,#2563eb);transform:scale(1.05)}.mobile-menu-btn:active{transform:scale(.95)}.impersonation-banner{animation:slideDown .3s ease-out;background:linear-gradient(90deg,#dc2626,#b91c1c 50%,#991b1b);box-shadow:0 2px 8px #0000004d;color:#fff;left:0;padding:10px 20px;position:fixed;right:0;top:0;z-index:9999}.impersonation-banner-content{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin:0 auto;max-width:1400px}.impersonation-info{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.warning-icon{animation:pulse 2s ease-in-out infinite;color:#fbbf24;flex-shrink:0}.eye-icon{color:#ffffffe6;flex-shrink:0}.impersonation-text{font-size:14px;line-height:1.4}.impersonation-text strong{font-weight:600}.separator{margin:0 8px;opacity:.5}.impersonation-actions{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.impersonation-warning{background:#0003;border-radius:4px;font-size:12px;font-style:italic;opacity:.85;padding:4px 10px}.end-impersonation-btn{align-items:center;background:#fff;border:none;border-radius:6px;color:#dc2626;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:8px 16px;transition:all .2s ease}.end-impersonation-btn:hover:not(:disabled){background:#fef2f2;transform:scale(1.02)}.end-impersonation-btn:disabled{cursor:not-allowed;opacity:.7}.impersonation-active{padding-top:52px!important}@media (max-width:768px){.impersonation-banner{padding:8px 12px}.impersonation-banner-content{align-items:flex-start;flex-direction:column}.impersonation-text{font-size:12px}.separator{display:none}.impersonation-text strong:not(:first-child){display:block;margin-top:2px}.impersonation-actions{justify-content:space-between;width:100%}.impersonation-warning{font-size:11px}}.layout{display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0;max-width:100vw;padding:0;position:relative;width:100vw}.layout,.main-content{background:var(--surface-secondary);background:var(--bg-app,var(--surface-secondary));color:var(--text-primary);min-height:100vh;overflow-x:hidden}.main-content{box-sizing:border-box;flex:1 1;margin-left:280px;max-width:calc(100vw - 280px);padding:32px 40px;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.layout:has(.faculty-collapsible-sidebar.collapsed) .main-content{margin-left:80px;max-width:calc(100vw - 80px)}@media (max-width:1024px){.main-content{padding:24px 20px}}@media (max-width:768px){.main-content{margin-left:0!important;max-width:100vw!important;padding:60px 16px 24px!important;width:100%!important}.layout:has(.faculty-collapsible-sidebar.collapsed) .main-content{margin-left:0!important;max-width:100vw!important}}.dashboard{max-width:1200px}.page-header h1{font-size:32px}.page-header p{font-size:16px}.profile-card{background:var(--surface-primary);border-radius:12px;box-shadow:var(--shadow-sm);padding:32px}.card-header{align-items:center;margin-bottom:24px}.card-header h2{color:var(--text-primary);font-size:20px;font-weight:600}.status-icon{height:32px;width:32px}.status-icon.approved{color:var(--success-color)}.status-icon.under-review{color:var(--warning-color)}.status-icon.clarification{color:var(--error-color)}.status-icon.rejected{color:var(--danger-color)}.profile-info{margin-bottom:24px}.info-row{border-bottom:1px solid var(--surface-hover);padding:12px 0}.info-row:last-child{border-bottom:none}.info-row .label{font-weight:600;width:150px}.info-row .value{flex:1 1}.capitalize{text-transform:capitalize}.status-badge{border-radius:16px;display:inline-block}.status-badge.draft{background:var(--surface-hover)}.status-badge.approved{color:var(--success-color-dark)}.alert-message{background:var(--danger-tint-bg);border:1px solid var(--danger-tint-bg);border-radius:8px;color:var(--danger-color-dark);display:flex;gap:12px;margin-bottom:24px;padding:16px}.alert-message strong{display:block;font-size:14px;margin-bottom:4px}.alert-message p{font-size:14px;margin:0}.btn-primary{border:none;border-radius:8px;padding:12px 24px;transition:all .2s}.btn-primary:hover{background:var(--brand-color-dark);box-shadow:0 4px 12px #2563eb4d;transform:translateY(-1px)}.admin-dashboard{max-width:1200px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:32px}.stat-card h3{color:var(--text-secondary);font-size:14px;font-weight:600;margin-bottom:12px}.stat-number{color:var(--text-primary);font-size:36px;font-weight:700}.dashboard-note{background:var(--info-tint-bg);border-radius:8px;color:var(--info-color);font-size:14px;padding:16px;text-align:center}.page-shell{margin:0 auto;padding:var(--spacing-lg);width:100%}@media (max-width:768px){.page-shell{padding:var(--spacing-md)}}.page-header{align-items:flex-start;border-bottom:1px solid var(--border-200);margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg)}.page-header-content{flex:1 1}.page-title{color:var(--text-primary);font-size:var(--font-size-3xl);font-weight:700;line-height:var(--line-height-tight);margin:0 0 var(--spacing-xs)}.page-subtitle{color:var(--text-secondary);font-size:var(--font-size-base);line-height:var(--line-height-normal);margin:0}.page-header-actions{align-items:center;display:flex;gap:var(--spacing-sm)}@media (max-width:768px){.page-header{flex-direction:column;gap:var(--spacing-md)}.page-header-actions{width:100%}.page-title{font-size:var(--font-size-2xl)}}.ui-card{background:var(--surface-primary);background:var(--bg-surface,var(--surface-primary));border:1px solid var(--border-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow .2s ease,transform .2s ease}.ui-card:hover{box-shadow:var(--shadow-md)}.ui-card .ui-card{background:var(--surface-secondary);background:var(--bg-surface-2,var(--surface-secondary));border-color:var(--border-subtle,var(--border-200))}.ui-card-padding-default{padding:var(--spacing-lg)}.ui-card-padding-none{padding:0}.ui-card-padding-sm{padding:var(--spacing-md)}.ui-card-header{align-items:flex-start;border-bottom:1px solid var(--border-subtle,var(--border-200));display:flex;justify-content:space-between;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md)}.ui-card-header-content{flex:1 1}.ui-card-title{color:var(--text-primary);font-size:var(--font-size-lg);font-weight:600;line-height:var(--line-height-tight);margin:0 0 var(--spacing-xs)}.ui-card-subtitle{color:var(--text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-normal);margin:0}.ui-card-actions{display:flex;gap:var(--spacing-sm)}.ui-card-body{color:var(--text-primary);line-height:var(--line-height-normal)}.ui-card-header-no-border{border-bottom:none;padding-bottom:0}.ui-card-clickable{cursor:pointer}.ui-card-clickable:hover{transform:translateY(-2px)}.ui-card-footer{border-top:1px solid var(--border-subtle,var(--border-200));margin-top:var(--spacing-md);padding-top:var(--spacing-md)}@media (max-width:768px){.ui-card-padding-default{padding:var(--spacing-md)}.ui-card-header{flex-direction:column;gap:var(--spacing-sm)}.ui-card-actions{width:100%}}.ui-button{align-items:center;border:none;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-weight:500;gap:var(--spacing-xs);justify-content:center;transition:all .2s ease;white-space:nowrap}.ui-button:disabled{cursor:not-allowed;opacity:.5}.ui-button-primary{background:var(--brand-600);color:#fff}.ui-button-primary:hover:not(:disabled){background:var(--brand-700)}.ui-button-secondary{background:var(--surface-secondary);border:1px solid var(--border-200);color:var(--text-primary)}.ui-button-secondary:hover:not(:disabled){background:var(--surface-hover)}.ui-button-ghost{background:#0000;color:var(--text-600)}.ui-button-ghost:hover:not(:disabled){background:var(--surface-hover)}.ui-button-sm{font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-sm)}.ui-button-md{font-size:var(--font-size-base);padding:var(--spacing-sm) var(--spacing-md)}.ui-button-lg{font-size:var(--font-size-lg);padding:var(--spacing-md) var(--spacing-lg)}.ui-badge{align-items:center;border-radius:var(--radius-sm);display:inline-flex;font-size:var(--font-size-xs);font-weight:500;padding:2px 8px;white-space:nowrap}.ui-badge-default{background:var(--surface-secondary);color:var(--text-secondary)}.ui-badge-success{background:var(--success-tint-bg);color:var(--success-color-dark)}.ui-badge-warning{background:var(--warning-tint-bg);color:var(--warning-color-dark)}.ui-badge-error{background:var(--danger-tint-bg);color:var(--danger-color-dark)}.ui-badge-info{background:var(--info-tint-bg);color:var(--info-color)}.ui-table-container{border:1px solid var(--border-200);border-radius:var(--radius-lg);overflow-x:auto;width:100%}.ui-table{border-collapse:collapse;font-size:var(--font-size-sm);line-height:var(--line-height-normal);width:100%}.ui-table th{background:var(--surface-table-header);color:var(--text-secondary);color:var(--table-header-text,var(--text-secondary));font-weight:600;text-align:left;white-space:nowrap}.ui-table td,.ui-table th{border-bottom:1px solid var(--border-200);padding:var(--spacing-sm) var(--spacing-md)}.ui-table td{background:var(--surface-table-row);color:var(--text-primary);color:var(--table-cell-text,var(--text-primary))}.ui-table td .helper-text,.ui-table td .muted,.ui-table td .text-muted,.ui-table td small{color:var(--text-muted);color:var(--table-cell-muted,var(--text-muted))}.ui-table-striped tbody tr:nth-child(2n) td{background:var(--surface-secondary)}.ui-table-sticky thead th{background:var(--surface-table-header);position:-webkit-sticky;position:sticky;top:0;z-index:10}.ui-table tbody tr:hover td{background:var(--surface-table-row-hover)}.ui-table td:empty:before{color:var(--text-muted);content:"—"}.ui-table tbody tr:last-child td{border-bottom:none}.ui-empty-state{padding:var(--spacing-2xl) var(--spacing-lg);text-align:center}.ui-empty-state-icon{color:var(--text-secondary);font-size:48px;margin-bottom:var(--spacing-md)}.ui-empty-state-title{color:var(--text-primary);font-size:var(--font-size-lg);font-weight:600;margin:0 0 var(--spacing-sm)}.ui-empty-state-description{color:var(--text-secondary);font-size:var(--font-size-base);margin:0 0 var(--spacing-lg);margin-left:auto;margin-right:auto;max-width:400px}.ui-empty-state-action{margin-top:var(--spacing-lg)}.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:60vh}.loading-container .spinner{animation:spin .8s linear infinite;border:3px solid var(--border-200);border-radius:50%;border-top-color:var(--brand-600);height:40px;width:40px}.loading-container p{color:var(--text-secondary);font-size:var(--font-size-sm);margin-top:var(--spacing-lg)}.error-card{background:var(--danger-bg);border-color:var(--danger-border);margin-bottom:var(--spacing-lg)}.error-content{align-items:center;color:var(--danger-text);display:flex;gap:var(--spacing-sm)}.dashboard-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--spacing-xl);justify-content:space-between;margin-bottom:var(--spacing-xl)}.welcome-banner{flex:1 1;min-width:280px}.welcome-title{color:var(--text-primary);font-size:var(--font-size-2xl);font-weight:700;line-height:1.3;margin:0 0 var(--spacing-xs)}.welcome-subtitle{color:var(--text-secondary);font-size:var(--font-size-base);margin:0}.header-profile-card{align-items:flex-start;background:var(--surface-primary);border:1px solid var(--border-200);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);display:flex;gap:var(--spacing-md);max-width:400px;min-width:320px;padding:var(--spacing-lg)}.header-profile-avatar{align-items:center;background:linear-gradient(135deg,var(--brand-500) 0,var(--brand-600) 100%);border:3px solid var(--surface-primary);border-radius:50%;box-shadow:0 2px 8px #0000001a;cursor:pointer;display:flex;flex-shrink:0;height:72px;justify-content:center;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease;width:72px}.header-profile-avatar:hover{box-shadow:0 4px 12px #00000026;transform:scale(1.05)}.header-profile-avatar:focus{outline:2px solid var(--brand-500);outline-offset:2px}.header-profile-avatar img{height:100%;object-fit:cover;width:100%}.avatar-initials{color:#fff;font-size:var(--font-size-xl);font-weight:600;text-transform:uppercase}.header-profile-info{flex:1 1;min-width:0}.header-profile-name{color:var(--text-primary);font-size:var(--font-size-lg);font-weight:600;margin:0 0 var(--spacing-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-profile-detail{align-items:center;color:var(--text-secondary);display:flex;font-size:var(--font-size-sm);gap:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.header-profile-detail svg{color:var(--text-secondary);flex-shrink:0}.header-profile-detail span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-profile-status{margin-top:var(--spacing-sm)}.stats-grid{grid-gap:var(--spacing-lg);gap:var(--spacing-lg);grid-template-columns:repeat(4,1fr);margin-bottom:var(--spacing-xl)}.stat-card{border-radius:var(--radius-lg);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover{box-shadow:var(--shadow-md)}.stat-card-content{align-items:center;display:flex;gap:var(--spacing-md)}.stat-icon{border-radius:var(--radius-lg);padding:var(--spacing-md)}.stat-icon-blue{background:var(--info-tint-bg);color:var(--info-tint-fg)}.stat-icon-brand{background:var(--info-tint-bg);color:var(--brand-color)}.stat-icon-green{background:var(--success-tint-bg);color:var(--success-tint-fg)}.stat-icon-orange{background:var(--warning-tint-bg);color:var(--warning-tint-fg)}.stat-info{flex:1 1}.stat-label{font-size:var(--font-size-sm);margin-bottom:var(--spacing-xs)}.stat-value{font-size:var(--font-size-xl)}.sessions-card{margin-bottom:var(--spacing-xl)}.sessions-card .empty-state-icon{color:var(--text-secondary);opacity:.5}.sessions-table-container{border-radius:8px;max-height:400px;overflow-y:auto}.sessions-table-container::-webkit-scrollbar{width:8px}.sessions-table-container::-webkit-scrollbar-track{background:var(--bg-surface);border-radius:4px}.sessions-table-container::-webkit-scrollbar-thumb{background:var(--border-300);border-radius:4px}.sessions-table-container::-webkit-scrollbar-thumb:hover{background:var(--text-disabled)}.sessions-table-container thead{background:var(--surface-elevated);box-shadow:0 1px 2px #0000001a;position:-webkit-sticky;position:sticky;top:0;z-index:1}.image-modal-overlay{align-items:center;animation:fadeIn .2s ease;background:#000000d9;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.image-modal-content{align-items:center;animation:scaleIn .2s ease;display:flex;flex-direction:column;max-height:90vh;max-width:90vw;position:relative}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.image-modal-close{align-items:center;background:#ffffff1a;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:36px;justify-content:center;position:absolute;right:-40px;top:-40px;transition:background .2s ease;width:36px}.image-modal-close:hover{background:#fff3}.image-modal-close:focus{outline:2px solid #fff;outline-offset:2px}.image-modal-image-container{border-radius:var(--radius-xl);box-shadow:0 20px 60px #00000080;overflow:hidden}.image-modal-image{display:block;height:auto;max-height:400px;max-width:400px;object-fit:cover;width:auto}.image-modal-placeholder{align-items:center;background:linear-gradient(135deg,var(--brand-500) 0,var(--brand-600) 100%);border-radius:var(--radius-xl);display:flex;height:280px;justify-content:center;width:280px}.image-modal-initials{color:#fff;font-size:80px;font-weight:700;text-transform:uppercase}.image-modal-name{color:#fff;font-size:var(--font-size-lg);font-weight:600;margin-top:var(--spacing-lg);text-align:center}@media (max-width:1280px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:1024px){.dashboard-header{flex-direction:column}.header-profile-card{max-width:none;width:100%}}@media (max-width:768px){.stats-grid{grid-template-columns:1fr}.stat-card-content{flex-direction:column;text-align:center}.welcome-title{font-size:var(--font-size-xl)}.header-profile-card{align-items:center;flex-direction:column;text-align:center}.header-profile-detail{justify-content:center}.header-profile-status{display:flex;justify-content:center}.image-modal-close{right:0;top:-30px}.image-modal-image{max-height:300px;max-width:300px}.image-modal-placeholder{height:240px;width:240px}.image-modal-initials{font-size:60px}}@media (max-width:480px){.welcome-title{font-size:var(--font-size-lg)}.header-profile-avatar{height:64px;width:64px}.avatar-initials{font-size:var(--font-size-lg)}}.enrol-page-modern{background:var(--surface-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:100vh;padding:24px 20px}.enrol-container-modern{background:var(--surface-primary);border-radius:16px;box-shadow:0 4px 24px #0000000f;margin:0 auto;max-width:900px;overflow:hidden}.enrol-header-modern{background:var(--brand-color);color:var(--text-on-brand);padding:32px 40px 24px;text-align:center}.enrol-header-modern h1{font-size:28px;font-weight:700;letter-spacing:-.5px;margin:0 0 6px}.enrol-header-modern .subtitle{font-size:14px;font-weight:400;margin:0;opacity:.95}.stepper-modern{background:var(--surface-primary);border-bottom:1px solid var(--border-200);display:flex;justify-content:space-between;padding:24px 40px;position:relative}.stepper-modern:before{background:var(--border-200);content:"";height:2px;left:40px;position:absolute;right:40px;top:40px;z-index:0}.stepper-item{flex:1 1;flex-direction:column;gap:8px;position:relative;z-index:1}.stepper-circle,.stepper-item{align-items:center;display:flex}.stepper-circle{background:var(--surface-elevated);border:2px solid var(--border-200);border-radius:50%;color:var(--text-secondary);font-size:14px;font-weight:600;height:36px;justify-content:center;transition:all .3s ease;width:36px}.stepper-item.active .stepper-circle{background:var(--brand-color);border-color:var(--brand-color);box-shadow:0 0 0 4px #2563eb1a;color:var(--text-on-brand)}.stepper-item.completed .stepper-circle{background:var(--success-color);border-color:var(--success-color);color:var(--text-on-brand)}.stepper-label{color:var(--text-secondary);font-size:12px;font-weight:500;line-height:1.3;text-align:center}.stepper-item.active .stepper-label{color:var(--brand-color);font-weight:600}.stepper-item.completed .stepper-label{color:var(--success-color)}.step-content-modern{padding:32px 40px 40px}.form-step-modern{animation:fadeIn .3s ease}.step-header{margin-bottom:24px}.step-header h2{color:var(--text-primary);font-size:22px;font-weight:700;letter-spacing:-.3px;margin:0 0 4px}.step-header p{color:var(--text-secondary);font-size:14px;margin:0}.form-section{display:flex;flex-direction:column;gap:20px}.section-divider{background:var(--border-200);height:1px;margin:12px 0}.section-label{align-items:center;color:var(--text-primary);display:flex;font-size:15px;font-weight:600;gap:8px;margin-bottom:16px}.section-label .hint{color:var(--text-placeholder);font-size:13px;font-weight:400;margin-left:4px}.bank-gst-section{background:var(--bg-secondary);border:1px solid var(--border-200);border-radius:12px;gap:16px;padding:16px}.bank-gst-section,.input-group{display:flex;flex-direction:column}.input-group{gap:8px}.input-group label{align-items:center;color:var(--text-primary);display:flex;font-size:13px;font-weight:600;gap:6px}.input-group label svg{height:16px;width:16px}.input-group input{background:var(--surface-primary);border:2px solid var(--border-200);border-radius:8px;color:var(--text-primary);font-size:15px;padding:12px 14px;transition:all .2s ease}.input-group input::placeholder{color:var(--text-placeholder)}.input-group input:focus{border-color:var(--brand-color);box-shadow:0 0 0 3px #2563eb1a;outline:none}.input-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.checkbox-section{display:flex;flex-direction:column}.checkbox-grid-modern{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}.checkbox-card{align-items:flex-start;background:var(--surface-primary);border:2px solid var(--border-200);border-radius:8px;cursor:pointer;display:flex;min-height:54px;padding:12px 14px;position:relative;transition:all .2s ease}.checkbox-card:hover{background:var(--surface-elevated);border-color:var(--border-300)}.checkbox-card input[type=checkbox]{cursor:pointer;flex-shrink:0;height:18px;margin:2px 12px 0 0;width:18px}.checkbox-card input[type=checkbox]:checked+.checkbox-label{color:var(--brand-color);font-weight:600}.checkbox-card:has(input:checked){background:var(--surface-elevated);border-color:var(--brand-color)}.checkbox-label{word-wrap:break-word;flex:1 1;line-height:1.5;overflow-wrap:break-word;-webkit-user-select:none;user-select:none}.checkbox-label.numbered{align-items:flex-start;display:flex;gap:8px}.checkbox-label .number{color:var(--brand-color);flex-shrink:0;font-size:13px;font-weight:700;min-width:65px}.toggle-buttons{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr);margin-bottom:24px}.toggle-btn{background:var(--surface-primary);border:2px solid var(--border-200);border-radius:10px;color:var(--text-primary);font-size:15px;gap:8px;justify-content:center;padding:16px 20px;text-align:center;transition:all .2s ease}.toggle-btn:hover{border-color:var(--border-300)}.toggle-btn.active{border-color:var(--brand-color)}.info-box{background:var(--surface-elevated);border:1px solid var(--brand-color);border-radius:10px;color:var(--brand-color-dark);font-size:14px;line-height:1.6;padding:20px;text-align:center}.topics-section{display:flex;flex-direction:column;gap:12px}.topic-card{background:var(--surface-primary);border:2px solid var(--border-200);border-radius:10px;margin-bottom:8px;overflow:hidden;transition:all .2s ease}.topic-card:hover{border-color:var(--border-300)}.topic-card-header{align-items:center;background:var(--surface-elevated);border:none;cursor:pointer;display:flex;justify-content:space-between;padding:14px 16px;transition:background .2s ease;width:100%}.topic-card-header:hover{background:var(--surface-secondary)}.topic-card-header h4{color:var(--text-primary);font-size:15px;font-weight:600;margin:0 0 2px}.topic-count{color:var(--text-secondary);font-size:12px;font-weight:500}.topic-card-body{animation:slideDown .3s ease;background:var(--surface-primary);padding:16px}.upload-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.upload-card{background:var(--surface-elevated);border:2px solid var(--border-200);border-radius:10px;display:flex;flex-direction:column;gap:12px;padding:18px 20px;transition:all .2s ease}.upload-card:hover{border-color:var(--border-300)}.upload-header{align-items:flex-start;display:flex;gap:12px}.upload-header svg{color:var(--text-secondary);flex-shrink:0;height:18px;margin-top:2px;width:18px}.upload-header h4{color:var(--text-primary);font-size:15px;font-weight:600;margin:0 0 2px}.upload-header p{color:var(--text-secondary);font-size:14px;line-height:1.5;margin:0}.file-input{display:none}.upload-button{background:var(--brand-color);border-radius:8px;color:var(--text-on-brand);cursor:pointer;display:inline-block;font-size:14px;font-weight:600;padding:12px 24px;text-align:center;transition:all .2s ease}.upload-button:hover{background:var(--brand-color-hover);transform:translateY(-1px)}.upload-success{align-items:center;background:var(--success-tint-bg);border-radius:8px;color:var(--success-color-dark);display:flex;font-size:14px;font-weight:600;gap:8px;padding:12px 16px}.form-actions-modern{border-top:1px solid var(--border-200);display:flex;gap:16px;justify-content:space-between;padding:32px 48px 48px}.btn-secondary-modern{background:var(--surface-primary);border:2px solid var(--border-200);border-radius:10px;color:var(--text-primary);cursor:pointer;font-size:16px;font-weight:600;padding:14px 32px;transition:all .2s ease}.btn-secondary-modern:hover{background:var(--surface-elevated);border-color:var(--border-300)}.btn-primary-modern{background:var(--brand-color);border:none;border-radius:10px;color:var(--text-on-brand);cursor:pointer;flex:1 1;font-size:16px;font-weight:600;padding:14px 32px;transition:all .2s ease}.btn-primary-modern:hover:not(:disabled){background:var(--brand-color-hover);box-shadow:0 4px 16px #2563eb4d;transform:translateY(-1px)}.btn-primary-modern:disabled{cursor:not-allowed;opacity:.5;transform:none}.btn-primary-modern.submit{background:var(--success-color)}.btn-primary-modern.submit:hover:not(:disabled){box-shadow:0 4px 16px #10b9814d}.declaration-section{background:var(--surface-elevated);border:2px solid var(--border-200);border-radius:12px;margin-top:24px;padding:24px}.declaration-section h3{color:var(--text-primary);font-size:18px;font-weight:600;margin:0 0 16px}.declaration-checkbox{align-items:flex-start;cursor:pointer;display:flex;gap:12px}.declaration-checkbox input[type=checkbox]{cursor:pointer;flex-shrink:0;height:20px;margin-top:2px;width:20px}.declaration-text{color:var(--text-primary);font-size:14px;line-height:1.6;-webkit-user-select:none;user-select:none}@media (max-width:768px){.enrol-page-modern{padding:20px 16px}.enrol-container-modern{border-radius:12px}.enrol-header-modern{padding:32px 24px 24px}.enrol-header-modern h1{font-size:24px}.enrol-header-modern .subtitle{font-size:14px}.stepper-modern{overflow-x:auto;padding:24px 16px}.stepper-modern:before{left:16px;right:16px}.stepper-circle{font-size:14px;height:36px;width:36px}.stepper-label{font-size:11px;max-width:80px}.step-content-modern{padding:32px 24px}.step-header h2{font-size:20px}.step-header p{font-size:14px}.checkbox-grid-modern,.input-row,.toggle-buttons,.upload-grid{grid-template-columns:1fr}.form-actions-modern{flex-direction:column;padding:24px}.btn-primary-modern,.btn-secondary-modern{width:100%}}@media (max-width:480px){.stepper-label{display:none}.stepper-modern{justify-content:space-evenly}}.faculty-schedule-page{margin:0 auto;max-width:1800px;padding:24px}.batch-table-container{background:var(--surface-primary);border:1px solid var(--border-200);border-radius:12px;box-shadow:var(--shadow-sm);overflow:hidden}.batch-table{border-collapse:collapse;width:100%}.batch-table thead{background:var(--surface-elevated);border-bottom:2px solid var(--border-200)}.batch-table th{color:var(--text-primary);font-size:13px;font-weight:600;letter-spacing:.5px;padding:16px;text-align:left;text-transform:uppercase}.batch-row{border-bottom:1px solid var(--surface-elevated);transition:background .15s}.batch-row:hover{background:var(--surface-elevated)}.batch-table td{color:var(--text-primary);font-size:14px;padding:16px;vertical-align:middle}.asset-class-badge{background:var(--surface-elevated);border-radius:12px;color:var(--brand-color-dark);font-size:12px;font-weight:600;padding:4px 12px}.status-summary{display:flex;flex-wrap:wrap;gap:12px}.status-item{font-size:13px;font-weight:600}.status-item.accepted{color:var(--success-color-dark)}.status-item.pending{color:var(--warning-color-dark)}.status-item.rejected{color:var(--danger-color-dark)}.expanded-panel{border-top:2px solid var(--border-200);padding:24px}.panel-header{align-items:center;margin-bottom:20px}.panel-header h3{color:var(--text-primary);font-size:18px;font-weight:600;margin:0}.panel-view-toggle{background:var(--surface-primary);border:1px solid var(--border-200);border-radius:8px;display:flex;gap:8px;padding:4px}.toggle-btn{background:#0000;border-radius:6px;color:var(--text-secondary);font-size:14px;padding:8px 16px}.toggle-btn:hover{background:var(--surface-elevated);color:var(--text-primary)}.toggle-btn.active{background:var(--brand-color);color:var(--text-on-brand)}.sessions-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.session-card-compact{background:var(--surface-primary);border:1px solid var(--border-200);border-radius:8px;padding:16px;transition:all .2s}.session-card-compact:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.session-header-row{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.session-topic{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;gap:8px}.new-badge{border-radius:4px;color:var(--brand-color-dark);font-size:11px;font-weight:600;padding:2px 8px}.new-badge,.session-details-row{background:var(--surface-elevated)}.session-details-row{grid-gap:8px;border-radius:6px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr);margin-bottom:12px;padding:12px}.detail-item .icon{font-size:14px}.session-actions{gap:8px}.btn-accept,.btn-reject{border-radius:6px;flex:1 1;font-size:13px;padding:8px}.btn-accept{background:var(--success-tint-bg);color:var(--success-color-dark)}.btn-accept:hover{background:var(--success-color)}.sessions-list{background:var(--surface-primary);border:1px solid var(--border-200);border-radius:8px;overflow:hidden}.list-header{background:var(--surface-elevated);border-bottom:2px solid var(--border-200);color:var(--text-primary);display:grid;font-size:13px;font-weight:600;grid-template-columns:2fr 1fr 1.5fr .8fr 1.2fr 1fr;text-transform:uppercase}.list-header .list-cell{padding:12px 16px}.session-list-row{border-bottom:1px solid var(--surface-elevated);display:grid;grid-template-columns:2fr 1fr 1.5fr .8fr 1.2fr 1fr;transition:background .15s}.session-list-row:hover{background:var(--surface-elevated)}.list-cell{align-items:center;color:var(--text-primary);display:flex;font-size:14px;padding:12px 16px}.topic-cell{align-items:flex-start}.actions-cell{gap:8px}.btn-icon-small{background:var(--surface-primary);border:1px solid var(--border-200);border-radius:6px;cursor:pointer;font-size:14px;padding:6px 10px;transition:all .2s}.btn-icon-small.accept:hover{background:var(--success-tint-bg);border-color:var(--success-color-dark)}.btn-icon-small.reject:hover{background:var(--danger-tint-bg);border-color:var(--danger-color-dark)}.page-header-new{align-items:center;display:flex;justify-content:space-between;margin-bottom:32px}.page-header-new h1{color:var(--text-primary);font-size:32px;font-weight:700;margin-bottom:4px}.page-header-new p{color:var(--text-secondary);font-size:15px}.filter-bar{align-items:center;background:var(--surface-primary);border:1px solid var(--border-200);border-radius:12px;box-shadow:0 1px 3px #0000000d;display:flex;gap:16px;justify-content:space-between;margin-bottom:24px;padding:16px 20px}.filter-left,.filter-right{align-items:center;display:flex;gap:12px}.search-box{background:var(--surface-elevated);border:1px solid var(--border-200);min-width:280px;padding:8px 12px}.search-box svg{color:var(--text-placeholder)}.search-box input{background:#0000;color:var(--text-primary);width:100%}.search-box input::placeholder{color:var(--text-placeholder)}.filter-select{background:var(--surface-primary);border:1px solid var(--border-200);border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:14px;font-weight:500;padding:8px 12px;transition:all .15s}.filter-select:hover{border-color:var(--border-300)}.filter-select:focus{border-color:var(--brand-color);box-shadow:0 0 0 3px #4299e11a;outline:none}.btn-archive-toggle{align-items:center;background:var(--surface-primary);border:1px solid var(--border-200);border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:8px 14px;transition:all .15s}.btn-archive-toggle:hover{background:var(--surface-elevated);border-color:var(--border-300)}.btn-archive-toggle.active{background:var(--surface-elevated);border-color:var(--brand-color);color:var(--brand-color-dark)}.view-toggle{background:var(--surface-primary);overflow:hidden}.view-toggle button{justify-content:center}.view-toggle button:not(:last-child){border-right:1px solid var(--border-200)}.view-toggle button:hover{background:var(--surface-elevated)}.view-toggle button.active{background:var(--brand-color);color:var(--text-on-brand)}.loading{color:var(--text-secondary);font-size:16px;padding:60px 20px;text-align:center}.empty-state{border:2px dashed var(--border-200)}.empty-state svg{color:var(--border-300)}.empty-state h3{font-size:20px}.empty-state p{font-size:15px}.content-area{min-height:400px}.batches-container{display:flex;flex-direction:column;gap:16px}.batch-section{background:var(--surface-primary);border:1px solid var(--border-200);border-radius:12px;box-shadow:0 1px 3px #0000000d;overflow:hidden;transition:all .2s}.batch-section:hover{border-color:var(--border-300);box-shadow:0 4px 12px #00000014}.batch-header{align-items:center;border-bottom:1px solid var(--border-200);cursor:pointer;display:flex;justify-content:space-between;padding:20px 24px;transition:background .15s}.batch-header:hover{background:var(--surface-elevated)}.batch-header-left{display:flex;flex:1 1;flex-direction:column;gap:8px}.batch-header-right{align-items:center;display:flex;gap:16px}.batch-title{color:var(--text-primary);font-size:18px;font-weight:600;margin:0}.batch-stats{align-items:center;display:flex;font-size:13px;gap:16px}.stat-text{color:var(--text-secondary);font-weight:500}.stat-accepted{color:var(--success-color-dark);font-weight:600}.stat-pending{color:var(--warning-color);font-weight:600}.stat-rejected{color:var(--danger-color);font-weight:600}.btn-archive-icon{align-items:center;background:#0000;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:6px;transition:all .15s}.btn-archive-icon:hover{background:var(--surface-elevated);color:var(--brand-color)}.toggle-icon{color:var(--text-placeholder);font-size:12px}.sessions-list{background:var(--surface-elevated);display:flex;flex-direction:column;gap:12px;padding:20px 24px}.session-card{background:var(--surface-primary);border:1px solid var(--border-200);border-radius:10px;padding:18px;transition:all .2s}.session-card:hover{border-color:var(--border-300);box-shadow:0 2px 8px #0000000f}.session-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.session-header h3{color:var(--text-primary);font-size:16px;font-weight:600}.status-badge{border-radius:20px;gap:4px}.status-badge.accepted{background:var(--success-tint-bg);color:var(--success-color-dark)}.status-badge.pending{background:var(--warning-tint-bg);color:var(--warning-color-dark)}.session-details{display:flex;flex-wrap:wrap;gap:24px;margin-bottom:14px}.detail-item{font-size:14px}.session-actions{border-top:1px solid var(--border-200);display:flex;gap:10px;margin-top:16px;padding-top:16px}.btn-accept,.btn-reject{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;padding:10px 18px;transition:all .2s}.btn-accept{background:var(--success-color);color:var(--text-on-brand)}.btn-accept:hover{background:var(--success-color-dark);box-shadow:0 4px 12px #48bb784d;transform:translateY(-1px)}.btn-reject{background:var(--danger-color);color:var(--text-on-brand)}.btn-reject:hover{background:var(--danger-color-dark);box-shadow:0 4px 12px #f565654d;transform:translateY(-1px)}.batch-section-card{background:var(--surface-primary);border:1px solid var(--border-200);border-radius:12px;box-shadow:0 1px 3px #0000000d;margin-bottom:24px;padding:24px}.batch-header-card{align-items:center;border-bottom:2px solid var(--border-200);display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.batch-header-card h2{color:var(--text-primary);font-size:20px;font-weight:600}.btn-archive-small{align-items:center;background:var(--surface-elevated);border:1px solid var(--border-200);border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:8px 14px;transition:all .15s}.btn-archive-small:hover{background:var(--surface-secondary);border-color:var(--border-300)}.cards-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.session-card-grid{background:var(--surface-primary);border:1px solid var(--border-200);border-radius:10px;display:flex;flex-direction:column;height:100%;padding:20px;transition:all .2s}.session-card-grid:hover{border-color:var(--brand-color);box-shadow:0 4px 16px #4299e126;transform:translateY(-2px)}.card-header{border-bottom:1px solid var(--border-200);flex-direction:column;gap:10px;padding-bottom:16px}.card-batch-name{color:var(--brand-color);font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.card-topic{color:var(--text-primary);font-size:16px;font-weight:600;margin:0}.card-details{display:flex;flex:1 1;flex-direction:column;gap:12px}.detail-row{align-items:center;color:var(--text-secondary);font-size:14px;gap:10px}.detail-row svg{color:var(--text-placeholder);flex-shrink:0}.card-actions{border-top:1px solid var(--border-200);margin-top:16px;padding-top:16px}.btn-accept-card,.btn-reject-card{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;flex:1 1;font-size:13px;font-weight:600;gap:6px;justify-content:center;padding:10px;transition:all .2s}.btn-accept-card{background:var(--success-color);color:var(--text-on-brand)}.btn-accept-card:hover{background:var(--success-color-dark);transform:translateY(-1px)}.btn-reject-card{background:var(--danger-color);color:var(--text-on-brand)}.btn-reject-card:hover{background:var(--danger-color-dark);transform:translateY(-1px)}@media (max-width:1024px){.cards-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.filter-bar{align-items:stretch;flex-direction:column}.filter-left,.filter-right{justify-content:space-between}}@media (max-width:768px){.faculty-schedule-page{padding:16px}.page-header-new h1{font-size:24px}.cards-grid{grid-template-columns:1fr}.card-details,.session-details{flex-direction:column;gap:10px}.search-box{min-width:100%}.filter-select{flex:1 1}}.assign-page{max-width:1200px}.invoice-page{margin:0 auto;max-width:1400px;padding:24px}.page-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.year-filter-group{align-items:center;background:var(--surface-primary);border:2px solid var(--brand-color);border-radius:8px;display:flex;gap:10px;padding:8px 16px}.year-filter-group label{color:var(--text-primary);font-size:14px;font-weight:600;white-space:nowrap}.year-select-enhanced{background:var(--surface-primary);border:1px solid var(--border-300);border-radius:6px;color:var(--brand-color-dark);cursor:pointer;font-size:15px;font-weight:600;min-width:100px;padding:8px 16px}.year-select-enhanced:focus{border-color:var(--brand-color);box-shadow:0 0 0 3px #3b82f61a;outline:none}.view-btn{white-space:nowrap}.spinner.small{border-width:2px;height:20px;width:20px}.table-container{margin-bottom:24px}.gst-input-inline{border:1px solid var(--border-300);border-radius:4px;font-family:inherit}.gst-input-inline:focus{border-color:var(--brand-color);box-shadow:0 0 0 2px #3b82f61a;outline:none}.btn-icon-action{background:var(--surface-primary);border:1px solid var(--border-200);border-radius:6px;cursor:pointer;font-size:18px;padding:8px 12px;transition:all .2s}.btn-icon-action:hover{background:var(--surface-elevated);transform:scale(1.1)}.btn-icon-action.archive:hover{background:var(--warning-tint-bg);border-color:var(--warning-color)}.btn-icon-action.unarchive:hover{background:var(--success-tint-bg);border-color:var(--success-color-dark)}.btn-expand{background:var(--surface-primary);border:2px solid var(--brand-color);border-radius:6px;color:var(--brand-color);cursor:pointer;font-size:18px;font-weight:700;padding:6px 14px;transition:all .2s}.btn-expand:hover{background:var(--brand-color);color:var(--text-on-brand)}.invoice-row{transition:background .15s}.expanded-row,.invoice-row:hover{background:var(--surface-elevated)}.expanded-panel-invoice{border-top:1px solid var(--border-200);padding:var(--spacing-md)}.expanded-panel-invoice h4{color:var(--text-primary);font-size:16px;font-weight:600;margin-bottom:16px}.spinner-small{animation:spin 1s linear infinite;border-top:2px solid var(--surface-elevated);border:2px solid var(--surface-elevated);border-radius:50%;border-top-color:var(--brand-color);height:16px;width:16px}.invoice-card{border-radius:var(--radius-lg);padding:var(--spacing-lg)}.invoice-header{align-items:flex-start;border-bottom:1px solid var(--border-200);display:flex;justify-content:space-between;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md)}.invoice-header h3{color:var(--text-primary);font-size:var(--font-size-lg);font-weight:600;margin-bottom:8px}.invoice-details{margin-bottom:20px}.detail-row{border-bottom:1px solid var(--surface-elevated);display:flex;justify-content:space-between;padding:8px 0}.detail-row .label{color:var(--text-secondary);font-size:14px}.detail-row .value{color:var(--text-primary);font-size:14px;font-weight:600}.sessions-section{margin:24px 0}.sessions-section h4{color:var(--text-primary);font-size:16px;font-weight:600;margin-bottom:12px}.sessions-table{overflow-x:auto}.sessions-table table{border-collapse:collapse;width:100%}.gst-section{background:var(--surface-elevated);border-radius:8px;margin:20px 0;padding:16px}.gst-section label{color:var(--text-primary);display:block;font-size:14px;font-weight:600;margin-bottom:8px}.gst-input{border:1px solid var(--border-300);border-radius:6px;font-size:14px;margin-bottom:12px;padding:10px 12px;width:100%}.gst-input:focus{border-color:var(--brand-color);box-shadow:0 0 0 3px #3b82f61a;outline:none}.final-amount{align-items:center;background:var(--surface-primary);border-radius:6px;display:flex;font-size:16px;justify-content:space-between;padding:12px}.final-amount .amount{color:var(--success-color-dark);font-size:20px;font-weight:700}.upload-section{margin:20px 0}.upload-label{align-items:center;border:2px dashed var(--border-300);border-radius:8px;cursor:pointer;display:flex;gap:16px;padding:20px;transition:all .2s}.upload-label,.upload-label:hover{background:var(--surface-elevated)}.upload-label:hover{border-color:var(--brand-color)}.upload-icon{font-size:32px}.upload-title{color:var(--text-primary);font-size:14px;font-weight:600}.upload-subtitle{color:var(--text-secondary);font-size:12px}.uploading{align-items:center;color:var(--brand-color);display:flex;font-weight:600;gap:12px}.rejection-notice{background:var(--danger-tint-bg);border-left:4px solid var(--danger-color);border-radius:8px;margin:16px 0;padding:16px}.rejection-notice strong{color:var(--danger-color-dark);display:block;margin-bottom:8px}.rejection-notice p{color:var(--danger-color-dark);font-size:14px;margin:0}.file-info{align-items:center;background:var(--success-tint-bg);border-radius:8px;display:flex;gap:12px;margin:16px 0;padding:16px}.file-icon{font-size:28px}.file-name{font-size:14px;font-weight:600}.file-name,.file-status{color:var(--success-color-dark)}.file-status{font-size:12px}.payment-info{background:var(--surface-elevated);border-radius:8px;margin-top:20px;padding:16px}.payment-info h4{color:var(--brand-color-dark);font-size:16px;font-weight:600;margin-bottom:12px}.amount-summary{background:var(--surface-elevated);border:2px solid var(--border-200);border-radius:8px;margin:20px 0;padding:16px}.amount-summary .detail-row.highlight{background:var(--surface-elevated);border-radius:6px;margin-top:8px;padding:12px}.amount-summary .final-value{color:var(--success-color-dark);font-size:18px;font-weight:700}.sessions-breakdown-table{border-collapse:collapse;margin-bottom:16px;width:100%}.sessions-breakdown-table thead{background:var(--surface-elevated)}.sessions-breakdown-table th{border-bottom:1px solid var(--border-200);color:var(--text-primary);font-size:13px;font-weight:600;padding:12px;text-align:left}.sessions-breakdown-table td{border-bottom:1px solid var(--surface-elevated);color:var(--text-primary);font-size:14px;padding:12px}.sessions-breakdown-table tbody tr:last-child td{border-bottom:none}.payment-info-inline,.sessions-breakdown-table tbody tr:hover{background:var(--surface-elevated)}.payment-info-inline{border-radius:8px;margin-top:16px;padding:16px}.payment-info-inline h4{color:var(--brand-color-dark);font-size:16px;font-weight:600;margin-bottom:12px}.payment-grid{grid-gap:12px;color:var(--brand-color-dark);display:grid;font-size:14px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}@media (max-width:768px){.table-container{overflow-x:auto}.view-controls{width:100%}.page-header{align-items:flex-start;flex-direction:column}}.amount-breakdown-section-faculty{border-top:2px solid var(--border-200);margin-top:32px;padding-top:24px}.amount-breakdown-section-faculty h4{color:var(--text-primary);font-size:16px;font-weight:600;margin:0 0 16px}.amount-breakdown-card-faculty{background:var(--surface-elevated);border:2px solid var(--brand-color);border-radius:12px;box-shadow:0 4px 12px #3b82f61a;padding:24px}.amount-row-faculty{align-items:center;display:flex;justify-content:space-between;padding:12px 0}.amount-label-faculty{color:var(--text-primary);font-size:15px;font-weight:500}.amount-value-faculty{color:var(--brand-color-dark);font-size:16px;font-weight:600}.amount-divider-faculty{background:var(--brand-color);height:1px;margin:8px 0}.amount-divider-thick-faculty{background:var(--brand-color);height:2px;margin:16px 0}.amount-total-faculty{padding:16px 0 0!important}.amount-label-total-faculty{color:var(--text-primary);font-size:18px;font-weight:700}.amount-value-total-faculty{color:var(--brand-color-dark);font-size:24px;font-weight:700}.btn-download-word-faculty{align-items:center;background:var(--brand-color);border:none;border-radius:8px;color:var(--text-on-brand);cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:8px;justify-content:center;margin-top:20px;padding:14px 24px;transition:all .2s;width:100%}.btn-download-word-faculty:hover{background:var(--brand-color-hover);box-shadow:0 4px 12px #3b82f64d;transform:translateY(-2px)}.invoice-step{background:var(--surface-primary);border:2px solid var(--border-200);border-radius:12px;margin-bottom:32px;overflow:hidden}.invoice-step:last-child{margin-bottom:0}.step-header{align-items:center;border-bottom:2px solid var(--brand-color);display:flex;gap:12px;padding:16px 20px;transition:all .2s}.step-header,.step-header:hover{background:var(--surface-elevated)}.step-number{align-items:center;background:var(--brand-color);border-radius:50%;color:var(--text-on-brand);display:flex;flex-shrink:0;font-size:16px;font-weight:700;height:36px;justify-content:center;width:36px}.step-header h4{color:var(--text-primary);flex:1 1;font-size:16px;font-weight:600;margin:0}.step-toggle{align-items:center;background:var(--surface-primary);border:2px solid var(--brand-color);border-radius:50%;color:var(--brand-color);display:flex;flex-shrink:0;font-size:20px;font-weight:700;height:28px;justify-content:center;transition:all .2s;width:28px}.step-header:hover .step-toggle{background:var(--brand-color);color:var(--text-on-brand);transform:scale(1.1)}.step-content{padding:20px}.step-description{color:var(--text-secondary);font-size:14px;line-height:1.6;margin-bottom:16px}.upload-area{margin:20px 0}.upload-label-step3{align-items:center;background:var(--surface-elevated);border:2px dashed var(--border-300);border-radius:8px;cursor:pointer;display:flex;gap:16px;padding:24px;transition:all .2s}.upload-label-step3:hover{background:var(--surface-elevated);border-color:var(--brand-color)}.gst-section-step3{background:var(--surface-elevated);border:2px solid var(--border-200);border-radius:8px;margin:20px 0;padding:20px}.gst-checkbox-label{align-items:center;color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:10px;margin-bottom:16px}.gst-checkbox-label input[type=checkbox]{cursor:pointer;height:18px;width:18px}.gst-inputs-container{margin-top:16px}.gst-inputs{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:12px}.btn-update-gst{background:var(--brand-color);border:none;border-radius:6px;color:var(--text-on-brand);cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s;width:100%}.btn-update-gst:hover{background:var(--brand-color-hover);box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.gst-field label{color:var(--text-primary);display:block;font-size:13px;font-weight:600;margin-bottom:6px}.gst-input-field{border:2px solid var(--border-300);border-radius:6px;font-size:14px;padding:10px 12px;transition:all .2s;width:100%}.gst-input-field:focus{border-color:var(--brand-color);box-shadow:0 0 0 3px #3b82f61a;outline:none}.action-buttons-step3{border-top:2px solid var(--border-200);display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px}.btn-cancel-step3{background:var(--surface-primary);border:2px solid var(--border-200);border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s}.btn-cancel-step3:hover{background:var(--surface-elevated);border-color:var(--border-300)}.btn-draft-step3{background:var(--brand-color);border:none;border-radius:8px;color:var(--text-on-brand);cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s}.btn-draft-step3:hover{background:var(--brand-color-hover);box-shadow:0 4px 12px #6366f14d;transform:translateY(-1px)}.btn-draft-step3:disabled{cursor:not-allowed;opacity:.6;transform:none}.btn-submit-step3{background:var(--success-color);border:none;border-radius:8px;color:var(--text-on-brand);cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s}.btn-submit-step3:hover{background:var(--success-color-dark);box-shadow:0 4px 12px #10b9814d;transform:translateY(-1px)}.btn-submit-step3:disabled{cursor:not-allowed;opacity:.6;transform:none}.file-uploaded-info{background:var(--success-tint-bg);border-radius:6px;color:var(--success-color-dark);font-size:14px;font-weight:600;margin-top:16px;padding:12px;text-align:center}.existing-file-notice{background:var(--warning-tint-bg);border:2px solid var(--warning-color);border-radius:8px;margin-bottom:20px;padding:16px}.file-info-box{align-items:center;display:flex;gap:12px;margin-bottom:8px}.file-icon-large{font-size:32px}.file-details strong{color:var(--warning-color-dark);display:block;font-size:14px;font-weight:600;margin-bottom:4px}.file-details p{color:var(--warning-color-dark);font-size:13px;margin:0}.replace-instruction{color:var(--warning-color-dark);font-size:12px;font-style:italic;margin:8px 0 0}.draft-submit-section{border-top:2px solid var(--border-200);margin-top:24px;padding-top:20px}.draft-info{color:var(--text-secondary);font-size:14px;margin-bottom:16px;text-align:center}.btn-submit-draft{background:var(--success-color);border:none;border-radius:8px;color:var(--text-on-brand);cursor:pointer;font-size:15px;font-weight:600;padding:14px 24px;transition:all .2s;width:100%}.btn-submit-draft:hover{background:var(--success-color-dark);box-shadow:0 4px 12px #10b9814d;transform:translateY(-1px)}.btn-submit-draft:disabled{cursor:not-allowed;opacity:.6;transform:none}@media (max-width:768px){.gst-inputs{grid-template-columns:1fr}.action-buttons-step3{flex-direction:column}.action-buttons-step3 button{width:100%}}@media print{*{box-shadow:none!important;filter:none!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;text-shadow:none!important}*,body,html{background:#fff!important;background-color:#fff!important;color:#000!important}body,html{margin:0!important;padding:0!important}.action-buttons,.action-buttons-step3,.btn,.btn-icon,.btn-primary,.btn-secondary,.drag-drop-zone,.file-preview,.filter-bar,.filters-bar,.gst-inputs,.gst-section,.header,.modal,.modal-overlay,.navbar,.no-print,.page-header,.sidebar,.status-tabs,.step-toggle,.toast,.topbar,.upload-section,.view-btn,.view-controls,.year-filter-group,[class*=navbar],[class*=sidebar],[class*=topbar],button,input[type=file],nav,select,textarea{display:none!important;visibility:hidden!important}.invoice-page{background:#fff!important;margin:0!important;max-width:100%!important;padding:0!important}.invoices-table,.invoices-table *{background:#fff!important;color:#000!important;visibility:visible!important}.invoices-table{background:#fff!important;border-collapse:collapse!important;width:100%!important}.invoices-table td,.invoices-table th{background:#fff!important;border:1px solid #333!important;color:#000!important;padding:8px 10px!important;text-align:left!important}.invoices-table th{background:#f0f0f0!important;font-weight:600!important}.invoices-table tr{break-inside:avoid!important;page-break-inside:avoid!important}.invoices-table thead{display:table-header-group!important}.expanded-panel-invoice{background:#fff!important;border:1px solid #333!important;padding:16px!important}.invoice-step{background:#fff!important;border:none!important;border-bottom:1px solid #ccc!important;padding:12px 0!important}.amount-section,.amount-summary,.detail-row,.step-content,.step-header{background:#fff!important;color:#000!important}.amount-section,.amount-summary,.detail-row{border-color:#ccc!important}.amount-label,.amount-value,.amount-value-faculty{color:#000!important}.badge,.status-badge{background:#f0f0f0!important;border:1px solid #333!important;color:#000!important;padding:4px 8px!important}a{color:#000!important;text-decoration:none!important}@page{size:A4 portrait;margin:15mm}[style*=gradient],[style*=linear-gradient],[style*=radial-gradient]{background:#fff!important;background-image:none!important}.box,.card,.panel,[class*=card],[class*=panel]{background:#fff!important;border:1px solid #ccc!important;box-shadow:none!important}}.faculty-payment-summary{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.payment-amount-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:140px;padding:12px}.payment-amount-card .amount-label{color:#64748b;font-size:11px;letter-spacing:.5px;text-transform:uppercase}.payment-amount-card .amount-value{color:#1e293b;font-size:16px;font-weight:700}.payment-amount-card.tds-card{background:#fef2f2;border-color:#fecaca}.payment-amount-card.tds-card .tds-amount{color:#dc2626}.payment-amount-card .tds-note{color:#9ca3af;font-size:10px;font-style:italic}.payment-amount-card.net-card{background:#ecfdf5;border-color:#a7f3d0}.payment-amount-card.net-card .net-amount{color:#059669;font-size:18px}.payment-transfer-details{background:#f1f5f9;border-radius:8px;padding:12px}.payment-transfer-details .transfer-item{border-bottom:1px solid #e2e8f0;display:flex;font-size:13px;justify-content:space-between;padding:6px 0}.payment-transfer-details .transfer-item:last-child{border-bottom:none}.payment-transfer-details .transfer-label{color:#64748b}.payment-transfer-details .transfer-value{color:#1e293b;font-weight:500}.invoices-table-modern{background:#fff;border-collapse:initial;border-radius:12px;border-spacing:0;box-shadow:0 1px 3px #00000014;font-size:13px;overflow:hidden;width:100%}.invoices-table-modern thead th{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;font-size:11px;font-weight:600;letter-spacing:.5px;padding:14px 12px;text-align:left;text-transform:uppercase}.invoices-table-modern thead th:first-child{border-top-left-radius:12px}.invoices-table-modern thead th:last-child{border-top-right-radius:12px}.invoices-table-modern tbody tr{transition:all .2s ease}.invoices-table-modern tbody tr:hover{background:#f8fafc;transform:scale(1.002)}.invoices-table-modern tbody td{border-bottom:1px solid #f1f5f9;padding:12px;vertical-align:middle}.invoice-step-compact{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 2px #0000000a;margin-bottom:12px;overflow:hidden}.step-header-compact{align-items:center;background:linear-gradient(90deg,#f8fafc,#fff);border-bottom:1px solid #0000;cursor:pointer;display:flex;padding:14px 16px;transition:all .2s ease}.step-header-compact:hover{background:linear-gradient(90deg,#f1f5f9,#f8fafc)}.step-header-compact.expanded{background:linear-gradient(90deg,#eff6ff,#f8fafc);border-bottom-color:#e2e8f0}.step-number-compact{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:12px;font-weight:700;height:28px;justify-content:center;margin-right:12px;width:28px}.step-header-compact h4{color:#1e293b;flex:1 1;font-size:14px;font-weight:600;margin:0}.step-toggle-compact{align-items:center;background:#f1f5f9;border-radius:6px;color:#64748b;display:flex;font-size:12px;height:24px;justify-content:center;transition:all .2s;width:24px}.step-header-compact:hover .step-toggle-compact{background:#e2e8f0}.step-content-compact{background:#fafbfc;padding:16px}.sessions-table-compact{background:#fff;border-collapse:collapse;border-radius:8px;font-size:12px;overflow:hidden;width:100%}.sessions-table-compact thead th{background:#f1f5f9;color:#475569;font-size:10px;font-weight:600;letter-spacing:.3px;padding:10px 12px;text-align:left;text-transform:uppercase}.sessions-table-compact tbody td{border-bottom:1px solid #f1f5f9;color:#334155;padding:10px 12px}.sessions-table-compact tbody tr:last-child td{border-bottom:none}.sessions-table-compact tbody tr:hover{background:#f8fafc}.amount-card-compact{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;padding:20px}.amount-row-compact{border-bottom:1px solid #ffffff26;display:flex;font-size:13px;justify-content:space-between;padding:8px 0}.amount-row-compact:last-child{border-bottom:none}.amount-row-compact.total{border-top:2px solid #ffffff4d;font-size:18px;font-weight:700;margin-top:8px;padding-top:12px}.amount-label-compact{opacity:.9}.amount-value-compact{font-weight:600}.gst-options-compact{display:flex;gap:12px;margin:12px 0}.gst-option-compact{background:#fff;border:2px solid #e2e8f0;border-radius:10px;cursor:pointer;flex:1 1;padding:12px 16px;transition:all .2s}.gst-option-compact:hover{background:#f8fafc;border-color:#667eea}.gst-option-compact.selected{background:linear-gradient(90deg,#eff6ff,#faf5ff);border-color:#667eea}.gst-option-compact input{margin-right:8px}.gst-option-compact label{color:#334155;cursor:pointer;font-size:13px;font-weight:500}.action-buttons-compact{display:flex;gap:10px;margin-top:16px}.btn-action-compact{align-items:center;border:none;border-radius:10px;cursor:pointer;display:flex;flex:1 1;font-size:13px;font-weight:600;gap:8px;justify-content:center;padding:12px 20px;transition:all .2s}.btn-action-compact.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-action-compact.primary:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.btn-action-compact.secondary{background:#fff;border:2px solid #667eea;color:#667eea}.btn-action-compact.secondary:hover{background:#f8fafc}.btn-action-compact.success{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.btn-action-compact.success:hover{box-shadow:0 4px 12px #10b98166;transform:translateY(-2px)}.upload-area-compact{background:#fafbfc;border:2px dashed #cbd5e1;border-radius:12px;cursor:pointer;padding:24px;text-align:center;transition:all .2s}.upload-area-compact:hover{background:#f8fafc;border-color:#667eea}.upload-area-compact.has-file{background:#f0fdf4;border-color:#10b981}.upload-icon-compact{font-size:32px;margin-bottom:8px}.upload-text-compact{color:#64748b;font-size:13px}.upload-text-compact strong{color:#667eea}.current-draft-compact{align-items:center;background:linear-gradient(90deg,#fef3c7,#fef9c3);border:1px solid #fcd34d;border-radius:10px;display:flex;gap:12px;margin-bottom:12px;padding:12px 16px}.draft-icon-compact{font-size:24px}.draft-info-compact{flex:1 1}.draft-info-compact .filename{color:#92400e;font-size:13px;font-weight:600}.draft-info-compact .hint{color:#a16207;font-size:11px}.draft-actions-compact{display:flex;gap:8px}.draft-btn-compact{border:none;border-radius:6px;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s}.draft-btn-compact.view{background:#10b981;color:#fff}.draft-btn-compact.download{background:#3b82f6;color:#fff}.paid-info-compact{background:linear-gradient(135deg,#10b981,#059669);border-radius:12px;color:#fff;padding:16px}.paid-header-compact{align-items:center;display:flex;font-size:14px;font-weight:600;gap:8px;margin-bottom:12px}.paid-grid-compact{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}.paid-item-compact{text-align:center}.paid-item-compact .label{font-size:10px;letter-spacing:.5px;opacity:.8;text-transform:uppercase}.paid-item-compact .value{font-size:14px;font-weight:600;margin-top:4px}.paid-item-compact.highlight .value{color:#fef3c7;font-size:18px}.expanded-panel-modern{background:linear-gradient(180deg,#f8fafc,#fff);border-top:3px solid #667eea;padding:16px}.status-badge-modern{font-weight:600;letter-spacing:.3px;padding:4px 10px;text-transform:uppercase}.status-badge-modern.draft{background:#fef3c7;color:#92400e}.status-badge-modern.submitted{background:#dbeafe;color:#1e40af}.status-badge-modern.approved{background:#d1fae5;color:#065f46}.status-badge-modern.rejected{background:#fee2e2;color:#991b1b}.status-badge-modern.paid{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.quick-actions-bar{gap:8px}.quick-actions-bar,.quick-btn{align-items:center;display:flex}.quick-btn{background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;font-size:14px;height:32px;justify-content:center;transition:all .2s;width:32px}.quick-btn:hover{background:#f1f5f9;transform:scale(1.1)}.quick-btn.expand{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;font-weight:700}.quick-btn.expand:hover{transform:scale(1.15)}.collapsible-sidebar{background:var(--surface-primary);border-right:1px solid var(--border-color);bottom:0;box-shadow:2px 0 8px #0000000d;display:flex;flex-direction:column;height:100vh;left:0;max-width:280px;min-width:280px;overflow:hidden;position:fixed;top:0;transition:all .3s cubic-bezier(.4,0,.2,1);width:280px;z-index:1000}.collapsible-sidebar.collapsed{max-width:80px;min-width:80px;width:80px}.sidebar-header{border-bottom:1px solid var(--border-color);display:flex;flex-direction:column;justify-content:center;min-height:110px;padding:32px 20px}.sidebar-header h1{color:var(--text-primary);font-size:24px;font-weight:800;letter-spacing:-.02em;margin:0 0 4px}.sidebar-header p{color:var(--text-secondary);font-size:13px;font-weight:500;margin:0;text-align:center}.sidebar-logo{align-items:center;display:flex;height:auto;justify-content:center;margin:0 auto 12px;width:160px}.sidebar-logo img{height:auto;max-height:60px;object-fit:contain;width:100%}.sidebar-logo-small{align-items:center;background:var(--surface-primary);border-radius:10px;display:flex;height:48px;justify-content:center;margin:0 auto;padding:4px;width:48px}.sidebar-logo-small img{height:100%;object-fit:contain;width:100%}.sidebar-toggle-btn{align-items:center;background:var(--surface-primary);border:2px solid var(--border-color);border-radius:50%;box-shadow:0 2px 8px #0000001a;color:var(--text-secondary);cursor:pointer;display:flex;height:28px;justify-content:center;position:absolute;right:-12px;top:40px;transition:all .2s;width:28px;z-index:1000}.sidebar-toggle-btn:hover{background:var(--brand-color);border-color:var(--brand-color);box-shadow:var(--shadow-md);color:var(--text-on-brand);transform:scale(1.15)}.sidebar-nav{flex:1 1;overflow-x:hidden;overflow-y:auto;padding:20px 12px}.sidebar-nav-item{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px;margin-bottom:4px;padding:12px 16px;text-align:left;transition:all .15s;white-space:nowrap;width:100%}.collapsible-sidebar.collapsed .sidebar-nav-item{justify-content:center;padding:12px}.sidebar-nav-item:hover{background:var(--surface-hover);color:var(--text-primary)}.sidebar-nav-item.active{background:var(--info-tint-bg);color:var(--brand-color);font-weight:600}.sidebar-nav-item svg{color:inherit;flex-shrink:0;opacity:1}.sidebar-footer{border-top:1px solid var(--border-color);margin-top:auto;padding:16px}.sidebar-user-info{align-items:center;background:var(--surface-secondary);border-radius:8px;display:flex;gap:12px;margin-bottom:12px;padding:12px}.collapsible-sidebar.collapsed .sidebar-user-info{justify-content:center;padding:12px 8px}.sidebar-avatar{align-items:center;background:var(--brand-color);border-radius:50%;color:var(--text-on-brand);display:flex;flex-shrink:0;font-size:16px;font-weight:700;height:40px;justify-content:center;width:40px}.sidebar-user-details{overflow:hidden}.sidebar-user-name{color:var(--text-primary);font-size:14px;font-weight:600}.sidebar-user-name,.sidebar-user-role{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-role{color:var(--text-secondary);font-size:12px}.sidebar-logout-btn{align-items:center;background:#0000;border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:12px;transition:all .15s;width:100%}.collapsible-sidebar.collapsed .sidebar-logout-btn{padding:12px}.sidebar-logout-btn:hover{background:var(--surface-hover);border-color:var(--danger-color);color:var(--danger-color)}.sidebar-logout-btn svg{flex-shrink:0}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:#0000}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.overview{box-sizing:border-box;margin:0;max-width:100%;padding:0;width:100%}@media (max-width:1440px){.overview{padding:0 40px}}@media (max-width:1024px){.overview{padding:0 24px}}.overview-header{margin-bottom:32px}.overview-header h1{color:var(--text-primary);font-size:28px;font-weight:600;letter-spacing:-.5px;margin:0 0 8px}.overview-header p{font-weight:400;margin:0}.overview-header p,.overview-loading{color:var(--text-secondary);font-size:14px}.overview-loading{padding:60px;text-align:center}.stats-section{margin-bottom:40px}.stats-section h2{color:var(--text-secondary);font-size:14px;font-weight:600;letter-spacing:.5px;margin:0 0 16px;text-transform:uppercase}.stats-grid{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.stat-card{background:var(--surface-primary);box-shadow:var(--shadow-sm);cursor:default;gap:16px;padding:24px;transition:all .2s ease}.stat-card:hover{box-shadow:0 4px 12px #00000014}.stat-icon{border-radius:12px;height:48px;width:48px}.stat-card.blue .stat-icon{background:var(--info-tint-bg);color:var(--info-color)}.stat-card.green .stat-icon{background:var(--success-tint-bg);color:var(--success-color)}.stat-card.orange .stat-icon{background:var(--warning-tint-bg);color:var(--warning-color)}.stat-card.brand .stat-icon{background:var(--info-tint-bg);color:var(--brand-color)}.stat-label{margin-bottom:6px}.stat-value{font-size:32px;line-height:1}@media (max-width:768px){.stats-grid{grid-template-columns:1fr}}.users-management{margin:0 auto;padding:0 60px;width:100%}@media (max-width:1440px){.users-management{padding:0 40px}}@media (max-width:1024px){.users-management{padding:0 24px}}.users-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:32px}.users-header h1{color:var(--text-primary);font-size:28px;font-weight:600;letter-spacing:-.5px;margin:0 0 6px}.users-header p{color:var(--text-secondary);font-size:14px;font-weight:400;margin:0}.btn-create-user{align-items:center;background:var(--brand-color);border:none;border-radius:8px;box-shadow:0 1px 2px #0000000d;color:var(--text-on-brand);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:8px 16px;transition:all .15s}.btn-create-user:hover{background:var(--brand-color-hover);box-shadow:0 2px 4px #3b82f633;transform:translateY(-1px)}.users-loading{color:var(--text-secondary);font-size:14px;padding:60px;text-align:center}.users-table-container{background:var(--surface-primary);border:1px solid var(--border-200);border-radius:12px;box-shadow:0 1px 4px #0000000f;overflow:hidden}.users-table{border-collapse:collapse;width:100%}.users-table thead{background:var(--surface-elevated);border-bottom:1px solid var(--border-200)}.users-table th{color:var(--text-secondary);font-size:13px;font-weight:600;letter-spacing:.5px;padding:14px 16px;text-align:left;text-transform:uppercase}.users-table td{border-bottom:1px solid var(--border-200);color:var(--text-primary);font-size:14px;height:56px;min-height:56px;padding:0 16px;vertical-align:middle}.users-table tbody tr{height:56px;min-height:56px;transition:background .15s}.users-table tbody tr:hover{background:var(--surface-elevated)}.users-table tbody tr:last-child td{border-bottom:none}.users-table td:first-child{font-weight:500;max-width:200px;overflow:hidden;padding-left:12px;text-overflow:ellipsis;white-space:nowrap}.role-badge{align-items:center;border-radius:12px;display:inline-flex;font-size:12px;font-weight:500;padding:4px 10px;text-transform:capitalize}.role-badge.admin,.role-badge.staff{background:var(--surface-elevated);color:var(--brand-color)}.role-badge.faculty{background:var(--success-tint-bg);color:var(--success-color)}.role-select,.status-select{background:var(--surface-primary);border:1px solid var(--border-300);border-radius:6px;cursor:pointer;font-size:13px;padding:6px 10px;transition:border .15s}.role-select:hover,.status-select:hover{border-color:var(--border-400)}.role-select:focus,.status-select:focus{border-color:var(--brand-color);box-shadow:0 0 0 3px #3b82f61a;outline:none}.status-pill{text-transform:capitalize}.status-pill.invited{background:var(--warning-tint-bg);color:var(--warning-color-dark)}.status-pill.active{color:var(--success-color)}.btn-icon,.status-pill.suspended{background:var(--surface-elevated);color:var(--text-secondary)}.btn-icon:hover{background:var(--border-200);color:var(--text-primary)}.create-user-form{padding:24px}.form-group label{gap:8px}.form-group input,.form-group select{border:1px solid var(--border-300)}.form-group input:hover,.form-group select:hover{border-color:var(--border-400)}.form-group input:focus,.form-group select:focus{border-color:var(--brand-color)}.form-actions{border-top:1px solid var(--border-200);display:flex;gap:12px;justify-content:flex-end;padding:20px 24px}.btn-submit:hover:not(:disabled){background:var(--brand-color-hover)}.btn-submit:disabled{cursor:not-allowed;opacity:.5}.btn-edit,.btn-suspend{display:inline-flex;justify-content:center;padding:6px}.btn-edit{align-items:center;background:var(--brand-tint-bg);border:none;border-radius:6px;color:var(--brand-color);cursor:pointer;transition:all .15s}.btn-edit:hover{background:var(--brand-color);color:#fff;transform:translateY(-1px)}.btn-activate,.btn-delete,.btn-permanent-delete,.btn-restore{display:inline-flex;justify-content:center;padding:6px}.teaching-modules-section{background:var(--info-tint-bg);border:2px solid var(--info-color);border-radius:12px;margin-top:4px;padding:20px}.teaching-modules-section .section-label{align-items:center;color:var(--info-color-dark);display:flex;font-size:15px;font-weight:700;gap:8px;margin-bottom:6px}.teaching-modules-section .helper-text{color:var(--info-color-dark);font-size:13px;font-weight:500;margin:0 0 16px}.checkbox-group{display:flex;flex-direction:column;gap:12px}.checkbox-label{align-items:center;background:var(--surface-primary);border:2px solid var(--info-tint-bg);border-radius:8px;color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:10px;padding:12px 16px;transition:all .2s}.checkbox-label:hover{background:var(--info-tint-bg);border-color:var(--info-color);transform:translateX(4px)}.checkbox-label input[type=checkbox]{accent-color:var(--info-color);cursor:pointer;height:18px;width:18px}.checkbox-label input[type=checkbox]:checked+span{color:var(--info-color-dark);font-weight:600}.modal-overlay-figma{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0009;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.modal-content-figma{background:var(--surface-primary);border:1px solid var(--border-200);border-radius:16px;box-shadow:0 25px 80px #00000040;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.modal-header-figma{align-items:center;background:var(--brand-color);border-radius:16px 16px 0 0;display:flex;justify-content:space-between;padding:24px 28px}.modal-header-figma h2{color:var(--text-on-brand);font-size:20px;font-weight:700;letter-spacing:-.3px;margin:0}.close-btn-figma{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:none;border-radius:8px;color:var(--text-on-brand);cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .2s}.close-btn-figma:hover{background:#ffffff4d;transform:scale(1.05)}.create-user-form-figma{padding:32px 28px 28px}.form-section-figma{margin-bottom:32px}.section-title-figma{color:var(--text-primary);font-size:18px;font-weight:700;letter-spacing:-.3px;margin:0 0 6px}.section-subtitle-figma{color:var(--text-secondary);font-size:14px;font-weight:400;line-height:1.4;margin:0 0 24px}.form-row-figma{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:20px}.form-field-figma{display:flex;flex-direction:column}.form-field-figma.full-width{grid-column:1/-1}.field-label-figma{align-items:center;color:var(--text-primary);display:flex;font-size:14px;font-weight:600;gap:8px;margin-bottom:8px}.field-label-figma svg{color:var(--text-secondary)}.input-figma,.select-figma{background:var(--surface-primary);border:2px solid var(--border-200);border-radius:10px;color:var(--text-primary);font-size:14px;font-weight:500;padding:12px 16px;transition:all .2s}.input-figma:hover,.select-figma:hover{border-color:var(--border-300)}.input-figma:focus,.select-figma:focus{border-color:var(--brand-color);box-shadow:0 0 0 4px #3b82f61a;outline:none}.input-figma::placeholder{color:var(--text-placeholder);font-weight:400}.teaching-permissions-figma{background:var(--surface-secondary);border:1px solid var(--border-200);border-radius:12px;margin-bottom:32px;padding:24px}.module-tiles-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.module-tile{align-items:center;background:var(--surface-primary);border:2px solid var(--border-200);border-radius:10px;color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px;min-height:60px;padding:16px 18px;position:relative;transition:all .2s}.module-tile:hover{box-shadow:0 4px 12px #3b82f626;transform:translateY(-1px)}.module-tile.tile-active,.module-tile:hover{background:var(--surface-elevated);border-color:var(--brand-color)}.module-tile.tile-active{color:var(--brand-color-dark);font-weight:600}.tile-checkbox{accent-color:var(--brand-color);cursor:pointer;flex-shrink:0;height:18px;width:18px}.tile-label{line-height:1.4}.form-actions-figma{border-top:1px solid var(--border-200);display:flex;gap:16px;justify-content:flex-end;padding-top:24px}.btn-cancel-figma{background:var(--surface-primary);border:2px solid var(--border-200);border-radius:10px;color:var(--text-secondary);cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s}.btn-cancel-figma:hover{background:var(--surface-elevated);border-color:var(--border-300);color:var(--text-primary)}.btn-submit-figma{background:var(--brand-color);border:none;border-radius:10px;box-shadow:0 4px 12px #3b82f64d;color:var(--text-on-brand);cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s}.btn-submit-figma:hover:not(:disabled){background:var(--brand-color-hover);box-shadow:0 6px 16px #3b82f666;transform:translateY(-1px)}.btn-submit-figma:disabled{box-shadow:0 4px 12px #3b82f633;cursor:not-allowed;opacity:.6;transform:none}@media (max-width:768px){.modal-content-figma{margin:10px;max-width:95vw}.form-row-figma{gap:16px}.form-row-figma,.module-tiles-grid{grid-template-columns:1fr}.create-user-form-figma{padding:24px 20px 20px}.modal-header-figma{padding:20px}}.faculty-review{margin:0 auto;padding:0 60px;width:100%}@media (max-width:1440px){.faculty-review{padding:0 40px}}@media (max-width:1024px){.faculty-review{padding:0 24px}}.faculty-header{margin-bottom:28px}.faculty-header h1{color:var(--text-primary);font-size:28px;font-weight:600;letter-spacing:-.5px;margin:0 0 6px}.faculty-header p{font-weight:400;margin:0}.faculty-header p,.faculty-loading{color:var(--text-secondary);font-size:14px}.faculty-loading{padding:60px;text-align:center}.filter-tabs{background:var(--surface-elevated);border-radius:10px;display:flex;flex-wrap:wrap;gap:4px;margin-bottom:24px;padding:4px}.filter-tabs button{background:#0000;border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;position:relative;transition:all .15s}.filter-tabs button:hover{background:#ffffff80;color:var(--text-primary)}.filter-tabs button.active{background:var(--surface-primary);box-shadow:var(--shadow-sm);color:var(--brand-color);font-weight:600}.faculty-table-container{background:var(--surface-primary);border:1px solid var(--border-200);border-radius:12px;box-shadow:0 1px 4px #0000000f;overflow-x:auto}.faculty-table{border-collapse:collapse;min-width:900px;width:100%}.faculty-table thead{background:var(--surface-elevated);border-bottom:1px solid var(--border-200)}.faculty-table th{color:var(--text-secondary);font-size:13px;font-weight:600;letter-spacing:.5px;padding:14px 16px;text-align:left;text-transform:uppercase}.faculty-table td{border-bottom:1px solid var(--border-200);color:var(--text-primary);font-size:14px;height:56px;min-height:56px;padding:0 16px;vertical-align:middle}.faculty-table tbody tr{height:56px;min-height:56px;transition:background .15s}.faculty-table tbody tr:hover{background:var(--surface-elevated)}.faculty-table tbody tr:last-child td{border-bottom:none}.faculty-table td:first-child{font-weight:500;max-width:200px;overflow:hidden;padding-left:12px;text-overflow:ellipsis;white-space:nowrap}.status-badge{font-weight:500}.status-badge.draft{background:var(--surface-elevated);color:var(--text-secondary)}.status-badge.under_review{background:var(--warning-tint-bg);color:var(--warning-color-dark)}.status-badge.clarification_required{background:var(--danger-tint-bg);color:var(--danger-color-dark)}.status-badge.approved{background:var(--success-tint-bg);color:var(--success-color)}.status-badge.rejected{background:var(--danger-tint-bg);color:var(--danger-color-dark)}.btn-impersonate,.btn-rate,.btn-view{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:7px 12px;transition:all .15s}.btn-view{background:var(--surface-elevated);color:var(--brand-color)}.btn-view:hover{background:var(--brand-color);transform:translateY(-1px)}.btn-rate{background:var(--warning-tint-bg);color:var(--warning-color)}.btn-rate:hover{background:var(--warning-color);transform:translateY(-1px)}.btn-impersonate{background:linear-gradient(135deg,#8b5cf6,#6366f1);box-shadow:0 1px 3px #8b5cf64d;color:#fff}.btn-impersonate:hover{background:linear-gradient(135deg,#7c3aed,#4f46e5);box-shadow:0 3px 8px #8b5cf666;transform:translateY(-1px)}.btn-impersonate:active{transform:translateY(0)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{box-shadow:0 20px 60px #0000004d;max-width:600px}.modal-content.large{max-width:900px}.faculty-review-modal.modal-content.large{display:flex;flex-direction:column;max-height:90vh;overflow:hidden}.modal-header-fixed{background:var(--surface-primary);border-bottom:2px solid var(--border-200);box-shadow:0 2px 8px #0000000d;position:-webkit-sticky;position:sticky;top:0;z-index:10}.modal-header-content{align-items:flex-start;display:flex;justify-content:space-between;padding:20px 24px}.modal-header-content h2{color:var(--text-primary);font-size:20px;font-weight:600;margin:0 0 4px}.faculty-name-subtitle{color:var(--text-secondary);font-size:14px;font-weight:400;margin:0}.modal-body-scrollable{flex:1 1}.modal-footer-fixed{background:#f8fafc;background:var(--surface-elevated,#f8fafc);border-top:1px solid #e2e8f0;border-top:1px solid var(--border-200,#e2e8f0);bottom:0;box-shadow:0 -2px 8px #0000000d;display:flex;gap:12px;justify-content:flex-end;padding:20px 24px;position:-webkit-sticky;position:sticky;z-index:10}.profile-section.collapsible{border:1px solid var(--border-200);border-radius:10px;overflow:hidden;transition:all .2s}.profile-section.collapsible:hover{border-color:var(--border-300);box-shadow:0 2px 8px #0000000d}.section-header{align-items:center;background:#f8fafc;background:var(--surface-elevated,#f8fafc);cursor:pointer;display:flex;justify-content:space-between;padding:14px 20px;transition:all .2s ease;-webkit-user-select:none;user-select:none}.section-header:hover{background:#f1f5f9;background:var(--surface-secondary,#f1f5f9)}.section-header h3{color:#334155;color:var(--text-primary,#334155);font-size:14px;font-weight:700;letter-spacing:.5px;margin:0;text-transform:uppercase}.section-header svg{color:var(--text-secondary);transition:transform .2s}.profile-section.collapsible .admin-comment,.profile-section.collapsible .detail-grid,.profile-section.collapsible .documents-grid{padding:20px}.modal-content.small{max-width:420px}.modal-header{padding:24px 24px 20px}.close-btn:hover{color:var(--text-primary)}.profile-section{margin-bottom:20px}.profile-section:last-child{margin-bottom:0}.profile-section h3{color:var(--text-primary);font-size:14px;font-weight:600;letter-spacing:.3px;margin:0 0 16px;text-transform:uppercase}.detail-grid{grid-gap:20px;gap:20px;grid-template-columns:repeat(2,1fr)}.detail-item{flex-direction:column;gap:6px}.detail-item.full-width{grid-column:1/-1}.detail-item .label{color:var(--text-secondary);font-size:12px;font-weight:500}.detail-item .value{color:var(--text-primary);font-size:14px;font-weight:400}.admin-comment{background:var(--warning-tint-bg);border-left:3px solid var(--warning-color);border-radius:6px;color:var(--warning-color-dark);font-size:14px;line-height:1.5;margin:0;padding:14px}.documents-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}.document-item{background:var(--surface-elevated);border-radius:8px;display:flex;flex-direction:column;gap:6px;padding:12px}.document-item .label{color:var(--text-secondary);font-size:12px;font-weight:500}.document-item .value{color:var(--text-primary);font-size:13px}.document-item .value.not-uploaded{color:var(--danger-color);font-weight:500}.document-link{align-items:center;background:var(--brand-color);border-radius:6px;color:var(--text-on-brand);display:inline-flex;font-size:13px;font-weight:500;padding:6px 12px;text-decoration:none;transition:all .2s}.document-link:hover{background:var(--brand-color-hover);box-shadow:0 2px 8px #3b82f64d;transform:translateY(-1px)}.admin-comment-input{border:1px solid var(--border-300);border-radius:8px;font-family:inherit;font-size:14px;padding:12px;resize:vertical;transition:all .15s;width:100%}.admin-comment-input:hover{border-color:var(--border-400)}.admin-comment-input:focus{border-color:var(--brand-color);box-shadow:0 0 0 3px #3b82f61a;outline:none}.modal-footer{gap:10px}.btn-approve{background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;box-shadow:0 2px 4px #10b9814d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease}.btn-approve:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 12px #10b98166;transform:translateY(-2px)}.btn-clarify{background:linear-gradient(135deg,#f59e0b,#d97706);border:none;border-radius:8px;box-shadow:0 2px 4px #f59e0b4d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease}.btn-clarify:hover{background:linear-gradient(135deg,#d97706,#b45309);box-shadow:0 4px 12px #f59e0b66;transform:translateY(-2px)}.btn-reject{background:#0000;border:2px solid #ef4444;border-radius:8px;color:#ef4444;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease}.btn-reject:hover{background:linear-gradient(135deg,#ef4444,#dc2626);border-color:#0000;box-shadow:0 4px 12px #ef444466;color:#fff;transform:translateY(-2px)}.form-group label{font-weight:500}.form-group input{border:1px solid var(--border-300);border-radius:8px}.form-group input:hover{border-color:var(--border-400)}.btn-cancel{border:1px solid var(--border-300);border-radius:8px;padding:9px 18px}.btn-cancel:hover{border-color:var(--border-400)}.btn-submit{border-radius:8px;font-weight:500;padding:9px 18px;transition:all .15s}@media (max-width:768px){.detail-grid,.documents-grid{grid-template-columns:1fr}.filter-tabs{overflow-x:auto}}.status-filter-bar{align-items:center;background:var(--surface-elevated);border-radius:8px;display:flex;gap:12px;margin-bottom:20px;padding:12px 20px}.status-filter-bar label{color:var(--text-primary);font-size:14px;font-weight:600}.status-filter-select{background:var(--surface-primary);border:2px solid var(--border-200);border-radius:6px;cursor:pointer;font-size:14px;padding:8px 12px;transition:all .15s}.status-filter-select:hover{border-color:var(--border-300)}.status-filter-select:focus{border-color:var(--brand-color);box-shadow:0 0 0 3px #3b82f61a;outline:none}.btn-suspend{align-items:center;background:var(--warning-tint-bg);border:none;border-radius:6px;color:var(--warning-color-dark);cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:4px;padding:6px 12px;transition:all .15s}.btn-suspend:hover{background:var(--warning-color);transform:translateY(-1px)}.btn-activate{align-items:center;background:var(--success-tint-bg);border:none;border-radius:6px;color:var(--success-color-dark);cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:4px;padding:6px 12px;transition:all .15s}.btn-activate:hover{background:var(--success-color);transform:translateY(-1px)}.btn-delete{align-items:center;background:var(--danger-tint-bg);border:none;border-radius:6px;color:var(--danger-color);cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:4px;padding:6px 12px;transition:all .15s}.btn-delete:hover{background:var(--danger-color);transform:translateY(-1px)}.btn-restore{align-items:center;background:var(--surface-elevated);border:none;border-radius:6px;color:var(--brand-color);cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:4px;padding:6px 12px;transition:all .15s}.btn-restore:hover{background:var(--brand-color);transform:translateY(-1px)}.btn-permanent-delete{align-items:center;background:var(--danger-color-dark);border:none;border-radius:6px;color:var(--text-on-brand);cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:4px;padding:6px 12px;transition:all .15s}.btn-permanent-delete:hover{background:var(--danger-color);transform:translateY(-1px)}.confirmation-modal{max-width:500px}.modal-header.warning{background:var(--warning-tint-bg);color:var(--warning-color-dark)}.modal-header.danger,.modal-header.warning{align-items:center;border-radius:12px 12px 0 0;display:flex;gap:12px;padding:20px 24px}.modal-header.danger{background:var(--danger-tint-bg);color:var(--danger-color)}.warning-box{align-items:flex-start;background:var(--warning-tint-bg);border-left:4px solid var(--warning-color);border-radius:8px;display:flex;gap:12px;margin-bottom:20px;padding:16px}.warning-box svg{color:var(--warning-color);flex-shrink:0}.warning-box p{color:var(--warning-color-dark);font-size:14px;line-height:1.5;margin:0}.danger-box{align-items:flex-start;background:var(--danger-tint-bg);border-left:4px solid var(--danger-color);border-radius:8px;display:flex;gap:12px;margin-bottom:20px;padding:16px}.danger-box svg{color:var(--danger-color);flex-shrink:0}.danger-box p{color:var(--danger-color-dark);font-size:14px;line-height:1.5;margin:0}.impact-list{list-style:none;margin:0;padding:0}.impact-list li{background:var(--surface-elevated);border-radius:6px;color:var(--text-secondary);font-size:13px;margin-bottom:8px;padding:8px 12px 8px 32px;position:relative}.impact-list li:before{color:var(--text-secondary);content:"•";font-weight:700;left:16px;position:absolute}.btn-warning{align-items:center;background:var(--warning-color);border:none;border-radius:8px;color:var(--text-on-brand);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 20px;transition:all .2s}.btn-warning:hover{background:var(--warning-color-dark);transform:translateY(-1px)}.btn-danger{align-items:center;background:var(--danger-color);border:none;border-radius:8px;color:var(--text-on-brand);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 20px;transition:all .2s}.btn-danger:hover{background:var(--danger-color-dark);transform:translateY(-1px)}.bank-gst-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.bank-gst-grid .detail-item{background:#f8fafc;background:var(--surface-elevated,#f8fafc);border:1px solid #e2e8f0;border:1px solid var(--border-200,#e2e8f0);border-radius:10px;padding:16px 18px;transition:all .2s ease}.bank-gst-grid .detail-item:hover{border-color:#3b82f6;border-color:var(--brand-color,#3b82f6);box-shadow:0 2px 8px #3b82f61a}.bank-gst-grid .detail-item .label{color:#64748b;color:var(--text-secondary,#64748b);display:block;font-size:10px;font-weight:700;letter-spacing:.8px;margin-bottom:8px;text-transform:uppercase}.bank-gst-grid .detail-item .value{color:#1e293b;color:var(--text-primary,#1e293b);display:block;font-size:14px;font-weight:600;line-height:1.4;word-break:break-word}.not-provided{color:#94a3b8!important;color:var(--text-tertiary,#94a3b8)!important;font-size:13px!important;font-style:italic;font-weight:400!important}.badge{align-items:center;border-radius:20px;display:inline-flex;font-size:12px;font-weight:600;padding:6px 12px}.badge-yes{background:#dcfce7;color:#166534}.badge-no{background:#fef3c7;color:#92400e}.profile-section.collapsible .section-header h3{align-items:center;display:flex;gap:10px}.faculty-coverage{margin:0 auto;padding:0 60px;width:100%}@media (max-width:1440px){.faculty-coverage{padding:0 40px}}@media (max-width:1024px){.faculty-coverage{padding:0 24px}}.coverage-header{margin-bottom:32px}.coverage-header h1{color:var(--text-primary);font-size:28px;font-weight:600;letter-spacing:-.5px;margin:0 0 8px}.coverage-header p{color:var(--text-secondary);font-size:14px;margin:0}.coverage-tabs{background:var(--surface-elevated);border-radius:12px;display:flex;gap:4px;margin-bottom:24px;overflow-x:auto;padding:4px}.coverage-tab{background:#0000;border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s;white-space:nowrap}.coverage-tab:hover{background:#fff9;color:var(--text-primary)}.coverage-tab.active{background:var(--surface-primary);box-shadow:var(--shadow-sm);color:var(--brand-color);font-weight:600}.coverage-loading{color:var(--text-secondary);font-size:14px;padding:60px;text-align:center}.coverage-table-container{background:var(--surface-primary);border:1px solid var(--border-200);border-radius:12px;box-shadow:0 1px 4px #0000000f;overflow:hidden}.coverage-table{border-collapse:collapse;width:100%}.coverage-table thead{background:var(--surface-elevated);border-bottom:1px solid var(--border-200)}.coverage-table th{color:var(--text-secondary);font-size:12px;font-weight:600;letter-spacing:.5px;padding:14px 16px;text-align:left;text-transform:uppercase}.coverage-table td{border-bottom:1px solid var(--border-200);color:var(--text-primary);font-size:14px;padding:16px}.coverage-table tbody tr:last-child td{border-bottom:none}.coverage-row{cursor:pointer;transition:background .15s}.coverage-row:hover,.faculty-count{background:var(--surface-elevated)}.faculty-count{align-items:center;border-radius:6px;color:var(--text-primary);display:inline-flex;font-weight:600;justify-content:center;min-width:32px;padding:4px 10px}.quick-view-cell{max-width:400px}.quick-view{color:var(--text-secondary);font-size:13px;line-height:1.5}.quick-view-empty{color:var(--text-placeholder);font-size:13px;font-style:italic}.more-count{color:var(--brand-color);font-size:12px;font-weight:600}.status-badge{align-items:center;border-radius:8px;display:inline-flex;gap:6px;padding:6px 12px}.status-badge.status-ok{background:var(--success-tint-bg);color:var(--success-color-dark)}.status-badge.status-low{background:var(--warning-tint-bg);color:var(--warning-color)}.status-badge.status-gap{background:var(--danger-tint-bg);color:var(--danger-color)}.status-icon{flex-shrink:0}.status-text{letter-spacing:.5px;text-transform:uppercase}.panel-overlay{animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;display:flex;inset:0;justify-content:flex-end;position:fixed;z-index:1000}.faculty-panel{animation:slideIn .3s ease;background:var(--surface-primary);box-shadow:-4px 0 24px #00000026;display:flex;flex-direction:column;max-width:90vw;width:500px}@keyframes slideIn{0%{transform:translateX(100%)}to{transform:translateX(0)}}.panel-header{align-items:flex-start;background:var(--surface-elevated);border-bottom:1px solid var(--border-200);display:flex;justify-content:space-between;padding:24px}.panel-header h2{color:var(--text-primary);font-size:16px;font-weight:600;line-height:1.4;margin:0 0 4px}.panel-subtitle{color:var(--text-secondary);font-size:13px;margin:0}.panel-close-btn{align-items:center;background:var(--surface-primary);border:1px solid var(--border-200);border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;justify-content:center;padding:6px;transition:all .15s}.panel-close-btn:hover{background:var(--surface-elevated);border-color:var(--border-300);color:var(--text-primary)}.panel-body{flex:1 1;overflow-y:auto;padding:24px}.no-faculty{align-items:center;color:var(--text-placeholder);display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.no-faculty svg{color:var(--border-300);margin-bottom:16px}.no-faculty h3{color:var(--text-secondary);font-size:16px;font-weight:600;margin:0 0 8px}.no-faculty p{color:var(--text-placeholder);font-size:14px;margin:0}.faculty-list{display:flex;flex-direction:column;gap:16px}.faculty-card{background:var(--surface-elevated);border:1px solid var(--border-200);border-radius:10px;display:flex;gap:16px;padding:16px;transition:all .2s}.faculty-card:hover{background:var(--surface-secondary);border-color:var(--border-300);box-shadow:0 4px 8px #00000014;transform:translateY(-2px)}.faculty-avatar{align-items:center;background:var(--brand-color);border-radius:50%;color:var(--text-on-brand);display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.faculty-info{flex:1 1;min-width:0}.faculty-info h3{color:var(--text-primary);font-size:15px;font-weight:600;margin:0 0 8px}.faculty-details{display:flex;flex-direction:column;gap:6px}.detail-item{align-items:center;color:var(--text-secondary);display:flex;font-size:13px;gap:8px}.detail-item svg{color:var(--text-placeholder);flex-shrink:0}.detail-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:768px){.coverage-tabs{overflow-x:auto}.faculty-panel{width:100%}.coverage-table-container{overflow-x:auto}.quick-view-cell{max-width:200px}}.course-module{margin:0 auto;padding:0 60px;width:100%}@media (max-width:1440px){.course-module{padding:0 40px}}@media (max-width:1024px){.course-module{padding:0 24px}}.course-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:32px}.course-header h1{color:var(--text-primary);font-size:28px;font-weight:600;letter-spacing:-.5px;margin:0 0 8px}.course-header p{color:var(--text-secondary);font-size:14px;margin:0}.btn-initialize{align-items:center;background:var(--success-color);border:none;border-radius:8px;color:var(--text-on-brand);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:12px 24px;transition:all .2s}.btn-initialize:hover{background:var(--success-color-dark);transform:translateY(-1px)}.empty-state-course{align-items:center;background:var(--surface-elevated);border:2px dashed var(--border-300);border-radius:12px;display:flex;flex-direction:column;justify-content:center;padding:80px 20px;text-align:center}.empty-state-course svg{color:var(--text-placeholder);margin-bottom:20px}.empty-state-course h3{color:var(--text-primary);font-size:20px;font-weight:600;margin:0 0 8px}.empty-state-course p{color:var(--text-secondary);font-size:14px;margin:0;max-width:400px}.course-tabs-wrapper{align-items:flex-end;background:var(--surface-primary);border-bottom:2px solid var(--border-200);display:flex;justify-content:space-between;margin-bottom:24px;padding:0}.course-tabs{display:flex;flex:1 1;gap:4px}.btn-add-topic{align-items:center;background:var(--brand-color);border:none;border-radius:8px;color:var(--text-on-brand);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;margin:0 0 8px;padding:10px 20px;transition:all .2s;white-space:nowrap}.btn-add-topic:hover{background:var(--brand-color-hover);transform:translateY(-1px)}.course-tab{background:#0000;border:none;border-bottom:3px solid #0000;color:var(--text-secondary);cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;position:relative;transition:all .2s}.course-tab:hover{background:#fff9;color:var(--text-primary)}.course-tab.active{background:#0000;border-bottom-color:var(--brand-color);color:var(--brand-color)}.course-tab.active:hover{border-bottom-color:var(--brand-color-hover);color:var(--brand-color-hover)}.course-loading{color:var(--text-secondary);font-size:14px;padding:60px;text-align:center}.course-table-container{background:var(--surface-elevated);border-radius:12px;margin-bottom:40px;padding:24px}.course-table{border-collapse:collapse;width:100%}.course-table thead{background:var(--surface-elevated);border-bottom:1px solid var(--border-200)}.course-table th{color:var(--text-secondary);font-size:12px;font-weight:600;letter-spacing:.5px;padding:14px 16px;text-align:left;text-transform:uppercase}.course-table td{border-bottom:1px solid var(--border-200);color:var(--text-primary);font-size:14px;padding:16px}.course-table tbody tr:last-child td{border-bottom:none}.course-table tbody tr{transition:background .15s}.course-table tbody tr:hover{background:var(--surface-elevated)}.course-table tbody tr.inactive-row{background:var(--surface-elevated);opacity:.5}.topic-code{background:var(--surface-elevated);border-radius:6px;color:var(--brand-color);display:inline-block;font-size:13px;font-weight:600;padding:4px 10px}.topic-name{font-weight:500}.weightage-display{align-items:center;display:flex;gap:8px}.weightage-value{color:var(--text-primary);font-weight:600;min-width:40px}.edit-input-group{align-items:center;display:flex;gap:6px}.weightage-input{border:2px solid var(--brand-color);border-radius:6px;font-size:14px;font-weight:600;outline:none;padding:6px 10px;width:80px}.edit-btn{align-items:center;background:var(--surface-elevated);border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:6px;transition:all .15s}.edit-btn:hover{background:var(--border-200);color:var(--text-primary)}.edit-btn.save-btn{background:var(--success-tint-bg);color:var(--success-color-dark)}.edit-btn.save-btn:hover{background:var(--success-color)}.edit-btn.cancel-btn{background:var(--danger-tint-bg);color:var(--danger-color)}.edit-btn.cancel-btn:hover{background:var(--danger-color)}.hours-badge{background:var(--success-tint-bg);border-radius:8px;color:var(--success-color-dark);display:inline-flex;font-size:13px}.hours-badge,.toggle-btn{align-items:center;font-weight:600;gap:6px;padding:6px 12px}.toggle-btn{border:none;border-radius:8px;cursor:pointer;display:flex;font-size:12px;transition:all .2s}.toggle-btn.active{background:var(--success-tint-bg);color:var(--success-color-dark)}.toggle-btn.active:hover{background:var(--success-color)}.toggle-btn.inactive{background:var(--surface-elevated);color:var(--text-secondary)}.toggle-btn.inactive:hover{background:var(--border-200)}.action-buttons{gap:6px}.reorder-btn{align-items:center;background:var(--surface-elevated);border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:6px;transition:all .15s}.reorder-btn:hover:not(:disabled){background:var(--brand-color);color:var(--text-on-brand);transform:translateY(-1px)}.reorder-btn:disabled{cursor:not-allowed;opacity:.3}.total-hours-display{align-items:center;background:var(--surface-elevated);border-top:2px solid var(--border-200);display:flex;gap:12px;justify-content:flex-end;padding:16px 20px}.total-label{color:var(--text-secondary);font-size:14px;font-weight:600}.total-value{color:var(--brand-color);font-size:18px;font-weight:700}.no-data{color:var(--text-placeholder);padding:40px!important}.templates-section{border-top:2px solid var(--border-200);margin-top:48px;padding-top:32px}.templates-section h2{color:var(--text-primary);font-size:22px;font-weight:600;margin:0 0 8px}.templates-description{color:var(--text-secondary);font-size:14px;line-height:1.6;margin:0 0 24px}.templates-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.template-card{background:var(--surface-primary);border:2px solid var(--border-200);border-radius:12px;padding:24px;transition:all .2s}.template-card:hover{border-color:var(--brand-color);box-shadow:0 4px 12px #3b82f61a;transform:translateY(-2px)}.template-header{align-items:center;border-bottom:2px solid var(--surface-elevated);display:flex;gap:12px;margin-bottom:20px;padding-bottom:16px}.template-header svg{color:var(--brand-color)}.template-header h3{color:var(--text-primary);font-size:16px;font-weight:600;margin:0}.template-stats{display:flex;flex-direction:column;gap:12px}.stat{align-items:center;display:flex;justify-content:space-between}.stat-label{font-size:13px}.stat-value{font-size:15px;font-weight:600}.stat-value.highlight{background:var(--surface-elevated);border-radius:6px;color:var(--brand-color);font-size:18px;padding:4px 12px}@media (max-width:768px){.course-table-container,.course-tabs{overflow-x:auto}.templates-grid{grid-template-columns:1fr}.action-buttons{flex-direction:column}}.action-btn{margin-right:4px;padding:6px;transition:all .15s}.edit-full-btn{background:var(--surface-elevated);color:var(--brand-color-dark)}.edit-full-btn:hover{background:var(--brand-color)}.delete-btn{background:var(--danger-tint-bg);color:var(--danger-color)}.delete-btn:hover{background:var(--danger-color)}.topic-modal{background:var(--surface-primary);border-radius:12px;box-shadow:0 20px 25px -5px #0003;max-width:500px;width:90%}.modal-header{border-bottom:2px solid var(--border-200)}.modal-close-btn{background:var(--surface-elevated);border-radius:6px;padding:6px;transition:all .15s}.modal-close-btn:hover{background:var(--border-200)}.form-group input{border:2px solid var(--border-200);border-radius:6px;font-size:14px;padding:10px 12px;transition:all .15s;width:100%}.form-group input:focus{border-color:var(--brand-color);box-shadow:0 0 0 3px #3b82f61a;outline:none}.readonly-input{background:var(--surface-elevated);color:var(--text-secondary);cursor:not-allowed}.form-hint{color:var(--text-placeholder);display:block;font-size:12px;font-style:italic;margin-top:4px}.modal-footer{background:var(--surface-elevated);border-radius:0 0 12px 12px;border-top:2px solid var(--border-200)}.btn-cancel{color:var(--text-primary);padding:10px 20px}.btn-cancel:hover{background:var(--surface-elevated);border-color:var(--border-300)}.btn-submit{align-items:center;background:var(--brand-color);border-radius:6px;color:var(--text-on-brand);display:flex;font-size:14px;gap:8px;padding:10px 20px}.btn-submit:hover{background:var(--brand-color-hover)}.preview-overlay{align-items:center;background:#000000b3;display:flex;inset:0;justify-content:center;overflow-y:auto;padding:20px;position:fixed;z-index:2000}.preview-modal{background:var(--surface-primary);border-radius:12px;box-shadow:0 25px 50px #00000080;max-height:95vh;max-width:1200px;overflow-y:auto;width:100%}.preview-header{align-items:center;background:var(--surface-secondary);border-bottom:2px solid var(--border-200);border-radius:12px 12px 0 0;display:flex;justify-content:space-between;padding:20px 24px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.preview-header h2{color:var(--text-primary);font-size:20px;font-weight:600;margin:0 0 4px}.preview-header p{color:var(--text-secondary);font-size:13px;margin:0}.preview-actions{gap:12px}.btn-print,.preview-actions{align-items:center;display:flex}.btn-print{background:var(--brand-color);border:none;border-radius:8px;color:var(--text-on-brand);cursor:pointer;font-size:14px;font-weight:600;gap:8px;padding:10px 16px;transition:all .2s}.btn-print:hover{background:var(--brand-color-hover);transform:translateY(-1px)}.btn-close{align-items:center;background:var(--surface-hover);border:none;border-radius:6px;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .15s}.btn-close:hover{background:var(--border-200)}.preview-content{padding:32px}.schedule-info-header{background:var(--info-tint-bg);border:2px solid var(--info-tint-fg);border-radius:16px;box-shadow:0 4px 12px #3b82f614;margin-bottom:32px;padding:28px 32px}.schedule-info-header h1{border-bottom:3px solid var(--brand-color);color:var(--info-color);font-size:32px;font-weight:800;letter-spacing:-.5px;margin:0 0 24px;padding-bottom:16px}.info-row{align-items:center;gap:12px;margin-bottom:8px}.info-label{color:var(--text-secondary);font-size:14px;font-weight:600;min-width:150px}.info-value{color:var(--text-primary);font-size:14px;font-weight:500}.info-value.hours-match{color:var(--success-color);font-weight:700}.info-value.hours-mismatch{color:var(--error-color);font-weight:700}.preview-day-section{border:2px solid var(--border-200);border-radius:16px;box-shadow:0 2px 8px #0000000f;margin-bottom:40px;overflow:hidden;page-break-inside:avoid}.preview-day-header{align-items:center;background:var(--brand-color);border-bottom:3px solid var(--brand-color-dark);color:var(--text-on-brand);display:flex;font-size:17px;font-weight:700;gap:10px;letter-spacing:.3px;padding:16px 24px}.preview-day-header svg{flex-shrink:0}.preview-day-header h3{flex:1 1;font-size:18px;font-weight:600;margin:0}.day-date{background:#fff3;font-size:14px;font-weight:500;padding:4px 12px}.preview-schedule-table{background:var(--surface-primary);border-collapse:collapse;table-layout:fixed;width:100%}.preview-schedule-table tr{display:table-row!important}.preview-schedule-table td,.preview-schedule-table th{display:table-cell!important;vertical-align:middle}.preview-schedule-table thead{background:var(--surface-hover);display:table-header-group}.preview-schedule-table tbody{display:table-row-group}.preview-schedule-table th{border-bottom:2px solid var(--border-200);color:var(--text-primary);font-size:13px;font-weight:700;letter-spacing:.5px;padding:14px 16px;text-align:left;text-transform:uppercase}.preview-schedule-table td{border-bottom:1px solid var(--surface-hover);color:var(--text-primary);font-size:14px;line-height:1.5;padding:14px 16px;vertical-align:middle}.preview-schedule-table tbody tr:last-child td{border-bottom:none}.preview-schedule-table tbody tr:nth-child(2n){background:var(--surface-secondary)}.preview-schedule-table tbody tr:hover{background:var(--info-tint-bg);transition:background .15s}.preview-row.row-type-teaching-session{background:var(--surface-primary)}.preview-row.row-type-lunch-break,.preview-row.row-type-other-break,.preview-row.row-type-tea-break{background:var(--warning-tint-bg)}.preview-row.row-type-note{background:var(--info-tint-bg)}.text-center{text-align:center}.time-cell{color:var(--text-secondary);font-weight:600;white-space:nowrap}.code-cell strong{color:var(--brand-color);font-size:12px}.topic-cell{color:var(--text-primary);line-height:1.4}.faculty-cell{color:var(--text-secondary)}.faculty-cell svg{display:inline-block;margin-right:6px;vertical-align:middle}.break-cell{color:var(--warning-color-dark);font-style:italic;text-align:center}.note-cell{color:var(--info-color);font-style:italic;padding-left:20px}.day-summary{align-items:center;background:var(--surface-secondary);border:2px solid var(--border-200);border-radius:0 0 8px 8px;border-top:none;display:flex;gap:12px;justify-content:flex-end;padding:12px 20px}.day-total-label{color:var(--text-secondary);font-size:13px;font-weight:600}.day-total-value{color:var(--brand-color);font-size:15px;font-weight:700}.preview-footer{border-top:2px solid var(--border-200);margin-top:32px;padding-top:24px}.footer-summary{display:flex;gap:20px;justify-content:space-around;margin-bottom:20px}.summary-item{background:var(--surface-secondary);border-radius:8px;flex:1 1;padding:16px;text-align:center}.summary-item strong{color:var(--text-secondary);display:block;font-size:13px;margin-bottom:8px}.footer-note{color:var(--text-secondary);font-size:12px;font-style:italic;text-align:center}@media print{@page{size:A4 portrait;margin:15mm 10mm}body,html{height:auto!important;overflow:visible!important}.btn-close,.btn-print,.no-print,.preview-actions,.preview-header{display:none!important}.preview-content,.preview-modal,.preview-overlay{background:var(--surface-primary)!important;border-radius:0!important;box-shadow:none!important;height:auto!important;max-height:none!important;overflow:visible!important;padding:0!important;position:static!important}.preview-day-section{break-before:page;break-inside:avoid;page-break-before:always;page-break-inside:avoid}.preview-day-section:first-child{break-before:auto;page-break-before:auto}thead{display:table-header-group}tfoot{display:table-footer-group}tr{break-inside:avoid;page-break-inside:avoid}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}@media (max-width:768px){.preview-modal{border-radius:0;max-height:100vh;max-width:100%}.preview-content,.schedule-info-header{padding:16px}.info-row{align-items:flex-start;flex-direction:column;gap:4px}.info-label{min-width:auto}.preview-schedule-table{font-size:11px}.preview-schedule-table td{padding:8px}}.timetable-builder{margin:0 auto;padding:0 60px;width:100%}@media (max-width:1440px){.timetable-builder{padding:0 40px}}@media (max-width:1024px){.timetable-builder{padding:0 24px}}.timetable-header{background:var(--surface-primary);border:2px solid var(--border-200);border-radius:12px;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:24px;padding:20px}.btn-back,.timetable-header{align-items:center;display:flex}.btn-back{background:var(--surface-hover);border:2px solid var(--border-200);border-radius:8px;color:var(--text-secondary);cursor:pointer;font-size:14px;font-weight:600;gap:8px;padding:10px 16px;transition:all .15s}.btn-back:hover{background:var(--border-200);border-color:var(--border-200)}.batch-info-header{align-items:center;display:flex;flex:1 1;gap:12px}.batch-info-header h2{color:var(--text-primary);font-size:20px;font-weight:600;margin:0}.last-modified{color:var(--text-secondary);font-size:12px;font-style:italic;margin:4px 0 0}.asset-badge{background:var(--info-tint-bg);border-radius:6px;color:var(--brand-color);font-size:13px;font-weight:600;padding:6px 12px}.timetable-actions{align-items:center;display:flex;gap:20px}.hours-summary{background:var(--surface-secondary);border:2px solid var(--border-200);border-radius:8px;display:flex;flex-direction:column;gap:4px;padding:12px 16px}.hours-info{align-items:center;display:flex;gap:8px}.hours-info .label{color:var(--text-secondary);font-size:13px;font-weight:600}.hours-info .value{font-size:16px;font-weight:700}.hours-info .value.match{color:var(--success-color)}.hours-info .value.mismatch{color:var(--error-color)}.hours-warning{align-items:center;color:var(--danger-color);display:flex;font-size:12px;font-weight:600;gap:6px}.hours-warning svg{flex-shrink:0}.btn-preview{align-items:center;background:var(--surface-primary);border:2px solid var(--brand-color);border-radius:8px;color:var(--brand-color);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 20px;transition:all .2s;white-space:nowrap}.btn-preview:hover:not(:disabled){background:var(--info-tint-bg);transform:translateY(-1px)}.btn-preview:disabled{border-color:var(--border-200);color:var(--text-secondary);cursor:not-allowed;opacity:.5}.btn-save{align-items:center;background:var(--brand-color);border-radius:8px;color:var(--text-on-brand);display:flex;gap:8px;padding:10px 20px;transition:all .2s;white-space:nowrap}.btn-save:hover:not(:disabled){background:var(--brand-color-hover);transform:translateY(-1px)}.loading-state{background:var(--surface-primary);border:2px solid var(--border-200);border-radius:12px;color:var(--text-secondary);font-size:14px;padding:60px;text-align:center}.days-grid{display:flex;flex-direction:column;gap:24px;padding-bottom:20px}.day-schedule{background:var(--surface-primary);border:2px solid var(--border-200);border-radius:12px;padding:20px;width:100%}.day-header{border-bottom:2px solid var(--surface-hover);margin-bottom:16px;padding-bottom:12px}.day-info{align-items:center;display:flex;gap:12px}.day-info svg{color:var(--brand-color)}.day-title{color:var(--text-primary);font-size:16px;font-weight:600}.day-date{background:var(--surface-secondary);border-radius:6px;color:var(--text-secondary);font-size:13px;padding:4px 10px}.joint-batch-day .day-header .day-date{background:#fff3!important;color:#fff!important}.day-teaching-hours{align-items:center;background:linear-gradient(135deg,#dbeafe,#bfdbfe);border:1px solid #93c5fd;border-radius:8px;display:flex;gap:6px;padding:6px 14px}.teaching-hours-label{color:#1e40af;font-size:12px;font-weight:500}.teaching-hours-value{color:#1e3a8a;font-size:14px;font-weight:700}.day-header-actions{align-items:center;display:flex;gap:8px}.btn-recalculate{align-items:center;background:var(--warning-tint-bg);border:2px solid var(--warning-tint-bg);border-radius:6px;color:var(--warning-color);cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:8px 14px;transition:all .15s}.btn-recalculate:hover{background:var(--warning-tint-bg);border-color:var(--warning-color);transform:translateY(-1px)}.btn-recalculate svg{animation:spin .5s ease-in-out}.btn-recalculate:active svg{animation:spin .5s linear infinite}.btn-add-row{align-items:center;background:var(--info-tint-bg);border:2px solid var(--info-tint-bg);border-radius:6px;color:var(--brand-color);cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:8px 14px;transition:all .15s}.btn-add-row:hover{background:var(--info-tint-bg);border-color:var(--info-tint-bg)}.day-table-wrapper{overflow-x:auto}.schedule-table{font-size:13px}.schedule-table thead th{background:var(--surface-secondary);border-bottom:2px solid var(--border-200);color:var(--text-secondary);padding:12px 8px;white-space:nowrap}.schedule-table tbody tr{border-bottom:1px solid var(--surface-hover)}.schedule-table tbody tr:hover{background:var(--surface-secondary)}.schedule-table td{padding:12px 8px;vertical-align:middle}.row-number{color:var(--text-secondary);font-weight:600;text-align:center}.faculty-select,.row-type-select,.time-select,.topic-select{background:var(--surface-primary);border:2px solid var(--border-200);border-radius:6px;cursor:pointer;font-size:12px;min-width:140px;padding:8px 10px;transition:all .15s;width:100%}.time-select{font-family:monospace;font-size:13px;min-width:90px}.faculty-select:hover,.row-type-select:hover,.time-select:hover,.topic-select:hover{border-color:var(--border-200)}.faculty-select:focus,.row-type-select:focus,.time-select:focus,.topic-select:focus{border-color:var(--brand-color);box-shadow:0 0 0 3px #3b82f61a;outline:none}.faculty-select:disabled{background:var(--surface-secondary);color:var(--text-secondary);cursor:not-allowed}.faculty-select.faculty-missing{animation:pulse-red 2s infinite;background-color:#fef2f2!important;border-color:#ef4444!important}@keyframes pulse-red{0%,to{box-shadow:0 0 0 0 #ef444466}50%{box-shadow:0 0 0 4px #ef444433}}.hours-cell,.weightage-cell{color:var(--text-primary);font-weight:600;text-align:center}.full-width-input{border:2px solid var(--border-200);border-radius:6px;font-size:13px;padding:8px 10px;transition:all .15s;width:100%}.full-width-input:hover{border-color:var(--border-200)}.full-width-input:focus{border-color:var(--brand-color);box-shadow:0 0 0 3px #3b82f61a;outline:none}.break-label{color:var(--text-secondary);font-weight:600;padding-left:20px}.no-faculty-warning{color:var(--danger-color)}.no-faculty-warning,.no-topics-warning{display:block;font-size:11px;font-weight:600;margin-top:4px}.no-topics-warning{color:var(--warning-color)}.actions-cell{text-align:center}.action-buttons{gap:4px}.btn-icon{border:none;display:inline-flex;padding:6px;transition:all .15s}.btn-icon:disabled{cursor:not-allowed;opacity:.3}.btn-icon.btn-move{color:var(--brand-color-hover)}.btn-icon.btn-move,.btn-icon.btn-move:hover:not(:disabled){background:var(--info-tint-bg)}.btn-icon.btn-delete{color:var(--danger-color)}.btn-icon.btn-delete,.btn-icon.btn-delete:hover{background:var(--danger-tint-bg)}.empty-day{color:var(--text-secondary);font-style:italic;padding:40px 20px;text-align:center}@media (max-width:1400px){.timetable-header{align-items:flex-start;flex-direction:column}.timetable-actions{justify-content:space-between;width:100%}}@media (max-width:768px){.hours-summary{width:100%}.timetable-actions{align-items:stretch;flex-direction:column}.btn-save{justify-content:center;width:100%}}.btn-reassign{color:#fff!important}.btn-reassign,.btn-reassign:hover{background:var(--warning-color)!important;border-color:var(--warning-color)!important}.reassign-modal{max-width:90vw;width:500px}.reassign-info{background:var(--surface-secondary);border:1px solid var(--border-200);border-radius:8px;margin-bottom:20px;padding:16px}.reassign-info p{color:var(--text-secondary);font-size:14px;margin:4px 0}.reassign-info strong{color:var(--text-primary);font-weight:600}.form-control,.form-group label{color:var(--text-secondary)}.form-control{background:var(--surface-primary);border:2px solid var(--border-200);border-radius:6px;font-size:14px;padding:10px 12px;transition:border-color .15s;width:100%}.form-control:focus{border-color:var(--brand-color);box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-control:disabled{background:var(--surface-secondary);color:var(--text-secondary);cursor:not-allowed}textarea.form-control{min-height:80px;resize:vertical}.modal-content{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.modal-header{border-bottom:1px solid var(--border-200)}.modal-header h3{color:var(--text-primary);font-size:18px;font-weight:600;margin:0}.modal-close{align-items:center;background:none;border:none;cursor:pointer;display:flex;font-size:24px;height:24px;justify-content:center;padding:0;width:24px}.btn-secondary,.modal-close,.modal-close:hover{color:var(--text-secondary)}.btn-secondary{background:var(--surface-secondary);border:2px solid var(--border-200);border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 16px;transition:all .15s}.btn-secondary:hover{background:var(--surface-hover);border-color:var(--border-200)}.btn-primary{border:2px solid var(--brand-color);border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 16px;transition:all .15s}.btn-primary:hover:not(:disabled){background:var(--brand-color-hover);border-color:var(--brand-color-hover)}.btn-primary:disabled{background:var(--text-secondary);border-color:var(--text-secondary);cursor:not-allowed}.time-field-wrapper{align-items:center;display:flex;gap:4px;position:relative}.time-field-wrapper.time-override{background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:6px;padding:2px 4px}.time-select.locked{background-color:#fffbeb!important;border-color:#f59e0b!important;font-weight:600}.lock-icon{animation:pulse 2s ease-in-out infinite;cursor:help;font-size:12px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.reset-time-btn{align-items:center;background:#f59e0b;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:14px;height:22px;justify-content:center;transition:all .2s ease;width:22px}.reset-time-btn:hover{background:#d97706;transform:rotate(-180deg)}.reset-time-btn:active{transform:rotate(-180deg) scale(.95)}tr.schedule-row:has(.time-override){background-color:#fffbeb!important}tr.schedule-row:has(.time-override) td{border-left-color:#f59e0b}tr.schedule-row:has(.time-override):hover{background-color:#fef3c7!important}.ongoing-batch-detail{box-sizing:border-box;max-width:100%;padding:0;width:100%}.ongoing-loading{color:var(--text-secondary);padding:40px;text-align:center}.ongoing-header{margin-bottom:32px}.ongoing-header h3{color:var(--text-primary);font-size:18px;font-weight:700;margin-bottom:16px}.summary-pills-horizontal{display:flex;flex-wrap:wrap;gap:12px}.summary-pill{align-items:center;border-radius:24px;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 18px;transition:all .15s}.summary-pill.total{background:var(--info-tint-bg);border:2px solid var(--info-tint-fg);color:var(--info-color)}.summary-pill.accepted{background:var(--success-tint-bg);border:2px solid var(--success-color);color:var(--success-color-dark)}.summary-pill.pending{background:var(--warning-tint-bg);border:2px solid var(--warning-color);color:var(--warning-color-dark)}.summary-pill.rejected{background:var(--danger-tint-bg);border:2px solid var(--danger-color);color:var(--danger-color-dark)}.pill-label{font-size:13px;font-weight:500;opacity:.9}.pill-value{color:var(--text-primary);font-size:18px;font-weight:700}.ongoing-timetable{margin-top:32px;overflow:visible}.ongoing-timetable>h3{color:var(--text-primary);font-size:18px;font-weight:700;margin-bottom:16px}.day-section{border:2px solid var(--border-200);border-radius:8px;margin-bottom:24px;overflow:visible}.day-section .day-timetable-table{display:table;width:100%}.day-header{align-items:center;background:var(--surface-hover);color:var(--text-secondary);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:space-between;padding:12px 16px;transition:background .15s}.day-header:hover{background:var(--border-200)}.assignments-table{background:var(--surface-primary)}.day-timetable-table .assignment-row{display:table-row!important}.assignment-time{color:var(--text-secondary);font-family:monospace;font-size:13px;font-weight:600}.assignment-topic{display:flex;flex-direction:column;gap:4px}.topic-name{color:var(--text-primary);font-size:14px;font-weight:600}.topic-code{color:var(--text-secondary);font-size:12px}.assignment-faculty{color:var(--text-secondary);font-size:14px}.status-pill{align-items:center;border-radius:20px;display:inline-flex;font-size:12px;font-weight:600;gap:4px;white-space:nowrap}.status-pill.accepted{background:var(--success-tint-bg);color:var(--success-color-dark)}.status-pill.pending{background:var(--warning-tint-bg);color:var(--warning-color-dark)}.status-pill.rejected{background:var(--danger-tint-bg);color:var(--danger-color-dark)}.btn-replace{align-items:center;background:var(--info-tint-bg);border:none;border-radius:6px;color:var(--info-color);cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:4px;padding:6px 12px;transition:all .15s}.btn-replace:hover{background:var(--info-tint-bg);transform:translateY(-1px)}.modal-overlay{z-index:10000}.modal-content{max-height:80vh;padding:24px;width:90%}.replace-faculty-modal{background:var(--surface-primary);border-radius:12px;display:flex;flex-direction:column;max-height:85vh;max-width:500px;overflow:hidden;padding:0;width:90%}.modal-header-replace{align-items:center;background:var(--info-color);border-radius:12px 12px 0 0;display:flex;justify-content:space-between;padding:20px 24px}.modal-header-replace h3{color:#fff;font-size:18px;font-weight:700;margin:0}.close-btn-replace{align-items:center;background:#fff3;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:18px;font-weight:700;height:32px;justify-content:center;transition:all .2s;width:32px}.close-btn-replace:hover{background:#ffffff4d;transform:rotate(90deg)}.modal-body-replace{flex:1 1;max-height:calc(85vh - 140px);overflow-y:auto;padding:24px}.modal-footer-replace{background:var(--surface-secondary);border-radius:0 0 12px 12px;border-top:1px solid var(--border-200);padding:16px 24px}.faculty-options-scroll{max-height:300px;overflow-y:auto;padding-right:8px;scrollbar-color:var(--text-muted) var(--surface-secondary);scrollbar-width:thin}.faculty-options-scroll::-webkit-scrollbar{width:6px}.faculty-options-scroll::-webkit-scrollbar-track{background:var(--surface-secondary);border-radius:3px}.faculty-options-scroll::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:3px}.faculty-options-scroll::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.modal-content h3{color:var(--text-primary);font-size:18px;font-weight:700;margin-bottom:16px}.replacement-info{background:var(--surface-secondary);border-radius:8px;margin-bottom:16px;padding:16px}.replacement-info p{color:var(--text-secondary);font-size:14px;margin-bottom:8px}.faculty-list{margin-bottom:16px}.faculty-list label{color:var(--text-secondary);display:block;font-size:14px;font-weight:600;margin-bottom:12px}.faculty-option{align-items:flex-start;background:var(--surface-secondary);border:2px solid var(--border-200);border-radius:6px;color:var(--text-primary);cursor:pointer;display:flex;flex-direction:column;font-size:14px;font-weight:600;margin-bottom:8px;padding:12px;transition:all .15s;width:100%}.faculty-option:hover{background:var(--info-tint-bg);border-color:var(--brand-color)}.faculty-email{color:var(--text-secondary);font-size:12px;font-weight:400;margin-top:4px}.btn-cancel{background:var(--surface-hover);border-radius:6px;padding:10px;transition:all .15s;width:100%}.btn-cancel:hover{background:var(--border-200)}.day-timetable-table{background:var(--surface-primary);border:1px solid var(--border-200);border-collapse:collapse;border-radius:8px;margin-top:8px;max-width:100%;overflow:visible;table-layout:auto;width:100%}.day-timetable-table thead{background:var(--surface-secondary)}.day-timetable-table th{border-bottom:2px solid var(--border-200);color:var(--text-secondary);font-size:13px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.day-timetable-table tbody tr{border-bottom:1px solid var(--surface-hover);transition:background .15s}.day-timetable-table tbody tr:hover{background:var(--surface-secondary)}.day-timetable-table tbody tr:last-child{border-bottom:none}.day-timetable-table td{color:var(--text-secondary);font-size:14px;max-width:none;padding:14px 16px;vertical-align:middle}.day-timetable-table td:last-child{min-width:180px}.topic-cell{display:flex;flex-direction:column;gap:4px}.topic-cell strong{color:var(--text-primary);font-size:14px}.topic-code-small{color:var(--text-secondary);font-size:12px}.assignment-row.accepted{background:var(--success-tint-bg)}.assignment-row.pending{background:var(--warning-tint-bg)}.assignment-row.rejected{background:var(--danger-tint-bg)}.assignment-actions{display:flex;flex-wrap:nowrap;gap:8px;min-width:180px}.btn-action-table{align-items:center;background:var(--surface-primary);border:1px solid var(--border-200);border-radius:6px;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:6px 12px;transition:all .15s;white-space:nowrap}.btn-action-table:hover{background:var(--brand-color);border-color:var(--brand-color);color:#fff}@media (max-width:768px){.assignment-row{gap:8px;grid-template-columns:1fr}.summary-pills-horizontal{flex-direction:column}}.batch-budget-section{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:16px;margin-top:24px;padding:24px}.budget-loading{align-items:center;color:#64748b;display:flex;gap:12px;justify-content:center;padding:32px}.budget-spinner{animation:spin .8s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#667eea;height:24px;width:24px}.budget-empty{align-items:center;display:flex;flex-direction:column;gap:12px;padding:32px;text-align:center}.budget-empty .empty-icon{filter:grayscale(.3);font-size:48px}.budget-empty p{color:#64748b;margin:0}.btn-init-budget{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .2s ease}.btn-init-budget:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}.budget-section-header{align-items:center;border-bottom:2px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.header-left{align-items:center;display:flex;gap:12px}.header-left h4{color:#1a2332;font-size:18px;font-weight:700;margin:0}.budget-status-badge{border-radius:8px;font-size:12px;font-weight:700;padding:6px 14px}.budget-status-badge.pending{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#b45309}.budget-status-badge.completed{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#047857}.header-actions{gap:12px}.btn-calculate,.btn-edit-inputs{align-items:center;border-radius:10px;cursor:pointer;display:flex;font-size:14px;font-weight:700;gap:8px;letter-spacing:.3px;padding:12px 20px;text-transform:none;transition:all .25s ease}.btn-edit-inputs{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:2px solid #94a3b8;box-shadow:0 2px 6px #00000014;color:#334155}.btn-edit-inputs:hover:not(:disabled){background:linear-gradient(135deg,#f1f5f9,#cbd5e1);border-color:#64748b;box-shadow:0 4px 12px #00000026;color:#1e293b;transform:translateY(-2px)}.btn-calculate{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:2px solid #2563eb;box-shadow:0 4px 14px #3b82f666;color:#fff}.btn-calculate:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1e40af);box-shadow:0 6px 20px #3b82f680;transform:translateY(-2px)}.btn-calculate:disabled,.btn-edit-inputs:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.budget-summary-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-bottom:20px}.budget-summary-card{align-items:center;background:#fff;border-left:4px solid #0000;border-radius:12px;box-shadow:0 2px 8px #0000000a;display:flex;gap:14px;padding:18px 20px;transition:all .2s ease}.budget-summary-card:hover{box-shadow:0 4px 16px #00000014;transform:translateY(-2px)}.budget-summary-card .card-icon{font-size:28px}.budget-summary-card .card-info{display:flex;flex-direction:column}.budget-summary-card .card-label{color:#8896a4;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.budget-summary-card .card-value{font-feature-settings:"tnum";font-size:22px;font-weight:800;margin-top:4px}.budget-summary-card.incoming{border-left-color:#10b981}.budget-summary-card.incoming .card-value{color:#059669}.budget-summary-card.outgoing{border-left-color:#f43f5e}.budget-summary-card.outgoing .card-value{color:#e11d48}.budget-summary-card.pl.profit{border-left-color:#22c55e}.budget-summary-card.pl.profit .card-value{color:#16a34a}.budget-summary-card.pl.loss{border-left-color:#ef4444}.budget-summary-card.pl.loss .card-value{color:#dc2626}.joint-breakdown{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.breakdown-column{background:#fff;border-radius:12px;border-top:4px solid #0000;box-shadow:0 2px 8px #0000000a;padding:16px}.breakdown-column.lb{border-top-color:#3b82f6}.breakdown-column.pm{border-top-color:#f59e0b}.column-header{border-bottom:1px solid #f1f5f9;color:#1a2332;font-size:14px;font-weight:700;margin-bottom:12px;padding-bottom:10px}.breakdown-column.lb .column-header span{color:#2563eb}.breakdown-column.pm .column-header span{color:#d97706}.breakdown-row{background:#f8fafc;border-radius:6px;color:#4a5568;font-size:13px;margin-bottom:8px;padding:10px 12px}.breakdown-row:last-child{margin-bottom:0}.breakdown-row .value{font-size:14px;font-weight:700}.breakdown-row .value.incoming{color:#059669}.breakdown-row .value.outgoing{color:#e11d48}.breakdown-row.pl{background:#0000;border-radius:8px;margin-top:8px;padding:12px}.breakdown-row.pl.profit{background:linear-gradient(135deg,#ecfdf5,#d1fae5)}.breakdown-row.pl.profit .value{color:#16a34a;font-size:16px}.breakdown-row.pl.loss{background:linear-gradient(135deg,#fef2f2,#fee2e2)}.breakdown-row.pl.loss .value{color:#dc2626;font-size:16px}.single-breakdown{background:#fff;border-radius:12px;padding:16px}.inputs-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr)}.inputs-row .input-item{background:#f8fafc;border-radius:8px;display:flex;flex-direction:column;padding:12px;text-align:center}.inputs-row .input-item .label{color:#8896a4;font-size:10px;font-weight:700;letter-spacing:.3px;margin-bottom:6px;text-transform:uppercase}.inputs-row .input-item .value{color:#1a2332;font-size:18px;font-weight:800}.budget-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172ab3;bottom:0;display:flex;justify-content:center;left:0;padding:24px;position:fixed;right:0;top:0;z-index:2000}.budget-modal-content{background:#fff;border-radius:20px;box-shadow:0 24px 48px #0003;max-height:90vh;max-width:700px;overflow:auto;width:100%}.budget-modal-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px 20px 0 0;display:flex;justify-content:space-between;padding:24px}.budget-modal-header h3{color:#fff;font-size:20px;font-weight:700;margin:0}.modal-close-btn{align-items:center;background:#fff3;border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:16px;height:36px;justify-content:center;transition:all .2s ease;width:36px}.modal-close-btn:hover{background:#ffffff4d}.budget-modal-body{padding:24px}.joint-input-columns{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr}.joint-input-columns .joint-column{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;padding:20px}.joint-input-columns .joint-column.lb{border-top:4px solid #3b82f6}.joint-input-columns .joint-column.pm{border-top:4px solid #f59e0b}.input-form-section h5{color:#1a2332;font-size:15px;font-weight:700;margin:0 0 16px}.form-grid{grid-gap:14px;gap:14px}.form-group label{color:#64748b;font-size:11px;font-weight:700;letter-spacing:.3px}.form-group input,.form-group select{color:#1a2332;font-weight:600;padding:12px 14px}.form-group input:focus,.form-group select:focus{box-shadow:0 0 0 3px #667eea26}.budget-modal-footer{background:#f8fafc;border-radius:0 0 20px 20px;border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:flex-end;padding:20px 24px}.budget-modal-footer .btn-cancel{background:#fff;border:2px solid #e2e8f0;border-radius:10px;color:#64748b;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s ease}.budget-modal-footer .btn-cancel:hover{background:#f1f5f9}.budget-modal-footer .btn-save{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;box-shadow:0 2px 8px #667eea4d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s ease}.budget-modal-footer .btn-save:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.budget-modal-footer .btn-save:disabled{cursor:not-allowed;opacity:.6;transform:none}@media (max-width:768px){.budget-summary-row,.joint-breakdown{grid-template-columns:1fr}.inputs-row{grid-template-columns:repeat(2,1fr)}.form-grid,.joint-input-columns{grid-template-columns:1fr}.header-actions{flex-direction:column}}.create-batch-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.create-batch-modal{background:var(--surface-primary);border-radius:12px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:90vh;width:600px}.create-batch-modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:20px 24px}.create-batch-modal-header h2{fontSize:20px;color:var(--text-primary);font-weight:600;margin:0}.create-batch-modal-close{background:none;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;padding:8px;transition:background-color .2s}.create-batch-modal-close:hover{background:var(--surface-hover)}.create-batch-progress-bar{background:var(--border-color);height:4px}.create-batch-progress-fill{background:var(--primary-color);height:100%;transition:width .3s}.create-batch-step-indicator{border-bottom:1px solid var(--border-color);color:var(--text-secondary);font-size:14px;padding:12px 24px}.create-batch-modal-body{flex:1 1;overflow-y:auto;padding:24px}.create-batch-modal-body h3{color:var(--text-primary);font-size:18px;margin-bottom:8px}.create-batch-modal-body p{color:var(--text-secondary);font-size:14px;margin-bottom:20px}.create-batch-form-group{margin-bottom:16px}.create-batch-form-label{color:var(--text-primary);display:block;font-size:14px;font-weight:600;margin-bottom:8px}.create-batch-form-label .required{color:var(--error-color)}.create-batch-form-input,.create-batch-form-select{background:var(--surface-primary);border:1px solid var(--border-color);border-radius:8px;box-sizing:border-box;color:var(--text-primary);font-size:15px;padding:10px 12px;width:100%}.create-batch-form-input:disabled{background:var(--surface-secondary);color:var(--text-secondary);cursor:not-allowed}.create-batch-form-input:focus,.create-batch-form-select:focus{border-color:var(--primary-color);outline:none}.create-batch-dates-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.create-batch-date-label{color:var(--text-secondary);display:block;font-size:13px;font-weight:600;margin-bottom:8px}.create-batch-modal-footer{background:var(--surface-secondary);border-top:1px solid var(--border-color);display:flex;justify-content:space-between;padding:20px 24px}.create-batch-btn-cancel{background:var(--surface-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:15px;font-weight:600;padding:10px 20px;transition:all .2s}.create-batch-btn-cancel:hover{background:var(--surface-hover)}.create-batch-btn-next{background:var(--primary-color);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:10px 24px;transition:all .2s}.create-batch-btn-next:hover:not(:disabled){background:var(--primary-hover)}.create-batch-btn-next:disabled{background:var(--border-color);cursor:not-allowed;opacity:.6}.schedule-module-new{background:var(--surface-secondary);box-sizing:border-box;display:flex;flex-direction:column;margin:0;max-width:100%;min-height:100vh;overflow-x:hidden;padding:0;width:100%}.schedule-sidebar-new{background:var(--surface-primary);border-right:1px solid var(--border-200);display:flex;flex-direction:column;gap:8px;overflow-y:auto;padding:32px 20px;width:280px}.year-sidebar h3{font-size:12px;font-weight:700;letter-spacing:.5px;margin:0 0 12px 8px;text-transform:uppercase}.year-btn,.year-sidebar h3{color:var(--text-secondary)}.year-btn{align-items:center;background:#0000;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:10px;justify-content:space-between;padding:10px 14px;text-align:left;transition:all .15s;width:100%}.year-btn:hover{background:var(--surface-hover);color:var(--text-600)}.year-btn.active{background:var(--brand-600);box-shadow:0 1px 3px #635bff4d;color:#fff}.year-count{background:var(--surface-secondary);border-radius:999px;color:var(--text-secondary);font-size:12px;font-weight:700;min-width:24px;padding:3px 10px;text-align:center}.year-btn.active .year-count{background:var(--surface-hover);color:#fff}.schedule-content{flex:1 1;overflow-x:visible;overflow-y:auto;padding:32px 40px}.schedule-header-new{align-items:center;background:var(--surface-primary);border-bottom:1px solid var(--border-200);box-sizing:border-box;display:flex;justify-content:space-between;margin-bottom:24px;padding:28px 40px;width:100%}.schedule-header-new h1{color:var(--text-primary);font-size:28px;font-weight:700;letter-spacing:-.02em;margin:0}.schedule-header-new p{color:var(--text-secondary);font-size:14px;font-weight:500;margin:6px 0 0}.bulk-actions-toolbar{align-items:center;animation:slideDown .3s ease-out;background:var(--brand-600);border-bottom:1px solid var(--brand-700);display:flex;justify-content:space-between;padding:16px 40px;position:-webkit-sticky;position:sticky;top:0;z-index:10}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.bulk-actions-left{align-items:center;color:#fff;display:flex;gap:16px}.bulk-actions-left span{font-size:14px;font-weight:600}.bulk-actions-right{align-items:center;display:flex;gap:12px}.btn-bulk-action{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--surface-elevated);border:1px solid var(--border-200);border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:8px 16px;transition:all .2s}.btn-bulk-action:hover{background:var(--surface-hover);transform:translateY(-1px)}.btn-bulk-action.danger{background:#ef444433;border-color:#ef44444d}.btn-bulk-action.danger:hover{background:#ef44444d}.batch-checkbox{-webkit-appearance:none;appearance:none;background:var(--surface-primary);border:2px solid var(--border-200);border-radius:6px;cursor:pointer;height:20px;left:20px;position:absolute;top:20px;transition:all .2s;width:20px}.batch-checkbox:checked{background:var(--brand-600);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:14px}.batch-checkbox:checked,.batch-checkbox:hover{border-color:var(--brand-600)}.batch-card-with-checkbox{padding-left:56px}.select-all-checkbox{-webkit-appearance:none;appearance:none;background:#0000;border:2px solid #fff;border-radius:6px;cursor:pointer;height:20px;transition:all .2s;width:20px}.select-all-checkbox:checked{background:var(--surface-primary);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23635BFF' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:14px}.header-actions{align-items:center;display:flex;gap:16px}.btn-create-batch{align-items:center;background:var(--brand-600);border:none;border-radius:8px;box-shadow:0 1px 3px #635bff4d;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 20px;transition:all .2s cubic-bezier(.4,0,.2,1)}.btn-create-batch:hover{background:var(--brand-700);box-shadow:0 4px 12px #635bff66;transform:translateY(-1px)}.btn-create-batch svg{flex-shrink:0}.view-toggle{background:var(--surface-hover);border:1px solid var(--border-200);border-radius:8px;display:flex;gap:4px;padding:4px}.view-toggle button{align-items:center;background:#0000;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;gap:6px;padding:8px 12px;transition:all .15s}.view-toggle button:hover{background:var(--surface-secondary);color:var(--text-600)}.view-toggle button.active{background:var(--surface-primary);box-shadow:0 1px 2px #0000000d;color:var(--brand-600)}.filters-bar{display:flex;gap:12px;margin-bottom:24px;padding:0 24px}.search-box{align-items:center;background:var(--surface-input);border:2px solid var(--border-200);border-radius:8px;display:flex;flex:1 1;gap:8px;padding:0 12px;transition:all .15s}.search-box:focus-within{border-color:var(--info-color);box-shadow:0 0 0 3px #3b82f61a}.search-box svg{color:var(--text-secondary);flex-shrink:0}.search-box input{border:none;flex:1 1;font-size:14px;outline:none;padding:10px 0}.filters-bar select{background:var(--surface-input);border:2px solid var(--border-200);border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:14px;padding:10px 12px;transition:all .15s}.filters-bar select:hover{border-color:var(--border-200)}.filters-bar select:focus{border-color:var(--info-color);box-shadow:0 0 0 3px #3b82f61a;outline:none}.filters-bar-new{background:var(--surface-primary);border-bottom:1px solid var(--border-200);display:flex;gap:12px;padding:20px 40px}.search-input-new{background:var(--surface-input);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E");background-position:12px;background-repeat:no-repeat;border:1px solid var(--border-200);border-radius:8px;color:var(--text-primary);flex:1 1;font-size:14px;max-width:400px;padding:10px 16px 10px 40px;transition:all .15s}.search-input-new::placeholder{color:var(--text-secondary)}.search-input-new:hover{border-color:var(--border-200)}.search-input-new:focus{background:var(--surface-input);border-color:var(--brand-600);box-shadow:0 0 0 3px #635bff1a;outline:none}.filter-select-new{background:var(--surface-input);border:1px solid var(--border-200);border-radius:8px;color:var(--text-600);cursor:pointer;font-size:14px;font-weight:500;padding:10px 16px;transition:all .15s}.filter-select-new:hover{border-color:var(--border-200)}.filter-select-new:focus{background:var(--surface-input);border-color:var(--brand-600);box-shadow:0 0 0 3px #635bff1a;outline:none}.batches-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.batch-card{background:var(--surface-primary);border:1px solid var(--border-200);border-radius:12px;box-shadow:0 1px 2px #0000000d;cursor:pointer;padding:24px;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1)}.batch-card:hover{border-color:var(--border-200);box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.batch-card.batch-card-with-checkbox{background:var(--surface-elevated);border-color:var(--brand-600)}.batch-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.batch-title{flex:1 1}.batch-title h3{color:var(--text-primary);font-size:16px;font-weight:600;margin:0 0 8px}.template-badge{border-radius:6px;display:inline-block;font-size:12px;font-weight:700;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase}.template-badge.indigo{background:var(--surface-elevated);border:1px solid var(--border-200);color:var(--brand-color)}.template-badge.orange{background:var(--warning-tint-bg);border:1px solid var(--border-200);color:var(--warning-tint-fg)}.template-badge.teal{background:var(--success-tint-bg);border:1px solid var(--border-200);color:var(--success-tint-fg)}.batch-menu-btn{background:#0000;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;padding:4px;transition:all .15s}.batch-menu-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.batch-card-body{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.batch-info-row{align-items:center;color:var(--text-secondary);display:flex;font-size:13px;gap:8px}.batch-info-row svg{color:var(--text-secondary);flex-shrink:0}.batch-card-footer{align-items:center;border-top:1px solid var(--border-200);display:flex;justify-content:space-between;padding-top:16px}.status-badge{border-radius:6px;text-transform:capitalize}.status-badge.blue{background:var(--info-tint-bg);color:var(--info-tint-fg)}.status-badge.green{background:var(--success-tint-bg);color:var(--success-tint-fg)}.status-badge.brand{background:var(--info-tint-bg);color:var(--brand-color)}.status-badge.gray{background:var(--surface-secondary);color:var(--text-primary)}.btn-view-timetable-new{align-items:center;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:6px 12px;transition:all .15s}.btn-view-timetable-new,.btn-view-timetable-new:hover{background:var(--info-color)}.batches-table-new{background:var(--surface-elevated);border:1px solid var(--border-200);border-radius:12px;overflow:visible}.batches-table-new table{border-collapse:collapse;overflow:visible;position:relative;width:100%}.batches-table-new tbody{overflow:visible}.batches-table-new thead{background:var(--surface-table-header);border-bottom:1px solid var(--border-200)}.batches-table-new th{color:var(--text-secondary);font-size:12px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase}.batches-table-new td{border-bottom:1px solid var(--border-200);color:var(--text-primary);font-size:14px;padding:16px}.batches-table-new tbody tr{position:relative}.batches-table-new tbody td{overflow:visible;position:relative}.batches-table-new tbody tr:last-child td{border-bottom:none}.batches-table-new tbody tr:hover{background:var(--surface-table-row-hover)}.batches-table-new tbody tr.selected{background:var(--surface-hover)}.batches-table-new tbody tr.selected:hover{background:var(--surface-secondary)}.batches-table-new td:first-child,.batches-table-new th:first-child{text-align:center;width:40px}.batch-name-col{color:var(--text-primary);font-weight:600}.btn-action{align-items:center;background:var(--surface-secondary);border:none;border-radius:6px;color:var(--info-color);cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:6px 12px;transition:all .15s}.btn-action:hover{background:var(--info-tint-bg)}.empty-state,.loading-state{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;justify-content:center;padding:80px 20px;text-align:center}.empty-state svg{color:var(--border-200);margin-bottom:16px}.empty-state h3{color:var(--text-600);font-size:18px;font-weight:600;margin:0 0 8px}.empty-state p{font-size:14px;margin:0}@media (max-width:1024px){.schedule-module-new{flex-direction:column;height:auto}.year-sidebar{border-bottom:1px solid var(--border-200);border-right:none;width:100%}.batches-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (max-width:768px){.schedule-content{padding:20px}.filters-bar{flex-direction:column}.batches-grid{grid-template-columns:1fr}.batches-table-new{overflow-x:auto}}.sidebar-divider{background:var(--border-200);height:1px;margin:16px 0}.batch-menu{position:relative;z-index:100}.batch-menu-modern{z-index:10}.batch-menu-dropdown{background:var(--surface-primary);border:1px solid var(--border-200);border-radius:8px;box-shadow:0 4px 12px #00000026;display:block;margin-top:4px;min-width:180px;overflow:visible;position:absolute;right:0;top:100%;z-index:1000}.batch-menu-dropdown button{align-items:center;background:#0000;border:none;color:var(--text-600);cursor:pointer;display:flex;font-size:13px;gap:10px;padding:10px 14px;text-align:left;transition:background .15s;width:100%}.batch-menu-dropdown button:hover{background:var(--surface-hover)}.batch-menu-dropdown button.danger{color:var(--error-color)}.batch-menu-dropdown button.danger:hover{background:var(--danger-bg)}.batch-menu-dropdown button svg{flex-shrink:0}.table-actions{align-items:center;display:flex;gap:8px}.batches-table-new .batch-menu,.table-actions{position:relative}.batches-table-new .batch-menu-dropdown{background:var(--surface-primary);border:1px solid var(--border-200);border-radius:8px;box-shadow:0 10px 25px #0003;min-width:200px;position:absolute;right:0;top:calc(100% + 4px);z-index:1000}.modal-overlay{inset:0}.modal-content-small{background:var(--surface-primary);border-radius:12px;box-shadow:0 20px 25px -5px #0003;max-width:450px;width:90%}.modal-header{background:var(--info-color);border-bottom:none;padding:32px 36px}.modal-header h2{align-items:center;display:flex;gap:12px}.modal-header .close-btn{background:var(--surface-elevated);border:none;border-radius:10px;color:#fff;cursor:pointer;padding:10px;transition:all .2s}.modal-header .close-btn:hover{background:var(--surface-hover);transform:rotate(90deg)}.modal-header h2{font-size:18px}.close-btn{background:#0000;padding:4px;transition:all .15s}.close-btn:hover{background:var(--surface-hover);color:var(--text-600)}.modal-body{padding:20px 24px}.modal-body p{color:var(--text-secondary);font-size:14px;margin:0 0 16px}.form-group label{margin-bottom:6px}.form-group input,.form-group select{border-radius:8px;padding:10px 12px;transition:all .15s}.modal-content-medium{background:var(--surface-primary);border:1px solid var(--border-200);border-radius:16px;box-shadow:0 25px 50px -12px #00000040;display:flex;flex-direction:column;max-height:90vh;max-width:560px;overflow:hidden;width:90%}.modal-content-medium .modal-header{align-items:center;background:var(--info-color);border-bottom:none;display:flex;justify-content:space-between;padding:20px 24px}.modal-content-medium .modal-header h2,.modal-content-medium .modal-header h3{color:#fff;font-size:18px;font-weight:600;margin:0}.modal-content-medium .modal-close,.modal-content-medium .modal-header .close-btn{align-items:center;background:#fff3;border:none;border-radius:8px;color:#fff!important;cursor:pointer;display:flex;flex-shrink:0;justify-content:center;padding:8px;transition:all .2s}.modal-content-medium .modal-close:hover,.modal-content-medium .modal-header .close-btn:hover{background:#ffffff4d;transform:rotate(90deg)}.modal-content-medium .modal-body{max-height:calc(90vh - 160px);overflow-y:auto;padding:24px;scrollbar-color:var(--text-muted) var(--surface-secondary);scrollbar-width:thin}.modal-content-medium .modal-body::-webkit-scrollbar{width:8px}.modal-content-medium .modal-body::-webkit-scrollbar-track{background:var(--surface-secondary);border-radius:4px}.modal-content-medium .modal-body::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:4px}.modal-content-medium .modal-body::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.edit-batch-info{background:var(--surface-secondary);border:1px solid var(--border-200);border-radius:8px;color:var(--text-secondary);font-size:13px;margin-bottom:20px;padding:12px 14px}.edit-batch-label{display:block;font-weight:600;margin-bottom:8px}.edit-batch-input,.edit-batch-label{color:var(--text-primary);font-size:14px}.edit-batch-input{background:var(--surface-primary);border:2px solid var(--border-200);border-radius:8px;outline:none;padding:12px 14px;transition:border-color .2s;width:100%}.edit-batch-input:focus{border-color:var(--info-color)}.edit-batch-input::placeholder{color:var(--text-secondary)}.edit-batch-input.error{border-color:#ef4444}.edit-batch-dates-grid{grid-gap:12px;background:var(--surface-secondary);border:1px solid var(--border-200);border-radius:10px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr);padding:16px}.edit-batch-date-item{display:flex;flex-direction:column;gap:6px}.edit-batch-date-item label{color:var(--text-secondary);font-size:11px;font-weight:500}.edit-batch-date-item input{background:var(--surface-primary);border:1px solid var(--border-200);border-radius:6px;color:var(--text-primary);font-size:13px;outline:none;padding:10px 12px;transition:border-color .2s}.edit-batch-date-item input:focus{border-color:var(--info-color)}.edit-batch-tip{color:var(--text-secondary);font-size:12px;margin-top:10px}.modal-content-medium .modal-footer{background:var(--surface-primary);border-top:1px solid var(--border-200);display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.edit-batch-btn-cancel{background:var(--surface-secondary);border:1px solid var(--border-200);border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.edit-batch-btn-cancel:hover{background:var(--surface-hover)}.edit-batch-btn-save{background:var(--info-color);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.edit-batch-btn-save:hover:not(:disabled){background:#2563eb}.edit-batch-btn-save:disabled{background:var(--text-secondary);cursor:not-allowed;opacity:.6}.edit-batch-error{color:#ef4444;display:block;font-size:12px;margin-top:6px}.modal-content-large{background:var(--surface-primary);border-radius:20px;box-shadow:0 25px 50px -12px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:800px;overflow:hidden;width:90%}.modal-content-large .modal-body{max-height:calc(90vh - 160px);overflow-y:auto;padding:0}.form-grid{display:flex;flex-direction:column;gap:20px}.form-group{gap:8px}.form-group.full-width{width:100%}.form-group label{align-items:center;color:var(--text-600);display:flex;gap:4px}.form-group .required{color:var(--error-color);font-size:14px}.form-group input,.form-group select{background:var(--surface-primary);border:2px solid var(--border-200);border-radius:12px;color:var(--text-primary);font-size:15px;font-weight:400;padding:14px 16px;transition:all .2s}.form-group input::placeholder{color:var(--text-secondary);font-weight:400}.form-section{border-bottom:1px solid var(--surface-hover);padding:32px 36px}.form-section:last-child{border-bottom:none}.form-section-title{align-items:center;color:var(--text-primary);display:flex;font-size:16px;font-weight:700;gap:8px;margin:0 0 24px}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr)}.form-group input:hover,.form-group select:hover{border-color:var(--info-color)}.form-group input:focus,.form-group select:focus{background:var(--surface-primary);box-shadow:0 0 0 4px #3b82f61a}.form-group input:disabled{background:var(--surface-secondary);border-color:var(--border-200);color:var(--text-secondary);cursor:not-allowed}.dates-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-top:8px}.date-input-group{display:flex;flex-direction:column;gap:8px}.date-label{color:var(--text-secondary);font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.date-input-group input{border-radius:10px;font-size:14px;padding:12px 14px}@media (max-width:768px){.dates-grid{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}}.form-group input:focus,.form-group select:focus{border-color:var(--info-color);box-shadow:0 0 0 3px #3b82f61a}.modal-footer{background:var(--surface-secondary);border-top:1px solid var(--border-200);justify-content:space-between;padding:24px 36px}.modal-footer-info{color:var(--text-secondary);font-size:13px}.modal-footer-actions{display:flex;gap:12px}.btn-cancel{background:var(--surface-primary);border:2px solid var(--border-200);border-radius:12px;color:var(--text-secondary);font-size:15px;padding:13px 28px;transition:all .2s}.btn-cancel:hover{background:var(--surface-secondary);border-color:var(--border-200);color:var(--text-primary)}.btn-submit{background:var(--info-color);border:none;border-radius:12px;box-shadow:0 2px 8px #3b82f640;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:13px 32px;transition:all .2s}.btn-submit:hover{background:var(--info-color);box-shadow:0 4px 12px #3b82f659;transform:translateY(-1px)}.detail-panel-backdrop{animation:fadeIn .2s ease-out;background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:999}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.detail-panel{animation:slideInRight .3s ease-out;background:var(--surface-primary);bottom:0;box-shadow:-4px 0 24px #00000026;display:flex;flex-direction:column;position:fixed;right:0;top:0;width:500px;z-index:1000}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.detail-panel-header{align-items:center;background:var(--info-color);border-bottom:1px solid var(--border-200);display:flex;justify-content:space-between;padding:24px 28px}.detail-panel-header h2{color:#fff;flex:1 1;font-size:20px;font-weight:700;margin:0}.detail-panel-header .close-btn{align-items:center;background:var(--surface-elevated);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .2s}.detail-panel-header .close-btn:hover{background:var(--surface-hover);transform:rotate(90deg)}.detail-panel-body{flex:1 1;overflow-y:auto;padding:28px}.detail-section{margin-bottom:32px}.detail-section:last-child{margin-bottom:0}.detail-section-title{border-bottom:2px solid var(--border-200);color:var(--text-600);font-size:14px;font-weight:700;letter-spacing:.5px;margin:0 0 16px;padding-bottom:8px;text-transform:uppercase}.detail-info-grid{grid-gap:20px;display:grid;gap:20px}.detail-info-item{flex-direction:column}.detail-info-item,.detail-info-item label{display:flex;gap:6px}.detail-info-item label{align-items:center;color:var(--text-secondary);font-size:12px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;.calendar-batches-section{background:var(--surface-secondary);border-radius:16px;margin-top:32px;padding:40px}.calendar-section-title{color:var(--text-primary);font-size:18px;font-weight:700;letter-spacing:-.01em;margin:0 0 24px}.calendar-batch-buttons-simple{align-items:center;flex-wrap:wrap;gap:12px}.calendar-batch-btn-simple{background:var(--surface-primary);border:2px solid var(--border-200);border-radius:20px;color:var(--text-primary);cursor:pointer;display:inline-block;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s;white-space:nowrap}.calendar-batch-btn-simple:hover{background:var(--surface-elevated);border-color:var(--brand-600);box-shadow:0 2px 8px #635bff33;color:var(--brand-600);transform:translateY(-1px)}.calendar-batch-card-new{background:var(--surface-primary);border:1px solid var(--border-200);border-radius:12px;box-shadow:0 1px 2px #0000000d;cursor:pointer;overflow:hidden;padding:20px;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1)}.calendar-batch-card-new:before{background:var(--text-secondary);content:"";height:100%;left:0;position:absolute;top:0;transition:all .2s;width:4px}.calendar-batch-card-new.indigo:before{background:var(--brand-600)}.calendar-batch-card-new.orange:before{background:var(--warning-color)}.calendar-batch-card-new.teal:before{background:var(--success-color)}.calendar-batch-card-new:hover{border-color:var(--border-200);box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.calendar-batch-card-new.indigo:hover{border-color:var(--brand-600);box-shadow:0 4px 12px #635bff33}.calendar-batch-card-new.orange:hover{border-color:var(--warning-color);box-shadow:0 4px 12px #f59e0b33}.calendar-batch-card-new.teal:hover{border-color:var(--success-color);box-shadow:0 4px 12px #14b8a633}.calendar-batch-card-header{align-items:center;justify-content:space-between;margin-bottom:12px}.batch-card-icon{color:var(--text-secondary);transition:all .2s}.calendar-batch-card-new:hover .batch-card-icon{color:var(--brand-600);transform:scale(1.1)}.calendar-batch-card-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-primary);display:-webkit-box;font-size:16px;font-weight:600;line-height:1.4;margin:0;overflow:hidden;text-overflow:ellipsis}.calendar-empty-state{color:var(--text-secondary);padding:60px 20px;text-align:center}.calendar-empty-state svg{margin:0 auto 16px;opacity:.5}.calendar-empty-state p{font-size:15px;font-weight:500;margin:0}}.detail-info-item p{color:var(--text-primary);font-size:14px;font-weight:500;margin:0}.date-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.date-badge{background:var(--surface-hover);border:1px solid var(--border-200);border-radius:6px;color:var(--text-600);display:inline-block;font-size:12px;font-weight:500;padding:6px 12px}.stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.stat-card{align-items:center;background:var(--surface-secondary);border:1px solid var(--border-200);border-radius:12px;display:flex;gap:12px;padding:16px;transition:all .2s}.stat-card:hover{border-color:var(--info-color);box-shadow:0 4px 12px #3b82f61a;transform:translateY(-2px)}.stat-icon{align-items:center;background:var(--info-color);border-radius:10px;color:#fff;display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.stat-content{flex:1 1}.stat-label{font-weight:500;margin:0 0 4px}.stat-value{color:var(--text-primary);font-size:18px;margin:0}.detail-actions{flex-direction:column;gap:12px}.btn-detail-action{align-items:center;background:var(--surface-primary);border:2px solid var(--border-200);border-radius:12px;cursor:pointer;display:flex;gap:16px;padding:16px 20px;text-align:left;transition:all .2s}.btn-detail-action:hover{.calendar-view{background:var(--surface-primary);border:1px solid var(--border-200);border-radius:16px;box-shadow:0 1px 3px #0000000d;max-width:100%;padding:32px;width:100%}.calendar-header{align-items:center;border-bottom:2px solid var(--border-200);display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.calendar-month-year{color:var(--text-primary);font-size:24px;font-weight:700;margin:0}.calendar-nav{align-items:center;display:flex;gap:8px}.btn-today{background:var(--surface-secondary);border:1px solid var(--info-color);border-radius:8px;color:var(--info-color);cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:all .2s}.btn-today:hover{background:var(--info-color);color:#fff}.btn-nav{align-items:center;border:1px solid var(--border-200);border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s;width:36px}.btn-nav,.btn-nav:hover{background:var(--surface-secondary)}.btn-nav:hover{border-color:var(--info-color);color:var(--info-color)}.calendar-grid{grid-gap:8px;display:grid!important;gap:8px;grid-template-columns:repeat(7,1fr)!important;width:100%}.calendar-weekday{background:var(--surface-secondary);border-radius:6px;color:var(--text-secondary);font-size:12px;font-weight:700;letter-spacing:.5px;padding:12px 8px;text-align:center;text-transform:uppercase}.calendar-day{align-items:center;background:var(--surface-primary);border:1px solid var(--border-200);border-radius:8px;display:flex;flex-direction:column;justify-content:flex-start;min-height:100px;overflow:visible;padding:12px 8px;position:relative;transition:all .2s}.calendar-day.selected{background:var(--surface-elevated);border-color:var(--brand-600);border-width:2px}.calendar-day.empty{background:var(--surface-secondary);border-color:var(--surface-secondary)}.calendar-day.today{background:var(--surface-elevated);border-color:var(--brand-600);border-width:2px}.calendar-day.has-batches{cursor:default}.calendar-day.has-batches:hover{background:var(--surface-secondary)}.calendar-day-number{color:var(--text-600);font-size:15px;font-weight:700;margin-bottom:8px}.calendar-day.today .calendar-day-number{color:var(--brand-600)}.calendar-day-indicators{align-items:center!important;display:flex!important;flex-wrap:wrap!important;gap:3px!important;justify-content:center!important;margin-top:8px!important;min-height:16px!important}.calendar-indicator{border-radius:50%!important;display:block!important;flex-shrink:0!important;height:8px!important;width:8px!important}.calendar-indicator.indigo{background-color:var(--brand-600)!important}.calendar-indicator.orange{background-color:var(--warning-color)!important}.calendar-indicator.teal{background-color:var(--success-color)!important}.modal-overlay-step{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:9999}.modal-card-step{background:var(--surface-primary);border-radius:12px;box-shadow:0 20px 60px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:650px;width:100%}.modal-header-step{align-items:center;border-bottom:1px solid var(--border-200);display:flex;flex-shrink:0;justify-content:space-between;padding:20px 24px}.modal-header-step h2{color:var(--text-primary);font-size:20px;font-weight:600;margin:0}.close-btn-step{align-items:center;background:#0000;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .15s;width:32px}.close-btn-step:hover{background:var(--surface-hover);color:var(--text-primary)}.progress-container-step{background:var(--border-200);height:4px;overflow:hidden;position:relative}.progress-bar-step{background:var(--info-color);height:100%;transition:width .3s ease}.progress-text-step{border-bottom:1px solid var(--border-200);color:var(--text-secondary);font-size:13px;font-weight:500;padding:12px 24px}.modal-body-step{flex:1 1;overflow-y:auto;padding:24px}.step-content{max-width:100%}.step-title{color:var(--text-primary);font-size:18px;font-weight:600;margin:0 0 8px}.step-subtitle{color:var(--text-secondary);font-size:14px;margin:0 0 24px}.form-field-step{margin-bottom:20px}.form-field-step label{color:var(--text-600);display:block;font-size:14px;font-weight:600;margin-bottom:8px}.input-step{background:var(--surface-primary);border:1px solid var(--border-200);border-radius:8px;box-sizing:border-box;color:var(--text-primary);font-size:15px;padding:11px 14px;transition:all .15s;width:100%}.input-step::placeholder{color:var(--text-secondary)}.input-step:hover{border-color:var(--text-secondary)}.input-step:focus{border-color:var(--info-color);box-shadow:0 0 0 3px #3b82f61a;outline:none}.input-disabled{background:var(--surface-secondary);color:var(--text-secondary);cursor:not-allowed}.dates-grid-step{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.date-field-step label{color:var(--text-secondary);display:block;font-size:13px;font-weight:600;margin-bottom:8px}.modal-footer-step{align-items:center;background:var(--surface-secondary);border-top:1px solid var(--border-200);display:flex;flex-shrink:0;gap:12px;justify-content:space-between;padding:20px 24px}.btn-back-step{background:var(--surface-primary);border:1px solid var(--border-200);border-radius:8px;color:var(--text-600);cursor:pointer;font-size:15px;font-weight:600;padding:11px 20px;transition:all .15s}.btn-back-step:hover{background:var(--surface-secondary);border-color:var(--text-secondary)}.btn-next-step{border:1px solid var(--info-color);border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:11px 24px;transition:all .15s}.btn-next-step,.btn-next-step:hover{background:var(--info-color)}.btn-next-step:disabled{border-color:var(--border-200);color:var(--text-secondary);cursor:not-allowed}.btn-next-step:disabled,.btn-next-step:disabled:hover{background:var(--border-200)}.enrollment-close-btn{align-items:center;background:var(--surface-elevated);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;height:40px;justify-content:center;position:absolute;right:20px;top:20px;transition:all .15s;width:40px}.enrollment-close-btn:hover{background:var(--surface-hover)}.enrollment-title{color:#fff;font-size:32px;font-weight:700;line-height:1.2;margin:0 0 8px}.enrollment-subtitle{color:var(--text-primary);font-size:16px;line-height:1.4;margin:0}.enrollment-stepper{align-items:center;box-sizing:border-box;display:flex;gap:0;justify-content:center;margin:-28px auto 40px;max-width:800px;padding:0 32px;width:100%}.stepper-step{flex-direction:column;gap:8px;position:relative;z-index:1}.stepper-circle,.stepper-step{align-items:center;display:flex}.stepper-circle{background:var(--surface-primary);border:2px solid var(--border-200);border-radius:50%;color:var(--text-secondary);font-size:16px;font-weight:700;height:40px;justify-content:center;transition:all .2s;width:40px}.stepper-step.active .stepper-circle{background:var(--info-color);border-color:var(--info-color);box-shadow:0 4px 12px #3b82f64d;color:#fff}.stepper-label{color:var(--text-secondary);font-size:13px;font-weight:500;white-space:nowrap}.stepper-step.active .stepper-label{color:var(--info-color);font-weight:600}.stepper-line{background:var(--border-200);flex:1 1;height:2px;margin:0 -20px 24px;position:relative;z-index:0}.enrollment-card{box-sizing:border-box;margin:0 auto 40px;max-width:900px;padding:0 32px;width:100%}.enrollment-card-content{background:var(--surface-primary);border-radius:16px;box-shadow:0 4px 12px #00000014;box-sizing:border-box;padding:40px}.enrollment-section-title{color:var(--text-primary);font-size:24px;font-weight:700;line-height:1.3;margin:0 0 8px}.enrollment-section-subtitle{color:var(--text-secondary);font-size:15px;line-height:1.4;margin:0 0 32px}.enrollment-form{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(2,1fr)}.enrollment-field{display:flex;flex-direction:column;gap:10px}.enrollment-field.full-width{grid-column:1/-1}.enrollment-label{align-items:center;color:var(--text-600);display:flex;font-size:14px;font-weight:600;gap:8px;line-height:1.4}.enrollment-label svg{color:var(--text-secondary);flex-shrink:0}.required{color:var(--error-color)}.enrollment-input{background:var(--surface-primary);border:1px solid var(--border-200);border-radius:10px;box-sizing:border-box;color:var(--text-primary);font-size:15px;padding:12px 14px;transition:all .15s;width:100%}.enrollment-input::placeholder{color:var(--text-secondary)}.enrollment-input:hover{border-color:var(--text-secondary)}.enrollment-input:focus{border-color:var(--info-color);box-shadow:0 0 0 4px #3b82f61a;outline:none}.enrollment-input-disabled{background:var(--surface-secondary);color:var(--text-secondary);cursor:not-allowed}.enrollment-input-disabled:hover{border-color:var(--border-200)}.enrollment-dates-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-top:8px}.enrollment-date-item{display:flex;flex-direction:column;gap:8px}.enrollment-date-label{color:var(--text-secondary);font-size:13px;font-weight:600;line-height:1.4}.enrollment-continue-btn{background:var(--info-color);border:none;border-radius:10px;box-shadow:0 4px 12px #3b82f64d;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:32px;padding:14px 24px;transition:all .15s;width:100%}.enrollment-continue-btn:hover{background:var(--info-color);box-shadow:0 8px 20px #3b82f666;transform:translateY(-2px)}.enrollment-continue-btn:disabled{color:var(--text-secondary);cursor:not-allowed}.enrollment-continue-btn:disabled,.enrollment-continue-btn:disabled:hover{background:var(--border-200);box-shadow:none;transform:none}.form-fields{display:flex;flex-direction:column;gap:28px}.form-row-2{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(2,1fr)}.form-group label{color:var(--text-primary);display:block;font-size:14px;font-weight:700;letter-spacing:.3px;margin-bottom:10px}.form-input{background:var(--surface-primary);border:2px solid var(--border-200);border-radius:16px;box-shadow:0 2px 8px #0000000a;color:var(--text-primary);font-size:16px;font-weight:500;padding:16px 20px;transition:all .3s;width:100%}.form-input::placeholder{color:var(--text-secondary);font-weight:400}.form-input:hover{border-color:var(--info-color);box-shadow:0 4px 12px #3b82f61a}.form-input:focus{background:var(--surface-primary);border-color:var(--info-color);box-shadow:0 0 0 4px #3b82f626,0 8px 20px #3b82f61a;outline:none;transform:translateY(-2px)}.form-input:disabled{background:var(--surface-secondary);border-color:var(--border-200);color:var(--text-secondary);cursor:not-allowed}.form-hint{color:var(--text-secondary);font-size:14px;font-weight:500;margin:-20px 0 12px}.dates-grid-page{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}.date-card{background:var(--surface-secondary);border:2px solid var(--border-200);border-radius:20px;overflow:hidden;padding:20px;position:relative;transition:all .3s}.date-card:before{background:var(--info-color);content:"";height:4px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s}.date-card.has-date{background:var(--success-tint-bg);border-color:var(--success-color)}.date-card.has-date:before{background:var(--success-color);opacity:1}.date-card:hover{background:var(--surface-primary);border-color:var(--info-color);box-shadow:0 12px 24px #3b82f626;transform:translateY(-4px)}.date-card:hover:before{opacity:1}.date-card-label{-webkit-text-fill-color:#0000;background:var(--info-color);-webkit-background-clip:text;background-clip:text;display:block;font-size:13px;font-weight:800;letter-spacing:1px;margin-bottom:12px;text-transform:uppercase}.date-card input{background:var(--surface-primary);border:2px solid var(--border-200);border-radius:12px;color:var(--text-primary);font-size:15px;font-weight:600;padding:12px 14px;transition:all .3s;width:100%}.date-card input:focus{border-color:var(--info-color);box-shadow:0 0 0 4px #3b82f626;outline:none}.form-actions{display:flex;gap:16px;justify-content:flex-end;padding:32px 0 0}.btn-cancel-page{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--surface-primary);border:2px solid var(--border-200);border-radius:16px;color:var(--text-secondary);cursor:pointer;font-size:16px;font-weight:700;padding:16px 32px;transition:all .3s}.btn-cancel-page:hover{background:#3b82f60d;border-color:var(--info-color);color:var(--info-color);transform:translateY(-2px)}.btn-create-page{align-items:center;background:var(--info-color);background-size:200% 200%;border:none;border-radius:16px;box-shadow:0 8px 24px #3b82f666;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:700;gap:10px;overflow:hidden;padding:16px 40px;position:relative;transition:all .4s}.btn-create-page:before{background:var(--surface-hover);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.btn-create-page:hover:before{left:100%}.btn-create-page:hover{background-position:100% 0;box-shadow:0 12px 32px #8b5cf680;transform:translateY(-3px)}.btn-create-page:disabled{background:var(--text-secondary);cursor:not-allowed;opacity:.6}.btn-create-page:disabled,.btn-create-page:disabled:hover{box-shadow:none;transform:none}@media (max-width:768px){.enrollment-header{padding:32px 20px}.enrollment-title{font-size:24px}.enrollment-subtitle{font-size:14px}.enrollment-stepper{gap:0;padding:0 20px}.stepper-label{font-size:11px}.stepper-circle{font-size:14px;height:36px;width:36px}.enrollment-card{padding:0 20px}.enrollment-card-content{padding:24px}.enrollment-section-title{font-size:20px}.enrollment-section-subtitle{font-size:14px;margin-bottom:24px}.enrollment-form{gap:20px;grid-template-columns:1fr}.enrollment-dates-grid{gap:14px;grid-template-columns:1fr}}}@media (max-width:1024px){.calendar-day{min-height:100px}}.btn-detail-action.primary{background:var(--info-color);border-color:var(--info-color);color:#fff}.btn-detail-action.primary:hover{background:var(--info-color);box-shadow:0 8px 20px #3b82f64d}.btn-detail-action svg{color:var(--info-color);flex-shrink:0}.btn-detail-action.primary svg{color:#fff}.btn-detail-action div{display:flex;flex-direction:column;gap:4px}.btn-detail-action strong{color:var(--text-primary);font-size:15px;font-weight:600}.btn-detail-action.primary strong{color:#fff}.btn-detail-action span{color:var(--text-secondary);font-size:12px}.btn-detail-action.primary span{color:var(--text-primary)}@media (max-width:768px){.detail-panel{width:100%}}.table-container-schedule{background:var(--surface-primary);border:1px solid var(--border-200);border-radius:12px;max-width:100%;overflow:visible;position:relative}.table-container-schedule .schedule-table{max-width:100%;overflow:visible;width:100%}.schedule-table{border-collapse:collapse;font-size:14px;width:100%}.schedule-table thead{background:var(--surface-secondary);border-bottom:2px solid var(--border-200)}.schedule-table thead th{color:var(--text-600);font-size:13px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase}.schedule-table tbody tr.schedule-row{border-bottom:1px solid var(--border-200);position:relative;transition:background .15s}.schedule-table tbody tr.schedule-row.selected,.schedule-table tbody tr.schedule-row:hover{background:var(--surface-secondary)}.schedule-table tbody td{overflow:visible;padding:16px;position:relative;vertical-align:middle}.batch-name-cell{display:flex;flex-direction:column;gap:4px}.batch-name-cell strong{color:var(--text-primary);font-size:14px;font-weight:600}.btn-expand-schedule{align-items:center;background:var(--surface-primary);border:1px solid var(--border-200);border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:18px;font-weight:600;height:32px;justify-content:center;transition:all .15s;width:32px}.btn-expand-schedule:hover{background:var(--surface-hover);border-color:var(--text-secondary);color:var(--text-600)}.expanded-row-schedule{background:var(--surface-secondary);border-bottom:1px solid var(--border-200)}.expanded-panel-schedule{box-sizing:border-box;display:block;max-height:600px;overflow-x:hidden;overflow-y:auto}.expanded-panel-schedule::-webkit-scrollbar{width:6px}.expanded-panel-schedule::-webkit-scrollbar-track{background:var(--surface-secondary);border-radius:3px}.expanded-panel-schedule::-webkit-scrollbar-thumb{background:var(--border-200);border-radius:3px}.expanded-panel-schedule::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.schedule-overview-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr;margin-bottom:24px}.overview-section h4{align-items:center;color:var(--text-600);display:flex;font-size:14px;font-weight:600;gap:6px;margin:0 0 12px}.overview-details{display:flex;flex-direction:column;font-size:13px;gap:8px}.overview-details div{color:var(--text-secondary)}.overview-details strong{color:var(--text-600);margin-right:8px}.stats-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}.stat-item{align-items:center;background:var(--surface-primary);border:1px solid var(--border-200);border-radius:8px;padding:12px;text-align:center}.stat-value{color:var(--info-color);font-size:24px;margin-bottom:4px}.stat-label{color:var(--text-secondary);font-size:12px}.schedule-preview-section{margin-bottom:24px}.schedule-preview-section h4{color:var(--text-600);font-size:14px;font-weight:600;margin:0 0 12px}.schedule-breakdown-table{background:var(--surface-primary);border:1px solid var(--border-200);border-collapse:collapse;border-radius:8px;font-size:13px;max-width:100%;overflow:hidden;table-layout:auto;width:100%}.schedule-breakdown-table td,.schedule-breakdown-table th{word-wrap:break-word;overflow-wrap:break-word}.schedule-breakdown-table thead{background:var(--surface-secondary)}.schedule-breakdown-table th{border-bottom:2px solid var(--border-200);color:var(--text-600);font-size:12px;font-weight:600;letter-spacing:.5px;padding:10px 12px;text-align:left;text-transform:uppercase}.schedule-breakdown-table td{border-bottom:1px solid var(--surface-hover);color:var(--text-secondary);padding:12px}.schedule-breakdown-table tbody tr:last-child td{border-bottom:none}.schedule-breakdown-table tbody tr:hover{background:var(--surface-secondary)}.date-small{color:var(--text-secondary);font-size:11px;margin-top:2px}.view-more-hint{color:var(--text-secondary);font-size:13px;font-style:italic;margin:12px 0 0;text-align:center}.empty-schedule-message{background:var(--surface-primary);border:1px dashed var(--border-200);border-radius:8px;margin-bottom:24px;padding:40px 20px;text-align:center}.empty-schedule-message p{color:var(--text-secondary);font-size:14px;margin:0}.expanded-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.btn-action-expanded{align-items:center;background:var(--surface-primary);border:1px solid var(--border-200);border-radius:8px;color:var(--text-600);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 16px;transition:all .15s}.btn-action-expanded:hover{background:var(--surface-hover);border-color:var(--text-secondary)}.btn-action-expanded.edit{color:#fff}.btn-action-expanded.edit,.btn-action-expanded.edit:hover{background:var(--info-color);border-color:var(--info-color)}.btn-action-expanded.view{color:#fff}.btn-action-expanded.view,.btn-action-expanded.view:hover{background:var(--success-color);border-color:var(--success-color)}.btn-action-expanded.print{color:#fff}.btn-action-expanded.print,.btn-action-expanded.print:hover{background:var(--brand-600);border-color:var(--brand-600)}.locked-notice-inline{align-items:center;background:var(--warning-tint-bg);border:1px solid var(--warning-color);border-radius:8px;color:var(--warning-color);display:flex;flex:1 1;font-size:13px;gap:8px;min-width:250px;padding:10px 16px}.year-filters-header{align-items:center;background:#fff;background:var(--surface-primary,#fff);border-bottom:1px solid var(--border-200);display:flex;gap:16px;justify-content:space-between;margin-bottom:20px;padding:16px 24px}.year-tabs{display:flex;flex-wrap:wrap;gap:8px}.year-tab{align-items:center;background:var(--surface-primary);border:1px solid var(--border-200);border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:8px 16px;transition:all .15s}.year-tab:hover{background:var(--surface-hover);border-color:var(--text-secondary)}.year-tab.active{background:var(--info-color);border-color:var(--info-color);color:#fff}.tab-count{background:var(--surface-elevated);border-radius:12px;font-size:12px;font-weight:600;padding:2px 8px}.year-tab.active .tab-count{background:var(--surface-hover)}.archive-toggle{align-items:center;background:var(--surface-primary);border:1px solid var(--border-200);border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:8px 16px;transition:all .15s}.archive-toggle:hover{background:var(--surface-hover);border-color:var(--text-secondary)}.archive-toggle.active{background:var(--brand-600);border-color:var(--brand-600);color:#fff}.batches-grid-modern{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));padding:24px}.batch-card-modern{background:var(--surface-primary);border:2px solid var(--border-200);border-radius:16px;cursor:pointer;overflow:hidden;position:relative;transition:all .2s}.batch-card-modern:hover{border-color:var(--info-color);box-shadow:0 12px 24px #0000001a;transform:translateY(-4px)}.batch-card-modern.selected{border-color:var(--info-color);box-shadow:0 0 0 3px #3b82f61a}.batch-card-modern.status-scheduled .card-gradient-bg{background:var(--info-tint-bg)}.batch-card-modern.status-ongoing .card-gradient-bg{background:var(--success-tint-bg)}.batch-card-modern.status-completed .card-gradient-bg{background:var(--surface-elevated)}.card-gradient-bg{height:6px;left:0;position:absolute;right:0;top:0;z-index:1}.batch-checkbox-modern{cursor:pointer;height:20px;left:12px;position:absolute;top:12px;width:20px;z-index:10}.batch-card-content{padding:20px;position:relative;z-index:2}.batch-card-top{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.batch-title-modern h3{color:var(--text-primary);font-size:18px;font-weight:700;margin:0 0 8px}.template-badge-modern{border-radius:6px;display:inline-block;font-size:12px;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.batch-menu-modern{position:relative}.batch-card-info-modern{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.info-row-modern{align-items:center;color:var(--text-secondary);display:flex;font-size:14px;gap:10px}.info-row-modern svg{color:var(--text-secondary);flex-shrink:0}.batch-card-footer-modern{align-items:center;border-top:1px solid var(--surface-hover);display:flex;justify-content:space-between;padding-top:16px}.status-badge-modern{align-items:center;border-radius:20px;display:flex;font-size:11px;font-weight:700;gap:4px;letter-spacing:.5px;padding:6px 12px}.btn-view-modern{align-items:center;background:var(--info-color);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;padding:8px 16px;transition:all .15s}.btn-view-modern:hover{background:var(--info-color);transform:scale(1.05)}.schedule-table tbody tr.schedule-row{background:var(--surface-primary)}.schedule-table tbody tr.expanded-row-schedule{background:var(--surface-secondary);border-bottom:2px solid var(--surface-elevated);border-top:2px solid var(--surface-elevated)}.expanded-panel-schedule{background:var(--surface-secondary);border-radius:8px;max-width:100%;overflow-x:auto;padding:24px;width:100%}.expanded-row-schedule td,.schedule-content-full{max-width:100%;padding:0}.schedule-content-full{box-sizing:border-box;flex:1 1;margin:0;overflow-x:hidden;overflow-y:auto;width:100%}.schedule-content-full .schedule-header-new{padding:28px 0}.schedule-content-full .filters-bar,.schedule-content-full .schedule-header-new{margin-bottom:24px;max-width:100%;width:100%}.schedule-content-full .batches-grid-modern,.schedule-content-full .table-container-schedule{max-width:100%;width:100%}@media (max-width:1024px){.schedule-content-full{padding:24px 20px}}.bulk-actions-header{align-items:center;background:var(--info-tint-bg);border:1.5px solid var(--info-color);border-radius:24px;box-shadow:0 2px 6px #3b82f61f;display:flex;gap:6px;height:36px;margin-right:12px;padding:6px 12px}.bulk-selection-count{align-items:center;border-right:1.5px solid var(--info-tint-fg);color:var(--info-color);display:flex;font-size:12px;font-weight:600;margin-right:4px;padding-right:8px;white-space:nowrap}.bulk-selection-count input[type=checkbox]{height:14px;margin-right:6px;width:14px}.btn-bulk-modern{align-items:center;background:var(--surface-primary);border:none;border-radius:6px;box-shadow:0 1px 2px #00000014;color:var(--text-600);cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:4px;height:28px;padding:6px 10px;transition:all .15s}.btn-bulk-modern svg{height:14px;width:14px}.btn-bulk-modern:hover{background:var(--info-color);box-shadow:0 2px 4px #3b82f640;color:#fff;transform:translateY(-1px)}.btn-bulk-modern.danger{color:var(--error-color)}.btn-bulk-modern.danger:hover{background:var(--error-color);box-shadow:0 2px 4px #dc262640;color:#fff}.bulk-actions-toolbar{display:none}@media print{.action-buttons,.bulk-actions-toolbar,.collapsible-sidebar,.filters-container,.print-close-btn,.sidebar,button:not(.print-hidden){display:none!important}.print-modal-content,.print-modal-overlay,.print-schedule-container,body{background:#fff!important;color:#000!important}.schedule-summary-card,.schedule-summary-modern{background:#fff!important;border:1px solid #000!important;box-shadow:none!important;page-break-inside:avoid}.schedule-summary-card h3,.schedule-summary-card h4,.schedule-summary-card p,.schedule-summary-card span,.summary-item span,.summary-item strong{color:#000!important}.schedule-table,.timetable-table,table{border-collapse:collapse!important;page-break-inside:auto;width:100%!important}.schedule-table td,.schedule-table th,table td,table th{background:#fff!important;border:1px solid #333!important;color:#000!important;padding:8px!important;page-break-inside:avoid}.schedule-table th,table thead th{background:#f5f5f5!important;border-bottom:2px solid #000!important;font-weight:700!important}.schedule-table tbody tr:nth-child(odd){background:#fff!important}.schedule-table tbody tr:nth-child(2n){background:#fafafa!important}.mode-badge,.status-badge{background:#fff!important;border:1px solid #333!important;color:#000!important;padding:2px 6px!important}@page{size:A4;margin:1.5cm}.print-schedule-container{max-width:100%!important;padding:0!important}*{box-shadow:none!important;text-shadow:none!important}}.admin-invoices{margin:0 auto;max-width:1600px;padding:24px}.page-header{margin-bottom:32px}.page-header h1{color:var(--text-primary);font-size:28px;font-weight:700;margin-bottom:8px}.page-header p{color:var(--text-secondary);font-size:14px}.spinner{animation:spin 1s linear infinite;border-top:3px solid var(--surface-elevated);border:3px solid var(--surface-elevated);height:40px;margin:0 auto;width:40px}.top-bar{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.tabs-container{border-bottom:2px solid var(--border-200);display:flex;flex:1 1;gap:8px;min-width:0;overflow-x:auto}.view-controls{align-items:center;display:flex;gap:8px}.year-select{background:var(--surface-primary);border:1px solid var(--border-300);border-radius:6px;padding:8px 12px}.generate-btn,.year-select{cursor:pointer;font-size:14px;font-weight:600}.generate-btn{background:var(--info-tint-bg);border:1px solid var(--brand-color);border-radius:6px;color:var(--brand-color);padding:8px 16px;transition:all .2s}.generate-btn:hover{background:var(--brand-color);color:var(--text-on-brand)}.view-btn{background:var(--surface-primary);border:1px solid var(--border-300);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:all .2s}.view-btn:hover{background:var(--surface-elevated)}.view-btn.active{background:var(--brand-color);border-color:var(--brand-color);color:var(--text-on-brand)}.tab{align-items:center;background:none;border:none;border-bottom:3px solid #0000;color:var(--text-secondary);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:12px 20px;transition:all .2s;white-space:nowrap}.tab:hover{background:var(--surface-elevated);color:var(--text-primary)}.tab.active{border-bottom-color:var(--brand-color);color:var(--brand-color)}.tab .count{background:var(--border-200);border-radius:12px;font-size:12px;font-weight:600;padding:2px 8px}.tab.active .count{background:var(--surface-elevated);color:var(--brand-color-dark)}.empty-state{background:var(--surface-primary);border-radius:12px;box-shadow:var(--shadow-sm);padding:80px 20px}.empty-icon{font-size:64px;margin-bottom:16px}.empty-state h3{color:var(--text-primary);margin-bottom:8px}.empty-state p{color:var(--text-secondary)}.table-container{background:var(--surface-primary);border:1px solid var(--border-200);border-radius:12px;box-shadow:var(--shadow-sm);overflow:hidden}.invoices-table{border-collapse:collapse}.invoices-table thead{background:var(--surface-elevated);border-bottom:2px solid var(--border-200)}.invoices-table th{color:var(--text-primary);font-size:13px;font-weight:600;letter-spacing:.5px;padding:16px;text-align:left;text-transform:uppercase}.invoices-table tbody tr{border-bottom:1px solid var(--surface-elevated);transition:background .15s}.invoices-table tbody tr:hover{background:var(--surface-elevated)}.invoices-table td{color:var(--text-primary);font-size:14px;padding:16px;vertical-align:middle}.batch-cell{display:flex;flex-direction:column;gap:4px}.date-text{color:var(--text-secondary);font-size:12px}.action-buttons,.btn-icon{align-items:center}.btn-icon{background:var(--surface-primary);border:1px solid var(--border-200);border-radius:6px;cursor:pointer;display:flex;font-size:16px;height:36px;justify-content:center;min-width:36px;padding:8px;transition:all .2s}.btn-icon:hover{background:var(--surface-elevated);transform:scale(1.05)}.btn-icon.success:hover{background:var(--success-tint-bg)}.btn-icon.danger:hover{background:var(--danger-tint-bg)}.btn-icon.primary:hover{background:var(--surface-elevated)}.invoice-card{background:var(--surface-primary);border:1px solid var(--border-200);border-radius:12px;box-shadow:var(--shadow-sm);padding:20px;transition:transform .2s,box-shadow .2s}.invoice-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-header{align-items:flex-start;border-bottom:2px solid var(--surface-elevated);display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.header-left h3{color:var(--text-primary);font-size:18px;font-weight:600;margin-bottom:4px}.faculty-name{color:var(--text-secondary);font-size:14px;margin:0}.status-badge{border-radius:12px;font-size:12px;padding:4px 12px;white-space:nowrap}.card-body{margin-bottom:16px}.info-row{border-bottom:1px solid var(--surface-elevated);display:flex;justify-content:space-between;padding:8px 0}.info-row .label{color:var(--text-secondary);font-size:14px}.info-row .value{color:var(--text-primary);font-size:14px;font-weight:600}.info-row.total{border-top:2px solid var(--border-200);margin-top:8px;padding-top:12px}.info-row .value.final{color:var(--success-color-dark);font-size:18px}.card-actions{display:flex;flex-wrap:wrap;gap:8px}.card-actions button{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:13px;font-weight:600;min-width:120px;padding:10px 16px;transition:all .2s}.btn-secondary{background:var(--surface-elevated);color:var(--text-primary)}.btn-secondary:hover{background:var(--border-200)}.btn-approve{background:var(--success-tint-bg);color:var(--success-color-dark)}.btn-approve:hover{background:var(--success-color)}.btn-reject{background:var(--danger-tint-bg);color:var(--danger-color-dark)}.btn-reject:hover{background:var(--danger-color)}.btn-primary{background:var(--brand-color);color:var(--text-on-brand)}.btn-primary:hover{background:var(--brand-color-hover)}.btn-download{background:var(--surface-elevated);color:var(--brand-color-dark)}.btn-download:hover{background:var(--brand-color)}.modal-content{background:var(--surface-primary);border-radius:12px;box-shadow:0 20px 25px #00000026;max-width:800px;overflow-y:auto}.detail-modal{display:flex;flex-direction:column;max-height:95vh;max-width:900px}.detail-modal .modal-body-scrollable{flex:1 1;max-height:calc(95vh - 80px);overflow-y:auto}.payment-modal,.reject-modal{max-width:500px}.modal-header{border-bottom:2px solid var(--surface-elevated);padding:24px}.modal-header h2{color:var(--text-primary);font-size:24px}.close-btn{background:none;border-radius:6px;color:var(--text-secondary);font-size:24px;padding:0}.close-btn:hover{background:var(--surface-elevated)}.detail-section{margin-bottom:24px}.detail-section h3{color:var(--text-primary);font-size:16px;font-weight:600;margin-bottom:12px}.detail-grid{grid-gap:12px;background:var(--surface-elevated);border-radius:8px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding:16px}.detail-grid div{color:var(--text-primary);font-size:14px}.sessions-table{border:1px solid var(--border-200);border-collapse:collapse;border-radius:8px;overflow:hidden;width:100%}.sessions-table thead{background:var(--surface-elevated)}.sessions-table th{border-bottom:1px solid var(--border-200);font-size:13px;font-weight:600;text-align:left}.sessions-table td,.sessions-table th{color:var(--text-primary);padding:12px}.sessions-table td{border-bottom:1px solid var(--surface-elevated);font-size:14px}.sessions-table tbody tr:last-child td{border-bottom:none}.amount-grid,.sessions-table tbody tr:hover{background:var(--surface-elevated)}.amount-grid{border-radius:8px;padding:16px}.amount-row{border-bottom:1px solid var(--border-200);padding:8px 0}.amount-row.total{border-top:2px solid var(--border-300);font-size:16px;margin-top:8px;padding-top:12px}.payment-details{background:var(--surface-elevated);border-radius:8px;padding:16px}.form-group{margin-bottom:16px}.form-group label{color:var(--text-primary);font-size:14px}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--border-300);border-radius:6px;font-family:inherit;font-size:14px;padding:10px 12px;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--brand-color);box-shadow:0 0 0 3px #3b82f61a;outline:none}.modal-footer{border-top:2px solid var(--surface-elevated);padding:20px 24px}.modal-footer button{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s}@media (max-width:768px){.invoices-grid{grid-template-columns:1fr}.tabs-container{overflow-x:auto}.card-actions{flex-direction:column}.card-actions button{width:100%}}.modal-header-sticky{align-items:center;background:var(--surface-primary);border-bottom:2px solid var(--surface-elevated);box-shadow:0 2px 4px #0000000d;display:flex;justify-content:space-between;padding:24px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.modal-header-sticky h2{color:var(--text-primary);font-size:24px;font-weight:700;margin:0}.modal-body-scrollable{max-height:calc(90vh - 60px);overflow-y:auto;padding:24px}.modal-body-scrollable::-webkit-scrollbar{background:#f1f5f9;width:8px}.modal-body-scrollable::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.modal-body-scrollable::-webkit-scrollbar-thumb:hover{background:#94a3b8}.amount-breakdown-section{margin-top:32px}.amount-breakdown-card{background:var(--surface-elevated);border:2px solid var(--brand-color);border-radius:12px;box-shadow:0 4px 12px #3b82f61a;padding:24px}.amount-row{align-items:center;display:flex;justify-content:space-between;padding:12px 0}.amount-label{color:var(--text-primary);font-size:15px;font-weight:500}.amount-value{color:var(--brand-color-dark);font-size:16px;font-weight:600}.amount-divider{background:var(--brand-color);height:1px;margin:8px 0}.amount-divider-thick{background:var(--brand-color);height:2px;margin:16px 0}.amount-total{padding:16px 0 0!important}.amount-label-total{color:var(--text-primary);font-size:18px;font-weight:700}.amount-value-total{color:var(--brand-color-dark);font-size:24px;font-weight:700}@media print{*{box-shadow:none!important;filter:none!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;text-shadow:none!important}*,body,html{background:#fff!important;background-color:#fff!important;color:#000!important}body,html{margin:0!important;padding:0!important}.action-buttons,.btn,.btn-approve,.btn-download,.btn-icon,.btn-primary,.btn-reject,.btn-secondary,.filter-bar,.filters-bar,.header,.invoice-filters,.modal-overlay,.navbar,.no-print,.page-header,.sidebar,.status-tabs,.toast,.topbar,.view-controls,.year-filter,[class*=navbar],[class*=sidebar],[class*=topbar],button,input[type=file],nav,select{display:none!important;visibility:hidden!important}.admin-invoices-page{background:#fff!important;margin:0!important;max-width:100%!important;padding:0!important}.invoices-table,.invoices-table *{background:#fff!important;color:#000!important;visibility:visible!important}.invoices-table,table{background:#fff!important;border-collapse:collapse!important;width:100%!important}.invoices-table td,.invoices-table th,td,th{background:#fff!important;border:1px solid #333!important;color:#000!important;padding:8px 10px!important;text-align:left!important}.invoices-table th,th{background:#f0f0f0!important;font-weight:600!important}.invoices-table tr,tr{break-inside:avoid!important;page-break-inside:avoid!important}.invoices-table thead,thead{display:table-header-group!important}.invoice-modal,.modal-content{background:#fff!important;border:none!important;box-shadow:none!important;height:auto!important;max-height:none!important;max-width:100%!important;overflow:visible!important;position:static!important;width:100%!important}.modal-header{background:#fff!important;border-bottom:2px solid #333!important;padding:16px!important}.modal-header h2,.modal-header h3{color:#000!important}.modal-body{background:#fff!important;overflow:visible!important;padding:16px!important}.modal-footer{display:none!important}.amount-row,.amount-section,.amount-summary,.detail-row{background:#fff!important;border-color:#ccc!important;color:#000!important}.amount-label,.amount-label-total,.amount-value,.amount-value-total{color:#000!important}.badge,.status-badge,[class*=status]{background:#f0f0f0!important;border:1px solid #333!important;color:#000!important;padding:4px 8px!important}.session-details,.sessions-table{background:#fff!important}.sessions-table td,.sessions-table th{background:#fff!important;border:1px solid #333!important;color:#000!important}a{color:#000!important;text-decoration:none!important}@page{size:A4 portrait;margin:15mm}[style*=gradient],[style*=linear-gradient],[style*=radial-gradient]{background:#fff!important;background-image:none!important}.card,.invoice-card,.panel,[class*=card],[class*=panel]{background:#fff!important;border:1px solid #ccc!important;box-shadow:none!important}.batch-info,.faculty-info,.invoice-info{background:#fff!important;border:1px solid #ccc!important;padding:12px!important}.batch-info h3,.faculty-info h3,.invoice-info h3{border-bottom:1px solid #ccc!important;color:#000!important;margin-bottom:8px!important;padding-bottom:8px!important}.batch-info p,.faculty-info p,.invoice-info p{color:#000!important}}.payment-summary-grid{display:flex;gap:16px;margin-bottom:16px}.payment-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex:1 1;flex-direction:column;gap:4px;padding:12px 16px}.payment-card.tds-card{background:#fef2f2;border-color:#fecaca}.payment-card.net-card{background:#ecfdf5;border-color:#a7f3d0}.payment-label{color:#64748b;font-size:11px;letter-spacing:.5px;text-transform:uppercase}.payment-value{color:#1e293b;font-size:18px;font-weight:700}.payment-value.tds-value{color:#dc2626}.payment-value.net-value{color:#059669}.payment-transfer-info{background:#f1f5f9;border-radius:8px;padding:12px 16px}.transfer-row{border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:6px 0}.transfer-row:last-child{border-bottom:none}.transfer-label{color:#64748b;font-size:13px}.transfer-value{color:#1e293b;font-size:13px;font-weight:500}.invoice-timeline-section{margin-top:20px}.timeline-accordion{background:#fff;border:2px solid #3b82f6;border-radius:10px;box-shadow:0 2px 8px #3b82f626;overflow:hidden}.timeline-summary{align-items:center;background:linear-gradient(90deg,#eff6ff,#dbeafe);color:#1e40af;cursor:pointer;display:flex;font-size:14px;font-weight:600;justify-content:space-between;list-style:none;padding:14px 18px;-webkit-user-select:none;user-select:none}.timeline-summary::-webkit-details-marker{display:none}.timeline-summary:hover{background:linear-gradient(90deg,#dbeafe,#bfdbfe)}.accordion-icon{color:#64748b;font-size:10px;transition:transform .2s ease}.timeline-accordion[open] .accordion-icon{transform:rotate(180deg)}.timeline-content{border-top:1px solid #e2e8f0;padding:16px}.timeline-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.timeline-item{background:#fff;border:1px solid #e5e7eb;flex-direction:column;gap:4px;padding:8px 12px}.timeline-label{color:#64748b}.timeline-value{color:#1e293b;font-size:13px;font-weight:500}.tds-summary-box{background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;margin-top:16px;padding:16px}.tds-summary-box h4{color:#92400e;font-size:13px;font-weight:600;margin:0 0 12px}.tds-details-grid{display:flex;flex-direction:column;gap:8px}.tds-row{display:flex;font-size:13px;justify-content:space-between;padding:4px 0}.tds-row.tds-deduction{border-top:1px dashed #fcd34d;color:#dc2626;margin-top:4px;padding-top:8px}.tds-row.tds-net{border-top:2px solid #92400e;color:#059669;font-size:14px;font-weight:700;margin-top:4px;padding-top:8px}.action-buttons-grid{align-items:center;display:flex;flex-wrap:wrap;gap:4px;justify-content:center;margin:0 auto;max-width:140px}.action-btn{background:#f3f4f6;border-radius:6px;display:inline-flex;height:28px;transition:all .15s ease;width:28px}.action-btn.action-view{background:#e0f2fe}.action-btn.action-view:hover{background:#bae6fd}.action-btn.action-approve{background:#dcfce7}.action-btn.action-approve:hover{background:#bbf7d0}.action-btn.action-reject{background:#fee2e2}.action-btn.action-reject:hover{background:#fecaca}.action-btn.action-pay{background:#fef3c7}.action-btn.action-pay:hover{background:#fde68a}.action-btn.action-download{background:#e0e7ff}.action-btn.action-download:hover{background:#c7d2fe}.action-btn.action-archive{background:#f3e8ff}.action-btn.action-archive:hover{background:#e9d5ff}.action-btn.action-delete{background:#fee2e2;color:#dc2626}.action-btn.action-delete:hover{background:#fecaca}.action-btn.action-restore{background:#dcfce7;color:#059669}.action-btn.action-restore:hover{background:#bbf7d0}.action-btn.action-permanent-delete{background:#fee2e2;color:#dc2626}.action-btn.action-permanent-delete:hover{background:#fecaca}.invoices-table{border-collapse:initial;border-spacing:0;font-size:13px;width:100%}.invoices-table thead th{background:linear-gradient(180deg,#f8fafc,#f1f5f9);border-bottom:2px solid #e2e8f0;color:#374151;font-size:12px;font-weight:600;letter-spacing:.3px;padding:12px 10px;position:-webkit-sticky;position:sticky;text-align:left;text-transform:uppercase;top:0;z-index:10}.invoices-table tbody tr{transition:background-color .15s ease}.invoices-table tbody tr:hover{background-color:#f8fafc}.invoices-table tbody td{border-bottom:1px solid #e5e7eb;padding:10px;vertical-align:middle}.invoices-table tbody tr:last-child td{border-bottom:none}.batch-cell{max-width:150px}.batch-cell strong{color:#1e293b;display:block;font-size:13px;margin-bottom:2px}.batch-cell small{color:#64748b;font-size:11px}.invoices-table td:nth-child(5),.invoices-table td:nth-child(6),.invoices-table td:nth-child(7){font-family:SF Mono,Monaco,Menlo,monospace;font-size:12px;text-align:right}.invoices-table td:nth-child(8),.invoices-table td:nth-child(9){text-align:center}.expand-btn{align-items:center;background:#e0e7ff;border:none;border-radius:4px;color:#4f46e5;cursor:pointer;display:inline-flex;font-size:10px;height:24px;justify-content:center;transition:all .2s ease;width:24px}.expand-btn:hover{background:#c7d2fe}.expand-btn.expanded{background:#4f46e5;color:#fff}.row-expanded{background:#f8fafc!important}.expanded-details-row td{background:#f8fafc;border-bottom:2px solid #4f46e5!important;padding:0!important}.invoice-details-accordion{background:linear-gradient(180deg,#f8fafc,#fff);border-left:3px solid #4f46e5;margin-left:8px;padding:16px 20px}.details-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.details-section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 3px #00000014;padding:14px}.details-section h4{border-bottom:1px solid #e5e7eb;color:#374151;font-size:12px;font-weight:600;margin:0 0 12px;padding-bottom:8px}.timeline-items{display:flex;flex-direction:column;gap:8px}.timeline-item{align-items:center;background:#f9fafb;border-radius:6px;display:flex;gap:10px;padding:6px 8px}.timeline-item.paid{background:#ecfdf5}.timeline-item.rejected{background:#fef2f2}.timeline-icon{font-size:14px}.timeline-info{display:flex;flex-direction:column}.timeline-label{color:#6b7280;font-size:11px}.timeline-date{color:#1f2937;font-size:12px;font-weight:600}.amount-items{display:flex;flex-direction:column;gap:6px}.amount-item{border-radius:4px;display:flex;justify-content:space-between;padding:6px 8px}.amount-item.gst{background:#ecfdf5;color:#059669}.amount-item.tds{background:#fef2f2;color:#dc2626}.amount-item.total{background:#eff6ff;font-weight:600}.amount-item.net-paid{background:#f0fdf4;border:1px solid #a7f3d0;color:#059669;font-weight:700}.amount-label{color:#6b7280;font-size:12px}.amount-value{font-family:SF Mono,Monaco,monospace;font-size:12px;font-weight:500}.amount-item.gst .amount-label,.amount-item.gst .amount-value{color:#059669}.amount-item.tds .amount-label,.amount-item.tds .amount-value{color:#dc2626}.payment-items{display:flex;flex-direction:column;gap:6px}.payment-item{background:#f9fafb;border-radius:4px;display:flex;justify-content:space-between;padding:6px 8px}.payment-label{color:#6b7280;font-size:12px}.payment-value{color:#1f2937;font-size:12px;font-weight:500}.payment-value.mono{font-family:SF Mono,Monaco,monospace;font-size:11px}.rejection-section{background:#fef2f2!important;border-color:#fecaca!important}.rejection-section h4{color:#dc2626}.rejection-reason{background:#fff;border:1px dashed #fecaca;border-radius:4px;color:#7f1d1d;font-size:13px;margin:0;padding:8px}.fees-master{margin:0 auto;max-width:1400px;padding:24px}.fees-master .page-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:24px}.fees-master .page-header h1{color:#1e293b;font-size:28px;font-weight:700;margin:0 0 4px}.fees-master .page-header p{color:#64748b;font-size:14px;margin:0}.add-fee-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;box-shadow:0 4px 12px #667eea4d;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:12px 20px;transition:all .2s ease}.add-fee-btn:hover{box-shadow:0 6px 16px #667eea66;transform:translateY(-2px)}.search-bar{margin-bottom:24px;position:relative}.search-input{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;font-size:15px;padding:14px 50px 14px 20px;transition:all .2s ease;width:100%}.search-input:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a;outline:none}.clear-search{align-items:center;background:#e2e8f0;border:none;border-radius:50%;color:#64748b;cursor:pointer;display:flex;font-size:12px;height:24px;justify-content:center;position:absolute;right:16px;top:50%;transform:translateY(-50%);width:24px}.clear-search:hover{background:#cbd5e1;color:#334155}.categories-container{display:flex;flex-direction:column;gap:16px}.category-accordion{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 2px 8px #0000000f;overflow:hidden}.category-header{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);cursor:pointer;display:flex;justify-content:space-between;padding:20px 24px;transition:all .2s ease}.category-header:hover{background:linear-gradient(135deg,#f1f5f9,#e2e8f0)}.category-header.expanded{border-bottom:1px solid #e2e8f0}.category-left{align-items:center;display:flex;gap:16px}.expand-icon{color:#64748b;font-size:14px;transition:transform .2s ease}.category-icon{font-size:28px}.category-info h3{color:#1e293b;font-size:16px;font-weight:700;margin:0 0 4px}.category-info p{color:#64748b;font-size:12px;margin:0}.category-right{align-items:center;display:flex;gap:20px}.category-stats{display:flex;gap:24px}.stat-item{align-items:flex-end;display:flex;flex-direction:column}.stat-label{color:#94a3b8;font-size:10px;letter-spacing:.5px;text-transform:uppercase}.stat-value{color:#334155;font-size:16px;font-weight:700}.stat-item.total .stat-value{color:#059669;font-size:18px}.add-to-category-btn{align-items:center;background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:16px;height:36px;justify-content:center;transition:all .2s ease;width:36px}.add-to-category-btn:hover{background:#5a67d8;transform:scale(1.05)}.category-content{padding:0}.empty-category{color:#64748b;padding:40px 20px;text-align:center}.empty-category p{margin:0 0 16px}.empty-category button{background:#f1f5f9;border:2px dashed #cbd5e1;border-radius:8px;color:#64748b;cursor:pointer;font-size:14px;padding:10px 20px;transition:all .2s ease}.empty-category button:hover{background:#e2e8f0;border-color:#667eea;color:#667eea}.fees-table{border-collapse:collapse;width:100%}.fees-table thead{background:#f8fafc}.fees-table th{border-bottom:1px solid #e2e8f0;color:#64748b;font-size:11px;font-weight:600;letter-spacing:.5px;padding:14px 16px;text-transform:uppercase}.fees-table td{border-bottom:1px solid #f1f5f9;color:#334155;font-size:14px;padding:16px}.fees-table tbody tr:hover{background:#f8fafc}.fees-table tbody tr.inactive-row{background:#fafafa;opacity:.7}.fees-table tbody tr:last-child td{border-bottom:none}.fee-name-cell{align-items:center;display:flex;gap:10px}.fee-name{color:#1e293b;font-weight:600}.status-badge{border-radius:10px;font-weight:600;padding:2px 8px}.status-badge.inactive{background:#fee2e2;color:#991b1b}.gst-badge{background:#dbeafe;border-radius:6px;color:#1e40af;display:inline-block;font-size:12px;font-weight:600;padding:4px 10px}.gst-amount{color:#059669}.no-gst{color:#cbd5e1}.total-amount{color:#059669;font-size:15px}.action-buttons{gap:8px}.action-btn,.action-buttons{display:flex;justify-content:center}.action-btn{align-items:center;background:#f1f5f9;border:none;border-radius:8px;cursor:pointer;font-size:14px;height:32px;transition:all .2s ease;width:32px}.action-btn:hover{transform:scale(1.1)}.action-btn.edit:hover{background:#dbeafe}.action-btn.delete:hover{background:#fee2e2}.action-btn.toggle{font-size:10px}.modal-overlay{background:#00000080;padding:20px}.modal-content{border-radius:16px;box-shadow:0 20px 60px #0003;max-height:90vh;max-width:500px;overflow:auto;width:100%}.modal-header{align-items:center;border-bottom:1px solid #e2e8f0;justify-content:space-between;padding:20px 24px}.modal-header h2{color:#1e293b;font-size:20px;font-weight:700}.close-btn{background:#f1f5f9;border-radius:8px;color:#64748b;font-size:16px;height:32px;width:32px}.close-btn:hover{background:#e2e8f0;color:#334155}.modal-body{padding:24px}.form-group{margin-bottom:20px}.form-group label{color:#334155;display:block;font-size:13px;margin-bottom:8px}.form-group .required{color:#ef4444}.form-group input,.form-group select{background:#f8fafc;border:2px solid #e2e8f0;border-radius:10px;font-size:14px;padding:12px 16px;transition:all .2s ease;width:100%}.form-group input:focus,.form-group select:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a}.form-group .hint{color:#94a3b8;display:block;font-size:11px;margin-top:6px}.calculation-preview{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:12px;margin-bottom:20px;padding:16px}.calculation-preview h4{color:#64748b;font-size:12px;font-weight:600;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.preview-row{border-bottom:1px dashed #e2e8f0;color:#334155;display:flex;font-size:14px;justify-content:space-between;padding:8px 0}.preview-row:last-child{border-bottom:none}.preview-row.gst{color:#059669}.preview-row.total{border-top:2px solid #e2e8f0;color:#1e293b;font-size:16px;font-weight:700;margin-top:4px;padding-top:12px}.status-toggle{display:flex;gap:12px}.status-btn{background:#fff;border:2px solid #e2e8f0;border-radius:10px;color:#64748b;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:12px 16px;transition:all .2s ease}.status-btn.active{background:#f0f4ff;border-color:#667eea;color:#667eea}.status-btn:hover:not(.active){background:#f8fafc;border-color:#cbd5e1}.modal-footer{background:#f8fafc;border-top:1px solid #e2e8f0;gap:12px;padding:16px 24px}.btn-cancel{border:2px solid #e2e8f0;border-radius:10px;color:#64748b;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s ease}.btn-cancel:hover{background:#f1f5f9;border-color:#cbd5e1}.btn-save{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;box-shadow:0 4px 12px #667eea4d;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s ease}.btn-save:hover{box-shadow:0 6px 16px #667eea66;transform:translateY(-2px)}.loading-state{padding:60px 20px}.loading-state .spinner{animation:spin 1s linear infinite;border:4px solid #e2e8f0;height:40px;margin-bottom:16px;width:40px}@media (max-width:768px){.fees-master{padding:16px}.category-header,.fees-master .page-header{flex-direction:column;gap:16px}.category-header{align-items:flex-start}.category-right{justify-content:space-between;width:100%}.category-stats{gap:16px}.fees-table{font-size:12px}.fees-table td,.fees-table th{padding:10px 8px}.action-buttons{flex-direction:column;gap:4px}}.budget-module{background:#f8fafc;margin:0 auto;max-width:1400px;min-height:100vh;padding:16px 20px}.budget-module .page-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;display:flex;justify-content:space-between;margin-bottom:16px;padding:12px 16px}.budget-module .page-header h1{align-items:center;color:#fff;display:flex;font-size:18px;font-weight:700;gap:8px;margin:0}.budget-module .page-header p{color:#fffc;font-size:12px;margin:2px 0 0}.init-btn{background:#fff3;border:1px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:8px 14px;transition:all .2s ease}.init-btn:hover{background:#ffffff4d}.summary-cards{display:flex;gap:12px;margin-bottom:14px}.summary-card{align-items:center;background:#fff;border-left:3px solid #0000;border-radius:8px;box-shadow:0 1px 3px #0000000f;display:flex;flex:1 1;gap:10px;min-width:0;padding:10px 14px}.summary-card .card-icon{align-items:center;border-radius:6px;display:flex;flex-shrink:0;font-size:16px;height:32px;justify-content:center;width:32px}.summary-card .card-content{display:flex;flex-direction:column;min-width:0}.summary-card .card-label{color:#64748b;font-size:10px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;white-space:nowrap}.summary-card .card-value{font-feature-settings:"tnum";color:#1e293b;font-size:16px;font-weight:700;margin-top:2px}.summary-card.incoming{border-left-color:#10b981}.summary-card.incoming .card-icon{background:#ecfdf5}.summary-card.incoming .card-value{color:#059669}.summary-card.outgoing{border-left-color:#f43f5e}.summary-card.outgoing .card-icon{background:#fff1f2}.summary-card.outgoing .card-value{color:#e11d48}.summary-card.profit{border-left-color:#22c55e}.summary-card.profit .card-icon{background:#f0fdf4}.summary-card.profit .card-value{color:#16a34a}.summary-card.loss{border-left-color:#ef4444}.summary-card.loss .card-icon{background:#fef2f2}.summary-card.loss .card-value{color:#dc2626}.summary-card.count{border-left-color:#6366f1}.summary-card.count .card-icon{background:#eef2ff}.summary-card.count .card-value{display:flex;font-size:13px;gap:8px}.summary-card.count .pending{background:#fef3c7;border-radius:4px;color:#f59e0b;font-size:11px;padding:2px 6px}.summary-card.count .completed{background:#dcfce7;border-radius:4px;color:#22c55e;font-size:11px;padding:2px 6px}.budget-tabs{background:#fff;border-radius:6px;box-shadow:0 1px 2px #0000000d;display:flex;gap:4px;margin-bottom:12px;padding:3px;width:-webkit-fit-content;width:fit-content}.tab-btn{background:#0000;border:none;border-radius:4px;color:#64748b;cursor:pointer;font-size:12px;font-weight:600;padding:6px 14px;transition:all .15s ease}.tab-btn:hover{background:#f1f5f9;color:#334155}.tab-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.budget-list{display:flex;flex-direction:column;gap:6px}.budget-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 3px #0000000d;cursor:pointer;transition:all .15s ease}.budget-card:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #00000014}.budget-card.selected{border-color:#667eea;box-shadow:0 0 0 2px #667eea26}.budget-card-header{align-items:center;display:flex;justify-content:space-between;padding:10px 14px}.batch-info .batch-name{align-items:center;color:#1e293b;display:flex;font-size:14px;font-weight:600;gap:8px}.batch-info .batch-code{color:#64748b;font-size:11px;margin-top:2px}.joint-badge{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;gap:3px}.hour-cap-badge,.joint-badge{align-items:center;border-radius:4px;display:inline-flex;font-size:10px;font-weight:600;padding:2px 8px}.hour-cap-badge{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.status-badge{border-radius:4px;font-size:10px;font-weight:700;padding:4px 10px;text-transform:uppercase}.status-badge.pending{background:#fef3c7;color:#b45309}.status-badge.completed{background:#dcfce7;color:#047857}.budget-card-body{display:flex;gap:0;padding:0 14px 10px}.budget-metric{align-items:center;border-right:1px solid #f1f5f9;display:flex;flex:1 1;flex-direction:column;padding:8px 12px}.budget-metric:last-child{border-right:none}.metric-label{color:#94a3b8;font-size:9px;font-weight:600;letter-spacing:.5px;margin-bottom:2px;text-transform:uppercase}.metric-value{font-feature-settings:"tnum";font-size:14px;font-weight:700}.metric-value.incoming{color:#059669}.metric-value.outgoing{color:#e11d48}.metric-value.profit{color:#16a34a}.metric-value.loss{color:#dc2626}.budget-details{background:#f8fafc;border-top:1px solid #e2e8f0;overflow:visible;padding:12px 14px}.hour-cap-warning-banner{align-items:flex-start;background:linear-gradient(135deg,#fef2f2,#fee2e2);border:2px solid #f87171;border-radius:8px;display:flex;gap:12px;margin-bottom:12px;padding:12px 16px}.hour-cap-warning-banner .warning-icon{font-size:24px}.hour-cap-warning-banner .warning-content{display:flex;flex-direction:column;gap:4px}.hour-cap-warning-banner strong{color:#991b1b;font-size:14px}.hour-cap-warning-banner span{color:#b91c1c;font-size:12px}.hour-cap-warning-banner .warning-detail{color:#dc2626;font-size:11px;font-weight:600;padding:2px 0}.detail-actions{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;margin-bottom:12px;width:100%}.detail-actions .action-btn{align-items:center;border-radius:6px;cursor:pointer;display:inline-flex;flex-direction:row;flex-shrink:0;font-size:12px;font-weight:600;gap:6px;justify-content:center;min-width:-webkit-max-content;min-width:max-content;padding:8px 14px;transition:all .15s ease;white-space:nowrap}.detail-actions .action-btn.edit{background:#fff;border:1px solid #cbd5e1;color:#475569}.detail-actions .action-btn.edit:hover{background:#f1f5f9;border-color:#94a3b8}.detail-actions .action-btn.calculate{background:#3b82f6;border:1px solid #2563eb;color:#fff}.detail-actions .action-btn.calculate:hover{background:#2563eb}.detail-actions .action-btn.complete{background:#22c55e;border:1px solid #16a34a;color:#fff}.detail-actions .action-btn.complete:hover:not(:disabled){background:#16a34a}.detail-actions .action-btn.complete.disabled{background:#d1d5db;border-color:#9ca3af;cursor:not-allowed;opacity:.7}.detail-actions .action-btn.print{background:#6366f1;border:1px solid #4f46e5;color:#fff}.detail-actions .action-btn.print:hover{background:#4f46e5}.detail-actions .action-btn.delete{background:#fee2e2;border:1px solid #fca5a5;color:#dc2626}.detail-actions .action-btn.delete:hover{background:#fecaca;border-color:#f87171}.detail-actions .action-btn:disabled{cursor:not-allowed;opacity:.5}.schedule-ledger-section{background:#fff;border:1px solid #e2e8f0;border-radius:8px;border-top:3px solid #3b82f6;margin-bottom:12px;padding:12px}.schedule-ledger-section .section-header{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:10px}.schedule-ledger-section h4{align-items:center;color:#1e293b;display:flex;font-size:13px;font-weight:700;gap:8px;margin:0}.source-badge{background:#dbeafe;border-radius:4px;color:#1d4ed8;font-size:9px;font-weight:600;padding:2px 8px;text-transform:uppercase}.ledger-stats{align-items:center;color:#64748b;display:flex;font-size:11px;gap:8px}.ledger-stats .lb-hours{color:#2563eb;font-weight:600}.ledger-stats .pm-hours{color:#d97706;font-weight:600}.ledger-table-wrapper{margin:0 -12px;overflow-x:auto;padding:0 12px}.schedule-ledger-table{border-collapse:collapse;font-size:11px;min-width:800px;width:100%}.schedule-ledger-table th{background:#f8fafc;border-bottom:2px solid #e2e8f0;color:#64748b;font-size:9px;font-weight:600;padding:8px 10px;text-align:left;text-transform:uppercase;white-space:nowrap}.schedule-ledger-table td{border-bottom:1px solid #f1f5f9;color:#475569;padding:8px 10px;vertical-align:middle}.schedule-ledger-table tr:hover{background:#f8fafc}.schedule-ledger-table .topic-cell{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-ledger-table .right{text-align:right}.schedule-ledger-table .allocation-cell{min-width:180px}.module-badge{border-radius:4px;display:inline-block;font-size:9px;font-weight:600;padding:2px 6px;text-transform:uppercase}.module-badge.common{background:#dbeafe;color:#1d4ed8}.module-badge.lb_core{background:#e0e7ff;color:#4338ca}.module-badge.pm_core{background:#fef3c7;color:#b45309}.allocation-tag{border-radius:4px;display:inline-block;font-size:10px;font-weight:500;padding:3px 8px}.allocation-tag.split{background:#f3f4f6;color:#374151}.allocation-tag.lb-only{background:#dbeafe;color:#1d4ed8}.allocation-tag.pm-only{background:#fef3c7;color:#b45309}.missing-rate-row{background:#fef2f2!important}.missing-rate-badge{background:#dc2626;border-radius:3px;color:#fff;display:inline-block;font-size:9px;font-weight:600;margin-left:6px;padding:2px 6px;text-transform:uppercase}.set-rate-link{background:none;border:none;color:#4f46e5;cursor:pointer;font-size:10px;font-weight:600;padding:0;text-decoration:none}.set-rate-link:hover{text-decoration:underline}.zero-amount{color:#dc2626;font-weight:600}.missing-rates-alert{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin-top:10px;padding:10px 12px}.missing-rates-alert strong{color:#dc2626;display:block;font-size:11px;margin-bottom:6px}.missing-faculty-list{display:flex;flex-wrap:wrap;gap:8px}.missing-faculty-item{align-items:center;background:#fff;border-radius:4px;color:#b91c1c;display:inline-flex;font-size:11px;gap:6px;padding:4px 8px}.set-rate-btn-small{background:#dc2626;border:none;border-radius:3px;color:#fff;cursor:pointer;font-size:9px;font-weight:600;padding:2px 6px}.set-rate-btn-small:hover{background:#b91c1c}.ledger-loading{color:#64748b}.ledger-loading,.no-ledger-data{font-size:12px;padding:20px;text-align:center}.no-ledger-data{background:#f8fafc;border:1px dashed #e2e8f0;border-radius:4px;color:#94a3b8;font-style:italic}.outgoing-summary-section{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:12px;padding:12px}.outgoing-summary-section h4{align-items:center;color:#1e293b;display:flex;font-size:13px;font-weight:700;gap:8px;margin:0 0 10px}.derived-badge{background:#f3f4f6;border-radius:4px;color:#6b7280;font-size:9px;font-weight:600;padding:2px 8px;text-transform:uppercase}.joint-outgoing-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.outgoing-column{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;border-top:3px solid #0000;padding:10px}.outgoing-column.lb{border-top-color:#3b82f6}.outgoing-column.pm{border-top-color:#f59e0b}.outgoing-column h5{border-bottom:1px solid #e2e8f0;font-size:12px;font-weight:600;margin:0 0 8px;padding-bottom:6px}.outgoing-column.lb h5{color:#2563eb}.outgoing-column.pm h5{color:#d97706}.outgoing-breakdown{display:flex;flex-direction:column;gap:8px}.faculty-cost-table{background:#fff;border-collapse:collapse;border-radius:4px;font-size:11px;overflow:hidden;width:100%}.faculty-cost-table th{background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#64748b;font-size:9px;font-weight:600;padding:6px 8px;text-align:left;text-transform:uppercase}.faculty-cost-table td{border-bottom:1px solid #f1f5f9;color:#475569;padding:6px 8px}.faculty-cost-table tr:last-child td{border-bottom:none}.faculty-cost-table .right{text-align:right}.allocation-badge{background:#fef3c7;border-radius:3px;color:#b45309;display:inline-flex;font-size:9px;font-weight:600;margin-left:4px;padding:2px 6px}.pl-summary{align-items:center;border-radius:6px;display:flex;justify-content:space-between;margin-top:8px;padding:10px 14px}.pl-summary.profit{background:linear-gradient(135deg,#22c55e,#16a34a)}.pl-summary.loss{background:linear-gradient(135deg,#ef4444,#dc2626)}.pl-summary .pl-label{color:#ffffffe6;font-size:11px;font-weight:600;text-transform:uppercase}.pl-summary .pl-value{color:#fff;font-size:18px;font-weight:800}.breakdown-row{align-items:center;background:#fff9;border-radius:4px;color:#475569;display:flex;font-size:12px;justify-content:space-between;padding:6px 8px}.breakdown-row span:last-child{color:#1e293b;font-weight:600}.breakdown-row.total{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:700;margin-top:4px;padding:8px 10px}.breakdown-row.total span:last-child{color:#fff;font-size:14px}.debug-panel{background:#fffbeb;border:1px solid #fcd34d;border-radius:6px;margin-top:12px;padding:12px}.debug-panel h5{color:#92400e;font-size:12px;font-weight:600;margin:0 0 10px}.debug-grid{display:flex;flex-wrap:wrap;gap:8px}.debug-item{background:#fff;border:1px solid #fcd34d;border-radius:4px;display:flex;flex-direction:column;min-width:120px;padding:8px 12px}.debug-item.highlight{background:#fef3c7;border-color:#f59e0b}.debug-label{color:#92400e;font-size:9px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.debug-value{color:#1f2937;font-size:16px;font-weight:700;margin-top:2px}.debug-value.warn{color:#dc2626}.debug-note{color:#92400e;font-size:10px;margin-top:8px}.debug-note code{background:#fef3c7;border-radius:2px;font-family:monospace;padding:1px 4px}.debug-module-hours{align-items:center;background:#fff;border:1px solid #fcd34d;border-radius:4px;display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;padding:8px}.debug-module-hours .module-tag{border-radius:4px;font-size:11px;font-weight:600;padding:3px 8px}.debug-module-hours .module-tag.common{background:#dbeafe;color:#1d4ed8}.debug-module-hours .module-tag.lb{background:#e0e7ff;color:#4338ca}.debug-module-hours .module-tag.pm{background:#fef3c7;color:#b45309}.debug-faculty-rates{background:#fff;border:1px solid #fcd34d;border-radius:4px;margin-top:8px;padding:8px}.debug-faculty-rates .faculty-rates-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.debug-faculty-rates .rate-item{background:#f0fdf4;border-radius:4px;color:#16a34a;font-size:11px;font-weight:500;padding:3px 8px}.debug-faculty-rates .rate-item.missing{background:#fef2f2;color:#dc2626}.debug-exclusion-details{background:#fef2f2;border:1px solid #fecaca;border-radius:4px;margin-top:8px;padding:8px}.debug-exclusion-details .exclusion-list{margin-top:6px}.debug-exclusion-details .exclusion-item{align-items:center;background:#fff;border-radius:3px;display:flex;font-size:10px;gap:8px;margin-bottom:4px;padding:4px 6px}.debug-exclusion-details .exc-date{color:#64748b;min-width:70px}.debug-exclusion-details .exc-topic{color:#1e293b;font-weight:500;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.debug-exclusion-details .exc-reason{color:#dc2626;flex:1 1;font-weight:600}.debug-exclusion-details .exclusion-more{color:#94a3b8;font-size:10px;font-style:italic;padding:4px}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a80;bottom:0;display:flex;justify-content:center;left:0;padding:16px;position:fixed;right:0;top:0;z-index:1000}.budget-modal{max-height:85vh;max-width:560px;overflow:auto;width:100%}.set-rate-modal{max-width:400px;width:100%}.modal-content{background:#fff;border-radius:8px;box-shadow:0 16px 32px #00000026;overflow:hidden}.modal-header{background:linear-gradient(135deg,#4f46e5,#6366f1);display:flex;flex-direction:column;padding:12px 16px;position:relative}.modal-header h2{color:#fff;font-size:14px;font-weight:600;letter-spacing:.2px;margin:0}.modal-header .batch-info-header{align-items:center;color:#ffffffe6;display:flex;font-size:11px;gap:6px;margin-top:2px}.modal-header .joint-tag{background:#fff3;border-radius:3px;color:#fff;font-size:9px;font-weight:600;letter-spacing:.3px;padding:2px 6px;text-transform:uppercase}.close-btn{align-items:center;background:#ffffff26;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:12px;height:24px;justify-content:center;position:absolute;right:10px;top:10px;transition:all .15s ease;width:24px}.close-btn:hover{background:#ffffff40}.modal-body{background:#f9fafb;padding:14px 16px}.faculty-info{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;display:flex;gap:8px;margin-bottom:12px;padding:10px 12px}.faculty-label{color:#6b7280;font-size:11px;font-weight:500}.faculty-name{color:#1f2937;font-size:13px;font-weight:600}.joint-input-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.joint-column{background:#fff;border:1px solid #e5e7eb;border-radius:6px;border-top:2px solid #0000;padding:12px}.joint-column:first-child{border-top-color:#3b82f6}.joint-column:last-child{border-top-color:#f59e0b}.input-form-section h4{align-items:center;border-bottom:1px solid #f3f4f6;color:#374151;display:flex;font-size:12px;font-weight:600;gap:5px;margin:0 0 10px;padding-bottom:8px}.input-form-section h4 .section-icon{font-size:12px;opacity:.7}.form-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr}.form-group{display:flex;flex-direction:column}.form-group label{color:#6b7280;font-size:9px;font-weight:600;letter-spacing:.4px;line-height:1;margin-bottom:4px;text-transform:uppercase}.form-group input,.form-group select{background:#fff;border:1px solid #d1d5db;border-radius:4px;box-sizing:border-box;color:#1f2937;font-size:13px;font-weight:500;height:36px;line-height:36px;padding:0 10px;transition:border-color .15s ease,box-shadow .15s ease}.form-group input:focus,.form-group select:focus{border-color:#4f46e5;box-shadow:0 0 0 2px #4f46e51a;outline:none}.form-group input[type=number]{-webkit-appearance:none!important;appearance:textfield!important}.form-group input[type=number]::-webkit-inner-spin-button,.form-group input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none!important;display:none!important;margin:0}.form-group select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;background-size:14px;cursor:pointer;padding-right:28px}.modal-footer{align-items:center;background:#fff;border-top:1px solid #e5e7eb;display:flex;gap:8px;justify-content:flex-end;padding:10px 16px}.btn-cancel{background:#fff;border:1px solid #d1d5db;border-radius:4px;color:#4b5563;cursor:pointer;font-size:12px;font-weight:500;height:32px;padding:0 14px;transition:all .15s ease}.btn-cancel:hover{background:#f9fafb;border-color:#9ca3af}.btn-save{background:#4f46e5;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;height:32px;padding:0 14px;transition:all .15s ease}.btn-save:hover:not(:disabled){background:#4338ca}.btn-save:disabled{cursor:not-allowed;opacity:.5}.empty-state{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:40px 20px;text-align:center}.empty-state .empty-icon{filter:grayscale(.3);font-size:40px;margin-bottom:12px}.empty-state h3{color:#1e293b;font-size:16px;font-weight:700;margin:0 0 6px}.empty-state p{color:#64748b;font-size:13px;margin:0 auto;max-width:300px}.loading-state{align-items:center;color:#64748b;display:flex;flex-direction:column;justify-content:center;padding:40px 20px}.loading-state .spinner{animation:spin .6s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#667eea;height:32px;margin-bottom:12px;width:32px}.no-data{background:#f8fafc;border:1px dashed #e2e8f0;border-radius:4px;color:#94a3b8;font-size:12px;font-style:italic;padding:12px;text-align:center}@media (max-width:1200px){.summary-cards{flex-wrap:wrap}.summary-card{flex-basis:calc(50% - 6px);flex-grow:1;flex-shrink:1}.joint-outgoing-grid{grid-template-columns:1fr}}@media (max-width:768px){.budget-module{padding:12px}.summary-cards{flex-direction:column}.summary-card{flex:1 1 100%}.budget-card-body{flex-direction:column}.budget-metric{border-bottom:1px solid #f1f5f9;border-right:none;flex-direction:row;justify-content:space-between}.budget-metric:last-child{border-bottom:none}.form-grid,.joint-input-grid{grid-template-columns:1fr}.detail-actions{flex-wrap:wrap}.schedule-ledger-table{font-size:10px}}.joint-kpis{display:flex;flex-direction:column;gap:8px;padding:10px 16px}.stream-kpi-row{align-items:center;background:#f8fafc;border-radius:8px;display:flex;gap:12px;padding:8px 12px}.stream-kpi-row.lb{border-left:3px solid #3b82f6}.stream-kpi-row.pm{border-left:3px solid #f59e0b}.stream-label{color:#334155;font-size:12px;font-weight:600;min-width:50px}.stream-metrics{display:flex;flex:1 1;gap:20px}.stream-metrics .budget-metric{border-right:none;flex:1 1;padding:0}.debug-panel-container{margin-top:12px}.debug-toggle-btn{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;font-size:11px;padding:6px 12px;transition:all .2s ease}.debug-toggle-btn:hover{background:#e2e8f0;color:#475569}.print-selection-modal{max-width:400px}.print-options{gap:12px}.print-option-btn,.print-options{display:flex;flex-direction:column;padding:16px}.print-option-btn{align-items:center;background:#f8fafc;border:2px solid #e2e8f0;border-radius:10px;cursor:pointer;gap:6px;transition:all .2s ease}.print-option-btn:hover{background:#f0f4ff;border-color:#667eea}.print-option-btn.lb:hover{background:#eff6ff;border-color:#3b82f6}.print-option-btn.pm:hover{background:#fffbeb;border-color:#f59e0b}.print-option-btn.combined:hover{background:#ecfdf5;border-color:#10b981}.print-option-btn .option-icon{font-size:24px}.print-option-btn .option-label{color:#334155;font-size:14px;font-weight:600}.print-option-btn .option-desc{color:#64748b;font-size:11px;text-align:center}.participant-count{display:flex;gap:8px;margin-top:4px}.participant-badge{align-items:center;background:#f1f5f9;border-radius:4px;color:#64748b;display:inline-flex;font-size:11px;gap:4px;padding:2px 8px}.participant-badge.lb{background:#eff6ff;border:1px solid #bfdbfe;color:#3b82f6}.participant-badge.pm{background:#fffbeb;border:1px solid #fde68a;color:#d97706}.qualifications-master{padding:24px}.qual-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:24px}.qual-header h1{color:var(--text-primary);font-size:24px;font-weight:600;margin:0 0 4px}.qual-header p{color:var(--text-secondary);margin:0}.btn-add{align-items:center;background:var(--brand-color);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:8px;padding:10px 16px;transition:background .2s}.btn-add:hover{background:var(--brand-hover)}.qual-table-container{background:var(--surface-primary);border:1px solid var(--border-color);border-radius:12px;overflow:hidden}.qual-table{border-collapse:collapse;width:100%}.qual-table th{background:var(--surface-secondary);color:var(--text-secondary);font-weight:600;text-align:left}.qual-table td,.qual-table th{border-bottom:1px solid var(--border-color);padding:14px 16px}.qual-table td{color:var(--text-primary)}.qual-table tr:last-child td{border-bottom:none}.status-pill{border-radius:12px;display:inline-block;font-size:13px;font-weight:500;padding:4px 10px}.status-pill.active{background:var(--success-tint-bg);color:var(--success-color-dark)}.status-pill.inactive{background:var(--surface-secondary);color:var(--text-secondary)}.btn-disable,.btn-enable{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:6px 12px;transition:all .15s}.btn-disable{background:var(--warning-tint-bg);color:var(--warning-color)}.btn-disable:hover{background:var(--warning-color);color:#fff}.btn-enable{background:var(--success-tint-bg);color:var(--success-color-dark)}.btn-enable:hover{background:var(--success-color);color:#fff}.qual-loading{color:var(--text-secondary);padding:40px;text-align:center}.admin-dashboard{display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0;max-width:100vw;padding:0;position:relative;width:100vw}.admin-dashboard,.admin-main{background:var(--surface-secondary);min-height:100vh;overflow-x:hidden}.admin-main{box-sizing:border-box;flex:1 1;margin-left:280px;max-width:calc(100vw - 280px);padding:32px 40px;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.admin-dashboard:has(.collapsible-sidebar.collapsed) .admin-main{margin-left:80px;max-width:calc(100vw - 80px)}.placeholder-section{max-width:900px}.placeholder-card{background:var(--surface-primary);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-sm);padding:80px 40px;text-align:center}.placeholder-card h2{color:var(--text-primary);font-size:20px;font-weight:600;margin:0 0 8px}.placeholder-card p{color:var(--text-secondary);font-size:14px;margin:0}@media (max-width:1024px){.admin-main{padding:24px 20px}}.login-page-modern{align-items:center;display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;justify-content:center;min-height:100vh;padding:20px}.login-page-modern,.login-page-modern.admin-login{background:var(--surface-secondary)}.login-container-modern{max-width:440px;width:100%}.login-card-modern{background:var(--surface-primary);border-radius:16px;box-shadow:0 20px 60px #0000004d;overflow:hidden}.login-header-modern{background:var(--brand-color);color:var(--text-on-brand);padding:48px 40px 32px;text-align:center}.login-header-modern.admin{background:var(--surface-elevated);border-bottom:1px solid var(--border-200);color:var(--text-primary)}.activate-icon,.admin-icon,.success-icon{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:50%;color:inherit;display:flex;height:80px;justify-content:center;margin:0 auto 20px;width:80px}.admin-logo,.faculty-logo{align-items:center;background:#fffffff2;border-radius:20px;box-shadow:0 10px 30px #00000026;display:flex;height:120px;justify-content:center;margin:0 auto 24px;padding:20px;width:120px}.admin-logo img,.faculty-logo img{height:100%;object-fit:contain;width:100%}.success-icon{background:#10b98133}.login-header-modern h1{font-size:28px;font-weight:700;letter-spacing:-.5px;margin:0 0 8px}.login-header-modern p{font-size:15px;margin:0;opacity:.95}.login-form-modern{padding:40px 40px 32px}.form-group-modern{margin-bottom:24px}.form-group-modern label{align-items:center;color:var(--text-secondary);display:flex;font-size:14px;font-weight:600;gap:8px;margin-bottom:10px}.form-group-modern input{background:var(--surface-elevated);border:2px solid var(--border-200);border-radius:10px;caret-color:var(--text-primary);color:var(--text-primary);font-size:16px;padding:14px 16px;transition:all .2s ease;width:100%}.form-group-modern input::placeholder{color:var(--text-placeholder)}.form-group-modern input:focus{border-color:var(--brand-color);box-shadow:var(--shadow-md);outline:none}.password-input-wrapper{position:relative}.password-input-wrapper input{padding-right:48px}.password-toggle{align-items:center;background:none;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:8px;position:absolute;right:12px;top:50%;transform:translateY(-50%);transition:all .2s}.password-toggle:hover{background:var(--surface-hover);color:var(--text-primary)}.form-actions-login{margin-bottom:24px;text-align:right}.forgot-link{color:var(--brand-color);font-size:14px;font-weight:600;text-decoration:none;transition:color .2s}.forgot-link:hover{color:var(--brand-color-hover);text-decoration:underline}.login-button-modern{background:var(--brand-color);border:none;border-radius:10px;color:var(--text-on-brand);cursor:pointer;font-size:16px;font-weight:600;padding:14px 32px;transition:all .2s ease;width:100%}.login-button-modern:hover:not(:disabled){background:var(--brand-color-hover);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.login-button-modern:disabled{cursor:not-allowed;opacity:.6;transform:none}.login-button-modern.admin{background:var(--brand-color-dark)}.login-button-modern.admin:hover:not(:disabled){background:var(--brand-color);box-shadow:var(--shadow-lg)}.login-footer-modern{background:var(--surface-secondary);border-top:1px solid var(--border-200);padding:24px 40px;text-align:center}.login-footer-modern p{color:var(--text-secondary);font-size:14px;margin:0}.login-footer-modern a{color:var(--brand-color);font-weight:600;text-decoration:none}.login-footer-modern a:hover{text-decoration:underline}.back-to-login{align-items:center;color:var(--brand-color);display:inline-flex;font-size:14px;font-weight:600;gap:8px;margin-top:24px;text-decoration:none;transition:color .2s}.back-to-login:hover{color:var(--brand-color-hover)}@media (max-width:480px){.login-page-modern{padding:16px}.login-header-modern{padding:32px 24px 24px}.login-header-modern h1{font-size:24px}.login-header-modern p{font-size:14px}.login-form-modern{padding:32px 24px 24px}.login-footer-modern{padding:20px 24px}.admin-icon,.success-icon{height:64px;width:64px}}.login-page-modern[data-testid=activate-page] .login-header-modern{background:var(--brand-color)!important;color:#fff!important}.activate-icon,.login-page-modern[data-testid=activate-page] .login-header-modern h1,.login-page-modern[data-testid=activate-page] .login-header-modern p{color:#fff!important}.activate-icon{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:50%;display:flex;height:80px;justify-content:center;margin:0 auto 20px;width:80px}.activate-success-header{background:#10b981!important;background:var(--success-color,#10b981)!important}.activate-success-icon{align-items:center;animation:successPulse 2s ease-in-out infinite;background:#ffffff40;border-radius:50%;color:#fff;display:flex;height:80px;justify-content:center;margin:0 auto 20px;width:80px}@keyframes successPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.activate-success-body{padding:40px;text-align:center}.activate-success-body .success-message{color:var(--text-secondary);font-size:15px;margin-bottom:24px}.loading-dots{display:flex;gap:6px;justify-content:center}.loading-dots span{animation:loadingBounce 1.4s ease-in-out infinite both;background:var(--brand-color);border-radius:50%;height:10px;width:10px}.loading-dots span:first-child{animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}.loading-dots span:nth-child(3){animation-delay:0s}@keyframes loadingBounce{0%,80%,to{opacity:.5;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.activate-error-header{background:#ef4444!important;background-color:#ef4444!important}.activate-error-header h1,.activate-error-header p{color:#fff!important}.activate-error-icon{align-items:center;background:#fff3;border-radius:50%;color:#fff;display:flex;height:80px;justify-content:center;margin:0 auto 20px;width:80px}.activate-error-body{padding:40px;text-align:center}.activate-error-body .error-description{color:var(--text-secondary);font-size:14px;line-height:1.6;margin-bottom:24px}.activate-helper-text{background:var(--surface-secondary);border:1px solid var(--border-200);border-radius:10px;margin-bottom:24px;padding:14px 16px}.activate-helper-text p{color:var(--text-secondary);font-size:13px;line-height:1.5;margin:0}.activate-error-message{align-items:flex-start;background:#ef44441a;background:var(--error-bg,#ef44441a);border:1px solid #ef44444d;border:1px solid var(--error-border,#ef44444d);border-radius:10px;color:#ef4444;color:var(--error-color,#ef4444);display:flex;gap:10px;margin-bottom:20px;padding:12px 16px}.activate-error-message svg{flex-shrink:0;margin-top:2px}.activate-error-message span{font-size:13px;line-height:1.5}.password-hint{align-items:center;display:flex;font-size:12px;gap:6px;margin-top:8px;transition:color .2s}.password-hint.valid{color:#10b981;color:var(--success-color,#10b981)}.password-hint.invalid{color:#ef4444;color:var(--error-color,#ef4444)}.password-hint svg{flex-shrink:0}.form-group-modern input.input-valid,.form-group-modern input.input-valid:focus{border-color:#10b981;border-color:var(--success-color,#10b981)}.form-group-modern input.input-valid:focus{box-shadow:0 0 0 3px #10b98126}.form-group-modern input.input-invalid,.form-group-modern input.input-invalid:focus{border-color:#ef4444;border-color:var(--error-color,#ef4444)}.form-group-modern input.input-invalid:focus{box-shadow:0 0 0 3px #ef444426}.dark .activate-helper-text{background:var(--surface-elevated);border-color:var(--border-200)}.dark .activate-error-message{background:#ef444426;border-color:#ef444466}.dark .activate-error-body .error-description,.dark .activate-success-body .success-message{color:var(--text-secondary)}@media (max-width:480px){.activate-error-icon,.activate-icon,.activate-success-icon{height:64px;width:64px}.activate-error-icon svg,.activate-icon svg,.activate-success-icon svg{height:32px;width:32px}.activate-error-body,.activate-success-body{padding:32px 24px}.activate-helper-text{padding:12px 14px}.activate-helper-text p{font-size:12px}}:root[data-theme=light]{--brand-600:#3b82f6;--brand-700:#2563eb;--brand-500:#60a5fa;--brand-50:#eff6ff;--primary-color:#3b82f6;--primary-hover:#2563eb;--bg-app:#f3f4f6;--bg-surface:#fff;--bg-surface-2:#f9fafb;--bg-elevated:#fff;--surface-primary:var(--bg-surface);--surface-secondary:var(--bg-app);--surface-hover:#f3f4f6;--surface-elevated:var(--bg-elevated);--surface-input:#fff;--text-primary:#111827;--text-secondary:#4b5563;--text-muted:#6b7280;--text-disabled:#9ca3af;--text-placeholder:#9ca3af;--text-on-brand:#fff;--text-900:#111827;--text-600:#4b5563;--border-color:#e5e7eb;--border-200:#e5e7eb;--border-300:#d1d5db;--border-subtle:#f3f4f6;--border-strong:#d1d5db;--success-color:#10b981;--warning-color:#f59e0b;--error-color:#ef4444;--info-color:#3b82f6;--danger-bg:#fee2e2;--danger-border:#fecaca;--danger-text:#991b1b;--danger-color:#dc2626;--danger-color-dark:#991b1b;--info-tint-bg:#dbeafe;--info-tint-fg:#3b82f6;--brand-tint-bg:#eff6ff;--brand-tint-fg:#3b82f6;--brand-color:#3b82f6;--brand-color-dark:#1e3a8a;--brand-color-hover:#2563eb;--success-tint-bg:#d1fae5;--success-tint-fg:#10b981;--warning-tint-bg:#fed7aa;--warning-tint-fg:#f59e0b;--surface-table-header:#f9fafb;--surface-table-row:#fff;--surface-table-row-hover:#f3f4f6;--table-header-text:var(--text-secondary);--table-cell-text:var(--text-primary);--table-cell-muted:var(--text-muted);--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-inner:inset 0 1px 2px #0000000d;--font-size-xs:12px;--font-size-sm:14px;--font-size-base:16px;--font-size-lg:18px;--font-size-xl:20px;--font-size-2xl:24px;--font-size-3xl:30px;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--focus-ring:#3b82f680;--focus-ring-offset:2px;--hover-overlay:#0000000a}:root[data-theme=dark]{--brand-600:#60a5fa;--brand-700:#3b82f6;--brand-500:#93c5fd;--brand-50:#1e3a8a;--primary-color:#60a5fa;--primary-hover:#93c5fd;--bg-app:#0f172a;--bg-surface:#1e293b;--bg-surface-2:#334155;--bg-elevated:#475569;--surface-primary:var(--bg-surface);--surface-secondary:var(--bg-app);--surface-hover:#334155;--surface-elevated:var(--bg-elevated);--surface-input:#1e293b;--text-primary:#f1f5f9;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--text-disabled:#64748b;--text-placeholder:#64748b;--text-on-brand:#fff;--text-900:#f1f5f9;--text-600:#cbd5e1;--border-color:#334155;--border-200:#334155;--border-300:#475569;--border-subtle:#1e293b;--border-strong:#475569;--success-color:#4ade80;--warning-color:#fbbf24;--error-color:#fb7185;--info-color:#60a5fa;--danger-bg:#ef444426;--danger-border:#ef44444d;--danger-text:#fca5a5;--danger-color:#fb7185;--danger-color-dark:#f87171;--info-tint-bg:#60a5fa26;--info-tint-fg:#93c5fd;--brand-tint-bg:#60a5fa26;--brand-tint-fg:#93c5fd;--brand-color:#60a5fa;--brand-color-dark:#3b82f6;--brand-color-hover:#93c5fd;--success-tint-bg:#4ade8026;--success-tint-fg:#86efac;--warning-tint-bg:#fbbf2426;--warning-tint-fg:#fde68a;--surface-table-header:#1e293b;--surface-table-row:#1e293b;--surface-table-row-hover:#334155;--table-header-text:#cbd5e1;--table-cell-text:#f1f5f9;--table-cell-muted:#94a3b8;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--shadow-sm:0 1px 3px #0000004d,0 1px 2px #0003;--shadow-md:0 4px 6px -1px #0006,0 2px 4px -1px #0000004d;--shadow-lg:0 10px 15px -3px #00000080,0 4px 6px -2px #0000004d;--shadow-inner:inset 0 1px 3px #0003;--font-size-xs:12px;--font-size-sm:14px;--font-size-base:16px;--font-size-lg:18px;--font-size-xl:20px;--font-size-2xl:24px;--font-size-3xl:30px;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--focus-ring:#60a5fa80;--focus-ring-offset:2px;--hover-overlay:#ffffff0d}*{transition:background-color .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease}.preload *{transition:none!important}[data-theme=dark] .table,[data-theme=dark] table{color:var(--table-cell-text)}[data-theme=dark] .table th,[data-theme=dark] table th,[data-theme=dark] thead th{color:var(--table-header-text)!important;font-weight:600}[data-theme=dark] .table td,[data-theme=dark] table td,[data-theme=dark] tbody td{color:var(--table-cell-text)}[data-theme=dark] .table .muted,[data-theme=dark] .table .text-muted,[data-theme=dark] .table small,[data-theme=dark] table .muted,[data-theme=dark] table .text-muted,[data-theme=dark] table small{color:var(--table-cell-muted)!important}[data-theme=dark] .table td:empty:after,[data-theme=dark] table td:empty:after{color:var(--text-muted);content:"—"}[data-theme=dark] .card,[data-theme=dark] .panel,[data-theme=dark] [class*=Card],[data-theme=dark] [class*=card]{background:var(--bg-surface);border:1px solid var(--border-200);box-shadow:var(--shadow-sm)}[data-theme=dark] .accordion-content,[data-theme=dark] .card .card,[data-theme=dark] .expanded-content,[data-theme=dark] .nested-panel,[data-theme=dark] .panel .panel,[data-theme=dark] [class*=expand]{background:var(--bg-surface-2);border:1px solid var(--border-subtle)}[data-theme=dark] :focus-visible{outline:2px solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}[data-theme=dark] a:focus-visible,[data-theme=dark] button:focus-visible,[data-theme=dark] input:focus-visible,[data-theme=dark] select:focus-visible,[data-theme=dark] textarea:focus-visible{box-shadow:0 0 0 4px var(--focus-ring);outline:2px solid var(--brand-color);outline-offset:2px}[data-theme=dark] .clickable:hover,[data-theme=dark] .hoverable:hover,[data-theme=dark] tr:hover td{background:var(--hover-overlay)}[data-theme=dark] .caption,[data-theme=dark] .helper-text,[data-theme=dark] .subtitle,[data-theme=dark] .text-muted,[data-theme=dark] .text-secondary,[data-theme=dark] small:not(.badge small){color:var(--text-muted)!important}[data-theme=dark] .form-label,[data-theme=dark] .label,[data-theme=dark] label{color:var(--text-secondary)}[data-theme=dark] .accordion,[data-theme=dark] [class*=Accordion],[data-theme=dark] [class*=accordion],[data-theme=dark] details{background:var(--bg-surface);border:1px solid var(--border-200);border-radius:var(--radius-lg)}[data-theme=dark] .accordion-header,[data-theme=dark] [class*=accordion-header],[data-theme=dark] details[open]>summary{background:var(--bg-surface);border-bottom:1px solid var(--border-subtle)}[data-theme=dark] .accordion-body,[data-theme=dark] .accordion-content,[data-theme=dark] [class*=accordion-body],[data-theme=dark] [class*=accordion-content],[data-theme=dark] details>:not(summary){background:var(--bg-surface-2);color:var(--text-primary)}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:var(--surface-input);border:1px solid var(--border-200);color:var(--text-primary)}[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:var(--text-placeholder)}[data-theme=dark] input:focus,[data-theme=dark] select:focus,[data-theme=dark] textarea:focus{border-color:var(--brand-color);box-shadow:0 0 0 3px var(--focus-ring)}[data-theme=dark] .badge,[data-theme=dark] [class*=Badge],[data-theme=dark] [class*=badge]{font-weight:500}[data-theme=dark] .modal-overlay,[data-theme=dark] .overlay,[data-theme=dark] [class*=overlay]{background:#000000b3}[data-theme=dark] .modal,[data-theme=dark] .modal-content,[data-theme=dark] [class*=modal-content]{background:var(--bg-elevated);border:1px solid var(--border-300);box-shadow:var(--shadow-lg)}[data-theme=dark] ::-webkit-scrollbar{height:8px;width:8px}[data-theme=dark] ::-webkit-scrollbar-track{background:var(--bg-app)}[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--border-300);border-radius:4px}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:var(--text-disabled)}[data-theme=dark] .card-title,[data-theme=dark] .modal-header h3,[data-theme=dark] .page-header h1,[data-theme=dark] .page-header-new h1,[data-theme=dark] .page-title,[data-theme=dark] .panel-title,[data-theme=dark] .section-header h2,[data-theme=dark] .section-title,[data-theme=dark] .step-header h2,[data-theme=dark] [class*=header] h1,[data-theme=dark] [class*=header] h2,[data-theme=dark] [class*=header] h3,[data-theme=dark] h1,[data-theme=dark] h2,[data-theme=dark] h3,[data-theme=dark] h4,[data-theme=dark] h5,[data-theme=dark] h6{color:var(--text-primary)!important}[data-theme=dark] .description,[data-theme=dark] .page-header p,[data-theme=dark] .page-header-new p,[data-theme=dark] .subtitle,[data-theme=dark] [class*=description],[data-theme=dark] [class*=subtitle]{color:var(--text-secondary)!important}[data-theme=dark] .form-control,[data-theme=dark] .input-group input,[data-theme=dark] [class*=input] input,[data-theme=dark] [class*=select] select,[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:var(--bg-surface)!important;border:1px solid var(--border-200)!important;color:var(--text-primary)!important}[data-theme=dark] .form-control:focus,[data-theme=dark] .input-group input:focus,[data-theme=dark] input:focus,[data-theme=dark] select:focus,[data-theme=dark] textarea:focus{border-color:var(--brand-color)!important;box-shadow:0 0 0 3px var(--focus-ring)!important;outline:none!important}[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:var(--text-placeholder)!important}[data-theme=dark] .form-label,[data-theme=dark] .input-group label,[data-theme=dark] label{color:var(--text-secondary)!important}[data-theme=dark] input[type=checkbox],[data-theme=dark] input[type=radio]{background:#0000!important;border:2px solid var(--border-300)!important}[data-theme=dark] .stepper-item .stepper-label,[data-theme=dark] .stepper-label{color:var(--text-secondary)!important}[data-theme=dark] .stepper-item.active .stepper-label,[data-theme=dark] .stepper-item.completed .stepper-label{color:var(--text-primary)!important}[data-theme=dark] .empty-state,[data-theme=dark] .no-data,[data-theme=dark] [class*=empty-state]{color:var(--text-secondary)}[data-theme=dark] .empty-state h3,[data-theme=dark] .empty-state p,[data-theme=dark] [class*=empty-state] h3,[data-theme=dark] [class*=empty-state] p{color:var(--text-secondary)!important}[data-theme=dark] .accordion-body,[data-theme=dark] .collapse-content,[data-theme=dark] .expanded-content,[data-theme=dark] [class*=expand],[data-theme=dark] details[open]>:not(summary){background:var(--bg-surface-2)!important;color:var(--text-primary)}[data-theme=dark] .accordion-body *,[data-theme=dark] .collapse-content *,[data-theme=dark] .expanded-content *{color:inherit}[data-theme=dark] .badge,[data-theme=dark] .status-badge,[data-theme=dark] [class*=badge]{font-weight:600}@media (max-width:768px){body{overflow-x:hidden}.table,[class*=table],table{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}.main-content{max-width:100vw!important;padding:16px!important}.card,.panel,[class*=card]{border-radius:0;margin:0 -8px}}@media print{*{background:#fff!important;box-shadow:none!important;color:#000!important}}[data-theme=dark] .card-header h3,[data-theme=dark] .invoice-header h1,[data-theme=dark] .invoice-page h1,[data-theme=dark] .page-header h1,[data-theme=dark] .page-header-new h1,[data-theme=dark] .section-header h2,[data-theme=dark] .stat-cards-title{color:#f1f5f9!important}[data-theme=dark] .page-description,[data-theme=dark] .page-header p,[data-theme=dark] .page-header-new p,[data-theme=dark] .section-description{color:#cbd5e1!important}[data-theme=dark] .table th,[data-theme=dark] th,[data-theme=dark] thead th{background:#1e293b!important;background:var(--surface-table-header,#1e293b)!important;color:#cbd5e1!important}[data-theme=dark] .table td,[data-theme=dark] tbody td,[data-theme=dark] td{color:#f1f5f9!important}[data-theme=dark] .table td small,[data-theme=dark] td .muted,[data-theme=dark] td .text-muted,[data-theme=dark] td small{color:#94a3b8!important}[data-theme=dark] .form-group label,[data-theme=dark] .input-group label,[data-theme=dark] label{color:#cbd5e1!important}[data-theme=dark] input:not([type=checkbox]):not([type=radio]),[data-theme=dark] select,[data-theme=dark] textarea{background:#1e293b!important;border:1px solid #475569!important;color:#f1f5f9!important}[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:#64748b!important}[data-theme=dark] input:focus:not([type=checkbox]):not([type=radio]),[data-theme=dark] select:focus,[data-theme=dark] textarea:focus{border-color:#60a5fa!important;box-shadow:0 0 0 3px #60a5fa4d!important}[data-theme=dark] .stepper-label{color:#94a3b8!important}[data-theme=dark] .stepper-item.active .stepper-label,[data-theme=dark] .stepper-item.completed .stepper-label{color:#f1f5f9!important}[data-theme=dark] .card-body,[data-theme=dark] .panel-body,[data-theme=dark] .ui-card-body{color:#f1f5f9}[data-theme=dark] .dashboard-header h1,[data-theme=dark] .welcome-banner,[data-theme=dark] .welcome-title{color:#f1f5f9!important}[data-theme=dark] .welcome-subtitle{color:#cbd5e1!important}[data-theme=dark] .header-profile-card{background:var(--bg-surface)!important;border-color:var(--border-200)!important}[data-theme=dark] .header-profile-name{color:#f1f5f9!important}[data-theme=dark] .header-profile-detail,[data-theme=dark] .header-profile-detail span{color:#cbd5e1!important}[data-theme=dark] .stat-card{background:var(--bg-surface)!important;border:1px solid var(--border-200)!important}[data-theme=dark] .stat-label{color:#94a3b8!important}[data-theme=dark] .stat-value{color:#f1f5f9!important}[data-theme=dark] .sessions-card{background:var(--bg-surface)!important}[data-theme=dark] .faculty-schedule-page .page-title,[data-theme=dark] .faculty-schedule-page h1,[data-theme=dark] .section-title,[data-theme=dark] .sessions-card h2,[data-theme=dark] .sessions-card h3{color:#f1f5f9!important}[data-theme=dark] .batch-section,[data-theme=dark] .batch-table-container,[data-theme=dark] .sessions-list{background:var(--bg-surface)!important;border-color:var(--border-200)!important}[data-theme=dark] .batch-header h3,[data-theme=dark] .batch-header-left h2,[data-theme=dark] .batch-title{color:#f1f5f9!important}[data-theme=dark] .session-card,[data-theme=dark] .session-card-compact,[data-theme=dark] .session-card-grid{background:var(--bg-surface)!important;border-color:var(--border-200)!important}[data-theme=dark] .session-header h3,[data-theme=dark] .session-topic{color:#f1f5f9!important}[data-theme=dark] .detail-item,[data-theme=dark] .session-details-row .detail-item{color:#cbd5e1!important}[data-theme=dark] .invoice-header h3,[data-theme=dark] .invoice-page .page-title,[data-theme=dark] .invoice-page h1{color:#f1f5f9!important}[data-theme=dark] .invoice-card,[data-theme=dark] .invoice-step,[data-theme=dark] .table-container{background:var(--bg-surface)!important;border-color:var(--border-200)!important}[data-theme=dark] .step-header{background:var(--bg-surface)!important}[data-theme=dark] .step-header h2,[data-theme=dark] .step-header h4{color:#f1f5f9!important}[data-theme=dark] .step-content{background:var(--bg-surface-2)!important}[data-theme=dark] .step-description{color:#cbd5e1!important}[data-theme=dark] .enrol-page-modern{background:var(--bg-app)!important}[data-theme=dark] .empty-state,[data-theme=dark] .enrol-container-modern{background:var(--bg-surface)!important}[data-theme=dark] .empty-state{border-color:var(--border-200)!important}[data-theme=dark] .empty-state h3{color:#f1f5f9!important}[data-theme=dark] .empty-state p{color:#94a3b8!important}[data-theme=dark] .filter-bar{background:var(--bg-surface)!important;border-color:var(--border-200)!important}[data-theme=dark] .search-box{background:var(--bg-surface-2)!important;border-color:var(--border-200)!important}[data-theme=dark] .search-box input{background:#0000!important;color:#f1f5f9!important}[data-theme=dark] .filter-select{background:var(--bg-surface)!important;border-color:var(--border-200)!important;color:#f1f5f9!important}[data-theme=dark] .content-area,[data-theme=dark] .main-content,[data-theme=dark] .page-content{background:var(--bg-app)!important}[data-theme=dark] .amount-breakdown-card-faculty,[data-theme=dark] .amount-summary{background:var(--bg-surface-2)!important;border-color:var(--brand-color)!important}[data-theme=dark] .amount-label-faculty,[data-theme=dark] .amount-row-faculty .amount-label{color:#f1f5f9!important}[data-theme=dark] .amount-value-faculty{color:#93c5fd!important}[data-theme=dark] .gst-section,[data-theme=dark] .gst-section-step3{background:var(--bg-surface-2)!important;border-color:var(--border-200)!important}[data-theme=dark] .gst-checkbox-label,[data-theme=dark] .gst-section label{color:#f1f5f9!important}[data-theme=dark] .upload-label,[data-theme=dark] .upload-label-step3{background:var(--bg-surface-2)!important;border-color:var(--border-300)!important}[data-theme=dark] .upload-title{color:#f1f5f9!important}[data-theme=dark] .upload-subtitle{color:#94a3b8!important}[data-theme=dark] .panel-view-toggle{background:var(--bg-surface)!important;border-color:var(--border-200)!important}[data-theme=dark] .toggle-btn{color:#cbd5e1!important}[data-theme=dark] .toggle-btn:hover{background:var(--bg-surface-2)!important;color:#f1f5f9!important}[data-theme=dark] .view-toggle{background:var(--bg-surface)!important;border-color:var(--border-200)!important}[data-theme=dark] .view-toggle button{color:#94a3b8!important}[data-theme=dark] .view-toggle button:hover{background:var(--bg-surface-2)!important}[data-theme=dark] .year-filter-group{border-color:var(--brand-color)!important}[data-theme=dark] .payment-info,[data-theme=dark] .payment-info-inline{background:var(--bg-surface-2)!important}[data-theme=dark] .payment-info h4,[data-theme=dark] .payment-info-inline h4{color:#93c5fd!important}[data-theme=dark] .file-info{background:#4ade8026!important}[data-theme=dark] .file-name,[data-theme=dark] .file-status{color:#86efac!important}[data-theme=dark] .card-title,[data-theme=dark] .dashboard-header h1,[data-theme=dark] .empty-state h3,[data-theme=dark] .empty-state-title,[data-theme=dark] .page-title,[data-theme=dark] .section-title,[data-theme=dark] .ui-card-title,[data-theme=dark] .ui-empty-state-title,[data-theme=dark] .welcome-title,[data-theme=dark] h1,[data-theme=dark] h2,[data-theme=dark] h3{color:#f1f5f9!important}[data-theme=dark] .empty-state p,[data-theme=dark] .empty-state-description,[data-theme=dark] .ui-empty-state-description{color:#cbd5e1!important}[data-theme=dark] .empty-state,[data-theme=dark] .ui-empty-state{background:var(--bg-surface)!important;border-color:var(--border-200)!important}[data-theme=dark] .header-profile-name,[data-theme=dark] .profile-name,[data-theme=dark] .stat-value,[data-theme=dark] .stats-value,[data-theme=dark] .user-name{color:#f1f5f9!important}[data-theme=dark] .stat-label,[data-theme=dark] .stats-label{color:#cbd5e1!important}[data-theme=dark] .faculty-schedule-page{background:var(--bg-app)!important}[data-theme=dark] .faculty-schedule-page .page-header h1,[data-theme=dark] .faculty-schedule-page .page-header-new h1{color:#f1f5f9!important}[data-theme=dark] .invoice-page{background:var(--bg-app)!important}[data-theme=dark] .invoice-page .page-header h1,[data-theme=dark] .invoice-page h1{color:#f1f5f9!important}[data-theme=dark] .batch-section,[data-theme=dark] .batch-table-container{background:var(--bg-surface)!important;border-color:var(--border-200)!important}[data-theme=dark] .batch-table td,[data-theme=dark] .batch-table th{color:#f1f5f9!important}[data-theme=dark] .session-card,[data-theme=dark] .session-card-grid{background:var(--bg-surface)!important;border-color:var(--border-200)!important}[data-theme=dark] .session-card h3,[data-theme=dark] .session-topic{color:#f1f5f9!important}[data-theme=dark] .detail-item,[data-theme=dark] .session-details-row span{color:#cbd5e1!important}[data-theme=dark] .enrol-container-modern,[data-theme=dark] .enrol-page-modern{background:var(--bg-surface)!important}[data-theme=dark] .step-header h2{color:#f1f5f9!important}[data-theme=dark] .step-header p{color:#cbd5e1!important}[data-theme=dark] .batch-table thead,[data-theme=dark] .invoices-table thead{background:var(--bg-surface-2)!important}[data-theme=dark] .batch-table td strong,[data-theme=dark] td strong{color:#f1f5f9!important}[data-theme=dark] .view-btn{background:var(--bg-surface)!important;border-color:var(--border-200)!important;color:#cbd5e1!important}[data-theme=dark] .view-btn:hover{background:var(--bg-surface-2)!important;color:#f1f5f9!important}[data-theme=dark] .view-btn.active{background:var(--brand-color)!important;border-color:var(--brand-color)!important;color:#fff!important}[data-theme=dark] .year-filter-group{background:var(--bg-surface)!important}[data-theme=dark] .year-filter-group label{color:#f1f5f9!important}[data-theme=dark] .year-select-enhanced{background:var(--bg-surface)!important;border-color:var(--border-200)!important;color:#93c5fd!important}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;overflow-x:hidden;width:100%}body{background:var(--surface-secondary);color:var(--text-primary);color:var(--text-primary,var(--text-primary));font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0;padding:0}#root{min-height:100vh;overflow-x:hidden;width:100%}#root,.auth-loading{display:flex;flex-direction:column}.auth-loading{align-items:center;background:var(--surface-primary);height:100vh;justify-content:center}.spinner{animation:spin .8s linear infinite;border:4px solid var(--border-200);border-radius:50%;border-top-color:var(--brand-color);height:48px;width:48px}@keyframes spin{to{transform:rotate(1turn)}}.auth-loading p{color:var(--text-secondary);font-size:14px;margin-top:16px}.login-page{align-items:center;background:var(--brand-color);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-container{max-width:420px;width:100%}.login-card{background:var(--surface-primary);border-radius:16px;box-shadow:0 20px 60px #00000026;padding:48px 40px;text-align:center}.login-card h1{color:var(--text-primary);font-size:28px;font-weight:700;margin-bottom:8px}.tagline{font-size:14px;margin-bottom:32px}.login-btn,.tagline{color:var(--text-secondary)}.login-btn{align-items:center;background:var(--surface-primary);border:2px solid var(--border-200);border-radius:8px;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:12px;justify-content:center;padding:14px 24px;transition:all .2s;width:100%}.login-btn:hover{border-color:var(--brand-color);box-shadow:0 4px 12px #3b82f626;transform:translateY(-1px)}.login-btn:active{transform:translateY(0)}:root[data-theme=dark] body{color:var(--text-primary)}:root[data-theme=dark] .badge-approved,:root[data-theme=dark] .badge-draft,:root[data-theme=dark] .status-badge,:root[data-theme=dark] [class*=badge],:root[data-theme=dark] span[class*=status]{color:var(--text-primary)!important;font-weight:600!important}:root[data-theme=dark] .badge-draft,:root[data-theme=dark] span:contains("Draft"){background:var(--text-secondary)!important;color:var(--text-primary)!important}:root[data-theme=dark] .code-badge,:root[data-theme=dark] .topic-code,:root[data-theme=dark] [class*=code-],:root[data-theme=dark] input[readonly],:root[data-theme=dark] input[type=number],:root[data-theme=dark] input[type=text]{background:var(--surface-hover);border:1px solid var(--border-color);color:var(--text-primary)}:root[data-theme=dark] .count-badge,:root[data-theme=dark] .number-badge,:root[data-theme=dark] .topics-count,:root[data-theme=dark] [class*=count-]{background:#37415199!important;border:1px solid #4b556366!important;border-radius:6px!important;color:var(--text-primary)!important;font-weight:600!important;padding:4px 12px!important}:root[data-theme=dark] .tab,:root[data-theme=dark] [class*=tab]:not(.active),:root[data-theme=dark] [role=tab]{color:var(--text-secondary)}:root[data-theme=dark] .tab.active,:root[data-theme=dark] [class*=tab].active,:root[data-theme=dark] [role=tab][aria-selected=true]{border-bottom-color:var(--primary-color);color:var(--text-primary)}:root[data-theme=dark] .stat-card{background:var(--surface-primary);border-color:var(--border-color)}:root[data-theme=dark] .stat-label{color:var(--text-secondary)}:root[data-theme=dark] .stat-value{color:var(--text-primary)}:root[data-theme=dark] .schedule-module-new{background:var(--surface-secondary)}:root[data-theme=dark] .schedule-table,:root[data-theme=dark] table{background:var(--surface-primary)}:root[data-theme=dark] .faculty-table th,:root[data-theme=dark] .schedule-table th,:root[data-theme=dark] table th,:root[data-theme=dark] thead th{background:var(--surface-table-header)!important;color:var(--text-primary)!important;font-size:13px!important;font-weight:700!important;letter-spacing:.5px!important;text-transform:uppercase!important}:root[data-theme=dark] .schedule-table td,:root[data-theme=dark] table td,:root[data-theme=dark] tbody td{border-color:var(--border-color);color:var(--text-primary)}:root[data-theme=dark] .batch-name{color:var(--text-primary);font-weight:500}:root[data-theme=dark] .year-tab{background:var(--surface-hover);color:var(--text-secondary)}:root[data-theme=dark] .year-tab.active{color:var(--primary-color)}:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea{background:var(--surface-hover);border-color:var(--border-color);color:var(--text-primary)}:root[data-theme=dark] input::placeholder,:root[data-theme=dark] textarea::placeholder{color:var(--text-secondary);opacity:.6}:root[data-theme=dark] .faculty-review{background:var(--surface-secondary)!important}:root[data-theme=dark] .faculty-table,:root[data-theme=dark] .faculty-table tbody,:root[data-theme=dark] .faculty-table-container{background:var(--surface-primary)!important}:root[data-theme=dark] .faculty-table th{background:var(--surface-table-header)!important;color:var(--text-primary)!important}:root[data-theme=dark] .faculty-table td{background:var(--surface-primary)!important;color:var(--text-primary)!important}:root[data-theme=dark] .faculty-table tr:hover td{background:var(--surface-hover)!important}:root[data-theme=dark] .faculty-review div[class*=bg-gray],:root[data-theme=dark] .faculty-review div[class*=bg-white],:root[data-theme=dark] .faculty-review div[style*=background]{background:var(--surface-primary)!important}:root[data-theme=dark] .detail-item .label{color:var(--text-secondary)}:root[data-theme=dark] .detail-item .value{color:var(--text-primary)}:root[data-theme=dark] .course-module{background:var(--surface-secondary)}:root[data-theme=dark] .module-card{background:var(--surface-primary);border-color:var(--border-color)}:root[data-theme=dark] .topic-card{background:var(--surface-hover);color:var(--text-primary)}:root[data-theme=dark] .topic-name{color:var(--text-primary);font-weight:500}:root[data-theme=dark] .topic-code,:root[data-theme=dark] [class*=code-badge],:root[data-theme=dark] code{background:#6366f140!important;border:1px solid #818cf866!important;color:var(--info-tint-fg)!important;font-size:13px!important;font-weight:700!important;padding:4px 10px!important}:root[data-theme=dark] .topic-hours,:root[data-theme=dark] .topic-weightage,:root[data-theme=dark] td input{background:#37415199;border:1px solid var(--border-color);color:var(--text-primary);padding:4px 8px}:root[data-theme=dark] td input:focus{background:var(--surface-hover);border-color:var(--primary-color);outline:none}:root[data-theme=dark] .timetable-builder{background:var(--surface-secondary)}:root[data-theme=dark] .day-section{background:var(--surface-primary);border-color:var(--border-color)}:root[data-theme=dark] .day-header,:root[data-theme=dark] button{color:var(--text-primary)}:root[data-theme=dark] .modal-content{background:var(--surface-primary);color:var(--text-primary)}:root[data-theme=dark] .modal-header,:root[data-theme=dark] [data-sonner-toast]{background:var(--surface-primary);border-color:var(--border-color)}:root[data-theme=dark] [data-sonner-toast],:root[data-theme=dark] [data-sonner-toast] [data-content],:root[data-theme=dark] [data-sonner-toast] [data-title],:root[data-theme=dark] [data-sonner-toast] div{color:var(--text-primary)}:root[data-theme=dark] [data-sonner-toast] [data-description]{color:var(--text-secondary)}:root[data-theme=dark] [data-sonner-toaster] [data-toast]{background:var(--surface-primary);border:1px solid var(--border-color)}:root[data-theme=dark] [data-sonner-toaster] [data-toast] [data-icon]{color:var(--text-primary)}:root[data-theme=dark] .sonner-toast{color:var(--text-primary)}:root[data-theme=dark] .batch-menu-dropdown,:root[data-theme=dark] .dropdown-menu,:root[data-theme=dark] .sonner-toast{background:var(--surface-primary);border-color:var(--border-color)}:root[data-theme=dark] .batch-menu-dropdown button,:root[data-theme=dark] .dropdown-menu button{color:var(--text-primary)}:root[data-theme=dark] .batch-menu-dropdown button:hover,:root[data-theme=dark] .dropdown-menu button:hover{background:var(--surface-hover)}:root[data-theme=dark] .page-title,:root[data-theme=dark] .section-title,:root[data-theme=dark] .step-header h2,:root[data-theme=dark] h1,:root[data-theme=dark] h2,:root[data-theme=dark] h3,:root[data-theme=dark] h4,:root[data-theme=dark] h5,:root[data-theme=dark] h6{color:var(--text-primary)!important}:root[data-theme=dark] label,:root[data-theme=dark] p,:root[data-theme=dark] span{color:inherit}:root[data-theme=dark] svg{color:currentColor}:root[data-theme=dark] .action-icon,:root[data-theme=dark] [class*=icon] svg,:root[data-theme=dark] button svg{stroke-width:2!important;color:var(--text-secondary)!important;opacity:1!important}:root[data-theme=dark] .btn-view svg,:root[data-theme=dark] button:has-text("View") svg{color:var(--text-primary)!important}:root[data-theme=dark] .btn-rate svg,:root[data-theme=dark] button:has-text("Rate") svg{color:var(--warning-color-dark)!important}:root[data-theme=dark] .btn-suspend svg,:root[data-theme=dark] button:has-text("Suspend") svg{color:var(--warning-color-dark)!important}:root[data-theme=dark] .btn-delete svg,:root[data-theme=dark] button:has-text("Delete") svg{color:var(--danger-color)!important}:root[data-theme=dark] .status-badge{color:#fff}:root[data-theme=dark] a{color:var(--primary-color)}:root[data-theme=dark] tr:hover{background:var(--surface-hover)}:root[data-theme=dark] .card,:root[data-theme=dark] .container,:root[data-theme=dark] .panel,:root[data-theme=dark] .section{background:var(--surface-primary);color:var(--text-primary)}:root[data-theme=dark] .empty-state{color:var(--text-secondary)}:root[data-theme=dark] .calendar{background:var(--surface-primary);border-color:var(--border-color)}:root[data-theme=dark] .calendar-day{border-color:var(--border-color);color:var(--text-primary)}:root[data-theme=dark] .invoice-card,:root[data-theme=dark] .invoice-item{background:var(--surface-primary);border-color:var(--border-color);color:var(--text-primary)}:root[data-theme=dark] .faculty-card{background:var(--surface-primary);border-color:var(--border-color)}:root[data-theme=dark] div[class*=bg-white],:root[data-theme=dark] div[class*=container],:root[data-theme=dark] div[class*=content],:root[data-theme=dark] div[class*=wrapper],:root[data-theme=dark] div[style*="background-color: var(--surface-primary)"],:root[data-theme=dark] div[style*="background-color: white"],:root[data-theme=dark] div[style*="background: var(--surface-primary)"],:root[data-theme=dark] div[style*="background: var(--surface-secondary)"],:root[data-theme=dark] div[style*="background: white"],:root[data-theme=dark] section[class*=bg-white]{background:var(--surface-primary)!important}:root[data-theme=dark] [style*="color: rgb(107, 114, 128)"], :root[data-theme=dark] [style*="color: rgb(156, 163, 175)"], :root[data-theme=dark] [style*="color: var(--text-secondary)"]{color:var(--text-secondary)!important}:root[data-theme=dark] [style*="color: rgb(17, 24, 39)"], :root[data-theme=dark] [style*="color: rgb(55, 65, 81)"], :root[data-theme=dark] [style*="color: var(--text-primary)"], :root[data-theme=dark] [style*="color: var(--text-secondary)"]{color:var(--text-primary)!important}:root[data-theme=dark] [style*="background: rgb(255, 255, 255)"], :root[data-theme=dark] [style*="background: var(--surface-primary)"], :root[data-theme=dark] [style*="background: var(--surface-secondary)"], :root[data-theme=dark] [style*="background: white"]{background:var(--surface-primary)!important}:root[data-theme=dark] input[type=date],:root[data-theme=dark] input[type=email],:root[data-theme=dark] input[type=number],:root[data-theme=dark] input[type=password],:root[data-theme=dark] input[type=text],:root[data-theme=dark] input[type=time],:root[data-theme=dark] select,:root[data-theme=dark] textarea{background:var(--surface-hover)!important;border-color:var(--border-color)!important;color:var(--text-primary)!important}:root[data-theme=dark] ::placeholder{color:var(--text-secondary)!important;opacity:.7!important}:root[data-theme=dark] .badge,:root[data-theme=dark] .pill,:root[data-theme=dark] [class*=badge],:root[data-theme=dark] [class*=tag-],:root[data-theme=dark] span[class*=bg-]{color:var(--text-primary)!important;font-weight:600!important;text-shadow:none!important}:root[data-theme=dark] .badge-light,:root[data-theme=dark] .bg-gray-100,:root[data-theme=dark] .bg-gray-200,:root[data-theme=dark] [class*=bg-gray],:root[data-theme=dark] [class*=bg-white]{background:var(--border-200)!important;color:var(--text-primary)!important}@page{size:A4 portrait;margin:12mm}@media print{:not(.preserve-print-color){background:#fff!important;background-color:#fff!important;background-image:none!important;box-shadow:none!important;color:#000!important;filter:none!important;text-shadow:none!important}body,html{background:#fff!important;background-color:#fff!important;color:#000!important;margin:0!important;padding:0!important}.action-buttons,.btn,.btn-icon,.filter-bar,.filters-bar,.modal,.modal-overlay,.navbar,.no-print,.sidebar,.toast,.topbar,[class*=navbar],[class*=sidebar],[class*=toast],[class*=topbar],button:not(.preserve-print),header,input[type=button],input[type=submit],nav,select{display:none!important;visibility:hidden!important}thead{display:table-header-group}tfoot{display:table-footer-group}tr{break-inside:avoid;page-break-inside:avoid}table{border-collapse:collapse!important;width:100%!important}table,td,th{background:#fff!important}td,th{border:1px solid #333!important;color:#000!important;padding:8px!important}th{background:#f5f5f5!important;font-weight:600!important}[style*=gradient],[style*=linear-gradient],[style*=radial-gradient]{background:#fff!important;background-image:none!important}.badge,.status-badge,[class*=badge]{background:#f0f0f0!important;border:1px solid #666!important;color:#000!important}a{color:#000!important;text-decoration:none!important}.page-break{break-before:always;page-break-before:always}.avoid-break{break-inside:avoid;page-break-inside:avoid}.invoice-print-container{padding:10mm!important;width:100%!important}.invoice-print-container,.invoice-print-container *{background:#fff!important;color:#000!important;visibility:visible!important}*{color-adjust:exact!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}
/*# sourceMappingURL=main.75783f39.css.map*/