/*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-500:oklch(63.7% .237 25.331);--color-red-800:oklch(44.4% .177 26.899);--color-orange-100:oklch(95.4% .038 75.164);--color-orange-200:oklch(90.1% .076 70.697);--color-orange-500:oklch(70.5% .213 47.604);--color-orange-700:oklch(55.3% .195 38.402);--color-green-100:oklch(96.2% .044 156.743);--color-green-200:oklch(92.5% .084 155.995);--color-green-500:oklch(72.3% .219 149.579);--color-green-800:oklch(44.8% .119 151.328);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-slate-100:oklch(96.8% .007 247.896);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--radius-lg:.5rem;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Manrope,ui-sans-serif,system-ui,sans-serif;line-height:1.5}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}html{font-family:var(--fleet-font-sans);color:var(--fleet-ink)}input:where([type=text]),input:where(:not([type])),input:where([type=email]),input:where([type=url]),input:where([type=password]),input:where([type=number]),input:where([type=date]),input:where([type=datetime-local]),input:where([type=month]),input:where([type=search]),input:where([type=tel]),input:where([type=time]),input:where([type=week]),select:where([multiple]),textarea,select{appearance:none;--tw-shadow:0 0 #0000;background-color:#fff;border-width:1px;border-color:oklch(55.1% .027 264.364);border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem}:is(input:where([type=text]),input:where(:not([type])),input:where([type=email]),input:where([type=url]),input:where([type=password]),input:where([type=number]),input:where([type=date]),input:where([type=datetime-local]),input:where([type=month]),input:where([type=search]),input:where([type=tel]),input:where([type=time]),input:where([type=week]),select:where([multiple]),textarea,select):focus{outline-offset:2px;--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:oklch(54.6% .245 262.881);--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);border-color:oklch(54.6% .245 262.881);outline:2px solid #0000}input::-moz-placeholder{color:oklch(55.1% .027 264.364);opacity:1}textarea::-moz-placeholder{color:oklch(55.1% .027 264.364);opacity:1}input::placeholder,textarea::placeholder{color:oklch(55.1% .027 264.364);opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}::-webkit-date-and-time-value{text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-year-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-month-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-day-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-hour-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-minute-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-second-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-millisecond-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-meridiem-field{padding-top:0;padding-bottom:0}select{-webkit-print-color-adjust:exact;print-color-adjust:exact;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='oklch(55.1%25 0.027 264.364)' 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}select:where([multiple]),select:where([size]:not([size="1"])){background-image:initial;background-position:initial;background-repeat:unset;background-size:initial;-webkit-print-color-adjust:unset;print-color-adjust:unset;padding-right:.75rem}input:where([type=checkbox]),input:where([type=radio]){appearance:none;-webkit-print-color-adjust:exact;print-color-adjust:exact;vertical-align:middle;-webkit-user-select:none;user-select:none;color:oklch(54.6% .245 262.881);--tw-shadow:0 0 #0000;background-color:#fff;background-origin:border-box;border-width:1px;border-color:oklch(55.1% .027 264.364);flex-shrink:0;width:1rem;height:1rem;padding:0;display:inline-block}input:where([type=checkbox]){border-radius:0}input:where([type=radio]){border-radius:100%}input:where([type=checkbox]):focus,input:where([type=radio]):focus{outline-offset:2px;--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:oklch(54.6% .245 262.881);--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);outline:2px solid #0000}input:where([type=checkbox]):checked,input:where([type=radio]):checked{background-color:currentColor;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:#0000}input:where([type=checkbox]):checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e")}@media (forced-colors:active){input:where([type=checkbox]):checked{appearance:auto}}input:where([type=radio]):checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e")}@media (forced-colors:active){input:where([type=radio]):checked{appearance:auto}}input:where([type=checkbox]):checked:hover,input:where([type=checkbox]):checked:focus,input:where([type=radio]):checked:hover,input:where([type=radio]):checked:focus{background-color:currentColor;border-color:#0000}input:where([type=checkbox]):indeterminate{background-color:currentColor;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:#0000}@media (forced-colors:active){input:where([type=checkbox]):indeterminate{appearance:auto}}input:where([type=checkbox]):indeterminate:hover,input:where([type=checkbox]):indeterminate:focus{background-color:currentColor;border-color:#0000}input:where([type=file]){background:unset;border-color:inherit;font-size:unset;line-height:inherit;border-width:0;border-radius:0;padding:0}input:where([type=file]):focus{outline:1px solid buttontext;outline:1px auto -webkit-focus-ring-color}}@layer components;@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.-start-1\.5{inset-inline-start:calc(var(--spacing) * -1.5)}.start{inset-inline-start:var(--spacing)}.start-0{inset-inline-start:calc(var(--spacing) * 0)}.end{inset-inline-end:var(--spacing)}.end-0{inset-inline-end:calc(var(--spacing) * 0)}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.left-1\/2{left:50%}.z-30{z-index:30}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.-mx-1\.5{margin-inline:calc(var(--spacing) * -1.5)}.-my-1\.5{margin-block:calc(var(--spacing) * -1.5)}.ms-2{margin-inline-start:calc(var(--spacing) * 2)}.ms-3{margin-inline-start:calc(var(--spacing) * 3)}.ms-4{margin-inline-start:calc(var(--spacing) * 4)}.ms-auto{margin-inline-start:auto}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-56{height:calc(var(--spacing) * 56)}.h-auto{height:auto}.h-full{height:100%}.min-h-full{min-height:100%}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-full{width:100%}.max-w-full{max-width:100%}.max-w-xs{max-width:var(--container-xs)}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-full{--tw-translate-y:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.items-center{align-items:center}.justify-center{justify-content:center}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-gray-200{border-color:var(--color-gray-200)}.border-white{border-color:var(--color-white)}.bg-blue-700{background-color:var(--color-blue-700)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-green-100{background-color:var(--color-green-100)}.bg-orange-100{background-color:var(--color-orange-100)}.bg-red-100{background-color:var(--color-red-100)}.bg-slate-100{background-color:var(--color-slate-100)}.bg-white{background-color:var(--color-white)}.bg-white\/30{background-color:#ffffff4d}@supports (color:color-mix(in lab, red, red)){.bg-white\/30{background-color:color-mix(in oklab, var(--color-white) 30%, transparent)}}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-4{padding:calc(var(--spacing) * 4)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.text-center{text-align:center}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-900{color:var(--color-gray-900)}.text-green-500{color:var(--color-green-500)}.text-orange-500{color:var(--color-orange-500)}.text-red-500{color:var(--color-red-500)}.text-white{color:var(--color-white)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-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,)}.\!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,)!important}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-700{--tw-duration:.7s;transition-duration:.7s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}@media (hover:hover){.group-hover\:bg-white\/50:is(:where(.group):hover *){background-color:#ffffff80}@supports (color:color-mix(in lab, red, red)){.group-hover\:bg-white\/50:is(:where(.group):hover *){background-color:color-mix(in oklab, var(--color-white) 50%, transparent)}}}.group-focus\:ring-4:is(:where(.group):focus *){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.group-focus\:ring-white:is(:where(.group):focus *){--tw-ring-color:var(--color-white)}.group-focus\:outline-none:is(:where(.group):focus *){--tw-outline-style:none;outline-style:none}@media (hover:hover){.hover\:bg-blue-800:hover{background-color:var(--color-blue-800)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:text-blue-700:hover{color:var(--color-blue-700)}.hover\:text-gray-900:hover{color:var(--color-gray-900)}}.focus\:z-10:focus{z-index:10}.focus\:text-blue-700:focus{color:var(--color-blue-700)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-4:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-blue-300:focus{--tw-ring-color:var(--color-blue-300)}.focus\:ring-gray-100:focus{--tw-ring-color:var(--color-gray-100)}.focus\:ring-gray-300:focus{--tw-ring-color:var(--color-gray-300)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}@media (width>=48rem){.md\:h-96{height:calc(var(--spacing) * 96)}}.rtl\:rotate-180:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *){rotate:180deg}@media (prefers-color-scheme:dark){.dark\:border-gray-600{border-color:var(--color-gray-600)}.dark\:border-gray-700{border-color:var(--color-gray-700)}.dark\:border-gray-900{border-color:var(--color-gray-900)}.dark\:bg-blue-600{background-color:var(--color-blue-600)}.dark\:bg-gray-700{background-color:var(--color-gray-700)}.dark\:bg-gray-800{background-color:var(--color-gray-800)}.dark\:bg-gray-800\/30{background-color:#1e29394d}@supports (color:color-mix(in lab, red, red)){.dark\:bg-gray-800\/30{background-color:color-mix(in oklab, var(--color-gray-800) 30%, transparent)}}.dark\:bg-green-800{background-color:var(--color-green-800)}.dark\:bg-orange-700{background-color:var(--color-orange-700)}.dark\:bg-red-800{background-color:var(--color-red-800)}.dark\:text-gray-400{color:var(--color-gray-400)}.dark\:text-gray-500{color:var(--color-gray-500)}.dark\:text-gray-800{color:var(--color-gray-800)}.dark\:text-green-200{color:var(--color-green-200)}.dark\:text-orange-200{color:var(--color-orange-200)}.dark\:text-red-200{color:var(--color-red-200)}.dark\:text-white{color:var(--color-white)}@media (hover:hover){.dark\:group-hover\:bg-gray-800\/60:is(:where(.group):hover *){background-color:#1e293999}@supports (color:color-mix(in lab, red, red)){.dark\:group-hover\:bg-gray-800\/60:is(:where(.group):hover *){background-color:color-mix(in oklab, var(--color-gray-800) 60%, transparent)}}}.dark\:group-focus\:ring-gray-800\/70:is(:where(.group):focus *){--tw-ring-color:#1e2939b3}@supports (color:color-mix(in lab, red, red)){.dark\:group-focus\:ring-gray-800\/70:is(:where(.group):focus *){--tw-ring-color:color-mix(in oklab, var(--color-gray-800) 70%, transparent)}}@media (hover:hover){.dark\:hover\:bg-blue-700:hover{background-color:var(--color-blue-700)}.dark\:hover\:bg-gray-700:hover{background-color:var(--color-gray-700)}.dark\:hover\:text-white:hover{color:var(--color-white)}}.dark\:focus\:ring-blue-800:focus{--tw-ring-color:var(--color-blue-800)}.dark\:focus\:ring-gray-700:focus{--tw-ring-color:var(--color-gray-700)}}}:root{--fleet-font-sans:"Manrope", ui-sans-serif, system-ui, sans-serif;--fleet-font-display:"Sora", var(--fleet-font-sans);--fleet-accent:#3b82f6;--fleet-accent-deep:#1d4ed8;--fleet-ink:#0f172a;--fleet-muted:#64748b;--fleet-brand:#e93424;--fleet-ease-spring:cubic-bezier(.34, 1.45, .64, 1);--fleet-ease-out:cubic-bezier(.22, 1, .36, 1);--fleet-ease-soft:cubic-bezier(.4, 0, .2, 1)}@media (prefers-reduced-motion:reduce){.login-panel{opacity:1!important;animation:none!important;transform:none!important}.panel-frame:after,.panel-frame:before,.panel-header,.header-text,.compact-form>.field,.form-options,.submit-btn,.panel-footer,.logo-mark,.logo-mark svg{animation:none!important}.submit-btn{background:var(--fleet-brand)}.vpl-container:before,.vpl-play-btn{animation:none!important}}.login-webgl{z-index:0;pointer-events:auto;width:100vw;height:100vh;position:fixed;top:0;left:0}.holo-scanlines{display:none}.login-panel{z-index:10001;opacity:0;animation:fleetLoginPanelIn 1s var(--fleet-ease-spring) .65s forwards;perspective:1200px;position:fixed;bottom:40px;right:40px;transform:translateY(36px)scale(.97)}@keyframes fleetLoginPanelIn{to{opacity:1;transform:translate(0)scale(1)}}@keyframes slideUpFade{to{opacity:1;transform:translateY(0)}}.panel-frame{-webkit-backdrop-filter:blur(28px)saturate(1.35);isolation:isolate;min-width:320px;transition:box-shadow .45s var(--fleet-ease-out), transform .45s var(--fleet-ease-out);background:#ffffffed;border:1px solid #0f172a17;border-radius:18px;padding:32px 36px;position:relative;overflow:hidden;box-shadow:0 32px 72px #0f172a24,0 12px 28px #0f172a12,inset 0 0 0 1px #ffffff80,inset 0 1px #ffffffe6}.login-panel:hover .panel-frame{box-shadow:0 40px 88px #0f172a29,0 16px 36px #3b82f614,inset 0 0 0 1px #ffffff8c,inset 0 1px #fffffff2}.panel-frame:before{content:"";background:linear-gradient(90deg, transparent, var(--fleet-brand) 15%, var(--fleet-brand) 85%, transparent);z-index:3;height:3px;animation:fleetBrandBarGlow 3.5s var(--fleet-ease-soft) infinite alternate;border-radius:0 0 3px 3px;position:absolute;top:0;left:24px;right:24px}@keyframes fleetBrandBarGlow{0%{filter:drop-shadow(0 0 4px #e9342459);opacity:.95}to{filter:drop-shadow(0 0 10px #e934248c);opacity:1}}.panel-frame:after{content:"";animation:fleetGlassSheen 7s var(--fleet-ease-soft) infinite;pointer-events:none;z-index:0;mix-blend-mode:overlay;background:linear-gradient(115deg,#0000 35%,#ffffff38 48%,#ffffff0d 52%,#0000 65%);position:absolute;inset:-40% -60%;transform:translate(-30%)rotate(12deg)}@keyframes fleetGlassSheen{0%{transform:translate(-45%)rotate(12deg)}55%{transform:translate(55%,5%)rotate(12deg)}to{transform:translate(55%,5%)rotate(12deg)}}.panel-frame>*{z-index:1;position:relative}.panel-header{animation:fleetFadeRise .6s var(--fleet-ease-out) 1.08s both;border-bottom:1px solid #0000000f;align-items:center;gap:14px;margin-bottom:28px;padding-bottom:20px;display:flex}@keyframes fleetFadeRise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translate(0)}}.logo-mark{width:36px;height:36px;animation:fleetLogoReveal .85s var(--fleet-ease-out) 1.05s both;flex-shrink:0}@keyframes fleetLogoReveal{0%{opacity:0;transform:translate(-8px,8px)scale(.85)rotate(-8deg)}to{opacity:1;transform:translate(0)scale(1)rotate(0)}}.logo-mark svg{width:100%;height:100%;animation:fleetMarkGlow 4.5s var(--fleet-ease-soft) 1.8s infinite}@keyframes fleetMarkGlow{0%,to{filter:drop-shadow(0 0 #0000)}50%{filter:drop-shadow(0 0 6px #e9342473)}}.logo-mark svg circle{fill:none;stroke:#e93424!important}.logo-mark svg circle:last-child{fill:#e93424!important}.header-text{animation:fleetFadeRise .55s var(--fleet-ease-out) 1.14s both;flex-direction:column;gap:2px;display:flex}.brand-title{font-family:var(--fleet-font-display);letter-spacing:-.02em;color:var(--fleet-ink);font-size:1.125rem;font-weight:600}.brand-sub{font-family:var(--fleet-font-sans);letter-spacing:.08em;color:var(--fleet-muted);text-transform:uppercase;font-size:.7rem;font-weight:500}.compact-form{flex-direction:column;gap:20px;display:flex}.field{animation:fleetFadeRise .55s var(--fleet-ease-out) both;position:relative}.compact-form>.field:first-of-type{animation-delay:1.18s}.compact-form>.field:nth-of-type(2){animation-delay:1.26s}.field input{color:#1a1a1a;width:100%;font-family:var(--fleet-font-sans);transition:border-color .35s var(--fleet-ease-soft), box-shadow .35s var(--fleet-ease-soft), background .35s var(--fleet-ease-soft), transform .25s var(--fleet-ease-out);background:#f8fafc;border:1px solid #0f172a0f;border-radius:10px;outline:none;padding:14px 16px;font-size:.95rem;font-weight:400}.field input::placeholder{color:#0000}.field label{font-family:var(--fleet-font-sans);color:#999;pointer-events:none;background:0 0;padding:0 4px;font-size:.85rem;font-weight:400;transition:all .25s cubic-bezier(.4,0,.2,1);position:absolute;top:15px;left:16px}.field input:not(:-moz-placeholder-shown){background:#fff;border-color:#e93424a6;box-shadow:0 0 0 3px #e934241f,0 10px 22px #0f172a0f}.field input:focus,.field input:not(:placeholder-shown){background:#fff;border-color:#e93424a6;box-shadow:0 0 0 3px #e934241f,0 10px 22px #0f172a0f}.field input:focus{transform:translateY(-1px)}.field input:not(:-moz-placeholder-shown)~label{color:#e93424;background:#fff;font-size:.7rem;top:-8px;left:12px}.field input:focus~label,.field input:not(:placeholder-shown)~label{color:#e93424;background:#fff;font-size:.7rem;top:-8px;left:12px}.field-bar{display:none}.form-options{animation:fleetFadeRise .5s var(--fleet-ease-out) 1.32s both;justify-content:flex-end;margin-top:-8px;display:flex}.forgot-link{font-family:var(--fleet-font-sans);color:#e93424;font-size:.8rem;font-weight:400;text-decoration:none;transition:color .2s}.submit-btn{background:linear-gradient(135deg, #f03a2a 0%, var(--fleet-brand) 45%, #c4281c 100%);color:#fff;font-family:var(--fleet-font-sans);letter-spacing:.03em;cursor:pointer;animation:fleetFadeRise .55s var(--fleet-ease-out) 1.38s both, fleetBtnGradient 8s var(--fleet-ease-soft) infinite;transition:transform .35s var(--fleet-ease-spring), box-shadow .35s var(--fleet-ease-out);background-size:200% 200%;border:none;border-radius:11px;justify-content:center;align-items:center;gap:10px;margin-top:8px;padding:14px 24px;font-size:.85rem;font-weight:600;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 28px #e9342447}.submit-btn>*{z-index:1;position:relative}.submit-btn:after{content:"";transition:transform .6s var(--fleet-ease-out);pointer-events:none;z-index:0;background:linear-gradient(100deg,#0000 0%,#ffffff59 45%,#0000 70%);position:absolute;inset:0;transform:translate(-120%)}.submit-btn:hover:after{transform:translate(120%)}@keyframes fleetBtnGradient{0%,to{background-position:0%}50%{background-position:100%}}.submit-btn svg{width:16px;height:16px;transition:transform .4s var(--fleet-ease-spring)}.submit-btn:hover{transform:translateY(-2px)scale(1.01);box-shadow:0 14px 36px #e9342461}.submit-btn:hover svg{transform:translate(5px)}.submit-btn:active{transition-duration:.12s;transform:translate(0)scale(.99)}.error-toast{color:#dc2626;font-family:var(--fleet-font-sans);text-align:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-top:8px;padding:12px 16px;font-size:.8rem;font-weight:500;animation:.4s ease-in-out shake;display:none}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}.panel-footer{font-family:var(--fleet-font-sans);color:#aaa;animation:fleetFadeRise .55s var(--fleet-ease-out) 1.46s both;border-top:1px solid #0000000f;align-items:center;gap:8px;margin-top:24px;padding-top:16px;font-size:.7rem;font-weight:400;display:flex}.status-led{background:#22c55e;border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite pulse-led}@keyframes pulse-led{0%,to{opacity:1}50%{opacity:.5}}@media (width<=768px){.login-panel{bottom:20px;left:20px;right:20px}.panel-frame{min-width:auto;padding:28px}}@media (width<=480px){.login-panel{animation:fleetLoginPanelIn .75s var(--fleet-ease-spring) .45s forwards;bottom:0;left:0;right:0}.panel-frame{border-radius:16px 16px 0 0;padding:24px 20px 32px}}.login-container{pointer-events:none;z-index:2;width:100vw;height:100vh;position:fixed;top:0;left:0}.login-panel,.login-panel *{pointer-events:auto}.login-background{z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}.bg-overlay{background:linear-gradient(145deg,#0f172aeb 0%,#1e293bd1 48%,#0f172ae6 100%);width:100%;height:100%;position:absolute;top:0;left:0}.circuit-pattern{background-image:linear-gradient(45deg,#0000 48%,#3b82f60a 50%,#0000 52%);background-size:100px 100px;width:100%;height:100%;position:absolute;top:0;left:0}.floating-elements{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.floating-element{width:4px;height:4px;animation:12s ease-in-out infinite float;animation-delay:var(--delay);background:#3b82f659;border-radius:50%;position:absolute}.floating-element:first-child{top:20%;left:10%}.floating-element:nth-child(2){top:60%;left:80%}@keyframes float{0%,to{opacity:.4;transform:translateY(0)}50%{opacity:.8;transform:translateY(-15px)}}.login-content{z-index:2;flex-direction:column;justify-content:center;align-items:center;gap:3rem;width:100%;max-width:1200px;padding:2rem;display:flex;position:relative}.brand-section{text-align:center;margin-bottom:2rem}.logo-container{flex-direction:column;align-items:center;gap:1rem;display:flex}.logo-icon{background:linear-gradient(135deg,#3b82f6 0%,#1d4ed8 100%);border-radius:20px;justify-content:center;align-items:center;width:80px;height:80px;display:flex;box-shadow:0 8px 32px #3b82f64d}.logo-icon svg{color:#fff;width:40px;height:40px}.logo-hexagon{filter:drop-shadow(0 0 20px #3b82f680);justify-content:center;align-items:center;width:80px;height:80px;animation:3s ease-in-out infinite hexPulse;display:flex}.logo-svg{width:100%;height:100%}@keyframes hexPulse{0%,to{filter:drop-shadow(0 0 20px #3b82f680);transform:scale(1)}50%{filter:drop-shadow(0 0 30px #3b82f6cc);transform:scale(1.05)}}.input-glow{pointer-events:none;opacity:0;border-radius:12px;transition:opacity .3s;position:absolute;inset:0;box-shadow:0 0 20px #3b82f64d}.form-input:focus~.input-glow{opacity:1}.button-ripple{background:linear-gradient(90deg,#0000,#fff3,#0000);transition:transform .5s;position:absolute;inset:0;transform:translate(-100%)}.login-button:hover .button-ripple{transform:translate(100%)}.error-message{background:#ff3b3b1a;border:1px solid #ff3b3b4d;border-radius:12px;align-items:center;gap:.75rem;margin-top:1rem;padding:1rem;animation:.5s ease-in-out errorShake;display:flex}.error-message svg{color:#ff6b6b;flex-shrink:0;width:24px;height:24px}.error-text{color:#ff6b6b;font-size:.9rem;font-weight:500}@keyframes errorShake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.form-card.error{animation:.8s ease-in-out cardError}.form-card.error .corner-accent{border-color:#ff3b3b!important}@keyframes cardError{0%,to{box-shadow:0 25px 50px #00000080,0 0 100px #3b82f61a}25%,75%{box-shadow:0 25px 50px #00000080,0 0 100px #ff3b3b4d}}.form-card.success .corner-accent{border-color:#0f8!important}.brand-name{-webkit-text-fill-color:transparent;letter-spacing:.3em;text-transform:uppercase;text-shadow:0 0 30px #3b82f680;background:linear-gradient(135deg,#3b82f6 0%,#0f8 50%,#fff 100%);-webkit-background-clip:text;background-clip:text;margin:0;font-family:Orbitron,Rajdhani,sans-serif;font-size:2.5rem;font-weight:700;animation:2s ease-in-out infinite alternate brandGlow}@keyframes brandGlow{0%{filter:drop-shadow(0 0 5px #3b82f64d)}to{filter:drop-shadow(0 0 15px #3b82f699)}}.brand-tagline{color:#3b82f6b3;letter-spacing:.15em;text-transform:uppercase;margin:.5rem 0 0;font-family:Rajdhani,sans-serif;font-size:1rem;font-weight:400}.login-form-container{width:100%;max-width:450px}.form-card{-webkit-backdrop-filter:blur(20px);background:#0a0a1ed9;border:1px solid #3b82f633;border-radius:24px;padding:3rem;position:relative;overflow:hidden;box-shadow:0 25px 50px #00000080,0 0 100px #3b82f61a,inset 0 1px #ffffff1a}.form-card.glass-morphism{background:linear-gradient(135deg,#0f0f23e6 0%,#141432d9 50%,#0a0a1ee6 100%)}.corner-accent{z-index:1;border:2px solid #0000;width:30px;height:30px;position:absolute}.corner-accent.top-left{border-top-color:#3b82f6;border-left-color:#3b82f6;border-top-left-radius:24px;top:-1px;left:-1px}.corner-accent.top-right{border-top-color:#0f8;border-right-color:#0f8;border-top-right-radius:24px;top:-1px;right:-1px}.corner-accent.bottom-left{border-bottom-color:#0f8;border-left-color:#0f8;border-bottom-left-radius:24px;bottom:-1px;left:-1px}.corner-accent.bottom-right{border-bottom-color:#3b82f6;border-right-color:#3b82f6;border-bottom-right-radius:24px;bottom:-1px;right:-1px}.form-card:before{content:"";background:linear-gradient(90deg,#3b82f6,#1d4ed8,#3b82f6);height:2px;position:absolute;top:0;left:0;right:0}.form-header{text-align:center;margin-bottom:2rem}.form-title{color:#fff;margin:0 0 .5rem;font-size:1.8rem;font-weight:700}.form-subtitle{color:#fff9;margin:0;font-size:.95rem}.login-form{flex-direction:column;gap:1.5rem;display:flex}.input-group{position:relative}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon{color:#ffffff80;z-index:2;width:20px;height:20px;transition:color .3s;position:absolute;left:1rem}.form-input{color:#fff;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;width:100%;padding:1rem 1rem 1rem 3rem;font-size:1rem;transition:all .3s}.form-input::placeholder{color:#fff6}.input-wrapper.focused .input-icon,.input-wrapper.has-value .input-icon{color:#3b82f6}.form-input:focus{background:#ffffff14;border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.form-input:focus+.input-icon{color:#3b82f6}.input-line{background:linear-gradient(90deg,#3b82f6,#1d4ed8);width:0;height:2px;transition:width .3s;position:absolute;bottom:0;left:0}.form-input:focus~.input-line{width:100%}.form-options{justify-content:space-between;align-items:center;margin-top:1rem;display:flex}.checkbox-container{cursor:pointer;align-items:center;gap:.5rem;display:flex}.checkbox-input{display:none}.checkbox-custom{border:2px solid #ffffff4d;border-radius:4px;width:18px;height:18px;transition:all .3s;position:relative}.checkbox-custom.checked{background:#3b82f6;border-color:#3b82f6}.checkbox-custom.checked:after{content:"✓";color:#fff;font-size:12px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.checkbox-label{color:#ffffffb3;font-size:.9rem}.forgot-link{color:#3b82f6;font-size:.9rem;text-decoration:none;transition:color .3s}.forgot-link:hover{color:#1d4ed8;text-decoration:underline}.login-button{color:#fff;letter-spacing:.15em;cursor:pointer;text-transform:uppercase;background:linear-gradient(135deg,#3b82f6 0%,#1d4ed8 50%,#0f8 100%) 0 0/200% 200%;border:none;border-radius:12px;width:100%;margin-top:1.5rem;padding:1.1rem 1.5rem;font-family:Orbitron,sans-serif;font-size:.9rem;font-weight:600;transition:all .3s;animation:3s ease-in-out infinite buttonGradient;position:relative;overflow:hidden}@keyframes buttonGradient{0%,to{background-position:0%}50%{background-position:100%}}.login-button:hover{transform:translateY(-2px);box-shadow:0 10px 25px #3b82f64d}.login-button:active{transform:translateY(0)}.button-text{z-index:2;position:relative}.button-loader{opacity:0;transition:opacity .3s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.login-button.loading .button-text{opacity:0}.login-button.loading .button-loader{opacity:1}.loader-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.form-footer{text-align:center;border-top:1px solid #ffffff1a;margin-top:2rem;padding-top:1.5rem}.footer-text{color:#fff9;margin:0;font-size:.9rem}.contact-link{color:#3b82f6;font-weight:500;text-decoration:none;transition:color .3s}.contact-link:hover{color:#1d4ed8;text-decoration:underline}.status-indicators{gap:2rem;margin-top:2rem;display:flex}.status-item{align-items:center;gap:.5rem;display:flex}.status-dot{background:#ffffff4d;border-radius:50%;width:8px;height:8px}.status-dot.active{background:#0f8;box-shadow:0 0 10px #00ff8880}@media (width<=768px){.login-content{gap:2rem;padding:1rem}.brand-name{font-size:2.5rem}.form-card{padding:2rem}.status-indicators{flex-direction:column;align-items:center;gap:1rem}.floating-elements{display:none}.form-card,.form-input{-webkit-backdrop-filter:none;backdrop-filter:none}}@media (width<=480px){.brand-name{font-size:2rem}.form-card{padding:1.5rem}.form-title{font-size:1.5rem}.logo-icon{width:60px;height:60px}.logo-icon svg{width:30px;height:30px}}*{margin:0;padding:0}html,body{background-color:#f8f8f8;overflow:hidden}.webgl{z-index:0;outline:none;position:absolute;top:0;left:0}.ros-connections-overlay{z-index:5000;box-sizing:border-box;-webkit-backdrop-filter:blur(6px);opacity:0;pointer-events:none;background:#0f172a85;justify-content:center;align-items:center;padding:16px;transition:opacity .2s;display:flex;position:fixed;inset:0}.ros-connections-overlay--visible{opacity:1;pointer-events:auto}.ros-connections-panel{background:#f8fafc;border:1px solid #0f172a1f;border-radius:14px;flex-direction:column;width:min(960px,96vw);max-height:min(86vh,760px);display:flex;overflow:hidden;box-shadow:0 28px 80px #00000059,inset 0 0 0 1px #fff9}.ros-connections-header{background:linear-gradient(#fff 0%,#f1f5f9 100%);border-bottom:1px solid #0f172a14;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px 12px;display:flex}.ros-connections-header h2{color:#0f172a;letter-spacing:-.02em;margin:0 0 6px;font-size:1.15rem;font-weight:700}.ros-connections-sub{color:#64748b;margin:0;font-size:.8rem;line-height:1.45}.ros-connections-hint{color:#94a3b8;margin:10px 0 0;font-size:.72rem}.ros-connections-hint kbd{background:#fff;border:1px solid #0f172a1f;border-radius:4px;padding:1px 5px;font-family:ui-monospace,monospace;font-size:.68rem;display:inline-block}.ros-connections-close{color:#334155;cursor:pointer;background:#0f172a0f;border:none;border-radius:8px;flex-shrink:0;width:36px;height:36px;font-size:1.35rem;line-height:1;transition:background .15s}.ros-connections-close:hover{color:#b91c1c;background:#ef444426}.ros-connections-toolbar{background:#f8fafc;border-bottom:1px solid #0f172a0f;justify-content:space-between;align-items:center;gap:12px;padding:8px 20px;display:flex}.ros-connections-disconnect-all{color:#b91c1c;cursor:pointer;background:#fff;border:1px solid #ef444473;border-radius:8px;padding:6px 14px;font-size:.78rem;font-weight:600}.ros-connections-disconnect-all:hover{background:#ef444414}.ros-connections-refresh{color:#1d4ed8;cursor:pointer;background:#fff;border:1px solid #3b82f659;border-radius:8px;padding:6px 14px;font-size:.78rem;font-weight:600}.ros-connections-refresh:hover{background:#3b82f614}.ros-connections-actions-col{white-space:nowrap;width:1%}.ros-connections-disconnect{color:#b91c1c;cursor:pointer;background:#fff;border:1px solid #ef444466;border-radius:6px;padding:5px 12px;font-size:.72rem;font-weight:600}.ros-connections-disconnect:hover{background:#ef44441a}.ros-connections-table-wrap{flex:1;padding:12px 16px 18px;overflow:auto}.ros-connections-table{border-collapse:collapse;width:100%;font-size:.78rem}.ros-connections-table th,.ros-connections-table td{text-align:left;vertical-align:top;border-bottom:1px solid #0f172a0f;padding:8px 10px}.ros-connections-table th{color:#475569;z-index:1;background:#f8fafc;font-weight:700;position:sticky;top:0}.ros-connections-table tbody tr:hover td{background:#3b82f60a}.ros-connections-url code{word-break:break-all;color:#0f172a;font-size:.72rem}.ros-connections-empty{text-align:center;color:#64748b;padding:28px 12px!important}.ros-connections-pill{border-radius:999px;padding:2px 10px;font-size:.72rem;font-weight:600;display:inline-block}.ros-connections-pill--ok{color:#15803d;background:#22c55e26}.ros-connections-pill--off{color:#475569;background:#94a3b833}.topp{position:sticky;z-index:10!important}.commander-avatar-fab,#openPanel.commander-avatar-fab{cursor:pointer;z-index:1001;background:0 0;border:none;justify-content:center;align-items:center;width:58px;height:58px;padding:0;transition:transform .25s cubic-bezier(.34,1.4,.64,1),box-shadow .25s;display:flex;position:fixed;top:20px;right:20px}.commander-avatar-fab__ring{opacity:.95;background:conic-gradient(from 210deg,#e93424 0deg,#f59e0b 120deg,#3b82f6 220deg,#e93424 360deg);border-radius:50%;transition:transform .4s,opacity .25s;position:absolute;inset:0}.commander-avatar-fab__body{z-index:1;background:linear-gradient(145deg,#1e293b 0%,#0f172a 100%);border:2px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;display:flex;position:relative;box-shadow:0 4px 16px #0f172a73,inset 0 1px #ffffff1f}.commander-avatar-fab__initials{font-family:var(--fleet-font-display,var(--fleet-font-sans));letter-spacing:.04em;color:#f8fafc;text-shadow:0 1px 2px #0006;font-size:.95rem;font-weight:700}.commander-avatar-fab__status{z-index:2;background:#22c55e;border:2px solid #0f172a;border-radius:50%;width:11px;height:11px;position:absolute;top:4px;left:4px;box-shadow:0 0 8px #22c55eb3}.commander-avatar-fab__level{z-index:2;text-align:center;color:#fff;min-width:20px;height:20px;font-size:.65rem;font-weight:800;line-height:20px;font-family:var(--fleet-font-sans);background:linear-gradient(135deg,#e93424 0%,#c41e12 100%);border:2px solid #0f172a;border-radius:10px;padding:0 5px;position:absolute;bottom:-2px;right:-2px;box-shadow:0 2px 8px #e9342473}.commander-avatar-fab:hover{transform:translateY(-3px)scale(1.04)}.commander-avatar-fab:hover .commander-avatar-fab__ring{opacity:1;transform:rotate(24deg)}.commander-avatar-fab:active{transform:translateY(0)scale(.98)}.commander-avatar-fab:focus-visible{outline-offset:4px;outline:2px solid #3b82f6}@media (width<=768px){.commander-avatar-fab,#openPanel.commander-avatar-fab{width:52px;height:52px;top:12px;right:12px}.commander-avatar-fab__body{width:42px;height:42px}}.side-panel{color:#fff;background-color:#807e7e00;width:250px;padding:20px;transition:right .3s ease-in-out;position:fixed;top:20%;right:-250px;box-shadow:-3px 0 10px #00000080}.side-panel.active{right:0}#closePanel{color:#fff;cursor:pointer;background:0 0;border:none;font-size:30px;position:absolute;top:10px;left:15px}#closePanel:hover{color:red}.toggle-container{margin-top:40px}.toggle-label{cursor:pointer;justify-content:space-between;align-items:center;width:100%;margin:10px 0;font-size:16px;display:flex}.toggle{display:none}.slider{background:#ccc;border-radius:20px;width:40px;height:20px;transition:all .3s;position:relative}.slider:before{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:all .3s;position:absolute;top:1px;left:1px}.toggle:checked+.slider{background:#4caf50}.toggle:checked+.slider:before{transform:translate(20px)}#robotFunctions{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:0;visibility:hidden;z-index:1000;background:#1e2026f5;border:1px solid #ffffff14;border-radius:18px;flex-direction:column;width:320px;padding:0;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;bottom:20px;right:130px;overflow:hidden;transform:translateY(24px);box-shadow:0 8px 32px #0000002e}#robotFunctions.active{opacity:1;visibility:visible;transform:translateY(0)}.robot-functions-header{color:#fff;letter-spacing:.2px;z-index:2;background:#ffffff0a;border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:16px 20px 14px;font-size:17px;font-weight:600;display:flex;position:sticky;top:0;left:0;right:0}.header-content{flex-direction:column;gap:4px;display:flex}.task-id{color:#ffffffb3;font-size:14px;font-weight:400}.header-actions{align-items:center;gap:8px;display:flex}.error-button{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex;position:relative}.error-button:hover{color:#ff4c4c;background:#ffffff1a;transform:scale(1.1)}.error-button.has-errors{color:#ff4c4c;animation:2s infinite pulse}.error-button.has-errors:after{content:"";background:#ff4c4c;border:2px solid #000000e6;border-radius:50%;width:8px;height:8px;position:absolute;top:-2px;right:-2px}@keyframes pulse{50%{opacity:.5}}#robotFunctionsTitle{color:#fff;letter-spacing:.5px;font-size:17px;font-weight:600}#closeRobotFunctions{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:24px;transition:background .2s,color .2s,transform .2s;display:flex}#closeRobotFunctions:hover{color:#ff4c4c;background:#ffffff1a;transform:rotate(90deg)scale(1.1)}.robot-functions-divider{z-index:1;background:linear-gradient(90deg,#ffffff1a,#ffffff08);border:none;width:100%;height:1px;margin:0}#robotFunctions .grid{flex:1;grid-template-columns:repeat(3,1fr);gap:14px;max-height:60vh;padding:20px 18px 18px;display:grid;overflow-y:auto}.estop-button{color:#fff;text-transform:uppercase;background:radial-gradient(circle,#ff4c4c,#d60000);font-size:18px;font-weight:700;transition:all .3s;box-shadow:0 4px 15px #0003;border:2px solid #ffffff4d!important;border-radius:18px!important;width:85px!important;height:85px!important}.estop-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000004d}.estop-button:active{transform:scale(.95);box-shadow:0 2px 10px #0003}.estop-button.stop{background:radial-gradient(circle,#1d6d0e,#00ff37)}#drawer-swipe{z-index:1100;border-top:1px solid #0000001a;border-left:1px solid #0000001a;border-radius:15px 0 0;width:calc(100% - 120px);transition:transform .3s ease-in-out;position:fixed;bottom:0;right:120px;overflow-y:auto}#drawer-swipe.translate-y-full{transform:translateY(100%)}#drawer-swipe .p-4{padding:1rem;position:relative}#drawer-swipe .p-4 span{background:#0003;border-radius:.5rem;width:2rem;height:.25rem;position:absolute;top:.75rem;left:50%;transform:translate(-50%)}#robotFunctions .function-button{cursor:pointer;background:#ffffff14;border:1px solid #ffffff21;border-radius:12px;flex-direction:column;align-items:center;gap:8px;min-width:0;padding:14px 0 10px;transition:background .2s,box-shadow .2s,transform .2s;display:flex;box-shadow:0 2px 8px #00000012}#robotFunctions .function-button:hover{background:#ffffff2e;transform:translateY(-2px)scale(1.04);box-shadow:0 4px 16px #00000021}#robotFunctions .function-button.active{background:#007bff33;border-color:#007bff66;box-shadow:0 4px 16px #007bff33}#robotFunctions .function-button.active .icon-container{background:#007bff4d}#robotFunctions .function-button.active .text{color:#4dabff}#robotFunctions .icon-container{background:#ffffff21;border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;margin-bottom:4px;display:flex}#robotFunctions .icon-container svg{color:#fff;width:22px;height:22px}#robotFunctions .text{color:#f3f3f3;text-align:center;word-break:break-word;letter-spacing:.1px;font-size:13px;font-weight:500;line-height:1.3}@media (width>=1024px){#robotFunctions .grid{grid-template-columns:repeat(4,1fr)}}.counter-container{background:#00000026;border-top:1px solid #ffffff1a;flex-direction:column;align-items:center;gap:3px;width:100%;margin-top:auto;padding:15px 0;display:flex;position:relative}.counter{color:#fff;text-shadow:0 0 10px #ffffff80;font-size:38px;font-weight:700;line-height:1;transition:all .3s}.label{color:#ffffffb3;text-transform:uppercase;letter-spacing:.5px;font-size:13px;line-height:1}.dialog{z-index:2000;background-color:#00000080;justify-content:center;align-items:center;width:100%;height:100%;padding:20px;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.dialog-content{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1e2026f5;border:1px solid #ffffff14;border-radius:18px;flex-direction:column;width:90%;max-width:1200px;max-height:90vh;display:flex;box-shadow:0 8px 32px #0000002e}.dialog-header{z-index:1;background:#ffffff0a;border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:20px;display:flex;position:sticky;top:0}.dialog-header h2{color:#fff;margin:0;font-size:1.5rem}.close-button{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:24px;transition:all .2s;display:flex}.close-button:hover{color:#ff4c4c;background:#ffffff1a;transform:rotate(90deg)scale(1.1)}.date-filter-container{background:#ffffff08;border-bottom:1px solid #ffffff14;flex-wrap:wrap;align-items:center;gap:16px;padding:16px 20px;display:flex}.date-filter-group{flex-direction:column;gap:4px;display:flex}.date-filter-group label{color:#ffffffb3;text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:500}.datetime-input{color:#fff;background:#0000004d;border:1px solid #ffffff26;border-radius:8px;min-width:200px;padding:10px 14px;font-size:14px;transition:all .2s}.datetime-input:hover{background:#0006;border-color:#ffffff40}.datetime-input:focus{border-color:#4f8ef7;outline:none;box-shadow:0 0 0 3px #4f8ef733}.datetime-input::-webkit-calendar-picker-indicator{filter:invert();cursor:pointer;opacity:.7;transition:opacity .2s}.datetime-input::-webkit-calendar-picker-indicator:hover{opacity:1}.filter-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4f8ef7,#3d7de5);border:none;border-radius:8px;margin-top:18px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s}.filter-button:hover{background:linear-gradient(135deg,#5c99fa,#4a88f0);transform:translateY(-1px);box-shadow:0 4px 12px #4f8ef74d}.filter-button:active{transform:translateY(0)}.filter-button.secondary{background:#ffffff1a;border:1px solid #ffffff26}.filter-button.secondary:hover{background:#ffffff26;box-shadow:0 4px 12px #0003}.robot-function-popup{z-index:2000;opacity:0;visibility:hidden;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .25s cubic-bezier(.4,0,.2,1),visibility .25s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;left:0}.robot-function-popup.active{opacity:1;visibility:visible}.robot-function-popup .popup-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;width:100%;height:100%;position:absolute;top:0;left:0}.robot-function-popup .popup-content{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1e2026f5;border:1px solid #ffffff14;border-radius:18px;width:90%;max-width:500px;max-height:80vh;transition:transform .25s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;transform:translateY(20px)scale(.9);box-shadow:0 20px 50px #0000004d}.robot-function-popup .popup-content.popup-content-wide{width:95%;max-width:900px}.robot-function-popup.active .popup-content{transform:translateY(0)scale(1)}.robot-function-popup .popup-header{background:#ffffff0a;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.robot-function-popup .header-content h3{color:#fff;margin:0;font-size:1.2rem;font-weight:600}.robot-function-popup .robot-task-id{color:#fff9;margin-top:2px;font-size:.85rem}.robot-function-popup .popup-close-btn{color:#ffffffb3;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:8px;transition:all .2s;display:flex}.robot-function-popup .popup-close-btn:hover{color:#ff4c4c;background:#ffffff1a;transform:rotate(90deg)}.robot-function-popup .popup-close-btn svg{width:20px;height:20px}.robot-function-popup .popup-divider{background:linear-gradient(90deg,#ffffff1a,#ffffff08);border:none;width:100%;height:1px;margin:0}.robot-function-popup .popup-grid{flex:1;grid-template-columns:repeat(2,1fr);align-content:start;gap:12px;padding:16px;display:grid;overflow-y:auto}.robot-function-popup .popup-grid::-webkit-scrollbar{width:6px}.robot-function-popup .popup-grid::-webkit-scrollbar-track{background:#0003;border-radius:3px}.robot-function-popup .popup-grid::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.robot-function-popup .popup-grid::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.robot-function-popup .function-button{cursor:pointer;background:#ffffff14;border:1px solid #ffffff21;border-radius:12px;flex-direction:column;align-items:center;gap:10px;min-width:0;padding:16px 12px 12px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 2px 8px #00000012}.robot-function-popup .function-button:hover{background:#ffffff2e;transform:translateY(-2px)scale(1.02);box-shadow:0 6px 20px #00000026}.robot-function-popup .function-button:active{transform:translateY(0)scale(.98)}.robot-function-popup .icon-container{background:#ffffff21;border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;margin-bottom:2px;transition:background .2s;display:flex}.robot-function-popup .function-button:hover .icon-container{background:#fff3}.robot-function-popup .icon-container svg{color:#fff;width:24px;height:24px}.robot-function-popup .text{color:#f3f3f3;text-align:center;word-break:break-word;letter-spacing:.1px;font-size:13px;font-weight:500;line-height:1.3}.robot-function-popup .no-functions{text-align:center;color:#fff9;grid-column:1/-1;padding:40px 20px;font-style:italic}@media (width<=768px){.popup-body-split{grid-template-columns:1fr;max-height:calc(85vh - 80px)}.robot-info-panel{border-bottom:1px solid #ffffff14;border-right:none;max-height:35vh}.robot-function-popup .popup-content.popup-content-wide{width:95%;max-width:500px;max-height:90vh}.robot-function-popup .popup-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=640px){.robot-function-popup .popup-content{width:95%;margin:20px}.robot-function-popup .popup-content.popup-content-wide{border-radius:14px;width:98%;max-width:100%;margin:10px}.robot-function-popup .popup-grid{grid-template-columns:repeat(2,1fr);gap:10px;padding:12px}.robot-info-panel{max-height:30vh}.panel-header{padding:12px 16px}.panel-header h4{font-size:13px}.robot-info-content-visible{padding:12px}.robot-function-popup .function-button{padding:14px 10px 10px}.robot-function-popup .icon-container{width:38px;height:38px}.robot-function-popup .icon-container svg{width:20px;height:20px}}.popup-body-split{grid-template-columns:1fr 1fr;gap:0;max-height:calc(80vh - 80px);display:grid;overflow:hidden}.robot-info-panel,.robot-actions-panel{flex-direction:column;display:flex;overflow:hidden}.robot-info-panel{background:#00000026;border-right:1px solid #ffffff14}.robot-actions-panel{background:#ffffff05}.panel-header{background:linear-gradient(135deg,#3b82f614 0%,#1d4ed808 100%);border-bottom:1px solid #ffffff0f;align-items:center;gap:10px;padding:16px 20px;display:flex}.panel-header svg{color:#3b82f6;flex-shrink:0}.panel-header h4{color:#e2e8f0;letter-spacing:.3px;margin:0;font-size:14px;font-weight:600}.robot-info-content-visible{flex:1;padding:16px;overflow:hidden auto}.robot-info-content-visible::-webkit-scrollbar{width:6px}.robot-info-content-visible::-webkit-scrollbar-track{background:#0003;border-radius:3px}.robot-info-content-visible::-webkit-scrollbar-thumb{background:#3b82f64d;border-radius:3px}.robot-info-content-visible::-webkit-scrollbar-thumb:hover{background:#3b82f680}.loading-info{text-align:center;color:#ffffff80;padding:30px 20px;font-style:italic}.robot-info-section{margin:0 24px}.robot-info-header{cursor:pointer;background:linear-gradient(135deg,#ffffff0d 0%,#ffffff05 100%);border-radius:8px;justify-content:space-between;align-items:center;padding:12px 16px;transition:all .3s;display:flex}.robot-info-header:hover{background:linear-gradient(135deg,#3b82f61a 0%,#1d4ed80d 100%)}.robot-info-header h4{color:#e2e8f0;margin:0;font-size:14px;font-weight:600}.toggle-info-btn{color:#fff9;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;transition:all .3s;display:flex}.toggle-info-btn:hover{color:#3b82f6}.toggle-info-btn.expanded svg{transform:rotate(180deg)}.toggle-info-btn svg{transition:transform .3s}.robot-info-content{background:#0003;border-radius:0 0 8px 8px;max-height:400px;margin-top:-8px;padding:16px;overflow-y:auto}.robot-info-content::-webkit-scrollbar{width:6px}.robot-info-content::-webkit-scrollbar-track{background:#0003;border-radius:3px}.robot-info-content::-webkit-scrollbar-thumb{background:#3b82f64d;border-radius:3px}.robot-info-content::-webkit-scrollbar-thumb:hover{background:#3b82f680}.robot-info-grid{grid-template-columns:1fr;gap:8px;display:grid}.info-row{background:#ffffff08;border-radius:6px;grid-template-columns:140px 1fr;align-items:center;gap:12px;padding:8px 10px;transition:background .2s;display:grid}.info-row:hover{background:#ffffff0d}.info-value{color:#ffffffe6;word-break:break-word;font-size:12px;font-weight:400}.battery-low{font-weight:600;color:#ef4444!important}.battery-medium{font-weight:600;color:#f59e0b!important}.battery-high,.status-active{font-weight:600;color:#10b981!important}.status-inactive{color:#6b7280!important}.no-data{text-align:center;color:#ffffff80;padding:20px;font-style:italic}.robot-errors-section{border-top:1px solid #ffffff1a;margin-top:16px;padding-top:16px}.errors-header{background:linear-gradient(135deg,#ef444426 0%,#dc26261a 100%);border:1px solid #ef44444d;border-radius:8px;align-items:center;gap:8px;margin-bottom:12px;padding:12px;display:flex}.errors-header svg{stroke:#ef4444;flex-shrink:0}.errors-header span{color:#fca5a5;font-size:14px;font-weight:600}.error-category{background:#ffffff08;border-left:3px solid #ef4444;border-radius:8px;margin-bottom:16px;padding:12px}.error-category-title{color:#fca5a5;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:13px;font-weight:600}.error-item{background:#ffffff05;border:1px solid #ffffff0d;border-radius:6px;margin-bottom:8px;padding:10px;transition:all .2s}.error-item:hover{background:#ffffff0a;border-color:#ef444433;transform:translate(4px)}.error-item:last-child{margin-bottom:0}.error-name{color:#ef4444;align-items:center;gap:6px;margin-bottom:6px;font-size:13px;font-weight:600;display:flex}.error-name:before{content:"⚠️";font-size:14px}.error-description{color:#fffc;margin-bottom:6px;padding-left:20px;font-size:12px;line-height:1.5}.error-fix{color:#10b981;background:#10b9811a;border-left:2px solid #10b981;border-radius:4px;margin-top:6px;padding:6px 10px;font-size:12px;font-weight:500}.error-fix:before{content:"💡 ";margin-right:4px}@media (width<=768px){.robot-info-section{margin:0 16px}.info-row{grid-template-columns:1fr;gap:4px}.info-label,.info-value{font-size:12px}.error-category{padding:10px}.error-item{padding:8px}.error-description{padding-left:0}}@media (width>=768px){.robot-function-popup .popup-grid{grid-template-columns:repeat(4,1fr)}}.robot-popup-modern{z-index:9999;opacity:0;visibility:hidden;pointer-events:none;justify-content:center;align-items:center;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;inset:0}.robot-popup-modern.active{opacity:1;visibility:visible;pointer-events:auto}.rp-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto;cursor:pointer;background:#000000b3;position:absolute;inset:0}.rp-container{background:linear-gradient(145deg,#1a1d24 0%,#12141a 100%);border:1px solid #ffffff14;border-radius:20px;flex-direction:column;width:95%;max-width:1100px;height:85vh;max-height:85vh;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden;transform:scale(.95)translateY(10px);box-shadow:0 25px 50px -12px #00000080,0 0 0 1px #ffffff0d,inset 0 1px #ffffff1a}.robot-popup-modern.active .rp-container{transform:scale(1)translateY(0)}.rp-header{background:linear-gradient(#ffffff0a 0%,#0000 100%);border-bottom:1px solid #ffffff0f;flex-shrink:0;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.rp-robot-badge{align-items:center;gap:16px;display:flex}.rp-robot-icon{background:linear-gradient(135deg,#3b82f6 0%,#1d4ed8 100%);border-radius:14px;justify-content:center;align-items:center;width:48px;height:48px;display:flex;box-shadow:0 4px 12px #3b82f64d}.rp-robot-icon svg{stroke:#fff;width:26px;height:26px}.rp-robot-info h2{color:#fff;letter-spacing:-.02em;margin:0 0 6px;font-size:1.25rem;font-weight:700}.rp-status-pill{text-transform:uppercase;letter-spacing:.05em;color:#fff9;background:#ffffff14;border-radius:20px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.rp-status-pill.active{color:#22c55e;background:#22c55e26}.rp-status-pill.inactive{color:#ef4444;background:#ef444426}.rp-status-dot{background:currentColor;border-radius:50%;width:6px;height:6px;animation:2s infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.5}}.rp-header-actions{align-items:center;gap:8px;display:flex}.rp-refresh-indicator{color:#fff6;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.rp-refresh-indicator svg{width:18px;height:18px}.rp-refresh-indicator.refreshing{color:#3b82f6}.rp-refresh-indicator.refreshing svg{animation:.5s spin}.rp-close-btn{color:#fff9;cursor:pointer;background:#ffffff0f;border:none;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.rp-close-btn:hover{color:#ef4444;background:#ef444433}.rp-close-btn svg{width:18px;height:18px}.rp-body{flex:1;grid-template-columns:1fr 1fr 1fr;height:0;min-height:0;display:grid;overflow:hidden}.rp-info-section,.rp-actions-section,.rp-health-section{flex-direction:column;min-height:0;display:flex;overflow:hidden}.rp-info-section{background:#0003;border-right:1px solid #ffffff0f}.rp-actions-section{border-right:1px solid #ffffff0f}.rp-health-section{background:#00000026}.rp-section-title{color:#ffffff80;text-transform:uppercase;letter-spacing:.08em;background:#ffffff05;border-bottom:1px solid #ffffff0a;flex-shrink:0;align-items:center;gap:10px;padding:14px 20px;font-size:11px;font-weight:600;display:flex}.rp-section-title svg{opacity:.6;width:14px;height:14px}.rp-info-grid{flex-direction:column;flex:1;gap:8px;min-height:0;padding:16px;display:flex;overflow:hidden auto}.rp-info-grid::-webkit-scrollbar{width:4px}.rp-info-grid::-webkit-scrollbar-track{background:0 0}.rp-info-grid::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}.rp-info-grid::-webkit-scrollbar-thumb:hover{background:#fff3}.rp-info-item{background:#ffffff08;border:1px solid #0000;border-radius:10px;justify-content:space-between;align-items:center;padding:10px 14px;transition:all .2s;display:flex}.rp-info-item:hover{background:#ffffff0d;border-color:#ffffff0f}.rp-info-label{color:#ffffff80;font-size:12px;font-weight:500}.rp-info-value{color:#fff;font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.rp-info-value.good{color:#22c55e}.rp-info-value.warning{color:#f59e0b}.rp-info-value.critical{color:#ef4444}.rp-loading{color:#fff6;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:40px 20px;font-size:13px;display:flex}.rp-loading-spinner{border:2px solid #ffffff1a;border-top-color:#3b82f6;border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}.rp-no-data{text-align:center;color:#fff6;padding:40px 20px;font-size:13px}.rp-actions-grid{flex:1;grid-template-columns:repeat(2,1fr);align-content:start;gap:10px;min-height:0;padding:16px;display:grid;overflow:hidden auto}.rp-actions-grid::-webkit-scrollbar{width:4px}.rp-actions-grid::-webkit-scrollbar-track{background:0 0}.rp-actions-grid::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}.rp-action-btn{color:#fff;cursor:pointer;text-align:left;background:linear-gradient(135deg,#ffffff0f 0%,#ffffff05 100%);border:1px solid #ffffff14;border-radius:12px;align-items:center;gap:10px;padding:14px 16px;font-size:12px;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.rp-action-btn:hover{background:linear-gradient(135deg,#3b82f633 0%,#3b82f61a 100%);border-color:#3b82f64d;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.rp-action-btn:active{transform:translateY(0)}.rp-action-btn svg{opacity:.7;flex-shrink:0;width:18px;height:18px}.rp-action-btn:hover svg{opacity:1;color:#60a5fa}.rp-action-btn span{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.rp-no-actions{text-align:center;color:#fff6;grid-column:1/-1;padding:40px 20px;font-size:13px}.rp-errors-section{background:#ef444414;border:1px solid #ef444433;border-radius:12px;margin-top:12px;padding:12px}.rp-errors-header{color:#fca5a5;align-items:center;gap:8px;margin-bottom:10px;font-size:12px;font-weight:600;display:flex}.rp-errors-header svg{stroke:#ef4444;width:16px;height:16px}.rp-error-item{background:#0003;border-radius:8px;margin-bottom:8px;padding:10px 12px}.rp-error-item:last-child{margin-bottom:0}.rp-error-item strong{color:#ef4444;margin-bottom:4px;font-size:12px;display:block}.rp-error-item p{color:#ffffffb3;margin:0;font-size:11px;line-height:1.5}.rp-error-fix{color:#22c55e;background:#22c55e1a;border-radius:6px;margin-top:6px;padding:6px 10px;font-size:11px;display:block}.rp-health-content{flex-direction:column;flex:1;min-height:0;padding:16px;display:flex;overflow:hidden auto}.rp-health-content::-webkit-scrollbar{width:4px}.rp-health-content::-webkit-scrollbar-track{background:0 0}.rp-health-content::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}.rp-health-success{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:20px;display:flex}.rp-health-success-emoji{margin-bottom:16px;font-size:64px;line-height:1;animation:2s ease-in-out infinite bounce-subtle}@keyframes bounce-subtle{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.rp-health-success-title{color:#fff;letter-spacing:-.02em;margin-bottom:8px;font-size:20px;font-weight:700}.rp-health-success-subtitle{color:#ffffff80;margin-bottom:20px;font-size:13px}.rp-health-success-badge{color:#22c55e;background:linear-gradient(135deg,#22c55e26 0%,#22c55e0d 100%);border:1px solid #22c55e4d;border-radius:30px;align-items:center;gap:8px;padding:10px 18px;font-size:12px;font-weight:600;display:inline-flex}.rp-health-success-badge svg{width:16px;height:16px}.rp-health-alert{background:linear-gradient(135deg,#ef444426 0%,#ef44440d 100%);border:1px solid #ef444440;border-radius:14px;align-items:center;gap:14px;margin-bottom:16px;padding:16px;display:flex}.rp-health-alert-icon{background:#ef444433;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.rp-health-alert-icon svg{stroke:#ef4444;width:22px;height:22px;animation:2s ease-in-out infinite pulse-alert}@keyframes pulse-alert{0%,to{opacity:1}50%{opacity:.6}}.rp-health-alert-text{flex-direction:column;gap:2px;display:flex}.rp-health-alert-count{color:#fca5a5;font-size:15px;font-weight:700}.rp-health-alert-subtitle{color:#fca5a5b3;text-transform:uppercase;letter-spacing:.05em;font-size:11px}.rp-health-errors-list{flex-direction:column;gap:10px;display:flex}.rp-health-error{background:#0000004d;border-left:3px solid #ef4444;border-radius:12px;padding:14px}.rp-health-error-header{align-items:center;gap:8px;margin-bottom:8px;display:flex}.rp-health-error-header svg{stroke:#f87171;width:14px;height:14px}.rp-health-error-category{color:#f87171;text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:600}.rp-health-error-name{color:#fff;margin-bottom:6px;font-size:13px;font-weight:600}.rp-health-error-desc{color:#fff9;margin:0 0 10px;font-size:12px;line-height:1.5}.rp-health-error-fix{background:linear-gradient(135deg,#22c55e1f 0%,#22c55e0d 100%);border:1px solid #22c55e33;border-radius:8px;align-items:flex-start;gap:8px;padding:10px 12px;display:flex}.rp-health-error-fix svg{stroke:#22c55e;flex-shrink:0;width:14px;height:14px;margin-top:1px}.rp-health-error-fix span{color:#86efac;font-size:11px;line-height:1.5}.rp-health-error-buttons{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.rp-error-action-btn,.rp-clear-blacklist-btn{color:#fff;cursor:pointer;background:#2196f3;border:none;border-radius:6px;margin-top:0;padding:6px 12px;font-size:12px;font-weight:500}.rp-error-action-btn:hover:not(:disabled),.rp-clear-blacklist-btn:hover:not(:disabled){background:#1976d2}.rp-error-action-btn:disabled,.rp-clear-blacklist-btn:disabled{opacity:.7;cursor:not-allowed}@media (width<=1024px){.rp-container{max-width:95%}.rp-body{grid-template-columns:1fr 1fr}.rp-health-section{border-top:1px solid #ffffff0f;grid-column:1/-1;max-height:200px}.rp-actions-section{border-right:none}.rp-health-success{flex-direction:row;gap:20px;padding:16px}.rp-health-success-emoji{margin-bottom:0;font-size:48px}}@media (width<=768px){.rp-container{border-radius:0;width:100%;max-width:100%;height:100%;max-height:100%}.rp-body{grid-template-columns:1fr}.rp-info-section{border-bottom:1px solid #ffffff0f;border-right:none;max-height:35vh}.rp-actions-section{border-bottom:1px solid #ffffff0f}.rp-health-section{flex:1;grid-column:1;max-height:none}.rp-actions-grid{grid-template-columns:repeat(2,1fr)}.rp-health-success{flex-direction:column;padding:20px}.rp-health-success-emoji{margin-bottom:12px;font-size:56px}}@media (width<=480px){.rp-header{padding:16px}.rp-robot-icon{border-radius:10px;width:40px;height:40px}.rp-robot-icon svg{width:22px;height:22px}.rp-robot-info h2{font-size:1.1rem}.rp-actions-grid{grid-template-columns:1fr}.rp-health-success-emoji{font-size:48px}.rp-health-success-title{font-size:18px}}.ag-theme-alpine{--ag-background-color:#1e2026f5;--ag-header-background-color:#ffffff0a;--ag-odd-row-background-color:#ffffff05;--ag-header-foreground-color:white;--ag-foreground-color:white;--ag-border-color:#ffffff1a;--ag-row-hover-color:#ffffff0d;--ag-selected-row-background-color:#007bff33;width:100%;height:100%}.subtask-button{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:6px;padding:6px 12px;font-size:12px;transition:all .2s}.subtask-button:hover{background:#fff3;transform:translateY(-1px)}.subtasks-grid{width:100%;height:500px;padding:20px;overflow:auto}#subTasksDialog .dialog-content{flex-direction:column;width:90%;max-width:800px;max-height:80vh;display:flex}#subTasksDialog .dialog-header{z-index:1;position:sticky;top:0}#subTasksDialog .subtasks-grid{flex:1;min-height:200px;max-height:calc(80vh - 80px);overflow:auto}.nav-button{cursor:pointer;color:#fff;background:#ffffff1a;border:1px solid #fff3;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.nav-button:hover{background:#fff3;transform:scale(1.1)}.robot-id{color:#fff;text-align:center;min-width:100px;font-size:16px;font-weight:500}.follow-camera-button{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;color:#fff;z-index:1000;background:#1e2026f5;border:1px solid #ffffff14;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;transition:all .2s;display:flex;position:fixed;bottom:20px;right:140px;box-shadow:0 8px 32px #0000002e}.follow-camera-button:hover{background:#ffffff1a;transform:scale(1.1)}.follow-camera-button.active{color:#4dabff;background:#007bff33;border-color:#007bff66}@media screen and (width<=768px){.fleet-selector{min-width:160px;top:15px;right:100px}.fleet-selector-header{padding:10px 12px}.fleet-label{font-size:12px}.fleet-dropdown-button{padding:6px 10px;font-size:12px}.world-item{padding:10px 12px}.world-name{font-size:13px}.world-description{font-size:11px}.world-agent-count{font-size:10px}.nav-button{width:32px;height:32px}.nav-button svg{width:20px;height:20px}.robot-id{min-width:80px;font-size:14px}.counter{font-size:28px}.label{font-size:11px}.counter-container{padding:10px 0}.estop-button{font-size:14px;border-width:1.5px!important;border-radius:12px!important;width:60px!important;height:60px!important}}@media screen and (width<=480px){.fleet-selector{min-width:140px;top:10px;right:80px}.fleet-selector-header{padding:8px 10px}.fleet-label{font-size:11px}.fleet-dropdown-button{padding:5px 8px;font-size:11px}.world-item{padding:8px 10px}.world-name{font-size:12px}.world-description{font-size:10px}.world-agent-count{font-size:9px}.nav-button{width:28px;height:28px}.nav-button svg{width:16px;height:16px}.robot-id{min-width:60px;font-size:12px}.counter{font-size:24px}.label{font-size:10px}.counter-container{padding:8px 0}.estop-button{font-size:12px;border-width:1px!important;border-radius:10px!important;width:45px!important;height:45px!important}}@media screen and (width<=768px){#robotFunctions{border-radius:15px;width:280px;bottom:15px;right:90px}.robot-functions-header{padding:12px 16px 10px;font-size:15px}#robotFunctions .grid{grid-template-columns:repeat(2,1fr);gap:10px;padding:15px}#robotFunctions .function-button{border-radius:10px;padding:10px 0 8px}#robotFunctions .icon-container{width:32px;height:32px}#robotFunctions .icon-container svg{width:18px;height:18px}#robotFunctions .text{font-size:12px}}@media screen and (width<=480px){#robotFunctions{border-radius:12px;width:240px;bottom:10px;right:70px}.robot-functions-header{padding:10px 12px 8px;font-size:14px}#robotFunctions .grid{grid-template-columns:repeat(2,1fr);gap:8px;padding:12px}#robotFunctions .function-button{border-radius:8px;gap:6px;padding:8px 0 6px}#robotFunctions .icon-container{width:28px;height:28px}#robotFunctions .icon-container svg{width:16px;height:16px}#robotFunctions .text{font-size:11px}.task-id{font-size:12px}}.fleet-dropdown-content{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:2000;background:linear-gradient(135deg,#1e2026f2 0%,#14161cf2 100%);border:1px solid #3b82f633;border-radius:18px;min-width:280px;max-height:400px;animation:.3s ease-out dropdownFadeIn;display:none;position:fixed;top:100px;right:420px;overflow-y:auto;box-shadow:0 8px 32px #0000004d,0 0 0 1px #3b82f61a,inset 0 1px #ffffff1a}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-10px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.fleet-dropdown-header{background:linear-gradient(135deg,#3b82f61a 0%,#1d4ed80d 100%);border-bottom:1px solid #3b82f633;border-radius:18px 18px 0 0;justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.fleet-dropdown-title{color:#3b82f6;text-shadow:0 0 10px #3b82f64d;align-items:center;gap:12px;font-size:16px;font-weight:700;display:flex}.fleet-dropdown-title svg{stroke:#3b82f6;filter:drop-shadow(0 0 5px #3b82f680);width:20px;height:20px}.fleet-dropdown-close{cursor:pointer;color:#ffffffb3;background:#ffffff1a;border:1px solid #fff3;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .3s;display:flex}.fleet-dropdown-close:hover{color:#3b82f6;background:#fff3;border-color:#3b82f680;transform:scale(1.1)}.fleet-dropdown-close svg{width:16px;height:16px}.fleet-dropdown-content::-webkit-scrollbar{width:6px}.fleet-dropdown-content::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.fleet-dropdown-content::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#3b82f680 0%,#1d4ed84d 100%);border-radius:3px}.fleet-dropdown-content::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#3b82f6b3 0%,#1d4ed880 100%)}.fleet-dropdown-content:after{content:"";z-index:-1;filter:blur(8px);opacity:.5;background:linear-gradient(135deg,#3b82f64d 0%,#1d4ed81a 100%);border-radius:20px;position:absolute;inset:-2px}.fleet-dropdown-content.show{display:block}.fleet-list{padding:12px 0}.world-item{cursor:pointer;color:#fff;border-radius:12px;margin:0 12px;padding:16px 20px;transition:all .3s;position:relative;overflow:hidden}.world-item:before{content:"";opacity:0;background:linear-gradient(135deg,#3b82f61a 0%,#1d4ed80d 100%);border-radius:12px;transition:opacity .3s;position:absolute;inset:0}.world-item:hover{background:linear-gradient(135deg,#3b82f626 0%,#1d4ed81a 100%);transform:translateY(-2px);box-shadow:0 4px 20px #3b82f633}.world-item:hover:before{opacity:1}.world-item.selected{background:linear-gradient(135deg,#3b82f640 0%,#1d4ed826 100%);border:1px solid #3b82f680;animation:.5s ease-out fleetSelected}@keyframes fleetSelected{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.world-item-content{z-index:1;flex-direction:column;gap:6px;display:flex;position:relative}.world-name{color:#3b82f6;text-shadow:0 0 10px #3b82f64d;letter-spacing:.5px;font-size:16px;font-weight:700}.world-description{color:#fffc;font-size:13px;font-weight:500;line-height:1.4}.world-agent-count{color:#3b82f6b3;align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.world-agent-count:before{content:"🤖";font-size:14px}.agent-selector{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:2000;background:#1e2026f5;border:1px solid #ffffff14;border-radius:18px;width:400px;max-height:600px;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 8px 32px #0000002e}.world-selector-header,.agent-selector-header{background:#ffffff05;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:20px 25px;display:flex}.world-selector-header h3,.agent-selector-header h3{color:#fff;margin:0;font-size:18px;font-weight:600}.world-selector-content,.agent-selector-content{max-height:500px;padding:20px;overflow-y:auto}.world-list,.agent-list{flex-direction:column;gap:12px;display:flex}.world-item,.agent-item{cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;padding:16px;transition:all .3s}.world-item:hover,.agent-item:hover{background:#ffffff1a;border-color:#fff3;transform:translateY(-2px)}.world-item-content,.agent-item-content{flex-direction:column;gap:8px;display:flex}.world-name,.agent-id{color:#fff;font-size:16px;font-weight:600}.world-description,.agent-type{color:#ccc;font-size:14px}.world-agent-count,.agent-status{color:#888;font-size:12px;font-weight:500}.current-world-info{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;margin-bottom:16px;padding:12px}.current-world-info span{color:#fff;font-size:14px;font-weight:500}.no-agents{color:#888;text-align:center;padding:20px;font-size:14px}@media screen and (width<=768px){.world-selector,.agent-selector{width:90%;max-width:400px}.world-selector-content,.agent-selector-content{padding:15px}.world-item,.agent-item{padding:12px}.world-name,.agent-id{font-size:14px}.world-description,.agent-type{font-size:12px}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.form-card{animation:.8s ease-out fadeInUp}.brand-section{animation:.8s ease-out .2s both fadeInUp}.status-indicators{animation:.8s ease-out .4s both fadeInUp}.form-input:hover{background:#ffffff14;border-color:#3b82f64d}.checkbox-container:hover .checkbox-custom{border-color:#3b82f680}.gamified-sidebar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;width:400px;height:100vh;font-family:var(--fleet-font-sans);background:linear-gradient(135deg,#0f0f23 0%,#1a1a2e 50%,#16213e 100%);border-left:1px solid #ffffff1a;transition:right .4s cubic-bezier(.4,0,.2,1);position:fixed;top:0;right:-400px;overflow-y:auto}.gamified-sidebar.active{right:0}.sidebar-header{background:#ffffff0d;border-bottom:1px solid #ffffff1a;padding:1.5rem}.header-content{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.header-content .commander-profile{flex:1;min-width:0}.commander-profile{flex-direction:column;gap:1rem;width:100%;display:flex}.commander-profile__hero,.user-profile{align-items:center;gap:1rem;display:flex}.avatar-container{position:relative}.avatar{background:linear-gradient(135deg,#3b82f6 0%,#1d4ed8 100%);border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;display:flex;box-shadow:0 4px 20px #3b82f64d}.avatar--commander{background:linear-gradient(145deg,#334155 0%,#0f172a 100%);border:2px solid #ffffff26;box-shadow:0 6px 24px #3b82f640,inset 0 1px #ffffff1a}.avatar-initials{font-family:var(--fleet-font-display,var(--fleet-font-sans));letter-spacing:.06em;color:#f8fafc;text-shadow:0 2px 4px #00000059;font-size:1.25rem;font-weight:800}.commander-status-dot{z-index:2;background:#22c55e;border:2px solid #0f0f23;border-radius:50%;width:12px;height:12px;position:absolute;top:2px;left:2px;box-shadow:0 0 10px #22c55ea6}.avatar svg{color:#fff;width:30px;height:30px}.user-rank{letter-spacing:.08em;text-transform:uppercase;color:#fcd34d;font-size:.65rem;font-weight:700;font-family:var(--fleet-font-sans);background:#f59e0b26;border:1px solid #f59e0b59;border-radius:999px;margin:0 0 .35rem;padding:.2rem .55rem;display:inline-block}.session-logout-btn{cursor:pointer;text-align:left;width:100%;font-family:var(--fleet-font-sans);background:linear-gradient(135deg,#ef444424 0%,#7f1d1d33 100%);border:1px solid #ef444459;border-radius:12px;align-items:center;gap:.75rem;padding:.75rem 1rem;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex}.session-logout-btn:hover{border-color:#f871718c;transform:translateY(-1px);box-shadow:0 6px 20px #ef444433}.session-logout-btn:active{transform:translateY(0)}.session-logout-btn__icon{color:#fecaca;background:#ef444433;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.session-logout-btn__icon svg{width:20px;height:20px}.session-logout-btn__copy{flex-direction:column;gap:.15rem;display:flex}.session-logout-btn__label{color:#fecaca;font-size:.9rem;font-weight:700}.session-logout-btn__hint{color:#fecacaa6;font-size:.72rem;font-weight:500}.level-badge{background:linear-gradient(135deg,#ff6b6b 0%,#ee5a24 100%);border:2px solid #0f0f23;border-radius:50%;justify-content:center;align-items:center;width:25px;height:25px;display:flex;position:absolute;bottom:-5px;right:-5px}.level-number{color:#fff;font-size:.75rem;font-weight:700}.user-info{flex:1}.username{color:#fff;-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#3b82f6 0%,#fff 100%);-webkit-background-clip:text;background-clip:text;margin:0 0 .5rem;font-size:1.25rem;font-weight:700}.xp-bar{background:#ffffff1a;border-radius:4px;width:100%;height:8px;position:relative;overflow:hidden}.xp-progress{background:linear-gradient(90deg,#3b82f6 0%,#1d4ed8 100%);border-radius:4px;height:100%;transition:width .3s;position:relative}.xp-progress:after{content:"";background:linear-gradient(90deg,#0000,#ffffff4d,#0000);position:absolute;inset:0}.xp-text{color:#ffffffb3;font-size:.75rem;font-weight:500;position:absolute;top:-20px;right:0}.close-sidebar-btn{color:#fff9;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:.5rem;transition:all .3s}.close-sidebar-btn:hover{color:#fff;background:#ffffff1a}.close-sidebar-btn svg{width:20px;height:20px}.section-header{justify-content:space-between;align-items:center;padding:1rem 1.5rem .5rem;display:flex}.section-title{color:#fff;align-items:center;gap:.5rem;margin:0;font-size:1rem;font-weight:600;display:flex}.section-title svg{color:#3b82f6;width:18px;height:18px}.achievement-section{padding:0 1.5rem 1.5rem}.achievements-grid{flex-direction:column;gap:.75rem;display:flex}.achievement-item{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;align-items:center;gap:.75rem;padding:.75rem;transition:all .3s;display:flex}.achievement-item.unlocked{background:#3b82f60d;border-color:#3b82f64d}.achievement-item.locked{opacity:.5;filter:grayscale()}.achievement-item:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0003}.achievement-icon{background:linear-gradient(135deg,#3b82f6 0%,#1d4ed8 100%);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.achievement-item.locked .achievement-icon{background:#ffffff1a}.achievement-icon svg{color:#fff;width:20px;height:20px}.achievement-info h5{color:#fff;margin:0 0 .25rem;font-size:.9rem;font-weight:600}.achievement-info p{color:#fff9;margin:0;font-size:.8rem}.stats-section{padding:0 1.5rem 1.5rem}.stats-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.stat-card{text-align:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;padding:1rem;transition:all .3s}.stat-card:hover{border-color:#3b82f64d;transform:translateY(-2px);box-shadow:0 8px 25px #0003}.stat-icon{background:linear-gradient(135deg,#3b82f6 0%,#1d4ed8 100%);border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;margin:0 auto .5rem;display:flex}.stat-icon svg{color:#fff;width:20px;height:20px}.stat-value{color:#fff;margin-bottom:.25rem;font-size:1.5rem;font-weight:700;display:block}.stat-label{color:#fff9;font-size:.8rem}.actions-section{padding:0 1.5rem 1.5rem}.actions-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.action-btn{color:#fff;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;text-decoration:none;transition:all .3s;display:flex}.action-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0003}.action-btn.primary{background:linear-gradient(135deg,#ff6b6b 0%,#ee5a24 100%);border-color:#ff6b6b4d}.action-btn.primary:hover{background:linear-gradient(135deg,#ff5252 0%,#d84315 100%)}.action-btn.secondary:hover{background:#3b82f60d;border-color:#3b82f64d}.action-icon{justify-content:center;align-items:center;width:32px;height:32px;display:flex}.action-icon svg{color:#fff;width:18px;height:18px}.action-btn span{font-size:.8rem;font-weight:500}.robot-functions-section{padding:0 1.5rem 1.5rem;display:none}.robot-functions-section.active{animation:.3s ease-out fadeInUp;display:block}.close-section-btn{color:#fff9;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.25rem;transition:all .3s}.close-section-btn:hover{color:#fff;background:#ffffff1a}.close-section-btn svg{width:16px;height:16px}.robot-functions-content{margin-top:1rem}.status-section{padding:0 1.5rem 1.5rem}.status-list{flex-direction:column;gap:.5rem;display:flex}.status-item{align-items:center;gap:.75rem;padding:.5rem;display:flex}.status-indicator{border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite statusPulse}.status-indicator.online{background:#0f8;box-shadow:0 0 10px #00ff8880}.status-indicator.warning{background:#fa0;box-shadow:0 0 10px #ffaa0080}.status-indicator.offline{background:#ff6b6b;box-shadow:0 0 10px #ff6b6b80}.status-text{color:#fffc;font-size:.85rem;font-weight:500}.progress-section{background:#ffffff05;border-top:1px solid #ffffff1a;padding:1.5rem}.progress-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.progress-header h4{color:#fff;margin:0;font-size:.9rem;font-weight:600}.progress-percentage{color:#3b82f6;font-size:.9rem;font-weight:700}.progress-bar{background:#ffffff1a;border-radius:4px;width:100%;height:8px;margin-bottom:.5rem;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#3b82f6 0%,#1d4ed8 100%);border-radius:4px;height:100%;transition:width .3s;position:relative}.progress-fill:after{content:"";background:linear-gradient(90deg,#0000,#ffffff4d,#0000);animation:2s linear infinite progressShine;position:absolute;inset:0}@keyframes progressShine{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-text{color:#fff9;text-align:center;margin:0;font-size:.8rem}@media (width<=768px){.gamified-sidebar{-webkit-backdrop-filter:none;backdrop-filter:none;width:100%;right:-100%}.stats-grid,.actions-grid{grid-template-columns:1fr}.user-profile{flex-direction:column;align-items:flex-start;gap:.75rem}.avatar{width:50px;height:50px}.avatar svg{width:25px;height:25px}.level-badge{width:20px;height:20px}.level-number{font-size:.7rem}.commander-avatar-fab,#openPanel.commander-avatar-fab{-webkit-backdrop-filter:none;backdrop-filter:none}}@media (width<=480px){.gamified-sidebar{padding:0}.sidebar-header,.achievement-section,.stats-section,.actions-section,.robot-functions-section,.status-section,.progress-section{padding-left:1rem;padding-right:1rem}.username{font-size:1.1rem}.stat-value{font-size:1.25rem}}.achievement-item:hover .achievement-icon,.stat-card:hover .stat-icon,.action-btn:hover .action-icon{transform:scale(1.1)}.sidebar-notification{color:#fff;z-index:1001;opacity:0;border-radius:12px;max-width:300px;padding:1rem 1.5rem;font-weight:500;transition:all .3s;position:fixed;top:20px;right:20px;transform:translate(100%);box-shadow:0 8px 25px #0000004d}.sidebar-notification.success{background:linear-gradient(135deg,#0f8 0%,#00cc6a 100%)}.sidebar-notification.warning{background:linear-gradient(135deg,#fa0 0%,#f80 100%)}.sidebar-notification.info{background:linear-gradient(135deg,#3b82f6 0%,#1d4ed8 100%)}.sidebar-notification.error{background:linear-gradient(135deg,#ff6b6b 0%,#ee5a24 100%)}.gamified-sidebar::-webkit-scrollbar{width:6px}.gamified-sidebar::-webkit-scrollbar-track{background:#ffffff0d}.gamified-sidebar::-webkit-scrollbar-thumb{background:#3b82f64d;border-radius:3px}.gamified-sidebar::-webkit-scrollbar-thumb:hover{background:#3b82f680}.fleet-tiles-wrapper{z-index:1000;flex-direction:column;align-items:center;display:flex;position:fixed;top:0;left:50%;transform:translate(-50%)}.fleet-tiles-container{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0f0f23d9;border:1px solid #3b82f633;border-top:none;border-radius:0 0 16px 16px;gap:12px;max-height:200px;padding:12px 24px;transition:max-height .35s cubic-bezier(.4,0,.2,1),opacity .35s cubic-bezier(.4,0,.2,1),padding .35s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden;box-shadow:0 8px 32px #0006}.fleet-tiles-wrapper.collapsed .fleet-tiles-container{opacity:0;pointer-events:none;border:none;max-height:0;padding-top:0;padding-bottom:0}.fleet-tiles-toggle{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:#3b82f6;cursor:pointer;letter-spacing:.5px;text-transform:uppercase;background:#0f0f23e6;border:1px solid #3b82f64d;border-radius:0 0 12px 12px;align-items:center;gap:6px;padding:6px 16px;font-size:11px;font-weight:600;transition:all .3s;display:flex}.fleet-tiles-toggle:hover{background:#3b82f626;border-color:#3b82f680;box-shadow:0 4px 16px #3b82f633}.fleet-tiles-toggle svg{width:16px;height:16px;transition:transform .35s cubic-bezier(.4,0,.2,1)}.fleet-tiles-wrapper.collapsed .fleet-tiles-toggle svg{transform:rotate(180deg)}.fleet-tiles-toggle .toggle-label{display:none}.fleet-tiles-wrapper.collapsed .fleet-tiles-toggle .toggle-label{display:inline}.fleet-tile{background:linear-gradient(135deg,#ffffff14 0%,#ffffff0a 100%);border:1px solid #ffffff1a;border-radius:12px;align-items:center;gap:8px;min-width:180px;padding:8px 12px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.fleet-tile-main{cursor:pointer;-webkit-tap-highlight-color:#3b82f633;border-radius:8px;flex:1;align-items:center;gap:10px;padding:6px;transition:background .2s;display:flex}.fleet-tile-main:hover{background:#ffffff0d}.fleet-tile:before{content:"";opacity:0;background:linear-gradient(135deg,#3b82f61a 0%,#1d4ed80d 100%);width:100%;height:100%;transition:opacity .3s;position:absolute;top:0;left:0}.fleet-tile:hover:before{opacity:1}.fleet-tile:hover{border-color:#3b82f666;transform:translateY(-2px);box-shadow:0 8px 24px #3b82f640}.fleet-tile.active{background:linear-gradient(135deg,#3b82f633 0%,#1d4ed826 100%);border-color:#3b82f699;box-shadow:0 4px 20px #3b82f64d}.fleet-tile.active:before{opacity:1}.fleet-tile-icon{color:#3b82f6;justify-content:center;align-items:center;width:28px;height:28px;transition:transform .3s;display:flex}.fleet-tile:hover .fleet-tile-icon{transform:scale(1.1)}.fleet-tile.active .fleet-tile-icon{color:#22c55e;filter:drop-shadow(0 0 8px #22c55e80)}.fleet-tile-icon svg{width:100%;height:100%}.fleet-tile-content{flex-direction:column;gap:2px;display:flex}.fleet-tile-name{color:#e2e8f0;font-size:13px;font-weight:600;line-height:1.2;transition:color .3s}.fleet-tile.active .fleet-tile-name{color:#fff}.fleet-tile-count{color:#94a3b8;font-size:11px;font-weight:500;line-height:1.2}.fleet-tile.active .fleet-tile-count{color:#cbd5e1}.fleet-tile-toggle{cursor:pointer;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition:all .3s;display:flex;position:relative}.fleet-tile-toggle.stopped{color:#22c55e;background:linear-gradient(135deg,#22c55e33 0%,#16a34a1a 100%);border:1px solid #22c55e4d}.fleet-tile-toggle.stopped:hover{background:linear-gradient(135deg,#22c55e4d 0%,#16a34a33 100%);border-color:#22c55e80;transform:scale(1.05);box-shadow:0 4px 12px #22c55e4d}.fleet-tile-toggle.running{color:#ef4444;background:linear-gradient(135deg,#ef444433 0%,#dc26261a 100%);border:1px solid #ef44444d}.fleet-tile-toggle.running:hover{background:linear-gradient(135deg,#ef44444d 0%,#dc262633 100%);border-color:#ef444480;transform:scale(1.05);box-shadow:0 4px 12px #ef44444d}.fleet-tile-toggle.loading{opacity:.6;animation:1.5s ease-in-out infinite pulse}.fleet-tile-toggle.error{color:#fb923c;background:linear-gradient(135deg,#fb923c33 0%,#f973161a 100%);border:1px solid #fb923c4d}.fleet-tile-toggle.error:hover{background:linear-gradient(135deg,#fb923c4d 0%,#f9731633 100%);border-color:#fb923c80}.fleet-tile-toggle svg{width:16px;height:16px;transition:all .3s}.fleet-tile-toggle.stopped .icon-stop{display:none}.fleet-tile-toggle.stopped .icon-play{display:block}.fleet-tile-toggle.running .icon-play{display:none}.fleet-tile-toggle.running .icon-stop{display:block}.fleet-tile-controls{align-items:center;gap:6px;display:flex}.swal-popup-dark{-webkit-backdrop-filter:blur(15px)!important;backdrop-filter:blur(15px)!important;background:linear-gradient(135deg,#0f0f23f2 0%,#1a1a2ef2 100%)!important;border:1px solid #ffffff1a!important;border-radius:16px!important;box-shadow:0 8px 32px #0006!important}.swal-title-dark{color:#e2e8f0!important;font-weight:600!important}.swal-content-dark{color:#e2e8f0!important}.swal-confirm-danger{background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%)!important;border:none!important;border-radius:8px!important;padding:12px 24px!important;font-weight:600!important;transition:all .3s!important}.swal-confirm-danger:hover{background:linear-gradient(135deg,#dc2626 0%,#b91c1c 100%)!important;transform:translateY(-1px)!important;box-shadow:0 4px 12px #ef44444d!important}.swal-cancel-dark{background:linear-gradient(135deg,#6b7280 0%,#4b5563 100%)!important;border:none!important;border-radius:8px!important;padding:12px 24px!important;font-weight:600!important;transition:all .3s!important}.swal-cancel-dark:hover{background:linear-gradient(135deg,#4b5563 0%,#374151 100%)!important;transform:translateY(-1px)!important;box-shadow:0 4px 12px #6b72804d!important}.fleet-tile-shutdown{color:#fb923c;cursor:pointer;background:linear-gradient(135deg,#fb923c33 0%,#f973161a 100%);border:1px solid #fb923c4d;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .3s;display:flex;position:relative;overflow:hidden}.fleet-tile-shutdown:hover{background:linear-gradient(135deg,#fb923c4d 0%,#f9731633 100%);border-color:#fb923c80;transform:scale(1.05);box-shadow:0 4px 12px #fb923c4d}.fleet-tile-shutdown.loading{opacity:.6;animation:1.5s ease-in-out infinite pulse}.fleet-tile-shutdown svg{width:16px;height:16px;transition:all .3s}@media (width<=1200px){.fleet-tiles-container{flex-wrap:wrap;justify-content:center;max-width:90vw}.fleet-tile{min-width:120px;padding:10px 16px}}@media (width<=768px){.fleet-tiles-container{gap:8px;padding:8px 16px}.fleet-tile{min-width:100px;padding:8px 12px}.fleet-tile-icon{width:24px;height:24px}.fleet-tile-name{font-size:12px}.fleet-tile-count{font-size:10px}.fleet-tiles-toggle{padding:8px 14px}.fleet-tiles-toggle .toggle-label{display:inline}}.fleet-selector-section{display:none!important}.control-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#ffffff1a 0%,#ffffff0d 100%);border:1px solid #ffffff1a;border-radius:16px;margin-top:24px;padding:20px;visibility:visible!important;opacity:1!important;display:block!important}.control-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px;display:grid;visibility:visible!important;opacity:1!important;display:grid!important}.control-button{color:#e2e8f0;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#ffffff1a 0%,#ffffff0d 100%);border:1px solid #ffffff1a;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-height:80px;padding:16px 12px;transition:all .3s;display:flex;visibility:visible!important;opacity:1!important;display:flex!important;position:relative!important}.control-button:hover{background:linear-gradient(135deg,#3b82f633 0%,#1d4ed81a 100%);border-color:#3b82f64d;transform:translateY(-2px);box-shadow:0 8px 25px #3b82f633}.control-button:active{transform:translateY(0)}.control-button.active{color:#bbf7d0;background:linear-gradient(135deg,#22c55e33 0%,#16a34a1a 100%);border-color:#22c55e66;box-shadow:0 4px 15px #22c55e33}.control-button.estop-button{color:#fecaca;background:linear-gradient(135deg,#ef444433 0%,#dc26261a 100%);border-color:#ef44444d}.control-button.estop-button:hover{background:linear-gradient(135deg,#ef44444d 0%,#dc262633 100%);box-shadow:0 8px 25px #ef44444d}.button-icon{justify-content:center;align-items:center;width:32px;height:32px;margin-bottom:8px;display:flex}.button-icon svg{stroke:currentColor;fill:none;width:24px;height:24px}.button-label{text-align:center;font-size:12px;font-weight:500;line-height:1.2}.progress-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#ffffff1a 0%,#ffffff0d 100%);border:1px solid #ffffff1a;border-radius:16px;margin-top:24px;padding:20px}.progress-item{margin-top:16px}.progress-info{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.progress-label{color:#cbd5e1;font-size:14px;font-weight:500}.progress-value{color:#3b82f6;font-size:14px;font-weight:600}.progress-bar{background:#ffffff1a;border-radius:3px;width:100%;height:6px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#3b82f6 0%,#1d4ed8 100%);border-radius:3px;height:100%;transition:width .3s}@media (width<=768px){.control-grid{grid-template-columns:repeat(2,1fr);gap:8px}.control-button{min-height:70px;padding:12px 8px}.button-icon{width:28px;height:28px}.button-icon svg{width:20px;height:20px}.button-label{font-size:11px}}.fleet-controls-state{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#ffffff1a 0%,#ffffff0d 100%);border:1px solid #ffffff1a;border-radius:16px;margin-top:24px;padding:20px;animation:.6s ease-out fadeInUp}.controls-status-grid{flex-direction:column;gap:12px;margin-top:16px;display:flex}.control-status-item{cursor:default;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;justify-content:space-between;align-items:center;padding:12px 16px;transition:all .3s;display:flex}.control-status-item:hover{background:#ffffff14;border-color:#3b82f633;transform:translateY(-1px);box-shadow:0 4px 15px #0000001a}.status-label{color:#e2e8f0;flex:1;font-size:14px;font-weight:500}.status-indicator{border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:700;transition:all .3s;display:flex;box-shadow:0 2px 8px #0003}.status-indicator.status-enabled{color:#fff;background:linear-gradient(135deg,#0f8 0%,#00cc6a 100%);box-shadow:0 2px 12px #00ff884d}.status-indicator.status-disabled{color:#fff;background:linear-gradient(135deg,#ff6b6b 0%,#ee5a24 100%);box-shadow:0 2px 12px #ff6b6b4d}.status-indicator:hover{transform:scale(1.1)}.fleet-status-info{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#3b82f60d;border:1px solid #3b82f61a;border-radius:12px;margin-top:20px;padding:16px}.status-info-item{border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding:8px 0;transition:all .3s;display:flex}.status-info-item:last-child{border-bottom:none;padding-bottom:0}.status-info-item:hover{background:#ffffff05;border-radius:8px;margin:0 -8px;padding-left:8px;padding-right:8px}.info-label{color:#cbd5e1;font-size:13px;font-weight:500}.info-value{color:#3b82f6;background:#3b82f61a;border:1px solid #3b82f633;border-radius:6px;padding:4px 8px;font-size:13px;font-weight:600;transition:all .3s}.info-value:hover{background:#3b82f626;transform:scale(1.05)}.fleet-control-button{color:#3b82f6;background:linear-gradient(135deg,#3b82f61a 0%,#1d4ed80d 100%);border-color:#3b82f633}.fleet-control-button:hover{background:linear-gradient(135deg,#3b82f633 0%,#1d4ed81a 100%);border-color:#3b82f666;box-shadow:0 8px 25px #3b82f633}.fleet-control-button.fleet-stopped{color:#22c55e;background:linear-gradient(135deg,#22c55e1a 0%,#16a34a0d 100%);border-color:#22c55e33}.fleet-control-button.fleet-stopped:hover{background:linear-gradient(135deg,#22c55e33 0%,#16a34a1a 100%);border-color:#22c55e66;box-shadow:0 8px 25px #22c55e33}@media (width<=480px){.fleet-controls-state{margin-top:16px;padding:16px}.control-status-item{padding:10px 12px}.status-label{font-size:13px}.status-indicator{width:20px;height:20px;font-size:11px}.fleet-status-info{padding:12px}.info-label,.info-value{font-size:12px}}@keyframes statusPulse{0%{box-shadow:0 2px 8px #0003}50%{box-shadow:0 4px 16px #3b82f64d}to{box-shadow:0 2px 8px #0003}}.status-indicator.status-enabled:hover{animation:2s infinite statusPulse}.info-value.success{color:#22c55e;background:#22c55e1a;border-color:#22c55e33}.info-value.error{color:#ef4444;background:#ef44441a;border-color:#ef444433}.robot-selector-container{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:900;background:linear-gradient(135deg,#14141ef2 0%,#1e1e2df2 100%);border:1px solid #ffffff1a;border-radius:16px 0 0 16px;flex-direction:column;width:380px;max-height:80vh;transition:right .4s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:50%;right:-400px;overflow:hidden;transform:translateY(-50%);box-shadow:-5px 5px 30px #00000080}.robot-selector-container.visible{right:0}.robot-selector-header{background:linear-gradient(135deg,#3b82f61a 0%,#1d4ed80d 100%);border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:20px;display:flex}.robot-selector-title{color:#fff;align-items:center;gap:12px;font-size:16px;font-weight:600;display:flex}.robot-selector-title svg{color:#3b82f6;width:24px;height:24px}.robot-selector-title .keyboard-hint{color:#3b82f6;background:#3b82f626;border:1px solid #3b82f64d;border-radius:4px;margin-left:auto;padding:2px 8px;font-family:monospace;font-size:11px;font-weight:600}.robot-selector-close{cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.robot-selector-close svg{color:#ffffffb3;width:18px;height:18px}.robot-selector-close:hover{background:#ef444433;border-color:#ef444466;transform:scale(1.05)}.robot-selector-close:hover svg{color:#ef4444}.robot-selector-search{border-bottom:1px solid #ffffff1a;padding:16px 20px;position:relative}.robot-selector-search .search-icon{color:#fff6;pointer-events:none;width:18px;height:18px;position:absolute;top:50%;left:32px;transform:translateY(-50%)}.robot-search-input{color:#fff;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;outline:none;width:100%;padding:12px 40px 12px 42px;font-size:14px;transition:all .2s}.robot-search-input::placeholder{color:#fff6}.robot-search-input:focus{background:#ffffff14;border-color:#3b82f666;box-shadow:0 0 0 3px #3b82f61a}.search-clear{cursor:pointer;background:#ffffff0d;border:none;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;transition:all .2s;display:flex;position:absolute;top:50%;right:28px;transform:translateY(-50%)}.search-clear svg{color:#ffffff80;width:14px;height:14px}.search-clear:hover{background:#ffffff1a;transform:translateY(-50%)scale(1.1)}.search-clear:hover svg{color:#fff}.robot-selector-stats{background:#0003;border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.robot-count{color:#3b82f6;font-size:13px;font-weight:600}.fleet-name{color:#ffffff80;text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:12px;overflow:hidden}.error-count{color:#ef4444;background:#ef444426;border-radius:4px;padding:2px 8px;font-size:12px;font-weight:600;animation:2s ease-in-out infinite pulse-error}@keyframes pulse-error{0%,to{opacity:1}50%{opacity:.7}}.robot-selector-filter{background:#0000001a;border-bottom:1px solid #ffffff0d;align-items:center;gap:10px;padding:8px 20px;display:flex}.error-filter-btn{color:#ffffffb3;cursor:pointer;background:#ef44441a;border:1px solid #ef444440;border-radius:8px;align-items:center;gap:8px;padding:8px 14px;font-size:12px;font-weight:500;transition:all .2s;display:flex}.error-filter-btn svg{color:#ef4444;opacity:.7;width:16px;height:16px;transition:all .2s}.error-filter-btn:hover{color:#fff;background:#ef444433;border-color:#ef444466}.error-filter-btn:hover svg{opacity:1}.error-filter-btn.active{color:#fff;background:#ef44444d;border-color:#ef4444;box-shadow:0 0 12px #ef44444d}.error-filter-btn.active svg{opacity:1;animation:1.5s ease-in-out infinite pulse-icon}@keyframes pulse-icon{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.sort-dropdown{margin-left:auto;position:relative}.sort-dropdown-btn{color:#fffc;cursor:pointer;background:#3b82f61a;border:1px solid #3b82f640;border-radius:8px;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:500;transition:all .2s;display:flex}.sort-dropdown-btn:hover{background:#3b82f633;border-color:#3b82f666}.sort-dropdown-btn svg{color:#3b82f6;width:14px;height:14px}.sort-dropdown-btn .dropdown-arrow{color:#ffffff80;width:12px;height:12px;transition:transform .2s}.sort-dropdown-menu.visible+.sort-dropdown-btn .dropdown-arrow,.sort-dropdown-btn:focus .dropdown-arrow{transform:rotate(180deg)}.sort-dropdown-menu{opacity:0;visibility:hidden;z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1e1e28fa;border:1px solid #ffffff1a;border-radius:10px;min-width:180px;margin-top:6px;padding:6px;transition:all .2s;position:absolute;top:100%;right:0;transform:translateY(-8px);box-shadow:0 8px 24px #0006}.sort-dropdown-menu.visible{opacity:1;visibility:visible;transform:translateY(0)}.sort-option{color:#ffffffb3;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:12px;font-weight:500;transition:all .15s;display:flex}.sort-option:hover{color:#fff;background:#ffffff14}.sort-option.active{color:#3b82f6;background:#3b82f633}.sort-option svg{opacity:.7;width:16px;height:16px}.sort-option.active svg{opacity:1;color:#3b82f6}.robot-list{flex-direction:column;flex:1;gap:8px;padding:12px;display:flex;overflow-y:auto}.robot-list::-webkit-scrollbar{width:6px}.robot-list::-webkit-scrollbar-track{background:#0003}.robot-list::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.robot-list::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.robot-list-empty{text-align:center;color:#fff6;padding:40px 20px;font-size:14px}.robot-item{background:#ffffff08;border:1px solid #ffffff0d;border-radius:10px;align-items:center;gap:12px;padding:8px;transition:all .2s;display:flex}.robot-item:hover{background:#ffffff14;border-color:#3b82f64d;box-shadow:0 2px 8px #3b82f626}.robot-item.selected{background:linear-gradient(135deg,#3b82f626 0%,#1d4ed81a 100%);border-color:#3b82f666;box-shadow:0 4px 12px #3b82f633}.robot-item.has-errors{background:#ef444414;border-color:#ef44444d;animation:2s ease-in-out infinite error-glow}.robot-item.has-errors:hover{background:#ef444426;border-color:#ef444480;box-shadow:0 2px 8px #ef444433}.robot-item.has-errors .robot-item-icon{background:#ef444426}.robot-item.has-errors .robot-item-icon svg{color:#ef4444}@keyframes error-glow{0%,to{box-shadow:0 0 4px #ef444433}50%{box-shadow:0 0 12px #ef444459}}.robot-item-main{cursor:pointer;border-radius:8px;flex:1;align-items:center;gap:12px;padding:4px;transition:all .2s;display:flex}.robot-item-main:hover{background:#ffffff0d}.robot-item-icon{background:#ffffff0d;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.robot-item-icon svg{color:#ffffff80;width:24px;height:24px}.robot-item-icon.status-active{background:#22c55e1a;border:1px solid #22c55e33}.robot-item-icon.status-active svg{color:#22c55e}.robot-item-icon.status-inactive{background:#6b72801a;border:1px solid #6b728033}.robot-item-icon.status-inactive svg{color:#6b7280}.robot-item-content{flex-direction:column;flex:1;gap:6px;display:flex}.robot-item-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.robot-item-name{color:#fff;font-size:14px;font-weight:600}.robot-item-state{text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;border:1px solid;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:600}.robot-item-battery{color:#ffffff80;align-items:center;gap:6px;font-size:12px;display:flex}.robot-item-battery svg{width:14px;height:14px}.robot-item-menu-button{cursor:pointer;background:#3b82f61a;border:1px solid #3b82f633;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.robot-item-menu-button svg{color:#3b82f6;width:18px;height:18px}.robot-item-menu-button:hover{background:#3b82f640;border-color:#3b82f680;transform:scale(1.05)}.robot-item-menu-button:active{transform:scale(.95)}@media (width<=768px){.robot-selector-container{border-radius:16px 0 0 16px;width:100%;max-width:360px}}@media (width<=480px){.robot-selector-container{max-width:320px;max-height:70vh}.robot-selector-header{padding:16px}.robot-selector-title{font-size:14px}.robot-item{padding:10px}.robot-item-name{font-size:13px}.robot-item-battery{font-size:11px}}.station-selector-container{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:900;background:linear-gradient(135deg,#14141ef2 0%,#1e1e2df2 100%);border:1px solid #ffffff1a;border-radius:0 16px 16px 0;flex-direction:column;width:380px;max-height:80vh;transition:left .4s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:50%;left:-400px;overflow:hidden;transform:translateY(-50%);box-shadow:5px 5px 30px #00000080}.station-selector-container.visible{left:0}.station-selector-header{background:linear-gradient(135deg,#f59e0b1a 0%,#d977060d 100%);border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:20px;display:flex}.station-selector-title{color:#fff;align-items:center;gap:12px;font-size:16px;font-weight:600;display:flex}.station-selector-title svg{color:#f59e0b;width:24px;height:24px}.station-selector-title .keyboard-hint{color:#f59e0b;background:#f59e0b26;border:1px solid #f59e0b4d;border-radius:4px;margin-left:auto;padding:2px 8px;font-family:monospace;font-size:11px;font-weight:600}.station-selector-close{cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.station-selector-close svg{color:#ffffffb3;width:18px;height:18px}.station-selector-close:hover{background:#ef444433;border-color:#ef444466;transform:scale(1.05)}.station-selector-close:hover svg{color:#ef4444}.station-selector-search{border-bottom:1px solid #ffffff1a;padding:16px 20px;position:relative}.station-selector-search .search-icon{color:#fff6;pointer-events:none;width:18px;height:18px;position:absolute;top:50%;left:32px;transform:translateY(-50%)}.station-search-input{color:#fff;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;outline:none;width:100%;padding:12px 40px 12px 42px;font-size:14px;transition:all .2s}.station-search-input::placeholder{color:#fff6}.station-search-input:focus{background:#ffffff14;border-color:#f59e0b66;box-shadow:0 0 0 3px #f59e0b1a}.station-selector-stats{background:#0003;border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.station-count{color:#f59e0b;font-size:13px;font-weight:600}.disabled-count{color:#ef4444;background:#ef444426;border-radius:4px;padding:2px 8px;font-size:12px;font-weight:600}.station-selector-filter{background:#0000001a;border-bottom:1px solid #ffffff0d;align-items:center;padding:8px 20px;display:flex}.disabled-filter-btn{color:#ffffffb3;cursor:pointer;background:#ef44441a;border:1px solid #ef444440;border-radius:8px;align-items:center;gap:8px;padding:8px 14px;font-size:12px;font-weight:500;transition:all .2s;display:flex}.disabled-filter-btn svg{color:#ef4444;opacity:.7;width:16px;height:16px;transition:all .2s}.disabled-filter-btn:hover{color:#fff;background:#ef444433;border-color:#ef444466}.disabled-filter-btn:hover svg{opacity:1}.disabled-filter-btn.active{color:#fff;background:#ef444440;border-color:#ef444480}.disabled-filter-btn.active svg{opacity:1}.station-list{flex-direction:column;flex:1;gap:8px;padding:12px;display:flex;overflow-y:auto}.station-list::-webkit-scrollbar{width:6px}.station-list::-webkit-scrollbar-track{background:#0003}.station-list::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.station-list::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.station-list-empty{text-align:center;color:#fff6;padding:40px 20px;font-size:14px}.station-item{background:#ffffff08;border:1px solid #ffffff0d;border-radius:10px;align-items:center;gap:12px;padding:8px;transition:all .2s;display:flex}.station-item:hover{background:#ffffff14;border-color:#f59e0b4d;box-shadow:0 2px 8px #f59e0b26}.station-item.selected{background:linear-gradient(135deg,#f59e0b26 0%,#d977061a 100%);border-color:#f59e0b66;box-shadow:0 4px 12px #f59e0b33}.station-item.is-disabled{background:#ef444414;border-color:#ef44444d;animation:2s ease-in-out infinite disabled-glow}.station-item.is-disabled:hover{background:#ef444426;border-color:#ef444480;box-shadow:0 2px 8px #ef444433}.station-item.is-disabled .station-item-icon{background:#ef444426}.station-item.is-disabled .station-item-icon svg{color:#ef4444}@keyframes disabled-glow{0%,to{box-shadow:0 0 4px #ef444433}50%{box-shadow:0 0 12px #ef444459}}.station-item-main{cursor:pointer;border-radius:8px;flex:1;align-items:center;gap:12px;padding:4px;transition:all .2s;display:flex}.station-item-main:hover{background:#ffffff0d}.station-item-icon{background:#ffffff0d;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex;position:relative}.station-item-icon svg{color:#ffffff80;width:24px;height:24px}.station-item-icon.status-enabled{background:#22c55e1a;border:1px solid #22c55e33}.station-item-icon.status-enabled svg{color:#22c55e}.station-item-icon.status-disabled{background:#ef44441a;border:1px solid #ef444433}.station-item-icon.status-disabled svg{color:#ef4444}.station-color-indicator{border:2px solid #14141ef2;border-radius:50%;width:12px;height:12px;position:absolute;bottom:-2px;right:-2px}.station-item-content{flex-direction:column;flex:1;gap:6px;display:flex}.station-item-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.station-item-name{color:#fff;text-overflow:ellipsis;white-space:nowrap;max-width:150px;font-size:14px;font-weight:600;overflow:hidden}.station-item-state{text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;border:1px solid;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:600}.station-item-state.status-enabled{color:#22c55e;background-color:#22c55e33;border-color:#22c55e}.station-item-state.status-disabled{color:#ef4444;background-color:#ef444433;border-color:#ef4444}.station-item-info{color:#ffffff80;align-items:center;gap:8px;font-size:11px;display:flex}.station-type{color:#f59e0bcc}.station-queue{color:#3b82f6cc}.station-robot{color:#22c55ecc}.station-occupied{color:#fa0c}.station-item-menu-button{cursor:pointer;background:#f59e0b1a;border:1px solid #f59e0b33;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.station-item-menu-button svg{color:#f59e0b;width:18px;height:18px}.station-item-menu-button:hover{background:#f59e0b40;border-color:#f59e0b80;transform:scale(1.05)}.station-item-menu-button:active{transform:scale(.95)}@media (width<=768px){.station-selector-container{border-radius:0 16px 16px 0;width:100%;max-width:360px}}@media (width<=480px){.station-selector-container{max-width:320px;max-height:70vh}.station-selector-header{padding:16px}.station-selector-title{font-size:14px}.station-item{padding:10px}.station-item-name{font-size:13px}}.task-viewer-container{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:1000;opacity:0;pointer-events:none;background:linear-gradient(135deg,#14141efa 0%,#1e1e2dfa 100%);border:1px solid #ffffff1a;border-radius:16px;flex-direction:column;width:96%;max-height:85vh;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)scale(.9);box-shadow:0 20px 60px #000000b3}.task-viewer-header{background:linear-gradient(135deg,#3b82f61a 0%,#1d4ed80d 100%);border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.task-viewer-title{color:#fff;align-items:center;gap:12px;font-size:18px;font-weight:600;display:flex}.task-viewer-title svg{color:#3b82f6;width:24px;height:24px}.task-viewer-controls{align-items:center;gap:12px;display:flex}.task-refresh-button{cursor:pointer;background:#3b82f61a;border:1px solid #3b82f633;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.task-refresh-button svg{color:#3b82f6;width:18px;height:18px;transition:transform .3s}.task-refresh-button:hover{background:#3b82f633;border-color:#3b82f666;transform:scale(1.05)}.task-refresh-button.spinning svg{animation:1s linear infinite spin}.task-auto-refresh{cursor:pointer;color:#ffffffb3;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;transition:all .2s;display:flex}.task-auto-refresh:hover{background:#ffffff14}.auto-refresh-checkbox{cursor:pointer}.task-viewer-close{cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.task-viewer-close svg{color:#ffffffb3;width:18px;height:18px}.task-viewer-close:hover{background:#ef444433;border-color:#ef444466;transform:scale(1.05)}.task-viewer-close:hover svg{color:#ef4444}.task-viewer-search{border-bottom:1px solid #ffffff1a;padding:16px 24px;position:relative}.task-viewer-search .search-icon{color:#fff6;pointer-events:none;width:18px;height:18px;position:absolute;top:50%;left:36px;transform:translateY(-50%)}.task-search-input{color:#fff;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;outline:none;width:100%;padding:12px 40px 12px 42px;font-size:14px;transition:all .2s}.task-search-input::placeholder{color:#fff6}.task-search-input:focus{background:#ffffff14;border-color:#3b82f666;box-shadow:0 0 0 3px #3b82f61a}.task-viewer-stats{background:#0003;border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:12px 24px;display:flex}.task-count{color:#3b82f6;font-size:13px;font-weight:600}.fleet-name-display{color:#ffffff80;font-size:12px}.task-viewer-filters{background:#0000001a;border-bottom:1px solid #ffffff1a;gap:8px;padding:16px 24px;display:flex}.task-date-filter{background:#0096c80d;border-bottom:1px solid #ffffff14;flex-wrap:wrap;align-items:center;gap:16px;padding:12px 24px;display:flex}.date-input-group{flex-direction:column;gap:4px;display:flex}.date-input-group label{color:#fff9;text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:500}.task-datetime-input{color:#fff;background:#0006;border:1px solid #ffffff26;border-radius:6px;min-width:180px;padding:8px 12px;font-size:13px;transition:all .2s}.task-datetime-input:hover{background:#00000080;border-color:#3b82f666}.task-datetime-input:focus{border-color:#3b82f6cc;outline:none;box-shadow:0 0 0 3px #3b82f626}.task-datetime-input::-webkit-calendar-picker-indicator{filter:invert();cursor:pointer;opacity:.6;transition:opacity .2s}.task-datetime-input::-webkit-calendar-picker-indicator:hover{opacity:1}.date-apply-btn,.date-reset-btn{cursor:pointer;border-radius:6px;align-items:center;gap:6px;margin-top:16px;padding:8px 14px;font-size:13px;font-weight:500;transition:all .2s;display:flex}.date-apply-btn svg,.date-reset-btn svg{width:14px;height:14px}.date-apply-btn{color:#fff;background:linear-gradient(135deg,#3b82f6cc,#1d4ed8cc);border:none}.date-apply-btn:hover{background:linear-gradient(135deg,#3b82f6,#00b4e6);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.date-reset-btn{color:#fffc;background:#ffffff14;border:1px solid #ffffff26}.date-reset-btn:hover{background:#ffffff1f;border-color:#ffffff40}.filter-button{color:#ffffffb3;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:500;transition:all .2s}.filter-button:hover{background:#ffffff14;border-color:#fff3}.filter-button.active{color:#3b82f6;background:linear-gradient(135deg,#3b82f633 0%,#1d4ed826 100%);border-color:#3b82f666}.task-table-container{flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.task-loading{z-index:10;color:#3b82f6;flex-direction:column;align-items:center;gap:12px;font-size:14px;display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.loading-spinner{border:3px solid #3b82f633;border-top-color:#3b82f6;border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}.task-table-wrapper{flex:1;min-height:0;padding:0 24px;overflow:hidden auto}.task-table-wrapper::-webkit-scrollbar{width:8px;height:8px}.task-table-wrapper::-webkit-scrollbar-track{background:#0003}.task-table-wrapper::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.task-table-wrapper::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.task-table{border-collapse:collapse;width:100%;margin-top:16px}.task-table thead{z-index:5;background:#14141ef2;position:sticky;top:0}.task-table th{text-align:left;color:#ffffffb3;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:2px solid #3b82f64d;padding:12px 16px;font-size:12px;font-weight:600;transition:all .2s}.task-table th:hover{color:#3b82f6;background:#3b82f60d}.task-table tbody tr{transition:all .2s}.task-row{border-bottom:1px solid #ffffff0d}.task-row:hover{background:#3b82f60d}.task-table td{color:#fffc;padding:14px 16px;font-size:13px}.task-id,.robot-id{color:#3b82f6;font-weight:600}.parcel-id{color:#fff9;font-family:monospace;font-size:12px}.location{font-weight:500}.status-badge{text-transform:uppercase;letter-spacing:.5px;border:1px solid;border-radius:6px;padding:4px 12px;font-size:11px;font-weight:600;display:inline-block}.recv-time{color:#ffffff80;font-size:12px}.task-empty-state{text-align:center}.task-empty-state td{color:#fff6;padding:60px 20px;font-size:14px}.task-empty-state.error{color:#ef4444}.task-empty-state.error td{color:#ef4444;flex-direction:column;align-items:center;gap:12px;display:flex}.task-empty-state.error svg{width:40px;height:40px}@media (width<=1024px){.task-viewer-container{width:95%;max-height:90vh}.task-table th,.task-table td{padding:10px 12px;font-size:12px}}@media (width<=768px){.task-viewer-container{border-radius:12px;width:98%;max-height:95vh}.task-viewer-header{padding:16px}.task-viewer-title{font-size:16px}.task-viewer-search,.task-viewer-stats,.task-viewer-filters{padding:12px 16px}.task-table-wrapper{padding:0 16px 16px}.task-table{font-size:11px}.task-table th,.task-table td{padding:8px 10px}.filter-button{padding:6px 12px;font-size:12px}}@media (width<=480px){.task-viewer-filters{flex-wrap:wrap}.task-viewer-controls{gap:8px}.task-refresh-button,.task-viewer-close{width:32px;height:32px}.task-auto-refresh span{display:none}}.task-pagination{background:#0000001a;border-top:1px solid #ffffff1a;border-radius:0 0 16px 16px;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.pagination-info{color:#ffffffb3;font-size:14px}.pagination-text{font-weight:500}.pagination-controls{align-items:center;gap:8px;display:flex}.pagination-btn{color:#ffffffb3;cursor:pointer;background:linear-gradient(135deg,#ffffff1a 0%,#ffffff0d 100%);border:1px solid #ffffff1a;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-size:0;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.pagination-btn:hover:not(:disabled){color:#3b82f6;background:linear-gradient(135deg,#3b82f633 0%,#1d4ed81a 100%);border-color:#3b82f64d;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f633}.pagination-btn:active:not(:disabled){transform:translateY(0)}.pagination-btn:disabled{opacity:.3;cursor:not-allowed;background:#ffffff0d;border-color:#ffffff0d}.pagination-btn svg{width:16px;height:16px}.pagination-pages{color:#fffc;margin:0 16px;font-size:14px;font-weight:500}.pagination-page-info{white-space:nowrap}.current-page{color:#3b82f6;font-weight:600}.total-pages{color:#fff9}@media (width<=768px){.task-pagination{flex-direction:column;gap:12px;padding:12px 16px}.pagination-controls{gap:6px}.pagination-btn{width:32px;height:32px}.pagination-btn svg{width:14px;height:14px}.pagination-pages{margin:0 8px;font-size:13px}}@media (width<=480px){.pagination-info{font-size:12px}.pagination-btn{width:28px;height:28px}.pagination-btn svg{width:12px;height:12px}}.task-viewer-container{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);z-index:1000;opacity:0;pointer-events:none;width:96%;max-height:90vh;font-family:var(--fleet-font-sans);background:linear-gradient(165deg,#0f172af7 0%,#1e293bf7 100%);border:1px solid #94a3b81a;border-radius:16px;flex-direction:column;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)scale(.95);box-shadow:0 0 0 1px #ffffff0d,0 25px 50px -12px #0009,0 0 100px #38bdf80d}.task-viewer-container.visible{opacity:1;pointer-events:all;transform:translate(-50%,-50%)scale(1)}.tv-title-info .fleet-name-display{color:#64748b;margin-top:2px;font-size:12px}.tv-header-actions .task-count{color:#38bdf8;background:#38bdf81a;border:1px solid #38bdf833;border-radius:20px;padding:4px 10px;font-size:13px;font-weight:600}.tv-btn:hover{color:#f1f5f9;background:#ffffff1a;border-color:#ffffff26}.tv-btn-primary{color:#fff;background:linear-gradient(135deg,#0ea5e9,#0284c7);border-color:#0000}.tv-btn-primary:hover{background:linear-gradient(135deg,#38bdf8,#0ea5e9);transform:translateY(-1px);box-shadow:0 4px 12px #0ea5e94d}.tv-btn-ghost{background:0 0;border-color:#ffffff1a}.tv-btn-ghost:hover{background:#ffffff0d}.tv-auto-toggle{cursor:pointer;width:44px;height:24px;position:relative}.tv-auto-toggle input{opacity:0;width:0;height:0}.tv-toggle-slider{background:#ffffff1a;border-radius:12px;transition:all .2s;position:absolute;inset:0}.tv-toggle-slider:before{content:"";background:#64748b;border-radius:50%;width:18px;height:18px;transition:all .2s;position:absolute;top:3px;left:3px}.tv-auto-toggle input:checked+.tv-toggle-slider{background:#22c55e4d}.tv-auto-toggle input:checked+.tv-toggle-slider:before{background:#22c55e;transform:translate(20px)}.tv-toolbar{background:#0003;border-bottom:1px solid #94a3b814;align-items:center;gap:12px;padding:12px 20px;display:flex}.tv-search{flex:1;max-width:280px;position:relative}.tv-search svg{color:#64748b;pointer-events:none;width:16px;height:16px;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.tv-search .task-search-input{color:#f1f5f9;background:#ffffff0d;border:1px solid #ffffff14;border-radius:8px;outline:none;width:100%;padding:8px 32px 8px 34px;font-size:13px;transition:all .15s}.tv-search .task-search-input::placeholder{color:#64748b}.tv-search .task-search-input:focus{background:#ffffff14;border-color:#38bdf866;box-shadow:0 0 0 3px #38bdf81a}.tv-search .search-clear{color:#94a3b8;cursor:pointer;background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:14px;transition:all .15s;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.tv-search .search-clear:hover{color:#ef4444;background:#ef444433}.tv-filter-chips{gap:6px;display:flex}.tv-chip{color:#94a3b8;cursor:pointer;background:0 0;border:1px solid #ffffff1a;border-radius:20px;padding:6px 12px;font-size:12px;font-weight:500;transition:all .15s}.tv-chip:hover{color:#f1f5f9;background:#ffffff0d}.tv-chip.active{color:#38bdf8;background:#38bdf826;border-color:#38bdf866}.tv-date-toggle{gap:8px;margin-left:auto}.tv-date-toggle .tv-date-label{color:#38bdf8;font-size:12px;font-weight:600}.tv-date-toggle .tv-chevron{width:14px;height:14px;transition:transform .2s}.tv-date-toggle.active .tv-chevron{transform:rotate(180deg)}.tv-date-toggle.active{background:#38bdf81a;border-color:#38bdf84d}.tv-date-panel{z-index:20;background:#0000004d;max-height:0;transition:max-height .25s,padding .25s,overflow 0s .25s;position:relative;overflow:hidden}.tv-date-panel.open{border-bottom:1px solid #94a3b826;max-height:100px;padding:12px 20px;transition:max-height .25s,padding .25s,overflow;overflow:visible;box-shadow:0 4px 12px #0000004d}.tv-date-row{align-items:flex-end;gap:16px;display:flex}.tv-date-field{flex-direction:column;gap:4px;display:flex}.tv-date-field span{color:#64748b;text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:500}.tv-date-input{color:#f1f5f9;background:#0000004d;border:1px solid #ffffff1a;border-radius:6px;outline:none;padding:8px 12px;font-size:13px;transition:all .15s}.tv-date-input:focus{border-color:#38bdf880;box-shadow:0 0 0 3px #38bdf81a}.tv-date-input::-webkit-calendar-picker-indicator{filter:invert();opacity:.5;cursor:pointer}.tv-date-input::-webkit-calendar-picker-indicator:hover{opacity:.8}.tv-date-actions{gap:8px;display:flex}.tv-table-wrap{flex:1;position:relative;overflow:auto}.tv-table-wrap .task-loading{z-index:10;background:#0f172ae6;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:none;position:absolute;inset:0}.tv-table-wrap .task-loading.visible{display:flex}@keyframes tv-spin{to{transform:rotate(360deg)}}.tv-table{border-collapse:collapse;width:100%;min-width:900px;font-size:12px}.tv-table thead{z-index:5;position:sticky;top:0}.tv-table th{text-align:left;color:#64748b;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;white-space:nowrap;background:#1e293bf2;border-bottom:1px solid #94a3b81a;padding:10px 12px;font-size:11px;font-weight:600;transition:all .15s}.tv-table th:hover{color:#38bdf8;background:#38bdf80d}.tv-table td{color:#cbd5e1;white-space:nowrap;border-bottom:1px solid #94a3b80d;padding:10px 12px}.tv-row{transition:background .15s}.tv-row:hover{background:#38bdf808}.tv-row:hover td{color:#f1f5f9}.tv-id{color:#38bdf8;background:#38bdf81a;border-radius:4px;padding:4px 8px;font-family:JetBrains Mono,Fira Code,monospace;font-size:12px;font-weight:600}.tv-robot{color:#a78bfa;background:#a78bfa1a;border-radius:4px;padding:4px 8px;font-family:JetBrains Mono,Fira Code,monospace;font-size:12px;font-weight:500}.tv-loc{text-overflow:ellipsis;max-width:150px;overflow:hidden}.tv-time{color:#64748b;font-size:12px}.tv-status{text-transform:uppercase;letter-spacing:.3px;border-radius:20px;align-items:center;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.tv-status--success{color:#22c55e;background:#22c55e26;border:1px solid #22c55e4d}.tv-status--error{color:#ef4444;background:#ef444426;border:1px solid #ef44444d}.tv-status--active{color:#38bdf8;background:#38bdf826;border:1px solid #38bdf84d;animation:2s ease-in-out infinite tv-pulse}@keyframes tv-pulse{0%,to{opacity:1}50%{opacity:.5}}.tv-status--pending{color:#fbbf24;background:#fbbf2426;border:1px solid #fbbf244d}.tv-status--default{color:#94a3b8;background:#94a3b81a;border:1px solid #94a3b833}.tv-cancel-btn{cursor:pointer;background:#ef44441a;border:1px solid #ef444433;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;transition:all .15s;display:flex}.tv-cancel-btn svg{color:#f87171;width:14px;height:14px}.tv-cancel-btn:hover{background:#ef444433;border-color:#ef444466;transform:scale(1.1)}.tv-cancel-btn:hover svg{color:#ef4444}.tv-cancel-btn:active{transform:scale(.95)}.tv-empty{color:#64748b;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.tv-empty svg{opacity:.4;width:48px;height:48px;margin-bottom:12px}.tv-empty p{margin:0;font-size:14px}.tv-page-info{color:#64748b;font-size:12px}.tv-page-controls{align-items:center;gap:4px;display:flex}.tv-page-btn{color:#94a3b8;cursor:pointer;background:0 0;border:1px solid #ffffff1a;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;transition:all .15s;display:flex}.tv-page-btn:hover:not(:disabled){color:#f1f5f9;background:#ffffff0d;border-color:#ffffff26}.tv-page-btn:disabled{opacity:.3;cursor:not-allowed}.tv-page-current{color:#f1f5f9;padding:0 12px;font-size:12px;font-weight:500}@media (width<=768px){.task-viewer-container{border-radius:0;width:100%;height:100%;max-height:100vh}.tv-toolbar{flex-wrap:wrap}.tv-search{order:3;width:100%;max-width:100%}.tv-filter-chips{order:1}.tv-date-toggle{order:2;margin-left:0}.tv-date-row{flex-wrap:wrap}.tv-table th,.tv-table td{padding:10px 12px}}.shortcuts-container{flex-direction:column;gap:12px;max-height:400px;padding:20px 0;display:flex;overflow-y:auto}.shortcut-item{background:#3b82f60d;border:1px solid #3b82f61a;border-radius:8px;align-items:center;gap:16px;padding:12px 16px;transition:all .2s;display:flex}.shortcut-item:hover{background:#3b82f61a;border-color:#3b82f64d;transform:translate(4px)}.shortcut-key{text-align:center;color:#3b82f6;text-transform:uppercase;background:linear-gradient(135deg,#3b82f633 0%,#1d4ed826 100%);border:2px solid #3b82f666;border-radius:6px;min-width:60px;padding:6px 12px;font-family:Courier New,monospace;font-size:14px;font-weight:700;box-shadow:0 2px 8px #3b82f633,inset 0 1px #ffffff1a}.shortcut-description{color:#fff;text-align:left;flex:1;font-size:14px}.shortcuts-modal{background:linear-gradient(135deg,#14141efa 0%,#1e1e2dfa 100%)!important;border:1px solid #3b82f64d!important;border-radius:16px!important}.shortcuts-modal .swal2-title{color:#3b82f6!important;font-size:24px!important;font-weight:600!important}.shortcuts-confirm-button{color:#3b82f6!important;background:linear-gradient(135deg,#3b82f64d 0%,#1d4ed833 100%)!important;border:1px solid #3b82f666!important;border-radius:8px!important;padding:10px 24px!important;font-weight:600!important;transition:all .2s!important}.shortcuts-confirm-button:hover{background:linear-gradient(135deg,#3b82f666 0%,#1d4ed84d 100%)!important;border-color:#3b82f699!important;transform:scale(1.05)!important}@media (width<=768px){.shortcuts-container{max-height:300px;padding:12px 0}.shortcut-item{flex-direction:column;align-items:flex-start;gap:8px;padding:10px 12px}.shortcut-key{min-width:50px;font-size:12px}.shortcut-description{font-size:13px}}.log-viewer-container{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:10000;opacity:0;pointer-events:none;width:600px;max-width:95vw;max-height:80vh;font-family:var(--fleet-font-sans);background:linear-gradient(145deg,#0f172afa,#1e293bf2);border:1px solid #94a3b81a;border-radius:16px;flex-direction:column;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)scale(.95);box-shadow:0 25px 50px -12px #00000080,0 0 0 1px #ffffff0d}.log-viewer-container.visible{opacity:1;pointer-events:all;transform:translate(-50%,-50%)scale(1)}.lv-header{border-bottom:1px solid #94a3b814;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.lv-title-section{align-items:center;gap:12px;display:flex}.lv-icon{background:linear-gradient(135deg,#10b98133,#0596691a);border:1px solid #10b9814d;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.lv-icon svg{color:#10b981;width:20px;height:20px}.lv-title-info h2{color:#f1f5f9;letter-spacing:-.02em;margin:0;font-size:18px;font-weight:600}.lv-title-info .fleet-name-display{color:#64748b;font-size:12px;font-weight:500}.lv-header-actions{align-items:center;gap:8px;display:flex}.lv-header-actions .log-count{color:#10b981;background:#10b9811a;border:1px solid #10b98133;border-radius:12px;padding:4px 10px;font-size:13px;font-weight:600}.lv-btn{color:#94a3b8;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.lv-btn:hover:not(:disabled){color:#f1f5f9;background:#ffffff1a}.lv-btn:disabled{opacity:.4;cursor:not-allowed}.lv-btn-icon{width:34px;height:34px;padding:0}.lv-btn-icon svg{width:16px;height:16px}.lv-btn-primary{color:#fff;background:linear-gradient(135deg,#10b981,#059669);border-color:#0000}.lv-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#34d399,#10b981);transform:translateY(-1px)}.lv-btn-secondary{color:#fff;background:linear-gradient(135deg,#f59e0b,#d97706);border-color:#0000}.lv-btn-secondary:hover:not(:disabled){background:linear-gradient(135deg,#fbbf24,#f59e0b);transform:translateY(-1px)}.lv-btn-success{color:#fff;background:linear-gradient(135deg,#0ea5e9,#0284c7);border-color:#0000}.lv-btn-success:hover:not(:disabled){background:linear-gradient(135deg,#38bdf8,#0ea5e9);transform:translateY(-1px)}.log-viewer-close:hover{background:#ef444433;border-color:#ef444466}.log-viewer-close:hover svg{color:#ef4444}.lv-toolbar{border-bottom:1px solid #94a3b814;justify-content:space-between;align-items:center;gap:16px;padding:12px 20px;display:flex}.lv-select-all{align-items:center;gap:12px;display:flex}.lv-select-all-text{color:#94a3b8;font-size:13px;font-weight:500}.lv-selected-count{color:#64748b;font-size:12px}.lv-actions{align-items:center;gap:8px;display:flex}.lv-status-bar{background:#0003;border-bottom:1px solid #94a3b814;align-items:center;gap:10px;padding:10px 20px;display:flex}.lv-status-icon{justify-content:center;align-items:center;width:20px;height:20px;display:flex}.lv-status-icon svg{width:16px;height:16px}.lv-status-text{font-size:13px;font-weight:500}.lv-status-loading .lv-status-text{color:#fbbf24}.lv-status-success .lv-status-icon svg,.lv-status-success .lv-status-text{color:#22c55e}.lv-status-error .lv-status-icon svg,.lv-status-error .lv-status-text{color:#ef4444}.lv-loader-small{border:2px solid #fbbf2433;border-top-color:#fbbf24;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite lv-spin}@keyframes lv-spin{to{transform:rotate(360deg)}}.lv-checkbox-label{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;display:flex}.lv-checkbox-label input[type=checkbox]{opacity:0;width:0;height:0;position:absolute}.lv-checkbox-custom{background:#0000004d;border:1.5px solid #94a3b84d;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;transition:all .15s;display:flex}.lv-checkbox-custom:after{content:"";opacity:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpolyline points='20,6 9,17 4,12'/%3E%3C/svg%3E") 50%/contain no-repeat;width:10px;height:10px;transition:all .15s;transform:scale(.5)}.lv-checkbox-label input:checked+.lv-checkbox-custom{background:linear-gradient(135deg,#10b981,#059669);border-color:#10b981}.lv-checkbox-label input:checked+.lv-checkbox-custom:after{opacity:1;transform:scale(1)}.lv-checkbox-label input:indeterminate+.lv-checkbox-custom{background:#10b9814d;border-color:#10b981}.lv-checkbox-label input:indeterminate+.lv-checkbox-custom:after{opacity:1;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3C/svg%3E") 50%/contain no-repeat}.lv-checkbox-label:hover .lv-checkbox-custom{border-color:#10b98180}.lv-list-wrap{flex:1;min-height:200px;max-height:400px;position:relative;overflow:auto}.lv-list-wrap .log-loading{color:#94a3b8;background:#0f172ae6;justify-content:center;align-items:center;gap:12px;font-size:14px;display:none;position:absolute;inset:0}.lv-loader{border:3px solid #10b98133;border-top-color:#10b981;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite lv-spin}.log-refresh-button.spinning svg{animation:.8s linear infinite lv-spin}.lv-log-list{flex-direction:column;display:flex}.lv-log-item{border-bottom:1px solid #94a3b80d;align-items:center;gap:12px;padding:12px 20px;transition:background .15s;display:flex}.lv-log-item:hover{background:#10b98108}.lv-log-info{flex:1;align-items:center;gap:12px;display:flex}.lv-log-icon{background:#10b9811a;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.lv-log-icon svg{color:#10b981;width:18px;height:18px}.lv-log-details{flex-direction:column;gap:2px;min-width:0;display:flex}.lv-log-filename{color:#e2e8f0;white-space:nowrap;text-overflow:ellipsis;font-family:JetBrains Mono,Fira Code,monospace;font-size:13px;font-weight:500;overflow:hidden}.lv-log-datetime{color:#64748b;font-size:12px}.lv-empty{color:#64748b;text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.lv-empty svg{opacity:.5;width:48px;height:48px;margin-bottom:16px}.lv-empty p{margin:0;font-size:14px}.lv-empty.error svg,.lv-empty.error p{color:#ef4444}.lv-footer{background:#0000001a;border-top:1px solid #94a3b814;justify-content:center;align-items:center;padding:12px 20px;display:flex}.lv-footer-text{color:#64748b;font-size:12px}@media (width<=768px){.log-viewer-container{width:95%;max-height:90vh}.lv-header{padding:12px 16px}.lv-toolbar{flex-direction:column;align-items:flex-start;gap:12px}.lv-actions{justify-content:flex-end;width:100%}.lv-log-item{padding:10px 16px}}@media (width<=480px){.lv-actions{flex-direction:column;width:100%}.lv-actions .lv-btn{width:100%}}.heatmap-viewer-container{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:10000;opacity:0;pointer-events:none;width:420px;max-width:95vw;font-family:var(--fleet-font-sans);background:linear-gradient(145deg,#0f172afa,#1e293bf2);border:1px solid #94a3b81a;border-radius:16px;flex-direction:column;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)scale(.95);box-shadow:0 25px 50px -12px #00000080,0 0 0 1px #ffffff0d}.heatmap-viewer-container.visible{opacity:1;pointer-events:all;transform:translate(-50%,-50%)scale(1)}.hv-header{border-bottom:1px solid #94a3b814;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.hv-title-section{align-items:center;gap:12px;display:flex}.hv-icon{background:linear-gradient(135deg,#fb923c33,#ef44441a);border:1px solid #fb923c4d;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.hv-icon svg{color:#fb923c;width:20px;height:20px}.hv-title-info h2{color:#f1f5f9;letter-spacing:-.02em;margin:0;font-size:18px;font-weight:600}.hv-title-info .fleet-name-display{color:#64748b;font-size:12px;font-weight:500}.hv-header-actions{align-items:center;gap:8px;display:flex}.hv-btn{color:#94a3b8;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.hv-btn:hover:not(:disabled){color:#f1f5f9;background:#ffffff1a}.hv-btn:disabled{opacity:.4;cursor:not-allowed}.hv-btn-icon{width:34px;height:34px;padding:0}.hv-btn-icon svg{width:16px;height:16px}.hv-btn-primary{color:#fff;background:linear-gradient(135deg,#fb923c,#ea580c);border-color:#0000}.hv-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#fdba74,#fb923c);transform:translateY(-1px)}.hv-btn-danger{color:#ef4444;background:#ef44441a;border-color:#ef44444d}.hv-btn-danger:hover:not(:disabled){background:#ef444433}.heatmap-viewer-close:hover{background:#ef444433;border-color:#ef444466}.heatmap-viewer-close:hover svg{color:#ef4444}.hv-form{border-bottom:1px solid #94a3b814;padding:16px 20px}.hv-form-row{gap:16px;display:flex}.hv-form-group{flex-direction:column;flex:1;gap:6px;display:flex}.hv-form-group label{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:500}.hv-input,.hv-select{color:#e2e8f0;background:#0000004d;border:1px solid #94a3b833;border-radius:8px;padding:10px 12px;font-family:inherit;font-size:14px;transition:all .15s}.hv-input:focus,.hv-select:focus{border-color:#fb923c80;outline:none;box-shadow:0 0 0 3px #fb923c1a}.hv-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:16px;padding-right:36px}.hv-select option{color:#e2e8f0;background:#1e293b}.hv-actions{border-bottom:1px solid #94a3b814;gap:10px;padding:16px 20px;display:flex}.hv-actions .hv-btn{flex:1}.hv-actions .hv-btn svg{width:16px;height:16px}.hv-status-bar{background:#0003;border-bottom:1px solid #94a3b814;align-items:center;gap:10px;padding:10px 20px;display:flex}.hv-status-icon{justify-content:center;align-items:center;width:20px;height:20px;display:flex}.hv-status-icon svg{width:16px;height:16px}.hv-status-text{font-size:13px;font-weight:500}.hv-status-loading .hv-status-text{color:#fbbf24}.hv-status-success .hv-status-icon svg,.hv-status-success .hv-status-text{color:#22c55e}.hv-status-error .hv-status-icon svg,.hv-status-error .hv-status-text{color:#ef4444}.hv-loader-small{border:2px solid #fbbf2433;border-top-color:#fbbf24;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite hv-spin}@keyframes hv-spin{to{transform:rotate(360deg)}}.hv-legend{border-bottom:1px solid #94a3b814;padding:16px 20px}.hv-legend-title{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px;font-size:12px;font-weight:600}.hv-legend-bar{flex-direction:column;gap:4px;display:flex}.hv-legend-gradient{background:linear-gradient(90deg,#00f 0%,#0ff 25%,#0f0 50%,#ff0 75%,red 100%);border-radius:6px;height:12px}.hv-legend-labels{color:#64748b;justify-content:space-between;font-size:11px;display:flex}.hv-legend-info{color:#94a3b8;justify-content:space-between;margin-top:10px;font-size:12px;display:flex}.hv-footer{background:#0000001a;justify-content:center;align-items:center;padding:12px 20px;display:flex}.hv-footer-text{color:#64748b;font-size:12px}@media (width<=480px){.heatmap-viewer-container{width:95%}.hv-form-row{flex-direction:column;gap:12px}.hv-actions{flex-direction:column}}.throughput-viewer-container{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:10000;opacity:0;pointer-events:none;width:380px;max-width:95vw;max-height:85vh;font-family:var(--fleet-font-sans);background:linear-gradient(145deg,#0f172afa,#1e293bf2);border:1px solid #94a3b81a;border-radius:16px;flex-direction:column;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:80px;right:20px;overflow:hidden;transform:translate(20px);box-shadow:0 25px 50px -12px #00000080,0 0 0 1px #ffffff0d}.throughput-viewer-container.visible{opacity:1;pointer-events:all;transform:translate(0)}.tv-header{background:#0003;border-bottom:1px solid #94a3b814;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.tv-title-section{align-items:center;gap:10px;display:flex}.tv-icon{background:linear-gradient(135deg,#22c55e33,#10b9811a);border:1px solid #22c55e4d;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.tv-icon svg{color:#22c55e;width:18px;height:18px}.tv-title-info h2{color:#f1f5f9;letter-spacing:-.02em;margin:0;font-size:15px;font-weight:600}.tv-fleet-name{color:#64748b;font-size:11px;font-weight:500}.tv-header-actions{align-items:center;gap:6px;display:flex}.tv-btn{color:#94a3b8;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.tv-btn:hover:not(:disabled){color:#f1f5f9;background:#ffffff1a}.tv-btn:disabled{opacity:.4;cursor:not-allowed}.tv-btn-icon{width:30px;height:30px;padding:0}.tv-btn-icon svg{width:14px;height:14px}.tv-auto-refresh-btn.active{color:#22c55e;background:#22c55e26;border-color:#22c55e66}.tv-auto-refresh-btn.active svg{animation:2s linear infinite tv-spin}.tv-refresh-btn:hover{color:#3b82f6;background:#3b82f633;border-color:#3b82f666}.tv-close-btn:hover{background:#ef444433;border-color:#ef444466}.tv-close-btn:hover svg{color:#ef4444}.tv-stats-grid{grid-template-columns:repeat(2,1fr);gap:10px;max-height:55vh;padding:14px;display:grid;overflow-y:auto}.tv-stats-grid::-webkit-scrollbar{width:6px}.tv-stats-grid::-webkit-scrollbar-track{background:#0000001a;border-radius:3px}.tv-stats-grid::-webkit-scrollbar-thumb{background:#94a3b84d;border-radius:3px}.tv-stats-grid::-webkit-scrollbar-thumb:hover{background:#94a3b880}.tv-stat-card{background:#0003;border:1px solid #94a3b814;border-radius:10px;align-items:center;gap:10px;padding:12px;transition:all .2s;display:flex}.tv-stat-card:hover{background:#0000004d;border-color:#94a3b826;transform:translateY(-1px)}.tv-stat-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.tv-stat-icon svg{width:18px;height:18px}.tv-stat-content{flex:1;min-width:0}.tv-stat-value{color:#f1f5f9;letter-spacing:-.02em;font-size:18px;font-weight:700;line-height:1.2}.tv-stat-label{color:#64748b;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:10px;font-weight:500;overflow:hidden}.tv-stat-success .tv-stat-icon{background:#22c55e26;border:1px solid #22c55e4d}.tv-stat-success .tv-stat-icon svg{color:#22c55e}.tv-stat-success .tv-stat-value{color:#4ade80}.tv-stat-info .tv-stat-icon{background:#3b82f626;border:1px solid #3b82f64d}.tv-stat-info .tv-stat-icon svg{color:#3b82f6}.tv-stat-info .tv-stat-value{color:#60a5fa}.tv-stat-warning .tv-stat-icon{background:#fbbf2426;border:1px solid #fbbf244d}.tv-stat-warning .tv-stat-icon svg{color:#fbbf24}.tv-stat-warning .tv-stat-value{color:#fcd34d}.tv-stat-danger .tv-stat-icon{background:#ef444426;border:1px solid #ef44444d}.tv-stat-danger .tv-stat-icon svg{color:#ef4444}.tv-stat-danger .tv-stat-value{color:#f87171}.tv-stat-neutral .tv-stat-icon{background:#94a3b81a;border:1px solid #94a3b833}.tv-stat-neutral .tv-stat-icon svg{color:#94a3b8}.tv-loading-state,.tv-error-state{color:#64748b;flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;gap:12px;padding:40px 20px;font-size:13px;display:flex}.tv-loading-state svg,.tv-error-state svg{opacity:.5;width:32px;height:32px}.tv-error-state svg{color:#ef4444}.tv-loader{border:3px solid #22c55e33;border-top-color:#22c55e;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite tv-spin}.tv-footer{background:#00000026;border-top:1px solid #94a3b814;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.tv-last-update{align-items:center;gap:6px;font-size:11px;display:flex}.tv-update-label{color:#64748b}.tv-update-time{color:#94a3b8;font-weight:500}.tv-auto-refresh-status{align-items:center;gap:6px;font-size:11px;display:flex}.tv-refresh-indicator{background:#64748b;border-radius:50%;width:6px;height:6px;transition:all .2s}.tv-refresh-indicator.active{background:#22c55e;animation:2s ease-in-out infinite tv-pulse;box-shadow:0 0 8px #22c55e80}.tv-refresh-text{color:#64748b}@media (width<=480px){.throughput-viewer-container{width:auto;top:70px;left:10px;right:10px}.tv-stats-grid{grid-template-columns:1fr}.tv-header{padding:12px}.tv-header-actions{gap:4px}.tv-btn-icon{width:28px;height:28px}}.world-control-panel{z-index:1000;opacity:0;visibility:hidden;background:linear-gradient(165deg,#1a1f2e 0%,#0d1117 100%);border:1px solid #8b5cf640;border-radius:14px;width:280px;font-family:JetBrains Mono,Fira Code,SF Mono,monospace;transition:all .3s cubic-bezier(.4,0,.2,1);position:fixed;overflow:hidden;transform:translate(-20px)scale(.95);box-shadow:0 16px 48px #0006,0 0 32px #8b5cf61a,inset 0 1px #ffffff0d}.world-control-panel.visible{opacity:1;visibility:visible;transform:translate(0)scale(1)}.wcp-header{cursor:grab;background:linear-gradient(#8b5cf626 0%,#8b5cf60d 100%);border-bottom:1px solid #8b5cf633;align-items:center;gap:10px;padding:12px 14px;display:flex}.wcp-header:active{cursor:grabbing}.wcp-drag-handle{opacity:.4;width:16px;height:16px;transition:opacity .2s}.wcp-header:hover .wcp-drag-handle{opacity:.7}.wcp-drag-handle svg{stroke:#8b5cf6;width:100%;height:100%}.wcp-title{flex:1}.wcp-world-name{color:#e2e8f0;letter-spacing:.3px;font-size:13px;font-weight:600}.wcp-close-btn{cursor:pointer;background:#ffffff0d;border:none;border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;transition:all .2s;display:flex}.wcp-close-btn svg{stroke:#94a3b8;width:14px;height:14px}.wcp-close-btn:hover{background:#ef444433}.wcp-close-btn:hover svg{stroke:#ef4444}.wcp-content{padding:8px}.wcp-controls-list{flex-direction:column;gap:4px;display:flex}.wcp-toggle-row{background:#ffffff08;border:1px solid #ffffff0f;border-radius:10px;justify-content:space-between;align-items:center;padding:12px 14px;transition:all .2s;display:flex}.wcp-toggle-row:hover{background:#ffffff0f;border-color:#8b5cf633}.wcp-toggle-row.loading{opacity:.6;pointer-events:none}.wcp-toggle-row.loading .wcp-toggle-slider:before{animation:.8s ease-in-out infinite wcp-toggle-pulse}@keyframes wcp-toggle-pulse{0%,to{opacity:1}50%{opacity:.5}}.wcp-toggle-label{color:#e2e8f0;font-size:13px;font-weight:500}.wcp-toggle-switch{flex-shrink:0;width:44px;height:24px;display:inline-block;position:relative}.wcp-toggle-switch input{opacity:0;width:0;height:0}.wcp-toggle-slider{cursor:pointer;background:linear-gradient(135deg,#374151 0%,#1f2937 100%);border:1px solid #ffffff1a;border-radius:24px;transition:all .3s cubic-bezier(.4,0,.2,1);position:absolute;inset:0}.wcp-toggle-slider:before{content:"";background:linear-gradient(135deg,#e2e8f0 0%,#cbd5e1 100%);border-radius:50%;width:18px;height:18px;transition:all .3s cubic-bezier(.4,0,.2,1);position:absolute;bottom:2px;left:2px;box-shadow:0 2px 6px #0000004d}.wcp-toggle-switch input:checked+.wcp-toggle-slider{background:linear-gradient(135deg,#22c55e 0%,#16a34a 100%);border-color:#22c55e66;box-shadow:0 0 16px #22c55e4d}.wcp-toggle-switch input:checked+.wcp-toggle-slider:before{background:linear-gradient(135deg,#fff 0%,#f0fdf4 100%);transform:translate(20px)}.wcp-toggle-switch input:focus+.wcp-toggle-slider{box-shadow:0 0 0 2px #8b5cf64d}.wcp-toggle-switch input:disabled+.wcp-toggle-slider{opacity:.5;cursor:not-allowed}.wcp-loading,.wcp-error,.wcp-no-controls{text-align:center;color:#94a3b8;padding:20px;font-size:12px}.wcp-loading{color:#8b5cf6}.wcp-loading:after{content:"";border:2px solid #8b5cf64d;border-top-color:#8b5cf6;border-radius:50%;width:12px;height:12px;margin-left:8px;animation:.8s linear infinite wcp-spinner;display:inline-block}@keyframes wcp-spinner{to{transform:rotate(360deg)}}.wcp-error{color:#ef4444}.wcp-no-controls{color:#64748b;font-style:italic}@media (width<=480px){.world-control-panel{width:calc(100vw - 40px);right:20px;left:20px!important}}.charge-threshold-viewer-container{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:10000;opacity:0;pointer-events:none;width:420px;max-width:95vw;font-family:var(--fleet-font-sans);background:linear-gradient(145deg,#0f172afa,#1e293bf2);border:1px solid #94a3b81a;border-radius:16px;flex-direction:column;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)scale(.95);box-shadow:0 25px 50px -12px #00000080,0 0 0 1px #ffffff0d}.charge-threshold-viewer-container.visible{opacity:1;pointer-events:all;transform:translate(-50%,-50%)scale(1)}.ctv-header{border-bottom:1px solid #94a3b814;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.ctv-title-section{align-items:center;gap:12px;display:flex}.ctv-icon{background:linear-gradient(135deg,#fbbf2433,#f59e0b1a);border:1px solid #fbbf244d;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.ctv-icon svg{color:#fbbf24;width:20px;height:20px}.ctv-title-info h2{color:#f1f5f9;letter-spacing:-.02em;margin:0;font-size:18px;font-weight:600}.ctv-title-info .fleet-name-display{color:#64748b;margin-top:2px;font-size:12px}.ctv-header-actions{align-items:center;gap:12px;display:flex}.ctv-btn{color:#cbd5e1;cursor:pointer;background:#ffffff0d;border:1px solid #94a3b833;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;transition:all .2s;display:flex}.ctv-btn:hover:not(:disabled){color:#f1f5f9;background:#ffffff1a}.ctv-btn:disabled{opacity:.4;cursor:not-allowed}.ctv-btn-icon{width:34px;height:34px;padding:0}.ctv-btn-icon svg{width:16px;height:16px}.charge-threshold-viewer-close:hover{color:#ef4444;background:#ef444433;border-color:#ef44444d}.ctv-form{flex-direction:column;gap:16px;padding:20px;display:flex}.ctv-form-group{flex-direction:column;gap:8px;display:flex}.ctv-form-group label{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:500}.ctv-input{color:#f1f5f9;background:#0000004d;border:1px solid #94a3b833;border-radius:8px;padding:10px 12px;font-size:14px;transition:all .2s}.ctv-input:focus{border-color:#fbbf2480;outline:none;box-shadow:0 0 0 3px #fbbf241a}.ctv-input-error{border-color:#ef444480!important;box-shadow:0 0 0 3px #ef44441a!important}.ctv-input-hint{color:#64748b;margin-top:-4px;font-size:11px}.ctv-actions{gap:10px;padding:0 20px 20px;display:flex}.ctv-btn-primary{color:#fff;background:linear-gradient(135deg,#fbbf24,#f59e0b);border-color:#0000;flex:1}.ctv-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#fcd34d,#fbbf24);transform:translateY(-1px)}.ctv-btn-secondary{color:#cbd5e1;background:#94a3b81a;border-color:#94a3b833;flex:1}.ctv-btn-secondary:hover:not(:disabled){background:#94a3b833}.ctv-actions .ctv-btn svg{width:16px;height:16px}.ctv-status-bar{border-radius:8px;align-items:center;gap:10px;margin:0 20px 20px;padding:12px 20px;font-size:13px;display:flex}.ctv-status-loading{color:#60a5fa;background:#3b82f61a;border:1px solid #3b82f633}.ctv-status-success{color:#4ade80;background:#22c55e1a;border:1px solid #22c55e33}.ctv-status-error{color:#f87171;background:#ef44441a;border:1px solid #ef444433}.ctv-status-icon{justify-content:center;align-items:center;display:flex}.ctv-status-text{flex:1}.ctv-loader-small{border:2px solid #3b82f64d;border-top-color:#60a5fa;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite ctv-spinner}@keyframes ctv-spinner{to{transform:rotate(360deg)}}.ctv-footer{background:#0000001a;border-top:1px solid #94a3b814;justify-content:center;align-items:center;padding:12px 20px;display:flex}.ctv-footer-text{color:#64748b;font-size:12px}@media (width<=480px){.charge-threshold-viewer-container{width:95%}.ctv-actions{flex-direction:column}}.vpl-overlay{-webkit-backdrop-filter:blur(14px)saturate(1.1);z-index:9998;opacity:0;width:100%;height:100%;transition:opacity .45s var(--fleet-ease-out);background:#020617c7;position:fixed;top:0;left:0}.vpl-container{z-index:9999;opacity:0;width:90vw;max-width:1600px;height:90vh;max-height:900px;transition:opacity .45s var(--fleet-ease-out), transform .55s var(--fleet-ease-spring), box-shadow .5s var(--fleet-ease-out);background:linear-gradient(155deg,#0f172a 0%,#1e293b 45%,#0f172a 100%);border-radius:18px;flex-direction:column;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)scale(.9);box-shadow:0 32px 96px #0000008c,0 0 0 1px #94a3b81f,inset 0 1px #ffffff0f}.vpl-container:before{content:"";animation:fleetVplAurora 16s var(--fleet-ease-soft) infinite alternate;pointer-events:none;z-index:0;background:radial-gradient(circle at 28% 18%,#3b82f62e,#0000 38%),radial-gradient(circle at 88% 72%,#e934241a,#0000 36%);position:absolute;inset:-45%}@keyframes fleetVplAurora{0%{opacity:.85;transform:translate(0)rotate(0)}to{opacity:1;transform:translate(3%,-2%)rotate(8deg)}}.vpl-container.active{opacity:1;transform:translate(-50%,-50%)scale(1);box-shadow:0 40px 100px #00000094,0 0 0 1px #94a3b829,0 0 80px #3b82f614,inset 0 1px #ffffff12}.vpl-container>*{z-index:1;position:relative}.vpl-header{background:linear-gradient(90deg,#0f172afa 0%,#1e293bf2 100%);border-bottom:1px solid #94a3b82e;flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 20px;display:flex;box-shadow:0 12px 28px #00000038}.vpl-header h2{color:#e8f4fc;letter-spacing:.01em;text-shadow:0 1px 2px #0000004d;margin:0;font-size:18px;font-weight:600}.vpl-close-btn{cursor:pointer;color:#fff;background:#ffffff14;border:1px solid #ffffff1a;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex}.vpl-close-btn:hover{background:#ff646433;border-color:#ff646466}.vpl-close-btn svg{stroke:currentColor;width:20px;height:20px}.vpl-content{flex:1;display:flex;overflow:hidden}.vpl-sidebar{background:linear-gradient(#1a2332 0%,#141c28 100%);border-right:1px solid #6496c826;flex-shrink:0;width:300px;padding:16px;overflow-y:auto}.vpl-sidebar::-webkit-scrollbar{width:6px}.vpl-sidebar::-webkit-scrollbar-track{background:0 0}.vpl-sidebar::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.vpl-sidebar::-webkit-scrollbar-thumb:hover{background:#ffffff40}.vpl-section{margin-bottom:20px}.vpl-section h3{color:#7eb8e8;text-transform:uppercase;letter-spacing:1.2px;border-bottom:1px solid #6496c833;align-items:center;gap:8px;margin:0 0 12px;padding-bottom:8px;font-size:11px;font-weight:700;display:flex}.vpl-section h3 svg{stroke:currentColor;width:16px;height:16px}.vpl-robot-info{background:linear-gradient(135deg,#283c5a66 0%,#1e325066 100%);border:1px solid #6496c833;border-radius:10px;padding:14px}.vpl-robot-info>div{border-bottom:1px solid #6496c81a;justify-content:space-between;align-items:center;padding:8px 0;display:flex}.vpl-robot-info>div:last-child{border-bottom:none}.vpl-robot-info span:first-child{color:#b4c8dccc;font-size:12px}.vpl-robot-info span:last-child{color:#e8f4fc;font-size:13px;font-weight:600}.vpl-node-palette{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.vpl-palette-node{text-align:center;cursor:grab;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:10px;padding:12px 8px;transition:all .2s}.vpl-palette-node:hover{background:#ffffff14;transform:scale(1.05)}.vpl-palette-node:active{cursor:grabbing;transform:scale(.98)}.vpl-palette-node span{color:#fff;font-size:11px;font-weight:500}.vpl-actions{flex-direction:column;gap:8px;display:flex}.vpl-action-btn{color:#fff;cursor:pointer;text-align:left;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:10px;align-items:center;gap:10px;width:100%;padding:12px 16px;font-size:13px;font-weight:500;transition:all .2s;display:flex}.vpl-action-btn:hover{background:#3b82f61a;border-color:#3b82f64d}.vpl-action-btn:active{transform:scale(.98)}.vpl-action-btn svg{stroke:currentColor;flex-shrink:0;width:16px;height:16px}#vplGraph{background:radial-gradient(circle,#3b82f608 0%,#0000 70%) 0 0/100% 100%,linear-gradient(#ffffff04 1px,#0000 1px) 0 0/20px 20px,linear-gradient(90deg,#ffffff04 1px,#0000 1px) 0 0/20px 20px;border-radius:0 0 16px;flex:1;position:relative}.vpl-zoom-controls{z-index:100;flex-direction:column;gap:8px;display:flex;position:absolute;bottom:20px;right:20px}.vpl-zoom-btn{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;border:1px solid #ffffff26;border-radius:10px;justify-content:center;align-items:center;width:42px;height:42px;transition:all .2s;display:flex}.vpl-zoom-btn:hover{background:#3b82f633;border-color:#3b82f680}.vpl-zoom-btn svg{stroke:currentColor;width:20px;height:20px}.vpl-node-details{z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000e6;border:1px solid #3b82f64d;border-radius:12px;width:280px;padding:16px;animation:.2s vplSlideIn;position:absolute;top:20px;right:20px}@keyframes vplSlideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.vpl-node-details h4{color:#fff;margin:0 0 4px;font-size:16px;font-weight:600}.vpl-loading{flex-direction:column;justify-content:center;align-items:center;gap:16px;height:100%;display:flex}.vpl-loading-spinner{border:3px solid #3b82f633;border-top-color:#3b82f6;border-radius:50%;width:40px;height:40px;animation:.8s linear infinite vplSpin}@keyframes vplSpin{to{transform:rotate(360deg)}}.vpl-minimap{z-index:100;background:#0009;border:1px solid #ffffff1a;border-radius:10px;width:200px;height:150px;position:absolute;bottom:20px;left:20px;overflow:hidden}@media (width<=1024px){.vpl-container{width:95vw;height:95vh}.vpl-sidebar{width:240px}}@media (width<=768px){.vpl-content{flex-direction:column}.vpl-sidebar{border-bottom:1px solid #ffffff14;border-right:none;width:100%;height:auto;max-height:200px}.vpl-node-palette{grid-template-columns:repeat(4,1fr)}.vpl-actions{flex-flow:wrap}.vpl-action-btn{flex:1;min-width:120px}}.cy-node-pulse{animation:2s ease-in-out infinite cyNodePulse}@keyframes cyNodePulse{0%,to{box-shadow:0 0 #0f86}50%{box-shadow:0 0 0 10px #0f80}}.vpl-container{width:95vw;max-width:none;height:95vh;max-height:none}.vpl-header{gap:0;height:56px;padding:0 16px}.vpl-header-left{flex:1;align-items:center;gap:16px;display:flex}.vpl-header-right{align-items:center;gap:12px;display:flex}.vpl-logo{color:#3b82f6;font-family:var(--fleet-font-display);letter-spacing:-.02em;border-right:1px solid #ffffff1a;align-items:center;gap:10px;padding-right:16px;font-size:15px;font-weight:600;display:flex}.vpl-logo svg{flex-shrink:0}.vpl-tabs{align-items:center;gap:4px;height:100%;padding:0 8px;display:flex;overflow-x:auto}.vpl-tabs::-webkit-scrollbar{height:4px}.vpl-tabs::-webkit-scrollbar-thumb{background:#fff3;border-radius:2px}.vpl-tab{color:#ffffffb3;cursor:pointer;transition:transform .3s var(--fleet-ease-spring), background .25s var(--fleet-ease-soft), border-color .25s var(--fleet-ease-soft), color .25s var(--fleet-ease-soft), box-shadow .3s var(--fleet-ease-soft);white-space:nowrap;background:#ffffff0d;border:1px solid #0000;border-radius:8px 8px 0 0;align-items:center;gap:8px;padding:8px 12px;font-size:13px;display:flex;position:relative}.vpl-tab:before{content:"";background:#607d8b;border-radius:50%;flex-shrink:0;width:8px;height:8px}.vpl-tab.running:before{background:#4caf50}.vpl-tab.paused:before{background:#ff9800}.vpl-tab.stopped:before{background:#f44336}.vpl-tab.completed:before{background:#2196f3}.vpl-tab:hover{color:#fff;background:#ffffff1a;transform:translateY(-2px);box-shadow:0 10px 22px #0003}.vpl-tab.active{color:#fff;background:#3b82f62e;border-color:#3b82f661;box-shadow:0 0 24px #3b82f626}.vpl-tab-close{color:#ffffff80;cursor:pointer;background:0 0;border:none;border-radius:4px;width:16px;height:16px;font-size:16px;line-height:1;transition:all .2s}.vpl-tab-close:hover{color:#fff;background:#ff64644d}.vpl-tab-add{color:#ffffff80;cursor:pointer;background:#ffffff0d;border:1px dashed #fff3;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.vpl-tab-add:hover{color:#3b82f6;background:#3b82f61a;border-color:#3b82f64d}.vpl-status{color:#ffffffb3;background:#ffffff0d;border-radius:20px;align-items:center;gap:8px;padding:6px 12px;font-size:12px;display:flex}.vpl-status-dot{background:#607d8b;border-radius:50%;width:8px;height:8px}.vpl-status-dot.idle{background:#607d8b}.vpl-status-dot.running{background:#4caf50;animation:1.5s infinite pulse}.vpl-status-dot.paused{background:#ff9800}.vpl-status-dot.stopped{background:#f44336}.vpl-status-dot.completed{background:#2196f3}.vpl-main{flex:1;display:flex;overflow:hidden}.vpl-left-panel{background:#0003;border-right:1px solid #ffffff14;flex-direction:column;flex-shrink:0;width:280px;display:flex}.vpl-panel-header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:16px;display:flex}.vpl-panel-header h3{color:#3b82f6;text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:8px;margin:0;font-size:13px;font-weight:600;display:flex}.vpl-panel-header h3 svg{stroke:currentColor;width:16px;height:16px}.vpl-var-count{color:#b4c8dcb3;margin-left:4px;font-size:11px;font-weight:500}.vpl-search{background:#ffffff08;align-items:center;gap:10px;padding:12px 16px;display:flex}.vpl-search svg{color:#fff6;flex-shrink:0}.vpl-search input{color:#fff;background:0 0;border:none;outline:none;flex:1;font-size:13px}.vpl-search input::placeholder{color:#fff6}.vpl-group-selector{padding:0 16px 12px}.vpl-group-selector select{color:#fff;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;outline:none;width:100%;padding:8px 12px;font-size:13px}.vpl-group-selector select:focus{border-color:#3b82f680}.vpl-group-selector select option{color:#fff;background:#1a1a2e}.vpl-blocks-list{flex:1;padding:8px;overflow-y:auto}.vpl-blocks-list::-webkit-scrollbar{width:6px}.vpl-blocks-list::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.vpl-block-group{border:1px solid #ffffff0f;border-radius:8px;margin-bottom:8px;overflow:hidden}.vpl-block-group-header{color:#c8ddf0;cursor:pointer;-webkit-user-select:none;user-select:none;background:linear-gradient(90deg,#32507880 0%,#28466e4d 100%);border-left:3px solid #5a9bd4;justify-content:space-between;align-items:center;padding:10px 12px;font-size:12px;font-weight:600;transition:all .2s;display:flex}.vpl-block-group-header:hover{color:#e8f4fc;background:linear-gradient(90deg,#3c649699 0%,#325a8c66 100%)}.vpl-group-title{align-items:center;gap:8px;display:flex}.vpl-chevron{color:#ffffff80;transition:transform .2s}.vpl-block-group.collapsed .vpl-chevron{transform:rotate(-90deg)}.vpl-block-group.collapsed .vpl-block-group-items{display:none}.vpl-block-count{color:#3b82f6;background:#3b82f626;border-radius:10px;padding:2px 10px;font-size:11px;font-weight:500}.vpl-block-group-items{background:#00000026;flex-direction:column;gap:4px;padding:8px;display:flex}.vpl-palette-block{cursor:grab;background:linear-gradient(135deg,#283c5a99 0%,#1e325099 100%);border:1px solid #6496c833;border-left-width:3px;border-radius:8px;align-items:center;gap:12px;padding:10px 12px;transition:all .2s;display:flex}.vpl-palette-block:hover{background:linear-gradient(135deg,#325078cc 0%,#28466ecc 100%);border-color:#64b4ff66;transform:translate(4px);box-shadow:0 2px 8px #0064c833}.vpl-palette-block:active{cursor:grabbing}.vpl-palette-block.dragging{opacity:.5;transform:scale(.95)}.vpl-palette-block-icon{color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;display:flex}.vpl-palette-block-info{flex-direction:column;gap:2px;min-width:0;display:flex}.vpl-palette-block-name{color:#e8f4fc;text-shadow:0 1px 1px #0003;font-size:13px;font-weight:600}.vpl-palette-block-desc{color:#b4c8dccc;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.vpl-canvas-wrapper{flex-direction:column;flex:1;min-height:400px;display:flex;position:relative;overflow:hidden}.vpl-canvas{background:radial-gradient(circle,#6496c814 0%,#0000 70%) 0 0/100% 100%,linear-gradient(#78789626 1px,#0000 1px) 0 0/20px 20px,linear-gradient(90deg,#78789626 1px,#0000 1px) 0 0/20px 20px,linear-gradient(135deg,#1a1a2e 0%,#16213e 50%,#0f3460 100%) 0 0/100% 100%;border-radius:0;flex:1;width:100%;height:100%;min-height:400px;position:relative}.vpl-right-panel{background:linear-gradient(#1a2332 0%,#141c28 100%);border-left:1px solid #6496c826;flex-direction:column;flex-shrink:0;width:280px;display:flex}.vpl-icon-btn{color:#ffffffb3;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;transition:all .2s;display:flex}.vpl-icon-btn:hover{color:#3b82f6;background:#3b82f61a;border-color:#3b82f64d}.vpl-var-scope-toggle{gap:8px;padding:12px 16px;display:flex}.vpl-scope-btn{color:#fff9;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;flex:1;padding:8px;font-size:12px;font-weight:500;transition:all .2s}.vpl-scope-btn:hover{background:#ffffff1a}.vpl-scope-btn.active{color:#3b82f6;background:#3b82f626;border-color:#3b82f64d}.vpl-variables-list{flex:1;padding:8px 16px;overflow-y:auto}.vpl-var-group{background:#1e32504d;border:1px solid #6496c826;border-radius:8px;margin-bottom:8px;overflow:hidden}.vpl-var-group-header{cursor:pointer;-webkit-user-select:none;user-select:none;background:linear-gradient(90deg,#32507880 0%,#28466e4d 100%);align-items:center;gap:8px;padding:10px 12px;transition:all .2s;display:flex}.vpl-var-group-header:hover{background:linear-gradient(90deg,#3c649699 0%,#325a8c66 100%)}.vpl-var-group-icon{color:#7eb8e8;font-size:10px;transition:transform .2s}.vpl-var-group-name{color:#e8f4fc;flex:1;font-size:12px;font-weight:600}.vpl-var-group-count{color:#b4c8dcb3;font-size:11px}.vpl-var-group-items{max-height:500px;transition:max-height .3s;overflow-y:auto}.vpl-var-group.collapsed .vpl-var-group-items{max-height:0;overflow:hidden}.vpl-variable-item{cursor:default;background:#14233799;border-bottom:1px solid #6496c81a;justify-content:space-between;align-items:center;padding:8px 12px;transition:all .15s;display:flex}.vpl-variable-item:hover{background:#1e3250cc}.vpl-variable-item:last-child{border-bottom:none}.vpl-variable-info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.vpl-variable-header{align-items:center;gap:8px;display:flex}.vpl-variable-type-badge{text-transform:uppercase;color:#fff;letter-spacing:.5px;border-radius:4px;padding:2px 6px;font-size:9px;font-weight:600}.vpl-variable-name{color:#fff;font-size:12px;font-weight:500}.vpl-variable-value{color:#81c784;word-break:break-all;padding:2px 0;font-family:Monaco,Menlo,Consolas,monospace;font-size:11px;line-height:1.4}.vpl-var-copy{cursor:pointer;opacity:.5;background:0 0;border:none;border-radius:4px;padding:4px;font-size:14px;transition:all .2s}.vpl-var-copy:hover{opacity:1;background:#6496c833}.vpl-toast{color:#fff;opacity:0;z-index:10001;background:#323232;border-radius:8px;padding:12px 24px;font-size:14px;transition:all .3s;position:fixed;bottom:20px;left:50%;transform:translate(-50%)translateY(100px);box-shadow:0 4px 12px #0000004d}.vpl-toast.show{opacity:1;transform:translate(-50%)translateY(0)}.vpl-toast-success{background:linear-gradient(135deg,#2e7d32 0%,#388e3c 100%)}.vpl-toast-error{background:linear-gradient(135deg,#c62828 0%,#d32f2f 100%)}.vpl-toast-info{background:linear-gradient(135deg,#1565c0 0%,#1976d2 100%)}.vpl-variable-actions{gap:4px;display:flex}.vpl-variable-actions button{cursor:pointer;opacity:.6;background:0 0;border:none;width:24px;height:24px;font-size:12px;transition:opacity .2s}.vpl-variable-actions button:hover{opacity:1}.vpl-empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:40px 20px;display:flex}.vpl-empty-state p{color:#fff6;margin:0;font-size:13px}.vpl-bottom-bar{-webkit-backdrop-filter:blur(16px)saturate(1.1);background:linear-gradient(#0f172aeb 0%,#020617e0 100%);border-top:1px solid #94a3b81f;justify-content:space-between;align-items:center;padding:12px 20px;display:flex;box-shadow:0 -16px 40px #00000059}.vpl-controls-left,.vpl-controls-center,.vpl-controls-right{align-items:center;gap:8px;display:flex}.vpl-separator{background:#ffffff1a;width:1px;height:24px;margin:0 4px}.vpl-control-btn{color:#ffffffd9;cursor:pointer;width:36px;height:36px;transition:transform .3s var(--fleet-ease-spring), background .25s var(--fleet-ease-soft), border-color .25s var(--fleet-ease-soft), box-shadow .3s var(--fleet-ease-soft);background:#ffffff0f;border:1px solid #ffffff1f;border-radius:10px;justify-content:center;align-items:center;display:flex}.vpl-control-btn:hover:not(:disabled){background:#ffffff1f;border-color:#ffffff38;transform:translateY(-2px)scale(1.04);box-shadow:0 8px 20px #00000040}.vpl-control-btn:disabled{opacity:.4;cursor:not-allowed}.vpl-control-btn.warning:hover:not(:disabled){color:#ff9800;background:#ff980033;border-color:#ff980066}.vpl-control-btn.danger:hover:not(:disabled){color:#f44336;background:#f4433633;border-color:#f4433666}.vpl-control-btn svg{width:18px;height:18px}.vpl-play-btn{color:#fff;cursor:pointer;width:48px;height:48px;transition:transform .35s var(--fleet-ease-spring), box-shadow .35s var(--fleet-ease-out);animation:fleetPlayHalo 2.8s var(--fleet-ease-soft) infinite;background:linear-gradient(135deg,#5ecf6a 0%,#4caf50 40%,#2e7d32 100%) 0 0/160% 160%;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;box-shadow:0 6px 18px #4caf5073}@keyframes fleetPlayHalo{0%,to{box-shadow:0 6px 18px #4caf5073,0 0 #4caf5059}50%{box-shadow:0 10px 28px #4caf508c,0 0 0 10px #4caf5000}}.vpl-play-btn:hover{transform:scale(1.08);box-shadow:0 12px 32px #4caf508c}.vpl-play-btn:active{transform:scale(.96)}.vpl-save-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2196f3,#1976d2);border:none;border-radius:8px;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:500;transition:all .2s;display:flex}.vpl-save-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #2196f366}.vpl-save-btn svg{width:18px;height:18px}.vpl-dialog-overlay{z-index:10002;background:#000000b3;justify-content:center;align-items:center;width:100%;height:100%;animation:.2s fadeIn;display:flex;position:fixed;top:0;left:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.vpl-dialog{background:linear-gradient(135deg,#1e1e2e,#2a2a3e);border:1px solid #ffffff1a;border-radius:16px;width:400px;max-width:90vw;max-height:80vh;animation:.3s slideUp;overflow:hidden;box-shadow:0 20px 60px #00000080}.vpl-dialog.small{width:320px}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.vpl-dialog-header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.vpl-dialog-header h3{color:#fff;margin:0;font-size:16px;font-weight:600}.vpl-dialog-close{color:#ffffff80;cursor:pointer;background:0 0;border:none;border-radius:6px;width:28px;height:28px;font-size:20px;transition:all .2s}.vpl-dialog-close:hover{color:#f44336;background:#ff646433}.vpl-dialog-body{max-height:400px;padding:20px;overflow-y:auto}.vpl-form-group{margin-bottom:16px}.vpl-form-group:last-child{margin-bottom:0}.vpl-form-group label{color:#ffffffb3;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:12px;font-weight:500;display:block}.vpl-form-group input,.vpl-form-group select{color:#fff;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;outline:none;width:100%;padding:10px 12px;font-size:14px;transition:all .2s}.vpl-form-group input:focus,.vpl-form-group select:focus{background:#3b82f60d;border-color:#3b82f680}.vpl-form-group input::placeholder{color:#ffffff4d}.vpl-dialog-footer{background:#0003;border-top:1px solid #ffffff14;justify-content:flex-end;gap:10px;padding:16px 20px;display:flex}.vpl-btn{cursor:pointer;border:none;border-radius:8px;padding:10px 20px;font-size:13px;font-weight:500;transition:all .2s}.vpl-btn.primary{color:#fff;background:linear-gradient(135deg,#3b82f6,#00a8cc)}.vpl-btn.primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.vpl-btn.secondary{color:#fffc;background:#ffffff1a}.vpl-btn.secondary:hover{background:#ffffff26}.vpl-edge-types{flex-direction:column;gap:8px;display:flex}.vpl-edge-type-btn{color:#fff;cursor:pointer;text-align:left;background:#ffffff08;border:2px solid #ffffff1a;border-radius:10px;align-items:center;gap:12px;padding:12px 16px;transition:all .2s;display:flex}.vpl-edge-type-btn:hover{background:#ffffff14}.edge-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px}.vpl-edge-type-btn span{font-size:14px;font-weight:500}.vpl-edge-type-btn small{color:#ffffff80;margin-top:2px;font-size:11px;display:block}.vpl-notification{color:#fff;z-index:10003;border-radius:8px;padding:12px 20px;font-size:13px;font-weight:500;animation:.3s slideIn;position:fixed;top:80px;right:20px;box-shadow:0 4px 12px #0000004d}.vpl-notification.success{background:#4caf50}.vpl-notification.error{background:#f44336}.vpl-notification.info{background:#2196f3}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.cxtmenu-content{font-family:inherit!important}.ctx-icon{margin-right:6px}.vpl-minimap{display:none}@media (width<=1200px){.vpl-left-panel{width:240px}.vpl-right-panel{width:220px}}@media (width<=900px){.vpl-main{flex-direction:column}.vpl-left-panel,.vpl-right-panel{border-left:none;border-right:none;width:100%;max-height:180px}.vpl-left-panel{border-bottom:1px solid #ffffff14}.vpl-right-panel{border-top:1px solid #ffffff14}.vpl-blocks-list{flex-wrap:wrap;gap:8px;padding:8px 12px;display:flex}.vpl-block-group{margin-bottom:0}.vpl-block-group-items{flex-flow:wrap}.vpl-palette-block{width:auto}}.pallet-timeline-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1100;opacity:0;pointer-events:none;background:#0009;justify-content:center;align-items:center;transition:opacity .25s;display:flex;position:fixed;inset:0}.pallet-timeline-overlay.visible{opacity:1;pointer-events:all}.pallet-timeline-panel{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);width:min(900px,94vw);max-height:82vh;font-family:var(--fleet-font-sans);background:linear-gradient(165deg,#0f172afa 0%,#1e293bfa 100%);border:1px solid #94a3b81f;border-radius:16px;flex-direction:column;transition:transform .25s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden;transform:translateY(12px)scale(.97);box-shadow:0 24px 64px #0000008c}.pallet-timeline-overlay.visible .pallet-timeline-panel{transform:translateY(0)scale(1)}.ptl-header{border-bottom:1px solid #94a3b81a;flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.ptl-header-left{align-items:center;gap:12px;min-width:0;display:flex}.ptl-header-icon{background:#60a5fa1f;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.ptl-header-icon svg{stroke:#60a5fa;width:20px;height:20px}.ptl-title{color:#f1f5f9;white-space:nowrap;font-size:15px;font-weight:600}.ptl-subtitle{color:#60a5fa;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:500}.ptl-close{color:#94a3b8;cursor:pointer;background:#ffffff0f;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;transition:all .15s;display:flex}.ptl-close:hover{color:#f87171;background:#ef444426}.ptl-close svg{width:18px;height:18px}.ptl-body{flex:1;padding:24px;overflow-y:auto}.ptl-body::-webkit-scrollbar{width:6px}.ptl-body::-webkit-scrollbar-track{background:0 0}.ptl-body::-webkit-scrollbar-thumb{background:#94a3b833;border-radius:3px}.ptl-empty{text-align:center;color:#64748b;padding:48px 24px}.ptl-empty svg{stroke:#475569;width:48px;height:48px;margin-bottom:16px}.ptl-empty p{margin:0;font-size:14px}.ptl-loading{color:#94a3b8;justify-content:center;align-items:center;gap:10px;padding:48px 24px;font-size:13px;display:flex}.ptl-loading .spinner{border:2px solid #94a3b833;border-top-color:#60a5fa;border-radius:50%;width:20px;height:20px;animation:.7s linear infinite ptl-spin}@keyframes ptl-spin{to{transform:rotate(360deg)}}.ptl-timeline{padding-left:32px;position:relative}.ptl-timeline:before{content:"";background:linear-gradient(#60a5fa,#60a5fa26);border-radius:1px;width:2px;position:absolute;top:8px;bottom:8px;left:11px}.ptl-event{padding:0 0 28px;position:relative}.ptl-event:last-child{padding-bottom:0}.ptl-dot{justify-content:center;align-items:center;width:22px;height:22px;display:flex;position:absolute;top:6px;left:-32px}.ptl-dot:before{content:"";background:#1e293b;border:2px solid #60a5fa;border-radius:50%;width:10px;height:10px;transition:all .2s}.ptl-event:first-child .ptl-dot:before{background:#60a5fa;box-shadow:0 0 8px #60a5fa80}.ptl-card{background:#ffffff08;border:1px solid #94a3b814;border-radius:10px;padding:14px 16px;transition:all .2s}.ptl-card:hover{background:#ffffff0f;border-color:#94a3b826}.ptl-card-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.ptl-time{color:#60a5fa;white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600}.ptl-requester{color:#94a3b8;white-space:nowrap;text-overflow:ellipsis;background:#94a3b81a;border-radius:4px;max-width:200px;padding:2px 8px;font-size:11px;overflow:hidden}.ptl-desc{color:#cbd5e1;white-space:pre-line;word-break:break-word;font-size:13px;line-height:1.55}.ptl-tags{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.ptl-tag{color:#93c5fd;background:#60a5fa1a;border:1px solid #60a5fa26;border-radius:5px;align-items:center;padding:3px 8px;font-size:11px;display:inline-flex}.ptl-tag-name{color:#60a5fa;margin-right:4px;font-weight:600}.ptl-count{color:#64748b;background:#64748b26;border-radius:10px;margin-left:8px;padding:2px 10px;font-size:11px;font-weight:500}@media (width<=640px){.pallet-timeline-panel{border-radius:0;width:100%;max-height:100vh}.ptl-card-header{flex-direction:column;align-items:flex-start;gap:4px}}.ros-workbench{font-family:var(--fleet-font-sans);color:var(--fleet-ink);box-sizing:border-box;background:#fffffff5;flex-direction:column;gap:10px;height:100%;padding:14px 14px 12px;display:flex}.ros-workbench *,.ros-workbench :before,.ros-workbench :after{box-sizing:border-box}.ros-workbench .rw-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.ros-workbench .rw-tabs{background:#0f172a0d;border-radius:10px;gap:2px;padding:3px;display:inline-flex}.ros-workbench .rw-tab{appearance:none;letter-spacing:.01em;color:var(--fleet-muted);cursor:pointer;transition:background .2s var(--fleet-ease-soft), color .2s var(--fleet-ease-soft);background:0 0;border:0;border-radius:8px;padding:6px 14px;font-family:inherit;font-size:12px;font-weight:600}.ros-workbench .rw-tab:hover{color:var(--fleet-ink)}.ros-workbench .rw-tab.is-active{color:var(--fleet-ink);background:#fff;box-shadow:0 1px 2px #0f172a14}.ros-workbench .rw-status{color:var(--fleet-muted);align-items:center;gap:6px;font-size:11px;font-weight:600;display:inline-flex}.ros-workbench .rw-status:before{content:"";background:#94a3b8;border-radius:50%;width:8px;height:8px}.ros-workbench .rw-status.is-on:before{background:#22c55e;box-shadow:0 0 0 3px #22c55e2e}.ros-workbench .rw-status.is-off:before{background:#ef4444}.ros-workbench .rw-pane{flex:auto;min-height:0;display:none}.ros-workbench .rw-pane.is-active{gap:10px;min-height:0;display:flex}.ros-workbench .rw-browse{flex:1;grid-template-columns:minmax(200px,1.1fr) minmax(180px,1fr) minmax(260px,1.6fr);gap:10px;min-height:0;display:grid}.ros-workbench .rw-col{background:#fff;border:1px solid #0f172a14;border-radius:12px;flex-direction:column;min-height:0;display:flex;overflow:hidden}.ros-workbench .rw-col-head{letter-spacing:.04em;text-transform:uppercase;color:var(--fleet-muted);background:#0f172a05;border-bottom:1px solid #0f172a0f;justify-content:space-between;align-items:center;padding:8px 10px;font-size:11px;font-weight:700;display:flex}.ros-workbench .rw-col-head .rw-count{letter-spacing:0;text-transform:none;color:var(--fleet-muted);font-size:11px;font-weight:600}.ros-workbench .rw-search{font:inherit;color:var(--fleet-ink);transition:border-color .2s var(--fleet-ease-soft), box-shadow .2s var(--fleet-ease-soft);background:#fff;border:1px solid #0f172a1f;border-radius:8px;outline:none;margin:8px 10px 6px;padding:7px 10px;font-size:12px}.ros-workbench .rw-search:focus{border-color:var(--fleet-accent);box-shadow:0 0 0 3px #3b82f62e}.ros-workbench .rw-list{flex:1;margin:0;padding:2px 6px 6px;list-style:none;overflow-y:auto}.ros-workbench .rw-list li{color:var(--fleet-ink);cursor:pointer;word-break:break-all;transition:background .15s var(--fleet-ease-soft), color .15s var(--fleet-ease-soft);border-radius:6px;align-items:center;gap:6px;padding:6px 8px;font-size:12px;line-height:1.3;display:flex}.ros-workbench .rw-list li:hover{background:#3b82f614}.ros-workbench .rw-list li.is-selected{color:var(--fleet-accent-deep);background:#3b82f624;font-weight:600}.ros-workbench .rw-list li.is-hidden{display:none}.ros-workbench .rw-list li .rw-remove{color:var(--fleet-muted);border-radius:4px;margin-left:auto;padding:0 4px;font-size:14px;line-height:1}.ros-workbench .rw-list li .rw-remove:hover{color:#ef4444;background:#ef444414}.ros-workbench .rw-stream-head{background:#0f172a05;border-bottom:1px solid #0f172a0f;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.ros-workbench .rw-stream-title{text-transform:uppercase;letter-spacing:.04em;color:var(--fleet-muted);flex-direction:column;flex:1;gap:2px;min-width:0;font-size:11px;font-weight:700;display:flex}.ros-workbench .rw-stream-topic{text-transform:none;letter-spacing:0;color:var(--fleet-ink);text-overflow:ellipsis;white-space:nowrap;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace;font-size:12px;font-weight:600;overflow:hidden}.ros-workbench .rw-stream{white-space:pre-wrap;word-break:break-word;color:var(--fleet-ink);background:#fafafa;flex:1;margin:0;padding:10px 12px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace;font-size:11.5px;line-height:1.45;overflow:auto}.ros-workbench .rw-stream.is-empty{color:var(--fleet-muted);font-style:italic}.ros-workbench .rw-btn{appearance:none;color:var(--fleet-ink);cursor:pointer;transition:background .15s var(--fleet-ease-soft), border-color .15s var(--fleet-ease-soft), color .15s var(--fleet-ease-soft);background:#fff;border:1px solid #0f172a1f;border-radius:8px;padding:6px 10px;font-family:inherit;font-size:12px;font-weight:600}.ros-workbench .rw-btn:hover{background:#0f172a08;border-color:#0f172a33}.ros-workbench .rw-btn.rw-btn-primary{background:var(--fleet-accent);border-color:var(--fleet-accent);color:#fff}.ros-workbench .rw-btn.rw-btn-primary:hover{background:var(--fleet-accent-deep);border-color:var(--fleet-accent-deep)}.ros-workbench .rw-btn:disabled{opacity:.55;cursor:not-allowed}.ros-workbench .rw-publish{flex:1;grid-template-columns:minmax(0,1fr);gap:10px;min-height:0;display:grid}.ros-workbench .rw-field{flex-direction:column;gap:4px;display:flex}.ros-workbench .rw-field-row{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:10px;display:grid}.ros-workbench .rw-label{letter-spacing:.04em;text-transform:uppercase;color:var(--fleet-muted);font-size:10.5px;font-weight:700}.ros-workbench .rw-input{font:inherit;color:var(--fleet-ink);transition:border-color .2s var(--fleet-ease-soft), box-shadow .2s var(--fleet-ease-soft);background:#fff;border:1px solid #0f172a1f;border-radius:8px;outline:none;padding:7px 10px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace;font-size:12px}.ros-workbench .rw-input:focus{border-color:var(--fleet-accent);box-shadow:0 0 0 3px #3b82f62e}.ros-workbench .rw-input[readonly]{color:var(--fleet-muted);background:#0f172a0a}.ros-workbench .rw-textarea{font:inherit;color:var(--fleet-ink);resize:vertical;min-height:180px;transition:border-color .2s var(--fleet-ease-soft), box-shadow .2s var(--fleet-ease-soft);background:#fff;border:1px solid #0f172a1f;border-radius:8px;outline:none;padding:10px 12px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace;font-size:12px;line-height:1.45}.ros-workbench .rw-textarea:focus{border-color:var(--fleet-accent);box-shadow:0 0 0 3px #3b82f62e}.ros-workbench .rw-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ros-workbench .rw-hint{color:var(--fleet-muted);margin-left:auto;font-size:11px}.ros-workbench .rw-hint.is-error{color:#dc2626}.ros-workbench .rw-hint.is-ok{color:#16a34a}@media (width<=820px){.ros-workbench .rw-browse{grid-template-columns:minmax(0,1fr);grid-auto-rows:minmax(140px,auto)}.ros-workbench .rw-field-row{grid-template-columns:minmax(0,1fr)}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
