*,: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:rgba(59,130,246,.5);--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:rgba(59,130,246,.5);--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{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color: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:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-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::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.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}}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.bottom-0{bottom:0}.left-0{left:0}.left-1{left:.25rem}.right-0{right:0}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-20{top:5rem}.top-4{top:1rem}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.col-span-1{grid-column:span 1/span 1}.-mx-2{margin-left:-.5rem;margin-right:-.5rem}.-mx-4{margin-left:-1rem;margin-right:-1rem}.-my-1\.5{margin-top:-.375rem;margin-bottom:-.375rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-8{margin-left:2rem;margin-right:2rem}.mx-auto{margin-left:auto;margin-right:auto}.my-3{margin-top:.75rem;margin-bottom:.75rem}.my-4{margin-top:1rem;margin-bottom:1rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.my-8{margin-top:2rem;margin-bottom:2rem}.-ml-1{margin-left:-.25rem}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-14{margin-left:3.5rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-5{margin-left:1.25rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-1{height:.25rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-full{height:100%}.h-screen{height:100vh}.max-h-60{max-height:15rem}.max-h-96{max-height:24rem}.max-h-full{max-height:100%}.max-h-screen{max-height:100vh}.min-h-screen{min-height:100vh}.w-0{width:0}.w-10{width:2.5rem}.w-11\/12{width:91.666667%}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-96{width:24rem}.w-full{width:100%}.min-w-0{min-width:0}.min-w-\[140px\]{min-width:140px}.min-w-\[80px\]{min-width:80px}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.translate-x-4{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-x-4{--tw-translate-x:1rem}.translate-x-full{--tw-translate-x:100%}.transform,.translate-x-full{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}.cursor-pointer{cursor:pointer}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-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{gap:.25rem}.gap-2{gap:.5rem}.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-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.5rem*var(--tw-space-x-reverse));margin-left:calc(1.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2rem*var(--tw-space-x-reverse));margin-left:calc(2rem*(1 - var(--tw-space-x-reverse)))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem*var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity,1))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.scroll-smooth{scroll-behavior:smooth}.truncate{overflow:hidden;white-space:nowrap}.overflow-ellipsis,.truncate{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-blue-300{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-200\/50{border-color:rgba(229,231,235,.5)}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.border-green-400{--tw-border-opacity:1;border-color:rgb(74 222 128/var(--tw-border-opacity,1))}.border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.border-orange-500{--tw-border-opacity:1;border-color:rgb(249 115 22/var(--tw-border-opacity,1))}.border-primary-500{--tw-border-opacity:1;border-color:rgb(217 70 239/var(--tw-border-opacity,1))}.border-purple-500{--tw-border-opacity:1;border-color:rgb(168 85 247/var(--tw-border-opacity,1))}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.border-white\/30{border-color:hsla(0,0%,100%,.3)}.border-yellow-200{--tw-border-opacity:1;border-color:rgb(254 240 138/var(--tw-border-opacity,1))}.border-yellow-400{--tw-border-opacity:1;border-color:rgb(250 204 21/var(--tw-border-opacity,1))}.border-yellow-500{--tw-border-opacity:1;border-color:rgb(234 179 8/var(--tw-border-opacity,1))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity,1))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity,1))}.bg-indigo-500{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.bg-orange-500{--tw-bg-opacity:1;background-color:rgb(249 115 22/var(--tw-bg-opacity,1))}.bg-orange-600{--tw-bg-opacity:1;background-color:rgb(234 88 12/var(--tw-bg-opacity,1))}.bg-primary-600{--tw-bg-opacity:1;background-color:rgb(192 38 211/var(--tw-bg-opacity,1))}.bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.bg-purple-600{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-200{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-teal-500{--tw-bg-opacity:1;background-color:rgb(20 184 166/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/80{background-color:hsla(0,0%,100%,.8)}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.bg-yellow-50{--tw-bg-opacity:1;background-color:rgb(254 252 232/var(--tw-bg-opacity,1))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.bg-opacity-50{--tw-bg-opacity:0.5}.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:rgba(59,130,246,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-gray-500{--tw-gradient-from:#6b7280 var(--tw-gradient-from-position);--tw-gradient-to:hsla(220,9%,46%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-500{--tw-gradient-from:#22c55e var(--tw-gradient-from-position);--tw-gradient-to:rgba(34,197,94,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-orange-500{--tw-gradient-from:#f97316 var(--tw-gradient-from-position);--tw-gradient-to:rgba(249,115,22,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-primary-500{--tw-gradient-from:#d946ef var(--tw-gradient-from-position);--tw-gradient-to:rgba(217,70,239,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-500{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-red-500{--tw-gradient-from:#ef4444 var(--tw-gradient-from-position);--tw-gradient-to:rgba(239,68,68,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-secondary-500{--tw-gradient-from:#3b82f6 var(--tw-gradient-from-position);--tw-gradient-to:rgba(59,130,246,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-amber-600{--tw-gradient-to:#d97706 var(--tw-gradient-to-position)}.to-cyan-600{--tw-gradient-to:#0891b2 var(--tw-gradient-to-position)}.to-emerald-600{--tw-gradient-to:#059669 var(--tw-gradient-to-position)}.to-gray-600{--tw-gradient-to:#4b5563 var(--tw-gradient-to-position)}.to-indigo-600{--tw-gradient-to:#4f46e5 var(--tw-gradient-to-position)}.to-pink-600{--tw-gradient-to:#db2777 var(--tw-gradient-to-position)}.to-primary-500{--tw-gradient-to:#d946ef var(--tw-gradient-to-position)}.to-secondary-500{--tw-gradient-to:#3b82f6 var(--tw-gradient-to-position)}.to-teal-600{--tw-gradient-to:#0d9488 var(--tw-gradient-to-position)}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-4{padding-bottom:1rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pr-10{padding-right:2.5rem}.pr-3{padding-right:.75rem}.pt-16{padding-top:4rem}.pt-2{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}.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-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-tight{line-height:1.25}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-blue-200{--tw-text-opacity:1;color:rgb(191 219 254/var(--tw-text-opacity,1))}.text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.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:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-green-300{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.text-indigo-500{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.text-primary-600{--tw-text-opacity:1;color:rgb(192 38 211/var(--tw-text-opacity,1))}.text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.text-purple-800{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.text-transparent{color:transparent}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/80{color:hsla(0,0%,100%,.8)}.text-white\/90{color:hsla(0,0%,100%,.9)}.text-yellow-300{--tw-text-opacity:1;color:rgb(253 224 71/var(--tw-text-opacity,1))}.text-yellow-400{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}.text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.text-yellow-600{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity,1))}.text-yellow-700{--tw-text-opacity:1;color:rgb(161 98 7/var(--tw-text-opacity,1))}.text-yellow-800{--tw-text-opacity:1;color:rgb(133 77 14/var(--tw-text-opacity,1))}.placeholder-gray-500::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(107 114 128/var(--tw-placeholder-opacity,1))}.placeholder-gray-500::placeholder{--tw-placeholder-opacity:1;color:rgb(107 114 128/var(--tw-placeholder-opacity,1))}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0,0,0,.05);--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color)}.shadow-inner,.shadow-lg{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 rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--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 rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--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: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 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.ring-2{--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),var(--tw-shadow,0 0 #0000)}.ring-primary-300{--tw-ring-opacity:1;--tw-ring-color:rgb(240 171 252/var(--tw-ring-opacity,1))}.blur{--tw-blur:blur(8px)}.blur,.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-md{--tw-backdrop-blur:blur(12px)}.backdrop-blur-md,.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-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-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150,.transition-transform{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.last\:border-b-0:last-child{border-bottom-width:0}.hover\:border-white\/60:hover{border-color:hsla(0,0%,100%,.6)}.hover\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.hover\:bg-blue-50:hover{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\:bg-gray-300:hover{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.hover\:bg-gray-400:hover{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-gray-600:hover{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.hover\:bg-indigo-600:hover{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity,1))}.hover\:bg-indigo-700:hover{--tw-bg-opacity:1;background-color:rgb(67 56 202/var(--tw-bg-opacity,1))}.hover\:bg-orange-100:hover{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.hover\:bg-orange-200:hover{--tw-bg-opacity:1;background-color:rgb(254 215 170/var(--tw-bg-opacity,1))}.hover\:bg-orange-600:hover{--tw-bg-opacity:1;background-color:rgb(234 88 12/var(--tw-bg-opacity,1))}.hover\:bg-orange-700:hover{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity,1))}.hover\:bg-primary-700:hover{--tw-bg-opacity:1;background-color:rgb(162 28 175/var(--tw-bg-opacity,1))}.hover\:bg-purple-600:hover{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.hover\:bg-purple-700:hover{--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}.hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.hover\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.hover\:bg-teal-600:hover{--tw-bg-opacity:1;background-color:rgb(13 148 136/var(--tw-bg-opacity,1))}.hover\:bg-yellow-100:hover{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.hover\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.hover\:from-blue-600:hover{--tw-gradient-from:#2563eb var(--tw-gradient-from-position);--tw-gradient-to:rgba(37,99,235,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-gray-600:hover{--tw-gradient-from:#4b5563 var(--tw-gradient-from-position);--tw-gradient-to:rgba(75,85,99,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-green-600:hover{--tw-gradient-from:#16a34a var(--tw-gradient-from-position);--tw-gradient-to:rgba(22,163,74,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-orange-600:hover{--tw-gradient-from:#ea580c var(--tw-gradient-from-position);--tw-gradient-to:rgba(234,88,12,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-purple-600:hover{--tw-gradient-from:#9333ea var(--tw-gradient-from-position);--tw-gradient-to:rgba(147,51,234,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-red-600:hover{--tw-gradient-from:#dc2626 var(--tw-gradient-from-position);--tw-gradient-to:rgba(220,38,38,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:to-amber-700:hover{--tw-gradient-to:#b45309 var(--tw-gradient-to-position)}.hover\:to-cyan-700:hover{--tw-gradient-to:#0e7490 var(--tw-gradient-to-position)}.hover\:to-emerald-700:hover{--tw-gradient-to:#047857 var(--tw-gradient-to-position)}.hover\:to-gray-700:hover{--tw-gradient-to:#374151 var(--tw-gradient-to-position)}.hover\:to-indigo-700:hover{--tw-gradient-to:#4338ca var(--tw-gradient-to-position)}.hover\:to-pink-700:hover{--tw-gradient-to:#be185d var(--tw-gradient-to-position)}.hover\:to-teal-700:hover{--tw-gradient-to:#0f766e var(--tw-gradient-to-position)}.hover\:text-blue-700:hover{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.hover\:text-blue-800:hover{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.hover\:text-blue-900:hover{--tw-text-opacity:1;color:rgb(30 58 138/var(--tw-text-opacity,1))}.hover\:text-gray-500:hover{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.hover\:text-indigo-500:hover{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.hover\:text-primary-600:hover{--tw-text-opacity:1;color:rgb(192 38 211/var(--tw-text-opacity,1))}.hover\:text-primary-700:hover{--tw-text-opacity:1;color:rgb(162 28 175/var(--tw-text-opacity,1))}.hover\:text-primary-800:hover{--tw-text-opacity:1;color:rgb(134 25 143/var(--tw-text-opacity,1))}.hover\:text-primary-900:hover{--tw-text-opacity:1;color:rgb(112 26 117/var(--tw-text-opacity,1))}.hover\:text-red-800:hover{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.hover\:text-red-900:hover{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.hover\:shadow-lg:hover,.hover\:shadow-md:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\:z-10:focus{z-index:10}.focus\:border-indigo-500:focus{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}.focus\:border-transparent:focus{border-color:transparent}.focus\:outline-none:focus{outline:2px solid transparent;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),var(--tw-shadow,0 0 #0000)}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.focus\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity,1))}.focus\:ring-primary-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(217 70 239/var(--tw-ring-opacity,1))}.focus\:ring-yellow-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(202 138 4/var(--tw-ring-opacity,1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus\:ring-offset-yellow-50:focus{--tw-ring-offset-color:#fefce8}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.dark\:divide-gray-700:is(.dark *)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(55 65 81/var(--tw-divide-opacity,1))}.dark\:border-blue-600:is(.dark *){--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.dark\:border-blue-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(29 78 216/var(--tw-border-opacity,1))}.dark\:border-blue-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity,1))}.dark\:border-gray-500:is(.dark *){--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity,1))}.dark\:border-gray-600:is(.dark *){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.dark\:border-gray-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.dark\:border-gray-700\/50:is(.dark *){border-color:rgba(55,65,81,.5)}.dark\:border-green-600:is(.dark *){--tw-border-opacity:1;border-color:rgb(22 163 74/var(--tw-border-opacity,1))}.dark\:border-green-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(21 128 61/var(--tw-border-opacity,1))}.dark\:border-green-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}.dark\:border-red-600:is(.dark *){--tw-border-opacity:1;border-color:rgb(220 38 38/var(--tw-border-opacity,1))}.dark\:border-red-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(185 28 28/var(--tw-border-opacity,1))}.dark\:border-red-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.dark\:border-yellow-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(133 77 14/var(--tw-border-opacity,1))}.dark\:bg-blue-700:is(.dark *){--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.dark\:bg-blue-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.dark\:bg-blue-900\/20:is(.dark *){background-color:rgba(30,58,138,.2)}.dark\:bg-gray-300:is(.dark *){--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.dark\:bg-gray-600:is(.dark *){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.dark\:bg-gray-700:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.dark\:bg-gray-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.dark\:bg-gray-900\/80:is(.dark *){background-color:rgba(17,24,39,.8)}.dark\:bg-green-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity,1))}.dark\:bg-green-900\/20:is(.dark *){background-color:rgba(20,83,45,.2)}.dark\:bg-green-900\/30:is(.dark *){background-color:rgba(20,83,45,.3)}.dark\:bg-indigo-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(49 46 129/var(--tw-bg-opacity,1))}.dark\:bg-orange-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(124 45 18/var(--tw-bg-opacity,1))}.dark\:bg-purple-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity,1))}.dark\:bg-red-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.dark\:bg-red-900\/20:is(.dark *){background-color:rgba(127,29,29,.2)}.dark\:bg-red-900\/30:is(.dark *){background-color:rgba(127,29,29,.3)}.dark\:bg-yellow-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(113 63 18/var(--tw-bg-opacity,1))}.dark\:bg-yellow-900\/20:is(.dark *){background-color:rgba(113,63,18,.2)}.dark\:bg-yellow-900\/30:is(.dark *){background-color:rgba(113,63,18,.3)}.dark\:text-blue-200:is(.dark *){--tw-text-opacity:1;color:rgb(191 219 254/var(--tw-text-opacity,1))}.dark\:text-blue-300:is(.dark *){--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.dark\:text-blue-400:is(.dark *){--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.dark\:text-gray-100:is(.dark *){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.dark\:text-gray-200:is(.dark *){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.dark\:text-gray-300:is(.dark *){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.dark\:text-gray-500:is(.dark *){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.dark\:text-gray-600:is(.dark *){--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.dark\:text-green-200:is(.dark *){--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity,1))}.dark\:text-green-300:is(.dark *){--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.dark\:text-green-400:is(.dark *){--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.dark\:text-indigo-400:is(.dark *){--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.dark\:text-orange-200:is(.dark *){--tw-text-opacity:1;color:rgb(254 215 170/var(--tw-text-opacity,1))}.dark\:text-orange-400:is(.dark *){--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.dark\:text-primary-400:is(.dark *){--tw-text-opacity:1;color:rgb(232 121 249/var(--tw-text-opacity,1))}.dark\:text-purple-200:is(.dark *){--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity,1))}.dark\:text-purple-400:is(.dark *){--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.dark\:text-red-200:is(.dark *){--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.dark\:text-red-300:is(.dark *){--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.dark\:text-red-400:is(.dark *){--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.dark\:text-white:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:text-yellow-200:is(.dark *){--tw-text-opacity:1;color:rgb(254 240 138/var(--tw-text-opacity,1))}.dark\:text-yellow-300:is(.dark *){--tw-text-opacity:1;color:rgb(253 224 71/var(--tw-text-opacity,1))}.dark\:text-yellow-400:is(.dark *){--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}.dark\:placeholder-gray-400:is(.dark *)::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity,1))}.dark\:placeholder-gray-400:is(.dark *)::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity,1))}.dark\:hover\:bg-blue-900:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.dark\:hover\:bg-gray-500:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.dark\:hover\:bg-gray-600:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.dark\:hover\:bg-gray-700:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:hover\:bg-gray-800:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.dark\:hover\:bg-orange-800:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(154 52 18/var(--tw-bg-opacity,1))}.dark\:hover\:bg-red-900:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.dark\:hover\:bg-red-900\/20:hover:is(.dark *){background-color:rgba(127,29,29,.2)}.dark\:hover\:bg-yellow-900\/50:hover:is(.dark *){background-color:rgba(113,63,18,.5)}.dark\:hover\:text-blue-300:hover:is(.dark *){--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.dark\:hover\:text-gray-200:hover:is(.dark *){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.dark\:hover\:text-gray-300:hover:is(.dark *){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.dark\:hover\:text-indigo-300:hover:is(.dark *){--tw-text-opacity:1;color:rgb(165 180 252/var(--tw-text-opacity,1))}.dark\:hover\:text-primary-300:hover:is(.dark *){--tw-text-opacity:1;color:rgb(240 171 252/var(--tw-text-opacity,1))}.dark\:hover\:text-primary-400:hover:is(.dark *){--tw-text-opacity:1;color:rgb(232 121 249/var(--tw-text-opacity,1))}.dark\:hover\:text-red-300:hover:is(.dark *){--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.dark\:hover\:text-white:hover:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}@media (min-width:640px){.sm\:flex-row{flex-direction:row}.sm\:p-8{padding:2rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:col-span-2{grid-column:span 2/span 2}.md\:col-span-3{grid-column:span 3/span 3}.md\:mt-0{margin-top:0}.md\:block{display:block}.md\:flex{display:flex}.md\:table-cell{display:table-cell}.md\:table-header-group{display:table-header-group}.md\:table-row{display:table-row}.md\:hidden{display:none}.md\:w-3\/4{width:75%}.md\:w-auto{width:auto}.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\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:flex-nowrap{flex-wrap:nowrap}.md\:gap-12{gap:3rem}.md\:border{border-width:1px}.md\:border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.md\:py-28{padding-top:7rem;padding-bottom:7rem}.md\:py-32{padding-top:8rem;padding-bottom:8rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:1024px){.lg\:w-1\/2{width:50%}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:text-6xl{font-size:3.75rem;line-height:1}}
/* Theme System CSS */

/* ===== Theme 1: Default (Fuchsia / Blue) ===== */
:root,
[data-theme="default"] {
    --primary-50: #fdf4ff;
    --primary-100: #fae8ff;
    --primary-200: #f5d0fe;
    --primary-300: #f0abfc;
    --primary-400: #e879f9;
    --primary-500: #d946ef;
    --primary-600: #c026d3;
    --primary-700: #a21caf;
    --primary-800: #86198f;
    --primary-900: #701a75;

    --secondary-50: #eff6ff;
    --secondary-100: #dbeafe;
    --secondary-200: #bfdbfe;
    --secondary-300: #93c5fd;
    --secondary-400: #60a5fa;
    --secondary-500: #3b82f6;
    --secondary-600: #2563eb;
    --secondary-700: #1d4ed8;
    --secondary-800: #1e40af;
    --secondary-900: #1e3a8a;
}

/* ===== Theme 2: Ocean (Blue / Cyan) ===== */
[data-theme="ocean"] {
    --primary-50: #eff6ff;
    --primary-100: #dbeafe;
    --primary-200: #bfdbfe;
    --primary-300: #93c5fd;
    --primary-400: #60a5fa;
    --primary-500: #3b82f6;
    --primary-600: #2563eb;
    --primary-700: #1d4ed8;
    --primary-800: #1e40af;
    --primary-900: #1e3a8a;

    --secondary-50: #ecfeff;
    --secondary-100: #cffafe;
    --secondary-200: #a5f3fc;
    --secondary-300: #67e8f9;
    --secondary-400: #22d3ee;
    --secondary-500: #06b6d4;
    --secondary-600: #0891b2;
    --secondary-700: #0e7490;
    --secondary-800: #155e75;
    --secondary-900: #164e63;
}

/* ===== Theme 3: Emerald (Green / Teal) ===== */
[data-theme="emerald"] {
    --primary-50: #ecfdf5;
    --primary-100: #d1fae5;
    --primary-200: #a7f3d0;
    --primary-300: #6ee7b7;
    --primary-400: #34d399;
    --primary-500: #10b981;
    --primary-600: #059669;
    --primary-700: #047857;
    --primary-800: #065f46;
    --primary-900: #064e3b;

    --secondary-50: #f0fdfa;
    --secondary-100: #ccfbf1;
    --secondary-200: #99f6e4;
    --secondary-300: #5eead4;
    --secondary-400: #2dd4bf;
    --secondary-500: #14b8a6;
    --secondary-600: #0d9488;
    --secondary-700: #0f766e;
    --secondary-800: #115e59;
    --secondary-900: #134e4a;
}

/* ===== Theme 4: Sunset (Orange / Rose) ===== */
[data-theme="sunset"] {
    --primary-50: #fff7ed;
    --primary-100: #ffedd5;
    --primary-200: #fed7aa;
    --primary-300: #fdba74;
    --primary-400: #fb923c;
    --primary-500: #f97316;
    --primary-600: #ea580c;
    --primary-700: #c2410c;
    --primary-800: #9a3412;
    --primary-900: #7c2d12;

    --secondary-50: #fff1f2;
    --secondary-100: #ffe4e6;
    --secondary-200: #fecdd3;
    --secondary-300: #fda4af;
    --secondary-400: #fb7185;
    --secondary-500: #f43f5e;
    --secondary-600: #e11d48;
    --secondary-700: #be123c;
    --secondary-800: #9f1239;
    --secondary-900: #881337;
}

/* ===== Theme 5: Slate (Indigo / Violet) ===== */
[data-theme="slate"] {
    --primary-50: #eef2ff;
    --primary-100: #e0e7ff;
    --primary-200: #c7d2fe;
    --primary-300: #a5b4fc;
    --primary-400: #818cf8;
    --primary-500: #6366f1;
    --primary-600: #4f46e5;
    --primary-700: #4338ca;
    --primary-800: #3730a3;
    --primary-900: #312e81;

    --secondary-50: #f5f3ff;
    --secondary-100: #ede9fe;
    --secondary-200: #ddd6fe;
    --secondary-300: #c4b5fd;
    --secondary-400: #a78bfa;
    --secondary-500: #8b5cf6;
    --secondary-600: #7c3aed;
    --secondary-700: #6d28d9;
    --secondary-800: #5b21b6;
    --secondary-900: #4c1d95;
}

/* ===== Theme-aware primary color overrides ===== */
/* Override hardcoded Tailwind primary-* utilities to use CSS variables */
.bg-primary-100 { background-color: var(--primary-100) !important; }
.bg-primary-600 { background-color: var(--primary-600) !important; }
.bg-primary-900 { background-color: var(--primary-900) !important; }
.text-primary-500 { color: var(--primary-500) !important; }
.text-primary-600 { color: var(--primary-600) !important; }
.text-primary-700 { color: var(--primary-700) !important; }
.border-primary-500 { border-color: var(--primary-500) !important; }
.ring-primary-500 { --tw-ring-color: var(--primary-500) !important; }
.ring-primary-300 { --tw-ring-color: var(--primary-300) !important; }
.focus\:ring-primary-500:focus { --tw-ring-color: var(--primary-500) !important; }
.hover\:bg-primary-700:hover { background-color: var(--primary-700) !important; }
.hover\:bg-primary-800:hover { background-color: var(--primary-800) !important; }
.hover\:text-primary-600:hover { color: var(--primary-600) !important; }
.hover\:text-primary-700:hover { color: var(--primary-700) !important; }
.dark .dark\:text-primary-300 { color: var(--primary-300) !important; }
.dark .dark\:text-primary-400 { color: var(--primary-400) !important; }
.dark .dark\:bg-primary-900 { background-color: var(--primary-900) !important; }

/* Light Theme (default) - High contrast text */
body {
    background-color: #f9fafb;
    color: #111827;
}

/* Dark Theme */
body.dark {
    background-color: #111827;
    color: #f3f4f6;
}

/* ===== Font Size via data attribute on <html> ===== */
/* Tailwind uses rem (relative to html), so we must set font-size on html */
html[data-font-size="small"]  { font-size: 14px; }
html[data-font-size="normal"] { font-size: 16px; }
html[data-font-size="large"]  { font-size: 18px; }
html[data-font-size="xlarge"] { font-size: 20px; }

/* ===== Background Tone Overrides (light) ===== */
body[data-bg-tone="default"] { background-color: #f9fafb; }
body[data-bg-tone="warm"]    { background-color: #fffbeb; }
body[data-bg-tone="cool"]    { background-color: #f8fafc; }
body[data-bg-tone="paper"]   { background-color: #fff7ed; }
body[data-bg-tone="mint"]    { background-color: #ecfdf5; }

/* ===== Background Tone Overrides (dark) ===== */
html.dark body[data-bg-tone="default"] { background-color: #111827; }
html.dark body[data-bg-tone="warm"]    { background-color: #1c1917; }
html.dark body[data-bg-tone="cool"]    { background-color: #0f172a; }
html.dark body[data-bg-tone="paper"]   { background-color: #1a1412; }
html.dark body[data-bg-tone="mint"]    { background-color: #052e16; }

/* Gradient Backgrounds */
.gradient-bg {
    background: linear-gradient(135deg, var(--primary-500) 0%, var(--secondary-500) 50%, #8b5cf6 100%);
}

.dark .gradient-bg {
    background: linear-gradient(135deg, var(--primary-700) 0%, var(--secondary-700) 50%, #7c3aed 100%);
}

/* Gradient Text */
.gradient-text {
    background: linear-gradient(135deg, var(--primary-500) 0%, var(--secondary-500) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Card - Flowbite inspired */
.card-gradient {
    background-color: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

.dark .card-gradient {
    background-color: #1f2937;
    border-color: #374151;
}

/* Button - Flowbite inspired with theme gradient */
.button-gradient {
    background: linear-gradient(135deg, var(--primary-500) 0%, var(--secondary-500) 100%);
    color: #ffffff;
    font-weight: 500;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    padding: 0.625rem 1.25rem;
    transition: all 0.2s ease;
    border: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.button-gradient:hover {
    background: linear-gradient(135deg, var(--primary-600) 0%, var(--secondary-600) 100%);
    transform: none;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.button-gradient:focus {
    outline: none;
    box-shadow: 0 0 0 4px rgba(0, 0, 0, 0.1);
}

.dark .button-gradient {
    background: linear-gradient(135deg, var(--primary-600) 0%, var(--secondary-600) 100%);
}

.dark .button-gradient:hover {
    background: linear-gradient(135deg, var(--primary-700) 0%, var(--secondary-700) 100%);
}

/* Theme Toggle */
.theme-toggle {
    background: linear-gradient(135deg, var(--primary-500) 0%, var(--secondary-500) 100%);
}

.theme-toggle:hover {
    background: linear-gradient(135deg, var(--primary-600) 0%, var(--secondary-600) 100%);
    transform: scale(1.05);
}

.dark .theme-toggle {
    background: linear-gradient(135deg, var(--primary-700) 0%, var(--secondary-700) 100%);
}

.dark .theme-toggle:hover {
    background: linear-gradient(135deg, var(--primary-800) 0%, var(--secondary-800) 100%);
}

/* Notifications */
.notification {
    background: linear-gradient(135deg, rgba(217, 70, 239, 0.95) 0%, rgba(59, 130, 246, 0.95) 100%);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.notification.error {
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.95) 0%, rgba(220, 38, 38, 0.95) 100%);
}

.notification.success {
    background: linear-gradient(135deg, rgba(34, 197, 94, 0.95) 0%, rgba(22, 163, 74, 0.95) 100%);
}

/* Info Cards - Flowbite inspired */
.info-card {
    background-color: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

.dark .info-card {
    background-color: #1f2937;
    border-color: #374151;
}

/* Table Styles - Flowbite inspired */
.table-header {
    background-color: #f9fafb;
}

.dark .table-header {
    background-color: #374151;
}

.table-row-hover:hover {
    background: linear-gradient(135deg, rgba(217, 70, 239, 0.03) 0%, rgba(59, 130, 246, 0.03) 100%);
}

/* Invoice Row Styles - Made lighter */
.received-row {
    background: linear-gradient(135deg, rgba(34, 197, 94, 0.05) 0%, rgba(22, 163, 74, 0.05) 100%);
    border-left: 4px solid #22c55e;
}

.sent-row {
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.05) 0%, rgba(220, 38, 38, 0.05) 100%);
    border-left: 4px solid #ef4444;
}

.dark .received-row {
    background: linear-gradient(135deg, rgba(34, 197, 94, 0.15) 0%, rgba(22, 163, 74, 0.15) 100%);
}

.dark .sent-row {
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.15) 0%, rgba(220, 38, 38, 0.15) 100%);
}

/* Pagination */
.pagination-button {
    background: linear-gradient(135deg, var(--primary-500) 0%, var(--secondary-500) 100%);
}

.pagination-button:hover {
    background: linear-gradient(135deg, var(--primary-600) 0%, var(--secondary-600) 100%);
    transform: translateY(-1px);
}

.pagination-button.active {
    background: linear-gradient(135deg, var(--primary-700) 0%, var(--secondary-700) 100%);
    color: white;
}

.dark .pagination-button {
    background: linear-gradient(135deg, var(--primary-700) 0%, var(--secondary-700) 100%);
}

.dark .pagination-button:hover {
    background: linear-gradient(135deg, var(--primary-800) 0%, var(--secondary-800) 100%);
}

.dark .pagination-button.active {
    background: linear-gradient(135deg, var(--primary-900) 0%, var(--secondary-900) 100%);
}

/* Animations */
.slide-in {
    animation: slideIn 0.5s ease-out;
}

@keyframes slideIn {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

.fade-in {
    animation: fadeIn 0.3s ease-in;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* Dark mode specific overrides */
.dark {
    color-scheme: dark;
}

.dark body {
    background-color: #111827;
    color: #f3f4f6;
}

/* Light theme - Made much lighter */
.bg-white {
    background-color: #ffffff;
}

.text-gray-700 {
    color: #6b7280;
}

.text-gray-600 {
    color: #6b7280;
}

.text-gray-500 {
    color: #9ca3af;
}

.border-gray-200 {
    border-color: #e5e7eb;
}

.border-gray-300 {
    border-color: #d1d5db;
}

.bg-gray-50 {
    background-color: #fafafa;
}

.bg-gray-100 {
    background-color: #f5f5f5;
}

.bg-gray-200 {
    background-color: #e5e7eb;
}

.bg-gray-700 {
    background-color: #374151;
}

.bg-gray-800 {
    background-color: #1f2937;
}

.bg-gray-900 {
    background-color: #111827;
}

.text-gray-900 {
    color: #374151;
}

.text-gray-800 {
    color: #4b5563;
}

.text-gray-100 {
    color: #f3f4f6;
}

.text-gray-200 {
    color: #e5e7eb;
}

.text-gray-300 {
    color: #d1d5db;
}

.text-gray-400 {
    color: #9ca3af;
}

.divide-gray-200 {
    border-color: #e5e7eb;
}

.divide-gray-700 {
    border-color: #4b5563;
}

/* Focus states for light mode */
input:focus,
select:focus,
textarea:focus {
    border-color: var(--primary-500);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary-500) 15%, transparent);
    outline: none;
}

/* Hover states for light mode */
.hover\:bg-gray-100:hover {
    background-color: #f5f5f5;
}

.hover\:bg-gray-700:hover {
    background-color: #4b5563;
}

.hover\:bg-gray-800:hover {
    background-color: #374151;
}

.hover\:text-gray-300:hover {
    color: #d1d5db;
}

.hover\:text-gray-600:hover {
    color: #6b7280;
}

/* Dark mode specific overrides */
.dark .bg-white {
    background-color: #1f2937;
}

.dark .text-gray-700 {
    color: #d1d5db;
}

.dark .text-gray-600 {
    color: #9ca3af;
}

.dark .text-gray-500 {
    color: #6b7280;
}

.dark .border-gray-200 {
    border-color: #374151;
}

.dark .border-gray-300 {
    border-color: #4b5563;
}

.dark .bg-gray-50 {
    background-color: #1f2937;
}

.dark .bg-gray-100 {
    background-color: #374151;
}

.dark .bg-gray-200 {
    background-color: #4b5563;
}

.dark .bg-gray-700 {
    background-color: #374151;
}

.dark .bg-gray-800 {
    background-color: #1f2937;
}

.dark .bg-gray-900 {
    background-color: #111827;
}

.dark .text-gray-900 {
    color: #f9fafb;
}

.dark .text-gray-800 {
    color: #f3f4f6;
}

.dark .text-gray-100 {
    color: #f3f4f6;
}

.dark .text-gray-200 {
    color: #e5e7eb;
}

.dark .text-gray-300 {
    color: #d1d5db;
}

.dark .text-gray-400 {
    color: #9ca3af;
}

.dark .divide-gray-200 {
    border-color: #374151;
}

.dark .divide-gray-700 {
    border-color: #4b5563;
}

/* Focus states for dark mode */
.dark input:focus,
.dark select:focus,
.dark textarea:focus {
    border-color: var(--primary-500);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary-500) 15%, transparent);
    outline: none;
}

/* Hover states for dark mode */
.dark .hover\:bg-gray-100:hover {
    background-color: #374151;
}

.dark .hover\:bg-gray-700:hover {
    background-color: #4b5563;
}

.dark .hover\:bg-gray-800:hover {
    background-color: #374151;
}

.dark .hover\:text-gray-300:hover {
    color: #d1d5db;
}

.dark .hover\:text-gray-600:hover {
    color: #9ca3af;
}

/* ===== Body Layout & Background Pattern ===== */
body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

body.bg-gray-50,
body.bg-gray-50.dark\:bg-gray-900 {
    background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='500' height='500' viewBox='0 0 500 500'> <g fill='%239ca3af' opacity='0.3'> <text transform='translate(35,45) rotate(15)' font-size='22' font-weight='bold' font-family='serif'>%24</text> <text transform='translate(310,68) rotate(-20)' font-size='20' font-weight='bold' font-family='serif'>%C2%A3</text> <text transform='translate(180,30) rotate(8)' font-size='18' font-weight='bold' font-family='serif'>%E2%82%AC</text> <g transform='translate(60,120) rotate(-5)'> <polyline points='0,30 12,18 22,25 35,8 48,15 60,2' fill='none' stroke='%239ca3af' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/> <polygon points='56,-2 64,2 58,6' /> </g> <g transform='translate(340,140) rotate(12)'> <rect width='40' height='22' rx='2' fill='none' stroke='%239ca3af' stroke-width='1.5'/> <text x='20' y='16' text-anchor='middle' font-size='13' font-weight='bold' font-family='serif'>%24</text> </g> <g transform='translate(440,42) rotate(-8)'> <rect x='0' y='18' width='5' height='12' rx='1'/> <rect x='8' y='10' width='5' height='20' rx='1'/> <rect x='16' y='14' width='5' height='16' rx='1'/> <rect x='24' y='5' width='5' height='25' rx='1'/> <rect x='32' y='8' width='5' height='22' rx='1'/> </g> <text transform='translate(95,290) rotate(25)' font-size='26' font-weight='bold' font-family='serif'>%C2%A3</text> <g transform='translate(230,110) rotate(6)' stroke='%239ca3af' stroke-width='1.5'> <line x1='5' y1='2' x2='5' y2='28'/> <rect x='2' y='8' width='6' height='10' rx='1'/> <line x1='18' y1='5' x2='18' y2='30'/> <rect x='15' y='12' width='6' height='10' rx='1' fill='none'/> <line x1='31' y1='0' x2='31' y2='25'/> <rect x='28' y='6' width='6' height='12' rx='1'/> </g> <text transform='translate(270,220) rotate(-30)' font-size='24' font-weight='bold' font-family='serif'>%24</text> <g transform='translate(380,260) rotate(10)'> <polyline points='0,5 15,20 25,18 40,28 55,12 70,8' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/> </g> <g transform='translate(50,380) rotate(-15)'> <rect width='38' height='20' rx='2' fill='none' stroke='%239ca3af' stroke-width='1.5'/> <text x='19' y='15' text-anchor='middle' font-size='12' font-weight='bold' font-family='serif'>%E2%82%AC</text> </g> <g transform='translate(460,190) rotate(18)'> <circle cx='0' cy='0' r='14' fill='none' stroke='%239ca3af' stroke-width='1.5'/> <path d='M0,0 L14,0 A14,14 0 0,1 7,12.12z'/> </g> <text transform='translate(155,195) rotate(-12)' font-size='16' font-weight='bold' font-family='serif'>%24</text> <text transform='translate(420,360) rotate(22)' font-size='18' font-weight='bold' font-family='serif'>%C2%A3</text> <g transform='translate(190,340) rotate(-10)'> <polyline points='0,25 20,10 40,15 55,0' fill='none' stroke='%239ca3af' stroke-width='2.5' stroke-linecap='round'/> <polygon points='52,-4 60,0 54,5'/> </g> <g transform='translate(310,400) rotate(15)'> <rect x='0' y='15' width='6' height='15' rx='1'/> <rect x='9' y='8' width='6' height='22' rx='1'/> <rect x='18' y='20' width='6' height='10' rx='1'/> <rect x='27' y='3' width='6' height='27' rx='1'/> </g> <g transform='translate(140,440) rotate(-25)'> <rect width='42' height='24' rx='3' fill='none' stroke='%239ca3af' stroke-width='1.5'/> <text x='21' y='18' text-anchor='middle' font-size='14' font-weight='bold' font-family='serif'>%C2%A3</text> </g> <text transform='translate(470,450) rotate(35)' font-size='20' font-weight='bold' font-family='serif'>%24</text> <g transform='translate(350,480) rotate(-7)'> <polyline points='0,15 10,5 20,12 30,2 40,8' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round'/> </g> <text transform='translate(480,310) rotate(-18)' font-size='19' font-weight='bold' font-family='serif'>%E2%82%AC</text> <g transform='translate(30,210) rotate(5)'> <ellipse cx='10' cy='20' rx='10' ry='4' fill='none' stroke='%239ca3af' stroke-width='1.5'/> <ellipse cx='10' cy='16' rx='10' ry='4' fill='none' stroke='%239ca3af' stroke-width='1.5'/> <ellipse cx='10' cy='12' rx='10' ry='4'/> </g> <g transform='translate(240,430) rotate(20)'> <polyline points='0,0 18,15 30,10 50,28' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round'/> <polygon points='47,25 55,30 48,33'/> </g> <g transform='translate(400,100) rotate(-35)'> <rect width='36' height='18' rx='2' fill='none' stroke='%239ca3af' stroke-width='1.5'/> <circle cx='18' cy='9' r='5' fill='none' stroke='%239ca3af' stroke-width='1'/> <text x='18' y='13' text-anchor='middle' font-size='9' font-weight='bold' font-family='serif'>%24</text> </g> <text transform='translate(260,340) rotate(30)' font-size='22' font-weight='bold' font-family='serif'>%C2%A3</text> <text transform='translate(130,85) rotate(-28)' font-size='15' font-weight='bold' font-family='serif'>%24</text> <g transform='translate(350,310) rotate(-12)' stroke='%239ca3af' fill='none' stroke-width='1.5'> <line x1='0' y1='0' x2='0' y2='35'/> <line x1='0' y1='35' x2='45' y2='35'/> <polyline points='5,28 15,15 25,20 35,5 42,10' stroke-width='2' stroke-linecap='round'/> </g> <text transform='translate(420,240) rotate(13)' font-size='17' font-weight='bold' font-family='serif'>%E2%82%AC</text> <g transform='translate(175,475) rotate(-22)'> <circle cx='0' cy='0' r='8' fill='none' stroke='%239ca3af' stroke-width='1.5'/> <text x='0' y='4' text-anchor='middle' font-size='10' font-weight='bold' font-family='serif'>%24</text> </g> </g> </svg>");
    background-repeat: repeat;
}

.dark body.bg-gray-50,
html.dark body {
    background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='500' height='500' viewBox='0 0 500 500'> <g fill='%234b5563' opacity='0.3'> <text transform='translate(35,45) rotate(15)' font-size='22' font-weight='bold' font-family='serif'>%24</text> <text transform='translate(310,68) rotate(-20)' font-size='20' font-weight='bold' font-family='serif'>%C2%A3</text> <text transform='translate(180,30) rotate(8)' font-size='18' font-weight='bold' font-family='serif'>%E2%82%AC</text> <g transform='translate(60,120) rotate(-5)'> <polyline points='0,30 12,18 22,25 35,8 48,15 60,2' fill='none' stroke='%234b5563' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/> <polygon points='56,-2 64,2 58,6' /> </g> <g transform='translate(340,140) rotate(12)'> <rect width='40' height='22' rx='2' fill='none' stroke='%234b5563' stroke-width='1.5'/> <text x='20' y='16' text-anchor='middle' font-size='13' font-weight='bold' font-family='serif'>%24</text> </g> <g transform='translate(440,42) rotate(-8)'> <rect x='0' y='18' width='5' height='12' rx='1'/> <rect x='8' y='10' width='5' height='20' rx='1'/> <rect x='16' y='14' width='5' height='16' rx='1'/> <rect x='24' y='5' width='5' height='25' rx='1'/> <rect x='32' y='8' width='5' height='22' rx='1'/> </g> <text transform='translate(95,290) rotate(25)' font-size='26' font-weight='bold' font-family='serif'>%C2%A3</text> <g transform='translate(230,110) rotate(6)' stroke='%234b5563' stroke-width='1.5'> <line x1='5' y1='2' x2='5' y2='28'/> <rect x='2' y='8' width='6' height='10' rx='1'/> <line x1='18' y1='5' x2='18' y2='30'/> <rect x='15' y='12' width='6' height='10' rx='1' fill='none'/> <line x1='31' y1='0' x2='31' y2='25'/> <rect x='28' y='6' width='6' height='12' rx='1'/> </g> <text transform='translate(270,220) rotate(-30)' font-size='24' font-weight='bold' font-family='serif'>%24</text> <g transform='translate(380,260) rotate(10)'> <polyline points='0,5 15,20 25,18 40,28 55,12 70,8' fill='none' stroke='%234b5563' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/> </g> <g transform='translate(50,380) rotate(-15)'> <rect width='38' height='20' rx='2' fill='none' stroke='%234b5563' stroke-width='1.5'/> <text x='19' y='15' text-anchor='middle' font-size='12' font-weight='bold' font-family='serif'>%E2%82%AC</text> </g> <g transform='translate(460,190) rotate(18)'> <circle cx='0' cy='0' r='14' fill='none' stroke='%234b5563' stroke-width='1.5'/> <path d='M0,0 L14,0 A14,14 0 0,1 7,12.12z'/> </g> <text transform='translate(155,195) rotate(-12)' font-size='16' font-weight='bold' font-family='serif'>%24</text> <text transform='translate(420,360) rotate(22)' font-size='18' font-weight='bold' font-family='serif'>%C2%A3</text> <g transform='translate(190,340) rotate(-10)'> <polyline points='0,25 20,10 40,15 55,0' fill='none' stroke='%234b5563' stroke-width='2.5' stroke-linecap='round'/> <polygon points='52,-4 60,0 54,5'/> </g> <g transform='translate(310,400) rotate(15)'> <rect x='0' y='15' width='6' height='15' rx='1'/> <rect x='9' y='8' width='6' height='22' rx='1'/> <rect x='18' y='20' width='6' height='10' rx='1'/> <rect x='27' y='3' width='6' height='27' rx='1'/> </g> <g transform='translate(140,440) rotate(-25)'> <rect width='42' height='24' rx='3' fill='none' stroke='%234b5563' stroke-width='1.5'/> <text x='21' y='18' text-anchor='middle' font-size='14' font-weight='bold' font-family='serif'>%C2%A3</text> </g> <text transform='translate(470,450) rotate(35)' font-size='20' font-weight='bold' font-family='serif'>%24</text> <g transform='translate(350,480) rotate(-7)'> <polyline points='0,15 10,5 20,12 30,2 40,8' fill='none' stroke='%234b5563' stroke-width='2' stroke-linecap='round'/> </g> <text transform='translate(480,310) rotate(-18)' font-size='19' font-weight='bold' font-family='serif'>%E2%82%AC</text> <g transform='translate(30,210) rotate(5)'> <ellipse cx='10' cy='20' rx='10' ry='4' fill='none' stroke='%234b5563' stroke-width='1.5'/> <ellipse cx='10' cy='16' rx='10' ry='4' fill='none' stroke='%234b5563' stroke-width='1.5'/> <ellipse cx='10' cy='12' rx='10' ry='4'/> </g> <g transform='translate(240,430) rotate(20)'> <polyline points='0,0 18,15 30,10 50,28' fill='none' stroke='%234b5563' stroke-width='2' stroke-linecap='round'/> <polygon points='47,25 55,30 48,33'/> </g> <g transform='translate(400,100) rotate(-35)'> <rect width='36' height='18' rx='2' fill='none' stroke='%234b5563' stroke-width='1.5'/> <circle cx='18' cy='9' r='5' fill='none' stroke='%234b5563' stroke-width='1'/> <text x='18' y='13' text-anchor='middle' font-size='9' font-weight='bold' font-family='serif'>%24</text> </g> <text transform='translate(260,340) rotate(30)' font-size='22' font-weight='bold' font-family='serif'>%C2%A3</text> <text transform='translate(130,85) rotate(-28)' font-size='15' font-weight='bold' font-family='serif'>%24</text> <g transform='translate(350,310) rotate(-12)' stroke='%234b5563' fill='none' stroke-width='1.5'> <line x1='0' y1='0' x2='0' y2='35'/> <line x1='0' y1='35' x2='45' y2='35'/> <polyline points='5,28 15,15 25,20 35,5 42,10' stroke-width='2' stroke-linecap='round'/> </g> <text transform='translate(420,240) rotate(13)' font-size='17' font-weight='bold' font-family='serif'>%E2%82%AC</text> <g transform='translate(175,475) rotate(-22)'> <circle cx='0' cy='0' r='8' fill='none' stroke='%234b5563' stroke-width='1.5'/> <text x='0' y='4' text-anchor='middle' font-size='10' font-weight='bold' font-family='serif'>%24</text> </g> </g> </svg>");
    background-repeat: repeat;
}

/* ===== Flowbite-Inspired Component Classes ===== */

/* Form Input */
.fb-input {
    background-color: #f9fafb;
    border: 1px solid #d1d5db;
    color: #111827;
    font-size: 0.875rem;
    border-radius: 0.5rem;
    display: block;
    width: 100%;
    padding: 0.625rem;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.fb-input:focus {
    border-color: var(--primary-500);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary-500) 15%, transparent);
    outline: none;
}
.fb-input:disabled {
    background-color: #e5e7eb;
    cursor: not-allowed;
}
.dark .fb-input {
    background-color: #374151;
    border-color: #4b5563;
    color: #ffffff;
}
.dark .fb-input:disabled {
    background-color: #1f2937;
}

/* Form Label */
.fb-label {
    display: block;
    margin-bottom: 0.5rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: #111827;
}
.dark .fb-label {
    color: #f9fafb;
}

/* Primary Button */
.fb-btn-primary {
    color: #ffffff;
    background-color: var(--primary-600);
    font-weight: 500;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    padding: 0.625rem 1.25rem;
    border: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    transition: background-color 0.2s;
}
.fb-btn-primary:hover { background-color: var(--primary-700); }
.fb-btn-primary:focus { outline: none; box-shadow: 0 0 0 4px color-mix(in srgb, var(--primary-300) 50%, transparent); }
.dark .fb-btn-primary { background-color: var(--primary-500); }
.dark .fb-btn-primary:hover { background-color: var(--primary-600); }

/* Secondary Button */
.fb-btn-secondary {
    color: #111827;
    background-color: #ffffff;
    border: 1px solid #d1d5db;
    font-weight: 500;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    padding: 0.625rem 1.25rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    transition: background-color 0.2s;
}
.fb-btn-secondary:hover { background-color: #f9fafb; }
.dark .fb-btn-secondary { color: #fff; background-color: #374151; border-color: #4b5563; }
.dark .fb-btn-secondary:hover { background-color: #4b5563; }

/* Danger Button */
.fb-btn-danger {
    color: #fff;
    background-color: #dc2626;
    font-weight: 500;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    padding: 0.625rem 1.25rem;
    border: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    transition: background-color 0.2s;
}
.fb-btn-danger:hover { background-color: #b91c1c; }

/* Success Button */
.fb-btn-success {
    color: #fff;
    background-color: #059669;
    font-weight: 500;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    padding: 0.625rem 1.25rem;
    border: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    transition: background-color 0.2s;
}
.fb-btn-success:hover { background-color: #047857; }

/* Info Button */
.fb-btn-info {
    color: #fff;
    background-color: #0891b2;
    font-weight: 500;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    padding: 0.625rem 1.25rem;
    border: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    transition: background-color 0.2s;
}
.fb-btn-info:hover { background-color: #0e7490; }

/* Small button variant */
.fb-btn-sm { padding: 0.375rem 0.75rem; font-size: 0.75rem; }

/* Toggle Switch (CSS-only) */
.fb-toggle {
    position: relative;
    display: inline-flex;
    align-items: center;
    cursor: pointer;
}
.fb-toggle input { position: absolute; opacity: 0; width: 0; height: 0; }
.fb-toggle-track {
    width: 2.75rem;
    height: 1.5rem;
    background-color: #d1d5db;
    border-radius: 9999px;
    position: relative;
    transition: background-color 0.2s;
    flex-shrink: 0;
}
.fb-toggle input:checked + .fb-toggle-track { background-color: var(--primary-600); }
.fb-toggle-track::after {
    content: '';
    position: absolute;
    top: 2px;
    left: 2px;
    width: 1.25rem;
    height: 1.25rem;
    background-color: #ffffff;
    border-radius: 9999px;
    transition: transform 0.2s;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.fb-toggle input:checked + .fb-toggle-track::after { transform: translateX(1.25rem); }
.fb-toggle input:focus + .fb-toggle-track { box-shadow: 0 0 0 4px color-mix(in srgb, var(--primary-300) 50%, transparent); }
.dark .fb-toggle-track { background-color: #4b5563; }
.fb-toggle-label { margin-left: 0.75rem; font-size: 0.875rem; font-weight: 500; color: #111827; }
.dark .fb-toggle-label { color: #d1d5db; }

/* Alert Styles */
.fb-alert { padding: 1rem 1.25rem; border-radius: 0.5rem; margin-bottom: 1rem; font-size: 0.875rem; border: 1px solid; }
.fb-alert-success { background-color: #f0fdf4; border-color: #bbf7d0; color: #166534; }
.dark .fb-alert-success { background-color: rgba(34, 197, 94, 0.1); border-color: rgba(34, 197, 94, 0.3); color: #4ade80; }
.fb-alert-danger { background-color: #fef2f2; border-color: #fecaca; color: #991b1b; }
.dark .fb-alert-danger { background-color: rgba(239, 68, 68, 0.1); border-color: rgba(239, 68, 68, 0.3); color: #f87171; }
.fb-alert-warning { background-color: #fffbeb; border-color: #fde68a; color: #92400e; }
.dark .fb-alert-warning { background-color: rgba(245, 158, 11, 0.1); border-color: rgba(245, 158, 11, 0.3); color: #fbbf24; }
.fb-alert-info { background-color: #eff6ff; border-color: #bfdbfe; color: #1e40af; }
.dark .fb-alert-info { background-color: rgba(59, 130, 246, 0.1); border-color: rgba(59, 130, 246, 0.3); color: #60a5fa; }

/* Stat Card */
.fb-stat-card {
    background-color: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    padding: 1.25rem;
    text-align: center;
}
.dark .fb-stat-card { background-color: #1f2937; border-color: #374151; }
.fb-stat-value { font-size: 1.5rem; font-weight: 700; color: var(--primary-600); }
.dark .fb-stat-value { color: var(--primary-400); }
.fb-stat-label { font-size: 0.8125rem; color: #6b7280; margin-top: 0.25rem; }
.dark .fb-stat-label { color: #9ca3af; }

/* Status Badges */
.fb-badge { padding: 0.25rem 0.625rem; border-radius: 0.375rem; font-size: 0.75rem; font-weight: 500; display: inline-flex; align-items: center; }
.fb-badge-pending { background-color: #fef3c7; color: #92400e; }
.dark .fb-badge-pending { background-color: rgba(245, 158, 11, 0.15); color: #fbbf24; }
.fb-badge-uploading { background-color: #dbeafe; color: #1e40af; }
.dark .fb-badge-uploading { background-color: rgba(59, 130, 246, 0.15); color: #60a5fa; }
.fb-badge-completed { background-color: #d1fae5; color: #065f46; }
.dark .fb-badge-completed { background-color: rgba(34, 197, 94, 0.15); color: #4ade80; }
.fb-badge-failed { background-color: #fee2e2; color: #991b1b; }
.dark .fb-badge-failed { background-color: rgba(239, 68, 68, 0.15); color: #f87171; }
.fb-badge-active { background-color: #d1fae5; color: #065f46; }
.dark .fb-badge-active { background-color: rgba(34, 197, 94, 0.15); color: #4ade80; }

/* Section heading */
.fb-section-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: #111827;
    margin-bottom: 1rem;
}
.dark .fb-section-title { color: #f9fafb; }

/* ===== Sidebar Layout ===== */

/* Body offset for sidebar - base padding applied via inline <style> in Menu.php only on pages with sidebar */

/* Sidebar container */
#app-sidebar {
    width: 256px;
    transition: width 0.3s ease;
    display: flex;
    flex-direction: column;
}

body.sidebar-collapsed #app-sidebar {
    width: 72px;
}

/* Text hidden in collapsed mode */
body.sidebar-collapsed .sidebar-text {
    display: none !important;
}

/* Icon-only elements visible only when collapsed */
.sidebar-icon-only {
    display: none;
}

body.sidebar-collapsed .sidebar-icon-only {
    display: flex !important;
}

/* Active nav item */
.sidebar-nav-active {
    background: color-mix(in srgb, var(--primary-500) 8%, transparent);
    border-left: 3px solid var(--primary-500);
    color: var(--primary-700);
}

.dark .sidebar-nav-active {
    background: color-mix(in srgb, var(--primary-500) 15%, transparent);
    color: var(--primary-300);
}

/* Tooltip for collapsed sidebar items */
body.sidebar-collapsed #app-sidebar a[title],
body.sidebar-collapsed #app-sidebar button[title] {
    position: relative;
}

body.sidebar-collapsed #app-sidebar a[title]:hover::after,
body.sidebar-collapsed #app-sidebar button[title]:hover::after {
    content: attr(title);
    position: absolute;
    left: 100%;
    top: 50%;
    transform: translateY(-50%);
    margin-left: 8px;
    padding: 6px 12px;
    background: #1f2937;
    color: #f9fafb;
    border-radius: 6px;
    font-size: 0.75rem;
    white-space: nowrap;
    z-index: 60;
    pointer-events: none;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
}

/* Impersonation banner positioning with sidebar */
.impersonation-banner {
    position: fixed;
    top: 0;
    right: 0;
    left: 256px;
    z-index: 100;
    transition: left 0.3s ease;
}

body.sidebar-collapsed .impersonation-banner {
    left: 72px;
}

/* Mobile top bar */
#mobile-topbar {
    display: none;
}

/* Sidebar scrollbar styling */
#app-sidebar::-webkit-scrollbar {
    width: 4px;
}

#app-sidebar::-webkit-scrollbar-track {
    background: transparent;
}

#app-sidebar::-webkit-scrollbar-thumb {
    background: rgba(156, 163, 175, 0.3);
    border-radius: 2px;
}

#app-sidebar:hover::-webkit-scrollbar-thumb {
    background: rgba(156, 163, 175, 0.5);
}

/* Mobile responsive */
@media (max-width: 767px) {
    body:has(#app-sidebar),
    body.sidebar-collapsed:has(#app-sidebar) {
        padding-left: 0 !important;
        padding-top: 56px;
    }

    #app-sidebar {
        transform: translateX(-100%);
        width: 256px !important;
        z-index: 50;
        transition: transform 0.3s ease;
    }

    #app-sidebar.mobile-open {
        transform: translateX(0);
    }

    #mobile-topbar {
        display: flex;
    }

    #sidebar-overlay {
        display: none;
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.5);
        z-index: 45;
        transition: opacity 0.3s ease;
    }

    #sidebar-overlay.active {
        display: block;
    }

    .impersonation-banner {
        left: 0 !important;
        top: 56px;
    }
}
#loader {
    display: none; /* Initially hide the loader */
    width: 100%; /* Full width */
    height: 2px; /* Height of the loader */
    position: fixed; /* Fixed position */
    top: 0; /* Top position */
    left: 0; /* Left position */
    background-color: white; /* Loader color */
    z-index: 9999; /* Higher z-index to overlay other elements */
}

.overflow-ellipsis {
    font-size: 0.875rem; /* Smaller font size, equivalent to 14px */
    max-width: 200px; /* Adjust based on your needs */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    cursor: default;
}

.overflow-ellipsis:hover {
    overflow: visible;
    white-space: normal;
    cursor: text;
}



/*@keyframes ms-loader {*/
/*    0% { transform: rotate(0deg); }*/
/*    100% { transform: rotate(360deg); }*/
/*}*/

/*.ms-loader {*/
/*    position: relative;*/
/*    width: 40px;*/
/*    height: 40px;*/
/*}*/

/*.ms-loader div {*/
/*    position: absolute;*/
/*    width: 8px;*/
/*    height: 8px;*/
/*    background: #3490dc; !* Tailwind 'blue-500' *!*/
/*    border-radius: 50%;*/
/*    animation: ms-loader 1.2s linear infinite;*/
/*}*/

/*.ms-loader div:nth-child(1) { top: 0; left: 50%; margin-left: -4px; animation-delay: -1.1s; }*/
/*.ms-loader div:nth-child(2) { top: 14px; left: 14px; animation-delay: -1s; }*/
/*.ms-loader div:nth-child(3) { top: 50%; left: 0; margin-top: -4px; animation-delay: -0.9s; }*/
/*.ms-loader div:nth-child(4) { top: 14px; left: -14px; animation-delay: -0.8s; }*/
/*.ms-loader div:nth-child(5) { top: 50%; right: 0; margin-top: -4px; animation-delay: -0.7s; }*/
/*.ms-loader div:nth-child(6) { bottom: 14px; left: 14px; animation-delay: -0.6s; }*/
/*.ms-loader div:nth-child(7) { bottom: 0; left: 50%; margin-left: -4px; animation-delay: -0.5s; }*/
/*.ms-loader div:nth-child(8) { bottom: 14px; left: -14px; animation-delay: -0.4s; }*/