@import url(https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Roboto+Mono:wght@400;500&display=swap);.loc-dash{--primary:#1b5e20;--primary-light:#2e7d32;--primary-lighter:#e8f5e9;--primary-surface:#f1f8e9;--secondary:#66bb6a;--secondary-light:#81c784;--bg:#f5f5f0;--surface:#fff;--surface-alt:#fafaf7;--border:#e0e0dc;--border-light:#eeeeea;--text-primary:#1a1a18;--text-secondary:#5c5c58;--text-tertiary:#8a8a85;--danger:#c62828;--danger-bg:#ffebee;--danger-border:#ef9a9a;--warning:#e65100;--warning-bg:#fff3e0;--warning-border:#ffcc80;--info:#1565c0;--info-bg:#e3f2fd;--info-border:#90caf9;--success:#2e7d32;--success-bg:#e8f5e9;--success-border:#a5d6a7;--purple:#6a1b9a;--purple-bg:#f3e5f5;--radius:8px;--radius-sm:4px;--shadow-sm:0 1px 2px #0000000f;--shadow-md:0 2px 8px #00000014;--shadow-lg:0 4px 16px #0000001a;--font:"Instrument Sans",-apple-system,sans-serif;--mono:"JetBrains Mono",monospace;-webkit-font-smoothing:antialiased;color:var(--text-primary);font-family:var(--font);font-size:13.5px;line-height:1.5}.loc-dash *{box-sizing:border-box}.loc-dash .breadcrumb{align-items:center;display:flex;font-size:13px;gap:4px;margin-bottom:16px}.loc-dash .breadcrumb a{color:var(--text-tertiary);text-decoration:none;transition:color .15s}.loc-dash .breadcrumb a:hover{color:var(--primary);text-decoration:underline}.loc-dash .breadcrumb-sep{color:var(--border);font-size:18px}.loc-dash .breadcrumb-current{color:var(--text-secondary);font-weight:500}.loc-dash .loc-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:24px}.loc-dash .loc-header-left{flex:1 1}.loc-dash .loc-title-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:6px}.loc-dash .loc-title{color:var(--text-primary);font-size:24px;font-weight:700;letter-spacing:-.3px;margin:0}.loc-dash .chip{align-items:center;border-radius:12px;display:inline-flex;font-size:11px;font-weight:600;gap:4px;letter-spacing:.2px;padding:3px 10px;white-space:nowrap}.loc-dash .chip-success{background:var(--success-bg);border:1px solid var(--success-border);color:var(--success)}.loc-dash .chip-danger{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger)}.loc-dash .chip-warning{background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning)}.loc-dash .chip-info{background:var(--info-bg);border:1px solid var(--info-border);color:var(--info)}.loc-dash .chip-purple{background:var(--purple-bg);border:1px solid #ce93d8;color:var(--purple)}.loc-dash .chip-default{background:#f5f5f5;border:1px solid var(--border);color:var(--text-secondary)}.loc-dash .chip .material-icons{font-size:13px}.loc-dash .loc-meta{align-items:center;color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:13px;gap:20px}.loc-dash .loc-meta-item{align-items:center;display:flex;gap:5px}.loc-dash .loc-onboarding-meta{font-size:12px;margin-top:6px}.loc-dash .loc-meta-item .material-icons-outlined{color:var(--text-tertiary);font-size:16px}.loc-dash .loc-meta-item .slug-link{border-bottom:1px dotted var(--border);color:var(--text-secondary);text-decoration:none;transition:color .15s,border-color .15s}.loc-dash .loc-meta-item .slug-link:hover{border-bottom-color:var(--primary);color:var(--primary)}.loc-dash .loc-meta-item .slug-link .material-icons-outlined{color:inherit}.loc-dash .loc-actions{display:flex;flex-shrink:0;gap:8px}.loc-dash .btn{align-items:center;border:none;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-family:var(--font);font-size:12.5px;font-weight:600;gap:6px;padding:7px 14px;text-decoration:none;transition:all .15s;white-space:nowrap}.loc-dash .btn .material-icons-outlined{font-size:16px}.loc-dash .btn-primary{background:var(--primary);color:#fff}.loc-dash .btn-primary:hover{background:var(--primary-light)}.loc-dash .btn-outlined{background:#fff;border:1px solid var(--border);color:var(--text-primary)}.loc-dash .btn-outlined:hover{background:var(--surface-alt);border-color:#ccc}.loc-dash .kpi-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(6,1fr);margin-bottom:24px}@media (max-width:1400px){.loc-dash .kpi-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:900px){.loc-dash .kpi-grid{grid-template-columns:repeat(2,1fr)}}.loc-dash .kpi-card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius);display:flex;flex-direction:column;gap:8px;overflow:hidden;padding:16px 18px;position:relative;transition:box-shadow .2s}.loc-dash .kpi-card:hover{box-shadow:var(--shadow-md)}.loc-dash .kpi-card.kpi-clickable{cursor:pointer}.loc-dash .kpi-card.kpi-clickable:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.loc-dash .kpi-card.kpi-clickable:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.loc-dash .kpi-card:before{content:"";height:3px;left:0;position:absolute;right:0;top:0}.loc-dash .kpi-card.kpi-products:before{background:var(--primary)}.loc-dash .kpi-card.kpi-beacons:before{background:var(--info)}.loc-dash .kpi-card.kpi-restock:before{background:var(--warning)}.loc-dash .kpi-card.kpi-oos:before{background:var(--danger)}.loc-dash .kpi-card.kpi-exceptions:before{background:var(--purple)}.loc-dash .kpi-card.kpi-orders:before{background:var(--secondary)}.loc-dash .kpi-card.kpi-hva:before{background:var(--success)}.loc-dash .kpi-card.kpi-emails:before,.loc-dash .kpi-card.kpi-report-views:before{background:var(--info)}.loc-dash .kpi-card.kpi-devices:before{background:#546e7a}.loc-dash .kpi-card.kpi-devices-ok:before{background:var(--success)}.loc-dash .kpi-card.kpi-devices-warn:before{background:var(--warning)}.loc-dash .kpi-card.kpi-devices-bad:before{background:var(--danger)}.loc-dash .kpi-card.kpi-devices-ok .kpi-icon{background:var(--success-bg);color:var(--success)}.loc-dash .kpi-card.kpi-devices-warn .kpi-icon{background:var(--warning-bg);color:var(--warning)}.loc-dash .kpi-card.kpi-devices-bad .kpi-icon{background:var(--danger-bg);color:var(--danger)}.loc-dash .kpi-header{align-items:center;display:flex;justify-content:space-between}.loc-dash .kpi-label{color:var(--text-tertiary);font-size:11px;font-weight:600;letter-spacing:.8px;text-transform:uppercase}.loc-dash .kpi-icon{align-items:center;border-radius:8px;display:flex;height:32px;justify-content:center;width:32px}.loc-dash .kpi-icon .material-icons-outlined{font-size:18px}.loc-dash .kpi-products .kpi-icon{background:var(--primary-lighter);color:var(--primary)}.loc-dash .kpi-beacons .kpi-icon{background:var(--info-bg);color:var(--info)}.loc-dash .kpi-restock .kpi-icon{background:var(--warning-bg);color:var(--warning)}.loc-dash .kpi-oos .kpi-icon{background:var(--danger-bg);color:var(--danger)}.loc-dash .kpi-exceptions .kpi-icon{background:var(--purple-bg);color:var(--purple)}.loc-dash .kpi-hva .kpi-icon,.loc-dash .kpi-orders .kpi-icon{background:var(--success-bg);color:var(--success)}.loc-dash .kpi-emails .kpi-icon,.loc-dash .kpi-report-views .kpi-icon{background:var(--info-bg);color:var(--info)}.loc-dash .kpi-devices .kpi-icon{background:#eceff1;color:#546e7a}.loc-dash .kpi-value-row{align-items:baseline;display:flex;gap:8px}.loc-dash .kpi-value{font-size:28px;font-weight:700;letter-spacing:-1px;line-height:1}.loc-dash .kpi-products .kpi-value{color:var(--primary)}.loc-dash .kpi-beacons .kpi-value{color:var(--info)}.loc-dash .kpi-restock .kpi-value{color:var(--warning)}.loc-dash .kpi-oos .kpi-value{color:var(--danger)}.loc-dash .kpi-exceptions .kpi-value{color:var(--purple)}.loc-dash .kpi-hva .kpi-value,.loc-dash .kpi-orders .kpi-value{color:var(--success)}.loc-dash .kpi-emails .kpi-value,.loc-dash .kpi-report-views .kpi-value{color:var(--info)}.loc-dash .kpi-devices .kpi-value{color:#546e7a}.loc-dash .kpi-trend{align-items:center;display:flex;font-size:11px;font-weight:600;gap:2px}.loc-dash .kpi-trend .material-icons{font-size:15px}.loc-dash .trend-up{color:var(--success)}.loc-dash .trend-down{color:var(--danger)}.loc-dash .trend-flat{color:var(--text-tertiary)}.loc-dash .kpi-caption{color:var(--text-secondary);font-size:11.5px;line-height:1.3;margin-top:3px}.loc-dash .kpi-sub{color:var(--text-tertiary);font-size:11.5px;line-height:1.3}.loc-dash .kpi-sub strong{color:var(--text-secondary);font-weight:600}.loc-dash .kpi-sparkline{align-items:flex-end;display:flex;gap:2px;height:24px;margin-top:2px}.loc-dash .spark-bar{border-radius:1px;opacity:.5;transition:opacity .15s;width:4px}.loc-dash .kpi-card:hover .spark-bar{opacity:.8}.loc-dash .device-list{display:flex;flex-direction:column;gap:6px;margin-top:6px}.loc-dash .device-list-item{align-items:center;border-top:1px solid var(--border-light);display:flex;font-size:11.5px;justify-content:space-between;padding:4px 0}.loc-dash .device-list-item:first-child{border-top:none;padding-top:0}.loc-dash .device-id{color:var(--text-primary);font-family:var(--mono);font-size:11px;font-weight:500}.loc-dash .device-meta{color:var(--text-tertiary);font-size:10px}.loc-dash .device-status-dot{border-radius:50%;display:inline-block;height:6px;margin-right:4px;width:6px}.loc-dash .device-status-dot.online{background:var(--success)}.loc-dash .device-status-dot.offline{background:var(--danger)}.loc-dash .config-section{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius);margin-bottom:24px;overflow:hidden}.loc-dash .config-header{align-items:center;background:var(--surface-alt);border-bottom:1px solid var(--border-light);cursor:pointer;display:flex;justify-content:space-between;padding:12px 18px;-webkit-user-select:none;user-select:none}.loc-dash .config-header:hover{background:#f3f2ef}.loc-dash .config-header-left{align-items:center;color:var(--text-primary);display:flex;font-size:13.5px;font-weight:600;gap:8px}.loc-dash .config-header-left .material-icons-outlined{color:var(--text-tertiary);font-size:18px}.loc-dash .config-header-right{align-items:center;display:flex;gap:8px}.loc-dash .config-body{padding:18px}.loc-dash .config-body.collapsed{display:none}.loc-dash .config-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}@media (max-width:1100px){.loc-dash .config-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:700px){.loc-dash .config-grid{grid-template-columns:1fr}}.loc-dash .config-group{display:flex;flex-direction:column;gap:10px}.loc-dash .config-group-label{border-bottom:1px solid var(--border-light);color:var(--text-tertiary);font-size:10px;font-weight:700;letter-spacing:1px;padding-bottom:6px;text-transform:uppercase}.loc-dash .config-item{align-items:center;display:flex;gap:8px;justify-content:space-between}.loc-dash .config-label{color:var(--text-secondary);font-size:12.5px}.loc-dash .config-value{color:var(--text-primary);font-size:12.5px;font-weight:600;text-align:right}.loc-dash .config-value.muted{color:var(--text-tertiary);font-style:italic;font-weight:400}.loc-dash .config-bool{align-items:center;display:inline-flex;font-size:12.5px;font-weight:600;gap:4px}.loc-dash .config-bool.on{color:var(--secondary)}.loc-dash .config-bool.off{color:var(--text-tertiary)}.loc-dash .config-bool .material-icons{font-size:16px}.loc-dash .tabs-container{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius);overflow:hidden}.loc-dash .tabs-bar{background:var(--surface-alt);border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;padding:0 8px}.loc-dash .tab{align-items:center;background:none;border:none;border-bottom:2px solid #0000;color:var(--text-secondary);cursor:pointer;display:flex;font-family:var(--font);font-size:13px;font-weight:500;gap:6px;margin-bottom:-1px;padding:12px 18px;transition:all .15s;white-space:nowrap}.loc-dash .tab:hover{background:#00000005;color:var(--text-primary)}.loc-dash .tab.active{background:var(--surface);border-bottom-color:var(--primary);color:var(--primary);font-weight:600}.loc-dash .tab .material-icons-outlined{font-size:18px}.loc-dash .tab .tab-count{background:var(--border-light);border-radius:10px;color:var(--text-tertiary);font-size:11px;font-weight:700;padding:1px 7px}.loc-dash .tab.active .tab-count{background:var(--primary-lighter);color:var(--primary)}.loc-dash .table-toolbar{align-items:center;border-bottom:1px solid var(--border-light);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:12px 16px}.loc-dash .table-toolbar-left{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.loc-dash .search-box{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);display:flex;gap:6px;min-width:220px;padding:6px 10px}.loc-dash .search-box .material-icons-outlined{color:var(--text-tertiary);font-size:18px}.loc-dash .search-box input{background:#0000;border:none;color:var(--text-primary);font-family:var(--font);font-size:12.5px;outline:none;width:100%}.loc-dash .search-box input::placeholder{color:var(--text-tertiary)}.loc-dash .search-box .search-clear{border-radius:3px;color:var(--text-tertiary);cursor:pointer;font-size:16px;padding:2px;transition:all .15s}.loc-dash .search-box .search-clear:hover{background:var(--border-light);color:var(--text-primary)}.loc-dash .filter-chip{align-items:center;background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:12px;gap:4px;padding:5px 10px}.loc-dash .filter-chip:hover{border-color:var(--primary);color:var(--primary)}.loc-dash .filter-chip .material-icons{font-size:16px}.loc-dash .data-table{border-collapse:collapse;width:100%}.loc-dash .data-table thead th{background:var(--surface-alt);border-bottom:1px solid var(--border);color:var(--text-tertiary);cursor:pointer;font-size:11px;font-weight:700;letter-spacing:.6px;padding:10px 14px;position:-webkit-sticky;position:sticky;text-align:left;text-transform:uppercase;top:0;-webkit-user-select:none;user-select:none;white-space:nowrap}.loc-dash .data-table thead th:hover{color:var(--text-secondary)}.loc-dash .data-table thead th .sort-icon{font-size:14px;margin-left:2px;opacity:.4;vertical-align:middle}.loc-dash .data-table tbody tr{border-bottom:1px solid var(--border-light);transition:background .1s}.loc-dash .data-table tbody tr:hover{background:#fafaf8}.loc-dash .data-table tbody tr:last-child{border-bottom:none}.loc-dash .data-table td{font-size:13px;padding:10px 14px;vertical-align:middle}.loc-dash .data-table .col-sku{color:var(--primary);font-family:var(--mono);font-size:12px;font-weight:500}.loc-dash .data-table .col-number{font-family:var(--mono);font-size:12.5px;font-weight:500;text-align:right}.loc-dash .data-table .col-actions{text-align:right;white-space:nowrap}.loc-dash .data-table .col-actions .material-icons-outlined{border-radius:4px;color:var(--text-tertiary);cursor:pointer;font-size:18px;padding:4px;transition:all .15s}.loc-dash .data-table .col-actions .material-icons-outlined:hover{background:var(--border-light);color:var(--text-primary)}.loc-dash .row-danger{background:#c6282808}.loc-dash .row-danger:hover{background:#c628280f!important}.loc-dash .row-warning{background:#e6510008}.loc-dash .row-warning:hover{background:#e651000f!important}.loc-dash .status-dot{border-radius:50%;display:inline-block;height:7px;margin-right:6px;width:7px}.loc-dash .status-dot.green{background:var(--success)}.loc-dash .status-dot.amber{background:var(--warning)}.loc-dash .status-dot.red{background:var(--danger)}.loc-dash .disc-bar{align-items:center;display:flex;gap:6px}.loc-dash .disc-track{background:var(--border-light);border-radius:3px;height:5px;overflow:hidden;width:50px}.loc-dash .disc-fill{border-radius:3px;height:100%}.loc-dash .disc-fill.full{background:var(--success)}.loc-dash .disc-fill.mid{background:var(--warning)}.loc-dash .disc-fill.low{background:var(--danger)}.loc-dash .disc-label{font-size:11px;font-weight:600}.loc-dash .disc-label.ok{color:var(--success)}.loc-dash .disc-label.warn{color:var(--warning)}.loc-dash .disc-label.crit{color:var(--danger)}.loc-dash .eq-badge{align-items:center;background:#f3e8ff;border-radius:3px;color:#7c3aed;display:inline-flex;font-size:10px;font-weight:600;gap:3px;letter-spacing:.2px;padding:2px 7px}.loc-dash .quote-expanded-row td{background:var(--surface-alt);padding:10px 14px 14px}.loc-dash .data-table.data-table-nested{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-sm);overflow:hidden}.loc-dash .data-table.data-table-nested thead th{background:#f3f2ef;cursor:default;font-size:10px;padding:6px 10px}.loc-dash .data-table.data-table-nested tbody td{font-size:12px;padding:6px 10px}.loc-dash .table-footer{align-items:center;background:var(--surface-alt);border-top:1px solid var(--border-light);color:var(--text-tertiary);display:flex;font-size:12px;justify-content:space-between;padding:10px 16px}.loc-dash .pagination{align-items:center;display:flex;gap:4px}.loc-dash .page-btn{align-items:center;background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;font-size:12px;font-weight:600;height:28px;justify-content:center;transition:all .15s;width:28px}.loc-dash .page-btn:hover{border-color:var(--primary);color:var(--primary)}.loc-dash .page-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.loc-dash .page-btn .material-icons{font-size:18px}.loc-dash .status-chip{align-items:center;border-radius:12px;display:inline-flex;font-size:11px;font-weight:600;gap:4px;letter-spacing:.2px;padding:3px 9px}.loc-dash .pe-card-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(3,1fr);padding:16px}@media (max-width:1400px){.loc-dash .pe-card-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:900px){.loc-dash .pe-card-grid{grid-template-columns:1fr}}.loc-dash .pe-card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius);overflow:hidden;transition:box-shadow .2s}.loc-dash .pe-card:hover{box-shadow:var(--shadow-md)}.loc-dash .pe-card.pe-oos{border-left:3px solid var(--danger)}.loc-dash .pe-card.pe-restock{border-left:3px solid var(--warning)}.loc-dash .pe-card.pe-healthy{border-left:3px solid var(--success)}.loc-dash .pe-card-header{background:var(--surface-alt);border-bottom:1px solid var(--border-light);cursor:pointer;padding:12px 14px;-webkit-user-select:none;user-select:none}.loc-dash .pe-card-header:hover{background:#f3f2ef}.loc-dash .pe-card-title-row{align-items:center;display:flex;gap:8px;margin-bottom:6px}.loc-dash .pe-card-title{color:var(--text-primary);font-size:13.5px;font-weight:700}.loc-dash .pe-card-category{color:var(--text-tertiary);font-size:11px}.loc-dash .pe-card-expand{color:var(--text-tertiary);font-size:20px;margin-left:auto;transition:transform .2s}.loc-dash .pe-card-expand.open{transform:rotate(90deg)}.loc-dash .pe-card-stats{align-items:center;display:flex;gap:10px}.loc-dash .pe-card-count{color:var(--text-secondary);font-family:var(--mono);font-size:13px;font-weight:600}.loc-dash .pe-card-count strong{color:var(--text-primary)}.loc-dash .pe-card-bar{background:var(--border-light);border-radius:3px;flex:1 1;height:6px;min-width:40px;overflow:hidden}.loc-dash .pe-card-bar-fill{border-radius:3px;height:100%}.loc-dash .pe-card-bar-fill.full{background:var(--success)}.loc-dash .pe-card-bar-fill.mid{background:var(--warning)}.loc-dash .pe-card-bar-fill.low{background:var(--danger)}.loc-dash .pe-card-body{padding:0}.loc-dash .pe-card-body.collapsed{display:none}.loc-dash .pe-sku-row{align-items:center;border-bottom:1px solid var(--border-light);display:flex;font-size:12.5px;padding:7px 14px;transition:background .1s}.loc-dash .pe-sku-row:last-child{border-bottom:none}.loc-dash .pe-sku-row:hover{background:#fafaf8}.loc-dash .pe-sku-row.sku-oos{background:#c6282808}.loc-dash .pe-sku-row.sku-oos:hover{background:#c628280f}.loc-dash .pe-sku-name{color:var(--primary);font-family:var(--mono);font-size:12px;font-weight:500}.loc-dash .pe-sku-count{color:var(--text-primary);font-family:var(--mono);font-size:12.5px;font-weight:600;margin-left:auto;min-width:28px;text-align:right}.loc-dash .pe-sku-count.oos{color:var(--danger)}.loc-dash .pe-sku-out{display:inline-flex;margin-left:8px}.loc-dash .pe-sku-actions{display:flex;gap:2px;margin-left:10px;opacity:0;transition:opacity .15s}.loc-dash .pe-sku-row:hover .pe-sku-actions{opacity:1}.loc-dash .pe-sku-actions .material-icons-outlined{border-radius:3px;color:var(--text-tertiary);cursor:pointer;font-size:16px;padding:3px}.loc-dash .pe-sku-actions .material-icons-outlined:hover{background:var(--border-light);color:var(--text-primary)}.loc-dash .toggle-group{align-items:center;background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:12px;font-weight:500;gap:6px;padding:5px 10px;transition:all .15s;-webkit-user-select:none;user-select:none}.loc-dash .toggle-group.active,.loc-dash .toggle-group:hover{border-color:var(--primary);color:var(--primary)}.loc-dash .toggle-group.active{background:var(--primary-lighter);font-weight:600}.loc-dash .toggle-group .material-icons-outlined{font-size:16px}.loc-dash .text-muted{color:var(--text-tertiary)}.loc-dash .text-mono{font-family:var(--mono)}.loc-dash .text-small{font-size:11px}.loc-dash .font-semibold{font-weight:600}.loc-dash .flex-center{align-items:center;display:flex}.loc-dash .gap-4{gap:4px}.loc-dash .gap-6{gap:6px}.loc-dash .gap-8{gap:8px}.loc-dash .ml-auto{margin-left:auto}.loc-dash .segmented{align-items:center;display:inline-flex;gap:4px;padding:0 4px}.loc-dash .segmented-label{color:var(--text-tertiary);font-size:11px;font-weight:600;letter-spacing:.6px;margin-right:4px;text-transform:uppercase}.loc-dash .segmented-btn{background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-family:var(--font);font-size:12px;font-weight:500;padding:5px 10px;transition:all .15s}.loc-dash .segmented-btn.active,.loc-dash .segmented-btn:hover{border-color:var(--primary);color:var(--primary)}.loc-dash .segmented-btn.active{background:var(--primary-lighter);font-weight:600}.loc-dash .category-sections{padding:8px 0 16px}.loc-dash .category-section{padding:0}.loc-dash .category-header{align-items:baseline;border-top:1px solid var(--border-light);display:flex;gap:8px;padding:16px 16px 8px}.loc-dash .category-section:first-child .category-header{border-top:none}.loc-dash .category-title{color:var(--text-primary);font-size:13px;font-weight:700;letter-spacing:-.1px}.loc-dash .category-count{color:var(--text-tertiary);font-size:11px;font-weight:500}.loc-dash .category-section .pe-card-grid{padding:8px 16px 16px}.loc-dash .device-card-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(3,1fr);padding:16px}@media (max-width:1400px){.loc-dash .device-card-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:900px){.loc-dash .device-card-grid{grid-template-columns:1fr}}.loc-dash .device-card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius);overflow:hidden;transition:box-shadow .2s}.loc-dash .device-card:hover{box-shadow:var(--shadow-md)}.loc-dash .device-card.freshness-fresh{border-left:3px solid var(--success)}.loc-dash .device-card.freshness-stale{border-left:3px solid var(--warning)}.loc-dash .device-card.freshness-offline{border-left:3px solid var(--danger)}.loc-dash .device-card.freshness-never{border-left:3px solid var(--border)}.loc-dash .device-card-header{background:var(--surface-alt);border-bottom:1px solid var(--border-light);padding:12px 14px}.loc-dash .device-card-title-row{align-items:center;display:flex;gap:8px;margin-bottom:4px}.loc-dash .device-card-id{color:var(--text-primary);font-family:var(--mono);font-size:12px;font-weight:600;word-break:break-all}.loc-dash a.device-card-id,.loc-dash a.device-id{text-decoration:none}.loc-dash a.device-card-id:hover,.loc-dash a.device-id:hover{color:var(--primary);text-decoration:underline}.loc-dash .device-card-label{color:var(--text-secondary);font-size:13px;font-weight:500;margin-bottom:6px}.loc-dash .device-card-meta{color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:11.5px;gap:12px}.loc-dash .device-card-diag{display:grid;grid-template-columns:repeat(3,1fr);padding:14px}.loc-dash .diag-stat{border-left:1px solid var(--border-light);display:flex;flex-direction:column;gap:2px;padding:0 10px}.loc-dash .diag-stat:first-child{border-left:none;padding-left:0}.loc-dash .diag-label{color:var(--text-tertiary);font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase}.loc-dash .diag-value{color:var(--text-primary);font-size:20px;font-weight:700;line-height:1.1}.loc-dash .diag-value.diag-value-text{font-size:13px;font-weight:600;text-transform:capitalize}.loc-dash .diag-value.diag-low{color:var(--danger)}.loc-dash .diag-sub{color:var(--text-tertiary);font-size:10.5px;text-transform:capitalize}.loc-dash .device-card-diag-empty{align-items:center;color:var(--text-tertiary);display:flex;font-size:12px;gap:8px;padding:14px}.loc-dash .device-card-diag-empty .material-icons-outlined{font-size:18px}.loc-dash .tab-placeholder{color:var(--text-tertiary);font-size:13px;padding:48px 24px;text-align:center}.loc-dash .data-table tr.wh-group-head td{background:var(--surface-alt);border-bottom:1px solid var(--border);padding:9px 14px}.loc-dash .data-table tr.wh-group-head:hover{background:var(--surface-alt)}.loc-dash .wh-group-head .wh-group-name{color:var(--text-primary);font-size:12.5px;font-weight:600}.loc-dash .wh-group-head.wh-unassigned .wh-group-name{color:var(--text-secondary);font-style:italic}.loc-dash .wh-group-head .wh-group-meta{color:var(--text-secondary);font-size:11.5px;margin-left:8px}.loc-dash .config-kit{border-top:1px solid var(--border-light);margin-top:16px;padding-top:14px}.eo-scope{--edge-brand-electric:#00dfd9;--edge-brand-dark:#002c54;--edge-primary:#006e8f;--edge-primary-hover:#005571;--edge-primary-900:#002c54;--edge-primary-tint-04:#006e8f0d;--edge-primary-tint-08:#006e8f1a;--edge-primary-tint-12:#006e8f24;--edge-primary-tint-50:#006e8f80;--edge-success:#357a3e;--edge-success-dark:#1f5526;--edge-success-bg:#edf5ee;--edge-warning:#c5641a;--edge-warning-dark:#98510f;--edge-warning-bg:#fbece0;--edge-error:#d32f2f;--edge-error-dark:#c62828;--edge-error-bg:#fbeaea;--edge-info:#4a6585;--edge-info-dark:#2c3e57;--edge-info-bg:#eef2f7;--edge-neutral:#616161;--edge-neutral-bg:#f5f5f5;--edge-text-primary:#000000de;--edge-text-secondary:#0009;--edge-text-disabled:#00000061;--edge-bg-default:#fafafa;--edge-bg-paper:#fff;--edge-bg-row-hover:#0000000a;--edge-divider:#0000001f;--edge-border-strong:#0000003b;--edge-table-cell:#e0e0e0;--edge-shadow-2:0 3px 1px -2px #0003,0 2px 2px 0 #00000024,0 1px 5px 0 #0000001f;--edge-shadow-3:0 3px 3px -2px #0003,0 3px 4px 0 #00000024,0 1px 8px 0 #0000001f;--edge-shadow-8:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f;--edge-font-sans:"Plus Jakarta Sans","Helvetica","Arial",system-ui,sans-serif;--edge-font-mono:"Roboto Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;color:var(--edge-text-primary);font-family:var(--edge-font-sans)}.eo-scope .ea-ico,.eo-scope .mi{font-feature-settings:"liga";-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;font-family:Material Icons;font-size:24px;font-style:normal;font-weight:400;letter-spacing:normal;line-height:1;text-transform:none;vertical-align:middle}.eo-scope .eo-page-head{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:22px}.eo-scope h1.eo-title{color:var(--edge-text-primary);font:700 26px/1.1 var(--edge-font-sans);letter-spacing:-.01em;margin:0 0 4px}.eo-scope .eo-sub{color:#0000008c;font:500 14px/1.4 var(--edge-font-sans);margin:0}.eo-scope .ea-btn{align-items:center;-webkit-appearance:none;appearance:none;background:#0000;border:0;border-radius:4px;cursor:pointer;display:inline-flex;font:600 .8125rem/1 var(--edge-font-sans);gap:6px;height:36px;justify-content:center;letter-spacing:.02em;padding:0 16px;text-transform:uppercase;transition:background .12s ease,box-shadow .12s ease;white-space:nowrap}.eo-scope .ea-btn.contained{background:var(--edge-primary);box-shadow:var(--edge-shadow-2);color:#fff}.eo-scope .ea-btn.contained:hover:not(:disabled){background:var(--edge-primary-hover);box-shadow:var(--edge-shadow-3)}.eo-scope .ea-btn.outlined{border:1px solid var(--edge-primary-tint-50);color:var(--edge-primary)}.eo-scope .ea-btn.outlined:hover:not(:disabled){background:var(--edge-primary-tint-04);border-color:var(--edge-primary)}.eo-scope .ea-btn.text{color:var(--edge-primary);padding:0 8px}.eo-scope .ea-btn.text:hover:not(:disabled){background:var(--edge-primary-tint-04)}.eo-scope .ea-btn.ghost{border:1px solid var(--edge-divider);color:var(--edge-text-secondary);font-weight:500;letter-spacing:0;text-transform:none}.eo-scope .ea-btn.ghost:hover:not(:disabled){background:var(--edge-primary-tint-04);border-color:var(--edge-primary-tint-50);color:var(--edge-primary)}.eo-scope .ea-btn.danger.outlined{border-color:#d32f2f80;color:var(--edge-error)}.eo-scope .ea-btn.danger.outlined:hover:not(:disabled){background:var(--edge-error-bg);border-color:var(--edge-error)}.eo-scope .ea-btn.danger.text{color:var(--edge-error)}.eo-scope .ea-btn.small{font-size:.75rem;height:30px;padding:0 10px}.eo-scope .ea-btn:disabled{background:#0000001f;border-color:#0000001f;box-shadow:none;color:#00000042;cursor:not-allowed}.eo-scope .ea-btn .ea-ico{font-size:18px}.eo-scope .ea-icon-btn{background:#0000;border:0;border-radius:4px;color:var(--edge-text-secondary);cursor:pointer;display:inline-grid;height:32px;place-items:center;width:32px}.eo-scope .ea-icon-btn:hover:not(:disabled){background:var(--edge-primary-tint-08);color:var(--edge-primary)}.eo-scope .ea-icon-btn .ea-ico,.eo-scope .ea-icon-btn .mi{font-size:18px}.eo-scope .ea-icon-btn:disabled{background:#0000;color:var(--edge-text-disabled);cursor:not-allowed}.eo-scope .ea-chip{align-items:center;background:#0000;border:1px solid;border-radius:9999px;display:inline-flex;font:600 12px/1 var(--edge-font-sans);gap:4px;height:24px;padding:0 10px;white-space:nowrap}.eo-scope .ea-chip.small{font-size:11px;height:20px;padding:0 8px}.eo-scope .ea-chip.success{color:var(--edge-success)}.eo-scope .ea-chip.warning{color:var(--edge-warning)}.eo-scope .ea-chip.error{color:var(--edge-error)}.eo-scope .ea-chip.info{color:var(--edge-info)}.eo-scope .ea-chip.default{color:var(--edge-neutral)}.eo-scope .ea-chip.primary{color:var(--edge-primary)}.eo-scope .ea-chip.filled{border-color:#0000}.eo-scope .ea-chip.filled.success{background:var(--edge-success-dark);color:#fff}.eo-scope .ea-chip.filled.warning{background:var(--edge-warning-dark);color:#fff}.eo-scope .ea-chip.filled.error{background:var(--edge-error-dark);color:#fff}.eo-scope .ea-chip.filled.info{background:var(--edge-info-dark);color:#fff}.eo-scope .ea-chip.filled.default{background:var(--edge-neutral);color:#fff}.eo-scope .ea-chip.filled.primary{background:var(--edge-primary-900);color:#fff}.eo-scope .ea-chip .ea-ico{font-size:14px}.eo-scope .ea-filter-bar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.eo-scope .ea-filter{align-items:center;background:var(--edge-bg-paper);border:1px solid var(--edge-border-strong);border-radius:4px;color:var(--edge-text-secondary);display:inline-flex;flex-shrink:0;font:400 13px/1 var(--edge-font-sans);gap:6px;height:36px;padding:0 12px;white-space:nowrap}.eo-scope button.ea-filter{cursor:pointer}.eo-scope .ea-filter input{background:#0000;border:0;color:var(--edge-text-primary);flex:1 1;font:inherit;min-width:0;outline:0}.eo-scope .ea-filter input::placeholder{color:var(--edge-text-disabled)}.eo-scope .ea-filter .ea-ico{color:var(--edge-text-secondary);font-size:18px}.eo-scope .ea-filter.wide{min-width:280px}.eo-scope .ea-filter.has-value{background:var(--edge-primary-tint-04);border-color:var(--edge-primary-tint-50);color:var(--edge-primary)}.eo-scope .ea-filter.has-value .ea-ico{color:var(--edge-primary)}.eo-scope .ea-filter .label-prefix{color:var(--edge-text-secondary)}.eo-scope .ea-filter.has-value .label-prefix{color:var(--edge-primary);opacity:.85}.eo-scope .ea-filter .clear{cursor:pointer}.eo-scope .ea-filter .clear:hover{color:var(--edge-error)}.eo-scope .ea-filter-bar .spacer{flex:1 1}.eo-scope .ea-filter-bar .results{color:var(--edge-text-secondary);font:400 12px/1 var(--edge-font-sans)}.eo-scope .ea-filter-bar .results strong{color:var(--edge-text-primary);font-weight:600}.eo-scope .ea-paper{background:var(--edge-bg-paper);border:1px solid var(--edge-divider);border-radius:4px;box-shadow:var(--edge-shadow-2)}.eo-scope .eo-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.eo-scope table.eo-table{border-collapse:collapse;width:100%}.eo-scope .eo-table th{border-bottom:1px solid var(--edge-table-cell);color:#0000008c;font:600 11.5px/1 var(--edge-font-sans);letter-spacing:.05em;padding:13px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.eo-scope .eo-table td{border-bottom:1px solid #efefef;color:var(--edge-text-primary);font:500 13.5px/1.4 var(--edge-font-sans);height:52px;padding:0 16px;vertical-align:middle}.eo-scope .eo-table tr:last-child td{border-bottom:none}.eo-scope .eo-table tbody tr:hover td{background:var(--edge-bg-row-hover)}.eo-scope .eo-table tr.eo-row-muted td{opacity:.6}.eo-scope .eo-table th .eo-sort{align-items:center;background:none;border:0;color:inherit;cursor:pointer;display:inline-flex;font:inherit;gap:3px;letter-spacing:inherit;padding:0;text-transform:inherit}.eo-scope .eo-table th .eo-sort:hover{color:var(--edge-text-primary)}.eo-scope .eo-table th .eo-sort:focus-visible{border-radius:2px;outline:2px solid var(--edge-primary);outline-offset:2px}.eo-scope .eo-table th .eo-sort.active{color:var(--edge-primary)}.eo-scope .eo-table th .eo-sort__ico{font-size:14px;line-height:1;opacity:0;transition:opacity .12s ease}.eo-scope .eo-table th .eo-sort:focus-visible .eo-sort__ico,.eo-scope .eo-table th .eo-sort:hover .eo-sort__ico{opacity:.55}.eo-scope .eo-table th .eo-sort.active .eo-sort__ico{opacity:1}.eo-scope .eo-hq-link{align-items:center;color:inherit;display:inline-flex;gap:2px;text-decoration:underline;-webkit-text-decoration-style:dotted;text-decoration-style:dotted;text-decoration-thickness:1px;text-underline-offset:2px}.eo-scope .eo-hq-link:hover{color:var(--edge-primary);-webkit-text-decoration-style:solid;text-decoration-style:solid}.eo-scope .eo-hq-link:focus-visible{border-radius:2px;outline:2px solid var(--edge-primary);outline-offset:2px}.eo-scope .eo-hq-link__ico{font-size:12px;line-height:1;text-decoration:none}.eo-scope .edge-link{background:none;border:0;color:var(--edge-primary);cursor:pointer;font:inherit;padding:0;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.eo-scope .edge-link:hover{text-decoration-thickness:2px}.eo-scope .edge-link:focus-visible{border-radius:2px;outline:2px solid var(--edge-primary);outline-offset:2px}.eo-scope .edge-link.with-arrow,.eo-scope .edge-link.with-arrow:hover{align-items:center;display:inline-flex;gap:4px;text-decoration:none}.eo-scope .edge-link__text{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.eo-scope .edge-link.with-arrow:hover .edge-link__text{text-decoration-thickness:2px}.eo-scope .edge-link__arrow{font-feature-settings:"liga";font-family:Material Icons;font-size:1.05em;line-height:1;text-decoration:none;transition:transform .14s ease}.eo-scope .edge-link.with-arrow:hover .edge-link__arrow{transform:translateX(2px)}.eo-scope .eo-callout{align-items:flex-start;border-radius:4px;color:#000000b3;display:flex;font:500 12.5px/1.45 var(--edge-font-sans);gap:8px;padding:10px 12px}.eo-scope .eo-callout.warning{background:var(--edge-warning-bg);border:1px solid #f0d3b8}.eo-scope .eo-callout.warning .ea-ico{color:var(--edge-warning-dark)}.eo-scope .eo-callout.error{background:var(--edge-error-bg);border:1px solid #c6282840}.eo-scope .eo-callout.error .ea-ico{color:var(--edge-error-dark)}.eo-scope .eo-callout.success{background:var(--edge-success-bg);border:1px solid #1f552640}.eo-scope .eo-callout.success .ea-ico{color:var(--edge-success-dark)}.eo-scope .eo-callout .ea-ico{flex:0 0 auto;font-size:18px}.eo-scope .eo-tabs{border-bottom:1px solid var(--edge-divider);display:flex;gap:4px}.eo-scope .eo-tab{align-items:center;background:none;border:0;border-bottom:2px solid #0000;color:#0000008c;cursor:pointer;display:inline-flex;font:600 14px/1 var(--edge-font-sans);gap:6px;padding:10px 16px}.eo-scope .eo-tab .ea-ico{font-size:18px}.eo-scope .eo-tab.active{border-bottom-color:var(--edge-primary);color:var(--edge-primary)}.eo-scope .eo-crumbs{align-items:center;color:#00000080;display:flex;font:500 13px/1 var(--edge-font-sans);gap:6px;margin-bottom:14px}.eo-scope .eo-crumbs .ea-ico{font-size:16px}.eo-scope .eo-line-gutter{box-sizing:border-box;flex:none;padding:16.5px 0;width:34px}.eo-scope .eo-line-gutter-inner{color:#00000061;font-family:var(--edge-font-mono);font-size:11px;height:100%;line-height:20px;overflow:hidden;padding-right:10px;text-align:right;-webkit-user-select:none;user-select:none}.eo-scope .mono{font-family:var(--edge-font-mono);font-size:12.5px;letter-spacing:.01em}.eo-scope .muted{color:#00000080}.eo-scope .ea-helper{color:var(--edge-text-secondary);font:400 12px/1.4 var(--edge-font-sans);margin:4px 2px 0}.eo-scope .eo-audit-label{color:#00000080;font:600 11px/1 var(--edge-font-sans);letter-spacing:.04em;margin-bottom:3px;text-transform:uppercase}.eo-scope .eo-section-head{align-items:center;border-bottom:1px solid var(--edge-divider);display:flex;gap:12px;justify-content:space-between;padding:14px 18px}.eo-scope .eo-section-title{font:600 15px/1.2 var(--edge-font-sans)}.eo-scope .eo-empty{padding:28px 16px;text-align:center}.eo-scope .eo-empty .ea-ico{color:var(--edge-text-disabled);font-size:36px}.eo-scope .eo-empty .msg{color:var(--edge-text-secondary);font:400 13px/1.4 var(--edge-font-sans);margin-top:6px}.eo-scope .eo-prose h2{color:var(--edge-text-primary);font:600 18px/1.3 var(--edge-font-sans);margin:24px 0 8px}.eo-scope .eo-prose h2:first-of-type{margin-top:0}.eo-scope .eo-prose p{color:#000000bf;font:400 15px/1.65 var(--edge-font-sans);margin:0 0 14px}.eo-scope .eo-prose pre{background:var(--edge-brand-dark);border-radius:6px;color:#cfeefc;font-family:var(--edge-font-mono);font-size:12.5px;line-height:1.6;margin:0 0 14px;overflow:auto;padding:14px 16px}
/*# sourceMappingURL=main.71548455.css.map*/