@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap);.calendar-grid{display:grid!important;grid-auto-rows:1fr!important;grid-template-columns:repeat(7,1fr)!important}@media (max-width:767px){.calendar-grid{grid-template-columns:1fr!important;grid-template-rows:auto!important}}*,: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.17 | 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:Inter,system-ui,sans-serif;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:-webkit-sticky;position:sticky}.inset-0{inset:0}.inset-y-0{bottom:0;top:0}.left-0{left:0}.left-3{left:.75rem}.right-0{right:0}.top-0{top:0}.top-1\/2{top:50%}.z-40{z-index:40}.z-50{z-index:50}.-m-2\.5{margin:-.625rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-6{margin-left:1.5rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.line-clamp-2{-webkit-box-orient:vertical;-webkit-line-clamp:2;display:-webkit-box;overflow:hidden}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-32{height:8rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.min-h-\[400px\]{min-height:400px}.min-h-screen{min-height:100vh}.w-12{width:3rem}.w-16{width:4rem}.w-3{width:.75rem}.w-32{width:8rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-8{width:2rem}.w-full{width:100%}.max-w-7xl{max-width:80rem}.max-w-md{max-width:28rem}.flex-1{flex:1 1}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.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))}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-not-allowed{cursor:not-allowed}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.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-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-2{column-gap:.5rem}.gap-x-3{column-gap:.75rem}.gap-x-4{column-gap:1rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.25rem*var(--tw-space-x-reverse))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.space-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-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))}.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-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.25rem*var(--tw-space-y-reverse));margin-top:calc(1.25rem*(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)))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(2rem*var(--tw-space-y-reverse));margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))}.self-stretch{align-self:stretch}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-r{border-right-width:1px}.border-r-2{border-right-width:2px}.border-t{border-top-width:1px}.border-blue-200{--tw-border-opacity:1;border-color:#bfdbfe;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-blue-500{--tw-border-opacity:1;border-color:#3b82f6;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.border-blue-600{--tw-border-opacity:1;border-color:#2563eb;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.border-gray-100{--tw-border-opacity:1;border-color:#f3f4f6;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:#e5e7eb;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-300{--tw-border-opacity:1;border-color:#d1d5db;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-primary-200{--tw-border-opacity:1;border-color:#bfdbfe;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-primary-600{--tw-border-opacity:1;border-color:#2563eb;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.border-red-200{--tw-border-opacity:1;border-color:#fecaca;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-red-300{--tw-border-opacity:1;border-color:#fca5a5;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.border-transparent{border-color:#0000}.border-white{--tw-border-opacity:1;border-color:#fff;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.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-gray-100{--tw-bg-opacity:1;background-color:#f3f4f6;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:#e5e7eb;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:#f9fafb;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-gray-600{--tw-bg-opacity:1;background-color:#4b5563;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.bg-green-100{--tw-bg-opacity:1;background-color:#dcfce7;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.bg-green-50{--tw-bg-opacity:1;background-color:#f0fdf4;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.bg-orange-100{--tw-bg-opacity:1;background-color:#ffedd5;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.bg-primary-500{--tw-bg-opacity:1;background-color:#3b82f6;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-primary-600{--tw-bg-opacity:1;background-color:#2563eb;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-purple-100{--tw-bg-opacity:1;background-color:#f3e8ff;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.bg-purple-50{--tw-bg-opacity:1;background-color:#faf5ff;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:#fee2e2;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:#fef2f2;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-yellow-100{--tw-bg-opacity:1;background-color:#fef9c3;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.bg-opacity-75{--tw-bg-opacity:0.75}.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-blue-500{--tw-gradient-from:#3b82f6 var(--tw-gradient-from-position);--tw-gradient-to:#3b82f600 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)}.via-blue-50{--tw-gradient-to:#eff6ff00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#eff6ff var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-indigo-100{--tw-gradient-to:#e0e7ff var(--tw-gradient-to-position)}.to-indigo-600{--tw-gradient-to:#4f46e5 var(--tw-gradient-to-position)}.p-1{padding:.25rem}.p-12{padding:3rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-12{padding-bottom:3rem;padding-top:3rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.py-8{padding-bottom:2rem;padding-top:2rem}.pl-10{padding-left:2.5rem}.pr-12{padding-right:3rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.text-center{text-align:center}.text-right{text-align:right}.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-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.capitalize{text-transform:capitalize}.text-blue-100{--tw-text-opacity:1;color:#dbeafe;color:rgb(219 234 254/var(--tw-text-opacity,1))}.text-blue-500{--tw-text-opacity:1;color:#3b82f6;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:#2563eb;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-700{--tw-text-opacity:1;color:#1d4ed8;color:rgb(29 78 216/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-gray-400{--tw-text-opacity:1;color:#9ca3af;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:#6b7280;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:#4b5563;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-gray-800{--tw-text-opacity:1;color:#1f2937;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:#111827;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:#16a34a;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-green-800{--tw-text-opacity:1;color:#166534;color:rgb(22 101 52/var(--tw-text-opacity,1))}.text-green-900{--tw-text-opacity:1;color:#14532d;color:rgb(20 83 45/var(--tw-text-opacity,1))}.text-orange-600{--tw-text-opacity:1;color:#ea580c;color:rgb(234 88 12/var(--tw-text-opacity,1))}.text-orange-800{--tw-text-opacity:1;color:#9a3412;color:rgb(154 52 18/var(--tw-text-opacity,1))}.text-primary-600{--tw-text-opacity:1;color:#2563eb;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-primary-700{--tw-text-opacity:1;color:#1d4ed8;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-primary-900{--tw-text-opacity:1;color:#1e3a8a;color:rgb(30 58 138/var(--tw-text-opacity,1))}.text-purple-600{--tw-text-opacity:1;color:#9333ea;color:rgb(147 51 234/var(--tw-text-opacity,1))}.text-purple-800{--tw-text-opacity:1;color:#6b21a8;color:rgb(107 33 168/var(--tw-text-opacity,1))}.text-purple-900{--tw-text-opacity:1;color:#581c87;color:rgb(88 28 135/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:#dc2626;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:#b91c1c;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-red-800{--tw-text-opacity:1;color:#991b1b;color:rgb(153 27 27/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-yellow-800{--tw-text-opacity:1;color:#854d0e;color:rgb(133 77 14/var(--tw-text-opacity,1))}.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-lg,.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)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-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-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-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:#d1d5db;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.hover\:border-primary-300:hover{--tw-border-opacity:1;border-color:#93c5fd;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.hover\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:#dbeafe;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:#f3f4f6;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:#f9fafb;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:#dcfce7;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.hover\:bg-primary-50:hover{--tw-bg-opacity:1;background-color:#eff6ff;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.hover\:bg-primary-700:hover{--tw-bg-opacity:1;background-color:#1d4ed8;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.hover\:bg-purple-100:hover{--tw-bg-opacity:1;background-color:#f3e8ff;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.hover\:bg-red-200:hover{--tw-bg-opacity:1;background-color:#fecaca;background-color:rgb(254 202 202/var(--tw-bg-opacity,1))}.hover\:from-blue-600:hover{--tw-gradient-from:#2563eb var(--tw-gradient-from-position);--tw-gradient-to:#2563eb00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:to-indigo-700:hover{--tw-gradient-to:#4338ca var(--tw-gradient-to-position)}.hover\:text-blue-500:hover{--tw-text-opacity:1;color:#3b82f6;color:rgb(59 130 246/var(--tw-text-opacity,1))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:#4b5563;color:rgb(75 85 99/var(--tw-text-opacity,1))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:#111827;color:rgb(17 24 39/var(--tw-text-opacity,1))}.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);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)}.focus\:border-primary-500:focus{--tw-border-opacity:1;border-color:#3b82f6;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.focus\:border-transparent:focus{border-color:#0000}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.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);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-blue-500:focus,.focus\:ring-primary-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity,1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.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\:text-gray-500{--tw-text-opacity:1;color:#6b7280;color:rgb(107 114 128/var(--tw-text-opacity,1))}@media (min-width:640px){.sm\:mt-0{margin-top:0}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:gap-x-6{column-gap:1.5rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1024px){.lg\:fixed{position:fixed}.lg\:inset-y-0{bottom:0;top:0}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:h-6{height:1.5rem}.lg\:w-64{width:16rem}.lg\:w-px{width:1px}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:flex-col{flex-direction:column}.lg\:gap-x-6{column-gap:1.5rem}.lg\:bg-gray-200{--tw-bg-opacity:1;background-color:#e5e7eb;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:pl-64{padding-left:16rem}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8fafc;font-family:Inter,-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}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .3s ease-out}.glass{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff40;border:1px solid #ffffff2e}.login-container{background:var(--login-bg-gradient)}.login-card{background-color:var(--login-card-bg);border:1px solid var(--login-card-border)}.login-title{color:var(--login-title-color)}.login-subtitle{color:var(--login-subtitle-color)}.login-label{color:var(--login-label-color)}.login-input{background-color:var(--login-input-bg);border:1px solid var(--login-input-border);color:var(--login-input-text)}.login-input::placeholder{color:var(--login-input-placeholder)}.login-toggle-icon{color:var(--login-toggle-icon-color)}.login-demo-section{background-color:var(--login-demo-bg);border:1px solid var(--login-demo-border)}.login-demo-title{color:var(--login-demo-title-color)}.login-demo-text{color:var(--login-demo-text-color)}.login-demo-credential{background-color:var(--login-demo-credential-bg);color:var(--login-demo-credential-text)}.login-footer-text{color:var(--login-footer-text-color)}.legal-container{margin-left:auto;margin-right:auto;max-width:991px}.bg-primary{background-color:var(--bg-primary)!important}.bg-secondary{background-color:var(--bg-secondary)!important}.bg-tertiary{background-color:var(--bg-tertiary)!important}.bg-card{background-color:var(--bg-card)!important}.bg-hover{background-color:var(--bg-hover)!important}.bg-active{background-color:var(--bg-active)!important}.text-primary{color:var(--text-primary)!important}.text-secondary{color:var(--text-secondary)!important}.text-tertiary{color:var(--text-tertiary)!important}.text-muted{color:var(--text-muted)!important}.text-inverse{color:var(--text-inverse)!important}.border-primary{border-color:var(--border-primary)!important}.border-secondary{border-color:var(--border-secondary)!important}.border-focus{border-color:var(--border-focus)!important}.btn-primary{background-color:var(--primary)!important;border-color:var(--primary)!important;color:var(--text-inverse)!important}.btn-primary:hover{background-color:var(--primary-hover)!important;border-color:var(--primary-hover)!important}.btn-secondary{background-color:var(--secondary)!important;border-color:var(--secondary)!important;color:var(--text-inverse)!important}.btn-secondary:hover{background-color:var(--secondary-hover)!important;border-color:var(--secondary-hover)!important}.btn-primary:disabled{background-color:var(--text-muted)!important;border-color:var(--text-muted)!important;color:var(--text-inverse)!important}.btn-secondary:disabled{background-color:var(--bg-hover)!important;border-color:var(--border-primary)!important;color:var(--text-muted)!important}.form-input{background-color:var(--input-bg)!important;border-color:var(--input-border)!important;color:var(--input-text)!important}.form-input:focus{border-color:var(--input-border-focus)!important}.form-input::placeholder{color:var(--input-placeholder)!important}.card{background-color:var(--bg-card)!important;border-color:var(--border-primary)!important;box-shadow:var(--shadow-sm)!important}.card:hover{background-color:var(--bg-hover)!important;box-shadow:var(--shadow-md)!important}.modal-overlay{align-items:center;background-color:var(--modal-overlay)!important;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:50}.modal-container{background-color:var(--modal-bg)!important;border:2px solid var(--modal-border)!important;border-radius:12px;box-shadow:var(--shadow-xl)!important;margin:0 auto;position:relative}@media (min-width:768px){.modal-container-fit-content{max-height:80vh!important}.modal-container-fit-content,.modal-container-fit-content-lg{height:-webkit-fit-content!important;height:fit-content!important}.modal-container-fit-content-lg{max-height:90vh!important}}.badge{background-color:var(--badge-bg)!important;color:var(--badge-text)!important}.badge-success{background-color:var(--success-light)!important;color:var(--success-dark)!important}.badge-warning{background-color:var(--warning-light)!important;color:var(--warning-dark)!important}.badge-error{background-color:var(--error-light)!important;color:var(--error-dark)!important}.badge-info{background-color:var(--info-light)!important;color:var(--info-dark)!important}.dark .badge-success{background-color:var(--success-light)!important;color:var(--success)!important}.dark .badge-warning{background-color:var(--warning-light)!important;color:var(--warning)!important}.dark .badge-error{background-color:var(--error-light)!important;color:var(--error)!important}.dark .badge-info{background-color:var(--info-light)!important;color:var(--info)!important}.sorting-controls{margin-top:1rem}.desktop-sort{align-items:center;display:flex;justify-content:space-between}.desktop-sort-controls{align-items:center;display:flex;gap:1rem}.mobile-sort{display:none}.mobile-sort-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.mobile-sort-controls{display:flex;flex-direction:column;gap:.5rem}@media (max-width:767px){.desktop-sort{display:none!important}.mobile-sort{display:block!important}}.form-input{background-color:var(--bg-input)!important;border:1px solid var(--border-primary)!important;border-radius:.375rem;color:var(--text-primary)!important;display:block;font-size:.875rem;margin-top:.25rem;outline:none;padding:.5rem .75rem;transition:all .2s ease;width:100%}@media (max-width:767px){.form-input,.form-select,.form-select-sort,.form-textarea,.login-container input[type=email],.login-container input[type=password],.login-container input[type=text],.search-input{font-size:16px!important;padding:12px 16px!important}}.form-input:focus{border-color:var(--primary)!important;box-shadow:0 0 0 3px #3b82f61a!important}.form-input:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.form-textarea{background-color:var(--bg-input)!important;border:1px solid var(--border-primary)!important;border-radius:.375rem;color:var(--text-primary)!important;display:block;font-size:.875rem;margin-top:.25rem;min-height:5rem;outline:none;padding:.5rem .75rem;resize:vertical;transition:all .2s ease;width:100%}.form-textarea:focus{border-color:var(--primary)!important;box-shadow:0 0 0 3px #3b82f61a!important}.form-textarea:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.form-select{background-color:var(--bg-input)!important;border:1px solid var(--border-primary)!important;border-radius:.375rem;color:var(--text-primary)!important;display:block;font-size:.875rem;margin-top:.25rem;outline:none;padding:.5rem .75rem;transition:all .2s ease;width:100%}.form-select:focus{border-color:var(--primary)!important;box-shadow:0 0 0 3px #3b82f61a!important}.form-select:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.form-select-sort{background-color:var(--bg-input)!important;border:1px solid var(--border-primary)!important;border-radius:.375rem;color:var(--text-primary)!important;display:block;font-size:.875rem;margin-top:.25rem;min-width:140px;outline:none;padding:.5rem .75rem;transition:all .2s ease}.form-select-sort:focus{border-color:var(--primary)!important;box-shadow:0 0 0 3px var(--primary-light)!important}.form-select-sort:focus-visible{outline:2px solid var(--primary)!important;outline-offset:2px}.form-label{font-size:.875rem;margin-bottom:.5rem}.form-label,.form-label-small{color:var(--text-secondary)!important;display:block;font-weight:500}.form-label-small{font-size:.8125rem;margin-bottom:.375rem}.form-grid{grid-gap:.875rem;display:grid;gap:.875rem;grid-template-columns:1fr 1fr}.form-group{display:flex;flex-direction:column;gap:1rem}.form-checkbox-group{display:flex;flex-wrap:wrap;gap:.5rem}.form-checkbox-item{align-items:center;cursor:pointer;display:flex}.form-checkbox{margin-right:.5rem}.form-checkbox-label{color:#374151;font-size:.875rem;text-transform:capitalize}.form-button{background-color:var(--bg-input)!important;border:1px solid var(--border-primary)!important;border-radius:.5rem;color:var(--text-primary)!important;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem .75rem;transition:all .2s ease}.form-button:hover{background-color:var(--bg-hover)!important;border-color:var(--border-secondary)!important}.form-button:active{background-color:var(--bg-tertiary)!important;transform:translateY(1px)}.form-button:focus{outline:2px solid var(--primary)!important;outline-offset:2px}.mobile-full-width{width:100%}.search-input{background-color:var(--input-bg);border:1px solid var(--input-border);border-radius:.5rem;color:var(--input-text);font-size:.875rem;outline:none;padding:.5rem .75rem .5rem 2.5rem;transition:all .2s ease;width:100%}.search-input:focus{border-color:var(--input-border-focus);box-shadow:0 0 0 3px #3b82f61a}.search-input::placeholder{color:var(--input-placeholder)}.btn-primary{align-items:center;background-color:#2563eb;border:none;border-radius:.5rem;box-shadow:0 4px 6px -1px #0000001a;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;padding:.5rem 1rem;text-decoration:none;transition:all .2s ease}.btn-primary:hover{background-color:#1d4ed8;box-shadow:0 10px 15px -3px #0000001a;transform:translateY(-1px)}.btn-primary:active{background-color:#1e40af;transform:translateY(0)}.btn-primary:focus{outline:2px solid #3b82f6;outline-offset:2px}.btn-primary:disabled{background-color:#9ca3af!important;box-shadow:none!important;color:#6b7280!important;cursor:not-allowed!important;opacity:.6!important;transform:none!important}.btn-secondary{background-color:#fff;border-radius:.5rem;font-size:.875rem;padding:.5rem 1rem;text-decoration:none}.btn-secondary:hover{background-color:#f9fafb}.btn-secondary:active{background-color:#f3f4f6}.btn-secondary:focus{outline:2px solid #3b82f6;outline-offset:2px}.btn-secondary:disabled{background-color:#f3f4f6!important;border-color:#e5e7eb!important;color:#9ca3af!important;cursor:not-allowed!important;opacity:.6!important}.btn-danger{background-color:#dc2626;border-radius:.5rem;font-size:.875rem;padding:.5rem 1rem;text-decoration:none}.btn-danger:hover{background-color:#b91c1c}.btn-danger:active{background-color:#991b1b;transform:translateY(0)}.btn-danger:focus{outline:2px solid #dc2626;outline-offset:2px}.icon-button{align-items:center;background-color:initial;border:none;border-radius:.375rem;color:#6b7280;cursor:pointer;display:inline-flex;justify-content:center;padding:.5rem;transition:all .2s ease}.icon-button:hover{background-color:#f3f4f6;color:#374151}.dark .icon-button:hover{background-color:#374151;color:#d1d5db}.icon-button:focus{outline:2px solid #3b82f6;outline-offset:2px}.icon-button-sm{padding:.25rem}.icon-button-lg{padding:.75rem}.dropdown-menu{background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;z-index:99999}.dropdown-menu,.dropdown-menu-table{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;min-width:12rem;padding:.5rem 0;position:fixed}.dropdown-menu-table{background-color:var(--bg-card)!important;border:1px solid var(--border-primary)!important;border-radius:.5rem;z-index:9999999}.dropdown-button{align-items:center;background-color:initial;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:inline-flex;filter:none;font-size:14px;font-weight:500;opacity:1;padding:6px 8px;transition:all .2s ease}.dropdown-button:hover{background-color:#f3f4f6;color:#374151}.dropdown-container{position:relative}.dropdown-menu-profile{background-color:var(--bg-card);border:1px solid var(--border-primary);border-radius:.5rem;box-shadow:var(--shadow-lg);margin-top:0;min-width:12rem;padding:.5rem 0;position:absolute;right:0;top:100%;z-index:99999}.dropdown-item{align-items:center;background:none;border:none;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.875rem;padding:.5rem 1rem;text-decoration:none;transition:background-color .2s ease,color .2s ease;width:100%}.dropdown-item:hover{background-color:var(--bg-hover);color:var(--text-primary)}.dropdown-item:focus{outline:2px solid var(--primary);outline-offset:-2px}.dropdown-item-danger{color:var(--error)}.dropdown-item-danger:hover{background-color:var(--error-light);color:var(--error-dark)}.modal-header{background-color:var(--bg-card);border-bottom:1px solid var(--border-primary);border-top-left-radius:12px;border-top-right-radius:12px;padding:1rem 2rem;position:-webkit-sticky;position:sticky;top:0;z-index:10}.modal-title{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0;text-align:center}.modal-body{padding:1.5rem 2rem}.text-muted{color:#6b7280;font-size:.875rem}.text-small{font-size:.75rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}@media (max-width:767px){.mobile-full-width{width:100%!important}.mobile-hidden{display:none!important}.mobile-block{display:block!important}.mobile-flex{display:flex!important}.mobile-flex-col{flex-direction:column!important}.mobile-text-center{text-align:center!important}}@media (min-width:768px){.desktop-hidden{display:none!important}.desktop-block{display:block!important}.desktop-flex{display:flex!important}.desktop-inline-flex{display:inline-flex!important}}.modal-body{padding:24px 32px}.calendar-grid{grid-gap:1px;display:grid;gap:1px;grid-auto-rows:1fr;grid-template-columns:repeat(7,1fr)}.calendar-empty-slot{background-color:#f9fafb}.dark .calendar-empty-slot{background-color:#1f2937}.form-input-large{background-color:#fff;border:2px solid #d1d5db;border-radius:8px;color:#374151;display:block;font-size:14px;margin-top:4px;outline:none;padding:12px 16px;transition:all .2s ease;width:100%}.form-input-large:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-textarea-large{background-color:#fff;border:2px solid #d1d5db;border-radius:8px;color:#374151;display:block;font-size:14px;margin-top:4px;min-height:100px;outline:none;padding:12px 16px;resize:vertical;transition:all .2s ease;width:100%}.form-textarea-large:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.btn-secondary{align-items:center;background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.btn-secondary:hover{background-color:#e5e7eb;border-color:#9ca3af}.btn-danger{align-items:center;background-color:#ef4444;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.btn-danger:hover{background-color:#dc2626;box-shadow:0 10px 15px -3px #0000001a;transform:translateY(-1px)}.btn-warning{align-items:center;background-color:#f59e0b;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.btn-warning:hover{background-color:#d97706;box-shadow:0 10px 15px -3px #0000001a;transform:translateY(-1px)}.modal-footer{background-color:var(--bg-card);border-bottom-left-radius:12px;border-bottom-right-radius:12px;border-top:1px solid var(--border-primary);bottom:0;padding:12px 32px 16px;position:-webkit-sticky;position:sticky;z-index:10}.modal-footer,.modal-footer-content{display:flex;gap:12px;justify-content:flex-end}.form-grid-2{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.checkbox-group{display:flex;flex-wrap:wrap;gap:8px}.checkbox-input{margin-right:8px}.checkbox-label{color:#374151;font-size:14px;text-transform:capitalize}.max-w-90rem{max-width:90rem}.calendar-class-card,.calendar-class-card:hover{cursor:pointer!important}.table-header{border-bottom:1px solid var(--border-primary)!important;border-top:1px solid var(--border-primary)!important;color:var(--text-secondary)!important;font-size:12px;font-weight:500;letter-spacing:.05em;padding:12px 16px;text-transform:uppercase}.table-header-left{text-align:left}.table-header-center{text-align:center}.table-header-right{text-align:right}.table-cell{color:var(--text-primary)!important;padding:16px;white-space:nowrap}.table-cell-left{text-align:left}.table-cell-center{text-align:center}.table-cell-right{text-align:right}.table-container table tr{border-bottom:1px solid var(--border-primary)!important}.table-container table tr:last-child{border-bottom:none!important}.table-container td.sticky{border-left:1px solid var(--border-primary)!important}.table-cell-inactive{pointer-events:auto}.table-cell-inactive>*{filter:grayscale(100%);opacity:.5}.table-cell-inactive .active-badge,.table-cell-inactive .dropdown-container,.table-cell-inactive .dropdown-container *,.table-cell-inactive .inactive-badge{filter:none!important;opacity:1!important}.active-badge{background-color:#f0fdf4!important;color:#15803d!important}.table-cell-active{filter:none;opacity:1}.table-number{color:var(--text-primary)!important;font-size:16px;font-weight:600}.table-number-zero{color:#dc2626}.table-number-positive{color:#059669}.table-number-negative{color:#dc2626;font-weight:700}.table-user-info{align-items:center;display:flex;gap:12px}.table-user-avatar{align-items:center;background-color:var(--bg-tertiary)!important;border-radius:50%;color:var(--text-secondary)!important;display:flex;font-size:14px;font-weight:600;height:40px;justify-content:center;width:40px}.history-event-success{background-color:var(--success-light)!important;border-left-color:var(--success)!important}.history-event-error{background-color:var(--error-light)!important;border-left-color:var(--error)!important}.history-event-info{background-color:var(--info-light)!important;border-left-color:var(--info)!important}.history-event-warning{background-color:var(--warning-light)!important;border-left-color:var(--warning)!important}.history-event-muted{background-color:var(--bg-tertiary)!important;border-left-color:var(--text-muted)!important}.history-event-primary{background-color:var(--primary-light)!important;border-left-color:var(--primary)!important}.table-user-details{display:flex;flex-direction:column}.table-user-name{color:var(--text-primary)!important;font-size:14px;font-weight:600}.table-user-email{color:var(--text-secondary)!important;font-size:12px}.table-status-badge{align-items:center;border-radius:9999px;display:inline-flex;font-size:11px;font-weight:500;padding:2px 8px}.table-status-active{background-color:#dcfce7;color:#166534}.table-status-inactive{background-color:#fee2e2;color:#dc2626}.table-role-badge{background-color:#dbeafe;color:#1e40af}.table-membership-badge,.table-role-badge{align-items:center;border-radius:9999px;display:inline-flex;font-size:11px;font-weight:500;padding:2px 8px}.table-membership-badge{background-color:#f3e8ff;color:#7c3aed}.table-date{color:var(--text-secondary)!important;font-size:14px}.table-class-icon{align-items:center;background:linear-gradient(135deg,#dbeafe,#bfdbfe);border:1px solid #3b82f6;border-radius:50%;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.table-class-icon svg{color:#3b82f6!important;height:20px;width:20px}.table-class-info{flex:1 1;margin-left:16px;min-width:0}.table-class-name{color:var(--text-primary)!important;font-size:14px;font-weight:500;margin-bottom:4px}.table-class-category{align-items:center;background-color:var(--bg-hover)!important;border-radius:9999px;color:var(--text-secondary)!important;display:inline-flex;font-size:11px;font-weight:500;padding:2px 8px}.table-class-datetime{color:var(--text-primary)!important;font-size:14px;font-weight:500;margin-bottom:4px}.table-class-time{color:var(--text-secondary)!important;font-size:12px}.table-class-bookings{color:var(--text-primary)!important;cursor:pointer;font-size:14px;font-weight:500;transition:color .2s ease}.table-class-bookings:hover{color:var(--primary)!important}.table-class-bookings-subtitle{color:var(--text-secondary)!important;font-size:11px;margin-top:2px}.table-class-instructor{color:var(--text-secondary)!important;font-size:14px}.table-class-type{align-items:center;border-radius:9999px;display:inline-flex;font-size:11px!important;font-weight:500;padding:2px 8px}.table-class-type-recurring{background-color:#fed7aa;color:#c2410c}.table-class-type-oneoff{background-color:#dbeafe;color:#1e40af}.quick-action-button{background-color:var(--bg-card)!important;border-color:var(--border-primary)!important;color:var(--text-primary)!important}.quick-action-button:hover{background-color:var(--bg-hover)!important;border-color:var(--primary-hover)!important}.quick-action-button:hover .text-secondary{color:var(--text-primary)!important}.calendar-today{background-color:var(--bg-primary-light)!important}:not(.dark) .calendar-today{background-color:#e0f2fe!important}.dark .calendar-today{background-color:#132035!important}:not(.dark) .notification-settings .space-y-4>div{background-color:#f8fafc!important;border:1px solid #e2e8f0!important}.dark .notification-settings .space-y-4>div{background-color:var(--bg-hover)!important;border:1px solid var(--border-primary)!important}@media (max-width:767px){.modal-container,.modal-container-mobile,.modal-footer-mobile,.modal-header-mobile,.modal-overlay-mobile .modal-container,.modal-overlay-mobile .modal-container-mobile,.modal-overlay-mobile>div,.user-history-modal{border-radius:0!important}.user-history-modal{height:100vh!important;margin:0!important;max-height:100vh!important;max-width:100vw!important;width:100vw!important}}.user-history-close-btn{font-size:2.5rem!important;line-height:1!important}.user-history-cell{padding:8px 16px!important}.dark .user-history-modal tr{border-bottom-color:#ffffff1a!important}.checkbox-item{align-items:center;cursor:pointer;display:flex}.checkbox-item input[type=checkbox]{accent-color:var(--primary)}.badge{align-items:center;border-radius:9999px;display:inline-flex;font-size:11px;font-weight:500;padding:2px 8px}.badge-booked{background-color:var(--info-light)!important;color:var(--info-dark)!important}.badge-full{background-color:var(--error-light)!important;color:var(--error-dark)!important}.badge-available{background-color:var(--success-light)!important;color:var(--success-dark)!important}.badge-waitlist{background-color:var(--warning-light)!important;color:var(--warning-dark)!important}.badge-waitlist-join{background-color:#f3e8ff!important;color:#7c3aed!important}.dark .badge-waitlist-join{background-color:#581c87!important;color:#c4b5fd!important}.modal .badge,.modal-body .badge,.modal-container .badge{font-size:11px!important}.badge-category-fitness{background-color:#ede9fe!important;color:#5b21b6!important}.badge-category-strength-conditioning{background-color:#fed7aa!important;color:#c2410c!important}.badge-category-hiit{background-color:#ecfccb!important;color:#365314!important}.badge-category-balance{background-color:#e0e7ff!important;color:#3730a3!important}.badge-category-50-plus{background-color:#cffafe!important;color:#155e75!important}.badge-category-other{background-color:#f3e8ff!important;color:#7c3aed!important}.badge-category-default{background-color:#f4f4f5!important;color:#52525b!important}.badge-status-confirmed{background-color:#dbeafe!important;color:#1e40af!important}.badge-status-attended{background-color:#d1fae5!important;color:#065f46!important}.badge-status-cancelled{background-color:#fecaca!important;color:#991b1b!important}.badge-status-no-show{background-color:#f3f4f6!important;color:#374151!important}.badge-refund-warning{background-color:#dc2626!important;color:#fff!important}.badge-admin{background-color:#ede9fe!important;color:#5b21b6!important}.badge-coach{background-color:#fef3c7!important;color:#92400e!important}.badge-user{background-color:#e0f2fe!important;color:#0c4a6e!important}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.table-container{-webkit-overflow-scrolling:touch;overflow-x:auto;width:100%}.badge-container{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.mobile-tabs-container{-webkit-overflow-scrolling:touch;-ms-overflow-style:none;background-color:var(--bg-tertiary);border-radius:8px;display:flex;overflow-x:auto;padding:4px;scrollbar-width:none}.mobile-tabs-container::-webkit-scrollbar{display:none}.mobile-tab-button{border:none;border-radius:6px;cursor:pointer;flex-shrink:0;font-size:14px;font-weight:500;min-width:-webkit-fit-content;min-width:fit-content;padding:8px 16px;transition:all .2s;white-space:nowrap}.calendar-class-past{cursor:pointer;filter:grayscale(100%);opacity:.5}:not(.dark) .calendar-class-card:hover{background-color:#f0f9ff!important;box-shadow:0 2px 8px #00000026;transform:translateY(-1px)}.dark .calendar-class-card:hover{background-color:#475569!important;box-shadow:0 2px 4px #0000004d;transform:translateY(-1px)}.calendar-class-current{cursor:pointer;filter:none;opacity:1}.class-card-booking-badge,.class-card-waitlist-badge{position:absolute;right:8px;top:8px;z-index:10}.class-details-separator{color:#9ca3af;margin-left:10px;margin-right:10px}.class-details-desktop{display:block}.class-details-desktop .class-detail-row{align-items:center;display:flex;margin-bottom:8px}.class-details-mobile{display:none}.class-details-mobile .class-detail-item{align-items:center;display:flex;margin-bottom:4px}@media (max-width:767px){.class-details-desktop{display:none}.class-details-mobile{display:block}}@media (min-width:768px){.class-card-booking-badge,.class-card-waitlist-badge{display:block;margin-bottom:8px;margin-top:0;order:3;position:static}}.tab-notification-dot{position:relative}.tab-notification-dot:after{background-color:#10b981;border-radius:50%;content:"";height:8px;position:absolute;right:8px;top:8px;width:8px;z-index:10}.classes-card-mobile{width:100%}.classes-card-header-mobile{display:flex;flex-direction:column;gap:16px}.classes-card-tabs-mobile{justify-content:flex-start;width:100%}@media (min-width:768px){.classes-card-mobile{width:auto}.classes-card-header-mobile{align-items:center;flex-direction:row;gap:0;justify-content:space-between}.classes-card-tabs-mobile{justify-content:flex-end;width:auto}}.quick-actions-mobile{grid-template-columns:1fr}.profile-card-mobile{width:100%}.settings-header-mobile{display:flex;flex-direction:column;gap:16px}.settings-buttons-mobile{flex-direction:column;gap:12px;width:100%}.settings-buttons-mobile button{justify-content:center;width:100%}.settings-buttons-mobile button:not(:first-child){margin-left:0}.btn-center-content{justify-content:center}.modal-overlay-mobile{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:0;position:fixed;right:0;top:0;z-index:50}.modal-container-mobile{border-radius:0;display:flex;flex-direction:column;height:100vh;margin:0;max-height:none;max-width:none;overflow:auto;padding:0;width:100vw}@media (max-width:767px){.modal-container-mobile{border-radius:12px!important;height:90vh!important;margin:5vh auto!important;max-height:90vh!important;max-width:95vw!important;width:95vw!important}.modal-container-mobile .modal-body-mobile{padding:1.5rem 1.5rem 2rem!important}.modal-container-mobile .modal-header-mobile{border-bottom:1px solid var(--border-primary)!important;border-top-left-radius:12px!important;border-top-right-radius:12px!important;top:0!important}.modal-container-mobile .modal-footer-mobile,.modal-container-mobile .modal-header-mobile{background-color:var(--bg-card)!important;padding:1rem 1.5rem!important;position:-webkit-sticky!important;position:sticky!important}.modal-container-mobile .modal-footer-mobile{border-bottom-left-radius:12px!important;border-bottom-right-radius:12px!important;border-top:1px solid var(--border-primary)!important;bottom:0!important}.bookings-modal-container{border-radius:12px!important;height:90vh!important;margin:5vh auto!important;max-height:90vh!important;max-width:95vw!important;width:95vw!important}.bookings-modal-content{padding-bottom:2rem!important}.bookings-modal-header{border-top-left-radius:12px!important;border-top-right-radius:12px!important}.bookings-modal-footer{background-color:var(--bg-card)!important;border-bottom-left-radius:12px!important;border-bottom-right-radius:12px!important;bottom:0!important;position:-webkit-sticky!important;position:sticky!important}}.modal-header-mobile{border-bottom:1px solid var(--border-primary);border-top-left-radius:12px;border-top-right-radius:12px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.modal-body-mobile,.modal-header-mobile{background-color:var(--bg-card);padding:1rem}.modal-body-mobile{flex:1 1;overflow-y:auto}.modal-footer-mobile{background-color:var(--bg-card);border-bottom-left-radius:12px;border-bottom-right-radius:12px;border-top:1px solid var(--border-primary);bottom:0;padding:1rem;position:-webkit-sticky;position:sticky;z-index:10}@media (min-width:768px){.modal-overlay-mobile{padding:1rem}.modal-container-mobile{border-radius:12px;height:-webkit-fit-content;height:fit-content;margin:auto;max-height:80vh;max-width:800px;min-width:500px;padding:0;width:33vw}.modal-header-mobile{border-bottom:1px solid var(--border-primary);border-top-left-radius:12px;border-top-right-radius:12px;padding:1rem 2rem;position:relative}.modal-body-mobile{padding:2rem}.modal-footer-mobile{border-bottom-left-radius:12px;border-bottom-right-radius:12px;border-top:1px solid var(--border-primary);padding:1rem 2rem;position:relative}.quick-actions-mobile{grid-template-columns:repeat(2,1fr)}.profile-card-mobile{width:auto}.settings-header-mobile{align-items:center;flex-direction:row;gap:0;justify-content:space-between}.settings-buttons-mobile{flex-direction:row;gap:12px;justify-content:flex-end;width:auto}.settings-buttons-mobile button{width:auto}}@media (max-width:767px){.calendar-grid{grid-auto-rows:auto!important}.calendar-day-card{border-right:none!important}}@media (min-width:768px){.calendar-grid{grid-auto-rows:1fr!important}.calendar-day-card{border-right:1px solid var(--border-primary)!important}}@media (min-width:1024px){#concessions-text{display:inline!important}}.mobile-optimized-modal{border-radius:12px;height:-webkit-fit-content;height:fit-content;margin:auto;max-height:80vh;max-width:600px;width:90vw}@media (max-width:767px){.mobile-optimized-modal{border-radius:12px!important;height:90vh!important;margin:5vh auto!important;max-height:90vh!important;max-width:95vw!important;width:95vw!important}.mobile-optimized-modal .modal-body{overflow-y:auto!important;padding:1.5rem 1.5rem 2rem!important}.mobile-optimized-modal .modal-header{border-top-left-radius:12px!important;border-top-right-radius:12px!important}.mobile-optimized-modal .modal-footer{background-color:var(--bg-card)!important;border-bottom-left-radius:12px!important;border-bottom-right-radius:12px!important;border-top:1px solid var(--border-primary)!important;bottom:0!important;padding:1rem 1.5rem!important;position:-webkit-sticky!important;position:sticky!important}.add-user-modal-container{border-radius:12px!important;height:90vh!important;margin:5vh auto!important;max-height:90vh!important;max-width:95vw!important;width:95vw!important}.add-user-modal-content{overflow-y:auto!important;padding-bottom:2rem!important}.add-user-modal-header{border-top-left-radius:12px!important;border-top-right-radius:12px!important}.add-user-modal-footer{background-color:var(--bg-card)!important;border-bottom-left-radius:12px!important;border-bottom-right-radius:12px!important;border-top:1px solid var(--border-primary)!important;bottom:0!important;padding:1rem 1.5rem!important;position:-webkit-sticky!important;position:sticky!important}.login-container{padding:1rem!important}.login-container form{margin-top:1.5rem!important}.login-container input[type=email],.login-container input[type=password],.login-container input[type=text]{border-radius:12px!important;font-size:16px!important;line-height:1.5!important;margin-bottom:1rem!important;padding:14px 16px!important}.login-container .relative input[type=password],.login-container .relative input[type=text]{padding-right:48px!important}.login-container .login-toggle-icon{right:12px!important;top:20%!important;transform:translateY(-50%)!important}.login-container button{border-radius:12px!important;font-size:16px!important;margin-top:1rem!important;padding:14px 16px!important}.login-container a{display:block!important;font-size:14px!important;padding:8px 0!important;text-align:center!important}.login-container h2{font-size:1.75rem!important;margin-bottom:.5rem!important}.login-container p{font-size:14px!important;line-height:1.5!important}}.class-details-notice{background-color:#fef3c7;border:1px solid #f59e0b;border-radius:.5rem;margin-bottom:1rem;padding:1rem}.class-details-notice p{color:#92400e;font-size:.875rem;margin:0}.class-details-notice strong{font-weight:600}.dark .class-details-notice{background-color:#b4530933;border-color:#b4530980}.dark .class-details-notice p{color:#fbbf24}.waitlist-banner{background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:.5rem;margin-bottom:1.5rem;padding:1rem}.waitlist-banner h3{color:#1e3a8a;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.waitlist-banner p{color:#1e40af;font-size:.875rem;margin:0}.dark .waitlist-banner{background-color:#1e3a8a33;border-color:#1e3a8a80}.dark .waitlist-banner h3{color:#dbeafe}.dark .waitlist-banner p{color:#bfdbfe}.notification-settings-card{align-items:center;background-color:#eff6ff;border-radius:.5rem;color:inherit;display:flex;padding:1rem;text-decoration:none;transition:all .2s ease-in-out}.notification-settings-card:hover{background-color:#dbeafe;transform:translateY(-1px)}.notification-settings-card .icon{color:#2563eb;height:1.5rem;margin-right:.75rem;transition:transform .2s ease-in-out;width:1.5rem}.notification-settings-card:hover .icon{transform:scale(1.1)}.notification-settings-card .title{color:#1e3a8a;font-weight:500;margin:0}.notification-settings-card .description{color:#1d4ed8;font-size:.875rem;margin:0}.dark .notification-settings-card{background-color:#1e3a8a33}.dark .notification-settings-card:hover{background-color:#1e3a8a4d}.dark .notification-settings-card .icon{color:#60a5fa}.dark .notification-settings-card .title{color:#dbeafe}.dark .notification-settings-card .description{color:#bfdbfe}.refund-warning-badge{background-color:#fef2f2;border:1px solid #fecaca;border-radius:.375rem;color:#dc2626;font-size:.875rem;font-weight:500;margin-bottom:1rem;padding:.5rem .75rem;text-align:center}.dark .refund-warning-badge{background-color:#dc262633;border-color:#dc262680;color:#fca5a5}.badge-category-neutral{background-color:#f3f4f6;border:1px solid #d1d5db;color:#374151}.dark .badge-category-neutral{background-color:#374151;border-color:#4b5563;color:#d1d5db}.badge-difficulty-neutral{background-color:#f3f4f6;border:1px solid #d1d5db;color:#374151}.dark .badge-difficulty-neutral{background-color:#374151;border-color:#4b5563;color:#d1d5db}.refund-warning-badge-inline{align-items:center;border-radius:9999px;display:inline-flex;font-size:11px;font-weight:500;padding:2px 8px}.dark .refund-warning-badge-inline,.refund-warning-badge-inline{background-color:#dc2626;color:#fff}.booking-restriction-badge-inline{align-items:center;border-radius:9999px;display:inline-flex;font-size:11px;font-weight:500;padding:2px 8px}.booking-restriction-badge-inline,.dark .booking-restriction-badge-inline{background-color:#f59e0b;color:#fff}.concession-limit-badge-inline{align-items:center;border-radius:9999px;display:inline-flex;font-size:11px;font-weight:500;padding:2px 8px}.concession-limit-badge-inline,.dark .concession-limit-badge-inline{background-color:#dc2626;color:#fff}.override-rule-container{background-color:#fed7aa;border:1px solid #ea580c;border-radius:.5rem;padding:.75rem}.override-rule-label{color:#c2410c;cursor:pointer;font-size:.875rem;font-weight:500}.override-rule-description{color:#ea580c;font-size:.75rem;margin-top:.25rem}.dark .override-rule-container{background-color:#fb923c1a;border-color:#fb923c}.dark .override-rule-label{color:#fed7aa}.dark .override-rule-description{color:#fdba74}.refund-warning-text{color:#ea580c}.dark .refund-warning-text{color:#fb923c}.orange-notification{background-color:#f97316;border-left:4px solid #fdba74;border-radius:.75rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;color:#fff;padding:1.5rem}.dark .orange-notification{background-color:#ea580c;border-left-color:#fb923c;color:#fff}.red-danger-notification{background-color:#fef2f2;border:1px solid #fecaca;border-radius:.75rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;color:#991b1b;padding:1.5rem}.dark .red-danger-notification{background-color:#dc262633;border-color:#7f1d1d;color:#fca5a5}.concession-warning{padding:8px 12px!important}.concession-warning-content{align-items:center;display:flex;gap:12px}.concession-warning-icon{color:var(--error)!important;flex-shrink:0;height:20px;width:20px}.concession-warning-text{margin:0}.leave-waitlist-link{color:#ea580c;font-size:.875rem;font-weight:500;text-decoration:underline;transition:color .2s ease-in-out}.leave-waitlist-link:hover{color:#c2410c}.dark .leave-waitlist-link{color:#fb923c}.dark .leave-waitlist-link:hover{color:#fed7aa}.delete-user-button{color:#dc2626;transition:all .2s ease-in-out}.delete-user-button:hover{background-color:#fef2f2}.dark .delete-user-button{color:#f87171}.dark .delete-user-button:hover{background-color:#dc262633}.danger-zone-container{background-color:var(--card-bg);border:1px solid #fecaca;border-radius:.75rem;box-shadow:0 1px 3px 0 #0000001a;margin-top:2rem;padding:1.5rem}.danger-zone-title{color:#dc2626;font-size:1.125rem;font-weight:600;margin-bottom:1.5rem}.danger-zone-warning-box{background-color:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;padding:1rem}.danger-zone-icon{color:#f87171;flex-shrink:0}.danger-zone-warning-title{color:#991b1b;font-size:.875rem;font-weight:500}.danger-zone-warning-text{color:#b91c1c;font-size:.875rem;margin-top:.25rem}.delete-account-button{align-items:center;background-color:#dc2626;border:none;border-radius:.5rem;color:#fff;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:background-color .2s ease-in-out}.delete-account-button:hover{background-color:#b91c1c}.delete-account-button:focus{box-shadow:0 0 0 2px #dc262680;outline:none}.delete-account-button:disabled{cursor:not-allowed;opacity:.5}.user-role-badge{align-items:center;border-radius:9999px;display:inline-flex;font-size:11px;font-weight:500;padding:.125rem .5rem;text-align:left}.user-role-badge-inline{align-items:center;border-radius:1rem;display:flex;font-size:.75rem;font-weight:600;height:2rem;justify-content:center;padding:0 .75rem;text-align:center;white-space:nowrap}.user-role-badge-admin{background-color:#fecaca;color:#991b1b}.user-role-badge-coach{background-color:#fef3c7;color:#92400e}.user-role-badge-user{background-color:#dbeafe;color:#1e40af}.delete-account-button:disabled:hover{background-color:#dc2626}.danger-zone-button-container{margin-top:1rem}.immutable-field{background-color:#f3f4f6!important;color:#6b7280!important;cursor:not-allowed!important;opacity:.5!important}.immutable-field:focus{box-shadow:none!important;outline:none!important}.delete-loading-backdrop{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.delete-loading-content{background-color:#fff;border-radius:.5rem;box-shadow:0 25px 50px -12px #00000040;margin:1rem;max-width:400px;padding:2rem;text-align:center}.dark .danger-zone-container{border-color:#7f1d1d}.dark .danger-zone-title{color:#f87171}.dark .danger-zone-warning-box{background-color:#dc262633;border-color:#7f1d1d}.dark .danger-zone-icon,.dark .danger-zone-warning-title{color:#fca5a5}.dark .danger-zone-warning-text{color:#f87171}.admin-tabs-container{background-color:var(--bg-card);border:1px solid var(--border-primary);border-radius:.75rem;box-shadow:0 1px 3px 0 #0000001a;overflow:hidden;padding:0 1rem}.admin-tabs-nav{border-bottom:1px solid var(--border-primary);display:flex}.admin-tab-button{align-items:center;background:none;border:none;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.875rem;font-weight:500;justify-content:center;padding:1rem 1.5rem;transition:all .2s ease;width:auto}.admin-tab-button:hover{background-color:var(--bg-hover);color:var(--text-primary)}.admin-tab-button.active{background-color:var(--primary-light);border-bottom-color:var(--primary);color:var(--primary)}.dark .admin-tab-button.active{background-color:#3b82f633}.admin-tab-icon{height:1rem;margin-right:.5rem;width:1rem}:root{--bg-primary:#fff;--bg-secondary:#f8fafc;--bg-tertiary:#f1f5f9;--bg-card:#fff;--bg-hover:#f8fafc;--bg-active:#e2e8f0;--text-primary:#0f172a;--text-secondary:#475569;--text-tertiary:#64748b;--text-muted:#94a3b8;--text-inverse:#fff;--border-primary:#e2e8f0;--border-secondary:#cbd5e1;--border-focus:#3b82f6;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--primary:#3b82f6;--primary-hover:#2563eb;--primary-light:#dbeafe;--primary-dark:#1e40af;--secondary:#64748b;--secondary-hover:#475569;--secondary-light:#f1f5f9;--secondary-dark:#334155;--success:#10b981;--success-light:#d1fae5;--success-dark:#059669;--warning:#f59e0b;--warning-light:#fef3c7;--warning-dark:#d97706;--error:#ef4444;--error-light:#fee2e2;--error-dark:#dc2626;--info:#06b6d4;--info-light:#cffafe;--info-dark:#0891b2;--input-bg:#fff;--input-border:#d1d5db;--input-border-focus:#3b82f6;--input-text:#111827;--input-placeholder:#9ca3af;--modal-bg:#fff;--modal-overlay:#00000080;--modal-border:#e5e7eb;--badge-bg:#f3f4f6;--badge-text:#374151;--login-bg-gradient:linear-gradient(135deg,#f8fafc,#eff6ff 50%,#e0e7ff);--login-card-bg:#fff;--login-card-border:#f3f4f6;--login-title-color:#111827;--login-subtitle-color:#4b5563;--login-label-color:#374151;--login-input-bg:#fff;--login-input-border:#d1d5db;--login-input-text:#111827;--login-input-placeholder:#9ca3af;--login-toggle-icon-color:#9ca3af;--login-demo-bg:#eff6ff;--login-demo-border:#bfdbfe;--login-demo-title-color:#1e40af;--login-demo-text-color:#1d4ed8;--login-demo-credential-bg:#dbeafe;--login-demo-credential-text:#1e40af;--login-footer-text-color:#6b7280}.dark{--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-tertiary:#334155;--bg-card:#1e293b;--bg-hover:#334155;--bg-active:#475569;--text-primary:#f8fafc;--text-secondary:#cbd5e1;--text-tertiary:#94a3b8;--text-muted:#64748b;--text-inverse:#0f172a;--border-primary:#334155;--border-secondary:#475569;--border-focus:#60a5fa;--shadow-sm:0 1px 2px 0 #0000004d;--shadow-md:0 4px 6px -1px #0000004d,0 2px 4px -2px #0000004d;--shadow-lg:0 10px 15px -3px #0000004d,0 4px 6px -4px #0000004d;--shadow-xl:0 20px 25px -5px #0000004d,0 8px 10px -6px #0000004d;--primary:#60a5fa;--primary-hover:#3b82f6;--primary-light:#1e3a8a;--primary-dark:#1e40af;--secondary:#94a3b8;--secondary-hover:#cbd5e1;--secondary-light:#334155;--secondary-dark:#64748b;--success:#34d399;--success-light:#064e3b;--success-dark:#10b981;--warning:#fbbf24;--warning-light:#78350f;--warning-dark:#f59e0b;--error:#f87171;--error-light:#7f1d1d;--error-dark:#ef4444;--info:#22d3ee;--info-light:#164e63;--info-dark:#06b6d4;--input-bg:#1e293b;--input-border:#475569;--input-border-focus:#60a5fa;--input-text:#f8fafc;--input-placeholder:#64748b;--modal-bg:#1e293b;--modal-overlay:#000000b3;--modal-border:#334155;--badge-bg:#334155;--badge-text:#cbd5e1;--login-bg-gradient:linear-gradient(135deg,#0f172a,#1e293b 50%,#0f172a);--login-card-bg:#1e293b;--login-card-border:#334155;--login-title-color:#f8fafc;--login-subtitle-color:#cbd5e1;--login-label-color:#cbd5e1;--login-input-bg:#334155;--login-input-border:#475569;--login-input-text:#f8fafc;--login-input-placeholder:#64748b;--login-toggle-icon-color:#64748b;--login-demo-bg:#1e3a8a33;--login-demo-border:#1e40af;--login-demo-title-color:#93c5fd;--login-demo-text-color:#93c5fd;--login-demo-credential-bg:#1e3a8a80;--login-demo-credential-text:#bfdbfe;--login-footer-text-color:#64748b}body{background-color:#fff;background-color:var(--bg-primary);color:#0f172a;color:var(--text-primary);transition:background-color .3s ease,color .3s ease}.card{background-color:#fff;background-color:var(--bg-card);border:1px solid #e2e8f0;border:1px solid var(--border-primary);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease}.card:hover{background-color:#f8fafc;background-color:var(--bg-hover);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;box-shadow:var(--shadow-md)}.btn-primary{background-color:#3b82f6;background-color:var(--primary);border:1px solid #3b82f6;border:1px solid var(--primary);color:#fff;color:var(--text-inverse);transition:background-color .3s ease,border-color .3s ease}.btn-primary:hover{background-color:#2563eb;background-color:var(--primary-hover);border-color:#2563eb;border-color:var(--primary-hover)}.btn-secondary{background-color:#64748b;background-color:var(--secondary);border:1px solid #64748b;border:1px solid var(--secondary);color:#fff;color:var(--text-inverse);transition:background-color .3s ease,border-color .3s ease}.btn-secondary:hover{background-color:#475569;background-color:var(--secondary-hover);border-color:#475569;border-color:var(--secondary-hover)}.form-input{background-color:#fff;background-color:var(--input-bg);border:1px solid #d1d5db;border:1px solid var(--input-border);color:#111827;color:var(--input-text);transition:background-color .3s ease,border-color .3s ease,color .3s ease}.form-input:focus{border-color:#3b82f6;border-color:var(--input-border-focus);box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-input::placeholder{color:#9ca3af;color:var(--input-placeholder)}.modal-overlay{background-color:#00000080;background-color:var(--modal-overlay)}.modal-container{background-color:#fff;background-color:var(--modal-bg);border:1px solid #e5e7eb;border:1px solid var(--modal-border);box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;box-shadow:var(--shadow-xl);transition:background-color .3s ease,border-color .3s ease}.badge{background-color:#f3f4f6;background-color:var(--badge-bg);color:#374151;color:var(--badge-text);transition:background-color .3s ease,color .3s ease}.text-primary{color:#0f172a;color:var(--text-primary)}.text-secondary{color:#475569;color:var(--text-secondary)}.text-tertiary{color:#64748b;color:var(--text-tertiary)}.text-muted{color:#94a3b8;color:var(--text-muted)}.bg-primary{background-color:#fff;background-color:var(--bg-primary)}.bg-secondary{background-color:#f8fafc;background-color:var(--bg-secondary)}.bg-tertiary{background-color:#f1f5f9;background-color:var(--bg-tertiary)}.bg-card{background-color:#fff;background-color:var(--bg-card)}.border-primary{border-color:#e2e8f0;border-color:var(--border-primary)}.border-secondary{border-color:#cbd5e1;border-color:var(--border-secondary)}.badge-success{background-color:#d1fae5;background-color:var(--success-light);border-color:#10b981;border-color:var(--success);color:#059669;color:var(--success-dark)}.badge-warning{background-color:#fef3c7;background-color:var(--warning-light);border-color:#f59e0b;border-color:var(--warning);color:#d97706;color:var(--warning-dark)}.badge-error{background-color:#fee2e2;background-color:var(--error-light);border-color:#ef4444;border-color:var(--error);color:#dc2626;color:var(--error-dark)}.badge-info{background-color:#cffafe;background-color:var(--info-light);border-color:#06b6d4;border-color:var(--info);color:#0891b2;color:var(--info-dark)}.dark .badge-success{background-color:#d1fae5;background-color:var(--success-light);color:#10b981;color:var(--success)}.dark .badge-warning{background-color:#fef3c7;background-color:var(--warning-light);color:#f59e0b;color:var(--warning)}.dark .badge-error{background-color:#fee2e2;background-color:var(--error-light);color:#ef4444;color:var(--error)}.dark .badge-info{background-color:#cffafe;background-color:var(--info-light);color:#06b6d4;color:var(--info)}.bookings-modal-overlay{align-items:center;background-color:#00000080;background-color:var(--modal-overlay);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.bookings-modal-container{background-color:#fff;background-color:var(--modal-bg);border:1px solid #e5e7eb;border:1px solid var(--modal-border);border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-height:90vh;max-width:800px;overflow:hidden;width:90%}.bookings-modal-header{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-primary);display:flex;flex-shrink:0;justify-content:space-between;padding:24px}.bookings-modal-title{color:#0f172a;color:var(--text-primary);font-size:20px;font-weight:600;margin:0 0 4px}.bookings-modal-subtitle{color:#475569;color:var(--text-secondary);font-size:14px;margin:0}.bookings-modal-close-btn{background-color:initial;border:none;border-radius:6px;color:#475569;color:var(--text-secondary);cursor:pointer;font-size:20px;line-height:1;padding:8px;transition:all .2s ease}.bookings-modal-close-btn:hover{background-color:#f8fafc;background-color:var(--bg-hover);color:#0f172a;color:var(--text-primary)}.bookings-modal-tabs{-webkit-overflow-scrolling:touch;-ms-overflow-style:none;background-color:#f8fafc;background-color:var(--bg-secondary);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-primary);display:flex;overflow-x:auto;scrollbar-width:none}.bookings-modal-tabs::-webkit-scrollbar{display:none}.bookings-modal-tab{background-color:initial;border:none;border-bottom:2px solid #0000;color:#475569;color:var(--text-secondary);cursor:pointer;flex-shrink:0;font-size:14px;font-weight:500;padding:12px 24px;transition:all .2s ease;white-space:nowrap}.bookings-modal-tab.active{background-color:#fff;background-color:var(--modal-bg);border-bottom-color:#3b82f6;border-bottom-color:var(--primary);color:#3b82f6;color:var(--primary)}.bookings-modal-content{flex:1 1;overflow-y:auto;padding:24px}.bookings-modal-loading{align-items:center;color:#475569;color:var(--text-secondary);display:flex;justify-content:center;padding:40px}.bookings-modal-stats{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.bookings-modal-stats-text{color:#475569;color:var(--text-secondary);font-size:14px;margin:0}.bookings-modal-actions{display:flex;gap:8px}.bookings-modal-btn-primary{align-items:center;background-color:#10b981;background-color:var(--success);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:8px 16px;transition:all .2s ease}.bookings-modal-btn-primary:hover{background-color:#059669;background-color:var(--success-dark)}.bookings-modal-btn-secondary{background-color:initial;border:1px solid #cbd5e1;border:1px solid var(--border-secondary);border-radius:6px;color:#0f172a;color:var(--text-primary);cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.bookings-modal-btn-secondary:hover{background-color:#f8fafc;background-color:var(--bg-hover)}.bookings-modal-btn-danger{background-color:#fee2e2;background-color:var(--error-light);border:none;border-radius:6px;color:#dc2626;color:var(--error-dark);cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s ease}.bookings-modal-btn-danger:hover{background-color:#ef4444;background-color:var(--error);color:#fff}.bookings-modal-table-container{-webkit-overflow-scrolling:touch;-ms-overflow-style:none;border:1px solid #e2e8f0;border:1px solid var(--border-primary);border-radius:8px;overflow-x:auto;overflow-y:visible;scrollbar-width:none}.bookings-modal-table-container::-webkit-scrollbar{display:none}.bookings-modal-table{border-collapse:collapse;min-width:600px;width:100%}.bookings-modal-table thead{background-color:#f8fafc;background-color:var(--bg-secondary)}.bookings-modal-table th{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-primary);color:#475569;color:var(--text-secondary);font-size:12px;font-weight:500;letter-spacing:.05em;padding:12px 16px;text-align:left;text-transform:uppercase}.bookings-modal-table th.text-right{text-align:right}.bookings-modal-table tbody tr{border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--bg-tertiary)}.bookings-modal-table tbody tr:last-child{border-bottom:none}.bookings-modal-table td{padding:16px}.bookings-modal-table td.text-right{text-align:right}.bookings-modal-user-name{color:#0f172a;color:var(--text-primary);font-size:14px;font-weight:500;margin-bottom:2px}.bookings-modal-user-details{color:#475569;color:var(--text-secondary);font-size:12px}.bookings-modal-date{color:#0f172a;color:var(--text-primary);font-size:14px}.bookings-modal-empty-state{color:#475569;color:var(--text-secondary);padding:40px;text-align:center}.bookings-modal-empty-icon{color:#94a3b8;color:var(--text-muted);height:48px;margin:0 auto 16px;width:48px}.bookings-modal-empty-title{color:#0f172a;color:var(--text-primary);font-size:16px;font-weight:500;margin:0 0 8px}.bookings-modal-empty-description{font-size:14px;margin:0 0 24px}.bookings-modal-waitlist-info{background-color:#cffafe;background-color:var(--info-light);border:1px solid #06b6d4;border:1px solid var(--info);border-radius:8px;margin-bottom:16px;padding:16px}.bookings-modal-waitlist-title{color:#0891b2;color:var(--info-dark);font-size:14px;font-weight:600;margin:0 0 8px}.bookings-modal-waitlist-description{color:#0891b2;color:var(--info-dark);font-size:13px;line-height:1.4;margin:0}.bookings-modal-footer{align-items:center;border-top:1px solid #e2e8f0;border-top:1px solid var(--border-primary);display:flex;flex-shrink:0;gap:12px;justify-content:flex-end;padding:24px}.add-user-modal-overlay{align-items:center;background-color:#00000080;background-color:var(--modal-overlay);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.add-user-modal-container{background-color:#fff;background-color:var(--modal-bg);border:1px solid #e5e7eb;border:1px solid var(--modal-border);border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-height:90vh;max-width:500px;overflow:hidden;width:90%}.add-user-modal-header{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-primary);display:flex;flex-shrink:0;justify-content:space-between;padding:24px}.add-user-modal-title{color:#0f172a;color:var(--text-primary);font-size:20px;font-weight:600;margin:0 0 4px}.add-user-modal-subtitle{color:#475569;color:var(--text-secondary);font-size:14px;margin:0}.add-user-modal-close-btn{background-color:initial;border:none;border-radius:6px;color:#475569;color:var(--text-secondary);cursor:pointer;font-size:20px;line-height:1;padding:8px;transition:all .2s ease}.add-user-modal-close-btn:hover{background-color:#f8fafc;background-color:var(--bg-hover);color:#0f172a;color:var(--text-primary)}.add-user-modal-content{flex:1 1;padding:24px}.add-user-modal-loading{align-items:center;color:#475569;color:var(--text-secondary);display:flex;justify-content:center;padding:40px}.add-user-modal-select{background-color:#fff;background-color:var(--input-bg);border:1px solid #d1d5db;border:1px solid var(--input-border);border-radius:6px;color:#111827;color:var(--input-text);font-size:14px;margin-bottom:16px;padding:12px;transition:all .2s ease;width:100%}.add-user-modal-select:focus{border-color:#3b82f6;border-color:var(--input-border-focus);box-shadow:0 0 0 3px #3b82f61a;outline:none}.add-user-modal-info{color:#475569;color:var(--text-secondary);font-size:12px;margin-bottom:16px}.add-user-modal-empty-state{color:#475569;color:var(--text-secondary);padding:40px;text-align:center}.add-user-modal-empty-icon{color:#94a3b8;color:var(--text-muted);height:48px;margin:0 auto 16px;width:48px}.add-user-modal-empty-title{color:#0f172a;color:var(--text-primary);font-size:16px;font-weight:500;margin:0 0 8px}.add-user-modal-empty-description{font-size:14px;margin:0}.add-user-modal-footer{align-items:center;border-top:1px solid #e2e8f0;border-top:1px solid var(--border-primary);display:flex;flex-shrink:0;gap:12px;justify-content:flex-end;padding:24px}.add-user-modal-btn-cancel{background-color:initial;border:1px solid #cbd5e1;border:1px solid var(--border-secondary);border-radius:6px;color:#0f172a;color:var(--text-primary);cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.add-user-modal-btn-cancel:hover{background-color:#f8fafc;background-color:var(--bg-hover)}.add-user-modal-btn-add{background-color:#10b981;background-color:var(--success);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.add-user-modal-btn-add:hover{background-color:#059669;background-color:var(--success-dark)}.add-user-modal-btn-add:disabled{background-color:#94a3b8;background-color:var(--text-muted);color:#64748b;color:var(--text-tertiary);cursor:not-allowed}.pagination-container{align-items:center;background-color:#fff;background-color:var(--bg-primary);border-top:1px solid #e2e8f0;border-top:1px solid var(--border-primary);margin-top:16px;padding:12px 16px}.pagination-container,.pagination-mobile{display:flex;justify-content:space-between}.pagination-mobile{flex:1 1}.pagination-mobile-button{align-items:center;background-color:#fff;background-color:var(--bg-primary);border:1px solid #e2e8f0;border:1px solid var(--border-primary);border-radius:8px;color:#475569;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;padding:8px 16px;position:relative;transition:all .2s ease}.pagination-mobile-button:hover:not(:disabled){background-color:#f8fafc;background-color:var(--bg-hover);color:#0f172a;color:var(--text-primary)}.pagination-mobile-button:disabled{cursor:not-allowed;opacity:.5}.pagination-desktop{align-items:center;display:none;flex:1 1;justify-content:space-between}.pagination-info{color:#475569;color:var(--text-secondary);font-size:14px}.pagination-info .font-medium{color:#0f172a;color:var(--text-primary);font-weight:500}.pagination-nav{border-radius:8px;box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);gap:-1px;z-index:0}.pagination-button,.pagination-nav{display:inline-flex;position:relative}.pagination-button{align-items:center;background-color:#fff;background-color:var(--bg-primary);border:1px solid #e2e8f0;border:1px solid var(--border-primary);color:#475569;color:var(--text-secondary);cursor:pointer;font-size:14px;font-weight:500;padding:8px 12px;transition:all .2s ease}.pagination-button:hover:not(:disabled){background-color:#f8fafc;background-color:var(--bg-hover);color:#0f172a;color:var(--text-primary)}.pagination-button:disabled{cursor:not-allowed;opacity:.5}.pagination-button:first-child{border-bottom-left-radius:8px;border-top-left-radius:8px}.pagination-button:last-child{border-bottom-right-radius:8px;border-top-right-radius:8px}.pagination-button.active{background-color:#f8fafc;background-color:var(--bg-hover);border-color:#e2e8f0;border-color:var(--border-primary);color:#3b82f6;color:var(--primary);z-index:10}.pagination-button.page-number{padding:8px 16px}.pagination-button.arrow{padding:8px}.pagination-button svg{height:20px;width:20px}@media (min-width:640px){.pagination-mobile{display:none}.pagination-desktop{display:flex}}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.modal-container{border:none!important;border-radius:0!important;height:100vh!important;margin:0!important;max-height:none!important;max-width:none!important;min-width:auto!important;width:100vw!important}}.staging-banner{animation:slideDown .3s ease-out;background:linear-gradient(135deg,#f59e0b,#d97706);bottom:0;left:0;position:fixed;right:0;z-index:9999}.staging-banner-content{align-items:center;display:flex;gap:12px;justify-content:center;margin:0 auto;max-width:1200px;padding:5px 16px}.staging-banner-icon{color:#fbbf24;flex-shrink:0}.staging-banner-text{align-items:center;display:flex;flex-direction:column;gap:2px}.staging-banner-title{display:none}.staging-banner-subtitle{color:#fef3c7;font-size:12px;font-weight:500}.staging-banner-indicator{flex-shrink:0;height:12px;position:relative;width:12px}.staging-banner-pulse{animation:pulse 2s infinite;background-color:#fbbf24;border-radius:50%;height:100%;width:100%}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}@media (prefers-color-scheme:dark){.staging-banner{background:linear-gradient(135deg,#92400e,#78350f);border-bottom-color:#451a03}.staging-banner-subtitle{color:#fde68a}.staging-banner-pulse{background-color:#f59e0b}}@media (max-width:640px){.staging-banner-content{gap:8px;padding:6px 12px}.staging-banner-title{font-size:12px}.staging-banner-subtitle{font-size:10px}.staging-banner-text{gap:1px}}
/*# sourceMappingURL=main.101b4198.css.map*/