@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-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}.-left-40{left:-10rem}.-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-10{left:2.5rem}.left-2{left:.5rem}.left-\[50\%\]{left:50%}.right-0{right:0}.right-1{right:.25rem}.right-10{right:2.5rem}.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-40{top:10rem}.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}.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}.-mb-px{margin-bottom:-1px}.-ml-4{margin-left:-1rem}.-mt-4{margin-top:-1rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-20{margin-bottom:5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.me-2{-webkit-margin-end:.5rem;margin-inline-end:.5rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.ms-2{-webkit-margin-start:.5rem;margin-inline-start:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.mt-20{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}.line-clamp-2{-webkit-box-orient:vertical;-webkit-line-clamp:2;display:-webkit-box;overflow:hidden}.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-14{height:3.5rem}.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-48{height:12rem}.h-5{height:1.25rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-80{height:20rem}.h-9{height:2.25rem}.h-96{height:24rem}.h-\[1px\]{height:1px}.h-\[var\(--radix-navigation-menu-viewport-height\)\]{height:var(--radix-navigation-menu-viewport-height)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-\[--radix-context-menu-content-available-height\]{max-height:var(--radix-context-menu-content-available-height)}.max-h-\[--radix-select-content-available-height\]{max-height:var(--radix-select-content-available-height)}.max-h-\[300px\]{max-height:300px}.max-h-\[var\(--radix-dropdown-menu-content-available-height\)\]{max-height:var(--radix-dropdown-menu-content-available-height)}.max-h-screen{max-height:100vh}.min-h-\[60px\]{min-height:60px}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-24{width:6rem}.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-80{width:20rem}.w-9{width:2.25rem}.w-96{width:24rem}.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-3xl{max-width:48rem}.max-w-6xl{max-width:72rem}.max-w-\[1600px\]{max-width:1600px}.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{flex-shrink:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow,.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-180{--tw-rotate:180deg}.rotate-180,.rotate-45{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-45{--tw-rotate:45deg}.rotate-90{--tw-rotate:90deg}.rotate-90,.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-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,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-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.75rem*var(--tw-space-x-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.375rem*var(--tw-space-y-reverse));margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)))}.space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(3rem*var(--tw-space-y-reverse));margin-top:calc(3rem*(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}.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-b-2{border-bottom-width:2px}.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\]\/10{border-color:#064e3b1a}.border-\[\#064E3B\]\/20{border-color:#064e3b33}.border-\[\#333\]{--tw-border-opacity:1;border-color:#333;border-color:rgb(51 51 51/var(--tw-border-opacity,1))}.border-\[\#E4E4E7\]{--tw-border-opacity:1;border-color:#e4e4e7;border-color:rgb(228 228 231/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-input{border-color:#e5e5e5;border-color:hsl(var(--input))}.border-primary{border-color:#171717;border-color:hsl(var(--primary))}.border-primary\/50{border-color:#17171780;border-color:hsl(var(--primary)/.5)}.border-transparent{border-color:#0000}.border-l-transparent{border-left-color:#0000}.border-t-transparent{border-top-color:#0000}.bg-\[\#064E3B\]{--tw-bg-opacity:1;background-color:#064e3b;background-color:rgb(6 78 59/var(--tw-bg-opacity,1))}.bg-\[\#064E3B\]\/10{background-color:#064e3b1a}.bg-\[\#064E3B\]\/5{background-color:#064e3b0d}.bg-\[\#1A1A1A\]{--tw-bg-opacity:1;background-color:#1a1a1a;background-color:rgb(26 26 26/var(--tw-bg-opacity,1))}.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-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-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-muted{background-color:#f5f5f5;background-color:hsl(var(--muted))}.bg-muted\/50{background-color:#f5f5f580;background-color:hsl(var(--muted)/.5)}.bg-popover{background-color:#fff;background-color:hsl(var(--popover))}.bg-primary{background-color:#171717;background-color:hsl(var(--primary))}.bg-primary\/10{background-color:#1717171a;background-color:hsl(var(--primary)/.1)}.bg-primary\/20{background-color:#17171733;background-color:hsl(var(--primary)/.2)}.bg-secondary{background-color:#f5f5f5;background-color:hsl(var(--secondary))}.bg-transparent{background-color:initial}.bg-white{--tw-bg-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/5{background-color:#ffffff0d}.bg-white\/95{background-color:#fffffff2}.bg-opacity-10{--tw-bg-opacity:0.1}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.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\]{--tw-gradient-from:#064e3b 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-\[\#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-\[\#064E3B\]\/5{--tw-gradient-from:#064e3b0d 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)}.from-white{--tw-gradient-from:#fff var(--tw-gradient-from-position);--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-white\/40{--tw-gradient-from:#fff6 var(--tw-gradient-from-position);--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-white\/85{--tw-gradient-from:#ffffffd9 var(--tw-gradient-from-position);--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-\[\#065F46\]{--tw-gradient-to:#065f4600 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#065f46 var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-white\/30{--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#ffffff4d var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-white\/70{--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#ffffffb3 var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-\[\#064E3B\]{--tw-gradient-to:#064e3b var(--tw-gradient-to-position)}.to-\[\#065F46\]{--tw-gradient-to:#065f46 var(--tw-gradient-to-position)}.to-\[\#9A3412\]\/10{--tw-gradient-to:#9a34121a var(--tw-gradient-to-position)}.to-\[\#FAFAED\]{--tw-gradient-to:#fafaed var(--tw-gradient-to-position)}.to-slate-100{--tw-gradient-to:#f1f5f9 var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to:#0000 var(--tw-gradient-to-position)}.to-white\/50{--tw-gradient-to:#ffffff80 var(--tw-gradient-to-position)}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.fill-\[\#D97706\]{fill:#d97706}.fill-current{fill:currentColor}.fill-primary{fill:#171717;fill:hsl(var(--primary))}.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\.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-12{padding-bottom:3rem;padding-top:3rem}.py-16{padding-bottom:4rem;padding-top:4rem}.py-20{padding-bottom:5rem;padding-top:5rem}.py-24{padding-bottom:6rem;padding-top:6rem}.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-24{padding-bottom:6rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.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-20{padding-top:5rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.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-5xl{font-size:3rem;line-height:1}.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-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-normal{font-weight:400}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.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-\[\#A1A1AA\]{--tw-text-opacity:1;color:#a1a1aa;color:rgb(161 161 170/var(--tw-text-opacity,1))}.text-\[\#D97706\]{--tw-text-opacity:1;color:#d97706;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-accent-foreground{color:#171717;color:hsl(var(--accent-foreground))}.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-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-secondary{color:#f5f5f5;color:hsl(var(--secondary))}.text-secondary-foreground{color:#171717;color:hsl(var(--secondary-foreground))}.text-transparent{color:#0000}.text-white{--tw-text-opacity:1;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/70{color:#ffffffb3}.text-white\/90{color:#ffffffe6}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.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,.blur-3xl{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)}.blur-3xl{--tw-blur:blur(64px)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-xl{--tw-backdrop-blur:blur(24px)}.backdrop-blur-xl,.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-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-shadow{transition-duration:.15s;transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-1000{transition-duration:1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes enter{0%{opacity:1;opacity:var(--tw-enter-opacity,1);transform:translateZ(0) scaleX(1) rotate(0);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:1;opacity:var(--tw-exit-opacity,1);transform:translateZ(0) scaleX(1) rotate(0);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.animate-in{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-duration:.15s;animation-name:enter}.fade-in-0{--tw-enter-opacity:0}.zoom-in-95{--tw-enter-scale:.95}.duration-1000{animation-duration:1s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.running{animation-play-state:running}body{-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\:-translate-y-1:hover{--tw-translate-y:-0.25rem}.hover\:-translate-y-1:hover,.hover\:-translate-y-2:hover{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))}.hover\:-translate-y-2:hover{--tw-translate-y:-0.5rem}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;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))}.hover\:border-\[\#064E3B\]:hover{--tw-border-opacity:1;border-color:#064e3b;border-color:rgb(6 78 59/var(--tw-border-opacity,1))}.hover\:border-\[\#064E3B\]\/30:hover{border-color:#064e3b4d}.hover\:border-\[\#065F46\]:hover{--tw-border-opacity:1;border-color:#065f46;border-color:rgb(6 95 70/var(--tw-border-opacity,1))}.hover\:bg-\[\#064E3B\]\/10:hover{background-color:#064e3b1a}.hover\:bg-\[\#064E3B\]\/5:hover{background-color:#064e3b0d}.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-\[\#F0F9F7\]:hover{--tw-bg-opacity:1;background-color:#f0f9f7;background-color:rgb(240 249 247/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-\[\#FAFAED\]:hover{--tw-bg-opacity:1;background-color:#fafaed;background-color:rgb(250 250 237/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\:bg-white:hover{--tw-bg-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.hover\:bg-white\/90:hover{background-color:#ffffffe6}.hover\:text-\[\#064E3B\]:hover{--tw-text-opacity:1;color:#064e3b;color:rgb(6 78 59/var(--tw-text-opacity,1))}.hover\:text-\[\#065F46\]:hover{--tw-text-opacity:1;color:#065f46;color:rgb(6 95 70/var(--tw-text-opacity,1))}.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\:text-white:hover{--tw-text-opacity:1;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:underline:hover{-webkit-text-decoration-line:underline;text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-80:hover{opacity:.8}.hover\:shadow-2xl:hover{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.hover\:shadow-2xl:hover,.hover\:shadow-lg:hover{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)}.hover\:shadow-lg:hover{--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)}.hover\:shadow-md:hover{--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)}.hover\:shadow-md:hover,.hover\:shadow-xl:hover{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)}.hover\:shadow-xl:hover{--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)}.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))}.active\:scale-95:active{--tw-scale-x:.95;--tw-scale-y:.95;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))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group\/link:hover .group-hover\/link\:translate-x-1{--tw-translate-x:0.25rem}.group:hover .group-hover\:scale-110,.group\/link:hover .group-hover\/link\:translate-x-1{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))}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1}.group:hover .group-hover\:bg-\[\#064E3B\]{--tw-bg-opacity:1;background-color:#064e3b;background-color:rgb(6 78 59/var(--tw-bg-opacity,1))}.group:hover .group-hover\:bg-\[\#065F46\]{--tw-bg-opacity:1;background-color:#065f46;background-color:rgb(6 95 70/var(--tw-bg-opacity,1))}.group:hover .group-hover\:from-\[\#065F46\]{--tw-gradient-from:#065f46 var(--tw-gradient-from-position);--tw-gradient-to:#065f4600 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.group:hover .group-hover\:to-\[\#077853\]{--tw-gradient-to:#077853 var(--tw-gradient-to-position)}.group:hover .group-hover\:text-\[\#064E3B\]{--tw-text-opacity:1;color:#064e3b;color:rgb(6 78 59/var(--tw-text-opacity,1))}.group:hover .group-hover\:text-white{--tw-text-opacity:1;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.group:hover .group-hover\:opacity-100{opacity:1}.group.destructive .group-\[\.destructive\]\:border-muted\/40{border-color:#f5f5f566;border-color:hsl(var(--muted)/.4)}.group.toaster .group-\[\.toaster\]\:border-border{border-color:#e5e5e5;border-color:hsl(var(--border))}.group.toast .group-\[\.toast\]\:bg-muted{background-color:#f5f5f5;background-color:hsl(var(--muted))}.group.toast .group-\[\.toast\]\:bg-primary{background-color:#171717;background-color:hsl(var(--primary))}.group.toaster .group-\[\.toaster\]\:bg-background{background-color:#fff;background-color:hsl(var(--background))}.group.destructive .group-\[\.destructive\]\:text-red-300{--tw-text-opacity:1;color:#fca5a5;color:rgb(252 165 165/var(--tw-text-opacity,1))}.group.toast .group-\[\.toast\]\:text-muted-foreground{color:#737373;color:hsl(var(--muted-foreground))}.group.toast .group-\[\.toast\]\:text-primary-foreground{color:#fafafa;color:hsl(var(--primary-foreground))}.group.toaster .group-\[\.toaster\]\:text-foreground{color:#0a0a0a;color:hsl(var(--foreground))}.group.toaster .group-\[\.toaster\]\:shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover{border-color:#ef44444d;border-color:hsl(var(--destructive)/.3)}.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover{background-color:#ef4444;background-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover{color:#fafafa;color:hsl(var(--destructive-foreground))}.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover{--tw-text-opacity:1;color:#fef2f2;color:rgb(254 242 242/var(--tw-text-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus{--tw-ring-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(248 113 113/var(--tw-ring-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus{--tw-ring-offset-color:#dc2626}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.has-\[\:disabled\]\:opacity-50:has(:disabled){opacity:.5}.aria-selected\:bg-accent[aria-selected=true]{background-color:#f5f5f5;background-color:hsl(var(--accent))}.aria-selected\:bg-accent\/50[aria-selected=true]{background-color:#f5f5f580;background-color:hsl(var(--accent)/.5)}.aria-selected\:text-accent-foreground[aria-selected=true]{color:#171717;color:hsl(var(--accent-foreground))}.aria-selected\:text-muted-foreground[aria-selected=true]{color:#737373;color:hsl(var(--muted-foreground))}.aria-selected\:opacity-100[aria-selected=true]{opacity:1}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true],.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction=vertical]{height:1px}.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction=vertical]{width:100%}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:0.25rem}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom],.data-\[side\=left\]\:-translate-x-1[data-side=left]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:-0.25rem}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:0.25rem}.data-\[side\=right\]\:translate-x-1[data-side=right],.data-\[side\=top\]\:-translate-y-1[data-side=top]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:-0.25rem}.data-\[state\=checked\]\:translate-x-4[data-state=checked]{--tw-translate-x:1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked],.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel]{--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{--tw-translate-x:var(--radix-toast-swipe-end-x)}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end],.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{--tw-translate-x:var(--radix-toast-swipe-move-x)}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:accordion-up .2s ease-out}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:accordion-down .2s ease-out}.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction=vertical]{flex-direction:column}.data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:#f5f5f5;background-color:hsl(var(--accent))}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:#fff;background-color:hsl(var(--background))}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:#171717;background-color:hsl(var(--primary))}.data-\[state\=on\]\:bg-accent[data-state=on],.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:#f5f5f5;background-color:hsl(var(--accent))}.data-\[state\=open\]\:bg-accent\/50[data-state=open]{background-color:#f5f5f580;background-color:hsl(var(--accent)/.5)}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:#f5f5f5;background-color:hsl(var(--secondary))}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:#f5f5f5;background-color:hsl(var(--muted))}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:#e5e5e5;background-color:hsl(var(--input))}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:#737373;color:hsl(var(--muted-foreground))}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:#171717;color:hsl(var(--accent-foreground))}.data-\[state\=active\]\:text-foreground[data-state=active]{color:#0a0a0a;color:hsl(var(--foreground))}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:#fafafa;color:hsl(var(--primary-foreground))}.data-\[state\=on\]\:text-accent-foreground[data-state=on],.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:#171717;color:hsl(var(--accent-foreground))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:#737373;color:hsl(var(--muted-foreground))}.data-\[disabled\=true\]\:opacity-50[data-disabled=true],.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=active\]\:shadow[data-state=active]{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}.data-\[state\=closed\]\:duration-300[data-state=closed]{transition-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{transition-duration:.5s}.data-\[motion\^\=from-\]\:animate-in[data-motion^=from-],.data-\[state\=open\]\:animate-in[data-state=open],.data-\[state\=visible\]\:animate-in[data-state=visible]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-duration:.15s;animation-name:enter}.data-\[motion\^\=to-\]\:animate-out[data-motion^=to-],.data-\[state\=closed\]\:animate-out[data-state=closed],.data-\[state\=hidden\]\:animate-out[data-state=hidden],.data-\[swipe\=end\]\:animate-out[data-swipe=end]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-duration:.15s;animation-name:exit}.data-\[motion\^\=from-\]\:fade-in[data-motion^=from-]{--tw-enter-opacity:0}.data-\[motion\^\=to-\]\:fade-out[data-motion^=to-],.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:fade-out-80[data-state=closed]{--tw-exit-opacity:0.8}.data-\[state\=hidden\]\:fade-out[data-state=hidden]{--tw-exit-opacity:0}.data-\[state\=open\]\:fade-in-0[data-state=open],.data-\[state\=visible\]\:fade-in[data-state=visible]{--tw-enter-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:zoom-in-90[data-state=open]{--tw-enter-scale:.9}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion=from-end]{--tw-enter-translate-x:13rem}.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion=from-start]{--tw-enter-translate-x:-13rem}.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion=to-end]{--tw-exit-translate-x:13rem}.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion=to-start]{--tw-exit-translate-x:-13rem}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-0.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:0.5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-0.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:0.5rem}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x:-50%}.data-\[state\=closed\]\:slide-out-to-right-full[data-state=closed],.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x:-50%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-top-full[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=closed\]\:duration-300[data-state=closed]{animation-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{animation-duration:.5s}.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);left:0}.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction=vertical]:after{content:var(--tw-content);height:.25rem}.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction=vertical]:after{content:var(--tw-content);width:100%}.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction=vertical]:after{--tw-translate-y:-50%;content:var(--tw-content);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction=vertical]:after{--tw-translate-x:0px;content:var(--tw-content);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=open\]\:focus\:bg-accent:focus[data-state=open],.data-\[state\=open\]\:hover\:bg-accent:hover[data-state=open]{background-color:#f5f5f5;background-color:hsl(var(--accent))}.group[data-state=open] .group-data-\[state\=open\]\:rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:border-destructive:is(.dark *){border-color:#ef4444;border-color:hsl(var(--destructive))}@media (min-width:640px){.sm\:bottom-0{bottom:0}.sm\:right-0{right:0}.sm\:top-auto{top:auto}.sm\:mt-0{margin-top:0}.sm\:inline{display:inline}.sm\:max-w-sm{max-width:24rem}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2\.5{gap:.625rem}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(0px*var(--tw-space-y-reverse));margin-top:calc(0px*(1 - var(--tw-space-y-reverse)))}.sm\:rounded-lg{border-radius:.5rem;border-radius:var(--radius)}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.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\:flex{display:flex}.md\:hidden{display:none}.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\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:p-12{padding:3rem}.md\:py-24{padding-bottom:6rem;padding-top:6rem}.md\:py-32{padding-bottom:8rem;padding-top:8rem}.md\:py-40{padding-bottom:10rem;padding-top:10rem}.md\:pb-32{padding-bottom:8rem}.md\:pt-40{padding-top:10rem}.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:text-7xl{font-size:4.5rem;line-height:1}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:px-8{padding-left:2rem;padding-right:2rem}}.\[\&\+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:#fafaed;--bg-surface:#fff;--bg-alt:#f3f4f1;--primary:#064e3b;--primary-hover:#065f46;--primary-fg:#fff;--secondary:#9a3412;--secondary-hover:#c2410c;--secondary-fg:#fff;--accent:#d97706;--text-primary:#1a1a1a;--text-secondary:#52525b;--text-muted:#a1a1aa;--border:#e4e4e7;--border-focus:#064e3b;--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}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;background-color:#fafaed;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,#fafaed,#f3f4f1);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:var(--spacing-sm)}.form-row{display:flex;gap:var(--spacing-md);width:100%}@media (max-width:640px){.form-row{flex-direction:column}}.form-group label{color:#1a1a1a;color:var(--text-primary)}.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: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;border-radius:var(--radius-button);font-size:.9375rem;gap:var(--spacing-sm);transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease}.btn:hover{transform:translateY(-1px)}.btn:active{transform:scale(.97)}.btn:disabled{transform:none}.btn-primary{background:var(--primary);color:var(--primary-fg)}.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:var(--bg-alt);border:1px solid var(--border);color:var(--text-primary)}.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:#f3f4f1;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-sm{font-size:.8125rem}.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{background:#fff;background:var(--bg-surface);border-right:1px solid #e4e4e7;border-right:1px solid var(--border);display:flex;flex-direction:column;height:100vh;left:0;position:fixed;top:0;transition:transform .3s ease;width:280px;z-index:100}.sidebar-overlay{display:none}@media (max-width:1024px){.sidebar{transform:translateX(-100%)}.sidebar.open{transform:translateX(0)}.sidebar-overlay{background:#0000004d;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 #e4e4e7;border-bottom:1px solid var(--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:#064e3b;color:var(--primary);font-family:Manrope,sans-serif;font-size:1.125rem;font-weight:700;gap:.5rem;gap:var(--spacing-sm)}.sidebar-close{background:none;border:none;color:#52525b;color:var(--text-secondary);cursor:pointer;display:none;font-size:1.5rem}@media (max-width:1024px){.sidebar-close{display:block}}.sidebar-nav{flex:1 1;overflow-y:auto;padding:1.5rem 0;padding:var(--spacing-lg) 0}.nav-item{color:#52525b;color:var(--text-secondary);font-weight:500;gap:1rem;gap:var(--spacing-md);padding:.875rem 2rem;padding:.875rem var(--spacing-xl);text-decoration:none;transition:background-color .2s ease,color .2s ease}.nav-item:hover{background:#f3f4f1;background:var(--bg-alt);color:#1a1a1a;color:var(--text-primary)}.nav-item.active{background:#064e3b14;border-right:3px solid #064e3b;border-right:3px solid var(--primary);color:#064e3b;color:var(--primary)}.nav-icon{align-items:center;display:flex;font-size:1.25rem;justify-content:center;width:24px}.nav-label{font-size:.9375rem}.sidebar-footer{border-top:1px solid #e4e4e7;border-top:1px solid var(--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{align-items:center;background:#064e3b;background:var(--primary);border-radius:50%;color:#fff;color:var(--primary-fg);display:flex;font-size:.875rem;font-weight:600;height:40px;justify-content:center;width:40px}.user-details{display:flex;flex-direction:column}.user-name{color:#1a1a1a;color:var(--text-primary);font-size:.875rem;font-weight:600}.user-role{color:#a1a1aa;color:var(--text-muted);font-size:.75rem;text-transform:capitalize}.btn-logout{background:#f3f4f1;background:var(--bg-alt);border:1px solid #e4e4e7;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-input);color:#52525b;color:var(--text-secondary);cursor:pointer;font-size:.875rem;font-weight:500;padding:.625rem 1rem;transition:background-color .2s ease;width:100%}.btn-logout:hover{background:#e4e4e7;background:var(--border)}.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(12px);backdrop-filter:blur(12px);background:#fffc;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}.menu-toggle{background:none;border:none;color:#1a1a1a;color:var(--text-primary);cursor:pointer;display:none;font-size:1.5rem;padding:.5rem;padding:var(--spacing-sm)}@media (max-width:1024px){.menu-toggle{display:block}}.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{margin:0 auto;max-width:1400px}.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}.dashboard{margin:0 auto;max-width:1400px}.stats-grid{grid-template-columns:repeat(4,1fr);margin-bottom:3rem;margin-bottom:var(--spacing-2xl)}@media (max-width:1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.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;padding:2rem;padding:var(--spacing-xl);transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover{box-shadow:0 10px 24px -4px #064e3b14,0 4px 8px -4px #064e3b08}.stat-icon{border-radius:var(--radius-card);font-size:1.5rem}.stat-icon.students{background:#064e3b1a}.stat-icon.teachers{background:#9a34121a}.stat-icon.classes{background:#d977061a}.stat-icon.attendance{background:#0596691a}.stat-content h3{color:#1a1a1a;color:var(--text-primary);font-size:1.75rem;font-weight:700;line-height:1.2}.stat-content p{color:#52525b;color:var(--text-secondary);font-size:.875rem}.dashboard-section{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:#9a3412;color:var(--secondary)}.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)}@media (max-width:768px){.action-grid{grid-template-columns:1fr}}.action-card{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;gap:.5rem;gap:var(--spacing-sm);padding:var(--spacing-xl);text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.action-card:hover{border-color:var(--primary);box-shadow:0 10px 24px -4px #064e3b14,0 4px 8px -4px #064e3b08;box-shadow:var(--shadow-hover)}.action-icon{font-size:1.5rem}.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{background:var(--bg-surface);border:1px solid #e4e4e7;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-card)}.data-table td,.data-table th{padding:1rem 1.5rem;padding:1rem var(--spacing-lg);text-align:left}.data-table th{background:#f3f4f1;background:var(--bg-alt);color:#52525b;color:var(--text-secondary);font-size:.8125rem}.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:hover{background:#f3f4f1;background:var(--bg-alt)}.empty-state{color:#a1a1aa;color:var(--text-muted);padding:var(--spacing-2xl)}.badge{border-radius:9999px;border-radius:var(--radius-button)}.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:#f3f4f1;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;gap:.5rem;gap:var(--spacing-sm);margin-bottom:1.5rem;margin-bottom:var(--spacing-lg)}.detail-row span:first-child{color:#52525b;color:var(--text-secondary)}.class-actions{display:flex;gap:.5rem;gap:var(--spacing-sm)}.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{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);inset:0;padding:1.5rem;padding:var(--spacing-lg);z-index:200}.modal{border:1px solid #fff;border-radius:var(--radius-card);box-shadow:0 12px 32px -4px #0000001a;box-shadow:var(--shadow-dropdown);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{border-bottom:none;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{color:#a1a1aa;color:var(--text-muted);font-size:1.5rem;transition:color .2s ease}.modal-close:hover{color:#1a1a1a;color:var(--text-primary)}.modal-body,.modal-form{display:flex;flex-direction:column;gap:1.5rem;gap:var(--spacing-lg)}.modal-actions,.modal-body,.modal-form{background:#fff;box-sizing:border-box;padding:2rem;padding:var(--spacing-xl);width:100%}.modal-actions{border-top:1px solid #e4e4e7;border-top:1px solid var(--border);flex-shrink:0;gap:var(--spacing-md)}.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);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)}.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{border-radius:9999px;border-radius:var(--radius-button);color:#52525b;color:var(--text-secondary);font-size:.875rem;padding:.75rem 1.25rem;transition:all .2s ease}.tab-btn:hover{background:#f3f4f1;background:var(--bg-alt);color:#1a1a1a;color:var(--text-primary)}.tab-btn.active{background:#064e3b;background:var(--primary);color:#fff;color:var(--primary-fg)}.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%}}.class-summary{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);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:#f3f4f1;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}.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);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:1.5rem;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:#f3f4f1;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;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:#f3f4f1;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:#f3f4f1;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:#f3f4f1;background:var(--bg-alt);color:#1a1a1a;color:var(--text-primary);font-size:.875rem;font-weight:600;min-height:48px}.timetable-cell.time-col{background:#f3f4f1;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:#f3f4f1;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-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}.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);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:#f3f4f1;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:#fafaed;background:var(--bg-default);min-height:100vh}.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:var(--bg-surface);border:1px solid #e4e4e7;border:1px solid var(--border);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{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}.info-row .value{color:#1a1a1a;color:var(--text-primary);font-size:.875rem;margin-left:1rem;margin-left:var(--spacing-md)}.staff-photo{border-radius:8px;border-radius:var(--radius-input);max-height:100px;max-width:100px;object-fit:cover}.section{background:var(--bg-surface);border:1px solid #e4e4e7;border:1px solid var(--border);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: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:#f3f4f1;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;padding:.25rem .5rem}.assignment-details{display:flex;flex-direction:column;gap:.5rem;gap:var(--spacing-sm)}.detail-row{color:#52525b;color:var(--text-secondary);font-size:.875rem;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:#f3f4f1;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:#9a3412;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:#f3f4f1;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)}.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}.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}}.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{border:3px solid #f0f4f8;border-top-color:#064e3b}.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-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}.dialog-overlay{align-items:center;animation:fadeIn .2s ease-out;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.dialog-modal{animation:slideUp .3s ease-out;background:#fff;border-left:4px solid;border-radius:12px;box-shadow:0 10px 40px #0003;max-width:500px;padding:32px;position:relative;width:90%}.dialog-border-info{border-left-color:#06c}.dialog-border-success{border-left-color:#00b341}.dialog-border-warning{border-left-color:#ff9500}.dialog-border-error{border-left-color:#f44}.dialog-close-btn{align-items:center;background:none;border:none;border-radius:4px;color:#666;cursor:pointer;display:flex;justify-content:center;padding:4px;position:absolute;right:16px;top:16px;transition:all .2s ease}.dialog-close-btn:hover{background:#f0f0f0;color:#333}.dialog-icon-container{display:flex;justify-content:center;margin-bottom:16px}.dialog-icon{align-items:center;display:flex;justify-content:center}.dialog-icon-info{color:#06c}.dialog-icon-success{color:#00b341}.dialog-icon-warning{color:#ff9500}.dialog-icon-error{color:#f44}.dialog-content{text-align:center}.dialog-title{color:#333;font-size:20px;font-weight:600;line-height:1.3;margin:0 0 12px}.dialog-message{word-wrap:break-word;color:#666;font-size:14px;line-height:1.5;margin:0;white-space:pre-wrap}.dialog-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:24px}.dialog-actions .btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;min-width:120px;padding:10px 24px;transition:all .2s ease}.dialog-actions .btn-secondary{background:#f0f0f0;color:#333}.dialog-actions .btn-secondary:hover{background:#e0e0e0}.dialog-actions .btn-info{background:#06c;color:#fff}.dialog-actions .btn-info:hover{background:#0052a3}.dialog-actions .btn-success{background:#00b341;color:#fff}.dialog-actions .btn-success:hover{background:#009032}.dialog-actions .btn-warning{background:#ff9500;color:#fff}.dialog-actions .btn-warning:hover{background:#e68400}.dialog-actions .btn-error{background:#f44;color:#fff}.dialog-actions .btn-error:hover{background:#e63333}.dialog-actions .btn:disabled{cursor:not-allowed;opacity:.7}.dialog-actions .btn:disabled:hover{background-color:inherit}.dialog-icon-loading{animation:spin 1s linear infinite;color:#06c}.dialog-close-btn:disabled{cursor:not-allowed;opacity:.5}@media (max-width:600px){.dialog-modal{padding:24px;width:95%}.dialog-actions{flex-direction:column}.dialog-actions .btn{min-width:auto;width:100%}.dialog-title{font-size:18px}.dialog-message{font-size:13px}}.class-info-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr;margin-bottom:32px}.info-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:24px}.info-card h3{border-bottom:2px solid #f3f4f6;color:#1f2937;font-size:18px;font-weight:600;margin:0 0 20px;padding-bottom:12px}.info-rows{display:flex;flex-direction:column;gap:12px}.info-row{border-bottom:1px solid #f3f4f6;padding:8px 0}.info-row .label{color:#6b7280;flex:0 0 auto;font-weight:500}.info-row .value{color:#1f2937;flex:1 1;font-weight:500;text-align:right}.info-row .value.capitalize{text-transform:capitalize}.badge{text-align:right}.badge.active{background:#d1fae5;color:#065f46}.badge.inactive{background:#fee2e2;color:#991b1b}.stats-card{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr);margin-bottom:0}.stat{align-items:center;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #00000014;cursor:default;display:flex;gap:18px;padding:24px;transition:all .3s ease}.stat:hover{border-color:#d1d5db;box-shadow:0 8px 16px #0000001f;transform:translateY(-2px)}.stat-icon-wrapper{align-items:center;border-radius:10px;display:flex;flex-shrink:0;height:56px;justify-content:center;width:56px}.stat-icon-wrapper.students{background:linear-gradient(135deg,#e0f2fe,#cffafe)}.stat-icon-wrapper.teachers{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.stat-icon-wrapper.subjects{background:linear-gradient(135deg,#fef3c7,#fde68a)}.stat-icon-wrapper.students .stat-icon{color:#0369a1}.stat-icon-wrapper.teachers .stat-icon{color:#1e40af}.stat-icon-wrapper.subjects .stat-icon{color:#d97706}.stat-content{display:flex;flex-direction:column;gap:6px}.stat-value{font-size:36px;letter-spacing:-.5px}.stat-label{font-size:14px}.section{border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px;padding:24px}.section-header{border-bottom:2px solid #f3f4f6;margin-bottom:20px;padding-bottom:12px}.section-header h2{font-size:18px}.section-count{background:#f3f4f6;border-radius:20px;color:#374151;font-size:12px;font-weight:600;padding:4px 12px}.tabs-container{border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:8px}.tab-button{align-items:center;background:none;display:flex;gap:8px;position:relative}.tab-button:hover{background:#f9fafb;color:#374151}.tab-button.active{background:#f0f4ff;border-bottom-color:#667eea;color:#667eea}.tab-badge{align-items:center;background:#e5e7eb;border-radius:12px;color:#374151;display:inline-flex;font-size:12px;font-weight:600;height:24px;justify-content:center;min-width:24px;padding:0 6px}.tab-button.active .tab-badge{background:#dbeafe;color:#1e40af}.tabs-content{animation:fadeIn .2s ease}.subjects-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.subject-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px;transition:all .2s ease}.subject-card:hover{border-color:#d1d5db;box-shadow:0 4px 12px #0000001a}.subject-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.subject-card h3{color:#1f2937;font-size:16px;font-weight:600;margin:0 0 4px}.subject-card .subject-code{color:#6b7280;font-size:13px;margin:0}.subject-card-actions{display:flex;gap:8px}.teachers-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.teacher-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px;transition:all .2s ease}.teacher-card:hover{border-color:#d1d5db;box-shadow:0 4px 12px #0000001a}.teacher-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.teacher-card h3{color:#1f2937;font-size:16px;font-weight:600;margin:0 0 4px}.teacher-card .subject{color:#6b7280;font-size:13px;margin:0}.class-teacher-badge{background:#fbbf24;border-radius:4px;color:#78350f;font-size:11px;font-weight:600;padding:4px 8px;text-transform:uppercase;white-space:nowrap}.teacher-card-actions{display:flex;gap:8px}.btn-danger{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:12px;font-weight:500;gap:6px;padding:6px 12px;transition:all .2s ease}.btn-danger:hover:not(:disabled){color:#7f1d1d}.btn-danger:disabled{cursor:not-allowed;opacity:.6}.students-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.student-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;padding:16px;text-align:center;transition:all .2s ease}.student-card:hover{border-color:#d1d5db;box-shadow:0 4px 12px #0000001a}.student-avatar{background:#e5e7eb;border-radius:50%;height:64px;margin:0 auto 12px;overflow:hidden;width:64px}.student-avatar img{height:100%;object-fit:cover;width:100%}.avatar-placeholder{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;font-size:20px;font-weight:600;height:100%;justify-content:center;width:100%}.student-info h4{color:#1f2937;font-size:14px;font-weight:600;margin:0 0 4px}.student-id{color:#6b7280;font-size:12px;margin:0}.empty-state-card{color:#6b7280;padding:40px 20px;text-align:center}.empty-state-card p{color:#6b7280;font-size:16px;margin:0 0 16px}.modal{animation:slideUp .3s ease}.modal-close{color:#6b7280;font-size:24px;transition:all .2s ease}.modal-close:hover{background:#f3f4f6;color:#1f2937}.modal-form{padding:24px}.form-group.checkbox{align-items:center;display:flex;margin-top:20px}.form-group.checkbox label{align-items:center;cursor:pointer;display:flex;font-weight:400;margin-bottom:0}.form-group input[type=checkbox]{cursor:pointer;margin-right:8px}.form-group select{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#1f2937;cursor:pointer;font-size:14px;padding:10px 12px;transition:all .2s ease;width:100%}.form-group select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group select:disabled{background:#f3f4f6;cursor:not-allowed;opacity:.6}.modal-actions{padding-top:16px}.btn-primary{background:#667eea}.btn-primary:hover:not(:disabled){background:#5568d3}@media (max-width:768px){.class-info-grid,.stats-card{grid-template-columns:1fr}.stats-card{gap:12px}.stat{padding:20px}.stat-value{font-size:28px}.stat-label{font-size:13px}.stat-icon-wrapper{height:48px;width:48px}.stat-icon-wrapper .stat-icon{font-size:20px}.teachers-grid{grid-template-columns:1fr}.students-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.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}.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-toolbar-btn:active:not(:disabled){transform:scale(.98)}.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-header{gap:1rem}.modal-header h2{align-items:center;display:flex;gap:.75rem}.modal-header h2 svg{color:#667eea}.modal-close{height:2.5rem;width:2.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%}}.settlements-content{display:flex;flex-direction:column;gap:var(--spacing-2xl)}.loading-state-full{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-lg);justify-content:center;min-height:500px}.spinner{border:3px solid var(--border);border-top-color:var(--primary);height:48px;width:48px}.settlements-header-section{margin-bottom:var(--spacing-lg)}.header-content h1{color:var(--text-primary);font-size:28px;margin-bottom:var(--spacing-sm)}.header-content .subtitle{color:var(--text-secondary);font-size:14px}.balance-section{margin-bottom:var(--spacing-lg)}.balance-card-main{background:linear-gradient(135deg,var(--primary) 0,#0b5345 100%);border-radius:16px;box-shadow:0 8px 32px #064e3b26;color:#fff;overflow:hidden;padding:var(--spacing-xl);position:relative}.balance-card-main:before{background:#ffffff0d;border-radius:50%;content:"";height:300px;pointer-events:none;position:absolute;right:-10%;top:-50%;width:300px}.balance-card-wrapper{align-items:center;display:flex;gap:var(--spacing-xl);position:relative;z-index:1}.balance-card-left{align-items:flex-start;display:flex;flex:1 1;gap:var(--spacing-lg)}.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}.balance-text-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.balance-label{font-size:13px;font-weight:600;letter-spacing:.05em;opacity:.85;text-transform:uppercase}.balance-value-display{font-family:JetBrains Mono,monospace;font-size:40px;font-weight:700;letter-spacing:-.01em}.balance-status{font-size:13px;font-weight:500;opacity:.9}.balance-card-divider{background:#fff3;flex-shrink:0;height:120px;width:1px}.balance-card-right{align-items:center;display:flex;gap:var(--spacing-lg);min-width:280px}.withdrawal-info{display:flex;flex:1 1;flex-direction:column;gap:var(--spacing-md)}.info-item{align-items:center;display:flex;justify-content:space-between}.info-label{font-size:12px;font-weight:600;letter-spacing:.05em;opacity:.8;text-transform:uppercase}.info-value{font-size:14px;font-weight:600}.info-divider{background:#ffffff26;height:1px}.btn-withdraw{align-items:center;background:#fffffff2;border:none;border-radius:9999px;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}.btn-withdraw-active:hover{background:#fff;box-shadow:0 8px 16px #00000026;transform:translateY(-2px)}.btn-withdraw-disabled{cursor:not-allowed;opacity:.5}.quick-stats-section{margin-bottom:var(--spacing-lg)}.stats-grid{grid-gap:var(--spacing-lg);gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.stat-box{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;padding:var(--spacing-lg);transition:all .3s ease}.stat-box:hover{background:#fafafa;border-color:#d1d5db;box-shadow:0 4px 16px #0000000a}.stat-header{align-items:center;display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.stat-icon{font-weight:700;height:40px;width:40px}.receipt-icon{background:linear-gradient(135deg,#3b82f6,#1e40af)}.withdrawal-icon{background:linear-gradient(135deg,#8b5cf6,#6d28d9)}.success-icon{background:linear-gradient(135deg,#10b981,#059669)}.stat-title{color:var(--text-secondary);font-size:13px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.stat-value{font-family:JetBrains Mono,monospace;font-size:28px;margin-bottom:var(--spacing-xs)}.stat-meta{color:var(--text-muted);font-size:12px;font-weight:500}.settlements-grid{grid-gap:var(--spacing-xl);display:grid;gap:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.settlement-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;overflow:hidden;transition:all .3s ease}.settlement-card:hover{border-color:#d1d5db;box-shadow:var(--shadow-hover)}.card-header{background:#fafaed80}.card-title-group h3{color:var(--text-primary);font-size:16px;font-weight:700;margin-bottom:var(--spacing-xs)}.card-title-group p{color:var(--text-secondary);font-size:12px;font-weight:500}.card-badge{background:var(--primary);border-radius:9999px;color:#fff;flex-shrink:0;font-size:12px;font-weight:600;padding:4px 12px}.transactions-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.transaction-item{background:var(--bg-alt);border:1px solid #0000;border-radius:10px;justify-content:space-between;padding:var(--spacing-md);transition:all .2s ease}.transaction-item:hover{background:#f0f0ed;border-color:var(--border)}.transaction-left{align-items:center;display:flex;flex:1 1;gap:var(--spacing-md);min-width:0}.transaction-icon{align-items:center;border-radius:10px;color:#fff;display:flex;flex-shrink:0;font-weight:700;height:40px;justify-content:center;width:40px}.receipt-mini{background:linear-gradient(135deg,#3b82f6,#1e40af)}.transaction-info{flex:1 1;min-width:0}.transaction-student{color:var(--text-primary);font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transaction-meta{align-items:center;color:var(--text-muted);display:flex;font-size:12px;gap:var(--spacing-xs);margin-top:2px}.transaction-date{font-weight:500}.transaction-separator{opacity:.5}.transaction-type{text-transform:capitalize}.transaction-right{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:var(--spacing-xs)}.transaction-amount{color:#10b981;font-family:JetBrains Mono,monospace;font-size:15px;font-weight:700}.transaction-ref{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:11px;text-transform:uppercase}.withdrawals-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.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}.withdrawal-item:hover{background:#f0f0ed;border-color:var(--border)}.withdrawal-item-completed{background:#10b9810d}.withdrawal-item-completed:hover{background:#10b98114;border-color:#10b9814d}.withdrawal-item-pending{background:#f973160d}.withdrawal-item-pending:hover{background:#f9731614;border-color:#f973164d}.withdrawal-item-failed{background:#ef44440d}.withdrawal-item-failed:hover{background:#ef444414;border-color:#ef44444d}.withdrawal-left{align-items:center;display:flex;flex:1 1;gap:var(--spacing-md);min-width:0}.withdrawal-status-badge{align-items:center;background:#fff;border:1px solid var(--border);border-radius:8px;display:flex;gap:var(--spacing-sm);padding:6px 12px;white-space:nowrap}.status-dot{animation:pulse 2s ease-in-out infinite;border-radius:50%;flex-shrink:0;height:8px;width:8px}.status-completed{animation:none;background:#10b981}.status-pending{background:#f59e0b}.status-failed{animation:none;background:#ef4444}.status-text{color:var(--text-primary);font-size:12px;font-weight:600}.withdrawal-info-group{flex:1 1;min-width:0}.withdrawal-momo{color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:14px;font-weight:600;word-break:break-word}.withdrawal-meta{color:var(--text-muted);font-size:12px;font-weight:500;margin-top:2px}.withdrawal-right{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:var(--spacing-xs)}.withdrawal-amount{color:var(--text-primary);font-size:15px;font-weight:700}.withdrawal-amount,.withdrawal-code{font-family:JetBrains Mono,monospace}.withdrawal-code{color:var(--text-muted);font-size:11px;text-transform:uppercase}.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}.empty-state-minimal svg{color:var(--text-muted);margin-bottom:var(--spacing-lg);opacity:.6}.empty-state-minimal h4{color:var(--text-primary);font-size:16px;font-weight:600;margin-bottom:var(--spacing-sm)}.empty-state-minimal p{color:var(--text-secondary);font-size:13px}@media (max-width:768px){.settlements-content{gap:var(--spacing-xl)}.balance-card-wrapper{align-items:stretch;flex-direction:column;gap:var(--spacing-lg)}.balance-card-divider{height:1px;width:100%}.balance-card-left,.balance-card-right{flex-direction:column}.balance-card-right{min-width:auto;width:100%}.withdrawal-info{width:100%}.btn-withdraw{justify-content:center;width:100%}.settlements-grid,.stats-grid{grid-template-columns:1fr}.header-content h1{font-size:24px}.balance-value-display{font-size:32px}.transaction-item,.withdrawal-item{align-items:flex-start;flex-direction:column;gap:var(--spacing-md)}.transaction-right,.withdrawal-right{align-items:flex-start;width:100%}.withdrawal-status-badge{justify-content:flex-start;width:100%}}@media (max-width:480px){.balance-icon-container{height:48px;width:48px}.balance-value-display{font-size:28px}.stat-value{font-size:22px}.header-content h1{font-size:20px}.card-body,.card-header{padding:var(--spacing-md)}}.payroll-metrics{margin-bottom:2rem}.metrics-grid{margin-bottom:1.5rem}.metric-card{border:1px solid #e4e4e7;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{min-width:0}.metric-label{color:#52525b;font-size:.875rem;font-weight:500}.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}.search-input{border:1px solid #e4e4e7;font-family:IBM Plex Sans,sans-serif;font-size:.9rem;padding:.75rem .75rem .75rem 2.5rem;transition:all .2s ease}.search-input:focus{border-color:#064e3b;box-shadow:0 0 0 3px #064e3b1a}.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{border:1px solid #e4e4e7;font-family:IBM Plex Sans,sans-serif;font-size:.9rem;transition:all .2s ease}.filter-select:focus{border-color:#064e3b;box-shadow:0 0 0 3px #064e3b1a}.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{border:1px solid #e0e0e0;border-left:3px solid #22c55e;padding:12px}.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;padding:20px}.page-header{margin-bottom:30px}.page-header h1{color:#064e3b}.page-header p{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}.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{padding:6px 8px}.loading{background:#fff;border-radius:8px}.empty-state{background:#fff;border:2px dashed #d0d8e0}.empty-state p{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}.detail-item p{color:#333;font-size:13px;font-weight:500}.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}.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 input,.form-group select,.form-group textarea{border:1px solid #d0d8e0;font-size:13px;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{border-bottom:1px solid #e4e4e7;border-bottom:1px solid var(--color-border);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)}.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}.view-tabs{border-bottom:2px solid #e0e0e0;display:flex;gap:1rem;margin-bottom:2rem}.view-tabs .tab{background:none;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;font-size:.95rem;font-weight:500;padding:.75rem 1.5rem;transition:all .3s ease}.view-tabs .tab:hover{color:#333}.view-tabs .tab.active{border-bottom-color:#06c;color:#06c}.table-container{border:1px solid #e0e0e0}.data-table{font-size:.9rem}.data-table thead{background-color:#f5f5f5}.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;padding:3rem 2rem}.empty-state p{color:#666;font-size:1rem;margin:0 0 1.5rem}.loading{padding:2rem}.modal{align-items:center;background-color:#00000080;bottom:0;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.modal-content{box-shadow:0 10px 40px #00000026}.modal-header{background:#fff;position:-webkit-sticky;position:sticky;top:0}.modal-header h2{color:#333}.close-btn{color:#999}.close-btn:hover{color:#333}.form{padding:1.5rem}.form-group label{font-size:.9rem}.form-group input,.form-group select,.form-group textarea{border-radius:4px;font-size:.9rem}.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;padding-top:1.5rem}.btn{font-size:.9rem;padding:.65rem 1.25rem;text-decoration:none}.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;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}.view-tabs{-webkit-overflow-scrolling:touch;overflow-x:auto}.view-tabs .tab{white-space:nowrap}.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}.page-header{gap:2rem;margin-bottom:2rem}.page-header h1{font-size:2rem;margin:0 0 .5rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat-card{border-radius:8px;text-align:center;transition:all .2s}.stat-card:hover{box-shadow:0 1px 3px #0000001a}.stat-value{color:#1f2937;font-size:2.5rem;margin-bottom:.5rem}.filters{margin-bottom:2rem}.filter-select{color:#1f2937;padding:.75rem 1rem}.filter-select:focus,.filter-select:hover{border-color:#3b82f6;outline:none}.loading{font-size:1rem;gap:1rem}.empty-state,.loading{padding:3rem}.empty-state p{font-size:1.125rem;margin-bottom:1.5rem}.tickets-table{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:2rem;overflow:hidden}.tickets-table table{border-collapse:collapse;width:100%}.tickets-table th{background-color:#f9fafb;border-bottom:1px solid #e5e7eb;color:#374151;font-size:.875rem;font-weight:600;padding:1rem;text-align:left}.tickets-table td{border-bottom:1px solid #f3f4f6;font-size:.875rem;padding:1rem}.ticket-row:hover{background-color:#f9fafb}.ticket-id{color:#6b7280;font-family:Courier New,monospace}.ticket-title{color:#1f2937;font-weight:500;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge{border-radius:999px;color:#fff;font-size:.75rem;padding:.25rem .75rem}.badge.internal{background-color:#8b5cf6}.pagination{margin:2rem 0}.pagination span{color:#6b7280;font-size:.875rem}.modal-content{border-radius:12px;padding:2rem}.modal-content.large{max-width:800px}.modal-header{margin-bottom:2rem;padding-bottom:1rem}.btn-close{color:#6b7280;font-size:2rem;line-height:1}.btn-close:hover{color:#1f2937}.form-group{margin-bottom:1.5rem}.form-group label{margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{border:1px solid #d1d5db;font-size:.875rem;transition:border-color .2s}.form-actions{gap:1rem;margin-top:2rem;padding-top:1rem}.btn{font-size:.875rem}.btn-primary:hover:not(:disabled){background-color:#2563eb}.btn-secondary{background-color:#6b7280;color:#fff}.btn-secondary:hover:not(:disabled){background-color:#4b5563}.btn-success{background-color:#10b981}.btn-success:hover:not(:disabled){background-color:#059669}.btn-sm{font-size:.75rem;padding:.5rem 1rem}.ticket-detail{display:flex;flex-direction:column;gap:2rem}.ticket-info-grid{background-color:#f9fafb;border-radius:8px}.ticket-info-grid>div{display:flex;flex-direction:column;gap:.5rem}.ticket-info-grid strong{color:#374151;font-size:.875rem}.ticket-info-grid span{color:#1f2937;font-weight:500}.section{display:flex;flex-direction:column;gap:1rem}.section h3{color:#1f2937;font-size:1rem;margin:0}.section p{color:#6b7280;line-height:1.6;margin:0}.section.resolution{background-color:#d1fae5;border-radius:6px;padding:1rem}.section.resolution p{color:#065f46}.comments-list .empty{color:#9ca3af;font-style:italic}.comment{background-color:#f9fafb;border-left:3px solid #e5e7eb;border-radius:4px;padding:1rem}.comment.internal{background-color:#faf5ff;border-left-color:#8b5cf6}.comment-header{font-size:.875rem;gap:.5rem}.comment-header strong{color:#374151}.comment-header .time{color:#9ca3af;margin-left:auto}.comment p{word-wrap:break-word;color:#1f2937;line-height:1.5;margin:0}.add-comment{background-color:#f3f4f6;border-radius:6px}.add-comment textarea{border:1px solid #d1d5db;border-radius:6px;width:100%}.add-comment label{align-items:center;color:#6b7280;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem}.add-comment input[type=checkbox]{margin:0;width:auto}.actions .action-buttons,.resolution-form{display:flex;flex-direction:column;gap:1rem}.resolution-form{background-color:#fef3c7;border-radius:6px;margin-top:1rem;padding:1rem}.resolution-form textarea{border:1px solid #fbbf24;border-radius:6px;font-family:inherit;font-size:.875rem;padding:.75rem;width:100%}@media (max-width:768px){.page-header{align-items:flex-start;flex-direction:column}.stats-grid{grid-template-columns:repeat(2,1fr)}.tickets-table{font-size:.75rem}.tickets-table td,.tickets-table th{padding:.75rem .5rem}.ticket-title{max-width:150px}.modal-content{max-width:90vw;padding:1rem}.ticket-info-grid{grid-template-columns:repeat(2,1fr)}.form-actions{flex-direction:column}.form-actions .btn{justify-content:center;width:100%}}.page{background-color:#f5f5f5;min-height:100vh}.page-header{align-items:flex-start;gap:20px}.page-header>div:first-child{flex:1 1}.page-header h1{font-size:32px;margin:0 0 8px}.page-header p{font-size:16px}.tabs-container{flex-wrap:wrap;padding-bottom:0}.tab-btn{color:#666}.tab-btn:hover{color:#333}.page-content{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:24px}.dashboard-metrics{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:32px}.metric-card{align-items:flex-start;background:linear-gradient(135deg,#f5f7fa,#fff);border:1px solid #e0e0e0}.metric-card:hover{border-color:#06c;box-shadow:0 4px 12px #00000014}.metric-icon{font-size:32px}.metric-value{color:#222}.metric-label{color:#999;font-size:12px;margin:0}.dashboard-sections{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr;margin-bottom:24px}.section-wrapper{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr}@media (max-width:1024px){.section-wrapper{grid-template-columns:1fr}}.quick-actions{display:flex;flex-wrap:wrap;height:-webkit-fit-content;height:fit-content}.quick-actions,.recent-section{background:linear-gradient(135deg,#f5f7fa,#fff);border:1px solid #e0e0e0;border-radius:8px;padding:20px}.recent-section h3{color:#222;font-size:16px;font-weight:600;margin:0 0 16px}.action-button{background:#fff;border:1px solid #d0d0d0;flex-basis:calc(50% - 6px);flex-grow:1;flex-shrink:1;font-weight:500;margin:0;min-width:140px;padding:10px 16px}.action-button:hover{background:#f0f0f0;border-color:#999}.quick-actions h3{color:#222;margin:0 0 8px;width:100%}.transaction-list{display:flex;flex-direction:column;gap:12px}.transaction-item{align-items:center;background:#f9f9f9;border-radius:6px;display:flex;gap:12px;padding:12px}.trans-date{color:#999;font-size:12px;font-weight:500;min-width:80px}.trans-desc{color:#222;flex:1 1;font-size:14px}.trans-amount{font-size:14px;font-weight:600}.section-header h2{color:#222;font-size:24px}.accounts-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.account-category{background:#fafafa;border:1px solid #e0e0e0;border-radius:8px;padding:20px}.account-category h3{color:#222;font-size:16px;font-weight:600;margin:0 0 16px}.account-list{display:flex;flex-direction:column;gap:12px}.account-item{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:6px;display:flex;gap:12px;justify-content:space-between;padding:12px}.account-code{color:#06c;font-family:Monaco,Menlo,monospace;font-size:12px;font-weight:600;min-width:60px}.account-name{color:#222;flex:1 1;font-size:14px}.account-balance{color:#222;font-size:14px;font-weight:600;min-width:100px;text-align:right}.entries-table,.expenses-table{overflow-x:auto;width:100%}table{border-collapse:collapse;width:100%}table thead{background:#f5f5f5;border-bottom:2px solid #e0e0e0}table th{color:#666;font-size:12px;font-weight:600;padding:12px;text-align:left;text-transform:uppercase}table td{border-bottom:1px solid #e0e0e0;color:#222;font-size:14px;padding:12px}table tbody tr:hover{background:#f9f9f9}.badge-warning{color:#f57c00}.reports-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.report-card{padding:24px}.report-card,.revenue-source{border:1px solid #e0e0e0;border-radius:8px}.revenue-source{background:linear-gradient(135deg,#f5f7fa,#fff);grid-column:1/-1;margin-bottom:0;padding:20px}.revenue-source h3{color:#222;font-size:16px;font-weight:600;margin:0 0 16px}.revenue-breakdown{display:flex;flex-direction:column;gap:16px}.revenue-item{align-items:center;display:flex;gap:12px}.revenue-label{color:#333;font-size:13px;font-weight:500;min-width:120px}.revenue-bar{background:linear-gradient(90deg,#06c,#049);border-radius:10px;display:inline-block;flex:1 1;height:20px;min-width:20px}.revenue-amount{color:#222;font-size:13px;font-weight:600;min-width:140px;text-align:right}.financial-health{background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-top:24px;padding:20px}.financial-health h3{color:#222;font-size:16px;font-weight:600;margin:0 0 16px}.health-metrics{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.health-item{background:linear-gradient(135deg,#f5f7fa,#fff);border:1px solid #e0e0e0;border-radius:8px;display:flex;flex-direction:column;padding:16px;transition:all .2s}.health-item:hover{border-color:#06c;box-shadow:0 4px 12px #00000014}.health-label{color:#666;font-size:12px;font-weight:500;margin-bottom:8px;text-transform:uppercase}.health-value{color:#222;font-size:24px;font-weight:700;margin-bottom:4px}.health-status{border-radius:4px;font-size:12px;font-weight:600;padding:4px 8px;width:-webkit-fit-content;width:fit-content}.health-item:first-child .health-status,.health-item:nth-child(2) .health-status{background:#e8f5e9;color:#2e7d32}.health-item:nth-child(3) .health-status{background:#fff3e0;color:#f57c00}.report-card{background:linear-gradient(135deg,#f5f7fa,#fff);text-align:center;transition:all .2s}.report-card:hover{border-color:#06c;box-shadow:0 4px 12px #00000014}.report-card h3{color:#222;font-size:18px;margin:0 0 12px}.report-card p{color:#666;font-size:13px;line-height:1.4;margin:0 0 16px}.report-card .btn{width:100%}@media (max-width:768px){.finance-tabs{flex-direction:column}.tab-button{border-bottom:none;border-left:3px solid #0000;padding:12px 16px}.tab-button.active{border-bottom-color:#0000;border-left-color:#06c}.accounts-grid,.dashboard-metrics,.dashboard-sections,.reports-grid{grid-template-columns:1fr}.section-header{align-items:flex-start;flex-direction:column;gap:12px}.btn-primary,.btn-secondary{width:100%}}.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 th{color:#666;font-size:12px;padding:16px;white-space:nowrap}.data-table td{color:#222;padding:16px}.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;padding:6px 12px;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-header{padding:24px}.modal-title{color:#222;font-size:24px}.modal-close{color:#666;font-size:28px;height:32px;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}.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}.line-items-table input{font-family:inherit}.line-items-table input:focus{box-shadow:0 0 0 3px #0066cc1a}.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{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:#f5f5f5;min-height:100vh;padding:24px}.accounts-list{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.accounts-list table{border-collapse:collapse;width:100%}.accounts-list thead{background:#f5f5f5;border-bottom:2px solid #e0e0e0}.accounts-list th{color:#666;font-size:12px;font-weight:600;padding:16px;text-align:left;text-transform:uppercase}.accounts-list td{border-bottom:1px solid #e0e0e0;color:#222;font-size:14px;padding:16px}.accounts-list tbody tr:hover{background:#f9f9f9}.accounts-list td.code{color:#06c;font-family:Monaco,Menlo,monospace;font-size:12px;font-weight:600}.accounts-list td.balance{font-weight:600;text-align:right}.status.active{background:#e8f5e9;color:#2e7d32}.status.inactive{background:#ffebee;color:#c62828}.badge{background:#f0f0f0;font-size:11px;text-transform:capitalize}.form-group{margin-bottom:20px}@media (max-width:768px){.page-header{align-items:flex-start;flex-direction:column;gap:16px}.page-header .btn{width:100%}.form-row{grid-template-columns:1fr}.accounts-list td{font-size:12px;padding:12px}.accounts-list th{font-size:11px;padding:12px}}.journal-detail-page{background-color:#f5f5f5;min-height:100vh;padding:24px}.entries-list{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.entries-list table{border-collapse:collapse;width:100%}.entries-list thead{background:#f5f5f5;border-bottom:2px solid #e0e0e0}.entries-list th{color:#666;font-size:12px;font-weight:600;padding:16px;text-align:left;text-transform:uppercase}.entries-list td{border-bottom:1px solid #e0e0e0;color:#222;font-size:14px;padding:16px}.entries-list tbody tr:hover{background:#f9f9f9}.entries-list td.amount{font-weight:600;text-align:right}.status.posted{background:#e8f5e9;color:#2e7d32}.status.reversed{background:#fff3e0;color:#f57c00}.modal-content{max-width:800px}.modal-content h3{color:#222;font-size:16px;margin:24px 0 16px}.form-group input,.form-group select{border:1px solid #d0d0d0;border-radius:6px;box-sizing:border-box;font-family:inherit;font-size:14px;padding:10px 12px;width:100%}.form-group input:focus,.form-group select:focus{border-color:#06c;box-shadow:0 0 0 3px #0066cc1a;outline:none}.line-items-section{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px;margin:24px 0;padding:16px}.line-items-table{border-collapse:collapse;font-size:13px;margin:16px 0;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-size:12px;padding:6px 8px;width:100%}.line-items-table input:focus{border-color:#06c;outline:none}.totals-row{display:flex;gap:24px;justify-content:flex-end;margin-bottom:12px;padding:12px 0}.totals-row .total{color:#06c}.totals-row .balanced{color:#2e7d32}.totals-row .unbalanced{color:#d32f2f}.btn-primary:hover:not(:disabled){background:#0052a3}.btn-primary:disabled{background:#ccc}.btn-danger{background:#ffebee;color:#c62828}.btn-danger:hover{background:#ffcdd2}.entry-details p{font-size:14px;margin:8px 0}.entry-details strong{color:#222}.details-table{border-collapse:collapse;margin:16px 0;width:100%}.details-table thead{background:#f5f5f5;border-bottom:1px solid #d0d0d0}.details-table th{color:#333;font-size:13px;font-weight:600;padding:12px;text-align:left}.details-table td{border-bottom:1px solid #e0e0e0;font-size:14px;padding:12px}@media (max-width:768px){.page-header{align-items:flex-start;flex-direction:column;gap:16px}.page-header .btn{width:100%}.form-row{grid-template-columns:1fr}.modal-content{margin:40px 20px}.totals-row{flex-direction:column;gap:8px}.line-items-table,.line-items-table input{font-size:11px}.form-actions{flex-direction:column}.form-actions .btn{width:100%}}.expenses-detail-page{background-color:#f5f5f5;min-height:100vh;padding:24px}.filters{background:#fff;border-radius:8px;gap:12px;margin-bottom:24px;padding:16px}.filter-select{border:1px solid #d0d0d0;font-size:13px}.filter-select:focus{border-color:#06c;box-shadow:0 0 0 3px #0066cc1a}.empty-state,.expenses-list,.loading{background:#fff;border-radius:8px}.expenses-list{box-shadow:0 1px 3px #0000001a;overflow:hidden}.expenses-list table{border-collapse:collapse;width:100%}.expenses-list thead{background:#f5f5f5;border-bottom:2px solid #e0e0e0}.expenses-list th{color:#666;font-size:12px;font-weight:600;padding:16px;text-align:left;text-transform:uppercase}.expenses-list td{border-bottom:1px solid #e0e0e0;color:#222;font-size:14px;padding:16px}.expenses-list tbody tr:hover{background:#f9f9f9}.expenses-list td.amount{font-weight:600;text-align:right}.status{border-radius:4px;display:inline-block;font-size:11px;font-weight:600;padding:4px 8px;text-transform:uppercase}.status.draft{background:#e3f2fd;color:#1976d2}.status.submitted{background:#fff3e0;color:#f57c00}.status.approved{background:#e8f5e9;color:#2e7d32}.status.rejected{background:#ffebee;color:#c62828}.status.posted{background:#e0f2f1;color:#00695c}.btn-secondary,.btn-success{margin-right:4px}.btn-success:hover{background:#45a049}.btn-sm{font-size:12px;margin-right:4px}.modal-overlay{overflow-y:auto}.modal-content{margin:20px auto;padding:32px}.modal-content h2{color:#222;font-size:24px;margin:0 0 24px}.form-group label{color:#222;font-size:13px;font-weight:600;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{border:1px solid #d0d0d0;box-sizing:border-box}.form-actions{margin-top:32px}.form-actions .btn{flex:1 1}.expense-details{margin-bottom:24px}.details-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:16px}.detail-item{background:#f9f9f9;border-radius:6px;padding:12px}.detail-item.full-width{grid-column:1/-1}.detail-item label{color:#666;display:block;font-size:11px;font-weight:600;margin-bottom:4px;text-transform:uppercase}.detail-item p{color:#222;font-size:14px;margin:0}.detail-item .amount{color:#06c;font-size:16px;font-weight:600}.modal-actions .btn{flex:1 1;min-width:100px}@media (max-width:768px){.page-header{align-items:flex-start;flex-direction:column;gap:16px}.page-header .btn{width:100%}.form-row{grid-template-columns:1fr}.modal-content{margin:40px 20px}.details-grid{grid-template-columns:1fr}.expenses-list{overflow-x:auto}.expenses-list td,.expenses-list th{font-size:12px;padding:12px 8px}.modal-actions{flex-direction:column}.modal-actions .btn{width:100%}}.financial-reports-page{background-color:#f5f5f5;min-height:100vh;padding:24px}.page-header{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:24px}.page-header h1{color:#222;flex:1 1;min-width:200px}.header-actions{gap:12px}.date-picker{background:#fff;border:1px solid #d0d0d0;border-radius:6px;cursor:pointer;font-size:13px;padding:8px 12px}.date-picker:focus{border-color:#06c;box-shadow:0 0 0 3px #0066cc1a;outline:none}.btn-secondary{background:#f0f0f0;border:1px solid #d0d0d0;color:#222}.btn-secondary:hover{background:#e8e8e8}.reports-layout{grid-gap:24px;display:grid;gap:24px;grid-template-columns:280px 1fr}.reports-sidebar{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;height:-webkit-fit-content;height:fit-content;padding:20px;position:-webkit-sticky;position:sticky;top:24px}.reports-sidebar h3{color:#222;font-size:16px;margin:0 0 16px}.reports-menu{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.menu-item{align-items:flex-start;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;display:flex;padding:12px;text-align:left;transition:all .2s}.menu-item:hover{background:#f0f0f0;border-color:#06c}.menu-item.active{background:#e3f2fd;border-color:#06c}.menu-item .icon{flex-shrink:0;font-size:20px;margin-right:12px}.menu-text{flex:1 1}.menu-text strong{color:#222;display:block;font-size:13px;margin-bottom:2px}.menu-text small{color:#999;display:block;font-size:11px;line-height:1.3}.report-summary{border-top:1px solid #e0e0e0;padding-top:16px}.report-summary h4{color:#666;font-size:12px;font-weight:600;margin:0 0 12px;text-transform:uppercase}.report-summary p{color:#222;font-size:13px;margin:4px 0}.reports-content{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:32px}.report-header{border-bottom:2px solid #e0e0e0;margin-bottom:32px;padding-bottom:16px}.report-header h2{color:#222;font-size:28px;margin:0 0 8px}.report-subtitle{color:#999;font-size:14px;margin:0}.empty-state,.loading{color:#666;font-size:16px;padding:48px;text-align:center}.report-content{overflow-x:auto}.report-table,.section-table,.summary-table{border-collapse:collapse;margin-bottom:24px;width:100%}.report-table thead,.section-table thead{background:#f5f5f5;border-bottom:2px solid #e0e0e0}.report-table th,.section-table th{color:#666;font-size:12px;font-weight:600;padding:12px;text-align:left;text-transform:uppercase}.report-table td,.section-table td{border-bottom:1px solid #e0e0e0;color:#222;font-size:14px;padding:12px}.report-table tbody tr:hover,.section-table tbody tr:hover{background:#f9f9f9}.code{color:#06c;font-size:12px;font-weight:600}.amount,.code{font-family:Monaco,Menlo,monospace}.amount{font-weight:500;text-align:right}.section{margin-bottom:32px}.section h3{border-bottom:1px solid #e0e0e0;color:#222;font-size:16px;font-weight:600;margin:0 0 16px;padding:8px 0}.section-table{margin-bottom:8px}.subtotal{background:#f5f5f5;border-top:1px solid #d0d0d0;font-weight:600}.subtotal td{border-bottom:1px solid #d0d0d0;padding:12px}.account-name,.activity-name{padding-left:24px}.totals-row{background:#f5f5f5;border-top:2px solid #d0d0d0;font-weight:600}.totals-row td{padding:12px}.verify-status{font-size:14px;padding:12px;text-align:center}.balanced{color:#2e7d32;font-weight:600}.unbalanced{color:#d32f2f;font-weight:600}.summary,.verification{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px;margin-top:32px;padding:20px}.summary-table{border-collapse:collapse;width:100%}.summary-table td{border-bottom:1px solid #e0e0e0;padding:12px 16px}.summary-table .total-row td{background:#f0f0f0;border-top:2px solid #d0d0d0;font-weight:600}.amount.positive{color:#2e7d32}.amount.negative{color:#d32f2f}.verification p{font-size:14px;margin:8px 0}.verification .balanced,.verification .unbalanced{display:block}@media (max-width:1024px){.reports-layout{grid-template-columns:1fr}.reports-sidebar{position:static}.header-actions{width:100%}}@media (max-width:768px){.page-header{align-items:flex-start;flex-direction:column}.header-actions,.page-header h1{width:100%}.header-actions .btn{flex:1 1}.reports-content{padding:16px}.report-table,.section-table,.summary-table{font-size:12px}.report-table td,.report-table th,.section-table td,.section-table th{padding:8px}.account-name,.activity-name{padding-left:16px}.menu-item{padding:10px}.menu-text strong{font-size:12px}.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}}.subscription-payment-form{background:#fff;padding:1.5rem}.subscription-payment-form .subscription-details{background-color:#f8f9fa!important;border-left:4px solid #007bff}.subscription-payment-form .subscription-details h6{color:#2c3e50;font-size:.85rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.subscription-payment-form .subscription-details p{color:#495057;font-size:.95rem;margin-bottom:.5rem}.subscription-payment-form .subscription-details strong{color:#2c3e50}.subscription-payment-form .payment-options{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;padding:1rem}.subscription-payment-form .form-check{padding:.5rem 0}.subscription-payment-form .form-check-input{border:2px solid #dee2e6;cursor:pointer;height:1.25em;margin-top:.3em;width:1.25em}.subscription-payment-form .form-check-input:checked{background-color:#007bff;border-color:#007bff}.subscription-payment-form .form-check-label{color:#495057;cursor:pointer;font-weight:500;margin-left:.5rem}.subscription-payment-form .form-control,.subscription-payment-form .form-select{border:1px solid #dee2e6;border-radius:6px;font-size:.95rem;padding:.75rem}.subscription-payment-form .form-control:focus,.subscription-payment-form .form-select:focus{border-color:#007bff;box-shadow:0 0 0 .2rem #007bff40}.subscription-payment-form .form-control-lg{font-size:1rem;padding:.875rem}.subscription-payment-form .form-label{color:#2c3e50;font-size:.85rem;font-weight:600;letter-spacing:.5px;margin-bottom:.75rem;text-transform:uppercase}.subscription-payment-form .payment-info{background-color:#cfe2ff!important;border-radius:6px}.subscription-payment-form .payment-info h6{color:#084298;font-weight:600}.subscription-payment-form .payment-info p{color:#084298;margin-bottom:.5rem}.subscription-payment-form .amount-summary{background-color:#f8f9fa;border-bottom:2px solid #dee2e6!important;border-top:2px solid #dee2e6!important}.subscription-payment-form .amount-summary p{color:#495057;font-size:.95rem;margin-bottom:0}.subscription-payment-form .amount-summary strong{color:#2c3e50}.subscription-payment-form .amount-summary h5{color:#28a745;font-weight:700}.subscription-payment-form .btn-primary{background-color:#007bff;border:none;border-radius:6px;font-size:1rem;font-weight:600;letter-spacing:.5px;padding:.875rem 1.5rem;text-transform:uppercase;transition:all .3s ease}.subscription-payment-form .btn-primary:hover:not(:disabled){background-color:#0056b3;box-shadow:0 4px 12px #007bff4d}.subscription-payment-form .btn-primary:disabled{background-color:#cfe2ff;border-color:#cfe2ff;cursor:not-allowed}.subscription-payment-form .text-muted{color:#8892a1!important;font-size:.875rem;line-height:1.6}.subscription-payment-form .alert{border:none;border-radius:6px;margin-bottom:1rem;padding:1rem}.subscription-payment-form .alert-danger{background-color:#f8d7da;color:#721c24}.subscription-payment-form .alert-success{background-color:#d4edda;color:#155724}@media (max-width:768px){.subscription-payment-form{padding:1rem}.subscription-payment-form .subscription-details{margin-bottom:1.5rem}.subscription-payment-form .subscription-details .row{display:flex;flex-direction:column}.subscription-payment-form .subscription-details .col-md-6{margin-bottom:1rem;padding:0}.subscription-payment-form .amount-summary .row{flex-direction:column}.subscription-payment-form .amount-summary .col-md-6{margin-bottom:1rem;text-align:left!important}.subscription-payment-form .btn-primary{width:100%}}:root{--primary-color:#1976d2;--success-color:#4caf50;--warning-color:#ff9800;--danger-color:#f44336;--neutral-light:#f5f7fa;--neutral-dark:#2c3e50;--text-primary:#1a202c;--text-secondary:#718096;--border-color:#e2e8f0;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 4px 6px #0000001a;--shadow-lg:0 10px 25px #0000001a}.billing-dashboard{padding:0}.billing-loading{align-items:center;background:#f5f7fa;background:var(--neutral-light);border-radius:8px;display:flex;flex-direction:column;justify-content:center;padding:3rem 2rem;text-align:center}.billing-loading p{color:#718096;color:var(--text-secondary);font-size:1rem;margin:0}.billing-error,.billing-info{align-items:center;border:none;border-radius:8px;display:flex;padding:1.5rem}.billing-error{background:#ffebee;border-left:4px solid #f44336;border-left:4px solid var(--danger-color);color:#f44336;color:var(--danger-color)}.billing-info{background:#e3f2fd;border-left:4px solid #1976d2;border-left:4px solid var(--primary-color);color:#1976d2;color:var(--primary-color)}.billing-header{background:linear-gradient(135deg,#1976d2,#1565c0);background:linear-gradient(135deg,var(--primary-color) 0,#1565c0 100%);border-radius:12px;color:#fff;margin-bottom:2rem;padding:2.5rem}.header-content h1{font-size:2rem;font-weight:700;letter-spacing:-.5px;margin:0 0 .5rem}.header-content .subtitle{font-size:1.05rem;font-weight:400;margin:0;opacity:.95}.metrics-grid{grid-gap:1.5rem;gap:1.5rem;margin-bottom:2rem}.metric-card{align-items:center;border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:12px;box-shadow:0 1px 3px #00000014;box-shadow:var(--shadow-sm);gap:1.5rem;overflow:hidden;padding:1.5rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.metric-card:before{background:#1976d2;background:var(--primary-color);content:"";height:4px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.metric-card:hover{box-shadow:0 4px 6px #0000001a;box-shadow:var(--shadow-md)}.metric-card:hover:before{opacity:1}.metric-card.status-card{background:linear-gradient(135deg,#f8f9fa,#fff);border:2px solid #e2e8f0;border:2px solid var(--border-color)}.card-icon{align-items:center;background:#0000000d;border-radius:10px;display:flex;font-size:2.5rem;height:60px;justify-content:center;min-width:60px;transition:all .3s ease}.metric-card:hover .card-icon{transform:scale(1.1)}.card-content{flex:1 1;min-width:0}.metric-label{color:#718096;color:var(--text-secondary);font-size:.85rem;font-weight:600;letter-spacing:.5px;margin:0 0 .5rem;text-transform:uppercase}.metric-value{color:#1a202c;color:var(--text-primary);font-size:1.75rem;line-height:1.2;margin:0 0 .25rem}.metric-detail{color:#718096;color:var(--text-secondary);font-size:.9rem;margin:0}.status-alert{color:#f44336;color:var(--danger-color);font-size:.9rem;font-weight:500;margin-top:.5rem}.payment-overview-card{border:none;border-radius:12px;box-shadow:0 4px 6px #0000001a;box-shadow:var(--shadow-md);margin-bottom:2rem;overflow:hidden}.payment-grid{grid-gap:0;display:grid;gap:0;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.payment-item{border-right:1px solid #e2e8f0;border-right:1px solid var(--border-color);padding:2rem;position:relative;text-align:center;transition:all .3s ease}.payment-item:last-child{border-right:none}.payment-item:hover{background:#f5f7fa;background:var(--neutral-light)}.payment-item.total-due{background:linear-gradient(135deg,#ffe0b2,#ffd54f)}.payment-item.amount-paid{background:linear-gradient(135deg,#c8e6c9,#a5d6a7)}.payment-item.remaining{background:linear-gradient(135deg,#ffccbc,#ffab91)}.payment-label{color:#0009;font-size:.9rem;font-weight:600;letter-spacing:.5px;margin:0 0 .75rem;text-transform:uppercase}.payment-amount{font-feature-settings:"tnum";color:#1a202c;color:var(--text-primary);font-size:1.75rem;font-variant-numeric:tabular-nums;font-weight:700;margin:0}.payment-icon{font-size:1.5rem;opacity:.3;position:absolute;right:1rem;top:1rem}.progress-section{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:12px;box-shadow:0 1px 3px #00000014;box-shadow:var(--shadow-sm);margin-bottom:2rem;padding:2rem}.progress-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.progress-header h5{color:#1a202c;color:var(--text-primary);font-size:1.1rem;font-weight:700;margin:0}.progress-percentage{font-feature-settings:"tnum";color:#4caf50;color:var(--success-color);font-size:1.2rem;font-variant-numeric:tabular-nums;font-weight:700}.custom-progress{background:#f5f7fa;background:var(--neutral-light);border-radius:10px;box-shadow:inset 0 1px 3px #0000000d;height:12px;margin-bottom:.75rem;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,#4caf50,#66bb6a);background:linear-gradient(90deg,var(--success-color),#66bb6a);border-radius:10px;box-shadow:0 2px 4px #4caf504d;transition:width .6s cubic-bezier(.4,0,.2,1)}.progress-labels{color:#718096;color:var(--text-secondary);display:flex;font-size:.85rem;font-weight:500;justify-content:space-between}.action-buttons{flex-wrap:wrap;gap:1rem}.btn-pay-now{align-items:center;background:linear-gradient(135deg,#1976d2,#1565c0);background:linear-gradient(135deg,var(--primary-color) 0,#1565c0 100%);border:none;border-radius:8px;box-shadow:0 4px 12px #1976d24d;display:flex;font-size:1.05rem;font-weight:600;padding:.75rem 2rem;transition:all .3s ease}.btn-pay-now:hover{background:linear-gradient(135deg,#1565c0,#0d47a1);box-shadow:0 6px 20px #1976d266;transform:translateY(-2px)}.btn-view-invoices{border:2px solid #e2e8f0;border:2px solid var(--border-color);border-radius:8px;color:#1a202c;color:var(--text-primary);font-size:1.05rem;font-weight:600;padding:.75rem 2rem;transition:all .3s ease}.btn-view-invoices:hover{background:#1976d20d;border-color:#1976d2;border-color:var(--primary-color);color:#1976d2;color:var(--primary-color)}.payment-complete-badge{background:linear-gradient(135deg,#4caf50,#43a047);background:linear-gradient(135deg,var(--success-color) 0,#43a047 100%);box-shadow:0 4px 12px #4caf504d;color:#fff;font-size:1.05rem;font-weight:600;padding:.75rem 1.5rem}.payment-complete-badge,.status-alert{align-items:center;border-radius:8px;display:flex}.status-alert{border:none;border-left:4px solid;font-size:1rem;gap:1rem;padding:1.5rem}.status-alert.alert-info{background:#e3f2fd;border-left-color:#1976d2;border-left-color:var(--primary-color);color:#1976d2;color:var(--primary-color)}.status-alert.alert-danger{background:#ffebee;border-left-color:#f44336;border-left-color:var(--danger-color);color:#f44336;color:var(--danger-color)}.payment-modal .modal-content{border:none;border-radius:16px;box-shadow:0 20px 60px #00000026;overflow:hidden}.modal-header-professional{align-items:center;background:linear-gradient(135deg,#1976d2,#1565c0);background:linear-gradient(135deg,var(--primary-color) 0,#1565c0 100%);display:flex;justify-content:space-between;padding:2rem}.modal-title-custom{font-size:1.5rem;font-weight:700;margin:0}.btn-close-custom,.modal-title-custom{align-items:center;color:#fff;display:flex}.btn-close-custom{background:#0000;border:none;border-radius:8px;cursor:pointer;justify-content:center;padding:.5rem;transition:all .3s ease}.btn-close-custom:hover{background:#fff3;transform:rotate(90deg)}.payment-modal .modal-body{background:#fff;padding:2rem}.payment-modal .modal-footer{background:#f5f7fa;background:var(--neutral-light);border-top:1px solid #e2e8f0;border-top:1px solid var(--border-color);padding:1.5rem 2rem}@media (max-width:768px){.billing-header{padding:1.5rem}.header-content h1{font-size:1.5rem}.metrics-grid{gap:1rem}.metrics-grid,.payment-grid{grid-template-columns:1fr}.payment-item{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color);border-right:none;padding:1.5rem}.payment-item:last-child{border-bottom:none}.action-buttons{flex-direction:column}.btn-pay-now,.btn-view-invoices{width:100%}.metric-card{flex-direction:column;text-align:center}.card-icon{font-size:2rem;height:50px;width:50px}.payment-modal .modal-content{border-radius:12px}.modal-header-professional{padding:1.5rem}.modal-title-custom{font-size:1.25rem}.btn-close-custom{padding:.25rem}.payment-modal .modal-body{padding:1.5rem}}@media print{.billing-dashboard{box-shadow:none}.action-buttons{display:none}}.billing-dashboard .alert-danger{background-color:#f8d7da;color:#721c24}.billing-dashboard .alert-warning{background-color:#fff3cd;color:#856404}.billing-dashboard .alert-info{background-color:#d1ecf1;color:#0c5460}.billing-dashboard .alert-success{background-color:#d4edda;color:#155724}.billing-dashboard .btn-primary{background-color:#007bff;border:none;border-radius:6px;font-weight:600;padding:.75rem 2rem;transition:all .3s ease}.billing-dashboard .btn-primary:hover{background-color:#0056b3;box-shadow:0 4px 12px #007bff4d}.billing-dashboard .btn-outline-secondary{border:2px solid #6c757d;border-radius:6px;font-weight:600;padding:.75rem 2rem;transition:all .3s ease}.billing-dashboard .btn-outline-secondary:hover{background-color:#6c757d;border-color:#6c757d}.billing-dashboard .badge.bg-success{background-color:#28a745!important}.billing-dashboard .badge.bg-danger{background-color:#dc3545!important}.billing-dashboard .badge.bg-warning{background-color:#ffc107!important;color:#000!important}.billing-dashboard .badge.bg-secondary{background-color:#6c757d!important}.billing-dashboard .text-danger{color:#dc3545!important}.billing-dashboard .text-success{color:#28a745!important}.billing-dashboard .text-warning{color:#ffc107!important}@media (max-width:768px){.billing-dashboard{padding:1rem 0}.billing-dashboard .col-md-3{margin-bottom:1.5rem}.billing-dashboard .btn-lg{margin-bottom:.5rem;width:100%}.billing-dashboard h3{font-size:1.75rem}}.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{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-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;font-weight:600;min-width:120px;white-space:nowrap}.btn:disabled{opacity:.6}.btn svg.spinning{animation:spin 1s linear infinite}.btn-primary:hover:not(:disabled){background:#2563eb}.btn-secondary:hover:not(:disabled){background:#d1d5db}.btn-success{background:#10b981}.btn-success:hover:not(:disabled){background:#059669}.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%}.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:#e3f2fd;border-left:4px solid #06c;border-radius:4px;margin-bottom:16px;padding:16px}.billing-info-card h3{color:#06c;font-size:16px;font-weight:600;margin:0 0 12px}.billing-info{color:#333;font-size:14px;line-height:1.5;margin:0}.billing-help{padding:0}.billing-help h2{color:#222;font-size:24px;font-weight:600;margin:0 0 24px}.faq-item{border-bottom:1px solid #e0e0e0;margin-bottom:24px;padding-bottom:24px}.faq-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.faq-item h5{color:#222;font-size:15px;font-weight:600;margin:0 0 12px}.faq-item p{line-height:1.5;margin:0 0 8px}.faq-item p,.faq-item ul{color:#555;font-size:14px}.faq-item ul{margin:8px 0 0 20px;padding:0}.faq-item ul li{margin:4px 0}.help-footer{background:#f0f7ff;border-radius:4px;color:#333;font-size:14px;margin-top:32px;padding:16px}.help-footer a{color:#06c;font-weight:500;text-decoration:none}.help-footer a:hover{text-decoration:underline}.billing-page{background-color:#fff;min-height:100vh;padding:2rem 0}.billing-page .alert{background-color:#d1ecf1;border:none;border-left:4px solid #0c5460;border-radius:8px;color:#0c5460;padding:1rem 1.5rem}.billing-page .billing-tabs{border:none;border-bottom:2px solid #dee2e6}.billing-page .billing-tabs .nav-link{align-items:center;border:none;border-bottom:3px solid #0000;color:#495057;display:flex;font-size:.95rem;font-weight:600;letter-spacing:.5px;padding:1rem 1.5rem;text-transform:uppercase;transition:all .3s ease}.billing-page .billing-tabs .nav-link:hover{border-bottom-color:#007bff;color:#007bff}.billing-page .billing-tabs .nav-link.active{background-color:initial;border-bottom-color:#007bff;color:#007bff}.billing-page .billing-tabs .nav-link span{margin-left:.5rem}.billing-page .tab-content{padding:2rem 0}.billing-help h3{border-bottom:3px solid #007bff;color:#2c3e50;font-weight:600;margin-bottom:2rem;padding-bottom:1rem}.billing-help .faq-item{background-color:#f8f9fa;border-left:4px solid #007bff;border-radius:8px;padding:1.5rem;transition:all .3s ease}.billing-help .faq-item:hover{box-shadow:0 2px 8px #00000014}.billing-help .faq-item h5{color:#2c3e50;font-size:1.1rem;font-weight:600;margin-bottom:1rem}.billing-help .faq-item p{color:#6c757d;line-height:1.6;margin-bottom:.5rem}.billing-help .faq-item ul{color:#6c757d;line-height:1.8;margin-left:1.5rem;margin-top:.5rem}.billing-help .faq-item ul li{margin-bottom:.5rem}.billing-help .alert{background-color:#d4edda;border-left:4px solid #28a745;border-radius:8px;color:#155724;padding:1.5rem}.billing-help .alert a{color:#155724;font-weight:600;text-decoration:underline}.billing-help .alert a:hover{text-decoration:none}@media (max-width:768px){.billing-page{padding:1rem 0}.billing-page .alert{font-size:.9rem;padding:.875rem 1rem}.billing-page .billing-tabs .nav-link{font-size:.85rem;padding:.875rem 1rem}.billing-page .billing-tabs .nav-link span{display:none}.billing-page .tab-content{padding:1rem 0}.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}}@media (max-width:576px){.billing-page{padding:.5rem 0}.billing-page .alert{margin-bottom:1rem}.billing-page .billing-tabs .nav-link{font-size:.75rem;padding:.75rem .5rem}.billing-page .tab-content{padding:1rem 0}}.docs-header{background:linear-gradient(135deg,#1e3c72,#2a5298);border-radius:12px;box-shadow:0 8px 24px #0000001f;color:#fff;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-sidebar{height:-webkit-fit-content;height:fit-content;position:-webkit-sticky;position:sticky;top:20px}.docs-content{padding-right:2rem}.docs-nav{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 8px #0000000f;padding:1.5rem 0}.nav-section{margin-bottom:1.5rem;padding:0 1rem}.nav-section:last-child{margin-bottom:0}.nav-section h5{color:#666;font-size:.85rem;font-weight:700;letter-spacing:.5px;margin:0 0 .75rem;text-transform:uppercase}.nav-item{align-items:center;background:none;border:none;border-radius:6px;color:#555;cursor:pointer;display:flex;font-size:.95rem;margin-bottom:.3rem;padding:.7rem 1rem;text-align:left;transition:all .2s ease;width:100%}.nav-item:hover{background-color:#f5f5f5;color:#1e3c72}.nav-item.active{background:linear-gradient(135deg,#1e3c72,#2a5298);color:#fff;font-weight:600}.doc-section{animation:fadeIn .3s ease;scroll-margin-top:100px}.doc-section h2{border-bottom:3px solid #2a5298;color:#1e3c72;font-size:2rem;font-weight:700;margin-bottom:1.5rem;padding-bottom:1rem}.doc-section h4{color:#2a5298;font-size:1.3rem;font-weight:700;margin:1.5rem 0 1rem}.doc-section h5{color:#333;font-size:1.1rem;font-weight:700;margin:1rem 0 .5rem}.doc-section p{color:#555;font-size:1rem;line-height:1.6;margin-bottom:1rem}.doc-intro{background:linear-gradient(135deg,#f5f7fa,#e8ecf1);border-left:4px solid #2a5298;border-radius:8px;font-size:1.05rem}.doc-card,.doc-intro{margin-bottom:2rem;padding:1.5rem}.doc-card{background:#fff;border:1px solid #e0e0e0;border-radius:10px;box-shadow:0 2px 8px #0000000a;transition:all .2s ease}.doc-card:hover{border-color:#2a5298;box-shadow:0 4px 16px #00000014}.doc-card ul{list-style:none;margin:1rem 0;padding:0}.doc-card li{border-bottom:1px solid #f0f0f0;color:#555;padding:.6rem 0}.doc-card li:last-child{border-bottom:none}.doc-card.info-card{background:linear-gradient(135deg,#e8f4f8,#f0f8fc);border:none;border-left:4px solid #2a5298}.code-block{align-items:center;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:6px;display:flex;font-family:Courier New,monospace;justify-content:space-between;margin:1rem 0;padding:1rem}.code-block code{color:#1e3c72;flex:1 1;font-size:.9rem;word-break:break-all}.btn-copy{align-items:center;background:#2a5298;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;justify-content:center;margin-left:1rem;padding:.4rem .8rem;transition:all .2s ease}.btn-copy:hover{background:#1e3c72;transform:scale(1.05)}.btn-copy-small{background:#f0f0f0;border:1px solid #ddd;border-radius:4px;color:#555;cursor:pointer;font-size:.85rem;margin-left:1rem;padding:.4rem .8rem;transition:all .2s ease}.btn-copy-small:hover{background:#2a5298;border-color:#2a5298;color:#fff}.code-example{background:#1e3c72;border-radius:6px;color:#00d4ff;font-family:Courier New,monospace;font-size:.9rem;line-height:1.5;margin:1rem 0;overflow-x:auto;padding:1rem}.endpoint{align-items:flex-start;background:#f9f9f9;border-left:4px solid #2a5298;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:1rem;padding:1.2rem}.method{border-radius:4px;color:#fff;font-size:.85rem;font-weight:700;margin-right:1rem;min-width:50px;padding:.4rem .8rem;text-align:center}.method.get{background:#4caf50}.method.post{background:#2196f3}.method.put{background:#ff9800}.method.delete{background:#f44336}.path{color:#1e3c72;flex:1 1;font-family:Courier New,monospace;font-size:1rem;font-weight:600}.endpoint p{color:#666;font-size:.9rem;grid-column:2;margin:.5rem 0 0}.feature-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:2rem 0}.feature-card{background:#fff;border:1px solid #e0e0e0;border-radius:10px;box-shadow:0 2px 8px #0000000a;padding:1.5rem;text-align:center;transition:all .3s ease}.feature-card:hover{border-color:#2a5298;box-shadow:0 8px 20px #0000001f;transform:translateY(-5px)}.feature-icon{font-size:2.5rem;margin-bottom:1rem}.feature-card h4{color:#1e3c72;margin-top:0}.feature-card p{color:#666;margin:0}.flow-diagram{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin:2rem 0}.flow-step{background:linear-gradient(135deg,#2a5298,#1e3c72);border-radius:8px;color:#fff;font-weight:600;min-width:150px;padding:1rem 1.2rem;text-align:center}.step-num{display:block;font-size:1.5rem;margin-bottom:.5rem}.step-text{font-size:.85rem}.flow-arrow{color:#2a5298;font-size:1.5rem;font-weight:700}.timeline{border-left:3px solid #2a5298;display:flex;flex-direction:column;gap:1.5rem;margin:2rem 0;padding-left:2rem}.timeline-item{padding-left:1.5rem;position:relative}.timeline-item:before{background:#fff;border:3px solid #2a5298;border-radius:50%;content:"";height:12px;left:-2.55rem;position:absolute;top:.5rem;width:12px}.timeline-marker{color:#2a5298;font-size:1rem;font-weight:700;margin-bottom:.3rem}.timeline-item p{color:#666;margin:0}.config-table{border-collapse:collapse;margin:1rem 0;width:100%}.config-table tr{border-bottom:1px solid #e0e0e0}.config-table tr:last-child{border-bottom:none}.config-table td{padding:1rem;text-align:left}.config-table td:first-child{background:#f9f9f9;color:#1e3c72;font-weight:600;width:35%}.config-table td:last-child{color:#666}@media (max-width:1024px){.docs-container{gap:2rem;grid-template-columns:1fr}.docs-sidebar{position:static}.docs-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));padding:1rem}.nav-section{padding:0}}@media (max-width:768px){.docs-header{padding:2rem 1rem}.docs-header h1{font-size:1.75rem}.doc-section h2{font-size:1.5rem}.feature-grid{grid-template-columns:1fr}.flow-diagram{flex-direction:column;gap:2rem}.flow-arrow{transform:rotate(90deg)}.endpoint{flex-direction:column}.btn-copy,.btn-copy-small{margin-left:0;margin-top:1rem}.docs-content{padding-right:0}.code-block{align-items:flex-start;flex-direction:column}.timeline{padding-left:1rem}.timeline-item:before{left:-1.55rem}}.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;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:30px 0}.metric-card{border-left:4px solid;transition:all .2s}.metric-card:hover{box-shadow:0 4px 8px #00000026}.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{background:#f3f4f6;color:#064e3b;height:56px;width:56px}.metric-content h3{color:#6b7280;font-size:14px;margin:0}.metric-value{color:#1f2937;font-size:28px;font-weight:700;margin:8px 0}.metric-subtitle{color:#9ca3af}.action-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:20px}.action-card{border:1px solid #e5e7eb;border-radius:8px;gap:12px;padding:24px;transition:all .2s}.action-card:hover{border-color:#064e3b;box-shadow:0 4px 12px #064e3b26;transform:translateY(-2px)}.action-card p{font-size:14px}.table-section{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin:20px 0;overflow:hidden}.data-table thead{background:#f3f4f6}.data-table th{color:#374151;font-size:14px}.data-table td{border-bottom:1px solid #f3f4f6}.data-table tbody tr.row-expired{background:#fef3c7}.badge{border-radius: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}.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{color:#6b7280;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 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}.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;gap:0;margin:20px 0}.tab-btn{background:none;border-bottom:2px solid #0000;padding:12px 20px;transition:all .2s}.tab-btn:hover{color:#1f2937}.tab-btn.active{border-bottom-color:#064e3b;color:#064e3b}.pagination{background:#fff;border:1px solid #e5e7eb;border-radius:8px;gap:12px;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}.actions{display:flex;gap:8px}.modal{animation:slideUp .3s ease-out;background-color:#fff;box-shadow:0 4px 6px #0000001a,0 10px 20px #00000026;max-width:500px;padding:24px}.modal-lg{max-width:700px}.modal-xl{max-width:900px}.modal-header{margin-bottom:20px;padding-bottom:16px}.modal-title{color:#1f2937;font-size:20px;font-weight:600;margin:0}.modal-close-btn{transition:all .2s}.modal-close-btn:hover{background-color:#f3f4f6}.modal-body{margin-bottom:24px}.modal-footer{justify-content:flex-end;padding-top:16px}.form-label{color:#374151;display:block;font-size:14px;font-weight:500;margin-bottom:6px}.form-input,.form-select{background-color:#fff;border:1px solid #d1d5db;border-radius:6px;color:#1f2937;font-size:14px;padding:10px 12px;transition:border-color .2s,box-shadow .2s;width:100%}.form-input:focus,.form-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-input::placeholder{color:#9ca3af}.form-input:disabled,.form-select:disabled{background-color:#f3f4f6;color:#9ca3af;cursor:not-allowed}.form-textarea{background-color:#fff;border:1px solid #d1d5db;border-radius:6px;color:#1f2937;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:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-row.full{grid-template-columns:1fr}.btn{justify-content:center;transition:all .2s}.btn-danger{background-color:#ef4444}.btn-danger:hover{background-color:#dc2626}.form-error{color:#ef4444}.form-error,.form-help{font-size:12px;margin-top:4px}.form-help{color:#6b7280}.form-section{margin-bottom:24px}.form-section-title{border-bottom:1px solid #e5e7eb;color:#1f2937;font-size:15px;font-weight:600;margin-bottom:12px;padding-bottom:8px}.checkbox-group{align-items:center}.checkbox-input{cursor:pointer;height:18px;width:18px}.loading-spinner{animation:spin .6s linear infinite;border:2px solid #e5e7eb;border-top-color:#3b82f6;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-header{flex-wrap:wrap;gap:16px;margin-bottom:32px}.page-header h1{color:#06c;font-weight:600}.page-header p{color:#666;margin:0}.hostel-dashboard{padding:24px}.hostel-dashboard .page-header{margin-bottom:32px}.hostel-dashboard .page-header h1{color:#06c;font-size:28px;font-weight:600;margin-bottom:8px}.hostel-dashboard .page-header p{color:#666;font-size:14px}.stats-bar{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:24px}.stat{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:16px}.stat h3{color:#666;font-size:12px;font-weight:500;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.stat-value{font-weight:600;margin:0}.metrics-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:32px}.metric-card{background:#fff;border-left:4px solid #ccc;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;gap:16px;padding:20px;transition:all .3s ease}.metric-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.metric-card.metric-primary{border-left-color:#06c}.metric-card.metric-success{border-left-color:#2e7d32}.metric-card.metric-warning{border-left-color:#e65100}.metric-card.metric-danger{border-left-color:#c62828}.metric-card.metric-info{border-left-color:#00a8cc}.metric-card.metric-secondary{border-left-color:#7b1fa2}.metric-icon{align-items:center;background:#f5f5f5;border-radius:8px;color:#06c;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.metric-card.metric-success .metric-icon{background:#e8f5e9;color:#2e7d32}.metric-card.metric-warning .metric-icon{background:#fff3e0;color:#e65100}.metric-card.metric-danger .metric-icon{background:#ffebee;color:#c62828}.metric-card.metric-info .metric-icon{background:#e0f7fa;color:#00a8cc}.metric-card.metric-secondary .metric-icon{background:#f3e5f5;color:#7b1fa2}.metric-content{display:flex;flex:1 1;flex-direction:column;justify-content:center}.metric-content h3{color:#666;font-size:12px;font-weight:500;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.metric-value{color:#333;font-size:24px;font-weight:600;margin:0 0 4px}.metric-subtitle{color:#999;font-size:12px;margin:0}.dashboard-section{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px;padding:24px}.dashboard-section h2{border-bottom:2px solid #f0f0f0;color:#333;font-size:18px;font-weight:600;margin:0 0 20px;padding-bottom:12px}.quick-actions{grid-gap:12px;display:grid;gap:12px}@media (max-width:1200px){.quick-actions{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.quick-actions{grid-template-columns:1fr}}.quick-action{align-items:center;background:#fafafa;border:1px solid #ddd;border-radius:8px;color:#333;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}.quick-action:hover{background:#f0f7ff;border-color:#06c;box-shadow:0 4px 12px #0066cc26;color:#06c;transform:translateY(-2px)}.quick-action svg{color:currentColor}.nav-links{grid-gap:12px;display:grid;gap:12px}.nav-link{align-items:center;background:#fafafa;border:1px solid #ddd;border-radius:8px;color:#333;display:flex;font-weight:500;gap:12px;padding:16px;text-decoration:none;transition:all .3s ease}.nav-link:hover{background:#fff;border-color:#06c;box-shadow:0 4px 12px #0066cc1a;color:#06c}.nav-link svg{color:currentColor}.nav-link span{flex:1 1}.loading{font-size:16px;justify-content:center;min-height:400px}.filters-bar,.loading{align-items:center;display:flex}.filters-bar{flex-wrap:wrap;gap:12px;margin-bottom:24px}.search-input{align-items:center;background:#fff;border:1px solid #ddd;border-radius:6px;display:flex;flex:1 1;gap:8px;min-width:250px;padding:8px 12px}.search-input input{border:none;font-family:inherit;font-size:14px;outline:none;width:100%}.filter-select{border:1px solid #ddd;border-radius:6px;color:#333;font-family:inherit;font-size:14px;padding:8px 12px}.filter-select:hover{border-color:#06c}.form-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px;padding:24px}.form-card{max-width:600px}.form-card h2{color:#333;font-size:20px;font-weight:600;margin-bottom:24px}.form-group label{color:#333;display:block;margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:6px;color:#333;font-family:inherit;font-size:14px;padding:10px 12px;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#06c;box-shadow:0 0 0 3px #0066cc1a}.form-group textarea{min-height:100px}.form-row{grid-gap:16px;gap:16px}.form-group .form-select{display:block;margin-bottom:0;width:100%}.form-group .form-select-control{-webkit-appearance:none;appearance:none;background:#fff!important;border:1px solid #ddd!important;border-radius:6px!important;color:#333!important;display:block!important;font-family:inherit!important;font-size:14px!important;padding:10px 12px!important;width:100%!important}.form-group .form-select-control option{background:#fff;color:#333}.form-group .form-select-label{color:#333;display:block;font-size:14px;font-weight:500;margin-bottom:6px}.checkbox-group{display:flex;flex-direction:column;gap:8px}.checkbox-group label{align-items:center;display:flex;font-weight:400;gap:8px;margin:0}.checkbox-group input[type=checkbox]{margin:0;width:auto}.btn{display:flex;font-family:inherit;padding:10px 16px}.btn-secondary{background:#e0e0e0}.btn-secondary:hover{background:#d0d0d0}.btn-icon{color:#06c;display:flex;padding:8px;transition:all .3s ease}.btn-icon:hover{background:#f0f0f0;border-radius:6px;color:#0052a3}.btn-icon.btn-danger{color:#c62828}.btn-icon.btn-danger:hover{color:#a01919}.table-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.data-table thead{background:#f5f5f5;border-bottom:2px solid #e0e0e0}.data-table th{color:#333;font-size:13px;letter-spacing:.5px;padding:12px 16px}.data-table td{border-bottom:1px solid #e0e0e0;color:#333;font-size:14px;padding:12px 16px}.data-table tbody tr:hover{background:#f9f9f9}.data-table .actions{gap:8px}.data-table .description-cell{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-capitalize{text-transform:capitalize}.badge-info{background:#e0f7fa;color:#00a8cc}.empty-state p{font-size:16px}@media (max-width:768px){.hostel-dashboard{padding:16px}.metrics-grid{grid-template-columns:1fr}.quick-actions{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.metric-card{align-items:center;flex-direction:column;text-align:center}.metric-icon{height:40px;width:40px}.metric-content{align-items:center}.hostel-dashboard .page-header h1{font-size:20px}}.modal{border-radius:8px;box-shadow:0 10px 40px #0003;max-height:95vh}.modal-header{border-bottom:1px solid #e0e0e0;flex-shrink:0;padding:24px 32px}.modal-header h2{color:#06c;flex-grow:1}.btn-close{align-items:center;background:none;border:none;border-radius:4px;color:#666;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}.btn-close:hover{background:#f5f5f5;color:#333}.modal h2{color:#06c;font-size:20px;margin-bottom:20px}.modal form{display:flex;flex:1 1;flex-direction:column;overflow-y:auto;padding:32px}.modal .form-group{margin-bottom:16px}.tabs-container{border-bottom:2px solid #e0e0e0}.tab{background:none;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;font-size:14px;font-weight:500;margin-bottom:-2px;padding:12px 20px;transition:all .3s ease}.tab:hover{background:#f5f5f5;color:#06c}.tab.active{border-bottom-color:#06c;color:#06c}.action-bar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.action-bar .btn{flex-shrink:0}.action-bar .search-input{flex:1 1;min-width:250px}.action-bar .filter-select{flex-shrink:0;min-width:150px}.fee-summary{background:#f9f9f9;border-left:4px solid #06c;border-radius:4px;margin-bottom:20px;padding:16px}.fee-summary p{font-size:14px;margin:8px 0}.fee-summary strong{color:#333}.info-message{background:#e3f2fd;border-left:4px solid #06c;border-radius:4px;color:#06c;font-size:13px;margin-bottom:16px;padding:12px}.bulk-billing-container{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 10px 40px #0003;max-height:95vh;max-width:600px;width:90%}.btn-icon{align-items:center;background:none;border:none;border-radius:4px;color:#666;cursor:pointer;display:inline-flex;justify-content:center;padding:6px 8px;transition:all .2s ease}.btn-icon:hover{background:#f5f5f5}.btn-icon.btn-success{color:#4caf50}.btn-icon.btn-success:hover{background:#e8f5e9}.btn-icon.btn-danger{color:#f44336}.btn-icon.btn-danger:hover{background:#ffebee}.badge{border-radius:4px;display:inline-block;font-size:12px;font-weight:500;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.badge-success{background:#e8f5e9;color:#2e7d32}.badge-warning{background:#fff3e0;color:#e65100}.badge-danger{background:#ffebee;color:#c62828}.badge-secondary{background:#f5f5f5;color:#666}.btn{border-radius:4px;font-size:13px;gap:8px;padding:8px 16px}.btn-primary{background:#06c}.btn-primary:hover{background:#0052a3;box-shadow:0 2px 8px #06c3}.btn-secondary{background:#f5f5f5;color:#333}.btn-secondary:hover{background:#e0e0e0}.btn-success{background:#4caf50;color:#fff}.btn-success:hover{background:#388e3c}.btn-danger{background:#f44336}.btn-danger:hover{background:#d32f2f}.empty-state{color:#999;padding:48px 24px}.loading{color:#666;font-size:14px;padding:48px 24px}@media (max-width:768px){.form-row{grid-template-columns:1fr}.tabs-container{gap:0;margin-left:-24px;margin-right:-24px;padding:0 24px}.action-bar{flex-direction:column}.action-bar .search-input{min-width:auto;width:100%}.action-bar .filter-select{width:100%}.modal{border-radius:8px 8px 0 0;padding:24px}}.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;border-radius:50%;border-top-color:#667eea;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-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}.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}}.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{font-size:1rem;left:.75rem;pointer-events:none}.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-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}}.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-radius:50%;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}}.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)}.stat-icon{background-color:#064e3b0d;border-radius:12px;height:64px;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)}}.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{gap:8px;margin-bottom:16px}.form-group label{color:#374151;font-size:14px}.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{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;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{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-a,.grade-a\+{background-color:#059669}.grade-b,.grade-b\+{background-color:#2563eb}.grade-c,.grade-c\+{background-color:#f97316}.grade-f{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{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:5px;box-shadow:0 2px 8px #3b82f64d;color:#fff;cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;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{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{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-content{max-width:500px;z-index:1001}.modal-header{background-color:#f9fafb}.modal-header h2{font-size:18px;font-weight:600}.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-radius:6px;font-size:14px;padding:10px 20px;transition:all .2s ease}.btn-primary{background-color:#3b82f6}.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{align-items:center;display:flex;font-size:16px;gap:8px}.close-btn{transition:color .2s}.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{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;font-weight:600;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{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{background:#0000;border:1px solid #d1d5db;border-radius:4px;color:#6b7280;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;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;text-align:center}.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-radius:6px;flex-direction:column;gap:8px;padding:16px}.loading,.stat-label{text-align:center}.loading{color:#6b7280;padding:40px}.modal-overlay{animation:fadeIn .2s ease}.modal-content{animation:slideUp .3s ease;background:#fff;border-radius:8px;box-shadow:0 20px 25px -5px #0000001a;max-height:90vh;max-width:600px;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-header{background:#f9fafb;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}.upload-section{display:flex;flex-direction:column;gap:12px}.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{height:0;opacity:0;position:absolute}.file-input,.file-label{cursor:pointer;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}.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{align-items:flex-start;background:#f9fafb;border:1px solid #e5e7eb;border-radius:4px;display:flex;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{flex:1 1;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{background:#0000;border:none;color:#ef4444;cursor:pointer;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}}.page-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:24px;padding:20px 0}.page-header h1{color:#1f2937;font-size:28px;font-weight:700;margin:0}.page-header p{color:#6b7280;font-size:14px;margin:4px 0 0}.header-actions{gap:16px}.header-actions,.user-info{align-items:center;display:flex}.user-info{background:#f3f4f6;border-radius:6px;color:#374151;font-size:14px;gap:8px;padding:8px 12px}.tabs-container{border-bottom:1px solid #e5e7eb;display:flex;gap:8px;margin-bottom:24px;overflow-x:auto}.tab-btn{align-items:center;background:#0000;border:none;border-bottom:3px solid #0000;color:#6b7280;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:12px 16px;transition:all .3s ease;white-space:nowrap}.tab-btn:hover{border-bottom-color:#dbeafe;color:#06c}.tab-btn.active{border-bottom-color:#06c;color:#06c}.teacher-dashboard{animation:fadeIn .3s ease}.dashboard-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:32px}.dashboard-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:20px;transition:box-shadow .3s ease}.dashboard-card:hover{box-shadow:0 4px 12px #0000001a}.dashboard-card h3{color:#1f2937;font-size:16px;font-weight:600;margin:0 0 16px}.profile-info{display:flex;flex-direction:column;gap:14px}.profile-item{align-items:flex-start;background:#f9fafb;border-radius:6px;display:flex;gap:12px;padding:12px;transition:all .2s ease}.profile-item:hover{background:#f3f4f6}.profile-icon{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:8px;color:#fff;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.profile-content{display:flex;flex-direction:column;flex-grow:1;gap:4px}.profile-label{color:#6b7280;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.profile-value{color:#1f2937;font-size:14px;font-weight:500;word-break:break-word}.classes-list{display:flex;flex-direction:column;gap:12px}.class-item{align-items:center;background:#f9fafb;border-radius:4px;display:flex;font-size:13px;justify-content:space-between;padding:10px}.class-name{color:#1f2937;font-weight:500}.subject-name{color:#6b7280;font-size:12px}.text-muted{color:#9ca3af;font-size:13px;margin:0}.stats-grid{grid-gap:12px;gap:12px;grid-template-columns:repeat(3,1fr)}.stat{background:#f9fafb;border-radius:6px;padding:12px;text-align:center}.stat-value{color:#06c;font-size:24px;margin-bottom:4px}.stat-label{font-size:12px}.quick-actions{margin-top:32px}.quick-actions h3{color:#1f2937;font-size:16px;font-weight:600;margin:0 0 16px}.actions-grid{grid-gap:12px;gap:12px;grid-template-columns:repeat(4,1fr)}@media (max-width:1200px){.actions-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.actions-grid{grid-template-columns:1fr}}.action-btn{background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#06c;display:flex;flex-direction:column;font-size:13px;font-weight:500;gap:8px;padding:16px;transition:all .3s ease}.action-btn:hover{background:#f0f9ff;border-color:#06c;transform:translateY(-2px)}.action-btn svg{color:#06c}.loading-container{gap:16px}.spinner{animation:spin .8s linear infinite;border-top-color:#06c}@media (max-width:768px){.page-header{align-items:flex-start;flex-direction:column;gap:16px}.header-actions{justify-content:space-between;width:100%}.tabs-container{flex-wrap:wrap}.dashboard-grid{grid-template-columns:1fr}.actions-grid,.stats-grid{grid-template-columns:repeat(2,1fr)}}.super-admin-portal{display:flex;flex-direction:column;gap:2rem}.portal-tabs{border-bottom:2px solid #e5e7eb;display:flex;gap:1rem;margin-bottom:2rem;overflow-x:auto}.portal-tabs .tab{align-items:center;background:none;border:none;border-bottom:3px solid #0000;color:#6b7280;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:.5rem;padding:1rem 1.5rem;transition:all .3s ease;white-space:nowrap}.portal-tabs .tab:hover{background-color:#f3f4f6;color:#3b82f6}.portal-tabs .tab.active{border-bottom-color:#3b82f6;color:#3b82f6}.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)}}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.stat-card{border-radius:.75rem;gap:1.5rem;transition:all .3s ease}.stat-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f61a}.stat-icon{border-radius:.75rem;color:#fff;height:60px;width:60px}.stat-icon.schools{background:linear-gradient(135deg,#3b82f6,#2563eb)}.stat-icon.students{background:linear-gradient(135deg,#10b981,#059669)}.stat-icon.staff{background:linear-gradient(135deg,#f59e0b,#d97706)}.stat-icon.status{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.stat-content h3{color:#6b7280;font-size:.875rem;font-weight:500;margin:0}.stat-content .stat-number{color:#1f2937;font-size:2rem;font-weight:700;margin:.5rem 0}.stat-content .stat-number.healthy{align-items:center;color:#10b981;display:flex;font-size:1.125rem;gap:.5rem}.stat-content .stat-label{color:#9ca3af;font-size:.875rem}.section{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:2rem}.section h2{color:#1f2937;font-size:1.5rem;margin:0 0 1.5rem}.section-description{color:#6b7280;margin-bottom:1.5rem}.section-header{gap:1rem;justify-content:space-between;margin-bottom:2rem}.search-bar,.section-header{align-items:center;display:flex}.search-bar{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;color:#6b7280;flex:1 1;gap:.75rem;max-width:400px;padding:.75rem 1rem}.search-bar input{background:#0000;border:none;flex:1 1;font-size:1rem;outline:none}.search-bar input::placeholder{color:#9ca3af}.actions-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.action-card{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:.75rem;cursor:pointer;display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:2rem;text-align:center;transition:all .3s ease}.action-card:hover{background:#f0f9ff;border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626;transform:translateY(-4px)}.action-card svg{color:#3b82f6;font-size:2rem}.action-card h3{color:#1f2937;font-size:1.125rem;margin:0}.action-card p{color:#6b7280;font-size:.875rem;margin:0}.schools-list{display:flex;flex-direction:column;gap:1rem}.school-item{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;display:flex;justify-content:space-between;padding:1.5rem;transition:all .3s ease}.school-item:hover{background:#f0f9ff;border-color:#3b82f6}.school-info h3{color:#1f2937;font-size:1.125rem;margin:0 0 .25rem}.school-info p{color:#6b7280;font-size:.875rem;margin:0}.table-container{border:1px solid #e5e7eb;border-radius:.75rem;overflow-x:auto}.data-table{background:#fff;border-collapse:collapse;width:100%}.data-table thead{background:#f9fafb;border-bottom:2px solid #e5e7eb}.data-table th{color:#6b7280;font-size:.875rem;font-weight:600;letter-spacing:.05em;padding:1rem;text-align:left;text-transform:uppercase}.data-table td{border-bottom:1px solid #e5e7eb;color:#1f2937;padding:1rem}.data-table tbody tr:hover{background:#f9fafb}.data-table .font-medium{color:#1f2937;font-weight:600}.data-table .badge{border-radius:9999px;display:inline-block;font-size:.875rem;font-weight:500;padding:.25rem .75rem}.data-table .badge-primary{background:#dbeafe;color:#1e40af}.data-table .actions{display:flex;gap:.5rem}.icon-btn{align-items:center;background:#e5e7eb;border:none;border-radius:.5rem;color:#6b7280;cursor:pointer;display:inline-flex;height:32px;justify-content:center;transition:all .3s ease;width:32px}.icon-btn:hover{background:#3b82f6;color:#fff}.settings-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.setting-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.75rem;padding:1.5rem;transition:all .3s ease}.setting-card:hover{background:#f0f9ff;border-color:#3b82f6}.setting-card h3{color:#1f2937;font-size:1.125rem;margin:0 0 .5rem}.setting-card p{color:#6b7280;font-size:.875rem;margin:0 0 1rem}.info-box{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:.5rem;color:#166534;display:flex;gap:1rem;padding:1rem}.info-box svg{flex-shrink:0}.info-box p{margin:0}.modal-overlay{background:#00000080}.modal{border-radius:.75rem;box-shadow:0 20px 25px -5px #0000001a;display:flex;flex-direction:column}.modal-large{max-width:800px}.modal-scrollable{overflow-y:auto}.modal-header h2{color:#1f2937}.close-btn{align-items:center;background:none;border:none;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:0;transition:color .3s ease}.close-btn:hover{color:#1f2937}.modal-content{flex:1 1;flex-direction:column;overflow-y:auto}.modal-actions,.modal-content{display:flex;gap:1rem;padding:1.5rem}.modal-actions{border-top:1px solid #e5e7eb;justify-content:flex-end}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{color:#1f2937;font-size:.875rem;font-weight:500}.form-group input,.form-group select,.form-group textarea{border:1px solid #e5e7eb;border-radius:.5rem;font-size:1rem;padding:.75rem;transition:border-color .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-group textarea{font-family:inherit;resize:vertical}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.btn{align-items:center;border:none;border-radius:.5rem;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover{background:#2563eb}.btn-secondary{background:#e5e7eb;color:#1f2937}.btn-secondary:hover{background:#d1d5db}.btn-small{font-size:.875rem;padding:.5rem 1rem}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover{background:#dc2626}.loading-container{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:400px}.spinner{animation:spin 1s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;height:40px;width:40px}.filters{display:flex;flex-wrap:wrap;gap:1rem}.filter-select{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;font-size:.875rem;padding:.75rem;transition:border-color .3s ease}.filter-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.pagination{border-top:1px solid #e5e7eb;padding-top:2rem}.page-info{color:#6b7280;font-size:.875rem;font-weight:500}.ticket-info-grid{grid-gap:1.5rem;background:#f9fafb;border-radius:.75rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:1.5rem;padding:1.5rem}.ticket-info-grid label{color:#6b7280;display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.ticket-info-grid p{color:#1f2937;font-size:1rem;margin:0}.ticket-section{margin-bottom:2rem}.ticket-section h3{color:#1f2937;font-size:1.125rem;margin:0 0 1rem}.ticket-section p{color:#374151;line-height:1.5;margin:0 0 1rem}.comments-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem;max-height:300px;overflow-y:auto}.comment-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;padding:1rem}.comment-header{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.5rem}.comment-header strong{color:#1f2937}.comment-date{color:#9ca3af;font-size:.75rem;white-space:nowrap}.comment-item p{color:#6b7280;font-size:.875rem;margin:0}.no-comments{color:#9ca3af;font-style:italic;padding:2rem;text-align:center}.add-comment{background:#f9fafb;display:flex;flex-direction:column;gap:1rem;padding:1rem}.add-comment,.add-comment textarea{border:1px solid #e5e7eb;border-radius:.5rem}.add-comment textarea{font-family:inherit;font-size:.875rem;padding:.75rem;resize:vertical;transition:border-color .3s ease}.add-comment textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.badge.badge-secondary{background:#dbeafe;color:#1e40af}@media (max-width:768px){.portal-tabs{gap:.5rem;overflow-x:auto}.portal-tabs .tab{font-size:.875rem;padding:1rem}.stats-grid{grid-template-columns:1fr}.stat-card{flex-direction:column;text-align:center}.stat-icon{height:50px;margin:0 auto;width:50px}.section-header{flex-direction:column}.search-bar{max-width:100%}.actions-grid,.form-row,.settings-grid{grid-template-columns:1fr}.modal{max-height:95vh;width:95%}.modal-actions{flex-direction:column-reverse}.modal-actions button{width:100%}}.sms-dashboard{background-color:#f9fafb;min-height:100vh;padding:2rem}.sms-header{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;margin-bottom:2.5rem;padding:2.5rem}.sms-header-content h1{font-size:2rem;font-weight:700;margin-bottom:.5rem}.sms-header-content p{font-size:1rem;opacity:.9}.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}.stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 1px 3px #0000001a;display:flex;gap:1rem;padding:1.5rem;transition:transform .2s,box-shadow .2s}.stat-card:hover{box-shadow:0 4px 6px #0000001a;transform:translateY(-2px)}.stat-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;height:56px;justify-content:center;width:56px}.stat-content{flex:1 1}.stat-label{color:#6b7280;font-size:.875rem;font-weight:500;margin-bottom:.25rem}.stat-value{color:#111827;font-size:1.875rem;font-weight:700}.sms-controls{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.search-box{flex:1 1;min-width:250px;position:relative}.search-icon{color:#9ca3af;left:12px;position:absolute;top:50%;transform:translateY(-50%)}.search-input{background-color:#fff;border:1px solid #d1d5db;border-radius:8px;font-size:.95rem;padding:10px 12px 10px 40px;transition:border-color .2s;width:100%}.search-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.filter-group{display:flex;flex-wrap:wrap;gap:1rem}.filter-select{background-color:#fff;border:1px solid #d1d5db;border-radius:8px;cursor:pointer;font-size:.95rem;padding:10px 12px;transition:border-color .2s}.filter-select:focus{border-color:#667eea;outline:none}.refresh-btn{align-items:center;background-color:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:.5rem;padding:10px 16px;transition:background-color .2s}.refresh-btn:hover{background-color:#5568d3}.refresh-btn:active{transform:scale(.98)}.sms-table-container{background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem;overflow:hidden}.sms-table{border-collapse:collapse;width:100%}.sms-table thead{background-color:#f3f4f6;border-bottom:2px solid #e5e7eb}.sms-table th{color:#374151;font-size:.875rem;font-weight:600;letter-spacing:.5px;padding:1rem;text-align:left;text-transform:uppercase}.sms-table tbody tr{border-bottom:1px solid #f3f4f6;transition:background-color .2s}.sms-table tbody tr:hover{background-color:#f9fafb}.sms-table td{color:#374151;font-size:.95rem;padding:1rem}.phone-cell{align-items:center;display:flex;font-family:Courier New,monospace;font-weight:500;gap:.5rem}.phone-cell,.phone-icon{color:#667eea}.recipient-cell{max-width:150px}.message-cell,.recipient-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-cell{color:#6b7280;max-width:300px}.status-badge,.type-badge{border-radius:20px;display:inline-block;font-size:.825rem;font-weight:500;padding:.35rem .75rem}.date-cell{color:#9ca3af;font-size:.85rem;white-space:nowrap}.action-btn{align-items:center;background-color:#f3f4f6;border:none;border-radius:6px;color:#667eea;cursor:pointer;display:inline-flex;justify-content:center;padding:.5rem .75rem;transition:all .2s}.action-btn:hover{background-color:#667eea;color:#fff}.pagination{align-items:center;display:flex;gap:1rem;justify-content:center;margin-top:2rem}.pagination-btn{background-color:#fff;border:1px solid #d1d5db;border-radius:8px;color:#667eea;cursor:pointer;font-weight:500;padding:.625rem 1.25rem;transition:all .2s}.pagination-btn:hover:not(:disabled){background-color:#667eea;border-color:#667eea;color:#fff}.pagination-btn:disabled{cursor:not-allowed;opacity:.5}.pagination-info{color:#6b7280;font-size:.95rem;min-width:200px;text-align:center}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal{background:#fff;border-radius:12px;box-shadow:0 20px 25px #00000026;max-height:90vh;max-width:600px;overflow-y:auto;width:90%}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1.5rem}.modal-header h2{color:#111827;font-size:1.5rem;font-weight:700;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:6px;color:#9ca3af;cursor:pointer;display:flex;font-size:2rem;height:2rem;justify-content:center;padding:0;transition:all .2s;width:2rem}.modal-close:hover{background-color:#f3f4f6;color:#374151}.modal-body{padding:1.5rem}.detail-row{border-bottom:1px solid #f3f4f6;margin-bottom:1.25rem;padding-bottom:1.25rem}.detail-row:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.detail-row label{color:#6b7280;display:block;font-size:.875rem;font-weight:600;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.detail-row p{color:#374151;font-size:.95rem;margin:0}.message-detail{line-height:1.5;white-space:pre-wrap;word-break:break-word}.detail-row.error{background-color:#fef2f2;border-left:3px solid #ef4444;border-radius:8px;padding:1rem}.detail-row.error p{color:#b91c1c}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f4f6;border-radius:50%;border-top-color:#667eea;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-header{padding:1.5rem}.sms-header-content h1{font-size:1.5rem}.sms-stats-grid{gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.sms-controls{flex-direction:column}.search-box{min-width:0;min-width:auto}.filter-group{width:100%}.filter-select{flex:1 1}.sms-table{font-size:.85rem}.sms-table td,.sms-table th{padding:.75rem .5rem}.phone-cell{align-items:flex-start;flex-direction:column}.message-cell{max-width:200px}.pagination{flex-wrap:wrap}.modal{width:95%}}@media (max-width:480px){.sms-header-content h1{font-size:1.25rem}.sms-stats-grid{grid-template-columns:1fr}.stat-card{padding:1rem}.sms-table th{font-size:.75rem}.sms-table td{font-size:.8rem}.action-btn{padding:.4rem .6rem}}
/*# sourceMappingURL=main.647c8de5.css.map*/