#app{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center;color:#3e5573}.noselect,.noselect[data-v-73e18829],.noselect[data-v-5745872f]{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.service-chip[data-v-03277356]{transition:box-shadow .3s ease,letter-spacing .3s ease}.service-chip[data-v-03277356]:hover{box-shadow:0 0 12px currentColor;letter-spacing:1px}.noselect[data-v-03277356]{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.visually-hidden[data-v-2e54b80f]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.preset[data-v-04af78cb],.preset[data-v-96d36212]{cursor:pointer;border:1px solid rgba(0,0,0,.3)!important}.vacuum-map-wrap[data-v-6e138c78]{position:relative;background:#1a1a1a;border-radius:8px;overflow:hidden;width:100%;height:50vh;min-height:260px;max-height:75vh;touch-action:none;cursor:grab;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vacuum-map-wrap[data-v-6e138c78]:active{cursor:grabbing}.vacuum-map-wrap.pin-mode[data-v-6e138c78]{cursor:crosshair}.vacuum-map-banner[data-v-6e138c78]{position:absolute;top:8px;left:8px;right:8px;background:rgba(255,193,7,.85);color:#000;padding:4px 8px;border-radius:6px;font-size:12px;text-align:center;pointer-events:none;z-index:2}.vacuum-map-canvas[data-v-6e138c78]{position:absolute;top:0;left:0;display:block;-ms-interpolation-mode:nearest-neighbor;image-rendering:pixelated;image-rendering:crisp-edges;will-change:transform}.vacuum-map-controls[data-v-6e138c78]{position:absolute;right:8px;bottom:8px;display:flex;flex-direction:column;gap:4px;background:rgba(0,0,0,.55);border-radius:6px;padding:4px;z-index:2}.vacuum-map-empty[data-v-6e138c78]{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none}.marker-layer[data-v-6e138c78]{position:absolute;inset:0;pointer-events:none;z-index:1}.marker-layer .v-icon[data-v-6e138c78]{position:absolute;transform:translate(-50%,-50%);text-shadow:0 0 4px rgba(0,0,0,.85)}.robot-marker[data-v-6e138c78]{font-size:42px!important;color:#ff5252!important}.device-marker[data-v-6e138c78]{font-size:22px!important;color:#9e9e9e!important}.device-marker.device-on[data-v-6e138c78]{color:#ffd740!important;text-shadow:0 0 8px rgba(255,215,64,.9)}.device-marker.device-clickable[data-v-6e138c78]{pointer-events:auto;cursor:pointer}.routine-marker[data-v-6e138c78]{font-size:26px!important;color:#9575cd!important}.routine-marker.routine-active[data-v-6e138c78]{color:#b388ff!important;text-shadow:0 0 10px rgba(179,136,255,.95)}.routine-marker.device-clickable[data-v-6e138c78]{pointer-events:auto;cursor:pointer}.place-banner[data-v-6e138c78]{background:rgba(100,181,246,.9)}.charger-marker[data-v-6e138c78]{font-size:26px!important;color:#4caf50!important}.goto-marker[data-v-6e138c78]{font-size:34px!important;color:#ffd740!important;animation:goto-pulse-data-v-6e138c78 1.2s ease-out infinite}@keyframes goto-pulse-data-v-6e138c78{0%{transform:translate(-50%,-50%) scale(1);opacity:1}50%{transform:translate(-50%,-50%) scale(1.15);opacity:.7}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.kv-grid[data-v-04e57a74]{display:grid;grid-template-columns:auto 1fr;-moz-column-gap:16px;column-gap:16px;row-gap:4px;font-size:13px;line-height:1.4;text-align:left}.kv-label[data-v-04e57a74]{color:hsla(0,0%,100%,.6);white-space:nowrap}.kv-value[data-v-04e57a74]{color:#fff}.joystick-pad[data-v-127a3aaa]{width:240px;height:240px;margin:0 auto;border-radius:50%;background:radial-gradient(circle at center,#2a2a2a 0,#1a1a1a 70%,#111 100%);position:relative;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid #444;box-shadow:inset 0 0 16px rgba(0,0,0,.6)}.pad-axis[data-v-127a3aaa]{position:absolute;background:hsla(0,0%,100%,.06)}.pad-axis-x[data-v-127a3aaa]{left:8%;right:8%;top:50%;height:1px;transform:translateY(-50%)}.pad-axis-y[data-v-127a3aaa]{top:8%;bottom:8%;left:50%;width:1px;transform:translateX(-50%)}.pad-knob[data-v-127a3aaa]{position:absolute;left:50%;top:50%;width:60px;height:60px;margin-left:-30px;margin-top:-30px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#ff8a80,#d32f2f);box-shadow:0 4px 10px rgba(0,0,0,.55);transition:transform 80ms ease-out;pointer-events:none}.readout[data-v-127a3aaa]{font-family:monospace;font-size:12px;color:hsla(0,0%,100%,.75)}.readout-label[data-v-127a3aaa]{color:hsla(0,0%,100%,.45);margin-right:4px}.readout-sep[data-v-127a3aaa]{margin:0 10px;color:hsla(0,0%,100%,.25)}.hint[data-v-127a3aaa]{font-size:11px;color:hsla(0,0%,100%,.45)}.hint .v-icon[data-v-127a3aaa]{vertical-align:-2px;margin-right:4px;color:hsla(0,0%,100%,.45)}.opt-group[data-v-127a3aaa]{text-align:center}.opt-label[data-v-127a3aaa]{font-size:11px;color:hsla(0,0%,100%,.55);margin-bottom:4px;letter-spacing:.5px;text-transform:uppercase}.opt-group[data-v-127a3aaa] .v-btn:not(.v-btn--active):not(.v-btn--disabled):hover{background-color:rgba(255,138,128,.18)!important;color:#ff8a80}.opt-group[data-v-127a3aaa] .v-btn:not(.v-btn--active):not(.v-btn--disabled):hover .v-icon{color:#ff8a80}.opt-group[data-v-127a3aaa] .v-btn--active:hover{filter:brightness(1.15)}.vacuum-view[data-v-cbb7089c]{color:#fff}.room-tile[data-v-cbb7089c]{position:relative;cursor:pointer;transition:transform .12s ease}.room-tile[data-v-cbb7089c]:hover{transform:translateY(-2px)}.room-selected[data-v-cbb7089c]{outline:3px solid #fff;outline-offset:-3px}.room-check[data-v-cbb7089c]{position:absolute;top:4px;right:4px;color:#fff;z-index:1}.depot-table[data-v-36246d02] tbody tr:not(.v-data-table__expanded__content){cursor:pointer}.dropzone[data-v-0d980d25]{border-style:dashed!important;border-width:2px!important;transition:border-color .12s ease-out,background-color .12s ease-out}.dropzone--active[data-v-0d980d25]{border-color:var(--v-primary-base,#1976d2)!important;background-color:rgba(25,118,210,.06)}.map-viewport[data-v-3daff7f2]{position:relative;overflow:hidden;width:100%;max-height:75vh;aspect-ratio:4/3;background:#111;border-radius:4px;cursor:grab;touch-action:none}.map-viewport[data-v-3daff7f2]:active{cursor:grabbing}.map-img[data-v-3daff7f2]{display:block;width:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none;will-change:transform;transition:transform 80ms ease-out}.map-img.no-anim[data-v-3daff7f2]{transition:none}.map-controls[data-v-3daff7f2]{position:absolute;top:8px;right:8px;display:flex;flex-direction:column}.map-ctrl-btn[data-v-3daff7f2]{background:rgba(0,0,0,.55);margin-bottom:6px}.kv-tree[data-v-5a0d9a5f]{text-align:left}.kv-tree-nested[data-v-5a0d9a5f]{margin-left:16px;padding-left:12px;border-left:2px solid hsla(0,0%,100%,.08);margin-top:4px;margin-bottom:8px}.kv-row[data-v-5a0d9a5f]{padding:2px 0}.kv-pair[data-v-5a0d9a5f]{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:6px 8px;border-bottom:1px solid hsla(0,0%,100%,.05)}.kv-pair[data-v-5a0d9a5f]:last-child{border-bottom:none}.kv-key[data-v-5a0d9a5f]{color:#888;font-size:13px;white-space:nowrap}.kv-value[data-v-5a0d9a5f]{font-family:Consolas,Courier New,monospace;font-size:14px;color:#d4d4d4;text-align:right;word-break:break-all}.kv-group-label[data-v-5a0d9a5f]{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:#5b9bd5;margin-top:8px;margin-bottom:4px;font-weight:600}.kv-empty[data-v-5a0d9a5f]{color:#666;font-style:italic;padding:8px}.kv-path[data-v-9adbda32]{font-family:Consolas,Courier New,monospace;font-size:13px;color:#888;font-weight:400}.kv-placeholder[data-v-9adbda32]{color:#666;font-style:italic;padding:8px}.response-block[data-v-9adbda32]{background-color:#1e1e1e;color:#d4d4d4;padding:12px;border-radius:4px;overflow-x:auto;font-family:Consolas,Courier New,monospace;font-size:13px;white-space:pre-wrap;word-break:break-all;text-align:left}