*,:before,:after{--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: rgb(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: rgb(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: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{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,samp,pre{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,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{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}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media (min-width: 640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width: 768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width: 1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width: 1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width: 1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.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}.bottom-2{bottom:.5rem}.bottom-4{bottom:1rem}.bottom-full{bottom:100%}.left-0{left:0}.left-0\.5{left:.125rem}.left-1{left:.25rem}.left-1\/2{left:50%}.left-2{left:.5rem}.left-3{left:.75rem}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-0\.5{top:.125rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-4{top:1rem}.top-6{top:1.5rem}.top-full{top:100%}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.z-\[60\]{z-index:60}.z-\[9999\]{z-index:9999}.col-span-2{grid-column:span 2 / span 2}.m-0{margin:0}.m-auto{margin:auto}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-6{margin-left:1.5rem;margin-right:1.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.-mb-0\.5{margin-bottom:-.125rem}.-mb-px{margin-bottom:-1px}.-ml-1{margin-left:-.25rem}.-mr-1{margin-right:-.25rem}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.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-0{margin-left:0}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-\[3\/4\]{aspect-ratio:3/4}.aspect-\[8\.5\/11\]{aspect-ratio:8.5/11}.aspect-square{aspect-ratio:1 / 1}.h-0{height:0px}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-40{height:10rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-96{height:24rem}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-20{max-height:5rem}.max-h-24{max-height:6rem}.max-h-40{max-height:10rem}.max-h-48{max-height:12rem}.max-h-60{max-height:15rem}.max-h-64{max-height:16rem}.max-h-72{max-height:18rem}.max-h-80{max-height:20rem}.max-h-\[350px\]{max-height:350px}.max-h-\[60vh\]{max-height:60vh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[90vh\]{max-height:90vh}.max-h-full{max-height:100%}.min-h-0{min-height:0px}.min-h-\[3\.5rem\]{min-height:3.5rem}.min-h-screen{min-height:100vh}.w-0{width:0px}.w-1\.5{width:.375rem}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-\[14px\]{width:14px}.w-auto{width:auto}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-\[140px\]{min-width:140px}.min-w-\[160px\]{min-width:160px}.min-w-\[180px\]{min-width:180px}.min-w-\[200px\]{min-width:200px}.min-w-\[28px\]{min-width:28px}.min-w-\[300px\]{min-width:300px}.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-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-\[200px\]{max-width:200px}.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-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-5{--tw-translate-x: 1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate: 45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.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)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin{animation:spin 1s linear infinite}.cursor-crosshair{cursor:crosshair}.cursor-default{cursor:default}.cursor-ew-resize{cursor:ew-resize}.cursor-grab{cursor:grab}.cursor-not-allowed{cursor:not-allowed}.cursor-ns-resize{cursor:ns-resize}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize-none{resize:none}.resize-y{resize:vertical}.resize{resize:both}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-end{justify-content:flex-end}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-1{row-gap:.25rem}.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 * calc(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 * calc(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 * calc(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 * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(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 * calc(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 * calc(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 * calc(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 * calc(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 * calc(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 * calc(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))}.self-end{align-self:flex-end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.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-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-b-4{border-bottom-width:4px}.border-b-\[3px\]{border-bottom-width:3px}.border-l{border-left-width:1px}.border-l-0{border-left-width:0px}.border-l-2{border-left-width:2px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-t-2{border-top-width:2px}.border-t-4{border-top-width:4px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-amber-200{--tw-border-opacity: 1;border-color:rgb(253 230 138 / var(--tw-border-opacity, 1))}.border-amber-300{--tw-border-opacity: 1;border-color:rgb(252 211 77 / var(--tw-border-opacity, 1))}.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-blue-600{--tw-border-opacity: 1;border-color:rgb(37 99 235 / var(--tw-border-opacity, 1))}.border-blue-700{--tw-border-opacity: 1;border-color:rgb(29 78 216 / var(--tw-border-opacity, 1))}.border-blue-800\/50{border-color:#1e40af80}.border-gray-100{--tw-border-opacity: 1;border-color:rgb(243 244 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-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-gray-400{--tw-border-opacity: 1;border-color:rgb(156 163 175 / var(--tw-border-opacity, 1))}.border-gray-600{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity, 1))}.border-gray-700{--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1))}.border-gray-800{--tw-border-opacity: 1;border-color:rgb(31 41 55 / 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-300{--tw-border-opacity: 1;border-color:rgb(134 239 172 / var(--tw-border-opacity, 1))}.border-green-500{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity, 1))}.border-indigo-200{--tw-border-opacity: 1;border-color:rgb(199 210 254 / var(--tw-border-opacity, 1))}.border-indigo-500{--tw-border-opacity: 1;border-color:rgb(99 102 241 / var(--tw-border-opacity, 1))}.border-indigo-600{--tw-border-opacity: 1;border-color:rgb(79 70 229 / var(--tw-border-opacity, 1))}.border-orange-300{--tw-border-opacity: 1;border-color:rgb(253 186 116 / var(--tw-border-opacity, 1))}.border-orange-500{--tw-border-opacity: 1;border-color:rgb(249 115 22 / var(--tw-border-opacity, 1))}.border-pink-500{--tw-border-opacity: 1;border-color:rgb(236 72 153 / 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-300{--tw-border-opacity: 1;border-color:rgb(252 165 165 / 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-red-900{--tw-border-opacity: 1;border-color:rgb(127 29 29 / var(--tw-border-opacity, 1))}.border-slate-300{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}.border-teal-500{--tw-border-opacity: 1;border-color:rgb(20 184 166 / 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-yellow-200{--tw-border-opacity: 1;border-color:rgb(254 240 138 / var(--tw-border-opacity, 1))}.border-yellow-300{--tw-border-opacity: 1;border-color:rgb(253 224 71 / var(--tw-border-opacity, 1))}.border-yellow-400{--tw-border-opacity: 1;border-color:rgb(250 204 21 / var(--tw-border-opacity, 1))}.border-t-blue-500{--tw-border-opacity: 1;border-top-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.border-t-transparent{border-top-color:transparent}.bg-amber-100{--tw-bg-opacity: 1;background-color:rgb(254 243 199 / var(--tw-bg-opacity, 1))}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.bg-amber-500{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity, 1))}.bg-amber-600{--tw-bg-opacity: 1;background-color:rgb(217 119 6 / var(--tw-bg-opacity, 1))}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-black\/30{background-color:#0000004d}.bg-black\/50{background-color:#00000080}.bg-black\/60{background-color:#0009}.bg-black\/90{background-color:#000000e6}.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-blue-700{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))}.bg-blue-900\/30{background-color:#1e3a8a4d}.bg-emerald-100{--tw-bg-opacity: 1;background-color:rgb(209 250 229 / 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-400{--tw-bg-opacity: 1;background-color:rgb(156 163 175 / 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-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-gray-800\/50{background-color:#1f293780}.bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / 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-400{--tw-bg-opacity: 1;background-color:rgb(74 222 128 / 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-50{--tw-bg-opacity: 1;background-color:rgb(238 242 255 / 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-600{--tw-bg-opacity: 1;background-color:rgb(234 88 12 / var(--tw-bg-opacity, 1))}.bg-pink-100{--tw-bg-opacity: 1;background-color:rgb(252 231 243 / 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-50{--tw-bg-opacity: 1;background-color:rgb(250 245 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-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-red-700{--tw-bg-opacity: 1;background-color:rgb(185 28 28 / var(--tw-bg-opacity, 1))}.bg-slate-400{--tw-bg-opacity: 1;background-color:rgb(148 163 184 / var(--tw-bg-opacity, 1))}.bg-slate-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/50{background-color:#ffffff80}.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-yellow-600{--tw-bg-opacity: 1;background-color:rgb(202 138 4 / var(--tw-bg-opacity, 1))}.bg-opacity-20{--tw-bg-opacity: .2}.bg-opacity-50{--tw-bg-opacity: .5}.bg-opacity-75{--tw-bg-opacity: .75}.bg-opacity-90{--tw-bg-opacity: .9}.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-50{--tw-gradient-from: #eff6ff var(--tw-gradient-from-position);--tw-gradient-to: rgb(239 246 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-500{--tw-gradient-from: #3b82f6 var(--tw-gradient-from-position);--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-600{--tw-gradient-from: #16a34a var(--tw-gradient-from-position);--tw-gradient-to: rgb(22 163 74 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-indigo-50{--tw-gradient-from: #eef2ff var(--tw-gradient-from-position);--tw-gradient-to: rgb(238 242 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-indigo-500{--tw-gradient-from: #6366f1 var(--tw-gradient-from-position);--tw-gradient-to: rgb(99 102 241 / 0) 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: rgb(248 250 252 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-blue-600{--tw-gradient-to: #2563eb var(--tw-gradient-to-position)}.to-green-700{--tw-gradient-to: #15803d var(--tw-gradient-to-position)}.to-indigo-50{--tw-gradient-to: #eef2ff var(--tw-gradient-to-position)}.to-indigo-600{--tw-gradient-to: #4f46e5 var(--tw-gradient-to-position)}.to-purple-50{--tw-gradient-to: #faf5ff var(--tw-gradient-to-position)}.to-slate-200{--tw-gradient-to: #e2e8f0 var(--tw-gradient-to-position)}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-12{padding:3rem}.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-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-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-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.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-12{padding-bottom:3rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-8{padding-bottom:2rem}.pb-px{padding-bottom:1px}.pl-10{padding-left:2.5rem}.pl-11{padding-left:2.75rem}.pl-12{padding-left:3rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-5{padding-left:1.25rem}.pl-8{padding-left:2rem}.pl-9{padding-left:2.25rem}.pr-1{padding-right:.25rem}.pr-10{padding-right:2.5rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-20{padding-top:5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.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-6xl{font-size:3.75rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[9px\]{font-size:9px}.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-normal{font-weight:400}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.ordinal{--tw-ordinal: ordinal;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-amber-500{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity, 1))}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-amber-700{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.text-amber-800{--tw-text-opacity: 1;color:rgb(146 64 14 / var(--tw-text-opacity, 1))}.text-amber-900{--tw-text-opacity: 1;color:rgb(120 53 15 / var(--tw-text-opacity, 1))}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / 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-blue-900{--tw-text-opacity: 1;color:rgb(30 58 138 / var(--tw-text-opacity, 1))}.text-cyan-500{--tw-text-opacity: 1;color:rgb(6 182 212 / var(--tw-text-opacity, 1))}.text-emerald-500{--tw-text-opacity: 1;color:rgb(16 185 129 / var(--tw-text-opacity, 1))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / 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-100{--tw-text-opacity: 1;color:rgb(220 252 231 / var(--tw-text-opacity, 1))}.text-green-50{--tw-text-opacity: 1;color:rgb(240 253 244 / 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-green-900{--tw-text-opacity: 1;color:rgb(20 83 45 / 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-indigo-800{--tw-text-opacity: 1;color:rgb(55 48 163 / 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-orange-800{--tw-text-opacity: 1;color:rgb(154 52 18 / var(--tw-text-opacity, 1))}.text-pink-600{--tw-text-opacity: 1;color:rgb(219 39 119 / var(--tw-text-opacity, 1))}.text-pink-700{--tw-text-opacity: 1;color:rgb(190 24 93 / var(--tw-text-opacity, 1))}.text-purple-400{--tw-text-opacity: 1;color:rgb(192 132 252 / 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-700{--tw-text-opacity: 1;color:rgb(126 34 206 / 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-red-900{--tw-text-opacity: 1;color:rgb(127 29 29 / var(--tw-text-opacity, 1))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.text-slate-800{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / 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))}.text-yellow-900{--tw-text-opacity: 1;color:rgb(113 63 18 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.placeholder-gray-400::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity, 1))}.placeholder-gray-400::placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity, 1))}.accent-blue-500{accent-color:#3b82f6}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-90{opacity:.9}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);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 rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / .05);--tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);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 rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);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 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(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)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.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-4{--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(4px + 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-blue-200{--tw-ring-opacity: 1;--tw-ring-color: rgb(191 219 254 / var(--tw-ring-opacity, 1))}.ring-blue-500{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))}.ring-orange-400{--tw-ring-opacity: 1;--tw-ring-color: rgb(251 146 60 / var(--tw-ring-opacity, 1))}.ring-offset-1{--tw-ring-offset-width: 1px}.blur{--tw-blur: blur(8px);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)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));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)}.drop-shadow-sm{--tw-drop-shadow: drop-shadow(0 1px 1px rgb(0 0 0 / .05));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)}.grayscale{--tw-grayscale: grayscale(100%);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)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,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-shadow{transition-property:box-shadow;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);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{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)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;background:#f9fafb;color:#1f2937}.container{max-width:1200px;margin:0 auto;padding:20px}.btn{display:inline-flex;align-items:center;justify-content:center;font-weight:500;border-radius:8px;transition:all .2s;cursor:pointer;border:none;font-family:inherit}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:6px 12px;font-size:14px}.btn-md{padding:8px 16px;font-size:16px}.btn-lg{padding:12px 24px;font-size:18px}.btn-secondary{background:#e5e7eb;color:#1f2937}.btn-secondary:hover:not(:disabled){background:#d1d5db}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626}.btn-outline{background:transparent;border:2px solid #3b82f6;color:#3b82f6}.btn-outline:hover:not(:disabled){background:#eff6ff}.btn-ghost{background:transparent;color:#374151}.btn-ghost:hover:not(:disabled){background:#f3f4f6}.input-group{width:100%;margin-bottom:16px}.input-label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:4px}.input-required{color:#ef4444;margin-left:4px}.input-field{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:16px;transition:all .2s}.input-field:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.input-field:disabled{background:#f3f4f6;cursor:not-allowed}.input-error{border-color:#ef4444}.input-error-text{color:#ef4444;font-size:14px;margin-top:4px}.alert{border-radius:8px;padding:16px;margin-bottom:16px;display:flex;align-items:flex-start}.alert-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.alert-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.alert-warning{background:#fffbeb;border:1px solid #fde68a;color:#92400e}.alert-info{background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af}.alert-icon{flex-shrink:0;margin-right:12px}.alert-content{flex:1}.alert-title{font-weight:600;margin-bottom:4px}.alert-dismiss{background:none;border:none;cursor:pointer;padding:4px;margin-left:12px;opacity:.7}.alert-dismiss:hover{opacity:1}.card{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:24px;margin-bottom:24px}.navbar{background:#fff;box-shadow:0 1px 3px #0000001a;margin-bottom:32px}.navbar-container{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center;height:64px}.navbar-brand{display:flex;align-items:center;gap:8px;text-decoration:none;color:#1f2937;font-weight:700;font-size:20px}.navbar-nav{display:flex;align-items:center;gap:4px;flex-wrap:nowrap}.navbar-link{text-decoration:none;color:#374151;font-weight:500;font-size:14px;padding:8px 10px;border-radius:6px;transition:all .2s;white-space:nowrap}.navbar-link:hover{color:#3b82f6;background:#f3f4f6}.layout{min-height:100vh;background:#f9fafb}.layout-main{max-width:1200px;margin:0 auto;padding:32px 20px}.layout-main:has(>.min-h-screen){max-width:none;padding:0}.grid{display:grid;gap:24px}.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))}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}@media (max-width: 768px){.grid-cols-2,.grid-cols-3,.grid-3{grid-template-columns:repeat(1,minmax(0,1fr))}}@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))}}.spinner{border:3px solid #f3f4f6;border-top:3px solid #3b82f6;border-radius:50%;width:48px;height:48px;animation:spin 1s linear infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.shimmer-animation{background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:shimmer 1.5s infinite}.dark-mode .shimmer-animation{background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent)}.loading-container{display:flex;justify-content:center;align-items:center;padding:48px}.text-center{text-align:center}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.mb-8{margin-bottom:32px}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.mt-8{margin-top:32px}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-4{gap:16px}.gap-6{gap:24px}.w-full{width:100%}.text-sm{font-size:14px}.text-lg{font-size:18px}.text-xl{font-size:20px}.text-2xl{font-size:24px}.text-3xl{font-size:30px}.text-4xl{font-size:36px}.text-5xl{font-size:48px}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-gray-600{color:#4b5563}.text-gray-900{color:#111827}.text-primary{color:#3b82f6}.space-y-2>*+*{margin-top:8px}.space-y-4>*+*{margin-top:16px}.space-y-6>*+*{margin-top:24px}.space-y-8>*+*{margin-top:32px}:root{--bg-primary: #f9fafb;--bg-secondary: #ffffff;--bg-tertiary: #f3f4f6;--text-primary: #1f2937;--text-secondary: #374151;--text-tertiary: #6b7280;--border-color: #e5e7eb;--border-color-dark: #d1d5db;--shadow: rgba(0, 0, 0, .1);--overlay: rgba(0, 0, 0, .5)}.dark-mode{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-tertiary: #94a3b8;--border-color: #334155;--border-color-dark: #475569;--shadow: rgba(0, 0, 0, .3);--overlay: rgba(0, 0, 0, .7)}body{background:var(--bg-primary);color:var(--text-primary)}.card{background:var(--bg-secondary);color:var(--text-primary)}.navbar{background:var(--bg-secondary);box-shadow:0 1px 3px var(--shadow)}.navbar-brand{color:var(--text-primary)}.navbar-link{color:var(--text-secondary)}.navbar-link:hover{background:var(--bg-tertiary)}.input-label{color:var(--text-secondary)}.input-field{background:var(--bg-secondary);border-color:var(--border-color);color:var(--text-primary)}.input-field:disabled{background:var(--bg-tertiary)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:var(--border-color-dark)}.btn-ghost{color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--bg-tertiary)}.layout{background:var(--bg-primary)}.text-gray-600{color:var(--text-tertiary)}.text-gray-900{color:var(--text-primary)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:fade-in .15s ease-out}.animate-scale-in{animation:scale-in .15s ease-out}.file\:mr-4::file-selector-button{margin-right:1rem}.file\:rounded-md::file-selector-button{border-radius:.375rem}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-indigo-50::file-selector-button{--tw-bg-opacity: 1;background-color:rgb(238 242 255 / var(--tw-bg-opacity, 1))}.file\:px-4::file-selector-button{padding-left:1rem;padding-right:1rem}.file\:py-2::file-selector-button{padding-top:.5rem;padding-bottom:.5rem}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-semibold::file-selector-button{font-weight:600}.file\:text-indigo-700::file-selector-button{--tw-text-opacity: 1;color:rgb(67 56 202 / var(--tw-text-opacity, 1))}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:left-\[2px\]:after{content:var(--tw-content);left:2px}.after\:top-\[2px\]:after{content:var(--tw-content);top:2px}.after\:h-5:after{content:var(--tw-content);height:1.25rem}.after\:w-5:after{content:var(--tw-content);width:1.25rem}.after\:rounded-full:after{content:var(--tw-content);border-radius:9999px}.after\:border:after{content:var(--tw-content);border-width:1px}.after\:border-gray-300:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.after\:bg-white:after{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.after\:transition-all:after{content:var(--tw-content);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.after\:content-\[\'\'\]:after{--tw-content: "";content:var(--tw-content)}.last\:border-0:last-child{border-width:0px}.hover\:-translate-y-0\.5:hover{--tw-translate-y: -.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-blue-400:hover{--tw-border-opacity: 1;border-color:rgb(96 165 250 / var(--tw-border-opacity, 1))}.hover\:border-blue-500:hover{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.hover\:border-gray-300:hover{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.hover\:border-gray-400:hover{--tw-border-opacity: 1;border-color:rgb(156 163 175 / var(--tw-border-opacity, 1))}.hover\:border-gray-500:hover{--tw-border-opacity: 1;border-color:rgb(107 114 128 / var(--tw-border-opacity, 1))}.hover\:border-indigo-400:hover{--tw-border-opacity: 1;border-color:rgb(129 140 248 / var(--tw-border-opacity, 1))}.hover\:bg-amber-700:hover{--tw-bg-opacity: 1;background-color:rgb(180 83 9 / var(--tw-bg-opacity, 1))}.hover\:bg-black\/70:hover{background-color:#000000b3}.hover\:bg-blue-100:hover{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-200:hover{--tw-bg-opacity: 1;background-color:rgb(191 219 254 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-400:hover{--tw-bg-opacity: 1;background-color:rgb(96 165 250 / 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-500:hover{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / 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-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / 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-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-200:hover{--tw-bg-opacity: 1;background-color:rgb(187 247 208 / var(--tw-bg-opacity, 1))}.hover\:bg-green-50:hover{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.hover\:bg-green-500:hover{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / 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-700:hover{--tw-bg-opacity: 1;background-color:rgb(67 56 202 / var(--tw-bg-opacity, 1))}.hover\:bg-orange-500:hover{--tw-bg-opacity: 1;background-color:rgb(249 115 22 / 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-purple-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 232 255 / var(--tw-bg-opacity, 1))}.hover\:bg-purple-200:hover{--tw-bg-opacity: 1;background-color:rgb(233 213 255 / var(--tw-bg-opacity, 1))}.hover\:bg-purple-500:hover{--tw-bg-opacity: 1;background-color:rgb(168 85 247 / 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-100:hover{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / 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-500:hover{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / 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-slate-800:hover{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.hover\:bg-yellow-50:hover{--tw-bg-opacity: 1;background-color:rgb(254 252 232 / var(--tw-bg-opacity, 1))}.hover\:bg-yellow-500:hover{--tw-bg-opacity: 1;background-color:rgb(234 179 8 / var(--tw-bg-opacity, 1))}.hover\:bg-yellow-700:hover{--tw-bg-opacity: 1;background-color:rgb(161 98 7 / var(--tw-bg-opacity, 1))}.hover\:bg-opacity-100:hover{--tw-bg-opacity: 1}.hover\:text-blue-500:hover{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.hover\:text-blue-600:hover{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.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-800:hover{--tw-text-opacity: 1;color:rgb(31 41 55 / 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-green-100:hover{--tw-text-opacity: 1;color:rgb(220 252 231 / var(--tw-text-opacity, 1))}.hover\:text-green-800:hover{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.hover\:text-green-900:hover{--tw-text-opacity: 1;color:rgb(20 83 45 / var(--tw-text-opacity, 1))}.hover\:text-indigo-900:hover{--tw-text-opacity: 1;color:rgb(49 46 129 / var(--tw-text-opacity, 1))}.hover\:text-orange-900:hover{--tw-text-opacity: 1;color:rgb(124 45 18 / var(--tw-text-opacity, 1))}.hover\:text-purple-700:hover{--tw-text-opacity: 1;color:rgb(126 34 206 / var(--tw-text-opacity, 1))}.hover\:text-purple-900:hover{--tw-text-opacity: 1;color:rgb(88 28 135 / var(--tw-text-opacity, 1))}.hover\:text-red-500:hover{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.hover\:text-red-600:hover{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.hover\:text-red-700:hover{--tw-text-opacity: 1;color:rgb(185 28 28 / 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\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.hover\:text-yellow-600:hover{--tw-text-opacity: 1;color:rgb(202 138 4 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-lg:hover{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);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 rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(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)}.hover\:file\:bg-indigo-100::file-selector-button:hover{--tw-bg-opacity: 1;background-color:rgb(224 231 255 / var(--tw-bg-opacity, 1))}.focus\:border-blue-500:focus{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.focus\:border-indigo-500:focus{--tw-border-opacity: 1;border-color:rgb(99 102 241 / var(--tw-border-opacity, 1))}.focus\:border-purple-500:focus{--tw-border-opacity: 1;border-color:rgb(168 85 247 / 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-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-amber-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(245 158 11 / var(--tw-ring-opacity, 1))}.focus\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))}.focus\:ring-gray-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(107 114 128 / var(--tw-ring-opacity, 1))}.focus\:ring-green-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(34 197 94 / 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-purple-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(168 85 247 / 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-yellow-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(234 179 8 / var(--tw-ring-opacity, 1))}.active\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:cursor-grabbing:active{cursor:grabbing}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.group:hover .group-hover\:border-blue-400{--tw-border-opacity: 1;border-color:rgb(96 165 250 / var(--tw-border-opacity, 1))}.group:hover .group-hover\:text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:opacity-100{opacity:1}.peer:checked~.peer-checked\:bg-purple-600{--tw-bg-opacity: 1;background-color:rgb(147 51 234 / var(--tw-bg-opacity, 1))}.peer:checked~.peer-checked\:after\:translate-x-full:after{content:var(--tw-content);--tw-translate-x: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.peer:checked~.peer-checked\:after\:border-white:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.peer:focus~.peer-focus\:outline-none{outline:2px solid transparent;outline-offset:2px}.peer:focus~.peer-focus\: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)}.peer:focus~.peer-focus\:ring-purple-500{--tw-ring-opacity: 1;--tw-ring-color: rgb(168 85 247 / var(--tw-ring-opacity, 1))}.peer:disabled~.peer-disabled\:opacity-50{opacity:.5}.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-amber-700:is(.dark *){--tw-border-opacity: 1;border-color:rgb(180 83 9 / var(--tw-border-opacity, 1))}.dark\:border-amber-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(146 64 14 / var(--tw-border-opacity, 1))}.dark\:border-blue-400:is(.dark *){--tw-border-opacity: 1;border-color:rgb(96 165 250 / var(--tw-border-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-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-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(31 41 55 / 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-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-amber-900\/30:is(.dark *){background-color:#78350f4d}.dark\:bg-amber-900\/50:is(.dark *){background-color:#78350f80}.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:#1e3a8a33}.dark\:bg-blue-900\/30:is(.dark *){background-color:#1e3a8a4d}.dark\:bg-blue-900\/40:is(.dark *){background-color:#1e3a8a66}.dark\:bg-blue-900\/50:is(.dark *){background-color:#1e3a8a80}.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-700\/50:is(.dark *){background-color:#37415180}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-800\/50:is(.dark *){background-color:#1f293780}.dark\:bg-gray-800\/70:is(.dark *){background-color:#1f2937b3}.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\/50:is(.dark *){background-color:#11182780}.dark\:bg-gray-950:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(3 7 18 / var(--tw-bg-opacity, 1))}.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:#14532d33}.dark\:bg-green-900\/30:is(.dark *){background-color:#14532d4d}.dark\:bg-green-900\/50:is(.dark *){background-color:#14532d80}.dark\:bg-indigo-900\/20:is(.dark *){background-color:#312e8133}.dark\:bg-pink-900\/50:is(.dark *){background-color:#83184380}.dark\:bg-purple-900\/30:is(.dark *){background-color:#581c874d}.dark\:bg-purple-900\/50:is(.dark *){background-color:#581c8780}.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:#7f1d1d33}.dark\:bg-red-900\/30:is(.dark *){background-color:#7f1d1d4d}.dark\:bg-red-900\/50:is(.dark *){background-color:#7f1d1d80}.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:#713f1233}.dark\:bg-yellow-900\/30:is(.dark *){background-color:#713f124d}.dark\:from-gray-800:is(.dark *){--tw-gradient-from: #1f2937 var(--tw-gradient-from-position);--tw-gradient-to: rgb(31 41 55 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.dark\:to-gray-700:is(.dark *){--tw-gradient-to: #374151 var(--tw-gradient-to-position)}.dark\:text-amber-100:is(.dark *){--tw-text-opacity: 1;color:rgb(254 243 199 / var(--tw-text-opacity, 1))}.dark\:text-amber-300:is(.dark *){--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity, 1))}.dark\:text-amber-400:is(.dark *){--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.dark\:text-blue-100:is(.dark *){--tw-text-opacity: 1;color:rgb(219 234 254 / var(--tw-text-opacity, 1))}.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-100:is(.dark *){--tw-text-opacity: 1;color:rgb(220 252 231 / 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-400:is(.dark *){--tw-text-opacity: 1;color:rgb(251 146 60 / var(--tw-text-opacity, 1))}.dark\:text-pink-400:is(.dark *){--tw-text-opacity: 1;color:rgb(244 114 182 / var(--tw-text-opacity, 1))}.dark\:text-purple-300:is(.dark *){--tw-text-opacity: 1;color:rgb(216 180 254 / 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-100:is(.dark *){--tw-text-opacity: 1;color:rgb(254 226 226 / 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\:text-yellow-500:is(.dark *){--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity, 1))}.dark\:ring-blue-800:is(.dark *){--tw-ring-opacity: 1;--tw-ring-color: rgb(30 64 175 / var(--tw-ring-opacity, 1))}.dark\:ring-offset-gray-800:is(.dark *){--tw-ring-offset-color: #1f2937}.dark\:hover\:border-blue-400:hover:is(.dark *){--tw-border-opacity: 1;border-color:rgb(96 165 250 / var(--tw-border-opacity, 1))}.dark\:hover\:border-gray-500:hover:is(.dark *){--tw-border-opacity: 1;border-color:rgb(107 114 128 / var(--tw-border-opacity, 1))}.dark\:hover\:border-gray-600:hover:is(.dark *){--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity, 1))}.dark\:hover\:border-indigo-500:hover:is(.dark *){--tw-border-opacity: 1;border-color:rgb(99 102 241 / var(--tw-border-opacity, 1))}.dark\:hover\:bg-blue-800:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(30 64 175 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-blue-900\/20:hover:is(.dark *){background-color:#1e3a8a33}.dark\:hover\:bg-blue-900\/30:hover:is(.dark *){background-color:#1e3a8a4d}.dark\:hover\:bg-blue-900\/50:hover:is(.dark *){background-color:#1e3a8a80}.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-700\/50:hover:is(.dark *){background-color:#37415180}.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-green-900:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(20 83 45 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-purple-900\/40:hover:is(.dark *){background-color:#581c8766}.dark\:hover\:bg-red-900\/20:hover:is(.dark *){background-color:#7f1d1d33}.dark\:hover\:bg-red-900\/30:hover:is(.dark *){background-color:#7f1d1d4d}.dark\:hover\:bg-red-900\/50:hover:is(.dark *){background-color:#7f1d1d80}.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-blue-400:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.dark\:hover\:text-gray-100:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(243 244 246 / 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-green-200:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(187 247 208 / var(--tw-text-opacity, 1))}.dark\:hover\:text-green-300:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(134 239 172 / 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-orange-300:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(253 186 116 / var(--tw-text-opacity, 1))}.dark\:hover\:text-purple-300:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(216 180 254 / 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-red-400:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}@media (min-width: 640px){.sm\:inline{display:inline}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width: 768px){.md\:col-span-2{grid-column:span 2 / span 2}.md\:flex{display:flex}.md\:hidden{display:none}.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))}}@media (min-width: 1024px){.lg\:col-span-1{grid-column:span 1 / span 1}.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:ml-64{margin-left:16rem}.lg\:hidden{display:none}.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\:px-8{padding-left:2rem;padding-right:2rem}}@media (min-width: 1280px){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.print-job-tracker{position:fixed;bottom:20px;right:20px;z-index:9999;display:flex;flex-direction:column;align-items:flex-end;gap:8px;font-family:inherit;max-width:380px}.print-notifications{display:flex;flex-direction:column;gap:6px;width:100%}.print-notification{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:8px;color:#fff;font-size:13px;cursor:pointer;animation:slideIn .3s ease,fadeOut .5s ease 7.5s forwards;box-shadow:0 4px 12px #00000026}.print-notification.completed{background:#16a34a}.print-notification.cancelled{background:#6b7280}.print-notification.failed{background:#dc2626}.print-notification.timeout{background:#d97706}.notification-icon{display:flex;align-items:center;flex-shrink:0}.notification-message{flex:1}.notification-dismiss{background:none;border:none;color:#ffffffb3;cursor:pointer;padding:2px;display:flex;align-items:center;flex-shrink:0}.notification-dismiss:hover{color:#fff}.print-tracker-badge{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#1e40af;color:#fff;border:none;border-radius:24px;cursor:pointer;font-size:13px;font-weight:500;box-shadow:0 4px 12px #1e40af59;transition:background .2s}.print-tracker-badge:hover{background:#1d4ed8}.badge-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.print-tracker-tray{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 8px 24px #0000001f;width:360px;overflow:hidden}.dark .print-tracker-tray{background:#1f2937;border-color:#374151}.tray-header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#f9fafb;border-bottom:1px solid #e5e7eb;font-weight:600;font-size:13px;color:#374151}.dark .tray-header{background:#111827;border-bottom-color:#374151;color:#d1d5db}.tray-header-left{display:flex;align-items:center;gap:6px}.tray-minimize{background:none;border:none;cursor:pointer;font-size:16px;color:#9ca3af;padding:4px;border-radius:4px;display:flex;align-items:center}.tray-minimize:hover{background:#e5e7eb;color:#374151}.dark .tray-minimize:hover{background:#374151;color:#d1d5db}.tray-jobs{max-height:300px;overflow-y:auto}.tray-job{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid #f3f4f6}.dark .tray-job{border-bottom-color:#374151}.tray-job:last-child{border-bottom:none}.job-info{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.job-thumbnail{width:36px;height:36px;border-radius:4px;-o-object-fit:cover;object-fit:cover;flex-shrink:0}.job-thumbnail-placeholder{width:36px;height:36px;border-radius:4px;background:#f3f4f6;display:flex;align-items:center;justify-content:center;color:#9ca3af;flex-shrink:0}.dark .job-thumbnail-placeholder{background:#374151;color:#6b7280}.job-details{display:flex;flex-direction:column;gap:1px;min-width:0}.job-asset-name{font-size:13px;font-weight:500;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dark .job-asset-name{color:#f3f4f6}.job-printer{font-size:11px;color:#6b7280}.job-status-message{font-size:11px;color:#3b82f6;display:flex;align-items:center;gap:4px}.tray-job.completed .job-status-message{color:#16a34a}.tray-job.failed .job-status-message,.tray-job.cancelled .job-status-message{color:#dc2626}.job-spinner{width:10px;height:10px;border:1.5px solid #bfdbfe;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}.job-actions{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0;margin-left:10px}.job-cost{font-size:13px;font-weight:600;color:#374151}.dark .job-cost{color:#d1d5db}.job-cancel-btn{font-size:11px;color:#dc2626;background:none;border:1px solid #fecaca;border-radius:4px;padding:2px 8px;cursor:pointer;transition:all .15s}.job-cancel-btn:hover{background:#fef2f2;border-color:#dc2626}.job-status-icon{display:flex;align-items:center}.job-status-icon.completed{color:#16a34a}.job-status-icon.failed{color:#dc2626}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@media (max-width: 420px){.print-job-tracker{left:10px;right:10px;max-width:none}.print-tracker-tray{width:100%}}.print-error-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.print-error-modal{background:#fff;border-radius:12px;max-width:480px;width:100%;padding:1.5rem;position:relative;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;animation:slideUp .2s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.print-error-close{position:absolute;top:1rem;right:1rem;background:none;border:none;color:#6b7280;cursor:pointer;padding:.25rem;border-radius:4px;transition:all .15s ease}.print-error-close:hover{background:#f3f4f6;color:#374151}.print-error-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1rem}.print-error-icon{flex-shrink:0;width:48px;height:48px;background:#fef3c7;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#d97706}.print-error-title{font-size:1.25rem;font-weight:600;color:#111827;margin:0;padding-top:.5rem}.print-error-description{color:#4b5563;font-size:.9375rem;font-weight:500;line-height:1.6;margin:0 0 1rem}.print-error-steps{background:#f9fafb;border-radius:8px;padding:1rem;margin-bottom:1rem}.print-error-steps-prefix{font-weight:500;color:#374151;margin:0 0 .5rem;font-size:.875rem}.print-error-steps ul{margin:0;padding-left:1.25rem;color:#4b5563;font-size:.875rem}.print-error-steps li{margin-bottom:.375rem;line-height:1.5}.print-error-steps li:last-child{margin-bottom:0}.print-error-footer{font-size:.875rem;color:#6b7280;font-style:italic;margin:0 0 1rem}.print-error-details{margin-bottom:1rem;font-size:.8125rem}.print-error-details summary{cursor:pointer;color:#6b7280;-webkit-user-select:none;-moz-user-select:none;user-select:none}.print-error-details summary:hover{color:#374151}.print-error-details code{display:block;margin-top:.5rem;padding:.75rem;background:#f3f4f6;border-radius:4px;font-family:monospace;font-size:.75rem;color:#dc2626;word-break:break-all;white-space:pre-wrap}.print-error-actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:.5rem;border-top:1px solid #e5e7eb;margin-top:.5rem}.print-error-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.625rem 1rem;font-size:.875rem;font-weight:500;border-radius:6px;cursor:pointer;transition:all .15s ease;border:none}.print-error-btn.primary{background:#3b82f6;color:#fff}.print-error-btn.primary:hover{background:#2563eb}.print-error-btn.secondary{background:#fff;color:#374151;border:1px solid #d1d5db}.print-error-btn.secondary:hover{background:#f9fafb;border-color:#9ca3af}@media (max-width: 480px){.print-error-modal{padding:1.25rem}.print-error-header{flex-direction:column;align-items:center;text-align:center}.print-error-icon{margin-bottom:.5rem}.print-error-actions{flex-direction:column}.print-error-btn{width:100%;justify-content:center}}.print-confirm-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .15s ease-out}.print-confirm-modal{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0003;width:100%;max-width:440px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .2s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.print-confirm-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e5e7eb}.print-confirm-header h2{margin:0;font-size:18px;font-weight:600;color:#111827}.print-confirm-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;border-radius:6px;color:#6b7280;cursor:pointer;transition:all .15s}.print-confirm-close:hover{background:#f3f4f6;color:#111827}.print-confirm-close:disabled{opacity:.5;cursor:not-allowed}.print-confirm-content{padding:20px;display:flex;gap:20px;overflow-y:auto}.print-confirm-preview{flex-shrink:0;width:100px;height:140px;background:#f9fafb;border-radius:8px;overflow:hidden;border:1px solid #e5e7eb}.print-confirm-preview img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.print-confirm-preview-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#e5e7eb 25%,#f3f4f6,#e5e7eb 75%)}.print-confirm-info{flex:1;min-width:0}.print-confirm-asset-name{margin:0 0 12px;font-size:16px;font-weight:600;color:#111827;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.print-confirm-breakdown{background:#f9fafb;border-radius:8px;padding:12px;margin-bottom:12px}.breakdown-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0}.breakdown-label{color:#6b7280;font-size:13px}.breakdown-value{color:#111827;font-size:13px;font-weight:500}.breakdown-divider{height:1px;background:#e5e7eb;margin:8px 0}.breakdown-row.total .breakdown-label{font-weight:600;color:#111827}.breakdown-row.total .breakdown-value{font-size:16px;font-weight:700;color:#2563eb}.test-mode-badge{background:#dcfce7;color:#16a34a;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:600}.test-mode-total{color:#16a34a;font-weight:700}.print-confirm-balance{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;margin-bottom:12px;font-size:13px}.print-confirm-balance svg{color:#16a34a;flex-shrink:0}.balance-label{color:#166534}.balance-value{font-weight:600;color:#166534}.balance-remaining{color:#6b7280;font-size:12px}.print-confirm-balance.insufficient{background:#fef2f2;border-color:#fecaca}.print-confirm-balance.insufficient svg,.print-confirm-balance.insufficient .balance-label,.print-confirm-balance.insufficient .balance-value{color:#dc2626}.print-confirm-warning{display:flex;gap:12px;padding:12px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:12px}.print-confirm-warning svg{color:#dc2626;flex-shrink:0;margin-top:2px}.warning-content{flex:1}.warning-content strong{display:block;color:#dc2626;font-size:14px;margin-bottom:4px}.warning-content p{margin:0;color:#991b1b;font-size:13px;line-height:1.4}.print-confirm-gang{display:flex;gap:12px;padding:12px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px}.print-confirm-gang svg{color:#2563eb;flex-shrink:0;margin-top:2px}.print-confirm-gang.loading{align-items:center;color:#6b7280;font-size:13px}.print-confirm-gang.loading svg{color:#6b7280}.gang-content{flex:1}.gang-content strong{display:block;color:#1d4ed8;font-size:14px;margin-bottom:4px}.gang-content p{margin:0;color:#1e40af;font-size:13px;line-height:1.4}.gang-deadline{display:inline-block;margin-top:6px;padding:2px 8px;background:#dbeafe;border-radius:4px;font-size:11px;color:#1e40af;font-weight:500}.spin{animation:spin 1s linear infinite}.print-confirm-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;background:#f9fafb;border-top:1px solid #e5e7eb}.print-confirm-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s}.print-confirm-btn.cancel{background:#fff;color:#374151;border:1px solid #d1d5db}.print-confirm-btn.cancel:hover{background:#f3f4f6}.print-confirm-btn.confirm{background:#2563eb;color:#fff;min-width:180px}.print-confirm-btn.confirm:hover{background:#1d4ed8}.print-confirm-btn.confirm:disabled{background:#93c5fd;cursor:not-allowed}.print-confirm-btn.confirm.test-mode{background:#16a34a}.print-confirm-btn.confirm.test-mode:hover{background:#15803d}.print-confirm-btn.buy-credits{background:#f97316;color:#fff;min-width:160px}.print-confirm-btn.buy-credits:hover{background:#ea580c}@media (prefers-color-scheme: dark){.print-confirm-modal{background:#1f2937}.print-confirm-header{border-color:#374151}.print-confirm-header h2{color:#f9fafb}.print-confirm-close{color:#9ca3af}.print-confirm-close:hover{background:#374151;color:#f9fafb}.print-confirm-preview{background:#374151;border-color:#4b5563}.print-confirm-asset-name{color:#f9fafb}.print-confirm-breakdown{background:#374151}.breakdown-label{color:#9ca3af}.breakdown-value{color:#f9fafb}.breakdown-divider{background:#4b5563}.breakdown-row.total .breakdown-label{color:#f9fafb}.print-confirm-footer{background:#111827;border-color:#374151}.print-confirm-btn.cancel{background:#374151;color:#f9fafb;border-color:#4b5563}.print-confirm-btn.cancel:hover{background:#4b5563}}.print-panel-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.print-panel{background-color:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;width:760px;max-width:95vw;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.dark .print-panel{background-color:#1f2937;box-shadow:0 20px 25px -5px #0000004d,0 10px 10px -5px #0003}.print-panel-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid #e5e7eb;flex-shrink:0}.dark .print-panel-header{border-bottom-color:#374151}.print-panel-header h2{margin:0;font-size:1.125rem;font-weight:600;color:#111827}.dark .print-panel-header h2{color:#f9fafb}.print-panel-close{width:32px;height:32px;border:none;background:transparent;border-radius:6px;font-size:1.5rem;line-height:1;color:#6b7280;cursor:pointer;transition:background-color .15s,color .15s}.print-panel-close:hover:not(:disabled){background-color:#f3f4f6;color:#111827}.dark .print-panel-close:hover:not(:disabled){background-color:#374151;color:#f9fafb}.print-panel-close:disabled{opacity:.5;cursor:not-allowed}.print-panel-body{display:flex;gap:1.5rem;padding:1.25rem;overflow-y:auto;flex:1}.print-panel-preview{flex:0 0 200px;display:flex;flex-direction:column;align-items:center}.paper-preview-container{display:flex;align-items:center;justify-content:center;width:200px;height:260px;background:#94a3b8;border-radius:8px;padding:12px;margin:0 auto}.paper-preview-page{position:relative;background:#fff;box-shadow:0 2px 8px #00000026;border-radius:2px;overflow:hidden}.paper-preview-asset{-o-object-fit:contain;object-fit:contain;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.paper-preview-placeholder-asset{border:1px dashed #cbd5e1;border-radius:2px;background:#f1f5f9}.dark .paper-preview-container{background:#334155}.dark .paper-preview-page{background:#f1f5f9;box-shadow:0 2px 8px #0000004d}.dark .paper-preview-placeholder-asset{border-color:#475569;background:#e2e8f0}.size-warning{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-top:.75rem;padding:.75rem;background-color:#fef3c7;border:1px solid #f59e0b;border-radius:8px;width:100%;max-width:200px}.dark .size-warning{background-color:#f59e0b26;border-color:#f59e0b80}.size-warning-icon{font-size:1.25rem;line-height:1}.size-warning-text{text-align:center;font-size:.75rem;color:#92400e;line-height:1.4}.size-warning-text strong{display:block;font-size:.8125rem;margin-bottom:.25rem}.dark .size-warning-text{color:#fbbf24}.size-warning-details{display:block;font-size:.6875rem;opacity:.85}.size-warning-suggestion{padding:.375rem .75rem;font-size:.75rem;font-weight:500;background-color:#f59e0b;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .15s;white-space:nowrap}.size-warning-suggestion:hover,.dark .size-warning-suggestion{background-color:#d97706}.dark .size-warning-suggestion:hover{background-color:#b45309}.print-panel-preview-image{width:100%;max-height:260px;-o-object-fit:contain;object-fit:contain;border-radius:8px;border:1px solid #e2e8f0;background-color:#f8fafc}.dark .print-panel-preview-image{border-color:#4b5563;background-color:#374151}.print-panel-preview-placeholder{width:100%;height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;border-radius:8px;border:1px dashed #cbd5e1;background-color:#f8fafc;color:#94a3b8}.dark .print-panel-preview-placeholder{border-color:#4b5563;background-color:#374151;color:#6b7280}.print-panel-preview-placeholder span{font-size:.875rem}.print-panel-asset-info{text-align:center;margin-top:.75rem;width:100%}.print-panel-asset-name{font-weight:600;font-size:.875rem;color:#1e293b;line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.dark .print-panel-asset-name{color:#f1f5f9}.print-panel-asset-price{font-size:.8125rem;color:#64748b;margin-top:.25rem}.dark .print-panel-asset-price{color:#94a3b8}.page-navigation{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.5rem 0;margin-top:.5rem}.page-navigation .page-nav-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #e5e7eb;border-radius:6px;background-color:#fff;color:#374151;cursor:pointer;transition:all .15s ease}.page-navigation .page-nav-btn:hover:not(:disabled){background-color:#f3f4f6;border-color:#d1d5db}.page-navigation .page-nav-btn:disabled{opacity:.4;cursor:not-allowed}.dark .page-navigation .page-nav-btn{background-color:#374151;border-color:#4b5563;color:#e5e7eb}.dark .page-navigation .page-nav-btn:hover:not(:disabled){background-color:#4b5563;border-color:#6b7280}.page-navigation .page-indicator{font-size:.875rem;font-weight:500;color:#374151;min-width:100px;text-align:center}.dark .page-navigation .page-indicator{color:#e5e7eb}.print-panel-settings{flex:1;min-width:0}.print-panel-project-info{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.75rem;margin-bottom:1rem;background-color:#f0fdf4;border:1px solid #86efac;border-radius:8px;font-size:.875rem}.dark .print-panel-project-info{background-color:#22c55e1a;border-color:#22c55e4d}.project-label{color:#166534;font-weight:500}.dark .project-label{color:#86efac}.project-name{color:#15803d;font-weight:600}.dark .project-name{color:#4ade80}.credit-remaining{margin-left:auto;color:#166534;font-weight:500}.dark .credit-remaining{color:#86efac}.print-panel-field{margin-bottom:1rem}.print-panel-field>label{display:block;margin-bottom:.375rem;font-size:.875rem;font-weight:500;color:#374151}.dark .print-panel-field>label{color:#d1d5db}.print-panel-field select,.print-panel-field input[type=number]{width:100%;padding:.5rem .75rem;font-size:.875rem;border:1px solid #d1d5db;border-radius:6px;background-color:#fff;color:#111827;transition:border-color .15s,box-shadow .15s}.dark .print-panel-field select,.dark .print-panel-field input[type=number]{background-color:#374151;border-color:#4b5563;color:#f9fafb}.print-panel-field select:focus,.print-panel-field input[type=number]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.print-panel-field select:disabled,.print-panel-field input:disabled{opacity:.6;cursor:not-allowed}.copies-input-wrapper{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.copies-input-wrapper input{width:80px;flex-shrink:0}.copies-warning{flex-basis:100%;padding:6px 10px;margin-top:4px;font-size:.75rem;line-height:1.3;color:#c2410c;background-color:#fff7ed;border:1px solid #fed7aa;border-radius:4px}.copies-warning.error{color:#b91c1c;background-color:#fef2f2;border-color:#fecaca;font-weight:500}.dark .copies-warning{color:#fdba74;background-color:#f973161a;border-color:#f973164d}.dark .copies-warning.error{color:#fca5a5;background-color:#ef44441a;border-color:#ef44444d}.custom-size-inputs{margin-top:.75rem;padding:.75rem;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:6px}.dark .custom-size-inputs{background-color:#374151;border-color:#4b5563}.custom-size-row{display:flex;align-items:flex-end;gap:.5rem}.custom-size-field{flex:1}.custom-size-field label{display:block;font-size:.6875rem;font-weight:500;color:#64748b;margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.025em}.dark .custom-size-field label{color:#9ca3af}.custom-size-field input{width:100%;padding:.5rem;font-size:.875rem;border:1px solid #d1d5db;border-radius:4px;background-color:#fff;color:#1f2937}.dark .custom-size-field input{background-color:#1f2937;border-color:#4b5563;color:#f3f4f6}.custom-size-field input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.custom-size-x{font-size:1rem;color:#6b7280;margin-bottom:.5rem}.dark .custom-size-x{color:#9ca3af}.custom-size-unit select{padding:.5rem;font-size:.875rem;border:1px solid #d1d5db;border-radius:4px;background-color:#fff;color:#1f2937;cursor:pointer;min-width:52px}.dark .custom-size-unit select{background-color:#1f2937;border-color:#4b5563;color:#f3f4f6}.custom-size-preview{margin-top:.5rem;font-size:.75rem;color:#3b82f6;font-weight:500;text-align:center}.dark .custom-size-preview{color:#60a5fa}.custom-size-preview.invalid{color:#dc2626}.dark .custom-size-preview.invalid{color:#f87171}.custom-size-error{display:block;font-size:.6875rem;font-weight:400;opacity:.9}.custom-size-hint{margin-top:.5rem;font-size:.75rem;color:#6b7280;text-align:center;font-style:italic}.dark .custom-size-hint{color:#9ca3af}.paper-size-count{font-size:.75rem;color:#6b7280;font-weight:400}.print-panel-checkbox label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.print-panel-checkbox input[type=checkbox]{width:1rem;height:1rem;accent-color:#3b82f6}.print-panel-checkbox span{font-size:.875rem;color:#374151}.dark .print-panel-checkbox span{color:#d1d5db}.capability-note{font-size:.75rem;color:#9ca3af;font-style:italic}.orientation-toggle{display:flex;gap:0;border:1px solid #d1d5db;border-radius:6px;overflow:hidden;width:-moz-fit-content;width:fit-content}.orientation-btn{padding:.5rem 1rem;font-size:.875rem;font-weight:500;background-color:#fff;border:none;color:#6b7280;cursor:pointer;transition:background-color .15s,color .15s}.orientation-btn:first-child{border-right:1px solid #d1d5db}.orientation-btn:hover:not(:disabled):not(.active){background-color:#f3f4f6}.orientation-btn.active{background-color:#3b82f6;color:#fff}.orientation-btn:disabled{opacity:.6;cursor:not-allowed}.dark .orientation-toggle{border-color:#4b5563}.dark .orientation-btn{background-color:#374151;color:#9ca3af}.dark .orientation-btn:first-child{border-right-color:#4b5563}.dark .orientation-btn:hover:not(:disabled):not(.active){background-color:#4b5563}.dark .orientation-btn.active{background-color:#2563eb;color:#fff}.roll-width-toggle{display:flex;gap:0;border:1px solid #d1d5db;border-radius:6px;overflow:hidden;width:-moz-fit-content;width:fit-content}.roll-btn{padding:.5rem .75rem;font-size:.875rem;font-weight:500;background-color:#fff;border:none;color:#6b7280;cursor:pointer;transition:background-color .15s,color .15s}.roll-btn:not(:last-child){border-right:1px solid #d1d5db}.roll-btn:hover:not(:disabled):not(.active){background-color:#f3f4f6}.roll-btn.active{background-color:#3b82f6;color:#fff}.roll-btn:disabled{opacity:.6;cursor:not-allowed}.dark .roll-width-toggle{border-color:#4b5563}.dark .roll-btn{background-color:#374151;color:#9ca3af}.dark .roll-btn:not(:last-child){border-right-color:#4b5563}.dark .roll-btn:hover:not(:disabled):not(.active){background-color:#4b5563}.dark .roll-btn.active{background-color:#2563eb;color:#fff}.paper-size-count{font-weight:400;color:#6b7280;font-size:.8125rem}.dark .paper-size-count{color:#9ca3af}.scaling-options{display:flex;flex-direction:column;gap:.5rem}.scaling-option{display:flex;align-items:center;gap:.5rem;cursor:pointer}.scaling-option input[type=radio]{width:1rem;height:1rem;accent-color:#3b82f6}.scaling-option span{font-size:.875rem;color:#374151}.dark .scaling-option span{color:#d1d5db}.scaling-options .custom-print-size-inputs{margin-left:1.5rem;margin-top:.5rem;padding:.75rem;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:8px;border:1px solid #e5e7eb}.dark .scaling-options .custom-print-size-inputs{background:linear-gradient(135deg,#1e3a5f,#1e293b);border-color:#374151}.custom-scale-input{width:60px!important;padding:.25rem .5rem!important;margin-left:.5rem}.scale-percent{font-size:.875rem;color:#6b7280}.print-mode-toggle{margin-top:1rem;padding-top:1rem;border-top:1px solid #e5e7eb}.dark .print-mode-toggle{border-top-color:#374151}.print-mode-options{display:flex;gap:.75rem}.print-mode-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem 1rem;background-color:#fff;border:2px solid #d1d5db;border-radius:8px;cursor:pointer;transition:all .15s}.print-mode-btn:hover:not(:disabled):not(.active){border-color:#9ca3af;background-color:#f9fafb}.print-mode-btn.active.test{background-color:#fef3c7;border-color:#f59e0b}.print-mode-btn.active.final{background-color:#dcfce7;border-color:#22c55e}.print-mode-btn:disabled{opacity:.6;cursor:not-allowed}.dark .print-mode-btn{background-color:#374151;border-color:#4b5563}.dark .print-mode-btn:hover:not(:disabled):not(.active){border-color:#6b7280;background-color:#4b5563}.dark .print-mode-btn.active.test{background-color:#f59e0b33;border-color:#f59e0b}.dark .print-mode-btn.active.final{background-color:#22c55e33;border-color:#22c55e}.print-mode-label{font-size:.875rem;font-weight:600;color:#111827}.dark .print-mode-label{color:#f9fafb}.print-mode-desc{font-size:.75rem;color:#6b7280}.dark .print-mode-desc{color:#9ca3af}.print-mode-btn.active.test .print-mode-label{color:#b45309}.print-mode-btn.active.final .print-mode-label{color:#15803d}.dark .print-mode-btn.active.test .print-mode-label{color:#fbbf24}.dark .print-mode-btn.active.final .print-mode-label{color:#4ade80}.print-mode-notice{margin-top:.5rem;padding:.5rem .75rem;background-color:#fef3c7;border-radius:6px;font-size:.75rem;color:#92400e;line-height:1.4}.dark .print-mode-notice{background-color:#f59e0b26;color:#fbbf24}.print-panel-cost.test-mode .cost-value{color:#b45309}.dark .print-panel-cost.test-mode .cost-value{color:#fbbf24}.cost-value.test{display:flex;align-items:center;gap:.5rem}.cost-note{font-weight:400;font-size:.75rem;color:#b45309}.dark .cost-note{color:#fbbf24}.print-panel-btn.print.test-mode{background-color:#f59e0b;border-color:#f59e0b}.print-panel-btn.print.test-mode:hover:not(:disabled){background-color:#d97706;border-color:#d97706}.dark .print-panel-btn.print.test-mode{background-color:#d97706;border-color:#d97706}.dark .print-panel-btn.print.test-mode:hover:not(:disabled){background-color:#b45309;border-color:#b45309}.print-panel-loading{padding:.5rem 0;font-size:.875rem;color:#6b7280}.dark .print-panel-loading{color:#9ca3af}.print-panel-error{padding:.5rem .75rem;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;font-size:.875rem;color:#dc2626}.dark .print-panel-error{background-color:#dc26261a;border-color:#dc26264d;color:#f87171}.print-panel-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-top:1px solid #e5e7eb;background-color:#f9fafb;flex-shrink:0}.dark .print-panel-footer{border-top-color:#374151;background-color:#111827}.print-panel-cost{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.print-panel-cost.error .cost-value{color:#dc2626}.dark .print-panel-cost.error .cost-value{color:#f87171}.cost-label{color:#6b7280}.dark .cost-label{color:#9ca3af}.cost-value{font-weight:600;color:#111827}.dark .cost-value{color:#f9fafb}.cost-error{color:#dc2626;font-size:.75rem}.dark .cost-error{color:#f87171}.print-panel-actions{display:flex;gap:.75rem;margin-left:auto}.print-panel-btn{padding:.5rem 1rem;font-size:.875rem;font-weight:500;border-radius:6px;cursor:pointer;transition:background-color .15s,opacity .15s}.print-panel-btn:disabled{opacity:.5;cursor:not-allowed}.print-panel-btn.cancel{background-color:#fff;border:1px solid #d1d5db;color:#374151}.print-panel-btn.cancel:hover:not(:disabled){background-color:#f3f4f6}.dark .print-panel-btn.cancel{background-color:#374151;border-color:#4b5563;color:#d1d5db}.dark .print-panel-btn.cancel:hover:not(:disabled){background-color:#4b5563}.print-panel-btn.print{background-color:#3b82f6;border:1px solid #3b82f6;color:#fff}.print-panel-btn.print:hover:not(:disabled){background-color:#2563eb;border-color:#2563eb}.print-status{display:flex;align-items:center;gap:.5rem;padding:.625rem .875rem;border-radius:6px;font-size:.875rem;flex-grow:1}.print-status-sending,.print-status-polling{background-color:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.dark .print-status-sending,.dark .print-status-polling{background-color:#1e3a5f;color:#93c5fd;border-color:#3b82f6}.print-status-completed{background-color:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.dark .print-status-completed{background-color:#064e3b;color:#6ee7b7;border-color:#10b981}.print-status-failed{background-color:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.dark .print-status-failed{background-color:#450a0a;color:#fca5a5;border-color:#dc2626}.print-status-timeout{background-color:#fffbeb;color:#b45309;border:1px solid #fde68a}.dark .print-status-timeout{background-color:#451a03;color:#fcd34d;border-color:#f59e0b}.print-status-spinner{width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin 1s linear infinite}.print-status-icon{flex-shrink:0}.print-status-icon.success{color:#059669}.dark .print-status-icon.success{color:#34d399}.print-status-icon.error{color:#dc2626}.dark .print-status-icon.error{color:#f87171}.print-status-icon.warning{color:#d97706}.dark .print-status-icon.warning{color:#fbbf24}.billing-status{margin-left:auto;font-size:.75rem;opacity:.8}.billing-status.success{color:#059669}.dark .billing-status.success{color:#34d399}.dark .print-panel-btn.print{background-color:#2563eb;border-color:#2563eb}.dark .print-panel-btn.print:hover:not(:disabled){background-color:#1d4ed8;border-color:#1d4ed8}@media (max-width: 640px){.print-panel{width:100%;max-width:100%;margin:.5rem;max-height:calc(100vh - 1rem)}.print-panel-body{flex-direction:column;gap:1rem}.print-panel-preview{flex:none;width:100%}.print-panel-preview-image{max-height:160px}.print-panel-preview-placeholder{height:120px}.print-panel-project-info{flex-direction:column;align-items:flex-start}.credit-remaining{margin-left:0}.copies-input-wrapper{flex-direction:column;align-items:flex-start}.copies-input-wrapper input{width:100%}.print-panel-footer{flex-direction:column;gap:.75rem}.print-panel-cost{width:100%;justify-content:center}.print-panel-actions{width:100%;margin-left:0}.print-panel-actions .print-panel-btn{flex:1}}.custom-print-size-section{border:1px solid #e5e7eb;border-radius:8px;padding:.75rem;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);margin-top:.5rem}.dark .custom-print-size-section{border-color:#374151;background:linear-gradient(135deg,#1e3a5f,#1e293b)}.custom-print-size-toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:500}.custom-print-size-toggle input[type=checkbox]{width:1rem;height:1rem;accent-color:#3b82f6}.custom-print-size-info{font-size:.75rem;color:#6b7280;font-weight:400}.dark .custom-print-size-info{color:#9ca3af}.custom-print-size-inputs{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #d1d5db}.dark .custom-print-size-inputs{border-top-color:#4b5563}.custom-print-size-row{display:flex;align-items:flex-end;gap:.5rem}.custom-print-size-field{flex:1}.custom-print-size-field label{display:block;font-size:.75rem;color:#6b7280;margin-bottom:.25rem}.dark .custom-print-size-field label{color:#9ca3af}.custom-print-size-input-wrapper{display:flex;align-items:center;gap:.25rem}.custom-print-size-input-wrapper input{width:100%;padding:.5rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;background:#fff}.dark .custom-print-size-input-wrapper input{background:#374151;border-color:#4b5563;color:#f9fafb}.custom-print-size-input-wrapper .unit-label{font-size:.75rem;color:#6b7280;min-width:1.5rem}.dark .custom-print-size-input-wrapper .unit-label{color:#9ca3af}.custom-print-size-x{font-size:1rem;color:#6b7280;padding:0 .25rem .5rem}.dark .custom-print-size-x{color:#9ca3af}.custom-print-size-preview{margin-top:.75rem;padding:.5rem .75rem;background:#ffffffb3;border-radius:6px;font-size:.8rem}.dark .custom-print-size-preview{background:#0003}.scale-info{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.scale-info:last-child{margin-bottom:0}.scale-label{color:#6b7280;font-weight:500;min-width:50px}.dark .scale-label{color:#9ca3af}.scale-value{color:#374151;font-family:monospace}.dark .scale-value{color:#e5e7eb}.scale-value.changed{color:#2563eb;font-weight:500}.dark .scale-value.changed{color:#60a5fa}.custom-print-size-error{margin-top:.5rem;font-size:.75rem;color:#dc2626}.dark .custom-print-size-error{color:#f87171}.capability-note.driver-default{color:#2563eb;font-style:normal;font-weight:500}.dark .capability-note.driver-default{color:#60a5fa}.duplex-mode-selector{margin-top:.5rem;margin-left:1.5rem}.duplex-mode-selector select{width:100%;padding:.375rem .5rem;font-size:.875rem;border:1px solid #d1d5db;border-radius:6px;background-color:#fff;color:#374151}.dark .duplex-mode-selector select{background-color:#374151;border-color:#4b5563;color:#f3f4f6}.duplex-mode-selector select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.finishing-options{margin-top:.5rem}.finishing-options>label{margin-bottom:.5rem;display:block}.finishing-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.finishing-option{display:flex;flex-direction:column;gap:.25rem}.finishing-option label{font-size:.75rem;font-weight:500;color:#6b7280}.dark .finishing-option label{color:#9ca3af}.finishing-option select{padding:.375rem .5rem;font-size:.8125rem;border:1px solid #d1d5db;border-radius:6px;background-color:#fff;color:#374151}.dark .finishing-option select{background-color:#374151;border-color:#4b5563;color:#f3f4f6}.finishing-option select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}@media (max-width: 480px){.finishing-grid{grid-template-columns:1fr}}.gang-print-suggestion{margin-top:.75rem;padding:.75rem;background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:1px solid #6ee7b7;border-radius:8px}.gang-print-suggestion.accepted{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-color:#60a5fa}.dark .gang-print-suggestion{background:linear-gradient(135deg,#064e3b,#065f46);border-color:#34d399}.dark .gang-print-suggestion.accepted{background:linear-gradient(135deg,#1e3a5f,#1e40af);border-color:#60a5fa}.gang-print-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.gang-print-icon{font-size:1.25rem}.gang-print-title{font-weight:600;font-size:.875rem;color:#065f46}.gang-print-suggestion.accepted .gang-print-title{color:#1e40af}.dark .gang-print-title{color:#6ee7b7}.dark .gang-print-suggestion.accepted .gang-print-title{color:#93c5fd}.gang-print-details{font-size:.8125rem;color:#047857;line-height:1.4}.gang-print-suggestion.accepted .gang-print-details{color:#1d4ed8}.dark .gang-print-details{color:#a7f3d0}.dark .gang-print-suggestion.accepted .gang-print-details{color:#bfdbfe}.gang-print-details p{margin:0 0 .25rem}.gang-print-savings{color:#059669;font-weight:500}.dark .gang-print-savings{color:#34d399}.gang-print-actions{margin-top:.75rem}.gang-btn{padding:.5rem 1rem;font-size:.8125rem;font-weight:500;border-radius:6px;border:none;cursor:pointer;transition:all .15s ease}.gang-btn.accept{background-color:#059669;color:#fff}.gang-btn.accept:hover:not(:disabled){background-color:#047857}.gang-btn.decline{background-color:#6b7280;color:#fff}.gang-btn.decline:hover:not(:disabled){background-color:#4b5563}.gang-btn:disabled{opacity:.5;cursor:not-allowed}.gang-print-loading{margin-top:.5rem;padding:.5rem;font-size:.75rem;color:#6b7280;font-style:italic}.dark .gang-print-loading{color:#9ca3af}.print-helper-install-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem;animation:fadeIn .15s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.print-helper-install-modal{background-color:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;width:480px;max-width:95vw;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:scaleIn .15s ease-out}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.dark .print-helper-install-modal{background-color:#1f2937;box-shadow:0 20px 25px -5px #0000004d,0 10px 10px -5px #0003}.print-helper-install-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid #e5e7eb;background-color:#f0f9ff}.dark .print-helper-install-header{border-bottom-color:#374151;background-color:#1e3a5f}.header-title{display:flex;align-items:center;gap:.75rem}.header-icon{color:#3b82f6}.dark .header-icon{color:#60a5fa}.print-helper-install-header h2{margin:0;font-size:1.125rem;font-weight:600;color:#1e40af}.dark .print-helper-install-header h2{color:#93c5fd}.close-btn{width:32px;height:32px;border:none;background:transparent;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .15s,color .15s}.close-btn:hover{background-color:#0000001a;color:#111827}.dark .close-btn:hover{background-color:#ffffff1a;color:#f9fafb}.print-helper-install-body{padding:1.5rem 1.25rem;flex:1;overflow-y:auto}.intro-text{margin:0 0 1.25rem;color:#4b5563;font-size:.9375rem;line-height:1.5}.dark .intro-text{color:#9ca3af}.setup-steps{margin-bottom:1.5rem;padding:1rem;background-color:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.dark .setup-steps{background-color:#374151;border-color:#4b5563}.setup-intro{margin:0 0 .75rem;font-weight:500;color:#111827;font-size:.875rem}.dark .setup-intro{color:#f9fafb}.setup-steps ol{margin:0;padding-left:1.25rem;color:#4b5563;font-size:.875rem;line-height:1.7}.dark .setup-steps ol{color:#d1d5db}.setup-steps li{margin-bottom:.25rem}.download-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.875rem 1.25rem;font-size:1rem;font-weight:600;background-color:#3b82f6;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:background-color .15s;margin-bottom:1.25rem}.download-btn:hover,.dark .download-btn{background-color:#2563eb}.dark .download-btn:hover{background-color:#1d4ed8}.download-buttons{display:flex;gap:.75rem;margin-bottom:1.25rem}.download-buttons .download-btn{flex:1;margin-bottom:0}.download-btn.secondary{background-color:#6b7280}.download-btn.secondary:hover,.dark .download-btn.secondary{background-color:#4b5563}.dark .download-btn.secondary:hover{background-color:#374151}.status-indicator{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;border-radius:8px;font-size:.875rem;transition:background-color .15s,border-color .15s}.status-indicator.checking,.status-indicator.not-found{background-color:#f3f4f6;color:#6b7280}.dark .status-indicator.checking,.dark .status-indicator.not-found{background-color:#374151;color:#9ca3af}.status-indicator.detected{background-color:#dcfce7;color:#15803d;border:1px solid #86efac}.dark .status-indicator.detected{background-color:#22c55e26;color:#4ade80;border-color:#22c55e4d}.status-indicator.timeout{display:block;background-color:#fef3c7;color:#92400e;padding:1rem}.dark .status-indicator.timeout{background-color:#f59e0b26;color:#fbbf24}.status-icon{flex-shrink:0}.status-icon.spinning{animation:spin 1s linear infinite}.status-icon.success{color:#22c55e}.dark .status-icon.success{color:#4ade80}.status-icon.warning{color:#f59e0b}.dark .status-icon.warning{color:#fbbf24}.retry-link{background:none;border:none;color:#3b82f6;text-decoration:underline;cursor:pointer;font-size:inherit;padding:0}.retry-link:hover{color:#2563eb}.dark .retry-link{color:#60a5fa}.dark .retry-link:hover{color:#93c5fd}.timeout-help{width:100%;text-align:left}.timeout-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.timeout-title{font-weight:600;font-size:.9375rem}.timeout-instructions{margin-bottom:1rem;padding-left:.25rem}.timeout-instructions p{margin:0 0 .5rem;font-size:.8125rem;color:#78350f}.dark .timeout-instructions p{color:#fcd34d}.timeout-instructions ol{margin:0 0 .5rem;padding-left:1.25rem;font-size:.8125rem;line-height:1.6}.timeout-instructions ol li{margin-bottom:.25rem}.timeout-then{font-style:italic;margin-top:.5rem!important}.check-again-btn{display:block;width:100%;padding:.625rem 1rem;font-size:.875rem;font-weight:500;background-color:#f59e0b;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background-color .15s;margin-bottom:.75rem}.check-again-btn:hover,.dark .check-again-btn{background-color:#d97706}.dark .check-again-btn:hover{background-color:#b45309}.retry-small{margin:0;font-size:.75rem;color:#92400e;text-align:center}.dark .retry-small{color:#fcd34d}.print-helper-install-footer{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:1rem 1.25rem;border-top:1px solid #e5e7eb;background-color:#f9fafb}.dark .print-helper-install-footer{border-top-color:#374151;background-color:#111827}.cancel-btn{padding:.5rem 1rem;font-size:.875rem;font-weight:500;background-color:#fff;border:1px solid #d1d5db;color:#374151;border-radius:6px;cursor:pointer;transition:background-color .15s}.cancel-btn:hover{background-color:#f3f4f6}.dark .cancel-btn{background-color:#374151;border-color:#4b5563;color:#d1d5db}.dark .cancel-btn:hover{background-color:#4b5563}.continue-btn{padding:.5rem 1rem;font-size:.875rem;font-weight:500;background-color:#22c55e;border:1px solid #22c55e;color:#fff;border-radius:6px;cursor:pointer;transition:background-color .15s,opacity .15s}.continue-btn:hover:not(:disabled){background-color:#16a34a;border-color:#16a34a}.continue-btn:disabled{opacity:.5;cursor:not-allowed}.dark .continue-btn{background-color:#16a34a;border-color:#16a34a}.dark .continue-btn:hover:not(:disabled){background-color:#15803d;border-color:#15803d}@media (max-width: 520px){.print-helper-install-modal{width:100%;max-width:100%;margin:.5rem;border-radius:8px}.print-helper-install-body{padding:1.25rem 1rem}.download-btn{padding:.75rem 1rem;font-size:.9375rem}.print-helper-install-footer{flex-direction:column-reverse;gap:.5rem}.cancel-btn,.continue-btn{width:100%}}.modal-content{background:#fff;border-radius:8px;width:90%;max-width:500px;box-shadow:0 20px 60px #0000004d}.dark .modal-content{background:#1f2937;color:#f3f4f6}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #e5e5e5}.dark .modal-header{border-bottom-color:#374151}.modal-header h3{display:flex;align-items:center;gap:.5rem;margin:0}.close-button{background:none;border:none;cursor:pointer;padding:.5rem;border-radius:4px;display:flex;align-items:center;justify-content:center}.close-button:hover{background:#f5f5f5}.modal-content form{padding:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;font-size:.9rem}.form-group input,.form-group select{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:.95rem}.form-group input:focus,.form-group select:focus{outline:none;border-color:#2196f3;box-shadow:0 0 0 3px #2196f31a}.error-message{display:block;color:#f44336;font-size:.85rem;margin-top:.5rem}.modal-actions{display:flex;gap:1rem;justify-content:flex-end}.modal-actions button{padding:.75rem 1.5rem;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer;font-size:.9rem;transition:all .2s}.modal-actions button:hover{background:#f5f5f5}.modal-actions button.primary{background:#2196f3;border-color:#2196f3;color:#fff}.modal-actions button.primary:hover{background:#1976d2}.modal-actions button:disabled{opacity:.5;cursor:not-allowed}.context-menu{position:fixed;background:#fff;border:1px solid #e5e5e5;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:200px;padding:.5rem 0;z-index:1000}.context-menu-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;background:none;border:none;text-align:left;cursor:pointer;font-size:.9rem;transition:background .2s}.context-menu-item:hover{background:#f5f5f5}.context-menu-item.danger{color:#f44336}.context-menu-item.danger:hover{background:#ffebee}.search-bar-container{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.search-bar{position:relative;flex:1;max-width:400px}.search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#999;pointer-events:none}.search-bar input{width:100%;padding:.75rem 3rem;border:1px solid #ddd;border-radius:8px;font-size:.95rem}.search-bar input:focus{outline:none;border-color:#2196f3;box-shadow:0 0 0 3px #2196f31a}.clear-button{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:.5rem;border-radius:4px;display:flex;align-items:center;color:#999}.clear-button:hover{background:#f5f5f5;color:#333}.search-results{font-size:.9rem;color:#666}.favorite-toggle{background:none;border:none;cursor:pointer;padding:.5rem;border-radius:4px;display:flex;align-items:center;justify-content:center;color:#999;transition:all .2s}.favorite-toggle:hover{background:#ffc1071a;color:#ffc107}.favorite-toggle.active{color:#ffc107}.favorite-toggle:disabled{opacity:.5;cursor:not-allowed}.toolbar{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:#fff;border-bottom:1px solid #e5e5e5}.toolbar-actions{display:flex;gap:1rem;align-items:center}.filter-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border:1px solid #ddd;border-radius:6px;background:#fff;cursor:pointer;font-size:.9rem;transition:all .2s;color:#666}.filter-button:hover{background:#f5f5f5;border-color:#bbb}.filter-button.active{background:#fff9e6;border-color:#ffc107;color:#f57c00}.filter-button.active svg{fill:currentColor}button.primary{display:flex;align-items:center;gap:.5rem;background:#2196f3;border:1px solid #2196f3;color:#fff;padding:.75rem 1.25rem;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s;font-weight:500}button.primary:hover{background:#1976d2;border-color:#1976d2}.print-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#2196f3;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s;width:100%}.print-button:hover:not(:disabled){background:#1976d2;transform:translateY(-1px);box-shadow:0 4px 8px #2196f34d}.print-button:disabled{opacity:.6;cursor:not-allowed}.print-button .price{display:flex;align-items:center;margin-left:auto;background:#fff3;padding:.25rem .5rem;border-radius:4px}.project-list{display:flex;flex-direction:column;gap:.75rem;margin:1rem 0}.project-option{display:flex;gap:1rem;padding:1rem;border:2px solid #e5e5e5;border-radius:8px;cursor:pointer;transition:all .2s}.project-option:hover:not(.disabled){border-color:#2196f3;background:#f5f9ff}.project-option.disabled{opacity:.5;cursor:not-allowed;background:#f9f9f9}.project-option input[type=radio]{margin-top:.25rem}.project-info{flex:1}.project-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.project-name{font-weight:500;font-size:1rem}.project-status{font-size:.8rem;padding:.25rem .5rem;border-radius:4px;font-weight:500}.project-status.success{background:#e8f5e9;color:#4caf50}.project-status.warning{background:#fff3e0;color:#ff9800}.project-status.error{background:#ffebee;color:#f44336}.project-details{display:flex;gap:1rem;font-size:.85rem;color:#666}.project-credits{display:flex;align-items:center;gap:.25rem}.low-credit-warning{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;padding:.5rem;background:#fff3e0;border-radius:4px;font-size:.85rem;color:#f57c00}.modal-footer{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-top:1px solid #e5e5e5}.print-cost{font-size:1.1rem;font-weight:500;color:#333}.error-box,.warning-box{display:flex;align-items:center;gap:.75rem;padding:1rem;border-radius:8px;margin:1rem 0}.error-box{background:#ffebee;color:#c62828}.warning-box{background:#fff3e0;color:#f57c00}.helper-text{color:#666;font-size:.9rem;margin-bottom:1rem}.modal-body{padding:1.5rem}.actions-menu{position:relative}.actions-trigger{background:#ffffffe6;border:none;padding:.5rem;border-radius:6px;cursor:pointer;display:flex;align-items:center;color:#374151;box-shadow:0 1px 3px #0000001a;transition:all .2s}.actions-trigger:hover{background:#fff;color:#111827;box-shadow:0 2px 6px #00000026}.actions-dropdown{position:absolute;right:0;top:100%;background:#fff;border:1px solid #e5e5e5;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:180px;padding:.5rem 0;z-index:100}.action-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;background:none;border:none;text-align:left;cursor:pointer;font-size:.9rem;transition:background .2s}.action-item:hover{background:#f5f5f5}.action-item.primary{font-weight:600;color:#1e40af}.action-item.primary:hover{background:#dbeafe;color:#1e40af}.dark .action-item.primary{color:#60a5fa}.dark .action-item.primary:hover{background:#1e3a5f;color:#93c5fd}.action-item.danger{color:#f44336}.action-item.danger:hover{background:#ffebee}.toast-container{position:fixed;top:1rem;right:1rem;display:flex;flex-direction:column;gap:.75rem;z-index:2000}.toast{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:300px;max-width:500px;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.toast-success{background:#4caf50;color:#fff}.toast-error{background:#f44336;color:#fff}.toast-warning{background:#ff9800;color:#fff}.toast-message{flex:1;font-weight:500}.toast-close{background:none;border:none;cursor:pointer;padding:.25rem;border-radius:4px;display:flex;align-items:center;color:inherit;opacity:.8}.toast-close:hover{opacity:1;background:#0000001a}.dark .toolbar{background:#1f2937;border-bottom-color:#374151}.dark .search-bar input{background:#374151;border-color:#4b5563;color:#f3f4f6}.dark .search-bar input::-moz-placeholder{color:#9ca3af}.dark .search-bar input::placeholder{color:#9ca3af}.dark .search-icon,.dark .clear-button{color:#9ca3af}.dark .clear-button:hover{background:#4b5563;color:#f3f4f6}.dark .search-results{color:#9ca3af}.dark .filter-button{background:#374151;border-color:#4b5563;color:#d1d5db}.dark .filter-button:hover{background:#4b5563;border-color:#6b7280}.dark .filter-button.active{background:#422006;border-color:#fbbf24;color:#fbbf24}.dark .context-menu{background:#1f2937;border-color:#374151}.dark .context-menu-item{color:#d1d5db}.dark .context-menu-item:hover{background:#374151}.dark .context-menu-item.danger{color:#f87171}.dark .context-menu-item.danger:hover{background:#450a0a}.dark .actions-dropdown{background:#1f2937;border-color:#374151}.dark .action-item{color:#d1d5db}.dark .action-item:hover{background:#374151}.dark .action-item.danger:hover{background:#450a0a}.dark .actions-trigger{background:#1f2937e6;color:#d1d5db;box-shadow:0 1px 3px #0000004d}.dark .actions-trigger:hover{background:#374151;color:#f3f4f6;box-shadow:0 2px 6px #0006}.dark .form-group input,.dark .form-group select{background:#374151;border-color:#4b5563;color:#f3f4f6}.dark .form-group label{color:#d1d5db}.dark .modal-footer{border-top-color:#374151}.dark .print-cost{color:#f3f4f6}.dark .helper-text{color:#9ca3af}.dark .project-option{border-color:#4b5563}.dark .project-option:hover:not(.disabled){border-color:#3b82f6;background:#1e3a5f}.dark .project-option.disabled{background:#1f2937}.dark .project-details{color:#9ca3af}.dark .close-button:hover{background:#374151}.dark .modal-actions button{background:#374151;border-color:#4b5563;color:#d1d5db}.dark .modal-actions button:hover{background:#4b5563}.form-editor{display:flex;flex-direction:column;height:100vh;background:#f9fafb}.editor-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px #0000000d}.editor-title h1{font-size:1.5rem;font-weight:600;color:#111827;margin:0 0 .25rem}.editor-title p{margin:0;font-size:.875rem;color:#6b7280}.editor-actions{display:flex;gap:.75rem}.editor-content{display:flex;flex:1;overflow:hidden}.editor-form-panel{flex:1;max-width:600px;background:#fff;border-right:1px solid #e5e7eb;overflow-y:auto;display:flex;flex-direction:column}.form-panel-header{padding:2rem 2rem 1rem;border-bottom:1px solid #e5e7eb;background:#fff;position:sticky;top:0;z-index:10}.form-panel-header h2{font-size:1.125rem;font-weight:600;color:#111827;margin:0 0 .5rem}.form-fields{padding:2rem;flex:1}.editor-preview-panel{flex:1;background:#f9fafb;overflow-y:auto;display:flex;flex-direction:column}.preview-panel-header{padding:2rem 2rem 1rem;background:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:10}.preview-panel-header h2{font-size:1.125rem;font-weight:600;color:#111827;margin:0 0 .5rem}.form-field{margin-bottom:1.5rem}.form-label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.form-label .required{color:#ef4444;margin-left:.25rem}.help-text{font-size:.75rem;color:#6b7280;margin:0 0 .5rem;line-height:1.5}.form-input{width:100%;padding:.625rem .875rem;font-size:.875rem;line-height:1.5;color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:.375rem;transition:all .15s ease}.form-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-input::-moz-placeholder{color:#9ca3af}.form-input::placeholder{color:#9ca3af}.form-input.error{border-color:#ef4444}.form-input.error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}textarea.form-input{resize:vertical;min-height:100px;font-family:inherit}select.form-input{cursor:pointer;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.char-count{display:block;font-size:.75rem;color:#6b7280;margin-top:.25rem;text-align:right}.error-message{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:#ef4444;margin-top:.375rem}.validation-summary{display:flex;align-items:center;gap:.5rem;padding:1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:.375rem;color:#991b1b;font-size:.875rem;margin:0 2rem 2rem}.form-preview{padding:1.5rem;flex:1;display:flex;flex-direction:column;gap:1rem}.preview-status-bar{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem}.preview-status-indicator{display:flex;align-items:center;gap:.5rem}.preview-field-count{color:#6b7280}.preview-content{flex:1;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;overflow:auto;padding:1.5rem;min-height:400px}.preview-footer{display:flex;justify-content:center;padding:.5rem}.preview-hint{display:flex;align-items:center;gap:.375rem}.preview-canvas-container{display:flex;justify-content:center;align-items:center}.preview-canvas-wrapper{background:#fff}.preview-canvas{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.preview-canvas-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:#9ca3af;text-align:center}.preview-container{flex:1;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;overflow:auto;position:relative}.preview-image-wrapper{position:relative;display:inline-block}.preview-image{max-width:100%;height:auto;display:block}.preview-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.preview-overlay-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.preview-placeholder,.form-preview-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:#9ca3af;text-align:center}.preview-info{margin-top:1rem;text-align:center}.text-green-500{color:#22c55e}.text-gray-400{color:#9ca3af}.btn-primary,.btn-secondary{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;border-radius:.375rem;border:none;cursor:pointer;transition:all .15s ease}.btn-primary:hover:not(:disabled){background:#2563eb}.btn-primary:disabled{background:#9ca3af;cursor:not-allowed;opacity:.6}.btn-secondary{background:#fff;color:#374151;border:1px solid #d1d5db}.btn-secondary:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.editor-loading,.editor-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;background:#f9fafb}.loading-spinner{width:3rem;height:3rem;border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}.editor-loading p,.editor-error p{margin-top:1rem;color:#6b7280;font-size:.875rem}@media (max-width: 1024px){.editor-content{flex-direction:column}.editor-form-panel{max-width:100%;border-right:none;border-bottom:1px solid #e5e7eb}.editor-preview-panel{min-height:400px}}@media (max-width: 640px){.editor-header{flex-direction:column;align-items:flex-start;gap:1rem}.editor-actions{width:100%}.btn-primary,.btn-secondary{flex:1}.form-panel-header,.preview-panel-header{padding:1.5rem 1rem .75rem}.form-fields,.form-preview{padding:1rem}}.text-gray-600{color:#6b7280}.text-red-500{color:#ef4444}.text-red-600{color:#dc2626}.text-sm{font-size:.875rem}.mt-4{margin-top:1rem}.image-upload-container{width:100%}.image-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1.5rem;border:2px dashed #d1d5db;border-radius:.5rem;background:#f9fafb;cursor:pointer;transition:all .2s ease}.image-dropzone:hover{border-color:#3b82f6;background:#eff6ff}.image-dropzone.dragging{border-color:#3b82f6;background:#dbeafe;border-style:solid}.image-dropzone.error{border-color:#ef4444;background:#fef2f2}.image-dropzone .upload-icon{color:#9ca3af;margin-bottom:.75rem}.image-dropzone:hover .upload-icon{color:#3b82f6}.dropzone-text{font-size:.875rem;font-weight:500;color:#374151;margin:0 0 .25rem}.dropzone-hint{font-size:.75rem;color:#6b7280;margin:0}.image-preview{position:relative;width:100%;border-radius:.5rem;overflow:hidden;background:#f3f4f6}.image-preview img{width:100%;height:200px;-o-object-fit:contain;object-fit:contain;display:block}.image-actions{display:flex;gap:.5rem;padding:.75rem;background:#fff;border-top:1px solid #e5e7eb}.change-photo-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:#374151;background:#fff;border:1px solid #d1d5db;border-radius:.375rem;cursor:pointer;transition:all .15s ease}.change-photo-btn:hover{background:#f9fafb;border-color:#9ca3af}.remove-photo-btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem;color:#ef4444;background:#fff;border:1px solid #fecaca;border-radius:.375rem;cursor:pointer;transition:all .15s ease}.remove-photo-btn:hover{background:#fef2f2;border-color:#ef4444}.photo-editor{display:flex;flex-direction:column;height:100vh;min-height:100vh}.photo-editor-content{display:flex;flex:1;overflow:hidden}.photo-editor-crop-panel{flex:1;display:flex;align-items:center;justify-content:center;min-width:0;position:relative}.photo-upload-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;width:calc(100% - 4rem);max-width:500px;padding:3rem 2rem;border:2px dashed #d1d5db;border-radius:1rem;cursor:pointer;transition:all .2s ease}.photo-upload-zone:hover{border-color:#3b82f6;background:#eff6ff}.photo-upload-zone.dragging{border-color:#3b82f6;background:#dbeafe;border-style:solid}.photo-upload-zone.error{border-color:#ef4444;background:#fef2f2}.dark .photo-upload-zone{border-color:#4b5563}.dark .photo-upload-zone:hover{border-color:#3b82f6;background:#3b82f61a}.dark .photo-upload-zone.dragging{background:#3b82f633}.dark .photo-upload-zone.error{border-color:#ef4444;background:#ef44441a}.photo-cropper-container{position:absolute;inset:0}.photo-editor-controls-panel{width:360px;display:flex;flex-direction:column;padding:1.5rem;overflow-y:auto}.photo-control-section{margin-bottom:1.5rem}.photo-control-btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem .75rem;background:#fff;border:1px solid #d1d5db;border-radius:.375rem;color:#374151;cursor:pointer;transition:all .15s ease}.photo-control-btn:hover{background:#f9fafb;border-color:#9ca3af}.photo-control-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.dark .photo-control-btn{background:#374151;border-color:#4b5563;color:#d1d5db}.dark .photo-control-btn:hover{background:#4b5563;border-color:#6b7280}.dark .photo-control-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.photo-control-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:6px;background:#e5e7eb;border-radius:3px;outline:none}.photo-control-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:#3b82f6;border-radius:50%;cursor:pointer;box-shadow:0 1px 3px #0003}.photo-control-slider::-moz-range-thumb{width:16px;height:16px;background:#3b82f6;border-radius:50%;cursor:pointer;border:none;box-shadow:0 1px 3px #0003}.dark .photo-control-slider{background:#4b5563}.photo-aspect-btn{padding:.375rem .75rem;font-size:.75rem;background:#fff;border:1px solid #d1d5db;border-radius:9999px;color:#374151;cursor:pointer;transition:all .15s ease}.photo-aspect-btn:hover{border-color:#3b82f6;color:#3b82f6}.photo-aspect-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.dark .photo-aspect-btn{background:#374151;border-color:#4b5563;color:#d1d5db}.dark .photo-aspect-btn:hover{border-color:#3b82f6;color:#60a5fa}.dark .photo-aspect-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.photo-preview-section{margin-bottom:1.5rem}.photo-preview-container{aspect-ratio:3/4;max-height:250px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:.5rem}.photo-preview-image{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.photo-preview-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;width:100%}@media (max-width: 1024px){.photo-editor-content{flex-direction:column}.photo-editor-crop-panel{min-height:400px}.photo-editor-controls-panel{width:100%;flex-direction:row;flex-wrap:wrap;gap:1rem}.photo-control-section{flex:1;min-width:200px}.photo-preview-section{order:-1}.photo-preview-container{max-height:150px}}@media (max-width: 640px){.photo-editor-controls-panel{padding:1rem}.photo-control-section{min-width:100%}}.visual-editor{position:fixed!important;inset:0;display:flex;flex-direction:column;height:100vh;width:100vw;background-color:#f8fafc;overflow:hidden;z-index:50}.dark .visual-editor{background-color:#0f172a}.editor-toolbar{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:#fff;border-bottom:1px solid #e2e8f0;flex-shrink:0;z-index:10}.dark .editor-toolbar{background:#1e293b;border-bottom-color:#334155}.visual-editor-main{display:flex;flex:1;min-height:0;overflow:hidden}.layers-panel{width:240px;min-width:240px;background:#fff;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;overflow:hidden;flex-shrink:0}.dark .layers-panel{background:#1e293b;border-right-color:#334155}.visual-editor-canvas-container{margin:auto;background:transparent;position:relative;-moz-user-select:none;user-select:none;-webkit-user-select:none}.dark .visual-editor-canvas-container{background-color:transparent}.editor-canvas-wrapper{display:flex;align-items:center;justify-content:center;transition:transform .15s ease;transform-origin:center center;-moz-user-select:none;user-select:none;-webkit-user-select:none}.editor-canvas{display:block;box-shadow:0 4px 6px -1px #0000001a,0 10px 30px -5px #0003;border-radius:4px;background:#fff}.properties-panel{width:280px;min-width:280px;background:#fff;border-left:1px solid #e2e8f0;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;flex-shrink:0}.photo-actions{display:flex;flex-wrap:wrap;gap:8px}.photo-actions button{flex-shrink:0}.dark .properties-panel{background:#1e293b;border-left-color:#334155}.zoom-controls{display:flex;align-items:center;gap:4px;background:#f1f5f9;border-radius:8px;padding:4px}.dark .zoom-controls{background:#334155}.zoom-btn{padding:6px 8px;border:none;background:transparent;border-radius:4px;cursor:pointer;color:#64748b;transition:all .15s;display:flex;align-items:center;justify-content:center}.zoom-btn:hover:not(:disabled){background:#e2e8f0;color:#1e293b}.zoom-btn:disabled{opacity:.5;cursor:not-allowed}.dark .zoom-btn:hover:not(:disabled){background:#475569;color:#f1f5f9}.visual-editor-loading,.visual-editor-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:16px}.layer-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;cursor:pointer;transition:all .15s;margin-bottom:4px}.layer-item:hover{background:#f1f5f9}.dark .layer-item:hover{background:#334155}.layer-item.selected{background:#eff6ff;border:1px solid #3b82f6}.dark .layer-item.selected{background:#1e3a5f;border-color:#3b82f6}.property-field input,.property-field textarea,.property-field select{width:100%;padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;color:#1e293b;background:#fff;transition:border-color .15s,box-shadow .15s}.dark .property-field input,.dark .property-field textarea,.dark .property-field select{background:#0f172a;border-color:#334155;color:#f1f5f9}.property-field input:focus,.property-field textarea:focus,.property-field select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s;border:none}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover{background:#2563eb}.btn-secondary{background:#fff;color:#475569;border:1px solid #e2e8f0}.btn-secondary:hover{background:#f8fafc;border-color:#cbd5e1}.dark .btn-secondary{background:#1e293b;color:#e2e8f0;border-color:#334155}.zone-selection-overlay{position:absolute}.resize-handle{position:absolute;width:10px;height:10px;background:#3b82f6;border:2px solid white;border-radius:2px;pointer-events:all;cursor:pointer}.resize-handle.nw{top:-5px;left:-5px;cursor:nw-resize}.resize-handle.ne{top:-5px;right:-5px;cursor:ne-resize}.resize-handle.sw{bottom:-5px;left:-5px;cursor:sw-resize}.resize-handle.se{bottom:-5px;right:-5px;cursor:se-resize}@media (max-width: 1400px){.layers-panel{width:200px;min-width:200px}.properties-panel{width:260px;min-width:260px}}@media (max-width: 1200px){.layers-panel{width:180px;min-width:180px}.properties-panel{width:240px;min-width:240px}}.left-panel-area,.right-panel-area{transition:width .2s ease}.panel-flyout{animation:slideIn .15s ease-out}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.panel-content::-webkit-scrollbar{width:6px}.panel-content::-webkit-scrollbar-track{background:transparent}.panel-content::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.dark .panel-content::-webkit-scrollbar-thumb{background:#4b5563}.layer-item{cursor:grab}.layer-item:active{cursor:grabbing}.tool-button:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.shortcut-hint{display:inline-block;padding:2px 6px;margin-left:8px;background:#0003;border-radius:4px;font-family:monospace;font-size:11px}.editor-layout{position:fixed!important;inset:0!important;height:100vh!important;max-height:100vh!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;z-index:50!important}.editor-layout>div:nth-child(2){flex:1 1 0%!important;min-height:0!important;display:flex!important;overflow:hidden!important}.editor-canvas-area{flex:1 1 0%!important;min-height:0!important;min-width:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}.editor-canvas-viewport{flex:1 1 0%!important;min-height:0!important;min-width:0!important;height:100%!important;display:block!important;overflow:auto!important;padding:1rem!important}.visual-editor-canvas-container{margin:auto!important;background:transparent!important}.admin-feedback{padding:24px;max-width:1400px;margin:0 auto}.feedback-header{margin-bottom:24px}.feedback-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.feedback-title-row h1{font-size:24px;font-weight:600;color:#1a1a2e;margin:0}.btn-refresh{display:flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid #d1d5db;background:#fff;border-radius:6px;font-size:13px;cursor:pointer;transition:all .15s}.btn-refresh:hover{background:#f3f4f6}.feedback-filters{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.feedback-filters select{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;background:#fff;cursor:pointer}.filter-count{color:#6b7280;font-size:13px;margin-left:auto}.feedback-table-container{background:#fff;border-radius:8px;border:1px solid #e5e7eb;overflow:hidden}.feedback-table{width:100%;border-collapse:collapse;font-size:13px}.feedback-table th{text-align:left;padding:12px 16px;background:#f9fafb;border-bottom:1px solid #e5e7eb;font-weight:600;color:#374151;white-space:nowrap}.feedback-table td{padding:12px 16px;border-bottom:1px solid #f3f4f6;vertical-align:middle}.feedback-row{cursor:pointer;transition:background .1s}.feedback-row:hover{background:#f9fafb}.type-badge{font-size:12px;font-weight:500}.status-badge{display:inline-block;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:500}.date-cell{color:#6b7280;font-size:12px}.user-cell{color:#374151}.user-cell .anonymous{color:#9ca3af;font-style:italic}.message-cell{color:#374151;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feedback-details-row{background:#f9fafb!important}.feedback-details-row td{padding:0!important}.feedback-details{padding:20px 24px;border-top:1px solid #e5e7eb}.details-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;margin-bottom:16px}.detail-item{display:flex;flex-direction:column;gap:2px}.detail-item label{font-size:11px;color:#6b7280;text-transform:uppercase;font-weight:600}.detail-item span{font-size:13px;color:#111}.detail-item a{color:#3b82f6;text-decoration:none}.detail-item a:hover{text-decoration:underline}.detail-section{margin-top:12px}.detail-section label{display:block;font-size:11px;color:#6b7280;text-transform:uppercase;font-weight:600;margin-bottom:6px}.full-message{margin:0;padding:12px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;font-size:13px;line-height:1.5;color:#374151;white-space:pre-wrap}.edit-section{margin-top:16px;padding-top:16px;border-top:1px solid #e5e7eb}.edit-row{display:flex;gap:16px;margin-bottom:12px}.edit-field{flex:1}.edit-field label{display:block;font-size:11px;color:#6b7280;text-transform:uppercase;font-weight:600;margin-bottom:6px}.edit-field select{width:100%;max-width:200px;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;background:#fff}.edit-field textarea{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;resize:vertical;font-family:inherit}.edit-field textarea:focus{outline:none;border-color:#3b82f6}.btn-save{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:#10b981;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s;margin-top:12px}.btn-save:hover:not(:disabled){background:#059669}.btn-save:disabled{opacity:.6;cursor:not-allowed}.loading-state,.empty-state{padding:60px 20px;text-align:center;color:#6b7280}.empty-state svg{color:#9ca3af;margin-bottom:16px}.empty-state h3{margin:0 0 8px;color:#111;font-size:18px}.empty-state p{margin:0}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:20px;padding:16px}.pagination button{padding:8px 16px;border:1px solid #d1d5db;background:#fff;border-radius:6px;cursor:pointer;font-size:13px;transition:all .15s}.pagination button:hover:not(:disabled){background:#f3f4f6}.pagination button:disabled{opacity:.5;cursor:not-allowed}.pagination span{color:#6b7280;font-size:13px}@media (max-width: 768px){.admin-feedback{padding:16px}.feedback-filters{flex-direction:column;align-items:stretch}.filter-count{margin-left:0}.feedback-table-container{overflow-x:auto}.feedback-table{min-width:700px}}.support-dashboard{display:flex;flex-direction:column;min-height:calc(100vh - 120px);background:#f9fafb}.support-list-view{padding:24px}.support-header{margin-bottom:24px}.support-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.support-title-row h1{display:flex;align-items:center;gap:12px;font-size:24px;font-weight:600;color:#111827;margin:0}.btn-refresh{display:flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid #d1d5db;background:#fff;color:#374151;font-size:14px;font-weight:500;cursor:pointer;border-radius:6px;transition:all .15s}.btn-refresh:hover{background:#f9fafb;border-color:#9ca3af}.btn-refresh:disabled{opacity:.5;cursor:not-allowed}.btn-refresh svg.spinning{animation:spin 1s linear infinite}.support-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:20px}.summary-card{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px 20px}.summary-card svg{color:#6b7280}.summary-card.errors svg{color:#dc2626}.summary-card.traces svg{color:#d97706}.summary-card.diagnostics svg{color:#2563eb}.summary-card .summary-value{font-size:24px;font-weight:600;color:#111827;display:block}.summary-card .summary-label{font-size:13px;color:#6b7280;display:block}.support-filters{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.filter-search{display:flex;align-items:center;gap:10px;flex:1;max-width:400px;padding:10px 14px;background:#fff;border:1px solid #d1d5db;border-radius:6px;transition:border-color .15s}.filter-search:focus-within{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.filter-search svg{color:#9ca3af;flex-shrink:0}.filter-search input{flex:1;border:none;outline:none;font-size:14px;background:transparent}.filter-checkbox{display:flex;align-items:center;gap:8px;font-size:14px;color:#374151;cursor:pointer}.filter-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:#2563eb}.support-table-container{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.loading-state,.error-state{display:flex;align-items:center;justify-content:center;padding:48px;color:#6b7280;font-size:14px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;text-align:center;color:#6b7280}.empty-state svg{width:48px;height:48px;color:#d1d5db;margin-bottom:16px}.empty-state h3{font-size:16px;font-weight:600;color:#374151;margin:0 0 8px}.empty-state p{font-size:14px;margin:0}.customers-table{width:100%;border-collapse:collapse}.customers-table th{padding:12px 16px;background:#f9fafb;border-bottom:1px solid #e5e7eb;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;text-align:left}.customers-table td{padding:14px 16px;border-bottom:1px solid #f3f4f6;font-size:14px;color:#374151;vertical-align:middle}.customers-table tbody tr{cursor:pointer;transition:background .1s}.customers-table tbody tr:hover{background:#f9fafb}.customers-table tbody tr.has-issues{background:#fef2f2}.customers-table tbody tr.has-issues:hover{background:#fee2e2}.customer-info{display:flex;flex-direction:column;gap:2px}.customer-name{font-weight:500;color:#111827}.customer-email{font-size:12px;color:#6b7280}.customer-hostname{font-size:12px;color:#9ca3af;font-family:monospace}.system-info{font-size:13px;color:#6b7280}.version-badge{display:inline-flex;padding:2px 8px;background:#eff6ff;color:#2563eb;border-radius:4px;font-size:12px;font-weight:500}.time-cell{color:#9ca3af;font-size:13px}.count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 8px;border-radius:12px;font-size:12px;font-weight:600}.count-badge.error{background:#fef2f2;color:#dc2626}.count-badge.info{background:#eff6ff;color:#2563eb}.count-badge.zero{background:#f3f4f6;color:#9ca3af}.traces-info{font-size:13px;color:#6b7280}.failed-count{color:#dc2626}.status-badge{display:inline-flex;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.status-badge.ok{background:#dcfce7;color:#16a34a}.status-badge.issues{background:#fef2f2;color:#dc2626}.status-badge.large{padding:6px 14px;font-size:12px}.support-detail-view{padding:24px}.detail-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.btn-back{display:flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid #e5e7eb;background:#fff;color:#6b7280;font-size:14px;font-weight:500;cursor:pointer;border-radius:6px;transition:all .15s}.btn-back:hover{background:#f3f4f6;color:#374151}.detail-title{flex:1}.detail-title h1{font-size:20px;font-weight:600;color:#111827;margin:0 0 4px}.detail-meta{display:flex;gap:12px;font-size:13px;color:#6b7280}.detail-meta span{display:flex;align-items:center;gap:4px}.customer-summary-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:20px 24px;margin-bottom:24px}.summary-row{display:flex;flex-wrap:wrap;gap:32px}.summary-row.stats{margin-top:20px;padding-top:20px;border-top:1px solid #e5e7eb}.summary-item{display:flex;flex-direction:column;gap:4px}.summary-item .summary-label{font-size:12px;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.summary-item .summary-value{font-size:15px;font-weight:500;color:#111827}.stat-item{display:flex;flex-direction:column;gap:2px}.stat-value{font-size:20px;font-weight:600;color:#111827}.stat-value.error{color:#dc2626}.stat-label{font-size:12px;color:#6b7280}.detail-section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:16px;overflow:hidden}.detail-section.has-issues{border-color:#fecaca}.section-header{display:flex;align-items:center;gap:12px;padding:16px 20px;cursor:pointer;transition:background .1s}.section-header:hover{background:#f9fafb}.section-header svg{color:#6b7280;flex-shrink:0}.section-header h3{flex:1;font-size:15px;font-weight:600;color:#374151;margin:0}.section-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 8px;border-radius:12px;font-size:12px;font-weight:600;background:#f3f4f6;color:#6b7280}.section-count.error{background:#fef2f2;color:#dc2626}.section-content{padding:0 20px 20px}.empty-section{padding:24px;text-align:center;color:#9ca3af;font-size:14px}.section-note{padding-top:12px;font-size:12px;color:#9ca3af;text-align:center}.traces-table{width:100%;border-collapse:collapse}.traces-table th{padding:10px 12px;background:#f9fafb;border-bottom:1px solid #e5e7eb;font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;text-align:left}.traces-table td{padding:12px;border-bottom:1px solid #f3f4f6;font-size:13px;color:#374151;vertical-align:middle}.traces-table .trace-row{cursor:pointer;transition:background .1s}.traces-table .trace-row:hover{background:#f9fafb}.traces-table .trace-row.failed-row{background:#fef2f2}.traces-table .trace-row.failed-row:hover{background:#fee2e2}.printer-cell{display:flex;align-items:center;gap:6px}.printer-cell svg{color:#9ca3af;flex-shrink:0}.duration-cell{font-family:monospace;font-size:12px;color:#6b7280}.steps-cell{display:flex;align-items:center;gap:6px}.error-dot{width:6px;height:6px;border-radius:50%;background:#dc2626}.asset-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#6b7280}.outcome-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:500}.outcome-badge.large{padding:6px 12px;font-size:13px}.errors-list{display:flex;flex-direction:column;gap:8px}.error-item{border:1px solid #e5e7eb;border-radius:6px;overflow:hidden}.error-item.critical{border-left:3px solid #dc2626}.error-item.error{border-left:3px solid #ea580c}.error-item.warning{border-left:3px solid #ca8a04}.error-item.info{border-left:3px solid #2563eb}.error-row{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;cursor:pointer;transition:background .1s}.error-row:hover{background:#f9fafb}.error-main{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.error-main svg{color:#9ca3af;flex-shrink:0}.severity-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500;flex-shrink:0}.severity-badge.critical{background:#fef2f2;color:#dc2626}.severity-badge.error{background:#fff7ed;color:#ea580c}.severity-badge.warning{background:#fefce8;color:#ca8a04}.severity-badge.info{background:#eff6ff;color:#2563eb}.error-time{font-size:12px;color:#9ca3af;flex-shrink:0}.error-category{font-size:12px;color:#6b7280;flex-shrink:0}.error-message-preview{font-size:13px;color:#374151;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.source-badge{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500;flex-shrink:0}.source-badge.frontend{background:#eff6ff;color:#2563eb}.source-badge.backend{background:#f0fdf4;color:#16a34a}.source-badge.print_helper{background:#fefce8;color:#ca8a04}.error-detail-inline{padding:16px;background:#f9fafb;border-top:1px solid #e5e7eb}.error-detail-inline .detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:16px}.error-detail-inline .detail-item{display:flex;flex-direction:column;gap:2px}.error-detail-inline .detail-item label{font-size:11px;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.error-detail-inline .detail-item span{font-size:13px;color:#374151}.error-detail-inline .detail-message{margin-bottom:12px}.error-detail-inline .detail-message label{display:block;font-size:11px;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.error-detail-inline .detail-message p{margin:0;font-size:13px;color:#dc2626;background:#fef2f2;padding:10px 12px;border-radius:4px}.error-detail-inline .detail-stack{margin-bottom:12px}.error-detail-inline .detail-stack label{display:block;font-size:11px;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.error-detail-inline .detail-stack pre{margin:0;font-size:12px;color:#6b7280;background:#f3f4f6;padding:10px 12px;border-radius:4px;overflow-x:auto;white-space:pre-wrap;word-break:break-word;max-height:200px;overflow-y:auto}.error-detail-inline .detail-context{margin-bottom:12px}.error-detail-inline .detail-context label{display:block;font-size:11px;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.error-detail-inline .context-grid{display:flex;flex-wrap:wrap;gap:12px 24px;font-size:13px}.error-detail-inline .context-grid span{color:#374151}.error-detail-inline .context-grid strong{color:#6b7280;font-weight:500}.diagnostics-list{display:grid;gap:12px}.diagnostic-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:14px 16px;cursor:pointer;transition:all .1s}.diagnostic-card:hover{background:#f3f4f6;border-color:#d1d5db}.diagnostic-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.diagnostic-time{font-size:13px;color:#6b7280}.diagnostic-info{display:flex;flex-wrap:wrap;gap:12px}.diagnostic-info .info-item{display:flex;align-items:center;gap:6px;font-size:13px;color:#374151}.diagnostic-info .info-item svg{color:#9ca3af}.issues-badge{padding:2px 8px;background:#fef2f2;color:#dc2626;border-radius:4px;font-size:12px;font-weight:500}.no-issues-badge{padding:2px 8px;background:#dcfce7;color:#16a34a;border-radius:4px;font-size:12px;font-weight:500}.trace-detail .trace-summary-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:20px 24px;margin-bottom:24px}.trace-detail .summary-row{display:flex;flex-wrap:wrap;gap:32px;margin-bottom:16px}.trace-detail .summary-row:last-child{margin-bottom:0}.error-summary-box{display:flex;align-items:center;gap:10px;margin-top:16px;padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:14px}.error-summary-box svg{flex-shrink:0}.system-info-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:20px 24px;margin-bottom:24px}.system-info-card h3{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:#374151;margin:0 0 16px}.system-info-card h3 svg{color:#6b7280}.system-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.system-grid>div{display:flex;flex-direction:column;gap:2px}.system-grid>div>span:first-child{font-size:11px;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.system-grid>div>span:last-child{font-size:14px;color:#374151}.timeline-section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:20px 24px}.timeline-section h3{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:#374151;margin:0 0 20px}.timeline-section h3 svg{color:#6b7280}.timeline{position:relative}.timeline-step{display:flex;gap:16px;padding-bottom:20px}.timeline-step:last-child{padding-bottom:0}.step-indicator{position:relative;display:flex;flex-direction:column;align-items:center;width:16px;flex-shrink:0}.step-dot{width:12px;height:12px;border-radius:50%;background:#d1d5db;z-index:1}.timeline-step.ok .step-dot{background:#16a34a}.timeline-step.warning .step-dot{background:#ca8a04}.timeline-step.error .step-dot{background:#dc2626}.step-line{position:absolute;top:16px;width:2px;height:calc(100% + 4px);background:#e5e7eb}.step-content{flex:1;min-width:0}.step-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;margin:-8px -12px;border-radius:6px}.step-header.clickable{cursor:pointer}.step-header.clickable:hover{background:#f9fafb}.step-title{display:flex;align-items:center;gap:10px}.step-name{font-size:14px;font-weight:500;color:#374151}.step-duration{font-size:12px;color:#9ca3af;font-family:monospace}.step-meta{display:flex;align-items:center;gap:10px}.step-status{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500;text-transform:uppercase}.step-status.ok{background:#dcfce7;color:#16a34a}.step-status.warning{background:#fefce8;color:#ca8a04}.step-status.error{background:#fef2f2;color:#dc2626}.step-time{font-size:12px;color:#9ca3af}.step-meta svg{color:#9ca3af}.step-data{margin-top:12px;padding:14px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px}.step-data-content{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.step-data-content .data-item{display:flex;flex-direction:column;gap:4px}.step-data-content .data-item.full-width{grid-column:1 / -1}.step-data-content .data-label{font-size:11px;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.step-data-content .data-value{font-size:13px;color:#374151}.step-data-content .data-value.code{font-family:monospace}.step-data-content .data-value.error{color:#dc2626}.step-data-content .data-code{margin:0;padding:10px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:4px;font-size:12px;font-family:monospace;color:#374151;overflow-x:auto;white-space:pre-wrap;word-break:break-word}.step-data-content .data-code.error{background:#fef2f2;border-color:#fecaca;color:#dc2626}.error-content{background:#fef2f2;border-color:#fecaca}.diagnostic-detail .issues-section{border-color:#fecaca}.issues-list{display:flex;flex-direction:column;gap:8px}.issue-item{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;font-size:13px;color:#374151}.issue-item.critical,.issue-item.error{background:#fef2f2;border-color:#fecaca}.issue-item.warning{background:#fefce8;border-color:#fef3c7}.issue-type{margin-left:auto;font-size:11px;color:#9ca3af;text-transform:uppercase}.info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}.info-grid .info-item{display:flex;flex-direction:column;gap:4px}.info-grid .info-label{font-size:11px;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.info-grid .info-value{font-size:14px;color:#374151}.printers-list{display:grid;gap:12px}.printer-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:14px 16px}.printer-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.printer-name{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:#111827}.printer-name svg{color:#6b7280}.default-badge{padding:2px 6px;background:#eff6ff;color:#2563eb;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase}.printer-state{font-size:12px;font-weight:500;text-transform:capitalize}.printer-details{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.printer-detail{display:flex;flex-direction:column;gap:2px}.printer-detail.full-width{grid-column:1 / -1}.printer-detail .detail-label{font-size:11px;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.printer-detail .detail-value{font-size:13px;color:#374151}.printer-detail .detail-value.small{font-size:12px;color:#6b7280}.cups-log{margin:0;padding:14px;background:#1f2937;color:#f3f4f6;border-radius:6px;font-family:monospace;font-size:12px;line-height:1.5;overflow-x:auto;white-space:pre-wrap;word-break:break-word;max-height:300px;overflow-y:auto}@media (max-width: 1024px){.customers-table th:nth-child(2),.customers-table td:nth-child(2),.customers-table th:nth-child(7),.customers-table td:nth-child(7){display:none}}@media (max-width: 768px){.support-list-view,.support-detail-view{padding:16px}.support-summary{grid-template-columns:repeat(2,1fr)}.support-filters{flex-direction:column;align-items:stretch}.filter-search{max-width:none}.customers-table th:nth-child(3),.customers-table td:nth-child(3),.customers-table th:nth-child(6),.customers-table td:nth-child(6){display:none}.summary-row{gap:20px}.traces-table th:nth-child(3),.traces-table td:nth-child(3),.traces-table th:nth-child(7),.traces-table td:nth-child(7){display:none}.error-main{flex-wrap:wrap}.error-message-preview{flex-basis:100%;margin-top:4px}}@media (max-width: 480px){.support-summary{grid-template-columns:1fr}.customers-table{display:block}.customers-table thead{display:none}.customers-table tbody,.customers-table tr,.customers-table td{display:block}.customers-table tr{padding:16px;border-bottom:1px solid #e5e7eb}.customers-table td{padding:4px 0;border:none}.customers-table td:first-child{padding-bottom:8px}.detail-header{flex-direction:column;align-items:flex-start;gap:12px}.detail-meta{flex-direction:column;gap:4px}.summary-row{flex-direction:column;gap:16px}.traces-table{display:block}.traces-table thead{display:none}.traces-table tbody,.traces-table tr,.traces-table td{display:block}.traces-table tr{padding:16px;border-bottom:1px solid #e5e7eb}.traces-table td{padding:4px 0;border:none}.error-row{flex-direction:column;align-items:flex-start;gap:8px}.error-main{width:100%}}.btn-maintenance{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;color:#374151;font-size:13px;font-weight:500;cursor:pointer;margin-left:auto}.btn-maintenance:hover{background:#e5e7eb}.maintenance-panel{margin-top:16px;padding:16px 20px;background:#fff;border:1px solid #e5e7eb;border-radius:8px}.maintenance-header{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e5e7eb}.maintenance-header h3{margin:0;font-size:15px;font-weight:600;color:#111827}.maintenance-note{margin-left:auto;font-size:12px;color:#6b7280}.maintenance-actions{display:flex;gap:32px}.purge-option-group{display:flex;flex-direction:column;gap:8px}.purge-option-group label{font-size:12px;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.purge-buttons{display:flex;gap:8px}.btn-purge{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;font-size:13px;font-weight:500;cursor:pointer}.btn-purge:hover{background:#f3f4f6;border-color:#9ca3af}.btn-purge:disabled{opacity:.5;cursor:not-allowed}.btn-purge.resolved{background:#f0fdf4;border-color:#86efac;color:#166534}.btn-purge.resolved:hover{background:#dcfce7}.btn-purge.danger{background:#fef2f2;border-color:#fecaca;color:#dc2626}.btn-purge.danger:hover{background:#fee2e2}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.purge-confirm-modal{background:#fff;border-radius:12px;padding:24px;width:100%;max-width:480px;box-shadow:0 20px 25px -5px #0000001a}.purge-confirm-modal h3{display:flex;align-items:center;gap:10px;margin:0 0 16px;font-size:18px;font-weight:600;color:#111827}.purge-confirm-modal h3 svg{color:#f59e0b}.purge-description{margin:0 0 20px;font-size:14px;color:#374151}.purge-loading{padding:24px;text-align:center;color:#6b7280}.purge-error{padding:24px;text-align:center;color:#dc2626}.purge-counts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.purge-count-item{display:flex;flex-direction:column;align-items:center;padding:12px;background:#f9fafb;border-radius:8px}.purge-count-item svg{color:#6b7280;margin-bottom:6px}.purge-count-item span{font-size:20px;font-weight:600;color:#111827}.purge-count-item label{font-size:11px;color:#6b7280;margin-top:2px}.purge-count-total{display:flex;flex-direction:column;align-items:center;padding:12px;background:#fef2f2;border-radius:8px}.purge-count-total span{font-size:24px;font-weight:700;color:#dc2626}.purge-count-total label{font-size:11px;color:#991b1b;margin-top:2px}.purge-modal-actions{display:flex;justify-content:flex-end;gap:12px}.btn-cancel{padding:10px 18px;background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;font-size:14px;font-weight:500;cursor:pointer}.btn-cancel:hover{background:#f3f4f6}.btn-confirm-purge{padding:10px 18px;background:#dc2626;border:none;border-radius:6px;color:#fff;font-size:14px;font-weight:500;cursor:pointer}.btn-confirm-purge:hover{background:#b91c1c}.btn-confirm-purge:disabled{background:#9ca3af;cursor:not-allowed}@media (max-width: 640px){.maintenance-actions{flex-direction:column;gap:16px}.purge-buttons{flex-wrap:wrap}.purge-counts{grid-template-columns:repeat(2,1fr)}}.admin-announcements{padding:24px;max-width:1400px;margin:0 auto}.announcements-header{margin-bottom:24px}.announcements-title-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}.announcements-title-row h1{margin:0;font-size:24px;font-weight:600;color:var(--color-text-primary, #1a1a2e)}.announcements-subtitle{color:var(--color-text-secondary, #666);margin:0;font-size:14px}.btn-refresh{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--color-bg-secondary, #f4f4f5);border:1px solid var(--color-border, #e5e5e5);border-radius:6px;font-size:13px;cursor:pointer;color:var(--color-text-primary, #333);transition:background .15s}.btn-refresh:hover{background:var(--color-bg-hover, #e8e8e8)}.btn-refresh:disabled{opacity:.6;cursor:not-allowed}.btn-refresh .spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.announcements-content{display:grid;grid-template-columns:1fr 1fr;gap:24px}@media (max-width: 1024px){.announcements-content{grid-template-columns:1fr}}.recipients-panel,.email-panel{background:var(--color-bg-primary, white);border:1px solid var(--color-border, #e5e5e5);border-radius:8px;overflow:hidden}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-border, #e5e5e5);background:var(--color-bg-secondary, #f8f8fa)}.panel-header h2{margin:0;font-size:16px;font-weight:600;display:flex;align-items:center;gap:8px;color:var(--color-text-primary, #1a1a2e)}.recipient-count{font-size:13px;color:var(--color-text-secondary, #666)}.recipient-filters{padding:16px 20px;border-bottom:1px solid var(--color-border, #e5e5e5);display:flex;gap:12px;flex-wrap:wrap}.recipient-filters select{padding:8px 12px;border:1px solid var(--color-border, #ddd);border-radius:6px;font-size:13px;background:#fff;min-width:140px}.search-input{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--color-border, #ddd);border-radius:6px;flex:1;min-width:180px}.search-input input{border:none;outline:none;font-size:13px;flex:1;background:transparent}.selection-controls{padding:12px 20px;border-bottom:1px solid var(--color-border, #e5e5e5);background:var(--color-bg-secondary, #f8f8fa)}.select-all{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer;color:var(--color-text-secondary, #666)}.select-all input{cursor:pointer}.recipients-list{max-height:400px;overflow-y:auto}.recipient-item{display:flex;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid var(--color-border-light, #f0f0f0);cursor:pointer;transition:background .15s}.recipient-item:hover{background:var(--color-bg-secondary, #f8f8fa)}.recipient-item.selected{background:#eef6ff}.recipient-item input{cursor:pointer}.recipient-info{flex:1;display:flex;flex-direction:column;gap:2px}.recipient-email{font-size:14px;color:var(--color-text-primary, #333)}.recipient-name{font-size:12px;color:var(--color-text-secondary, #888)}.admin-badge{font-size:11px;padding:2px 8px;border-radius:10px;background:#e0e7ff;color:#4f46e5;font-weight:500}.email-field{padding:20px;border-bottom:1px solid var(--color-border, #e5e5e5)}.email-field label{display:block;font-size:13px;font-weight:500;margin-bottom:8px;color:var(--color-text-primary, #333)}.email-field input{width:100%;padding:10px 12px;border:1px solid var(--color-border, #ddd);border-radius:6px;font-size:14px}.template-info{padding:20px;border-bottom:1px solid var(--color-border, #e5e5e5)}.template-info p{margin:0 0 16px;font-size:14px;color:var(--color-text-secondary, #666);line-height:1.5}.btn-preview{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#fff;border:1px solid var(--color-border, #ddd);border-radius:6px;font-size:14px;cursor:pointer;color:var(--color-text-primary, #333);transition:background .15s}.btn-preview:hover{background:var(--color-bg-secondary, #f8f8fa)}.send-actions{padding:20px;display:flex;gap:12px;border-bottom:1px solid var(--color-border, #e5e5e5)}.btn-send,.btn-send-all{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s}.btn-send{background:#1a1a2e;color:#fff;border:none}.btn-send:hover:not(:disabled){background:#2a2a4e}.btn-send:disabled{opacity:.5;cursor:not-allowed}.btn-send-all{background:#fff;color:#1a1a2e;border:1px solid var(--color-border, #ddd)}.btn-send-all:hover:not(:disabled){background:var(--color-bg-secondary, #f8f8fa)}.btn-send-all:disabled{opacity:.5;cursor:not-allowed}.send-result{margin:0 20px 20px;padding:16px;border-radius:8px;display:flex;align-items:flex-start;gap:12px}.send-result.success{background:#dcfce7;color:#166534}.send-result.error{background:#fef2f2;color:#dc2626}.send-result div{display:flex;flex-direction:column;gap:4px}.send-result strong{font-size:14px}.send-result span{font-size:13px;opacity:.8}.btn-history-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:16px 20px;background:var(--color-bg-secondary, #f8f8fa);border:none;border-top:1px solid var(--color-border, #e5e5e5);font-size:14px;cursor:pointer;color:var(--color-text-primary, #333);transition:background .15s}.btn-history-toggle:hover{background:var(--color-bg-hover, #ececec)}.btn-history-toggle svg:last-child{margin-left:auto;transition:transform .2s}.history-list{border-top:1px solid var(--color-border, #e5e5e5)}.history-item{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--color-border-light, #f0f0f0)}.history-info{display:flex;flex-direction:column;gap:4px}.history-date{font-size:12px;color:var(--color-text-secondary, #888)}.history-subject{font-size:13px;color:var(--color-text-primary, #333)}.history-stats{display:flex;gap:12px;font-size:12px}.history-stats .sent{color:#10b981}.history-stats .failed{color:#dc2626}.preview-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.preview-modal{background:#fff;border-radius:12px;width:100%;max-width:700px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 40px #0003}.preview-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-border, #e5e5e5)}.preview-header h3{margin:0;font-size:16px;font-weight:600}.preview-header button{background:none;border:none;font-size:24px;cursor:pointer;color:var(--color-text-secondary, #888);line-height:1;padding:0}.preview-subject{padding:12px 20px;background:var(--color-bg-secondary, #f8f8fa);border-bottom:1px solid var(--color-border, #e5e5e5);font-size:14px}.preview-frame{flex:1;border:none;min-height:500px}.loading-state,.empty-state{padding:40px 20px;text-align:center;color:var(--color-text-secondary, #888);font-size:14px}@media (prefers-color-scheme: dark){.admin-announcements{color:#e5e5e5}.announcements-title-row h1{color:#fff}.btn-refresh{background:#2a2a3e;border-color:#3a3a4e;color:#e5e5e5}.btn-refresh:hover{background:#3a3a4e}.recipients-panel,.email-panel{background:#1a1a2e;border-color:#2a2a3e}.panel-header{background:#0f0f1a;border-color:#2a2a3e}.panel-header h2{color:#fff}.recipient-filters{border-color:#2a2a3e}.recipient-filters select,.search-input{background:#2a2a3e;border-color:#3a3a4e;color:#e5e5e5}.search-input input{color:#e5e5e5}.selection-controls{background:#0f0f1a;border-color:#2a2a3e}.recipient-item{border-color:#2a2a3e}.recipient-item:hover{background:#2a2a3e}.recipient-item.selected{background:#1e3a5f}.recipient-email{color:#fff}.email-field{border-color:#2a2a3e}.email-field label{color:#e5e5e5}.email-field input{background:#2a2a3e;border-color:#3a3a4e;color:#e5e5e5}.template-info{border-color:#2a2a3e}.btn-preview{background:#2a2a3e;border-color:#3a3a4e;color:#e5e5e5}.send-actions{border-color:#2a2a3e}.btn-send-all{background:#2a2a3e;border-color:#3a3a4e;color:#e5e5e5}.btn-history-toggle{background:#0f0f1a;border-color:#2a2a3e;color:#e5e5e5}.history-list,.history-item{border-color:#2a2a3e}.history-subject{color:#e5e5e5}.preview-modal{background:#1a1a2e}.preview-header{border-color:#2a2a3e}.preview-subject{background:#0f0f1a;border-color:#2a2a3e}}.print-history{display:flex;flex-direction:column;gap:16px}.print-history-header{display:flex;justify-content:space-between;align-items:center}.print-history-header h3{margin:0;font-size:18px;font-weight:600;color:#111827}.dark .print-history-header h3{color:#f3f4f6}.print-history-refresh{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;color:#374151;font-size:13px;cursor:pointer;transition:all .15s}.print-history-refresh:hover:not(:disabled){background:#e5e7eb}.print-history-refresh:disabled{opacity:.6;cursor:not-allowed}.dark .print-history-refresh{background:#374151;border-color:#4b5563;color:#d1d5db}.dark .print-history-refresh:hover:not(:disabled){background:#4b5563}.print-history-refresh .spinning{animation:spin 1s linear infinite}.print-history-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;gap:12px;color:#6b7280}.print-history-loading .spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}.dark .print-history-loading .spinner{border-color:#374151;border-top-color:#3b82f6}.print-history-error{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:14px}.dark .print-history-error{background:#dc26261a;border-color:#dc26264d}.print-history-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 24px;text-align:center;color:#9ca3af}.print-history-empty svg{margin-bottom:16px;opacity:.5}.print-history-empty p{margin:0;font-size:16px;font-weight:500;color:#6b7280}.print-history-empty span{margin-top:4px;font-size:14px}.print-history-list{display:flex;flex-direction:column;gap:1px;background:#e5e7eb;border-radius:8px;overflow:hidden}.dark .print-history-list{background:#374151}.print-history-item{display:flex;flex-direction:column;gap:6px;padding:12px 16px;background:#fff}.dark .print-history-item{background:#1f2937}.print-history-item-main{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.print-history-item-info{display:flex;flex-direction:column;gap:2px;min-width:0}.print-history-asset-name{font-size:14px;font-weight:500;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dark .print-history-asset-name{color:#f3f4f6}.print-history-asset-link{color:#2563eb;text-decoration:none;cursor:pointer;transition:color .15s}.print-history-asset-link:hover{color:#1d4ed8;text-decoration:underline}.dark .print-history-asset-link{color:#60a5fa}.dark .print-history-asset-link:hover{color:#93c5fd}.print-history-printer{font-size:12px;color:#6b7280}.print-history-project{font-size:11px;color:#3b82f6;font-weight:500}.print-history-status{display:flex;align-items:center;gap:4px;padding:3px 8px;border-radius:4px;font-size:12px;font-weight:500;flex-shrink:0}.print-history-status.status-completed{background:#dcfce7;color:#16a34a}.dark .print-history-status.status-completed{background:#16a34a26}.print-history-status.status-cancelled{background:#f3f4f6;color:#6b7280}.dark .print-history-status.status-cancelled{background:#6b728026}.print-history-status.status-pending{background:#dbeafe;color:#2563eb}.dark .print-history-status.status-pending{background:#2563eb26}.print-history-status.status-unknown{background:#fef3c7;color:#d97706}.dark .print-history-status.status-unknown{background:#d9770626}.print-history-item-meta{display:flex;align-items:center;gap:12px;font-size:12px;color:#9ca3af}.print-history-date{flex:1}.print-history-quantity{color:#6b7280}.print-history-cost{font-weight:600;color:#374151}.dark .print-history-cost{color:#d1d5db}.print-history-cost.test{color:#d97706;font-weight:500}.print-history-pagination{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid #e5e7eb}.dark .print-history-pagination{border-top-color:#374151}.pagination-btn{display:flex;align-items:center;gap:4px;padding:6px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#374151;font-size:13px;cursor:pointer;transition:all .15s}.pagination-btn:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.dark .pagination-btn{background:#1f2937;border-color:#374151;color:#d1d5db}.dark .pagination-btn:hover:not(:disabled){background:#374151}.pagination-info{font-size:13px;color:#6b7280}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 640px){.print-history-item-main{flex-direction:column;align-items:flex-start;gap:8px}.print-history-item-meta{flex-wrap:wrap;gap:8px}.print-history-date{flex:none;width:100%}.pagination-btn span{display:none}}.feedback-tab{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:9990}.feedback-tab-button{writing-mode:vertical-rl;text-orientation:mixed;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;padding:14px 12px;border-radius:8px 0 0 8px;border:none;cursor:pointer;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;transition:all .2s ease;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;box-shadow:-3px 0 12px #6366f166;min-width:32px}.feedback-tab-button:hover{padding-right:16px;box-shadow:-4px 0 16px #6366f180}.feedback-tab-button:focus{outline:none;box-shadow:0 0 0 2px #3b82f6}.feedback-overlay{position:fixed;inset:0;background:#0000004d;z-index:9989;animation:feedbackFadeIn .2s ease}@keyframes feedbackFadeIn{0%{opacity:0}to{opacity:1}}.feedback-panel{position:fixed;top:0;right:-340px;width:320px;height:100vh;background:#fff;box-shadow:-4px 0 20px #00000026;z-index:9991;transition:right .3s ease;overflow-y:auto;padding:24px;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.feedback-panel.open{right:0}.feedback-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.feedback-header h2{margin:0;font-size:18px;font-weight:600;color:#1a1a2e}.feedback-close{background:none;border:none;cursor:pointer;padding:4px;color:#6b7280;border-radius:4px;display:flex;align-items:center;justify-content:center}.feedback-close:hover{background:#f3f4f6;color:#111}.feedback-type-pills{display:flex;gap:8px;margin:16px 0;flex-wrap:wrap}.feedback-type-pill{padding:6px 12px;border-radius:20px;border:1px solid #d1d5db;background:#f8f8fa;cursor:pointer;font-size:13px;transition:all .15s;font-family:inherit;color:#374151}.feedback-type-pill:hover:not(.active){border-color:#9ca3af;background:#f3f4f6}.feedback-type-pill.active{background:#1a1a2e;color:#fff;border-color:#1a1a2e}.feedback-field{margin-bottom:16px}.feedback-field label{display:block;font-size:13px;font-weight:500;color:#374151;margin-bottom:6px}.feedback-field textarea{width:100%;padding:12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-family:inherit;resize:vertical;min-height:120px;box-sizing:border-box}.feedback-field textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.feedback-field textarea:disabled{background:#f9fafb;color:#9ca3af}.feedback-field input[type=email]{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-family:inherit;box-sizing:border-box}.feedback-field input[type=email]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.feedback-field input[type=email]:disabled{background:#f9fafb;color:#9ca3af}.feedback-char-count{font-size:12px;color:#9ca3af;text-align:right;margin-top:4px}.feedback-char-count.warning{color:#f59e0b}.feedback-error{background:#fef2f2;color:#dc2626;padding:10px 12px;border-radius:6px;font-size:13px;margin-bottom:16px}.feedback-submit{width:100%;padding:12px 20px;background:#1a1a2e;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s;font-family:inherit}.feedback-submit:hover:not(:disabled){background:#2d2d4a}.feedback-submit:disabled{opacity:.6;cursor:not-allowed}.feedback-success{text-align:center;padding:40px 20px}.feedback-success-icon{width:64px;height:64px;background:#dcfce7;color:#16a34a;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto 16px}.feedback-success p{font-size:16px;color:#374151;margin:0}@media (max-width: 640px){.feedback-tab{top:auto;bottom:0;right:20px;transform:none}.feedback-tab-button{writing-mode:horizontal-tb;border-radius:8px 8px 0 0;padding:8px 16px}.feedback-tab-button:hover{padding-right:16px;padding-bottom:12px}.feedback-panel{width:100%;right:-100%}.feedback-panel.open{right:0}}
