@import"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css";:root{--primary-color: #73C74D;--primary-color-dark: #5EAE3E;--secondary-color: #5F6368;--success-color: #73C74D;--danger-color: #F56C6C;--warning-color: #E6A23C;--info-color: #5F6368;--info-bg-color: #e7f3ff;--light-blue-accent-color: #AED6F1;--light-color: #f4f4f5;--dark-color: #303133;--text-color: #303133;--background-color: #f4f4f5;--card-background: #FFFFFF;--card-header-background: #f7f7f7;--border-color: #DCDFE6;--border-radius: .5rem;--box-shadow: 0 .125rem .25rem rgba(0,0,0,.075);font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0;background-color:var(--background-color);color:var(--text-color);line-height:1.6;font-size:16px;display:block;min-width:initial;overflow-x:hidden}.page-title{font-size:1.6rem;color:var(--text-color);margin-bottom:1.5rem;font-weight:600}.card{background-color:var(--card-background);border-radius:var(--border-radius);box-shadow:var(--box-shadow);border:1px solid var(--border-color);margin-bottom:1.5rem}.card-header{display:flex;justify-content:space-between;align-items:center;padding:10px 15px;background-color:var(--card-header-background);border-bottom:1px solid var(--border-color);border-top-left-radius:var(--border-radius);border-top-right-radius:var(--border-radius)}.card-header h2,.card-header h3{margin:0;font-size:1.1rem;color:var(--text-color);font-weight:600}.card-header h2 .fas,.card-header h3 .fas{margin-right:.5rem}.card-content{padding:1rem}button,.button,.button-primary,.button-secondary,.button-success,.button-danger,.button-default{padding:.5rem 1rem;border:1px solid transparent;border-radius:var(--border-radius);cursor:pointer;font-size:.9rem;font-family:inherit;font-weight:500;transition:background-color .2s ease,box-shadow .2s ease,border-color .2s ease;display:inline-flex;align-items:center;gap:.4rem;text-decoration:none;color:#fff;background-color:var(--primary-color)}button:hover,.button:hover,.button-primary:hover,.button-secondary:hover,.button-success:hover,.button-danger:hover,.button-default:hover{opacity:.9;box-shadow:0 2px 5px #00000026}button:disabled,.button:disabled{opacity:.6;cursor:not-allowed}.button-primary{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.button-secondary{background-color:var(--secondary-color);border-color:var(--secondary-color);color:#fff}.button-success{background-color:var(--success-color);border-color:var(--success-color);color:#fff}.button-danger{background-color:var(--danger-color);border-color:var(--danger-color);color:#fff}.button-default{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.button-light-blue{background-color:var(--light-blue-accent-color);border-color:var(--light-blue-accent-color);color:var(--text-color)}.button-light-blue:hover{background-color:#97c5e6;border-color:#97c5e6;color:var(--text-color)}.button-link{background:none;border:none;color:var(--primary-color);cursor:pointer;text-decoration:underline;padding:5px;font-size:.9em}.button-link:hover{color:var(--primary-color-dark);background-color:transparent;box-shadow:none}.button-small{padding:.3rem .7rem;font-size:.8rem}.status-display{padding:.8rem 1.2rem;margin:.8rem 0;border-radius:var(--border-radius);font-size:.95rem;display:flex;align-items:center;gap:.5rem}.status-display.success{background-color:#e6ffed;border-left:4px solid var(--success-color);color:#1d6c32}.status-display.info{background-color:#e7f3ff;border-left:4px solid var(--info-color);color:#0c5460}.status-display.error{background-color:#fff3f3;border-left:4px solid var(--danger-color);color:#721c24}.status-display.warning{background-color:#fff8e1;border-left:4px solid var(--warning-color);color:#665120}.mqtt-status-indicator{padding:.3rem .7rem;border-radius:var(--border-radius);font-size:.85rem;color:#fff;display:inline-flex;align-items:center;gap:.3rem}.mqtt-status-indicator.success{background-color:var(--success-color)}.mqtt-status-indicator.warn{background-color:var(--warning-color);color:#333}.mqtt-status-indicator.error{background-color:var(--danger-color)}.mqtt-status-indicator.info{background-color:var(--info-color)}.status-connected{color:var(--success-color);font-weight:700}.status-disconnected{color:var(--danger-color);font-weight:700}input[type=text],input[type=number],input[type=password],input[type=email],textarea,select{width:100%;padding:8px;border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:.9rem;margin-bottom:.5rem;box-sizing:border-box}textarea{min-height:100px;font-family:monospace}label{display:block;margin-bottom:.3rem;font-weight:500;font-size:.9rem}.text-danger{color:var(--danger-color)}.text-success{color:var(--success-color)}.text-warning{color:var(--warning-color)}.text-info{color:var(--info-color)}html,body{height:100%}#app{min-height:100%;display:flex;flex-direction:column}.page-content-wrapper{max-width:1200px;margin:20px auto;padding:1.5rem;width:100%;background-color:var(--card-background);border-radius:var(--border-radius);box-shadow:var(--box-shadow)}.docker-page{width:100%;margin:0 auto;padding:1.5rem 1.25rem 3rem;box-sizing:border-box}.docker-page-title{text-align:center;font-size:1.45rem;font-weight:700;color:#1f2933;margin:0 0 1.8rem}.docker-card{background:var(--card-background);border:1px solid var(--border-color);border-radius:7px;box-shadow:var(--box-shadow);margin-bottom:1rem}.docker-card-header{min-height:52px;box-sizing:border-box;padding:.75rem 1rem;border-bottom:1px solid var(--border-color);background:#f8f9fa;display:flex;align-items:center;justify-content:space-between}.docker-card-header.compact{min-height:38px;padding:.55rem .75rem}.docker-card-header h2{margin:0;font-size:.95rem;font-weight:700;color:#111827}.docker-card-header i,.docker-card h2 i{color:#1e90ff;margin-right:.4rem}.docker-alert{text-align:center;border-radius:4px;padding:.65rem;margin-bottom:.75rem;font-size:.78rem}.docker-alert.success{background:#e8f8e8;color:#237c2d;border:1px solid #bde7bd}.docker-alert.warning{background:#fff8e1;color:#665120;border:1px solid #f6e2a5}.docker-alert.error{background:#fff0f0;color:#a94442;border:1px solid #f3c4c4}.docker-button{border:0;border-radius:5px;color:#fff;font-size:.78rem;font-weight:700;padding:.5rem .75rem}.docker-button.blue{background:#1e90ff}.docker-button.green{background:#20d67b}.docker-button.purple{background:#6d5ad7}.docker-table{width:100%;border-collapse:collapse;font-size:.78rem}.docker-table th,.docker-table td{border:1px solid #d8dde5;padding:.55rem;text-align:left;vertical-align:middle}.docker-table th{background:#f5f6f8;font-weight:700}.docker-table td strong,.docker-table td small{display:block}.docker-table td small{color:var(--secondary-color);margin-top:.18rem}@media (max-width: 720px){body{font-size:15px}.docker-page{padding:1rem .7rem 2rem}.docker-page-title,.page-title{text-align:left;font-size:1.18rem;margin-bottom:1rem}.docker-card,.card{margin-bottom:.85rem}.docker-card-header,.card-header{align-items:flex-start;gap:.65rem;padding:.7rem}.docker-card-header{flex-wrap:wrap}.docker-card-header h2,.card-header h2,.card-header h3{font-size:.92rem}button,.button,.button-primary,.button-secondary,.button-success,.button-danger,.button-default,.docker-button,.small-action,.row-button{min-height:40px}input[type=text],input[type=number],input[type=password],input[type=email],textarea,select{font-size:16px}.docker-table{font-size:.74rem}.docker-table th,.docker-table td{padding:.45rem}}#app-shell[data-v-1b09bfef]{display:flex;flex-direction:column;min-height:100vh}.main-nav[data-v-1b09bfef]{position:fixed;top:0;left:0;right:0;z-index:1000;min-height:70px;box-sizing:border-box;background-color:var(--card-background);padding:.75rem 1.5rem;display:grid;grid-template-columns:minmax(180px,1fr) auto minmax(180px,1fr);gap:1rem;align-items:center;box-shadow:0 2px 4px #00000014;border-bottom:1px solid var(--border-color);transition:transform .32s ease,opacity .32s ease,box-shadow .32s ease;will-change:transform}.main-nav.nav-hidden[data-v-1b09bfef]{transform:translateY(-105%);opacity:.96;box-shadow:none}.brand-link[data-v-1b09bfef]{display:inline-flex;align-items:center;gap:.7rem;color:var(--text-color);text-decoration:none;min-width:0}.brand-mark[data-v-1b09bfef]{display:inline-flex;align-items:center;justify-content:center;position:relative;width:38px;height:38px;border-radius:8px;background:linear-gradient(135deg,var(--primary-color),var(--primary-color-dark));color:#fff;font-weight:800;font-size:1.2rem;box-shadow:0 4px 10px #73c74d47}.brand-letter[data-v-1b09bfef]{line-height:1}.brand-plus[data-v-1b09bfef]{position:absolute;right:4px;bottom:4px;width:12px;height:12px;border-radius:50%;background:#1182f8}.brand-plus[data-v-1b09bfef]:before,.brand-plus[data-v-1b09bfef]:after{content:"";position:absolute;left:50%;top:50%;width:7px;height:2px;border-radius:999px;background:#fff;transform:translate(-50%,-50%)}.brand-plus[data-v-1b09bfef]:after{transform:translate(-50%,-50%) rotate(90deg)}.brand-text[data-v-1b09bfef]{display:flex;flex-direction:column;line-height:1.1;white-space:nowrap}.brand-text strong[data-v-1b09bfef]{font-size:1rem;font-weight:700}.brand-text small[data-v-1b09bfef]{color:var(--secondary-color);font-size:.72rem;font-weight:600}.nav-links[data-v-1b09bfef]{display:flex;justify-content:center;align-items:center;min-width:0;overflow-x:auto;scrollbar-width:none}.nav-links[data-v-1b09bfef]::-webkit-scrollbar{display:none}.nav-link[data-v-1b09bfef]{color:var(--secondary-color);text-decoration:none;padding:.85rem 1.5rem;margin:0 .35rem;border-radius:var(--border-radius);transition:color .2s ease,border-bottom-color .2s ease,background-color .2s ease;font-weight:600;font-size:.95rem;border-bottom:3px solid transparent;display:inline-flex;align-items:center;gap:.5rem;white-space:nowrap}.nav-link i[data-v-1b09bfef]{font-size:.95rem}.nav-label-short[data-v-1b09bfef]{display:none}.nav-link[data-v-1b09bfef]:hover{color:var(--primary-color);background-color:#73c74d12}.nav-link.router-link-exact-active[data-v-1b09bfef],.nav-link.router-link-active[data-v-1b09bfef]{color:var(--primary-color);border-bottom-color:var(--primary-color)}.nav-right[data-v-1b09bfef]{display:flex;align-items:center;gap:1rem;justify-content:flex-end}.logout-button[data-v-1b09bfef]{display:flex;align-items:center;gap:.5rem;background:transparent;border:1px solid var(--border-color);color:var(--secondary-color);padding:.4rem .8rem;border-radius:var(--border-radius);font-size:.9rem;font-weight:500;transition:all .2s ease;height:36px;box-sizing:border-box;line-height:1;white-space:nowrap}.logout-button[data-v-1b09bfef]:hover{border-color:var(--danger-color);color:var(--danger-color);background-color:#f56c6c0d}.logout-text[data-v-1b09bfef]{font-size:.85rem;font-weight:500}.main-content[data-v-1b09bfef]{margin-top:70px;width:100%;box-sizing:border-box;transition:margin-top .32s ease}.main-content.login-content[data-v-1b09bfef]{margin-top:0}@media (max-width: 1100px){.main-nav[data-v-1b09bfef]{grid-template-columns:auto 1fr}.brand-text small[data-v-1b09bfef],.nav-right[data-v-1b09bfef]{display:none}.nav-links[data-v-1b09bfef]{justify-content:flex-start}}@media (max-width: 720px){.main-nav[data-v-1b09bfef]{min-height:58px;padding:.45rem .6rem;gap:0;grid-template-columns:1fr}.brand-link[data-v-1b09bfef]{display:none}.nav-links[data-v-1b09bfef]{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;overflow:visible}.nav-link[data-v-1b09bfef]{justify-content:center;margin:0;padding:.55rem .35rem;border-bottom:0;font-size:.82rem;min-width:0}.nav-link i[data-v-1b09bfef]{font-size:.9rem}.nav-link.router-link-exact-active[data-v-1b09bfef],.nav-link.router-link-active[data-v-1b09bfef]{background:#f0faed;box-shadow:inset 0 -3px 0 var(--primary-color)}.main-content[data-v-1b09bfef]{margin-top:58px}.main-content.nav-collapsed[data-v-1b09bfef]{margin-top:0}}@media (max-width: 920px) and (orientation: landscape) and (max-height: 560px){.main-content.nav-collapsed[data-v-1b09bfef]{margin-top:0}}@media (max-width: 560px){.nav-label-full[data-v-1b09bfef]{display:none}.nav-label-short[data-v-1b09bfef]{display:inline}}.beacon-manager-tab[data-v-7fe225f3]{padding:1rem}.actions-bar[data-v-7fe225f3]{margin-bottom:1rem}.scan-status[data-v-7fe225f3]{margin:.5rem 0;padding:.5rem;border-radius:4px;font-size:.9em}.scan-status.info[data-v-7fe225f3]{background-color:#e7f3fe;border:1px solid #d0eaff;color:#0c5460}.scan-status.success[data-v-7fe225f3]{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.scan-status.error[data-v-7fe225f3]{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.scan-status.warn[data-v-7fe225f3]{background-color:#fff3cd;border:1px solid #ffeeba;color:#856404}table[data-v-7fe225f3]{width:100%;border-collapse:collapse;margin-bottom:1rem}th[data-v-7fe225f3],td[data-v-7fe225f3]{border:1px solid #ddd;padding:8px;text-align:left}th[data-v-7fe225f3]{background-color:#f2f2f2}.scan-results-placeholder[data-v-7fe225f3]{padding:1rem;text-align:center;color:#666;border:1px dashed #ccc;margin-top:1rem;background-color:#f9f9f9}.scan-results[data-v-7fe225f3]{margin-top:1rem;border:1px solid #eee;padding:1rem}.scan-results h4[data-v-7fe225f3]{margin-top:0}.scan-results ul[data-v-7fe225f3]{list-style-type:none;padding:0}.scan-result-item[data-v-7fe225f3]{display:flex;justify-content:space-between;align-items:center;padding:.75rem;border-bottom:1px solid #f0f0f0}.scan-result-item[data-v-7fe225f3]:last-child{border-bottom:none}.scan-result-item div[data-v-7fe225f3]{font-size:.9em;line-height:1.4}.scan-result-item strong[data-v-7fe225f3]{font-size:1em}.modal-overlay[data-v-7fe225f3]{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content[data-v-7fe225f3]{background-color:#fff;padding:25px;border-radius:8px;box-shadow:0 4px 12px #00000026;width:90%;max-width:500px}.modal-content h4[data-v-7fe225f3]{margin-top:0;margin-bottom:20px;font-size:1.3em;color:#333}.modal-content form div[data-v-7fe225f3]{margin-bottom:15px}.modal-content form label[data-v-7fe225f3]{display:block;margin-bottom:5px;font-weight:500;color:#555}.modal-content form input[type=text][data-v-7fe225f3],.modal-content form input[type=number][data-v-7fe225f3]{width:100%;padding:10px;border:1px solid #ccc;border-radius:4px;box-sizing:border-box;font-size:.95em}.modal-content form input[type=text][data-v-7fe225f3]:focus,.modal-content form input[type=number][data-v-7fe225f3]:focus{border-color:#007bff;outline:none}.modal-content form .coordinate-actions[data-v-7fe225f3]{margin-bottom:10px}.modal-content form .coordinate-actions label[data-v-7fe225f3]{margin-bottom:8px;font-weight:700}.modal-content form .coordinate-actions button[data-v-7fe225f3]{width:100%;padding:10px;margin-bottom:10px}.modal-content form small[data-v-7fe225f3]{font-size:.8em;color:#777;display:block;margin-top:3px}.modal-actions[data-v-7fe225f3]{margin-top:25px;text-align:right}.modal-actions button[data-v-7fe225f3]{margin-left:10px;padding:10px 18px}.modal-actions button[type=submit][data-v-7fe225f3]{background-color:#007bff;color:#fff;border:none}.modal-actions button[type=submit][data-v-7fe225f3]:hover{background-color:#0056b3}.modal-actions button[type=button][data-v-7fe225f3]{background-color:#f0f0f0;color:#333;border:1px solid #ccc}.modal-actions button[type=button][data-v-7fe225f3]:hover{background-color:#e0e0e0}.beacon-actions-container[data-v-7fe225f3]{display:flex;gap:5px;align-items:center}.beacon-actions-container button[data-v-7fe225f3]{padding:6px 10px;white-space:nowrap;flex-shrink:0}.form-row.coordinate-pair[data-v-7fe225f3]{display:flex;gap:15px;align-items:flex-start}.form-group-inline[data-v-7fe225f3]{flex:1}.form-group-inline label[data-v-7fe225f3]{display:block;margin-bottom:5px}.form-group-inline input[type=number][data-v-7fe225f3]{width:100%}.map-editor-tab[data-v-4abff36a]{display:flex;flex-direction:column}.upload-section[data-v-4abff36a]{margin-bottom:1rem;padding:.5rem;border:1px dashed #ccc;background-color:#f9f9f9}.upload-section label[data-v-4abff36a]{display:block;margin-bottom:.5rem}canvas[data-v-4abff36a]{border:1px solid #000;margin-top:10px;max-width:100%;height:auto}.info[data-v-4abff36a]{font-size:.9em;color:#555;margin-top:.5rem}.placement-confirmation[data-v-4abff36a]{margin-top:10px;padding:10px;background-color:#e7f3fe;border:1px solid #d0eaff;border-radius:var(--border-radius)}.placement-confirmation p[data-v-4abff36a]{margin-top:0;margin-bottom:8px}.placement-confirmation button[data-v-4abff36a]{margin-right:8px}.map-format-example-section[data-v-4abff36a]{margin-top:1rem;margin-bottom:1rem}.map-format-example-section label[data-v-4abff36a]{display:block;margin-bottom:.5rem;font-weight:500}.example-textarea[data-v-4abff36a]{width:100%;background-color:#f8f9fa;color:#495057;border:1px solid #ced4da;border-radius:var(--border-radius);padding:.5rem;font-family:monospace;font-size:.85em;resize:vertical}.general-settings-tab div[data-v-fc05d192]:not(.form-actions){margin-bottom:1rem}.general-settings-tab label[data-v-fc05d192]{font-weight:700;display:block;margin-bottom:.3rem}.general-settings-tab input[type=number][data-v-fc05d192],.general-settings-tab select[data-v-fc05d192]{padding:8px;border:1px solid var(--border-color);border-radius:var(--border-radius);width:min(100%,360px);box-sizing:border-box}.general-settings-tab input[type=number][data-v-fc05d192]{width:120px}.form-actions[data-v-fc05d192]{display:flex;gap:.75rem;margin-top:1.25rem}.info[data-v-fc05d192]{font-size:.85em;color:#555;margin-top:.5rem}.global-actions[data-v-67a2697d],.tabs-navigation[data-v-67a2697d],.tab-content[data-v-67a2697d]{margin-bottom:1.5rem}.card-content button[data-v-67a2697d]:not(:last-child){margin-right:.5rem}.tabs-navigation[data-v-67a2697d]{display:flex;border-bottom:1px solid var(--border-color, #ccc)}.tabs-navigation button[data-v-67a2697d]{padding:.75rem 1.5rem;border:none;background-color:transparent;cursor:pointer;font-size:1rem;color:var(--secondary-color);border-bottom:3px solid transparent;margin-bottom:-1px;transition:color .2s ease,border-bottom-color .2s ease}.tabs-navigation button.active[data-v-67a2697d]{color:var(--primary-color);border-bottom-color:var(--primary-color);font-weight:700}.tabs-navigation button[data-v-67a2697d]:hover:not(.active){color:var(--primary-color)}.map-container[data-v-e4583832]{position:relative;display:block;width:100%;max-width:100%;overflow:hidden}.map-container.fill-available[data-v-e4583832]{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.map-container.navigable[data-v-e4583832]{touch-action:none}.map-info[data-v-e4583832]{align-self:flex-start;margin:0 0 .4rem;background-color:#ffffffdb;padding:4px 6px;border-radius:3px;font-size:.9em}canvas[data-v-e4583832]{display:block;max-width:100%;max-height:100%;height:auto;border:1px solid #ccc;box-sizing:border-box}canvas.clickable[data-v-e4583832]{cursor:crosshair}canvas.navigable[data-v-e4583832]{cursor:grab;touch-action:none}canvas.navigable.clickable[data-v-e4583832]{cursor:crosshair}canvas.navigable.panning[data-v-e4583832]{cursor:grabbing}.config-management[data-v-58f3bd3c],.local-positioning[data-v-58f3bd3c],.map-display[data-v-58f3bd3c]{margin-bottom:1.5rem}.card-content button[data-v-58f3bd3c]{margin-right:.5rem;margin-bottom:.5rem}.local-position-display[data-v-58f3bd3c]{margin-top:1rem;padding:.75rem;background-color:#f0f2f5;border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:.95em}.position-control-merged-display[data-v-58f3bd3c]{display:flex;align-items:center;background-color:#f0f2f5;border:1px solid var(--border-color);border-radius:var(--border-radius);padding:.75rem;margin-bottom:10px}.button-local-positioning-control[data-v-58f3bd3c]{margin-left:15px;flex-shrink:0}.position-text-merged-area[data-v-58f3bd3c]{flex-grow:1}.local-position-text[data-v-58f3bd3c]{font-size:.95em}.settings-inline[data-v-58f3bd3c]{display:flex;align-items:center;gap:.5rem}.settings-inline label[data-v-58f3bd3c]{margin-bottom:0}.map-view-wrapper-local .card-content[data-v-58f3bd3c]{min-height:450px;display:flex;justify-content:center;align-items:center;overflow:hidden}.config-management .card-header[data-v-58f3bd3c]{display:flex;justify-content:space-between;align-items:center}.header-buttons[data-v-58f3bd3c]{display:flex;gap:10px}.load-default-btn[data-v-58f3bd3c],.toggle-json-input-btn[data-v-58f3bd3c]{font-size:.9em;padding:5px 8px}.json-input-collapsible-area[data-v-58f3bd3c]{margin-bottom:15px;border:1px solid var(--border-color);padding:1rem;border-radius:var(--border-radius);background-color:#fdfdfd}.textarea-button-row[data-v-58f3bd3c]{display:flex;align-items:flex-start;gap:10px}.textarea-button-row textarea[data-v-58f3bd3c]{flex-grow:1;min-width:0}.import-json-btn[data-v-58f3bd3c]{flex-shrink:0;white-space:normal;text-align:center;padding:10px;line-height:1.2}.loaded-config-actions[data-v-58f3bd3c]{display:flex;align-items:center;justify-content:space-between;padding:.75rem;background-color:#e6ffed;border:1px solid #b7ebc0;border-radius:var(--border-radius);margin-top:15px;margin-bottom:15px}.loaded-config-text[data-v-58f3bd3c]{margin:0;flex-grow:1;padding-right:10px;text-align:left}.loaded-config-actions .button-danger[data-v-58f3bd3c]{flex-shrink:0}.toggle-json-input-btn[data-v-58f3bd3c]{margin-left:10px}.json-input-collapsible-area[data-v-58f3bd3c]{margin-bottom:15px}.textarea-button-row[data-v-58f3bd3c]{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px}.textarea-button-row textarea[data-v-58f3bd3c]{flex-grow:1}.textarea-button-row .import-json-btn[data-v-58f3bd3c]{flex-shrink:0;white-space:normal;text-align:center;padding:8px 12px}.local-mode-config-view[data-v-58f3bd3c]{padding-bottom:20px}.map-dashboard-page[data-v-212f4355]{max-width:1280px}.status-summary-card[data-v-212f4355]{background:#fff;border:1px solid var(--border-color);border-radius:7px;box-shadow:var(--box-shadow);padding:.8rem 1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem}.ws-status[data-v-212f4355]{display:flex;align-items:center;gap:.45rem;font-size:.9rem}.ws-status i[data-v-212f4355]{color:var(--primary-color);font-size:1rem}.positive[data-v-212f4355]{color:var(--primary-color-dark)}.negative[data-v-212f4355]{color:var(--danger-color)}.summary-pills[data-v-212f4355]{display:flex;gap:1rem;flex:1;justify-content:flex-end;min-width:0}.summary-pill[data-v-212f4355]{box-sizing:border-box;min-width:120px;height:40px;border:1px solid var(--border-color);border-radius:6px;display:flex;align-items:center;justify-content:center;gap:.6rem;background:#fafafa;font-size:.88rem}.map-name-pill[data-v-212f4355]{flex:0 1 auto;width:fit-content;min-width:0;box-sizing:border-box;max-width:min(440px,45vw);justify-content:flex-start;padding:0 .85rem}.map-name-pill strong[data-v-212f4355]{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.summary-pill i[data-v-212f4355],.summary-pill strong[data-v-212f4355]{color:#1e90ff;font-size:1.1rem}.map-overview-card[data-v-212f4355]{overflow:hidden}.map-toolbar[data-v-212f4355]{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.55rem}.map-toolbar .docker-button[data-v-212f4355],.fullscreen-map-toolbar .docker-button[data-v-212f4355]{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:34px;line-height:1;white-space:nowrap}.map-toolbar .docker-button i[data-v-212f4355],.fullscreen-map-toolbar .docker-button i[data-v-212f4355]{color:currentColor;margin-right:0}.map-toolbar .docker-button.muted[data-v-212f4355],.fullscreen-map-toolbar .docker-button.muted[data-v-212f4355]{background:#6b7280}.fullscreen-icon[data-v-212f4355]{position:relative;width:14px;height:14px;display:inline-block;flex:0 0 auto}.fullscreen-icon[data-v-212f4355]:before,.fullscreen-icon[data-v-212f4355]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(currentColor,currentColor) left top / 5px 2px no-repeat,linear-gradient(currentColor,currentColor) left top / 2px 5px no-repeat,linear-gradient(currentColor,currentColor) right top / 5px 2px no-repeat,linear-gradient(currentColor,currentColor) right top / 2px 5px no-repeat,linear-gradient(currentColor,currentColor) left bottom / 5px 2px no-repeat,linear-gradient(currentColor,currentColor) left bottom / 2px 5px no-repeat,linear-gradient(currentColor,currentColor) right bottom / 5px 2px no-repeat,linear-gradient(currentColor,currentColor) right bottom / 2px 5px no-repeat}.map-viewer-grid[data-v-212f4355]{display:grid;grid-template-columns:minmax(0,1fr) 260px;min-height:430px}.map-viewer-grid.fullscreen-active[data-v-212f4355]{width:100vw;height:100vh;min-height:100vh;background:#f8fafc;grid-template-columns:minmax(0,1fr) 220px}.map-canvas-pane[data-v-212f4355]{position:relative;border-right:1px solid var(--border-color);padding:1rem;background:#fafafa}.fullscreen-map-toolbar[data-v-212f4355]{position:absolute;top:1rem;right:1rem;z-index:5;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.55rem}.fullscreen-map-toolbar .docker-button[data-v-212f4355]{box-shadow:0 8px 20px #1118272e}.map-canvas-pane[data-v-212f4355] .map-container{min-height:400px}.map-canvas-pane[data-v-212f4355] .map-container.navigable{height:430px;min-height:0}.measurement-panel[data-v-212f4355]{position:absolute;left:1.75rem;bottom:1.75rem;z-index:4;display:flex;align-items:center;gap:.65rem;max-width:min(360px,calc(100% - 3.5rem));padding:.5rem .7rem;border:1px solid var(--border-color);border-radius:6px;background:#fffffff0;box-shadow:0 8px 18px #11182724;color:#111827;font-size:.82rem}.measurement-panel span[data-v-212f4355]{color:#dc2626;font-weight:800;white-space:nowrap}.map-viewer-grid.fullscreen-active .map-canvas-pane[data-v-212f4355]{height:100vh;padding:.75rem;box-sizing:border-box;overflow:hidden}.map-viewer-grid.fullscreen-active[data-v-212f4355] .map-container{height:100%;min-height:0}.tracker-side-panel[data-v-212f4355]{padding:1rem;background:#fff;min-height:260px}.map-viewer-grid.fullscreen-active .tracker-side-panel[data-v-212f4355]{height:100vh;min-height:0;overflow:auto;box-sizing:border-box}.tracker-side-panel h4[data-v-212f4355]{margin:0 0 1rem;font-size:.95rem;font-weight:700}.empty-trackers[data-v-212f4355]{font-size:.9rem}.mini-tracker[data-v-212f4355]{width:100%;padding:.7rem 0;margin:0;border-bottom:1px solid var(--border-color);border-top:0;border-left:0;border-right:0;background:transparent;color:inherit;display:flex;flex-direction:column;align-items:stretch;gap:.2rem;font-size:.8rem;font-family:inherit;text-align:left;cursor:pointer;border-radius:6px;transition:background-color .15s ease,box-shadow .15s ease,padding-left .15s ease}.mini-tracker[data-v-212f4355]:hover,.mini-tracker.active[data-v-212f4355]{background:#f4fbef;box-shadow:inset 3px 0 0 var(--primary-color);padding-left:.55rem}.mini-tracker strong[data-v-212f4355]{display:inline-flex;align-items:center;gap:.45rem}.mini-tracker small[data-v-212f4355]{color:var(--secondary-color)}.tracker-meta-row[data-v-212f4355]{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;color:var(--secondary-color)}.tracker-status-pill[data-v-212f4355]{border-radius:999px;padding:.12rem .45rem;font-weight:700;font-size:.68rem}.tracker-status-pill.online[data-v-212f4355]{background:#f0faed;color:var(--primary-color-dark)}.tracker-status-pill.offline[data-v-212f4355]{background:#fff1f1;color:var(--danger-color)}.tracker-color-dot[data-v-212f4355]{width:10px;height:10px;border-radius:50%;border:2px solid white;box-shadow:0 0 0 1px #11182733;flex:0 0 auto}.empty-panel[data-v-212f4355]{min-height:300px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.4rem;color:var(--secondary-color)}@media (max-width: 900px){.status-summary-card[data-v-212f4355]{flex-direction:column;align-items:stretch}.summary-pills[data-v-212f4355]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch;gap:.65rem}.map-name-pill[data-v-212f4355]{grid-column:1 / -1;width:100%;max-width:none}.summary-pill[data-v-212f4355]{min-width:0}.map-viewer-grid[data-v-212f4355]{grid-template-columns:1fr}.map-canvas-pane[data-v-212f4355]{border-right:0;border-bottom:1px solid var(--border-color)}.tracker-side-panel[data-v-212f4355]{min-height:0}}@media (max-width: 640px){.map-dashboard-page[data-v-212f4355]{padding-left:.55rem;padding-right:.55rem}.status-summary-card[data-v-212f4355]{padding:.65rem;gap:.65rem}.ws-status[data-v-212f4355]{justify-content:space-between}.summary-pills[data-v-212f4355]{gap:.5rem}.summary-pill[data-v-212f4355]{height:auto;min-height:44px;padding:.45rem .5rem;gap:.42rem;font-size:.78rem}.summary-pill i[data-v-212f4355],.summary-pill strong[data-v-212f4355]{font-size:.95rem}.map-toolbar[data-v-212f4355]{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.map-toolbar .docker-button[data-v-212f4355],.fullscreen-map-toolbar .docker-button[data-v-212f4355]{width:100%;padding-left:.55rem;padding-right:.55rem}.map-canvas-pane[data-v-212f4355]{padding:.55rem}.map-canvas-pane[data-v-212f4355] .map-container{min-height:0}.map-canvas-pane[data-v-212f4355] .map-container.navigable{height:min(62vh,390px);min-height:280px}.measurement-panel[data-v-212f4355]{left:.85rem;right:.85rem;bottom:.85rem;max-width:none;justify-content:space-between}.tracker-side-panel[data-v-212f4355]{padding:.75rem}.mini-tracker[data-v-212f4355]{padding:.75rem .2rem}.map-viewer-grid.fullscreen-active[data-v-212f4355]{grid-template-columns:1fr}.map-viewer-grid.fullscreen-active .tracker-side-panel[data-v-212f4355]{display:none}.map-viewer-grid.fullscreen-active .map-canvas-pane[data-v-212f4355]{height:100vh}.fullscreen-map-toolbar[data-v-212f4355]{left:.75rem;right:.75rem;top:.75rem;justify-content:flex-start}}@media (max-width: 920px) and (orientation: landscape) and (max-height: 560px){.map-dashboard-page[data-v-212f4355]{max-width:none;padding:.35rem}.docker-page-title[data-v-212f4355]{display:none}.status-summary-card[data-v-212f4355]{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.45rem;margin-bottom:.45rem;padding:.45rem .55rem}.ws-status[data-v-212f4355]{font-size:.78rem;white-space:nowrap}.summary-pills[data-v-212f4355]{display:flex;justify-content:flex-end;gap:.4rem}.summary-pill[data-v-212f4355]{min-width:0;min-height:34px;height:34px;padding:.25rem .45rem;font-size:.72rem}.summary-pill i[data-v-212f4355],.summary-pill strong[data-v-212f4355]{font-size:.9rem}.map-name-pill[data-v-212f4355]{grid-column:auto;width:auto;max-width:34vw}.map-overview-card[data-v-212f4355]{margin-bottom:0}.map-overview-card .docker-card-header[data-v-212f4355]{min-height:40px;padding:.45rem .6rem}.map-toolbar[data-v-212f4355]{width:auto;display:flex;flex-wrap:nowrap;gap:.35rem}.map-toolbar .docker-button[data-v-212f4355]{width:auto;min-height:32px;padding:.35rem .5rem;font-size:.72rem}.map-viewer-grid[data-v-212f4355]{grid-template-columns:minmax(0,1fr) 180px;min-height:calc(100vh - 104px)}.map-viewer-grid.fullscreen-active[data-v-212f4355]{width:100vw;height:100dvh;min-height:100dvh;grid-template-columns:minmax(0,1fr) 180px}.map-canvas-pane[data-v-212f4355]{padding:.35rem;border-right:1px solid var(--border-color);border-bottom:0}.map-viewer-grid.fullscreen-active .map-canvas-pane[data-v-212f4355]{height:100dvh;padding:.35rem;border:0}.map-canvas-pane[data-v-212f4355] .map-container{min-height:calc(100vh - 118px)}.map-canvas-pane[data-v-212f4355] .map-container.navigable{height:calc(100vh - 118px);min-height:240px}.map-viewer-grid.fullscreen-active[data-v-212f4355] .map-container{height:100%;min-height:0}.tracker-side-panel[data-v-212f4355]{max-height:calc(100vh - 104px);min-height:0;padding:.55rem;overflow:auto}.map-viewer-grid.fullscreen-active .tracker-side-panel[data-v-212f4355]{display:block;height:100dvh;max-height:100dvh;min-height:0;padding:.55rem;overflow:auto;box-sizing:border-box}.tracker-side-panel h4[data-v-212f4355]{margin-bottom:.5rem}.mini-tracker[data-v-212f4355]{padding:.45rem .15rem;font-size:.72rem}}@media (max-width: 420px){.map-toolbar[data-v-212f4355]{grid-template-columns:1fr}}.tracker-page[data-v-2e90d26d]{max-width:860px}.tracker-stat-grid[data-v-2e90d26d]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;padding:.65rem}.tracker-stat[data-v-2e90d26d]{min-height:54px;border-radius:6px;border-left:2px solid var(--secondary-color);display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f5f5f5}.tracker-stat strong[data-v-2e90d26d]{font-size:1.15rem}.tracker-stat span[data-v-2e90d26d]{font-size:.68rem}.tracker-stat.online[data-v-2e90d26d]{background:#f0faed;border-left-color:var(--primary-color)}.tracker-stat.offline[data-v-2e90d26d]{background:#fff1f1;border-left-color:var(--danger-color)}.tracker-stat.offline strong[data-v-2e90d26d]{color:var(--danger-color)}.map-distribution[data-v-2e90d26d]{border-top:1px solid var(--border-color);padding:.5rem .7rem .8rem;font-size:.75rem}.map-distribution mark[data-v-2e90d26d]{margin-left:.5rem;background:#f0faed;color:var(--primary-color-dark);border-radius:6px;padding:.25rem .45rem}.tracker-list-card[data-v-2e90d26d]{padding:.75rem}.tracker-table-wrap[data-v-2e90d26d]{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.tracker-table-wrap .docker-table[data-v-2e90d26d]{min-width:760px}.tracker-list-header[data-v-2e90d26d]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.7rem}.tracker-list-header h2[data-v-2e90d26d]{margin:0;font-size:1rem}.tracker-list-tools[data-v-2e90d26d]{display:flex;align-items:center;gap:.5rem}.tracker-list-tools select[data-v-2e90d26d]{width:170px;margin:0}.icon-button[data-v-2e90d26d]{background:#fff;color:#31536f;border:1px solid var(--border-color);height:36px;width:36px;padding:0;justify-content:center}.tracker-filter-tabs[data-v-2e90d26d]{display:flex;gap:1.2rem;border-bottom:1px solid var(--border-color);margin-bottom:.8rem}.tracker-filter-tabs button[data-v-2e90d26d]{background:transparent;color:var(--secondary-color);border:0;border-bottom:2px solid transparent;border-radius:0;box-shadow:none;padding:.45rem .35rem}.tracker-filter-tabs button.active[data-v-2e90d26d]{color:#006be6;border-bottom-color:#006be6}.tracker-filter-tabs span[data-v-2e90d26d]{background:#eef2f7;padding:.1rem .35rem;border-radius:10px;font-size:.72rem}.group-badge[data-v-2e90d26d]{background:#f6dcff;color:#9233c7;border-radius:999px;padding:.25rem .55rem;font-size:.75rem}.device-name-line[data-v-2e90d26d]{display:inline-flex;align-items:center;gap:.45rem}.tracker-color-dot[data-v-2e90d26d]{width:10px;height:10px;border-radius:50%;border:2px solid white;box-shadow:0 0 0 1px #1118272e;flex:0 0 auto}.status-dot[data-v-2e90d26d]{display:inline-block;width:9px;height:9px;border-radius:999px;margin-right:.35rem}.status-dot.online[data-v-2e90d26d]{background:var(--primary-color)}.status-dot.offline[data-v-2e90d26d]{background:#ef3444}.online-text[data-v-2e90d26d]{color:var(--primary-color-dark);font-weight:600}.offline-text[data-v-2e90d26d]{color:#ef3444;font-weight:600}.action-icons[data-v-2e90d26d]{display:flex;gap:.8rem;align-items:center}.action-icon-button[data-v-2e90d26d]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;box-shadow:none;padding:0;color:#31536f;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:.9rem}.action-icon-button[data-v-2e90d26d]:hover{color:#006be6}.star-action[data-v-2e90d26d]{color:#ff9800}.star-action.active[data-v-2e90d26d]{color:#ffc107}.empty-row[data-v-2e90d26d]{text-align:center;color:var(--secondary-color);padding:2rem}.tracker-pagination[data-v-2e90d26d]{display:flex;align-items:center;justify-content:space-between;background:#fafafa;padding:.8rem;font-size:.8rem}.tracker-pagination div[data-v-2e90d26d]{display:flex;align-items:center;gap:.5rem}.tracker-pagination button[data-v-2e90d26d],.tracker-pagination select[data-v-2e90d26d]{width:auto;margin:0;color:var(--text-color);background:#fff;border:1px solid var(--border-color);padding:.25rem .45rem}.modal-backdrop[data-v-2e90d26d]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#0000006b;display:flex;align-items:center;justify-content:center;padding:1rem}.modal-backdrop-top[data-v-2e90d26d]{z-index:2100}.docker-button[data-v-2e90d26d]:disabled{opacity:.55;cursor:not-allowed}.edit-device-modal[data-v-2e90d26d]{width:min(320px,100%);background:#fff;border-radius:6px;box-shadow:0 18px 40px #00000038;overflow:hidden}.data-history-modal[data-v-2e90d26d]{width:min(860px,96vw);max-height:88vh;background:#fff;border-radius:6px;box-shadow:0 18px 40px #00000038;overflow:hidden;display:flex;flex-direction:column}.edit-device-header[data-v-2e90d26d]{min-height:54px;padding:0 1.35rem;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.edit-device-header h2[data-v-2e90d26d]{margin:0;font-size:.9rem;font-weight:600}.edit-device-header p[data-v-2e90d26d]{margin:.25rem 0 0;color:var(--secondary-color);font-size:.72rem}.data-history-body[data-v-2e90d26d]{padding:1rem;overflow:auto}.data-history-table[data-v-2e90d26d]{min-width:760px}.rssi-list[data-v-2e90d26d]{display:flex;flex-direction:column;gap:.2rem;white-space:nowrap}.modal-close-button[data-v-2e90d26d]{width:30px;height:30px;border:0;background:transparent;color:var(--secondary-color);padding:0;box-shadow:none;font-size:1.2rem;line-height:1}.edit-device-body[data-v-2e90d26d]{padding:1.25rem 1.35rem 1rem;display:flex;flex-direction:column;gap:1rem}.edit-device-body label[data-v-2e90d26d]{display:flex;flex-direction:column;gap:.45rem;font-size:.72rem;color:#303133}.edit-device-body input[data-v-2e90d26d],.edit-device-body select[data-v-2e90d26d]{width:100%;margin:0;height:30px;font-size:.72rem}.color-picker-row[data-v-2e90d26d]{display:flex;gap:.6rem;align-items:center}.color-picker-row input[type=color][data-v-2e90d26d]{width:42px;padding:2px;flex:0 0 auto}.color-swatches[data-v-2e90d26d]{display:flex;gap:.35rem;flex-wrap:wrap}.color-swatch[data-v-2e90d26d]{width:20px;height:20px;border-radius:50%;border:2px solid white;padding:0;box-shadow:0 0 0 1px #1118272e}.color-swatch.active[data-v-2e90d26d]{box-shadow:0 0 0 2px #111827}.edit-device-body input[data-v-2e90d26d]:disabled{background:#f5f7fa;color:#909399}.star-toggle-row[data-v-2e90d26d]{flex-direction:row!important;align-items:center;justify-content:space-between;margin-top:.2rem}.switch-toggle[data-v-2e90d26d]{width:36px;height:20px;padding:0;border:0;border-radius:999px;background:#c0c4cc;box-shadow:none;position:relative;transition:background-color .2s ease}.switch-toggle span[data-v-2e90d26d]{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:999px;background:#fff;transition:transform .2s ease}.switch-toggle.active[data-v-2e90d26d]{background:#ffc107}.switch-toggle.active span[data-v-2e90d26d]{transform:translate(16px)}.edit-device-footer[data-v-2e90d26d]{min-height:62px;padding:.9rem 1.35rem;border-top:1px solid var(--border-color);background:#f7f8fa;display:flex;justify-content:flex-end;gap:.75rem}.edit-device-footer .docker-button[data-v-2e90d26d]{min-width:66px;min-height:34px;margin:0}.edit-device-footer .docker-button.secondary[data-v-2e90d26d]{background:#7a828c}.group-management-modal[data-v-2e90d26d]{width:min(470px,100%);background:#fff;border-radius:5px;box-shadow:0 18px 40px #00000038;overflow:hidden}.group-management-header[data-v-2e90d26d]{min-height:72px;padding:.95rem 1rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;gap:1rem}.group-management-header h2[data-v-2e90d26d]{margin:0 0 .45rem;font-size:.85rem;font-weight:700}.group-management-header h2 i[data-v-2e90d26d]{color:#303133;margin-right:.25rem}.group-management-header p[data-v-2e90d26d]{margin:0;color:var(--secondary-color);font-size:.68rem;line-height:1.35}.group-management-body[data-v-2e90d26d]{padding:1rem}.group-management-toolbar[data-v-2e90d26d]{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.7rem}.group-management-toolbar h3[data-v-2e90d26d]{margin:0;font-size:.78rem;font-weight:600}.group-table th[data-v-2e90d26d],.group-table td[data-v-2e90d26d]{font-size:.68rem}.group-table td[data-v-2e90d26d]{height:34px}.system-group-badge[data-v-2e90d26d]{margin-left:.35rem;padding:.12rem .35rem;border-radius:999px;background:#eef2f7;color:#667085;font-size:.55rem;font-weight:700}.system-group-text[data-v-2e90d26d]{color:var(--secondary-color);font-size:.68rem;font-style:italic}.group-actions[data-v-2e90d26d]{display:flex;gap:.8rem}.delete-group[data-v-2e90d26d]{color:#c0c4cc}.delete-group[data-v-2e90d26d]:hover{color:#ef3444}.group-management-footer[data-v-2e90d26d]{min-height:54px;padding:.75rem 1rem;background:#f7f8fa;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end}.group-management-footer .docker-button.secondary[data-v-2e90d26d]{background:#7a828c}.create-group-modal[data-v-2e90d26d]{width:min(322px,100%);background:#fff;border-radius:5px;box-shadow:0 18px 40px #0000003d;overflow:hidden}.create-group-header[data-v-2e90d26d]{min-height:46px;padding:0 1rem;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.create-group-header h2[data-v-2e90d26d]{margin:0;font-size:.82rem;font-weight:600}.create-group-body[data-v-2e90d26d]{padding:1rem}.create-group-body label[data-v-2e90d26d]{display:flex;flex-direction:column;gap:.45rem;color:#303133;font-size:.7rem}.create-group-body em[data-v-2e90d26d]{color:var(--danger-color);font-style:normal}.create-group-body input[data-v-2e90d26d]{width:100%;height:30px;margin:0;font-size:.68rem}.create-group-body input.invalid[data-v-2e90d26d]{border-color:var(--danger-color)}.character-count[data-v-2e90d26d]{align-self:flex-end;color:var(--secondary-color);font-size:.65rem}.form-error[data-v-2e90d26d]{margin-top:.4rem;color:var(--danger-color);font-size:.68rem}.group-note[data-v-2e90d26d]{margin-top:.85rem;padding:.75rem;background:#f7f8fa;color:var(--secondary-color);font-size:.66rem}.group-note strong[data-v-2e90d26d]{display:block;color:#303133;margin-bottom:.35rem}.group-note p[data-v-2e90d26d]{margin:0;line-height:1.35}.group-note i[data-v-2e90d26d]{color:#17a2d4;margin-right:.25rem}.create-group-footer[data-v-2e90d26d]{min-height:60px;padding:.75rem 1rem;background:#f7f8fa;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:.65rem}.create-group-footer .docker-button[data-v-2e90d26d]{min-width:60px;min-height:32px;margin:0}.create-group-footer .docker-button.secondary[data-v-2e90d26d]{background:#7a828c}@media (max-width: 760px){.tracker-page[data-v-2e90d26d]{max-width:none}.tracker-stat-grid[data-v-2e90d26d]{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;padding:.55rem}.tracker-stat[data-v-2e90d26d]{min-height:50px}.tracker-stat strong[data-v-2e90d26d]{font-size:1.05rem}.tracker-stat span[data-v-2e90d26d]{font-size:.62rem;text-align:center}.map-distribution[data-v-2e90d26d]{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem}.map-distribution mark[data-v-2e90d26d]{margin-left:0}.tracker-list-card[data-v-2e90d26d]{padding:.55rem}.tracker-list-header[data-v-2e90d26d]{align-items:stretch;flex-direction:column;gap:.65rem}.tracker-list-tools[data-v-2e90d26d]{width:100%}.tracker-list-tools select[data-v-2e90d26d]{width:auto;flex:1}.tracker-filter-tabs[data-v-2e90d26d]{gap:.35rem;overflow-x:auto;padding-bottom:.2rem;scrollbar-width:none}.tracker-filter-tabs[data-v-2e90d26d]::-webkit-scrollbar{display:none}.tracker-filter-tabs button[data-v-2e90d26d]{flex:1 0 auto;min-width:78px;justify-content:center;padding:.55rem .35rem}.tracker-pagination[data-v-2e90d26d]{align-items:stretch;flex-direction:column;gap:.6rem}.tracker-pagination div[data-v-2e90d26d]{flex-wrap:wrap}.modal-backdrop[data-v-2e90d26d]{align-items:flex-start;padding:.75rem}.edit-device-modal[data-v-2e90d26d],.group-management-modal[data-v-2e90d26d],.create-group-modal[data-v-2e90d26d]{width:100%}.data-history-modal[data-v-2e90d26d]{width:100%;max-height:calc(100vh - 1.5rem)}.edit-device-header[data-v-2e90d26d],.group-management-header[data-v-2e90d26d]{padding-left:1rem;padding-right:1rem}.data-history-body[data-v-2e90d26d],.group-management-body[data-v-2e90d26d]{padding:.75rem}.data-history-table[data-v-2e90d26d]{min-width:620px}.group-management-toolbar[data-v-2e90d26d]{flex-direction:column;align-items:stretch}.group-management-toolbar .docker-button[data-v-2e90d26d]{justify-content:center}}@media (max-width: 420px){.action-icons[data-v-2e90d26d]{gap:.65rem}.edit-device-footer[data-v-2e90d26d],.create-group-footer[data-v-2e90d26d],.group-management-footer[data-v-2e90d26d]{justify-content:stretch}.edit-device-footer .docker-button[data-v-2e90d26d],.create-group-footer .docker-button[data-v-2e90d26d],.group-management-footer .docker-button[data-v-2e90d26d]{flex:1;justify-content:center}}.configuration-page[data-v-c3e01b65]{max-width:1080px}.config-title[data-v-c3e01b65]{color:var(--primary-color-dark);font-size:1.25rem;border-bottom:1px solid var(--primary-color);padding-bottom:.45rem;margin:0 0 .75rem}.overview-stats[data-v-c3e01b65]{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;padding:.8rem}.gradient-stat[data-v-c3e01b65]{height:70px;border-radius:7px;color:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column;box-shadow:0 3px 8px #0000001f}.gradient-stat strong[data-v-c3e01b65]{font-size:1.65rem}.gradient-stat span[data-v-c3e01b65]{font-size:.72rem}.gradient-stat.purple[data-v-c3e01b65]{background:linear-gradient(135deg,#667eea,#764ba2)}.gradient-stat.green[data-v-c3e01b65]{background:linear-gradient(135deg,#16a085,#35df7c)}.main-config-tabs[data-v-c3e01b65]{display:flex;justify-content:center;border-bottom:1px solid var(--border-color);margin:1rem 0 1.25rem}.main-config-tabs button[data-v-c3e01b65],.sub-tabs button[data-v-c3e01b65]{background:#fff;color:var(--text-color);border:0;border-radius:6px 6px 0 0;box-shadow:none;padding:.75rem 1.5rem}.main-config-tabs button.active[data-v-c3e01b65]{color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 12px #667eea47}.selection-card[data-v-c3e01b65]{overflow:hidden}.selection-header[data-v-c3e01b65],.runtime-header[data-v-c3e01b65]{display:flex;justify-content:space-between;align-items:center;padding:.65rem .8rem;border-bottom:1px solid var(--border-color)}.selection-header h2[data-v-c3e01b65],.runtime-header h2[data-v-c3e01b65]{margin:0;font-size:.95rem}.selection-actions[data-v-c3e01b65],.runtime-actions[data-v-c3e01b65]{display:flex;gap:.35rem}.selection-row[data-v-c3e01b65]{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;gap:.65rem;padding:.8rem;align-items:center}.selection-row label[data-v-c3e01b65]{margin:0}.selection-row select[data-v-c3e01b65]{margin:0;width:100%}.sub-tabs[data-v-c3e01b65]{display:flex;gap:.2rem;margin:1rem 0;border-bottom:1px solid var(--border-color)}.sub-tabs button[data-v-c3e01b65]{color:var(--primary-color-dark)}.sub-tabs button.active[data-v-c3e01b65]{background:var(--primary-color);color:#fff}.empty-select-card[data-v-c3e01b65]{min-height:170px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.5rem}.empty-select-card i[data-v-c3e01b65]{color:#b5e89a;font-size:2rem}.detail-card[data-v-c3e01b65],.settings-card[data-v-c3e01b65]{padding-bottom:1rem}.map-info-header[data-v-c3e01b65]{gap:1rem}.map-save-button[data-v-c3e01b65]{flex:0 0 auto}.map-basic-form[data-v-c3e01b65]{display:flex;flex-direction:column;gap:1.35rem;padding:1.15rem 1.25rem 1.35rem}.map-basic-row[data-v-c3e01b65],.map-background-row[data-v-c3e01b65]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;align-items:start}.map-background-row[data-v-c3e01b65]{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.form-field[data-v-c3e01b65]{display:flex;flex-direction:column;gap:.45rem;margin:0;min-width:0;color:#25364d;font-size:.82rem;font-weight:700}.form-field>span[data-v-c3e01b65]:first-child{display:inline-flex;align-items:center;min-height:18px}.basic-grid[data-v-c3e01b65],.runtime-grid[data-v-c3e01b65]{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:1rem}.runtime-grid .wide[data-v-c3e01b65]{grid-column:1 / -1}.map-basic-form input[data-v-c3e01b65]:not([type=file]),.basic-grid input[data-v-c3e01b65]:not([type=file]),.runtime-grid input[data-v-c3e01b65],.runtime-grid select[data-v-c3e01b65]{box-sizing:border-box;margin:0;width:100%;min-width:0;height:38px;border-color:#d8dee8;border-radius:8px;background:#fff;color:#1f2937;font-size:.9rem;transition:border-color .15s ease,box-shadow .15s ease}.map-basic-form input[data-v-c3e01b65]:not([type=file]):focus,.basic-grid input[data-v-c3e01b65]:not([type=file]):focus,.runtime-grid input[data-v-c3e01b65]:focus,.runtime-grid select[data-v-c3e01b65]:focus{border-color:#69c945;box-shadow:0 0 0 3px #69c94529;outline:none}.input-with-icon[data-v-c3e01b65]{position:relative;display:block;width:100%;min-width:0}.input-with-icon i[data-v-c3e01b65]{position:absolute;left:.85rem;top:50%;z-index:1;color:#1e90ff;transform:translateY(-50%);pointer-events:none}.input-with-icon input[data-v-c3e01b65]{margin-top:0;padding-left:2.35rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.82rem}.upload-dropzone[data-v-c3e01b65]{position:relative;box-sizing:border-box;width:100%;min-width:0;min-height:64px;border:1px dashed #cfd8e3;border-radius:8px;background:#f8fbff;color:#25364d;display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:.65rem;padding:.75rem .9rem;overflow:hidden;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.upload-dropzone[data-v-c3e01b65]:hover{border-color:#69c945;background:#f3fff1}.upload-dropzone i[data-v-c3e01b65]{grid-row:span 2;color:#1e90ff;font-size:1.1rem}.upload-dropzone strong[data-v-c3e01b65]{font-size:.84rem}.upload-dropzone small[data-v-c3e01b65]{color:#6b7280;font-size:.72rem;font-weight:500}.upload-dropzone input[data-v-c3e01b65]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.preview-card[data-v-c3e01b65]{overflow:hidden}.preview-inner[data-v-c3e01b65]{padding:.8rem;background:#fafafa}.preview-inner.placing[data-v-c3e01b65]{border:1px solid #20c997;border-radius:6px}.beacon-card[data-v-c3e01b65]{padding:1.2rem;overflow-x:auto}.beacon-card .docker-table[data-v-c3e01b65]{min-width:940px}.beacon-management-header[data-v-c3e01b65]{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.8rem}.beacon-management-header h2[data-v-c3e01b65]{margin:0 0 .65rem;font-size:1rem}.beacon-management-header p[data-v-c3e01b65]{margin:0;font-size:.82rem}.detected-beacons-panel[data-v-c3e01b65]{margin-top:1rem;border:1px solid #d8dde5;border-radius:6px;background:#f8fbff;padding:.9rem;overflow-x:auto}.detected-beacons-header[data-v-c3e01b65]{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem}.detected-beacons-header h3[data-v-c3e01b65]{margin:0 0 .35rem;color:var(--primary-color-dark);font-size:.92rem}.detected-beacons-header p[data-v-c3e01b65]{margin:0;color:var(--secondary-color);font-size:.78rem}.detected-beacons-table[data-v-c3e01b65]{background:#fff;min-width:720px}.deleted-beacons-panel[data-v-c3e01b65]{background:#fff8f8}.deleted-beacons-panel .detected-beacons-header h3[data-v-c3e01b65]{color:var(--danger-color)}.detected-beacon-actions[data-v-c3e01b65]{display:flex;flex-wrap:wrap;gap:.4rem}.beacon-placement-card[data-v-c3e01b65]{margin-top:1rem;overflow:hidden}.placement-header[data-v-c3e01b65]{justify-content:space-between}.placement-instruction[data-v-c3e01b65]{color:var(--primary-color-dark);font-size:.8rem;font-weight:700}.beacon-count-info[data-v-c3e01b65]{margin:.85rem 1rem 1rem;padding:.75rem .9rem;border-left:3px solid #1e90ff;border-radius:5px;background:#eaf4ff;color:#25364d;font-size:.78rem}.beacon-count-info i[data-v-c3e01b65]{color:#1e90ff;margin-right:.35rem}.boundary-card[data-v-c3e01b65]{overflow:hidden}.boundary-header[data-v-c3e01b65]{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem;border-bottom:1px solid var(--border-color)}.boundary-header h2[data-v-c3e01b65]{margin:0 0 .4rem;color:var(--primary-color-dark);font-size:1rem}.boundary-header p[data-v-c3e01b65]{margin:0;color:var(--secondary-color);font-size:.8rem}.boundary-layout[data-v-c3e01b65]{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:430px}.boundary-controls[data-v-c3e01b65]{border-right:1px solid var(--border-color);background:#fff;padding:1rem}.boundary-actions[data-v-c3e01b65],.boundary-draft-actions[data-v-c3e01b65]{display:flex;flex-wrap:wrap;gap:.55rem}.boundary-actions .docker-button[data-v-c3e01b65]{display:inline-flex;align-items:center;justify-content:center;gap:.35rem}.boundary-draft-panel[data-v-c3e01b65]{margin-top:1rem;border:1px solid #cfd8e3;border-radius:6px;background:#f8fbff;padding:.8rem;display:flex;flex-direction:column;gap:.6rem;font-size:.78rem}.boundary-draft-panel strong[data-v-c3e01b65]{color:#25364d}.boundary-draft-panel span[data-v-c3e01b65]{color:var(--secondary-color)}.boundary-list[data-v-c3e01b65]{margin-top:1.25rem}.boundary-list h3[data-v-c3e01b65]{margin:0 0 .75rem;font-size:.9rem;color:#25364d}.empty-boundaries[data-v-c3e01b65]{color:var(--secondary-color);font-size:.78rem}.boundary-row[data-v-c3e01b65]{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:.45rem;align-items:center;padding:.55rem 0;border-bottom:1px solid var(--border-color);font-size:.78rem}.boundary-row small[data-v-c3e01b65]{color:var(--secondary-color)}.boundary-role-dot[data-v-c3e01b65]{width:10px;height:10px;border-radius:999px;background:#16a34a}.boundary-role-dot.blocked_area[data-v-c3e01b65]{background:#dc2626}.boundary-preview[data-v-c3e01b65]{min-width:0}.boundary-preview.drawing[data-v-c3e01b65]{border:1px solid #20c997}.row-button[data-v-c3e01b65]{padding:.4rem .55rem;font-size:.75rem;margin-right:.25rem;border-radius:4px}.row-button.edit[data-v-c3e01b65]{background:#667eea}.row-button.delete[data-v-c3e01b65]{background:#1f2937}.settings-title[data-v-c3e01b65]{padding:1rem;color:var(--primary-color-dark);display:flex;align-items:center;justify-content:space-between;gap:1rem}.settings-title h2[data-v-c3e01b65]{margin:0;font-size:1rem}.settings-panel[data-v-c3e01b65]{border:1px solid var(--border-color);background:#fafafa;border-radius:6px;margin:0 1rem 1rem;padding:1rem}.settings-panel input[data-v-c3e01b65],.settings-panel select[data-v-c3e01b65]{width:min(100%,360px);display:block;margin-top:.5rem}.settings-panel input[data-v-c3e01b65]{width:80px}.settings-panel p[data-v-c3e01b65],.runtime-note[data-v-c3e01b65]{color:var(--secondary-color);font-size:.78rem}.runtime-card[data-v-c3e01b65]{overflow:hidden}.mqtt-section[data-v-c3e01b65]{margin:1rem;border:1px solid var(--border-color);border-radius:7px;background:#f8f9fa}.mqtt-section-header[data-v-c3e01b65]{padding:.9rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color)}.mqtt-section-header h3[data-v-c3e01b65]{margin:0;color:#495057;font-size:.95rem}.mqtt-header-controls[data-v-c3e01b65]{display:flex;align-items:center;gap:.75rem}.toggle-row[data-v-c3e01b65]{display:flex;align-items:center;gap:.45rem;margin:0;font-size:.78rem;font-weight:700;color:#374151}.toggle-row.editable[data-v-c3e01b65]{cursor:pointer}.toggle-row.busy[data-v-c3e01b65]{opacity:.65;cursor:wait}.switch-input[data-v-c3e01b65]{display:none!important}.enabled-marker[data-v-c3e01b65]{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:700;color:#374151}.switch-visual[data-v-c3e01b65]{position:relative;width:26px;height:14px;border-radius:999px;background:#cfd4dc;display:inline-block;flex:0 0 auto;transition:background-color .2s ease}.switch-visual[data-v-c3e01b65]:after{content:"";position:absolute;top:3px;left:3px;width:8px;height:8px;border-radius:999px;background:#fff;box-shadow:0 1px 2px #00000040;transition:transform .2s ease}.enabled-marker.enabled .switch-visual[data-v-c3e01b65],.switch-input:checked+.switch-visual[data-v-c3e01b65]{background:#20c997}.enabled-marker.enabled .switch-visual[data-v-c3e01b65]:after,.switch-input:checked+.switch-visual[data-v-c3e01b65]:after{transform:translate(12px)}.live-status-badge[data-v-c3e01b65]{display:inline-flex;align-items:center;border-radius:999px;padding:.25rem .65rem;font-size:.76rem;font-weight:700;border:1px solid transparent}.live-status-badge.connected[data-v-c3e01b65]{color:#12805c;background:#e9f9f1;border-color:#b6ead3}.live-status-badge.connecting[data-v-c3e01b65]{color:#0f5d8f;background:#eaf6ff;border-color:#b8ddff}.live-status-badge.disconnected[data-v-c3e01b65],.live-status-badge.disabled[data-v-c3e01b65]{color:#6b7280;background:#f1f3f5;border-color:#d9dee6}.live-status-badge.error[data-v-c3e01b65]{color:#a94442;background:#fff0f0;border-color:#f3c4c4}.runtime-note[data-v-c3e01b65]{padding:0 1rem 1rem}.small-action[data-v-c3e01b65]{background:#fff;color:var(--text-color);border:1px solid var(--border-color);padding:.45rem .75rem;font-size:.78rem;border-radius:5px}.small-action.dark[data-v-c3e01b65]{background:#6c757d;color:#fff}.small-action.blue[data-v-c3e01b65]{background:#007bff;color:#fff}.small-action.green[data-v-c3e01b65]{background:#20c997;color:#fff}.small-action.red[data-v-c3e01b65]{background:#dc3545;color:#fff}.modal-backdrop[data-v-c3e01b65]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#0000006b;display:flex;align-items:center;justify-content:center;padding:1rem;overflow:auto}.beacon-form-modal[data-v-c3e01b65],.map-form-modal[data-v-c3e01b65]{width:min(520px,100%);max-height:calc(100vh - 2rem);overflow-y:auto;background:#fff;border-radius:5px;box-shadow:0 18px 40px #0000003d;padding:1.25rem}.map-form-modal[data-v-c3e01b65]{width:min(535px,100%);padding:1.75rem 1.8rem 2rem}.beacon-form-modal h2[data-v-c3e01b65],.map-form-modal h2[data-v-c3e01b65]{margin:0 0 1.45rem;font-size:1.2rem;font-weight:700;color:#333}.map-form-modal h2[data-v-c3e01b65]{color:#2c3e50;font-size:1.25rem}.beacon-form-modal label[data-v-c3e01b65],.map-form-modal label[data-v-c3e01b65]{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.7rem;color:#5f6368;font-size:.82rem;font-weight:700}.map-form-modal label[data-v-c3e01b65]{margin-bottom:1.4rem;color:#4b5563}.beacon-form-modal input[data-v-c3e01b65],.map-form-modal input[data-v-c3e01b65]{width:100%;margin:0;height:34px;font-size:.86rem;font-weight:400;color:var(--text-color)}.map-form-modal input[data-v-c3e01b65]{height:46px;font-size:.95rem}.map-form-modal small[data-v-c3e01b65]{align-self:flex-end;color:#6b7280}.map-form-modal em[data-v-c3e01b65]{color:var(--danger-color);font-style:normal}.beacon-form-help[data-v-c3e01b65]{margin:.25rem 0 .35rem;color:var(--secondary-color);font-size:.78rem;line-height:1.45}.beacon-position-title[data-v-c3e01b65]{display:block;margin:.45rem 0;color:#555;font-size:.95rem}.coordinate-button[data-v-c3e01b65]{width:100%;justify-content:flex-start;margin:0 0 1.05rem;padding:.75rem .8rem;font-size:.86rem;text-align:left}.beacon-coordinate-grid[data-v-c3e01b65]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.beacon-form-footer[data-v-c3e01b65]{margin-top:5.5rem;display:flex;justify-content:flex-end;gap:.6rem}.map-form-footer[data-v-c3e01b65]{margin-top:2.4rem}.beacon-form-footer .docker-button[data-v-c3e01b65],.beacon-form-footer .small-action[data-v-c3e01b65]{min-width:60px;min-height:36px;margin:0}@media (max-width: 840px){.overview-stats[data-v-c3e01b65],.basic-grid[data-v-c3e01b65],.runtime-grid[data-v-c3e01b65],.map-basic-row[data-v-c3e01b65],.map-background-row[data-v-c3e01b65]{grid-template-columns:1fr 1fr}.selection-row[data-v-c3e01b65]{grid-template-columns:1fr}.selection-row label[data-v-c3e01b65]{font-size:.82rem}.selection-header[data-v-c3e01b65],.runtime-header[data-v-c3e01b65],.boundary-header[data-v-c3e01b65],.beacon-management-header[data-v-c3e01b65],.detected-beacons-header[data-v-c3e01b65]{align-items:stretch;flex-direction:column}.selection-actions[data-v-c3e01b65],.runtime-actions[data-v-c3e01b65]{flex-wrap:wrap}.selection-actions .docker-button[data-v-c3e01b65],.runtime-actions .small-action[data-v-c3e01b65]{flex:1 1 180px;justify-content:center}.boundary-layout[data-v-c3e01b65]{grid-template-columns:1fr}.boundary-controls[data-v-c3e01b65]{border-right:0;border-bottom:1px solid var(--border-color)}.boundary-row[data-v-c3e01b65]{grid-template-columns:auto minmax(0,1fr) auto}.boundary-row .row-button[data-v-c3e01b65]{grid-column:2 / -1;width:fit-content}}@media (max-width: 560px){.configuration-page[data-v-c3e01b65]{max-width:none}.config-title[data-v-c3e01b65]{font-size:1.08rem}.overview-stats[data-v-c3e01b65]{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;padding:.55rem}.gradient-stat[data-v-c3e01b65]{height:62px}.gradient-stat strong[data-v-c3e01b65]{font-size:1.25rem}.main-config-tabs[data-v-c3e01b65]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;border-bottom:0}.main-config-tabs button[data-v-c3e01b65]{justify-content:center;padding:.65rem .45rem;border-radius:6px;font-size:.78rem}.sub-tabs[data-v-c3e01b65]{overflow-x:auto;padding-bottom:.2rem;scrollbar-width:none}.sub-tabs[data-v-c3e01b65]::-webkit-scrollbar{display:none}.sub-tabs button[data-v-c3e01b65]{flex:1 0 auto;min-width:92px;justify-content:center;padding:.65rem .6rem}.selection-header[data-v-c3e01b65],.runtime-header[data-v-c3e01b65],.boundary-header[data-v-c3e01b65],.beacon-management-header[data-v-c3e01b65],.detected-beacons-header[data-v-c3e01b65],.mqtt-section-header[data-v-c3e01b65],.settings-title[data-v-c3e01b65],.placement-header[data-v-c3e01b65],.selection-actions[data-v-c3e01b65],.runtime-actions[data-v-c3e01b65],.mqtt-header-controls[data-v-c3e01b65],.detected-beacon-actions[data-v-c3e01b65]{align-items:stretch;flex-direction:column}.selection-actions .docker-button[data-v-c3e01b65]{flex:0 0 auto;min-height:42px;padding-top:.65rem;padding-bottom:.65rem}.selection-actions .docker-button[data-v-c3e01b65],.runtime-actions .small-action[data-v-c3e01b65],.detected-beacon-actions .row-button[data-v-c3e01b65],.map-save-button[data-v-c3e01b65]{width:100%;justify-content:center}.selection-row[data-v-c3e01b65]{gap:.55rem;padding:.65rem}.selection-row .small-action[data-v-c3e01b65]{width:100%;justify-content:center}.map-basic-row[data-v-c3e01b65],.map-background-row[data-v-c3e01b65],.runtime-grid[data-v-c3e01b65],.beacon-coordinate-grid[data-v-c3e01b65]{grid-template-columns:1fr}.map-basic-form[data-v-c3e01b65]{gap:1rem;padding:.85rem}.preview-inner[data-v-c3e01b65]{padding:.5rem}.beacon-card[data-v-c3e01b65]{padding:.75rem}.beacon-management-header .docker-button[data-v-c3e01b65]{width:100%;justify-content:center}.detected-beacons-panel[data-v-c3e01b65]{padding:.7rem}.settings-title[data-v-c3e01b65]{padding:.8rem}.settings-panel[data-v-c3e01b65],.mqtt-section[data-v-c3e01b65]{margin:.75rem;padding:.75rem}.settings-panel input[data-v-c3e01b65],.settings-panel select[data-v-c3e01b65]{width:100%}.boundary-actions .docker-button[data-v-c3e01b65],.boundary-draft-actions .small-action[data-v-c3e01b65]{width:100%;justify-content:center}.modal-backdrop[data-v-c3e01b65]{align-items:flex-start;padding:.75rem}.beacon-form-modal[data-v-c3e01b65],.map-form-modal[data-v-c3e01b65]{width:100%;max-height:calc(100vh - 1.5rem);padding:1rem}.beacon-form-footer[data-v-c3e01b65]{margin-top:2rem;justify-content:stretch}.beacon-form-footer .docker-button[data-v-c3e01b65],.beacon-form-footer .small-action[data-v-c3e01b65]{flex:1;justify-content:center}}.login-shell[data-v-c9ee727c]{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;box-sizing:border-box;background:linear-gradient(135deg,#73c74d14,#007aff0f),var(--background-color)}.login-card[data-v-c9ee727c]{width:min(100%,420px);background:var(--card-background);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 12px 34px #1b27351f;padding:2.25rem;box-sizing:border-box}.login-brand[data-v-c9ee727c]{display:flex;align-items:center;justify-content:center;gap:.8rem;margin-bottom:1.75rem}.brand-mark[data-v-c9ee727c]{display:inline-flex;align-items:center;justify-content:center;position:relative;width:46px;height:46px;border-radius:8px;background:linear-gradient(135deg,var(--primary-color),var(--primary-color-dark));color:#fff;font-size:1.35rem;font-weight:800;box-shadow:0 5px 14px #73c74d4d}.brand-letter[data-v-c9ee727c]{line-height:1}.brand-plus[data-v-c9ee727c]{position:absolute;right:5px;bottom:5px;width:14px;height:14px;border-radius:50%;background:#1182f8}.brand-plus[data-v-c9ee727c]:before,.brand-plus[data-v-c9ee727c]:after{content:"";position:absolute;left:50%;top:50%;width:8px;height:2px;border-radius:999px;background:#fff;transform:translate(-50%,-50%)}.brand-plus[data-v-c9ee727c]:after{transform:translate(-50%,-50%) rotate(90deg)}.brand-copy[data-v-c9ee727c]{display:flex;flex-direction:column;line-height:1.1}.brand-copy strong[data-v-c9ee727c]{font-size:1.35rem;color:var(--text-color)}.brand-copy small[data-v-c9ee727c]{color:var(--secondary-color);font-size:.78rem;font-weight:600}.login-heading[data-v-c9ee727c]{text-align:center;margin-bottom:1.8rem}.login-heading h1[data-v-c9ee727c]{margin:0 0 .45rem;font-size:1.6rem}.login-heading p[data-v-c9ee727c]{margin:0;color:var(--secondary-color);font-size:.92rem}.login-button[data-v-c9ee727c]{width:100%;height:46px;justify-content:center;font-weight:700;background:var(--primary-color);border-color:var(--primary-color)}@media (max-width: 520px){.login-shell[data-v-c9ee727c]{padding:1rem}.login-card[data-v-c9ee727c]{padding:1.5rem}}
