:root{font-family:Segoe UI Variable Display,Segoe UI,Inter,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color:#f8fafcf5;background:#10131a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg-base: #10131a;--bg-elevated: rgba(30, 34, 44, .78);--bg-soft: rgba(255, 255, 255, .04);--bg-strong: rgba(20, 23, 31, .88);--glass-fill: rgba(38, 39, 57, .18);--glass-fill-soft: rgba(255, 255, 255, .05);--glass-border: rgba(255, 255, 255, .12);--glass-border-strong: rgba(255, 255, 255, .18);--glass-shadow: 0 10px 22px rgba(0, 0, 0, .16);--glass-blur: 10px;--accent: #a8dfff;--accent-strong: #7cc8f2;--accent-soft: rgba(124, 200, 242, .14);--success: #78dcb0;--success-soft: rgba(120, 220, 176, .12);--warning: #edd38a;--warning-soft: rgba(237, 211, 138, .12);--danger: #f3a3ae;--danger-soft: rgba(243, 163, 174, .12);--text-primary: rgba(248, 250, 252, .97);--text-secondary: rgba(227, 233, 242, .78);--text-tertiary: rgba(206, 214, 226, .58);--radius-sm: 12px;--radius-md: 18px;--radius-lg: 26px;--space-1: .5rem;--space-2: .75rem;--space-3: 1rem;--space-4: 1.25rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 2.5rem}*{box-sizing:border-box}html,body,#app{min-height:100%}html{overflow-x:hidden}body{margin:0;min-width:320px;color:var(--text-primary);background:radial-gradient(circle at 18% 16%,rgba(56,92,156,.16),transparent 30%),radial-gradient(circle at 78% 24%,rgba(35,72,126,.2),transparent 34%),radial-gradient(circle at 50% 100%,rgba(24,40,76,.22),transparent 42%),linear-gradient(160deg,#0a1018,#0d1420 42%,#08111a);background-attachment:fixed}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,textarea,select{font:inherit}button{border:0;background:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid rgba(168,223,255,.62);outline-offset:3px}h1,h2,h3,h4,h5,h6{margin:0;color:var(--text-primary);font-weight:600;letter-spacing:-.02em}p{margin:0;color:var(--text-secondary)}small{color:var(--text-tertiary)}ul{margin:0;padding:0}#app{isolation:isolate}.glass-panel,.glass-card,.glass-pane,.modal-shell,.auth-shell,.info-shell{position:relative;overflow:hidden;background:var(--glass-fill);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.modal-shell,.auth-shell,.info-shell{backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}.glass-panel:before,.glass-card:before,.glass-pane:before,.modal-shell:before,.auth-shell:before,.info-shell:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(255,255,255,.05),transparent 26%);pointer-events:none}.glass-panel,.glass-card,.glass-pane,.info-shell{border-radius:var(--radius-md)}.glass-card,.sensor-detail-card,.metric-card,.detail-item,.meta-card,.planner-section{content-visibility:auto;contain-intrinsic-size:320px}.surface-grid{display:grid;gap:var(--space-5)}.view-shell{display:flex;flex-direction:column;gap:var(--space-5);min-width:0}.view-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-6);min-width:0}.view-header-copy{display:flex;flex-direction:column;gap:.55rem;min-width:0}.view-eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.7rem;color:var(--text-tertiary)}.view-title{font-size:clamp(1.85rem,2.7vw,2.7rem);line-height:1.02}.view-subtitle{max-width:60ch;font-size:.96rem;line-height:1.65}.section-title{font-size:1rem;text-transform:uppercase;letter-spacing:.12em;color:var(--text-tertiary)}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-4)}.metric-card{padding:var(--space-5)}.metric-label{display:block;margin-bottom:.7rem;font-size:.74rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.12em}.metric-value{font-size:clamp(1.5rem,2vw,2.1rem);color:var(--text-primary)}.metric-hint{margin-top:.65rem;font-size:.88rem}.glass-button,.glass-button-small,.glass-button-small-inline,.button-primary,.button-secondary,.button-danger,.button-ghost{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:40px;padding:.65rem .95rem;border-radius:10px;border:1px solid var(--glass-border);background:#ffffff14;color:var(--text-primary);cursor:pointer;transition:background-color .12s ease,border-color .12s ease;font-weight:600;letter-spacing:-.01em}.glass-button-small,.glass-button-small-inline{min-height:34px;padding:.5rem .75rem;font-size:.86rem}.glass-button-small-inline{min-height:30px;padding:.34rem .65rem}.glass-button:hover:not(:disabled),.glass-button-small:hover:not(:disabled),.glass-button-small-inline:hover:not(:disabled),.button-primary:hover:not(:disabled),.button-secondary:hover:not(:disabled),.button-danger:hover:not(:disabled),.button-ghost:hover:not(:disabled){background:#ffffff1c;border-color:var(--glass-border-strong)}.glass-button:disabled,.glass-button-small:disabled,.glass-button-small-inline:disabled,.button-primary:disabled,.button-secondary:disabled,.button-danger:disabled,.button-ghost:disabled{opacity:.48;cursor:not-allowed}.button-primary,.primary-btn,.accent-button,.session-start{background:#a8dfff1f;border-color:#a8dfff33}.button-secondary,.secondary-btn{background:#ffffff0f}.button-danger,.action-button.danger,.session-stop{background:#f3a3ae1a;border-color:#f3a3ae2e}.button-ghost,.session-pending{background:#ffffff09;color:var(--text-secondary)}input[type=text],input[type=password],input[type=email],input[type=number],textarea,select,.glass-input{width:100%;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#ffffff14;color:var(--text-primary);padding:.8rem .9rem;transition:border-color .12s ease,background-color .12s ease,box-shadow .12s ease}textarea{min-height:110px;resize:vertical}input::placeholder,textarea::placeholder{color:#e5ebf36b}input:focus,textarea:focus,select:focus,.glass-input:focus{border-color:#a8dfff3d;background:#ffffff1a;box-shadow:0 0 0 2px #a8dfff14;outline:none}input:disabled,textarea:disabled,select:disabled{opacity:.58;cursor:not-allowed}.form-stack{display:flex;flex-direction:column;gap:var(--space-4)}.form-group{display:flex;flex-direction:column;gap:.45rem}.form-label{font-size:.78rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.1em}.form-actions,.inline-actions{display:flex;flex-wrap:wrap;gap:.75rem;min-width:0}.form-actions.stack,.stack-actions{flex-direction:column}.help-text{color:var(--text-tertiary);font-size:.82rem}.error-message,.error-banner,.mini-error{padding:.8rem .95rem;border-radius:12px;background:var(--danger-soft);border:1px solid rgba(243,163,174,.16);color:#ffdfe4}.success-message,.success-banner{padding:.8rem .95rem;border-radius:12px;background:var(--success-soft);border:1px solid rgba(120,220,176,.16);color:#e4fff2}.warning-banner,.pending-warning{padding:.8rem .95rem;border-radius:12px;background:var(--warning-soft);border:1px solid rgba(237,211,138,.16);color:#fff0c4}.loading-message,.mini-loading,.no-data-message,.empty-copy,.loading-copy{color:var(--text-tertiary)}.status-indicator{width:10px;height:10px;border-radius:50%;flex-shrink:0}.status-indicator.ONLINE{background:#78dcb0;box-shadow:0 0 8px #78dcb057}.status-indicator.OFFLINE{background:#f3a3ae}.status-indicator.UNKNOWN{background:#d2dbe780}.data-table,.table-wrapper table,table{width:100%;border-collapse:collapse}.table-wrapper{width:100%;max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch}.data-table{min-width:720px}.data-table thead tr,.table-wrapper thead tr,thead tr{background:#ffffff0a}.data-table th,.data-table td,.table-wrapper th,.table-wrapper td,th,td{padding:.85rem;text-align:left;border-bottom:1px solid rgba(255,255,255,.08);vertical-align:top}.data-table th,.table-wrapper th,th{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary);font-weight:600}.data-table td,.table-wrapper td,td{color:var(--text-secondary)}.data-table tbody tr:hover,.table-wrapper tbody tr:hover,tbody tr:hover{background:#ffffff06}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:#0a0c1257;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.modal-shell,.modal-container{width:min(100%,640px);max-height:min(88vh,860px);overflow:auto;padding:1.4rem;border-radius:20px}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.2rem}.modal-header h2,.modal-header h3{font-size:1.3rem;line-height:1.15}.icon-button,.close-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:#ffffff14;color:var(--text-secondary);cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.icon-button:hover,.close-btn:hover{color:var(--text-primary);border-color:#ffffff24;background:#ffffff1f}.auth-page{min-height:calc(100vh - 200px);display:grid;place-items:center}.auth-shell{width:min(100%,480px);padding:clamp(1.4rem,3vw,2rem);border-radius:22px}.auth-hero{display:flex;flex-direction:column;gap:.7rem;margin-bottom:1.5rem}.auth-title{font-size:clamp(1.9rem,3vw,2.4rem);line-height:1.02}.auth-subtitle{line-height:1.65}.auth-links{display:flex;flex-direction:column;gap:.75rem;margin-top:1.1rem;text-align:center}.auth-links a{color:var(--accent)}.info-shell{max-width:980px;margin:0 auto;padding:clamp(1.4rem,3vw,2rem)}.content-stack{display:flex;flex-direction:column;gap:1.25rem}@media (max-width: 1024px){.view-header{flex-direction:column}}@media (max-width: 768px){:root{--space-5: 1.25rem;--space-6: 1.5rem}.modal-shell,.modal-container,.auth-shell,.info-shell{border-radius:18px}.form-actions,.inline-actions{flex-direction:column}.view-header{padding:var(--space-5)}.button-primary,.button-secondary,.button-danger,.button-ghost,.glass-button,.glass-button-small,.glass-button-small-inline{max-width:100%}}@media (max-width: 560px){.view-title{font-size:1.65rem}.view-subtitle{font-size:.92rem}.glass-panel,.glass-card,.glass-pane,.info-shell{border-radius:16px}.metric-grid{grid-template-columns:1fr}}.error-text[data-v-898e613c]{color:#ffd3da}.confirm-shell[data-v-3e3a9c10]{width:min(100%,480px)}.modal-body[data-v-3e3a9c10]{margin-bottom:1rem}.spaces-grid[data-v-905886d4]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.2rem}.space-card[data-v-905886d4],.create-space-card[data-v-905886d4]{padding:1.35rem;min-height:280px}.space-card[data-v-905886d4]{display:flex;flex-direction:column;gap:1.2rem}.space-card-top[data-v-905886d4],.space-card-footer[data-v-905886d4],.sensor-name-row[data-v-905886d4],.sensor-meta-row[data-v-905886d4]{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.space-card-top[data-v-905886d4]{align-items:flex-start}.space-card h2[data-v-905886d4]{font-size:1.35rem;margin-bottom:.45rem}.space-description[data-v-905886d4]{line-height:1.6}.sensor-pill[data-v-905886d4],.sensor-meta-row span[data-v-905886d4]{display:inline-flex;align-items:center;min-height:28px;padding:0 .7rem;border-radius:999px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);color:var(--text-secondary);font-size:.8rem}.sensor-preview-block[data-v-905886d4]{display:flex;flex-direction:column;gap:.8rem;padding-top:.25rem;border-top:1px solid rgba(255,255,255,.08)}.sensor-preview-item[data-v-905886d4]{padding:.9rem 1rem;border-radius:18px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06)}.sensor-preview-copy[data-v-905886d4]{display:flex;flex-direction:column;gap:.55rem}.sensor-name-row strong[data-v-905886d4]{font-size:.98rem}.sensor-meta-row[data-v-905886d4]{justify-content:flex-start;flex-wrap:wrap}.meta-warning[data-v-905886d4]{color:#ffe5a3!important}.space-card-footer[data-v-905886d4]{margin-top:auto}.space-card-actions[data-v-905886d4]{display:flex;align-items:center;gap:.6rem}.create-space-card[data-v-905886d4]{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:.85rem;cursor:pointer;border-style:dashed;color:var(--text-primary)}.create-space-icon[data-v-905886d4]{font-size:3rem;line-height:1;color:var(--accent)}.create-space-card strong[data-v-905886d4]{font-size:1.1rem;color:var(--text-primary)}.create-space-card span[data-v-905886d4]{color:#f4f8ffd6}.not-found-shell[data-v-835d9566]{text-align:center}.info-section[data-v-d94c3a4e]{padding:1.35rem}.contact-grid[data-v-d94c3a4e]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.contact-card[data-v-d94c3a4e]{padding:1rem;border-radius:20px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06)}.contact-card a[data-v-d94c3a4e]{color:var(--accent)}.error-text[data-v-dc3cbfd8]{color:#ffd3da}.preview-card[data-v-b4a4eccd]{padding:1rem;border-radius:20px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06)}.preview-card h3[data-v-b4a4eccd]{margin:.45rem 0}.error-text[data-v-b4a4eccd]{color:#ffd3da}.preview-card[data-v-307e908f]{padding:1rem;border-radius:20px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06)}.preview-card h3[data-v-307e908f]{margin:.4rem 0}.toggle-row[data-v-307e908f]{display:flex;align-items:center;gap:.7rem;color:var(--text-secondary)}.glass-checkbox[data-v-307e908f]{width:auto}.comparison-grid[data-v-307e908f]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.error-text[data-v-307e908f]{color:#ffd3da}@media (max-width: 720px){.comparison-grid[data-v-307e908f]{grid-template-columns:1fr}}.room-planner-shell[data-v-ef8e4596]{width:min(100%,1220px)}.planner-grid[data-v-ef8e4596]{display:grid;grid-template-columns:340px minmax(0,1fr);gap:1rem}.planner-sidebar[data-v-ef8e4596]{display:flex;flex-direction:column;gap:1rem}.planner-section[data-v-ef8e4596],.planner-canvas-section[data-v-ef8e4596]{padding:1rem}.section-heading[data-v-ef8e4596]{margin-bottom:.9rem}.section-heading h3[data-v-ef8e4596]{margin-top:.35rem}.section-copy[data-v-ef8e4596]{margin-top:.45rem;font-size:.86rem;line-height:1.5}.compact-stack[data-v-ef8e4596]{gap:.75rem}.inline-tool-row[data-v-ef8e4596],.toggle-group[data-v-ef8e4596]{display:flex;gap:.55rem;flex-wrap:wrap}.section-title-row[data-v-ef8e4596],.wall-editor-header[data-v-ef8e4596]{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.mini-label[data-v-ef8e4596]{display:block;margin-bottom:.35rem;color:var(--text-tertiary);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase}.segmented-control[data-v-ef8e4596],.mode-switch[data-v-ef8e4596]{display:inline-flex;padding:.18rem;border-radius:999px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08)}.segmented-control button[data-v-ef8e4596],.mode-switch button[data-v-ef8e4596]{min-height:30px;padding:0 .7rem;border-radius:999px;color:var(--text-tertiary);font-size:.86rem;font-weight:600}.segmented-control button.active[data-v-ef8e4596],.mode-switch button.active[data-v-ef8e4596]{color:var(--text-primary);background:#a8dfff29}.mode-section[data-v-ef8e4596]{padding:.85rem}.mode-section .mini-label[data-v-ef8e4596]{margin:0 0 .45rem}.mode-switch[data-v-ef8e4596]{display:flex;width:100%}.mode-switch button[data-v-ef8e4596]{flex:1}.toggle-chip[data-v-ef8e4596]{min-height:34px;padding:.45rem .7rem;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;color:var(--text-secondary)}.toggle-chip.active[data-v-ef8e4596]{background:#a8dfff24;border-color:#a8dfff38;color:var(--text-primary)}.field-block[data-v-ef8e4596]{margin-bottom:.9rem}.perimeter-list[data-v-ef8e4596],.region-list[data-v-ef8e4596],.sensor-list[data-v-ef8e4596]{display:flex;flex-direction:column;gap:.55rem;margin-top:.85rem;max-height:190px;overflow:auto}.perimeter-item[data-v-ef8e4596],.region-item[data-v-ef8e4596],.sensor-list-item[data-v-ef8e4596]{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.2rem .55rem;padding:.8rem .9rem;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:#ffffff0d;color:var(--text-primary);text-align:left}.perimeter-item[data-v-ef8e4596]{grid-template-columns:1fr auto}.perimeter-item span[data-v-ef8e4596]{grid-column:auto}.perimeter-item strong[data-v-ef8e4596]{color:var(--text-primary);font-size:.92rem}.perimeter-item span[data-v-ef8e4596],.sensor-list-item span[data-v-ef8e4596],.sensor-list-item small[data-v-ef8e4596],.region-item small[data-v-ef8e4596]{grid-column:1 / -1}.perimeter-item.active[data-v-ef8e4596],.region-item.active[data-v-ef8e4596],.sensor-list-item.active[data-v-ef8e4596]{border-color:#a8dfff33;background:#a8dfff1a}.region-swatch[data-v-ef8e4596]{width:12px;height:12px;border-radius:50%}.wall-length-editor[data-v-ef8e4596]{margin-top:.9rem;padding:.9rem;border-radius:18px;background:#ffffff0e;border:1px solid rgba(168,223,255,.14)}.alarm-editor[data-v-ef8e4596]{margin-top:.9rem;padding:.9rem;border-radius:18px;background:#ffffff0b;border:1px solid rgba(255,255,255,.09)}.alarm-grid[data-v-ef8e4596]{display:grid;grid-template-columns:.9fr 1.1fr;gap:.55rem;margin:.75rem 0 .55rem}.alarm-current-summary[data-v-ef8e4596]{display:grid;gap:.2rem;margin-top:.7rem;padding:.72rem .8rem;border-radius:14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.alarm-current-summary strong[data-v-ef8e4596]{font-size:.96rem;color:var(--text-primary)}.alarm-current-summary small[data-v-ef8e4596]{color:var(--text-secondary)}.alarm-status-message[data-v-ef8e4596]{margin:.65rem 0 0;font-size:.84rem}.alarm-status-message.success[data-v-ef8e4596]{color:#9ee3b0}.alarm-status-message.error[data-v-ef8e4596]{color:#ffb0b0}.wall-editor-header strong[data-v-ef8e4596]{display:block;font-size:1.02rem}.wall-actions[data-v-ef8e4596]{margin-top:.75rem}.danger-subtle[data-v-ef8e4596]:not(:disabled){color:var(--danger)}.length-input-row[data-v-ef8e4596]{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.55rem;align-items:center;margin-top:.65rem}.length-input-row input[data-v-ef8e4596]{min-height:42px}.length-input-row span[data-v-ef8e4596]{min-width:2rem;color:var(--text-secondary);font-weight:700}.canvas-header[data-v-ef8e4596]{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.canvas-header-actions[data-v-ef8e4596]{display:flex;align-items:flex-end;gap:.75rem}.canvas-toggle-chip[data-v-ef8e4596]{min-width:108px}.canvas-metrics[data-v-ef8e4596]{color:var(--text-tertiary);font-size:.9rem}.floor-plan[data-v-ef8e4596]{position:relative;min-height:560px;border-radius:20px;background:linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(180deg,rgba(255,255,255,.06) 1px,transparent 1px),#ffffff0b;background-size:44px 44px,44px 44px,auto;border:1px solid rgba(255,255,255,.1);overflow:hidden;cursor:crosshair;touch-action:none}.room-svg[data-v-ef8e4596]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.room-svg[data-v-ef8e4596]{pointer-events:auto}.room-fill[data-v-ef8e4596]{fill:#a8dfff12;pointer-events:none}.room-outline[data-v-ef8e4596]{fill:none;stroke:#e2f5ffd1;stroke-width:.65;vector-effect:non-scaling-stroke;pointer-events:none}.wall-hit-line[data-v-ef8e4596]{stroke:#a8dfff03;stroke-width:14;vector-effect:non-scaling-stroke;pointer-events:stroke;cursor:pointer}.wall-hit-line.selected[data-v-ef8e4596]{stroke:#a8dfff47;stroke-width:7}.sensor-region[data-v-ef8e4596]{stroke-width:.55;vector-effect:non-scaling-stroke;pointer-events:none}.sensor-region.selected[data-v-ef8e4596]{stroke-width:.95}.heat-region[data-v-ef8e4596]{pointer-events:none;transition:fill .18s ease,stroke .18s ease}.heat-region.alarming[data-v-ef8e4596]{stroke:#ff7070f2!important;stroke-width:1.4;filter:drop-shadow(0 0 10px rgba(255,96,96,.35))}.region-alarm-flag[data-v-ef8e4596]{position:absolute;z-index:6;transform:translate(-50%,calc(-50% - 1.6rem));padding:.22rem .55rem;border-radius:999px;background:#85141cd6;border:1px solid rgba(255,161,161,.4);color:#ffe5e5;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 10px 24px #50080d47}.region-value-chip[data-v-ef8e4596]{position:absolute;z-index:5;transform:translate(-50%,-50%);padding:.34rem .68rem;border-radius:999px;background:#10121bb8;border:1px solid rgba(196,210,233,.2);box-shadow:0 10px 30px #06080e3d;color:#f4f8fff5;font-size:.76rem;font-weight:700;line-height:1;letter-spacing:.01em;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);pointer-events:none;white-space:nowrap}.region-value-chip.alarming[data-v-ef8e4596]{border-color:#ffa0a066;box-shadow:0 12px 34px #580b1257}.timeline-control[data-v-ef8e4596]{position:absolute;z-index:4;top:1rem;left:50%;width:min(460px,calc(100% - 2rem));transform:translate(-50%);padding:.75rem .9rem;border-radius:18px;background:#0f121cad;border:1px solid rgba(255,255,255,.1);box-shadow:0 16px 44px #0000003d;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.timeline-header[data-v-ef8e4596]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.55rem}.timeline-header .mini-label[data-v-ef8e4596]{margin:0}.timeline-header strong[data-v-ef8e4596]{color:var(--text-secondary);font-size:.78rem;font-weight:700}.timeline-header[data-v-ef8e4596]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.45rem}.timeline-header strong[data-v-ef8e4596]{display:block;margin-top:.15rem}.timeline-control input[data-v-ef8e4596]{width:100%}.region-label[data-v-ef8e4596]{position:absolute;z-index:2;transform:translate(-50%,-50%);max-width:150px;padding:.25rem .55rem;border-radius:999px;background:#11131bb3;border:1px solid rgba(255,255,255,.1);color:var(--text-secondary);font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.region-label.selected[data-v-ef8e4596]{color:var(--text-primary);border-color:#a8dfff5c}.wall-point[data-v-ef8e4596],.region-point[data-v-ef8e4596]{position:absolute;z-index:5;width:30px;height:30px;border-radius:999px;transform:translate(-50%,-50%);display:grid;place-items:center;color:var(--text-primary);background:#10141de6;border:1px solid rgba(168,223,255,.35);box-shadow:0 8px 18px #0003;cursor:grab}.region-point[data-v-ef8e4596]{z-index:6;width:24px;height:24px;background:#7cc8f247}.wall-point.active[data-v-ef8e4596],.wall-point[data-v-ef8e4596]:active,.region-point[data-v-ef8e4596]:active{background:#7cc8f240;cursor:grabbing}.sensor-marker[data-v-ef8e4596]{position:absolute;z-index:7;transform:translate(-50%,-50%);width:30px;height:30px;display:grid;place-items:center;cursor:grab}.sensor-marker[data-v-ef8e4596]:active{cursor:grabbing}.sensor-dot[data-v-ef8e4596]{position:relative;z-index:2;width:12px;height:12px;border-radius:50%;background:#fffffff2;box-shadow:0 0 0 4px #a8dfff1f}.sensor-label[data-v-ef8e4596]{position:relative;z-index:2;padding:.2rem .45rem;border-radius:999px;background:#11131bb8;color:var(--text-primary);font-size:.78rem;white-space:nowrap}.sensor-label[data-v-ef8e4596]{position:absolute;left:calc(100% + .45rem);top:50%;transform:translateY(-50%);white-space:nowrap}.sensor-marker.selected .sensor-dot[data-v-ef8e4596]{box-shadow:0 0 0 6px #a8dfff33}.sensor-marker.outside .sensor-dot[data-v-ef8e4596]{background:var(--danger)}.canvas-help[data-v-ef8e4596]{padding:.85rem .2rem 0}@media (max-width: 1080px){.planner-grid[data-v-ef8e4596]{grid-template-columns:1fr}}.alarm-panel[data-v-bfa0ee1d]{margin-bottom:1rem;padding:1rem 1.1rem}.alarm-panel-header[data-v-bfa0ee1d]{display:flex;align-items:center;justify-content:space-between;gap:.9rem;margin-bottom:.8rem}.alarm-panel-header h3[data-v-bfa0ee1d]{margin-top:.3rem}.alarm-list[data-v-bfa0ee1d]{display:flex;flex-direction:column;gap:.65rem}.alarm-item[data-v-bfa0ee1d]{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border-radius:16px;border:1px solid rgba(255,129,129,.18);background:#65181e2e}.alarm-item p[data-v-bfa0ee1d]{margin:.28rem 0;color:var(--text-secondary)}.alarm-item small[data-v-bfa0ee1d]{color:var(--text-tertiary)}.sensors-grid[data-v-bfa0ee1d]{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:1rem}.sensor-detail-card[data-v-bfa0ee1d],.empty-state-card[data-v-bfa0ee1d]{padding:1.15rem}.sensor-detail-card[data-v-bfa0ee1d]{display:flex;flex-direction:column;gap:.85rem}.sensor-card-header[data-v-bfa0ee1d],.section-header-row[data-v-bfa0ee1d],.sensor-card-actions[data-v-bfa0ee1d],.mini-panel-header[data-v-bfa0ee1d]{display:flex;align-items:center;justify-content:space-between;gap:.9rem}.sensor-card-header[data-v-bfa0ee1d]{align-items:flex-start}.sensor-card-header h3[data-v-bfa0ee1d]{font-size:1.2rem;margin-bottom:.25rem}.device-id[data-v-bfa0ee1d]{color:var(--text-tertiary)}.sensor-section[data-v-bfa0ee1d]{padding:.9rem;border-radius:16px;background:#ffffff07;border:1px solid rgba(255,255,255,.05)}.sensor-section h4[data-v-bfa0ee1d]{font-size:.98rem;margin-bottom:.8rem}.sensor-meta-grid[data-v-bfa0ee1d]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.meta-cell[data-v-bfa0ee1d]{display:flex;flex-direction:column;gap:.25rem;padding:.8rem;border-radius:14px;background:#ffffff06}.meta-label[data-v-bfa0ee1d],.config-badge[data-v-bfa0ee1d]{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.meta-label[data-v-bfa0ee1d]{color:var(--text-tertiary)}.config-badge[data-v-bfa0ee1d]{color:#ffe39d}.config-controls[data-v-bfa0ee1d],.sensor-card-actions[data-v-bfa0ee1d]{margin-top:.85rem}.compact-data-panel[data-v-bfa0ee1d]{min-height:250px}.mini-panel-header small[data-v-bfa0ee1d]{color:var(--text-tertiary)}.data-panel[data-v-bfa0ee1d]{display:flex;flex-direction:column;gap:.55rem}.current-reading[data-v-bfa0ee1d]{display:flex;align-items:baseline;justify-content:space-between;gap:.8rem}.current-reading strong[data-v-bfa0ee1d]{color:var(--text-primary)}.sensor-chart[data-v-bfa0ee1d]{height:150px;margin-top:.2rem}.empty-state-card[data-v-bfa0ee1d]{display:flex;flex-direction:column;gap:.9rem;align-items:flex-start}@media (max-width: 900px){.sensor-meta-grid[data-v-bfa0ee1d]{grid-template-columns:1fr}}.info-section[data-v-c4a3affa]{padding:1.35rem}.feature-grid[data-v-c4a3affa]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.feature-grid article[data-v-c4a3affa]{padding:1rem;border-radius:20px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06)}.feature-grid h3[data-v-c4a3affa]{margin-bottom:.5rem}.auth-shell-wide[data-v-c0672387]{width:min(100%,920px)}.forgot-grid[data-v-c0672387]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}.forgot-card[data-v-c0672387]{padding:1.35rem;border-radius:24px}.card-heading[data-v-c0672387]{display:flex;flex-direction:column;gap:.55rem;margin-bottom:1.1rem}.card-heading h2[data-v-c0672387]{font-size:1.2rem}@media (max-width: 860px){.forgot-grid[data-v-c0672387]{grid-template-columns:1fr}}.admin-grid[data-v-584f632d]{display:grid;grid-template-columns:1.15fr 1fr;gap:1.2rem}.section-panel[data-v-584f632d]{padding:1.35rem;min-width:0}.panel-heading[data-v-584f632d]{display:flex;align-items:center;justify-content:space-between;gap:.85rem;margin-bottom:1rem;min-width:0;flex-wrap:wrap}.actions-cell[data-v-584f632d],.detail-actions-inline[data-v-584f632d],.owner-transfer[data-v-584f632d]{display:flex;flex-wrap:wrap;gap:.65rem}.detail-panel[data-v-584f632d]{min-height:620px}.detail-content[data-v-584f632d]{display:flex;flex-direction:column;gap:1rem;min-width:0}.detail-meta[data-v-584f632d]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.meta-card[data-v-584f632d],.detail-item[data-v-584f632d]{padding:1rem;border-radius:20px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06)}.detail-block[data-v-584f632d]{display:flex;flex-direction:column;gap:.8rem}.detail-item[data-v-584f632d]{display:flex;justify-content:space-between;gap:1rem;align-items:center}.detail-item.stacked[data-v-584f632d]{flex-direction:column;align-items:stretch}.detail-item-head[data-v-584f632d]{display:flex;justify-content:space-between;gap:1rem}.sensor-stats[data-v-584f632d]{display:flex;flex-wrap:wrap;gap:.9rem;color:var(--text-secondary)}.reading-list ul[data-v-584f632d]{padding-left:1rem;overflow-wrap:anywhere}.owner-transfer select[data-v-584f632d]{min-width:160px}@media (max-width: 1200px){.admin-grid[data-v-584f632d]{grid-template-columns:1fr}}@media (max-width: 820px){.section-panel[data-v-584f632d]{padding:1rem}.detail-meta[data-v-584f632d]{grid-template-columns:1fr}.detail-item[data-v-584f632d],.detail-item-head[data-v-584f632d],.actions-cell[data-v-584f632d],.detail-actions-inline[data-v-584f632d],.owner-transfer[data-v-584f632d]{flex-direction:column;align-items:stretch}}:root{--sidebar-width: 256px;--sidebar-collapsed-width: 84px;--header-height: 76px;--footer-height: 56px;--layout-transition: .24s ease}#app-container{display:flex;min-height:100vh;max-width:100vw;overflow-x:clip}.sidebar{position:fixed;inset:0 auto 0 0;z-index:20;width:var(--sidebar-width);display:flex;flex-direction:column;padding:.9rem .85rem .85rem;border-right:1px solid rgba(255,255,255,.08);background:#1c202aa8;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:width var(--layout-transition),transform var(--layout-transition)}.sidebar.collapsed{width:var(--sidebar-collapsed-width)}.sidebar-header{padding:.35rem .2rem 1.2rem}.brand-link{display:flex;align-items:center;gap:.8rem;min-height:58px}.brand-mark{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);color:var(--accent);box-shadow:none}.brand-mark svg{width:24px;height:24px}.brand-mark-img{width:28px;height:28px;object-fit:contain}.brand-copy{display:flex;flex-direction:column;gap:.15rem}.brand-name{font-size:1.1rem;font-weight:700;color:var(--text-primary)}.brand-caption{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary)}.sidebar-nav{flex:1}.sidebar-nav ul{display:flex;flex-direction:column;gap:.4rem;list-style:none}.sidebar-nav a{display:flex;align-items:center;gap:.9rem;min-height:46px;padding:0 1rem;border-radius:14px;color:var(--text-secondary);transition:background-color .18s ease,color .18s ease,border-color .18s ease;border:1px solid transparent}.sidebar.collapsed .sidebar-nav a{justify-content:center;padding:0}.sidebar-nav a:hover{color:var(--text-primary);background:#ffffff0f;border-color:#ffffff0f}.sidebar-nav a.router-link-exact-active{color:var(--text-primary);background:#a8dfff1a;border-color:#a8dfff29}.nav-icon{width:20px;height:20px;flex-shrink:0}.nav-text{font-weight:500}.sidebar.collapsed .brand-copy,.sidebar.collapsed .nav-text{display:none}.page-layout-wrapper{flex:1;min-width:0;min-height:100vh;margin-left:var(--sidebar-width);display:flex;flex-direction:column;transition:margin-left var(--layout-transition)}.page-layout-wrapper.sidebar-collapsed{margin-left:var(--sidebar-collapsed-width)}.app-header{position:sticky;top:0;z-index:10;height:var(--header-height);margin:.85rem .85rem 0;padding:.9rem 1rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;border-radius:16px;background:#1c202a9e;border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 12px 30px #0000002e}.header-left,.header-right,.header-logo-container{display:flex;align-items:center;min-width:0}.header-left,.header-right{gap:.8rem;flex-wrap:wrap}.header-logo-container{gap:.85rem;min-width:0}.header-sidebar-toggle svg{width:18px;height:18px}.header-logo-img{width:38px;height:38px;object-fit:contain}.header-copy{display:flex;flex-direction:column;gap:.1rem;min-width:0}.header-eyebrow{font-size:.68rem;text-transform:uppercase;letter-spacing:.16em;color:var(--text-tertiary)}.company-name{color:var(--text-primary);font-size:1rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-pill{display:inline-flex;align-items:center;gap:.55rem;min-height:36px;padding:0 .8rem;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:#ffffff14;color:var(--text-secondary)}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 12px #68f0b0b3}.page-content{flex:1;min-width:0;padding:1rem .85rem .85rem;overflow-x:hidden}.app-footer{height:var(--footer-height);margin:0 .85rem .85rem;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);font-size:.85rem}.fade-enter-active,.fade-leave-active{transition:opacity .2s ease,transform .2s ease}.fade-enter-from,.fade-leave-to{opacity:0;transform:translateY(6px)}@media (max-width: 960px){.sidebar{width:var(--sidebar-collapsed-width)}.sidebar .brand-copy,.sidebar .nav-text{display:none}.sidebar-nav a{justify-content:center;padding:0}.page-layout-wrapper{margin-left:var(--sidebar-collapsed-width)}}@media (max-width: 768px){:root{--header-height: auto}.app-header{height:auto;padding:1rem;flex-direction:column;align-items:stretch}.header-left,.header-right{justify-content:space-between}.header-copy{gap:0}.status-pill{display:none}}@media (max-width: 560px){.app-header{margin:.6rem .6rem 0;padding:.85rem}.page-content{padding:.75rem .6rem .6rem}.app-footer{margin:0 .6rem .6rem;text-align:center;padding:0 .5rem}.header-eyebrow{display:none}.company-name{font-size:.95rem}.header-right{width:100%}.header-right>*{flex:1 1 auto}}
