@import url(https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=IBM+Plex+Sans:wght@400;500;600&family=JetBrains+Mono:wght@400&display=swap);*,: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.19 | 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}.static{position:static}.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}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.float-end{float:inline-end}.-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-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.me-1{-webkit-margin-end:.25rem;margin-inline-end:.25rem}.me-2{-webkit-margin-end:.5rem;margin-inline-end:.5rem}.ml-1{margin-left:.25rem}.ml-8{margin-left:2rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.ms-1{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.ms-2{-webkit-margin-start:.5rem;margin-inline-start:.5rem}.ms-auto{-webkit-margin-start:auto;margin-inline-start:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-24{margin-top:6rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.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-12{height:3rem}.h-16{height:4rem}.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-\[85vh\]{max-height:85vh}.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}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.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-5{width:1.25rem}.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-2xl{max-width:42rem}.max-w-6xl{max-width:72rem}.max-w-lg{max-width:32rem}.max-w-max{max-width:-webkit-max-content;max-width:max-content}.max-w-md{max-width:28rem}.flex-shrink-0,.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-none{resize:none}.resize{resize:both}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1\.5{gap:.375rem}.gap-12{gap:3rem}.gap-16{gap:4rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.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-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)))}.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-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(4rem*var(--tw-space-y-reverse));margin-top:calc(4rem*(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-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(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)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.overflow-auto{overflow:auto}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.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-0{border-width:0}.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-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-\[\#064E3B\]{--tw-border-opacity:1;border-color:#064e3b;border-color:rgb(6 78 59/var(--tw-border-opacity,1))}.border-\[\#064E3B\]\/20{border-color:#064e3b33}.border-\[\#E4E4E7\]{--tw-border-opacity:1;border-color:#e4e4e7;border-color:rgb(228 228 231/var(--tw-border-opacity,1))}.border-amber-200{--tw-border-opacity:1;border-color:#fde68a;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.border-blue-200{--tw-border-opacity:1;border-color:#bfdbfe;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-border{border-color:#e5e5e5;border-color:hsl(var(--border))}.border-destructive{border-color:#ef4444;border-color:hsl(var(--destructive))}.border-destructive\/50{border-color:#ef444480;border-color:hsl(var(--destructive)/.5)}.border-green-200{--tw-border-opacity:1;border-color:#bbf7d0;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.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-red-200{--tw-border-opacity:1;border-color:#fecaca;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-slate-200{--tw-border-opacity:1;border-color:#e2e8f0;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.border-transparent{border-color:#0000}.border-l-transparent{border-left-color:#0000}.border-t-transparent{border-top-color:#0000}.bg-\[\#064E3B\]{--tw-bg-opacity:1;background-color:#064e3b;background-color:rgb(6 78 59/var(--tw-bg-opacity,1))}.bg-\[\#064E3B\]\/5{background-color:#064e3b0d}.bg-\[\#25D366\]{--tw-bg-opacity:1;background-color:#25d366;background-color:rgb(37 211 102/var(--tw-bg-opacity,1))}.bg-\[\#F4F4F5\]{--tw-bg-opacity:1;background-color:#f4f4f5;background-color:rgb(244 244 245/var(--tw-bg-opacity,1))}.bg-\[\#FAFAED\]{--tw-bg-opacity:1;background-color:#fafaed;background-color:rgb(250 250 237/var(--tw-bg-opacity,1))}.bg-accent{background-color:#f5f5f5;background-color:hsl(var(--accent))}.bg-amber-100{--tw-bg-opacity:1;background-color:#fef3c7;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.bg-amber-50{--tw-bg-opacity:1;background-color:#fffbeb;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.bg-background{background-color:#fff;background-color:hsl(var(--background))}.bg-black\/50{background-color:#00000080}.bg-black\/80{background-color:#000c}.bg-blue-100{--tw-bg-opacity:1;background-color:#dbeafe;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-blue-50{--tw-bg-opacity:1;background-color:#eff6ff;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-600{--tw-bg-opacity:1;background-color:#2563eb;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.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-destructive\/10{background-color:#ef44441a;background-color:hsl(var(--destructive)/.1)}.bg-foreground{background-color:#0a0a0a;background-color:hsl(var(--foreground))}.bg-green-100{--tw-bg-opacity:1;background-color:#dcfce7;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.bg-green-50{--tw-bg-opacity:1;background-color:#f0fdf4;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.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-red-50{--tw-bg-opacity:1;background-color:#fef2f2;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-secondary{background-color:#f5f5f5;background-color:hsl(var(--secondary))}.bg-slate-200{--tw-bg-opacity:1;background-color:#e2e8f0;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.bg-slate-50{--tw-bg-opacity:1;background-color:#f8fafc;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.bg-transparent{background-color:initial}.bg-white{--tw-bg-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-opacity-10{--tw-bg-opacity:0.1}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-\[\#064E3B\]\/10{--tw-gradient-from:#064e3b1a var(--tw-gradient-from-position);--tw-gradient-to:#064e3b00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-slate-50{--tw-gradient-from:#f8fafc var(--tw-gradient-from-position);--tw-gradient-to:#f8fafc00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-\[\#9A3412\]\/10{--tw-gradient-to:#9a34121a var(--tw-gradient-to-position)}.to-slate-100{--tw-gradient-to:#f1f5f9 var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.fill-primary{fill:#171717;fill:hsl(var(--primary))}.object-contain{object-fit:contain}.p-0{padding:0}.p-1{padding:.25rem}.p-12{padding:3rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-\[1px\]{padding:1px}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.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-6{padding-left:1.5rem;padding-right:1.5rem}.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-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-5{padding-bottom:1.25rem;padding-top:1.25rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.py-8{padding-bottom:2rem;padding-top:2rem}.pb-0{padding-bottom:0}.pb-3{padding-bottom:.75rem}.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-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-start{text-align:start}.text-end{text-align:end}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.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{line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-normal{font-weight:400}.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-\[\#064E3B\]{--tw-text-opacity:1;color:#064e3b;color:rgb(6 78 59/var(--tw-text-opacity,1))}.text-\[\#1A1A1A\]{--tw-text-opacity:1;color:#1a1a1a;color:rgb(26 26 26/var(--tw-text-opacity,1))}.text-\[\#52525B\]{--tw-text-opacity:1;color:#52525b;color:rgb(82 82 91/var(--tw-text-opacity,1))}.text-accent-foreground{color:#171717;color:hsl(var(--accent-foreground))}.text-amber-800{--tw-text-opacity:1;color:#92400e;color:rgb(146 64 14/var(--tw-text-opacity,1))}.text-amber-900{--tw-text-opacity:1;color:#78350f;color:rgb(120 53 15/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:#2563eb;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-800{--tw-text-opacity:1;color:#1e40af;color:rgb(30 64 175/var(--tw-text-opacity,1))}.text-blue-900{--tw-text-opacity:1;color:#1e3a8a;color:rgb(30 58 138/var(--tw-text-opacity,1))}.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-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:#374151;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-green-800{--tw-text-opacity:1;color:#166534;color:rgb(22 101 52/var(--tw-text-opacity,1))}.text-green-900{--tw-text-opacity:1;color:#14532d;color:rgb(20 83 45/var(--tw-text-opacity,1))}.text-muted{color:#f5f5f5;color:hsl(var(--muted))}.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-red-900{--tw-text-opacity:1;color:#7f1d1d;color:rgb(127 29 29/var(--tw-text-opacity,1))}.text-secondary-foreground{color:#171717;color:hsl(var(--secondary-foreground))}.text-slate-700{--tw-text-opacity:1;color:#334155;color:rgb(51 65 85/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{-webkit-text-decoration-line:underline;text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.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)}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px 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)}.outline-none{outline:2px solid #0000;outline-offset:2px}.outline{outline-style:solid}.outline-primary{outline-color:#171717;outline-color:hsl(var(--primary))}.outline-secondary{outline-color:#f5f5f5;outline-color:hsl(var(--secondary))}.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))}.blur{--tw-blur:blur(8px)}.blur,.invert{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)}.invert{--tw-invert:invert(100%)}.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}.paused{animation-play-state:paused}body{-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}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-\[\#065F46\]:hover{--tw-bg-opacity:1;background-color:#065f46;background-color:rgb(6 95 70/var(--tw-bg-opacity,1))}.hover\:bg-\[\#1fb050\]:hover{--tw-bg-opacity:1;background-color:#1fb050;background-color:rgb(31 176 80/var(--tw-bg-opacity,1))}.hover\:bg-\[\#F3F4F1\]:hover{--tw-bg-opacity:1;background-color:#f3f4f1;background-color:rgb(243 244 241/var(--tw-bg-opacity,1))}.hover\:bg-accent:hover{background-color:#f5f5f5;background-color:hsl(var(--accent))}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:#1d4ed8;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.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-\[\#1A1A1A\]:hover{--tw-text-opacity:1;color:#1a1a1a;color:rgb(26 26 26/var(--tw-text-opacity,1))}.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-\[\#064E3B\]\/20:focus{--tw-ring-color:#064e3b33}.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\:col-span-1{grid-column:span 1/span 1}.sm\:mt-0{margin-top:0}.sm\:inline{display:inline}.sm\:max-w-sm{max-width:24rem}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.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\:col-span-2{grid-column:span 2/span 2}.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\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:p-12{padding:3rem}.md\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.\[\&\+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}:root{--bg-default:#eff7f5;--bg-surface:#fff;--bg-alt:#e4f1ee;--primary:#064e3b;--primary-hover:#065f46;--primary-fg:#fff;--secondary:#1d4ed8;--secondary-hover:#1e40af;--secondary-fg:#fff;--accent:#d97706;--color-teal:#0f766e;--color-gold:#b45309;--color-plum:#7e22ce;--color-sky:#0369a1;--color-rose:#be123c;--color-lime:#4d7c0f;--text-primary:#1a1a1a;--text-secondary:#52525b;--text-muted:#a1a1aa;--border:#e4e4e7;--border-focus:#064e3b;--shadow-xs:0 1px 2px #064e3b0a;--shadow-card:0 2px 8px -2px #064e3b0d,0 4px 16px -4px #064e3b05;--shadow-hover:0 10px 24px -4px #064e3b14,0 4px 8px -4px #064e3b08;--shadow-dropdown:0 12px 32px -4px #0000001a;--radius-card:12px;--radius-button:9999px;--radius-input:8px;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--ease-out:cubic-bezier(0.16,1,0.3,1);--ease-standard:cubic-bezier(0.4,0,0.2,1);--gradient-hero:linear-gradient(120deg,#1d4ed8,#0f766e 50%,#064e3b);--gradient-surface:linear-gradient(180deg,#fff,#eff7f5)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;transition-duration:.001ms!important}}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;background-color:#eff7f5;background-color:var(--bg-default);color:#1a1a1a;color:var(--text-primary);font-family:IBM Plex Sans,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:Manrope,sans-serif;font-weight:600;letter-spacing:-.02em}.mono{font-family:JetBrains Mono,monospace}.auth-page{align-items:center;background:linear-gradient(135deg,#eff7f5,#e4f1ee);background:linear-gradient(135deg,var(--bg-default) 0,var(--bg-alt) 100%);display:flex;justify-content:center;min-height:100vh;padding:1.5rem;padding:var(--spacing-lg)}.auth-container{background:#fff;background:var(--bg-surface);border:1px solid #e4e4e7;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-card);box-shadow:0 2px 8px -2px #064e3b0d,0 4px 16px -4px #064e3b05;box-shadow:var(--shadow-card);max-width:420px;padding:3rem;padding:var(--spacing-2xl);width:100%}.auth-header{margin-bottom:2rem;margin-bottom:var(--spacing-xl);text-align:center}.auth-logo{display:flex;justify-content:center;margin-bottom:1.5rem;margin-bottom:var(--spacing-lg)}.logo-icon{height:56px;width:56px}.logo-icon,.logo-icon-small{color:#064e3b;color:var(--primary)}.logo-icon-small{height:32px;width:32px}.auth-header h1{color:#1a1a1a;color:var(--text-primary);font-size:1.75rem;margin-bottom:.25rem;margin-bottom:var(--spacing-xs)}.auth-header p{color:#52525b;color:var(--text-secondary);font-size:.9375rem}.auth-form,.modal-form{display:flex;flex-direction:column;gap:1.5rem;gap:var(--spacing-lg)}.form-group{flex:1 1;gap:.5rem;gap:var(--spacing-sm)}.form-row{display:flex;gap:1rem;gap:var(--spacing-md);width:100%}@media (max-width:640px){.form-row{flex-direction:column}}.form-group label{color:#1a1a1a;color:var(--text-primary);font-size:.875rem}.modal-form .form-group label{background:#fff;color:#1a1a1a;font-weight:600;padding:.25rem 0}.form-group input,.form-group select,.form-group textarea{background:#fff;background:var(--bg-surface);border:1px solid #e4e4e7;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-input);color:#1a1a1a;color:var(--text-primary);font-size:.9375rem;padding:.75rem 1rem;transition:border-color .2s ease,box-shadow .2s ease}.form-group input:hover:not(:disabled):not(:focus),.form-group select:hover:not(:disabled):not(:focus),.form-group textarea:hover:not(:disabled):not(:focus){border-color:#064e3b;border-color:var(--border-focus)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--border-focus)}.form-group input::placeholder{color:#a1a1aa;color:var(--text-muted)}.btn{border-radius:9999px;font-family:inherit;font-size:.9375rem;gap:var(--spacing-sm)}.btn:active{transform:scale(.97)}.btn:disabled{transform:none}.btn-primary{background:var(--primary)}.btn-primary:hover:not(:disabled){background:#065f46;background:var(--primary-hover);box-shadow:0 10px 24px -4px #064e3b14,0 4px 8px -4px #064e3b08;box-shadow:var(--shadow-hover)}.btn-secondary{background:#e4f1ee;background:var(--bg-alt);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--border)}.btn-outline{background:#0000;border:1px solid #e4e4e7;border:1px solid var(--border);color:#52525b;color:var(--text-secondary)}.btn-outline:hover:not(:disabled){background:#e4f1ee;background:var(--bg-alt);border-color:var(--border-focus);color:var(--primary)}.btn-success{background:#059669}.btn-danger{background:#dc2626}.btn-warning{background:#d97706;background:var(--accent);color:#fff}.btn-ghost{background:#0000;border:none;color:#52525b;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:#e4f1ee;background:var(--bg-alt);color:#1a1a1a;color:var(--text-primary)}.btn-sm{font-size:.8125rem;padding:.5rem 1rem}.auth-footer{color:#52525b;color:var(--text-secondary);font-size:.875rem;margin-top:2rem;margin-top:var(--spacing-xl);text-align:center}.auth-footer a{color:#064e3b;color:var(--primary);font-weight:500;text-decoration:none}.auth-footer a:hover{text-decoration:underline}.security-info{align-items:center;background:linear-gradient(135deg,#064e3b14,#064e3b0a);border:1px solid #064e3b33;border-radius:8px;border-radius:var(--radius-input);color:#52525b;color:var(--text-secondary);display:flex;font-size:.8125rem;font-weight:500;gap:.5rem;gap:var(--spacing-sm);justify-content:center;margin-top:1.5rem;margin-top:var(--spacing-lg);padding:.75rem 1rem}.lock-icon{color:#064e3b;color:var(--primary);flex-shrink:0;opacity:.8;transition:opacity .2s ease}.security-info:hover .lock-icon{opacity:1}.layout{display:flex;min-height:100vh}.sidebar{--sidebar-fg:#ffffffeb;--sidebar-fg-muted:#ffffff9e;--sidebar-border:#ffffff1f;--sidebar-hover:#ffffff14;background:#064e3b;background:var(--primary);border-right:1px solid var(--sidebar-border);display:flex;flex-direction:column;height:100vh;left:0;position:fixed;top:0;transition:transform .35s cubic-bezier(.16,1,.3,1);transition:transform .35s var(--ease-out);width:280px;z-index:100}.sidebar-overlay{display:none}@media (max-width:1024px){.sidebar{box-shadow:0 12px 32px -4px #0000001a;box-shadow:var(--shadow-dropdown);transform:translateX(-100%)}.sidebar.open{transform:translateX(0)}.sidebar-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#06161159;display:block;inset:0;opacity:0;position:fixed;transition:opacity .3s ease,visibility .3s ease;visibility:hidden;z-index:90}.sidebar-overlay.active{opacity:1;visibility:visible}}.sidebar-header{border-bottom:1px solid var(--sidebar-border);justify-content:space-between;padding:1.5rem 2rem;padding:var(--spacing-lg) var(--spacing-xl)}.sidebar-header,.sidebar-logo{align-items:center;display:flex}.sidebar-logo{color:var(--sidebar-fg);font-family:Manrope,sans-serif;font-size:1.125rem;font-weight:700;gap:.5rem;gap:var(--spacing-sm)}.sidebar-close{align-items:center;background:none;border:none;border-radius:50%;color:var(--sidebar-fg-muted);cursor:pointer;display:none;font-size:1.5rem;height:40px;justify-content:center;transition:background-color .2s ease;width:40px}.sidebar-close:hover{background:var(--sidebar-hover);color:var(--sidebar-fg)}@media (max-width:1024px){.sidebar-close{display:flex}}.sidebar-nav{display:flex;flex:1 1;flex-direction:column;gap:2px;overflow-y:auto;padding:1rem .5rem;padding:var(--spacing-md) var(--spacing-sm)}.sidebar .nav-item{align-items:center;border-radius:10px;color:var(--sidebar-fg-muted);display:flex;font-weight:500;gap:1rem;gap:var(--spacing-md);padding:.75rem 1rem;padding:.75rem var(--spacing-md);text-decoration:none;transition:background-color .18s cubic-bezier(.4,0,.2,1),color .18s cubic-bezier(.4,0,.2,1),transform .18s cubic-bezier(.4,0,.2,1);transition:background-color .18s var(--ease-standard),color .18s var(--ease-standard),transform .18s var(--ease-standard)}.sidebar .nav-item:hover{background:var(--sidebar-hover);color:var(--sidebar-fg)}.sidebar .nav-item:active{transform:scale(.98)}.sidebar .nav-item.active{background:#fff;background:var(--bg-surface);box-shadow:0 2px 8px -2px #064e3b0d,0 4px 16px -4px #064e3b05;box-shadow:var(--shadow-card)}.sidebar .nav-item.active,.sidebar .nav-item.active .nav-icon{color:#064e3b;color:var(--primary)}.sidebar .nav-icon{align-items:center;color:var(--sidebar-fg-muted);display:flex;font-size:1.25rem;justify-content:center;transition:color .18s cubic-bezier(.4,0,.2,1);transition:color .18s var(--ease-standard);width:24px}.sidebar .nav-item:hover .nav-icon{color:var(--sidebar-fg)}.sidebar .nav-item.active:hover .nav-icon{color:#064e3b;color:var(--primary)}.sidebar .nav-label{flex:1 1;font-size:.9375rem}.sidebar .nav-item--locked{opacity:.6}.sidebar .nav-item--locked:hover{opacity:.85}.sidebar .nav-lock-icon{color:var(--sidebar-fg-muted);flex-shrink:0}.nav-group-trigger{background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;text-align:left;width:100%}.nav-group-caret{color:var(--sidebar-fg-muted);flex-shrink:0;transition:transform .2s cubic-bezier(.4,0,.2,1);transition:transform .2s var(--ease-standard)}.nav-group-caret--open{transform:rotate(180deg)}.nav-group-content{display:flex;flex-direction:column;gap:2px;overflow:hidden}.nav-group-content[data-state=open]{animation:nav-group-open .22s cubic-bezier(.16,1,.3,1);animation:nav-group-open .22s var(--ease-out)}.nav-group-content[data-state=closed]{animation:nav-group-close .18s cubic-bezier(.4,0,.2,1);animation:nav-group-close .18s var(--ease-standard)}@keyframes nav-group-open{0%{height:0;opacity:0}to{height:var(--radix-collapsible-content-height);opacity:1}}@keyframes nav-group-close{0%{height:var(--radix-collapsible-content-height);opacity:1}to{height:0;opacity:0}}.nav-item--child{padding-left:calc(1rem + 28px);padding-left:calc(var(--spacing-md) + 28px)}.nav-item--child .nav-icon{font-size:1.05rem;width:20px}.sidebar-footer{border-top:1px solid var(--sidebar-border);padding:1.5rem 2rem;padding:var(--spacing-lg) var(--spacing-xl)}.user-info{gap:1rem;gap:var(--spacing-md);margin-bottom:1rem;margin-bottom:var(--spacing-md)}.user-avatar,.user-info{align-items:center;display:flex}.user-avatar{background:#ffffff24;border-radius:50%;color:var(--sidebar-fg);flex-shrink:0;font-size:.875rem;font-weight:600;height:40px;justify-content:center;width:40px}.user-details{display:flex;flex-direction:column}.user-name{color:var(--sidebar-fg);font-size:.875rem;font-weight:600}.user-role{color:var(--sidebar-fg-muted);font-size:.75rem;text-transform:capitalize}.btn-logout{background:var(--sidebar-hover);border:1px solid var(--sidebar-border);border-radius:8px;border-radius:var(--radius-input);color:var(--sidebar-fg);cursor:pointer;font-size:.875rem;font-weight:500;padding:.625rem 1rem;transition:background-color .2s ease;width:100%}.btn-logout:hover{background:#ffffff29}.main-content{display:flex;flex:1 1;flex-direction:column;margin-left:280px;min-height:100vh}@media (max-width:1024px){.main-content{margin-left:0}}.header{align-items:center;-webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4);background:#ffffffbf;border-bottom:1px solid #e4e4e7;border-bottom:1px solid var(--border);display:flex;height:64px;justify-content:space-between;padding:0 2rem;padding:0 var(--spacing-xl);position:-webkit-sticky;position:sticky;top:0;z-index:50}@media (max-width:640px){.header{padding:0 1rem;padding:0 var(--spacing-md)}}.menu-toggle{align-items:center;background:none;border:none;border-radius:10px;color:#1a1a1a;color:var(--text-primary);cursor:pointer;display:none;height:44px;justify-content:center;transition:background-color .2s ease;width:44px}.menu-toggle:hover{background:#e4f1ee;background:var(--bg-alt)}@media (max-width:1024px){.menu-toggle{display:flex}}.page-title{color:var(--text-primary);font-size:1.125rem;font-weight:600}.header-user{color:#52525b;color:var(--text-secondary);font-size:.875rem}.content{flex:1 1;padding:2rem;padding:var(--spacing-xl)}@media (max-width:640px){.content{padding:1rem;padding:var(--spacing-md)}}.page{animation:pageIn .3s ease-out;margin:0 auto;max-width:1400px}@keyframes pageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-header{gap:1rem;gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}@media (max-width:640px){.page-header{flex-direction:column}}.page-header h1{color:var(--text-primary);font-size:1.75rem;margin-bottom:.25rem;margin-bottom:var(--spacing-xs)}.page-header p{color:var(--text-secondary);font-size:.9375rem}.alert-banner{align-items:flex-start;border:1px solid #0000;border-radius:12px;border-radius:var(--radius-card);display:flex;gap:1rem;gap:var(--spacing-md);margin-bottom:2rem;margin-bottom:var(--spacing-xl);padding:1.5rem;padding:var(--spacing-lg)}.alert-banner svg{flex-shrink:0;margin-top:2px}.alert-banner h3{font-size:.9375rem;font-weight:600;margin-bottom:2px}.alert-banner p{font-size:.875rem;line-height:1.5}.alert-warning{background:#fffbeb;border-color:#fde68a}.alert-warning svg{color:#d97706;color:var(--accent)}.alert-warning h3{color:#92400e}.alert-warning p{color:#92400e;opacity:.85}.alert-danger{background:#fef2f2;border-color:#fecaca}.alert-danger svg{color:#dc2626}.alert-danger h3{color:#991b1b}.alert-danger p{color:#991b1b;opacity:.85}.alert-info{background:#ecfdf5;border-color:#a7f3d0}.alert-info h3,.alert-info svg{color:#064e3b;color:var(--primary)}.alert-info p{color:#52525b;color:var(--text-secondary)}@media (max-width:640px){.alert-banner{flex-direction:column;gap:.5rem;gap:var(--spacing-sm)}}.dashboard{margin:0 auto;max-width:1400px}.dashboard-hero{background:linear-gradient(120deg,#1d4ed8,#0f766e 50%,#064e3b);background:var(--gradient-hero);border-radius:12px;border-radius:var(--radius-card);box-shadow:0 10px 24px -4px #064e3b14,0 4px 8px -4px #064e3b08;box-shadow:var(--shadow-hover);color:#fff;margin-bottom:2rem;margin-bottom:var(--spacing-xl);overflow:hidden;padding:3rem 2rem;padding:var(--spacing-2xl) var(--spacing-xl);position:relative}.dashboard-hero:before{background-image:radial-gradient(circle at 85% 20%,#ffffff24 0,#0000 55%),radial-gradient(circle at 10% 90%,#ffffff14 0,#0000 45%);content:"";inset:0;pointer-events:none;position:absolute}.dashboard-hero h1{color:#fff;font-size:clamp(1.5rem,1.1rem + 1.4vw,2rem);margin-bottom:.25rem;margin-bottom:var(--spacing-xs);position:relative}.dashboard-hero p{color:#ffffffd1;font-size:.9375rem;position:relative}.dashboard-hero .campus-badge{align-items:center;background:#ffffff29;border:1px solid #ffffff47;border-radius:9999px;color:#fff;display:inline-flex;font-size:.75rem;font-weight:600;gap:4px;margin-top:.5rem;margin-top:var(--spacing-sm);padding:4px 12px;position:relative}.dash-stats-grid,.stats-grid{grid-gap:1.5rem;grid-gap:var(--spacing-lg);display:grid;gap:1.5rem;gap:var(--spacing-lg);grid-template-columns:repeat(4,1fr);margin-bottom:3rem;margin-bottom:var(--spacing-2xl)}@media (max-width:1024px){.dash-stats-grid,.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.dash-stats-grid,.stats-grid{grid-template-columns:1fr}}.stat-card{border:1px solid #e4e4e7;border-radius:12px;box-shadow:0 2px 8px -2px #064e3b0d,0 4px 16px -4px #064e3b05;gap:1.5rem;overflow:hidden;padding:2rem;padding:var(--spacing-xl);position:relative;transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s cubic-bezier(.16,1,.3,1);transition:transform .25s var(--ease-out),box-shadow .25s var(--ease-out)}.stat-card:before{background:#064e3b;background:var(--stat-accent,var(--primary));content:"";height:3px;left:0;position:absolute;right:0;top:0}.stat-card:hover{box-shadow:0 10px 24px -4px #064e3b14,0 4px 8px -4px #064e3b08;transform:translateY(-3px)}.stat-icon{border-radius:var(--radius-card);font-size:1.5rem;height:56px;width:56px}.dashboard .stat-icon,.stat-icon{color:#064e3b;color:var(--stat-accent,var(--primary))}.stat-icon.dash-icon-students{--stat-accent:#064e3b;background:#064e3b1a}.stat-card:has(.dash-icon-students){--stat-accent:#064e3b}.stat-icon.dash-icon-teachers{--stat-accent:#1d4ed8;background:#1d4ed81a}.stat-card:has(.dash-icon-teachers){--stat-accent:#1d4ed8}.stat-icon.dash-icon-classes{--stat-accent:#0f766e;background:#0f766e1a}.stat-card:has(.dash-icon-classes){--stat-accent:#0f766e}.stat-icon.dash-icon-attendance{--stat-accent:#059669;background:#0596691a}.stat-card:has(.dash-icon-attendance){--stat-accent:#059669}.stat-content h3{font-feature-settings:"tnum";color:#1a1a1a;color:var(--text-primary);font-size:1.875rem;font-variant-numeric:tabular-nums;font-weight:700;line-height:1.2}.stat-content p{color:#52525b;color:var(--text-secondary);font-size:.875rem}.dashboard-section{background:#fff;background:var(--bg-surface);border:1px solid #e4e4e7;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-card);margin-bottom:2rem;margin-bottom:var(--spacing-xl);padding:2rem;padding:var(--spacing-xl)}.dashboard-section h2{color:#1a1a1a;color:var(--text-primary);font-size:1.125rem;margin-bottom:1.5rem;margin-bottom:var(--spacing-lg)}.fee-stats{grid-gap:1.5rem;grid-gap:var(--spacing-lg);display:grid;gap:1.5rem;gap:var(--spacing-lg);grid-template-columns:repeat(4,1fr)}@media (max-width:768px){.fee-stats{grid-template-columns:repeat(2,1fr)}}.fee-stat{display:flex;flex-direction:column;gap:.25rem;gap:var(--spacing-xs)}.fee-label{color:#52525b;color:var(--text-secondary);font-size:.875rem}.fee-value{color:#1a1a1a;color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:1.25rem;font-weight:600}.fee-value.collected{color:#059669}.fee-value.outstanding{color:#1d4ed8;color:var(--secondary)}.fee-value.rate{color:#0369a1;color:var(--color-sky)}.quick-actions{background:#fff;background:var(--bg-surface);border:1px solid #e4e4e7;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-card);margin-bottom:2rem;margin-bottom:var(--spacing-xl);padding:2rem;padding:var(--spacing-xl)}.quick-actions h2{color:#1a1a1a;color:var(--text-primary);font-size:1.125rem;margin:0 0 1.5rem;margin:0 0 var(--spacing-lg) 0}.action-grid{grid-gap:1rem;grid-gap:var(--spacing-md);gap:1rem;gap:var(--spacing-md);grid-template-columns:repeat(2,1fr)}button.action-card{background:#fff;background:var(--bg-surface);border:1px solid #e4e4e7;border:1px solid var(--border);cursor:pointer;font-family:inherit;font-size:inherit;text-align:center}@media (max-width:768px){.action-grid{grid-template-columns:1fr}}.action-card{align-items:center;background:var(--bg-surface);border:1px solid #e4e4e7;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-card);color:#1a1a1a;color:var(--text-primary);flex-direction:row;font-weight:500;gap:.5rem;gap:var(--spacing-sm);justify-content:center;padding:1.5rem 2rem;padding:var(--spacing-lg) var(--spacing-xl);text-decoration:none;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1),border-color .2s cubic-bezier(.16,1,.3,1),background-color .2s cubic-bezier(.16,1,.3,1);transition:transform .2s var(--ease-out),box-shadow .2s var(--ease-out),border-color .2s var(--ease-out),background-color .2s var(--ease-out)}.action-card:hover{background:#064e3b0a;border-color:var(--primary);box-shadow:0 10px 24px -4px #064e3b14,0 4px 8px -4px #064e3b08;box-shadow:var(--shadow-hover)}.action-card:active{transform:translateY(0) scale(.98)}.action-icon{align-items:center;background:#064e3b14;border-radius:10px;color:#064e3b;color:var(--action-accent,var(--primary));display:flex;flex-shrink:0;font-size:1.5rem;height:40px;justify-content:center;transition:transform .2s cubic-bezier(.16,1,.3,1);transition:transform .2s var(--ease-out);width:40px}.action-card:nth-child(4n+1) .action-icon{--action-accent:#064e3b;background:#064e3b14}.action-card:nth-child(4n+2) .action-icon{--action-accent:var(--secondary);background:#1d4ed814}.action-card:nth-child(4n+3) .action-icon{--action-accent:var(--color-teal);background:#0f766e14}.action-card:nth-child(4n+4) .action-icon{--action-accent:#059669;background:#05966914}.action-card:hover .action-icon{transform:scale(1.08)}.loading-container{align-items:center;color:#52525b;color:var(--text-secondary);justify-content:center;min-height:300px}.loading-container,.profile-info{display:flex;flex-direction:column;gap:1rem;gap:var(--spacing-md)}.profile-item{gap:1rem;gap:var(--spacing-md)}.profile-icon,.profile-item{align-items:center;display:flex}.profile-icon{background:#064e3b14;border-radius:10px;color:#064e3b;color:var(--primary);flex-shrink:0;height:40px;justify-content:center;width:40px}.profile-content{display:flex;flex-direction:column;gap:2px}.profile-label{color:#a1a1aa;color:var(--text-muted);font-size:.75rem}.profile-value{color:#1a1a1a;color:var(--text-primary);font-size:.9375rem;font-weight:500}.stat{background:#e4f1ee;background:var(--bg-alt);border:1px solid #e4e4e7;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-card);padding:1.5rem;padding:var(--spacing-lg);text-align:center}.stat .stat-value{color:#1a1a1a;color:var(--text-primary);display:block;font-size:1.75rem;font-weight:700;margin-bottom:.25rem;margin-bottom:var(--spacing-xs)}.stat .stat-label{color:#52525b;color:var(--text-secondary);font-size:.8125rem}.actions-grid{grid-gap:1rem;grid-gap:var(--spacing-md);display:grid;gap:1rem;gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.action-btn{background:#fff;background:var(--bg-surface);border:1px solid #e4e4e7;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-card);color:#1a1a1a;color:var(--text-primary);flex-direction:column;font-size:.8125rem;gap:.5rem;gap:var(--spacing-sm);padding:1.5rem;padding:var(--spacing-lg);text-align:center;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1),border-color .2s cubic-bezier(.16,1,.3,1);transition:transform .2s var(--ease-out),box-shadow .2s var(--ease-out),border-color .2s var(--ease-out)}.action-btn:hover{border-color:#064e3b;border-color:var(--primary);box-shadow:0 10px 24px -4px #064e3b14,0 4px 8px -4px #064e3b08;box-shadow:var(--shadow-hover);color:#064e3b;color:var(--primary);transform:translateY(-2px)}.search-bar{margin-bottom:2rem;margin-bottom:var(--spacing-xl)}.search-bar input{background:#fff;background:var(--bg-surface);border:1px solid #e4e4e7;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-input);font-size:.9375rem;max-width:400px;padding:.75rem 1rem;width:100%}.search-bar input:focus{border-color:#064e3b;border-color:var(--border-focus);box-shadow:0 0 0 3px #064e3b1a;outline:none}.table-container{-webkit-overflow-scrolling:touch;background:var(--bg-surface);border:1px solid #e4e4e7;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-card)}.data-table{min-width:640px}@media (max-width:640px){.data-table td,.data-table th{font-size:.875rem;padding:.75rem 1rem}}.data-table td,.data-table th{padding:1rem 1.5rem;padding:1rem var(--spacing-lg);text-align:left}.data-table th{background:#e4f1ee;background:var(--bg-alt);color:#52525b;color:var(--text-secondary);font-size:.8125rem;letter-spacing:.05em}.data-table td,.data-table th{border-bottom:1px solid #e4e4e7;border-bottom:1px solid var(--border)}.data-table td{color:#1a1a1a;color:var(--text-primary);font-size:.9375rem}.data-table tbody tr,.data-table td{transition:background-color .15s ease}.data-table tbody tr:hover td{background:#e4f1ee;background:var(--bg-alt)}.empty-state{color:#a1a1aa;color:var(--text-muted);padding:3rem;padding:var(--spacing-2xl)}.badge{border-radius:9999px;border-radius:var(--radius-button);font-size:.75rem;padding:.25rem .75rem;text-transform:capitalize}.badge.active,.badge.present{background:#0596691a;color:#059669}.badge.absent,.badge.inactive{background:#dc26261a;color:#dc2626}.badge.late{background:#d977061a;color:#d97706;color:var(--accent)}.badge.not-recorded{background:#e4f1ee;background:var(--bg-alt);color:#a1a1aa;color:var(--text-muted)}.badge.general{background:#064e3b1a;color:#064e3b;color:var(--primary)}.badge.academic{background:#3b82f61a;color:#3b82f6}.badge.event{background:#9333ea1a;color:#9333ea}.badge.emergency{background:#dc26261a;color:#dc2626}.badge.fee{background:#d977061a;color:#d97706;color:var(--accent)}.classes-grid{grid-gap:1.5rem;grid-gap:var(--spacing-lg);display:grid;gap:1.5rem;gap:var(--spacing-lg);grid-template-columns:repeat(3,1fr)}@media (max-width:1024px){.classes-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.classes-grid{grid-template-columns:1fr}}.class-card{background:#fff;background:var(--bg-surface);border:1px solid #e4e4e7;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-card);padding:2rem;padding:var(--spacing-xl);transition:transform .2s ease,box-shadow .2s ease}.class-card:hover{box-shadow:0 10px 24px -4px #064e3b14,0 4px 8px -4px #064e3b08;box-shadow:var(--shadow-hover);transform:translateY(-2px)}.class-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem;margin-bottom:var(--spacing-md)}.class-header h3{color:#1a1a1a;color:var(--text-primary);font-size:1.125rem}.class-details{display:flex;flex-direction:column;margin-bottom:1.5rem;margin-bottom:var(--spacing-lg)}.class-details,.detail-row{gap:.5rem;gap:var(--spacing-sm)}.detail-row{font-size:.875rem}.detail-row,.detail-row span:first-child{color:#52525b;color:var(--text-secondary)}.class-actions{display:flex;gap:.5rem;gap:var(--spacing-sm)}.dashboard-grid{grid-gap:1.5rem;grid-gap:var(--spacing-lg);display:grid;gap:1.5rem;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:2rem;margin-bottom:var(--spacing-xl)}.dashboard-card{background:#fff;background:var(--bg-surface);border:1px solid #e4e4e7;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-card);box-shadow:0 2px 8px -2px #064e3b0d,0 4px 16px -4px #064e3b05;box-shadow:var(--shadow-card);padding:2rem;padding:var(--spacing-xl);transition:transform .2s ease,box-shadow .2s ease}.dashboard-card:hover{box-shadow:0 10px 24px -4px #064e3b14,0 4px 8px -4px #064e3b08;box-shadow:var(--shadow-hover);transform:translateY(-2px)}.dashboard-card h3{color:#1a1a1a;color:var(--text-primary);font-size:1rem;font-weight:600;margin:0 0 1.5rem;margin:0 0 var(--spacing-lg)}.attendance-controls{display:flex;flex-wrap:wrap;gap:1.5rem;gap:var(--spacing-lg);margin-bottom:2rem;margin-bottom:var(--spacing-xl)}.attendance-controls .form-group{min-width:200px}.attendance-summary{grid-gap:1rem;grid-gap:var(--spacing-md);display:grid;gap:1rem;gap:var(--spacing-md);grid-template-columns:repeat(4,1fr);margin-bottom:2rem;margin-bottom:var(--spacing-xl)}@media (max-width:768px){.attendance-summary{grid-template-columns:repeat(2,1fr)}}.summary-stat{background:#fff;background:var(--bg-surface);border:1px solid #e4e4e7;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-card);padding:1.5rem;padding:var(--spacing-lg);text-align:center}.summary-stat .stat-value{display:block;font-size:1.75rem;font-weight:700;margin-bottom:.25rem;margin-bottom:var(--spacing-xs)}.summary-stat .stat-label{color:#52525b;color:var(--text-secondary);font-size:.8125rem}.summary-stat.present .stat-value{color:#059669}.summary-stat.absent .stat-value{color:#dc2626}.summary-stat.late .stat-value{color:#d97706;color:var(--accent)}.summary-stat.not-recorded .stat-value{color:#a1a1aa;color:var(--text-muted)}.attendance-buttons{display:flex;gap:.25rem;gap:var(--spacing-xs)}.modal-overlay{inset:0;padding:1.5rem;padding:var(--spacing-lg);z-index:200}@keyframes modalOverlayIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--bg-surface);border:1px solid #e4e4e7;box-shadow:0 12px 32px -4px #0000001a;flex-direction:column;max-width:480px;overflow-x:hidden;width:100%}.modal.modal-lg{max-width:640px}.modal.modal-sm{max-height:50vh;max-width:400px}.modal-header{background:var(--bg-surface);border-bottom:1px solid #e4e4e7;box-sizing:border-box;padding:2rem;padding:var(--spacing-xl);width:100%}.modal-header h2{color:#1a1a1a;color:var(--text-primary);font-size:1.25rem}.modal-close{border-radius:50%;color:#a1a1aa;color:var(--text-muted);display:inline-flex;font-size:1.5rem;transition:background-color .2s ease,color .2s ease}.modal-close:hover{background:#e4f1ee;background:var(--bg-alt);color:#1a1a1a;color:var(--text-primary)}.btn-close{align-items:center;background:none;border:none;border-radius:50%;color:#a1a1aa;color:var(--text-muted);cursor:pointer;display:inline-flex;font-size:1.5rem;height:32px;justify-content:center;line-height:1;transition:background-color .2s ease,color .2s ease;width:32px}.btn-close:hover{background:#e4f1ee;background:var(--bg-alt);color:#1a1a1a;color:var(--text-primary)}.action-buttons{align-items:center;gap:.5rem;gap:var(--spacing-sm)}.form-actions{gap:var(--spacing-md);margin-top:1.5rem;margin-top:var(--spacing-lg)}.modal-body,.modal-form{background:#fff;display:flex;flex-direction:column;gap:1.5rem;gap:var(--spacing-lg);width:100%}.modal-body,.modal-content,.modal-form{background:var(--bg-surface)}.modal-actions,.modal-body,.modal-content,.modal-form{box-sizing:border-box;padding:2rem;padding:var(--spacing-xl)}.modal-actions{background:#e4f1ee;background:var(--bg-alt);border-top:1px solid #e4e4e7;border-top:1px solid var(--border);flex-shrink:0;gap:1rem;gap:var(--spacing-md);justify-content:flex-end;width:100%}.sec-modal-overlay{animation:modalOverlayIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0614108c;padding:1.5rem;padding:var(--spacing-lg);z-index:200}.sec-modal{animation:modalIn .25s cubic-bezier(.16,1,.3,1);background:var(--bg-surface);border:1px solid #e4e4e7;border-radius:12px;border-radius:var(--radius-card);box-shadow:0 12px 32px -4px #0000001a;box-shadow:var(--shadow-dropdown);box-sizing:border-box;max-height:90vh;max-width:480px;overflow-y:auto;padding:2rem;padding:var(--spacing-xl)}.sec-modal-title{font-size:1.0625rem;font-weight:600}.form-control,.sec-modal-title{color:#1a1a1a;color:var(--text-primary)}.form-control{background:#fff;background:var(--bg-surface);border:1px solid #e4e4e7;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-input);box-sizing:border-box;font-family:inherit;font-size:.9375rem;padding:.625rem .875rem;transition:border-color .2s ease;width:100%}.form-control:focus{border-color:#064e3b;border-color:var(--border-focus);outline:none}.modal.modal-import{max-width:600px}.import-info{margin-bottom:2rem;margin-bottom:var(--spacing-xl)}.info-section{background:var(--bg-muted);border-radius:12px;border-radius:var(--radius-card);display:flex;gap:1rem;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);padding:1.5rem;padding:var(--spacing-lg)}.info-icon{color:var(--primary);margin-top:.25rem;margin-top:var(--spacing-xs)}.info-section h4{color:#1a1a1a;color:var(--text-primary)}.info-section h4,.info-section p{margin-bottom:.5rem;margin-bottom:var(--spacing-sm)}.info-section p{color:#52525b;color:var(--text-secondary)}.info-section ul{margin:.5rem 0;margin:var(--spacing-sm) 0;padding-left:1.5rem;padding-left:var(--spacing-lg)}.info-section li{color:#52525b;color:var(--text-secondary);margin-bottom:.25rem;margin-bottom:var(--spacing-xs)}.info-section code{background:#fff;background:var(--bg-surface);border-radius:var(--radius-sm);color:#064e3b;color:var(--primary);font-family:JetBrains Mono,monospace;font-size:.8125rem;padding:.125rem .25rem}.template-download{display:flex;justify-content:center;margin-bottom:1.5rem;margin-bottom:var(--spacing-lg)}.file-upload-section{text-align:center}.file-upload-label{align-items:center;background:#064e3b;background:var(--primary);border-radius:12px;border-radius:var(--radius-card);color:#fff;cursor:pointer;display:inline-flex;font-weight:500;gap:.5rem;gap:var(--spacing-sm);padding:1.5rem 2rem;padding:var(--spacing-lg) var(--spacing-xl);transition:background-color .2s ease}.file-upload-label:hover{background:#065f46;background:var(--primary-hover)}.file-upload-label svg{flex-shrink:0}.import-progress{align-items:center;color:#52525b;color:var(--text-secondary);display:flex;gap:1rem;gap:var(--spacing-md);justify-content:center;margin-top:1.5rem;margin-top:var(--spacing-lg)}.spinner{border:2px solid #e4e4e7;border-top:2px solid #064e3b;border:2px solid var(--border);border-top-color:var(--primary);height:20px;width:20px}input:disabled,select:disabled,textarea:disabled{background-color:#f5f5f5;background-color:var(--bg-secondary,#f5f5f5);color:#52525b;color:var(--text-secondary,#999);cursor:not-allowed;opacity:.7}.header-actions{gap:var(--spacing-md)}.announcements-list{display:flex;flex-direction:column;gap:1.5rem;gap:var(--spacing-lg)}.announcement-card{background:#fff;background:var(--bg-surface);border:1px solid #e4e4e7;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-card);padding:2rem;padding:var(--spacing-xl)}.announcement-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem;margin-bottom:var(--spacing-md)}.announcement-header h3{color:#1a1a1a;color:var(--text-primary);font-size:1.125rem}.announcement-content{color:#52525b;color:var(--text-secondary);line-height:1.7;margin-bottom:1.5rem;margin-bottom:var(--spacing-lg)}.announcement-footer{color:#a1a1aa;color:var(--text-muted);display:flex;font-size:.8125rem;gap:2rem;gap:var(--spacing-xl)}.announcement-actions{align-items:center;border-top:1px solid #e4e4e7;border-top:1px solid var(--border);display:flex;gap:.5rem;gap:var(--spacing-sm);margin-top:1rem;margin-top:var(--spacing-md);padding-top:1rem;padding-top:var(--spacing-md)}.helper-text{align-items:center;color:#a1a1aa;display:flex;font-size:.8125rem;gap:.25rem;gap:var(--spacing-xs);margin-top:.5rem;margin-top:var(--spacing-sm)}.helper-text,.text-muted{color:var(--text-muted)}.placeholder-content{background:#fff;background:var(--bg-surface);border:2px dashed #e4e4e7;border:2px dashed var(--border);border-radius:12px;border-radius:var(--radius-card);color:#52525b;color:var(--text-secondary);padding:3rem;padding:var(--spacing-2xl)}.placeholder-content p{margin-bottom:1rem;margin-bottom:var(--spacing-md)}.placeholder-content ul{margin-left:2rem;margin-left:var(--spacing-xl)}.placeholder-content li{margin-bottom:.5rem;margin-bottom:var(--spacing-sm)}.placeholder-icon{color:#064e3b;color:var(--primary);margin-bottom:1.5rem;margin-bottom:var(--spacing-lg)}.placeholder-content h3{color:#1a1a1a;color:var(--text-primary);font-size:1.25rem;margin-bottom:1rem;margin-bottom:var(--spacing-md)}.search-input-wrapper{max-width:400px;position:relative}.search-input-wrapper .search-icon{color:#a1a1aa;color:var(--text-muted);left:1rem;position:absolute;top:50%;transform:translateY(-50%)}.search-input-wrapper input{padding-left:2.5rem}.tabs-container{border-bottom:1px solid #e4e4e7;border-bottom:1px solid var(--border);margin-bottom:2rem;margin-bottom:var(--spacing-xl);padding-bottom:1rem;padding-bottom:var(--spacing-md)}.tab-btn,.tabs-container{gap:.5rem;gap:var(--spacing-sm)}.tab-btn{align-items:center;background:#0000;border-radius:9999px;border-radius:var(--radius-button);color:#52525b;color:var(--text-secondary);display:flex;font-size:.875rem;padding:.75rem 1.25rem;transition:all .2s ease}.tab-btn:hover{background:#e4f1ee;background:var(--bg-alt);color:#1a1a1a;color:var(--text-primary)}.tab-btn.active{background:#064e3b;background:var(--primary);color:#fff;color:var(--primary-fg)}.view-tabs{border-bottom:2px solid #e4e4e7;border-bottom:2px solid var(--border);display:flex;gap:1rem;gap:var(--spacing-md);margin-bottom:2rem;margin-bottom:var(--spacing-xl)}.view-tabs .tab{background:none;border:none;border-bottom:3px solid #0000;color:#52525b;color:var(--text-secondary);cursor:pointer;font-size:.9375rem;font-weight:500;padding:.5rem 1.5rem;padding:var(--spacing-sm) var(--spacing-lg);transition:all .2s ease}.view-tabs .tab:hover{color:#1a1a1a;color:var(--text-primary)}.view-tabs .tab.active{border-bottom-color:#064e3b;border-bottom-color:var(--primary);color:#064e3b;color:var(--primary)}@media (max-width:768px){.view-tabs{-webkit-overflow-scrolling:touch;overflow-x:auto}.view-tabs .tab{white-space:nowrap}}.header-actions{gap:.5rem;gap:var(--spacing-sm)}.filters-row{display:flex;flex-wrap:wrap;gap:1.5rem;gap:var(--spacing-lg);margin-bottom:2rem;margin-bottom:var(--spacing-xl)}.filters-row .form-group{flex:1 1;min-width:200px}@media (max-width:768px){.filters-row .form-group{min-width:100%}}.filters-bar{align-items:center;border-bottom:1px solid #e4e4e7;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:.5rem;gap:var(--spacing-sm);margin-bottom:1.5rem;margin-bottom:var(--spacing-lg);padding-bottom:1rem;padding-bottom:var(--spacing-md)}.form-card{background:#fff;background:var(--bg-surface);border:1px solid #e4e4e7;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-card);box-shadow:0 2px 8px -2px #064e3b0d,0 4px 16px -4px #064e3b05;box-shadow:var(--shadow-card);margin-bottom:2rem;margin-bottom:var(--spacing-xl);padding:2rem;padding:var(--spacing-xl)}.form-card h2,.form-card h3{color:#1a1a1a;color:var(--text-primary);font-size:1.125rem;font-weight:600;margin-bottom:1.5rem;margin-bottom:var(--spacing-lg)}.stats-bar{display:flex;flex-wrap:wrap;gap:1.5rem;gap:var(--spacing-lg)}.stats-bar .stat{flex:1 1;min-width:140px}.stats-bar .stat h3{color:#52525b;color:var(--text-secondary);font-size:.75rem;font-weight:600;margin:0 0 .25rem;margin:0 0 var(--spacing-xs);text-transform:capitalize}.card{border:1px solid #e4e4e7;border:1px solid var(--border);box-shadow:0 2px 8px -2px #064e3b0d,0 4px 16px -4px #064e3b05;box-shadow:var(--shadow-card)}.card,.class-summary{background:#fff;background:var(--bg-surface);border-radius:12px;border-radius:var(--radius-card)}.class-summary{align-items:center;border:1px solid #e4e4e7;border:1px solid var(--border);display:flex;gap:1.5rem;gap:var(--spacing-lg);margin-bottom:1.5rem;margin-bottom:var(--spacing-lg);padding:1.5rem;padding:var(--spacing-lg)}.class-summary h3{color:#1a1a1a;color:var(--text-primary);font-size:1.25rem;margin:0}.student-count{background:#e4f1ee;background:var(--bg-alt);border-radius:9999px;border-radius:var(--radius-button);color:#a1a1aa;color:var(--text-muted);font-size:.875rem;padding:.25rem .75rem}.grades-table .student-name{font-weight:500}.percentage-badge{border-radius:9999px;border-radius:var(--radius-button);display:inline-block;font-family:JetBrains Mono,monospace;font-size:.8125rem;font-weight:500;padding:.25rem .625rem}.grade-badge{align-items:center;border-radius:50%;display:inline-flex;font-size:.875rem;font-weight:700;height:28px;justify-content:center;width:28px}.grade-badge.small{font-size:.75rem;height:24px;width:24px}.grades-content{padding:1.5rem 0;padding:var(--spacing-lg) 0}.grades-table-container{display:flex;flex-direction:column;gap:1.5rem;gap:var(--spacing-lg)}.grade-scale-content{padding:1.5rem;padding:var(--spacing-lg)}.scale-header{margin-bottom:2rem;margin-bottom:var(--spacing-xl)}.scale-header h2{color:#1a1a1a;color:var(--text-primary);font-size:1.5rem;margin-bottom:.25rem;margin-bottom:var(--spacing-xs)}.scale-header p{color:#52525b;color:var(--text-secondary)}.scale-grid{grid-gap:1rem;grid-gap:var(--spacing-md);display:grid;gap:1rem;gap:var(--spacing-md);grid-template-columns:repeat(3,1fr)}@media (max-width:1024px){.scale-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.scale-grid{grid-template-columns:1fr}}.scale-card{align-items:center;background:#fff;background:var(--bg-surface);border:1px solid #e4e4e7;border:1px solid var(--border);border-left-width:4px;border-radius:12px;border-radius:var(--radius-card);display:flex;gap:1rem;gap:var(--spacing-md);padding:1.5rem;padding:var(--spacing-lg);transition:transform .2s ease,box-shadow .2s ease}.scale-card:hover{box-shadow:0 10px 24px -4px #064e3b14,0 4px 8px -4px #064e3b08;box-shadow:var(--shadow-hover);transform:translateY(-2px)}.scale-grade{align-items:center;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1.25rem;font-weight:700;height:48px;justify-content:center;width:48px}.scale-info{display:flex;flex-direction:column;gap:2px}.scale-range{color:#1a1a1a;color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:.9375rem;font-weight:600}.scale-desc{color:#52525b;color:var(--text-secondary);font-size:.875rem}.subjects-content{padding:1.5rem 0;padding:var(--spacing-lg) 0}.subjects-grid{grid-gap:1rem;grid-gap:var(--spacing-md);display:grid;gap:1rem;gap:var(--spacing-md);grid-template-columns:repeat(4,1fr)}@media (max-width:1200px){.subjects-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.subjects-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.subjects-grid{grid-template-columns:1fr}}.subject-card{background:#fff;background:var(--bg-surface);border:1px solid #e4e4e7;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-card);padding:var(--spacing-lg);transition:transform .2s ease,box-shadow .2s ease}.subject-card:hover{box-shadow:0 10px 24px -4px #064e3b14,0 4px 8px -4px #064e3b08;box-shadow:var(--shadow-hover);transform:translateY(-2px)}.subject-code{background:#064e3b1a;border-radius:4px;color:#064e3b;color:var(--primary);display:inline-block;font-family:JetBrains Mono,monospace;font-size:.75rem;padding:.25rem .5rem}.subject-code,.subject-name{font-weight:600;margin-bottom:.5rem;margin-bottom:var(--spacing-sm)}.subject-name{color:#1a1a1a;color:var(--text-primary);font-size:1rem}.subject-meta{align-items:center;color:#a1a1aa;color:var(--text-muted);display:flex;font-size:.75rem;justify-content:space-between}.badge.core{background:#064e3b1a;color:#064e3b;color:var(--primary)}.badge.elective{background:#d977061a;color:#d97706;color:var(--accent)}.grade-entry-table{border:1px solid #e4e4e7;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-card);margin:1.5rem 0;margin:var(--spacing-lg) 0;max-height:400px;overflow-y:auto}.grade-entry-table .data-table{margin:0}.score-input{border:1px solid #e4e4e7;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-input);font-family:JetBrains Mono,monospace;padding:.5rem;width:80px}.score-input:focus{border-color:#064e3b;border-color:var(--primary);box-shadow:0 0 0 2px #064e3b1a}.empty-state-card{background:#fff;background:var(--bg-surface);grid-column:1/-1}.empty-state-card h3{color:#1a1a1a;color:var(--text-primary);font-size:1.25rem;margin:1.5rem 0 .5rem;margin:var(--spacing-lg) 0 var(--spacing-sm)}.empty-actions{gap:1rem;gap:var(--spacing-md)}.fee-summary-grid{grid-gap:1.5rem;grid-gap:var(--spacing-lg);display:grid;gap:1.5rem;gap:var(--spacing-lg);grid-template-columns:repeat(4,1fr);margin-bottom:3rem;margin-bottom:var(--spacing-2xl)}@media (max-width:1024px){.fee-summary-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.fee-summary-grid{grid-template-columns:1fr}}.fee-summary-card{align-items:center;background:#fff;background:var(--bg-surface);border:1px solid #e4e4e7;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-card);display:flex;gap:1.5rem;gap:var(--spacing-lg);padding:2rem;padding:var(--spacing-xl);transition:transform .2s ease,box-shadow .2s ease}.fee-summary-card:hover{box-shadow:0 10px 24px -4px #064e3b14,0 4px 8px -4px #064e3b08;box-shadow:var(--shadow-hover);transform:translateY(-2px)}.fee-summary-card .summary-icon{align-items:center;border-radius:12px;border-radius:var(--radius-card);display:flex;height:56px;justify-content:center;width:56px}.fee-summary-card.total .summary-icon{background:#064e3b1a;color:#064e3b;color:var(--primary)}.fee-summary-card.collected .summary-icon{background:#0596691a;color:#059669}.fee-summary-card.outstanding .summary-icon{background:#dc26261a;color:#dc2626}.fee-summary-card.rate .summary-icon{background:#3b82f61a;color:#3b82f6}.fee-summary-card .summary-content{display:flex;flex-direction:column;gap:2px}.fee-summary-card .summary-label{color:#52525b;color:var(--text-secondary);font-size:.875rem}.fee-summary-card .summary-value{color:#1a1a1a;color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:1.5rem;font-weight:700}.status-breakdown{background:#fff;background:var(--bg-surface);border:1px solid #e4e4e7;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-card);margin-bottom:2rem;margin-bottom:var(--spacing-xl);padding:2rem;padding:var(--spacing-xl)}.status-breakdown h3{color:#1a1a1a;color:var(--text-primary);font-size:1rem;margin-bottom:1.5rem;margin-bottom:var(--spacing-lg)}.status-bars{flex-direction:column}.status-bar-item,.status-bars{display:flex;gap:1rem;gap:var(--spacing-md)}.status-bar-item{align-items:center}.status-bar-item .status-label{color:#52525b;color:var(--text-secondary);font-size:.875rem;width:100px}.status-bar{background:#e4f1ee;background:var(--bg-alt);border-radius:4px;flex:1 1;height:8px;overflow:hidden}.status-fill{border-radius:4px;height:100%;transition:width .5s ease}.status-fill.paid{background:#059669}.status-fill.partial{background:#d97706}.status-fill.pending{background:#dc2626}.status-bar-item .status-count{color:#1a1a1a;color:var(--text-primary);font-size:.875rem;font-weight:600;text-align:right;width:40px}.outstanding-section{background:#fff;background:var(--bg-surface);border:1px solid #e4e4e7;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-card);padding:2rem;padding:var(--spacing-xl)}.section-header{margin-bottom:1.5rem;margin-bottom:var(--spacing-lg)}.section-header h3{color:#1a1a1a;color:var(--text-primary);font-size:1rem}.badge.warning{background:#dc26261a;color:#dc2626}.structures-grid{grid-gap:1.5rem;grid-gap:var(--spacing-lg);display:grid;gap:1.5rem;gap:var(--spacing-lg);grid-template-columns:repeat(3,1fr)}@media (max-width:1024px){.structures-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.structures-grid{grid-template-columns:1fr}}.structure-card{background:#fff;background:var(--bg-surface);border:1px solid #e4e4e7;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-card);padding:2rem;padding:var(--spacing-xl);transition:transform .2s ease,box-shadow .2s ease}.structure-card:hover{box-shadow:0 10px 24px -4px #064e3b14,0 4px 8px -4px #064e3b08;box-shadow:var(--shadow-hover);transform:translateY(-2px)}.structure-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem;margin-bottom:var(--spacing-md)}.fee-type-badge{border-radius:9999px;border-radius:var(--radius-button);font-size:.75rem;font-weight:500;padding:.25rem .75rem;text-transform:uppercase}.fee-type-badge.tuition{background:#064e3b1a;color:#064e3b;color:var(--primary)}.fee-type-badge.examination{background:#3b82f61a;color:#3b82f6}.fee-type-badge.sports{background:#d977061a;color:#d97706;color:var(--accent)}.fee-type-badge.ict{background:#9333ea1a;color:#9333ea}.fee-type-badge.library{background:#10b9811a;color:#10b981}.fee-type-badge.maintenance{background:#6b72801a;color:#6b7280}.fee-type-badge.pta{background:#f43f5e1a;color:#f43f5e}.fee-type-badge.other{background:#a1a1aa1a;color:#a1a1aa}.mandatory-badge{background:#dc26261a;border-radius:9999px;border-radius:var(--radius-button);color:#dc2626;font-size:.625rem;font-weight:600;padding:.125rem .5rem;text-transform:uppercase}.structure-amount{color:#1a1a1a;color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:1.75rem;font-weight:700;margin-bottom:1rem;margin-bottom:var(--spacing-md)}.structure-details{display:flex;flex-direction:column;gap:.25rem;gap:var(--spacing-xs)}.structure-desc{color:#a1a1aa;color:var(--text-muted);font-size:.8125rem;font-style:italic;margin-top:.5rem;margin-top:var(--spacing-sm)}.class-fee-summary{background:#fff;background:var(--bg-surface);border:1px solid #e4e4e7;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-card);margin-bottom:2rem;margin-bottom:var(--spacing-xl);padding:2rem;padding:var(--spacing-xl)}.class-fee-summary h3{color:#1a1a1a;color:var(--text-primary);font-size:1.25rem;margin-bottom:1.5rem;margin-bottom:var(--spacing-lg)}.class-summary-stats{grid-gap:1.5rem;grid-gap:var(--spacing-lg);display:grid;gap:1.5rem;gap:var(--spacing-lg);grid-template-columns:repeat(4,1fr)}@media (max-width:768px){.class-summary-stats{grid-template-columns:repeat(2,1fr)}}.class-summary-stats .summary-stat{display:flex;flex-direction:column;gap:4px}.class-summary-stats .stat-label{color:#52525b;color:var(--text-secondary);font-size:.8125rem}.class-summary-stats .stat-value{color:#1a1a1a;color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:1.25rem;font-weight:700}.status-badge{border-radius:9999px;border-radius:var(--radius-button);font-size:.75rem;font-weight:500;gap:4px;padding:.25rem .75rem;text-transform:capitalize}.text-success{color:#059669}.text-danger{color:#dc2626}.font-bold{font-weight:700}.payment-student-info{background:#e4f1ee;background:var(--bg-alt);border-radius:8px;border-radius:var(--radius-input);display:flex;flex-direction:column;gap:.25rem;gap:var(--spacing-xs);margin-bottom:1.5rem;margin-bottom:var(--spacing-lg);padding:1.5rem;padding:var(--spacing-lg)}.payment-student-info strong{color:#1a1a1a;color:var(--text-primary);font-size:1rem}.payment-student-info .mono{color:#52525b;color:var(--text-secondary);font-size:.8125rem}.payment-student-info .fee-balance{font-size:.875rem}.checkbox-group,.payment-student-info .fee-balance{margin-top:.5rem;margin-top:var(--spacing-sm)}.checkbox-label{color:#52525b;color:var(--text-secondary);font-size:.875rem;gap:.5rem;gap:var(--spacing-sm)}.checkbox-label input[type=checkbox]{accent-color:#064e3b;accent-color:var(--primary)}.timetable-grid-container{background:#fff;background:var(--bg-surface);border:1px solid #e4e4e7;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-card);overflow:hidden}.timetable-header{align-items:center;background:#e4f1ee;background:var(--bg-alt);border-bottom:1px solid #e4e4e7;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:1.5rem;padding:var(--spacing-lg)}.timetable-header h3{color:#1a1a1a;color:var(--text-primary);font-size:1.125rem;margin:0}.periods-count{background:#fff;background:var(--bg-surface);border-radius:9999px;border-radius:var(--radius-button);color:#a1a1aa;color:var(--text-muted);font-size:.875rem;padding:.25rem .75rem}.timetable-grid{display:grid;grid-template-columns:120px repeat(5,1fr);width:100%}@media (max-width:1024px){.timetable-grid{display:block;overflow-x:auto}.timetable-grid>div{display:inline-block;min-width:120px}}.timetable-cell{align-items:center;border-bottom:1px solid #e4e4e7;border-bottom:1px solid var(--border);border-right:1px solid #e4e4e7;border-right:1px solid var(--border);display:flex;font-size:.8125rem;justify-content:center;min-height:70px;padding:1rem;padding:var(--spacing-md);text-align:center}.timetable-cell:last-child{border-right:none}.timetable-cell.header{background:#e4f1ee;background:var(--bg-alt);color:#1a1a1a;color:var(--text-primary);font-size:.875rem;font-weight:600;min-height:48px}.timetable-cell.time-col{background:#e4f1ee;background:var(--bg-alt);justify-content:flex-start;text-align:left}.period-time{display:flex;flex-direction:column;gap:2px}.period-time .period-name{color:#1a1a1a;color:var(--text-primary);font-size:.8125rem;font-weight:600}.period-time .time-range{color:#a1a1aa;color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:.6875rem}.timetable-cell.break-cell{background:#d977060d}.timetable-cell.empty-cell{cursor:pointer;transition:background-color .2s ease}.timetable-cell.empty-cell:hover,.timetable-cell.has-entry{background:#064e3b0d}.break-label{color:#d97706;color:var(--accent);font-size:.75rem;font-weight:500}.entry-content{display:flex;flex-direction:column;gap:2px;padding:.25rem;padding:var(--spacing-xs);position:relative;width:100%}.entry-content .subject-name{color:#064e3b;color:var(--primary);font-size:.8125rem;font-weight:600}.entry-content .class-name,.entry-content .teacher-name{color:#52525b;color:var(--text-secondary);font-size:.6875rem}.entry-content .room{color:#a1a1aa;color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:.625rem}.entry-content.teacher-view .class-name{color:#064e3b;color:var(--primary);font-weight:500}.delete-entry-btn{align-items:center;background:#dc2626;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:18px;justify-content:center;opacity:0;position:absolute;right:-4px;top:-4px;transition:opacity .2s ease;width:18px}.entry-content:hover .delete-entry-btn{opacity:1}.add-hint{color:#a1a1aa;color:var(--text-muted);font-size:.75rem;opacity:0;transition:opacity .2s ease}.empty-cell:hover .add-hint{opacity:1}.free-period{color:#a1a1aa;color:var(--text-muted);font-size:.75rem;font-style:italic}.periods-list{padding:1.5rem 0;padding:var(--spacing-lg) 0}.periods-grid{grid-gap:1rem;grid-gap:var(--spacing-md);display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.period-card,.periods-grid{gap:1rem;gap:var(--spacing-md)}.period-card{align-items:center;background:#fff;background:var(--bg-surface);border:1px solid #e4e4e7;border:1px solid var(--border);border-left-width:4px;border-radius:12px;border-radius:var(--radius-card);padding:1.5rem;padding:var(--spacing-lg)}.period-card .period-number{align-items:center;background:#e4f1ee;background:var(--bg-alt);border-radius:50%;color:#52525b;color:var(--text-secondary);display:flex;font-size:.75rem;font-weight:700;height:36px;justify-content:center;width:36px}.period-card .period-info{display:flex;flex:1 1;flex-direction:column;gap:2px}.period-card .period-name{color:#1a1a1a;color:var(--text-primary);font-weight:600}.period-card .period-time{color:#52525b;color:var(--text-secondary);font-family:JetBrains Mono,monospace;font-size:.8125rem}.period-card-actions{align-items:center;display:flex;gap:.25rem;gap:var(--spacing-xs)}.period-type-badge{border-radius:9999px;border-radius:var(--radius-button);font-size:.6875rem;font-weight:600;padding:.25rem .625rem;.student-portal{padding:1.5rem}.student-dashboard{display:flex;flex-direction:column;gap:1.5rem}.student-info-card{background:linear-gradient(135deg,#1e3a5f,#2d5a87);border-radius:12px;box-shadow:0 4px 12px #00000026;gap:1.5rem;padding:1.5rem}.student-avatar,.student-info-card{align-items:center;color:#fff;display:flex}.student-avatar{background:#fff3;border-radius:50%;height:70px;justify-content:center;width:70px}.student-details h2{font-size:1.5rem;margin:0 0 .25rem}.student-details p{font-size:.9rem;margin:.25rem 0;opacity:.85}.timetable-view{display:flex;flex-direction:column;gap:1.5rem}.timetable-view .timetable-header{align-items:center;display:flex;gap:1rem}.timetable-view .class-level{background:#e0f2fe;border-radius:20px;color:#0369a1;font-size:.85rem;font-weight:500;padding:.25rem .75rem}.timetable-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(5,1fr)}@media (max-width:1024px){.timetable-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.timetable-grid{grid-template-columns:1fr}}color:#fff;text-transform:uppercase;.timetable-day{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.timetable-day:hover{box-shadow:0 6px 20px #00000014;transform:translateY(-2px)}.timetable-day.today{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.timetable-day .day-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:.75rem 1rem}.timetable-day .day-name{color:#1e293b;font-weight:600}.timetable-day.today .day-name{color:#3b82f6}.today-badge{background:#3b82f6;border-radius:8px;color:#fff;font-size:.7rem;font-weight:600;padding:.15rem .5rem;text-transform:uppercase}.timetable-day .day-schedule{display:flex;flex-direction:column;gap:.5rem;min-height:150px;padding:.75rem}.timetable-day .no-classes{align-items:center;color:#94a3b8;display:flex;font-size:.85rem;font-style:italic;height:100%;justify-content:center}.schedule-slot{background:#f1f5f9;border-left:3px solid #3b82f6;border-radius:8px;padding:.75rem}.schedule-slot .slot-time{align-items:center;color:#64748b;display:flex;font-size:.75rem;gap:.35rem;margin-bottom:.35rem}.schedule-slot .slot-subject{color:#1e293b;font-size:.9rem;font-weight:600;margin-bottom:.25rem}.schedule-slot .slot-details{color:#64748b;display:flex;flex-wrap:wrap;font-size:.75rem;gap:.5rem}.schedule-slot .slot-teacher{background:#e2e8f0;border-radius:4px;padding:.15rem .5rem}.schedule-slot .slot-room{background:#fef3c7;border-radius:4px;color:#92400e;padding:.15rem .5rem}.periods-legend{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1.25rem}.periods-legend h4{color:#1e293b;font-size:1rem;margin:0 0 1rem}.periods-list{display:flex;flex-wrap:wrap;gap:.5rem}.period-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-direction:column;min-width:120px;padding:.5rem .75rem}.period-item.break{background:#fef3c7;border-color:#fcd34d}.period-item.lunch{background:#fee2e2;border-color:#fca5a5}.period-item .period-name{color:#1e293b;font-size:.85rem;font-weight:600}.period-item .period-time{color:#64748b;font-size:.75rem}.overall-info{color:#64748b;display:block;font-size:.85rem;margin-top:.25rem}.subject-code{background:#f1f5f9;border-radius:4px;color:#64748b;font-size:.75rem;font-weight:500;margin-left:.5rem;padding:.15rem .5rem}.assessment-grade{font-size:.75rem;font-weight:600}.fee-description{background:#f8fafc;border-radius:6px;color:#64748b;font-size:.85rem;margin:.5rem 0;padding:.5rem}.stat-icon.timetable{background-color:#8b5cf61a;color:#8b5cf6}.att-stat.excused{background-color:#3b82f61a}.att-stat.excused .att-value{color:#3b82f6}}.parent-portal{max-width:1200px}.parent-portal .tabs-container{-webkit-overflow-scrolling:touch;display:flex;flex-wrap:nowrap;max-width:100%;overflow-x:auto;overflow-y:hidden;padding-bottom:.5rem;padding-bottom:var(--spacing-sm);scrollbar-width:thin}.parent-portal .tab-btn{flex:0 0 auto;white-space:nowrap}.child-selector{margin-bottom:2rem;margin-bottom:var(--spacing-xl)}.child-selector label{color:#52525b;color:var(--text-secondary);display:block;font-size:.875rem;margin-bottom:.5rem;margin-bottom:var(--spacing-sm)}.child-tabs{flex-wrap:wrap}.child-tab,.child-tabs{display:flex;gap:.5rem;gap:var(--spacing-sm)}.child-tab{align-items:center;background:#fff;background:var(--bg-surface);border:1px solid #e4e4e7;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-card);cursor:pointer;padding:.75rem 1.25rem;transition:all .2s ease}.child-tab.active,.child-tab:hover{border-color:#064e3b;border-color:var(--primary)}.child-tab.active{background:#064e3b;background:var(--primary);color:#fff}.child-tab .class-label{font-size:.75rem;opacity:.8}.student-info-card{align-items:center;background:#fff;background:var(--bg-surface);border:1px solid #e4e4e7;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-card);display:flex;gap:2rem;gap:var(--spacing-xl);margin-bottom:2rem;margin-bottom:var(--spacing-xl);padding:2rem;padding:var(--spacing-xl)}.student-avatar{align-items:center;background:#064e3b;background:var(--primary);border-radius:50%;color:#fff;display:flex;font-size:1.5rem;font-weight:700;height:80px;justify-content:center;width:80px}.student-details h2{color:#1a1a1a;color:var(--text-primary);font-size:1.5rem;margin-bottom:.25rem;margin-bottom:var(--spacing-xs)}.student-details p{color:#52525b;color:var(--text-secondary);font-size:.875rem;margin:0}.parent-stats-grid{grid-gap:1.5rem;grid-gap:var(--spacing-lg);display:grid;gap:1.5rem;gap:var(--spacing-lg);grid-template-columns:repeat(3,1fr);margin-bottom:2rem;margin-bottom:var(--spacing-xl)}@media (max-width:900px){.parent-stats-grid{grid-template-columns:1fr}}.parent-stat-card{align-items:center;background:#fff;background:var(--bg-surface);border:1px solid #e4e4e7;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-card);cursor:pointer;display:flex;gap:1.5rem;gap:var(--spacing-lg);padding:2rem;padding:var(--spacing-xl);transition:all .2s ease}.parent-stat-card:hover{border-color:#064e3b;border-color:var(--primary);box-shadow:0 10px 24px -4px #064e3b14,0 4px 8px -4px #064e3b08;box-shadow:var(--shadow-hover);transform:translateY(-2px)}.parent-stat-card .stat-icon{align-items:center;border-radius:12px;border-radius:var(--radius-card);display:flex;height:56px;justify-content:center;width:56px}.parent-stat-card .stat-icon.attendance{background:#0596691a;color:#059669}.parent-stat-card .stat-icon.warning{background:#dc26261a;color:#dc2626}.parent-stat-card .stat-icon.success{background:#0596691a;color:#059669}.parent-stat-card .stat-icon.grades{background:#3b82f61a;color:#3b82f6}.parent-stat-card .stat-content{display:flex;flex:1 1;flex-direction:column;gap:2px}.parent-stat-card .stat-value{color:#1a1a1a;color:var(--text-primary);font-size:1.5rem;font-weight:700}.parent-stat-card .stat-label{color:#52525b;color:var(--text-secondary);font-size:.875rem}.parent-stat-card .stat-detail{font-size:.75rem}.parent-stat-card .stat-arrow,.parent-stat-card .stat-detail{color:#a1a1aa;color:var(--text-muted)}.announcements-section{background:#fff;background:var(--bg-surface);border:1px solid #e4e4e7;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-card);padding:2rem;padding:var(--spacing-xl)}.announcements-section h3{align-items:center;color:#1a1a1a;color:var(--text-primary);display:flex;font-size:1rem;gap:.5rem;gap:var(--spacing-sm);margin-bottom:1.5rem;margin-bottom:var(--spacing-lg)}.announcement-list{display:flex;flex-direction:column;gap:1rem;gap:var(--spacing-md)}.announcement-item{background:#e4f1ee;background:var(--bg-alt);border-radius:8px;border-radius:var(--radius-input);padding:1.5rem;padding:var(--spacing-lg)}.announcement-item h4{color:#1a1a1a;color:var(--text-primary);font-size:.9375rem;margin:.5rem 0;margin:var(--spacing-sm) 0}.announcement-item p{color:#52525b;color:var(--text-secondary);font-size:.8125rem;margin-bottom:.5rem;margin-bottom:var(--spacing-sm)}.announcement-item .announcement-date{color:#a1a1aa;color:var(--text-muted);font-size:.75rem}.announcement-type{border-radius:9999px;border-radius:var(--radius-button);display:inline-block;font-size:.625rem;font-weight:600;padding:.125rem .5rem;text-transform:uppercase}.announcement-type.general{background:#064e3b1a;color:#064e3b;color:var(--primary)}.announcement-type.fee{background:#d977061a;color:#d97706;color:var(--accent)}.announcement-type.emergency{background:#dc26261a;color:#dc2626}.overall-grade-card{background:#fff;background:var(--bg-surface);border:1px solid #e4e4e7;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-card);margin-bottom:2rem;margin-bottom:var(--spacing-xl);padding:2rem;padding:var(--spacing-xl)}.overall-header h3{font-size:1rem;margin-bottom:1.5rem;margin-bottom:var(--spacing-lg)}.overall-content{align-items:center;display:flex;gap:2rem;gap:var(--spacing-xl)}.overall-grade-badge{align-items:center;border-radius:50%;color:#fff;display:flex;font-size:2rem;font-weight:700;height:80px;justify-content:center;width:80px}.overall-details{display:flex;flex-direction:column}.overall-percentage{color:#1a1a1a;color:var(--text-primary);font-size:2rem;font-weight:700}.overall-description{color:#52525b;color:var(--text-secondary);font-size:1rem}.subjects-grades h3{font-size:1rem;margin-bottom:1.5rem;margin-bottom:var(--spacing-lg)}.subject-cards{grid-gap:1rem;grid-gap:var(--spacing-md);display:grid;gap:1rem;gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.subject-grade-card{background:#fff;background:var(--bg-surface);border:1px solid #e4e4e7;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-card);padding:1.5rem;padding:var(--spacing-lg)}.subject-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem;margin-bottom:var(--spacing-sm)}.subject-header h4{color:#1a1a1a;color:var(--text-primary);font-size:.9375rem}.subject-grade{align-items:center;border-radius:50%;color:#fff;display:flex;font-size:.875rem;font-weight:700;height:32px;justify-content:center;width:32px}.subject-stats{display:flex;gap:1rem;gap:var(--spacing-md);margin-bottom:1rem;margin-bottom:var(--spacing-md)}.subject-avg{color:#1a1a1a;color:var(--text-primary);font-size:1.25rem;font-weight:700}.subject-desc{color:#52525b;color:var(--text-secondary);font-size:.875rem}.subject-assessments{border-top:1px solid #e4e4e7;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:4px;padding-top:.5rem;padding-top:var(--spacing-sm)}.assessment-item{display:flex;font-size:.75rem;justify-content:space-between}.assessment-type{color:#52525b;color:var(--text-secondary);text-transform:capitalize}.assessment-score{color:#1a1a1a;color:var(--text-primary);font-family:JetBrains Mono,monospace}.fee-summary-section{margin-bottom:2rem;margin-bottom:var(--spacing-xl)}.fee-balance-card{background:#fff;background:var(--bg-surface);border:2px solid #e4e4e7;border:2px solid var(--border);border-radius:12px;border-radius:var(--radius-card);padding:2rem;padding:var(--spacing-xl)}.fee-balance-card.outstanding{background:#dc262605;border-color:#dc2626}.fee-balance-card.paid{background:#05966905;border-color:#059669}.balance-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem;margin-bottom:var(--spacing-md)}.balance-header h3{font-size:1rem}.fee-balance-card.outstanding .balance-header svg{color:#dc2626}.fee-balance-card.paid .balance-header svg{color:#059669}.balance-amount{font-family:JetBrains Mono,monospace;font-size:2.5rem;font-weight:700;margin-bottom:1.5rem;margin-bottom:var(--spacing-lg)}.fee-balance-card.outstanding .balance-amount{color:#dc2626}.fee-balance-card.paid .balance-amount{color:#059669}.balance-details{display:flex;flex-direction:column;gap:.25rem;gap:var(--spacing-xs)}.balance-details .detail-row{display:flex;font-size:.875rem;justify-content:space-between}.fee-items h3{font-size:1rem;margin-bottom:1.5rem;margin-bottom:var(--spacing-lg)}.fee-items-list{display:flex;flex-direction:column;gap:1rem;gap:var(--spacing-md)}.fee-item{background:#fff;border:1px solid #e4e4e7;border-radius:12px;border-radius:var(--radius-card);padding:1.5rem;padding:var(--spacing-lg)}.fee-item-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem;margin-bottom:var(--spacing-md)}.fee-status{border-radius:9999px;border-radius:var(--radius-button);font-size:.75rem;font-weight:500;padding:.25rem .75rem;text-transform:capitalize}.fee-status.paid{background:#0596691a;color:#059669}.fee-status.pending{background:#dc26261a;color:#dc2626}.fee-status.partial{background:#d977061a;color:#d97706}.fee-item-amounts{flex-direction:column;gap:.25rem;gap:var(--spacing-xs)}.fee-item-amounts .amount-row{display:flex;font-size:.875rem;justify-content:space-between}.fee-item-amounts .amount-row.balance{font-weight:600;margin-top:.5rem;margin-top:var(--spacing-sm);padding-top:.5rem;padding-top:var(--spacing-sm)}.fee-item-amounts .amount-row.balance,.fee-payments{border-top:1px solid #e4e4e7;border-top:1px solid var(--border)}.fee-payments{margin-top:1rem;margin-top:var(--spacing-md);padding-top:1rem;padding-top:var(--spacing-md)}.fee-payments h5{color:#52525b;color:var(--text-secondary);font-size:.75rem;margin-bottom:.5rem;margin-bottom:var(--spacing-sm)}.payment-item{display:flex;font-size:.75rem;justify-content:space-between;padding:.25rem 0;padding:var(--spacing-xs) 0}.payment-item .receipt{color:#1a1a1a;color:var(--text-primary);font-family:JetBrains Mono,monospace}.payment-item .amount{color:#059669}.payment-item .date{color:#a1a1aa;color:var(--text-muted)}.attendance-summary-card{background:#fff;background:var(--bg-surface);border:1px solid #e4e4e7;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-card);margin-bottom:2rem;margin-bottom:var(--spacing-xl);padding:2rem;padding:var(--spacing-xl)}.attendance-summary-card h3{font-size:1rem;margin-bottom:1.5rem;margin-bottom:var(--spacing-lg)}.attendance-summary-stats{grid-gap:1rem;grid-gap:var(--spacing-md);display:grid;gap:1rem;gap:var(--spacing-md);grid-template-columns:repeat(4,1fr)}@media (max-width:640px){.attendance-summary-stats{grid-template-columns:repeat(2,1fr)}}.att-stat{border-radius:8px;border-radius:var(--radius-input);padding:1rem;padding:var(--spacing-md);text-align:center}.att-stat.present{background:#0596691a}.att-stat.absent{background:#dc26261a}.att-stat.late{background:#d977061a}.att-stat.rate{background:#3b82f61a}.att-stat .att-value{display:block;font-size:1.5rem;font-weight:700}.att-stat.present .att-value{color:#059669}.att-stat.absent .att-value{color:#dc2626}.att-stat.late .att-value{color:#d97706}.att-stat.rate .att-value{color:#3b82f6}.att-stat .att-label{color:#52525b;color:var(--text-secondary);font-size:.75rem}.attendance-records h3{font-size:1rem;margin-bottom:1.5rem;margin-bottom:var(--spacing-lg)}.records-list{background:#fff;background:var(--bg-surface);border:1px solid #e4e4e7;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-card);overflow:hidden}.attendance-record{align-items:center;border-bottom:1px solid #e4e4e7;border-bottom:1px solid var(--border);display:flex;gap:1rem;gap:var(--spacing-md);padding:1rem 1.5rem;padding:var(--spacing-md) var(--spacing-lg)}.attendance-record:last-child{border-bottom:none}.record-date{font-size:.875rem;font-weight:500;min-width:100px}.record-status{border-radius:9999px;border-radius:var(--radius-button);font-size:.75rem;font-weight:500;padding:.25rem .75rem;text-transform:capitalize}.record-remarks{color:#a1a1aa;color:var(--text-muted);font-size:.75rem;font-style:italic}.loading,.loading-screen{align-items:center;color:#a1a1aa;color:var(--text-muted);display:flex;font-size:.9375rem;justify-content:center;min-height:200px}.loading-screen{background:#eff7f5;background:var(--bg-default);min-height:100vh}.header-with-back{align-items:center;display:flex;gap:1rem;gap:var(--spacing-md)}.btn-icon{color:#52525b;color:var(--text-secondary);padding:.5rem;padding:var(--spacing-sm)}.btn-icon:hover{color:#1a1a1a;color:var(--text-primary)}.button-group{display:flex;gap:.5rem;gap:var(--spacing-sm)}.form-container{background:#e4f1ee;background:var(--bg-alt);border-radius:8px;border-radius:var(--radius-input);margin-bottom:1.5rem;margin-bottom:var(--spacing-lg);padding:1.5rem;padding:var(--spacing-lg)}.staff-info-grid,.student-info-grid{grid-gap:2rem;grid-gap:var(--spacing-xl);display:grid;gap:2rem;gap:var(--spacing-xl);grid-template-columns:repeat(2,1fr);margin-bottom:2rem;margin-bottom:var(--spacing-xl)}@media (max-width:1024px){.staff-info-grid,.student-info-grid{grid-template-columns:1fr}}.info-card{background:#fff;background:var(--bg-surface);border:1px solid #e4e4e7;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-card);box-shadow:0 2px 8px -2px #064e3b0d,0 4px 16px -4px #064e3b05;box-shadow:var(--shadow-card);padding:2rem;padding:var(--spacing-xl)}.info-card h3{color:#1a1a1a;color:var(--text-primary);font-size:1rem;margin-bottom:1.5rem;margin-bottom:var(--spacing-lg)}.info-rows{display:flex;flex-direction:column;gap:1rem;gap:var(--spacing-md)}.info-row{border-bottom:1px solid #e4e4e7;border-bottom:1px solid var(--border);padding:.5rem 0;padding:var(--spacing-sm) 0}.info-row .label{color:#52525b;color:var(--text-secondary);font-size:.875rem;font-weight:500}.info-row .value{color:#1a1a1a;color:var(--text-primary);flex:1 1;font-size:.875rem;margin-left:1rem;margin-left:var(--spacing-md);text-align:right}.staff-photo{border-radius:8px;border-radius:var(--radius-input);max-height:100px;max-width:100px;object-fit:cover}.section{background:#fff;background:var(--bg-surface);border:1px solid #e4e4e7;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-card);box-shadow:0 2px 8px -2px #064e3b0d,0 4px 16px -4px #064e3b05;box-shadow:var(--shadow-card);margin-bottom:var(--spacing-xl);padding:2rem;padding:var(--spacing-xl)}.additional-info-section h2,.assignments-section h2,.parents-section h2{color:#1a1a1a;color:var(--text-primary);font-size:1.125rem;margin-bottom:1.5rem;margin-bottom:var(--spacing-lg)}.assignments-grid{grid-gap:1.5rem;grid-gap:var(--spacing-lg);gap:1.5rem;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.assignment-card{background:#e4f1ee;background:var(--bg-alt);border:1px solid #e4e4e7;border:1px solid var(--border);border-radius:var(--radius-input);padding:1.5rem;padding:var(--spacing-lg)}.assignment-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem;margin-bottom:var(--spacing-md)}.assignment-header h3{color:#1a1a1a;color:var(--text-primary);font-size:1rem;margin:0}.class-teacher-badge{background:#064e3b;background:var(--primary);border-radius:9999px;border-radius:var(--radius-button);color:#fff;font-size:.625rem;font-weight:600;padding:.25rem .5rem;text-transform:uppercase}.assignment-details{display:flex;flex-direction:column;gap:.5rem;gap:var(--spacing-sm)}.detail-row .icon{color:#a1a1aa;color:var(--text-muted)}.parents-list{display:flex;flex-direction:column;gap:1rem;gap:var(--spacing-md)}.parent-card{background:#e4f1ee;background:var(--bg-alt);border:1px solid #e4e4e7;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-input);padding:1.5rem;padding:var(--spacing-lg)}.parent-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem;margin-bottom:var(--spacing-md)}.parent-header h3{color:#1a1a1a;color:var(--text-primary);font-size:1rem;margin:0}.relationship-badge{background:#1d4ed8;background:var(--secondary)}.emergency-badge,.relationship-badge{border-radius:9999px;border-radius:var(--radius-button);color:#fff;font-size:.625rem;font-weight:600;padding:.25rem .5rem;text-transform:uppercase}.emergency-badge{background:#dc2626;margin-left:.5rem;margin-left:var(--spacing-sm)}.parent-details{gap:.5rem;gap:var(--spacing-sm)}.empty-state-card,.parent-details{display:flex;flex-direction:column}.empty-state-card{align-items:center;background:#e4f1ee;background:var(--bg-alt);border:2px dashed #e4e4e7;border:2px dashed var(--border);border-radius:12px;border-radius:var(--radius-card);color:#a1a1aa;color:var(--text-muted);justify-content:center;padding:3rem;padding:var(--spacing-2xl);text-align:center}.empty-state-card svg{margin-bottom:1rem;margin-bottom:var(--spacing-md);opacity:.5}.empty-state-card p{font-size:.9375rem;margin-bottom:1.5rem;margin-bottom:var(--spacing-lg)}@media (max-width:640px){.auth-container{padding:2rem;padding:var(--spacing-xl)}.page-header h1{font-size:1.5rem}.stat-card{padding:1.5rem;padding:var(--spacing-lg)}.stat-icon{font-size:1.25rem;height:48px;width:48px}.stat-content h3{font-size:1.5rem}}.edit-actions{display:flex;gap:.5rem;gap:var(--spacing-sm)}.form-input-sm,.form-select-sm{background:#fff;background:var(--bg-surface);border:1px solid #e4e4e7;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-input);color:#1a1a1a;color:var(--text-primary);font-size:.875rem;max-width:200px;padding:.375rem .5rem;width:100%}.form-input-sm:focus,.form-select-sm:focus{border-color:#064e3b;border-color:var(--primary);box-shadow:0 0 0 2px #064e3b1a;outline:none}.form-select-sm{cursor:pointer}.info-row.editing{align-items:center}.info-row.editing .label{flex-shrink:0;margin-right:1rem;margin-right:var(--spacing-md)}.info-row.editing .form-input-sm,.info-row.editing .form-select-sm{flex:1 1;text-align:left}.dialog-overlay{align-items:center;animation:dialogFadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0614108c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes dialogFadeIn{0%{opacity:0}to{opacity:1}}.dialog-modal{animation:dialogSlideUp .25s cubic-bezier(.16,1,.3,1);background:var(--bg-surface);border-radius:var(--radius-card);border-top:3px solid;box-shadow:var(--shadow-dropdown);max-width:460px;padding:2rem;position:relative;width:90%}@keyframes dialogSlideUp{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.dialog-border-info{border-top-color:var(--secondary)}.dialog-border-success{border-top-color:#059669}.dialog-border-warning{border-top-color:var(--accent)}.dialog-border-error{border-top-color:#dc2626}.dialog-close-btn{align-items:center;background:none;border:none;border-radius:50%;color:var(--text-muted);cursor:pointer;display:flex;height:32px;justify-content:center;position:absolute;right:1rem;top:1rem;transition:background-color .2s ease,color .2s ease;width:32px}.dialog-close-btn:hover{background:var(--bg-alt);color:var(--text-primary)}.dialog-icon-container{display:flex;justify-content:center;margin-bottom:1.25rem}.dialog-icon{align-items:center;border-radius:50%;display:flex;height:64px;justify-content:center;width:64px}.dialog-icon-info{background:#1d4ed81a;color:var(--secondary)}.dialog-icon-success{background:#0596691a;color:#059669}.dialog-icon-warning{background:#d977061a;color:var(--accent)}.dialog-icon-error{background:#dc26261a;color:#dc2626}.dialog-content{text-align:center}.dialog-title{color:var(--text-primary);font-size:1.25rem;font-weight:600;line-height:1.3;margin:0 0 .5rem}.dialog-message{word-wrap:break-word;color:var(--text-secondary);font-size:.9375rem;line-height:1.5;margin:0;white-space:pre-wrap}.dialog-input-group{margin-top:1rem;text-align:left}.dialog-input-label{color:var(--text-secondary);display:block;font-size:.8125rem;font-weight:500;margin-bottom:.4rem}.dialog-input{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-input,8px);color:var(--text-primary);font-family:inherit;font-size:.9375rem;padding:.65rem .85rem;resize:vertical;width:100%}.dialog-input:focus{border-color:var(--border-focus,var(--secondary));outline:none}.dialog-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:1.5rem}.dialog-actions .btn{min-width:120px}.dialog-actions .btn-info{background:var(--secondary);color:#fff}.dialog-actions .btn-info:hover:not(:disabled){background:var(--secondary-hover);box-shadow:var(--shadow-hover)}.dialog-actions .btn-error{background:#dc2626;color:#fff}.dialog-actions .btn-error:hover:not(:disabled){background:#b91c1c;box-shadow:var(--shadow-hover)}.dialog-icon-loading{animation:dialogSpin 1s linear infinite;color:inherit}@keyframes dialogSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.button-loading .spinner{animation:dialogSpin 1s linear infinite}.dialog-close-btn:disabled{cursor:not-allowed;opacity:.5}@media (max-width:600px){.dialog-modal{padding:1.5rem;width:95%}.dialog-actions{flex-direction:column}.dialog-actions .btn{min-width:auto;width:100%}.dialog-title{font-size:1.0625rem}.dialog-message{font-size:.875rem}}:root{--land-dark:#1b2820;--land-forest:#3d5c3a;--land-moss:#4e6b50;--land-sage:#6b8a6c;--land-mist:#8aac85;--land-blue:#1e3a5f;--land-blue-m:#2563eb;--land-white:#fff;--land-off:#f5f7f4;--land-stone:#eef0ec;--land-border:#d8ddd6;--land-text:#1b2820;--land-muted:#5a6b5b}.lp-fade{opacity:0;transform:translateY(28px);transition:opacity .65s ease,transform .65s ease}.lp-fade.in-view{opacity:1;transform:translateY(0)}.lp-fade-left{opacity:0;transform:translateX(-28px);transition:opacity .65s ease,transform .65s ease}.lp-fade-left.in-view{opacity:1;transform:translateX(0)}.lp-fade-right{opacity:0;transform:translateX(28px);transition:opacity .65s ease,transform .65s ease}.lp-fade-right.in-view{opacity:1;transform:translateX(0)}.lp-delay-1{transition-delay:.1s}.lp-delay-2{transition-delay:.2s}.lp-delay-3{transition-delay:.3s}.lp-delay-4{transition-delay:.4s}.lp-delay-5{transition-delay:.5s}.lp-nav{background:#fff0;border-bottom:1px solid #0000;left:0;position:fixed;right:0;top:0;transition:background .3s ease,border-color .3s ease;z-index:100}.lp-nav.scrolled{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff7;border-color:#d8ddd6;border-color:var(--land-border)}.lp-nav-inner{height:68px;justify-content:space-between;margin:0 auto;max-width:1280px;padding:0 32px}.lp-nav-inner,.lp-nav-links{align-items:center;display:flex}.lp-nav-links{gap:4px}.lp-nav-link{background:none;border:none;border-radius:8px;color:#5a6b5b;color:var(--land-muted);cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;text-decoration:none;transition:color .15s,background .15s}.lp-nav-link:hover{background:#f5f7f4;background:var(--land-off);color:#1b2820;color:var(--land-text)}.lp-nav-actions{align-items:center;display:flex;gap:10px}.lp-btn-ghost{background:#0000;border:1.5px solid #d8ddd6;border:1.5px solid var(--land-border);border-radius:8px;color:#1b2820;color:var(--land-text);cursor:pointer;font-size:14px;font-weight:600;padding:9px 20px;transition:all .15s}.lp-btn-ghost:hover{border-color:#4e6b50;border-color:var(--land-moss);color:#4e6b50;color:var(--land-moss)}.lp-btn-primary{align-items:center;background:#3d5c3a;background:var(--land-forest);border:1.5px solid #3d5c3a;border:1.5px solid var(--land-forest);border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;padding:9px 20px;transition:all .15s}.lp-btn-primary:hover{background:#1b2820;background:var(--land-dark);border-color:#1b2820;border-color:var(--land-dark)}.lp-btn-primary-lg{align-items:center;background:#3d5c3a;background:var(--land-forest);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:16px;font-weight:700;gap:8px;padding:14px 28px;transition:all .2s}.lp-btn-primary-lg:hover{background:#1b2820;background:var(--land-dark);transform:translateY(-1px)}.lp-btn-outline-lg{align-items:center;background:#0000;border:2px solid #d8ddd6;border:2px solid var(--land-border);border-radius:8px;color:#1b2820;color:var(--land-text);cursor:pointer;display:inline-flex;font-size:16px;font-weight:600;gap:8px;padding:14px 28px;transition:all .2s}.lp-btn-outline-lg:hover{border-color:#4e6b50;border-color:var(--land-moss);color:#4e6b50;color:var(--land-moss)}.lp-hero{background:#fff;background:var(--land-white);display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.lp-hero-left{display:flex;flex-direction:column;justify-content:center;max-width:680px;padding:120px 64px 80px}.lp-hero-badge{align-items:center;background:#eef0ec;background:var(--land-stone);border:1px solid #d8ddd6;border:1px solid var(--land-border);border-radius:6px;color:#4e6b50;color:var(--land-moss);display:inline-flex;font-size:12px;font-weight:700;gap:8px;letter-spacing:1px;margin-bottom:28px;padding:6px 14px;text-transform:uppercase;width:-webkit-fit-content;width:fit-content}.lp-hero-h1{color:#1b2820;color:var(--land-text);font-family:Manrope,sans-serif;font-size:clamp(36px,4.5vw,60px);font-weight:800;letter-spacing:-.03em;line-height:1.1;margin-bottom:24px}.lp-hero-h1 span{color:#4e6b50;color:var(--land-moss)}.lp-hero-sub{color:#5a6b5b;color:var(--land-muted);font-size:18px;line-height:1.65;margin-bottom:40px;max-width:520px}.lp-hero-ctas{flex-wrap:wrap;gap:14px;margin-bottom:48px}.lp-hero-ctas,.lp-hero-trust{align-items:center;display:flex}.lp-hero-trust{border-top:1px solid #d8ddd6;border-top:1px solid var(--land-border);color:#5a6b5b;color:var(--land-muted);font-size:13px;gap:10px;padding-top:28px}.lp-hero-trust-dot{background:#4e6b50;background:var(--land-moss);border-radius:50%;flex-shrink:0;height:6px;width:6px}.lp-hero-right{overflow:hidden;position:relative}.lp-hero-img{height:100%;object-fit:cover;object-position:center 20%;transition:transform 6s ease;width:100%}.lp-hero-img:hover{transform:scale(1.03)}.lp-hero-overlay{background:linear-gradient(90deg,#ffffff26 0,#0000 30%);inset:0;position:absolute}.lp-hero-card{background:#fff;border-radius:12px;bottom:40px;box-shadow:0 20px 60px #00000026;left:-28px;min-width:200px;padding:18px 22px;position:absolute}.lp-hero-card-num{color:#3d5c3a;color:var(--land-forest);font-family:Manrope,sans-serif;font-size:32px;font-weight:800;line-height:1;margin-bottom:4px}.lp-hero-card-label{color:#5a6b5b;color:var(--land-muted);font-size:12px;font-weight:500}.lp-hero-card2{background:#3d5c3a;background:var(--land-forest);border-radius:12px;box-shadow:0 20px 60px #1f5c3a4d;min-width:160px;padding:16px 20px;position:absolute;right:40px;top:40px}.lp-hero-card2-num{color:#fff;font-family:Manrope,sans-serif;font-size:26px;font-weight:800;line-height:1;margin-bottom:4px}.lp-hero-card2-label{color:#ffffffb3;font-size:11px;font-weight:500}.lp-trust{background:#f5f7f4;background:var(--land-off);border-bottom:1px solid #d8ddd6;border-bottom:1px solid var(--land-border);border-top:1px solid #d8ddd6;border-top:1px solid var(--land-border);overflow:hidden;padding:20px 0}.lp-trust-inner{align-items:center;animation:marquee 30s linear infinite;display:flex;gap:0;white-space:nowrap}.lp-trust-item{border-right:1px solid #d8ddd6;border-right:1px solid var(--land-border);color:#5a6b5b;color:var(--land-muted);flex-shrink:0;font-size:13px;font-weight:600;letter-spacing:.5px;padding:0 40px;text-transform:uppercase}@keyframes marquee{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.lp-section{padding:100px 32px}.lp-section,.lp-section-sm{margin:0 auto;max-width:1280px}.lp-section-sm{padding:64px 32px}.lp-section-label{color:#4e6b50;color:var(--land-moss);font-size:11px;font-weight:700;letter-spacing:2px;margin-bottom:16px;text-transform:uppercase}.lp-section-h2{color:#1b2820;color:var(--land-text);font-family:Manrope,sans-serif;font-size:clamp(28px,3.5vw,48px);font-weight:800;letter-spacing:-.03em;line-height:1.15;margin-bottom:20px}.lp-section-sub{color:#5a6b5b;color:var(--land-muted);font-size:17px;line-height:1.65;max-width:560px}.lp-divider{border:none;border-top:1px solid #d8ddd6;border-top:1px solid var(--land-border)}.lp-features-grid{grid-gap:1px;background:#d8ddd6;background:var(--land-border);border:1px solid #d8ddd6;border:1px solid var(--land-border);border-radius:16px;display:grid;gap:1px;grid-template-columns:repeat(3,1fr);overflow:hidden}.lp-feature-card{background:#fff;padding:36px 32px;transition:background .2s}.lp-feature-card:hover{background:#f5f7f4;background:var(--land-off)}.lp-feature-icon{align-items:center;background:#eef0ec;background:var(--land-stone);border-radius:10px;color:#3d5c3a;color:var(--land-forest);display:flex;height:44px;justify-content:center;margin-bottom:20px;transition:background .2s,color .2s;width:44px}.lp-feature-card:hover .lp-feature-icon{background:#3d5c3a;background:var(--land-forest);color:#fff}.lp-feature-title{color:#1b2820;color:var(--land-text);font-family:Manrope,sans-serif;font-size:17px;font-weight:700;margin-bottom:10px}.lp-feature-desc{color:#5a6b5b;color:var(--land-muted);font-size:14px;line-height:1.6;margin-bottom:18px}.lp-feature-tags{display:flex;flex-wrap:wrap;gap:6px}.lp-feature-tag{background:#eef0ec;background:var(--land-stone);border:1px solid #d8ddd6;border:1px solid var(--land-border);border-radius:4px;color:#4e6b50;color:var(--land-moss);font-size:11px;font-weight:600;padding:3px 10px}.lp-story{border:1px solid #d8ddd6;border:1px solid var(--land-border);border-radius:16px;display:grid;grid-template-columns:1fr 1fr;min-height:540px;overflow:hidden}.lp-story.flip{direction:rtl}.lp-story.flip>*{direction:ltr}.lp-story-img{display:block;height:100%;object-fit:cover;width:100%}.lp-story-content{background:#fff;display:flex;flex-direction:column;justify-content:center;padding:64px 56px}.lp-story-title{color:#1b2820;color:var(--land-text);font-family:Manrope,sans-serif;font-size:30px;font-weight:800;letter-spacing:-.02em;line-height:1.2;margin-bottom:16px}.lp-story-body{color:#5a6b5b;color:var(--land-muted);font-size:16px;line-height:1.7;margin-bottom:28px}.lp-check-list{display:flex;flex-direction:column;gap:12px;list-style:none}.lp-check-list li{align-items:flex-start;color:#1b2820;color:var(--land-text);display:flex;font-size:14px;font-weight:500;gap:10px}.lp-check-list .icon{color:#4e6b50;color:var(--land-moss);flex-shrink:0;margin-top:1px}.lp-stats-band{background:#1b2820;background:var(--land-dark);padding:80px 32px}.lp-stats-grid{grid-gap:1px;background:#ffffff14;display:grid;gap:1px;grid-template-columns:repeat(4,1fr);margin:0 auto;max-width:1280px}.lp-stat-cell{background:#1b2820;background:var(--land-dark);padding:40px 32px;text-align:center}.lp-stat-num{color:#fff;font-family:Manrope,sans-serif;font-size:clamp(40px,5vw,64px);font-weight:800;line-height:1;margin-bottom:8px}.lp-stat-suffix{color:#8aac85;color:var(--land-mist)}.lp-stat-label{color:#6b8a6c;color:var(--land-sage);font-size:14px;font-weight:500}.lp-roles-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-top:56px}.lp-role-card{background:#fff;border:1px solid #d8ddd6;border:1px solid var(--land-border);border-radius:12px;cursor:default;padding:28px 24px 32px;transition:box-shadow .2s,border-color .2s,transform .2s}.lp-role-card:hover{border-color:#6b8a6c;border-color:var(--land-sage);box-shadow:0 12px 40px #1f5c3a1a;transform:translateY(-3px)}.lp-role-icon{align-items:center;background:#eef0ec;background:var(--land-stone);border-radius:12px;color:#3d5c3a;color:var(--land-forest);display:flex;height:48px;justify-content:center;margin-bottom:18px;width:48px}.lp-role-title{color:#1b2820;color:var(--land-text);font-family:Manrope,sans-serif;font-size:17px;font-weight:700;margin-bottom:8px}.lp-role-desc{color:#5a6b5b;color:var(--land-muted);font-size:13px;line-height:1.6;margin-bottom:18px}.lp-role-list{display:flex;flex-direction:column;gap:8px;list-style:none}.lp-role-list li{align-items:center;color:#1b2820;color:var(--land-text);display:flex;font-size:13px;gap:8px}.lp-role-list .dot{background:#4e6b50;background:var(--land-moss);border-radius:50%;flex-shrink:0;height:5px;width:5px}.lp-testimonials-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr);margin-top:56px}.lp-testimonial{background:#fff;border:1px solid #d8ddd6;border:1px solid var(--land-border);border-radius:12px;padding:32px;transition:box-shadow .2s,border-color .2s}.lp-testimonial:hover{border-color:#6b8a6c;border-color:var(--land-sage);box-shadow:0 8px 32px #00000012}.lp-stars{display:flex;gap:3px;margin-bottom:20px}.lp-quote{color:#1b2820;color:var(--land-text);font-size:16px;font-style:italic;line-height:1.65;margin-bottom:28px}.lp-cite{border-top:1px solid #d8ddd6;border-top:1px solid var(--land-border);gap:12px;padding-top:20px}.lp-cite,.lp-cite-avatar{align-items:center;display:flex}.lp-cite-avatar{background:#eef0ec;background:var(--land-stone);border-radius:50%;color:#4e6b50;color:var(--land-moss);flex-shrink:0;font-family:Manrope,sans-serif;font-size:15px;font-weight:700;height:42px;justify-content:center;width:42px}.lp-cite-name{color:#1b2820;color:var(--land-text);font-size:14px;font-weight:700}.lp-cite-role{color:#5a6b5b;color:var(--land-muted);font-size:12px;margin-top:1px}.lp-table{border:1px solid #d8ddd6;border:1px solid var(--land-border);border-collapse:collapse;border-radius:12px;margin-top:48px;overflow:hidden;width:100%}.lp-table thead tr{background:#1b2820;background:var(--land-dark)}.lp-table th{color:#fff;font-size:13px;font-weight:700;padding:18px 20px;text-align:left}.lp-table th:not(:first-child){text-align:center}.lp-table tbody tr{border-bottom:1px solid #d8ddd6;border-bottom:1px solid var(--land-border)}.lp-table tbody tr:last-child{border-bottom:none}.lp-table tbody tr:nth-child(2n){background:#f5f7f4;background:var(--land-off)}.lp-table tbody tr:hover{background:#eef0ec;background:var(--land-stone)}.lp-table td{color:#1b2820;color:var(--land-text);font-size:14px;padding:16px 20px}.lp-table td:not(:first-child){text-align:center}.lp-table td:first-child{font-weight:600}.lp-table-yes{color:#4e6b50;color:var(--land-moss)}.lp-table-no{color:#b0b7af}.lp-table-partial{color:#c4832a}.lp-faq{margin:48px auto 0;max-width:720px}.lp-faq-item{border:1px solid #d8ddd6;border:1px solid var(--land-border);border-radius:10px;margin-bottom:10px;overflow:hidden;transition:border-color .2s}.lp-faq-item:hover{border-color:#6b8a6c;border-color:var(--land-sage)}.lp-faq-q{align-items:center;background:#fff;border:none;color:#1b2820;color:var(--land-text);cursor:pointer;display:flex;font-size:15px;font-weight:600;justify-content:space-between;padding:20px 22px;text-align:left;transition:background .15s;width:100%}.lp-faq-q:hover{background:#f5f7f4;background:var(--land-off)}.lp-faq-a{background:#fff;border-top:1px solid #d8ddd6;border-top:1px solid var(--land-border);color:#5a6b5b;color:var(--land-muted);font-size:14px;line-height:1.7;padding:16px 22px 20px}.lp-cta-band{background:#3d5c3a;background:var(--land-forest);padding:100px 32px;text-align:center}.lp-cta-h2{color:#fff;font-family:Manrope,sans-serif;font-size:clamp(28px,4vw,52px);font-weight:800;letter-spacing:-.03em;margin-bottom:16px}.lp-cta-sub{color:#ffffffbf;font-size:18px;line-height:1.6;margin-bottom:40px;margin-left:auto;margin-right:auto;max-width:520px}.lp-btn-cta{align-items:center;background:#fff;border:none;border-radius:8px;color:#3d5c3a;color:var(--land-forest);cursor:pointer;display:inline-flex;font-size:16px;font-weight:700;gap:8px;padding:15px 32px;transition:all .2s}.lp-btn-cta:hover{background:#f5f7f4;background:var(--land-off);transform:translateY(-1px)}.lp-cta-note{color:#ffffff80;font-size:13px;gap:20px;justify-content:center;margin-top:20px}.lp-cta-note,.lp-cta-note-item{align-items:center;display:flex}.lp-cta-note-item{gap:6px}.lp-footer{background:#1b2820;background:var(--land-dark);color:#ffffff8c;padding:64px 32px 36px}.lp-footer-grid{grid-gap:48px;display:grid;gap:48px;grid-template-columns:1.5fr 1fr 1fr 1fr;margin:0 auto 48px;max-width:1280px}.lp-footer-brand-desc{color:#ffffff73;font-size:14px;line-height:1.65;margin-top:16px}.lp-footer-col-title{color:#fff;font-size:13px;font-weight:700;letter-spacing:.5px;margin-bottom:18px;text-transform:uppercase}.lp-footer-links{display:flex;flex-direction:column;gap:10px;list-style:none}.lp-footer-links a,.lp-footer-links button{background:none;border:none;color:#ffffff80;cursor:pointer;font-size:14px;padding:0;text-decoration:none;transition:color .15s}.lp-footer-links a:hover,.lp-footer-links button:hover{color:#fff}.lp-footer-bottom{align-items:center;border-top:1px solid #ffffff14;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin:0 auto;max-width:1280px;padding-top:24px}.lp-footer-copy{color:#ffffff59;font-size:13px}.lp-footer-socials{display:flex;gap:20px}.lp-footer-socials a{align-items:center;color:#fff6;display:flex;text-decoration:none;transition:color .15s}.lp-footer-socials a:hover{color:#fff}.lp-mobile-menu{background:#fff;display:flex;flex-direction:column;gap:4px;inset:0;padding:80px 24px 24px;position:fixed;z-index:99}.lp-mobile-link{background:none;border:none;border-radius:8px;color:#1b2820;color:var(--land-text);cursor:pointer;display:block;font-size:18px;font-weight:600;padding:14px 16px;text-align:left;transition:background .15s;width:100%}.lp-mobile-link:hover{background:#f5f7f4;background:var(--land-off)}.lp-mobile-close{align-items:center;background:#eef0ec;background:var(--land-stone);border:none;border-radius:50%;color:#1b2820;color:var(--land-text);cursor:pointer;display:flex;height:40px;justify-content:center;position:absolute;right:20px;top:20px;width:40px}@media (max-width:1024px){.lp-features-grid,.lp-roles-grid,.lp-stats-grid{grid-template-columns:repeat(2,1fr)}.lp-testimonials-grid{grid-template-columns:1fr;margin-left:auto;margin-right:auto;max-width:560px}.lp-footer-grid{grid-template-columns:1fr 1fr}}@media (max-width:768px){.lp-nav-actions,.lp-nav-links{display:none}.lp-hamburger{display:flex!important}.lp-hero{grid-template-columns:1fr;min-height:auto}.lp-hero-left{max-width:100%;padding:100px 24px 48px}.lp-hero-right{height:400px}.lp-hero-card{bottom:20px;left:16px}.lp-hero-card2{right:20px;top:20px}.lp-features-grid,.lp-story{grid-template-columns:1fr}.lp-story.flip{direction:ltr}.lp-story-img{height:300px}.lp-story-content{padding:36px 28px}.lp-roles-grid{grid-template-columns:1fr}.lp-stats-grid{grid-template-columns:repeat(2,1fr)}.lp-footer-grid{gap:32px;grid-template-columns:1fr}.lp-section{padding:64px 20px}.lp-stats-band{padding:60px 20px}.lp-cta-band{padding:64px 20px}}.locked-feature{align-items:center;cursor:not-allowed;display:inline-flex;gap:4px;opacity:.6}.locked-feature:hover{opacity:.85}.locked-feature-icon{flex-shrink:0}:root{--green:#16a34a;--green-light:#dcfce7;--green-dark:#15803d;--green-pale:#f0fdf4;--border:#e5e7eb;--border-green:#bbf7d0;--text:#111827;--text-muted:#6b7280;--text-light:#9ca3af;--bg:#f8fafc;--card:#fff;--red:#dc2626;--red-light:#fee2e2;--amber:#d97706;--amber-light:#fef3c7;--blue:#2563eb;--blue-light:#dbeafe}.sec-page{background:#f8fafc;background:var(--bg);color:#111827;color:var(--text);font-family:Inter,Segoe UI,sans-serif}.sec-header{background:#16a34a;background:var(--green);border-bottom:none;border-radius:12px 12px 0 0;justify-content:space-between;padding:16px 24px}.sec-header,.sec-header-left{align-items:center;display:flex}.sec-header-left{gap:12px}.sec-shield-icon{align-items:center;background:#fff3;border-radius:10px;display:flex;flex-shrink:0;font-size:20px;height:40px;justify-content:center;width:40px}.sec-header-title{color:#fff;font-size:18px;font-weight:700;margin:0}.sec-header-sub{color:#ffffffb3;font-size:12px;margin:0}.sec-clock{font-feature-settings:"tnum";color:#fff;font-size:28px;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:2px}.sec-clock-label{color:#ffffffb3;font-size:10px;letter-spacing:1px;text-align:center;text-transform:uppercase}.sec-stats-bar{grid-gap:1px;background:#e5e7eb;background:var(--border);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border);display:grid;gap:1px;grid-template-columns:repeat(4,1fr)}.sec-stat{background:#fff;background:var(--card);padding:16px 24px;text-align:center}.sec-stat-value{color:#111827;color:var(--text);font-size:28px;font-weight:800;line-height:1}.sec-stat-label{color:#6b7280;color:var(--text-muted);font-size:11px;letter-spacing:1px;margin-top:4px;text-transform:uppercase}.sec-stat-value.amber{color:#d97706;color:var(--amber)}.sec-stat-value.green{color:#16a34a;color:var(--green)}.sec-stat-value.blue{color:#2563eb;color:var(--blue)}.sec-stat-value.red{color:#dc2626;color:var(--red)}.sec-main{grid-gap:0;display:grid;gap:0;grid-template-columns:1fr 380px;min-height:500px}.sec-left{background:#f8fafc;background:var(--bg);border-right:1px solid #e5e7eb;border-right:1px solid var(--border)}.sec-left,.sec-right{overflow-y:auto;padding:24px}.sec-right{background:#fff;background:var(--card);border-left:1px solid #e5e7eb;border-left:1px solid var(--border);display:flex;flex-direction:column;gap:20px;max-height:calc(100vh - 64px);position:-webkit-sticky;position:sticky;top:0}.sec-section-title{align-items:center;color:#6b7280;color:var(--text-muted);display:flex;font-size:11px;font-weight:700;gap:8px;letter-spacing:1.5px;margin:0 0 12px;text-transform:uppercase}.sec-section-title:after{background:#e5e7eb;background:var(--border);content:"";flex:1 1;height:1px}.sec-closing-card{background:#fff;background:var(--card);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:12px;margin-bottom:24px;padding:20px}.sec-closing-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.sec-closing-title{color:#111827;color:var(--text);font-size:15px;font-weight:600;margin:0 0 4px}.sec-closing-sub{color:#6b7280;color:var(--text-muted);font-size:12px;margin:0}.sec-countdown{align-items:center;display:flex;gap:8px}.sec-countdown-unit{text-align:center}.sec-countdown-num{font-feature-settings:"tnum";background:#f0fdf4;background:var(--green-pale);border-radius:8px;color:#16a34a;color:var(--green);display:block;font-size:32px;font-variant-numeric:tabular-nums;font-weight:800;line-height:1;min-width:56px;padding:6px 12px;text-align:center}.sec-countdown-label{color:#6b7280;color:var(--text-muted);font-size:10px;letter-spacing:1px;margin-top:4px;text-transform:uppercase}.sec-countdown-sep{color:#16a34a;color:var(--green);font-size:28px;font-weight:800;padding-bottom:16px}.sec-time-input{background:#f8fafc;background:var(--bg);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:8px;color:#111827;color:var(--text);font-size:14px;outline:none;padding:8px 12px}.sec-time-input:focus{border-color:#16a34a;border-color:var(--green)}.sec-dispatch-btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;margin-top:12px;padding:12px;transition:all .15s;width:100%}.sec-dispatch-btn.scheduled{background:#16a34a;background:var(--green);color:#fff}.sec-dispatch-btn.sent{background:#dcfce7;background:var(--green-light);color:#15803d;color:var(--green-dark);cursor:default}.sec-dispatch-btn.inactive{background:#e5e7eb;background:var(--border);color:#6b7280;color:var(--text-muted);cursor:not-allowed}.sec-dispatch-btn.scheduled:hover{background:#15803d;background:var(--green-dark)}.sec-tabs{background:#f8fafc;background:var(--bg);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:10px;display:flex;gap:4px;margin-bottom:20px;padding:4px}.sec-tab{background:#0000;border:none;border-radius:8px;color:#6b7280;color:var(--text-muted);cursor:pointer;flex:1 1;font-size:13px;font-weight:600;padding:8px;transition:all .15s}.sec-tab.active{background:#fff;background:var(--card);box-shadow:0 1px 4px #00000014;color:#16a34a;color:var(--green)}.sec-student-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.sec-student-card{background:#fff;background:var(--card);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:12px;padding:16px;transition:box-shadow .15s}.sec-student-card:hover{box-shadow:0 4px 12px #00000014}.sec-student-card.verified{border-left:3px solid #16a34a;border-left:3px solid var(--green)}.sec-student-card.picked_up{border-left:3px solid #9ca3af;border-left:3px solid var(--text-light);opacity:.8}.sec-student-card.qr_sent{border-left:3px solid #2563eb;border-left:3px solid var(--blue)}.sec-student-card.pending{border-left:3px solid #d97706;border-left:3px solid var(--amber)}.sec-student-card.dispatched{border-left:3px solid #16a34a;border-left:3px solid var(--green)}.sec-student-top{align-items:flex-start;display:flex;gap:12px;margin-bottom:10px}.sec-avatar{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:16px;font-weight:700;height:42px;justify-content:center;width:42px}.sec-avatar.male{background:#dbeafe;background:var(--blue-light);color:#2563eb;color:var(--blue)}.sec-avatar.female{background:#dcfce7;background:var(--green-light);color:#15803d;color:var(--green-dark)}.sec-student-name{color:#111827;color:var(--text);font-size:14px;font-weight:600;margin:0 0 2px}.sec-student-meta{color:#6b7280;color:var(--text-muted);font-size:11px;margin:0}.sec-status-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:10px;font-weight:600;gap:4px;letter-spacing:.5px;margin-left:auto;padding:3px 8px;text-transform:uppercase}.badge-pending{background:#fef3c7;background:var(--amber-light);color:#d97706;color:var(--amber)}.badge-qr_sent{background:#dbeafe;background:var(--blue-light);color:#2563eb;color:var(--blue)}.badge-verified{background:#dcfce7;background:var(--green-light);color:#15803d;color:var(--green-dark)}.badge-picked_up{background:#f8fafc;background:var(--bg);color:#6b7280;color:var(--text-muted)}.badge-dispatched{background:#dcfce7;background:var(--green-light);color:#15803d;color:var(--green-dark)}.sec-student-pickup{align-items:center;color:#6b7280;color:var(--text-muted);display:flex;font-size:11px;gap:4px}.sec-student-actions{display:flex;gap:6px;margin-top:10px}.sec-btn-sm{background:#f8fafc;background:var(--bg);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:6px;color:#6b7280;color:var(--text-muted);cursor:pointer;flex:1 1;font-size:11px;font-weight:600;padding:6px 10px;transition:all .15s}.sec-btn-sm:hover{background:#dcfce7;background:var(--green-light);border-color:#bbf7d0;border-color:var(--border-green);color:#15803d;color:var(--green-dark)}.sec-btn-sm.primary{background:#16a34a;background:var(--green);border-color:#16a34a;border-color:var(--green);color:#fff}.sec-btn-sm.primary:hover{background:#15803d;background:var(--green-dark)}.sec-scanner-card{background:#fff;background:var(--card);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:12px;overflow:hidden}.sec-scanner-header{align-items:center;background:#f0fdf4;background:var(--green-pale);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:14px 16px}.sec-scanner-title{align-items:center;color:#111827;color:var(--text);display:flex;font-size:13px;font-weight:600;gap:6px;margin:0}.sec-scanner-body{padding:16px}.sec-scanner-viewport{align-items:center;aspect-ratio:1;background:#f8fafc;background:var(--bg);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:10px;display:flex;flex-direction:column;justify-content:center;margin-bottom:12px;overflow:hidden;position:relative}.sec-scanner-frame{animation:scanPulse 2s ease-in-out infinite;border:2px solid #16a34a;border:2px solid var(--green);border-radius:4px;height:60%;position:relative;width:60%}.sec-scanner-frame:after,.sec-scanner-frame:before{border-color:#16a34a;border-color:var(--green);border-style:solid;content:"";height:12px;position:absolute;width:12px}.sec-scanner-frame:before{border-width:3px 0 0 3px;left:-2px;top:-2px}.sec-scanner-frame:after{border-width:0 3px 3px 0;bottom:-2px;right:-2px}.sec-scanner-line{animation:scanLine 2s ease-in-out infinite;background:#16a34a;background:var(--green);height:2px;opacity:.6;position:absolute;width:58%}@keyframes scanLine{0%{top:20%}50%{top:80%}to{top:20%}}@keyframes scanPulse{0%,to{opacity:1}50%{opacity:.5}}.sec-scanner-label{bottom:16px;color:#6b7280;color:var(--text-muted);font-size:11px;position:absolute;text-align:center}.sec-scanner-select{background:#f8fafc;background:var(--bg);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:8px;color:#111827;color:var(--text);font-size:13px;margin-bottom:8px;outline:none;padding:8px 12px;width:100%}.sec-scanner-select:focus{border-color:#16a34a;border-color:var(--green)}.sec-notification{align-items:flex-start;animation:fadeSlideIn .3s ease-out;background:#fff;background:var(--card);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:10px;display:flex;font-size:12px;gap:10px;padding:10px 14px}@keyframes fadeSlideIn{0%{opacity:0;transform:translateX(10px)}to{opacity:1;transform:translateX(0)}}.sec-notification-dot{border-radius:50%;flex-shrink:0;height:8px;margin-top:4px;width:8px}.sec-notification-dot.green{background:#16a34a;background:var(--green)}.sec-notification-dot.blue{background:#2563eb;background:var(--blue)}.sec-notification-dot.amber{background:#d97706;background:var(--amber)}.sec-notification-dot.purple{background:#7c3aed}.sec-notification-time{color:#6b7280;color:var(--text-muted);flex-shrink:0;font-size:10px;margin-top:2px}.sec-transport-card{background:#fff;background:var(--card);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:12px;margin-bottom:12px;padding:16px}.sec-transport-top{align-items:flex-start;display:flex;gap:12px;margin-bottom:12px}.sec-bus-icon{align-items:center;background:#dcfce7;background:var(--green-light);border-radius:10px;display:flex;flex-shrink:0;font-size:20px;height:44px;justify-content:center;width:44px}.sec-transport-name{color:#111827;color:var(--text);font-size:14px;font-weight:700;margin:0 0 2px}.sec-transport-meta{color:#6b7280;color:var(--text-muted);font-size:11px;margin:0}.sec-transport-qr-btn{background:#16a34a;background:var(--green);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:11px;font-weight:600;margin-left:auto;padding:6px 12px;transition:background .15s}.sec-transport-qr-btn:hover{background:#15803d;background:var(--green-dark)}.sec-modal-overlay{align-items:center;background:#0006;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:100}.sec-modal{animation:modalIn .15s ease-out;background:#fff;background:var(--card);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:16px;max-width:440px;padding:28px;width:100%}@keyframes modalIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.sec-modal-title{color:#111827;color:var(--text);font-size:18px;font-weight:700;margin:0 0 20px}.sec-verify-result{border-radius:12px;margin-bottom:20px;padding:20px;text-align:center}.sec-verify-result.success{background:#dcfce7;background:var(--green-light);border:1px solid #bbf7d0;border:1px solid var(--border-green)}.sec-verify-result.failure{background:#fee2e2;background:var(--red-light);border:1px solid #fca5a5}.sec-verify-icon{font-size:48px;margin-bottom:8px}.sec-verify-status{font-size:20px;font-weight:800;margin:0}.sec-verify-result.success .sec-verify-status{color:#15803d;color:var(--green-dark)}.sec-verify-result.failure .sec-verify-status{color:#dc2626;color:var(--red)}.sec-info-row{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border);display:flex;font-size:13px;justify-content:space-between;padding:8px 0}.sec-info-row:last-child{border-bottom:none}.sec-info-label{color:#6b7280;color:var(--text-muted)}.sec-info-value{color:#111827;color:var(--text);font-weight:500}.sec-modal-actions{display:flex;gap:8px;margin-top:20px}.sec-modal-btn{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:13px;font-weight:600;padding:10px;transition:all .15s}.sec-modal-btn.primary{background:#16a34a;background:var(--green);color:#fff}.sec-modal-btn.secondary{background:#f8fafc;background:var(--bg);border:1px solid #e5e7eb;border:1px solid var(--border);color:#6b7280;color:var(--text-muted)}.sec-modal-btn.danger{background:#dc2626;background:var(--red);color:#fff}.sec-modal-btn.primary:hover{background:#15803d;background:var(--green-dark)}.sec-modal-btn.secondary:hover{color:#111827;color:var(--text)}.sec-qr-modal{max-width:380px;text-align:center}.sec-qr-wrap{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:12px;display:inline-block;margin:16px 0;padding:20px}.sec-qr-caption{color:#6b7280;color:var(--text-muted);font-size:11px;margin:0}.parent-qr-page{align-items:flex-start;background:#f8fafc;background:var(--bg);display:flex;justify-content:center;padding:24px}.parent-qr-email-wrap{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:16px;box-shadow:0 4px 24px #00000014;max-width:500px;overflow:hidden;width:100%}.parent-qr-email-header{background:#16a34a;background:var(--green);padding:28px 32px;text-align:center}.parent-qr-school-badge{align-items:center;background:#fff3;border-radius:14px;display:flex;font-size:26px;height:56px;justify-content:center;margin:0 auto 12px;width:56px}.parent-qr-school-name{color:#fff;font-size:18px;font-weight:700;margin:0 0 4px}.parent-qr-email-subject{color:#ffffffbf;font-size:13px;margin:0}.parent-qr-email-body{padding:32px}.parent-qr-greeting{color:#111827;color:var(--text);font-size:15px;margin:0 0 20px}.parent-qr-student-card{align-items:center;background:#f0fdf4;background:var(--green-pale);border:1px solid #bbf7d0;border:1px solid var(--border-green);border-radius:12px;display:flex;gap:14px;margin-bottom:24px;padding:16px}.parent-qr-student-avatar{align-items:center;background:#16a34a;background:var(--green);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:20px;font-weight:700;height:48px;justify-content:center;width:48px}.parent-qr-student-name{color:#111827;color:var(--text);font-size:16px;font-weight:700;margin:0 0 2px}.parent-qr-student-class{color:#6b7280;color:var(--text-muted);font-size:12px;margin:0}.parent-qr-instructions{color:#111827;color:var(--text);font-size:13px;line-height:1.6;margin:0 0 20px}.parent-qr-code-section{background:#f0fdf4;background:var(--green-pale);border:2px dashed #bbf7d0;border:2px dashed var(--border-green);border-radius:12px;margin-bottom:24px;padding:24px;text-align:center}.parent-qr-code-title{color:#111827;color:var(--text);font-size:13px;font-weight:600;letter-spacing:1px;margin:0 0 16px;text-transform:uppercase}.parent-qr-code-img{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;display:inline-block;margin-bottom:12px;padding:16px}.parent-qr-valid{align-items:center;background:#dcfce7;background:var(--green-light);border-radius:20px;color:#15803d;color:var(--green-dark);display:inline-flex;font-size:12px;font-weight:600;gap:6px;padding:6px 14px}.parent-qr-warning{align-items:flex-start;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;color:#92400e;display:flex;font-size:12px;gap:8px;margin-bottom:20px;padding:12px}.parent-qr-footer{border-top:1px solid #e5e7eb;border-top:1px solid var(--border);color:#6b7280;color:var(--text-muted);font-size:11px;padding:16px 32px;text-align:center}.driver-page,.parent-qr-footer{background:#f8fafc;background:var(--bg)}.driver-page{display:flex;flex-direction:column}.driver-header{align-items:center;background:#16a34a;background:var(--green);display:flex;gap:12px;padding:14px 20px}.driver-header-info h2{color:#fff;font-size:15px;font-weight:700;margin:0 0 2px}.driver-header-info p{color:#ffffffb3;font-size:12px;margin:0}.driver-sharing-badge{align-items:center;background:#ffffff26;border:1px solid #ffffff4d;border-radius:20px;color:#fff;display:flex;font-size:11px;font-weight:600;gap:6px;margin-left:auto;padding:6px 12px}.driver-sharing-dot{animation:pulse-dot 1.5s ease-in-out infinite;background:#fff;border-radius:50%;height:8px;width:8px}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}.map-heading-rotor{transform-origin:50% 50%;transition:transform .6s ease}.map-waiting-fix{align-items:center;color:#6b7280;color:var(--text-muted,#6b7280);display:flex;font-size:12px;gap:8px;height:100%;justify-content:center}#driver-map{flex:1 1;min-height:420px}.driver-bottom-sheet{background:#fff;border-top:2px solid #16a34a;border-top:2px solid var(--green)}.driver-coords-bar{align-items:center;background:#f0fdf4;background:var(--green-pale);border-bottom:1px solid #bbf7d0;border-bottom:1px solid var(--border-green);display:flex;font-family:Courier New,monospace;font-size:12px;gap:20px;padding:10px 20px}.driver-coord-item{display:flex;gap:6px}.driver-coord-label{color:#6b7280;color:var(--text-muted)}.driver-coord-value{color:#15803d;color:var(--green-dark);font-weight:700}.driver-coord-sep{color:#e5e7eb;color:var(--border)}.driver-bottom-tabs{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border);display:flex}.driver-bottom-tab{background:#0000;border:none;border-bottom:2px solid #0000;color:#6b7280;color:var(--text-muted);cursor:pointer;flex:1 1;font-size:12px;font-weight:600;padding:10px;transition:all .15s}.driver-bottom-tab.active{border-bottom-color:#16a34a;border-bottom-color:var(--green);color:#16a34a;color:var(--green)}.driver-bottom-content{max-height:220px;overflow-y:auto;padding:16px 20px}.driver-student-row{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border);display:flex;font-size:13px;gap:10px;padding:8px 0}.driver-student-row:last-child{border-bottom:none}.driver-student-name{color:#111827;color:var(--text);flex:1 1;font-weight:500}.driver-student-stop{color:#6b7280;color:var(--text-muted);font-size:11px}.driver-checkbox{align-items:center;background:#0000;border:2px solid #e5e7eb;border:2px solid var(--border);border-radius:4px;cursor:pointer;display:flex;flex-shrink:0;height:18px;justify-content:center;transition:all .15s;width:18px}.driver-checkbox.checked{background:#16a34a;background:var(--green);border-color:#16a34a;border-color:var(--green);color:#fff;font-size:11px}.driver-stop-row{align-items:center;display:flex;gap:10px;padding:8px 0}.driver-stop-indicator{border-radius:50%;flex-shrink:0;height:10px;width:10px}.driver-stop-indicator.completed{background:#16a34a;background:var(--green)}.driver-stop-indicator.current{animation:pulse-dot 1s infinite;background:#d97706;background:var(--amber)}.driver-stop-indicator.upcoming{background:#e5e7eb;background:var(--border);border:2px solid #9ca3af;border:2px solid var(--text-light)}.driver-stop-name{flex:1 1;font-size:13px}.driver-stop-name.completed{color:#9ca3af;color:var(--text-light);text-decoration:line-through}.driver-stop-name.current{color:#d97706;color:var(--amber);font-weight:600}.driver-stop-count,.driver-stop-name.upcoming{color:#6b7280;color:var(--text-muted)}.driver-stop-count{font-size:11px}.verify-page{align-items:center;background:#f8fafc;background:var(--bg);display:flex;flex-direction:column;padding:24px}.verify-card{background:#fff;background:var(--card);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:20px;max-width:420px;overflow:hidden;width:100%}.verify-result-banner{padding:28px 24px;text-align:center}.verify-result-banner.success{background:#dcfce7;background:var(--green-light)}.verify-result-banner.failure{background:#fee2e2;background:var(--red-light)}.verify-result-icon{font-size:56px;margin-bottom:8px}.verify-result-title{font-size:24px;font-weight:800;margin:0 0 4px}.verify-result-banner.success .verify-result-title{color:#15803d;color:var(--green-dark)}.verify-result-banner.failure .verify-result-title{color:#dc2626;color:var(--red)}.verify-result-sub{color:#6b7280;color:var(--text-muted);font-size:13px;margin:0}.verify-body{padding:24px}.verify-section-label{color:#6b7280;color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:1.5px;margin:0 0 10px;text-transform:uppercase}.verify-info-box{background:#f8fafc;background:var(--bg);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:10px;margin-bottom:16px;padding:14px}.verify-actions{display:flex;gap:8px;padding:0 24px 24px}.verify-action-btn{border:none;border-radius:10px;cursor:pointer;flex:1 1;font-size:13px;font-weight:700;padding:12px;transition:all .15s}.verify-action-btn.confirm{background:#16a34a;background:var(--green);color:#fff}.verify-action-btn.back,.verify-action-btn.report{background:#f8fafc;background:var(--bg);border:1px solid #e5e7eb;border:1px solid var(--border);color:#6b7280;color:var(--text-muted)}.verify-action-btn.confirm:hover{background:#15803d;background:var(--green-dark)}.verify-location-sent{align-items:center;background:#f0fdf4;background:var(--green-pale);border:1px solid #bbf7d0;border:1px solid var(--border-green);border-radius:8px;color:#15803d;color:var(--green-dark);display:flex;font-size:12px;gap:8px;margin-top:12px;padding:10px 14px}.admin-track-page{background:#f8fafc;background:var(--bg);color:#111827;color:var(--text);display:flex;flex-direction:column;font-family:Inter,Segoe UI,sans-serif}#admin-track-map{flex-shrink:0;height:380px;width:100%}.admin-track-body{flex:1 1;overflow-y:auto;padding:20px 24px}.admin-filter-bar{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px}.admin-filter-btn{align-items:center;background:#fff;border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:20px;color:#6b7280;color:var(--text-muted);cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:5px;padding:6px 14px;transition:all .15s}.admin-filter-btn.active{background:#16a34a;background:var(--green);border-color:#16a34a;border-color:var(--green);color:#fff}.admin-filter-btn .count{background:#0000001a;border-radius:10px;font-size:10px;padding:1px 6px}.admin-filter-btn.active .count{background:#ffffff40}.admin-student-list{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.admin-student-card{background:#fff;background:var(--card);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:12px;cursor:pointer;padding:16px;transition:box-shadow .15s}.admin-student-card:hover{box-shadow:0 4px 12px #00000014}.admin-student-card.en_route{border-left:3px solid #d97706;border-left:3px solid var(--amber)}.admin-student-card.en_route_bus{border-left:3px solid #2563eb;border-left:3px solid var(--blue)}.admin-student-card.en_route_collector{border-left:3px solid #d97706;border-left:3px solid var(--amber)}.admin-student-card.arrived_unconfirmed{border-left:3px solid #7c3aed}.admin-student-card.safe_confirmed{border-left:3px solid #16a34a;border-left:3px solid var(--green)}.admin-student-card.pending{border-left:3px solid #9ca3af;border-left:3px solid var(--text-light)}.admin-card-top{align-items:flex-start;display:flex;gap:12px;margin-bottom:10px}.admin-gps-pill{align-items:center;background:#f0fdf4;background:var(--green-pale);border:1px solid #bbf7d0;border:1px solid var(--border-green);border-radius:6px;color:#15803d;color:var(--green-dark);display:inline-flex;font-family:Courier New,monospace;font-size:11px;font-weight:700;gap:5px;letter-spacing:.5px;margin-bottom:6px;padding:3px 9px}.admin-neighbourhood,.admin-note-preview{color:#6b7280;color:var(--text-muted);font-size:11px}.admin-note-preview{background:#f8fafc;background:var(--bg);border-left:2px solid #16a34a;border-left:2px solid var(--green);border-radius:0 6px 6px 0;line-height:1.4;margin-top:8px;padding:6px 10px}.admin-note-author{color:#9ca3af;color:var(--text-light);font-size:10px;margin-top:3px}.admin-arrival-time{align-items:center;color:#6b7280;color:var(--text-muted);display:flex;font-size:10px;gap:5px;margin-top:6px}.admin-map-legend{background:#fffffff2;border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:8px;bottom:40px;color:#6b7280;color:var(--text-muted);font-size:11px;padding:10px 14px;position:absolute;right:10px;z-index:1000}.admin-legend-row{align-items:center;display:flex;gap:8px;padding:3px 0}.admin-legend-dot{border-radius:50%;flex-shrink:0;height:10px;width:10px}.parent-portal-page{background:#f8fafc;background:var(--bg);font-family:Inter,Segoe UI,sans-serif}.parent-portal-header{align-items:center;background:#16a34a;background:var(--green);display:flex;justify-content:space-between;padding:16px 20px}.parent-portal-header-left{align-items:center;display:flex;gap:10px}.parent-portal-header h1{color:#fff;font-size:16px;font-weight:700;margin:0}.parent-portal-header p{color:#ffffffb3;font-size:12px;margin:0}.parent-portal-body{margin:0 auto;max-width:540px;padding:20px 16px 40px}.parent-student-card{align-items:center;background:#fff;border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:16px;box-shadow:0 2px 8px #0000000f;display:flex;gap:14px;margin-bottom:16px;padding:20px}.parent-student-avatar-lg{align-items:center;background:#16a34a;background:var(--green);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:22px;font-weight:700;height:56px;justify-content:center;width:56px}.parent-student-name{color:#111827;color:var(--text);font-size:18px;font-weight:700;margin:0 0 2px}.parent-student-meta{color:#6b7280;color:var(--text-muted);font-size:12px;margin:0}.parent-gps-badge{margin-left:auto;text-align:right}.parent-gps-code{background:#f0fdf4;background:var(--green-pale);border:1px solid #bbf7d0;border:1px solid var(--border-green);border-radius:6px;color:#15803d;color:var(--green-dark);display:inline-block;font-family:Courier New,monospace;font-size:13px;font-weight:700;margin-bottom:2px;padding:3px 8px}.parent-gps-label{color:#6b7280;color:var(--text-muted);font-size:10px;text-align:center}.parent-status-card{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:16px;margin-bottom:16px;padding:24px 20px;text-align:center;transition:all .2s}.parent-status-card.pending{border-color:#e5e7eb;border-color:var(--border)}.parent-status-card.en_route{background:#fffbeb;border-color:#fde68a}.parent-status-card.arrived_unconfirmed{background:#eff6ff;border-color:#bfdbfe}.parent-status-card.safe_confirmed{background:#f0fdf4;background:var(--green-pale);border-color:#bbf7d0;border-color:var(--border-green)}.parent-status-icon{display:block;font-size:52px;margin-bottom:8px}.parent-status-title{font-size:20px;font-weight:800;margin:0 0 4px}.parent-status-card.pending .parent-status-title{color:#6b7280;color:var(--text-muted)}.parent-status-card.en_route .parent-status-title{color:#d97706;color:var(--amber)}.parent-status-card.arrived_unconfirmed .parent-status-title{color:#2563eb;color:var(--blue)}.parent-status-card.safe_confirmed .parent-status-title{color:#15803d;color:var(--green-dark)}.parent-status-sub{color:#6b7280;color:var(--text-muted);font-size:13px;margin:0 0 8px}.parent-status-time{color:#9ca3af;color:var(--text-light);font-size:12px;margin:0}#parent-mini-map{border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:12px;height:200px;margin:12px 0 0;overflow:hidden;width:100%}.parent-confirm-btn{background:#16a34a;background:var(--green);border:none;border-radius:16px;color:#fff;cursor:pointer;display:block;font-size:17px;font-weight:800;letter-spacing:.3px;margin-bottom:16px;padding:18px;transition:background .15s;width:100%}.parent-confirm-btn:hover{background:#15803d;background:var(--green-dark)}.parent-confirm-btn:active{opacity:.9}.parent-confirmed-banner{background:#f0fdf4;background:var(--green-pale);border:1px solid #bbf7d0;border:1px solid var(--border-green);border-radius:16px;margin-bottom:16px;padding:20px;text-align:center}.parent-confirmed-banner .icon{display:block;font-size:40px;margin-bottom:8px}.parent-confirmed-banner h3{color:#15803d;color:var(--green-dark);font-size:18px;font-weight:700;margin:0 0 4px}.parent-confirmed-banner p{color:#16a34a;color:var(--green);font-size:12px;margin:0}.parent-notes-section{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:16px;margin-bottom:16px;overflow:hidden}.parent-notes-header{align-items:center;background:#f0fdf4;background:var(--green-pale);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:16px 20px}.parent-notes-title{color:#111827;color:var(--text);font-size:14px;font-weight:700;margin:0}.parent-notes-count{background:#dcfce7;background:var(--green-light);border-radius:10px;color:#15803d;color:var(--green-dark);font-size:11px;font-weight:600;padding:2px 8px}.parent-note-item{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border);padding:14px 20px}.parent-note-item:last-child{border-bottom:none}.parent-note-text{color:#111827;color:var(--text);font-size:13px;line-height:1.5;margin:0 0 6px}.parent-note-meta{align-items:center;color:#6b7280;color:var(--text-muted);display:flex;font-size:11px;gap:8px}.parent-note-confirmation-badge{align-items:center;background:#dcfce7;background:var(--green-light);border-radius:10px;color:#15803d;color:var(--green-dark);display:inline-flex;font-size:10px;font-weight:600;gap:4px;padding:2px 8px}.parent-add-note{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:16px;margin-bottom:16px;padding:20px}.parent-add-note-title{color:#111827;color:var(--text);font-size:14px;font-weight:700;margin:0 0 12px}.parent-note-textarea{background:#f8fafc;background:var(--bg);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:10px;box-sizing:border-box;color:#111827;color:var(--text);font-family:inherit;font-size:13px;line-height:1.5;outline:none;padding:12px;resize:none;transition:border-color .15s;width:100%}.parent-note-textarea:focus{border-color:#16a34a;border-color:var(--green)}.parent-note-submit-btn{background:#16a34a;background:var(--green);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;margin-top:10px;padding:10px 20px;transition:background .15s}.parent-note-submit-btn:hover{background:#15803d;background:var(--green-dark)}.parent-note-submit-btn:disabled{background:#9ca3af;background:var(--text-light);cursor:not-allowed}.parent-switcher{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border);display:flex;gap:8px;overflow-x:auto;padding:10px 16px}.bus-marker-icon{background:#0000!important;border:none!important;font-size:28px;line-height:1}.leaflet-container{background:#1a1f2e}@media (max-width:900px){.sec-main{grid-template-columns:1fr;height:auto}.sec-right{border-top:1px solid #e5e7eb;border-top:1px solid var(--border)}.sec-stats-bar{grid-template-columns:repeat(2,1fr)}}.ga-settings-btn{align-items:center;background:#fff;background:var(--surface,#fff);border:1px solid #d1d5db;border:1px solid var(--border,#d1d5db);border-radius:8px;color:#111827;color:var(--text,#111827);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;padding:8px 14px}.ga-settings-btn:hover{background:#f9fafb;background:var(--bg,#f9fafb)}.ga-checkin-panel{margin-top:16px}.ga-search-box{align-items:center;background:#fff;background:var(--surface,#fff);border:1px solid #d1d5db;border:1px solid var(--border,#d1d5db);border-radius:10px;color:#6b7280;color:var(--text-muted,#6b7280);display:flex;gap:10px;padding:12px 16px}.ga-search-box input{background:#0000;border:none;color:#111827;color:var(--text,#111827);flex:1 1;font-size:16px;outline:none}.ga-hint{color:#6b7280;color:var(--text-muted,#6b7280);font-size:13px;padding:12px 4px}.ga-scan-toggle-btn{align-items:center;background:#f9fafb;background:var(--bg,#f9fafb);border:1px solid #d1d5db;border:1px solid var(--border,#d1d5db);border-radius:8px;color:#111827;color:var(--text,#111827);cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:8px 14px;white-space:nowrap}.ga-scan-panel{background:#fff;background:var(--surface,#fff);border:1px solid #d1d5db;border:1px solid var(--border,#d1d5db);border-radius:10px;margin-top:10px;padding:16px}.ga-scan-mode-toggle{display:flex;gap:8px;margin-bottom:12px}.ga-scan-mode-btn{align-items:center;background:#f9fafb;background:var(--bg,#f9fafb);border:1px solid #d1d5db;border:1px solid var(--border,#d1d5db);border-radius:8px;color:#6b7280;color:var(--text-muted,#6b7280);cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:8px 14px}.ga-scan-mode-btn.active{background:#16a34a;background:var(--green,#16a34a);border-color:#16a34a;border-color:var(--green,#16a34a);color:#fff}.ga-checkbox-label{align-items:center;display:flex;font-size:14px;gap:8px;margin-top:12px}.ga-search-results{display:flex;flex-direction:column;gap:8px;margin-top:10px}.ga-search-row{align-items:center;background:#fff;background:var(--surface,#fff);border:1px solid #d1d5db;border:1px solid var(--border,#d1d5db);border-radius:10px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:12px 16px}.ga-search-row-info{display:flex;flex-direction:column;gap:2px}.ga-search-row-name{color:#111827;color:var(--text,#111827);font-weight:600}.ga-search-row-meta{color:#6b7280;color:var(--text-muted,#6b7280);font-size:12px}.ga-search-row-actions{display:flex;gap:8px}.ga-action-btn{align-items:center;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:8px 14px}.ga-action-btn:disabled{cursor:not-allowed;opacity:.6}.ga-action-btn.checkin{background:#16a34a;background:var(--green,#16a34a)}.ga-action-btn.checkout{background:#2563eb;background:var(--blue,#2563eb)}.ga-action-btn.neutral{background:#6b7280;background:var(--text-muted,#6b7280)}.ga-search-row-pin{align-items:center;border-top:1px dashed #d1d5db;border-top:1px dashed var(--border,#d1d5db);display:flex;gap:8px;padding-top:4px;width:100%}.ga-search-row-pin input{border:1px solid #d1d5db;border:1px solid var(--border,#d1d5db);border-radius:8px;flex:1 1;font-size:13px;min-width:0;padding:8px 10px}.ga-filter-row{margin:16px 0}.ga-select{border:1px solid #d1d5db;border:1px solid var(--border,#d1d5db);border-radius:8px;color:#111827;color:var(--text,#111827);font-size:14px;padding:8px 12px}.ga-select,.ga-table{background:#fff;background:var(--surface,#fff)}.ga-table{border-collapse:collapse;border-radius:10px;margin-top:12px;overflow:hidden;width:100%}.ga-table th{border-bottom:1px solid #d1d5db;border-bottom:1px solid var(--border,#d1d5db);color:#6b7280;color:var(--text-muted,#6b7280);font-size:12px;letter-spacing:.03em;padding:10px 14px;text-align:left;text-transform:uppercase}.ga-table td{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border,#e5e7eb);color:#111827;color:var(--text,#111827);font-size:14px;padding:12px 14px}.ga-empty{color:#6b7280;color:var(--text-muted,#6b7280);padding:24px!important;text-align:center}.ga-modal-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.ga-modal{background:#fff;background:var(--surface,#fff);border-radius:12px;display:flex;flex-direction:column;gap:12px;max-width:420px;padding:24px;width:100%}.ga-modal h3{align-items:center;gap:8px;margin:0}.ga-modal h3,.ga-modal label{color:#111827;color:var(--text,#111827);display:flex}.ga-modal label{flex-direction:column;font-size:13px;font-weight:600;gap:6px}.ga-modal input[type=time]{border:1px solid #d1d5db;border:1px solid var(--border,#d1d5db);border-radius:8px;font-size:14px;padding:8px 10px}.ga-modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.ga-btn-primary,.ga-btn-secondary{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px}.ga-btn-secondary{background:#f3f4f6;background:var(--bg,#f3f4f6);color:#111827;color:var(--text,#111827)}.ga-btn-primary{background:#16a34a;background:var(--green,#16a34a);color:#fff}.ga-btn-primary:disabled{cursor:not-allowed;opacity:.6}.leaflet-image-layer,.leaflet-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane,.leaflet-pane>canvas,.leaflet-pane>svg,.leaflet-tile,.leaflet-tile-container,.leaflet-zoom-box{left:0;position:absolute;top:0}.leaflet-container{overflow:hidden}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.leaflet-tile::selection{background:#0000}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{height:1600px;-webkit-transform-origin:0 0;width:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-height:none!important;max-width:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer{max-height:none!important;max-width:none!important;padding:0;width:auto}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;height:0;width:0;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{height:1px;width:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{pointer-events:visiblePainted;pointer-events:auto;position:relative;z-index:800}.leaflet-bottom,.leaflet-top{pointer-events:none;position:absolute;z-index:1000}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{clear:both;float:left}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-pan-anim .leaflet-tile,.leaflet-zoom-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-control,.leaflet-popup-pane{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:grabbing}.leaflet-image-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-image-layer.leaflet-interactive,.leaflet-marker-icon.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;color:#000;display:block;height:26px;line-height:26px;text-align:center;text-decoration:none;width:26px}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:focus,.leaflet-bar a:hover{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.leaflet-bar a.leaflet-disabled{background-color:#f4f4f4;color:#bbb;cursor:default}.leaflet-touch .leaflet-bar a{height:30px;line-height:30px;width:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);height:36px;width:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{height:44px;width:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{background:#fff;color:#333;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{overflow-x:hidden;overflow-y:scroll;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;line-height:1.4;padding:0 5px}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:focus,.leaflet-control-attribution a:hover{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;height:.6669em;vertical-align:initial!important;width:1em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{background:#fffc;border:2px solid #777;border-top:none;box-sizing:border-box;line-height:1.1;padding:2px 5px 1px;text-shadow:1px 1px #fff;white-space:nowrap}.leaflet-control-scale-line:not(:first-child){border-bottom:none;border-top:2px solid #777;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers{box-shadow:none}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-layers{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{margin-bottom:20px;position:absolute;text-align:center}.leaflet-popup-content-wrapper{border-radius:12px;padding:1px;text-align:left}.leaflet-popup-content{font-size:13px;font-size:1.08333em;line-height:1.3;margin:13px 24px 13px 20px;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{height:20px;left:50%;margin-left:-20px;margin-top:-1px;overflow:hidden;pointer-events:none;position:absolute;width:40px}.leaflet-popup-tip{height:17px;margin:-10px auto 0;padding:1px;pointer-events:auto;transform:rotate(45deg);width:17px}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;box-shadow:0 3px 14px #0006;color:#333}.leaflet-container a.leaflet-popup-close-button{background:#0000;border:none;color:#757575;font:16px/24px Tahoma,Verdana,sans-serif;height:24px;position:absolute;right:0;text-align:center;text-decoration:none;top:0;width:24px}.leaflet-container a.leaflet-popup-close-button:focus,.leaflet-container a.leaflet-popup-close-button:hover{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678,M12=0.70710678,M21=-0.70710678,M22=0.70710678);margin:0 auto;width:24px}.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{background-color:#fff;border:1px solid #fff;border-radius:3px;box-shadow:0 1px 3px #0006;color:#222;padding:6px;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;white-space:nowrap}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before,.leaflet-tooltip-top:before{background:#0000;border:6px solid #0000;content:"";pointer-events:none;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{border-top-color:#fff;bottom:0;margin-bottom:-12px}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-left:-6px;margin-top:-12px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;left:0;margin-left:-12px}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.pp-hero{margin:0 auto;max-width:900px;padding:160px 32px 72px;text-align:center}.pp-hero-h1{color:var(--land-text);font-family:Manrope,sans-serif;font-size:clamp(32px,4.5vw,52px);font-weight:800;letter-spacing:-.03em;line-height:1.15;margin-bottom:20px}.pp-hero-sub{color:var(--land-muted);font-size:18px;line-height:1.65;margin:0 auto;max-width:640px}.pp-plans-grid{grid-gap:24px;align-items:stretch;display:grid;gap:24px;grid-template-columns:repeat(3,1fr)}.pp-plan-card{background:#fff;border:1px solid var(--land-border);border-radius:16px;display:flex;flex-direction:column;padding:40px 32px;position:relative;transition:box-shadow .2s,border-color .2s,transform .2s}.pp-plan-card:hover{box-shadow:0 12px 40px #1f5c3a1a;transform:translateY(-3px)}.pp-plan-card--highlight{border-color:var(--land-forest);box-shadow:0 20px 60px #1f5c3a26}.pp-plan-badge{background:var(--land-forest);border-radius:20px;color:#fff;font-size:11px;font-weight:700;left:50%;letter-spacing:1px;padding:6px 16px;position:absolute;text-transform:uppercase;top:-13px;transform:translateX(-50%);white-space:nowrap}.pp-plan-icon{align-items:center;background:var(--land-stone);border-radius:12px;color:var(--land-forest);display:flex;height:48px;justify-content:center;margin-bottom:20px;width:48px}.pp-plan-name{color:var(--land-text);font-family:Manrope,sans-serif;font-size:22px;font-weight:800;margin-bottom:8px}.pp-plan-tagline{color:var(--land-muted);font-size:14px;line-height:1.6;margin-bottom:16px;min-height:44px}.pp-plan-price{border-bottom:1px solid var(--land-border);color:var(--land-moss);font-size:15px;font-weight:700;margin-bottom:20px;padding-bottom:20px}.pp-plan-features{display:flex;flex:1 1;flex-direction:column;gap:12px;list-style:none;margin-bottom:28px}.pp-plan-features li{align-items:flex-start;color:var(--land-text);display:flex;font-size:14px;font-weight:500;gap:10px;line-height:1.5}.pp-plan-features .icon{color:var(--land-moss);flex-shrink:0;margin-top:2px}.pp-plan-feature--standout{color:var(--land-forest);font-weight:700}.pp-plan-feature--standout .icon{color:var(--land-forest)}.pp-note-body{color:var(--land-muted);font-size:16px;line-height:1.75;margin:0 auto;max-width:680px}@media (max-width:1024px){.pp-plans-grid{grid-template-columns:1fr;margin:0 auto;max-width:480px}}@media (max-width:768px){.pp-hero{padding:120px 24px 48px}}.otp-verification-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.otp-card{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:420px;padding:48px 40px;width:100%}.otp-header{margin-bottom:40px;text-align:center}.otp-header h2{color:#333;font-size:24px;font-weight:600;margin:0 0 12px}.otp-header p{color:#666;font-size:14px;margin:0}.email-display{color:#667eea;font-size:15px;font-weight:600;margin-top:8px!important}.otp-form{display:flex;flex-direction:column;gap:24px}.otp-inputs{grid-gap:12px;background:#f8f9fa;border-radius:12px;display:grid;gap:12px;grid-template-columns:repeat(6,1fr);padding:20px}.otp-input{aspect-ratio:1;background:#fff;border:2px solid #e0e0e0;border-radius:8px;color:#333;font-size:20px;font-weight:600;text-align:center;transition:all .2s ease;width:100%}.otp-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.otp-input:disabled{background:#f5f5f5;cursor:not-allowed;opacity:.6}.otp-input::-webkit-inner-spin-button,.otp-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.otp-input[type=number]{-moz-appearance:textfield}.otp-timer{display:flex;justify-content:center}.timer{background:#f0f0f0;border-radius:6px;color:#666;font-size:14px;font-weight:500;padding:8px 16px}.timer.warning{background:#ffe0e0;color:#ff6b6b}.btn{padding:12px 24px}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2)}.btn-primary:hover:not(:disabled){box-shadow:0 10px 20px #667eea4d;transform:translateY(-2px)}.btn-full{width:100%}.otp-footer{border-top:1px solid #e0e0e0;margin-top:24px;padding-top:24px;text-align:center}.otp-footer p{color:#666;font-size:14px;margin:0 0 12px}.btn-link{background:none;border:none;color:#667eea;cursor:pointer;font-size:14px;font-weight:600;padding:0;text-decoration:none;transition:color .2s ease}.btn-link:hover:not(:disabled){color:#764ba2}.btn-link:disabled{color:#ccc;cursor:not-allowed}@media (max-width:480px){.otp-card{padding:32px 20px}.otp-header h2{font-size:20px}.otp-inputs{gap:10px;grid-template-columns:repeat(3,1fr);padding:16px}.otp-input{font-size:16px}}.kiosk-login-page{align-items:center;background:linear-gradient(135deg,#1d4ed8,#1e3a8a);display:flex;justify-content:center;min-height:100vh;padding:24px}.kiosk-login-card{background:#fff;border-radius:16px;box-shadow:0 20px 50px #00000040;max-width:420px;padding:32px 28px;width:100%}.kiosk-login-header h1{color:#111827;font-size:22px;font-weight:700;margin:0 0 8px;text-align:center}.kiosk-login-header p{color:#6b7280;font-size:14px;line-height:1.5;margin:0 0 24px;text-align:center}.kiosk-login-step{align-items:center;display:flex;flex-direction:column;gap:12px}.kiosk-login-icon{color:#1d4ed8}.kiosk-login-status{color:#6b7280;font-size:13px}.kiosk-login-greeting{color:#111827;font-size:16px;font-weight:600;text-align:center}.kiosk-pin-form{align-items:center;display:flex;flex-direction:column;gap:12px;width:100%}.kiosk-pin-input{font-feature-settings:"tnum";border:2px solid #e5e7eb;border-radius:10px;font-size:28px;font-variant-numeric:tabular-nums;letter-spacing:12px;padding:10px 12px;text-align:center;width:160px}.kiosk-pin-input:focus{border-color:#1d4ed8;outline:none}.kiosk-login-back{align-items:center;background:none;border:none;color:#6b7280;cursor:pointer;display:flex;font-size:13px;gap:4px;margin-top:4px}.kiosk-login-back:hover{color:#1d4ed8}.kiosk-login-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#b91c1c;font-size:13px;margin-top:16px;padding:10px 12px;text-align:center}.kiosk-portal-page{background:#f3f4f6;min-height:100vh;overflow-x:hidden;padding:16px 20px 40px}.kiosk-portal-topbar{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.kiosk-portal-greeting{color:#111827;font-size:20px;font-weight:700}.kiosk-portal-done{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;display:flex;font-weight:600;gap:6px;padding:8px 14px}.kiosk-portal-done:hover{border-color:#1d4ed8;color:#1d4ed8}.kiosk-idle-banner{align-items:center;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;color:#92400e;display:flex;font-size:14px;font-weight:600;gap:8px;margin-bottom:12px;padding:10px 14px}.kiosk-portal-content{margin:0 auto;max-width:640px}.kiosk-stat-card{padding:18px}.kiosk-stat-label{color:#6b7280;font-size:13px;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.kiosk-stat-value{font-feature-settings:"tnum";color:#111827;font-size:26px;font-variant-numeric:tabular-nums;font-weight:700;margin-top:4px}.csv-modal-overlay{align-items:center;animation:fadeIn .3s ease;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.csv-modal-content{animation:slideUp .3s ease;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:800px;overflow:hidden;width:100%}.csv-modal-header{background:linear-gradient(135deg,#064e3b,#053a2e);border-bottom:none;color:#fff;justify-content:space-between;padding:28px}.csv-modal-header,.header-content{align-items:flex-start;display:flex}.header-content{flex:1 1;gap:16px}.header-icon{color:#a3e4d7;flex-shrink:0;margin-top:2px}.csv-modal-header h2{font-size:22px;font-weight:700;margin:0}.csv-modal-header p{font-size:14px;margin:4px 0 0;opacity:.9}.close-btn{background:#ffffff1a;border-radius:6px;color:#fff;flex-shrink:0;height:40px;width:40px}.close-btn:hover{background:#fff3}.csv-modal-body{display:flex;flex:1 1;flex-direction:column;gap:24px;overflow-y:auto;padding:28px}.import-steps{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:1fr auto 1fr auto 1fr;margin-bottom:8px}.step{align-items:flex-start;display:flex;gap:12px}.step-number{background:#064e3b;color:#fff;flex-shrink:0;height:32px;min-width:32px}.step-content h4{color:#333;font-size:14px;font-weight:600;margin:0 0 4px}.step-content p{color:#666;font-size:12px;margin:0}.step-content .btn{margin-top:8px}.step-arrow{color:#d0d8e0;font-size:18px;font-weight:700}@media (max-width:768px){.import-steps{gap:16px;grid-template-columns:1fr}.step-arrow{display:none}}.file-upload-zone{align-items:center;background:#fafbfc;border:2px dashed #d0d8e0;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-height:180px;padding:40px 20px;position:relative;text-align:center;transition:all .3s ease}.file-upload-zone.active,.file-upload-zone:hover:not(.disabled){background:#f0fdf9;border-color:#064e3b}.file-upload-zone.active{box-shadow:0 0 0 3px #064e3b1a}.file-upload-zone.disabled{cursor:not-allowed;opacity:.6}.upload-icon{color:#064e3b;margin-bottom:12px;opacity:.7}.file-upload-zone h3{color:#333;font-size:16px;font-weight:600;margin:0 0 8px}.file-upload-zone p{color:#666;font-size:13px;margin:4px 0}.file-input-label{color:#064e3b;cursor:pointer;font-weight:600;transition:all .3s ease}.file-input-label:hover{text-decoration:underline}.file-hint{color:#999;font-size:12px;margin-top:8px}.selected-file{align-items:center;background:#fff;border:1px solid #064e3b;border-radius:6px;color:#064e3b;display:flex;font-size:13px;font-weight:500;gap:8px;margin-top:16px;padding:8px 12px}.import-progress-detail{align-items:center;display:flex;flex-direction:column;gap:12px}.spinner{animation:spin 1s linear infinite;border:3px solid #f0f4f8;border-radius:50%;border-top-color:#064e3b;height:40px;width:40px}.import-progress-detail h3{color:#333;font-size:16px;font-weight:600;margin:0}.import-progress-detail p{color:#666;font-size:13px;margin:0}.progress-bar{background:#f0f4f8;border-radius:3px;height:6px;margin:8px 0;width:100%}.progress-fill{background:linear-gradient(90deg,#064e3b,#0a6d55);border-radius:3px;transition:width .3s ease}.format-section{background:#fff;border:1px solid #e0e4e8;border-radius:8px;overflow:hidden}.section-header{background:#f5f7fa;border:none;color:#333;cursor:pointer;font-size:14px;font-weight:600;padding:14px 16px;transition:all .3s ease;width:100%}.section-header:hover{background:#eef1f6}.toggle-icon{color:#999;display:inline-block;font-size:12px;transition:transform .3s ease}.toggle-icon.open{transform:rotate(180deg)}.section-content{animation:slideDown .3s ease;background:#fff;border-top:1px solid #e0e4e8;padding:16px}.columns-list{display:flex;flex-direction:column;gap:12px}.column-item{background:#fafbfc;border-left:3px solid #064e3b;border-radius:4px;padding:10px}.column-name{color:#064e3b;font-family:Courier New,monospace;font-size:13px;font-weight:600;margin-bottom:4px}.column-desc{color:#666;font-size:13px;line-height:1.4}.column-values{color:#999;font-family:Courier New,monospace;font-size:12px;margin-top:6px}.staff-types-list{display:flex;flex-direction:column;gap:10px}.staff-type-item{border-bottom:1px solid #f0f4f8;color:#333;font-size:13px;padding:8px 0}.staff-type-item:last-child{border-bottom:none}.staff-type-item strong{color:#064e3b;display:inline-block;min-width:120px}.date-formats{display:flex;flex-direction:column;gap:10px}.format-item{align-items:center;color:#333;display:flex;font-size:13px;gap:10px;padding:8px}.format-item.recommended{background:#f0fdf9;border-left:3px solid #10b981;border-radius:4px;color:#064e3b}.format-item svg{color:#10b981;flex-shrink:0}.import-tips{background:#f5f7fa;border-radius:8px;flex-direction:column;padding:12px}.import-tips,.tip{display:flex;gap:12px}.tip{align-items:flex-start;font-size:13px}.tip svg{color:#064e3b;flex-shrink:0;margin-top:2px}.tip strong{color:#333}.csv-modal-footer{align-items:center;background:#f5f7fa;border-top:1px solid #e0e4e8;display:flex;gap:16px;justify-content:space-between;padding:16px 28px}.footer-note{color:#999;font-size:12px;margin:0}.csv-modal-footer .btn{margin:0}.btn{font-size:13px}.btn-primary:hover:not(:disabled){background:#053a2e;box-shadow:0 2px 8px #064e3b4d}.btn-secondary{background:#f0f4f8}.btn-secondary:hover:not(:disabled){background:#e8ecf1;border-color:#c0c8d8}.btn-outline{background:#fff;border:1px solid #d0d8e0;color:#333}.btn-outline:hover:not(:disabled){background:#f5f7fa;border-color:#064e3b;color:#064e3b}@media (max-width:600px){.csv-modal-overlay{padding:10px}.csv-modal-content{max-height:95vh}.csv-modal-header{flex-direction:column;gap:12px;padding:20px}.header-content{width:100%}.close-btn{align-self:flex-end}.csv-modal-body{gap:16px;padding:20px}.file-upload-zone{min-height:150px;padding:30px 15px}.csv-modal-footer{align-items:stretch;flex-direction:column;gap:12px}.csv-modal-footer .btn{justify-content:center;width:100%}.footer-note{text-align:center}}.csv-modal-body::-webkit-scrollbar{width:6px}.csv-modal-body::-webkit-scrollbar-track{background:#0000}.csv-modal-body::-webkit-scrollbar-thumb{background:#d0d8e0;border-radius:3px}.csv-modal-body::-webkit-scrollbar-thumb:hover{background:#b0b8c8}@-webkit-keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}@keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}:root{--rc-drag-handle-size:12px;--rc-drag-handle-mobile-size:24px;--rc-drag-handle-bg-colour:#0003;--rc-drag-bar-size:6px;--rc-border-color:#ffffffb3;--rc-focus-color:#08f}.ReactCrop{cursor:crosshair;display:inline-block;max-width:100%;position:relative}.ReactCrop *,.ReactCrop :after,.ReactCrop :before{-webkit-box-sizing:border-box;box-sizing:border-box}.ReactCrop--disabled,.ReactCrop--locked{cursor:inherit}.ReactCrop__child-wrapper{max-height:inherit;overflow:hidden}.ReactCrop__child-wrapper>img,.ReactCrop__child-wrapper>video{display:block;max-height:inherit;max-width:100%}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>img,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>video,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__crop-selection{-ms-touch-action:none;touch-action:none}.ReactCrop__crop-mask{height:calc(100% + .5px);inset:0;pointer-events:none;position:absolute;width:calc(100% + .5px)}.ReactCrop__crop-selection{cursor:move;left:0;position:absolute;top:0;-webkit-transform:translate(0);transform:translate(0)}.ReactCrop--disabled .ReactCrop__crop-selection{cursor:inherit}.ReactCrop--circular-crop .ReactCrop__crop-selection{border-radius:50%}.ReactCrop--circular-crop .ReactCrop__crop-selection:after{border:1px solid #ffffffb3;border:1px solid var(--rc-border-color);content:"";inset:-1px;opacity:.3;pointer-events:none;position:absolute}.ReactCrop--no-animate .ReactCrop__crop-selection{outline:1px dashed #fff}.ReactCrop__crop-selection:not(.ReactCrop--no-animate .ReactCrop__crop-selection){-webkit-animation:marching-ants 1s linear infinite;animation:marching-ants 1s linear infinite;background-image:-webkit-gradient(linear,left top,right top,color-stop(50%,#fff),color-stop(50%,#444)),-webkit-gradient(linear,left top,right top,color-stop(50%,#fff),color-stop(50%,#444)),-webkit-gradient(linear,left top,left bottom,color-stop(50%,#fff),color-stop(50%,#444)),-webkit-gradient(linear,left top,left bottom,color-stop(50%,#fff),color-stop(50%,#444));background-image:linear-gradient(90deg,#fff 50%,#444 0),linear-gradient(90deg,#fff 50%,#444 0),linear-gradient(#fff 50%,#444 0),linear-gradient(#fff 50%,#444 0);background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;background-size:10px 1px,10px 1px,1px 10px,1px 10px;color:#fff}.ReactCrop__crop-selection:focus{outline:2px solid #08f;outline:2px solid var(--rc-focus-color);outline-offset:-1px}.ReactCrop--invisible-crop .ReactCrop__crop-mask,.ReactCrop--invisible-crop .ReactCrop__crop-selection{display:none}.ReactCrop__rule-of-thirds-hz:after,.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-vt:before{background-color:#fff6;content:"";display:block;position:absolute}.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-vt:before{height:100%;width:1px}.ReactCrop__rule-of-thirds-vt:before{left:33.3333%}.ReactCrop__rule-of-thirds-vt:after{left:66.6667%}.ReactCrop__rule-of-thirds-hz:after,.ReactCrop__rule-of-thirds-hz:before{height:1px;width:100%}.ReactCrop__rule-of-thirds-hz:before{top:33.3333%}.ReactCrop__rule-of-thirds-hz:after{top:66.6667%}.ReactCrop__drag-handle{background-color:#0003;background-color:var(--rc-drag-handle-bg-colour);border:1px solid #ffffffb3;border:1px solid var(--rc-border-color);height:12px;height:var(--rc-drag-handle-size);position:absolute;width:12px;width:var(--rc-drag-handle-size)}.ReactCrop__drag-handle:focus{background:#08f;background:var(--rc-focus-color)}.ReactCrop .ord-nw{cursor:nw-resize;left:0}.ReactCrop .ord-n,.ReactCrop .ord-nw{top:0;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.ReactCrop .ord-n{cursor:n-resize;left:50%}.ReactCrop .ord-ne{cursor:ne-resize;top:0}.ReactCrop .ord-e,.ReactCrop .ord-ne{right:0;-webkit-transform:translate(50%,-50%);transform:translate(50%,-50%)}.ReactCrop .ord-e{cursor:e-resize;top:50%}.ReactCrop .ord-se{bottom:0;cursor:se-resize;right:0;-webkit-transform:translate(50%,50%);transform:translate(50%,50%)}.ReactCrop .ord-s{cursor:s-resize;left:50%}.ReactCrop .ord-s,.ReactCrop .ord-sw{bottom:0;-webkit-transform:translate(-50%,50%);transform:translate(-50%,50%)}.ReactCrop .ord-sw{cursor:sw-resize;left:0}.ReactCrop .ord-w{cursor:w-resize;left:0;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.ReactCrop__disabled .ReactCrop__drag-handle{cursor:inherit}.ReactCrop__drag-bar{position:absolute}.ReactCrop__drag-bar.ord-n{height:6px;height:var(--rc-drag-bar-size);left:0;top:0;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:100%}.ReactCrop__drag-bar.ord-e{height:100%;right:0;top:0;-webkit-transform:translate(50%);transform:translate(50%);width:6px;width:var(--rc-drag-bar-size)}.ReactCrop__drag-bar.ord-s{bottom:0;height:6px;height:var(--rc-drag-bar-size);left:0;-webkit-transform:translateY(50%);transform:translateY(50%);width:100%}.ReactCrop__drag-bar.ord-w{height:100%;left:0;top:0;-webkit-transform:translate(-50%);transform:translate(-50%);width:6px;width:var(--rc-drag-bar-size)}.ReactCrop--fixed-aspect .ReactCrop__drag-bar,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-e,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-n,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-s,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-w,.ReactCrop--new-crop .ReactCrop__drag-bar,.ReactCrop--new-crop .ReactCrop__drag-handle{display:none}@media (pointer:coarse){.ReactCrop .ord-e,.ReactCrop .ord-n,.ReactCrop .ord-s,.ReactCrop .ord-w{display:none}.ReactCrop__drag-handle{height:24px;height:var(--rc-drag-handle-mobile-size);width:24px;width:var(--rc-drag-handle-mobile-size)}}.page.class-detail-page .header-actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.page.class-detail-page .class-info-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr;margin-bottom:32px}.page.class-detail-page .info-card{background:var(--bg-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-xs);padding:24px}.page.class-detail-page .info-card h3{border-bottom:2px solid var(--bg-alt);color:var(--text-primary);font-size:18px;font-weight:600;margin:0 0 20px;padding-bottom:12px}.page.class-detail-page .info-rows{display:flex;flex-direction:column;gap:12px}.page.class-detail-page .info-row{align-items:center;border-bottom:1px solid var(--bg-alt);display:flex;justify-content:space-between;padding:8px 0}.page.class-detail-page .info-row .label{color:var(--text-secondary);flex:0 0 auto;font-weight:500}.page.class-detail-page .info-row .value{color:var(--text-primary);flex:1 1;font-weight:500;text-align:right}.page.class-detail-page .info-row .value.capitalize{text-transform:capitalize}.page.class-detail-page .badge{border-radius:var(--radius-button);display:inline-block;font-size:12px;font-weight:600;padding:4px 12px;text-align:right}.page.class-detail-page .badge.active{background:#0596691a;color:#059669}.page.class-detail-page .badge.inactive{background:#dc26261a;color:#dc2626}.page.class-detail-page .stats-card{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr);margin-bottom:0}.page.class-detail-page .stat{align-items:center;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);cursor:default;display:flex;gap:18px;padding:24px;transition:all .3s ease}.page.class-detail-page .stat:hover{border-color:var(--border);box-shadow:var(--shadow-hover);transform:translateY(-2px)}.page.class-detail-page .stat-icon-wrapper{align-items:center;border-radius:10px;display:flex;flex-shrink:0;height:56px;justify-content:center;width:56px}.page.class-detail-page .stat-icon-wrapper.students{background:linear-gradient(135deg,#064e3b1a,#064e3b2e)}.page.class-detail-page .stat-icon-wrapper.teachers{background:linear-gradient(135deg,#1d4ed81a,#1d4ed82e)}.page.class-detail-page .stat-icon-wrapper.subjects{background:linear-gradient(135deg,#d977061f,#d9770633)}.page.class-detail-page .stat-icon-wrapper.students .stat-icon{color:var(--primary)}.page.class-detail-page .stat-icon-wrapper.teachers .stat-icon{color:var(--secondary)}.page.class-detail-page .stat-icon-wrapper.subjects .stat-icon{color:var(--accent)}.page.class-detail-page .stat-content{display:flex;flex-direction:column;gap:6px}.page.class-detail-page .stat-value{color:var(--text-primary);font-size:36px;font-weight:700;letter-spacing:-.5px;line-height:1}.page.class-detail-page .stat-label{color:var(--text-secondary);font-size:14px;font-weight:500}.page.class-detail-page .section{background:var(--bg-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-xs);margin-bottom:24px;padding:24px}.page.class-detail-page .section-header{align-items:center;border-bottom:2px solid var(--bg-alt);display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:12px}.page.class-detail-page .section-header h2{color:var(--text-primary);font-size:18px;font-weight:600;margin:0}.page.class-detail-page .section-count{background:var(--bg-alt);border-radius:var(--radius-button);color:var(--text-primary);font-size:12px;font-weight:600;padding:4px 12px}.page.class-detail-page .tabs-container{background:var(--bg-surface);border-bottom:2px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-xs);display:flex;gap:8px;margin-bottom:24px;padding:8px}.page.class-detail-page .tab-button{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:500;gap:8px;padding:12px 16px;position:relative;transition:all .2s ease}.page.class-detail-page .tab-button:hover{background:var(--bg-default);border-bottom-color:var(--border);color:var(--text-primary)}.page.class-detail-page .tab-button.active{background:var(--bg-alt);border-bottom-color:var(--primary);color:var(--primary)}.page.class-detail-page .tab-badge{align-items:center;background:var(--border);border-radius:12px;color:var(--text-primary);display:inline-flex;font-size:12px;font-weight:600;height:24px;justify-content:center;min-width:24px;padding:0 6px}.page.class-detail-page .tab-button.active .tab-badge{background:#1d4ed826;color:var(--secondary)}.page.class-detail-page .tabs-content{animation:fadeIn .2s ease}.page.class-detail-page .subjects-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.page.class-detail-page .subject-card{background:var(--bg-default);border:1px solid var(--border);border-radius:8px;padding:16px;transition:all .2s ease}.page.class-detail-page .subject-card:hover{border-color:var(--border);box-shadow:var(--shadow-card)}.page.class-detail-page .subject-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.page.class-detail-page .subject-card h3{color:var(--text-primary);font-size:16px;font-weight:600;margin:0 0 4px}.page.class-detail-page .subject-card .subject-code{color:var(--text-secondary);font-size:13px;margin:0}.page.class-detail-page .subject-card-actions{display:flex;gap:8px}.page.class-detail-page .teachers-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.page.class-detail-page .teacher-card{background:var(--bg-default);border:1px solid var(--border);border-radius:8px;padding:16px;transition:all .2s ease}.page.class-detail-page .teacher-card:hover{border-color:var(--border);box-shadow:var(--shadow-card)}.page.class-detail-page .teacher-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.page.class-detail-page .teacher-card h3{color:var(--text-primary);font-size:16px;font-weight:600;margin:0 0 4px}.page.class-detail-page .teacher-card .subject{color:var(--text-secondary);font-size:13px;margin:0}.page.class-detail-page .class-teacher-badge{background:var(--accent);border-radius:4px;color:#fff;font-size:11px;font-weight:600;padding:4px 8px;text-transform:uppercase;white-space:nowrap}.page.class-detail-page .teacher-card-actions{display:flex;gap:8px}.page.class-detail-page .btn-danger{align-items:center;background:#dc26261a;border:none;border-radius:var(--radius-button);color:#dc2626;cursor:pointer;display:flex;font-size:12px;font-weight:500;gap:6px;padding:6px 12px;transition:all .2s ease}.page.class-detail-page .btn-danger:hover:not(:disabled){background:#dc26262e;color:#dc2626}.page.class-detail-page .btn-danger:disabled{cursor:not-allowed;opacity:.6}.page.class-detail-page .students-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.page.class-detail-page .student-card{background:var(--bg-default);border:1px solid var(--border);border-radius:8px;cursor:pointer;padding:16px;text-align:center;transition:all .2s ease}.page.class-detail-page .student-card:hover{border-color:var(--border);box-shadow:var(--shadow-card)}.page.class-detail-page .student-avatar{background:var(--border);border-radius:50%;height:64px;margin:0 auto 12px;overflow:hidden;width:64px}.page.class-detail-page .student-avatar img{height:100%;object-fit:cover;width:100%}.page.class-detail-page .avatar-placeholder{align-items:center;background:linear-gradient(135deg,var(--primary) 0,var(--secondary) 100%);color:#fff;display:flex;font-size:20px;font-weight:600;height:100%;justify-content:center;width:100%}.page.class-detail-page .student-info h4{color:var(--text-primary);font-size:14px;font-weight:600;margin:0 0 4px}.page.class-detail-page .student-id{color:var(--text-secondary);font-size:12px;margin:0}.page.class-detail-page .empty-state-card{color:var(--text-secondary);padding:40px 20px;text-align:center}.page.class-detail-page .empty-state-card p{color:var(--text-secondary);font-size:16px;margin:0 0 16px}.page.class-detail-page .modal-overlay{align-items:center;animation:modalOverlayIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0614108c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.page.class-detail-page .modal{animation:modalIn .25s cubic-bezier(.16,1,.3,1);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-dropdown);max-height:90vh;max-width:500px;overflow-y:auto;width:90%}.page.class-detail-page .modal-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:24px}.page.class-detail-page .modal-header h2{color:var(--text-primary);font-size:18px;font-weight:600;margin:0}.page.class-detail-page .modal-close{align-items:center;background:none;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.page.class-detail-page .modal-close:hover{background:var(--bg-alt);color:var(--text-primary)}.page.class-detail-page .modal-form{padding:24px}.page.class-detail-page .form-group{margin-bottom:16px}.page.class-detail-page .form-group.checkbox{align-items:center;display:flex;margin-top:20px}.page.class-detail-page .form-group label{color:var(--text-primary);display:block;font-weight:500;margin-bottom:6px}.page.class-detail-page .form-group.checkbox label{align-items:center;cursor:pointer;display:flex;font-weight:400;margin-bottom:0}.page.class-detail-page .form-group input[type=checkbox]{cursor:pointer;margin-right:8px}.page.class-detail-page .form-group select{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-input);color:var(--text-primary);cursor:pointer;font-size:14px;padding:10px 12px;transition:all .2s ease;width:100%}.page.class-detail-page .form-group select:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #064e3b1a;outline:none}.page.class-detail-page .form-group select:disabled{background:var(--bg-alt);cursor:not-allowed;opacity:.6}.page.class-detail-page .modal-actions{border-top:1px solid var(--border);display:flex;gap:12px;justify-content:flex-end;padding-top:16px}.page.class-detail-page .btn{align-items:center;border:none;border-radius:var(--radius-button);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 16px;transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease}.page.class-detail-page .btn:hover{transform:translateY(-1px)}.page.class-detail-page .btn-primary{background:var(--primary);color:var(--primary-fg)}.page.class-detail-page .btn-primary:hover:not(:disabled){background:var(--primary-hover);box-shadow:var(--shadow-hover)}.page.class-detail-page .btn-secondary{background:var(--bg-alt);color:var(--text-primary)}.page.class-detail-page .btn-secondary:hover:not(:disabled){background:var(--border)}.page.class-detail-page .btn:disabled{cursor:not-allowed;opacity:.6}.page.class-detail-page .btn-sm{font-size:12px;padding:6px 12px}@media (max-width:768px){.page .class-info-grid,.page .stats-card{grid-template-columns:1fr}.page .stats-card{gap:12px}.page .stat{padding:20px}.page .stat-value{font-size:28px}.page .stat-label{font-size:13px}.page .stat-icon-wrapper{height:48px;width:48px}.page .stat-icon-wrapper .stat-icon{font-size:20px}.page .teachers-grid{grid-template-columns:1fr}.page .students-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.page .modal{width:95%}}.attendance-sms-modal .modal-header h2{color:#f59e0b}.info-value.attendance{font-size:1.25rem;font-weight:600}.info-value.attendance.critical{color:#dc2626}.info-value.attendance.good{color:#059669}.warning-box{background:#fef2f2;border-left:3px solid #dc2626;border-radius:6px;color:#991b1b;font-size:.9rem;font-weight:500;margin-top:1rem;padding:.75rem}.remarks-suggest-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.remarks-suggest-hint{color:#71717a;font-size:12px}.form-row-3{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.field-hint{color:#a1a1aa;font-size:12px;font-weight:400}.preview-modal-overlay{align-items:center;animation:preview-fadeIn .2s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes preview-fadeIn{0%{opacity:0}to{opacity:1}}.preview-modal{animation:preview-slideIn .3s ease;background:#fff;border-radius:8px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:1000px;width:90%}@keyframes preview-slideIn{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.preview-modal-header{align-items:center;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px}.preview-modal-title-section{flex:1 1}.preview-modal-header h2{color:#1e40af;font-size:20px;font-weight:600;margin:0}.preview-modal-subtitle{color:#666;font-size:14px;font-weight:400;margin:5px 0 0}.preview-close-btn{align-items:center;background:none;border:none;border-radius:4px;color:#666;cursor:pointer;display:flex;justify-content:center;padding:5px;transition:all .2s ease}.preview-close-btn:hover{background:#0000000d;color:#333}.preview-close-btn:active{transform:scale(.95)}.preview-toolbar{background:#f9f9f9;border-bottom:1px solid #e0e0e0;display:flex;flex-wrap:wrap;gap:12px;padding:15px 20px}.preview-toolbar-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;outline:none;padding:10px 16px;transition:all .2s ease}.preview-btn-primary{background:#3b82f6;color:#fff}.preview-btn-primary:hover:not(:disabled){background:#2563eb;box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.preview-btn-secondary{background:#fff;border:1px solid #ddd;color:#333}.preview-btn-secondary:hover:not(:disabled){background:#f5f5f5;border-color:#999}.preview-toolbar-btn:disabled{cursor:not-allowed;opacity:.6}.preview-btn-approve{background:#059669;color:#fff}.preview-btn-approve:hover:not(:disabled){background:#047857;box-shadow:0 4px 12px #0596694d;transform:translateY(-1px)}.report-card-status-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:600;margin-left:10px;padding:3px 10px;vertical-align:middle}.report-card-status-badge.status-draft{background:#d977061f;color:#d97706}.report-card-status-badge.status-approved{background:#0596691f;color:#059669}.preview-toolbar-btn:active:not(:disabled){transform:scale(.98)}.preview-history{background:#fffbeb;border-bottom:1px solid #e5e7eb}.preview-history-toggle{align-items:center;background:none;border:none;color:#92400e;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:8px;padding:10px 20px;text-align:left;width:100%}.preview-history-caret{font-size:10px;margin-left:auto}.preview-history-list{list-style:none;margin:0;padding:0 20px 12px}.preview-history-list li{border-top:1px solid #fde68a;color:#451a03;font-size:13px;padding:6px 0}.preview-history-list li:first-child{border-top:none}.preview-history-meta{color:#92400e;font-size:12px}.preview-content{background:#fafafa;flex:1 1;overflow-x:hidden;overflow-y:auto;padding:20px}.preview-inner-content{background:#fff;border-radius:4px;box-shadow:0 2px 8px #0000001a;padding:20px}.preview-inner-content *{box-sizing:border-box}.preview-content::-webkit-scrollbar{width:8px}.preview-content::-webkit-scrollbar-track{background:#f1f1f1}.preview-content::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.preview-content::-webkit-scrollbar-thumb:hover{background:#999}.bulk-nav-select{align-items:center;display:flex;gap:10px;margin-bottom:8px}.bulk-nav-select label{color:#333;font-size:14px;font-weight:600}.bulk-student-select{background:#fff;border:1px solid #ddd;border-radius:4px;color:#333;cursor:pointer;font-size:14px;max-width:300px;padding:8px 12px}.bulk-student-select:hover{border-color:#999}.bulk-student-select:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a;outline:none}.bulk-nav-buttons{display:flex;gap:8px}.toolbar-actions{display:flex;gap:12px;margin-left:auto}@media print{.preview-modal-overlay{display:none!important}.preview-modal{all:unset;box-shadow:none;display:block;max-height:100%;max-width:100%}.bulk-nav-buttons,.bulk-nav-select,.preview-modal-header,.preview-toolbar{display:none!important}.preview-content{background:#fff;max-height:none;max-width:100%;overflow:visible;padding:0}.preview-inner-content{box-shadow:none;padding:0}}@media (max-width:768px){.preview-modal{max-height:95vh;width:95%}.preview-modal-header{align-items:flex-start;flex-direction:column;gap:12px;padding:16px}.preview-modal-header h2{font-size:18px}.preview-close-btn{align-self:flex-end}.preview-toolbar{gap:8px;padding:12px}.preview-toolbar-btn{flex:1 1;font-size:13px;justify-content:center;padding:12px}.preview-toolbar-btn span{display:inline}.preview-content,.preview-inner-content{padding:12px}}@media (max-width:480px){.preview-modal{border-radius:0;max-height:100vh;width:100%}.preview-modal-header h2{font-size:16px}.preview-toolbar-btn{font-size:12px;padding:10px}}.modal-overlay{animation:fadeIn .2s ease-in-out}.modal{background:#fff;border-radius:12px;box-shadow:0 20px 25px #00000026}.modal-header{gap:1rem}.modal-header h2{align-items:center;color:#111827;display:flex;gap:.75rem}.modal-header h2 svg{color:#667eea}.modal-close{border-radius:6px;color:#9ca3af;font-size:2rem;height:2.5rem;transition:all .2s;width:2.5rem}.modal-close:hover{background-color:#f3f4f6;color:#374151}.modal-body{padding:1.5rem}.info-section{border-bottom:1px solid #f3f4f6;margin-bottom:1.5rem;padding-bottom:1.5rem}.info-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.info-section h3{color:#374151;font-size:.95rem;font-weight:600;letter-spacing:.5px;margin:0 0 1rem;text-transform:uppercase}.info-row{align-items:center;border-bottom:1px solid #f9fafb;display:flex;justify-content:space-between;padding:.75rem 0}.info-row:last-child{border-bottom:none}.info-label{color:#6b7280;font-size:.9rem;font-weight:500}.info-value{color:#111827;font-weight:500}.info-value.phone{color:#667eea;font-family:Courier New,monospace}.info-value.amount{color:#059669;font-size:1.25rem;font-weight:600}.message-section{border-top:2px solid #f3f4f6;margin-top:1.5rem;padding-top:1.5rem}.message-section h3{color:#374151;font-size:.95rem;font-weight:600;letter-spacing:.5px;margin:0 0 1rem;text-transform:uppercase}.message-box{background:#f9fafb;border:2px dashed #d1d5db;border-radius:8px;margin-bottom:.75rem;padding:1rem}.message-box p{color:#374151;font-size:.95rem;line-height:1.6;margin:0}.message-hint{color:#9ca3af;font-size:.85rem;font-style:italic;margin:0}.modal-footer{gap:1rem;padding:1.5rem}.btn-primary{background-color:#667eea}.btn-primary:hover:not(:disabled){background-color:#5568d3;box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.5}.btn-secondary{background-color:#f3f4f6}.btn-secondary:hover:not(:disabled){background-color:#e5e7eb}.success-state{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:300px;text-align:center}.success-icon{animation:scaleIn .5s ease-out;color:#10b981;font-size:4rem;margin-bottom:1rem}.success-state h3{color:#111827;font-size:1.5rem;margin:0 0 .5rem}.success-state p{color:#6b7280;margin:0}.fee-sms-modal .modal-header h2{color:#667eea}@media (max-width:600px){.modal{width:95%}.modal-header h2{font-size:1.25rem}.info-row{align-items:flex-start;gap:.5rem}.info-row,.modal-footer{flex-direction:column}.btn{width:100%}}.momo-withdrawal-modal .balance-display{align-items:center;background:linear-gradient(135deg,#ecfdf5,#dcfce7);border:2px solid #86efac;border-radius:10px;display:flex;justify-content:space-between;margin-bottom:20px;padding:16px}.momo-withdrawal-modal .balance-label{color:#15803d;font-size:13px;font-weight:600}.momo-withdrawal-modal .balance-amount{color:#15803d;font-size:18px;font-weight:700}.momo-withdrawal-modal .error-alert{align-items:center;background:#fee2e2;border-left:4px solid #dc2626;border-radius:6px;color:#7f1d1d;display:flex;font-size:13px;font-weight:600;gap:10px;margin-bottom:16px;padding:12px}.momo-withdrawal-modal .input-with-prefix{align-items:center;display:flex;position:relative}.momo-withdrawal-modal .prefix{font-size:16px;left:12px;position:absolute;-webkit-user-select:none;user-select:none}.momo-withdrawal-modal .momo-input{border:2px solid #e2e8f0;border-radius:8px;font-family:Courier New,monospace;font-size:14px;font-weight:600;letter-spacing:1px;padding:10px 12px;width:100%}.momo-withdrawal-modal .momo-input.locked-input{background:#f8fafc;cursor:not-allowed}.momo-withdrawal-modal .momo-input.locked-input,.momo-withdrawal-modal .momo-input:disabled{border-color:#cbd5e1;color:#1e293b!important}.momo-withdrawal-modal .momo-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.momo-withdrawal-modal .help-text{color:#64748b;display:block;font-size:12px;margin-top:4px}.momo-withdrawal-modal .recipient-input{border:2px solid #e2e8f0;border-radius:8px;font-size:14px;font-weight:500;padding:10px 12px;width:100%}.momo-withdrawal-modal .recipient-input.locked-input{background:#f8fafc;cursor:not-allowed}.momo-withdrawal-modal .recipient-input.locked-input,.momo-withdrawal-modal .recipient-input:disabled{border-color:#cbd5e1;color:#1e293b!important}.momo-withdrawal-modal .recipient-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.momo-withdrawal-modal .currency-symbol{color:#3b82f6;font-size:16px;font-weight:700;left:12px;position:absolute;-webkit-user-select:none;user-select:none}.momo-withdrawal-modal .amount-input-group input{border:2px solid #e2e8f0;border-radius:8px;font-size:14px;font-weight:600;padding:10px 12px 10px 32px;width:100%}.momo-withdrawal-modal .amount-input-group input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.momo-withdrawal-modal .amount-suggestions{display:flex;gap:8px;margin-top:10px}.momo-withdrawal-modal .suggestion-btn{background:#f1f5f9;border:1px solid #cbd5e1;border-radius:6px;color:#475569;cursor:pointer;flex:1 1;font-size:11px;font-weight:600;padding:8px 10px;transition:all .2s}.momo-withdrawal-modal .suggestion-btn:hover:not(:disabled){background:#e2e8f0;border-color:#94a3b8}.momo-withdrawal-modal .suggestion-btn:disabled{cursor:not-allowed;opacity:.5}.momo-withdrawal-modal .info-box{background:#f0f9ff;border-left:4px solid #0284c7;border-radius:8px;display:flex;flex-direction:column;gap:12px;margin:16px 0;padding:12px}.momo-withdrawal-modal .info-item{align-items:center;display:flex;font-size:13px;justify-content:space-between}.momo-withdrawal-modal .info-label{color:#0c4a6e;font-weight:600}.momo-withdrawal-modal .info-value{color:#0284c7;font-weight:700}.momo-withdrawal-modal .success-state{padding:40px 20px;text-align:center}.momo-withdrawal-modal .success-message{align-items:center;display:flex;flex-direction:column;gap:16px}.momo-withdrawal-modal .success-icon{animation:momoWithdrawalModalBounce .6s ease;color:#10b981}@keyframes momoWithdrawalModalBounce{0%{opacity:0;transform:scale(.3)}50%{opacity:1}to{transform:scale(1)}}.momo-withdrawal-modal .success-message h3{color:#1e293b;font-size:18px;font-weight:700;margin:0}.momo-withdrawal-modal .success-details{color:#64748b;font-size:13px;margin:0}.momo-withdrawal-modal .success-details strong{color:#3b82f6;display:block;font-family:Courier New,monospace;font-weight:700;margin-top:4px}.momo-withdrawal-modal .success-info{color:#10b981;font-size:13px;font-weight:600;margin:0}.momo-withdrawal-modal .transfer-time{background:#fef3c7;border-radius:6px;color:#92400e;font-size:12px;font-weight:600;margin:12px 0 0;padding:8px 12px}.momo-withdrawal-modal .spinner-small{animation:momoWithdrawalModalSpin .6s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:12px;margin-right:6px;width:12px}@keyframes momoWithdrawalModalSpin{to{transform:rotate(1turn)}}.fee-details-body{display:flex;flex-direction:column;gap:16px;max-height:70vh;overflow-y:auto;padding:20px 24px}.fee-detail-card{background:#fafafa;border:1px solid #e4e4e7;border-radius:10px;padding:16px}.fee-detail-header{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:10px}.fee-detail-header .fee-type-badge{background:#2563eb1a;border-radius:6px;color:#2563eb;font-size:12px;font-weight:600;margin-right:8px;padding:3px 10px;text-transform:capitalize}.fee-detail-balance{color:#52525b;font-size:14px}.fee-detail-amounts{color:#71717a;display:flex;flex-wrap:wrap;font-size:13px;gap:16px;margin-bottom:4px}.discount-chip{align-items:center;color:#059669;display:inline-flex;font-weight:600;gap:4px}.fee-discount-reason{color:#71717a;font-size:12px;font-style:italic;margin-bottom:8px}.installment-schedule{margin:12px 0}.installment-schedule-title{align-items:center;color:#3f3f46;display:flex;font-size:13px;font-weight:600;gap:6px;margin-bottom:6px}.installment-table{background:#fff;border-collapse:collapse;border-radius:6px;font-size:13px;overflow:hidden;width:100%}.installment-table td,.installment-table th{border-bottom:1px solid #f0f0f0;padding:6px 10px;text-align:left}.installment-table th{background:#f4f4f5;color:#52525b;font-weight:600}.installment-status{align-items:center;display:inline-flex;font-weight:600;gap:4px;text-transform:capitalize}.fee-detail-actions{display:flex;gap:8px;margin-top:8px}.fee-inline-panel{background:#fff;border:1px dashed #d4d4d8;border-radius:8px;margin-top:12px;padding:14px}.fee-inline-panel-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.split-shortcuts{align-items:center;color:#71717a;display:flex;font-size:13px;gap:8px;margin-bottom:12px}.installment-rows{display:flex;flex-direction:column;gap:8px}.installment-row{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:28px 1fr 1fr 32px}.installment-row .installment-number{color:#a1a1aa;font-size:12px;font-weight:600}.installment-row input{border:1px solid #e4e4e7;border-radius:6px;font-size:13px;padding:6px 8px}.icon-btn{align-items:center;background:none;border:none;border-radius:6px;cursor:pointer;display:flex;justify-content:center;padding:6px}.icon-btn.danger{color:#dc2626}.icon-btn.danger:hover:not(:disabled){background:#dc26261a}.icon-btn:disabled{cursor:not-allowed;opacity:.4}.installment-total-row{display:flex;font-size:13px;font-weight:600;gap:6px;margin-top:10px}.installment-total-row.match{color:#059669}.installment-total-row.mismatch{color:#dc2626}.settlements-content{display:flex;flex-direction:column;gap:var(--spacing-2xl)}.settlements-content .loading-state-full{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-lg);justify-content:center;min-height:500px}.settlements-content .spinner{animation:spin .8s linear infinite;border:3px solid var(--border);border-radius:50%;border-top-color:var(--primary);height:48px;width:48px}.settlements-content .settlements-header-section{margin-bottom:var(--spacing-lg)}.settlements-content .header-content h1{color:var(--text-primary);font-size:28px;font-weight:700;margin-bottom:var(--spacing-sm)}.settlements-content .header-content .subtitle{color:var(--text-secondary);font-size:14px;font-weight:400}.settlements-content .balance-section{margin-bottom:var(--spacing-lg)}.settlements-content .balance-card-main{background:linear-gradient(135deg,var(--primary) 0,var(--primary-hover) 100%);border-radius:16px;box-shadow:0 8px 32px #064e3b26;color:var(--primary-fg);overflow:hidden;padding:var(--spacing-xl);position:relative}.settlements-content .balance-card-main:before{background:#ffffff0d;border-radius:50%;content:"";height:300px;pointer-events:none;position:absolute;right:-10%;top:-50%;width:300px}.settlements-content .balance-card-wrapper{align-items:center;display:flex;gap:var(--spacing-xl);position:relative;z-index:1}.settlements-content .balance-card-left{align-items:flex-start;display:flex;flex:1 1;gap:var(--spacing-lg)}.settlements-content .balance-icon-container{align-items:center;background:#ffffff26;border-radius:12px;color:#fffffff2;display:flex;flex-shrink:0;height:64px;justify-content:center;width:64px}.settlements-content .balance-text-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.settlements-content .balance-label{font-size:13px;font-weight:600;letter-spacing:.05em;opacity:.85;text-transform:uppercase}.settlements-content .balance-value-display{font-family:JetBrains Mono,monospace;font-size:40px;font-weight:700;letter-spacing:-.01em}.settlements-content .balance-status{font-size:13px;font-weight:500;opacity:.9}.settlements-content .balance-card-divider{background:#fff3;flex-shrink:0;height:120px;width:1px}.settlements-content .balance-card-right{align-items:center;display:flex;gap:var(--spacing-lg);min-width:280px}.settlements-content .withdrawal-info{display:flex;flex:1 1;flex-direction:column;gap:var(--spacing-md)}.settlements-content .info-item{align-items:center;display:flex;justify-content:space-between}.settlements-content .info-label{font-size:12px;font-weight:600;letter-spacing:.05em;opacity:.8;text-transform:uppercase}.settlements-content .info-value{font-size:14px;font-weight:600}.settlements-content .info-divider{background:#ffffff26;height:1px}.settlements-content .btn-withdraw{align-items:center;background:#fffffff2;border:none;border-radius:var(--radius-button);color:var(--primary);cursor:pointer;display:flex;flex-shrink:0;font-size:14px;font-weight:600;gap:var(--spacing-sm);padding:12px 24px;transition:all .3s ease;white-space:nowrap}.settlements-content .btn-withdraw-active:hover{background:var(--bg-surface);box-shadow:var(--shadow-hover);transform:translateY(-1px)}.settlements-content .btn-withdraw-disabled{cursor:not-allowed;opacity:.5}.settlements-content .quick-stats-section{margin-bottom:var(--spacing-lg)}.settlements-content .stats-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.settlements-content .stat-box{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--spacing-lg);transition:all .3s ease}.settlements-content .stat-box:hover{background:var(--bg-alt);border-color:var(--border);box-shadow:var(--shadow-hover)}.settlements-content .stat-header{align-items:center;display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.settlements-content .stat-icon{align-items:center;border-radius:10px;color:var(--primary-fg);display:flex;flex-shrink:0;font-weight:700;height:40px;justify-content:center;width:40px}.settlements-content .receipt-icon{background:linear-gradient(135deg,var(--secondary) 0,#1e3a8a 100%)}.settlements-content .withdrawal-icon{background:linear-gradient(135deg,var(--accent) 0,#b45309 100%)}.settlements-content .success-icon{background:linear-gradient(135deg,#10b981,#059669)}.settlements-content .stat-title{color:var(--text-secondary);font-size:13px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.settlements-content .stat-value{color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:28px;font-weight:700;margin-bottom:var(--spacing-xs)}.settlements-content .stat-meta{color:var(--text-muted);font-size:12px;font-weight:500}.settlements-content .settlements-grid{grid-gap:var(--spacing-xl);display:grid;gap:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.settlements-content .settlement-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);display:flex;flex-direction:column;overflow:hidden;transition:all .3s ease}.settlements-content .settlement-card:hover{border-color:var(--border);box-shadow:var(--shadow-hover)}.settlements-content .card-header{align-items:flex-start;background:#fafaed80;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:var(--spacing-lg)}.settlements-content .card-title-group h3{color:var(--text-primary);font-size:16px;font-weight:700;margin-bottom:var(--spacing-xs)}.settlements-content .card-title-group p{color:var(--text-secondary);font-size:12px;font-weight:500}.settlements-content .card-badge{background:var(--primary);border-radius:var(--radius-button);color:var(--primary-fg);flex-shrink:0;font-size:12px;font-weight:600;padding:4px 12px}.settlements-content .card-body{display:flex;flex:1 1;flex-direction:column;padding:var(--spacing-lg)}.settlements-content .transactions-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.settlements-content .transaction-item{align-items:center;background:var(--bg-alt);border:1px solid #0000;border-radius:10px;display:flex;justify-content:space-between;padding:var(--spacing-md);transition:all .2s ease}.settlements-content .transaction-item:hover{background:var(--bg-alt);border-color:var(--border)}.settlements-content .transaction-left{align-items:center;display:flex;flex:1 1;gap:var(--spacing-md);min-width:0}.settlements-content .transaction-icon{align-items:center;border-radius:10px;color:var(--primary-fg);display:flex;flex-shrink:0;font-weight:700;height:40px;justify-content:center;width:40px}.settlements-content .receipt-mini{background:linear-gradient(135deg,var(--secondary) 0,#1e3a8a 100%)}.settlements-content .transaction-info{flex:1 1;min-width:0}.settlements-content .transaction-student{color:var(--text-primary);font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settlements-content .transaction-meta{align-items:center;color:var(--text-muted);display:flex;font-size:12px;gap:var(--spacing-xs);margin-top:2px}.settlements-content .transaction-date{font-weight:500}.settlements-content .transaction-separator{opacity:.5}.settlements-content .transaction-type{text-transform:capitalize}.settlements-content .transaction-right{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:var(--spacing-xs)}.settlements-content .transaction-amount{color:#059669;font-family:JetBrains Mono,monospace;font-size:15px;font-weight:700}.settlements-content .transaction-ref{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:11px;text-transform:uppercase}.settlements-content .withdrawals-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.settlements-content .withdrawal-item{align-items:center;background:var(--bg-alt);border:1px solid #0000;border-radius:10px;display:flex;justify-content:space-between;padding:var(--spacing-md);transition:all .2s ease}.settlements-content .withdrawal-item:hover{background:var(--bg-alt);border-color:var(--border)}.settlements-content .withdrawal-item-completed{background:#05966914}.settlements-content .withdrawal-item-completed:hover{background:#0596691f;border-color:#0596694d}.settlements-content .withdrawal-item-pending{background:#d9770614}.settlements-content .withdrawal-item-pending:hover{background:#d977061f;border-color:#d977064d}.settlements-content .withdrawal-item-failed{background:#dc262614}.settlements-content .withdrawal-item-failed:hover{background:#dc26261f;border-color:#dc26264d}.settlements-content .withdrawal-left{align-items:center;display:flex;flex:1 1;gap:var(--spacing-md);min-width:0}.settlements-content .withdrawal-status-badge{align-items:center;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;display:flex;gap:var(--spacing-sm);padding:6px 12px;white-space:nowrap}.settlements-content .status-dot{animation:pulse 2s ease-in-out infinite;border-radius:50%;flex-shrink:0;height:8px;width:8px}.settlements-content .status-completed{animation:none;background:#059669}.settlements-content .status-pending{background:var(--accent)}.settlements-content .status-failed{animation:none;background:#dc2626}.settlements-content .status-text{color:var(--text-primary);font-size:12px;font-weight:600}.settlements-content .withdrawal-info-group{flex:1 1;min-width:0}.settlements-content .withdrawal-momo{color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:14px;font-weight:600;word-break:break-word}.settlements-content .withdrawal-meta{color:var(--text-muted);font-size:12px;font-weight:500;margin-top:2px}.settlements-content .withdrawal-right{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:var(--spacing-xs)}.settlements-content .withdrawal-amount{color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:15px;font-weight:700}.settlements-content .withdrawal-code{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:11px;text-transform:uppercase}.settlements-content .empty-state-minimal{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;justify-content:center;padding:var(--spacing-2xl) var(--spacing-lg);text-align:center}.settlements-content .empty-state-minimal svg{color:var(--text-muted);margin-bottom:var(--spacing-lg);opacity:.6}.settlements-content .empty-state-minimal h4{color:var(--text-primary);font-size:16px;font-weight:600;margin-bottom:var(--spacing-sm)}.settlements-content .empty-state-minimal p{color:var(--text-secondary);font-size:13px}@media (max-width:768px){.settlements-content{gap:var(--spacing-xl)}.settlements-content .balance-card-wrapper{align-items:stretch;flex-direction:column;gap:var(--spacing-lg)}.settlements-content .balance-card-divider{height:1px;width:100%}.settlements-content .balance-card-left{flex-direction:column}.settlements-content .balance-card-right{flex-direction:column;min-width:auto;width:100%}.settlements-content .withdrawal-info{width:100%}.settlements-content .btn-withdraw{justify-content:center;width:100%}.settlements-content .settlements-grid,.settlements-content .stats-grid{grid-template-columns:1fr}.settlements-content .header-content h1{font-size:24px}.settlements-content .balance-value-display{font-size:32px}.settlements-content .transaction-item,.settlements-content .withdrawal-item{align-items:flex-start;flex-direction:column;gap:var(--spacing-md)}.settlements-content .transaction-right,.settlements-content .withdrawal-right{align-items:flex-start;width:100%}.settlements-content .withdrawal-status-badge{justify-content:flex-start;width:100%}}@media (max-width:480px){.settlements-content .balance-icon-container{height:48px;width:48px}.settlements-content .balance-value-display{font-size:28px}.settlements-content .stat-value{font-size:22px}.settlements-content .header-content h1{font-size:20px}.settlements-content .card-body,.settlements-content .card-header{padding:var(--spacing-md)}}.payroll-metrics{margin-bottom:2rem}.metrics-grid{margin-bottom:1.5rem}.metric-card{align-items:flex-start;border:1px solid #e4e4e7;border-radius:12px;gap:1rem}.metric-card:hover{box-shadow:0 10px 24px -4px #064e3b14,0 4px 8px -4px #064e3b08}.metric-icon-wrapper{align-items:center;border-radius:10px;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.metric-card.metric-primary .metric-icon-wrapper{background:#064e3b1a;color:#064e3b}.metric-card.metric-success .metric-icon-wrapper{background:#22c55e1a;color:#22c55e}.metric-card.metric-info .metric-icon-wrapper{background:#3b82f61a;color:#3b82f6}.metric-card.metric-warning .metric-icon-wrapper{background:#d977061a;color:#d97706}.metric-content{flex:1 1;min-width:0}.metric-label{color:#52525b;letter-spacing:.5px;margin:0 0 .5rem;text-transform:uppercase}.metric-value{color:#1a1a1a;font-family:IBM Plex Sans,sans-serif;font-size:1.5rem;margin:0}.metric-skeleton{animation:loading 1.5s infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;border-radius:4px;height:24px}.payroll-info-strip{align-items:center;background:linear-gradient(135deg,#064e3b0d,#d977060d);border:1px solid #e4e4e7;border-left:3px solid #064e3b;border-radius:8px;display:flex;gap:1rem;padding:1rem 1.5rem}.info-icon{color:#064e3b;flex-shrink:0}.info-text{color:#52525b;font-size:.9rem}.info-text strong{color:#1a1a1a;font-weight:600}.ml-4{margin-left:1rem}@media (max-width:768px){.metrics-grid{gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.metric-card{padding:1rem}.metric-value{font-size:1.25rem}}.payroll-chart-container{background:#fff;border:1px solid #e4e4e7;border-radius:12px;box-shadow:0 2px 8px -2px #064e3b0d,0 4px 16px -4px #064e3b05;margin-bottom:2rem;padding:1.5rem}.chart-title{color:#1a1a1a;font-family:Manrope,sans-serif;font-size:1.1rem;margin:0 0 1.5rem}.custom-tooltip{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #e4e4e780;border-radius:8px;box-shadow:0 12px 32px -4px #0000001a;padding:.75rem 1rem}.tooltip-label{color:#52525b;font-size:.875rem;font-weight:500;margin:0 0 .25rem}.tooltip-value{color:#064e3b;font-family:IBM Plex Sans,monospace;font-size:.95rem;font-weight:600;margin:0}.chart-skeleton{animation:loading 1.5s infinite;background:#fff;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;border:1px solid #e4e4e7;border-radius:12px;height:350px;margin-bottom:2rem;padding:1.5rem}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.recharts-surface{font-family:IBM Plex Sans,sans-serif}.recharts-text{fill:#52525b;font-size:12px}.recharts-cartesian-axis-tick{font-size:12px}.recharts-legend-wrapper{padding-top:1rem!important}.recharts-default-legend{display:flex;gap:2rem}.recharts-legend-item{margin-right:0!important}@media (max-width:768px){.payroll-chart-container{padding:1rem}.chart-title{font-size:1rem}.custom-tooltip{padding:.5rem .75rem}.tooltip-label{font-size:.75rem}.tooltip-value{font-size:.875rem}}.payroll-filters{background:#fff;border:1px solid #e4e4e7;border-radius:12px;margin-bottom:2rem;overflow:hidden;padding:0}.filters-header{background:linear-gradient(135deg,#064e3b05,#d9770605);border-bottom:1px solid #e4e4e7;gap:.75rem;padding:1.25rem 1.5rem}.filter-icon,.filters-header{align-items:center;display:flex}.filter-icon{background:#064e3b1a;border-radius:8px;color:#064e3b;flex-shrink:0;height:32px;justify-content:center;width:32px}.filters-header h3{color:#1a1a1a;font-size:1rem;font-weight:600;margin:0}.filters-content{grid-gap:1.25rem;align-items:end;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding:1.5rem}.filter-group{gap:.5rem}.filter-group label{color:#1a1a1a;font-size:.875rem}.search-wrapper{align-items:center;display:flex;position:relative}.search-icon{color:#a1a1aa;left:12px}.search-input{border:1px solid #e4e4e7;border-radius:8px;font-family:IBM Plex Sans,sans-serif;font-size:.9rem;padding:.75rem .75rem .75rem 2.5rem;transition:all .2s ease;width:100%}.search-input:focus{border-color:#064e3b;box-shadow:0 0 0 3px #064e3b1a;outline:none}.search-input:disabled{background-color:#f3f4f1;cursor:not-allowed}.clear-search{align-items:center;background:none;border:none;color:#a1a1aa;cursor:pointer;display:flex;padding:.25rem;position:absolute;right:10px;transition:color .2s ease}.clear-search:hover{color:#1a1a1a}.filter-select{background-color:#fff;border:1px solid #e4e4e7;border-radius:8px;cursor:pointer;font-family:IBM Plex Sans,sans-serif;font-size:.9rem;padding:.75rem;transition:all .2s ease}.filter-select:focus{border-color:#064e3b;box-shadow:0 0 0 3px #064e3b1a;outline:none}.filter-select:disabled{background-color:#f3f4f1;color:#a1a1aa;cursor:not-allowed}.btn-secondary{background:#f3f4f1;border:1px solid #e4e4e7}.btn-secondary:hover:not(:disabled){background:#e4e4e7}.active-filters{display:flex;flex-wrap:wrap;gap:.75rem;padding:0 1.5rem 1.5rem}.filter-tag{background:#064e3b1a;border:1px solid #064e3b;border-radius:20px;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem 1rem}.filter-tag,.tag-close{align-items:center;color:#064e3b}.tag-close{background:none;border:none;cursor:pointer;display:flex;font-size:1.25rem;line-height:1;padding:0;transition:opacity .2s}.tag-close:hover{opacity:.7}@media (max-width:768px){.filters-content{gap:1rem;grid-template-columns:1fr}.filters-content,.filters-header{padding:1rem 1.5rem}.active-filters{padding:0 1.5rem 1rem}}.bulk-import-modal{max-height:90vh;max-width:700px;overflow-y:auto}.bulk-import-content{display:flex;flex-direction:column;gap:20px;padding:24px}.import-info{align-items:center;background:#e3f2fd;border-left:3px solid #2196f3;border-radius:4px;color:#1565c0;display:flex;font-size:13px;gap:12px;padding:12px 16px}.import-info svg{color:#2196f3;flex-shrink:0}.template-section{background:#fafaed;border:1px solid #e8e8d8;border-radius:8px;display:flex;flex-direction:column;gap:8px;padding:16px}.template-btn{align-items:center;display:inline-flex;font-weight:500;gap:8px;justify-content:center;padding:10px 16px;width:-webkit-fit-content;width:fit-content}.template-hint{color:#666;font-size:12px;margin:0}.upload-area{align-items:center;background:#fafafa;border:2px dashed #d0d0d0;border-radius:8px;cursor:pointer;display:flex;justify-content:center;min-height:160px;padding:20px;transition:all .2s ease}.upload-area:hover{background:#f5f5f5;border-color:#064e3b}.upload-area.drag-over{background:#e8f5e9;border-color:#064e3b}.upload-btn{align-items:center;background:none;border:none;cursor:pointer;display:flex;flex-direction:column;gap:12px;text-align:center}.upload-btn svg{color:#064e3b;transition:transform .2s ease}.upload-btn:hover svg{transform:scale(1.1)}.upload-btn span{color:#333;font-size:14px;font-weight:500}.file-info{align-items:center;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:6px;display:flex;gap:12px;padding:12px 16px}.file-info svg{color:#666;flex-shrink:0}.file-info>div{flex:1 1}.file-name{color:#333;font-size:13px;font-weight:500;margin:0;word-break:break-all}.file-size{color:#999;font-size:12px;margin:2px 0 0}.preview-section{display:flex;flex-direction:column;gap:12px}.preview-section h3{color:#333;font-size:14px;font-weight:600;margin:0}.preview-table-container{border:1px solid #e0e0e0;border-radius:6px;overflow-x:auto}.preview-table{border-collapse:collapse;font-size:12px;width:100%}.preview-table thead{background:#f5f5f5}.preview-table th{border-bottom:1px solid #e0e0e0;color:#333;font-weight:600;padding:8px 12px;text-align:left;white-space:nowrap}.preview-table td{border-bottom:1px solid #f0f0f0;color:#555;padding:8px 12px}.preview-table tbody tr:hover{background:#fafafa}.preview-table .mono{color:#064e3b;font-family:JetBrains Mono,monospace;font-weight:500}.preview-table .text-right{text-align:right}.preview-table .capitalize{text-transform:capitalize}.results-section{background:#fafaed;border-left:4px solid #22c55e;border-radius:8px;display:flex;flex-direction:column;gap:16px;padding:16px}.results-section.partial{background:#fffbeb;border-left-color:#f59e0b}.results-header{display:flex;flex-direction:column;gap:6px}.results-header h3{color:#064e3b;font-size:16px;font-weight:600;margin:0}.results-section.partial .results-header h3{color:#92400e}.results-message{color:#666;font-size:13px;margin:0}.results-stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.stat-card{background:#fff;border:1px solid #e0e0e0;border-left:3px solid #22c55e;padding:12px;text-align:center}.stat-card.error{border-left-color:#ef4444}.stat-label{color:#999;font-size:11px;margin:0}.stat-value{color:#064e3b;font-size:20px;margin:4px 0 0}.stat-card.error .stat-value{color:#ef4444}.errors-section{display:flex;flex-direction:column;gap:8px}.errors-section h4{color:#d32f2f;font-size:12px;font-weight:600;margin:0;text-transform:uppercase}.errors-list{background:#fff;border:1px solid #ffcdd2;border-radius:4px;display:flex;flex-direction:column;gap:4px;max-height:200px;overflow-y:auto;padding:8px}.error-item{align-items:flex-start;color:#c62828;display:flex;font-size:12px;gap:8px;padding:4px}.error-item svg{flex-shrink:0;margin-top:2px}.error-item span{line-height:1.4;word-break:break-word}.more-errors{color:#f57c00;font-size:11px;font-weight:600;margin:4px 0 0;text-align:center}.form-actions .btn{font-size:13px}@media (max-width:600px){.bulk-import-modal{max-width:100vw}.bulk-import-content{gap:16px;padding:16px}.upload-area{min-height:120px;padding:16px}.preview-section{max-height:300px;overflow-y:auto}.preview-table{font-size:11px}.preview-table td,.preview-table th{padding:6px 8px}.results-stats{grid-template-columns:1fr 1fr}.form-actions{flex-direction:column}.form-actions .btn{width:100%}}.errors-list::-webkit-scrollbar,.preview-section::-webkit-scrollbar{width:6px}.errors-list::-webkit-scrollbar-track,.preview-section::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.errors-list::-webkit-scrollbar-thumb,.preview-section::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.errors-list::-webkit-scrollbar-thumb:hover,.preview-section::-webkit-scrollbar-thumb:hover{background:#999}.page{background-color:#f5f7fa;min-height:100vh;padding:20px}.page-header{align-items:center;gap:20px;margin-bottom:30px}.page-header h1{color:#064e3b;font-size:28px}.page-header p{color:#666;font-size:14px;margin:5px 0 0}.header-actions{gap:10px}.btn-primary:hover{background-color:#053a2e;box-shadow:0 2px 8px #064e3b4d}.btn-primary:disabled{background-color:#ccc;opacity:.6}.btn-secondary{background-color:#f0f4f8;border:1px solid #d0d8e0;color:#333}.btn-secondary:hover{background-color:#e8ecf1}.btn-secondary:disabled{cursor:not-allowed;opacity:.6}.btn-ghost{color:#666;padding:6px}.btn-ghost:hover{background-color:#f0f4f8;color:#064e3b}.btn-sm{font-size:12px;padding:6px 8px}.loading{align-items:center;background:#fff;border-radius:8px;display:flex;font-size:16px;justify-content:center}.empty-state{background:#fff;border:2px dashed #d0d8e0}.empty-state p{font-size:16px;margin:0 0 20px}.empty-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.rules-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.rule-card{background:#fff;border:1px solid #e0e4e8;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;transition:all .3s ease}.rule-card:hover{border-color:#064e3b;box-shadow:0 4px 12px #00000026}.rule-header{align-items:flex-start;border-bottom:1px solid #f0f4f8;display:flex;gap:10px;justify-content:space-between;padding:16px}.rule-title{align-items:center;display:flex;flex:1 1;gap:10px}.rule-title h3{color:#064e3b;font-size:16px;font-weight:700;margin:0}.rule-type{border-radius:4px;color:#fff;display:inline-block;font-size:11px;font-weight:600;padding:4px 8px;text-transform:uppercase;white-space:nowrap}.rule-actions{display:flex;gap:4px}.rule-body{display:flex;flex:1 1;flex-direction:column;gap:12px;padding:16px}.rule-description{color:#666;font-size:13px;line-height:1.4;margin:0}.rule-details{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.detail-item{display:flex;flex-direction:column}.detail-item label{color:#999;font-size:11px;font-weight:600;margin-bottom:4px;text-transform:uppercase}.detail-item p{color:#333;font-size:13px;font-weight:500;margin:0}.modal{animation:fadeIn .3s ease;background:#00000080;padding:20px}.modal-content{box-shadow:0 20px 60px #0000004d}.modal-header{border-bottom:1px solid #f0f4f8}.modal-header h2{color:#064e3b;font-weight:700}.close-btn{padding:4px;transition:all .3s ease}.form{display:flex;flex:1 1;flex-direction:column;gap:16px;overflow-y:auto;padding:20px}.form-group{gap:6px}.form-group label{font-size:13px;font-weight:600}.form-group input,.form-group select,.form-group textarea{border:1px solid #d0d8e0;border-radius:6px;font-size:13px;padding:10px 12px;transition:all .3s ease}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background-color:#f5f7fa;color:#999;cursor:not-allowed}.form-section{border:1px solid #e0e4e8;border-radius:6px;display:flex;flex-direction:column;gap:12px;padding:16px}.form-section:disabled{opacity:.6;pointer-events:none}.form-section legend{color:#999;font-size:12px;font-weight:700;margin-bottom:8px;text-transform:uppercase}.form-actions{border-top:1px solid #f0f4f8;flex-wrap:wrap;gap:10px}.preset-item{align-items:flex-start;border:1px solid #e0e4e8;border-radius:6px;cursor:pointer;display:flex;gap:12px;margin-bottom:10px;padding:12px;transition:all .3s ease}.preset-item:hover{background-color:#f5f7fa;border-color:#064e3b}.preset-item input[type=checkbox]{cursor:pointer;margin-top:4px}.preset-item label{cursor:pointer;flex:1 1}.preset-item strong{color:#064e3b;display:block;margin-bottom:4px}.preset-item p{color:#666;font-size:12px;line-height:1.4;margin:0}.test-result{align-items:center;border-radius:8px;display:flex;flex-direction:column;gap:10px;justify-content:center;margin-bottom:20px;padding:30px}.test-result.matched{background-color:#e8f5e9;color:#2e7d32}.test-result.not-matched{background-color:#ffebee;color:#c62828}.test-result p{font-size:16px;font-weight:600;margin:0}.test-details{background-color:#f5f7fa;border-radius:6px;margin-bottom:20px;padding:16px}.test-details p{color:#333;font-size:13px;margin:8px 0}.detail-group{margin-bottom:16px}.detail-group label{color:#999;display:block;font-size:12px;font-weight:700;margin-bottom:6px;text-transform:uppercase}.detail-group p{color:#333;font-size:14px;margin:0}@media (max-width:768px){.page-header{align-items:flex-start;flex-direction:column}.header-actions{width:100%}.header-actions button{flex:1 1}.form-row,.rule-details,.rules-container{grid-template-columns:1fr}.modal-content{max-height:95vh}}:root{--color-primary:#064e3b;--color-primary-hover:#065f46;--color-secondary:#9a3412;--color-accent:#d97706;--color-success:#22c55e;--color-info:#3b82f6;--color-warning:#f59e0b;--color-error:#ef4444;--color-bg-default:#fafaed;--color-bg-surface:#fff;--color-bg-alt:#f3f4f1;--color-text-primary:#1a1a1a;--color-text-secondary:#52525b;--color-text-muted:#a1a1aa;--color-border:#e4e4e7;--font-heading:"Manrope",sans-serif;--font-body:"IBM Plex Sans",sans-serif;--font-mono:"JetBrains Mono",monospace}.page{background:#fafaed;background:var(--color-bg-default)}.page-header{align-items:flex-start;border-bottom:1px solid #e4e4e7;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;margin-bottom:2.5rem;padding-bottom:2rem}.page-header h1{color:#1a1a1a;color:var(--color-text-primary);font-family:Manrope,sans-serif;font-family:var(--font-heading);margin:0}.page-header p{color:#52525b;color:var(--color-text-secondary);font-family:IBM Plex Sans,sans-serif;font-family:var(--font-body);font-size:.95rem;margin:.5rem 0 0}.header-actions{gap:1rem}.table-container{background:#fff;border:1px solid #e0e0e0;border-radius:8px;overflow-x:auto}.data-table{font-size:.9rem}.data-table thead{background-color:#f5f5f5}.data-table th{color:#333;padding:1rem}.data-table td{padding:1rem}.data-table tbody tr:hover{background-color:#fafafa}.data-table tbody tr:last-child td{border-bottom:none}.actions-column{align-items:center;display:flex;gap:.5rem}.capitalize{text-transform:capitalize}.empty-state{background:#f9f9f9;border:2px dashed #e0e0e0;border-radius:8px}.empty-state p{color:#666;font-size:1rem;margin:0 0 1.5rem}.loading{color:#666;padding:2rem}.modal{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.modal-content{box-shadow:0 10px 40px #00000026;max-width:800px}.modal-header{background:#fff;padding:1.5rem;position:-webkit-sticky;position:sticky;top:0}.modal-header h2{color:#333;font-size:1.5rem}.close-btn{color:#999;transition:color .3s ease}.close-btn:hover{color:#333}.form{padding:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#333;font-size:.9rem;margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{border:1px solid #d0d0d0;border-radius:4px;font-family:inherit;font-size:.9rem;padding:.75rem;transition:border-color .3s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#06c;box-shadow:0 0 0 3px #0066cc1a}.form-group textarea{min-height:100px;resize:vertical}.form-section{border:1px solid #e0e0e0;border-radius:4px;margin-bottom:1.5rem;padding:1rem}.form-section legend{color:#333;font-size:.95rem;font-weight:600;padding:0 .5rem}.form-actions{border-top:1px solid #e0e0e0;gap:1rem;margin-top:2rem;padding-top:1.5rem}.btn{border-radius:4px;font-size:.9rem;gap:.5rem;padding:.65rem 1.25rem;text-decoration:none;transition:all .3s ease}.btn-primary{background-color:#064e3b;background-color:var(--color-primary)}.btn-primary:hover{background-color:#065f46;background-color:var(--color-primary-hover)}.btn-secondary{background-color:#e4e4e7;background-color:var(--color-border);color:#1a1a1a;color:var(--color-text-primary)}.btn-success{background-color:#22c55e;background-color:var(--color-success)}.btn-success:hover{background-color:#16a34a}.btn-error{background-color:#ef4444;background-color:var(--color-error);color:#fff}.btn-error:hover{background-color:#dc2626}.btn-ghost{background-color:initial;border:1px solid #064e3b;border:1px solid var(--color-primary);color:#064e3b;color:var(--color-primary)}.btn-ghost:hover{background-color:#064e3b0d}.btn-sm{font-size:.85rem;padding:.5rem .75rem}.btn:disabled,.close-btn:disabled{cursor:not-allowed;opacity:.7}.btn:disabled:hover,.close-btn:disabled:hover{background-color:inherit;border-color:inherit;color:inherit}.button-loading{gap:.5rem}.fade-in{animation:fadeIn .3s ease-in-out}.slide-up{animation:slideUp .3s ease-out}.slide-down{animation:slideDown .3s ease-out}.slide-in{animation:slideIn .3s ease-out}@keyframes skeleton-loading{0%{background-color:#f3f4f1;background-color:var(--color-bg-alt)}50%{background-color:#e5e7eb}to{background-color:#f3f4f1;background-color:var(--color-bg-alt)}}.skeleton{animation:skeleton-loading 1.5s infinite;background-color:#f3f4f1;background-color:var(--color-bg-alt);border-radius:4px}.btn:disabled{opacity:.65}.btn-loading{color:#0000;position:relative}.btn-loading:after{animation:spin .8s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:initial;content:"";height:16px;left:50%;margin-left:-8px;margin-top:-8px;position:absolute;top:50%;width:16px}.badge{align-items:center;border-radius:20px;display:inline-flex;font-family:IBM Plex Sans,sans-serif;font-family:var(--font-body);font-size:.85rem;font-weight:500;gap:.4rem;padding:.35rem .8rem}.badge-warning{background-color:#f59e0b26}.badge-success{background-color:#22c55e26;color:#15803d}.badge-info{background-color:#3b82f626}.badge-error{background-color:#ef444426;color:#7f1d1d}.badge-default{background-color:#e4e4e7;background-color:var(--color-border);color:#1a1a1a;color:var(--color-text-primary)}.payslip{background:#f3f4f1;background:var(--color-bg-alt);border:1px solid #e4e4e7;border:1px solid var(--color-border);border-radius:8px;padding:2rem}.payslip-header{border-bottom:2px solid #1a1a1a;border-bottom:2px solid var(--color-text-primary);margin-bottom:2rem;padding-bottom:1rem;text-align:center}.payslip-header h3{color:#1a1a1a;color:var(--color-text-primary);font-family:Manrope,sans-serif;font-family:var(--font-heading);font-size:1.3rem;margin:0}.payslip-header .text-muted{color:#52525b;color:var(--color-text-secondary);font-size:.9rem;margin:.5rem 0 0}.payslip-section{margin-bottom:1.5rem}.payslip-section h4{color:#1a1a1a;color:var(--color-text-primary);font-family:Manrope,sans-serif;font-family:var(--font-heading);font-size:.95rem;font-weight:600;letter-spacing:.5px;margin:0 0 1rem;text-transform:uppercase}.payslip-line{display:flex;font-size:.9rem;justify-content:space-between;padding:.75rem 0}.payslip-line span:first-child{color:#52525b;color:var(--color-text-secondary);font-family:IBM Plex Sans,sans-serif;font-family:var(--font-body)}.payslip-line span:last-child{color:#1a1a1a;color:var(--color-text-primary);font-family:JetBrains Mono,monospace;font-family:var(--font-mono)}.payslip-line.font-bold{color:#1a1a1a;color:var(--color-text-primary);font-weight:600}.payslip-line.text-lg{font-size:1.1rem}.payslip-line.border-top{border-top:1px solid #e4e4e7;border-top:1px solid var(--color-border)}.payslip-line.border-bottom{border-bottom:1px solid #e4e4e7;border-bottom:1px solid var(--color-border)}.text-muted{color:#a1a1aa;color:var(--color-text-muted)}.font-bold{color:#1a1a1a;color:var(--color-text-primary);font-weight:600}@media (max-width:768px){.page-header{align-items:flex-start;flex-direction:column;gap:1rem}.header-actions{width:100%}.header-actions .btn{flex:1 1;justify-content:center}.modal{padding:0}.modal-content{border-radius:0;height:100vh;max-width:100%}.data-table{font-size:.8rem}.data-table td,.data-table th{padding:.75rem .5rem}.form-actions{flex-direction:column}.form-actions .btn{justify-content:center;width:100%}}.announcement-sms-modal .modal-header h2{color:#f59e0b}.recipients-section{border-bottom:1px solid #f3f4f6;margin-bottom:1.5rem;padding-bottom:1.5rem}.recipients-section h3{color:#374151;font-size:.95rem;font-weight:600;letter-spacing:.5px;margin:0 0 1rem;text-transform:uppercase}.recipients-list{background:#f9fafb;border-radius:8px;display:flex;flex-direction:column;gap:.75rem;max-height:200px;overflow-y:auto;padding:1rem}.recipient-item{align-items:center;background:#fff;border:1px solid #f3f4f6;border-radius:6px;color:#374151;display:flex;font-size:.9rem;gap:.75rem;padding:.75rem}.recipient-item svg{color:#667eea;flex-shrink:0}.recipient-item.more{background:#f0fdf4;border-color:#dcfce7;color:#15803d;font-weight:500;justify-content:center}.info-value.recipients{color:#f59e0b;font-weight:600}.tickets-page{max-width:1400px}.tickets-page .page-header{align-items:center;display:flex;gap:2rem;justify-content:space-between;margin-bottom:2rem}.tickets-page .page-header h1{font-size:2rem;font-weight:700;margin:0 0 .5rem}.tickets-page .page-header p{color:var(--text-secondary);margin:0}.tickets-page .stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.tickets-page .stat-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:1.5rem;text-align:center;transition:all .2s}.tickets-page .stat-card:hover{border-color:var(--primary);box-shadow:var(--shadow-xs)}.tickets-page .stat-value{color:var(--text-primary);font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.tickets-page .stat-label{color:var(--text-secondary);font-size:.875rem;letter-spacing:.5px;text-transform:uppercase}.tickets-page .filters{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.tickets-page .filter-select{background-color:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-input);color:var(--text-primary);cursor:pointer;font-size:.875rem;padding:.75rem 1rem;transition:border-color .2s}.tickets-page .filter-select:focus,.tickets-page .filter-select:hover{border-color:var(--border-focus);outline:none}.tickets-page .loading{align-items:center;color:var(--text-secondary);display:flex;font-size:1rem;gap:1rem;justify-content:center;padding:3rem}.tickets-page .empty-state{color:var(--text-secondary);padding:3rem;text-align:center}.tickets-page .empty-state p{font-size:1.125rem;margin-bottom:1.5rem}.tickets-page .tickets-table{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);margin-bottom:2rem;overflow:hidden}.tickets-page .tickets-table table{border-collapse:collapse;width:100%}.tickets-page .tickets-table th{background-color:var(--bg-alt);color:var(--text-secondary);font-weight:600;text-align:left}.tickets-page .tickets-table td,.tickets-page .tickets-table th{border-bottom:1px solid var(--border);font-size:.875rem;padding:1rem}.tickets-page .ticket-row:hover{background-color:var(--bg-alt)}.tickets-page .ticket-id{color:var(--text-secondary);font-family:Courier New,monospace}.tickets-page .ticket-title{color:var(--text-primary);font-weight:500;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tickets-page .badge{border-radius:var(--radius-button);color:#fff;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase}.tickets-page .badge.internal{background-color:var(--secondary)}.tickets-page .pagination{align-items:center;display:flex;gap:1rem;justify-content:center;margin:2rem 0}.tickets-page .pagination span{color:var(--text-secondary);font-size:.875rem}.tickets-page .modal-overlay{align-items:center;animation:modalOverlayIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0614108c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.tickets-page .modal-content{animation:modalIn .25s cubic-bezier(.16,1,.3,1);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-dropdown);max-height:90vh;max-width:500px;overflow-y:auto;padding:2rem}.tickets-page .modal-content.large{max-width:800px}.tickets-page .modal-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.tickets-page .modal-header h2{font-size:1.5rem;margin:0}.tickets-page .btn-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:2rem;line-height:1;padding:0}.tickets-page .btn-close:hover{color:var(--text-primary)}.tickets-page .form-group{margin-bottom:1.5rem}.tickets-page .form-group label{color:var(--text-primary);display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.tickets-page .form-group input,.tickets-page .form-group select,.tickets-page .form-group textarea{border:1px solid var(--border);border-radius:var(--radius-input);font-family:inherit;font-size:.875rem;padding:.75rem;transition:border-color .2s;width:100%}.tickets-page .form-group input:focus,.tickets-page .form-group select:focus,.tickets-page .form-group textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #064e3b1a;outline:none}.tickets-page .form-group textarea{resize:vertical}.tickets-page .form-actions{border-top:1px solid var(--border);display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1rem}.tickets-page .btn{align-items:center;border:none;border-radius:var(--radius-button);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease}.tickets-page .btn:hover:not(:disabled){transform:translateY(-1px)}.tickets-page .btn:disabled{cursor:not-allowed;opacity:.5}.tickets-page .btn-primary{background-color:var(--primary);color:var(--primary-fg)}.tickets-page .btn-primary:hover:not(:disabled){background-color:var(--primary-hover);box-shadow:var(--shadow-hover)}.tickets-page .btn-secondary{background-color:var(--bg-alt);color:var(--text-primary)}.tickets-page .btn-secondary:hover:not(:disabled){background-color:var(--border)}.tickets-page .btn-success{background-color:#0596691a;color:#059669}.tickets-page .btn-success:hover:not(:disabled){background-color:#0596692e}.tickets-page .btn-sm{font-size:.75rem;padding:.5rem 1rem}.tickets-page .ticket-detail{display:flex;flex-direction:column;gap:2rem}.tickets-page .ticket-info-grid{grid-gap:1.5rem;background-color:var(--bg-default);border-radius:var(--radius-card);display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));padding:1.5rem}.tickets-page .ticket-info-grid>div{display:flex;flex-direction:column;gap:.5rem}.tickets-page .ticket-info-grid strong{color:var(--text-secondary);font-size:.875rem}.tickets-page .ticket-info-grid span{color:var(--text-primary);font-weight:500}.tickets-page .section{display:flex;flex-direction:column;gap:1rem}.tickets-page .section h3{color:var(--text-primary);font-size:1rem;margin:0}.tickets-page .section p{color:var(--text-secondary);line-height:1.6;margin:0}.tickets-page .section.resolution{background-color:#0596691f;border-radius:var(--radius-input);padding:1rem}.tickets-page .section.resolution p{color:#059669}.tickets-page .comments-list{display:flex;flex-direction:column;gap:1rem}.tickets-page .comments-list .empty{color:var(--text-muted);font-style:italic}.tickets-page .comment{background-color:var(--bg-default);border-left:3px solid var(--border);border-radius:4px;padding:1rem}.tickets-page .comment.internal{background-color:#1d4ed80f;border-left-color:var(--secondary)}.tickets-page .comment-header{align-items:center;display:flex;font-size:.875rem;gap:.5rem;margin-bottom:.5rem}.tickets-page .comment-header strong{color:var(--text-secondary)}.tickets-page .comment-header .time{color:var(--text-muted);margin-left:auto}.tickets-page .comment p{word-wrap:break-word;color:var(--text-primary);line-height:1.5;margin:0}.tickets-page .add-comment{background-color:var(--bg-alt);border-radius:var(--radius-input);display:flex;flex-direction:column;gap:1rem;padding:1rem}.tickets-page .add-comment textarea{border:1px solid var(--border);border-radius:var(--radius-input);font-family:inherit;font-size:.875rem;padding:.75rem;width:100%}.tickets-page .add-comment label{align-items:center;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.875rem;gap:.5rem}.tickets-page .add-comment input[type=checkbox]{margin:0;width:auto}.tickets-page .actions .action-buttons,.tickets-page .resolution-form{display:flex;flex-direction:column;gap:1rem}.tickets-page .resolution-form{background-color:#d977061f;border-radius:var(--radius-input);margin-top:1rem;padding:1rem}.tickets-page .resolution-form textarea{border:1px solid var(--accent);border-radius:var(--radius-input);font-family:inherit;font-size:.875rem;padding:.75rem;width:100%}@media (max-width:768px){.tickets-page .page-header{align-items:flex-start;flex-direction:column}.tickets-page .stats-grid{grid-template-columns:repeat(2,1fr)}.tickets-page .tickets-table{font-size:.75rem}.tickets-page .tickets-table td,.tickets-page .tickets-table th{padding:.75rem .5rem}.tickets-page .ticket-title{max-width:150px}.tickets-page .modal-content{max-width:90vw;padding:1rem}.tickets-page .ticket-info-grid{grid-template-columns:repeat(2,1fr)}.tickets-page .form-actions{flex-direction:column}.tickets-page .form-actions .btn{justify-content:center;width:100%}}.parent-requests-admin-page{max-width:1400px}.parent-requests-admin-page .page-header{align-items:center;display:flex;gap:2rem;justify-content:space-between;margin-bottom:1.5rem}.parent-requests-admin-page .page-header h1{font-size:2rem;font-weight:700;margin:0 0 .5rem}.parent-requests-admin-page .page-header p{color:var(--text-secondary);margin:0}.parent-requests-admin-page .pra-tabs{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}.parent-requests-admin-page .pra-panel{display:flex;flex-direction:column;gap:1.5rem}.parent-requests-admin-page .pra-panel-header{display:flex;justify-content:flex-end}.parent-requests-admin-page .pra-row-actions{display:flex;flex-wrap:wrap;gap:.5rem}.parent-requests-admin-page .pra-hint{color:var(--text-secondary);font-size:.8125rem;margin:0 0 1rem}.parent-requests-admin-page .pra-mt{margin-top:1rem}.parent-requests-admin-page .pra-ack-grid{grid-gap:1.5rem;align-items:start;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}.parent-requests-admin-page .pra-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:1.5rem}.parent-requests-admin-page .pra-card-wide{grid-column:span 1}.parent-requests-admin-page .pra-card h3{font-size:1rem;margin:0 0 1rem}.parent-requests-admin-page .pra-checkbox-list{border:1px solid var(--border);border-radius:var(--radius-input);display:flex;flex-direction:column;gap:.5rem;max-height:200px;overflow-y:auto;padding:.5rem}.parent-requests-admin-page .pra-checkbox-list label{align-items:center;cursor:pointer;display:flex;font-size:.875rem;font-weight:400;gap:.5rem}.parent-requests-admin-page .pra-checkbox-list input[type=checkbox]{width:auto}.parent-requests-admin-page .filters{display:flex;flex-wrap:wrap;gap:1rem}.parent-requests-admin-page .filter-select{background-color:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-input);color:var(--text-primary);cursor:pointer;font-size:.875rem;padding:.75rem 1rem}.parent-requests-admin-page .filter-select:focus,.parent-requests-admin-page .filter-select:hover{border-color:var(--border-focus);outline:none}.parent-requests-admin-page .loading{align-items:center;color:var(--text-secondary);display:flex;font-size:1rem;gap:1rem;justify-content:center;padding:3rem}.parent-requests-admin-page .empty-state{color:var(--text-secondary);padding:3rem;text-align:center}.parent-requests-admin-page .empty{color:var(--text-muted);font-style:italic}.parent-requests-admin-page .pra-table{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);overflow:hidden;overflow-x:auto}.parent-requests-admin-page .pra-table table{border-collapse:collapse;width:100%}.parent-requests-admin-page .pra-table th{background-color:var(--bg-alt);color:var(--text-secondary);font-weight:600;text-align:left;white-space:nowrap}.parent-requests-admin-page .pra-table td,.parent-requests-admin-page .pra-table th{border-bottom:1px solid var(--border);font-size:.875rem;padding:1rem}.parent-requests-admin-page .pra-table tr:hover{background-color:var(--bg-alt)}.parent-requests-admin-page .badge{border-radius:var(--radius-button);color:#fff;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase}.parent-requests-admin-page .badge.internal{background-color:var(--secondary)}.parent-requests-admin-page .badge.severity-low{background-color:#3b82f6}.parent-requests-admin-page .badge.severity-medium{background-color:#f59e0b}.parent-requests-admin-page .badge.severity-high{background-color:#dc2626}.parent-requests-admin-page .modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0614108c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.parent-requests-admin-page .modal-content{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-dropdown);max-height:90vh;max-width:520px;overflow-y:auto;padding:2rem;width:90vw}.parent-requests-admin-page .modal-content.large{max-width:800px}.parent-requests-admin-page .modal-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.parent-requests-admin-page .modal-header h2{font-size:1.375rem;margin:0}.parent-requests-admin-page .btn-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:2rem;line-height:1;padding:0}.parent-requests-admin-page .btn-close:hover{color:var(--text-primary)}.parent-requests-admin-page .form-group{margin-bottom:1.25rem}.parent-requests-admin-page .form-group label{color:var(--text-primary);display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.parent-requests-admin-page .form-group input,.parent-requests-admin-page .form-group select,.parent-requests-admin-page .form-group textarea{border:1px solid var(--border);border-radius:var(--radius-input);font-family:inherit;font-size:.875rem;padding:.7rem;width:100%}.parent-requests-admin-page .form-group input:focus,.parent-requests-admin-page .form-group select:focus,.parent-requests-admin-page .form-group textarea:focus{border-color:var(--border-focus);outline:none}.parent-requests-admin-page .form-group textarea{resize:vertical}.parent-requests-admin-page .form-actions{border-top:1px solid var(--border);display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1rem}.parent-requests-admin-page .btn{align-items:center;border:none;border-radius:var(--radius-button);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.7rem 1.4rem;transition:transform .15s ease,background-color .15s ease}.parent-requests-admin-page .btn:hover:not(:disabled){transform:translateY(-1px)}.parent-requests-admin-page .btn:disabled{cursor:not-allowed;opacity:.5}.parent-requests-admin-page .btn-primary{background-color:var(--primary);color:var(--primary-fg)}.parent-requests-admin-page .btn-primary:hover:not(:disabled){background-color:var(--primary-hover)}.parent-requests-admin-page .btn-secondary{background-color:var(--bg-alt);color:var(--text-primary)}.parent-requests-admin-page .btn-secondary:hover:not(:disabled){background-color:var(--border)}.parent-requests-admin-page .btn-success{background-color:#0596691f;color:#059669}.parent-requests-admin-page .btn-success:hover:not(:disabled){background-color:#05966933}.parent-requests-admin-page .btn-danger{background-color:#dc26261f;color:#dc2626}.parent-requests-admin-page .btn-danger:hover:not(:disabled){background-color:#dc262633}.parent-requests-admin-page .btn-sm{font-size:.75rem;padding:.45rem .9rem}.parent-requests-admin-page .ticket-detail{display:flex;flex-direction:column;gap:1.5rem}.parent-requests-admin-page .ticket-info-grid{grid-gap:1.25rem;background-color:var(--bg-default);border-radius:var(--radius-card);display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));padding:1.25rem}.parent-requests-admin-page .ticket-info-grid>div{display:flex;flex-direction:column;gap:.4rem}.parent-requests-admin-page .ticket-info-grid strong{color:var(--text-secondary);font-size:.8125rem}.parent-requests-admin-page .section{display:flex;flex-direction:column;gap:.75rem}.parent-requests-admin-page .section h3{font-size:1rem;margin:0}.parent-requests-admin-page .section p{color:var(--text-secondary);line-height:1.6;margin:0}.parent-requests-admin-page .section.resolution{background-color:#0596691f;border-radius:var(--radius-input);padding:1rem}.parent-requests-admin-page .comments-list{display:flex;flex-direction:column;gap:.75rem}.parent-requests-admin-page .comment{background-color:var(--bg-default);border-left:3px solid var(--border);border-radius:4px;padding:.875rem}.parent-requests-admin-page .comment.internal{background-color:#1d4ed80f;border-left-color:var(--secondary)}.parent-requests-admin-page .comment-header{align-items:center;display:flex;font-size:.8125rem;gap:.5rem;margin-bottom:.4rem}.parent-requests-admin-page .comment-header .time{color:var(--text-muted);margin-left:auto}.parent-requests-admin-page .comment p{color:var(--text-primary);line-height:1.5;margin:0}.parent-requests-admin-page .add-comment{background-color:var(--bg-alt);border-radius:var(--radius-input);display:flex;flex-direction:column;gap:.75rem;padding:1rem}.parent-requests-admin-page .add-comment label{align-items:center;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.875rem;gap:.5rem}.parent-requests-admin-page .add-comment input[type=checkbox]{margin:0;width:auto}@media (max-width:900px){.parent-requests-admin-page .pra-ack-grid{grid-template-columns:1fr}}@media (max-width:768px){.parent-requests-admin-page .page-header{align-items:flex-start;flex-direction:column}.parent-requests-admin-page .modal-content{padding:1.25rem}.parent-requests-admin-page .ticket-info-grid{grid-template-columns:repeat(2,1fr)}}.hr-recruitment{background:#f5f7f4;color:#1d2b24;min-height:100%;padding:32px 36px}.hr-recruitment header{border-bottom:1px solid #d9e2da;padding-bottom:24px}.hr-recruitment h1{font:38px Georgia,serif;margin:8px 0}.hr-recruitment header p{color:#68766d}.hr-tabs{display:flex;gap:8px;overflow:auto;padding:20px 0}.hr-tabs button{background:#0000;border:0;color:#627067;cursor:pointer;font-weight:700;padding:11px 15px;white-space:nowrap}.hr-tabs button.active{background:#1d2b24;border-radius:5px;color:#fff}.hr-tabs span{color:#c45b35;margin-left:5px}.hr-tabs button.active span{color:#fff}.hr-columns{grid-gap:18px;display:grid;gap:18px;grid-template-columns:minmax(280px,380px) 1fr}.hr-panel{background:#fff;border:1px solid #dce5de;border-radius:6px;padding:20px}.hr-panel h2{font-size:18px;margin:0 0 16px}.hr-panel input,.hr-panel select,.hr-panel textarea{background:#fbfcfb;border:1px solid #cbd8ce;border-radius:4px;box-sizing:border-box;font:inherit;margin-bottom:11px;padding:11px;width:100%}.hr-panel textarea{min-height:100px;resize:vertical}.hr-list article{border-top:1px solid #e8eee9;padding:14px 0;position:relative}.hr-list article small,.hr-list article strong{display:block}.hr-list article small{color:#738078;margin-top:5px}.hr-list article em{color:#47735b;font-size:11px;font-style:normal;position:absolute;right:0;text-transform:uppercase;top:15px}.hr-list article select{float:right;margin-top:-8px;width:auto}.hr-hired-note{color:#47735b;font-weight:700;margin-top:6px}.hr-hire-form{background:#fbfcfb;border:1px solid #dce5de;border-radius:5px;margin-top:10px;padding:12px}.hr-hire-form input,.hr-hire-form select{border:1px solid #cbd8ce;border-radius:4px;box-sizing:border-box;font:inherit;margin-bottom:8px;padding:8px;width:100%}.hr-hire-actions{display:flex;gap:8px}.hr-hire-actions button{border:1px solid #cbd8ce;border-radius:4px;cursor:pointer;font-weight:700;padding:8px 12px}.hr-hire-actions button.primary{border:0}@media(max-width:800px){.hr-recruitment{padding:22px 16px}.hr-recruitment h1{font-size:31px}.hr-columns{grid-template-columns:1fr}}.hr-admin{background:#f5f7f4;color:#1d2b24;min-height:100%;padding:32px 36px}.hr-admin header{border-bottom:1px solid #d9e2da;padding-bottom:24px}.hr-admin h1{font:38px Georgia,serif;margin:8px 0}.hr-admin header p{color:#68766d}.hr-admin-tabs{display:flex;gap:4px;overflow:auto;padding:20px 0}.hr-admin-tabs button{background:#0000;border:0;color:#627067;cursor:pointer;font-weight:700;padding:11px 13px;white-space:nowrap}.hr-admin-tabs button.active{background:#1d2b24;border-radius:5px;color:#fff}.hr-admin-tabs span{color:#c45b35;margin-left:6px}.hr-admin-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:340px 1fr}.hr-admin-form,.hr-admin-list{background:#fff;border:1px solid #dce5de;border-radius:6px;padding:20px}.hr-admin-form h2,.hr-admin-list h2{font-size:18px;margin:0 0 16px}.hr-admin-form input,.hr-admin-form select{background:#fbfcfb;border:1px solid #cbd8ce;border-radius:4px;box-sizing:border-box;font:inherit;margin-bottom:11px;padding:11px;width:100%}.hr-admin-list article{border-top:1px solid #e8eee9;padding:14px 0;position:relative}.hr-admin-list article small,.hr-admin-list article strong{display:block}.hr-admin-list article small{color:#738078;margin-top:5px}.hr-admin-list article em{color:#47735b;font-size:11px;font-style:normal;position:absolute;right:0;text-transform:uppercase;top:15px}.hr-inline-actions{display:flex;gap:8px;margin-top:6px}.hr-inline-actions button{background:#fbfcfb;border:1px solid #cbd8ce;border-radius:4px;color:#1d2b24;cursor:pointer;font-size:12px;font-weight:700;padding:6px 10px}.hr-inline-actions button:hover{background:#eef2ee}.hr-link-btn{background:none;border:0;color:#c45b35;cursor:pointer;font-size:12px;font-weight:700;margin-top:6px;padding:0}.hr-clearance-panel{background:#fbfcfb;border:1px solid #dce5de;border-radius:5px;margin-top:10px;padding:12px}.hr-clearance-panel label{align-items:center;display:flex;font-size:13px;gap:8px;margin-bottom:8px}.hr-clearance-panel input[type=number],.hr-clearance-panel input[type=text]{border:1px solid #cbd8ce;border-radius:4px;box-sizing:border-box;font:inherit;margin-bottom:8px;padding:8px;width:100%}.hr-clearance-status{color:#47735b;display:inline-block;font-size:11px;font-weight:700;margin-top:6px;text-transform:uppercase}.hr-admin-grid.single{grid-template-columns:1fr}.hr-org-tree{list-style:none;margin:0;padding:0}.hr-org-tree ul{border-left:1px dashed #cbd8ce;list-style:none;margin:8px 0 0 22px;padding:14px 0 0 18px}.hr-org-tree li{padding:6px 0}.hr-org-role{color:#738078;font-size:12px;font-weight:400;margin-left:6px}@media(max-width:800px){.hr-admin{padding:22px 16px}.hr-admin h1{font-size:31px}.hr-admin-grid{grid-template-columns:1fr}}.curriculum-page{background:#f5f7f4;color:#1d2b24;min-height:100%;padding:32px 36px}.curriculum-page header{border-bottom:1px solid #d9e2da;padding-bottom:24px}.curriculum-page h1{font:38px Georgia,serif;margin:8px 0}.curriculum-page header p{color:#68766d}.coverage-strip{align-items:baseline;display:flex;gap:10px;padding:22px 0}.coverage-strip strong{color:#c45b35;font:36px Georgia,serif}.coverage-strip span{font-weight:700}.coverage-strip small{color:#738078}.curriculum-tabs{display:flex;gap:8px;padding-bottom:20px}.curriculum-tabs button{background:#0000;border:0;color:#627067;cursor:pointer;font-weight:700;padding:11px 14px}.curriculum-tabs button.active{background:#1d2b24;border-radius:5px;color:#fff}.curriculum-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:340px 1fr}.curriculum-panel{background:#fff;border:1px solid #dce5de;border-radius:6px;padding:20px}.curriculum-panel h2{font-size:18px;margin:0 0 16px}.curriculum-panel h2 span{color:#c45b35;float:right}.curriculum-panel input,.curriculum-panel select,.curriculum-panel textarea{background:#fbfcfb;border:1px solid #cbd8ce;border-radius:4px;box-sizing:border-box;font:inherit;margin-bottom:11px;padding:11px;width:100%}.curriculum-panel textarea{min-height:72px;resize:vertical}.curriculum-list article{border-top:1px solid #e8eee9;padding:14px 0;position:relative}.curriculum-list article small,.curriculum-list article strong{display:block}.curriculum-list article small{color:#738078;margin-top:5px;max-width:70%}.curriculum-list article button{background:none;border:0;color:#c45b35;cursor:pointer;font-weight:700;position:absolute;right:0;top:14px}.curriculum-list article em{color:#47735b;font-size:11px;font-style:normal;position:absolute;right:0;text-transform:uppercase;top:15px}.coverage-report{max-width:900px}.coverage-number{color:#c45b35;font:64px Georgia,serif}.coverage-table{border-collapse:collapse;margin:18px 0;width:100%}.coverage-table th{border-bottom:1px solid #dce5de;color:#738078;font-size:11px;letter-spacing:.5px;padding:8px 10px;text-align:left;text-transform:uppercase}.coverage-table td{border-bottom:1px solid #e8eee9;padding:10px}@media(max-width:800px){.curriculum-page{padding:22px 16px}.curriculum-page h1{font-size:31px}.curriculum-grid{grid-template-columns:1fr}.coverage-strip{flex-wrap:wrap}}.tracks-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:340px 1fr;margin-bottom:18px}.tracks-panel{background:#fff;border:1px solid #dce5de;border:1px solid var(--border-color,#dce5de);border-radius:8px;padding:20px}.tracks-panel h2{font-size:16px;margin:0 0 14px}.tracks-panel h2 span{color:#738078;color:var(--text-secondary,#738078);font-weight:500;margin-left:6px}.tracks-panel .form-row{align-items:center;display:flex;gap:8px;margin-bottom:14px}.tracks-panel .form-row select{flex:1 1}.tracks-items{display:flex;flex-direction:column;gap:8px}.track-item{align-items:center;background:#fbfcfb;border:1px solid #dce5de;border:1px solid var(--border-color,#dce5de);border-radius:6px;cursor:pointer;display:flex;gap:10px;padding:10px 12px;text-align:left;width:100%}.track-item.active{background:#fdf2ee;border-color:#c45b35}.track-item strong{display:block}.track-item small{color:#738078;color:var(--text-secondary,#738078);display:block;margin-top:2px}.tracks-list-simple{display:flex;flex-direction:column;gap:4px}.tracks-list-row{align-items:center;border-bottom:1px solid #eef2ef;display:flex;justify-content:space-between;padding:8px 10px}.tracks-list-row:last-child{border-bottom:none}@media (max-width:800px){.tracks-grid{grid-template-columns:1fr}}.sensitive-support{background:#f5f7f4;color:#1d2b24;min-height:100%;padding:32px 36px}.sensitive-support header{border-bottom:1px solid #d9e2da;padding-bottom:24px}.sensitive-support h1{font:38px Georgia,serif;margin:8px 0}.sensitive-support header p{color:#68766d}.support-tabs{display:flex;gap:4px;overflow:auto;padding:20px 0}.support-tabs button{background:#0000;border:0;color:#627067;cursor:pointer;font-weight:700;padding:11px 13px;white-space:nowrap}.support-tabs button.active{background:#1d2b24;border-radius:5px;color:#fff}.support-tabs span{color:#c45b35;margin-left:6px}.support-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:340px 1fr}.support-form,.support-list{background:#fff;border:1px solid #dce5de;border-radius:6px;padding:20px}.support-form h2,.support-list h2{font-size:18px;margin:0 0 16px}.support-form input,.support-form select,.support-form textarea{background:#fbfcfb;border:1px solid #cbd8ce;border-radius:4px;box-sizing:border-box;font:inherit;margin-bottom:11px;padding:11px;width:100%}.support-form textarea{min-height:80px;resize:vertical}.support-list article{border-top:1px solid #e8eee9;padding:14px 0;position:relative}.support-list article small,.support-list article strong{display:block}.support-list article small{color:#738078;margin-top:5px}.support-list article em{color:#47735b;font-size:11px;font-style:normal;position:absolute;right:0;text-transform:uppercase;top:15px}.link-btn{background:#0000;border:0;color:#c45b35;cursor:pointer;font-size:13px;font-weight:700;padding:6px 0 0}@media(max-width:800px){.sensitive-support{padding:22px 16px}.sensitive-support h1{font-size:31px}.support-grid{grid-template-columns:1fr}}.analytics-dashboard-page{margin:0 auto;max-width:1400px;padding:2rem}.page-header{margin-bottom:2rem}.page-header h1{color:#1f2937;font-size:2rem;font-weight:700;margin-bottom:.5rem}.page-header p{color:#6b7280;font-size:1rem}.toolbar{display:flex;gap:1rem;margin-bottom:1.5rem}.tabs{border-bottom:1px solid #e5e7eb;flex-wrap:wrap;margin-bottom:2rem}.tab-button,.tabs{display:flex;gap:.5rem}.tab-button{align-items:center;background:none;font-size:1rem;padding:.75rem 1.5rem}.tab-button:hover{color:#374151}.tab-button.active{border-bottom-color:#3b82f6;color:#3b82f6}.tab-button .badge{background:#ef4444;border-radius:9999px;color:#fff;font-size:.75rem;font-weight:600;margin-left:.5rem;padding:.25rem .5rem}.analytics-content{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a}.analytics-tab-content{padding:2rem}.section{margin-bottom:2rem}.section:last-child{margin-bottom:0}.section h3{color:#1f2937;font-size:1.25rem;font-weight:600;margin-bottom:1.5rem}.section h4{color:#374151;font-size:1rem;font-weight:600;margin-bottom:1rem}.empty-state{padding:3rem 2rem}.empty-state svg{margin-bottom:1rem;opacity:.3}.students-list{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.risk-card{border:1px solid #e5e7eb;border-left:4px solid #6b7280;border-radius:.75rem;cursor:pointer;padding:1.5rem;transition:all .2s ease}.risk-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.risk-card.risk-low{border-left-color:#10b981}.risk-card.risk-moderate{border-left-color:#f59e0b}.risk-card.risk-high{border-left-color:#ef4444}.risk-card.risk-critical{background:#fef2f2;border-left-color:#7f1d1d}.risk-header{align-items:start;display:flex;justify-content:space-between;margin-bottom:1rem}.risk-info h4{color:#1f2937;font-size:1.1rem;margin:0 0 .25rem}.student-code{color:#6b7280;font-size:.875rem;margin:0}.risk-badge{border-radius:9999px;color:#fff;font-size:.875rem;font-weight:600;padding:.25rem .75rem;white-space:nowrap}.risk-badge.risk-low{background:#10b981}.risk-badge.risk-moderate{background:#f59e0b}.risk-badge.risk-high{background:#ef4444}.risk-badge.risk-critical{background:#7f1d1d}.risk-metrics{grid-gap:1rem;border-bottom:1px solid #e5e7eb;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:1rem;padding-bottom:1rem}.metric{display:flex;flex-direction:column}.metric .label{color:#6b7280;font-size:.875rem;font-weight:500;margin-bottom:.25rem}.metric .value{color:#1f2937;font-size:1.25rem;font-weight:700}.risk-factors{font-size:.875rem}.factors-label{color:#6b7280;display:block;font-weight:500;margin-bottom:.5rem}.factors{display:flex;flex-wrap:wrap;gap:.5rem}.factor{background:#f3f4f6;border-radius:.375rem;color:#374151;font-size:.8rem;padding:.25rem .75rem;text-transform:capitalize}.chart-container{background:#f9fafb;border-radius:.75rem;margin-bottom:1.5rem;padding:1.5rem}.chart-container h4{margin-top:0}.class-details{background:#f9fafb;border-radius:.75rem;overflow-x:auto;padding:1.5rem}.classes-table{border-collapse:collapse;font-size:.875rem;width:100%}.classes-table thead{background:#e5e7eb}.classes-table th{border-bottom:2px solid #d1d5db;color:#374151;font-weight:600;padding:.75rem;text-align:left}.classes-table td{border-bottom:1px solid #e5e7eb;color:#374151;padding:.75rem}.classes-table tbody tr:hover{background:#f3f4f6}.class-name{color:#1f2937;font-weight:600}.classes-table td.failing{color:#ef4444;font-weight:600}.classes-table td.at-risk{color:#f59e0b;font-weight:600}.student-header{align-items:start;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1.5rem}.student-header h3{margin:0 0 .5rem}.student-header .student-code{color:#6b7280;font-size:.875rem}.metrics-grid{grid-gap:1.5rem;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.metric-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.75rem;flex-direction:column;padding:1.5rem}.metric-label{color:#6b7280;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.metric-value{font-size:2rem}.subject-performance{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.subject-card{border-radius:.75rem;display:flex;flex-direction:column;gap:.5rem;padding:1.5rem}.subject-card.strong{background:#ecfdf5;border:1px solid #d1fae5}.subject-card.weak{background:#fef3c7;border:1px solid #fde68a}.subject-label{color:#6b7280;font-size:.875rem;font-weight:500}.subject-name{color:#1f2937;font-size:1.25rem;font-weight:700}.subject-grade{color:#374151;font-size:1rem;font-weight:600}.risk-factors-list{grid-gap:.75rem;display:grid;gap:.75rem}.risk-item{align-items:center;background:#fef2f2;border-left:3px solid #ef4444;border-radius:.375rem;color:#991b1b;display:flex;font-weight:500;gap:.75rem;padding:.75rem 1rem}.risk-item svg{color:#ef4444;flex-shrink:0}.trends-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.trend-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.75rem;display:flex;flex-direction:column;padding:1rem}.trend-label{color:#6b7280;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.trend-value{color:#1f2937;font-size:1.1rem;font-weight:600;text-transform:capitalize}.btn{border-radius:.5rem;font-size:1rem;padding:.75rem 1.5rem}.btn-secondary{background:#f3f4f6;border:1px solid #d1d5db}.btn-secondary:hover:not(:disabled){background:#e5e7eb;border-color:#9ca3af}@media (max-width:768px){.analytics-dashboard-page{padding:1rem}.page-header h1{font-size:1.5rem}.students-list{grid-template-columns:1fr}.tabs{overflow-x:auto;padding-bottom:.5rem}.metrics-grid{grid-template-columns:1fr}.classes-table{font-size:.75rem}.classes-table td,.classes-table th{padding:.5rem}}.strategic-reports-page{max-width:1400px}.strategic-reports-page .page-header{align-items:center;display:flex;gap:2rem;justify-content:space-between;margin-bottom:1.5rem}.strategic-reports-page .page-header h1{font-size:2rem;font-weight:700;margin:0 0 .5rem}.strategic-reports-page .page-header p{color:var(--text-secondary);margin:0}.strategic-reports-page .srp-tabs{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}.strategic-reports-page .srp-panel{display:flex;flex-direction:column;gap:1.25rem}.strategic-reports-page .srp-two-col{align-items:start}.strategic-reports-page .srp-grid,.strategic-reports-page .srp-two-col{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}.strategic-reports-page .srp-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:1.5rem}.strategic-reports-page .srp-card h3{font-size:1rem;margin:0 0 1rem}.strategic-reports-page .srp-card h4{color:var(--text-secondary);font-size:.875rem;margin:1.25rem 0 .5rem}.strategic-reports-page .srp-mt{margin-top:1.25rem}.strategic-reports-page .srp-inline-filter{align-items:center;display:flex;gap:.75rem;max-width:260px}.strategic-reports-page .srp-inline-filter label{margin-bottom:0;white-space:nowrap}.strategic-reports-page .srp-stat-row{display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:1rem}.strategic-reports-page .srp-stat{display:flex;flex-direction:column}.strategic-reports-page .srp-stat-value{color:var(--text-primary);font-size:1.5rem;font-weight:700}.strategic-reports-page .srp-stat-label{color:var(--text-secondary);font-size:.75rem;letter-spacing:.4px;text-transform:uppercase}.strategic-reports-page .srp-row-actions{display:flex;flex-wrap:wrap;gap:.5rem}.strategic-reports-page .srp-mb-sm{margin-bottom:.5rem}.strategic-reports-page .srp-checkbox-grid{grid-gap:.5rem;border:1px solid var(--border);border-radius:var(--radius-input);display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));max-height:260px;overflow-y:auto;padding:.75rem}.strategic-reports-page .srp-checkbox-item{align-items:center;display:flex!important;font-size:.8125rem;font-weight:400!important;gap:.4rem;margin-bottom:0!important}.strategic-reports-page .srp-checkbox-item input[type=checkbox]{margin-right:0!important;width:auto}.strategic-reports-page .srp-filter-row{align-items:center;display:flex;gap:.75rem;margin-bottom:.6rem}.strategic-reports-page .srp-filter-row input{flex:1 1}.strategic-reports-page .srp-filter-label{color:var(--text-secondary);flex-shrink:0;font-size:.8125rem;margin-bottom:0!important;text-transform:capitalize;width:110px}.strategic-reports-page .srp-list{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0;padding:0}.strategic-reports-page .srp-list li{align-items:center;border:1px solid var(--border);border-radius:var(--radius-input);display:flex;font-size:.875rem;justify-content:space-between;padding:.6rem .75rem}.strategic-reports-page .srp-list em{color:var(--text-secondary);font-size:.75rem;font-style:normal}.strategic-reports-page .loading{align-items:center;color:var(--text-secondary);display:flex;gap:1rem;justify-content:center;padding:3rem}.strategic-reports-page .empty-state{color:var(--text-secondary);padding:3rem;text-align:center}.strategic-reports-page .empty{color:var(--text-muted);font-style:italic}.strategic-reports-page .srp-table{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);overflow:hidden;overflow-x:auto}.strategic-reports-page .srp-table table{border-collapse:collapse;width:100%}.strategic-reports-page .srp-table th{background-color:var(--bg-alt);border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:.8125rem;font-weight:600;padding:.75rem 1rem;text-align:left;white-space:nowrap}.strategic-reports-page .srp-table td{border-bottom:1px solid var(--border);font-size:.875rem;padding:.75rem 1rem}.strategic-reports-page .srp-table tr:hover{background-color:var(--bg-alt)}.strategic-reports-page .srp-table tr.srp-row-clickable{cursor:pointer}.strategic-reports-page .srp-table tr.srp-row-clickable:hover{background-color:var(--bg-alt);background-color:var(--bg-alt-hover,var(--bg-alt))}.strategic-reports-page .row-note{color:var(--text-muted);font-size:.75rem;padding:.5rem 1rem 0}.strategic-reports-page .modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0614108c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.strategic-reports-page .modal-content{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-dropdown);max-height:90vh;max-width:520px;overflow-y:auto;padding:2rem;width:90vw}.strategic-reports-page .modal-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.strategic-reports-page .modal-header h2{font-size:1.375rem;margin:0}.strategic-reports-page .btn-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:2rem;line-height:1;padding:0}.strategic-reports-page .btn-close:hover{color:var(--text-primary)}.strategic-reports-page .form-group{margin-bottom:1.25rem}.strategic-reports-page .form-group label{color:var(--text-primary);display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.strategic-reports-page .form-group input,.strategic-reports-page .form-group select{border:1px solid var(--border);border-radius:var(--radius-input);font-family:inherit;font-size:.875rem;padding:.7rem;width:100%}.strategic-reports-page .form-group input[type=checkbox]{margin-right:.5rem;width:auto}.strategic-reports-page .form-group input:focus,.strategic-reports-page .form-group select:focus{border-color:var(--border-focus);outline:none}.strategic-reports-page .form-actions{border-top:1px solid var(--border);display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1rem}.strategic-reports-page .btn{align-items:center;border:none;border-radius:var(--radius-button);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.7rem 1.4rem;transition:transform .15s ease,background-color .15s ease}.strategic-reports-page .btn:hover:not(:disabled){transform:translateY(-1px)}.strategic-reports-page .btn:disabled{cursor:not-allowed;opacity:.5}.strategic-reports-page .btn-primary{background-color:var(--primary);color:var(--primary-fg)}.strategic-reports-page .btn-primary:hover:not(:disabled){background-color:var(--primary-hover)}.strategic-reports-page .btn-secondary{background-color:var(--bg-alt);color:var(--text-primary)}.strategic-reports-page .btn-secondary:hover:not(:disabled){background-color:var(--border)}.strategic-reports-page .btn-danger{background-color:#dc26261f;color:#dc2626}.strategic-reports-page .btn-danger:hover:not(:disabled){background-color:#dc262633}.strategic-reports-page .btn-sm{font-size:.75rem;padding:.45rem .9rem}@media (max-width:900px){.strategic-reports-page .srp-grid,.strategic-reports-page .srp-two-col{grid-template-columns:1fr}}@media (max-width:768px){.strategic-reports-page .page-header{align-items:flex-start;flex-direction:column}.strategic-reports-page .modal-content{padding:1.25rem}}.executive-dashboard-page{max-width:1200px}.executive-dashboard-page .page-header{align-items:center;display:flex;gap:2rem;justify-content:space-between;margin-bottom:1.5rem}.executive-dashboard-page .page-header h1{font-size:2rem;font-weight:700;margin:0 0 .5rem}.executive-dashboard-page .page-header p{color:var(--text-secondary);margin:0}.executive-dashboard-page .loading{align-items:center;color:var(--text-secondary);display:flex;gap:1rem;justify-content:center;padding:3rem}.executive-dashboard-page .edp-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.executive-dashboard-page .edp-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);display:flex;flex-direction:column;gap:.5rem;padding:1.75rem}.executive-dashboard-page .edp-card.edp-warn{background:#dc26260f;border-color:#dc262659}.executive-dashboard-page .edp-value{color:var(--text-primary);font-size:2rem;font-weight:700}.executive-dashboard-page .edp-label{color:var(--text-secondary);font-size:.8125rem;letter-spacing:.4px;text-transform:uppercase}.executive-dashboard-page .edp-generated{color:var(--text-muted);font-size:.75rem;margin-top:1.5rem}.executive-dashboard-page .edp-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.executive-dashboard-page .edp-toolbar{display:flex;gap:.75rem;margin-bottom:1.25rem}.executive-dashboard-page .edp-card{cursor:default;font:inherit;text-align:left}.executive-dashboard-page .edp-card.edp-clickable{cursor:pointer;transition:border-color .15s ease,transform .15s ease}.executive-dashboard-page .edp-card.edp-clickable:hover{border-color:#0ea5e9;border-color:var(--color-sky,#0ea5e9);transform:translateY(-2px)}.executive-dashboard-page .edp-link-label{color:var(--text-primary);font-size:1.1rem;font-weight:600}.executive-dashboard-page .edp-inline-filter{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem;max-width:280px}.executive-dashboard-page .edp-hint{color:var(--text-secondary);font-size:.85rem;margin-bottom:1rem}.executive-dashboard-page .edp-table{overflow-x:auto}.executive-dashboard-page .edp-table table{border-collapse:collapse;width:100%}.executive-dashboard-page .edp-table td,.executive-dashboard-page .edp-table th{border-bottom:1px solid var(--border);font-size:.875rem;padding:.6rem .75rem;text-align:left}.executive-dashboard-page .edp-table th.edp-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.executive-dashboard-page .edp-customize-body{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr;margin-bottom:1rem}@media (max-width:640px){.executive-dashboard-page .edp-customize-body{grid-template-columns:1fr}}.executive-dashboard-page .edp-selected-list{display:flex;flex-direction:column;gap:.4rem;list-style:none;margin:0;padding:0}.executive-dashboard-page .edp-selected-list li{align-items:center;border:1px solid var(--border);border-radius:var(--radius-button);display:flex;font-size:.85rem;justify-content:space-between;padding:.4rem .6rem}.executive-dashboard-page .edp-row-actions{display:flex;gap:.25rem}.executive-dashboard-page .edp-checkbox-grid{display:flex;flex-direction:column;gap:.4rem;max-height:320px;overflow-y:auto}.executive-dashboard-page .edp-checkbox-item{align-items:center;display:flex;font-size:.85rem;gap:.5rem}.executive-dashboard-page .btn{border:none;border-radius:var(--radius-button);cursor:pointer;font-size:.875rem;font-weight:500;padding:.7rem 1.4rem}.executive-dashboard-page .btn-secondary{background-color:var(--bg-alt);color:var(--text-primary)}.executive-dashboard-page .btn:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.executive-dashboard-page .page-header{align-items:flex-start;flex-direction:column}}.executive-insights-page{max-width:1400px}.executive-insights-page .page-header{align-items:center;display:flex;gap:2rem;justify-content:space-between;margin-bottom:1.5rem}.executive-insights-page .page-header h1{font-size:2rem;font-weight:700;margin:0 0 .5rem}.executive-insights-page .page-header p{color:var(--text-secondary);margin:0}.executive-insights-page .eip-tabs{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}.executive-insights-page .eip-panel{display:flex;flex-direction:column;gap:1.25rem}.executive-insights-page .eip-two-col{grid-gap:1.5rem;align-items:start;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}.executive-insights-page .eip-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:1.5rem}.executive-insights-page .eip-card h3{font-size:1rem;margin:0 0 1rem}.executive-insights-page .eip-card h4{color:var(--text-secondary);font-size:.875rem;margin:1.25rem 0 .5rem}.executive-insights-page .eip-mt{margin-top:1rem}.executive-insights-page .eip-hint{color:var(--text-secondary);font-size:.8125rem}.executive-insights-page .eip-inline-filter{align-items:center;display:flex;gap:.75rem;max-width:260px}.executive-insights-page .eip-inline-filter label{margin-bottom:0;white-space:nowrap}.executive-insights-page .eip-picker-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:1rem}.executive-insights-page .eip-picker-row .form-group{flex:1 1;margin-bottom:0;min-width:160px}.executive-insights-page .eip-stat-row{display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:1rem}.executive-insights-page .eip-stat{display:flex;flex-direction:column}.executive-insights-page .eip-stat-value{color:var(--text-primary);font-size:1.5rem;font-weight:700}.executive-insights-page .eip-stat-label{color:var(--text-secondary);font-size:.75rem;letter-spacing:.4px;text-transform:uppercase}.executive-insights-page .eip-row-actions{display:flex;flex-wrap:wrap;gap:.5rem}.executive-insights-page .eip-positive{color:#059669;font-weight:600}.executive-insights-page .eip-negative{color:#dc2626;font-weight:600}.executive-insights-page .loading{align-items:center;color:var(--text-secondary);display:flex;gap:1rem;justify-content:center;padding:3rem}.executive-insights-page .empty-state{color:var(--text-secondary);padding:3rem;text-align:center}.executive-insights-page .empty{color:var(--text-muted);font-style:italic}.executive-insights-page .eip-table{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);overflow:hidden;overflow-x:auto}.executive-insights-page .eip-table table{border-collapse:collapse;width:100%}.executive-insights-page .eip-table th{background-color:var(--bg-alt);border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:.8125rem;font-weight:600;padding:.75rem 1rem;text-align:left;white-space:nowrap}.executive-insights-page .eip-table td{border-bottom:1px solid var(--border);font-size:.875rem;padding:.75rem 1rem}.executive-insights-page .eip-table tr:hover{background-color:var(--bg-alt)}.executive-insights-page .badge{background-color:#6b7280;border-radius:var(--radius-button);color:#fff;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase}.executive-insights-page .badge.status-compliant{background-color:#10b981}.executive-insights-page .badge.status-upcoming{background-color:#3b82f6}.executive-insights-page .badge.status-overdue{background-color:#ef4444}.executive-insights-page .badge.status-expired{background-color:#7f1d1d}.executive-insights-page .modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0614108c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.executive-insights-page .modal-content{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-dropdown);max-height:90vh;max-width:520px;overflow-y:auto;padding:2rem;width:90vw}.executive-insights-page .modal-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.executive-insights-page .modal-header h2{font-size:1.375rem;margin:0}.executive-insights-page .btn-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:2rem;line-height:1;padding:0}.executive-insights-page .btn-close:hover{color:var(--text-primary)}.executive-insights-page .form-group{margin-bottom:1.25rem}.executive-insights-page .form-group label{color:var(--text-primary);display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.executive-insights-page .form-group input,.executive-insights-page .form-group select,.executive-insights-page .form-group textarea{border:1px solid var(--border);border-radius:var(--radius-input);font-family:inherit;font-size:.875rem;padding:.7rem;width:100%}.executive-insights-page .form-group input:focus,.executive-insights-page .form-group select:focus,.executive-insights-page .form-group textarea:focus{border-color:var(--border-focus);outline:none}.executive-insights-page .form-group textarea{resize:vertical}.executive-insights-page .form-actions{border-top:1px solid var(--border);display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1rem}.executive-insights-page .btn{align-items:center;border:none;border-radius:var(--radius-button);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.7rem 1.4rem;transition:transform .15s ease,background-color .15s ease}.executive-insights-page .btn:hover:not(:disabled){transform:translateY(-1px)}.executive-insights-page .btn:disabled{cursor:not-allowed;opacity:.5}.executive-insights-page .btn-primary{background-color:var(--primary);color:var(--primary-fg)}.executive-insights-page .btn-primary:hover:not(:disabled){background-color:var(--primary-hover)}.executive-insights-page .btn-secondary{background-color:var(--bg-alt);color:var(--text-primary)}.executive-insights-page .btn-secondary:hover:not(:disabled){background-color:var(--border)}.executive-insights-page .btn-danger{background-color:#dc26261f;color:#dc2626}.executive-insights-page .btn-danger:hover:not(:disabled){background-color:#dc262633}.executive-insights-page .btn-sm{font-size:.75rem;padding:.45rem .9rem}@media (max-width:900px){.executive-insights-page .eip-two-col{grid-template-columns:1fr}}@media (max-width:768px){.executive-insights-page .page-header{align-items:flex-start;flex-direction:column}.executive-insights-page .modal-content{padding:1.25rem}}.budget-page{max-width:1200px}.budget-page .page-header{align-items:center;display:flex;gap:2rem;justify-content:space-between;margin-bottom:1.5rem}.budget-page .page-header h1{font-size:2rem;font-weight:700;margin:0 0 .5rem}.budget-page .page-header p{color:var(--text-secondary);margin:0}.budget-page h3{font-size:1rem;margin:1.5rem 0 .75rem}.budget-page .bp-mt{margin-top:2rem}.budget-page .bp-hint{color:var(--text-secondary);font-size:.875rem}.budget-page .bp-inline-filter{margin-bottom:1.5rem;max-width:320px}.budget-page .bp-panel-header{display:flex;justify-content:flex-end;margin-bottom:1rem}.budget-page .bp-over{color:#dc2626;font-weight:600}.budget-page .bp-under{color:#059669;font-weight:600}.budget-page .loading{align-items:center;color:var(--text-secondary);display:flex;gap:1rem;justify-content:center;padding:3rem}.budget-page .empty{color:var(--text-muted);font-style:italic}.budget-page .bp-table{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);overflow:hidden;overflow-x:auto}.budget-page .bp-table table{border-collapse:collapse;width:100%}.budget-page .bp-table th{background-color:var(--bg-alt);color:var(--text-secondary);font-size:.8125rem;font-weight:600;text-align:left}.budget-page .bp-table td,.budget-page .bp-table th{border-bottom:1px solid var(--border);padding:.75rem 1rem}.budget-page .bp-table td{font-size:.875rem}.budget-page .bp-table tr:hover{background-color:var(--bg-alt)}.budget-page .modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0614108c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.budget-page .modal-content{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-dropdown);max-height:90vh;max-width:480px;overflow-y:auto;padding:2rem;width:90vw}.budget-page .modal-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.budget-page .modal-header h2{font-size:1.375rem;margin:0}.budget-page .btn-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:2rem;line-height:1;padding:0}.budget-page .btn-close:hover{color:var(--text-primary)}.budget-page .form-group{margin-bottom:1.25rem}.budget-page .form-group label{color:var(--text-primary);display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.budget-page .form-group input,.budget-page .form-group select,.budget-page .form-group textarea{border:1px solid var(--border);border-radius:var(--radius-input);font-family:inherit;font-size:.875rem;padding:.7rem;width:100%}.budget-page .form-group input:focus,.budget-page .form-group select:focus,.budget-page .form-group textarea:focus{border-color:var(--border-focus);outline:none}.budget-page .form-group textarea{resize:vertical}.budget-page .form-actions{border-top:1px solid var(--border);display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1rem}.budget-page .btn{border:none;border-radius:var(--radius-button);cursor:pointer;font-size:.875rem;font-weight:500;padding:.7rem 1.4rem;transition:transform .15s ease,background-color .15s ease}.budget-page .btn:hover:not(:disabled){transform:translateY(-1px)}.budget-page .btn:disabled{cursor:not-allowed;opacity:.5}.budget-page .btn-primary{background-color:var(--primary);color:var(--primary-fg)}.budget-page .btn-primary:hover:not(:disabled){background-color:var(--primary-hover)}.budget-page .btn-secondary{background-color:var(--bg-alt);color:var(--text-primary)}.budget-page .btn-secondary:hover:not(:disabled){background-color:var(--border)}.budget-page .btn-danger{background-color:#dc26261f;color:#dc2626}.budget-page .btn-danger:hover:not(:disabled){background-color:#dc262633}.budget-page .btn-sm{font-size:.75rem;padding:.45rem .9rem}@media (max-width:768px){.budget-page .page-header{align-items:flex-start;flex-direction:column}.budget-page .modal-content{padding:1.25rem}}.operational-insights-page{max-width:1400px}.operational-insights-page .page-header{align-items:center;display:flex;gap:2rem;justify-content:space-between;margin-bottom:1.5rem}.operational-insights-page .page-header h1{font-size:2rem;font-weight:700;margin:0 0 .5rem}.operational-insights-page .page-header p{color:var(--text-secondary);margin:0}.operational-insights-page .oip-tabs{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}.operational-insights-page .oip-panel{display:flex;flex-direction:column;gap:1.25rem}.operational-insights-page .oip-two-col{grid-gap:1.5rem;align-items:start;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}.operational-insights-page .oip-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:1.5rem}.operational-insights-page .oip-card h3{font-size:1rem;margin:0 0 1rem}.operational-insights-page .oip-card h4{color:var(--text-secondary);font-size:.875rem;margin:1.25rem 0 .5rem}.operational-insights-page .oip-mt{margin-top:1rem}.operational-insights-page .oip-hint{color:var(--text-secondary);font-size:.8125rem}.operational-insights-page .oip-inline-filter{align-items:center;display:flex;gap:.75rem;max-width:260px}.operational-insights-page .oip-inline-filter label{margin-bottom:0;white-space:nowrap}.operational-insights-page .oip-picker-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:1rem}.operational-insights-page .oip-picker-row .form-group{flex:1 1;margin-bottom:0;min-width:160px}.operational-insights-page .oip-stat-row{display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:1rem}.operational-insights-page .oip-stat{display:flex;flex-direction:column}.operational-insights-page .oip-stat-value{color:var(--text-primary);font-size:1.5rem;font-weight:700}.operational-insights-page .oip-stat-label{color:var(--text-secondary);font-size:.75rem;letter-spacing:.4px;text-transform:uppercase}.operational-insights-page .oip-row-actions{display:flex;flex-wrap:wrap;gap:.5rem}.operational-insights-page .oip-positive{color:#059669;font-weight:600}.operational-insights-page .oip-negative{color:#dc2626;font-weight:600}.operational-insights-page .loading{align-items:center;color:var(--text-secondary);display:flex;gap:1rem;justify-content:center;padding:3rem}.operational-insights-page .empty-state{color:var(--text-secondary);padding:3rem;text-align:center}.operational-insights-page .empty{color:var(--text-muted);font-style:italic}.operational-insights-page .oip-table{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);overflow:hidden;overflow-x:auto}.operational-insights-page .oip-table table{border-collapse:collapse;width:100%}.operational-insights-page .oip-table th{background-color:var(--bg-alt);border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:.8125rem;font-weight:600;padding:.75rem 1rem;text-align:left;white-space:nowrap}.operational-insights-page .oip-table td{border-bottom:1px solid var(--border);font-size:.875rem;padding:.75rem 1rem}.operational-insights-page .oip-table tr:hover{background-color:var(--bg-alt)}.operational-insights-page .badge{background-color:#6b7280;border-radius:var(--radius-button);color:#fff;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase}.operational-insights-page .badge.status-compliant{background-color:#10b981}.operational-insights-page .badge.status-upcoming{background-color:#3b82f6}.operational-insights-page .badge.status-overdue{background-color:#ef4444}.operational-insights-page .badge.status-expired{background-color:#7f1d1d}.operational-insights-page .modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0614108c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.operational-insights-page .modal-content{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-dropdown);max-height:90vh;max-width:520px;overflow-y:auto;padding:2rem;width:90vw}.operational-insights-page .modal-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.operational-insights-page .modal-header h2{font-size:1.375rem;margin:0}.operational-insights-page .btn-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:2rem;line-height:1;padding:0}.operational-insights-page .btn-close:hover{color:var(--text-primary)}.operational-insights-page .form-group{margin-bottom:1.25rem}.operational-insights-page .form-group label{color:var(--text-primary);display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.operational-insights-page .form-group input,.operational-insights-page .form-group select,.operational-insights-page .form-group textarea{border:1px solid var(--border);border-radius:var(--radius-input);font-family:inherit;font-size:.875rem;padding:.7rem;width:100%}.operational-insights-page .form-group input:focus,.operational-insights-page .form-group select:focus,.operational-insights-page .form-group textarea:focus{border-color:var(--border-focus);outline:none}.operational-insights-page .form-group textarea{resize:vertical}.operational-insights-page .form-actions{border-top:1px solid var(--border);display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1rem}.operational-insights-page .btn{align-items:center;border:none;border-radius:var(--radius-button);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.7rem 1.4rem;transition:transform .15s ease,background-color .15s ease}.operational-insights-page .btn:hover:not(:disabled){transform:translateY(-1px)}.operational-insights-page .btn:disabled{cursor:not-allowed;opacity:.5}.operational-insights-page .btn-primary{background-color:var(--primary);color:var(--primary-fg)}.operational-insights-page .btn-primary:hover:not(:disabled){background-color:var(--primary-hover)}.operational-insights-page .btn-secondary{background-color:var(--bg-alt);color:var(--text-primary)}.operational-insights-page .btn-secondary:hover:not(:disabled){background-color:var(--border)}.operational-insights-page .btn-danger{background-color:#dc26261f;color:#dc2626}.operational-insights-page .btn-danger:hover:not(:disabled){background-color:#dc262633}.operational-insights-page .btn-sm{font-size:.75rem;padding:.45rem .9rem}@media (max-width:900px){.operational-insights-page .oip-two-col{grid-template-columns:1fr}}@media (max-width:768px){.operational-insights-page .page-header{align-items:flex-start;flex-direction:column}.operational-insights-page .modal-content{padding:1.25rem}}.strategic-planning-page{max-width:1400px}.strategic-planning-page .page-header{align-items:center;display:flex;gap:2rem;justify-content:space-between;margin-bottom:1.5rem}.strategic-planning-page .page-header h1{font-size:2rem;font-weight:700;margin:0 0 .5rem}.strategic-planning-page .page-header p{color:var(--text-secondary);margin:0}.strategic-planning-page .spp-tabs{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}.strategic-planning-page .spp-panel{display:flex;flex-direction:column;gap:1.25rem}.strategic-planning-page .spp-two-col{grid-gap:1.5rem;align-items:start;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}.strategic-planning-page .spp-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:1.5rem}.strategic-planning-page .spp-card h3{font-size:1rem;margin:0 0 1rem}.strategic-planning-page .spp-card h4{color:var(--text-secondary);font-size:.875rem;margin:1.25rem 0 .5rem}.strategic-planning-page .spp-mt{margin-top:1rem}.strategic-planning-page .spp-hint{color:var(--text-secondary);font-size:.8125rem}.strategic-planning-page .spp-inline-filter{align-items:center;display:flex;gap:.75rem;max-width:260px}.strategic-planning-page .spp-inline-filter label{margin-bottom:0;white-space:nowrap}.strategic-planning-page .spp-picker-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:1rem}.strategic-planning-page .spp-picker-row .form-group{flex:1 1;margin-bottom:0;min-width:160px}.strategic-planning-page .spp-stat-row{display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:1rem}.strategic-planning-page .spp-stat{display:flex;flex-direction:column}.strategic-planning-page .spp-stat-value{color:var(--text-primary);font-size:1.5rem;font-weight:700}.strategic-planning-page .spp-stat-label{color:var(--text-secondary);font-size:.75rem;letter-spacing:.4px;text-transform:uppercase}.strategic-planning-page .spp-row-actions{display:flex;flex-wrap:wrap;gap:.5rem}.strategic-planning-page .spp-positive{color:#059669;font-weight:600}.strategic-planning-page .spp-negative{color:#dc2626;font-weight:600}.strategic-planning-page .loading{align-items:center;color:var(--text-secondary);display:flex;gap:1rem;justify-content:center;padding:3rem}.strategic-planning-page .empty-state{color:var(--text-secondary);padding:3rem;text-align:center}.strategic-planning-page .empty{color:var(--text-muted);font-style:italic}.strategic-planning-page .spp-table{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);overflow:hidden;overflow-x:auto}.strategic-planning-page .spp-table table{border-collapse:collapse;width:100%}.strategic-planning-page .spp-table th{background-color:var(--bg-alt);border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:.8125rem;font-weight:600;padding:.75rem 1rem;text-align:left;white-space:nowrap}.strategic-planning-page .spp-table td{border-bottom:1px solid var(--border);font-size:.875rem;padding:.75rem 1rem}.strategic-planning-page .spp-table tr:hover{background-color:var(--bg-alt)}.strategic-planning-page .badge{background-color:#6b7280;border-radius:var(--radius-button);color:#fff;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase}.strategic-planning-page .badge.status-not_started{background-color:#6b7280}.strategic-planning-page .badge.status-on_track{background-color:#10b981}.strategic-planning-page .badge.status-at_risk{background-color:#f59e0b}.strategic-planning-page .badge.status-achieved{background-color:#059669}.strategic-planning-page .badge.status-missed{background-color:#ef4444}.strategic-planning-page .badge.status-open{background-color:#3b82f6}.strategic-planning-page .badge.status-mitigating{background-color:#f59e0b}.strategic-planning-page .badge.status-closed{background-color:#6b7280}.strategic-planning-page .spp-high-score{color:#dc2626;font-weight:700}.strategic-planning-page .modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0614108c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.strategic-planning-page .modal-content{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-dropdown);max-height:90vh;max-width:520px;overflow-y:auto;padding:2rem;width:90vw}.strategic-planning-page .modal-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.strategic-planning-page .modal-header h2{font-size:1.375rem;margin:0}.strategic-planning-page .btn-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:2rem;line-height:1;padding:0}.strategic-planning-page .btn-close:hover{color:var(--text-primary)}.strategic-planning-page .form-group{margin-bottom:1.25rem}.strategic-planning-page .form-group label{color:var(--text-primary);display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.strategic-planning-page .form-group input,.strategic-planning-page .form-group select,.strategic-planning-page .form-group textarea{border:1px solid var(--border);border-radius:var(--radius-input);font-family:inherit;font-size:.875rem;padding:.7rem;width:100%}.strategic-planning-page .form-group input:focus,.strategic-planning-page .form-group select:focus,.strategic-planning-page .form-group textarea:focus{border-color:var(--border-focus);outline:none}.strategic-planning-page .form-group textarea{resize:vertical}.strategic-planning-page .form-actions{border-top:1px solid var(--border);display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1rem}.strategic-planning-page .btn{align-items:center;border:none;border-radius:var(--radius-button);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.7rem 1.4rem;transition:transform .15s ease,background-color .15s ease}.strategic-planning-page .btn:hover:not(:disabled){transform:translateY(-1px)}.strategic-planning-page .btn:disabled{cursor:not-allowed;opacity:.5}.strategic-planning-page .btn-primary{background-color:var(--primary);color:var(--primary-fg)}.strategic-planning-page .btn-primary:hover:not(:disabled){background-color:var(--primary-hover)}.strategic-planning-page .btn-secondary{background-color:var(--bg-alt);color:var(--text-primary)}.strategic-planning-page .btn-secondary:hover:not(:disabled){background-color:var(--border)}.strategic-planning-page .btn-danger{background-color:#dc26261f;color:#dc2626}.strategic-planning-page .btn-danger:hover:not(:disabled){background-color:#dc262633}.strategic-planning-page .btn-sm{font-size:.75rem;padding:.45rem .9rem}@media (max-width:900px){.strategic-planning-page .spp-two-col{grid-template-columns:1fr}}@media (max-width:768px){.strategic-planning-page .page-header{align-items:flex-start;flex-direction:column}.strategic-planning-page .modal-content{padding:1.25rem}}.finance-page .header-actions{display:flex;flex-wrap:wrap;gap:12px}.finance-page .tabs-container{-webkit-overflow-scrolling:touch;border-bottom:1px solid var(--border);display:flex;flex-wrap:nowrap;gap:4px;margin-bottom:var(--spacing-xl);overflow-x:auto;padding-bottom:0;scrollbar-width:thin}.finance-page .tab-btn{background:#0000;border:none;border-bottom:2px solid #0000;color:var(--text-secondary);cursor:pointer;flex-shrink:0;font-size:.875rem;font-weight:500;padding:12px 18px;transition:color .18s var(--ease-standard),border-color .18s var(--ease-standard);white-space:nowrap}.finance-page .tab-btn:hover{color:var(--text-primary)}.finance-page .tab-btn.active{border-bottom-color:var(--primary);color:var(--primary);font-weight:600}.finance-page .tab-btn--locked{opacity:.55}.finance-page .tab-btn--locked:hover{opacity:.8}.finance-page .page-content{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:var(--spacing-xl)}.finance-page .dashboard-metrics{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(230px,1fr));margin-bottom:var(--spacing-xl)}.finance-page .metric-card{align-items:flex-start;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);display:flex;gap:var(--spacing-md);padding:var(--spacing-lg);transition:transform .2s var(--ease-out),box-shadow .2s var(--ease-out),border-color .2s var(--ease-out)}.finance-page .metric-card:hover{border-color:var(--primary);box-shadow:var(--shadow-hover);transform:translateY(-2px)}.finance-page .metric-icon{flex-shrink:0;font-size:32px}.finance-page .metric-content{flex:1 1;min-width:0}.finance-page .metric-content h3{color:var(--text-secondary);font-size:.8125rem;font-weight:500;letter-spacing:.03em;margin:0 0 8px;text-transform:uppercase}.finance-page .metric-value{font-feature-settings:"tnum";color:var(--text-primary);font-size:1.5rem;font-variant-numeric:tabular-nums;font-weight:700;margin:0 0 4px}.finance-page .metric-label{color:var(--text-muted);font-size:.75rem;margin:0}.finance-page .dashboard-sections{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:1fr;margin-bottom:var(--spacing-lg)}.finance-page .section-wrapper{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:1fr 1fr}@media (max-width:1024px){.finance-page .section-wrapper{grid-template-columns:1fr}}.finance-page .quick-actions{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);display:flex;flex-wrap:wrap;gap:var(--spacing-sm);height:-webkit-fit-content;height:fit-content;padding:var(--spacing-lg)}.finance-page .quick-actions h3{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0 0 8px;width:100%}.finance-page .recent-section{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--spacing-lg)}.finance-page .recent-section h3{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0 0 var(--spacing-md) 0}.finance-page .action-button{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-input);cursor:pointer;flex-basis:calc(50% - 6px);flex-grow:1;flex-shrink:1;font-size:.8125rem;font-weight:500;margin:0;min-width:140px;padding:10px 16px;transition:background-color .18s ease,border-color .18s ease}.finance-page .action-button:hover{background:var(--bg-alt);border-color:var(--primary)}.finance-page .transaction-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.finance-page .transaction-item{align-items:center;background:var(--bg-alt);border-radius:var(--radius-input);display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm)}.finance-page .trans-date{color:var(--text-muted);font-size:.75rem;font-weight:500;min-width:80px}.finance-page .trans-desc{color:var(--text-primary);flex:1 1;font-size:.875rem}.finance-page .trans-amount{font-feature-settings:"tnum";font-size:.875rem;font-variant-numeric:tabular-nums;font-weight:600}.finance-page .section-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:space-between;margin-bottom:var(--spacing-lg)}.finance-page .section-header h2{color:var(--text-primary);font-size:1.375rem;margin:0}.finance-page .accounts-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.finance-page .account-category{background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--spacing-lg)}.finance-page .account-category h3{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0 0 var(--spacing-md) 0}.finance-page .account-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.finance-page .account-item{align-items:center;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-input);display:flex;gap:var(--spacing-sm);justify-content:space-between;padding:var(--spacing-sm)}.finance-page .account-code{color:var(--primary);font-family:JetBrains Mono,monospace;font-size:.75rem;font-weight:600;min-width:56px}.finance-page .account-name{color:var(--text-primary);flex:1 1;font-size:.875rem}.finance-page .account-balance{font-feature-settings:"tnum";color:var(--text-primary);font-size:.875rem;font-variant-numeric:tabular-nums;font-weight:600;min-width:100px;text-align:right}.finance-page .entries-table,.finance-page .expenses-table{-webkit-overflow-scrolling:touch;overflow-x:auto;width:100%}.finance-page table{border-collapse:collapse;min-width:600px;width:100%}.finance-page table thead{background:var(--bg-alt);border-bottom:1px solid var(--border)}.finance-page table th{color:var(--text-secondary);font-size:.75rem;font-weight:600;letter-spacing:.04em;padding:.75rem 1rem;text-align:left;text-transform:uppercase}.finance-page table td{border-bottom:1px solid var(--border);color:var(--text-primary);font-size:.875rem;padding:.75rem 1rem}.finance-page table tbody tr:hover{background:var(--bg-alt)}.finance-page .badge-success{background:#0596691a;color:#059669}.finance-page .badge-warning{background:#d977061a;color:var(--accent)}.finance-page .badge-danger{background:#dc26261a;color:#dc2626}.finance-page .reports-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.finance-page .report-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--spacing-xl);text-align:center;transition:transform .2s var(--ease-out),box-shadow .2s var(--ease-out),border-color .2s var(--ease-out)}.finance-page .report-card:hover{border-color:var(--primary);box-shadow:var(--shadow-hover);transform:translateY(-2px)}.finance-page .report-card h3{color:var(--text-primary);font-size:1.125rem;margin:0 0 var(--spacing-sm) 0}.finance-page .report-card p{color:var(--text-secondary);font-size:.8125rem;line-height:1.5;margin:0 0 var(--spacing-md) 0}.finance-page .report-card .btn{width:100%}.finance-page .revenue-source{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);grid-column:1/-1;margin-bottom:0;padding:var(--spacing-lg)}.finance-page .revenue-source h3{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0 0 var(--spacing-md) 0}.finance-page .revenue-breakdown{display:flex;flex-direction:column;gap:var(--spacing-md)}.finance-page .revenue-item{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.finance-page .revenue-label{color:var(--text-secondary);font-size:.8125rem;font-weight:500;min-width:120px}.finance-page .revenue-bar{background:linear-gradient(90deg,var(--primary) 0,var(--primary-hover) 100%);border-radius:9999px;display:inline-block;flex:1 1;height:18px;min-width:60px}.finance-page .revenue-amount{font-feature-settings:"tnum";color:var(--text-primary);font-size:.8125rem;font-variant-numeric:tabular-nums;font-weight:600;min-width:130px;text-align:right}.finance-page .financial-health{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);margin-top:var(--spacing-lg);padding:var(--spacing-lg)}.finance-page .financial-health h3{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0 0 var(--spacing-md) 0}.finance-page .health-metrics{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.finance-page .health-item{background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius-card);display:flex;flex-direction:column;padding:var(--spacing-md);transition:transform .2s var(--ease-out),box-shadow .2s var(--ease-out),border-color .2s var(--ease-out)}.finance-page .health-item:hover{border-color:var(--primary);box-shadow:var(--shadow-hover);transform:translateY(-2px)}.finance-page .health-label{color:var(--text-secondary);font-size:.75rem;font-weight:500;letter-spacing:.03em;margin-bottom:var(--spacing-sm);text-transform:uppercase}.finance-page .health-value{font-feature-settings:"tnum";color:var(--text-primary);font-size:1.5rem;font-variant-numeric:tabular-nums;font-weight:700;margin-bottom:4px}.finance-page .health-status{border-radius:9999px;font-size:.75rem;font-weight:600;padding:4px 10px;width:-webkit-fit-content;width:fit-content}.finance-page .health-item:first-child .health-status,.finance-page .health-item:nth-child(2) .health-status{background:#0596691a;color:#059669}.finance-page .health-item:nth-child(3) .health-status{background:#d977061a;color:var(--accent)}@media (max-width:768px){.finance-page .accounts-grid,.finance-page .dashboard-metrics,.finance-page .dashboard-sections,.finance-page .reports-grid{grid-template-columns:1fr}.finance-page .section-header{align-items:flex-start;flex-direction:column;gap:var(--spacing-sm)}.finance-page .header-actions .btn{flex:1 1}}.form-input{margin-bottom:16px}.form-input-label{color:#222;display:block;font-size:13px;font-weight:600;margin-bottom:8px}.form-input-control{border:1px solid #d0d0d0;border-radius:6px;box-sizing:border-box;font-family:inherit;font-size:14px;padding:10px 12px;transition:all .2s;width:100%}.form-input-control:focus{border-color:#06c;box-shadow:0 0 0 3px #0066cc1a;outline:none}.form-input-control:disabled{background:#f5f5f5;color:#999;cursor:not-allowed}.form-input-control.error{border-color:#d32f2f}.form-input-control.error:focus{box-shadow:0 0 0 3px #d32f2f1a}.form-input-error{color:#d32f2f;display:block;font-size:12px;margin-top:4px}textarea.form-input-control{min-height:80px;resize:vertical}.form-select{margin-bottom:16px}.form-select-label{color:#222;display:block;font-size:13px;font-weight:600;margin-bottom:8px}.required{color:#d32f2f;margin-left:2px}.form-select-control{background:#fff;border:1px solid #d0d0d0;border-radius:6px;box-sizing:border-box;color:#333;cursor:pointer;font-family:inherit;font-size:14px;padding:10px 12px;transition:all .2s;width:100%}.form-select-control:focus{border-color:#06c;box-shadow:0 0 0 3px #0066cc1a;outline:none}.form-select-control:disabled{background:#f5f5f5;color:#999;cursor:not-allowed}.form-select-control.error{border-color:#d32f2f}.form-select-control.error:focus{box-shadow:0 0 0 3px #d32f2f1a}.form-select-error{color:#d32f2f;display:block;font-size:12px;margin-top:4px}.data-table-wrapper{border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow-x:auto;width:100%}.data-table{background:#fff}.data-table thead{background:#f5f5f5;border-bottom:2px solid #e0e0e0}.data-table th{color:#666;font-size:12px;padding:16px;text-transform:uppercase;white-space:nowrap}.data-table td{border-bottom:1px solid #e0e0e0;color:#222;font-size:14px;padding:16px}.data-table tbody tr:hover{background:#f9f9f9}.data-table-empty,.data-table-loading{background:#fff;border-radius:8px;color:#666;font-size:16px;padding:48px;text-align:center}.actions-cell{display:flex;gap:8px;justify-content:flex-end;text-align:right}.action-btn{background:#f0f0f0;border:1px solid #d0d0d0;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s;white-space:nowrap}.action-btn:hover{background:#e8e8e8;border-color:#999}.action-btn.primary{background:#06c;border-color:#06c;color:#fff}.action-btn.primary:hover{background:#0052a3}.action-btn.danger{background:#ffebee;border-color:#ffcdd2;color:#c62828}.action-btn.danger:hover{background:#ffcdd2}.action-btn.success{background:#e8f5e9;border-color:#c8e6c9;color:#2e7d32}.action-btn.success:hover{background:#c8e6c9}@media (max-width:768px){.data-table td,.data-table th{font-size:12px;padding:12px 8px}.action-btn{font-size:11px;padding:4px 8px}.actions-cell{flex-direction:column;gap:4px}}.filter-bar{align-items:center;background:#fff;border-radius:8px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:24px;padding:16px}.filters-container{flex:1 1;gap:12px}.filter-item{display:flex}.filter-input,.filter-select{background:#fff;border:1px solid #d0d0d0;border-radius:6px;cursor:pointer;font-size:13px;padding:8px 12px}.filter-input{cursor:text}.filter-input:focus,.filter-select:focus{border-color:#06c;box-shadow:0 0 0 3px #0066cc1a;outline:none}.filter-reset{background:#f0f0f0;border:1px solid #d0d0d0;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .2s;white-space:nowrap}.filter-reset:hover{background:#e8e8e8;border-color:#999}@media (max-width:768px){.filter-bar{align-items:stretch}.filter-bar,.filters-container{flex-direction:column}.filter-input,.filter-item,.filter-reset,.filter-select{width:100%}}.modal-overlay{overflow-y:auto}.modal-content{display:flex;flex-direction:column;margin:20px auto}.modal-header{border-bottom:1px solid #e0e0e0;flex-shrink:0;padding:24px}.modal-title{color:#222;font-size:24px}.modal-close{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;padding:0;transition:color .2s;width:32px}.modal-close:hover{color:#000}.modal-body{flex:1 1;overflow-y:auto;padding:24px}.modal-footer{border-top:1px solid #e0e0e0;flex-shrink:0;flex-wrap:wrap;padding:24px}.modal-btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.modal-btn.primary{background:#06c;color:#fff}.modal-btn.primary:hover{background:#0052a3}.modal-btn.secondary{background:#f0f0f0;border:1px solid #d0d0d0;color:#222}.modal-btn.secondary:hover{background:#e8e8e8}.modal-btn.danger{background:#ffebee;color:#c62828}.modal-btn.danger:hover{background:#ffcdd2}.modal-btn.success{background:#e8f5e9;color:#2e7d32}.modal-btn.success:hover{background:#c8e6c9}.modal-btn:disabled{cursor:not-allowed;opacity:.7}.modal-btn:disabled:hover{background-color:inherit}.button-loading{align-items:center;display:inline-flex;gap:8px}.button-loading .spinner{animation:spin 1s linear infinite}.modal-close:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.modal-content{margin:10px auto;width:95%}.modal-body,.modal-header{padding:16px}.modal-footer{flex-direction:column;padding:16px}.modal-btn{width:100%}}.expense-approval-form{padding:16px}.approval-summary{grid-gap:16px;background:#f9f9f9;border-radius:6px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr);margin-bottom:24px;padding:16px}.summary-item{display:flex;flex-direction:column}.summary-item label{color:#666;font-size:11px;font-weight:600;margin-bottom:4px;text-transform:uppercase}.summary-item p{color:#222;font-size:14px;margin:0}.summary-item .amount{color:#06c;font-size:16px;font-weight:600}.status{border-radius:4px;display:inline-block;font-size:11px;font-weight:600;padding:4px 8px;text-transform:uppercase}.status.approved{background:#e8f5e9;color:#2e7d32}.status.submitted{background:#fff3e0;color:#f57c00}.status.draft{background:#e3f2fd;color:#1976d2}.approval-details{background:#fff;border:1px solid #e0e0e0;border-radius:6px;margin-bottom:24px;padding:16px}.approval-details h4{color:#222;font-size:14px;font-weight:600;margin:0 0 12px}.approval-details .description,.approval-details .notes{color:#333;font-size:13px;line-height:1.4;margin:8px 0}.btn.btn-approve{background:#4caf50;color:#fff;flex:1 1}.btn.btn-approve:hover:not(:disabled){background:#45a049}.btn.btn-reject{background:#f44336;color:#fff;flex:1 1}.btn.btn-reject:hover:not(:disabled){background:#da190b}@media (max-width:768px){.approval-summary{grid-template-columns:1fr}.form-actions{flex-direction:column}.btn{width:100%}}.journal-line-items{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px;margin:24px 0;padding:16px}.journal-line-items h4{color:#222;font-size:14px;font-weight:600;margin:0 0 16px}.line-items-scroll{margin-bottom:12px;overflow-x:auto;width:100%}.line-items-table{background:#fff;border-collapse:collapse;font-size:13px;width:100%}.line-items-table thead{background:#e8e8e8;border-bottom:1px solid #d0d0d0}.line-items-table th{color:#333;font-weight:600;padding:8px;text-align:left}.line-items-table td{border-bottom:1px solid #e0e0e0;padding:8px}.line-items-table input{border:1px solid #d0d0d0;border-radius:4px;box-sizing:border-box;font-family:inherit;font-size:12px;padding:6px 8px;width:100%}.line-items-table input:focus{border-color:#06c;box-shadow:0 0 0 3px #0066cc1a;outline:none}.btn-remove{background:#ffebee;border:1px solid #ffcdd2;border-radius:4px;color:#c62828;cursor:pointer;font-size:12px;font-weight:600;padding:4px 8px;transition:all .2s}.btn-remove:hover{background:#ffcdd2}.line-items-footer{align-items:center;border-top:1px solid #d0d0d0;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding-top:12px}.totals{display:flex;flex:1 1;gap:24px}.total-item{align-items:center;display:flex;font-size:13px;font-weight:600;gap:8px}.total-item span:first-child{color:#666}.total-amount{color:#06c;font-family:Monaco,Menlo,monospace}.total-item.status{border-radius:4px;color:#fff;padding:4px 12px}.total-item.status.balanced{background:#4caf50}.total-item.status.unbalanced{background:#f44336}.btn-add-item{background:#fff;border:1px solid #06c;border-radius:4px;color:#06c;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .2s;white-space:nowrap}.btn-add-item:hover{background:#f0f7ff}@media (max-width:768px){.line-items-footer{align-items:stretch;flex-direction:column}.btn-add-item,.totals{width:100%}.totals{flex-direction:column;gap:8px}.line-items-table{font-size:11px}.line-items-table input{font-size:11px;padding:4px 6px}}.report-chart{background:#fff;border:1px solid #e0e0e0;border-radius:6px;margin:24px 0;padding:16px}.chart-title{color:#222;font-size:14px;font-weight:600;margin:0 0 16px}.chart-container{align-items:center;background:#fafafa;border-radius:4px;display:flex;justify-content:center;min-height:300px;padding:20px}.chart-empty{color:#999;font-size:14px;text-align:center}.chart-bar-container{display:flex;justify-content:center;width:100%}.chart-bars{align-items:flex-end;display:flex;gap:20px;height:250px;width:auto}.bar-item{align-items:center;display:flex;flex:0 0 60px;flex-direction:column;gap:8px}.bar{border-radius:4px 4px 0 0;box-shadow:0 2px 4px #0000001a;min-height:5px;transition:all .2s;width:100%}.bar:hover{box-shadow:0 4px 8px #00000026;filter:brightness(.9)}.bar-label{color:#666;font-size:11px;max-width:50px;text-align:center;word-break:break-word}.chart-line-container{display:flex;justify-content:center;width:100%}.chart-line{background:linear-gradient(90deg,#f0f0f0 1px,#0000 0) repeat-x,linear-gradient(0deg,#f0f0f0 1px,#0000 0) repeat-y;background-position:0 0,0 0;background-size:40px 25px;border-bottom:1px solid #d0d0d0;border-left:1px solid #d0d0d0;border-color:#d0d0d0 #d0d0d0 #333 #333;border-style:solid;border-width:1px 1px 2px 2px;height:250px;position:relative;width:400px}.line-point{border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 2px currentColor;cursor:pointer;height:8px;position:absolute;transform:translate(-50%,50%);transition:all .2s;width:8px}.line-point:hover{box-shadow:0 0 0 3px currentColor;height:12px;width:12px}.chart-pie-container{align-items:center;display:flex;flex-wrap:wrap;gap:40px;justify-content:center}.chart-pie{border-radius:50%;box-shadow:0 2px 8px #0000001a;height:150px;position:relative;width:150px}.pie-slice{border-radius:50%;left:0;position:absolute;top:0}.pie-slice.doughnut:after{background:#fff;border-radius:50%;content:"";height:60px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:60px}.pie-legend{display:flex;flex-direction:column;font-size:12px;gap:8px;max-width:200px}.legend-item{align-items:center;display:flex;gap:8px}.legend-color{border-radius:2px;flex-shrink:0;height:12px;width:12px}.legend-label{color:#333;flex:1 1}.legend-value{color:#999;font-weight:500}.chart-note{background:#f0f0f0;border-left:3px solid #06c;color:#666;font-size:11px;font-style:italic;margin-top:12px;padding:8px}@media (max-width:768px){.chart-container{min-height:250px;padding:12px}.chart-bars{gap:12px;height:200px}.bar-item{flex:0 0 40px}.bar-label{font-size:10px;max-width:35px}.chart-line{height:180px;max-width:300px;width:100%}.chart-pie-container{gap:20px}.chart-pie{height:120px;width:120px}.pie-legend{font-size:11px;max-width:150px}}.status-badge{font-size:12px;padding:6px 12px;transition:all .2s}.status-badge.status-success{background:#e8f5e9;border:1px solid #c8e6c9;color:#2e7d32}.status-badge.status-success:hover{background:#c8e6c9;color:#1b5e20}.status-badge.status-danger{background:#ffebee;border:1px solid #ffcdd2;color:#c62828}.status-badge.status-danger:hover{background:#ffcdd2;color:#b71c1c}.status-badge.status-warning{background:#fff3e0;border:1px solid #ffe0b2;color:#e65100}.status-badge.status-warning:hover{background:#ffe0b2;color:#d84315}.status-badge.status-error{background:#ffebee;border:1px solid #ef5350;color:#d32f2f}.status-badge.status-error:hover{background:#ffcdd2;color:#b71c1c}.status-badge.status-default{background:#f5f5f5;border:1px solid #d0d0d0;color:#666}.status-badge.status-default:hover{background:#e0e0e0;color:#333}.status-badge.variant-filled{border:0;font-weight:700}.status-badge.variant-filled.status-success{background:#2e7d32;color:#fff}.status-badge.variant-filled.status-success:hover{background:#1b5e20}.status-badge.variant-filled.status-danger{background:#c62828;color:#fff}.status-badge.variant-filled.status-danger:hover{background:#b71c1c}.status-badge.variant-filled.status-warning{background:#e65100;color:#fff}.status-badge.variant-filled.status-warning:hover{background:#d84315}.status-badge.variant-filled.status-error{background:#d32f2f;color:#fff}.status-badge.variant-filled.status-error:hover{background:#b71c1c}.status-badge.variant-filled.status-default{background:#666;color:#fff}.status-badge.variant-filled.status-default:hover{background:#333}.status-badge.variant-outlined{background:#0000}.status-badge.variant-outlined.status-success{border:2px solid #2e7d32;color:#2e7d32}.status-badge.variant-outlined.status-success:hover{background:#e8f5e9}.status-badge.variant-outlined.status-danger{border:2px solid #c62828;color:#c62828}.status-badge.variant-outlined.status-danger:hover{background:#ffebee}.status-badge.variant-outlined.status-warning{border:2px solid #e65100;color:#e65100}.status-badge.variant-outlined.status-warning:hover{background:#fff3e0}.status-badge.variant-outlined.status-error{border:2px solid #d32f2f;color:#d32f2f}.status-badge.variant-outlined.status-error:hover{background:#ffebee}.status-badge.variant-outlined.status-default{border:2px solid #666;color:#666}.status-badge.variant-outlined.status-default:hover{background:#f5f5f5}.status-badge.size-small{border-radius:8px;font-size:10px;padding:4px 8px}.status-badge.size-large{border-radius:16px;font-size:13px;padding:8px 16px}.status-badge.size-small.variant-filled{border-radius:6px;font-size:9px;padding:3px 6px}.page-header{background:#fff;margin:0 0 24px;padding:0}.breadcrumbs{align-items:center;color:#666;display:flex;font-size:12px;gap:8px;margin-bottom:12px;padding:12px 0}.breadcrumb-item{background:none;border:none;color:#06c;cursor:pointer;font-size:12px;padding:4px 0;text-decoration:none;transition:color .2s}.breadcrumb-item:hover{color:#0052a3;text-decoration:underline}.breadcrumb-separator{color:#d0d0d0;margin:0 4px}.page-header-content{align-items:flex-start;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;padding:12px 0}.page-header-title-section{flex:1 1;min-width:250px}.page-title{color:#1a1a1a;font-size:28px;font-weight:700;letter-spacing:-.5px;margin:0 0 8px}.page-subtitle{color:#666;font-size:14px;font-weight:400;margin:0}.page-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.action-button{border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;padding:10px 18px;transition:all .2s;white-space:nowrap}.action-button.primary{background:#06c;color:#fff}.action-button.primary:hover:not(:disabled){background:#0052a3;box-shadow:0 2px 8px #0066cc4d}.action-button.secondary{background:#f5f5f5;border:1px solid #d0d0d0;color:#333}.action-button.secondary:hover:not(:disabled){background:#e8e8e8}.action-button.success{background:#2e7d32;color:#fff}.action-button.success:hover:not(:disabled){background:#1b5e20;box-shadow:0 2px 8px #2e7d324d}.action-button.danger{background:#c62828;color:#fff}.action-button.danger:hover:not(:disabled){background:#b71c1c;box-shadow:0 2px 8px #c628284d}.action-button:disabled{cursor:not-allowed;opacity:.5}.page-header-divider{background:#e0e0e0;height:1px;margin-top:16px}@media (max-width:768px){.page-header-content{align-items:stretch;flex-direction:column;gap:12px}.page-header-title-section{min-width:auto}.page-title{font-size:22px}.page-header-actions{justify-content:stretch;width:100%}.action-button{flex:1 1;padding:10px 16px}.breadcrumbs{gap:4px;overflow-x:auto;white-space:nowrap}}.coa-detail-page{background-color:var(--bg-default);min-height:100vh;padding:24px}.coa-detail-page .page-header{align-items:center;background:var(--bg-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card);display:flex;justify-content:space-between;margin-bottom:32px;padding:24px}.coa-detail-page .page-header h1{color:var(--text-primary);font-size:28px;margin:0}.coa-detail-page .filters{background:var(--bg-surface);border-radius:var(--radius-card);display:flex;gap:12px;margin-bottom:24px;padding:16px}.coa-detail-page .filter-select{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-input);color:var(--text-primary);cursor:pointer;font-size:13px;padding:8px 12px;transition:border-color .2s ease,box-shadow .2s ease}.coa-detail-page .filter-select:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #064e3b1a;outline:none}.coa-detail-page .empty-state,.coa-detail-page .loading{background:var(--bg-surface);border-radius:var(--radius-card);color:var(--text-muted);font-size:16px;padding:48px;text-align:center}.coa-detail-page .accounts-list{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow:hidden}.coa-detail-page .accounts-list table{border-collapse:collapse;width:100%}.coa-detail-page .accounts-list thead{background:var(--bg-alt);border-bottom:1px solid var(--border)}.coa-detail-page .accounts-list th{color:var(--text-secondary);font-size:.8125rem;font-weight:600;letter-spacing:.05em;padding:16px;text-align:left;text-transform:uppercase}.coa-detail-page .accounts-list td{border-bottom:1px solid var(--border);color:var(--text-primary);font-size:14px;padding:16px}.coa-detail-page .accounts-list tbody tr{transition:background-color .15s ease}.coa-detail-page .accounts-list tbody tr:hover td{background:var(--bg-alt)}.coa-detail-page .accounts-list td.code{color:var(--primary);font-family:Monaco,Menlo,monospace;font-size:12px;font-weight:600}.coa-detail-page .accounts-list td.balance{font-weight:600;text-align:right}.coa-detail-page .status{border-radius:var(--radius-button);display:inline-block;font-size:11px;font-weight:600;padding:4px 8px;text-transform:uppercase}.coa-detail-page .status.active{background:#0596691a;color:#059669}.coa-detail-page .status.inactive{background:#dc26261a;color:#dc2626}.coa-detail-page .badge{background:var(--bg-alt);border-radius:var(--radius-button);color:var(--text-secondary);display:inline-block;font-size:11px;font-weight:600;padding:4px 8px;text-transform:capitalize}.coa-detail-page .btn{border:none;border-radius:var(--radius-button);cursor:pointer;font-size:13px;font-weight:500;padding:.75rem 1.5rem;transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease}.coa-detail-page .btn:hover{transform:translateY(-1px)}.coa-detail-page .btn-primary{background:var(--primary);color:var(--primary-fg)}.coa-detail-page .btn-primary:hover{background:var(--primary-hover);box-shadow:var(--shadow-hover)}.coa-detail-page .btn-secondary{background:var(--bg-alt);border:1px solid var(--border);color:var(--text-primary);margin-right:4px}.coa-detail-page .btn-secondary:hover{background:var(--border)}.coa-detail-page .btn-sm{font-size:12px;padding:.5rem 1rem}.coa-detail-page .btn-danger{background:#dc26261a;color:#dc2626}.coa-detail-page .btn-danger:hover{background:#dc26262e}.coa-detail-page .modal-overlay{align-items:center;animation:modalOverlayIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0614108c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.coa-detail-page .modal-content{animation:modalIn .25s cubic-bezier(.16,1,.3,1);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-dropdown);max-width:500px;padding:32px;width:90%}.coa-detail-page .modal-content h2{color:var(--text-primary);font-size:24px;font-weight:600;margin:0 0 24px}.coa-detail-page .form-group{margin-bottom:20px}.coa-detail-page .form-group label{color:var(--text-primary);display:block;font-size:13px;font-weight:600;margin-bottom:8px}.coa-detail-page .form-group input,.coa-detail-page .form-group select,.coa-detail-page .form-group textarea{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-input);box-sizing:border-box;color:var(--text-primary);font-family:inherit;font-size:14px;padding:10px 12px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.coa-detail-page .form-group input:focus,.coa-detail-page .form-group select:focus,.coa-detail-page .form-group textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #064e3b1a;outline:none}.coa-detail-page .form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.coa-detail-page .form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:32px}.coa-detail-page .form-actions .btn{flex:1 1}@media (max-width:768px){.coa-detail-page .page-header{align-items:flex-start;flex-direction:column;gap:16px}.coa-detail-page .page-header .btn{width:100%}.coa-detail-page .form-row{grid-template-columns:1fr}.coa-detail-page .accounts-list td{font-size:12px;padding:12px}.coa-detail-page .accounts-list th{font-size:11px;padding:12px}}.journal-detail-page{background-color:var(--bg-default);min-height:100vh;padding:24px}.journal-detail-page .page-header{align-items:center;background:var(--bg-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card);display:flex;justify-content:space-between;margin-bottom:32px;padding:24px}.journal-detail-page .page-header h1{color:var(--text-primary);font-size:28px;margin:0}.journal-detail-page .empty-state,.journal-detail-page .loading{background:var(--bg-surface);border-radius:var(--radius-card);color:var(--text-muted);font-size:16px;padding:48px;text-align:center}.journal-detail-page .entries-list{background:var(--bg-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow:hidden}.journal-detail-page .entries-list table{border-collapse:collapse;width:100%}.journal-detail-page .entries-list thead{background:var(--bg-alt);border-bottom:1px solid var(--border)}.journal-detail-page .entries-list th{color:var(--text-secondary);font-size:12px;font-weight:600;padding:16px;text-align:left;text-transform:uppercase}.journal-detail-page .entries-list td{border-bottom:1px solid var(--border);color:var(--text-primary);font-size:14px;padding:16px}.journal-detail-page .entries-list tbody tr:hover{background:var(--bg-alt)}.journal-detail-page .entries-list td.amount{font-weight:600;text-align:right}.journal-detail-page .status{border-radius:var(--radius-button);display:inline-block;font-size:11px;font-weight:600;padding:4px 8px;text-transform:uppercase}.journal-detail-page .status.draft{background:#1d4ed81a;color:var(--secondary)}.journal-detail-page .status.posted{background:#0596691a;color:#059669}.journal-detail-page .status.reversed{background:#d977061f;color:var(--accent)}.journal-detail-page .modal-overlay{align-items:center;animation:modalOverlayIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0614108c;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;position:fixed;right:0;top:0;z-index:1000}.journal-detail-page .modal-content{animation:modalIn .25s cubic-bezier(.16,1,.3,1);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-dropdown);margin:20px auto;max-width:800px;padding:32px;width:90%}.journal-detail-page .modal-content h2{color:var(--text-primary);font-size:24px;margin:0 0 24px}.journal-detail-page .modal-content h3{color:var(--text-primary);font-size:16px;margin:24px 0 16px}.journal-detail-page .form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:16px}.journal-detail-page .form-group{margin-bottom:16px}.journal-detail-page .form-group label{color:var(--text-primary);display:block;font-size:13px;font-weight:600;margin-bottom:8px}.journal-detail-page .form-group input,.journal-detail-page .form-group select{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-input);box-sizing:border-box;color:var(--text-primary);font-family:inherit;font-size:14px;padding:10px 12px;width:100%}.journal-detail-page .form-group input:focus,.journal-detail-page .form-group select:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #064e3b1a;outline:none}.journal-detail-page .line-items-section{background:var(--bg-default);border:1px solid var(--border);border-radius:var(--radius-input);margin:24px 0;padding:16px}.journal-detail-page .line-items-table{border-collapse:collapse;font-size:13px;margin:16px 0;width:100%}.journal-detail-page .line-items-table thead{background:var(--bg-alt);border-bottom:1px solid var(--border)}.journal-detail-page .line-items-table th{color:var(--text-primary);font-weight:600;padding:8px;text-align:left}.journal-detail-page .line-items-table td{border-bottom:1px solid var(--border);padding:8px}.journal-detail-page .line-items-table input{border:1px solid var(--border);border-radius:4px;box-sizing:border-box;font-size:12px;padding:6px 8px;width:100%}.journal-detail-page .line-items-table input:focus{border-color:var(--border-focus);outline:none}.journal-detail-page .totals-row{border-top:2px solid var(--border);display:flex;font-weight:600;gap:24px;justify-content:flex-end;margin-bottom:12px;padding:12px 0}.journal-detail-page .totals-row .total{color:var(--primary)}.journal-detail-page .totals-row .balanced{color:#059669}.journal-detail-page .totals-row .unbalanced{color:#dc2626}.journal-detail-page .btn{border:none;border-radius:var(--radius-button);cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease}.journal-detail-page .btn:hover{transform:translateY(-1px)}.journal-detail-page .btn-primary{background:var(--primary);color:var(--primary-fg)}.journal-detail-page .btn-primary:hover:not(:disabled){background:var(--primary-hover);box-shadow:var(--shadow-hover)}.journal-detail-page .btn-primary:disabled{background:var(--border);cursor:not-allowed}.journal-detail-page .btn-secondary{background:var(--bg-alt);border:1px solid var(--border);color:var(--text-primary)}.journal-detail-page .btn-secondary:hover{background:var(--border)}.journal-detail-page .btn-sm{font-size:12px;margin-right:4px;padding:6px 12px}.journal-detail-page .btn-danger{background:#dc26261a;color:#dc2626}.journal-detail-page .btn-danger:hover{background:#dc26262e}.journal-detail-page .form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:32px}.journal-detail-page .form-actions .btn{flex:1 1}.journal-detail-page .entry-details p{font-size:14px;margin:8px 0}.journal-detail-page .entry-details strong{color:var(--text-primary)}.journal-detail-page .details-table{border-collapse:collapse;margin:16px 0;width:100%}.journal-detail-page .details-table thead{background:var(--bg-alt);border-bottom:1px solid var(--border)}.journal-detail-page .details-table th{color:var(--text-primary);font-size:13px;font-weight:600;padding:12px;text-align:left}.journal-detail-page .details-table td{border-bottom:1px solid var(--border);font-size:14px;padding:12px}@media (max-width:768px){.journal-detail-page .page-header{align-items:flex-start;flex-direction:column;gap:16px}.journal-detail-page .page-header .btn{width:100%}.journal-detail-page .form-row{grid-template-columns:1fr}.journal-detail-page .modal-content{margin:40px 20px}.journal-detail-page .totals-row{flex-direction:column;gap:8px}.journal-detail-page .line-items-table,.journal-detail-page .line-items-table input{font-size:11px}.journal-detail-page .form-actions{flex-direction:column}.journal-detail-page .form-actions .btn{width:100%}}.expenses-detail-page{background-color:var(--bg-default);min-height:100vh;padding:24px}.expenses-detail-page .page-header{align-items:center;background:var(--bg-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card);display:flex;justify-content:space-between;margin-bottom:32px;padding:24px}.expenses-detail-page .page-header h1{color:var(--text-primary);font-size:28px;margin:0}.expenses-detail-page .filters{background:var(--bg-surface);border-radius:var(--radius-card);display:flex;gap:12px;margin-bottom:24px;padding:16px}.expenses-detail-page .filter-select{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-input);color:var(--text-primary);cursor:pointer;font-size:13px;padding:8px 12px;transition:border-color .2s ease,box-shadow .2s ease}.expenses-detail-page .filter-select:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #064e3b1a;outline:none}.expenses-detail-page .empty-state,.expenses-detail-page .loading{background:var(--bg-surface);border-radius:var(--radius-card);color:var(--text-muted);font-size:16px;padding:48px;text-align:center}.expenses-detail-page .expenses-list{background:var(--bg-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow:hidden}.expenses-detail-page .expenses-list table{border-collapse:collapse;width:100%}.expenses-detail-page .expenses-list thead{background:var(--bg-alt);border-bottom:1px solid var(--border)}.expenses-detail-page .expenses-list th{color:var(--text-secondary);font-size:12px;font-weight:600;padding:16px;text-align:left;text-transform:uppercase}.expenses-detail-page .expenses-list td{border-bottom:1px solid var(--border);color:var(--text-primary);font-size:14px;padding:16px}.expenses-detail-page .expenses-list tbody tr:hover{background:var(--bg-alt)}.expenses-detail-page .expenses-list td.amount{font-weight:600;text-align:right}.expenses-detail-page .status{border-radius:var(--radius-button);display:inline-block;font-size:11px;font-weight:600;padding:4px 8px;text-transform:uppercase}.expenses-detail-page .status.draft{background:#1d4ed81a;color:var(--secondary)}.expenses-detail-page .status.submitted{background:#d977061f;color:var(--accent)}.expenses-detail-page .status.approved{background:#0596691a;color:#059669}.expenses-detail-page .status.rejected{background:#dc26261a;color:#dc2626}.expenses-detail-page .status.posted{background:#064e3b1f;color:var(--primary)}.expenses-detail-page .btn{border:none;border-radius:var(--radius-button);cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease}.expenses-detail-page .btn:hover{transform:translateY(-1px)}.expenses-detail-page .btn-primary{background:var(--primary);color:var(--primary-fg)}.expenses-detail-page .btn-primary:hover{background:var(--primary-hover);box-shadow:var(--shadow-hover)}.expenses-detail-page .btn-secondary{background:var(--bg-alt);border:1px solid var(--border);color:var(--text-primary);margin-right:4px}.expenses-detail-page .btn-secondary:hover{background:var(--border)}.expenses-detail-page .btn-success{background:#0596691a;color:#059669;margin-right:4px}.expenses-detail-page .btn-success:hover{background:#0596692e}.expenses-detail-page .btn-sm{font-size:12px;margin-right:4px;padding:6px 12px}.expenses-detail-page .modal-overlay{align-items:center;animation:modalOverlayIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0614108c;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;position:fixed;right:0;top:0;z-index:1000}.expenses-detail-page .modal-content{animation:modalIn .25s cubic-bezier(.16,1,.3,1);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-dropdown);margin:20px auto;max-width:600px;padding:32px;width:90%}.expenses-detail-page .modal-content h2{color:var(--text-primary);font-size:24px;margin:0 0 24px}.expenses-detail-page .form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:16px}.expenses-detail-page .form-group{margin-bottom:16px}.expenses-detail-page .form-group label{color:var(--text-primary);display:block;font-size:13px;font-weight:600;margin-bottom:8px}.expenses-detail-page .form-group input,.expenses-detail-page .form-group select,.expenses-detail-page .form-group textarea{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-input);box-sizing:border-box;color:var(--text-primary);font-family:inherit;font-size:14px;padding:10px 12px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.expenses-detail-page .form-group input:focus,.expenses-detail-page .form-group select:focus,.expenses-detail-page .form-group textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #064e3b1a;outline:none}.expenses-detail-page .form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:32px}.expenses-detail-page .form-actions .btn{flex:1 1}.expenses-detail-page .expense-details{margin-bottom:24px}.expenses-detail-page .details-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:16px}.expenses-detail-page .detail-item{background:var(--bg-default);border-radius:var(--radius-input);padding:12px}.expenses-detail-page .detail-item.full-width{grid-column:1/-1}.expenses-detail-page .detail-item label{color:var(--text-secondary);display:block;font-size:11px;font-weight:600;margin-bottom:4px;text-transform:uppercase}.expenses-detail-page .detail-item p{color:var(--text-primary);font-size:14px;margin:0}.expenses-detail-page .detail-item .amount{color:var(--primary);font-size:16px;font-weight:600}.expenses-detail-page .modal-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.expenses-detail-page .modal-actions .btn{flex:1 1;min-width:100px}@media (max-width:768px){.expenses-detail-page .page-header{align-items:flex-start;flex-direction:column;gap:16px}.expenses-detail-page .page-header .btn{width:100%}.expenses-detail-page .form-row{grid-template-columns:1fr}.expenses-detail-page .modal-content{margin:40px 20px}.expenses-detail-page .details-grid{grid-template-columns:1fr}.expenses-detail-page .expenses-list{overflow-x:auto}.expenses-detail-page .expenses-list td,.expenses-detail-page .expenses-list th{font-size:12px;padding:12px 8px}.expenses-detail-page .modal-actions{flex-direction:column}.expenses-detail-page .modal-actions .btn{width:100%}}.financial-reports-page{background-color:var(--bg-default);min-height:100vh;padding:24px}.financial-reports-page .page-header{align-items:center;background:var(--bg-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card);display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:32px;padding:24px}.financial-reports-page .page-header h1{color:var(--text-primary);flex:1 1;font-size:28px;margin:0;min-width:200px}.financial-reports-page .header-actions{align-items:center;display:flex;gap:12px}.financial-reports-page .date-picker{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-input);cursor:pointer;font-size:13px;padding:8px 12px}.financial-reports-page .date-picker:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #064e3b1a;outline:none}.financial-reports-page .btn{border:none;border-radius:var(--radius-button);cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease}.financial-reports-page .btn:hover{transform:translateY(-1px)}.financial-reports-page .btn-secondary{background:var(--bg-alt);border:1px solid var(--border);color:var(--text-primary)}.financial-reports-page .btn-secondary:hover{background:var(--border)}.financial-reports-page .reports-layout{grid-gap:24px;display:grid;gap:24px;grid-template-columns:280px 1fr}.financial-reports-page .reports-sidebar{background:var(--bg-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card);height:-webkit-fit-content;height:fit-content;padding:20px;position:-webkit-sticky;position:sticky;top:24px}.financial-reports-page .reports-sidebar h3{color:var(--text-primary);font-size:16px;margin:0 0 16px}.financial-reports-page .reports-menu{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.financial-reports-page .menu-item{align-items:flex-start;background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius-input);cursor:pointer;display:flex;padding:12px;text-align:left;transition:all .2s}.financial-reports-page .menu-item.active,.financial-reports-page .menu-item:hover{background:var(--bg-alt);border-color:var(--primary)}.financial-reports-page .menu-item .icon{flex-shrink:0;font-size:20px;margin-right:12px}.financial-reports-page .menu-text{flex:1 1}.financial-reports-page .menu-text strong{color:var(--text-primary);display:block;font-size:13px;margin-bottom:2px}.financial-reports-page .menu-text small{color:var(--text-muted);display:block;font-size:11px;line-height:1.3}.financial-reports-page .report-summary{border-top:1px solid var(--border);padding-top:16px}.financial-reports-page .report-summary h4{color:var(--text-secondary);font-size:12px;font-weight:600;margin:0 0 12px;text-transform:uppercase}.financial-reports-page .report-summary p{color:var(--text-primary);font-size:13px;margin:4px 0}.financial-reports-page .reports-content{background:var(--bg-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:32px}.financial-reports-page .report-header{border-bottom:2px solid var(--border);margin-bottom:32px;padding-bottom:16px}.financial-reports-page .report-header h2{color:var(--text-primary);font-size:28px;margin:0 0 8px}.financial-reports-page .report-subtitle{color:var(--text-muted);font-size:14px;margin:0}.financial-reports-page .empty-state,.financial-reports-page .loading{color:var(--text-secondary);font-size:16px;padding:48px;text-align:center}.financial-reports-page .report-content{overflow-x:auto}.financial-reports-page .report-table,.financial-reports-page .section-table,.financial-reports-page .summary-table{border-collapse:collapse;margin-bottom:24px;width:100%}.financial-reports-page .report-table thead,.financial-reports-page .section-table thead{background:var(--bg-alt);border-bottom:2px solid var(--border)}.financial-reports-page .report-table th,.financial-reports-page .section-table th{color:var(--text-secondary);font-size:12px;font-weight:600;padding:12px;text-align:left;text-transform:uppercase}.financial-reports-page .report-table td,.financial-reports-page .section-table td{border-bottom:1px solid var(--border);color:var(--text-primary);font-size:14px;padding:12px}.financial-reports-page .report-table tbody tr:hover,.financial-reports-page .section-table tbody tr:hover{background:var(--bg-alt)}.financial-reports-page .code{color:var(--primary);font-family:Monaco,Menlo,monospace;font-size:12px;font-weight:600}.financial-reports-page .amount{font-family:Monaco,Menlo,monospace;font-weight:500;text-align:right}.financial-reports-page .section{margin-bottom:32px}.financial-reports-page .section h3{border-bottom:1px solid var(--border);color:var(--text-primary);font-size:16px;font-weight:600;margin:0 0 16px;padding:8px 0}.financial-reports-page .section-table{margin-bottom:8px}.financial-reports-page .subtotal{background:var(--bg-alt);border-top:1px solid var(--border);font-weight:600}.financial-reports-page .subtotal td{border-bottom:1px solid var(--border);padding:12px}.financial-reports-page .account-name,.financial-reports-page .activity-name{padding-left:24px}.financial-reports-page .totals-row{background:var(--bg-alt);border-top:2px solid var(--border);font-weight:600}.financial-reports-page .totals-row td{padding:12px}.financial-reports-page .verify-status{font-size:14px;padding:12px;text-align:center}.financial-reports-page .balanced{color:#059669;font-weight:600}.financial-reports-page .unbalanced{color:#dc2626;font-weight:600}.financial-reports-page .summary,.financial-reports-page .verification{background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius-input);margin-top:32px;padding:20px}.financial-reports-page .summary-table{border-collapse:collapse;width:100%}.financial-reports-page .summary-table td{border-bottom:1px solid var(--border);padding:12px 16px}.financial-reports-page .summary-table .total-row td{background:var(--bg-alt);border-top:2px solid var(--border);font-weight:600}.financial-reports-page .amount.positive{color:#059669}.financial-reports-page .amount.negative{color:#dc2626}.financial-reports-page .verification p{font-size:14px;margin:8px 0}.financial-reports-page .verification .balanced,.financial-reports-page .verification .unbalanced{display:block}@media (max-width:1024px){.financial-reports-page .reports-layout{grid-template-columns:1fr}.financial-reports-page .reports-sidebar{position:static}.financial-reports-page .header-actions{width:100%}}@media (max-width:768px){.financial-reports-page .page-header{align-items:flex-start;flex-direction:column}.financial-reports-page .header-actions,.financial-reports-page .page-header h1{width:100%}.financial-reports-page .header-actions .btn{flex:1 1}.financial-reports-page .reports-content{padding:16px}.financial-reports-page .report-table,.financial-reports-page .section-table,.financial-reports-page .summary-table{font-size:12px}.financial-reports-page .report-table td,.financial-reports-page .report-table th,.financial-reports-page .section-table td,.financial-reports-page .section-table th{padding:8px}.financial-reports-page .account-name,.financial-reports-page .activity-name{padding-left:16px}.financial-reports-page .menu-item{padding:10px}.financial-reports-page .menu-text strong{font-size:12px}.financial-reports-page .menu-text small{font-size:10px}}.fiscal-period-manager{background:#f8f9fa;border-radius:8px;margin:16px 0;padding:24px}.fiscal-period-manager .header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.fiscal-period-manager .header h2{color:#333;font-size:24px;margin:0}.fiscal-period-manager .btn-primary{background:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:10px 16px;transition:background .2s}.fiscal-period-manager .btn-primary:hover{background:#45a049}.fiscal-period-manager .btn-secondary{background:#757575;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:8px 12px;transition:background .2s}.fiscal-period-manager .btn-secondary:hover{background:#616161}.fiscal-period-manager .error-message{background:#f8d7da;border-left:4px solid #dc3545;border-radius:4px;color:#721c24;margin-bottom:16px;padding:12px 16px}.fiscal-period-manager .create-period-form{background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:24px;padding:20px}.fiscal-period-manager .create-period-form h3{color:#333;font-size:18px;margin-top:0}.fiscal-period-manager .form-group{margin-bottom:16px}.fiscal-period-manager .form-group label{color:#555;display:block;font-weight:500;margin-bottom:8px}.fiscal-period-manager .form-group input,.fiscal-period-manager .form-group select{border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:14px;padding:10px;width:100%}.fiscal-period-manager .form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.fiscal-period-manager .form-actions{display:flex;gap:12px;margin-top:20px}.fiscal-period-manager .form-actions button{border:none;border-radius:4px;cursor:pointer;font-weight:500;padding:10px 20px;transition:background .2s}.fiscal-period-manager .current-period-card{background:#fff;border-left:4px solid #2196f3;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:24px;padding:20px}.fiscal-period-manager .current-period-card h3{color:#2196f3;margin-top:0}.fiscal-period-manager .period-info{align-items:center;display:flex;gap:20px;justify-content:space-between}.fiscal-period-manager .period-info p{margin:4px 0}.fiscal-period-manager .status{border-radius:20px;display:inline-block;font-size:12px;font-weight:600;padding:6px 12px;text-transform:uppercase}.fiscal-period-manager .status-OPEN{background:#d4edda;color:#155724}.fiscal-period-manager .status-LOCKED{background:#fff3cd;color:#856404}.fiscal-period-manager .status-CLOSED{background:#d1ecf1;color:#0c5460}.fiscal-period-manager .status-ARCHIVED{background:#e2e3e5;color:#383d41}.fiscal-period-manager .periods-table{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px}.fiscal-period-manager .periods-table h3{color:#333;margin-top:0}.fiscal-period-manager table{border-collapse:collapse;width:100%}.fiscal-period-manager table thead{background:#f5f5f5;border-bottom:2px solid #ddd}.fiscal-period-manager table th{color:#555;font-weight:600;padding:12px;text-align:left}.fiscal-period-manager table td{border-bottom:1px solid #eee;padding:12px}.fiscal-period-manager table tr:hover{background:#f9f9f9}.fiscal-period-manager .actions{display:flex;gap:8px}.fiscal-period-manager .btn-small{border:none;border-radius:4px;cursor:pointer;font-size:12px;padding:6px 12px;transition:opacity .2s}.fiscal-period-manager .btn-warning{background:#ff9800;color:#fff}.fiscal-period-manager .btn-warning:hover{opacity:.8}.fiscal-period-manager .btn-danger{background:#f44336;color:#fff}.fiscal-period-manager .btn-danger:hover{opacity:.8}.fiscal-period-manager .badge{border-radius:12px;display:inline-block;font-size:11px;font-weight:600;padding:4px 8px;text-transform:uppercase}.fiscal-period-manager .badge-OPEN{background:#d4edda;color:#155724}.fiscal-period-manager .badge-LOCKED{background:#fff3cd;color:#856404}.fiscal-period-manager .badge-CLOSED{background:#d1ecf1;color:#0c5460}.fiscal-period-manager .loading{color:#999;padding:40px;text-align:center}@media (max-width:768px){.fiscal-period-manager .form-row{grid-template-columns:1fr}.fiscal-period-manager .period-info{align-items:flex-start;flex-direction:column}}.audit-trail-viewer{background:#f8f9fa;border-radius:8px;margin:16px 0;padding:24px}.audit-trail-viewer .header{border-bottom:2px solid #e0e0e0;margin-bottom:24px;padding-bottom:16px}.audit-trail-viewer .header h2{color:#333;font-size:24px;margin:0 0 8px}.audit-trail-viewer .header p{color:#666;font-size:14px;margin:0}.audit-trail-viewer .audit-summary{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:24px}.audit-trail-viewer .summary-card{background:#fff;border-left:4px solid #2196f3;border-radius:8px;box-shadow:0 2px 4px #0000000d;padding:16px}.audit-trail-viewer .summary-card h4{color:#666;font-size:12px;font-weight:600;margin:0 0 8px;text-transform:uppercase}.audit-trail-viewer .summary-card .stat{color:#333;font-size:24px;font-weight:700;margin:0}.audit-trail-viewer .filter-form{background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:24px;padding:20px}.audit-trail-viewer .filter-form h3{color:#333;font-size:18px;margin-top:0}.audit-trail-viewer .filter-options{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:16px}.audit-trail-viewer .filter-options .option{align-items:center;display:flex;gap:8px}.audit-trail-viewer .filter-options input[type=radio]{cursor:pointer}.audit-trail-viewer .filter-options label{color:#555;cursor:pointer;font-weight:500}.audit-trail-viewer .filter-inputs{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.audit-trail-viewer .filter-inputs input{border:1px solid #ddd;border-radius:4px;flex:1 1;font-size:14px;min-width:150px;padding:10px}.audit-trail-viewer .filter-form>input{border:1px solid #ddd;border-radius:4px;font-size:14px;margin-bottom:16px;max-width:400px;padding:10px;width:100%}.audit-trail-viewer .filter-form button{border:none;border-radius:4px;cursor:pointer;font-weight:500;margin-right:8px;padding:10px 16px;transition:background .2s}.audit-trail-viewer .btn-primary{background:#4caf50;color:#fff}.audit-trail-viewer .btn-primary:hover{background:#45a049}.audit-trail-viewer .btn-secondary{background:#757575;color:#fff}.audit-trail-viewer .btn-secondary:hover{background:#616161}.audit-trail-viewer .audit-logs-table{background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:24px;padding:20px}.audit-trail-viewer .audit-logs-table h3{color:#333;margin-top:0}.audit-trail-viewer .table-container{overflow-x:auto}.audit-trail-viewer table{border-collapse:collapse;width:100%}.audit-trail-viewer table thead{background:#f5f5f5;border-bottom:2px solid #ddd}.audit-trail-viewer table th{color:#555;font-size:13px;font-weight:600;padding:12px;text-align:left}.audit-trail-viewer table td{border-bottom:1px solid #eee;font-size:13px;padding:12px}.audit-trail-viewer table tr:hover{background:#f9f9f9}.audit-trail-viewer .timestamp{color:#666;font-size:12px;white-space:nowrap}.audit-trail-viewer .action{color:#333;font-weight:600}.audit-trail-viewer .entity-id{background:#f0f0f0;border-radius:3px;font-family:monospace;padding:2px 6px}.audit-trail-viewer .user{color:#333}.audit-trail-viewer .user small{color:#999;display:block;font-size:11px}.audit-trail-viewer .details{text-align:center}.audit-trail-viewer .btn-tiny{background:#e0e0e0;border:none;border-radius:3px;cursor:pointer;font-size:11px;padding:4px 8px;transition:background .2s}.audit-trail-viewer .btn-tiny:hover{background:#d0d0d0}.audit-trail-viewer .empty{color:#999;padding:40px 12px!important;text-align:center}.audit-trail-viewer .compliance-info{background:#e3f2fd;border-left:4px solid #2196f3;border-radius:8px;padding:16px}.audit-trail-viewer .compliance-info h4{color:#1976d2;margin-top:0}.audit-trail-viewer .compliance-info ul{margin:12px 0;padding-left:20px}.audit-trail-viewer .compliance-info li{color:#333;margin:6px 0}.audit-trail-viewer .loading{color:#999;padding:40px;text-align:center}@media (max-width:768px){.audit-trail-viewer .audit-summary{grid-template-columns:repeat(2,1fr)}.audit-trail-viewer .filter-options{flex-direction:column;gap:12px}.audit-trail-viewer .table-container{font-size:12px}}.bank-reconciliation-manager{background:#f8f9fa;border-radius:8px;margin:16px 0;padding:24px}.bank-reconciliation-manager .header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.bank-reconciliation-manager .header h2{color:#333;font-size:24px;margin:0}.bank-reconciliation-manager .btn-primary{background:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:10px 16px;transition:background .2s}.bank-reconciliation-manager .btn-primary:hover{background:#45a049}.bank-reconciliation-manager .error-message{background:#f8d7da;border-left:4px solid #dc3545;border-radius:4px;color:#721c24;margin-bottom:16px;padding:12px 16px}.bank-reconciliation-manager .import-form{background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:24px;padding:20px}.bank-reconciliation-manager .import-form h3{color:#333;margin-top:0}.bank-reconciliation-manager .form-group{margin-bottom:16px}.bank-reconciliation-manager .form-group label{color:#555;display:block;font-weight:500;margin-bottom:8px}.bank-reconciliation-manager .form-group input,.bank-reconciliation-manager .form-group select{border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:14px;padding:10px;width:100%}.bank-reconciliation-manager .form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}.bank-reconciliation-manager .form-actions{display:flex;gap:12px;margin-top:20px}.bank-reconciliation-manager .form-actions button{border:none;border-radius:4px;cursor:pointer;font-weight:500;padding:10px 20px;transition:background .2s}.bank-reconciliation-manager .btn-secondary{background:#757575;color:#fff}.bank-reconciliation-manager .btn-secondary:hover{background:#616161}.bank-reconciliation-manager .reconciliation-summary{background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:24px;padding:20px}.bank-reconciliation-manager .reconciliation-summary h3{color:#333;margin-top:0}.bank-reconciliation-manager .summary-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:20px}.bank-reconciliation-manager .stat-card{background:#f5f5f5;border-left:4px solid #2196f3;border-radius:8px;padding:16px;text-align:center}.bank-reconciliation-manager .stat-card h4{color:#666;font-size:12px;font-weight:600;margin:0 0 8px;text-transform:uppercase}.bank-reconciliation-manager .stat-card .value{color:#333;font-size:20px;font-weight:700;margin:0}.bank-reconciliation-manager .stat-card .value.balanced{color:#4caf50}.bank-reconciliation-manager .stat-card .value.unbalanced{color:#f44336}.bank-reconciliation-manager .badge{border-radius:12px;display:inline-block;font-size:11px;font-weight:600;padding:4px 12px;text-transform:uppercase}.bank-reconciliation-manager .badge-IN_PROGRESS{background:#fff3cd;color:#856404}.bank-reconciliation-manager .badge-COMPLETED{background:#d4edda;color:#155724}.bank-reconciliation-manager .reconciliation-actions{display:flex;gap:12px;margin-top:16px}.bank-reconciliation-manager .btn-success{background:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:10px 16px;transition:background .2s}.bank-reconciliation-manager .btn-success:hover{background:#45a049}.bank-reconciliation-manager .reconciliation-info{background:#e8f5e9;border-left:4px solid #4caf50;border-radius:8px;padding:20px}.bank-reconciliation-manager .reconciliation-info h4{color:#2e7d32;margin-top:0}.bank-reconciliation-manager .reconciliation-info ol,.bank-reconciliation-manager .reconciliation-info ul{margin:12px 0;padding-left:24px}.bank-reconciliation-manager .reconciliation-info li{color:#333;line-height:1.5;margin:8px 0}.bank-reconciliation-manager .loading{color:#999;padding:40px;text-align:center}@media (max-width:768px){.bank-reconciliation-manager .form-row{grid-template-columns:1fr}.bank-reconciliation-manager .summary-grid{grid-template-columns:repeat(2,1fr)}.bank-reconciliation-manager .reconciliation-actions{flex-direction:column}}.account-hierarchy-builder{background:#f8f9fa;border-radius:8px;margin:16px 0;padding:24px}.account-hierarchy-builder .header{align-items:flex-start;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.account-hierarchy-builder .header h2{color:#333;font-size:24px;margin:0}.account-hierarchy-builder .header p{color:#666;font-size:14px;margin:8px 0 0}.account-hierarchy-builder .btn-primary{background:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:10px 16px;transition:background .2s}.account-hierarchy-builder .btn-primary:hover{background:#45a049}.account-hierarchy-builder .btn-secondary{background:#757575;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;margin-left:8px;padding:10px 16px;transition:background .2s}.account-hierarchy-builder .btn-secondary:hover{background:#616161}.account-hierarchy-builder .error-message{background:#f8d7da;border-left:4px solid #dc3545;border-radius:4px;color:#721c24;margin-bottom:16px;padding:12px 16px}.account-hierarchy-builder .create-hierarchy-form,.account-hierarchy-builder .create-node-form{background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:24px;padding:20px}.account-hierarchy-builder .create-hierarchy-form h3,.account-hierarchy-builder .create-node-form h3{color:#333;margin-top:0}.account-hierarchy-builder .form-group{margin-bottom:16px}.account-hierarchy-builder .form-group label{color:#555;display:block;font-weight:500;margin-bottom:8px}.account-hierarchy-builder .form-group input,.account-hierarchy-builder .form-group select,.account-hierarchy-builder .form-group textarea{border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:14px;padding:10px;width:100%}.account-hierarchy-builder .form-group textarea{min-height:80px;resize:vertical}.account-hierarchy-builder .form-actions{display:flex;gap:12px;margin-top:20px}.account-hierarchy-builder .form-actions button{border:none;border-radius:4px;cursor:pointer;font-weight:500;padding:10px 20px;transition:background .2s}.account-hierarchy-builder .hierarchy-controls{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}.account-hierarchy-builder .hierarchy-display{background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:24px;padding:20px}.account-hierarchy-builder .hierarchy-display h3{color:#333;margin-top:0}.account-hierarchy-builder .tree-container{background:#f9f9f9;border:1px solid #eee;border-radius:4px;max-height:600px;overflow-y:auto;padding:16px}.account-hierarchy-builder .tree-node{margin-bottom:12px}.account-hierarchy-builder .node-content{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:4px;display:flex;gap:12px;padding:12px}.account-hierarchy-builder .node-icon{font-size:18px}.account-hierarchy-builder .node-info{flex:1 1}.account-hierarchy-builder .node-info h4{color:#333;font-size:14px;margin:0}.account-hierarchy-builder .node-info .code{color:#999;font-family:monospace;font-size:12px;margin:4px 0 0}.account-hierarchy-builder .node-balance{min-width:120px;text-align:right}.account-hierarchy-builder .node-balance .label{color:#999;font-size:11px;margin:0;text-transform:uppercase}.account-hierarchy-builder .node-balance .value{color:#333;font-size:16px;font-weight:700;margin:4px 0 0}.account-hierarchy-builder .children{border-left:2px solid #e0e0e0;margin-left:10px;padding-left:12px}.account-hierarchy-builder .consolidated-report{background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:24px;padding:20px}.account-hierarchy-builder .consolidated-report h3{color:#333;margin-top:0}.account-hierarchy-builder .report-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:24px}.account-hierarchy-builder .level-section{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:4px;padding:16px}.account-hierarchy-builder .level-section h4{color:#333;font-size:12px;margin-top:0;text-transform:uppercase}.account-hierarchy-builder .level-table{border-collapse:collapse;font-size:13px;width:100%}.account-hierarchy-builder .level-table th{background:#fff;border-bottom:1px solid #ddd;font-weight:600;padding:8px;text-align:left}.account-hierarchy-builder .level-table td{border-bottom:1px solid #eee;padding:8px}.account-hierarchy-builder .level-table .balance{color:#2196f3;font-weight:600;text-align:right}.account-hierarchy-builder .level-table .total-row{background:#f0f0f0;border-top:2px solid #ddd;font-weight:600}.account-hierarchy-builder .grand-total{background:#e3f2fd;border-left:4px solid #2196f3;border-radius:4px;padding:16px;text-align:center}.account-hierarchy-builder .grand-total h4{color:#1976d2;font-size:12px;margin:0 0 8px;text-transform:uppercase}.account-hierarchy-builder .grand-total .value{color:#1976d2;font-size:28px;font-weight:700;margin:0}.account-hierarchy-builder .hierarchy-info{background:#e8f5e9;border-left:4px solid #4caf50;border-radius:8px;padding:20px}.account-hierarchy-builder .hierarchy-info h4{color:#2e7d32;margin-top:0}.account-hierarchy-builder .hierarchy-info ul{margin:12px 0;padding-left:24px}.account-hierarchy-builder .hierarchy-info li{color:#333;line-height:1.5;margin:8px 0}@media (max-width:768px){.account-hierarchy-builder .hierarchy-controls{flex-direction:column}.account-hierarchy-builder .hierarchy-controls button{width:100%}.account-hierarchy-builder .report-grid{grid-template-columns:1fr}.account-hierarchy-builder .node-content{align-items:flex-start;flex-direction:column}.account-hierarchy-builder .node-balance{text-align:left;width:100%}}.subledger-reconciliation-manager{background:#f8f9fa;border-radius:8px;margin:16px 0;padding:24px}.subledger-reconciliation-manager .header{border-bottom:2px solid #e0e0e0;margin-bottom:24px;padding-bottom:16px}.subledger-reconciliation-manager .header h2{color:#333;font-size:24px;margin:0 0 8px}.subledger-reconciliation-manager .header p{color:#666;font-size:14px;margin:0 0 16px}.subledger-reconciliation-manager .header button{background:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:10px 16px;transition:background .2s}.subledger-reconciliation-manager .header button:hover{background:#45a049}.subledger-reconciliation-manager .error-message{background:#f8d7da;border-left:4px solid #dc3545;border-radius:4px;color:#721c24;margin-bottom:16px;padding:12px 16px}.subledger-reconciliation-manager .create-recon-form{background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:24px;padding:20px}.subledger-reconciliation-manager .create-recon-form h3{color:#333;margin-top:0}.subledger-reconciliation-manager .form-group{margin-bottom:16px}.subledger-reconciliation-manager .form-group label{color:#555;display:block;font-weight:500;margin-bottom:8px}.subledger-reconciliation-manager .form-group input,.subledger-reconciliation-manager .form-group select{border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:14px;padding:10px;width:100%}.subledger-reconciliation-manager .form-actions{display:flex;gap:12px;margin-top:20px}.subledger-reconciliation-manager .form-actions button{border:none;border-radius:4px;cursor:pointer;font-weight:500;padding:10px 20px;transition:background .2s}.subledger-reconciliation-manager .btn-primary{background:#4caf50;color:#fff}.subledger-reconciliation-manager .btn-primary:hover{background:#45a049}.subledger-reconciliation-manager .btn-secondary{background:#757575;color:#fff}.subledger-reconciliation-manager .btn-secondary:hover{background:#616161}.subledger-reconciliation-manager .reconciliation-detail{background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:24px;padding:20px}.subledger-reconciliation-manager .reconciliation-detail h3{color:#333;margin-top:0}.subledger-reconciliation-manager .stat-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:20px}.subledger-reconciliation-manager .stat-card{background:#f5f5f5;border-left:4px solid #2196f3;border-radius:8px;padding:16px;text-align:center}.subledger-reconciliation-manager .stat-card h4{color:#666;font-size:12px;font-weight:600;margin:0 0 8px;text-transform:uppercase}.subledger-reconciliation-manager .stat-card .value{color:#333;font-size:18px;font-weight:700;margin:0}.subledger-reconciliation-manager .stat-card .value.balanced{color:#4caf50}.subledger-reconciliation-manager .stat-card .value.unbalanced{color:#f44336}.subledger-reconciliation-manager .badge{border-radius:12px;display:inline-block;font-size:11px;font-weight:600;padding:4px 12px;text-transform:uppercase}.subledger-reconciliation-manager .badge-IN_PROGRESS{background:#fff3cd;color:#856404}.subledger-reconciliation-manager .badge-COMPLETED{background:#d4edda;color:#155724}.subledger-reconciliation-manager .reconciliation-actions{display:flex;flex-wrap:wrap;gap:12px}.subledger-reconciliation-manager .reconciliation-actions button{border:none;border-radius:4px;cursor:pointer;font-weight:500;padding:10px 16px;transition:background .2s}.subledger-reconciliation-manager .btn-success{background:#4caf50;color:#fff}.subledger-reconciliation-manager .btn-success:hover{background:#45a049}.subledger-reconciliation-manager .aging-analysis{background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:24px;padding:20px}.subledger-reconciliation-manager .aging-analysis h3{color:#333;margin-top:0}.subledger-reconciliation-manager .aging-buckets{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.subledger-reconciliation-manager .bucket{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;padding:16px}.subledger-reconciliation-manager .bucket h4{color:#333;font-size:13px;font-weight:600;margin-top:0}.subledger-reconciliation-manager .bucket-content{display:flex;flex-direction:column;gap:8px}.subledger-reconciliation-manager .bucket-content .amount{color:#333;font-size:18px;font-weight:700;margin:0}.subledger-reconciliation-manager .bucket-content .percentage{color:#999;font-size:12px;margin:0}.subledger-reconciliation-manager .bucket-bar{background:#4caf50;border-radius:3px;height:6px;margin-top:4px}.subledger-reconciliation-manager .bucket-bar.warning{background:#ff9800}.subledger-reconciliation-manager .bucket-bar.danger{background:#f44336}.subledger-reconciliation-manager .bucket-bar.critical{background:#d32f2f}.subledger-reconciliation-manager .subledger-info{background:#e8f5e9;border-left:4px solid #4caf50;border-radius:8px;padding:20px}.subledger-reconciliation-manager .subledger-info h4{color:#2e7d32;margin-top:0}.subledger-reconciliation-manager .subledger-info ol,.subledger-reconciliation-manager .subledger-info ul{margin:12px 0;padding-left:24px}.subledger-reconciliation-manager .subledger-info li{color:#333;line-height:1.5;margin:8px 0}@media (max-width:768px){.subledger-reconciliation-manager .stat-grid{grid-template-columns:repeat(2,1fr)}.subledger-reconciliation-manager .reconciliation-actions{flex-direction:column}.subledger-reconciliation-manager .reconciliation-actions button{width:100%}.subledger-reconciliation-manager .aging-buckets{grid-template-columns:1fr}}.payment-modal-overlay{align-items:center;animation:fadeIn .2s ease;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.payment-status-modal{animation:slideUp .3s ease;background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a;max-width:500px;padding:32px 24px;position:relative;width:90%}.modal-close-btn{border-radius:6px;color:#9ca3af;font-size:24px;height:32px;position:absolute;right:12px;top:12px;width:32px}.modal-close-btn:hover{background:#f3f4f6}.modal-content{text-align:center}.status-icon-container{display:flex;justify-content:center;margin-bottom:20px}.status-icon-container svg{animation:scaleIn .4s ease}.status-icon-container svg.spinning{animation:spin 2s linear infinite}.modal-title{color:#1f2937;font-weight:700;margin:0 0 8px}.modal-description{color:#6b7280;font-size:14px;line-height:1.5;margin:0 0 20px}.payment-details{background:#f9fafb;border-radius:8px;margin:20px 0;padding:16px;text-align:left}.detail-row{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:8px 0}.detail-row:last-child{border-bottom:none}.detail-label{color:#6b7280;font-size:13px;letter-spacing:.5px}.detail-value{color:#1f2937;font-size:14px;font-weight:600}.detail-value.reference-code{background:#fff;border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;padding:4px 8px}.error-message{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:flex;font-size:14px;gap:12px;margin:16px 0;padding:12px 16px}.error-message svg{flex-shrink:0}.polling-info{margin:20px 0}.polling-text{color:#6b7280;font-size:13px;margin:0 0 12px}.progress-bar{background:#e5e7eb;border-radius:2px;height:4px;overflow:hidden}.progress-fill{animation:indeterminate 1.5s infinite;background:linear-gradient(90deg,#3b82f6,#60a5fa);height:100%}@keyframes indeterminate{0%{margin-left:0;width:0}50%{margin-left:0;width:100%}to{margin-left:100%;width:0}}.details-toggle{align-items:center;background:none;border:none;color:#3b82f6;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;margin:12px auto 0;padding:8px;transition:color .2s}.details-toggle:hover{color:#2563eb}.expanded-details{background:#f3f4f6;border-radius:6px;margin-top:12px;max-height:200px;overflow-y:auto;padding:12px}.expanded-details pre{color:#4b5563;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:11px;margin:0}.modal-actions{margin-top:24px}.action-group,.modal-actions{flex-wrap:wrap;gap:12px;justify-content:center}.action-group{display:flex;width:100%}.btn{border-radius:8px;display:flex;font-weight:600;min-width:120px;white-space:nowrap}.btn:disabled{opacity:.6}.btn svg.spinning{animation:spin 1s linear infinite}.btn-primary{background:#3b82f6}.btn-primary:hover:not(:disabled){background:#2563eb}.btn-secondary{background:#e5e7eb}.btn-secondary:hover:not(:disabled){background:#d1d5db}.btn-success{background:#10b981;color:#fff}.btn-success:hover:not(:disabled){background:#059669}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626}.auto-close-indicator{animation:fadeIn .3s ease;color:#6b7280;font-size:12px;margin-top:12px;text-align:center}@media (max-width:640px){.payment-status-modal{padding:24px 16px;width:95%}.modal-title{font-size:18px}.action-group{flex-direction:column}.btn{width:100%}}.payment-btn{align-items:center;background:linear-gradient(135deg,#06b6d4,#0891b2);border:none;border-radius:6px;box-shadow:0 2px 4px #06b6d433;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:8px;padding:8px 14px;transition:all .2s ease;white-space:nowrap}.payment-btn:hover:not(:disabled){background:linear-gradient(135deg,#0891b2,#0e7490);box-shadow:0 4px 8px #06b6d44d;transform:translateY(-1px)}.payment-btn:active:not(:disabled){box-shadow:0 2px 4px #06b6d433;transform:translateY(0)}.payment-btn:disabled{background:linear-gradient(135deg,#d1d5db,#9ca3af);cursor:not-allowed;opacity:.5}.payment-btn svg{flex-shrink:0}.payment-btn svg:last-child{margin-left:2px}.payment-btn:disabled span{font-size:12px}.payment-btn.full-width{justify-content:center;width:100%}.subscription-payment-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 1px 4px #00000014;overflow:hidden}.subscription-payment-card .payment-processing-view{padding:24px}.subscription-payment-card .processing-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.subscription-payment-card .back-btn{background:none;border:none;color:#3b82f6;cursor:pointer;font-size:13px;font-weight:600;padding:0;transition:color .2s}.subscription-payment-card .back-btn:hover{color:#2563eb}.subscription-payment-card .processing-header h3{color:#1e293b;font-size:18px;font-weight:700;margin:0}.subscription-payment-card .payment-details-summary{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-direction:column;gap:12px;margin-bottom:20px;padding:16px}.subscription-payment-card .detail-item{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:8px 0}.subscription-payment-card .detail-item:last-child{border-bottom:none}.subscription-payment-card .detail-item .label{color:#475569;font-size:13px;font-weight:600}.subscription-payment-card .detail-item .value{color:#1e293b;font-weight:500}.subscription-payment-card .billing-summary-section{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e2e8f0;padding:24px}.subscription-payment-card .summary-header{margin-bottom:20px}.subscription-payment-card .summary-header h3{color:#1e293b;font-size:16px;font-weight:700;margin:0}.subscription-payment-card .summary-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:20px}.subscription-payment-card .summary-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-direction:column;gap:6px;padding:12px}.subscription-payment-card .summary-item .label{color:#64748b;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.subscription-payment-card .summary-item .amount{color:#1e293b;font-size:18px;font-weight:700}.subscription-payment-card .summary-item .amount.paid{color:#059669}.subscription-payment-card .summary-item .amount.outstanding{color:#dc2626}.subscription-payment-card .progress-bar{background:#e2e8f0;border-radius:4px;height:8px;margin-bottom:8px;overflow:hidden}.subscription-payment-card .progress-fill{background:linear-gradient(90deg,#3b82f6,#059669);height:100%;transition:width .3s ease}.subscription-payment-card .progress-label{color:#475569;font-size:12px;font-weight:600;text-align:right}.subscription-payment-card .subscription-details-section{background:#fff;border-bottom:1px solid #e2e8f0;padding:20px 24px}.subscription-payment-card .detail-row{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;padding:10px 0}.subscription-payment-card .detail-row:last-child{border-bottom:none}.subscription-payment-card .detail-row .label{color:#475569;font-size:13px;font-weight:600}.subscription-payment-card .detail-row .value{color:#1e293b;font-weight:500}.subscription-payment-card .btn-pay-subscription{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;display:block;font-size:14px;font-weight:700;margin:24px;padding:12px 20px;transition:all .2s ease;width:calc(100% - 48px)}.subscription-payment-card .btn-pay-subscription:hover:not(:disabled){background:#2563eb;box-shadow:0 4px 12px #3b82f64d}.subscription-payment-card .btn-pay-subscription:disabled{cursor:not-allowed;opacity:.6}.invoices-list{padding:2rem 0}.invoices-list h2{border-bottom:3px solid #007bff;color:#2c3e50;font-weight:600;margin-bottom:2rem;padding-bottom:1rem}.invoices-list .card{border:1px solid #e9ecef;border-radius:8px;box-shadow:0 2px 8px #00000014;transition:all .3s ease}.invoices-list .card:hover{box-shadow:0 4px 12px #0000001f}.invoices-list .table{margin-bottom:0}.invoices-list .table thead th{background-color:#f8f9fa;border-bottom:2px solid #dee2e6;color:#2c3e50;font-size:.85rem;font-weight:600;letter-spacing:.5px;padding:1rem;text-transform:uppercase}.invoices-list .table tbody td{border-bottom:1px solid #dee2e6;color:#495057;padding:.875rem 1rem;vertical-align:middle}.invoices-list .table-responsive{border-radius:8px}.invoices-list .invoice-row:hover{background-color:#f8f9fa}.invoices-list .invoice-row td{font-size:.95rem}.invoices-list .invoice-row td.fw-bold{color:#2c3e50}.invoices-list .badge{border-radius:4px;font-size:.85rem;font-weight:600;letter-spacing:.5px;padding:.4rem .8rem;text-transform:uppercase}.invoices-list .badge.bg-success{background-color:#28a745!important}.invoices-list .badge.bg-warning{background-color:#ffc107!important;color:#000!important}.invoices-list .badge.bg-danger{background-color:#dc3545!important}.invoices-list .badge.bg-secondary{background-color:#6c757d!important}.invoices-list .btn-outline-primary{border:2px solid #007bff;border-radius:4px;color:#007bff;font-size:.9rem;padding:.4rem .7rem;transition:all .3s ease}.invoices-list .btn-outline-primary:hover{background-color:#007bff;color:#fff}.invoices-list .text-danger{color:#dc3545!important;font-weight:600}.invoices-list .text-success{color:#28a745!important;font-weight:600}.invoices-list .text-muted{color:#8892a1!important;font-size:.875rem;letter-spacing:.5px;text-transform:uppercase}.invoices-list .pagination{border-radius:6px;overflow:hidden}.invoices-list .page-link{border:1px solid #dee2e6;border-radius:0;color:#007bff}.invoices-list .page-link:hover{color:#fff}.invoices-list .page-item.active .page-link,.invoices-list .page-link:hover{background-color:#007bff;border-color:#007bff}.invoices-list .page-item.disabled .page-link{background-color:#e9ecef;border-color:#dee2e6;color:#6c757d;cursor:not-allowed}.invoices-list .alert{border:none;border-radius:8px;padding:1rem 1.5rem}.invoices-list .alert-info{background-color:#d1ecf1;color:#0c5460}.invoices-list .alert-danger{background-color:#f8d7da;color:#721c24}.invoices-list .card.border-0{background-color:#f8f9fa;margin-top:2rem}.invoices-list .card.border-0 h6{color:#8892a1;font-size:.875rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.invoices-list .card.border-0 h4{color:#2c3e50;font-weight:600}@media (max-width:768px){.invoices-list{padding:1rem 0}.invoices-list h2{font-size:1.5rem;margin-bottom:1.5rem}}.invoices-list .action-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.invoices-list .btn-outline-primary,.invoices-list .btn-outline-success{align-items:center;border-radius:4px;display:inline-flex;font-size:.9rem;height:36px;justify-content:center;min-width:40px;padding:.4rem .7rem;transition:all .3s ease}.invoices-list .btn-outline-success{border:2px solid #28a745;color:#28a745}.invoices-list .btn-outline-success:hover:not(:disabled){background-color:#28a745;color:#fff}.invoices-list .btn-outline-success:disabled{cursor:not-allowed;opacity:.6}.invoices-list .btn svg{height:16px;width:16px}.invoice-detail{padding:1rem 0}.invoice-detail h6{color:#8892a1;font-size:.85rem;font-weight:600;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.invoice-detail p{color:#2c3e50;font-size:.95rem;margin-bottom:1rem}.invoice-detail .card{background-color:#f8f9fa;border:none;border-radius:6px}.invoice-detail .card .card-body{padding:1.25rem}.invoice-detail .card .card-title{color:#2c3e50;font-size:.95rem;margin-bottom:1rem}.invoice-detail .float-end{font-size:.95rem}.invoice-detail .payment-tracking{background-color:#f8f9fa;border-radius:6px;padding:1.25rem}.invoice-detail .alert{font-size:.9rem;margin-top:1rem;padding:.875rem 1rem}.invoice-detail .alert-success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.invoice-detail .alert-warning{background-color:#fff3cd;border:1px solid #ffeeba;color:#856404}.invoice-detail .alert-danger{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}@media (max-width:1024px){.invoices-list .table thead th{font-size:.75rem;padding:.5rem}.invoices-list .table tbody td{font-size:.85rem;padding:.5rem}.invoices-list .table-responsive{font-size:.85rem}.invoices-list .pagination{flex-wrap:wrap;justify-content:center}.invoices-list .card.border-0 .row{display:flex;flex-direction:column;gap:1.5rem}.invoices-list .card.border-0 .col-md-4{text-align:center}}@media (max-width:576px){.invoices-list .table thead{font-size:.7rem}.invoices-list .table tbody td{font-size:.75rem;padding:.25rem .5rem}}.billing-section{display:flex;flex-direction:column;gap:24px}.billing-info-card{background:#1d4ed814;border-left:4px solid var(--secondary);border-radius:var(--radius-input);margin-bottom:16px;padding:16px}.billing-info-card h3{color:var(--secondary);font-size:16px;font-weight:600;margin:0 0 12px}.billing-info-card .billing-info+.billing-info{margin-top:10px}.billing-info{color:var(--text-primary);font-size:14px;line-height:1.5;margin:0}.billing-info-card .form-toggle-row{align-items:flex-start;color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;gap:10px;margin-top:12px}.billing-info-card .form-toggle-row input[type=checkbox]{accent-color:var(--primary);cursor:pointer;flex-shrink:0;height:16px;margin-top:3px;width:16px}.billing-help{padding:0}.billing-help h2{color:var(--text-primary);font-size:24px;font-weight:600;margin:0 0 24px}.billing-help .faq-item{background-color:var(--bg-alt);border-left:4px solid var(--secondary);border-radius:var(--radius-card);margin-bottom:24px;padding:1.5rem;transition:all .3s ease}.billing-help .faq-item:hover{box-shadow:var(--shadow-hover)}.billing-help .faq-item h5{color:var(--text-primary);font-size:1.1rem;font-weight:600;margin:0 0 1rem}.billing-help .faq-item p{color:var(--text-secondary);font-size:14px;line-height:1.6;margin:0 0 .5rem}.billing-help .faq-item ul{color:var(--text-secondary);font-size:14px;line-height:1.8;margin:.5rem 0 0 1.5rem;padding:0}.billing-help .faq-item ul li{margin-bottom:.5rem}.help-footer{background:var(--bg-alt);border-radius:var(--radius-input);color:var(--text-primary);font-size:14px;margin-top:32px;padding:16px}.help-footer a{color:var(--secondary);font-weight:500;text-decoration:none}.help-footer a:hover{text-decoration:underline}@media (max-width:768px){.billing-help .faq-item{margin-bottom:1rem;padding:1rem}.billing-help .faq-item h5{font-size:1rem}.billing-help .faq-item p,.billing-help .faq-item ul{font-size:.9rem}}.docs-header{background:linear-gradient(135deg,var(--primary) 0,var(--primary-hover) 100%);border-radius:var(--radius-card);box-shadow:var(--shadow-hover);color:var(--primary-fg);margin-bottom:3rem;padding:3rem 2rem}.docs-header h1{font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.docs-header p{font-size:1.1rem;margin:0;opacity:.9}.docs-container{grid-gap:3rem;display:grid;gap:3rem;grid-template-columns:280px 1fr;margin:0 auto;max-width:1400px}.docs-container .docs-sidebar{height:-webkit-fit-content;height:fit-content;position:-webkit-sticky;position:sticky;top:20px}.docs-container .docs-content{padding-right:2rem}.docs-container .docs-nav{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:1.5rem 0}.docs-container .nav-section{margin-bottom:1.5rem;padding:0 1rem}.docs-container .nav-section:last-child{margin-bottom:0}.docs-container .nav-section h5{color:var(--text-secondary);font-size:.85rem;font-weight:700;letter-spacing:.5px;margin:0 0 .75rem;text-transform:uppercase}.docs-container .nav-item{align-items:center;background:none;border:none;border-radius:var(--radius-input);color:var(--text-secondary);cursor:pointer;display:flex;font-size:.95rem;margin-bottom:.3rem;padding:.7rem 1rem;text-align:left;transition:all .2s ease;width:100%}.docs-container .nav-item:hover{background-color:var(--bg-alt);color:var(--primary)}.docs-container .nav-item.active{background:linear-gradient(135deg,var(--primary) 0,var(--primary-hover) 100%);color:var(--primary-fg);font-weight:600}.docs-container .doc-section{animation:fadeIn .3s ease;scroll-margin-top:100px}.docs-container .doc-section h2{border-bottom:3px solid var(--primary-hover);color:var(--primary);font-size:2rem;font-weight:700;margin-bottom:1.5rem;padding-bottom:1rem}.docs-container .doc-section h4{color:var(--primary-hover);font-size:1.3rem;font-weight:700;margin:1.5rem 0 1rem}.docs-container .doc-section h5{color:var(--text-primary);font-size:1.1rem;font-weight:700;margin:1rem 0 .5rem}.docs-container .doc-section p{color:var(--text-secondary);font-size:1rem;line-height:1.6;margin-bottom:1rem}.docs-container .doc-intro{background:var(--bg-alt);border-left:4px solid var(--primary);border-radius:var(--radius-input);font-size:1.05rem;margin-bottom:2rem;padding:1.5rem}.docs-container .doc-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);margin-bottom:2rem;padding:1.5rem;transition:all .2s ease}.docs-container .doc-card:hover{border-color:var(--primary);box-shadow:var(--shadow-hover)}.docs-container .doc-card ul{list-style:none;margin:1rem 0;padding:0}.docs-container .doc-card li{border-bottom:1px solid var(--border);color:var(--text-secondary);padding:.6rem 0}.docs-container .doc-card li:last-child{border-bottom:none}.docs-container .doc-card.info-card{background:var(--bg-alt);border:none;border-left:4px solid var(--primary)}.docs-container .code-block{align-items:center;background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius-input);display:flex;font-family:Courier New,monospace;justify-content:space-between;margin:1rem 0;padding:1rem}.docs-container .code-block code{color:var(--primary);flex:1 1;font-size:.9rem;word-break:break-all}.docs-container .btn-copy{align-items:center;background:var(--primary);border:none;border-radius:var(--radius-input);color:var(--primary-fg);cursor:pointer;display:flex;font-size:.9rem;justify-content:center;margin-left:1rem;padding:.4rem .8rem;transition:all .2s ease}.docs-container .btn-copy:hover{background:var(--primary-hover);transform:scale(1.05)}.docs-container .btn-copy-small{background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius-input);color:var(--text-secondary);cursor:pointer;font-size:.85rem;margin-left:1rem;padding:.4rem .8rem;transition:all .2s ease}.docs-container .btn-copy-small:hover{background:var(--primary);border-color:var(--primary);color:var(--primary-fg)}.docs-container .code-example{background:var(--primary);border-radius:var(--radius-input);color:#00d4ff;font-family:Courier New,monospace;font-size:.9rem;line-height:1.5;margin:1rem 0;overflow-x:auto;padding:1rem}.docs-container .endpoint{align-items:flex-start;background:var(--bg-alt);border-left:4px solid var(--primary);border-radius:var(--radius-input);display:flex;justify-content:space-between;margin-bottom:1rem;padding:1.2rem}.docs-container .method{border-radius:4px;color:#fff;font-size:.85rem;font-weight:700;margin-right:1rem;min-width:50px;padding:.4rem .8rem;text-align:center}.docs-container .method.get{background:#059669}.docs-container .method.post{background:var(--secondary)}.docs-container .method.put{background:var(--accent)}.docs-container .method.delete{background:#dc2626}.docs-container .path{color:var(--primary);flex:1 1;font-family:Courier New,monospace;font-size:1rem;font-weight:600}.docs-container .endpoint p{color:var(--text-secondary);font-size:.9rem;grid-column:2;margin:.5rem 0 0}.docs-container .feature-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:2rem 0}.docs-container .feature-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:1.5rem;text-align:center;transition:all .3s ease}.docs-container .feature-card:hover{border-color:var(--primary);box-shadow:var(--shadow-hover);transform:translateY(-5px)}.docs-container .feature-icon{font-size:2.5rem;margin-bottom:1rem}.docs-container .feature-card h4{color:var(--primary);margin-top:0}.docs-container .feature-card p{color:var(--text-secondary);margin:0}.docs-container .flow-diagram{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin:2rem 0}.docs-container .flow-step{background:linear-gradient(135deg,var(--primary-hover) 0,var(--primary) 100%);border-radius:var(--radius-input);color:var(--primary-fg);font-weight:600;min-width:150px;padding:1rem 1.2rem;text-align:center}.docs-container .step-num{display:block;font-size:1.5rem;margin-bottom:.5rem}.docs-container .step-text{font-size:.85rem}.docs-container .flow-arrow{color:var(--primary-hover);font-size:1.5rem;font-weight:700}.docs-container .timeline{border-left:3px solid var(--primary-hover);display:flex;flex-direction:column;gap:1.5rem;margin:2rem 0;padding-left:2rem}.docs-container .timeline-item{padding-left:1.5rem;position:relative}.docs-container .timeline-item:before{background:var(--bg-surface);border:3px solid var(--primary-hover);border-radius:50%;content:"";height:12px;left:-2.55rem;position:absolute;top:.5rem;width:12px}.docs-container .timeline-marker{color:var(--primary-hover);font-size:1rem;font-weight:700;margin-bottom:.3rem}.docs-container .timeline-item p{color:var(--text-secondary);margin:0}.docs-container .config-table{border-collapse:collapse;margin:1rem 0;width:100%}.docs-container .config-table tr{border-bottom:1px solid var(--border)}.docs-container .config-table tr:last-child{border-bottom:none}.docs-container .config-table td{padding:1rem;text-align:left}.docs-container .config-table td:first-child{background:var(--bg-alt);color:var(--primary);font-weight:600;width:35%}.docs-container .config-table td:last-child{color:var(--text-secondary)}@media (max-width:1024px){.docs-container{gap:2rem;grid-template-columns:1fr}.docs-container .docs-sidebar{position:static}.docs-container .docs-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));padding:1rem}.docs-container .nav-section{padding:0}}@media (max-width:768px){.docs-header{padding:2rem 1rem}.docs-header h1{font-size:1.75rem}.docs-container .doc-section h2{font-size:1.5rem}.docs-container .feature-grid{grid-template-columns:1fr}.docs-container .flow-diagram{flex-direction:column;gap:2rem}.docs-container .flow-arrow{transform:rotate(90deg)}.docs-container .endpoint{flex-direction:column}.docs-container .btn-copy,.docs-container .btn-copy-small{margin-left:0;margin-top:1rem}.docs-container .docs-content{padding-right:0}.docs-container .code-block{align-items:flex-start;flex-direction:column}.docs-container .timeline{padding-left:1rem}.docs-container .timeline-item:before{left:-1.55rem}}.late-fee-management{background-color:#f8f9fa;min-height:100vh;padding:20px 0}.summary-card .card-body{padding:20px}.late-fee-management .card{border:1px solid #e9ecef;border-radius:8px;box-shadow:0 2px 4px #0000000d}.late-fee-management .card-header{background-color:#f8f9fa;border-bottom:2px solid #e9ecef;padding:15px}.late-fee-management .card-header h5{color:#2c3e50;font-weight:600;margin:0}.late-fee-management .table{margin-bottom:0}.late-fee-management .table thead{background-color:#f8f9fa;border-bottom:2px solid #dee2e6}.late-fee-management .table thead th{border-bottom:2px solid #dee2e6;color:#495057;font-weight:600;padding:12px}.late-fee-management .table tbody td{border-bottom:1px solid #dee2e6;padding:12px;vertical-align:middle}.late-fee-management .table tbody tr:hover{background-color:#f8f9fa}.late-fee-management .badge{font-size:.85rem;font-weight:600;padding:6px 10px}.late-fee-management .btn{border-radius:6px;font-weight:600;padding:10px 20px;transition:all .3s ease}.late-fee-management .btn:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.late-fee-management .btn-danger{background-color:#dc3545;border-color:#dc3545}.late-fee-management .btn-danger:hover{background-color:#c82333;border-color:#bd2130}.late-fee-management .modal-header{background-color:#f8f9fa;border-bottom:2px solid #e9ecef}.late-fee-management .modal-title{color:#2c3e50;font-weight:600}.late-fee-management .modal-body{padding:20px}.late-fee-management .form-label{color:#495057;font-weight:600;margin-bottom:8px}.late-fee-management .form-select{border:1px solid #ced4da;border-radius:4px;font-size:.95rem;padding:8px 12px}.late-fee-management .alert{border:1px solid;border-radius:6px}.late-fee-management .alert-danger{background-color:#f8d7da;border-color:#f5c6cb;color:#721c24}.late-fee-management .alert-info{background-color:#d1ecf1;border-color:#bee5eb;color:#0c5460}.late-fee-management .alert-success{background-color:#d4edda;border-color:#c3e6cb;color:#155724}.late-fee-management .alert strong{font-weight:700}.late-fee-management .dropdown-menu{border:1px solid #e9ecef;border-radius:6px;box-shadow:0 4px 8px #00000026}.late-fee-management .dropdown-item{font-size:.95rem;padding:10px 16px;transition:all .2s ease}.late-fee-management .dropdown-item:hover{background-color:#f8f9fa;color:inherit}.late-fee-management .dropdown-item.text-success:hover{background-color:#d4edda}.late-fee-management .dropdown-item.text-danger:hover{background-color:#f8d7da}.late-fee-management .dropdown-item.text-info:hover{background-color:#d1ecf1}.late-fee-management .spinner-border{color:#007bff}.text-danger{color:#dc3545!important}.text-warning{color:#ffc107!important}@media (max-width:768px){.section-title,.summary-card h3{font-size:1.5rem}.late-fee-management .table{font-size:.85rem}.late-fee-management .table tbody td,.late-fee-management .table thead th{padding:8px}.late-fee-management .btn{font-size:.9rem;padding:8px 16px}}@media print{.late-fee-management .btn,.late-fee-management .dropdown-menu{display:none}.late-fee-management .card{break-inside:avoid;page-break-inside:avoid}}.bulk-discount-management{background-color:#f8f9fa;min-height:100vh;padding:20px 0}.summary-card{border:1px solid #e9ecef;box-shadow:0 2px 4px #0000000d;transition:all .3s ease}.summary-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.summary-card h6{font-size:.85rem;font-weight:600;letter-spacing:.5px}.summary-card h3{font-size:1.8rem;font-weight:700}.bulk-discount-management .card{border:1px solid #e9ecef;border-radius:8px;box-shadow:0 2px 4px #0000000d;margin-bottom:20px}.bulk-discount-management .card-header{background-color:#f8f9fa;border-bottom:2px solid #e9ecef;padding:15px}.bulk-discount-management .card-header h5{color:#2c3e50;font-weight:600;margin:0}.bulk-discount-management .card-body{padding:20px}.bulk-discount-management .table{margin-bottom:0}.bulk-discount-management .table thead{background-color:#f8f9fa}.bulk-discount-management .table thead th{border-bottom:2px solid #dee2e6;color:#495057;font-weight:600;padding:12px}.bulk-discount-management .table tbody td{padding:12px;vertical-align:middle}.bulk-discount-management .table tbody tr:hover{background-color:#f8f9fa}.bulk-discount-management .badge{font-size:.9rem;font-weight:600;padding:6px 10px}.bulk-discount-management .badge.fs-6{font-size:.95rem}.bulk-discount-management .btn{border-radius:6px;font-weight:600;padding:10px 20px;transition:all .3s ease}.bulk-discount-management .btn:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.bulk-discount-management .btn-primary{background-color:#007bff;border-color:#007bff}.bulk-discount-management .btn-outline-sm{font-size:.85rem;padding:5px 10px}.bulk-discount-management .btn-outline-danger{border:1px solid #dc3545;color:#dc3545}.bulk-discount-management .btn-outline-danger:hover{background-color:#dc3545;color:#fff}.bulk-discount-management .modal-header{background-color:#f8f9fa;border-bottom:2px solid #e9ecef}.bulk-discount-management .modal-title{color:#2c3e50;font-weight:600}.bulk-discount-management .form-label{color:#495057;font-weight:600;margin-bottom:8px}.bulk-discount-management .form-control,.bulk-discount-management .form-select{border:1px solid #ced4da;border-radius:4px;padding:8px 12px}.bulk-discount-management .form-control:focus,.bulk-discount-management .form-select:focus{border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40}.bulk-discount-management .input-group-text{background-color:#f8f9fa;border:1px solid #ced4da;font-weight:600}.bulk-discount-management .alert{border:1px solid;border-radius:6px}.bulk-discount-management .alert-info{background-color:#d1ecf1;border-color:#bee5eb;color:#0c5460}.bulk-discount-management .alert-danger{background-color:#f8d7da;border-color:#f5c6cb;color:#721c24}.bulk-discount-management .alert-success{background-color:#d4edda;border-color:#c3e6cb;color:#155724}.bulk-discount-management .alert-info strong{font-weight:700}.bulk-discount-management .list-group-item{background-color:#fff;border:1px solid #dee2e6;padding:10px 0}.bulk-discount-management .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.bulk-discount-management .list-group-item:last-child{border-bottom-left-radius:0;border-bottom-right-radius:0}.example-table{font-size:.9rem}.example-table tr{border-bottom:1px solid #dee2e6;padding:8px 0}.example-table tr:last-child{border-bottom:none}.example-table td{padding:8px 4px}.text-muted{color:#6c757d!important}.text-success{color:#28a745!important}.text-primary{color:#007bff!important}.fw-bold{font-weight:600}@media (max-width:768px){.section-title,.summary-card h3{font-size:1.5rem}.bulk-discount-management .table{font-size:.85rem}.bulk-discount-management .btn{font-size:.9rem;padding:8px 16px}.bulk-discount-management .modal-lg{max-width:90vw}}@media print{.bulk-discount-management .btn,.bulk-discount-management .modal{display:none}.bulk-discount-management .card{break-inside:avoid;page-break-inside:avoid}}.reporting-dashboard{background-color:#f8f9fa;min-height:100vh;padding:20px 0}.section-title{color:#2c3e50;font-size:2rem;font-weight:700;margin-bottom:10px}.metric-card{border:1px solid #e9ecef;box-shadow:0 2px 4px #0000000d;height:100%;transition:all .3s ease}.metric-card:hover{box-shadow:0 4px 12px #0000001a}.metric-card h6{font-size:.85rem;font-weight:600;letter-spacing:.5px}.metric-card h3{color:#2c3e50;font-weight:700;margin-top:10px}.reporting-dashboard .card{border:1px solid #e9ecef;border-radius:8px;box-shadow:0 2px 4px #0000000d;margin-bottom:20px}.reporting-dashboard .card-header{border-bottom:2px solid #e9ecef;padding:15px}.reporting-dashboard .card-header h5{color:#2c3e50;font-weight:600;margin:0}.reporting-dashboard .card-body{padding:20px}.reporting-dashboard .recharts-surface{background-color:initial}.reporting-dashboard .recharts-cartesian-axis-tick{font-size:12px}.reporting-dashboard .table{font-size:.9rem;margin-bottom:0}.reporting-dashboard .table thead{background-color:#f8f9fa}.reporting-dashboard .table thead th{border-bottom:2px solid #dee2e6;color:#495057;font-weight:600;padding:12px}.reporting-dashboard .table tbody td{padding:12px;vertical-align:middle}.reporting-dashboard .table tbody tr:hover{background-color:#f8f9fa}.reporting-dashboard .badge{font-size:.85rem;font-weight:600;padding:6px 10px}.summary-item{background-color:#f8f9fa;border-radius:6px;margin-bottom:10px;padding:15px}.summary-item h6{font-size:.8rem;font-weight:600;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.summary-item ul li{border-bottom:1px solid #dee2e6;color:#495057;font-size:.95rem;padding:6px 0}.summary-item ul li:last-child{border-bottom:none}.summary-item ul li strong{color:#2c3e50;font-weight:600}@media (max-width:768px){.section-title{font-size:1.5rem}.reporting-dashboard .card-body{padding:15px}.reporting-dashboard .table{font-size:.85rem}.summary-item{margin-bottom:15px}}.reporting-dashboard .spinner-border{color:#007bff;height:3rem;width:3rem}.reporting-dashboard .alert{border:1px solid #f5c6cb;border-radius:8px}.reporting-dashboard .alert-danger{background-color:#f8d7da;color:#721c24}.font-monospace{font-family:Monaco,Menlo,Ubuntu Mono,monospace}.font-monospace,.text-muted-xs{color:#6c757d;font-size:.85rem}.recharts-tooltip{background-color:#fffffff2!important;border:1px solid #dee2e6!important;border-radius:4px}.page.attendance-tracking,.page.drivers-management,.page.enrollment-management,.page.fees-management,.page.maintenance-logs,.page.routes-management,.page.transport-dashboard,.page.vehicles-management{background:#f9fafb;min-height:100vh;padding:20px}.metrics-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:30px 0}.metric-card{background:#fff;border-left:4px solid;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;gap:16px;padding:20px;transition:all .2s}.metric-card:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.metric-primary{border-left-color:#064e3b}.metric-secondary{border-left-color:#9a3412}.metric-accent{border-left-color:#d97706}.metric-success{border-left-color:#10b981}.metric-icon{align-items:center;background:#f3f4f6;border-radius:8px;color:#064e3b;display:flex;flex-shrink:0;height:56px;justify-content:center;width:56px}.metric-content h3{color:#6b7280;font-size:14px;font-weight:500;margin:0}.metric-value{color:#1f2937;font-size:28px;font-weight:700;margin:8px 0}.metric-subtitle{color:#9ca3af;font-size:12px;margin:0}.action-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:20px}.action-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;gap:12px;padding:24px;transition:all .2s}.action-card:hover{border-color:#064e3b;box-shadow:0 4px 12px #064e3b26;transform:translateY(-2px)}.action-card h3{color:#1f2937;margin:0}.action-card p{color:#6b7280;font-size:14px;margin:0}.table-section{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin:20px 0;overflow:hidden}.data-table{border-collapse:collapse;width:100%}.data-table thead{background:#f3f4f6;border-bottom:2px solid #e5e7eb}.data-table th{color:#374151;font-size:14px;font-weight:600;padding:12px 16px;text-align:left}.data-table td{border-bottom:1px solid #f3f4f6;color:#1f2937;padding:12px 16px}.data-table tbody tr:hover{background:#f9fafb}.data-table tbody tr.row-expired{background:#fef3c7}.badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;padding:4px 12px}.badge-active,.badge-success{background:#d1fae5;color:#065f46}.badge-danger,.badge-inactive{background:#fee2e2;color:#991b1b}.badge-warning{background:#fef3c7;color:#92400e}.badge-info{background:#dbeafe;color:#1e40af}.btn{background:#fff;border:1px solid #d1d5db;color:#1f2937;padding:8px 16px;transition:all .2s}.btn:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.btn-primary{background:#064e3b;border-color:#064e3b}.btn-primary:hover:not(:disabled){background:#06563d}.btn-secondary{background:#fff;border-color:#d1d5db}.btn-secondary:hover:not(:disabled){background:#f9fafb}.btn-danger{background:#fee2e2;border-color:#fecaca;color:#991b1b}.btn-danger:hover:not(:disabled){background:#fecaca}.btn-success{background:#d1fae5;border-color:#a7f3d0;color:#065f46}.btn-success:hover:not(:disabled){background:#a7f3d0}.btn-icon{align-items:center;background:none;border:none;color:#6b7280;cursor:pointer;display:inline-flex;padding:6px;transition:color .2s}.btn-icon:hover{color:#1f2937}.btn-icon.btn-danger{color:#ef4444}.btn-icon.btn-danger:hover{color:#dc2626}.btn-lg{font-size:16px;padding:12px 24px}.form-group label{display:block;margin-bottom:6px}.form-group input[type=date],.form-group input[type=email],.form-group input[type=number],.form-group input[type=tel],.form-group input[type=text],.form-group input[type=time],.form-group select,.form-group textarea{border:1px solid #d1d5db;border-radius:6px;font-family:inherit;font-size:14px;padding:8px 12px;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#064e3b;box-shadow:0 0 0 3px #064e3b1a;outline:none}.checkbox-label{display:inline-flex;margin-bottom:8px;margin-right:16px}.form-row{margin-bottom:16px}.filters-section{grid-gap:16px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:20px 0;padding:16px}.attendance-table{border-collapse:collapse;width:100%}.attendance-table th{background:#f3f4f6;border-bottom:2px solid #e5e7eb;font-weight:600;padding:12px;text-align:left}.attendance-table td{border-bottom:1px solid #f3f4f6;padding:12px}.status-buttons{display:flex;flex-wrap:wrap;gap:8px}.status-btn{border:1px solid #ddd;border-radius:4px;font-size:12px;font-weight:500;gap:4px;padding:6px 12px;transition:all .2s}.status-btn.present.active{background:#10b981;color:#fff}.status-btn.absent.active{background:#ef4444;color:#fff}.status-btn.late.active{background:#f59e0b;color:#fff}.status-btn.excused.active{background:#8b5cf6;color:#fff}.summary-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:20px 0}.summary-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 3px #0000000d;padding:16px}.summary-card h3{color:#6b7280;font-size:14px;font-weight:500;margin:0 0 8px}.summary-card .amount{color:#1f2937;font-size:24px;font-weight:700;margin:0}.summary-card .amount.alert{color:#ef4444}.tabs-container{background:#fff;border-bottom:2px solid #e5e7eb;display:flex;gap:0;margin:20px 0}.tab-btn{background:none;border:none;border-bottom:2px solid #0000;color:#6b7280;cursor:pointer;font-size:14px;font-weight:500;padding:12px 20px;transition:all .2s}.tab-btn:hover{color:#1f2937}.tab-btn.active{border-bottom-color:#064e3b;color:#064e3b}.pagination{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:12px;justify-content:center;margin:20px 0;padding:20px}.pagination button{background:#fff;border:1px solid #d1d5db;border-radius:4px;cursor:pointer;font-size:14px;padding:8px 12px;transition:all .2s}.pagination button:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.pagination button:disabled{cursor:not-allowed;opacity:.5}.empty-state{color:#6b7280}.alert{align-items:center;border-radius:6px;display:flex;font-size:14px;gap:12px;margin:20px 0;padding:12px 16px}.alert-warning{background:#fef3c7;border:1px solid #fcd34d;color:#92400e}.bulk-actions{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.submit-section{display:flex;gap:12px;justify-content:center;margin:40px 0}.loading{padding:60px 20px}.days-selector{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));margin-top:8px}.stops-input{display:flex;gap:8px;margin-bottom:16px}.stops-input .form-group{flex:1 1;margin-bottom:0}.stops-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.stop-item{align-items:center;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:4px;display:flex;justify-content:space-between;padding:8px 12px}@media (max-width:768px){.action-grid,.filters-section,.form-row,.metrics-grid{grid-template-columns:1fr}.data-table{font-size:12px}.data-table td,.data-table th{padding:8px}.status-buttons{flex-direction:column}.status-btn{width:100%}.pagination{flex-direction:column;gap:8px}.pagination button{width:100%}}.text-success{align-items:center;color:#10b981;display:flex;gap:4px}.text-danger{color:#ef4444}.text-warning{color:#f59e0b}.text-muted{color:#9ca3af}.actions{display:flex;gap:8px}.modal-overlay{animation:modalOverlayIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0614108c}.modal{animation:modalIn .25s cubic-bezier(.16,1,.3,1);background-color:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-dropdown);max-height:90vh;max-width:500px;overflow-y:auto;padding:24px;width:90%}.modal-lg{max-width:700px}.modal-xl{max-width:900px}.modal-header{border-bottom:1px solid var(--border);margin-bottom:20px;padding-bottom:16px}.modal-title{color:var(--text-primary);font-size:20px;font-weight:600;margin:0}.modal-close-btn{border-radius:var(--radius-button);color:var(--text-secondary);transition:all .2s}.modal-close-btn:hover{background-color:var(--bg-alt);color:var(--text-primary)}.modal-body{margin-bottom:24px}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;padding-top:16px}.form-label{display:block;font-weight:500;margin-bottom:6px}.form-input,.form-label,.form-select{color:var(--text-primary);font-size:14px}.form-input,.form-select{background-color:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-input);padding:10px 12px;transition:border-color .2s,box-shadow .2s;width:100%}.form-input:focus,.form-select:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #064e3b1a;outline:none}.form-input::placeholder{color:var(--text-muted)}.form-input:disabled,.form-select:disabled{background-color:var(--bg-alt);color:var(--text-muted);cursor:not-allowed}.form-textarea{background-color:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-input);color:var(--text-primary);font-family:inherit;font-size:14px;min-height:100px;padding:10px 12px;resize:vertical;transition:border-color .2s,box-shadow .2s;width:100%}.form-textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #064e3b1a;outline:none}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.form-row.full{grid-template-columns:1fr}.btn{border-radius:var(--radius-button);gap:8px;justify-content:center;padding:10px 16px;transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background-color:var(--primary);color:var(--primary-fg)}.btn-primary:hover{background-color:var(--primary-hover);box-shadow:var(--shadow-hover)}.btn-primary:disabled{background-color:var(--border)}.btn-secondary{background-color:var(--bg-alt);color:var(--text-primary)}.btn-secondary:hover{background-color:var(--border)}.btn-danger{background-color:#dc26261a;color:#dc2626}.btn-danger:hover{background-color:#dc26262e}.form-error{color:#dc2626}.form-error,.form-help{font-size:12px;margin-top:4px}.form-help{color:var(--text-secondary)}.form-section{margin-bottom:24px}.form-section-title{border-bottom:1px solid var(--border);color:var(--text-primary);font-size:15px;font-weight:600;margin-bottom:12px;padding-bottom:8px}.checkbox-group{align-items:center;display:flex;gap:8px}.checkbox-input{cursor:pointer;height:18px;width:18px}.checkbox-label{color:var(--text-primary)}.loading-spinner{animation:spin .6s linear infinite;border:2px solid var(--border);border-radius:50%;border-top-color:var(--primary);display:inline-block;height:16px;width:16px}@media (max-width:640px){.modal{max-width:90%;padding:16px}.form-row{grid-template-columns:1fr}.modal-footer{flex-direction:column-reverse}.btn{width:100%}}.page{padding:24px}.page.hostel-page .page-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:32px}.page.hostel-page .page-header h1{color:var(--primary);font-size:28px;font-weight:600;margin:0}.page.hostel-page .page-header p{color:var(--text-secondary);font-size:14px;margin:0}.hostel-dashboard{padding:24px}.hostel-dashboard .page-header{margin-bottom:32px}.hostel-dashboard .page-header h1{color:var(--primary);font-size:28px;font-weight:600;margin-bottom:8px}.hostel-dashboard .page-header p{color:var(--text-secondary);font-size:14px}.page.hostel-page .stats-bar{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:24px}.page.hostel-page .stat{background:var(--bg-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-xs);padding:16px;text-align:center}.page.hostel-page .stat h3{color:var(--text-secondary);font-size:12px;font-weight:500;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.page.hostel-page .stat-value{color:var(--primary);font-size:24px;font-weight:600;margin:0}.hostel-dashboard .metrics-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:32px}.hostel-dashboard .metric-card{background:var(--bg-surface);border-left:4px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-xs);display:flex;gap:16px;padding:20px;transition:all .3s ease}.hostel-dashboard .metric-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.hostel-dashboard .metric-card.metric-primary{border-left-color:var(--primary)}.hostel-dashboard .metric-card.metric-success{border-left-color:#059669}.hostel-dashboard .metric-card.metric-warning{border-left-color:var(--accent)}.hostel-dashboard .metric-card.metric-danger{border-left-color:#dc2626}.hostel-dashboard .metric-card.metric-info{border-left-color:var(--secondary)}.hostel-dashboard .metric-card.metric-secondary{border-left-color:var(--border)}.hostel-dashboard .metric-icon{align-items:center;background:var(--bg-alt);border-radius:8px;color:var(--primary);display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.hostel-dashboard .metric-card.metric-success .metric-icon{background:#0596691a;color:#059669}.hostel-dashboard .metric-card.metric-warning .metric-icon{background:#d977061f;color:var(--accent)}.hostel-dashboard .metric-card.metric-danger .metric-icon{background:#dc26261a;color:#dc2626}.hostel-dashboard .metric-card.metric-info .metric-icon{background:#1d4ed81a;color:var(--secondary)}.hostel-dashboard .metric-card.metric-secondary .metric-icon{background:var(--bg-alt);color:var(--text-secondary)}.hostel-dashboard .metric-content{display:flex;flex:1 1;flex-direction:column;justify-content:center}.hostel-dashboard .metric-content h3{color:var(--text-secondary);font-size:12px;font-weight:500;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.hostel-dashboard .metric-value{color:var(--text-primary);font-size:24px;font-weight:600;margin:0 0 4px}.hostel-dashboard .metric-subtitle{color:var(--text-muted);font-size:12px;margin:0}.hostel-dashboard .dashboard-section{background:var(--bg-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-xs);margin-bottom:24px;padding:24px}.hostel-dashboard .dashboard-section h2{border-bottom:2px solid var(--bg-alt);color:var(--text-primary);font-size:18px;font-weight:600;margin:0 0 20px;padding-bottom:12px}.hostel-dashboard .quick-actions{grid-gap:12px;display:grid;gap:12px}@media (max-width:1200px){.hostel-dashboard .quick-actions{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.hostel-dashboard .quick-actions{grid-template-columns:1fr}}.hostel-dashboard .quick-action{align-items:center;background:var(--bg-default);border:1px solid var(--border);border-radius:var(--radius-card);color:var(--text-primary);cursor:pointer;display:flex;flex-direction:column;font-size:13px;font-weight:500;gap:8px;padding:16px 12px;text-align:center;transition:all .3s ease}.hostel-dashboard .quick-action:hover{background:var(--bg-alt);border-color:var(--primary);box-shadow:var(--shadow-hover);color:var(--primary);transform:translateY(-2px)}.hostel-dashboard .quick-action svg{color:currentColor}.hostel-dashboard .nav-links{grid-gap:12px;display:grid;gap:12px}.hostel-dashboard .nav-link{align-items:center;background:var(--bg-default);border:1px solid var(--border);border-radius:var(--radius-card);color:var(--text-primary);display:flex;font-weight:500;gap:12px;padding:16px;text-decoration:none;transition:all .3s ease}.hostel-dashboard .nav-link:hover{background:var(--bg-surface);border-color:var(--primary);box-shadow:var(--shadow-hover);color:var(--primary)}.hostel-dashboard .nav-link svg{color:currentColor}.hostel-dashboard .nav-link span{flex:1 1}.page.hostel-page .loading{align-items:center;display:flex;font-size:16px;justify-content:center;min-height:400px}.page.hostel-page .filters-bar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}.page.hostel-page .search-input{align-items:center;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-input);display:flex;flex:1 1;gap:8px;min-width:250px;padding:8px 12px}.page.hostel-page .search-input input{border:none;font-family:inherit;font-size:14px;outline:none;width:100%}.page.hostel-page .filter-select{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-input);color:var(--text-primary);cursor:pointer;font-family:inherit;font-size:14px;padding:8px 12px}.page.hostel-page .filter-select:hover{border-color:var(--primary)}.page.hostel-page .form-container{background:var(--bg-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-xs);margin-bottom:24px;padding:24px}.page.hostel-page .form-card{max-width:600px}.page.hostel-page .form-group{margin-bottom:16px}.page.hostel-page .form-group label{color:var(--text-primary);display:block;font-size:14px;font-weight:500;margin-bottom:6px}.page.hostel-page .form-group input,.page.hostel-page .form-group select,.page.hostel-page .form-group textarea{border:1px solid var(--border);border-radius:var(--radius-input);color:var(--text-primary);font-family:inherit;font-size:14px;padding:10px 12px;width:100%}.page.hostel-page .form-group input:focus,.page.hostel-page .form-group select:focus,.page.hostel-page .form-group textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #064e3b1a;outline:none}.page.hostel-page .form-group textarea{min-height:100px;resize:vertical}.page.hostel-page .form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.page.hostel-page .form-group .form-select{display:block;margin-bottom:0;width:100%}.page.hostel-page .form-group .form-select-control{-webkit-appearance:none;appearance:none;background:var(--bg-surface)!important;border:1px solid var(--border)!important;border-radius:var(--radius-input)!important;color:var(--text-primary)!important;display:block!important;font-family:inherit!important;font-size:14px!important;padding:10px 12px!important;width:100%!important}.page.hostel-page .form-group .form-select-control option{background:var(--bg-surface);color:var(--text-primary)}.page.hostel-page .form-group .form-select-label{color:var(--text-primary);display:block;font-size:14px;font-weight:500;margin-bottom:6px}.page.hostel-page .checkbox-group{display:flex;flex-direction:column;gap:8px}.page.hostel-page .checkbox-group label{align-items:center;display:flex;font-weight:400;gap:8px;margin:0}.page.hostel-page .checkbox-group input[type=checkbox]{margin:0;width:auto}.page.hostel-page .form-actions{display:flex;gap:12px;margin-top:24px}.page.hostel-page .btn{display:flex;font-family:inherit;font-size:14px;padding:10px 16px}.page.hostel-page .btn-icon{color:var(--primary);display:flex;padding:8px;transition:all .3s ease}.page.hostel-page .btn-icon:hover{color:var(--primary-hover)}.page.hostel-page .btn-icon.btn-danger:hover{color:#dc2626}.page.hostel-page .table-container{background:var(--bg-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-xs);overflow:hidden}.page.hostel-page .data-table{border-collapse:collapse;width:100%}.page.hostel-page .data-table thead{background:var(--bg-alt);border-bottom:1px solid var(--border)}.page.hostel-page .data-table th{color:var(--text-secondary);font-size:13px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase}.page.hostel-page .data-table td{border-bottom:1px solid var(--border);color:var(--text-primary);font-size:14px;padding:12px 16px}.page.hostel-page .data-table tbody tr:hover{background:var(--bg-default)}.page.hostel-page .data-table .actions{display:flex;gap:8px}.page.hostel-page .data-table .description-cell{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page.hostel-page .text-capitalize{text-transform:capitalize}.page.hostel-page .badge-info{background:#1d4ed81a;color:var(--secondary)}.page.hostel-page .empty-state p{font-size:16px;margin:0}@media (max-width:768px){.hostel-dashboard{padding:16px}.hostel-dashboard .metrics-grid{grid-template-columns:1fr}.hostel-dashboard .quick-actions{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.hostel-dashboard .metric-card{align-items:center;flex-direction:column;text-align:center}.hostel-dashboard .metric-icon{height:40px;width:40px}.hostel-dashboard .metric-content{align-items:center}.hostel-dashboard .page-header h1{font-size:20px}}.page.hostel-page .modal-overlay{align-items:center;animation:modalOverlayIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0614108c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.page.hostel-page .modal{animation:modalIn .25s cubic-bezier(.16,1,.3,1);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-dropdown);display:flex;flex-direction:column;max-height:95vh;max-width:600px;width:90%}.page.hostel-page .modal-header{align-items:center;border-bottom:1px solid var(--border);display:flex;flex-shrink:0;justify-content:space-between;padding:24px 32px}.page.hostel-page .modal-header h2{color:var(--primary);flex-grow:1;font-size:20px;margin:0}.page.hostel-page .btn-close{align-items:center;background:none;border:none;border-radius:var(--radius-button);color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;font-size:28px;height:32px;justify-content:center;margin-left:16px;padding:0;transition:all .2s ease;width:32px}.page.hostel-page .btn-close:hover{background:var(--bg-alt);color:var(--text-primary)}.page.hostel-page .modal h2{color:var(--primary);font-size:20px;margin-bottom:20px}.page.hostel-page .modal form{display:flex;flex:1 1;flex-direction:column;overflow-y:auto;padding:32px}.page.hostel-page .modal .form-group{margin-bottom:16px}.page.hostel-page .tabs-container{border-bottom:2px solid var(--border);display:flex;gap:8px;margin-bottom:24px}.page.hostel-page .tab{background:none;border:none;border-bottom:3px solid #0000;color:var(--text-secondary);cursor:pointer;font-size:14px;font-weight:500;margin-bottom:-2px;padding:12px 20px;transition:all .3s ease}.page.hostel-page .tab:hover{background:var(--bg-alt);color:var(--primary)}.page.hostel-page .tab.active{border-bottom-color:var(--primary);color:var(--primary)}.page.hostel-page .action-bar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.page.hostel-page .action-bar .btn{flex-shrink:0}.page.hostel-page .action-bar .search-input{flex:1 1;min-width:250px}.page.hostel-page .action-bar .filter-select{flex-shrink:0;min-width:150px}.page.hostel-page .fee-summary{background:var(--bg-default);border-left:4px solid var(--primary);border-radius:var(--radius-input);margin-bottom:20px;padding:16px}.page.hostel-page .fee-summary p{font-size:14px;margin:8px 0}.page.hostel-page .fee-summary strong{color:var(--text-primary)}.page.hostel-page .info-message{background:#1d4ed814;border-left:4px solid var(--secondary);border-radius:var(--radius-input);color:var(--secondary);font-size:13px;margin-bottom:16px;padding:12px}.page.hostel-page .bulk-billing-container{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-dropdown);max-height:95vh;max-width:600px;width:90%}.page.hostel-page .action-buttons{display:flex;gap:8px}.page.hostel-page .btn-icon{align-items:center;background:none;border:none;border-radius:var(--radius-button);color:var(--text-secondary);cursor:pointer;display:inline-flex;justify-content:center;padding:6px 8px;transition:all .2s ease}.page.hostel-page .btn-icon:hover{background:var(--bg-alt)}.page.hostel-page .btn-icon.btn-success{color:#059669}.page.hostel-page .btn-icon.btn-success:hover{background:#0596691a}.page.hostel-page .btn-icon.btn-danger{color:#dc2626}.page.hostel-page .btn-icon.btn-danger:hover{background:#dc26261a}.page.hostel-page .badge{border-radius:var(--radius-button);display:inline-block;font-size:12px;font-weight:500;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.page.hostel-page .badge-success{background:#0596691a;color:#059669}.page.hostel-page .badge-warning{background:#d977061f;color:var(--accent)}.page.hostel-page .badge-danger{background:#dc26261a;color:#dc2626}.page.hostel-page .badge-secondary{background:var(--bg-alt);color:var(--text-secondary)}.page.hostel-page .btn{align-items:center;border:none;border-radius:var(--radius-button);cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:8px;padding:8px 16px;transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease}.page.hostel-page .btn:hover{transform:translateY(-1px)}.page.hostel-page .btn-primary{background:var(--primary);color:var(--primary-fg)}.page.hostel-page .btn-primary:hover{background:var(--primary-hover);box-shadow:var(--shadow-hover)}.page.hostel-page .btn-secondary{background:var(--bg-alt);color:var(--text-primary)}.page.hostel-page .btn-secondary:hover{background:var(--border)}.page.hostel-page .btn-success{background:#0596691a;color:#059669}.page.hostel-page .btn-success:hover{background:#0596692e}.page.hostel-page .btn-danger{background:#dc26261a;color:#dc2626}.page.hostel-page .btn-danger:hover{background:#dc26262e}.page.hostel-page .empty-state{color:var(--text-muted);padding:48px 24px;text-align:center}.page.hostel-page .empty-state p{font-size:14px}.page.hostel-page .loading{color:var(--text-secondary);font-size:14px;padding:48px 24px;text-align:center}@media (max-width:768px){.page .form-row{grid-template-columns:1fr}.page .tabs-container{gap:0;margin-left:-24px;margin-right:-24px;padding:0 24px}.page .action-bar{flex-direction:column}.page .action-bar .search-input{min-width:auto;width:100%}.page .action-bar .filter-select{width:100%}.page .modal{border-radius:var(--radius-card) var(--radius-card) 0 0;padding:24px}}.cce-wrapper{border:1px solid #e5e5e0;border:1px solid var(--border-default,#e5e5e0);border-radius:8px;border-radius:var(--radius-input,8px);overflow:hidden}.cce-header{align-items:center;background:#f3f4f1;background:var(--bg-alt,#f3f4f1);border-bottom:1px solid #e5e5e0;border-bottom:1px solid var(--border-default,#e5e5e0);display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;padding:8px 10px}.cce-mode-tabs{display:flex;gap:4px}.cce-mode-tab{align-items:center;background:#0000;border:1px solid #0000;border-radius:6px;color:#52525b;color:var(--text-secondary,#52525b);cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:6px;padding:5px 10px}.cce-mode-tab.active{border-color:#e5e5e0;border-color:var(--border-default,#e5e5e0);color:#064e3b;color:var(--primary,#064e3b)}.cce-mode-tab.active,.cce-preview-toggle{background:#fff;background:var(--bg-surface,#fff)}.cce-preview-toggle{align-items:center;border:1px solid #e5e5e0;border:1px solid var(--border-default,#e5e5e0);border-radius:6px;color:#52525b;color:var(--text-secondary,#52525b);cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:6px;padding:5px 10px}.cce-preview-toggle:hover{color:#064e3b;color:var(--primary,#064e3b)}.cce-placeholders{align-items:center;background:#fff;background:var(--bg-surface,#fff);border-bottom:1px solid #e5e5e0;border-bottom:1px solid var(--border-default,#e5e5e0);display:flex;flex-wrap:wrap;gap:6px;padding:8px 10px}.cce-placeholders-label{align-items:center;color:#a1a1aa;color:var(--text-muted,#a1a1aa);display:flex;font-size:12px;gap:4px;margin-right:4px}.cce-placeholder-chip{background:#f3f4f1;background:var(--bg-alt,#f3f4f1);border:1px solid #e5e5e0;border:1px solid var(--border-default,#e5e5e0);border-radius:4px;color:#1a1a1a;color:var(--text-primary,#1a1a1a);cursor:pointer;font-family:JetBrains Mono,monospace;font-size:11px;padding:3px 7px}.cce-placeholder-chip:hover{border-color:#064e3b;border-color:var(--primary,#064e3b);color:#064e3b;color:var(--primary,#064e3b)}.cce-body{display:flex}.cce-body.with-preview .cce-editor-pane{border-right:1px solid #e5e5e0;border-right:1px solid var(--border-default,#e5e5e0);width:50%}.cce-editor-pane{min-width:0;width:100%}.cce-toolbar{align-items:center;background:#fff;background:var(--bg-surface,#fff);border-bottom:1px solid #e5e5e0;border-bottom:1px solid var(--border-default,#e5e5e0);display:flex;flex-wrap:wrap;gap:2px;padding:6px 8px}.cce-toolbar-sep{background:#e5e5e0;background:var(--border-default,#e5e5e0);height:20px;margin:0 4px;width:1px}.cce-toolbar-btn{align-items:center;background:#0000;border:1px solid #0000;border-radius:5px;color:#52525b;color:var(--text-secondary,#52525b);cursor:pointer;display:flex;font-size:12px;font-weight:700;height:26px;justify-content:center;min-width:26px;padding:0 6px}.cce-toolbar-btn.active,.cce-toolbar-btn:hover:not(:disabled){background:#f3f4f1;background:var(--bg-alt,#f3f4f1)}.cce-toolbar-btn.active{border-color:#064e3b;border-color:var(--primary,#064e3b);color:#064e3b;color:var(--primary,#064e3b)}.cce-toolbar-btn:disabled{cursor:not-allowed;opacity:.5}.cce-editor-content{background:#fff;background:var(--bg-surface,#fff);max-height:420px;min-height:300px;overflow-y:auto;padding:14px 16px}.cce-editor-content .ProseMirror{color:#1a1a1a;color:var(--text-primary,#1a1a1a);font-size:14px;line-height:1.6;min-height:280px;outline:none}.cce-editor-content .ProseMirror p.is-editor-empty:first-child:before{color:#a1a1aa;color:var(--text-muted,#a1a1aa);content:attr(data-placeholder);float:left;height:0;pointer-events:none}.cce-source-textarea{background:#fff;background:var(--bg-surface,#fff);border:none;color:#1a1a1a;color:var(--text-primary,#1a1a1a);font-family:JetBrains Mono,monospace;font-size:12px;max-height:420px;min-height:300px;padding:12px 14px;resize:vertical;width:100%}.cce-source-textarea:focus{outline:none}.cce-preview-pane{background:#f3f4f1;background:var(--bg-alt,#f3f4f1);display:flex;flex-direction:column;width:50%}.cce-preview-label{border-bottom:1px solid #e5e5e0;border-bottom:1px solid var(--border-default,#e5e5e0);color:#a1a1aa;color:var(--text-muted,#a1a1aa);font-size:11px;padding:6px 10px}.cce-preview-frame{background:#fff;border:none;flex:1 1;min-height:300px;width:100%}@media (max-width:720px){.cce-body.with-preview{flex-direction:column}.cce-body.with-preview .cce-editor-pane{border-bottom:1px solid #e5e5e0;border-bottom:1px solid var(--border-default,#e5e5e0);border-right:none;width:100%}.cce-preview-pane{width:100%}}.exam-office-page{max-width:1400px}.exam-office-page .page-header{align-items:center;display:flex;gap:2rem;justify-content:space-between;margin-bottom:1.5rem}.exam-office-page .page-header h1{font-size:2rem;font-weight:700;margin:0 0 .5rem}.exam-office-page .page-header p{color:var(--text-secondary);margin:0}.exam-office-page .eop-subtabs,.exam-office-page .eop-tabs{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}.exam-office-page .eop-subtabs{margin-bottom:1rem}.exam-office-page .eop-panel{display:flex;flex-direction:column;gap:1.25rem}.exam-office-page .eop-panel-footer{display:flex;justify-content:flex-end;padding:1rem}.exam-office-page .eop-picker-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:1rem}.exam-office-page .eop-picker-row .form-group{flex:1 1;margin-bottom:0;min-width:200px}.exam-office-page .eop-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);display:flex;flex-direction:column;gap:1rem;padding:1.5rem}.exam-office-page .eop-hint{color:var(--text-secondary);font-size:.8125rem;margin:0 0 .75rem}.exam-office-page .eop-warn{color:#b45309}.exam-office-page .eop-truncate{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exam-office-page .eop-score-input{width:90px}.exam-office-page .eop-row-actions{display:flex;flex-wrap:wrap;gap:.5rem}.exam-office-page .filters{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.exam-office-page .filter-select{background-color:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-input);color:var(--text-primary);cursor:pointer;font-size:.875rem;padding:.75rem 1rem}.exam-office-page .filter-select:focus,.exam-office-page .filter-select:hover{border-color:var(--border-focus);outline:none}.exam-office-page .loading{align-items:center;color:var(--text-secondary);display:flex;font-size:1rem;gap:1rem;justify-content:center;padding:3rem}.exam-office-page .empty-state{color:var(--text-secondary);padding:3rem;text-align:center}.exam-office-page .empty{color:var(--text-muted);font-style:italic}.exam-office-page .eop-table{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);overflow:hidden;overflow-x:auto}.exam-office-page .eop-table table{border-collapse:collapse;width:100%}.exam-office-page .eop-table th{background-color:var(--bg-alt);color:var(--text-secondary);font-weight:600;text-align:left;white-space:nowrap}.exam-office-page .eop-table td,.exam-office-page .eop-table th{border-bottom:1px solid var(--border);font-size:.875rem;padding:1rem}.exam-office-page .eop-table tr:hover{background-color:var(--bg-alt)}.exam-office-page .eop-table input[type=number]{border:1px solid var(--border);border-radius:var(--radius-input);font-size:.875rem;padding:.4rem .6rem}.exam-office-page .badge{border-radius:var(--radius-button);color:#fff;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase}.exam-office-page .modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0614108c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.exam-office-page .modal-content{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-dropdown);max-height:90vh;max-width:560px;overflow-y:auto;padding:2rem;width:90vw}.exam-office-page .modal-content.large{max-width:820px}.exam-office-page .modal-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.exam-office-page .modal-header h2{font-size:1.375rem;margin:0}.exam-office-page .btn-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:2rem;line-height:1;padding:0}.exam-office-page .btn-close:hover{color:var(--text-primary)}.exam-office-page .form-group{margin-bottom:1.25rem}.exam-office-page .form-group label{color:var(--text-primary);display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.exam-office-page .form-group input,.exam-office-page .form-group select,.exam-office-page .form-group textarea{border:1px solid var(--border);border-radius:var(--radius-input);font-family:inherit;font-size:.875rem;padding:.7rem;width:100%}.exam-office-page .form-group input:focus,.exam-office-page .form-group select:focus,.exam-office-page .form-group textarea:focus{border-color:var(--border-focus);outline:none}.exam-office-page .form-group textarea{resize:vertical}.exam-office-page .form-actions{border-top:1px solid var(--border);display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1rem}.exam-office-page .btn{align-items:center;border:none;border-radius:var(--radius-button);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.7rem 1.4rem;transition:transform .15s ease,background-color .15s ease}.exam-office-page .btn:hover:not(:disabled){transform:translateY(-1px)}.exam-office-page .btn:disabled{cursor:not-allowed;opacity:.5}.exam-office-page .btn-primary{background-color:var(--primary);color:var(--primary-fg)}.exam-office-page .btn-primary:hover:not(:disabled){background-color:var(--primary-hover)}.exam-office-page .btn-secondary{background-color:var(--bg-alt);color:var(--text-primary)}.exam-office-page .btn-secondary:hover:not(:disabled){background-color:var(--border)}.exam-office-page .btn-success{background-color:#0596691f;color:#059669}.exam-office-page .btn-success:hover:not(:disabled){background-color:#05966933}.exam-office-page .btn-danger{background-color:#dc26261f;color:#dc2626}.exam-office-page .btn-danger:hover:not(:disabled){background-color:#dc262633}.exam-office-page .btn-sm{font-size:.75rem;padding:.45rem .9rem}.exam-office-page .ticket-info-grid{grid-gap:1.25rem;background-color:var(--bg-default);border-radius:var(--radius-card);display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:1rem;padding:1.25rem}.exam-office-page .ticket-info-grid>div{display:flex;flex-direction:column;gap:.4rem}.exam-office-page .ticket-info-grid strong{color:var(--text-secondary);font-size:.8125rem}.exam-office-page .section{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.25rem}.exam-office-page .section h3{font-size:1rem;margin:0}.exam-office-page .section p{color:var(--text-secondary);line-height:1.6;margin:0}.exam-office-page .section.resolution{background-color:#0596691f;border-radius:var(--radius-input);padding:1rem}@media (max-width:768px){.exam-office-page .page-header{align-items:flex-start;flex-direction:column}.exam-office-page .modal-content{padding:1.25rem}.exam-office-page .ticket-info-grid{grid-template-columns:repeat(2,1fr)}}.conversation-list{background:#fff;display:flex;flex-direction:column;height:100%}.conversation-list-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;flex-shrink:0;padding:1rem;position:relative}.conversation-search{border:1px solid #e5e7eb;border-radius:.5rem;font-size:.875rem;padding:.75rem 2.5rem .75rem .75rem;transition:border-color .2s;width:100%}.conversation-search:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.clear-search-btn{align-items:center;background:none;border:none;color:#6b7280;cursor:pointer;display:flex;font-size:1.25rem;height:32px;justify-content:center;padding:0;position:absolute;right:1rem;transition:color .2s;width:32px}.clear-search-btn:hover{color:#1f2937}.conversation-items{flex:1 1;min-height:0;overflow-y:auto}.conversation-empty,.conversation-loading{align-items:center;color:#9ca3af;display:flex;flex-direction:column;justify-content:center;padding:2rem;text-align:center}.mini-spinner{animation:spin 1s linear infinite;border:3px solid #e5e7eb;height:24px;margin-bottom:.5rem;width:24px}.conversation-item{border-bottom:1px solid #f3f4f6;cursor:pointer;display:flex;gap:.75rem;padding:1rem;transition:background-color .2s}.conversation-item:hover{background:#f9fafb}.conversation-item.active{background:#f0f4ff;border-left:4px solid #667eea}.conversation-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1.25rem;font-weight:600;height:48px;justify-content:center;width:48px}.conversation-info{flex:1 1;min-width:0}.conversation-header{margin-bottom:.25rem}.conversation-name{color:#1f2937;font-size:.875rem;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unread-badge{align-items:center;background:#667eea;border-radius:10px;color:#fff;display:inline-flex;flex-shrink:0;font-size:.75rem;font-weight:600;height:20px;justify-content:center;min-width:20px;padding:0 .5rem}.conversation-preview{color:#6b7280;font-size:.75rem;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-time{color:#9ca3af;font-size:.7rem;margin:.25rem 0 0}.conversation-load-more{border-top:1px solid #e5e7eb;flex-shrink:0;padding:1rem;text-align:center}.load-more-btn{background:#fff;border:1px solid #d1d5db;border-radius:.5rem;color:#374151;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem;transition:all .2s;width:100%}.load-more-btn:hover{background:#f9fafb;border-color:#667eea;color:#667eea}.load-more-btn:active{transform:scale(.98)}@media (max-width:768px){.conversation-item{gap:.5rem;padding:.75rem}.conversation-avatar{font-size:1rem;height:40px;width:40px}.conversation-name{font-size:.75rem}.conversation-preview{font-size:.7rem}}mark{background-color:#fef3c7;border-radius:2px;color:inherit;font-weight:700;padding:0 2px}.conversation-name mark,.conversation-preview mark{background-color:#fef3c7;color:#1f2937}.chat-window{background:#f8f9fa;display:flex;flex-direction:column;height:100%}.message-thread{display:flex;flex:1 1;flex-direction:column;gap:1rem;min-height:0;overflow-y:auto;padding:1.5rem}.thread-empty,.thread-loading{align-items:center;color:#9ca3af;display:flex;flex-direction:column;height:100%;justify-content:center}.thread-empty{background:#fff;border-radius:.5rem;margin:auto}.message-groups{display:flex;flex-direction:column;gap:1rem}.message-group{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;overflow:hidden;transition:box-shadow .2s}.message-group:hover{box-shadow:0 4px 12px #00000014}.thread-header{align-items:center;background:linear-gradient(135deg,#f8f9fa,#f3f4f6);border-bottom:1px solid #e5e7eb;cursor:pointer;display:flex;justify-content:space-between;padding:1rem;transition:background-color .2s;-webkit-user-select:none;user-select:none}.thread-header:hover{background:linear-gradient(135deg,#f3f4f6,#ececf1)}.thread-info{flex:1 1;gap:.75rem;min-width:0}.student-badge,.thread-info{align-items:center;display:flex}.student-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;flex-shrink:0;font-size:1rem;font-weight:700;height:40px;justify-content:center;width:40px}.thread-details{display:flex;flex-direction:column;gap:.25rem;min-width:0}.student-name{font-size:.9375rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-count{color:#6b7280;font-size:.75rem}.thread-meta{align-items:center;display:flex;flex-shrink:0;gap:.75rem;margin-left:1rem}.thread-unread-badge{align-items:center;background:#667eea;border-radius:12px;color:#fff;display:inline-flex;font-size:.75rem;font-weight:700;height:24px;justify-content:center;min-width:24px;padding:0 .5rem}.thread-type-indicators{display:flex;gap:.25rem}.type-indicator{align-items:center;border-radius:50%;color:#fff;display:inline-flex;font-size:.7rem;font-weight:700;height:24px;justify-content:center;width:24px}.type-indicator.type-grade{background:#3b82f6}.type-indicator.type-attendance{background:#f59e0b}.type-indicator.type-behavior{background:#ec4899}.type-indicator.type-fee{background:#10b981}.type-indicator.type-urgent{background:#ef4444}.thread-toggle{color:#667eea;font-size:.875rem;transition:transform .2s}.thread-messages{background:#fafafa;display:flex;flex-direction:column;gap:.75rem;padding:1rem}.message{animation:messageSlide .3s ease-out;display:flex;gap:.75rem}@keyframes messageSlide{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-sent{justify-content:flex-end}.message-received{justify-content:flex-start}.message-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1rem;font-weight:600;height:36px;justify-content:center;width:36px}.message-sent .message-avatar{background:linear-gradient(135deg,#f59e0b,#d97706);order:2}.message-content{display:flex;flex-direction:column;gap:.5rem;max-width:70%}.message-received .message-content{order:1}.message-header{align-items:baseline;display:flex;font-size:.75rem;gap:.5rem}.message-sender{color:#374151;font-weight:600}.message-time{color:#9ca3af}.message-type-badge{font-size:.625rem;padding:.25rem .5rem;width:-webkit-fit-content;width:fit-content}.message-text{background:#fff;border-radius:.5rem;color:#1f2937;line-height:1.5;margin:0;padding:.75rem 1rem;word-break:break-word}.message-sent .message-text{background:#667eea;color:#fff}.message-attachments{display:flex;flex-direction:column;gap:.375rem}.attachment-chip{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:.375rem;color:#374151;cursor:pointer;display:inline-flex;font-size:.75rem;gap:.375rem;max-width:100%;padding:.375rem .625rem;text-align:left;transition:all .2s}.attachment-chip:hover{background:#f8f9ff;border-color:#667eea;color:#667eea}.attachment-chip-name{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-sent .attachment-chip{background:#ffffff26;border-color:#fff6;color:#fff}.message-sent .attachment-chip:hover{background:#ffffff47;border-color:#fff;color:#fff}.message-read-indicator{color:#667eea;font-size:.75rem;text-align:right}.message-thread::-webkit-scrollbar{width:8px}.message-thread::-webkit-scrollbar-track{background:#0000}.message-thread::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px;-webkit-transition:background .2s;transition:background .2s}.message-thread::-webkit-scrollbar-thumb:hover{background:#9ca3af}@media (max-width:768px){.message{flex-wrap:wrap}.message-content{max-width:100%}.message-input-area{padding:.75rem}.message-compose{flex-wrap:wrap}.message-input,.send-button{width:100%}.thread-header{padding:.75rem}.thread-info{gap:.5rem}.student-badge{height:36px;width:36px}.student-badge,.student-name{font-size:.875rem}.thread-meta{gap:.5rem;margin-left:.5rem}.input-options{gap:.375rem}.message-type-select,.student-select{font-size:.8125rem;min-width:120px;padding:.375rem}}@media (max-width:640px){.message-thread{gap:.75rem;padding:1rem}.message-content{max-width:85%}.message-text{font-size:.875rem;padding:.5rem .75rem}.message-input{font-size:1rem}.message-groups{gap:.75rem}.thread-header{align-items:flex-start;flex-direction:column;padding:.625rem}.thread-info{margin-bottom:.5rem;width:100%}.thread-meta{justify-content:space-between;margin-left:0;width:100%}.input-options{flex-direction:column;gap:.375rem}.message-type-select,.student-select{min-width:0;min-width:auto;width:100%}.thread-messages{gap:.5rem;padding:.75rem}}.message-input-wrapper{background:#fff;border-top:1px solid #e5e7eb;display:flex;flex-direction:column;gap:.75rem;padding:1rem}.input-options-row{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.input-options-group{display:flex;flex:1 1;gap:.5rem;min-width:0}.input-select{background:#fff;border:1px solid #e5e7eb;border-radius:.375rem;color:#374151;cursor:pointer;font-family:inherit;font-size:.875rem;padding:.5rem .75rem;transition:all .2s}.input-select:focus,.input-select:hover{border-color:#667eea}.input-select:focus{box-shadow:0 0 0 3px #667eea1a;outline:none}.input-select:disabled{background:#f3f4f6;cursor:not-allowed;opacity:.6}.message-type-select,.student-select{flex:0 1 auto;min-width:140px}.input-actions-group{display:flex;flex-shrink:0;gap:.5rem}.icon-button{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:.375rem;color:#6b7280;cursor:pointer;display:flex;font-size:1.125rem;height:36px;justify-content:center;padding:0;transition:all .2s;width:36px}.icon-button:hover:not(:disabled){background:#f8f9ff;border-color:#667eea;color:#667eea}.icon-button:disabled{cursor:not-allowed;opacity:.5}.attachment-button,.emoji-button{font-size:1rem}.selected-attachment-row{display:flex;flex-wrap:wrap}.selected-attachment-chip{align-items:center;background:#eef2ff;border:1px solid #c7d2fe;border-radius:999px;color:#3730a3;display:inline-flex;font-size:.75rem;gap:.375rem;max-width:100%;padding:.25rem .5rem .25rem .625rem}.selected-attachment-name{font-weight:600;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-attachment-size{color:#6366f1;opacity:.8;white-space:nowrap}.selected-attachment-remove{align-items:center;background:#6366f126;border:none;border-radius:50%;color:#3730a3;cursor:pointer;display:inline-flex;flex-shrink:0;height:18px;justify-content:center;padding:0;width:18px}.selected-attachment-remove:hover:not(:disabled){background:#6366f14d}.selected-attachment-remove:disabled{cursor:not-allowed;opacity:.5}.message-composition-area{display:flex;flex-direction:column;gap:.5rem;position:relative}.message-textarea{border:1px solid #e5e7eb;border-radius:.5rem;color:#1f2937;flex:1 1;font-family:inherit;font-size:.875rem;font-weight:400;line-height:1.5;padding:.75rem;resize:none;transition:all .2s}.message-textarea::placeholder{color:#9ca3af}.message-textarea:hover{border-color:#d1d5db}.message-textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.message-textarea:disabled{background:#f3f4f6;cursor:not-allowed;opacity:.6}.char-counter{align-items:baseline;color:#9ca3af;display:flex;font-size:.75rem;gap:.25rem;padding:0 .5rem;text-align:right;transition:color .2s}.char-counter.warning{color:#f59e0b;font-weight:600}.char-count{color:#667eea;font-weight:600}.char-counter.warning .char-count{color:#d97706}.char-max{opacity:.7}.input-footer-row{gap:1rem;justify-content:space-between}.input-footer-row,.input-info{align-items:center;display:flex}.input-info{flex:1 1;flex-wrap:wrap;gap:.5rem;min-width:0}.selected-student-badge{align-items:center;background:#ecfdf5;border:1px solid #86efac;color:#166534;display:inline-flex;font-weight:500;gap:.25rem}.message-type-badge,.selected-student-badge{border-radius:.375rem;font-size:.75rem;padding:.25rem .75rem;white-space:nowrap}.message-type-badge{display:inline-block;font-weight:600;text-transform:uppercase}.message-type-general{background:#f3f4f6;color:#374151}.message-type-grade{background:#dbeafe;color:#0c4a6e}.message-type-attendance{background:#fef3c7;color:#78350f}.message-type-behavior{background:#fce7f3;color:#831843}.message-type-fee{background:#dcfce7;color:#14532d}.message-type-urgent{background:#fee2e2;color:#7f1d1d}.send-btn{align-items:center;background:#667eea;border:none;border-radius:.5rem;color:#fff;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:.875rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s;white-space:nowrap}.send-btn:hover:not(:disabled){background:#5568d3;box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}.send-btn:active:not(:disabled){transform:translateY(0)}.send-btn:disabled{background:#d1d5db;cursor:not-allowed;opacity:.6}.send-icon{display:inline-block;margin-left:.25rem}.spinner-dot{animation:pulse 1.5s ease-in-out infinite;background:currentColor;border-radius:50%;display:inline-block;height:4px;width:4px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.input-hint{align-items:center;animation:slideDown .2s ease-out;background:#fef3c7;border:1px solid #fcd34d;border-radius:.375rem;color:#78350f;display:flex;font-size:.8125rem;gap:.5rem;padding:.5rem .75rem}.input-hint kbd{background:#fff;border:1px solid #d97706;border-radius:.25rem;color:#b45309;display:inline-block;font-family:monospace;font-weight:600;padding:.125rem .375rem}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.message-input-wrapper{gap:.625rem;padding:.75rem}.input-options-row{gap:.5rem}.input-options-group{gap:.375rem}.input-select{font-size:.8125rem;min-width:110px;padding:.375rem .5rem}.message-textarea{rows:3;font-size:.8125rem}.input-footer-row{gap:.75rem}.send-btn{font-size:.8125rem;padding:.625rem 1.25rem}.input-hint{font-size:.75rem;gap:.375rem}}@media (max-width:640px){.message-input-wrapper{padding:.625rem}.input-options-row{flex-direction:column}.input-options-group{width:100%}.input-select{min-width:0;min-width:auto;width:100%}.message-textarea{font-size:1rem;width:100%}.input-footer-row{flex-direction:column;gap:.5rem}.input-info{justify-content:flex-start;width:100%}.send-btn{justify-content:center;width:100%}.input-actions-group{gap:.5rem;width:100%}.icon-button{flex:1 1}}.parent-teacher-chat{background:#f8f9fa;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;height:100vh}.chat-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 8px #0000001a;color:#fff;display:flex;justify-content:space-between;padding:1.5rem}.chat-header-content{flex:1 1}.chat-title{font-size:1.875rem;font-weight:700;line-height:1.2;margin:0}.chat-subtitle{font-size:.875rem;margin:.5rem 0 0;opacity:.9}.chat-new-message-btn{background:#fff;border:none;border-radius:.5rem;color:#667eea;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s;white-space:nowrap}.chat-new-message-btn:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.chat-new-message-btn:active{transform:translateY(0)}.chat-alert{align-items:center;animation:slideIn .3s ease-out;border-radius:.5rem;display:flex;justify-content:space-between;margin:1rem 1rem 0;padding:1rem 1.5rem}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.alert-error{background:#fee;border-left:4px solid #ef4444;color:#991b1b}.alert-success{background:#efe;border-left:4px solid #22c55e;color:#166534}.alert-close{background:none;border:none;color:inherit;cursor:pointer;font-size:1.5rem;opacity:.7;transition:opacity .2s}.alert-close:hover{opacity:1}.chat-container{background:#e5e7eb;display:flex;flex:1 1;gap:1px;overflow:hidden}.chat-sidebar{background:#fff;border-right:1px solid #e5e7eb;flex-shrink:0;overflow-y:auto;width:320px}.chat-content{background:#fff;display:flex;flex:1 1;flex-direction:column;overflow:hidden}.chat-error-container,.chat-loading-container{align-items:center;background:#f8f9fa;color:#6b7280;display:flex;flex-direction:column;height:100vh;justify-content:center}.chat-spinner{animation:spin 1s linear infinite;border:4px solid #e5e7eb;border-top-color:#667eea;height:40px;margin-bottom:1rem;width:40px}.chat-error-container p{font-size:1.125rem;margin:0}.chat-empty-state{align-items:center;color:#6b7280;display:flex;flex-direction:column;height:100%;justify-content:center;padding:2rem;text-align:center}.empty-state-icon{font-size:3rem;margin-bottom:1rem}.chat-empty-state h2{color:#374151;font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.chat-empty-state p{color:#9ca3af;margin:0 0 1.5rem}.chat-empty-action-btn{background:#667eea;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.chat-empty-action-btn:hover{background:#5568d3;box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}.chat-empty-action-btn:active{transform:translateY(0)}@media (max-width:768px){.chat-container{flex-direction:column}.chat-sidebar{border-bottom:1px solid #e5e7eb;border-right:none;height:40%;min-height:200px;width:100%}.chat-header{align-items:flex-start;flex-direction:column;gap:1rem}.chat-new-message-btn{width:100%}.chat-title{font-size:1.5rem}.chat-subtitle{font-size:.75rem}}@media (max-width:640px){.chat-sidebar{display:none}.chat-header{padding:1rem}.chat-title{font-size:1.25rem}.chat-new-message-btn{font-size:.875rem;padding:.5rem 1rem}.empty-state-icon{font-size:2rem;margin-bottom:.5rem}.chat-empty-state h2{font-size:1.25rem}}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.flex{display:flex}.flex-col{flex-direction:column}.flex-1{flex:1 1}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.p-4{padding:1rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.bg-white{background:#fff}.bg-gray-50{background:#f9fafb}.border-b{border-bottom:1px solid #e5e7eb}.rounded{border-radius:.375rem}.text-sm{font-size:.875rem}.text-gray-600{color:#4b5563}.font-semibold{font-weight:600}.conversation-header{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px #0000000d;display:flex;justify-content:space-between;padding:1rem 1.5rem}.conversation-header-left{flex:1 1;min-width:0}.conversation-title{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-change-btn{background:#3b82f6;border:none;border-radius:.375rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;margin-left:1rem;padding:.5rem 1rem;transition:all .2s ease;white-space:nowrap}.conversation-change-btn:hover{background:#2563eb;box-shadow:0 2px 8px #2563eb4d}.conversation-change-btn:active{background:#1d4ed8;transform:scale(.98)}@media (max-width:768px){.conversation-header{align-items:flex-start;flex-direction:column;gap:.75rem}.conversation-change-btn{margin-left:0;text-align:center;width:100%}.conversation-title{font-size:1.125rem}}@media (max-width:640px){.conversation-header{padding:.75rem 1rem}.conversation-title{font-size:1rem}.conversation-change-btn{font-size:.8125rem;padding:.375rem .75rem}}.selector-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.selector-modal{animation:slideUp .3s ease-out;background:#fff;border-radius:1.25rem;box-shadow:0 25px 50px #00000026;display:flex;flex-direction:column;max-height:90vh;max-width:500px;overflow:hidden;width:100%}.selector-header{align-items:flex-start;background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-bottom:1px solid #e5e7eb;display:flex;gap:1rem;justify-content:space-between;padding:2rem}.selector-header-content{flex:1 1}.selector-header h2{color:#1f2937;font-size:1.5rem;font-weight:700;letter-spacing:-.02em;margin:0 0 .5rem}.selector-subtitle{color:#6b7280;font-size:.875rem;font-weight:500;margin:0}.selector-close{align-items:center;background:none;border:none;border-radius:.5rem;color:#9ca3af;cursor:pointer;display:flex;flex-shrink:0;font-size:1.5rem;height:40px;justify-content:center;padding:.5rem;transition:all .2s;width:40px}.selector-close:hover{background:#0000000d;color:#1f2937;transform:rotate(90deg)}.selector-steps{background:#fff;border-bottom:1px solid #e5e7eb;gap:1.5rem;justify-content:center;padding:1.5rem 2rem}.selector-step,.selector-steps{align-items:center;display:flex}.selector-step{flex-direction:column;gap:.5rem;transition:all .3s}.selector-step.active{opacity:1}.selector-step.completed{opacity:.6}.step-number{align-items:center;background:#e5e7eb;border-radius:50%;color:#6b7280;display:flex;font-size:.95rem;font-weight:700;height:36px;justify-content:center;transition:all .3s;width:36px}.selector-step.active .step-number{background:#3b82f6;box-shadow:0 4px 12px #3b82f64d;color:#fff}.selector-step.completed .step-number{background:#10b981;color:#fff}.step-label{color:#6b7280;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.selector-step.active .step-label{color:#3b82f6}.step-divider{background:#e5e7eb;height:2px;margin-top:18px;width:40px}.selector-content{flex:1 1;overflow-x:hidden;overflow-y:auto}.selector-content::-webkit-scrollbar{width:6px}.selector-content::-webkit-scrollbar-track{background:#0000}.selector-content::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.selector-content::-webkit-scrollbar-thumb:hover{background:#9ca3af}.selector-section{border-bottom:1px solid #f0f0f0;padding:1.5rem 2rem}.selector-section:first-child{padding-top:2rem}.selector-section:last-child{border-bottom:none}.selector-label{color:#1f2937;display:block;font-size:.8125rem;font-weight:700;letter-spacing:.06em;margin-bottom:.75rem;text-transform:uppercase}.selector-input{background:#fff;border:1.5px solid #e5e7eb;border-radius:.75rem;color:#1f2937;cursor:pointer;font-family:inherit;font-size:.9rem;padding:.875rem;transition:all .2s;width:100%}.selector-input:focus{background:#f8faff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.selector-input:hover:not(:focus){background:#fafbfc;border-color:#d1d5db}.selector-chips{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.5rem}.selector-chip{align-items:center;background:#f3f4f6;border:1.5px solid #e5e7eb;border-radius:2rem;color:#374151;cursor:pointer;display:flex;font-family:inherit;font-size:.875rem;font-weight:500;gap:.5rem;padding:.625rem 1rem;transition:all .2s}.selector-chip:hover{background:#eff6ff;border-color:#3b82f6;box-shadow:0 2px 8px #3b82f61a}.selector-chip.selected{background:#dbeafe;border-color:#3b82f6;box-shadow:0 2px 8px #3b82f626;color:#1e40af}.chip-avatar{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.75rem;font-weight:700;height:24px;justify-content:center;width:24px}.selector-chip.selected .chip-avatar{background:linear-gradient(135deg,#2563eb,#1d4ed8)}.chip-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selector-search-wrapper{display:flex;flex-direction:column;gap:1rem}.selector-search-container{align-items:center;display:flex;position:relative}.search-icon{color:#9ca3af;font-size:1rem;left:.75rem;pointer-events:none;position:absolute}.selector-search{background:#fff;border:1.5px solid #e5e7eb;border-radius:.75rem;color:#1f2937;font-family:inherit;font-size:.875rem;padding:.875rem .875rem .875rem 2.5rem;transition:all .2s;width:100%}.selector-search::placeholder{color:#9ca3af}.selector-search:focus{background:#f8faff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.search-clear{align-items:center;background:none;border:none;color:#9ca3af;cursor:pointer;display:flex;font-size:1.125rem;justify-content:center;padding:.25rem .5rem;position:absolute;right:.75rem;transition:all .2s}.search-clear:hover{color:#1f2937}.selector-controls{display:flex;gap:.75rem}.selector-sort{background:#fff;border:1.5px solid #e5e7eb;border-radius:.75rem;color:#1f2937;cursor:pointer;flex:1 1;font-family:inherit;font-size:.875rem;padding:.875rem;transition:all .2s}.selector-sort:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.selector-filter-btn{background:#fff;border:1.5px solid #e5e7eb;border-radius:.75rem;color:#6b7280;cursor:pointer;font-family:inherit;font-size:.875rem;font-weight:600;padding:.875rem 1rem;transition:all .2s;white-space:nowrap}.selector-filter-btn:hover{background:#fffbeb;border-color:#f59e0b;color:#d97706}.selector-filter-btn.active{background:#fef3c7;border-color:#f59e0b;color:#d97706}.selector-list{display:flex;flex-direction:column;gap:.75rem;min-height:200px;padding:1.5rem 2rem}.selector-item{align-items:center;background:#fff;border:1.5px solid #e5e7eb;border-radius:.875rem;cursor:pointer;display:flex;gap:1rem;padding:1.125rem;position:relative;transition:all .2s}.selector-item:hover{background:#f8faff;border-color:#3b82f6;box-shadow:0 4px 12px #3b82f61a;transform:translateX(4px)}.selector-item.recent{position:relative}.selector-item.recent:after{background:#fbbf24;border-radius:50%;box-shadow:0 2px 4px #fbbf2466;content:"";height:12px;left:-6px;position:absolute;top:-6px;width:12px}.selector-item.selected{background:#f0f4ff;border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626}.selector-avatar{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:.875rem;color:#fff;display:flex;flex-shrink:0;font-size:1.125rem;font-weight:700;height:48px;justify-content:center;width:48px}.selector-info{display:flex;flex:1 1;flex-direction:column;gap:.25rem;min-width:0}.selector-name{align-items:center;color:#1f2937;display:flex;font-size:.95rem;font-weight:600;gap:.5rem;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-badge{color:#f59e0b;flex-shrink:0;font-size:1rem}.selector-subject{color:#6b7280;font-size:.8125rem;font-weight:500}.selector-email,.selector-subject{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selector-email{color:#9ca3af;font-size:.75rem}.selector-checkmark{align-items:center;animation:scaleIn .2s ease-out;background:#3b82f6;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.95rem;font-weight:700;height:28px;justify-content:center;width:28px}@keyframes scaleIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.selector-empty,.selector-error,.selector-loading{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;min-height:200px;padding:3rem 2rem;text-align:center}.selector-loading{gap:1rem}.chat-spinner{animation:spin .8s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;height:32px;width:32px}.selector-empty{color:#9ca3af;font-size:.95rem}.selector-error{background:#fef2f2;border:1.5px solid #fee2e2;border-radius:.875rem;color:#991b1b;gap:1rem;justify-content:space-between;margin:0 2rem;padding:1.25rem 1rem;position:relative}.error-content,.selector-error{align-items:center;display:flex}.error-content{flex:1 1;gap:.75rem;text-align:left}.error-close,.error-icon{flex-shrink:0;font-size:1.25rem}.error-close{background:none;border:none;color:#991b1b;cursor:pointer;padding:.25rem .5rem;transition:all .2s}.error-close:hover{opacity:.7}.selector-footer{background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-top:1px solid #e5e7eb;display:flex;flex-shrink:0;gap:1rem;justify-content:space-between;padding:1.5rem 2rem}.selector-btn-cancel,.selector-btn-confirm{align-items:center;border:none;border-radius:.75rem;cursor:pointer;display:flex;font-family:inherit;font-size:.9rem;font-weight:600;gap:.5rem;justify-content:center;letter-spacing:.02em;padding:.875rem 1.5rem;transition:all .2s}.selector-btn-cancel{background:#fff;border:1.5px solid #e5e7eb;color:#374151;flex:1 1}.selector-btn-cancel:hover{background:#f3f4f6;border-color:#d1d5db}.selector-btn-cancel:active{background:#e5e7eb}.selector-btn-confirm{background:#3b82f6;color:#fff;flex:1.2 1}.selector-btn-confirm:hover:not(:disabled){background:#2563eb;box-shadow:0 6px 14px #3b82f64d;transform:translateY(-2px)}.selector-btn-confirm:active:not(:disabled){transform:translateY(0)}.btn-icon{font-size:1.1rem;transition:transform .2s}.selector-btn-confirm:hover:not(:disabled) .btn-icon{transform:translateX(2px)}.btn-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selector-btn-confirm.disabled,.selector-btn-confirm:disabled{background:#d1d5db;cursor:not-allowed;opacity:.5}@media (max-width:768px){.selector-modal{max-height:85vh;max-width:95vw}.selector-header{padding:1.5rem}.selector-header h2{font-size:1.25rem}.selector-steps{gap:1rem}.selector-list,.selector-section,.selector-steps{padding:1rem 1.5rem}.selector-controls{flex-direction:column}.selector-filter-btn{flex:1 1}.selector-footer{flex-direction:column;gap:1rem;padding:1rem 1.5rem}.selector-btn-cancel,.selector-btn-confirm{width:100%}.selector-item{gap:.75rem;padding:1rem}.selector-avatar{height:40px;width:40px}.selector-name{font-size:.9rem}}.hostel-not-enrolled{align-items:center;background:linear-gradient(135deg,var(--bg-default) 0,var(--bg-alt) 100%);border:2px dashed var(--border);border-radius:var(--radius-card);display:flex;justify-content:center;margin:var(--spacing-lg) 0;min-height:400px}.hostel-section-container{display:flex;flex-direction:column;gap:var(--spacing-xl)}.hostel-section-header{align-items:flex-start;border-bottom:2px solid var(--border);display:flex;gap:var(--spacing-lg);justify-content:space-between;padding-bottom:var(--spacing-lg)}.hostel-stats-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.room-info .stat-icon{background-color:#fef3c7}.checkin-info .stat-icon{background-color:#ecfdf5}.hostel-content-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.hostel-contact-card,.hostel-details-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.hostel-contact-card:hover,.hostel-details-card:hover{border-color:var(--primary);box-shadow:var(--shadow-hover)}.contact-item:hover{background-color:#064e3b0d}.hostel-fees-section{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow:hidden}@media (max-width:768px){.hostel-section-header{align-items:flex-start;flex-direction:column}.header-badge{justify-content:center;width:100%}.fee-summary-badges,.hostel-stats-grid{grid-template-columns:1fr}.fee-item{flex-wrap:wrap}.fee-item-left{width:100%}.fee-item-amounts{justify-content:space-between;width:100%}.fee-item-status{display:flex;justify-content:center;width:100%}.stat-card{align-items:center;flex-direction:column;text-align:center}.stat-icon{height:56px;width:56px}.stat-value{font-size:1.25rem}.card-header h3{font-size:1rem}.hostel-section-header h2{font-size:1.5rem}}@media (max-width:480px){.hostel-section-container{gap:var(--spacing-md)}.fee-item,.fee-item-amounts{align-items:flex-start;flex-direction:column}.fee-item-amounts{width:100%}.amount-cell{align-items:flex-start}.hostel-stats-grid{gap:var(--spacing-md)}.stat-card{padding:var(--spacing-md)}.stat-value{font-size:1.1rem}.card-body{gap:var(--spacing-md)}.card-body,.fees-header,.fees-items{padding:var(--spacing-md)}.fees-items{gap:var(--spacing-sm)}}.transport-not-enrolled{align-items:center;background:linear-gradient(135deg,var(--bg-default) 0,var(--bg-alt) 100%);border:2px dashed var(--border);border-radius:var(--radius-card);display:flex;justify-content:center;margin:var(--spacing-lg) 0;min-height:400px}.not-enrolled-content{padding:var(--spacing-2xl);text-align:center}.not-enrolled-content svg{margin-bottom:var(--spacing-md);opacity:.6}.not-enrolled-content h3{color:var(--text-primary);font-size:1.25rem;margin-bottom:var(--spacing-sm)}.not-enrolled-content p{color:var(--text-secondary);font-size:.95rem}.transport-section-container{display:flex;flex-direction:column;gap:var(--spacing-xl)}.transport-section-header{align-items:flex-start;border-bottom:2px solid var(--border);display:flex;gap:var(--spacing-lg);justify-content:space-between;padding-bottom:var(--spacing-lg)}.header-content h2{color:var(--text-primary);font-size:1.75rem;letter-spacing:-.02em;margin-bottom:var(--spacing-xs)}.header-content p{color:var(--text-secondary);font-size:.95rem}.header-badge{align-items:center;border-radius:9999px;display:flex;font-size:.9rem;font-weight:600;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);white-space:nowrap}.header-badge.paid{background-color:#ecfdf5;color:#059669}.header-badge.paid svg{color:#059669}.header-badge.pending{background-color:#fffbeb;color:#d97706}.header-badge.pending svg{color:#d97706}.transport-stats-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.stat-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);gap:var(--spacing-lg);padding:var(--spacing-lg);transition:all .3s cubic-bezier(.4,0,.2,1)}.stat-card:hover{border-color:var(--primary);box-shadow:var(--shadow-hover);transform:translateY(-2px)}.stat-icon{align-items:center;background-color:#064e3b0d;border-radius:12px;display:flex;flex-shrink:0;height:64px;justify-content:center;width:64px}.route-info .stat-icon{background-color:#dbeafe}.enrollment-info .stat-icon{background-color:#ecfdf5}.fee-balance.warning .stat-icon{background-color:#fee2e2}.fee-balance.success .stat-icon{background-color:#ecfdf5}.stat-body{display:flex;flex-direction:column;gap:var(--spacing-xs);justify-content:center}.stat-label{color:var(--text-muted);font-size:.8rem;font-weight:600;letter-spacing:.05em}.stat-value{color:var(--text-primary);font-size:1.5rem;line-height:1.2}.stat-detail{color:var(--text-secondary);font-size:.85rem}.transport-content-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.transport-contact-card,.transport-details-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.transport-contact-card:hover,.transport-details-card:hover{border-color:var(--primary);box-shadow:var(--shadow-hover)}.card-header{background:linear-gradient(135deg,#064e3b05,#0000);border-bottom:1px solid var(--border);padding:var(--spacing-lg)}.card-header,.card-header h3{align-items:center;gap:var(--spacing-sm)}.card-header h3{color:var(--text-primary);display:flex;font-size:1.1rem}.card-header svg{color:var(--primary);flex-shrink:0}.card-body{gap:var(--spacing-lg);padding:var(--spacing-lg)}.detail-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.detail-label{color:var(--text-muted);font-size:.8rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.detail-value{color:var(--text-primary);font-size:1rem;font-weight:500;line-height:1.4;word-break:break-word}.contact-item{align-items:flex-start;background:var(--bg-alt);border-radius:8px;display:flex;gap:var(--spacing-md);padding:var(--spacing-md);transition:all .2s ease}.contact-item:hover:not(.empty-contact){background-color:#064e3b0d}.contact-item.empty-contact{align-items:center;color:var(--text-secondary);cursor:default;font-size:.9rem;justify-content:center;padding:var(--spacing-lg)}.contact-icon{align-items:center;background:linear-gradient(135deg,#064e3b1a,#064e3b0d);border-radius:8px;flex-shrink:0;height:40px;width:40px}.contact-icon,.contact-info{display:flex;justify-content:center}.contact-info{flex-direction:column;gap:var(--spacing-xs);min-width:0}.contact-role{color:var(--text-muted);font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.contact-value{color:var(--text-primary);font-size:.95rem;font-weight:500;word-break:break-word}.transport-fees-section{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow:hidden}.fees-header{background:linear-gradient(135deg,#064e3b05,#0000);border-bottom:1px solid var(--border);padding:var(--spacing-lg)}.fees-header h3{align-items:center;color:var(--text-primary);display:flex;font-size:1.25rem;gap:var(--spacing-sm);margin:0 0 var(--spacing-lg) 0}.fees-header svg{color:var(--primary);flex-shrink:0}.fee-summary-badges{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-top:var(--spacing-md)}.badge-item{align-items:center;background:var(--bg-alt);border-left:3px solid var(--primary);border-radius:8px;display:flex;justify-content:space-between;padding:var(--spacing-md)}.badge-label{color:var(--text-muted);font-size:.8rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.badge-value{color:var(--text-primary);font-size:1.1rem;font-weight:700;text-align:right}.badge-value.paid,.badge-value.success{color:#059669}.badge-value.warning{color:#dc2626}.fees-items{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-lg)}.fee-item{align-items:center;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;display:flex;gap:var(--spacing-lg);padding:var(--spacing-md);transition:all .2s ease}.fee-item:hover{background-color:var(--bg-alt);border-color:var(--primary)}.fee-item.paid{background-color:#05966905;border-color:#d1fae5}.fee-item.pending{background-color:#dc262605;border-color:#fee2e2}.fee-item-left{display:flex;flex:1 1;gap:var(--spacing-md);min-width:0}.fee-status-dot{border-radius:50%;flex-shrink:0;height:12px;margin-top:4px;width:12px}.fee-status-dot.paid{background-color:#059669}.fee-status-dot.pending{background-color:#dc2626}.fee-item-info{display:flex;flex-direction:column;gap:var(--spacing-xs);min-width:0}.fee-type{color:var(--text-primary);font-size:.95rem;font-weight:600}.fee-period{color:var(--text-secondary);font-size:.8rem}.fee-item-amounts{display:flex;gap:var(--spacing-md);min-width:-webkit-fit-content;min-width:fit-content}.amount-cell{align-items:flex-end;display:flex;flex-direction:column;gap:var(--spacing-xs);white-space:nowrap}.amount-label{color:var(--text-muted);font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.amount-value{color:var(--text-primary);font-size:.95rem;font-weight:600}.amount-value.paid,.amount-value.success{color:#059669}.amount-value.warning{color:#dc2626}.fee-item-status{flex-shrink:0}.status-badge{align-items:center;border-radius:6px;display:inline-flex;font-size:.8rem;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md)}.status-badge.paid{background-color:#ecfdf5;border:1px solid #d1fae5;color:#059669}.status-badge.pending{background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626}.empty-fees-state{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;gap:var(--spacing-md);justify-content:center;padding:var(--spacing-2xl) var(--spacing-lg)}.empty-fees-state p{font-size:.95rem}@media (max-width:768px){.transport-section-header{align-items:flex-start;flex-direction:column}.header-badge{justify-content:center;width:100%}.fee-summary-badges,.transport-stats-grid{grid-template-columns:1fr}.fee-item{flex-wrap:wrap}.fee-item-left{width:100%}.fee-item-amounts{justify-content:space-between;width:100%}.fee-item-status{display:flex;justify-content:center;width:100%}.stat-card{align-items:center;flex-direction:column;text-align:center}.stat-icon{height:56px;width:56px}.stat-value{font-size:1.25rem}.card-header h3{font-size:1rem}.transport-section-header h2{font-size:1.5rem}}@media (max-width:480px){.transport-section-container{gap:var(--spacing-md)}.fee-item,.fee-item-amounts{align-items:flex-start;flex-direction:column}.fee-item-amounts{width:100%}.amount-cell{align-items:flex-start}.transport-stats-grid{gap:var(--spacing-md)}.stat-card{padding:var(--spacing-md)}.stat-value{font-size:1.1rem}.card-body{gap:var(--spacing-md)}.card-body,.fees-header,.fees-items{padding:var(--spacing-md)}.fees-items{gap:var(--spacing-sm)}}.termly-fee-summary{margin-bottom:24px}.termly-fee-summary .summary-header{margin-bottom:20px}.termly-fee-summary .header-title{align-items:center;display:flex;gap:12px}.termly-fee-summary .header-title h2{color:#1e293b;font-size:24px;font-weight:700;letter-spacing:-.5px;margin:0}.termly-fee-summary .term-badge{background:linear-gradient(135deg,#e0e7ff,#f3e8ff);border:1px solid #c7d2fe;border-radius:20px;color:#4f46e5;display:inline-block;font-size:12px;font-weight:700;letter-spacing:.5px;padding:6px 14px;text-transform:uppercase}.termly-fee-summary .fee-summary-card{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 2px 8px #0000000d;padding:24px;transition:all .3s ease}.termly-fee-summary .fee-summary-card:hover{border-color:#cbd5e1;box-shadow:0 4px 16px #00000014}.termly-fee-summary .fee-summary-card.outstanding{background:linear-gradient(135deg,#fffbeb,#fef3c7 1%,#fff);border-color:#fed7aa}.termly-fee-summary .fee-summary-card.fully-paid{background:linear-gradient(135deg,#f0fdf4,#dcfce7 1%,#fff);border-color:#86efac}.termly-fee-summary .balance-section{margin-bottom:24px}.termly-fee-summary .balance-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.termly-fee-summary .balance-status{align-items:center;display:flex;gap:14px}.termly-fee-summary .status-icon{align-items:center;border-radius:12px;display:flex;flex-shrink:0;height:56px;justify-content:center;width:56px}.termly-fee-summary .status-icon.warning{background:#f59e0b1a;color:#f59e0b}.termly-fee-summary .status-icon.success{background:#10b9811a;color:#10b981}.termly-fee-summary .status-text{display:flex;flex-direction:column;gap:2px}.termly-fee-summary .status-label{color:#64748b;font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.termly-fee-summary .status-message{font-size:14px;font-weight:600}.termly-fee-summary .status-message.warning-text{color:#d97706}.termly-fee-summary .status-message.success-text{color:#059669}.termly-fee-summary .balance-amount{-webkit-text-fill-color:#0000;align-items:flex-end;background:linear-gradient(135deg,#1e293b,#475569);-webkit-background-clip:text;background-clip:text;display:flex;flex-direction:column;font-size:32px;font-weight:800;gap:4px;letter-spacing:-1px}.termly-fee-summary .payment-progress{display:flex;flex-direction:column;gap:8px}.termly-fee-summary .progress-bar{background:#e2e8f0;border-radius:3px;height:6px;overflow:hidden;width:100%}.termly-fee-summary .progress-fill{background:linear-gradient(90deg,#10b981,#059669);border-radius:3px;height:100%;transition:width .8s cubic-bezier(.4,0,.2,1)}.termly-fee-summary .progress-label{color:#64748b;font-size:12px;font-weight:700;text-align:right}.termly-fee-summary .fee-stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.termly-fee-summary .stat-item{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px;transition:all .2s ease}.termly-fee-summary .stat-item:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0000000a}.termly-fee-summary .stat-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.termly-fee-summary .stat-label{color:#64748b;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.termly-fee-summary .stat-icon-small{color:#cbd5e1;font-size:16px}.termly-fee-summary .stat-icon-small.success{color:#10b981}.termly-fee-summary .stat-icon-small.discount{color:#8b5cf6}.termly-fee-summary .stat-value{color:#1e293b;display:block;font-size:16px;font-weight:800}.termly-fee-summary .stat-value.success{color:#10b981}.termly-fee-summary .stat-value.danger{color:#ef4444}.termly-fee-summary .stat-value.discount{color:#8b5cf6}@media (max-width:768px){.termly-fee-summary .header-title h2{font-size:20px}.termly-fee-summary .fee-summary-card{padding:16px}.termly-fee-summary .balance-header{flex-direction:column;gap:12px}.termly-fee-summary .balance-amount{align-items:flex-start;font-size:28px}.termly-fee-summary .fee-stats-grid{grid-template-columns:1fr}}.fee-breakdown-list{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-top:20px;overflow:hidden}.fee-breakdown-list .fee-breakdown-empty{align-items:center;background:#f8fafc;color:#64748b;display:flex;flex-direction:column;gap:12px;padding:48px 20px;text-align:center}.fee-breakdown-list .fee-breakdown-empty h4{color:#1e293b;font-size:16px;font-weight:600;margin:0}.fee-breakdown-list .fee-breakdown-empty p{font-size:13px;margin:0}.fee-breakdown-list .breakdown-wrapper{display:flex;flex-direction:column}.fee-breakdown-list .fee-category-section{border-bottom:1px solid #f1f5f9}.fee-breakdown-list .fee-category-section:last-child{border-bottom:none}.fee-breakdown-list .category-header{align-items:center;background:#fff;border:none;border-left:4px solid #0000;cursor:pointer;display:flex;justify-content:space-between;padding:16px 20px;transition:all .2s ease;width:100%}.fee-breakdown-list .category-header:hover{background:#f8fafc}.fee-breakdown-list .category-info{align-items:center;display:flex;flex:1 1;gap:12px;text-align:left}.fee-breakdown-list .category-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;font-size:20px;height:40px;justify-content:center;width:40px}.fee-breakdown-list .category-details h4{color:#1e293b;font-size:14px;font-weight:700;margin:0}.fee-breakdown-list .category-count{color:#64748b;display:block;font-size:12px;font-weight:500;margin-top:2px}.fee-breakdown-list .category-summary{align-items:center;display:flex;gap:20px}.fee-breakdown-list .summary-item{align-items:flex-end;display:flex;flex-direction:column;gap:2px}.fee-breakdown-list .summary-item .label{color:#64748b;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.fee-breakdown-list .summary-item .value{color:#1e293b;font-size:14px;font-weight:700}.fee-breakdown-list .summary-item .value.paid{color:#10b981}.fee-breakdown-list .summary-item .value.outstanding{color:#ef4444}.fee-breakdown-list .toggle-icon{align-items:center;color:#cbd5e1;display:flex;transition:color .2s}.fee-breakdown-list .category-header:hover .toggle-icon{color:#94a3b8}.fee-breakdown-list .category-items{background:#f8fafc;display:flex;flex-direction:column;gap:12px;padding:12px 20px}.fee-breakdown-list .fee-item-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:14px;transition:all .2s ease}.fee-breakdown-list .fee-item-card:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0000000a}.fee-breakdown-list .fee-item-card.paid{background:#f0fdf4;border-color:#86efac;opacity:.8}.fee-breakdown-list .fee-item-header{margin-bottom:12px}.fee-breakdown-list .fee-item-title{align-items:center;display:flex;gap:10px;justify-content:space-between}.fee-breakdown-list .fee-item-title h5{color:#1e293b;font-size:13px;font-weight:700;margin:0}.fee-breakdown-list .status-badge{border-radius:6px;display:inline-block;font-size:10px;font-weight:700;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase;white-space:nowrap}.fee-breakdown-list .status-badge.paid{background:#dcfce7;color:#065f46}.fee-breakdown-list .status-badge.outstanding{background:#fee2e2;color:#7f1d1d}.fee-breakdown-list .fee-item-details{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.fee-breakdown-list .detail-row{align-items:center;display:flex;font-size:12px;justify-content:space-between}.fee-breakdown-list .detail-row.outstanding{border-top:1px solid #fecaca;padding-top:4px}.fee-breakdown-list .detail-label{color:#64748b;font-weight:600}.fee-breakdown-list .detail-value{color:#1e293b;font-weight:700}.fee-breakdown-list .detail-value.paid{color:#10b981}.fee-breakdown-list .detail-value.danger{color:#ef4444}.fee-breakdown-list .btn-pay-individual{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:12px;font-weight:700;padding:8px 12px;transition:all .2s ease;width:100%}.fee-breakdown-list .btn-pay-individual:hover{box-shadow:0 4px 12px #3b82f64d;transform:translateY(-2px)}.fee-breakdown-list .btn-pay-individual:active{transform:translateY(0)}.fee-breakdown-list .fee-paid-status{align-items:center;background:#f0fdf4;border-radius:8px;color:#10b981;display:flex;font-size:12px;font-weight:700;gap:6px;justify-content:center;padding:8px}@media (max-width:768px){.fee-breakdown-list .category-header{align-items:flex-start;flex-direction:column;gap:12px}.fee-breakdown-list .category-summary{justify-content:space-between;width:100%}.fee-breakdown-list .category-items{padding:12px}}.custom-payment-modal.modal-overlay{align-items:center;animation:customPaymentModalFadeIn .3s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes customPaymentModalFadeIn{0%{opacity:0}to{opacity:1}}.custom-payment-modal .modal-content{animation:customPaymentModalSlideUp .4s cubic-bezier(.34,1.56,.64,1);background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:480px;overflow-y:auto;width:90%}@keyframes customPaymentModalSlideUp{0%{opacity:0;transform:translateY(60px)}to{opacity:1;transform:translateY(0)}}.custom-payment-modal .modal-header{align-items:center;background:linear-gradient(135deg,#f8fafc,#fff);border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:24px}.custom-payment-modal .modal-header h3{color:#1e293b;font-size:20px;font-weight:700;letter-spacing:-.5px;margin:0}.custom-payment-modal .modal-close{align-items:center;background:none;border:none;color:#64748b;cursor:pointer;display:flex;justify-content:center;padding:4px;transition:color .2s}.custom-payment-modal .modal-close:hover:not(:disabled){color:#1e293b}.custom-payment-modal .modal-close:disabled{cursor:not-allowed;opacity:.5}.custom-payment-modal .modal-body{background:linear-gradient(135deg,#fff,#f8fafc);padding:28px}.custom-payment-modal .amount-info{align-items:center;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:2px solid #86efac;border-radius:12px;box-shadow:0 2px 8px #10b9811a;display:flex;gap:12px;margin-bottom:24px;padding:16px}.custom-payment-modal .info-item{display:flex;flex:1 1;flex-direction:column;gap:4px}.custom-payment-modal .info-label{color:#64748b;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.custom-payment-modal .info-value{color:#047857;font-size:14px;font-weight:700}.custom-payment-modal .info-value.highlight{color:#059669;font-size:15px}.custom-payment-modal .info-divider{color:#86efac;font-size:18px;padding:0 4px}.custom-payment-modal .amount-input-section{margin-bottom:20px}.custom-payment-modal .input-label{color:#1e293b;display:block;font-size:13px;font-weight:700;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.custom-payment-modal .amount-input-wrapper{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 4px #0000000a;display:flex;overflow:hidden;position:relative;transition:all .3s ease}.custom-payment-modal .amount-input-wrapper:focus-within{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626}.custom-payment-modal .amount-input-wrapper.error{background:#fef2f2;border-color:#ef4444}.custom-payment-modal .amount-input-wrapper.valid{background:#f0fdf4;border-color:#10b981}.custom-payment-modal .currency-symbol{align-items:center;background:#f1f5f9;border-right:1px solid #e2e8f0;color:#64748b;display:flex;font-size:16px;font-weight:800;height:100%;letter-spacing:.5px;padding:0 14px}.custom-payment-modal .amount-input{background:#0000;border:none;color:#1e293b;flex:1 1;font-size:20px;font-weight:800;letter-spacing:-.5px;outline:none;padding:14px}.custom-payment-modal .amount-input::placeholder{color:#cbd5e1}.custom-payment-modal .amount-input:disabled{cursor:not-allowed;opacity:.6}.custom-payment-modal .input-valid-icon{color:#10b981;flex-shrink:0;margin-right:12px}.custom-payment-modal .input-error-icon{color:#ef4444;flex-shrink:0;margin-right:12px}.custom-payment-modal .input-error{align-items:center;background:#fee2e2;border:1px solid #fca5a5;border-radius:6px;color:#991b1b;display:flex;font-size:13px;font-weight:600;gap:8px;margin-top:8px;padding:8px 12px}.custom-payment-modal .quick-select-section{margin-bottom:20px}.custom-payment-modal .quick-select-label{color:#64748b;display:block;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.custom-payment-modal .quick-buttons{display:flex;gap:8px}.custom-payment-modal .quick-btn{background:#fff;border:2px solid #e2e8f0;border-radius:6px;color:#475569;cursor:pointer;flex:1 1;font-size:12px;font-weight:600;padding:8px 12px;transition:all .2s}.custom-payment-modal .quick-btn:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.custom-payment-modal .quick-btn.primary{background:#f0fdf4;border-color:#10b981;color:#047857}.custom-payment-modal .quick-btn.primary:hover:not(:disabled){background:#dcfce7}.custom-payment-modal .quick-btn:disabled{cursor:not-allowed;opacity:.5}.custom-payment-modal .payment-breakdown{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:20px;padding:12px}.custom-payment-modal .breakdown-item{align-items:center;display:flex;font-size:13px;justify-content:space-between;padding:6px 0}.custom-payment-modal .breakdown-value{color:#3b82f6;font-weight:700}.custom-payment-modal .breakdown-value.warning{color:#f59e0b}.custom-payment-modal .breakdown-value.success{color:#10b981}.custom-payment-modal .breakdown-divider{background:#e2e8f0;height:1px;margin:6px 0}.custom-payment-modal .modal-footer{background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;gap:12px;padding:20px 24px}.custom-payment-modal .btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:700;gap:8px;justify-content:center;letter-spacing:.5px;padding:12px 16px;text-transform:uppercase;transition:all .3s ease}.custom-payment-modal .btn-secondary{background:#e2e8f0;color:#475569}.custom-payment-modal .btn-secondary:hover:not(:disabled){background:#cbd5e1;transform:translateY(-2px)}.custom-payment-modal .btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 4px 12px #3b82f64d;color:#fff}.custom-payment-modal .btn-primary:hover:not(:disabled){box-shadow:0 6px 16px #3b82f666;transform:translateY(-2px)}.custom-payment-modal .btn:disabled{cursor:not-allowed;opacity:.6}.custom-payment-modal .spinner{animation:customPaymentModalSpin .6s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:14px;width:14px}@keyframes customPaymentModalSpin{to{transform:rotate(1turn)}}@media (max-width:480px){.custom-payment-modal .modal-content{max-width:none;width:95%}.custom-payment-modal .amount-info{flex-direction:column;gap:8px}.custom-payment-modal .info-divider{transform:rotate(90deg)}}.termly-fee-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 1px 4px #00000014;overflow:hidden;transition:all .3s ease}.termly-fee-card:hover{box-shadow:0 4px 12px #0000001a}.termly-fee-card .payment-processing-view{padding:24px}.termly-fee-card .processing-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.termly-fee-card .back-btn{background:none;border:none;color:#3b82f6;cursor:pointer;font-size:13px;font-weight:600;padding:0;transition:color .2s}.termly-fee-card .back-btn:hover{color:#2563eb}.termly-fee-card .processing-header h3{color:#1e293b;font-size:18px;font-weight:700;margin:0}.termly-fee-card .term-filter-section{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e2e8f0;display:flex;gap:12px;padding:20px}.termly-fee-card .term-filter-section label{color:#475569;font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;white-space:nowrap}.termly-fee-card .term-select{background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#1e293b;cursor:pointer;flex:1 1;font-size:13px;font-weight:600;max-width:300px;padding:10px 12px;transition:all .2s ease}.termly-fee-card .term-select:hover{border-color:#cbd5e1}.termly-fee-card .term-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.termly-fee-card .breakdown-section{background:linear-gradient(135deg,#f8fafc,#fff);border-top:1px solid #e2e8f0;padding:0}.termly-fee-card .breakdown-toggle{align-items:center;background:#0000;border:none;color:#1e293b;cursor:pointer;display:flex;font-size:14px;font-weight:600;justify-content:space-between;padding:16px 20px;text-align:left;transition:all .2s ease;width:100%}.termly-fee-card .breakdown-toggle:hover{background:#e2e8f04d}.termly-fee-card .breakdown-toggle.expanded{background:#3b82f60d;color:#3b82f6}.termly-fee-card .toggle-left{align-items:center;display:flex;gap:8px}.termly-fee-card .toggle-left svg{color:inherit;transition:transform .3s ease}.termly-fee-card .breakdown-toggle.expanded .toggle-left svg{transform:rotate(180deg)}.termly-fee-card .fee-count{background:#e2e8f0;border-radius:6px;color:#64748b;font-size:12px;font-weight:500;padding:4px 10px}.termly-fee-card .loading-state{align-items:center;color:#64748b;display:flex;flex-direction:column;gap:16px;padding:60px 20px;text-align:center}.termly-fee-card .spinner-pulse{animation:termlyFeeCardPulse 2s cubic-bezier(.4,0,.6,1) infinite;background:#e2e8f0;border-radius:50%;height:40px;width:40px}@keyframes termlyFeeCardPulse{0%,to{opacity:1}50%{opacity:.5}}@media (max-width:768px){.termly-fee-card .term-filter-section{align-items:stretch;flex-direction:column}.termly-fee-card .term-select{max-width:none}}.solver-modal-overlay{backgroundColor:#00000080;alignItems:center;justifyContent:center;zIndex:1000;bottom:0;display:flex;left:0;position:fixed;right:0;top:0}.solver-modal{backgroundColor:#fff;borderRadius:12px;boxShadow:0 20px 25px -5px #0000001a;maxWidth:800px;maxHeight:90vh;flexDirection:column;animation:slideUp .3s ease-out;display:flex;width:90%}.solver-header{alignItems:start;borderBottom:2px solid #f3f4f6;padding:24px}.solver-header,.solver-info-bar{justifyContent:space-between;display:flex}.solver-info-bar{alignItems:center;backgroundColor:#f9fafb;borderBottom:1px solid #e5e7eb;fontSize:13px;padding:12px 16px}.solver-content{overflowY:auto;flex:1 1;padding:24px}.solver-content::-webkit-scrollbar{width:8px}.solver-content::-webkit-scrollbar-track{backgroundColor:#f1f5f9}.solver-content::-webkit-scrollbar-thumb{backgroundColor:#cbd5e0;borderRadius:4px}.solver-content::-webkit-scrollbar-thumb:hover{backgroundColor:#a0aec0}.solver-footer{borderTop:1px solid #e5e7eb;justifyContent:flex-end;display:flex;gap:12px}.question-container,.solver-footer{backgroundColor:#f9fafb;padding:16px}.question-container{marginBottom:28px;borderRadius:8px;borderLeft:3px solid #3b82f6}.question-header{marginBottom:12px}.question-header h4{fontSize:15px;fontWeight:600;color:#1f2937;margin:0 0 4px}.options-container{flexDirection:column;display:flex;gap:10px}.options-container label{alignItems:center;backgroundColor:#fff;borderRadius:6px;border:1px solid #e5e7eb;cursor:pointer;display:flex;gap:12px;padding:10px;transition:all .2s ease}.options-container label:hover{borderColor:#3b82f6;backgroundColor:#eff6ff}.options-container input[type=radio]{cursor:pointer}@media (maxWidth:640px){.solver-modal{maxHeight:95vh;width:95%}.solver-content,.solver-header{padding:16px}.solver-footer{flexDirection:column}.solver-footer button{width:100%}}.teacher-grades-section{animation:fadeIn .3s ease}.grades-table-container{margin-top:24px}.grades-table{background:#fff;border:1px solid #e5e7eb;border-collapse:collapse;border-radius:8px;overflow:hidden;width:100%}.grades-table thead{background-color:#f3f4f6}.grades-table th{border-bottom:2px solid #e5e7eb;font-weight:600;text-align:left}.grades-table td,.grades-table th{color:#374151;font-size:14px;padding:12px 16px}.grades-table td{border-bottom:1px solid #e5e7eb}.grades-table tr:hover{background-color:#f9fafb}.grades-table .no-grade-row td{background-color:#fef3c7}.action-buttons{display:flex;gap:8px}.btn-sm{align-items:center;border:1px solid #d1d5db;border-radius:4px;cursor:pointer;display:inline-flex;font-size:13px;gap:4px;padding:6px 12px;transition:all .2s ease}.btn-sm:hover{opacity:.8}.btn.btn-sm.btn-secondary{background-color:#f3f4f6;border-color:#d1d5db;color:#374151}.btn.btn-sm.btn-primary{background-color:#3b82f6;border-color:#3b82f6;color:#fff}.btn.btn-sm.btn-danger{background-color:#ef4444;border-color:#ef4444;color:#fff}.class-selector h3{letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.class-buttons{display:flex;flex-wrap:wrap;gap:12px}.class-btn{align-items:flex-start;background:#fff;border:2px solid #e5e7eb;border-radius:6px;cursor:pointer;display:flex;flex-direction:column;gap:4px;min-width:180px;padding:12px 16px;transition:all .3s ease}.class-btn:hover{background:#f0f9ff;border-color:#06c}.class-btn.active{background:#06c;border-color:#06c;color:#fff}.class-btn .class-name{font-size:13px;font-weight:600}.class-btn .subject-name{font-size:12px;opacity:.8}.class-btn.active .subject-name{color:#ffffffe6}.grades-table-container{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.grade-form{display:flex;flex-direction:column;gap:16px}@media (max-width:768px){.section-header{align-items:flex-start;gap:12px}.class-buttons,.section-header{flex-direction:column}.class-btn{width:100%}}.modal-header h2{font-size:20px}.grade-form{padding:20px}.form-group{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.form-group label{color:#374151;font-size:14px;font-weight:500}.form-input{border-radius:6px;font-size:14px;padding:10px 12px}.form-actions{margin-top:24px}.form-actions .btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s ease}.header-actions{display:flex;flex-wrap:wrap;gap:8px}.statistics-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px;padding:20px}.statistics-card h3{color:#1f2937;font-size:16px;font-weight:600;margin:0 0 16px}.stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.stat-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:12px;text-align:center}.stat-value{line-height:1;margin-bottom:8px}.stat-label{font-weight:500;letter-spacing:.5px;text-transform:uppercase}.letter-grade{padding:0!important;text-align:center}.grade-badge{border-radius:4px;color:#fff;display:inline-block;font-size:12px;font-weight:600;min-width:32px;padding:4px 8px;text-align:center}.grade-1,.grade-2{background-color:#059669}.grade-3,.grade-4{background-color:#2563eb}.grade-5,.grade-6{background-color:#f97316}.grade-7,.grade-8,.grade-9{background-color:#dc2626}.student-name-col{align-items:center;display:flex;gap:8px}.performance-flag{align-items:center;color:#dc2626;cursor:help;display:inline-flex;font-size:14px;justify-content:center}.struggling-row{background-color:#fef2f2!important;border-left:3px solid #dc2626}.struggling-row:hover{background-color:#fee2e2!important}.csv-info{background:#f0f9ff;border:1px solid #bfdbfe;border-radius:6px;margin-bottom:16px;padding:12px}.csv-info h4{color:#1f2937;font-size:14px;margin:0 0 8px}.csv-info p{color:#374151;font-size:13px;line-height:1.5;margin:8px 0}.csv-info code{background:#fff;border-radius:4px;color:#dc2626;display:block;font-family:Courier New,monospace;font-size:12px;margin:8px 0;overflow-x:auto;padding:8px}.download-template-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:5px;box-shadow:0 2px 8px #3b82f64d;font-size:12px;gap:6px;margin-top:12px;padding:8px 14px;transition:all .2s ease}.download-template-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 12px #3b82f666;transform:translateY(-1px)}.download-template-btn:active{transform:translateY(0)}.file-upload{margin-bottom:16px}.file-input{border:2px dashed #d1d5db;border-radius:6px;color:#6b7280;display:block;font-size:14px;padding:10px;transition:all .2s ease}.file-input:hover{border-color:#3b82f6;color:#3b82f6}.file-input:focus{background:#f0f9ff;border-color:#3b82f6;outline:none}.btn{align-items:center;display:inline-flex;gap:6px}.btn:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.header-actions{flex-direction:column;width:100%}.header-actions .btn{justify-content:center;width:100%}.stats-grid{grid-template-columns:repeat(2,1fr)}.grades-table{font-size:12px}.grades-table td,.grades-table th{padding:8px}}.teacher-attendance-section{animation:fadeIn .3s ease}.filters-container{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px}.filter-group{display:flex;flex-direction:column;gap:6px;min-width:200px}.filter-group label{color:#374151;font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.input-date,.select-input{background:#fff;border:1px solid #d1d5db;border-radius:4px;cursor:pointer;font-size:13px;padding:8px 12px}.input-date:focus,.select-input:focus{border-color:#06c;box-shadow:0 0 0 3px #0066cc1a;outline:none}.attendance-table-container{margin-top:24px}.attendance-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.attendance-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;height:100%;padding:14px;transition:all .3s ease}.attendance-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.student-info{margin-bottom:10px}.student-name{color:#1f2937;font-size:13px;font-weight:700;line-height:1.3;margin:0}.student-id{color:#9ca3af;font-size:11px;font-weight:500;margin:2px 0 0}.status-display{align-items:center;display:flex;flex-shrink:0;height:28px;margin-bottom:10px}.status-badge{color:#fff;font-size:11px;padding:4px 10px;text-align:center;white-space:nowrap}.status-buttons{grid-gap:6px;display:grid;flex-grow:1;gap:6px;grid-template-columns:repeat(2,1fr)}.status-btn{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:5px;color:#6b7280;cursor:pointer;display:flex;flex-direction:column;font-weight:600;gap:2px;justify-content:center;min-height:60px;padding:7px 4px;transition:all .2s ease}.btn-icon{font-size:18px;line-height:1;margin-bottom:1px}.btn-label{font-size:10px;font-weight:500;letter-spacing:.2px;text-transform:capitalize;white-space:nowrap}.status-btn:hover{transform:scale(1.05)}.status-btn.present{border-color:#10b981;color:#10b981}.status-btn.present:active{background:#10b981;color:#fff}.status-btn.absent{border-color:#ef4444;color:#ef4444}.status-btn.absent:active{background:#ef4444;color:#fff}.status-btn.late{border-color:#f59e0b;color:#f59e0b}.status-btn.late:active{background:#f59e0b;color:#fff}.status-btn.excused{border-color:#8b5cf6;color:#8b5cf6}.status-btn.excused:active{background:#8b5cf6;color:#fff}.bulk-form{gap:16px;padding:20px}.bulk-form,.bulk-students{display:flex;flex-direction:column}.bulk-students{gap:12px;max-height:400px;overflow-y:auto;padding-right:8px}.bulk-item{align-items:center;background:#f9fafb;border-radius:4px;display:flex;gap:12px;justify-content:space-between;padding:12px}.student-label{color:#1f2937;flex:1 1;font-size:13px;font-weight:500}.modal-overlay{background-color:#00000080}.modal-content{max-width:500px;z-index:1001}.modal-header{background-color:#f9fafb}.modal-header h2{color:#1f2937;font-size:18px;font-weight:600;margin:0}.modal-close-btn{border-radius:4px;transition:all .2s ease}.modal-close-btn:hover{background-color:#e5e7eb}.form-input{border:1px solid #d1d5db;border-radius:4px;font-family:inherit;font-size:13px;padding:8px 12px;transition:all .2s ease}.form-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-actions{padding-top:16px}.btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s ease}.btn-primary{background-color:#3b82f6;color:#fff}.btn-primary:hover{background-color:#2563eb}.btn-primary:disabled{background-color:#9ca3af;cursor:not-allowed}.btn-secondary{background-color:#e5e7eb;color:#374151}.btn-secondary:hover{background-color:#d1d5db}.bulk-item .select-input{flex:0 0 120px}@media (max-width:768px){.filters-container{flex-direction:column}.filter-group{min-width:auto;width:100%}.attendance-grid{grid-template-columns:1fr}}.teacher-timetable-section{animation:fadeIn .3s ease}.view-selector{display:flex;gap:8px;margin-bottom:24px}.view-btn{background:#fff;border:1px solid #d1d5db;border-radius:4px;color:#374151;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .3s ease}.view-btn:hover{border-color:#06c;color:#06c}.view-btn.active{background:#06c;border-color:#06c;color:#fff}.class-timetable,.day-schedule,.timetable-all{animation:fadeIn .3s ease}.days-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:20px}.day-column{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.day-header{background:#06c;border-bottom:1px solid #e5e7eb;color:#fff;font-size:14px;font-weight:600;margin:0;padding:12px;text-align:center}.periods-list{display:flex;flex-direction:column;gap:0}.period-card{border-bottom:1px solid #e5e7eb;flex-direction:column;font-size:12px;gap:6px;padding:12px}.period-card:last-child{border-bottom:none}.period-name{color:#1f2937;font-weight:600}.class-info,.subject-info{color:#6b7280;line-height:1.4}.room{color:#9ca3af}.room,.time{font-size:11px}.time{color:#06c;font-weight:500}.class-selector{margin-bottom:24px}.class-selector h3{color:#374151;font-size:14px;font-weight:600;margin:0 0 8px}.select-input{background:#fff;border:1px solid #d1d5db;border-radius:4px;cursor:pointer;font-size:13px;max-width:300px;padding:8px 12px;width:100%}.select-input:focus{border-color:#06c;box-shadow:0 0 0 3px #0066cc1a;outline:none}.timetable-by-class{display:flex;flex-direction:column;gap:20px}.day-selector{margin-bottom:24px}.day-selector h3{color:#374151;font-size:14px;font-weight:600;margin:0 0 12px}.day-buttons{display:flex;flex-wrap:wrap;gap:8px}.day-btn{background:#fff;border:1px solid #d1d5db;border-radius:4px;color:#374151;cursor:pointer;font-size:12px;font-weight:500;padding:8px 12px;transition:all .3s ease}.day-btn:hover{border-color:#06c;color:#06c}.day-btn.active{background:#06c;border-color:#06c;color:#fff}.schedule-list{display:flex;flex-direction:column;gap:12px}.schedule-item{align-items:flex-start;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:16px;padding:16px}.time-slot{align-items:center;background:#f9fafb;border-radius:4px;display:flex;flex-direction:column;gap:4px;min-width:80px;padding:8px}.time-range{color:#06c;font-size:11px;font-weight:600;line-height:1.4;text-align:center}.period-label{color:#6b7280;font-size:11px}.class-details{flex:1 1}.class-details h4{color:#1f2937;font-size:14px;font-weight:600;margin:0 0 4px}.class-details p{color:#6b7280;font-size:12px;margin:4px 0 0}.room-info{color:#9ca3af!important;font-size:11px!important;margin-top:8px!important}.empty-state{padding:40px}@media (max-width:768px){.days-grid{grid-template-columns:1fr}.schedule-item{flex-direction:column;gap:12px}.time-slot{align-items:center;flex-direction:row;justify-content:space-around;width:100%}.time-range{text-align:left}.day-buttons{flex-direction:column}.day-btn{flex:1 1}}.next-class-info{background:#f0f7ff;border-left:3px solid #06c;border-radius:4px;color:#06c;font-size:13px;margin:8px 0 0;padding:8px 12px}.subject-badge{border-radius:12px;color:#fff;display:inline-block;font-size:11px;font-weight:600;padding:4px 8px;white-space:nowrap}.notes-btn{align-items:center;background:none;border:none;border-radius:4px;cursor:pointer;display:inline-flex;font-size:12px;font-weight:500;gap:6px;justify-content:center;padding:6px 10px;transition:all .2s ease;white-space:nowrap}.notes-btn:hover{background:#f3f4f6;opacity:.8}.period-card{align-items:flex-start;display:flex;flex-wrap:wrap;justify-content:space-between}.period-card,.schedule-item{position:relative}.notes-preview{background:#f0fdf4;border-left:2px solid #059669;border-radius:2px;color:#059669;font-size:11px;margin-top:8px;padding:6px}.modal-overlay{padding:16px}.modal-content{box-shadow:0 10px 40px #0003;max-height:80vh;width:100%}.notes-modal{max-width:500px}.modal-header h3{font-size:16px;gap:8px}.close-btn,.modal-header h3{align-items:center;display:flex}.close-btn{background:none;border:none;color:#6b7280;cursor:pointer;justify-content:center;transition:color .2s}.close-btn:hover{color:#1f2937}.modal-body{padding:20px}.period-info{background:#f9fafb;border-radius:6px;margin-bottom:16px;padding:12px}.period-info p{color:#374151;font-size:13px;line-height:1.6;margin:0}.period-info strong{color:#1f2937}.notes-textarea{border:1px solid #d1d5db;border-radius:6px;color:#1f2937;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:13px;padding:12px;resize:vertical;width:100%}.notes-textarea:focus{border-color:#06c;box-shadow:0 0 0 3px #0066cc1a;outline:none}.modal-footer{align-items:center;border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:space-between;padding:16px 20px}.modal-actions{display:flex;gap:8px;margin-left:auto}.rubric-grader{backgroundColor:#fff;borderRadius:8px;border:1px solid #e5e7eb;padding:16px}.rubric-header{marginBottom:20px}.rubric-score-summary{justifyContent:space-between;alignItems:center;backgroundColor:#f0f9ff;borderRadius:8px;borderLeft:4px solid #0284c7;display:flex;padding:16px}.rubric-criteria{margin:20px 0}.criterion-item{marginBottom:24px;paddingBottom:24px;borderBottom:1px solid #e5e7eb}.criterion-item:last-child{borderBottom:none;marginBottom:0;paddingBottom:0}.levels-container{gridTemplateColumns:repeat(auto-fit,minmax(120px,1fr));grid-gap:8px;marginTop:12px;display:grid;gap:8px}.level-button{borderRadius:6px;backgroundColor:#fff;fontSize:13px;fontWeight:600;border:1px solid #d1d5db;color:#6b7280;cursor:pointer;padding:12px;transition:all .2s ease}.level-button:hover:not(:disabled){borderColor:#0284c7;backgroundColor:#f0f9ff;color:#0284c7}.level-button.selected{backgroundColor:#f0f9ff;border:2px solid #0284c7;color:#0284c7}.level-button:disabled{cursor:not-allowed;opacity:.6}.feedback-section{marginTop:20px;paddingTop:20px;borderTop:2px solid #e5e7eb}.feedback-section label{fontSize:14px;fontWeight:600;marginBottom:8px;color:#1f2937;display:block}.feedback-section textarea{minHeight:100px;borderRadius:6px;fontSize:13px;fontFamily:Arial,sans-serif;border:1px solid #d1d5db;padding:10px;resize:vertical;width:100%}.feedback-section textarea:focus{borderColor:#0284c7;boxShadow:0 0 0 3px #0284c71a;outline:none}.grading-panel-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.grading-panel{animation:slideUp .3s ease-out;background-color:#fff;border:1px solid #fff3;border-radius:16px;box-shadow:0 25px 50px -12px #00000040;display:flex;flex-direction:column;max-height:90vh;max-width:1400px;width:95%}.grading-panel-header{align-items:center;background:linear-gradient(135deg,#f8fafc,#fff);border-bottom:2px solid #f1f5f9;display:flex;justify-content:space-between;padding:24px 32px}.grading-panel-header h2{color:#1e293b;font-size:24px;font-weight:700;letter-spacing:-.025em;margin:0}.grading-panel-header p{color:#64748b;font-size:14px;font-weight:500;margin:4px 0 0}.grading-panel-content{grid-gap:0;border-bottom:1px solid #e2e8f0;display:grid;flex:1 1;gap:0;grid-template-columns:1fr 1fr;overflow:hidden}.submission-view{background-color:#fafbfc;border-right:1px solid #e2e8f0;overflow-y:auto;padding:32px}.submission-view h3{align-items:center;color:#1e293b;display:flex;font-size:18px;font-weight:600;gap:8px;margin:0 0 20px}.submission-answers{display:flex;flex-direction:column;gap:20px}.answer-item{background-color:#fff;border-left:4px solid #3b82f6;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:20px;transition:all .2s ease}.answer-item:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.answer-header{align-items:center;display:flex;gap:12px;margin-bottom:12px}.answer-number{align-items:center;background-color:#dbeafe;border-radius:50%;color:#1e40af;display:inline-flex;flex-shrink:0;font-size:12px;font-weight:600;height:28px;justify-content:center;width:28px}.answer-type{background-color:#e0e7ff;border-radius:20px;color:#4c1d95;display:inline-block;font-size:11px;font-weight:500;letter-spacing:.05em;padding:4px 12px;text-transform:uppercase}.answer-question{color:#1e293b;font-size:15px;font-weight:600;line-height:1.4;margin:0 0 12px}.answer-display{color:#475569;font-size:14px;line-height:1.6}.student-answer{border-left:3px solid #10b981;border-radius:8px;color:#065f46;font-weight:500;margin:0;padding:12px 16px}.essay-answer{background-color:#fffbeb;border:1px solid #fed7aa;border-radius:8px;max-height:200px;overflow-y:auto;padding:16px}.essay-answer p{color:#92400e;margin:0;white-space:pre-wrap;word-break:break-word}.grading-section{background-color:#fff;overflow-y:auto;padding:32px}.grading-section h3{align-items:center;color:#1e293b;display:flex;font-size:18px;font-weight:600;gap:8px;margin:0 0 20px}.score-entry{display:flex;flex-direction:column;gap:20px}.score-entry label{color:#374151;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.score-entry input{background-color:#fff;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;padding:12px 16px;transition:all .2s ease}.score-entry input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.score-entry textarea{background-color:#fff;border:2px solid #e5e7eb;border-radius:8px;font-family:Arial,sans-serif;font-size:13px;padding:12px 16px;resize:vertical;transition:all .2s ease}.score-entry textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.score-entry textarea:disabled{background-color:#f9fafb;border-color:#d1d5db;color:#6b7280;cursor:not-allowed}.grading-panel-footer{gap:12px}.grading-panel-empty{align-items:center;color:#6b7280;display:flex;font-size:16px;font-weight:500;justify-content:center;min-height:300px}.grading-panel-content::-webkit-scrollbar{width:8px}.grading-panel-content::-webkit-scrollbar-track{background-color:#f1f5f9}.grading-panel-content::-webkit-scrollbar-thumb{background-color:#cbd5e0;border-radius:4px}.grading-panel-content::-webkit-scrollbar-thumb:hover{background-color:#a0aec0}.question-grading-item{background-color:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:16px;padding:24px;transition:all .2s ease}.question-grading-item:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.question-header{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.question-meta{align-items:center;display:flex;gap:12px}.question-number{align-items:center;background-color:#3b82f6;border-radius:50%;color:#fff;display:inline-flex;flex-shrink:0;font-size:14px;font-weight:700;height:32px;justify-content:center;width:32px}.question-type{background-color:#e0e7ff;color:#4c1d95}.manual-grade-badge,.question-type{border-radius:20px;font-size:11px;font-weight:600;letter-spacing:.05em;padding:4px 12px;text-transform:uppercase}.manual-grade-badge{background-color:#fef3c7;border:1px solid #f59e0b;color:#92400e;display:inline-block}.question-score{align-items:center;color:#1e293b;display:flex;gap:8px}.question-score,.score-input{font-size:14px;font-weight:600}.score-input{background-color:#fff;border:2px solid #e5e7eb;border-radius:6px;padding:6px 8px;text-align:center;transition:all .2s ease;width:60px}.score-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.score-input:disabled{background-color:#f9fafb;border-color:#d1d5db;color:#6b7280;cursor:not-allowed}.manual-indicator{color:#f59e0b;font-size:12px;font-weight:700;text-transform:uppercase}.question-content{margin-bottom:16px}.question-text{color:#1e293b;font-size:16px;line-height:1.5;margin:0 0 16px}.answer-comparison{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:16px}.correct-answer,.student-answer{border:1px solid #e2e8f0;border-radius:8px;padding:16px}.correct-answer{background-color:#f0f9ff;border-color:#0ea5e9}.student-answer{background-color:#f0fdf4;border-color:#10b981}.correct-answer label,.student-answer label{color:#64748b;display:block;font-size:12px;font-weight:700;letter-spacing:.05em;margin-bottom:8px;text-transform:uppercase}.correct-answer label{color:#0c4a6e}.student-answer label{color:#14532d}.answer-content{color:#1e293b;font-size:14px;line-height:1.5}.correct-answer .answer-content{color:#0c4a6e}.student-answer .answer-content{color:#14532d}.grading-result{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;grid-column:1/-1;justify-content:center;padding:12px}.auto-score,.grading-result{align-items:center;display:flex}.auto-score{border-radius:20px;font-size:14px;font-weight:600;gap:8px;letter-spacing:.05em;padding:8px 16px;text-transform:uppercase}.auto-score.correct{background-color:#dcfce7;border:1px solid #16a34a;color:#166534}.auto-score.incorrect{background-color:#fef2f2;border:1px solid #dc2626;color:#991b1b}.auto-score.partial{background-color:#fef3c7;border:1px solid #d97706;color:#92400e}.final-grade-summary{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:24px;padding:20px}.grade-breakdown{display:flex;gap:24px;justify-content:center}.percentage,.total-score{text-align:center}.percentage .label,.total-score .label{color:#64748b;display:block;font-size:12px;font-weight:600;letter-spacing:.05em;margin-bottom:4px;text-transform:uppercase}.percentage .value,.total-score .value{color:#1e293b;font-size:24px;font-weight:700}.total-score .value{color:#3b82f6}.percentage .value{color:#10b981}.grading-actions{display:flex;justify-content:center;margin-top:24px}.submit-grade-btn{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:8px;box-shadow:0 4px 12px #3b82f64d;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 32px;transition:all .2s ease}.submit-grade-btn:hover:not(:disabled){box-shadow:0 6px 16px #3b82f666;transform:translateY(-1px)}.submit-grade-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.grading-panel-footer{align-items:center;background-color:#f8fafc;border-top:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:20px 32px}.submission-counter{background-color:#fff;border:1px solid #e2e8f0;border-radius:20px;color:#64748b;font-size:14px;font-weight:600;padding:8px 16px}@media (max-width:1024px){.grading-panel-content{grid-template-columns:1fr}.submission-view{border-bottom:1px solid #e2e8f0;border-right:none}.grade-breakdown{flex-direction:column;gap:16px}}@media (max-width:640px){.grading-panel{max-height:95vh;width:98%}.grading-panel-footer,.grading-panel-header,.grading-section,.submission-view{padding:16px 20px}.question-grading-item{padding:16px}.answer-comparison{gap:12px;grid-template-columns:1fr}.grading-result{grid-column:1}}@media (max-width:480px){.question-header{align-items:flex-start;flex-direction:column;gap:12px}.question-score{align-self:flex-end}.grading-panel-footer{flex-direction:column;gap:12px}.nav-btn{justify-content:center;width:100%}}.nav-btn{align-items:center;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:8px 12px;transition:all .2s ease}.nav-btn:hover:not(:disabled){background-color:#f9fafb;border-color:#9ca3af}.nav-btn:disabled{cursor:not-allowed;opacity:.5}.nav-btn.primary{background-color:#3b82f6;border-color:#3b82f6;color:#fff}.nav-btn.primary:hover:not(:disabled){background-color:#2563eb;border-color:#2563eb}.nav-btn.danger{background-color:#dc2626;border-color:#dc2626;color:#fff}.nav-btn.danger:hover:not(:disabled){background-color:#b91c1c;border-color:#b91c1c}@media (max-width:1024px){.grading-panel-content{grid-template-columns:1fr}.submission-view{border-bottom:1px solid #e2e8f0;border-right:none}}@media (max-width:640px){.grading-panel{margin:10px;max-height:95vh;width:98%}.grading-panel-header{padding:20px}.grading-panel-content{grid-template-columns:1fr}.grading-section,.submission-view{padding:20px}.grading-panel-footer{flex-direction:column;gap:12px;padding:16px 20px}.submission-nav{justify-content:center;margin-left:0}}@media (max-width:480px){.grading-section,.submission-view{padding:16px}.grading-panel-footer{flex-direction:column;padding:12px}.grading-panel-footer button{width:100%}}.teacher-assignments-section{animation:fadeIn .3s ease}.section-header{align-items:center;border-bottom:1px solid #e5e7eb;margin-bottom:24px;padding-bottom:16px}.section-header h2{color:#1f2937;font-size:20px;font-weight:600;margin:0}.assignments-container{animation:fadeIn .3s ease}.assignments-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.assignment-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;overflow:hidden;transition:all .3s ease}.assignment-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-4px)}.card-header{align-items:flex-start;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;gap:12px;justify-content:space-between;padding:16px}.card-header h3{color:#1f2937;flex:1 1;font-size:14px;font-weight:600;line-height:1.4;margin:0}.card-actions{display:flex;flex-shrink:0;gap:6px}.action-btn{align-items:center;background:#0000;border:1px solid #d1d5db;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:6px;transition:all .2s ease}.action-btn:hover{border-color:#9ca3af;color:#374151}.action-btn.stats:hover{border-color:#06c;color:#06c}.action-btn.edit:hover{border-color:#f59e0b;color:#f59e0b}.action-btn.delete:hover{border-color:#ef4444;color:#ef4444}.action-btn.publish:hover{background:#f0fdf4}.action-btn.grade:hover,.action-btn.publish:hover{border-color:#10b981;color:#10b981}.status-badge{border-radius:12px;display:inline-block;font-size:10px;font-weight:600;letter-spacing:.3px;margin-top:4px;padding:4px 8px;text-transform:uppercase}.status-badge.draft{background:#fee2e2;color:#dc2626}.status-badge.published{background:#dcfce7;color:#16a34a}.status-badge.closed{background:#e5e7eb;color:#6b7280}.card-body{display:flex;flex:1 1;flex-direction:column;gap:12px;padding:16px}.description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#6b7280;display:-webkit-box;font-size:13px;line-height:1.5;margin:0;overflow:hidden}.meta-info{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.meta-item{display:flex;flex-direction:column;gap:4px}.meta-item .label{color:#9ca3af;font-size:11px;font-weight:500;letter-spacing:.3px;text-transform:uppercase}.meta-item .value{color:#1f2937;font-size:12px;font-weight:600}.card-footer{background:#f9fafb;border-top:1px solid #e5e7eb;padding:12px 16px}.btn-small{background:#0000;border:1px solid #06c;border-radius:4px;color:#06c;cursor:pointer;font-size:12px;padding:8px 12px;transition:all .2s ease;width:100%}.btn-small:hover{background:#f0f9ff}.empty-state{padding:60px 20px}.empty-state p{color:#6b7280;font-size:14px;margin:0}.empty-state p.text-muted{color:#9ca3af;font-size:12px;margin-top:4px}.assignment-form{display:flex;flex-direction:column;gap:16px;padding:20px}.form-actions{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;margin-top:20px;padding-top:20px}.form-actions .btn{min-width:120px}.stats-container{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr);padding:20px}.stat-card{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;display:flex;flex-direction:column;gap:8px;padding:16px}.stat-value{color:#06c;font-size:24px;font-weight:700}.stat-label{font-size:12px}.loading,.stat-label{color:#6b7280;text-align:center}.loading{padding:40px}.modal-overlay{align-items:center;animation:fadeIn .2s ease;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:slideUp .3s ease;background:#fff;border-radius:8px;box-shadow:0 20px 25px -5px #0000001a;max-height:90vh;max-width:600px;overflow-y:auto;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px}.modal-header h3{color:#1f2937;font-size:18px;font-weight:600;margin:0}.modal-close-btn{align-items:center;background:none;border:none;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:4px;transition:color .2s ease}.modal-close-btn:hover{color:#1f2937}.modal-tabs{border-bottom:2px solid #e5e7eb;display:flex;gap:8px;margin-top:12px;padding-bottom:0}.tab-button{background:#0000;border:none;border-bottom:3px solid #0000;color:#6b7280;cursor:pointer;font-size:14px;font-weight:500;padding:12px 16px;transition:all .2s ease;white-space:nowrap}.tab-button:hover{border-bottom-color:#d1d5db;color:#1f2937}.tab-button.active{border-bottom-color:#06c;color:#06c}.tab-content{animation:fadeIn .2s ease;gap:16px}.tab-content,.upload-section{display:flex;flex-direction:column}.csv-template{background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;padding:12px}.csv-template p{color:#1e40af;font-size:12px;margin:4px 0}.small-text{font-size:12px!important}.file-input-wrapper{display:inline-block;position:relative;width:100%}.file-input{cursor:pointer;height:0;opacity:0;position:absolute;width:100%}.file-label{background:#f3f4f6;border:2px dashed #d1d5db;border-radius:6px;color:#374151;display:block;font-size:14px;padding:12px 16px;text-align:center;transition:all .2s ease;width:100%}.file-input:hover+.file-label,.file-label:hover{background:#eff6ff;border-color:#06c;color:#06c}.questions-preview{border-top:1px solid #e5e7eb;margin-top:12px;padding-top:12px}.questions-preview h4{color:#1f2937;font-size:14px;font-weight:600;margin:0 0 12px}.questions-list{display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto}.question-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:4px;gap:12px;padding:8px}.question-number{color:#9ca3af;font-size:12px;font-weight:600;line-height:1.5;margin-top:2px;min-width:32px;text-align:center}.question-info{min-width:0}.question-text{color:#374151;font-size:12px;line-height:1.4;margin:0;word-break:break-word}.question-type{background:#dbeafe;border-radius:3px;color:#0369a1;display:inline-block;font-size:10px;margin-top:4px;padding:2px 6px}.remove-btn{flex-shrink:0;font-size:16px;padding:4px 6px;transition:color .2s ease}.remove-btn:hover{color:#dc2626}.grading-section{display:flex;flex-direction:column;gap:16px}.grading-section h4,.grading-section h5{color:#1f2937;font-size:14px;font-weight:600;margin:0}.checkbox-label,.grading-option{align-items:center;display:flex}.checkbox-label{color:#374151;cursor:pointer;font-size:14px;gap:8px}.checkbox-label input[type=checkbox]{accent-color:#06c;cursor:pointer;height:18px;width:18px}.question-types{border-top:1px solid #e5e7eb;margin-top:8px;padding-top:8px}.type-list{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr);margin-top:8px}.type-checkbox{align-items:center;color:#374151;cursor:pointer;display:flex;font-size:13px;gap:8px}.type-checkbox input[type=checkbox]{accent-color:#06c;cursor:pointer;height:16px;width:16px}@media (max-width:768px){.assignments-grid,.meta-info,.stats-container{grid-template-columns:1fr}.modal-content{max-height:95vh;width:95%}.modal-tabs{gap:4px}.tab-button{font-size:12px;padding:10px 12px}.type-list{grid-template-columns:1fr}}.extra-classes-section{grid-gap:20px;display:grid;gap:20px}.extra-classes-hero{align-items:flex-start;background:linear-gradient(135deg,#eff6ff,#f8fafc);border:1px solid #dbeafe;border-radius:20px;box-shadow:0 16px 40px #0f172a0f;display:flex;gap:20px;justify-content:space-between;padding:24px}.hero-copy{max-width:680px}.hero-badge{align-items:center;background:#fff;border:1px solid #bfdbfe;border-radius:999px;color:#2563eb;display:inline-flex;font-size:12px;font-weight:700;gap:8px;letter-spacing:.08em;margin-bottom:10px;padding:6px 10px;text-transform:uppercase}.hero-copy h2{color:#0f172a;font-size:1.45rem;margin:0 0 8px}.hero-copy p{color:#475569;line-height:1.6;margin:0}.hero-stats{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,minmax(90px,1fr));min-width:300px}.hero-stat{background:#ffffffe6;border:1px solid #e2e8f0;border-radius:14px;box-shadow:inset 0 1px 0 #fffc;padding:12px;text-align:center}.hero-stat strong{color:#0f172a;display:block;font-size:1.15rem;margin-bottom:4px}.hero-stat span{color:#64748b;font-size:.8rem}.section-card{background:#fff;border:1px solid #e2e8f0;border-radius:18px;box-shadow:0 12px 30px #0f172a0a;padding:20px}.subtab-nav{background:linear-gradient(135deg,#f8fbff,#eef4ff);border:1px solid #dbeafe;border-radius:18px;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px;padding:8px}.subtab-btn{align-items:center;background:#0000;border:1px solid #0000;border-radius:14px;color:#475569;cursor:pointer;display:inline-flex;font-weight:600;gap:10px;min-height:52px;padding:10px 14px;transition:all .2s ease}.subtab-btn:hover{background:#fffc;border-color:#dbeafe;color:#1e3a8a}.subtab-btn.active{background:linear-gradient(135deg,#2563eb,#1d4ed8);border-color:#2563eb;box-shadow:0 12px 24px #2563eb29;color:#fff}.subtab-icon{align-items:center;background:#ffffffb3;border-radius:10px;color:inherit;display:inline-flex;flex-shrink:0;height:34px;justify-content:center;width:34px}.subtab-copy{align-items:flex-start;display:inline-flex;flex-direction:column;text-align:left}.subtab-label{font-size:.95rem;line-height:1.2}.subtab-description{font-size:.78rem;font-weight:500;margin-top:2px;opacity:.8}.subtab-btn.active .subtab-icon{background:#ffffff2e}.section-header{align-items:flex-start;display:flex;gap:10px;justify-content:space-between;margin-bottom:16px}.section-header h3{color:#0f172a;font-size:1.05rem;margin:0 0 4px}.section-header p{color:#64748b;font-size:.95rem;margin:0}.section-form{grid-gap:12px;display:grid;gap:12px}.section-form input,.section-form select,.section-form textarea{background:#fff;border:1px solid #cbd5e1;border-radius:12px;color:#0f172a;font-size:.95rem;padding:11px 12px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.section-form input:focus,.section-form select:focus,.section-form textarea:focus{border-color:#2563eb;box-shadow:0 0 0 4px #2563eb1f;outline:none}.section-form textarea{min-height:100px;resize:vertical}.button-ghost,.button-primary,.button-secondary{align-items:center;border:none;border-radius:12px;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:8px;justify-content:center;padding:10px 14px;transition:transform .2s ease,box-shadow .2s ease}.button-ghost:hover,.button-primary:hover,.button-secondary:hover{transform:translateY(-1px)}.button-primary{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 10px 20px #2563eb2e;color:#fff}.button-secondary{background:#eff6ff;color:#1d4ed8}.button-ghost{background:#0000;color:#64748b;padding:0}.class-list{grid-gap:12px;display:grid;gap:12px}.class-card{background:linear-gradient(135deg,#fff,#f8fbff);border:1px solid #e2e8f0;border-radius:18px;box-shadow:0 10px 24px #0f172a0a;padding:18px}.class-card-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:10px}.class-title{color:#0f172a;font-size:1rem;margin:0}.class-subtitle{color:#64748b;font-size:.9rem;margin:4px 0 0}.status-pill{align-items:center;background:#eff6ff;border-radius:999px;color:#2563eb;display:inline-flex;font-size:.78rem;font-weight:700;padding:6px 10px;text-transform:capitalize}.class-meta{grid-gap:8px;background:#f8fafccc;border:1px solid #f1f5f9;border-radius:14px;color:#475569;display:grid;font-size:.95rem;gap:8px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));padding:12px}.class-meta strong{color:#0f172a}.class-actions{grid-gap:12px;border-top:1px solid #e2e8f0;display:grid;gap:12px;margin-top:14px;padding-top:12px}.registration-requests-card,.reminder-form{background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:inset 0 1px 0 #ffffffe6;padding:14px}.registration-requests-header{align-items:flex-start;display:flex;gap:8px;justify-content:space-between;margin-bottom:10px}.registration-requests-header strong{color:#0f172a;font-size:.95rem}.registration-requests-header p,.reminder-help-text{color:#64748b;font-size:.86rem;line-height:1.5;margin:4px 0 0}.registration-request-list{grid-gap:8px;display:grid;gap:8px}.registration-request-item{align-items:center;background:linear-gradient(135deg,#f8fbff,#fff);border:1px solid #eff6ff;border-radius:12px;display:flex;gap:10px;justify-content:space-between;padding:10px 12px}.registration-request-meta{color:#64748b;font-size:.8rem;margin-top:3px}.registration-request-actions{display:flex;flex-wrap:wrap;gap:8px}.button-primary.small,.button-secondary.small{border-radius:10px;font-size:.82rem;padding:7px 10px}.reminder-form{grid-gap:8px;display:grid;gap:8px}.reminder-form textarea{border:1px solid #dbeafe;border-radius:12px;min-height:86px;padding:10px 12px;resize:vertical}.reminder-form textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f;outline:none}.class-action-label{color:#1d4ed8;font-size:.84rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.class-actions textarea{min-height:88px}.assignment-summary-card{background:linear-gradient(135deg,#f8fbff,#eff6ff);border:1px solid #dbeafe;border-radius:16px;box-shadow:0 10px 24px #2563eb14;margin-top:16px;padding:16px}.assignment-summary-header{align-items:flex-start;display:flex;gap:10px;justify-content:space-between;margin-bottom:12px}.assignment-summary-label{color:#2563eb;font-size:.75rem;font-weight:700;letter-spacing:.08em;margin:0 0 4px;text-transform:uppercase}.assignment-summary-header h4{color:#0f172a;margin:0}.assignment-summary-badge{align-items:center;background:#2563eb;border-radius:999px;color:#fff;display:inline-flex;font-size:.78rem;font-weight:700;padding:6px 10px}.assignment-summary-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.assignment-summary-grid div{grid-gap:4px;display:grid;gap:4px}.assignment-summary-grid strong{color:#64748b;font-size:.78rem;letter-spacing:.05em;text-transform:uppercase}.assignment-summary-grid span{color:#0f172a;font-weight:600}.assignment-summary-description{color:#475569;line-height:1.6;margin:12px 0 0}.assignment-summary-action{margin-top:12px}.empty-state{grid-gap:8px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:16px;color:#64748b;display:grid;gap:8px;min-height:140px;padding:20px;place-items:center;text-align:center}.question-builder-card{grid-gap:12px;background:#f8fafc;border:1px solid #dbeafe;border-radius:16px;display:grid;gap:12px;padding:16px}.question-builder-head{align-items:flex-start;display:flex;gap:10px;justify-content:space-between}.question-builder-head h4{font-size:1rem;margin:0 0 4px}.question-builder-head p{color:#64748b;font-size:.9rem;margin:0}.upload-section{grid-gap:12px;background:#f8fafc;border:1px solid #dbeafe;border-radius:16px;display:grid;gap:12px;padding:16px}.upload-section h4{color:#0f172a;font-size:1rem;margin:0}.csv-template{grid-gap:6px;display:grid;gap:6px}.small-text{color:#64748b;font-size:.9rem;margin:0}.download-template-btn{align-items:center;background:#10b981;border:none;border-radius:10px;color:#fff;cursor:pointer;display:inline-flex;font-weight:600;gap:8px;justify-content:center;padding:10px 14px;width:-webkit-fit-content;width:fit-content}.file-input-wrapper{display:flex}.file-input{display:none}.file-label{align-items:center;background:#2563eb;border-radius:10px;color:#fff;cursor:pointer;display:inline-flex;font-weight:600;gap:8px;padding:10px 14px}.file-label:hover{background:#1d4ed8}.questions-list,.questions-preview{grid-gap:10px;display:grid;gap:10px}.question-info{flex:1 1}.question-text{color:#0f172a;font-weight:600;margin:0 0 4px}.question-type{color:#64748b;font-size:.85rem;text-transform:capitalize}.remove-btn{background:#0000;border:none;color:#ef4444;cursor:pointer}.question-preview-list{grid-gap:10px;display:grid;gap:10px}.question-item{align-items:flex-start;background:#fff;border:1px solid #e2e8f0;border-radius:12px;display:flex;gap:10px;justify-content:space-between;padding:12px}.question-item strong{color:#0f172a;display:block;margin-bottom:4px}.question-item span{color:#64748b;font-size:.85rem}.submission-card{grid-gap:10px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;display:grid;gap:10px;padding:14px}.submission-head{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.submission-head strong{color:#0f172a}.submission-meta{color:#64748b;font-size:.9rem;margin-top:4px}.submission-text{color:#334155;line-height:1.6}.submission-grade{background:#ecfdf5;border:1px solid #bbf7d0;border-radius:10px;color:#166534;padding:10px}@media (max-width:900px){.extra-classes-hero{flex-direction:column}.hero-stats{min-width:0;width:100%}}@media (max-width:640px){.hero-stats{grid-template-columns:1fr}.class-card-header,.question-builder-head,.submission-head{align-items:flex-start;flex-direction:column}}.group-chat-panel{background:#f8f9fa;border:1px solid #e5e7eb;border-radius:.5rem;display:flex;height:100%;min-height:0;overflow:hidden}.group-chat-sidebar{background:#fff;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;flex-shrink:0;min-height:0;width:280px}.group-chat-sidebar-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;gap:.5rem;justify-content:space-between;padding:1rem}.group-chat-sidebar-header h3{color:#1f2937;font-size:1rem;font-weight:600;margin:0}.group-new-btn{align-items:center;background:#667eea;border:none;border-radius:.375rem;color:#fff;cursor:pointer;display:inline-flex;font-size:.8125rem;font-weight:600;gap:.375rem;padding:.5rem .75rem;transition:background .2s;white-space:nowrap}.group-new-btn:hover{background:#5568d3}.group-list{flex:1 1;min-height:0;overflow-y:auto}.group-list-empty,.group-list-loading,.group-thread-empty{align-items:center;color:#9ca3af;display:flex;flex-direction:column;gap:.5rem;justify-content:center;padding:2rem 1rem;text-align:center}.group-list-empty .group-new-btn{margin-top:.5rem}.mini-spinner{animation:group-spin .7s linear infinite;border:2px solid #e5e7eb;border-radius:50%;border-top-color:#667eea;height:20px;width:20px}@keyframes group-spin{to{transform:rotate(1turn)}}.group-list-item{align-items:center;border-bottom:1px solid #f3f4f6;cursor:pointer;display:flex;gap:.75rem;padding:.875rem 1rem;transition:background .15s}.group-list-item:hover{background:#f8f9ff}.group-list-item.active{background:#eef2ff;border-left:3px solid #667eea}.group-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;flex-shrink:0;height:38px;justify-content:center;width:38px}.group-list-item-info{flex:1 1;min-width:0}.group-list-item-header{align-items:center;display:flex;gap:.5rem;justify-content:space-between}.group-list-item-header h4{color:#1f2937;font-size:.875rem;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-unread-badge{align-items:center;background:#667eea;border-radius:10px;color:#fff;display:inline-flex;flex-shrink:0;font-size:.6875rem;font-weight:700;height:20px;justify-content:center;min-width:20px;padding:0 .375rem}.group-participant-count{color:#6b7280;font-size:.75rem;margin:.125rem 0 0}.group-chat-content{display:flex;flex:1 1;flex-direction:column;min-height:0;min-width:0}.group-chat-empty-state{align-items:center;color:#9ca3af;display:flex;flex:1 1;flex-direction:column;gap:.5rem;justify-content:center;padding:2rem;text-align:center}.group-chat-empty-state h2{color:#4b5563;font-size:1.125rem;margin:.5rem 0 0}.group-chat-empty-state p{margin:0 0 .5rem}.group-chat-header{align-items:baseline;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;gap:.5rem;padding:1rem 1.25rem}.group-chat-header h2{color:#1f2937;font-size:1.0625rem;font-weight:600;margin:0}.group-chat-header-sub{color:#6b7280;font-size:.8125rem}.group-message-thread{display:flex;flex:1 1;flex-direction:column;gap:.75rem;min-height:0;overflow-y:auto;padding:1.25rem}.group-message{display:flex}.group-message-sent{justify-content:flex-end}.group-message-received{justify-content:flex-start}.group-message-content{display:flex;flex-direction:column;gap:.25rem;max-width:65%}.group-message-header{align-items:baseline;display:flex;font-size:.75rem;gap:.5rem}.group-message-sender{color:#374151;font-weight:600}.group-message-time{color:#9ca3af}.group-message-text{background:#fff;border-radius:.5rem;color:#1f2937;line-height:1.5;margin:0;padding:.625rem .875rem;word-break:break-word}.group-message-sent .group-message-text{background:#667eea;color:#fff}.group-message-input-row{align-items:flex-end;background:#fff;border-top:1px solid #e5e7eb;display:flex;gap:.75rem;padding:1rem}.group-message-textarea{border:1px solid #e5e7eb;border-radius:.5rem;color:#1f2937;flex:1 1;font-family:inherit;font-size:.875rem;padding:.625rem .75rem;resize:none}.group-message-textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.group-send-btn{align-items:center;background:#667eea;border:none;border-radius:.5rem;color:#fff;cursor:pointer;display:inline-flex;flex-shrink:0;height:42px;justify-content:center;transition:background .2s;width:42px}.group-send-btn:hover:not(:disabled){background:#5568d3}.group-send-btn:disabled{background:#d1d5db;cursor:not-allowed}.group-modal-overlay{align-items:center;background:#06141080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.group-modal{background:#fff;border-radius:.75rem;box-shadow:0 20px 40px #0003;display:flex;flex-direction:column;max-height:85vh;max-width:440px;width:90%}.group-modal-header{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;padding:1.25rem 1.25rem .75rem}.group-modal-header h3{color:#1f2937;font-size:1.0625rem;font-weight:600;margin:0}.group-modal-close{align-items:center;background:none;border:none;border-radius:50%;color:#6b7280;cursor:pointer;display:flex;height:28px;justify-content:center;width:28px}.group-modal-close:hover:not(:disabled){background:#f3f4f6;color:#1f2937}.group-modal-body{flex:1 1;overflow-y:auto;padding:1rem 1.25rem}.group-modal-label{color:#374151;display:block;font-size:.8125rem;font-weight:600;margin:.75rem 0 .375rem}.group-modal-label:first-child{margin-top:0}.group-modal-hint{color:#9ca3af;font-size:.75rem;margin:0 0 .5rem}.group-modal-input{border:1px solid #e5e7eb;border-radius:.375rem;box-sizing:border-box;color:#1f2937;font-family:inherit;font-size:.875rem;padding:.625rem .75rem;width:100%}.group-modal-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.group-modal-staff-list{border:1px solid #f3f4f6;border-radius:.375rem;display:flex;flex-direction:column;gap:.25rem;max-height:220px;overflow-y:auto;padding:.5rem}.group-modal-staff-item{align-items:center;border-radius:.25rem;color:#374151;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.375rem .5rem}.group-modal-staff-item:hover{background:#f8f9ff}.group-modal-staff-item input[type=checkbox]{cursor:pointer}.group-modal-actions{border-top:1px solid #f3f4f6;display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.25rem}@media (max-width:768px){.group-chat-panel{flex-direction:column;height:auto}.group-chat-sidebar{border-bottom:1px solid #e5e7eb;border-right:none;max-height:260px;width:100%}.group-chat-content{min-height:400px}.group-message-content{max-width:85%}}.chat-tabs-wrapper{display:flex;flex-direction:column;height:100%;min-height:0}.chat-tabs-bar{background:#fff;border-bottom:1px solid #e5e7eb;display:flex;flex-shrink:0;gap:.5rem;padding:.75rem 1rem 0}.chat-tab-btn{align-items:center;background:none;border:none;border-bottom:2px solid #0000;color:#6b7280;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:.5rem;padding:.625rem 1rem;transition:color .2s,border-color .2s}.chat-tab-btn:hover{color:#4b5563}.chat-tab-btn.active{border-bottom-color:#667eea;color:#667eea}.chat-tabs-content{display:flex;flex:1 1;flex-direction:column;min-height:0}.chat-tabs-content .parent-teacher-chat{height:100%}.chat-tabs-content .group-chat-panel{flex:1 1;min-height:0}.page.teacher-portal-page .page-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;margin-bottom:24px;padding:20px 0}.page.teacher-portal-page .page-header h1{color:var(--text-primary);font-size:28px;font-weight:700;margin:0}.page.teacher-portal-page .page-header p{color:var(--text-secondary);font-size:14px;margin:4px 0 0}.page.teacher-portal-page .header-actions{align-items:center;display:flex;gap:16px}.page.teacher-portal-page .user-info{align-items:center;background:var(--bg-alt);border-radius:var(--radius-input);color:var(--text-primary);display:flex;font-size:14px;gap:8px;padding:8px 12px}.page.teacher-portal-page .tabs-container{border-bottom:1px solid var(--border);display:flex;gap:8px;margin-bottom:24px;overflow-x:auto}.page.teacher-portal-page .tab-btn{align-items:center;background:#0000;border:none;border-bottom:3px solid #0000;color:var(--text-secondary);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:12px 16px;transition:all .2s ease;white-space:nowrap}.page.teacher-portal-page .tab-btn:hover{border-bottom-color:var(--bg-alt);color:var(--primary)}.page.teacher-portal-page .tab-btn.active{border-bottom-color:var(--primary);color:var(--primary)}.page.teacher-portal-page .teacher-dashboard{animation:fadeIn .3s ease}.page.teacher-portal-page .profile-info{display:flex;flex-direction:column;gap:14px}.page.teacher-portal-page .profile-item{align-items:flex-start;background:var(--bg-alt);border-radius:var(--radius-input);display:flex;gap:12px;padding:12px;transition:background-color .2s ease}.page.teacher-portal-page .profile-item:hover{background:var(--border)}.page.teacher-portal-page .profile-icon{align-items:center;background:linear-gradient(135deg,var(--primary) 0,var(--primary-hover) 100%);border-radius:var(--radius-input);color:var(--primary-fg);display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.page.teacher-portal-page .profile-content{display:flex;flex-direction:column;flex-grow:1;gap:4px}.page.teacher-portal-page .profile-label{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.page.teacher-portal-page .profile-value{color:var(--text-primary);font-size:14px;font-weight:500;word-break:break-word}.page.teacher-portal-page .classes-list{display:flex;flex-direction:column;gap:12px}.page.teacher-portal-page .class-item{align-items:center;background:var(--bg-alt);border-radius:var(--radius-input);display:flex;font-size:13px;justify-content:space-between;padding:10px}.page.teacher-portal-page .class-name{color:var(--text-primary);font-weight:500}.page.teacher-portal-page .subject-name{color:var(--text-secondary);font-size:12px}.page.teacher-portal-page .text-muted{color:var(--text-muted);font-size:13px;margin:0}.page.teacher-portal-page .stats-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.page.teacher-portal-page .stat{background:var(--bg-alt);border-radius:var(--radius-input);padding:12px;text-align:center}.page.teacher-portal-page .stat-value{color:var(--primary);font-size:24px;font-weight:700;margin-bottom:4px}.page.teacher-portal-page .stat-label{color:var(--text-secondary);font-size:12px}.page.teacher-portal-page .quick-actions{margin-top:32px}.page.teacher-portal-page .quick-actions h3{color:var(--text-primary);font-size:16px;font-weight:600;margin:0 0 16px}.page.teacher-portal-page .actions-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr)}@media (max-width:1200px){.page.teacher-portal-page .actions-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.page.teacher-portal-page .actions-grid{grid-template-columns:1fr}}.page.teacher-portal-page .action-btn{align-items:center;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-input);color:var(--primary);cursor:pointer;display:flex;flex-direction:column;font-size:13px;font-weight:500;gap:8px;justify-content:center;padding:16px;transition:transform .2s ease,border-color .2s ease,background-color .2s ease}.page.teacher-portal-page .action-btn:hover{background:var(--bg-alt);border-color:var(--primary);transform:translateY(-2px)}.page.teacher-portal-page .action-btn svg{color:var(--primary)}.page.teacher-portal-page .loading-container{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:400px}.page.teacher-portal-page .spinner{animation:spin .8s linear infinite;border:4px solid var(--border);border-radius:50%;border-top-color:var(--primary);height:40px;width:40px}@media (max-width:768px){.page.teacher-portal-page .page-header{align-items:flex-start;flex-direction:column;gap:16px}.page.teacher-portal-page .header-actions{justify-content:space-between;width:100%}.page.teacher-portal-page .tabs-container{flex-wrap:wrap}.page.teacher-portal-page .dashboard-grid{grid-template-columns:1fr}.page.teacher-portal-page .actions-grid,.page.teacher-portal-page .stats-grid{grid-template-columns:repeat(2,1fr)}}.super-admin-portal{display:flex;flex-direction:column;gap:2rem}.super-admin-portal .portal-tabs{border-bottom:2px solid var(--border);display:flex;gap:1rem;margin-bottom:2rem;overflow-x:auto}.super-admin-portal .portal-tabs .tab{align-items:center;background:none;border:none;border-bottom:3px solid #0000;color:var(--text-secondary);cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:.5rem;padding:1rem 1.5rem;transition:all .3s ease;white-space:nowrap}.super-admin-portal .portal-tabs .tab:hover{background-color:var(--bg-alt);color:var(--primary)}.super-admin-portal .portal-tabs .tab.active{border-bottom-color:var(--primary);color:var(--primary)}.super-admin-portal .tab-content{animation:fadeIn .3s ease;display:flex;flex-direction:column;gap:2rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.super-admin-portal .stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.super-admin-portal .stat-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);display:flex;gap:1.5rem;padding:1.5rem;transition:all .3s ease}.super-admin-portal .stat-card:hover{border-color:var(--primary);box-shadow:var(--shadow-hover)}.super-admin-portal .stat-icon{align-items:center;border-radius:var(--radius-card);color:#fff;display:flex;flex-shrink:0;height:60px;justify-content:center;width:60px}.super-admin-portal .stat-icon.schools{background:linear-gradient(135deg,var(--primary) 0,var(--primary-hover) 100%)}.super-admin-portal .stat-icon.students{background:linear-gradient(135deg,var(--secondary) 0,#1e40af 100%)}.super-admin-portal .stat-icon.staff{background:linear-gradient(135deg,var(--accent) 0,#b45309 100%)}.super-admin-portal .stat-icon.status{background:linear-gradient(135deg,var(--primary-hover) 0,var(--primary) 100%)}.super-admin-portal .stat-content h3{color:var(--text-secondary);font-size:.875rem;font-weight:500;margin:0}.super-admin-portal .stat-content .stat-number{color:var(--text-primary);font-size:2rem;font-weight:700;margin:.5rem 0}.super-admin-portal .stat-content .stat-number.healthy{align-items:center;color:#059669;display:flex;font-size:1.125rem;gap:.5rem}.super-admin-portal .stat-content .stat-label{color:var(--text-muted);font-size:.875rem}.super-admin-portal .section{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:2rem}.super-admin-portal .section h2{color:var(--text-primary);font-size:1.5rem;margin:0 0 1.5rem}.super-admin-portal .section-description{color:var(--text-secondary);margin-bottom:1.5rem}.super-admin-portal .section-header{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:2rem}.super-admin-portal .search-bar{align-items:center;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-input);color:var(--text-secondary);display:flex;flex:1 1;gap:.75rem;max-width:400px;padding:.75rem 1rem}.super-admin-portal .search-bar input{background:#0000;border:none;flex:1 1;font-size:1rem;outline:none}.super-admin-portal .search-bar input::placeholder{color:var(--text-muted)}.super-admin-portal .actions-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.super-admin-portal .action-card{align-items:center;background:var(--bg-surface);border:2px solid var(--border);border-radius:var(--radius-card);cursor:pointer;display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:2rem;text-align:center;transition:all .3s ease}.super-admin-portal .action-card:hover{background:var(--bg-alt);border-color:var(--primary);box-shadow:var(--shadow-hover);transform:translateY(-4px)}.super-admin-portal .action-card svg{color:var(--primary);font-size:2rem}.super-admin-portal .action-card h3{color:var(--text-primary);font-size:1.125rem;margin:0}.super-admin-portal .action-card p{color:var(--text-secondary);font-size:.875rem;margin:0}.super-admin-portal .schools-list{display:flex;flex-direction:column;gap:1rem}.super-admin-portal .school-item{align-items:center;background:var(--bg-default);border:1px solid var(--border);border-radius:var(--radius-input);display:flex;justify-content:space-between;padding:1.5rem;transition:all .3s ease}.super-admin-portal .school-item:hover{background:var(--bg-alt);border-color:var(--primary)}.super-admin-portal .school-info h3{color:var(--text-primary);font-size:1.125rem;margin:0 0 .25rem}.super-admin-portal .school-info p{color:var(--text-secondary);font-size:.875rem;margin:0}.super-admin-portal .table-container{border:1px solid var(--border);border-radius:var(--radius-card);overflow-x:auto}.super-admin-portal .data-table{background:var(--bg-surface);border-collapse:collapse;width:100%}.super-admin-portal .data-table thead{background:var(--bg-alt);border-bottom:1px solid var(--border)}.super-admin-portal .data-table th{color:var(--text-secondary);font-size:.875rem;font-weight:600;letter-spacing:.05em;padding:1rem;text-align:left;text-transform:uppercase}.super-admin-portal .data-table td{border-bottom:1px solid var(--border);color:var(--text-primary);padding:1rem}.super-admin-portal .data-table tbody tr:hover{background:var(--bg-alt)}.super-admin-portal .data-table .font-medium{color:var(--text-primary);font-weight:600}.super-admin-portal .data-table .badge{border-radius:var(--radius-button);display:inline-block;font-size:.875rem;font-weight:500;padding:.25rem .75rem}.super-admin-portal .data-table .badge-primary{background:#1d4ed81a;color:var(--secondary)}.super-admin-portal .data-table .actions{display:flex;gap:.5rem}.super-admin-portal .icon-btn{align-items:center;background:var(--bg-alt);border:none;border-radius:var(--radius-button);color:var(--text-secondary);cursor:pointer;display:inline-flex;height:32px;justify-content:center;transition:all .3s ease;width:32px}.super-admin-portal .icon-btn:hover{background:var(--primary);color:#fff}.super-admin-portal .settings-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.super-admin-portal .setting-card{background:var(--bg-default);border:1px solid var(--border);border-radius:var(--radius-card);padding:1.5rem;transition:all .3s ease}.super-admin-portal .setting-card:hover{background:var(--bg-alt);border-color:var(--primary)}.super-admin-portal .setting-card h3{color:var(--text-primary);font-size:1.125rem;margin:0 0 .5rem}.super-admin-portal .setting-card p{color:var(--text-secondary);font-size:.875rem;margin:0 0 1rem}.super-admin-portal .info-box{background:#05966914;border:1px solid #0596694d;border-radius:var(--radius-input);color:#059669;display:flex;gap:1rem;padding:1rem}.super-admin-portal .info-box svg{flex-shrink:0}.super-admin-portal .info-box p{margin:0}.super-admin-portal .modal-overlay{align-items:center;animation:modalOverlayIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0614108c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.super-admin-portal .modal{animation:modalIn .25s cubic-bezier(.16,1,.3,1);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-dropdown);display:flex;flex-direction:column;max-height:90vh;max-width:600px;width:90%}.super-admin-portal .modal-large{max-width:800px}.super-admin-portal .modal-scrollable{overflow-y:auto}.super-admin-portal .modal-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:1.5rem}.super-admin-portal .modal-header h2{color:var(--text-primary);font-size:1.5rem;margin:0}.super-admin-portal .close-btn{align-items:center;background:none;border:none;color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:0;transition:color .3s ease}.super-admin-portal .close-btn:hover{color:var(--text-primary)}.super-admin-portal .modal-content{display:flex;flex:1 1;flex-direction:column;gap:1rem;overflow-y:auto;padding:1.5rem}.super-admin-portal .modal-actions{border-top:1px solid var(--border);display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem}.super-admin-portal .form-group{display:flex;flex-direction:column;gap:.5rem}.super-admin-portal .form-group label{color:var(--text-primary);font-size:.875rem;font-weight:500}.super-admin-portal .form-group input,.super-admin-portal .form-group select,.super-admin-portal .form-group textarea{border:1px solid var(--border);border-radius:var(--radius-input);font-size:1rem;padding:.75rem;transition:border-color .3s ease}.super-admin-portal .form-group input:focus,.super-admin-portal .form-group select:focus,.super-admin-portal .form-group textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #064e3b1a;outline:none}.super-admin-portal .form-group textarea{font-family:inherit;resize:vertical}.super-admin-portal .form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.super-admin-portal .btn{align-items:center;border:none;border-radius:var(--radius-button);cursor:pointer;display:inline-flex;font-size:1rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease}.super-admin-portal .btn:hover{transform:translateY(-1px)}.super-admin-portal .btn-primary{background:var(--primary);color:var(--primary-fg)}.super-admin-portal .btn-primary:hover{background:var(--primary-hover);box-shadow:var(--shadow-hover)}.super-admin-portal .btn-secondary{background:var(--bg-alt);color:var(--text-primary)}.super-admin-portal .btn-secondary:hover{background:var(--border)}.super-admin-portal .btn-small{font-size:.875rem;padding:.5rem 1rem}.super-admin-portal .btn-danger{background:#dc26261a;color:#dc2626}.super-admin-portal .btn-danger:hover{background:#dc26262e}.super-admin-portal .loading-container{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:400px}.super-admin-portal .spinner{animation:spin 1s linear infinite;border:4px solid var(--bg-alt);border-radius:50%;border-top-color:var(--primary);height:40px;width:40px}.super-admin-portal .filters{display:flex;flex-wrap:wrap;gap:1rem}.super-admin-portal .filter-select{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-input);cursor:pointer;font-size:.875rem;padding:.75rem;transition:border-color .3s ease}.super-admin-portal .filter-select:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #064e3b1a;outline:none}.super-admin-portal .pagination{align-items:center;border-top:1px solid var(--border);display:flex;gap:1rem;justify-content:center;margin-top:2rem;padding-top:2rem}.super-admin-portal .page-info{color:var(--text-secondary);font-size:.875rem;font-weight:500}.super-admin-portal .ticket-info-grid{grid-gap:1.5rem;background:var(--bg-default);border-radius:var(--radius-card);display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:1.5rem;padding:1.5rem}.super-admin-portal .ticket-info-grid label{color:var(--text-secondary);display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.super-admin-portal .ticket-info-grid p{color:var(--text-primary);font-size:1rem;margin:0}.super-admin-portal .ticket-section{margin-bottom:2rem}.super-admin-portal .ticket-section h3{color:var(--text-primary);font-size:1.125rem;margin:0 0 1rem}.super-admin-portal .ticket-section p{color:var(--text-secondary);line-height:1.5;margin:0 0 1rem}.super-admin-portal .comments-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem;max-height:300px;overflow-y:auto}.super-admin-portal .comment-item{background:var(--bg-default);border:1px solid var(--border);border-radius:var(--radius-input);padding:1rem}.super-admin-portal .comment-header{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.5rem}.super-admin-portal .comment-header strong{color:var(--text-primary)}.super-admin-portal .comment-date{color:var(--text-muted);font-size:.75rem;white-space:nowrap}.super-admin-portal .comment-item p{color:var(--text-secondary);font-size:.875rem;margin:0}.super-admin-portal .no-comments{color:var(--text-muted);font-style:italic;padding:2rem;text-align:center}.super-admin-portal .add-comment{background:var(--bg-default);border:1px solid var(--border);border-radius:var(--radius-input);display:flex;flex-direction:column;gap:1rem;padding:1rem}.super-admin-portal .add-comment textarea{border:1px solid var(--border);border-radius:var(--radius-input);font-family:inherit;font-size:.875rem;padding:.75rem;resize:vertical;transition:border-color .3s ease}.super-admin-portal .add-comment textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #064e3b1a;outline:none}.super-admin-portal .badge.badge-secondary{background:#1d4ed81a;color:var(--secondary)}@media (max-width:768px){.super-admin-portal .portal-tabs{gap:.5rem;overflow-x:auto}.super-admin-portal .portal-tabs .tab{font-size:.875rem;padding:1rem}.super-admin-portal .stats-grid{grid-template-columns:1fr}.super-admin-portal .stat-card{flex-direction:column;text-align:center}.super-admin-portal .stat-icon{height:50px;margin:0 auto;width:50px}.super-admin-portal .section-header{flex-direction:column}.super-admin-portal .search-bar{max-width:100%}.super-admin-portal .actions-grid,.super-admin-portal .form-row,.super-admin-portal .settings-grid{grid-template-columns:1fr}.super-admin-portal .modal{max-height:95vh;width:95%}.super-admin-portal .modal-actions{flex-direction:column-reverse}.super-admin-portal .modal-actions button{width:100%}}.sms-dashboard{background-color:var(--bg-default);min-height:100vh;padding:2rem}.sms-dashboard .sms-header{background:linear-gradient(135deg,var(--primary) 0,var(--secondary) 100%);border-radius:var(--radius-card);color:#fff;margin-bottom:2.5rem;padding:2.5rem}.sms-dashboard .sms-header-content h1{font-size:2rem;font-weight:700;margin-bottom:.5rem}.sms-dashboard .sms-header-content p{font-size:1rem;opacity:.9}.sms-dashboard .sms-stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:2.5rem}.sms-dashboard .stat-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-xs);display:flex;gap:1rem;padding:1.5rem;transition:transform .2s,box-shadow .2s}.sms-dashboard .stat-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.sms-dashboard .stat-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;height:56px;justify-content:center;width:56px}.sms-dashboard .stat-content{flex:1 1}.sms-dashboard .stat-label{color:var(--text-secondary);font-size:.875rem;font-weight:500;margin-bottom:.25rem}.sms-dashboard .stat-value{color:var(--text-primary);font-size:1.875rem;font-weight:700}.sms-dashboard .sms-controls{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.sms-dashboard .search-box{flex:1 1;min-width:250px;position:relative}.sms-dashboard .search-icon{color:var(--text-muted);left:12px;position:absolute;top:50%;transform:translateY(-50%)}.sms-dashboard .search-input{background-color:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-input);font-size:.95rem;padding:10px 12px 10px 40px;transition:border-color .2s;width:100%}.sms-dashboard .search-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #064e3b1a;outline:none}.sms-dashboard .filter-group{display:flex;flex-wrap:wrap;gap:1rem}.sms-dashboard .filter-select{background-color:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-input);cursor:pointer;font-size:.95rem;padding:10px 12px;transition:border-color .2s}.sms-dashboard .filter-select:focus{border-color:var(--border-focus);outline:none}.sms-dashboard .refresh-btn{align-items:center;background-color:var(--primary);border:none;border-radius:var(--radius-button);color:var(--primary-fg);cursor:pointer;display:flex;font-weight:500;gap:.5rem;padding:10px 16px;transition:background-color .2s,transform .2s,box-shadow .2s}.sms-dashboard .refresh-btn:hover{background-color:var(--primary-hover);box-shadow:var(--shadow-hover);transform:translateY(-1px)}.sms-dashboard .refresh-btn:active{transform:scale(.98)}.sms-dashboard .sms-table-container{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-xs);margin-bottom:2rem;overflow:hidden}.sms-dashboard .sms-table{border-collapse:collapse;width:100%}.sms-dashboard .sms-table thead{background-color:var(--bg-alt);border-bottom:2px solid var(--border)}.sms-dashboard .sms-table th{color:var(--text-secondary);font-size:.875rem;font-weight:600;letter-spacing:.5px;padding:1rem;text-align:left;text-transform:uppercase}.sms-dashboard .sms-table tbody tr{border-bottom:1px solid var(--bg-alt);transition:background-color .2s}.sms-dashboard .sms-table tbody tr:hover{background-color:var(--bg-default)}.sms-dashboard .sms-table td{color:var(--text-primary);font-size:.95rem;padding:1rem}.sms-dashboard .phone-cell{align-items:center;color:var(--primary);display:flex;font-family:Courier New,monospace;font-weight:500;gap:.5rem}.sms-dashboard .phone-icon{color:var(--primary)}.sms-dashboard .recipient-cell{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sms-dashboard .message-cell{color:var(--text-secondary);max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sms-dashboard .status-badge,.sms-dashboard .type-badge{border-radius:var(--radius-button);display:inline-block;font-size:.825rem;font-weight:500;padding:.35rem .75rem}.sms-dashboard .date-cell{color:var(--text-muted);font-size:.85rem;white-space:nowrap}.sms-dashboard .action-btn{align-items:center;background-color:var(--bg-alt);border:none;border-radius:var(--radius-button);color:var(--primary);cursor:pointer;display:inline-flex;justify-content:center;padding:.5rem .75rem;transition:all .2s}.sms-dashboard .action-btn:hover{background-color:var(--primary);color:#fff}.sms-dashboard .pagination{align-items:center;display:flex;gap:1rem;justify-content:center;margin-top:2rem}.sms-dashboard .pagination-btn{background-color:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-button);color:var(--primary);cursor:pointer;font-weight:500;padding:.625rem 1.25rem;transition:all .2s}.sms-dashboard .pagination-btn:hover:not(:disabled){background-color:var(--primary);border-color:var(--primary);color:#fff}.sms-dashboard .pagination-btn:disabled{cursor:not-allowed;opacity:.5}.sms-dashboard .pagination-info{color:var(--text-secondary);font-size:.95rem;min-width:200px;text-align:center}.sms-dashboard .modal-overlay{align-items:center;animation:modalOverlayIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0614108c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.sms-dashboard .modal{animation:modalIn .25s cubic-bezier(.16,1,.3,1);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-dropdown);max-height:90vh;max-width:600px;overflow-y:auto;width:90%}.sms-dashboard .modal-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:1.5rem}.sms-dashboard .modal-header h2{color:var(--text-primary);font-size:1.5rem;font-weight:700;margin:0}.sms-dashboard .modal-close{align-items:center;background:none;border:none;border-radius:6px;color:var(--text-muted);cursor:pointer;display:flex;font-size:2rem;height:2rem;justify-content:center;padding:0;transition:all .2s;width:2rem}.sms-dashboard .modal-close:hover{background-color:var(--bg-alt);color:var(--text-primary)}.sms-dashboard .modal-body{padding:1.5rem}.sms-dashboard .detail-row{border-bottom:1px solid var(--bg-alt);margin-bottom:1.25rem;padding-bottom:1.25rem}.sms-dashboard .detail-row:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.sms-dashboard .detail-row label{color:var(--text-secondary);display:block;font-size:.875rem;font-weight:600;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.sms-dashboard .detail-row p{color:var(--text-primary);font-size:.95rem;margin:0}.sms-dashboard .message-detail{line-height:1.5;white-space:pre-wrap;word-break:break-word}.sms-dashboard .detail-row.error{background-color:#dc262614;border-left:3px solid #dc2626;border-radius:var(--radius-input);padding:1rem}.sms-dashboard .detail-row.error p{color:#dc2626}.sms-dashboard .loading-spinner{animation:spin 1s linear infinite;border-top:4px solid var(--bg-alt);border:4px solid var(--bg-alt);border-radius:50%;border-top-color:var(--primary);display:inline-block;height:40px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.sms-dashboard{padding:1rem}.sms-dashboard .sms-header{padding:1.5rem}.sms-dashboard .sms-header-content h1{font-size:1.5rem}.sms-dashboard .sms-stats-grid{gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.sms-dashboard .sms-controls{flex-direction:column}.sms-dashboard .search-box{min-width:0;min-width:auto}.sms-dashboard .filter-group{width:100%}.sms-dashboard .filter-select{flex:1 1}.sms-dashboard .sms-table{font-size:.85rem}.sms-dashboard .sms-table td,.sms-dashboard .sms-table th{padding:.75rem .5rem}.sms-dashboard .phone-cell{align-items:flex-start;flex-direction:column}.sms-dashboard .message-cell{max-width:200px}.sms-dashboard .pagination{flex-wrap:wrap}.sms-dashboard .modal{width:95%}}@media (max-width:480px){.sms-dashboard .sms-header-content h1{font-size:1.25rem}.sms-dashboard .sms-stats-grid{grid-template-columns:1fr}.sms-dashboard .stat-card{padding:1rem}.sms-dashboard .sms-table th{font-size:.75rem}.sms-dashboard .sms-table td{font-size:.8rem}.sms-dashboard .action-btn{padding:.4rem .6rem}}.operations-page{background:#f5f7f4;color:#1d2b24;min-height:100%;padding:32px 36px}.operations-header{border-bottom:1px solid #d9e2da;padding-bottom:24px}.operations-header h1{font-family:Georgia,serif;font-size:38px;margin:8px 0}.operations-header p{color:#68766d}.operations-tabs{display:flex;gap:8px;padding:20px 0}.operations-tabs button{align-items:center;background:#0000;border:0;color:#627067;cursor:pointer;display:flex;font-weight:700;gap:8px;padding:12px 16px}.operations-tabs button.active{background:#1d2b24;border-radius:6px;color:#fff}.operations-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}.ops-form,.ops-list{background:#fff;border:1px solid #dce5de;border-radius:6px;padding:20px}.ops-form h2,.ops-list h2{font-size:18px;margin:0 0 16px}.ops-list h2 span{color:#c45b35;float:right}.ops-form input,.ops-form select,.ops-form textarea{background:#fbfcfb;border:1px solid #cbd8ce;border-radius:4px;box-sizing:border-box;font:inherit;margin-bottom:11px;padding:11px;width:100%}.ops-form textarea{min-height:90px;resize:vertical}.primary{align-items:center;display:flex;gap:7px}.ops-list article{border-top:1px solid #e8eee9;padding:13px 0;position:relative}.ops-list article small,.ops-list article strong{display:block}.ops-list article small{color:#738078;margin-top:5px}.ops-list article em{color:#47735b;font-size:11px;font-style:normal;position:absolute;right:0;text-transform:uppercase;top:14px}.status-open,.status-urgent{color:#c45b35!important}.muted{color:#859188;font-size:14px}.ops-actions{margin-top:8px}.ops-actions button{border:1px solid #c45b35;border-radius:4px;color:#c45b35;font-size:12px;padding:6px 10px}.ops-actions button,.secondary{background:#0000;cursor:pointer;font-weight:700}.secondary{border:1px solid #1d2b24;border-radius:4px;color:#1d2b24;margin-bottom:16px;padding:10px 14px}.check{align-items:center;display:flex;gap:8px;margin:5px 0 14px}.check input{margin:0;width:auto}.documents-grid{grid-template-columns:1fr 1fr}@media(max-width:900px){.operations-page{padding:22px 16px}.operations-header h1{font-size:30px}.operations-tabs{overflow:auto}.operations-tabs button{white-space:nowrap}.documents-grid,.operations-grid{grid-template-columns:1fr}}.survey-response{color:#1d2b24;margin:0 auto;max-width:760px;padding:48px 24px}.survey-response h1{font-family:Georgia,serif;font-size:42px;margin:8px 0 12px}.survey-description{color:#68766d;margin-bottom:32px}.survey-response form{background:#fff;border:1px solid #dce5de;border-radius:6px;padding:28px}.survey-question{display:block;margin-bottom:22px}.survey-question strong{display:block;margin-bottom:8px}.survey-question select,.survey-question textarea{background:#fbfcfb;border:1px solid #cbd8ce;border-radius:4px;box-sizing:border-box;font:inherit;padding:11px;width:100%}.survey-question textarea{min-height:86px;resize:vertical}.survey-success{padding:64px 0;text-align:center}.survey-success p{color:#68766d;margin-bottom:24px}.primary{border:0;border-radius:4px;cursor:pointer;font-weight:700;padding:11px 14px}.eyebrow{color:#c45b35;font-size:12px;font-weight:800;letter-spacing:1.5px}.survey-builder{color:#1d2b24;margin:0 auto;max-width:820px;padding:38px 24px}.survey-builder h1{font-family:Georgia,serif;font-size:40px;margin:8px 0 28px}.add-option,.back-link,.remove-link{background:none;border:0;color:#c45b35;cursor:pointer;font-weight:700;padding:0}.builder-panel,.question-panel{background:#fff;border:1px solid #dce5de;border-radius:6px;margin-bottom:16px;padding:22px}.builder-panel input,.builder-panel textarea,.choice-list input,.question-panel select,.question-panel>input{background:#fbfcfb;border:1px solid #cbd8ce;border-radius:4px;box-sizing:border-box;font:inherit;margin-bottom:12px;padding:11px;width:100%}.builder-title{font-size:22px}.builder-panel textarea{min-height:80px;resize:vertical}.builder-row{align-items:center;display:flex;gap:16px}.builder-row select{max-width:220px}.builder-row label{white-space:nowrap}.builder-row input,.question-panel label input{margin:0;width:auto}.question-heading{display:flex;justify-content:space-between;margin-bottom:14px}.choice-list{grid-gap:8px;display:grid;gap:8px}.choice-list input{margin:0}.add-question,.primary{border:0;border-radius:4px;cursor:pointer;font-weight:700;margin:4px 10px 18px 0;padding:12px 16px}.add-question{background:#e5eee7;color:#1d2b24}.primary{background:#c45b35;color:#fff}.primary:disabled{opacity:.6}@media(max-width:600px){.survey-builder h1{font-size:32px}.builder-row{align-items:flex-start;flex-direction:column}.builder-row select{max-width:none}}
/*# sourceMappingURL=main.e4e528ee.css.map*/