/*! tailwindcss v4.2.1 | 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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y: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-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}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--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;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-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}}@layer components;@layer utilities{.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}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.order-100{order:100}.order-101{order:101}.order-102{order:102}.order-103{order:103}.order-104{order:104}.order-105{order:105}.order-106{order:106}.order-107{order:107}.order-108{order:108}.order-109{order:109}.order-110{order:110}.order-111{order:111}.order-112{order:112}.order-113{order:113}.order-114{order:114}.order-115{order:115}.order-116{order:116}.order-117{order:117}.order-118{order:118}.order-119{order:119}.order-120{order:120}.order-121{order:121}.order-122{order:122}.order-123{order:123}.order-124{order:124}.order-125{order:125}.order-126{order:126}.order-127{order:127}.order-128{order:128}.order-129{order:129}.order-130{order:130}.order-131{order:131}.order-132{order:132}.order-133{order:133}.order-134{order:134}.order-135{order:135}.order-136{order:136}.order-137{order:137}.order-138{order:138}.order-139{order:139}.order-140{order:140}.order-141{order:141}.order-142{order:142}.order-143{order:143}.order-144{order:144}.order-145{order:145}.order-146{order:146}.order-147{order:147}.order-148{order:148}.order-149{order:149}.order-150{order:150}.order-151{order:151}.order-152{order:152}.order-153{order:153}.order-154{order:154}.order-155{order:155}.order-156{order:156}.order-157{order:157}.order-158{order:158}.order-159{order:159}.order-160{order:160}.order-161{order:161}.order-162{order:162}.order-163{order:163}.order-164{order:164}.order-165{order:165}.order-166{order:166}.order-167{order:167}.order-168{order:168}.order-169{order:169}.order-170{order:170}.order-171{order:171}.order-172{order:172}.order-173{order:173}.order-174{order:174}.order-175{order:175}.order-176{order:176}.order-177{order:177}.order-178{order:178}.order-179{order:179}.order-180{order:180}.order-181{order:181}.order-182{order:182}.order-183{order:183}.order-184{order:184}.order-185{order:185}.order-186{order:186}.order-187{order:187}.order-188{order:188}.order-189{order:189}.order-190{order:190}.order-191{order:191}.order-192{order:192}.order-193{order:193}.order-194{order:194}.order-195{order:195}.order-196{order:196}.order-197{order:197}.order-198{order:198}.order-199{order:199}.order-200{order:200}.order-201{order:201}.order-202{order:202}.order-203{order:203}.order-204{order:204}.order-205{order:205}.order-206{order:206}.order-207{order:207}.order-208{order:208}.order-209{order:209}.order-210{order:210}.order-211{order:211}.order-212{order:212}.order-213{order:213}.order-214{order:214}.order-215{order:215}.order-216{order:216}.order-217{order:217}.order-218{order:218}.order-219{order:219}.order-220{order:220}.order-221{order:221}.order-222{order:222}.order-223{order:223}.order-224{order:224}.order-225{order:225}.flex{display:flex}.grid{display:grid}.hidden{display:none}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.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)}.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,)}}:root{--canvas:#0d1115;--surface:#141a20;--ink:#e5ebef;--muted:#a2afb9;--faint:#8e9ca7;--rule:#ffffff0d;--accent:#c9ee96;--green:#9cd1b6;--amber:#e7b981;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html{background:var(--canvas);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;min-width:320px}body{color:var(--ink);font:400 12px/1.5 var(--sans);-webkit-font-smoothing:antialiased;margin:0}button,input,select,kbd{font:inherit}button,a,select,input{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer;touch-action:manipulation}button,select{min-height:32px}button,a,select{transition:color .16s,background-color .16s,border-color .16s,box-shadow .16s}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button:disabled{opacity:.3;cursor:not-allowed}button:active:not(:disabled){filter:brightness(1.1)}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p,dl,dd{margin:0}strong,b,h1,h2,h3,h4{font-weight:600}small{font-size:10px;font-weight:400}[hidden]{display:none!important}.icon{vertical-align:middle;flex:none;width:18px;height:18px;display:inline-block}.sr-only,caption{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.app-shell{background:radial-gradient(ellipse at 0 0, #c9ee9605, transparent 45%), var(--canvas);flex-direction:column;height:100dvh;min-height:600px;display:flex}.app-header{flex:0 0 68px;justify-content:space-between;align-items:center;gap:12px;padding:0 24px;display:flex}.brand{border-radius:12px;flex:none;align-items:center;gap:11px;min-height:44px;padding:3px 2px;display:flex}.brand-mark{width:38px;height:38px;color:var(--accent);filter:drop-shadow(0 2px 5px #00000018);place-items:center;transition:color .16s;display:grid}.brand-mark .brand-symbol{width:100%;height:100%}.brand-symbol{flex:none;display:block}.brand-name,.loading-mark{letter-spacing:-.7px;color:#edf2e8;font-size:21px;font-weight:650;line-height:1}.brand-name{padding-bottom:2px;transition:color .16s}.brand:hover .brand-mark{color:#daf5b3}.brand:hover .brand-name{color:#fff}.header-actions{color:var(--muted);align-items:center;gap:10px;margin-left:auto;display:flex}.header-actions a:hover{color:var(--ink);background:#ffffff07}.header-actions a{width:34px;height:34px;color:var(--faint);border-radius:9px;place-items:center;display:grid}.layout-picker{color:var(--muted);background:#ffffff05;border:1px solid #ffffff0b;border-radius:9px;align-items:center;gap:8px;padding:0 10px;display:flex}.layout-picker:hover{background:#ffffff08;border-color:#ffffff17}.layout-picker .icon{width:14px;height:14px}.layout-picker .picker-chevron{pointer-events:none;width:11px;height:11px;transform:rotate(90deg)}.layout-picker select{appearance:none;width:118px;min-height:36px;color:var(--ink);cursor:pointer;background:0 0;border:0;padding:0 2px;font-size:12px}.layout-picker option{background:var(--surface);color:var(--ink)}.control-workspace{--fleet-width:240px;--tasks-width:288px;grid-template-columns:var(--fleet-width) minmax(0, 1fr) var(--tasks-width);flex:1;gap:14px;min-height:0;padding:4px 16px 16px;display:grid}.side-panel,.map-panel{background:var(--surface);border:1px solid #ffffff09;border-radius:16px;min-width:0;min-height:0;overflow:hidden}.side-panel{flex-direction:column;display:flex}.fleet-sidebar{flex-direction:column;gap:12px;min-width:0;min-height:0;display:flex}.fleet-panel{flex:1}.fleet-panel .side-heading{flex-basis:44px}.side-heading{flex:0 0 54px;justify-content:space-between;align-items:center;padding:0 16px;display:flex}.side-heading h2{color:#e0e7eb;white-space:nowrap;align-items:center;gap:9px;font-size:13px;display:flex}.side-heading h2>.icon{width:15px;height:15px;color:var(--faint)}.fleet-panel .side-heading h2,.fleet-panel .side-heading h2>.icon{color:var(--status-color);transition:color .18s}.side-heading h2 small{color:var(--muted);text-align:center;background:#ffffff07;border-radius:5px;min-width:22px;padding:1px 5px;font-size:10px}.collapse-button{color:var(--faint);background:0 0;border:0;border-radius:6px;place-items:center;width:24px;padding:0;display:grid}.collapse-button:hover{color:var(--ink);background:#ffffff08}.collapse-button .icon{width:12px;height:12px}.fleet-cards{overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:#52616a transparent;scrollbar-gutter:stable;flex-direction:column;flex:1;gap:8px;min-height:0;padding:3px 8px 8px;scroll-padding-block:3px;display:flex;overflow:hidden auto}.fleet-cards:focus-visible{outline:1px solid var(--accent);outline-offset:-2px;border-radius:8px}.vehicle-card{text-align:left;background:#1b232a;border:1px solid #0000;border-radius:11px;flex-direction:column;flex:none;justify-content:space-between;gap:5px;min-width:0;min-height:124px;padding:9px 10px;display:flex;position:relative}.vehicle-card:hover{background:#222d34;border-color:#ffffff10}.vehicle-card.is-active{border-color:var(--vehicle-color)}@supports (color:color-mix(in lab, red, red)){.vehicle-card.is-active{border-color:color-mix(in srgb, var(--vehicle-color) 30%, transparent)}}.vehicle-card.is-active{background:linear-gradient(135deg, var(--vehicle-color), #192127)}@supports (color:color-mix(in lab, red, red)){.vehicle-card.is-active{background:linear-gradient(135deg, color-mix(in srgb, var(--vehicle-color) 9%, #192127), #192127)}}.vehicle-card.is-active{box-shadow:inset 0 1px #ffffff05,0 3px 12px #00000012}.vehicle-card:before{content:"";background:var(--status-color);border-radius:0 3px 3px 0;width:3px;height:25px;transition:background-color .18s;position:absolute;top:19px;left:-1px}.vehicle-card-heading{align-items:center;gap:7px;min-width:0;display:flex}.vehicle-symbol{color:var(--vehicle-color);place-items:center;display:grid}.forklift-glyph{flex:none;width:38px;height:32px}.vehicle-symbol .forklift-glyph{width:30px;height:24px}.vehicle-card-heading>strong{letter-spacing:-.3px;color:#edf2f4;white-space:nowrap;font-size:16px}.vehicle-card-heading>strong>span{letter-spacing:.3px;color:var(--muted);font-size:10px;font-weight:500}.vehicle-status{color:var(--status-color);white-space:nowrap;align-items:center;gap:4px;margin-left:auto;font-size:10px;transition:color .18s;display:flex}.vehicle-status i,.playback-status i,.task-status i{background:currentColor;border-radius:50%;flex:none;width:4px;height:4px}.vehicle-details,.vehicle-battery-label{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;font-size:11px;display:flex}.vehicle-details b{color:#d3dde2;margin-left:4px;font-weight:500}.vehicle-battery-label>span{align-items:center;gap:4px;display:flex}.vehicle-battery-label{color:var(--battery-color);transition:color .18s}.vehicle-battery-label .icon{width:12px;height:12px}.vehicle-battery-label strong{color:inherit;font-variant-numeric:tabular-nums;font-size:14px;font-weight:500}.vehicle-battery-label small{color:inherit;margin-left:2px}.vehicle-battery-track{background:#ffffff0b;border-radius:4px;flex:0 0 4px;height:4px;display:block;overflow:hidden;-webkit-mask-image:repeating-linear-gradient(90deg,#000 0 7px,#0000 7px 9px);mask-image:repeating-linear-gradient(90deg,#000 0 7px,#0000 7px 9px)}.vehicle-battery-track i{border-radius:inherit;background:var(--accent);background:var(--battery-color);height:100%;transition:width .18s linear,background-color .18s;display:block}.vehicle-position{color:var(--faint);font-variant-numeric:tabular-nums;border-top:1px solid #ffffff07;align-items:center;gap:7px;padding-top:4px;font-size:10px;display:flex}.vehicle-position i{background:#ffffff13;width:1px;height:8px}.vehicle-position .icon{width:11px;height:11px;color:var(--vehicle-color);margin-left:auto}.operations-panel{flex-direction:column;gap:12px;min-width:0;min-height:0;display:flex}.chargers-panel{flex:none}.chargers-panel .side-heading{flex-basis:44px}.charger-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0 10px 10px;list-style:none;display:grid}.charger-card{--charger-color:var(--faint);background:#1b232a;border:1px solid #ffffff06;border-radius:10px;flex-direction:column;gap:5px;min-width:0;padding:9px 10px 7px;display:flex}.charger-card.is-charging{--charger-color:var(--accent);background:#c9ee9608;border-color:#c9ee9620}.charger-card.is-occupied{--charger-color:var(--amber)}.charger-card-heading{font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:5px;display:flex}.charger-card-heading strong{align-items:center;gap:5px;font-size:12px;font-weight:500;display:flex}.charger-symbol{width:32px;height:32px;color:var(--charger-color);background:var(--charger-color);border-radius:8px;flex:0 0 32px;place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.charger-symbol{background:color-mix(in srgb, var(--charger-color) 9%, transparent)}}.charger-symbol .icon{width:24px;height:24px}.charger-battery{color:var(--muted);font-size:11px}.charger-battery small{margin-left:1px;font-size:9px}.charger-state{color:var(--charger-color);align-items:center;gap:5px;font-size:10px;display:flex}.charger-state i{background:currentColor;border-radius:50%;flex:none;width:4px;height:4px}.charger-vehicle{min-height:22px;color:var(--vehicle-color);background:0 0;border:0;border-radius:3px;justify-content:space-between;align-items:center;gap:4px;padding:0;font-size:10px;display:flex}.charger-vehicle:hover{background:#ffffff08}.charger-vehicle>span{align-items:center;gap:5px;display:flex}.charger-vehicle i{background:currentColor;border-radius:1px;width:4px;height:4px}.charger-vehicle .icon{width:10px;height:10px}.charger-location{min-height:22px;color:var(--faint);font-variant-numeric:tabular-nums;align-items:center;font-size:10px;display:flex}.tasks-panel{flex:1}.tasks-panel .collapse-button .icon,.fleet-panel .collapse-button .icon{transform:rotate(-90deg)}.tasks-panel.is-collapsed,.fleet-panel.is-collapsed{flex:0 0 54px}.tasks-panel.is-collapsed .side-heading,.fleet-panel.is-collapsed .side-heading{flex-direction:row;flex:1;justify-content:space-between;gap:8px;padding:0 16px}.tasks-panel.is-collapsed .collapse-button .icon,.fleet-panel.is-collapsed .collapse-button .icon{transform:rotate(90deg)}.map-panel{background:radial-gradient(at 50% 28%,#1b2830,#11181e 72%);flex-direction:column;display:flex;position:relative;box-shadow:inset 0 1px #ffffff03,0 12px 32px #00000012}.map-heading{z-index:2;pointer-events:none;justify-content:space-between;align-items:center;gap:10px;height:54px;padding:0 20px;display:flex;position:absolute;top:0;left:0;right:0}.map-heading>div{align-items:center;gap:10px;display:flex}.algorithm-picker{pointer-events:auto;background:#141c22d9;border:1px solid #0000;border-radius:8px;align-items:center;gap:8px;margin-left:-8px;padding:0 8px;display:flex}.algorithm-picker:hover{background:#243039;border-color:#ffffff14}.algorithm-picker select{appearance:none;cursor:pointer;background:0 0;border:0;width:112px;min-height:32px;font-size:12px;font-weight:500}.algorithm-picker select:disabled{opacity:.5;cursor:progress}.algorithm-picker option{background:var(--surface)}.algorithm-picker>.icon{pointer-events:none;width:10px;height:10px;color:var(--faint);transform:rotate(90deg)}.algorithm-error{z-index:10;color:#ee9688;background:#2c2525;border:1px solid #ee96884d;border-radius:10px;align-items:center;gap:10px;max-width:calc(100% - 24px);padding:8px 12px;display:flex;position:fixed;top:64px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0005}.algorithm-error button{background:#ffffff0a;border:0;border-radius:5px;padding:0 8px}.playback-status{color:var(--muted);background:#ffffff05;border-radius:5px;align-items:center;gap:5px;padding:3px 7px;font-size:10px;display:flex}.playback-status.is-playing{color:var(--accent);background:#c9ee960b}.map-stage{flex:1;min-height:130px;position:relative}.map-stage:before{content:"";pointer-events:none;background-image:radial-gradient(#adc9d41c .7px,#0000 .7px);background-size:22px 22px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000 15%,#0000 75%);mask-image:radial-gradient(#000 15%,#0000 75%)}.warehouse-scene{position:absolute;inset:0}.scene-canvas{min-height:0;position:absolute;inset:8px}.scene-canvas canvas{touch-action:none;width:100%;height:100%;display:block}.scene-canvas canvas:focus-visible{outline-offset:-3px;border-radius:10px;outline:1px solid #c9ee9690}.scene-camera-tools{z-index:2;pointer-events:none;position:absolute;bottom:10px;right:10px}.camera-controls{pointer-events:auto;background:#121a20ee;border:1px solid #ffffff0c;border-radius:11px;flex-direction:column;align-items:center;gap:3px;padding:5px;display:flex;box-shadow:0 4px 12px #00000018}.camera-controls button{width:32px;min-height:32px;color:var(--muted);background:0 0;border:0;border-radius:7px;place-items:center;padding:0;display:grid}.camera-controls button:hover{color:var(--ink);background:#ffffff09}.camera-controls svg{width:17px;height:17px}.camera-controls output{font-variant-numeric:tabular-nums;text-align:center;min-width:32px;min-height:22px;color:var(--muted);place-items:center;font-size:9px;display:grid}.camera-divider{background:#ffffff12;width:20px;height:1px;margin:3px 0}.closure-status{z-index:2;pointer-events:none;color:var(--amber);background:#29271feb;border:1px solid #e7b98120;border-radius:6px;padding:4px 8px;font-size:10px;position:absolute;top:54px;left:18px}.task-focus-chip{z-index:2;min-height:28px;color:var(--accent);background:#283327ee;border:1px solid #c9ee9630;border-radius:7px;align-items:center;gap:12px;padding:0 9px;font-size:11px;display:flex;position:absolute;top:54px;right:18px}.task-focus-chip span{color:var(--muted);font-size:16px}.scene-loading,.scene-error{color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:20px;font-size:12px;display:flex;position:absolute;inset:0}.scene-error{z-index:3;background:#11181e}.scene-error strong{color:var(--ink)}.scene-error>svg{color:var(--accent)}.scene-error button,.error-shell button{color:var(--accent);background:#c9ee9610;border:1px solid #c9ee9620;border-radius:7px;padding:6px 16px}.replay-controls{background:#0e151bbf;border:1px solid #ffffff08;border-radius:12px;flex:none;margin:0 14px 14px;padding:9px 14px 6px}.timeline-control{height:20px;margin:0 4px;position:relative}.timeline-control input{appearance:none;z-index:2;cursor:pointer;background:0 0;width:100%;height:20px;margin:0;display:block;position:relative}.timeline-control input::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--accent) var(--timeline-progress), #36434c var(--timeline-progress));border-radius:2px;height:3px}.timeline-control input::-webkit-slider-thumb{appearance:none;border:2px solid var(--accent);background:#e2f7c4;border-radius:50%;width:9px;height:9px;margin-top:-3px}.timeline-control input::-moz-range-track{background:#36434c;height:3px}.timeline-control input::-moz-range-progress{background:var(--accent);height:3px}.timeline-control input::-moz-range-thumb{border:1px solid var(--accent);background:#e2f7c4;border-radius:50%;width:7px;height:7px}.timeline-events{pointer-events:none;position:absolute;inset:0}.timeline-event{top:calc(-3px + var(--event-lane) * 19px);pointer-events:auto;z-index:3;background:0 0;border:0;width:6px;height:6px;min-height:6px;padding:0;position:absolute;transform:translate(-50%)}.timeline-event:after{content:"";background:#7c939e;border-radius:1px;width:3px;height:3px;margin:auto;display:block}.timeline-event.event-cell_blocked:after{background:#d7967e}.timeline-event.event-order_arrival:after{background:#96af86}.transport-row{justify-content:center;align-items:center;gap:24px;margin-top:6px;display:flex}.transport-controls{align-items:center;gap:4px;display:flex}.transport-controls button{width:28px;min-height:32px;color:var(--muted);background:0 0;border:0;border-radius:7px;place-items:center;padding:0;display:grid}.transport-controls button:hover:not(:disabled){color:var(--ink);background:#ffffff0a}.transport-controls .icon{width:13px;height:13px}.transport-controls .play-button{background:var(--accent);color:#213019;border-radius:50%;width:34px;min-height:34px;margin:0 3px;box-shadow:0 2px 10px #c9ee9610}.transport-controls .play-button:hover:not(:disabled){color:#213019;background:#ddf5b9}.transport-controls .play-button .icon{width:15px;height:15px}.speed-control{background:#ffffff03;border:1px solid #ffffff08;border-radius:7px;padding:3px;display:flex}.speed-control button{min-height:23px;color:var(--muted);background:0 0;border:0;border-radius:4px;padding:0 8px;font-size:10px}.speed-control .is-active{color:var(--accent);background:#c9ee9610}.task-panel-content{flex-direction:column;flex:1;min-height:0;padding:0 10px 14px;display:flex}.task-filters{background:#0d1319;border-radius:9px;flex:0 0 34px;align-items:stretch;gap:2px;margin:0 0 12px;padding:3px;display:flex}.task-filters button{min-height:28px;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:5px;padding:0 4px;font-size:11px;display:flex}.task-filters button[data-filter=done]{flex:1.35}.task-filters button.is-active{color:var(--ink);background:#253039;box-shadow:0 1px 3px #00000020}.task-filters button span{color:var(--faint);font-size:10px}.task-filters button.is-active span{color:var(--accent)}.task-list{overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:#52616a transparent;scrollbar-gutter:stable;flex-direction:column;flex:1;gap:8px;min-height:0;margin:-3px;padding:3px;scroll-padding-block:3px;list-style:none;display:flex;overflow:hidden auto}.task-list:focus-visible{outline:1px solid var(--accent);outline-offset:2px;border-radius:7px}.task-list::-webkit-scrollbar{width:5px}.task-list::-webkit-scrollbar-thumb{background:#52616a;border-radius:5px}.task-row{flex:none;min-width:0}.task-card{text-align:left;background:#1b232a;border:1px solid #0000;border-radius:10px;flex-direction:column;justify-content:space-between;gap:12px;width:100%;min-height:112px;padding:12px;display:flex}.task-card:hover{background:#222d34;border-color:#ffffff12}.task-card.is-selected{background:#232e2a;border-color:#c9ee9640}.task-card-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.task-card-heading strong{letter-spacing:.2px;color:#e0e9ed;font-variant-numeric:tabular-nums;font-size:13px;font-weight:500}.task-card-heading strong>span:first-child{color:var(--faint);margin-right:2px}.task-status{color:#b5c1c9;white-space:nowrap;background:#ffffff05;border:0;border-radius:5px;align-items:center;gap:5px;padding:3px 6px;font-size:9px;line-height:1.2;display:flex}.task-status.is-carried{color:var(--accent);background:#c9ee960d}.task-status.is-ready{color:var(--amber);background:#e7b9810d}.task-status.is-delivered{color:var(--green);background:#9cd1b60c}.task-status.is-expired{color:#e5ab9a;background:#e5ab9a0b}.task-route{justify-content:space-between;align-items:center;gap:8px;display:flex}.task-route>span:not(.route-connector){color:#c5d1d9;font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:6px;font-size:11px;display:flex}.task-route i{color:#a6d5bf;background:#9cd1b611;border:0;border-radius:50%;place-items:center;width:18px;height:18px;font-size:9px;font-style:normal;display:grid}.task-route>span:last-child i{color:#e7be8e;background:#e7b98111}.route-connector{border-top:1px solid #ffffff12;flex:1;margin-inline:2px;position:relative}.route-connector .icon{color:#7f949f;width:11px;height:11px;position:absolute;top:-6px;right:-4px}.task-card-meta{color:var(--faint);justify-content:space-between;gap:4px;font-size:10px;display:flex}.task-owner{color:var(--owner-color,var(--faint));align-items:center;gap:5px;display:flex}.task-owner i{background:var(--owner-color);border-radius:2px;flex:none;width:5px;height:5px}.empty-tasks{min-height:130px;color:var(--muted);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;display:flex}.empty-tasks>.icon{width:34px;height:34px;color:var(--accent);background:#c9ee9609;border-radius:50%;padding:7px}.empty-tasks strong{font-size:12px;font-weight:500}.task-progress-panel{flex:0 0 220px;padding:14px}.chart-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.chart-heading h2{font-size:12px;font-weight:500}.chart-heading>span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:10px}.chart-legend{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0 16px;display:grid}.chart-legend>span{color:var(--muted);grid-template-columns:10px minmax(0,1fr);align-items:center;gap:2px 5px;font-size:9px;display:grid}.series-released{--series-color:#79cdd3}.series-delivered{--series-color:var(--accent)}.chart-legend i{background:var(--series-color);width:10px;height:2px}.chart-legend .series-released i{border-top:2px dashed var(--series-color);background:0 0;height:0}.chart-legend strong{color:var(--series-color);font-variant-numeric:tabular-nums;grid-column:2;font-size:18px;font-weight:500;line-height:1.2}.task-history-chart{flex:1;grid-template-rows:minmax(0,1fr) 32px;grid-template-columns:20px minmax(0,1fr);column-gap:8px;min-height:80px;padding-right:8px;display:grid}.chart-y-axis{color:var(--faint);font-variant-numeric:tabular-nums;font-size:9px;position:relative}.chart-y-axis>span{line-height:1;position:absolute;right:0;transform:translateY(-50%)}.chart-y-axis>span:after{content:"";background:#93a8b54d;width:3px;height:1px;position:absolute;top:50%;right:-8px}.task-history-plot{width:100%;height:100%;min-height:0;overflow:visible}.chart-gridline{stroke:#93a8b51a;stroke-width:1px;stroke-dasharray:2 5;stroke-linecap:round}.chart-axis-line{fill:none;stroke:#93a8b54d;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round}.task-area{stroke:none;pointer-events:none}.task-series{fill:none;stroke:var(--series-color);stroke-width:1.75px;stroke-linejoin:round;stroke-linecap:round}.task-series.series-released{stroke-width:1.5px;stroke-dasharray:3 3;opacity:.85}.chart-endpoint{fill:none;stroke:var(--series-color);stroke-width:4px;stroke-linecap:round;pointer-events:none}.chart-x-axis{color:var(--faint);font-variant-numeric:tabular-nums;grid-column:2;font-size:9px;position:relative}.chart-x-tick{line-height:1;position:absolute;top:8px;transform:translate(-50%)}.chart-x-tick:before{content:"";background:#93a8b54d;width:1px;height:3px;position:absolute;top:-8px;left:50%}.chart-axis-unit{color:var(--faint);font-size:8px;position:absolute;bottom:-1px;right:0}.loading-shell{background:var(--canvas);min-height:100dvh;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:24px;display:flex}.loading-shell>.brand-symbol{width:48px;height:48px;color:var(--accent)}.error-shell h1{color:var(--ink);font-size:18px}.error-shell p{max-width:600px}@media (width<=1300px){.control-workspace{--fleet-width:210px;--tasks-width:258px;gap:10px;padding-inline:12px}.vehicle-card{padding-inline:10px}.vehicle-status{font-size:9px}.vehicle-symbol .forklift-glyph{width:29px;height:27px}.vehicle-card-heading{gap:5px}.vehicle-card-heading>strong{font-size:15px}}@media (width<=1100px){.control-workspace{--fleet-width:184px;--tasks-width:234px}.app-header{padding-inline:18px}.vehicle-symbol{display:none}.vehicle-details,.vehicle-battery-label{font-size:10px}.charger-list{gap:6px;padding-inline:9px}.charger-card{padding-inline:8px}.map-heading{padding-inline:12px}.map-heading>div{gap:8px}.task-route{gap:6px}.task-card{padding-inline:10px}}@media (width>=901px) and (height<=780px){.app-header{flex-basis:56px}.side-heading{flex-basis:44px}.map-heading{height:44px}.closure-status,.task-focus-chip{top:44px}.fleet-cards{gap:7px}.task-progress-panel{flex-basis:196px;padding:12px}.vehicle-card{gap:4px;padding:8px 10px}.vehicle-card:before{top:10px}.vehicle-position{padding-top:4px}.vehicle-battery-label strong{font-size:13px}.task-filters{margin-bottom:8px}.task-panel-content{padding:0 9px 10px}.task-list{gap:6px}.task-card{gap:9px;min-height:102px;padding:10px 9px}.task-card-meta{font-size:9px}.replay-controls{margin:0 10px 10px;padding-block:6px 4px}.chart-legend{margin:8px 0 12px}}@media (width<=900px){.app-shell{height:auto;min-height:100dvh}.app-header{min-height:64px}.control-workspace{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:4px 12px 12px}.map-panel{order:-1;grid-column:1/-1;min-height:650px}.fleet-sidebar,.operations-panel{height:590px}.side-panel.is-collapsed{height:56px}.side-panel.is-collapsed .side-heading{flex-direction:row;justify-content:space-between;gap:8px;padding:0 14px}.side-panel.is-collapsed .side-heading h2{writing-mode:horizontal-tb;letter-spacing:0}.side-panel.is-collapsed .side-heading h2 .icon,.side-panel.is-collapsed .side-heading small{display:inline-block}.vehicle-symbol{display:grid}.vehicle-symbol .forklift-glyph{width:38px;height:32px}.task-card{padding:12px}.vehicle-position{display:flex}}@media (width<=600px){.app-header{gap:8px;padding-inline:12px}.brand{gap:9px}.brand-name{font-size:20px}.brand-mark{width:32px;height:32px}.header-actions{gap:6px}.header-actions a{width:28px}.layout-picker{gap:4px;padding-inline:8px}.layout-picker>.icon:not(.picker-chevron){display:none}.layout-picker select{width:98px;min-height:34px;font-size:11px}.control-workspace{grid-template-columns:minmax(0,1fr);padding:2px 10px 10px}.map-panel{min-height:620px}.map-heading{padding-inline:12px}.map-heading>div{gap:6px}.playback-status{padding-inline:5px;font-size:9px}.map-stage{min-height:270px}.replay-controls{margin:0 8px 8px;padding-inline:8px}.transport-row{gap:14px}.transport-controls{gap:1px}.transport-controls button{width:22px}.transport-controls .play-button{width:30px;min-height:30px;margin-inline:2px}.speed-control{padding:2px}.speed-control button{padding-inline:4px;font-size:9px}.fleet-sidebar,.operations-panel{height:670px}.fleet-cards{gap:9px}.vehicle-status{font-size:10px}.chart-legend{gap:14px}}@media (width<=440px){.brand-name{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (prefers-contrast:more){:root{--muted:#d3dfe5;--faint:#bfccd5;--rule:#71828e}.side-panel,.map-panel,.vehicle-card,.task-card{border-color:var(--rule)}}@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-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-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}
