:root{--brand: #0891b2;--brand-dark: #077a95;--brand-soft: rgba(8, 145, 178, .1);--ink: #0f172a;--muted: #64748b;--line: #e2e8f0;--bg: #ffffff;--soft: #f5f9fa;--card: rgba(255, 255, 255, .82);--radius: 18px;--radius-lg: 28px;--shadow-soft: 0 22px 70px rgba(15, 23, 42, .08)}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:radial-gradient(circle at 14% 16%,rgba(8,145,178,.12),transparent 34%),linear-gradient(135deg,#f8fbfc,#fff 52%,#eef8fa);color:var(--ink)}.auth-split{min-height:100vh;display:grid;grid-template-columns:minmax(390px,440px) 1fr;background:radial-gradient(circle at 42% 24%,rgba(8,145,178,.08),transparent 28%),radial-gradient(circle at 92% 86%,rgba(14,165,233,.12),transparent 30%)}.auth-left{background:linear-gradient(180deg,#ffffffeb,#f8fafcd6);border-right:1px solid rgba(226,232,240,.72);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);display:flex;flex-direction:column;position:relative;z-index:2}.auth-left-top{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid rgba(226,232,240,.66)}.auth-logo img{height:50px;width:auto;object-fit:contain}.auth-header-actions{display:inline-flex;align-items:center;gap:10px}.lang{position:relative}.lang-btn{display:flex;align-items:center;gap:8px;border:1px solid rgba(8,145,178,.16);background:#ffffffb8;color:var(--muted);border-radius:999px;padding:8px 10px;font-weight:900;cursor:pointer;line-height:1;box-shadow:0 10px 26px #0f172a0d;transition:border-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}.lang-btn:hover{border-color:#0891b24d;color:var(--ink);transform:translateY(-1px);box-shadow:0 16px 36px #0f172a14}.lang-btn:focus{outline:none;box-shadow:0 0 0 4px #0891b21a;border-color:#0891b28c}.lang-pill{display:inline-flex;align-items:center;justify-content:center;height:26px;padding:0 10px;border-radius:999px;background:var(--brand-soft);color:var(--brand-dark);font-weight:950;letter-spacing:.2px}.chev{opacity:.7}.lang-menu{position:absolute;right:0;top:46px;min-width:170px;border:1px solid var(--line);background:#fffffff0;border-radius:var(--radius);box-shadow:0 18px 50px #0f172a1a;padding:6px;display:none;z-index:50}.lang-menu.open{display:block}.lang-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;border:0;background:transparent;padding:10px;border-radius:12px;color:var(--ink);font-weight:900;cursor:pointer}.lang-item:hover{background:#0891b21a}.lang-item.active{background:#0891b224}.tag{font-size:12px;font-weight:950;color:var(--muted);border:1px solid rgba(8,145,178,.14);background:#0891b20f;padding:4px 8px;border-radius:999px}.auth-left-body{padding:48px 30px 24px;display:flex;flex-direction:column;gap:14px}.auth-h1{margin:10px 0 0;font-size:clamp(30px,4vw,38px);line-height:1.04;letter-spacing:-.9px}.auth-sub{margin:0 0 16px;color:var(--muted);line-height:1.55;max-width:32rem}.login-session-loading{margin:0 0 12px;font-size:13px;color:var(--muted)}.login-session-banner{margin:0 0 18px;padding:16px 18px;border-radius:var(--radius);border:1px solid rgba(8,145,178,.22);background:linear-gradient(135deg,#0891b217,#ffffffad);box-shadow:0 16px 42px #0f172a0d}.login-session-banner-title{margin:0 0 6px;font-size:14px;font-weight:800;color:var(--ink)}.login-session-banner-email{margin:0 0 8px;font-size:13px;color:var(--ink);word-break:break-all}.login-session-banner-hint{margin:0 0 12px;font-size:12px;line-height:1.45;color:var(--muted)}.login-session-banner-actions{display:flex;flex-direction:column;gap:8px}.login-session-btn-primary{margin-top:0}.login-session-btn-secondary{width:100%;justify-content:center;text-align:center}.form{display:flex;flex-direction:column;gap:14px}.label{display:block;margin:0 0 6px;color:var(--muted);font-size:13px;font-weight:900}.row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.input{width:100%;padding:13px 14px;border-radius:16px;border:1px solid rgba(203,213,225,.88);background:#ffffffc2;outline:none;color:var(--ink);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.input:focus{border-color:#0891b28c;box-shadow:0 0 0 4px #0891b21f;background:var(--bg)}.link{color:var(--brand-dark);text-decoration:none;font-weight:900;font-size:13px}.link:hover{text-decoration:underline}.btn{width:100%;margin-top:8px;padding:13px 16px;border-radius:999px;border:0;background:linear-gradient(135deg,#0891b2,#06b6d4);color:#fff;font-weight:950;cursor:pointer;box-shadow:0 18px 38px #0891b238;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 22px 46px #0891b247;filter:saturate(1.05)}.btn:disabled{opacity:.65;cursor:not-allowed}.msg{min-height:18px;margin:0;text-align:left;font-size:13px;color:#ef4444}.note{margin-top:2px;color:var(--muted);font-size:13px}.auth-left-foot{margin-top:auto;padding:18px 28px;border-top:1px solid rgba(226,232,240,.72);color:var(--muted);font-size:13px;display:flex;align-items:center;gap:8px}.shield{opacity:.75}.auth-right{position:relative;overflow:hidden;background:radial-gradient(circle at 24% 24%,rgba(8,145,178,.2),transparent 30%),linear-gradient(135deg,#0891b229,#0f172a1a)}.auth-right-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(1.02) contrast(.98);transform:scale(1.015)}.auth-right-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.18),transparent 48%),linear-gradient(180deg,#0f172a14,#0f172a38)}.auth-right-content{position:relative;height:100%;width:100%}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;padding:18px;z-index:9999}.modal-card{width:min(520px,92vw);background:#fffffff5;border:1px solid rgba(226,232,240,.84);border-radius:24px;padding:22px;box-shadow:0 24px 80px #0f172a24}.modal-card h3{margin:0 0 8px}.modal-card p{margin:0 0 12px;color:var(--muted)}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:12px}.btn-ghost{padding:10px 12px;border-radius:999px;border:1px solid rgba(203,213,225,.9);background:#ffffffb8;color:var(--ink);cursor:pointer;font-weight:900}.btn-ghost:hover{border-color:#0891b259}.btn-small{padding:10px 12px;border-radius:999px;border:0;background:linear-gradient(135deg,#0891b2,#06b6d4);color:#fff;cursor:pointer;font-weight:950}.btn-small:hover{background:var(--brand-dark)}.auth-recovery-icon{width:56px;height:56px;border-radius:18px;background:linear-gradient(135deg,#0891b221,#0ea5e917);color:var(--brand);display:flex;align-items:center;justify-content:center;margin-bottom:12px}.auth-recovery-icon .material-symbols-outlined{font-size:28px}.auth-recovery-icon.modal-icon{margin:0 auto 12px}.modal-card--recover{max-width:420px}.modal-card--recover h3{text-align:center}.modal-desc{color:var(--muted);font-size:14px;margin:0 0 14px;line-height:1.45}.modal-success-title{font-weight:800;color:var(--ink);margin:0 0 6px;font-size:1.1rem}.modal-success-detail{color:var(--muted);font-size:14px;margin:0 0 18px;line-height:1.45}.auth-msg{margin:12px 0 0;font-size:14px;color:var(--muted)}.auth-msg--success{color:var(--brand-dark);font-weight:600}:root[data-theme=dark] body{background:#0b1220}:root[data-theme=dark] .auth-split{background:radial-gradient(circle at 18% 18%,rgba(34,196,230,.12),transparent 32%),linear-gradient(135deg,#0b1220,#0f172a)}:root[data-theme=dark] .auth-left{background:#0b1220eb!important;border-color:#1e2a3d!important;box-shadow:0 22px 70px #0206177a}:root[data-theme=dark] .auth-left-top,:root[data-theme=dark] .auth-left-foot{background:transparent!important;border-color:#1e2a3d!important}:root[data-theme=dark] .lang-btn,:root[data-theme=dark] .btn-ghost{background:#0f172ad1;border-color:#1e2a3d;color:#94a3b8}:root[data-theme=dark] .lang-pill,:root[data-theme=dark] .tag{background:#22c4e61f;border-color:#22c4e633;color:#22c4e6}:root[data-theme=dark] .login-session-banner{background:linear-gradient(135deg,#22c4e61f,#0f172ab8);border-color:#22c4e638}:root[data-theme=dark] .login-session-banner-title,:root[data-theme=dark] .login-session-banner-email,:root[data-theme=dark] .auth-h1{color:#e2e8f0}:root[data-theme=dark] .auth-sub,:root[data-theme=dark] .login-session-banner-hint,:root[data-theme=dark] .note,:root[data-theme=dark] .label{color:#94a3b8}:root[data-theme=dark] .input{background:#0f172ae0;border-color:#1e2a3d;color:#e2e8f0}:root[data-theme=dark] .input:focus{background:#15233a}:root[data-theme=dark] .modal-card{background:#11192a;border-color:#1e2a3d}@media(max-width:900px){.auth-split{grid-template-columns:1fr}.auth-right{display:none}.auth-left{border-right:0;min-height:100vh}.auth-left-body{padding:42px 24px 24px}}:root{--d-primary: #0891B2;--d-primary-dark: #0e7490;--d-ink: #0f172a;--d-muted: #64748b;--d-line: #e2e8f0;--d-bg: #f8fafc;--d-panel: #ffffff;--d-bg-soft: #f1f5f9;--d-border: #e2e8f0;--d-text: #0f172a;--d-fg: #0f172a;--d-ok: #16a34a;--d-warn: #d97706;--d-danger: #dc2626;--d-info: #0891B2;--d-radius: 12px;--d-radius-lg: 16px;--d-shadow-card: 0 10px 28px rgba(15, 23, 42, .06);--d-shadow-card-hover: 0 16px 40px rgba(15, 23, 42, .1);--d-card-border: rgba(8, 145, 178, .14);--d-ease: cubic-bezier(.23, 1, .32, 1);--d-duration-press: .15s;--d-duration-ui: .16s;--d-fs-min: .8125rem;--d-fs-label: .8125rem;--d-fs-small: .875rem;--d-fs-body: .9rem;--d-fs-title: 1.05rem;--d-fs-kpi: 1.35rem}.app{display:flex;min-height:100vh;min-height:100dvh;height:100vh;height:100dvh;overflow:hidden;font-family:Inter,Avenir Next,Segoe UI,system-ui,sans-serif;background:var(--d-bg);color:var(--d-ink);-webkit-font-smoothing:antialiased}.dash-sidebar{width:256px;min-width:256px;border-right:1px solid var(--d-line);background:var(--d-panel);display:flex;flex-direction:column}.dash-sidebar-brand{padding:1.5rem;display:flex;align-items:center;gap:.75rem}.dash-sidebar-brand-icon{width:32px;height:32px;border-radius:8px;background:var(--d-primary);display:flex;align-items:center;justify-content:center;color:#fff}.dash-sidebar-brand-icon .material-symbols-outlined{font-size:20px}.dash-sidebar-brand-logo{height:44px;width:auto;max-width:100%;object-fit:contain;object-position:left center}.dash-sidebar-brand-logo--wordmark{height:34px;max-width:208px}.dash-sidebar-brand-fallback{display:none}.dash-sidebar-brand-text{margin:0}.dash-sidebar-brand h1,.dash-sidebar-brand-text{font-size:1.15rem;font-weight:700;letter-spacing:-.02em;margin:0}.dash-sidebar-nav{flex:1;padding:0 1rem;display:flex;flex-direction:column;gap:2px}.dash-sidebar-bottom{margin-top:auto;padding:0 1rem .75rem;display:flex;flex-direction:column;justify-content:flex-end}.dash-nav-item{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;border:none;background:transparent;border-radius:var(--d-radius);color:var(--d-muted);font-size:var(--d-fs-body);font-weight:500;cursor:pointer;width:100%;text-align:left;text-decoration:none;transition:background-color .16s ease,color .16s ease,transform .14s var(--d-ease)}.dash-nav-item:hover{background:#0891b214;color:var(--d-primary)}.dash-nav-item:active{transform:scale(.96)}.dash-nav-item.active{background:#0891b21f;color:var(--d-primary);font-weight:600}.dash-nav-item .material-symbols-outlined{font-size:22px}.dash-sidebar-section{margin-top:0;padding:.6rem 0;border-top:1px solid var(--d-line);display:flex;flex-direction:column;gap:.35rem}.dash-sidebar-section-label{display:flex;align-items:center;gap:.35rem;font-size:.7rem;font-weight:700;color:var(--d-muted);text-transform:uppercase;letter-spacing:.04em;margin:0}.dash-sidebar-section-label .material-symbols-outlined{font-size:16px;opacity:.9}.dash-sidebar-section-select{padding:.45rem 2rem .45rem .6rem;font-size:.85rem;font-weight:600;color:var(--d-ink);background:var(--d-bg);border:1px solid var(--d-line);border-radius:6px;cursor:pointer;width:100%;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.dash-sidebar-section-select:hover,.dash-sidebar-section-select:focus{border-color:var(--d-primary);outline:none}.dash-sidebar-section-dropdown{position:relative}.dash-sidebar-section-dropdown--map{flex:1;min-width:0}.dash-sidebar-section-trigger{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.dash-sidebar-section-chevron{font-size:18px;opacity:.8}.dash-sidebar-section-menu{position:absolute;left:0;right:0;bottom:calc(100% + .4rem);display:flex;flex-direction:column;gap:.2rem;padding:.35rem;background:var(--d-panel);border:1px solid var(--d-line);border-radius:8px;box-shadow:0 8px 24px #0f172a29;z-index:20}.dash-sidebar-section-option{width:100%;padding:.45rem .6rem;border:none;background:transparent;border-radius:6px;color:var(--d-ink);font-size:.85rem;font-weight:600;text-align:left;cursor:pointer;transition:background .15s,color .15s}.dash-sidebar-section-option:hover{background:#0891b214;color:var(--d-primary)}.dash-sidebar-section-option.active{background:#0891b21f;color:var(--d-primary)}.dash-sidebar-section-option--accent{color:var(--d-primary)}.dash-sidebar-section-option--accent:hover{background:#0891b21a}.dash-sidebar-section-btn{text-align:left;min-height:2.25rem}.dash-sidebar-section-row{display:flex;align-items:center;gap:.4rem}.dash-sidebar-section-row .dash-sidebar-section-select{flex:1;min-width:0}.dash-sidebar-section-delete{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;color:#b91c1c;background:transparent;border:1px solid rgba(185,28,28,.35);border-radius:6px;cursor:pointer;transition:background .15s,border-color .15s,opacity .15s;opacity:.85}.dash-sidebar-section-delete:hover:not(:disabled){background:#b91c1c14;border-color:#b91c1c;opacity:1}.dash-sidebar-section-delete:disabled{opacity:.5;cursor:not-allowed}.dash-sidebar-section-delete .material-symbols-outlined{font-size:18px}.dash-sidebar-section-new{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--d-line)}.dash-sidebar-section-input{width:100%;padding:.45rem .6rem;font-size:.85rem;border:1px solid var(--d-line);border-radius:6px;background:var(--d-bg);color:var(--d-ink);margin-bottom:.4rem}.dash-sidebar-section-input:focus{outline:none;border-color:var(--d-primary)}.dash-sidebar-section-actions{display:flex;gap:.4rem}.dash-sidebar-section-msg{margin:.35rem 0 0;font-size:.75rem}.dash-sidebar-section-msg--error{color:#b91c1c}.dash-sidebar-section-msg--success{color:#15803d}.dash-sidebar-footer{padding:1rem;border-top:1px solid var(--d-line)}.dash-sidebar-footer .dash-nav-item{margin-bottom:.5rem}.dash-logout-btn{width:100%;padding:.6rem .75rem;margin-top:.5rem;border-radius:var(--d-radius);border:1px solid var(--d-line);background:var(--d-panel);color:var(--d-muted);font-weight:600;font-size:.875rem;cursor:pointer;transition:background .2s,color .2s}.dash-logout-btn:hover{background:#ef444414;color:#dc2626}.dash-main{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}.dash-header{position:relative;z-index:60;height:64px;min-height:64px;border-bottom:1px solid var(--d-line);background:color-mix(in srgb,var(--d-panel) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:space-between;padding-left:max(1.25rem,env(safe-area-inset-left,0px));padding-right:max(1.25rem,env(safe-area-inset-right,0px));padding-top:max(0px,env(safe-area-inset-top,0px));padding-bottom:0;gap:.75rem;flex-shrink:0}.chain-status{flex-shrink:0;margin:.65rem 1.15rem 0;padding:.55rem .8rem .6rem;border:1px solid var(--d-line);border-radius:12px;background:var(--d-panel)}.chain-status--inset{margin:0;padding:0;border:none;border-radius:0;background:transparent}.chain-status.is-ok{border-color:color-mix(in srgb,var(--d-ok) 35%,var(--d-line))}.chain-status.is-down{border-color:color-mix(in srgb,var(--d-warn) 45%,var(--d-line))}.chain-status-layers{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .7rem}.chain-status-layer{display:inline-flex;align-items:baseline;gap:.35rem}.chain-status-dot{width:8px;height:8px;border-radius:50%;background:var(--d-danger)}.chain-status-layer.is-ok .chain-status-dot{background:var(--d-ok);box-shadow:0 0 0 3px color-mix(in srgb,var(--d-ok) 20%,transparent)}.chain-status-layer.is-down .chain-status-dot{background:var(--d-warn)}.chain-status-name{font-size:.78rem;font-weight:800;color:var(--d-ink)}.chain-status-age{font-size:.72rem;font-weight:650;color:var(--d-muted)}.chain-status-arrow{color:var(--d-muted);font-size:.8rem}.chain-status-hint{margin:.35rem 0 0;font-size:.75rem;font-weight:650;color:var(--d-muted)}.chain-status-real{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .55rem;margin-bottom:.45rem}.chain-status-kicker{width:100%;color:var(--d-muted);font-size:.66rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.chain-status-real time{color:var(--d-ink);font-size:.92rem;font-weight:750;font-variant-numeric:tabular-nums}.chain-status-real-meta{color:var(--d-muted);font-size:.75rem;font-weight:650}.chain-status-detail{color:var(--d-muted);font-size:.7rem;font-weight:650}.dash-header-left{display:none;align-items:center;gap:.5rem;min-width:0;flex:1 1 auto}.dash-menu-btn{display:none;width:44px;height:44px;border:none;background:var(--d-bg);border-radius:var(--d-radius);color:var(--d-ink);cursor:pointer;align-items:center;justify-content:center;flex-shrink:0;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.dash-menu-btn:hover{background:#0891b21a;color:var(--d-primary)}.dash-menu-btn .material-symbols-outlined{font-size:26px}.dash-mobile-section-bar{display:none}.dash-header-page-title{margin:0;font-size:1.05rem;font-weight:700;letter-spacing:-.02em;color:var(--d-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.dash-header-search{position:relative;max-width:360px;width:100%}.dash-header-search .material-symbols-outlined{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);font-size:20px;color:var(--d-muted)}.dash-header-search input{width:100%;padding:.5rem .75rem .5rem 2.5rem;border:none;border-radius:var(--d-radius);background:var(--d-bg);font-size:.875rem;color:var(--d-ink)}.dash-header-search input::placeholder{color:var(--d-muted)}.dash-header-right{display:flex;align-items:center;gap:1.5rem;margin-left:auto}.dash-header-time{text-align:right}.dash-header-time .time{font-size:1.35rem;font-weight:700;line-height:1.2;letter-spacing:.02em;margin:0 0 .1rem;font-variant-numeric:tabular-nums}.dash-header-time .date{font-size:.8rem;color:var(--d-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:500;margin:0;line-height:1.2}.dash-header-icon-btn{width:40px;height:40px;min-width:40px;border:1px solid var(--d-line);background:var(--d-panel);border-radius:999px;color:var(--d-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;position:relative;flex:0 0 auto;overflow:visible;box-shadow:0 10px 24px #0f172a0a;transition:background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}.dash-header-icon-btn:hover{background:#0891b214;border-color:#0891b238;color:var(--d-primary);box-shadow:0 14px 28px #0f172a12;transform:translateY(-1px)}.dash-header-icon-btn:focus-visible{outline:2px solid rgba(8,145,178,.35);outline-offset:3px}.dash-header-icon-btn.has-badge{color:var(--d-primary);border-color:#0891b23d;background:linear-gradient(135deg,#0891b21a,#ffffffeb)}.dash-header-icon-btn .material-symbols-outlined{display:block;font-size:22px;line-height:1;font-variation-settings:"FILL" 0,"wght" 450,"GRAD" 0,"opsz" 24}.dash-header-icon-btn .badge-dot{display:none;position:absolute;top:7px;right:7px;width:9px;height:9px;border-radius:50%;background:#ef4444;border:2px solid var(--d-panel);box-shadow:0 0 0 2px #ef44441f}.dash-header-icon-btn.has-badge .badge-dot{display:block}:root[data-theme=dark] .dash-header-icon-btn{background:var(--d-bg-soft);border-color:var(--d-line);color:var(--d-muted);box-shadow:0 10px 24px #02061747}:root[data-theme=dark] .dash-header-icon-btn:hover,:root[data-theme=dark] .dash-header-icon-btn.has-badge{background:#22c4e61a;border-color:#22c4e63d;color:var(--d-primary)}:root[data-theme=dark] .dash-header-icon-btn .badge-dot{border-color:var(--d-bg-soft)}.dash-header-notifications{position:relative;display:inline-flex;align-items:center}.dash-header-notifications-dropdown{position:fixed;top:calc(76px + env(safe-area-inset-top,0px));right:max(1.25rem,env(safe-area-inset-right,0px));width:min(360px,calc(100vw - 2rem));max-height:min(520px,calc(100dvh - 96px));background:#fffffffa;border:1px solid var(--d-line);border-radius:20px;box-shadow:0 26px 80px #0f172a2e;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);display:flex;flex-direction:column;overflow:hidden;z-index:1100}.dash-header-notifications-dropdown-title{padding:.9rem 1rem;font-size:.9rem;font-weight:700;color:var(--d-ink);border-bottom:1px solid var(--d-line);background:linear-gradient(135deg,#0891b214,#ffffffeb);display:flex;align-items:center;justify-content:space-between;gap:.5rem}.dash-header-notifications-dropdown-badge{font-size:.75rem;font-weight:600;background:#ef4444;color:#fff;padding:.15rem .5rem;border-radius:999px}.dash-header-notifications-dropdown-list{overflow-y:auto;max-height:min(390px,calc(100dvh - 180px));background:var(--d-panel)}.dash-header-notifications-empty{padding:1.5rem 1rem;margin:0;font-size:.875rem;color:var(--d-muted);text-align:center}.dash-header-notification-item{display:flex;align-items:flex-start;gap:.75rem;width:100%;padding:.75rem 1rem;border:none;background:var(--d-panel);text-align:left;cursor:pointer;border-bottom:1px solid var(--d-line);transition:background .15s ease}.dash-header-notification-item:last-of-type{border-bottom:none}.dash-header-notification-item:hover{background:var(--d-bg)}.dash-header-notification-item.is-read{opacity:.75}.dash-header-notification-icon{flex-shrink:0;width:36px;height:36px;border-radius:var(--d-radius);background:var(--d-bg);color:var(--d-primary);display:flex;align-items:center;justify-content:center}.dash-header-notification-icon .material-symbols-outlined{font-size:20px}.dash-header-notification-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}.dash-header-notification-title{font-size:.875rem;font-weight:600;color:var(--d-ink)}.dash-header-notification-desc{font-size:.8rem;color:var(--d-muted)}.dash-header-notification-time{font-size:.75rem;color:var(--d-muted);margin-top:.15rem}.dash-header-notifications-mark-all{padding:.6rem 1rem;border:none;border-top:1px solid var(--d-line);background:none;font-size:.8rem;font-weight:500;color:var(--d-primary);cursor:pointer;transition:background .15s ease}.dash-header-notifications-mark-all:hover{background:var(--d-bg)}.dash-header-account{position:relative}.dash-header-account-btn{display:flex;align-items:center;gap:.5rem;padding:.4rem .75rem;border:1px solid var(--d-line);border-radius:var(--d-radius);background:var(--d-panel);color:var(--d-ink);cursor:pointer;font-size:.9rem;transition:background .2s,border-color .2s}.dash-header-account-btn:hover{background:var(--d-bg);border-color:var(--d-muted)}.dash-header-account-icon{display:flex;align-items:center;justify-content:center;color:var(--d-primary)}.dash-header-account-icon .material-symbols-outlined{font-size:22px}.dash-header-account-email{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.dash-header-account-chevron{font-size:20px;color:var(--d-muted)}.dash-header-account-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:260px;padding:.5rem 0;background:var(--d-panel);border:1px solid var(--d-line);border-radius:var(--d-radius-lg);box-shadow:0 8px 24px #0000001f;z-index:1090}.dash-header-account-dropdown-email{padding:.6rem 1rem;font-size:.85rem;color:var(--d-muted);border-bottom:1px solid var(--d-line);word-break:break-all}.dash-header-account-dropdown-item{display:flex;align-items:center;gap:.6rem;width:100%;padding:.65rem 1rem;border:none;background:none;color:var(--d-ink);font-size:.9rem;text-align:left;cursor:pointer;transition:background .15s}.dash-header-account-dropdown-item:hover{background:var(--d-bg)}.dash-header-account-dropdown-item .material-symbols-outlined{font-size:20px;color:var(--d-muted)}.dash-config-error{padding:.75rem 1rem;margin-bottom:1rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--d-radius);color:#b91c1c;font-size:.875rem}.dash-config-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.25rem}.dash-config-card{background:var(--d-panel);border:1px solid var(--d-line);border-radius:var(--d-radius-lg);overflow:hidden;box-shadow:0 1px 3px #0000000a}.dash-config-card-header{padding:1rem 1.25rem;border-bottom:1px solid var(--d-line);display:flex;align-items:center;justify-content:space-between;gap:.5rem}.dash-config-card-title{margin:0;font-size:1.1rem;font-weight:700;color:var(--d-ink)}.dash-config-card-section{font-size:.8rem;color:var(--d-muted);background:var(--d-bg);padding:.25rem .5rem;border-radius:var(--d-radius)}.dash-config-card-body{padding:1rem;display:flex;flex-direction:column;gap:.65rem}.dash-config-zone{padding:.85rem 1rem;border-radius:var(--d-radius);border:1px solid rgba(8,145,178,.18);background:var(--zone-bg);box-shadow:0 1px 2px #0f172a0a;border-left:4px solid var(--zone-accent)}.dash-config-zone--devices{--zone-accent: var(--d-primary);--zone-bg: linear-gradient(135deg, rgba(8, 145, 178, .11) 0%, rgba(8, 145, 178, .03) 100%)}.dash-config-zone--params{--zone-accent: var(--d-primary-dark);--zone-bg: linear-gradient(135deg, rgba(14, 116, 144, .12) 0%, rgba(248, 250, 252, .95) 100%)}.dash-config-zone--schedule{--zone-accent: var(--d-primary);--zone-bg: linear-gradient(135deg, rgba(8, 145, 178, .15) 0%, rgba(8, 145, 178, .04) 100%)}.dash-config-zone--comfort{--zone-accent: var(--d-primary-dark);--zone-bg: linear-gradient(135deg, rgba(8, 145, 178, .09) 0%, rgba(14, 116, 144, .06) 100%)}.dash-config-zone--notes{--zone-accent: var(--d-primary);--zone-bg: linear-gradient(135deg, rgba(8, 145, 178, .07) 0%, rgba(14, 116, 144, .04) 100%)}.dash-config-devices-title{margin:0 0 .5rem;font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--d-muted);display:flex;align-items:center;gap:.4rem}.dash-config-devices-title .material-symbols-outlined{font-size:18px}.dash-config-devices-empty{margin:0;font-size:.85rem;color:var(--d-muted)}.dash-config-devices-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.35rem}.dash-config-device-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem .65rem;font-size:.875rem;background:color-mix(in srgb,var(--d-panel) 80%,var(--d-bg));border-radius:.5rem;border:1px solid var(--d-line);box-shadow:0 1px 1px #0f172a0a}.dash-config-device-label{color:var(--d-ink);font-weight:500}.dash-config-device-status{font-size:.75rem;font-weight:600;padding:.2rem .5rem;border-radius:var(--d-radius)}.dash-config-device-status.active{background:#22c55e26;color:#15803d}.dash-config-device-status.inactive{background:#ef44441a;color:#b91c1c}.dash-config-last-reading{margin:.5rem 0 0;font-size:.75rem;color:var(--d-muted)}.dash-config-meta-title{margin:0 0 .5rem;font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--d-muted)}.dash-config-meta-row{margin-bottom:.75rem}.dash-config-meta-row:last-of-type{margin-bottom:0}.dash-config-meta-row label{display:block;font-size:.8rem;font-weight:500;color:var(--d-ink);margin-bottom:.25rem}.dash-config-meta-row input{width:100%;max-width:120px;padding:.4rem .6rem;border:1px solid var(--d-line);border-radius:var(--d-radius);background:var(--d-bg);font-size:.875rem;color:var(--d-ink)}.dash-config-save-btn{margin-top:1rem;padding:.5rem 1rem;border:none;border-radius:var(--d-radius);background:var(--d-primary);color:#fff;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s ease}.dash-config-save-btn:hover:not(:disabled){filter:brightness(1.05)}.dash-config-save-btn:disabled{opacity:.7;cursor:not-allowed}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dash-config-section-heading{margin:0 0 1rem;font-size:1.05rem;font-weight:800;color:var(--d-ink);padding-bottom:.5rem;border-bottom:1px solid var(--d-line)}.dash-config-org-panel{margin-bottom:1.75rem;padding:1.15rem 1.25rem;background:var(--d-panel);border:1px solid var(--d-line);border-radius:var(--d-radius-lg);box-shadow:0 1px 3px #0000000a}.dash-config-org-panel-header{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.75rem;margin-bottom:.65rem}.dash-config-org-panel-title{margin:0 0 .35rem;font-size:1.05rem;font-weight:800;color:var(--d-ink)}.dash-config-org-panel-sub{margin:0;font-size:.82rem;line-height:1.45;color:var(--d-muted);max-width:52rem}.dash-config-org-summary{margin:0 0 .75rem!important}.dash-config-org-save{margin-top:.85rem;padding:.55rem 1.1rem;border:none;border-radius:10px;background:var(--d-primary);color:#fff;font-size:.85rem;font-weight:700;cursor:pointer;transition:filter .15s}.dash-config-org-save:hover:not(:disabled){filter:brightness(1.05)}.dash-config-org-save:disabled{opacity:.65;cursor:not-allowed}.dash-config-section-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .85rem;border-radius:10px;border:1px solid var(--d-line);background:var(--d-bg);color:var(--d-ink);font-size:.8rem;font-weight:700;cursor:pointer;transition:background .15s,border-color .15s}.dash-config-section-btn:hover:not(:disabled){border-color:#0891b273;background:#0891b20f}.dash-config-section-btn:disabled{opacity:.65;cursor:not-allowed}.dash-history-datamode{display:inline-flex;flex-wrap:wrap;gap:.35rem;padding:.25rem;background:#94a3b80f;border:1px solid var(--d-line);border-radius:12px}.dash-history-datamode-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .7rem;border:none;border-radius:10px;background:transparent;color:var(--d-muted);font-size:.8rem;font-weight:700;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap}.dash-history-datamode-copy{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15;gap:.08rem}.dash-history-datamode-copy small{font-size:.68rem;font-weight:650;opacity:.78}.dash-history-datamode-btn:hover{color:var(--d-primary)}.dash-history-datamode-btn.active{background:var(--d-primary);color:#fff;box-shadow:none}.dash-history-datamode-btn.active .material-symbols-outlined,.dash-history-datamode-btn.active small{color:inherit;opacity:.92}.dash-history-datamode-btn.active:hover{color:#fff}@media(max-width:900px){.dash-history-toolbar-cluster--right{margin-left:0;align-items:flex-start;width:100%}}.dash-content{flex:1;overflow-y:auto;padding:2rem}.dash-rooms-view,.dash-map-view,.dash-history-view{padding-top:1.15rem}.dash-view-header{display:flex;align-items:center;gap:1.25rem;margin-bottom:1.5rem;padding-left:1rem;border-left:4px solid var(--d-primary);background:linear-gradient(90deg,rgba(8,145,178,.06) 0%,transparent 100%);border-radius:0 8px 8px 0;padding:1rem 1rem 1rem 1.25rem}.dash-view-header-logo-wrap{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:56px;height:56px;background:var(--d-panel);border:1px solid var(--d-line);border-radius:12px;box-shadow:0 1px 3px #0000000f}.dash-view-logo{height:36px;width:auto;max-width:44px;object-fit:contain}.dash-view-header .dash-view-header-logo-wrap+div{min-width:0}.dash-page-title{font-size:1.85rem;font-weight:800;letter-spacing:-.03em;margin:0 0 .35rem;color:var(--d-fg);position:relative;display:inline-block;padding-bottom:.2rem}.dash-page-title:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:3px;border-radius:2px;background:linear-gradient(90deg,var(--d-primary) 0%,transparent 100%);opacity:.7}.dash-page-sub{color:var(--d-muted);font-size:.9rem;margin:0 0 2rem;font-weight:500}.dash-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem}.dash-kpi-card{background:var(--d-panel);border:1px solid var(--d-card-border);border-radius:var(--d-radius-lg);padding:.95rem .7rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.38rem;text-align:center;box-shadow:var(--d-shadow-card);transition:box-shadow var(--d-duration-ui) var(--d-ease),border-color var(--d-duration-ui) ease}.dash-kpi-card:hover{box-shadow:var(--d-shadow-card-hover);border-color:#0891b238}.dash-kpi-icon{width:34px;height:34px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.dash-kpi-icon .material-symbols-outlined{font-size:18px}.dash-kpi-icon-img{padding:.5rem}.dash-kpi-icon-img img{width:28px;height:28px;object-fit:contain}.dash-kpi-icon.green{background:#22c55e1f;color:var(--d-ok)}.dash-kpi-icon.primary{background:#0891b21f;color:var(--d-primary)}.dash-kpi-icon.amber{background:#f59e0b1f;color:var(--d-warn)}.dash-kpi-icon.blue{background:#0891b21f;color:var(--d-info)}.dash-kpi-label{max-width:8.4rem;margin:0;font-size:var(--d-fs-label);font-weight:700;color:var(--d-muted);line-height:1.25;text-wrap:balance}.dash-kpi-value{font-size:clamp(1.55rem,2.1vw,1.85rem);font-weight:750;margin:0;line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.dash-rooms-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.dash-room-card{background:var(--d-panel);border:1px solid var(--d-card-border);border-radius:var(--d-radius-lg);overflow:hidden;box-shadow:var(--d-shadow-card);transition:box-shadow var(--d-duration-ui) var(--d-ease),border-color var(--d-duration-ui) ease}.dash-room-card:hover{box-shadow:var(--d-shadow-card-hover)}.dash-room-card-body{padding:1.25rem}.dash-room-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.dash-room-card-title{font-size:var(--d-fs-title);font-weight:700;margin:0}.dash-room-card-meta{font-size:var(--d-fs-label);color:var(--d-muted);margin:0}.dash-room-metric-ico{width:18px;height:18px;object-fit:contain;vertical-align:middle;margin-right:2px}.dash-room-badge{font-size:var(--d-fs-label);font-weight:700;padding:.28rem .55rem;border-radius:999px;letter-spacing:.02em;white-space:nowrap}.dash-room-badge.available{background:#22c55e1f;color:var(--d-ok)}.dash-room-badge.occupied{background:#0891b224;color:var(--d-primary-dark)}.dash-room-badge.maintenance{background:#f59e0b26;color:var(--d-warn)}.dash-room-badge.nodevice,.dash-room-badge.nofirst{background:#64748b24;color:#475569}.dash-room-metrics{display:flex;flex-wrap:wrap;gap:.75rem 1rem;padding-top:1rem;border-top:1px solid var(--d-line);font-size:.8rem;color:var(--d-muted)}.dash-room-metrics span{display:inline-flex;align-items:center;gap:.3rem;font-weight:600}.dash-room-metrics .material-symbols-outlined{font-size:16px}.dash-history-rooms-card .dash-rooms-grid{margin-top:.5rem}.dash-room-card--usage{min-height:100px}.dash-room-card-usage{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--d-line);display:flex;flex-direction:column;align-items:flex-start;gap:.15rem}.dash-room-card-usage-value{font-size:1.5rem;font-weight:700;line-height:1.2}.dash-room-card-usage-label{font-size:.75rem;color:var(--d-muted)}.dash-room-card--usage-low .dash-room-card-usage-value{color:#b45309}.dash-room-card--usage-mid .dash-room-card-usage-value{color:var(--d-primary)}.dash-room-card--usage-high .dash-room-card-usage-value{color:#059669}.dash-map-wrap{display:flex;gap:2rem;flex-wrap:wrap}.dash-map-legend{width:260px;background:var(--d-panel);border:1px solid var(--d-line);border-radius:var(--d-radius-lg);padding:1.25rem;box-shadow:0 1px 3px #0000000a}.dash-map-legend h3{font-size:.8rem;font-weight:700;color:var(--d-primary);margin:0 0 1rem;text-transform:uppercase;letter-spacing:.05em}.dash-map-legend-row{display:flex;align-items:center;justify-content:space-between;padding:.4rem 0}.dash-map-legend-row .left{display:flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:500}.dash-map-legend-dot{width:12px;height:12px;border-radius:3px}.dash-map-legend-dot.available{background:#22c55e66;border:1px solid #16a34a}.dash-map-legend-dot.occupied{background:#ef444466;border:1px solid #dc2626}.dash-map-legend-dot.maintenance{background:#f59e0b66;border:1px solid #d97706}.dash-map-legend-icons{margin-top:.5rem}.dash-map-legend-img{width:24px;height:24px;object-fit:contain;margin-right:8px}.dash-muted{color:var(--d-muted);font-size:.8rem;font-weight:600}.dash-map-area{flex:1;min-width:400px;min-height:400px;background:var(--d-bg);border:1px solid var(--d-line);border-radius:var(--d-radius-lg);display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:2px;padding:1rem}.dash-map-cell{background:var(--d-panel);border:1px solid var(--d-line);border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem}.dash-map-cell.occupied{background:#ef44440f;border-color:#ef444433}.dash-map-cell .name{font-weight:700;font-size:.9rem;margin-bottom:.25rem}.dash-map-cell .count{font-size:1.5rem;font-weight:800;color:var(--d-primary)}.dash-map-wrap--canvas .dash-map-legend{width:auto;display:grid;grid-template-columns:auto repeat(5,minmax(130px,1fr));gap:.6rem;align-items:center;padding:.8rem;border-radius:var(--d-radius-lg);box-shadow:0 10px 28px #0f172a0e}.dash-map-wrap--canvas .dash-map-legend h3{margin:0;padding:0 .65rem 0 .25rem;white-space:nowrap}.dash-map-wrap--canvas .dash-map-legend-row{min-height:42px;padding:.55rem .65rem;border:1px solid var(--d-line);border-radius:14px;background:var(--d-bg)}.dash-map-wrap--canvas .dash-map-legend-row .left{min-width:0}.dash-map-wrap--canvas .dash-map-legend-icons{margin-top:0;justify-content:flex-start}.dash-map-wrap--canvas .dash-map-legend-img{width:21px;height:21px;margin-right:0}.map-overview-panel{display:grid;grid-template-columns:minmax(260px,.95fr) minmax(420px,1.55fr);gap:1rem;align-items:stretch;margin-bottom:1rem}.map-overview-copy{position:relative;overflow:hidden;padding:1.1rem 1.2rem;border:1px solid rgba(8,145,178,.16);border-radius:var(--d-radius-lg);background:radial-gradient(circle at 0% 0%,rgba(8,145,178,.12),transparent 18rem),var(--d-panel);box-shadow:0 12px 34px #0f172a0f}.map-overview-copy:after{content:"";position:absolute;right:-44px;bottom:-56px;width:150px;height:150px;border:1px solid rgba(8,145,178,.12);border-radius:50%;box-shadow:0 0 0 22px #0891b209}.map-overview-kicker{display:inline-flex;align-items:center;gap:.4rem;color:var(--d-primary);font-size:var(--d-fs-label);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.map-overview-kicker:before{content:"";width:7px;height:7px;border-radius:50%;background:#10b981;box-shadow:0 0 0 5px #10b9811f}.map-overview-copy h3{position:relative;z-index:1;margin:.45rem 0 .35rem;color:var(--d-ink);font-size:clamp(1.25rem,2vw,1.7rem);line-height:1.15;letter-spacing:-.03em}.map-overview-desc{position:relative;z-index:1;display:grid;max-width:640px}.map-overview-desc p,.map-overview-copy p{position:relative;z-index:1;max-width:640px;margin:0;color:var(--d-muted);font-size:.92rem;line-height:1.55}.map-overview-desc p{grid-area:1 / 1}.map-overview-desc p:not(.is-active){visibility:hidden;pointer-events:none}.map-overview-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.map-overview-stat{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.38rem;min-width:0;padding:.85rem .55rem;text-align:center;border:1px solid var(--d-line);border-radius:var(--d-radius-lg);background:var(--d-panel);box-shadow:0 10px 28px #0f172a0e}.map-overview-stat .material-symbols-outlined{display:grid;width:34px;height:34px;flex-shrink:0;place-items:center;border-radius:11px;background:#0891b21a;color:var(--d-primary);font-size:18px}.map-overview-stat strong{color:var(--d-ink);font-size:clamp(1.55rem,2.1vw,1.85rem);font-weight:750;font-variant-numeric:tabular-nums;line-height:1;letter-spacing:-.04em}.map-overview-stat small{max-width:7.6rem;color:var(--d-muted);font-size:var(--d-fs-label);font-weight:700;line-height:1.25;text-wrap:balance}.map-overview-stat--ok .material-symbols-outlined{background:#22c55e1f;color:#16a34a}.map-overview-stat--busy .material-symbols-outlined{background:#ef44441a;color:#dc2626}.map-overview-stat--hold .material-symbols-outlined{background:#f59e0b1f;color:var(--d-warn)}.map-overview-stat--unknown .material-symbols-outlined,.dash-rooms-view .rooms-overview-stat--unknown .material-symbols-outlined{background:#64748b1f;color:#64748b}.dash-map-wrap--canvas{display:grid;grid-template-columns:1fr;gap:1rem;align-items:stretch}.map-canvas-wrap{position:relative;min-width:320px;min-height:clamp(520px,62vh,760px);display:flex;align-items:stretch;justify-content:center;padding:clamp(1.25rem,3vw,2.75rem);background:radial-gradient(circle at 12% 8%,rgba(8,145,178,.08),transparent 22rem),linear-gradient(180deg,var(--d-bg),var(--d-bg-soft));border:1px solid var(--d-line);border-radius:var(--d-radius-lg);overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff59}.map-canvas-scroll{flex:1;min-width:0;min-height:0;overflow:auto;display:flex;align-items:center;justify-content:center}.map-canvas{margin-inline:auto;transform-origin:center center;transition:transform .2s ease}.map-floor{position:relative;display:flex;flex-direction:column;gap:.5rem;width:720px;min-width:720px;min-height:240px;padding:1.15rem}.map-floor-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;min-height:200px;padding:1.5rem;color:var(--d-muted);text-align:center;border:1px dashed var(--d-border);border-radius:8px;background:var(--d-bg-soft)}.map-floor-empty .material-symbols-outlined{font-size:2.5rem;opacity:.6}.map-floor-empty p{margin:0;font-size:.95rem}.map-floor-empty-hint{font-size:.85rem!important;opacity:.85}.map-block-row{position:relative;display:grid;grid-template-columns:repeat(12,minmax(24px,1fr));gap:.5rem;width:100%}.map-block-row .map-floor-cell{grid-row:1;min-width:0}.map-grid-guide{grid-row:1;min-height:100px;border:1px dashed transparent;border-radius:8px;pointer-events:none}.map-floor--editing .map-grid-guide{border-color:#94a3b812;background:#94a3b805}.map-floor--editing .map-grid-guide--covered,.map-block-row--grid-sharp .map-grid-guide--covered{border-color:transparent;background:transparent}.map-block-row--grid-sharp .map-grid-guide:not(.map-grid-guide--covered){border-color:#0891b29e;background:#0891b21f}.map-block-preview{grid-row:1;min-height:100px;border:2px solid var(--d-primary);border-radius:10px;background:#0891b224;pointer-events:none}.map-block-preview--invalid{border-style:dashed;border-color:var(--d-danger);background:#dc262614}.map-floor-cell{min-height:100px;min-width:90px;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.75rem;position:relative;overflow:hidden;border:2px solid transparent;transition:background .15s,border-color .15s;--map-cell-fill: var(--d-bg, #f8fafc)}.map-floor-room.map-floor--available{background:#22c55e33;border-color:#22c55e80;--map-cell-fill: color-mix(in srgb, #22c55e 20%, #ffffff)}.map-floor-room.map-floor--available:hover{background:#22c55e4d;--map-cell-fill: color-mix(in srgb, #22c55e 30%, #ffffff)}.map-floor-room.map-floor--occupied{background:#ef444433;border-color:#ef444480;--map-cell-fill: color-mix(in srgb, #ef4444 20%, #ffffff)}.map-floor-room.map-floor--occupied:hover{background:#ef44444d;--map-cell-fill: color-mix(in srgb, #ef4444 30%, #ffffff)}.map-floor-room.map-floor--maintenance{background:#f59e0b1a;border:2px dashed rgba(245,158,11,.4);--map-cell-fill: color-mix(in srgb, #f59e0b 10%, #ffffff)}.map-floor-wall{background:repeating-linear-gradient(45deg,rgba(100,116,139,.3) 0 3px,transparent 3px 7px),var(--d-bg-soft);border:2px solid rgba(100,116,139,.45);border-radius:6px}.map-floor-stairs,.map-floor-restrooms,.map-floor-pasillo,.map-floor-other{background:#94a3b826;border:2px solid rgba(148,163,184,.35);--map-cell-fill: color-mix(in srgb, #94a3b8 15%, #ffffff)}.map-floor-other{background:#6366f11f;border-color:#6366f161;--map-cell-fill: color-mix(in srgb, #6366f1 12%, #ffffff)}.map-floor-other .map-cell-name{color:#4338ca;text-transform:none;font-size:.88rem}.map-cell-name{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;text-align:center;line-height:1.25}.map-floor-room .map-cell-name{font-size:.82rem}.map-floor--available .map-cell-name{color:#15803d}.map-floor--occupied .map-cell-name{color:#b91c1c}.map-floor--maintenance .map-cell-name{color:#b45309}.map-floor-stairs .map-cell-name,.map-floor-restrooms .map-cell-name,.map-floor-pasillo .map-cell-name{color:var(--d-muted)}.map-cell-count{font-size:1.45rem;font-weight:800;margin-top:.25rem}.map-floor--available .map-cell-count{color:#16a34a}.map-floor--occupied .map-cell-count{color:#dc2626}.map-cell-icon{font-size:1.25rem;margin-top:.25rem;opacity:.8}.map-floor--available .map-cell-icon{color:#16a34a}.map-floor--occupied .map-cell-icon{color:#dc2626}.map-floor--maintenance .map-cell-icon{color:#d97706}.map-floor--nodevice .map-cell-name,.map-floor--nofirst .map-cell-name,.map-floor--offline .map-cell-name{color:#475569}.map-cell-count--nodata,.map-floor--nodevice .map-cell-icon,.map-floor--nofirst .map-cell-icon,.map-floor--offline .map-cell-icon{color:#94a3b8}.map-cell-state{margin-top:.15rem;color:#64748b;font-size:.68rem;font-weight:700;letter-spacing:.02em;text-align:center}.map-section-floating{position:absolute;bottom:1.5rem;left:1.5rem;display:flex;flex-direction:column;gap:.35rem;z-index:10;background:var(--d-panel);border:1px solid var(--d-line);border-radius:var(--d-radius);padding:.5rem .75rem;box-shadow:0 2px 8px #00000014}.map-section-floating-label{display:flex;align-items:center;gap:.35rem;font-size:.7rem;font-weight:700;color:var(--d-muted);text-transform:uppercase;letter-spacing:.04em;margin:0}.map-section-floating-label .material-symbols-outlined{font-size:16px;opacity:.9}.map-section-floating-select{padding:.45rem 2rem .45rem .6rem;font-size:.85rem;font-weight:600;color:var(--d-ink);background:var(--d-bg);border:1px solid var(--d-line);border-radius:6px;cursor:pointer;min-width:140px;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.map-section-floating-select:hover,.map-section-floating-select:focus{border-color:var(--d-primary);outline:none}.map-section-floating-select:disabled{opacity:.7;cursor:not-allowed}.map-section-floating-btn{text-align:left;min-height:2.25rem}.map-section-floating-row{display:flex;align-items:center;gap:.4rem}.map-section-floating-row .map-section-floating-select{flex:1;min-width:0}.map-section-floating-new{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--d-line)}.map-section-floating-input{width:100%;padding:.45rem .6rem;font-size:.85rem;border:1px solid var(--d-line);border-radius:6px;background:var(--d-bg);color:var(--d-ink);margin-bottom:.4rem}.map-section-floating-input:focus{outline:none;border-color:var(--d-primary)}.map-section-floating-new-actions{display:flex;gap:.4rem}.map-section-floating-msg{margin:.35rem 0 0;font-size:.75rem}.map-section-floating-msg.map-section-floating-msg--error{color:#b91c1c}.map-section-floating-msg.map-section-floating-msg--success{color:#15803d}.map-section-floating-msg:empty{display:none}.map-section-floating-delete{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;color:#b91c1c;background:transparent;border:1px solid rgba(185,28,28,.35);border-radius:6px;cursor:pointer;transition:background .15s,border-color .15s,opacity .15s;opacity:.85}.map-section-floating-delete:hover:not(:disabled){background:#b91c1c14;border-color:#b91c1c;opacity:1}.map-section-floating-delete:disabled{opacity:.5;cursor:not-allowed}.map-section-floating-delete .material-symbols-outlined{font-size:18px}.map-modal-confirm-text{margin:0;font-size:.95rem;line-height:1.5;color:var(--d-text)}.map-toolbar-btn--danger{background:#b91c1c;color:#fff;border:none}.map-toolbar-btn--danger:hover:not(:disabled){background:#991b1b;color:#fff}.map-controls{position:absolute;bottom:1.5rem;right:1.5rem;display:flex;flex-direction:column;gap:.5rem;z-index:10}.map-controls-zoom{display:flex;flex-direction:column;border-radius:var(--d-radius);background:var(--d-panel);border:1px solid var(--d-line);box-shadow:0 2px 8px #00000014;overflow:hidden}.map-control-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--d-panel);border:none;color:var(--d-text);cursor:pointer;transition:background .15s}.map-controls-zoom .map-control-btn{border-bottom:1px solid var(--d-line)}.map-controls-zoom .map-control-btn:last-child{border-bottom:none}.map-control-btn:hover{background:var(--d-bg-hover)}.map-control-btn--primary{background:var(--d-primary);color:#fff;border-radius:var(--d-radius);box-shadow:0 2px 8px #00000026}.map-control-btn--primary:hover{filter:brightness(1.08)}.map-control-btn .material-symbols-outlined{font-size:22px}.map-editor{margin-bottom:1rem;background:var(--d-panel);border:1px solid var(--d-line);border-radius:var(--d-radius);box-shadow:0 1px 3px #0000000d;overflow:visible}.map-editor-top{display:flex;flex-wrap:nowrap;align-items:center;gap:.65rem;height:3.2rem;min-height:3.2rem;max-height:3.2rem;padding:0 .85rem}.map-editor-top-actions{display:flex;flex-wrap:nowrap;align-items:center;gap:.65rem;flex:1;min-width:0}.map-editor-top-actions.is-inert{visibility:hidden;pointer-events:none}.map-editor-top-hint{margin:0;font-size:.9rem;color:var(--d-muted)}.map-editor-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1rem;font-size:.92rem;font-weight:600;color:var(--d-text);background:var(--d-bg);border:1px solid var(--d-line);border-radius:10px;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.map-editor-btn[hidden]{display:none!important}.dash-map-view--flow .map-editor{display:none}.map-editor-btn:hover{border-color:var(--d-primary);color:var(--d-primary);background:var(--d-bg-hover)}.map-editor-btn.active,.map-editor-btn--primary.active{background:#0891b21f;border-color:var(--d-primary);color:var(--d-primary)}.map-editor-btn .material-symbols-outlined{font-size:20px}.map-editor-chevron{font-size:18px!important;opacity:.7}.map-editor-dropdown{position:relative}.map-editor-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:50;min-width:220px;padding:.5rem;background:var(--d-panel);border:1px solid var(--d-line);border-radius:12px;box-shadow:0 8px 24px #0000001f}.map-editor-menu--add{min-width:280px}.map-editor-menu--delete{right:0;left:auto;min-width:180px}.map-editor-menu--types{min-width:280px}.map-editor-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem}.map-editor-menu--add .map-editor-type-grid{margin-top:.15rem}.map-editor-menu-action{display:flex;align-items:center;gap:.5rem;width:100%;padding:.55rem .65rem;font-size:.9rem;font-weight:600;text-align:left;color:var(--d-text);background:transparent;border:none;border-radius:8px;cursor:pointer}.map-editor-menu-action:hover{background:var(--d-bg-hover);color:var(--d-primary)}.map-editor-menu-action--danger:hover{color:#dc2626;background:#ef444414}.map-editor-menu-divider{height:1px;margin:.35rem 0;background:var(--d-line)}.map-editor-menu-caption{margin:0 0 .35rem;padding:0 .25rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--d-muted)}.map-editor-menu-type{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.55rem .35rem;font-size:.78rem;font-weight:600;color:var(--d-text);background:var(--d-bg);border:1px solid var(--d-line);border-radius:10px;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.map-editor-menu-type .material-symbols-outlined{font-size:22px}.map-editor-menu-type:hover,.map-editor-menu-type.active{border-color:var(--d-primary);background:#0891b214;color:var(--d-primary)}.map-editor-props{border-top:1px solid var(--d-line);padding:.75rem .85rem .85rem;background:linear-gradient(180deg,rgba(8,145,178,.04) 0%,transparent 100%)}.map-editor-props--overlay{position:absolute;top:12px;right:12px;z-index:20;width:min(340px,calc(100% - 24px));max-height:calc(100% - 96px);overflow:auto;border:1px solid var(--d-line);border-top:1px solid var(--d-line);border-radius:14px;background:var(--d-panel);box-shadow:0 16px 40px #0f172a2e;pointer-events:auto}.map-editor-props-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.75rem}.map-editor-props-title{font-size:1rem;font-weight:700;color:var(--d-text)}.map-editor-props-hint{display:inline-flex;align-items:center;gap:.25rem;font-size:.82rem;color:var(--d-muted)}.map-editor-props-hint .material-symbols-outlined{font-size:16px;color:var(--d-primary)}.map-editor-props-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.65rem .85rem;align-items:end}.map-editor-field{display:flex;flex-direction:column;gap:.35rem;min-width:0}.map-editor-field--wide{grid-column:span 2}.map-editor-field--span{max-width:168px}.map-editor-field--toggle{max-width:160px}.map-editor-field--actions{justify-self:end}@media(min-width:900px){.map-editor-props-grid{grid-template-columns:minmax(120px,1fr) minmax(120px,1.2fr) minmax(140px,1.4fr) minmax(100px,.7fr) auto auto auto}.map-editor-field--wide{grid-column:auto}.map-editor-field--actions{grid-column:auto;justify-self:end}.map-editor-props--overlay .map-editor-props-grid{grid-template-columns:1fr}.map-editor-props--overlay .map-editor-field--wide,.map-editor-props--overlay .map-editor-field--actions{grid-column:auto;justify-self:stretch}}.map-editor-field-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--d-muted)}.map-editor-field-note{margin:0;font-size:.72rem;font-weight:600;line-height:1.3;color:var(--d-danger)}.map-editor-field-note:empty{display:none}.map-editor-select{display:inline-flex;align-items:center;gap:.4rem;width:100%;min-height:40px;padding:.45rem .65rem;font-size:.9rem;font-weight:600;color:var(--d-text);background:var(--d-bg);border:1px solid var(--d-line);border-radius:10px;cursor:pointer;transition:border-color .15s,box-shadow .15s}.map-editor-select:hover,.map-editor-select.open{border-color:var(--d-primary)}.map-editor-select .material-symbols-outlined:first-child{font-size:20px;color:var(--d-primary)}.map-editor-select--text{justify-content:space-between}.map-editor-select-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.map-editor-segment{display:inline-flex;align-items:stretch;background:var(--d-bg);border:1px solid var(--d-line);border-radius:10px;overflow:hidden;width:fit-content}.map-editor-select--native{cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.map-editor-select--native:disabled{opacity:.65;cursor:wait}.map-editor-segment--span{width:auto}.map-editor-segment--span .map-editor-segment-btn{min-width:34px;min-height:34px;padding:0 .4rem;font-size:.82rem}.map-editor-btn--danger{color:#dc2626;border-color:#ef444459}.map-editor-btn--danger:hover,.map-editor-btn--danger.active{color:#dc2626;background:#ef444414;border-color:#dc2626}.map-editor-toggle{display:inline-flex;align-items:center;gap:.5rem;padding:0;border:none;background:transparent;cursor:pointer}.map-editor-toggle-track{position:relative;width:40px;height:22px;background:var(--d-line);border-radius:999px;transition:background .2s}.map-editor-toggle-thumb{position:absolute;top:2px;left:2px;width:18px;height:18px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;transition:transform .2s}.map-editor-toggle.active .map-editor-toggle-track{background:#d97706}.map-editor-toggle.active .map-editor-toggle-thumb{transform:translate(18px)}.map-editor-toggle-label{font-size:.88rem;font-weight:600;color:var(--d-muted)}.map-editor-toggle.active .map-editor-toggle-label{color:#b45309}.map-editor-segment-btn{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;padding:0 .55rem;font-size:.88rem;font-weight:700;color:var(--d-muted);background:transparent;border:none;border-right:1px solid var(--d-line);cursor:pointer;transition:background .15s,color .15s}.map-editor-segment-btn:last-child{border-right:none}.map-editor-segment-btn:hover{background:var(--d-bg-hover);color:var(--d-primary)}.map-editor-segment-btn.active{background:#0891b21f;color:var(--d-primary)}.map-editor-segment-btn--accent.active,.map-editor-segment-btn--accent:hover{color:var(--d-primary)}.map-editor-segment-btn--danger.active,.map-editor-segment-btn--danger:hover{color:#dc2626;background:#ef444414}.map-editor-segment-icon{width:20px;height:20px;object-fit:contain}.map-editor-segment-btn .material-symbols-outlined{font-size:20px}.dash-map-view .map-editor-btn,.dash-map-view .map-editor-select,.dash-map-view .map-editor-menu-type{font-size:.92rem}.map-toolbar-bar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.6rem 1rem;margin-bottom:1rem;background:var(--d-panel);border:1px solid var(--d-line);border-radius:var(--d-radius);box-shadow:0 1px 3px #0000000d}.map-toolbar-bar-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1rem;font-size:.92rem;font-weight:600;color:var(--d-text);background:var(--d-bg);border:1px solid var(--d-line);border-radius:999px;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.map-toolbar-bar-btn:hover{background:var(--d-bg-hover);border-color:var(--d-primary);color:var(--d-primary)}.map-toolbar-bar-btn.active{background:#0891b21f;border-color:var(--d-primary);color:var(--d-primary)}.map-toolbar-bar-btn .material-symbols-outlined{font-size:20px}.map-toolbar-panel{flex:1 1 100%;display:flex;flex-direction:column;gap:.55rem;padding-top:.55rem;margin-top:.35rem;border-top:1px solid var(--d-line)}.map-toolbar-panel-row{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.map-toolbar-panel-row--actions{padding-top:.15rem}.map-toolbar-bar-sep{width:1px;height:22px;background:var(--d-line);flex-shrink:0}.map-toolbar-bar-label{font-size:.8rem;font-weight:700;color:var(--d-muted);text-transform:uppercase;letter-spacing:.04em;margin-right:.15rem}.map-toolbar-bar-placeholder{font-size:.92rem;color:var(--d-muted);font-style:italic}.map-toolbar-bar-btn--config{border-color:var(--d-primary);color:var(--d-primary)}.map-toolbar-bar-btn--icon-only{padding:.5rem;min-width:36px}.map-toolbar-bar-btn--icon-only span:not(.material-symbols-outlined){display:none}.map-toolbar-bar-btn--span{min-width:2.25rem;padding:.4rem .5rem;font-size:.8rem;font-weight:700}.map-toolbar-bar-icon{width:18px;height:18px;object-fit:contain}.map-toolbar{display:flex;flex-wrap:wrap;flex-direction:row;align-items:flex-start;gap:.5rem;margin-left:auto}.map-toolbar-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.map-toolbar-row--main{gap:.5rem}.map-toolbar-actions-row{display:flex;align-items:center;gap:.75rem;min-height:48px;padding-top:.75rem;margin-top:.75rem;border-top:1px solid var(--d-line);flex-wrap:wrap}.map-toolbar-actions-inner{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;flex:1;min-width:0}.map-toolbar-placeholder{font-size:.8rem;color:var(--d-muted);font-style:italic}.map-toolbar-label{font-size:.7rem;font-weight:700;color:var(--d-muted);text-transform:uppercase;letter-spacing:.04em;margin-right:.25rem}.map-toolbar-group{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.map-toolbar-group--cell,.map-toolbar-group--safety,.map-toolbar-group--size{display:inline-flex;align-items:center;gap:.35rem;flex-shrink:0}.map-toolbar-group--actions{padding-left:.75rem;border-left:1px solid var(--d-line)}.map-toolbar-span{display:flex;align-items:center;gap:.25rem}.map-toolbar-span-label{font-size:.75rem;font-weight:600;color:var(--d-muted);margin-right:.25rem}.map-toolbar-btn--span{min-width:2.25rem;padding:.4rem .5rem;font-size:.8rem;font-weight:700}.map-toolbar-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem .75rem;font-size:.8rem;font-weight:600;color:var(--d-text);background:var(--d-panel);border:1px solid var(--d-line);border-radius:var(--d-radius);cursor:pointer;transition:background .15s,border-color .15s}.map-toolbar-btn:hover{background:var(--d-bg-hover);border-color:var(--d-primary)}.map-toolbar-btn.active{background:#0891b21f;border-color:var(--d-primary);color:var(--d-primary)}.map-toolbar-btn .material-symbols-outlined{font-size:18px}.map-toolbar-btn.small{padding:.35rem .6rem;font-size:.75rem}.map-toolbar-icon-img{width:18px;height:18px;object-fit:contain}.map-toolbar-divider{width:1px;height:24px;background:var(--d-line);flex-shrink:0}.map-toolbar-btn--icon-only{padding:.5rem;min-width:36px}.map-toolbar-btn--icon-only span:not(.material-symbols-outlined){display:none}.map-toolbar-dropdown{position:relative}.map-toolbar-chevron{font-size:16px!important;opacity:.7}.map-toolbar-menu{position:absolute;top:100%;left:0;right:auto;margin-top:.25rem;min-width:200px;background:var(--d-panel);border:1px solid var(--d-line);border-radius:var(--d-radius);box-shadow:0 4px 12px #0000001f;z-index:50;padding:.5rem}.map-toolbar-menu-title{display:block;font-size:.7rem;font-weight:700;color:var(--d-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.5rem;padding-bottom:.35rem;border-bottom:1px solid var(--d-line)}.map-toolbar-menu--grid{display:flex;flex-direction:column;gap:.15rem;min-width:200px}.map-toolbar-menu--grid .map-toolbar-menu-item{padding:.5rem .75rem;font-size:.85rem;width:100%;box-sizing:border-box}.map-toolbar-menu--form{padding:.75rem;min-width:260px}.map-toolbar-menu-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;font-size:.8rem;text-align:left;background:none;border:none;border-radius:6px;cursor:pointer;color:var(--d-text);transition:background .15s}.map-toolbar-menu-item:hover{background:var(--d-bg-hover)}.map-toolbar-menu-item .material-symbols-outlined{font-size:18px;color:var(--d-muted)}.map-toolbar-input{width:100%;padding:.5rem .75rem;font-size:.85rem;border:1px solid var(--d-line);border-radius:var(--d-radius);margin-bottom:.5rem;background:var(--d-bg);color:var(--d-text)}.map-toolbar-menu-row{display:flex;gap:.5rem;margin-top:.5rem}.map-floor-cell--editable{cursor:default}.map-cell-drag-handle{position:absolute;top:4px;right:4px;left:auto;z-index:5;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid var(--d-line);border-radius:8px;background:var(--d-panel);color:var(--d-primary);cursor:grab;box-shadow:0 1px 4px #00000014;transform:none;transition:background .15s,border-color .15s,transform .15s}.map-cell-drag-handle:hover{background:#0891b21a;border-color:var(--d-primary)}.map-cell-drag-handle:active{cursor:grabbing;transform:scale(1.05)}.map-cell-drag-handle .material-symbols-outlined{font-size:18px;pointer-events:none}@media(pointer:coarse){.map-cell-drag-handle{width:44px;height:44px}}body.map-is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}body.map-is-dragging .map-cell-drag-handle{cursor:grabbing}.map-floor-cell--selected{box-shadow:inset 0 0 0 3px var(--d-primary);z-index:2}.map-block-selected-mark{position:absolute;top:4px;left:4px;z-index:3;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:6px;background:var(--d-primary);color:#fff}.map-block-selected-mark .material-symbols-outlined{font-size:16px}.map-floor-cell--dragging{opacity:.5;pointer-events:none}.map-block-resize{position:absolute;top:0;bottom:0;z-index:4;width:44px;padding:0;border:0;background:transparent;cursor:ew-resize}.map-block-resize--left{left:0}.map-block-resize--right{right:0}.map-block-resize:after{content:"";position:absolute;top:22%;bottom:22%;width:4px;border-radius:999px;background:var(--d-primary);opacity:.75}.map-block-resize--left:after{left:3px}.map-block-resize--right:after{right:3px}.map-block-resize:hover:after,.map-block-resize:focus-visible:after{opacity:1}.map-block-corner{position:absolute;z-index:6;width:auto;height:auto;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;pointer-events:none}.map-block-corner--tl{top:5px;left:5px}.map-block-corner--tr{top:5px;right:5px}.map-block-corner--bl{bottom:5px;left:5px}.map-block-corner--br{bottom:5px;right:5px}.map-block-corner .map-marker{position:relative;left:auto;top:auto;transform:none;pointer-events:auto}.map-block-corner--target{width:28px;height:28px;pointer-events:auto;border:2px dashed var(--d-primary);border-radius:999px;background:#0891b229;box-shadow:0 0 0 3px #0891b21a;cursor:pointer}.map-block-corner--target:hover,.map-block-corner--target:focus-visible{background:#0891b247}.map-block-corner--occupied{pointer-events:none;opacity:.85}.map-floor-cell--placing{cursor:default}.map-floor-cell--placing-door{cursor:crosshair}.map-floor-cell:has(.map-room-door),.map-floor-cell:has(.map-door-walls){overflow:visible}.map-door-walls{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none}.map-door-wall{position:absolute;pointer-events:auto;padding:0;border:0;background:transparent;cursor:pointer}.map-door-wall--top{top:0;left:12%;right:12%;height:18px}.map-door-wall--bottom{bottom:0;left:12%;right:12%;height:18px}.map-door-wall--left{left:0;top:12%;bottom:12%;width:18px}.map-door-wall--right{right:0;top:12%;bottom:12%;width:18px}.map-floor-cell--placing-door .map-door-wall{background:color-mix(in srgb,var(--d-primary, #0891b2) 14%,transparent)}.map-door-wall:hover,.map-door-wall:focus-visible{background:color-mix(in srgb,var(--d-ink, #0f172a) 10%,transparent)}.map-room-door-anchor{position:absolute;width:0;height:0;z-index:5;pointer-events:none}.map-room-door{position:absolute;left:0;top:0;width:40px;height:40px;margin:-40px 0 0;padding:0;border:0;background:transparent;transform-origin:0% 100%;pointer-events:none;cursor:default;color:#475569}.map-room-door--editable{pointer-events:auto;cursor:grab}.map-room-door--editable:active{cursor:grabbing}.map-room-door-glyph{position:absolute;left:0;bottom:0;display:block;width:22px;height:22px;overflow:visible}.map-room-door-opening,.map-room-door-leaf,.map-room-door-arc{fill:none;vector-effect:non-scaling-stroke}.map-room-door-opening{stroke:var(--map-cell-fill, var(--d-bg, #f8fafc));stroke-width:5px;stroke-linecap:butt}.map-room-door-leaf,.map-room-door-arc{stroke:currentColor;stroke-linejoin:miter}.map-room-door-leaf{stroke-width:1.2px;stroke-linecap:square}.map-room-door-arc{stroke-width:.85px;stroke-linecap:butt;opacity:.72}.map-editor-door-actions{display:flex;flex-wrap:wrap;gap:.4rem}.map-editor-save{display:inline-flex;align-items:center;gap:.45rem;margin:0;font-size:.78rem;font-weight:700;color:var(--d-muted)}.map-editor-save--error{color:var(--d-danger)}.map-editor-save-retry{padding:.2rem .55rem;font-size:.75rem;font-weight:700;color:var(--d-primary);background:#0891b21a;border:1px solid rgba(8,145,178,.35);border-radius:999px;cursor:pointer}.map-editor-save-retry:hover{background:#0891b22e}.map-marker-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none}.map-marker{position:absolute;display:inline-flex;align-items:center;justify-content:center;padding:0;border:2px solid transparent;border-radius:14px;box-shadow:0 6px 16px #0f172a29;cursor:default;pointer-events:none;color:#fff;transition:box-shadow .15s ease,transform .15s ease}.map-marker .material-symbols-outlined{font-size:16px;font-variation-settings:"FILL" 1,"wght" 600,"GRAD" 0,"opsz" 24}.map-marker--small{width:20px;height:20px;border-radius:6px;border-width:1px}.map-marker--small .material-symbols-outlined{font-size:11px}.map-marker--medium,.map-marker--large{width:32px;height:32px;border-radius:8px}.map-marker--medium .material-symbols-outlined,.map-marker--large .material-symbols-outlined{font-size:16px}.map-marker--extinguisher{background:linear-gradient(180deg,#ef4444,#b91c1c);border-color:#991b1b}.map-marker--exit{background:linear-gradient(180deg,#22c55e,#15803d);border-color:#166534}.map-marker--first_aid{background:linear-gradient(180deg,#f8fafc,#e2e8f0);border-color:#dc2626;color:#dc2626}.map-marker--meeting_point{background:linear-gradient(180deg,#22c4e6,#0891b2);border-color:#0e7490}.map-floor--editing .map-marker{pointer-events:auto;cursor:pointer}.map-floor--editing .map-marker:focus-visible{outline:3px solid var(--d-primary);outline-offset:3px}.map-marker--selected{box-shadow:0 0 0 3px var(--d-primary),0 8px 18px #0f172a33;z-index:5}.map-marker--dragging{cursor:pointer;transform:scale(1.06);z-index:6;transition:none}.map-marker-selected-mark{position:absolute;top:-6px;right:-6px;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:6px;background:var(--d-primary);color:#fff}.map-marker-selected-mark .material-symbols-outlined{font-size:14px}@media(max-width:639px){.map-editor-menu-type,.map-editor-segment-btn,.map-editor-btn,.map-block-resize{min-width:44px;min-height:44px}.map-editor-props--overlay{top:8px;right:8px;width:min(320px,calc(100% - 16px))}}@media(prefers-reduced-motion:reduce){.map-marker,.map-marker--dragging{transition:none;transform:none}}:root[data-theme=dark] .map-marker{box-shadow:0 8px 20px #02061773}:root[data-theme=dark] .map-marker--extinguisher{background:linear-gradient(180deg,#f87171,#b91c1c)}:root[data-theme=dark] .map-marker--exit{background:linear-gradient(180deg,#4ade80,#15803d)}:root[data-theme=dark] .map-marker--first_aid{background:linear-gradient(180deg,#1e293b,#0f172a);border-color:#f87171;color:#fca5a5}:root[data-theme=dark] .map-marker--meeting_point{background:linear-gradient(180deg,#67e8f9,#0891b2);color:#082f49}:root[data-theme=dark] .map-marker--selected{box-shadow:0 0 0 3px var(--d-primary),0 10px 24px #0206178c}:root[data-theme=dark] .map-editor-save-retry{background:#22c4e61f;border-color:#22c4e659}.map-toolbar-type-row{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.map-toolbar-bar-btn--type{padding:.35rem .55rem;font-size:.72rem;gap:.25rem}.map-toolbar-bar-btn--type span:last-child{max-width:5.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-toolbar-bar-btn--type .material-symbols-outlined{font-size:16px}.map-toolbar-bar-label--sub{font-weight:500;opacity:.85}.map-toolbar-inline-form{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;width:100%;margin-top:.25rem}.map-toolbar-inline-form .map-toolbar-input{flex:1 1 140px;min-width:120px}.map-edit-hint{margin:0;font-size:.88rem;color:var(--d-muted);flex:1 1 auto;line-height:1.4;display:inline-flex;align-items:center;gap:.25rem}.map-edit-hint-icon{font-size:18px!important;color:var(--d-primary);vertical-align:middle}.map-floor-cell--editable.map-floor-cell--selected:before{content:none}.map-floor-cell--editable{position:relative}@media(prefers-reduced-motion:reduce){.map-canvas,.map-floor-cell,.map-cell-drag-handle{transition:none}.map-cell-drag-handle:active{transform:none}}.map-label-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0f172a59;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.map-label-popover{width:min(100%,380px);padding:1.1rem 1.15rem;background:var(--d-panel);border:1px solid var(--d-line);border-radius:14px;box-shadow:0 12px 40px #00000026}.map-label-popover-header{display:flex;gap:.75rem;align-items:flex-start;margin-bottom:.85rem}.map-label-popover-icon{font-size:28px;color:var(--d-primary);background:#0891b21a;border-radius:10px;padding:.35rem}.map-label-popover-title{margin:0 0 .2rem;font-size:1.05rem;font-weight:700;color:var(--d-text)}.map-label-popover-sub{margin:0;font-size:.88rem;color:var(--d-muted);line-height:1.35}.map-label-quick-picks{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.75rem;max-height:96px;overflow-y:auto}.map-label-chip{padding:.35rem .65rem;font-size:.82rem;font-weight:600;border-radius:999px;border:1px solid var(--d-line);background:var(--d-bg);color:var(--d-text);cursor:pointer;transition:background .15s,border-color .15s}.map-label-chip:hover,.map-label-chip.active{border-color:var(--d-primary);background:#0891b21a;color:var(--d-primary)}.map-label-input{width:100%;box-sizing:border-box;padding:.65rem .75rem;font-size:.95rem;border:1px solid var(--d-line);border-radius:10px;background:var(--d-bg);color:var(--d-text);margin-bottom:.85rem}.map-label-input:focus{outline:none;border-color:var(--d-primary);box-shadow:0 0 0 3px #0891b226}.map-label-popover-actions{display:flex;justify-content:flex-end;gap:.5rem}.dash-map-view .dash-page-sub,.dash-map-view .dash-map-legend h3{font-size:1rem}.dash-map-view .dash-map-legend-row{font-size:.95rem}.dash-map-view .map-floor-empty p{font-size:1.05rem}.dash-map-view .map-toolbar-bar-btn--type{font-size:.82rem}.map-section-select{display:flex;align-items:center;gap:.5rem}.map-section-label{font-size:.8rem;font-weight:600;color:var(--d-muted)}.map-section-select-el{padding:.4rem .75rem;font-size:.85rem;border:1px solid var(--d-line);border-radius:var(--d-radius);background:var(--d-panel);color:var(--d-text);min-width:120px}.map-toolbar-btn--config{border-color:var(--d-primary);color:var(--d-primary)}.map-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.map-modal{background:var(--d-panel);border:1px solid var(--d-line);border-radius:var(--d-radius-lg);box-shadow:0 8px 32px #0003;max-width:420px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.map-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--d-line)}.map-modal-header h3{margin:0;font-size:1.1rem;font-weight:700}.map-modal-close{background:none;border:none;padding:.35rem;cursor:pointer;color:var(--d-muted);border-radius:var(--d-radius)}.map-modal-close:hover{color:var(--d-text);background:var(--d-bg-hover)}.map-modal-body{padding:1.25rem;overflow-y:auto}.map-modal-loading{margin:0;color:var(--d-muted);font-size:.9rem}.map-modal-field{margin-bottom:1rem}.map-modal-field:last-child{margin-bottom:0}.map-modal-field label{display:block;font-size:.8rem;font-weight:600;color:var(--d-text);margin-bottom:.35rem}.map-modal-field--row{display:flex;align-items:center;gap:.5rem}.map-modal-field--row label{margin-bottom:0;order:1}.map-modal-field--row input[type=checkbox]{width:1.1rem;height:1.1rem}.map-modal-hint{margin:.35rem 0 0;font-size:.75rem;color:var(--d-muted)}.map-modal-footer{display:flex;justify-content:flex-end;gap:.5rem;padding:1rem 1.25rem;border-top:1px solid var(--d-line)}.dash-energy-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}@media(min-width:1024px){.dash-energy-grid{grid-template-columns:repeat(4,1fr)}}.dash-energy-card{background:var(--d-panel);border:1px solid var(--d-line);border-radius:var(--d-radius-lg);padding:1.5rem;box-shadow:0 1px 3px #0000000a}.dash-energy-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.dash-energy-icon{width:48px;height:48px;border-radius:var(--d-radius);display:flex;align-items:center;justify-content:center}.dash-energy-icon .material-symbols-outlined{font-size:26px}.dash-energy-icon.blue{background:#3b82f61f;color:#2563eb}.dash-energy-icon.amber{background:#f59e0b1f;color:#d97706}.dash-energy-icon.green{background:#22c55e1f;color:#16a34a}.dash-energy-icon.primary{background:#0891b21f;color:var(--d-primary)}.dash-energy-label{font-size:.7rem;font-weight:700;color:var(--d-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .25rem}.dash-energy-value{font-size:1.75rem;font-weight:800;margin:0}.dash-energy-trend{font-size:.7rem;font-weight:700;padding:.2rem .5rem;border-radius:999px;margin-top:.5rem;display:inline-flex;align-items:center;gap:.25rem}.dash-energy-trend.up{background:#22c55e1f;color:#16a34a}.dash-energy-trend.down{background:#ef44441f;color:#dc2626}.dash-section-divider{height:1px;background:var(--d-line);margin:1.5rem 0}.dash-placeholder{padding:3rem;text-align:center;color:var(--d-muted);background:var(--d-panel);border:1px dashed var(--d-line);border-radius:var(--d-radius-lg)}.dash-history-toolbar{display:flex;align-items:center;justify-content:flex-start;gap:.8rem;margin-bottom:1.25rem}.dash-history-toolbar-label{font-size:.72rem;font-weight:800;color:var(--d-muted);text-transform:uppercase;letter-spacing:.05em}.dash-history-periods{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem;background:#94a3b814;border:1px solid var(--d-line);border-radius:999px}.dash-history-period-btn{border:none;background:transparent;color:var(--d-muted);font-size:.82rem;font-weight:700;padding:.45rem .8rem;border-radius:999px;cursor:pointer;transition:background .15s,color .15s,box-shadow .15s}.dash-history-period-btn:hover{color:var(--d-primary)}.dash-history-period-btn.active{background:var(--d-panel);color:var(--d-primary);box-shadow:0 1px 2px #0f172a14}.dash-history-range-badge{margin:.35rem 0 0;font-size:.85rem;font-weight:800;color:var(--d-primary);letter-spacing:.02em}.dash-history-toolbar-wrap{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.25rem}.dash-history-toolbar-wrap .dash-history-toolbar{margin-bottom:0}.dash-history-toolbar-row--combined{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem 1.25rem;padding:.65rem .85rem;background:#94a3b80d;border:1px solid var(--d-line);border-radius:14px}.dash-history-toolbar-cluster{display:flex;flex-direction:column;gap:.35rem;min-width:0}.dash-history-toolbar-cluster--right{margin-left:auto;align-items:flex-end}.dash-history-toolbar-cluster .dash-history-toolbar-label{margin:0}.dash-history-toolbar-row--date{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1rem}.dash-history-date-nav{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .35rem;background:#94a3b80f;border:1px solid var(--d-line);border-radius:12px}.dash-history-date-nav-btn{display:inline-flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;border:none;border-radius:10px;background:var(--d-panel);color:var(--d-primary);cursor:pointer;transition:background .15s,transform .12s}.dash-history-date-nav-btn:hover{background:#0891b21f}.dash-history-date-nav-btn:active{transform:scale(.96)}.dash-history-date-input{border:1px solid var(--d-line);border-radius:10px;padding:.45rem .65rem;font-size:.88rem;font-weight:700;color:var(--d-ink);background:var(--d-bg);min-width:11rem;cursor:pointer}.dash-history-date-input:focus{outline:none;border-color:#0891b28c;box-shadow:0 0 0 3px #0891b21f}.dash-history-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem}.dash-history-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,1fr);gap:1.25rem;margin-bottom:1.5rem}.dash-history-card{background:var(--d-panel);border:1px solid var(--d-line);border-radius:var(--d-radius-lg);padding:1.2rem 1.25rem;box-shadow:0 1px 3px #0000000a}.dash-history-card--wide{min-height:340px}.dash-history-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.dash-history-card-header h3{margin:0 0 .2rem;font-size:1rem;font-weight:800;color:var(--d-ink)}.dash-history-card-header p{margin:0;font-size:.82rem;color:var(--d-muted)}.dash-history-chart-block{display:flex;align-items:stretch;gap:.5rem;min-height:230px}.dash-history-chart-y-axis{display:flex;flex-direction:column;justify-content:space-between;flex-shrink:0;width:1.75rem;padding:.5rem 0 1.6rem;font-size:.65rem;color:var(--d-muted);text-align:right;line-height:1}.dash-history-chart-y-axis span:first-child{align-self:flex-end}.dash-history-chart{flex:1;min-width:0;display:grid;grid-template-columns:repeat(var(--history-chart-cols, 7),minmax(0,1fr));align-items:end;gap:.35rem .45rem;min-height:230px;padding:.5rem 0 .25rem;overflow-x:auto}.dash-history-chart-col{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:.55rem;height:100%}.dash-history-chart-col span{font-size:.65rem;color:var(--d-muted);white-space:nowrap;text-align:center;max-width:100%}.dash-history-bar{width:100%;max-width:56px;min-height:16px;border-radius:10px 10px 4px 4px;background:linear-gradient(180deg,#0891b285,#0891b2e6);box-shadow:inset 0 -6px 12px #ffffff24}.dash-history-bar.is-peak{background:linear-gradient(180deg,#0e7490b8,#0891b2)}.dash-history-bar--nodata{min-height:4px;background:color-mix(in srgb,var(--d-muted) 18%,transparent);box-shadow:none}.dash-history-progress-list{display:flex;flex-direction:column;gap:.95rem}.dash-history-progress-item{display:flex;flex-direction:column;gap:.45rem}.dash-history-progress-meta{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.83rem;color:var(--d-ink)}.dash-history-progress-meta strong{font-size:.8rem;color:var(--d-muted)}.dash-history-progress-track{width:100%;height:8px;border-radius:999px;overflow:hidden;background:#e8f1f6}.dash-history-progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#5bbfe2,var(--d-primary))}.dash-history-progress-hint{margin:0;color:var(--d-muted);font-size:.7rem;font-weight:650}.dash-history-data-notice{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem;padding:.85rem 1rem;border:1px solid rgba(217,119,6,.28);border-radius:var(--d-radius);background:#f59e0b14;color:var(--d-ink)}.dash-history-data-notice>.material-symbols-outlined{margin-top:.05rem;color:#b45309;font-size:1.25rem}.dash-history-data-notice>div{display:flex;flex-direction:column;gap:.15rem}.dash-history-data-notice strong{font-size:.84rem;font-weight:700}.dash-history-data-notice span:not(.material-symbols-outlined){color:var(--d-muted);font-size:.78rem;line-height:1.45}.dash-history-data-notice--error{border-color:#dc262640;background:#dc262612}.dash-history-data-notice--error>.material-symbols-outlined{color:#dc2626}.dash-history-data-notice .map-editor-save-retry{margin-left:auto;align-self:center}.flow-overview-note{margin:.55rem 0 0;color:var(--d-muted);font-size:.78rem;font-weight:620}.dash-history-empty-state{display:flex;min-height:148px;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;padding:1.5rem;border:1px dashed var(--d-line);border-radius:var(--d-radius);background:var(--d-bg-soft);text-align:center}.dash-history-empty-state .material-symbols-outlined{margin-bottom:.15rem;color:var(--d-primary);font-size:1.5rem}.dash-history-empty-state strong{color:var(--d-ink);font-size:.88rem}.dash-history-empty-state span:not(.material-symbols-outlined){color:var(--d-muted);font-size:.78rem}.dash-history-heatmap{display:flex;flex-direction:column;gap:.45rem;overflow-x:auto;padding-bottom:.25rem;min-width:0}.dash-history-heatmap-head,.dash-history-heatmap-row{display:grid;grid-template-columns:40px repeat(var(--heatmap-hour-cols, 6),minmax(18px,1fr));gap:.25rem .2rem;align-items:center;min-width:min(100%,calc(40px + var(--heatmap-hour-cols, 6) * 28px))}.dash-history-heatmap-head span:not(:first-child),.dash-history-heatmap-row .dash-history-heatmap-cell{min-width:0}.dash-history-heatmap-head span,.dash-history-heatmap-day{font-size:.62rem;color:var(--d-muted)}.dash-history-heatmap-head span:not(:first-child){text-align:center;letter-spacing:-.02em}.dash-history-heatmap-cell{display:block;height:22px;border-radius:6px;background:linear-gradient(135deg,#0891b28c,#0891b2)}.dash-history-heatmap-cell--nodata{background:color-mix(in srgb,var(--d-muted) 16%,var(--d-bg-soft, #eef3f6));box-shadow:none}.dash-history-heatmap-cell:focus-visible{outline:2px solid var(--d-primary);outline-offset:2px;opacity:1!important}.dash-history-table-card{padding-top:1rem}.dash-history-table-wrap{overflow-x:auto}.dash-history-table{width:100%;border-collapse:collapse}.dash-history-table th,.dash-history-table td{padding:.8rem .65rem;text-align:left;border-bottom:1px solid var(--d-line);font-size:.84rem}.dash-history-table th{font-size:.68rem;font-weight:800;color:var(--d-muted);text-transform:uppercase;letter-spacing:.05em}.dash-history-table tbody tr:hover{background:#0891b208}.dash-history-status{display:inline-flex;align-items:center;padding:.25rem .55rem;border-radius:999px;font-size:.7rem;font-weight:700}.dash-history-status--available{background:#94a3b829;color:#475569}.dash-history-status--occupied{background:#22c55e24;color:#15803d}.dash-history-status--maintenance{background:#f59e0b29;color:#b45309}.dash-cuenta-card{background:var(--d-panel);border:1px solid var(--d-line);border-radius:var(--d-radius-lg);padding:1.25rem 1.5rem;margin-bottom:1rem;box-shadow:0 1px 3px #0000000a}.dash-cuenta-card-title{display:flex;align-items:center;gap:.5rem;font-size:.95rem;font-weight:700;color:var(--d-ink);margin:0 0 .5rem}.dash-cuenta-card-title .material-symbols-outlined{font-size:20px;color:var(--d-primary)}.dash-cuenta-card-value{font-size:1rem;color:var(--d-ink);margin:0}.dash-cuenta-card-desc{font-size:.9rem;color:var(--d-muted);margin:0 0 .75rem}.dash-cuenta-link{font-size:.9rem;color:var(--d-primary);font-weight:600;text-decoration:none}.dash-cuenta-link:hover{text-decoration:underline}.dash-cuenta-actions{margin-top:1.5rem}.dash-cuenta-btn{padding:.6rem 1.25rem;border-radius:var(--d-radius);font-size:.9rem;font-weight:600;cursor:pointer;border:none;transition:background .2s,color .2s}.dash-cuenta-btn--secondary{background:var(--d-bg);color:var(--d-ink);border:1px solid var(--d-line)}.dash-cuenta-btn--secondary:hover{background:var(--d-panel);border-color:var(--d-muted)}.dash-cuenta-section{margin-bottom:2rem}.dash-cuenta-section-title{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:700;color:var(--d-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .75rem}.dash-cuenta-section-title .material-symbols-outlined{font-size:20px;color:var(--d-primary)}.dash-cuenta-btn--primary{background:var(--d-primary);color:#fff}.dash-cuenta-btn--primary:hover{background:var(--d-primary-dark);color:#fff}.dash-cuenta-form{display:flex;flex-direction:column;gap:1rem;margin-top:.5rem}.dash-cuenta-field{display:flex;flex-direction:column;gap:.35rem}.dash-cuenta-label{font-size:.85rem;font-weight:600;color:var(--d-ink)}.dash-cuenta-input{padding:.6rem .75rem;border:1px solid var(--d-line);border-radius:var(--d-radius);font-size:.95rem;background:var(--d-bg);color:var(--d-ink)}.dash-cuenta-input:focus{outline:none;border-color:var(--d-primary);box-shadow:0 0 0 2px #0891b226}.dash-cuenta-form-actions{display:flex;gap:.75rem;margin-top:.5rem}.dash-cuenta-msg{font-size:.9rem;margin:0}.dash-cuenta-msg--success{color:#15803d;font-weight:600}.dash-cuenta-msg--error{color:#b91c1c}.dash-cuenta-card--muted{background:var(--d-bg);border-color:var(--d-line)}@media(max-width:900px){.dash-kpi-grid{grid-template-columns:1fr 1fr}.dash-history-kpis,.dash-history-grid{grid-template-columns:1fr}.dash-map-area{min-width:100%}.dash-rooms-grid{grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr))}.dash-map-wrap--canvas{gap:.75rem;align-items:stretch}.map-overview-panel{grid-template-columns:1fr}.map-overview-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.map-canvas-wrap{order:1}.dash-map-wrap--canvas .dash-map-legend{order:2;width:100%;max-width:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem .9rem}.dash-map-wrap--canvas .dash-map-legend h3{grid-column:1 / -1}.map-toolbar-bar{gap:.45rem;padding:.65rem}.map-toolbar-bar-btn{min-height:2.2rem;padding:.3rem .55rem;font-size:.78rem}.map-canvas-wrap{width:100%;min-width:0;overflow:auto;-webkit-overflow-scrolling:touch;align-items:flex-start;padding:.9rem 3.25rem calc(.9rem + env(safe-area-inset-bottom,0px)) .75rem}.map-floor-cell{min-width:0}}@media(max-width:640px){.app{min-height:100dvh}.dash-kpi-grid{grid-template-columns:1fr}.dash-history-toolbar,.dash-history-toolbar-row--date{flex-direction:column;align-items:flex-start}.dash-history-date-input{width:100%;max-width:100%}.dash-energy-grid{grid-template-columns:1fr}.map-floor{width:100%}.dash-view-header{align-items:flex-start;gap:.75rem}.dash-view-logo{height:46px}.dash-page-title{font-size:1.45rem}.dash-page-sub{margin-bottom:1rem}.dash-room-card-body{padding:1rem}.dash-map-wrap--canvas{gap:.75rem}.map-overview-copy,.map-overview-stat{padding:.9rem}.map-overview-stats{grid-template-columns:1fr}.dash-map-wrap--canvas .dash-map-legend{order:2;grid-template-columns:1fr 1fr;padding:.75rem;font-size:.8rem}.dash-map-wrap--canvas .dash-map-legend-row{margin-bottom:0}.map-toolbar-bar{position:sticky;top:0;z-index:14;overflow-x:auto;flex-wrap:nowrap;padding:.55rem;margin-bottom:.65rem;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.map-toolbar-bar-btn{flex:0 0 auto}.map-toolbar-bar-label,.map-toolbar-bar-placeholder{white-space:nowrap}.map-canvas-wrap{order:1;min-width:0;padding:.6rem 2.85rem calc(.65rem + env(safe-area-inset-bottom,0px)) .55rem;min-height:220px}.map-floor{gap:.35rem}.map-floor-cell{min-height:72px;min-width:0;padding:.35rem .25rem}.map-grid-guide,.map-block-preview{min-height:72px}.map-cell-name{font-size:.72rem;line-height:1.25;max-width:100%;text-align:center;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.map-cell-count{font-size:.95rem}.map-cell-icon{font-size:.9rem}.map-controls{bottom:max(.55rem,env(safe-area-inset-bottom,0px));right:max(.4rem,env(safe-area-inset-right,0px));z-index:5}.map-control-btn{width:40px;height:40px}.map-controls-zoom .map-control-btn{min-height:38px}.map-toolbar-menu{max-width:min(100vw - 1.5rem,20rem);right:0;left:auto}.map-toolbar-dropdown{position:relative;z-index:20}.dash-rooms-grid{grid-template-columns:1fr}}.dash-sidebar-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:190;border:none;padding:0;margin:0;background:#0f172a73;opacity:0;pointer-events:none;transition:opacity .22s ease;cursor:pointer;-webkit-tap-highlight-color:transparent}.dash-sidebar-backdrop.is-visible{display:block;opacity:1;pointer-events:auto}@media(max-width:959px){.dash-header-left{display:flex}.dash-menu-btn{display:inline-flex}.dash-mobile-section-bar{display:flex;align-items:center;gap:.4rem;margin:0 max(.85rem,env(safe-area-inset-left,0px)) .5rem;padding:.35rem .6rem .35rem .7rem;background:var(--d-panel);border:1px solid var(--d-line);border-radius:var(--d-radius);box-shadow:0 1px 3px #0000000d}.dash-mobile-section-icon{font-size:20px;color:var(--d-muted);flex:0 0 auto}.dash-mobile-section-caption{font-size:.78rem;font-weight:700;color:var(--d-muted);text-transform:uppercase;letter-spacing:.04em;flex:0 0 auto}.dash-mobile-section-select{flex:1 1 auto;min-width:0;min-height:40px;border:none;background:transparent;color:var(--d-ink);font:inherit;font-size:.95rem;font-weight:700;padding:0 .4rem;text-align:right;text-align-last:right;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none}.dash-mobile-section-select:focus-visible{outline:2px solid var(--d-primary);outline-offset:2px;border-radius:6px}.dash-sidebar{position:fixed;top:0;left:0;bottom:0;width:min(300px,88vw);min-width:unset;max-width:100%;z-index:200;transform:translate(-105%);transition:transform .26s cubic-bezier(.22,1,.36,1);box-shadow:none;border-right:1px solid var(--d-line);padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}.dash-sidebar.dash-sidebar--open{transform:translate(0);box-shadow:12px 0 40px #0f172a1f}.dash-sidebar-brand{padding:1rem 1.25rem;justify-content:flex-start}.dash-sidebar-nav{padding:0 .85rem}.dash-nav-item{justify-content:flex-start;padding:.65rem .75rem;min-height:44px}.dash-nav-item span:not(.material-symbols-outlined){display:inline}.dash-sidebar-bottom{padding:0 .85rem max(.75rem,env(safe-area-inset-bottom,0px))}.dash-sidebar-footer{padding-bottom:max(.5rem,env(safe-area-inset-bottom,0px))}.dash-main{width:100%;min-width:0}.dash-content{padding:1rem max(.85rem,env(safe-area-inset-right,0px)) 1.25rem max(.85rem,env(safe-area-inset-left,0px));padding-bottom:max(1.25rem,env(safe-area-inset-bottom,0px));-webkit-overflow-scrolling:touch}.dash-header-right{gap:.5rem}.dash-header-time .date{display:none}.dash-header-time .time{font-size:1.05rem}.dash-header-account-email{max-width:42vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-header-notifications-dropdown{position:fixed;left:max(.5rem,env(safe-area-inset-left,0px));right:max(.5rem,env(safe-area-inset-right,0px));top:calc(74px + env(safe-area-inset-top,0px));width:auto;max-width:none;max-height:min(70vh,520px);z-index:1100}.dash-header-account-dropdown{position:fixed;left:max(.5rem,env(safe-area-inset-left,0px));right:max(.5rem,env(safe-area-inset-right,0px));top:calc(70px + env(safe-area-inset-top,0px));width:auto;min-width:unset;max-height:min(60vh,400px);overflow-y:auto;z-index:1090}}@media(max-width:480px){.dash-header{height:auto;min-height:52px;flex-direction:column;align-items:stretch;gap:.4rem;padding-left:max(.45rem,env(safe-area-inset-left,0px));padding-right:max(.45rem,env(safe-area-inset-right,0px));padding-top:max(.2rem,env(safe-area-inset-top,0px));padding-bottom:.4rem}.dash-header-left{display:flex;width:100%;padding-bottom:.35rem;border-bottom:1px solid var(--d-line);margin-bottom:.1rem;align-items:center;gap:.35rem}.dash-header-right{width:100%;margin-left:0;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;row-gap:.25rem;column-gap:.2rem}.dash-header-time{display:none}.dash-header-icon-btn,.dash-theme-toggle{width:44px;height:44px;min-width:44px}.dash-header-icon-btn .material-symbols-outlined,.dash-theme-toggle .material-symbols-outlined{font-size:22px}.dash-header-account-btn{min-height:44px;padding:.3rem .5rem}.dash-header-notifications-dropdown,.dash-header-account-dropdown{top:max(6.1rem,calc(env(safe-area-inset-top,0px) + 4.6rem))!important}.dash-content{padding:.7rem max(.9rem,env(safe-area-inset-right,0px)) 1.1rem max(.9rem,env(safe-area-inset-left,0px))}.dash-header-right{justify-content:center;column-gap:.45rem}.dash-page-title{font-size:1.28rem;word-break:break-word}.dash-page-sub{font-size:.86rem;margin-bottom:1rem;line-height:1.5}.dash-view-header{margin-left:0;gap:.7rem;margin-bottom:1rem;padding:.85rem .9rem}.dash-rooms-grid{gap:.95rem}.dash-kpi-card{padding:.9rem 1rem}.map-toolbar-bar{margin-bottom:.5rem}.dash-map-legend{order:2;font-size:.75rem;padding:.55rem .65rem}.map-canvas-wrap{order:1;padding-left:.45rem;padding-right:2.6rem}}@media(max-width:420px){.dash-header-account-email{display:none}.dash-header-account-btn{padding:.35rem .5rem}.dash-header-page-title{font-size:.95rem}.dash-header-right{gap:.35rem}.dash-header-time{display:none}}@media(min-width:641px)and (max-width:1023px){.dash-rooms-grid{grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:1.1rem}.dash-content{padding:1.25rem 1.25rem 1.5rem}.dash-page-title{font-size:1.6rem}.dash-map-legend{grid-template-columns:repeat(4,minmax(0,1fr))}.dash-history-grid{grid-template-columns:1fr;gap:1rem}}@media(min-width:1024px)and (max-width:1279px){.dash-rooms-grid{grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr))}}.device-panel{margin-bottom:1.25rem;max-width:640px}.device-panel--highlight{border-color:#0891b2;background:linear-gradient(180deg,#f0fdfa,#fff)}.device-creds-grid{display:flex;flex-wrap:wrap;gap:1.25rem;align-items:flex-start;margin-top:.75rem}.device-creds-qr{border-radius:10px;border:1px solid #cbd5e1}.device-creds-fields p{margin:.35rem 0}.device-copied{color:#15803d;font-size:.85rem}.device-uid{font-family:ui-monospace,monospace;font-size:.85rem;color:#64748b;margin:.25rem 0}.device-status-badge{font-size:.75rem;font-weight:700;padding:.2rem .55rem;border-radius:999px}.device-status-badge.is-on{background:#dcfce7;color:#15803d}.device-status-badge.is-off{background:#f1f5f9;color:#64748b}.device-card-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.dash-history-view .history-overview-panel{display:grid;grid-template-columns:minmax(240px,.9fr) minmax(360px,1.6fr);gap:.65rem;align-items:stretch;margin-bottom:.85rem}.dash-history-view .history-overview-copy{position:relative;overflow:hidden;padding:.75rem .9rem;border:1px solid rgba(8,145,178,.16);border-radius:var(--d-radius-lg);background:radial-gradient(circle at 0% 0%,rgba(8,145,178,.12),transparent 18rem),var(--d-panel);box-shadow:0 8px 22px #0f172a0b}.dash-history-view .history-overview-copy:after{content:"";position:absolute;right:-44px;bottom:-56px;width:150px;height:150px;opacity:.45;border:1px solid rgba(8,145,178,.12);border-radius:50%;box-shadow:0 0 0 22px #0891b209}.dash-history-view .history-overview-kicker{display:inline-flex;align-items:center;gap:.4rem;color:var(--d-primary);font-size:var(--d-fs-label);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.dash-history-view .history-overview-kicker:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--d-primary);box-shadow:0 0 0 5px #0891b21f}.dash-history-view .history-overview-copy h3{position:relative;z-index:1;margin:.28rem 0 .18rem;color:var(--d-ink);font-size:clamp(1.05rem,1.45vw,1.28rem);line-height:1.15;letter-spacing:-.03em;text-wrap:balance}.dash-history-view .history-overview-copy p{position:relative;z-index:1;max-width:36rem;margin:0;color:var(--d-muted);font-size:var(--d-fs-small);line-height:1.4;text-wrap:pretty}.dash-history-view .history-overview-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}.dash-history-view .history-overview-stat{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.28rem;min-width:0;padding:.55rem .4rem;text-align:center;border:1px solid var(--d-line);border-radius:var(--d-radius-lg);background:var(--d-panel);box-shadow:0 8px 22px #0f172a0b}.dash-history-view .history-overview-stat .material-symbols-outlined{display:grid;width:28px;height:28px;flex-shrink:0;place-items:center;border-radius:9px;background:#0891b21a;color:var(--d-primary);font-size:16px}.dash-history-view .history-overview-stat strong{color:var(--d-ink);font-size:clamp(1.45rem,1.8vw,1.7rem);font-weight:750;font-variant-numeric:tabular-nums;line-height:1;letter-spacing:-.04em}.dash-history-view .history-overview-stat small{max-width:7.6rem;color:var(--d-muted);font-size:var(--d-fs-label);font-weight:700;line-height:1.25;text-wrap:balance}.dash-history-view .history-overview-stat--ok .material-symbols-outlined{background:#22c55e1f;color:#16a34a}.dash-history-view .history-overview-stat--busy .material-symbols-outlined{background:#ef44441a;color:#dc2626}.dash-history-view .history-overview-stat--name strong{max-width:100%;overflow:hidden;font-size:clamp(.95rem,1.2vw,1.15rem);letter-spacing:-.03em;text-overflow:ellipsis;white-space:nowrap}.dash-history-view .history-overview-aux{grid-column:1 / -1;display:flex;align-items:center;gap:.65rem;min-width:0}.dash-history-view .history-dual-meters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.55rem;flex:1;min-width:0}.dash-history-view .history-dual-meters .history-occupancy-meter{flex:none}@media(max-width:720px){.dash-history-view .history-overview-aux{flex-wrap:wrap}.dash-history-view .history-dual-meters{width:100%;grid-template-columns:1fr}}.dash-history-view .history-occupancy-meter{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.55rem;align-items:center;flex:1;min-width:0;min-height:2.5rem;padding:.35rem .7rem;border:1px solid var(--d-line);border-radius:999px;background:var(--d-panel)}.dash-history-view .history-occupancy-label{display:flex;flex-direction:column;gap:.08rem;color:var(--d-muted);font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.dash-history-view .history-occupancy-label small{font-size:.62rem;font-weight:650;letter-spacing:0;text-transform:none;opacity:.82}.dash-history-view .history-occupancy-track{height:4px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--d-primary) 12%,var(--d-bg-soft))}.dash-history-view .history-occupancy-track span{display:block;height:100%;border-radius:inherit;background:var(--d-primary);transition:width .28s cubic-bezier(.23,1,.32,1)}.dash-history-view .history-occupancy-meter strong{color:var(--d-ink);font-size:.82rem;font-weight:750;font-variant-numeric:tabular-nums;letter-spacing:-.03em}.dash-history-view .history-occupancy-meter--nodata .history-occupancy-track span{width:0!important;opacity:0}.dash-history-view .history-occupancy-meter--nodata strong{color:var(--d-muted);font-weight:650}.dash-history-view .dash-history-coverage-note{display:flex;align-items:flex-start;gap:.45rem;margin:.65rem 0 0;padding:.55rem .75rem;border:1px solid rgba(8,145,178,.22);border-radius:var(--d-radius);background:#0891b20f;color:var(--d-muted);font-size:.78rem;line-height:1.45}.dash-history-view .dash-history-coverage-note .material-symbols-outlined{flex-shrink:0;margin-top:.05rem;color:var(--d-primary);font-size:1.05rem}.dash-history-view .history-peak-chip{display:inline-flex;align-items:center;gap:.28rem;min-height:2.5rem;padding:0 .75rem;border:1px solid var(--d-line);border-radius:999px;background:var(--d-panel);color:var(--d-muted);font-size:.72rem;font-weight:750;letter-spacing:.02em;white-space:nowrap}.dash-history-view .history-peak-chip .material-symbols-outlined{font-size:1rem;color:var(--d-primary)}.dash-history-view .dash-history-toolbar-wrap{grid-column:1 / -1;margin:0}.dash-history-view .dash-history-toolbar-label{display:none}.dash-history-view .dash-history-toolbar-row--combined{align-items:center;padding:.45rem .65rem;border-color:#94a3b83d;background:var(--d-panel);box-shadow:0 8px 22px #0f172a0b}.dash-history-view .dash-history-toolbar-cluster{gap:0}.dash-history-view .dash-history-card{padding:.95rem 1rem;border-color:#94a3b83d;box-shadow:0 8px 22px #0f172a0b}.dash-history-view .dash-history-card-header{margin-bottom:.7rem}.dash-history-view .dash-history-card-header h3{margin:0;font-size:.92rem;letter-spacing:-.02em}.dash-history-view .dash-history-grid{gap:.85rem;margin-bottom:.85rem}.dash-history-view .dash-history-card--wide{min-height:0}.dash-history-view .dash-history-chart-block,.dash-history-view .dash-history-chart{min-height:200px}.dash-history-view .dash-history-bar{max-width:44px;border-radius:999px 999px 5px 5px;background:linear-gradient(180deg,#0891b257,#0891b2c7);box-shadow:none}.dash-history-view .dash-history-bar.is-peak{background:linear-gradient(180deg,#0891b27a,#0891b2eb)}.dash-history-view .dash-history-progress-list{gap:.7rem}.dash-history-view .dash-history-progress-track{height:4px;background:color-mix(in srgb,var(--d-primary) 12%,var(--d-bg-soft));box-shadow:none}.dash-history-view .dash-history-progress-fill{background:var(--d-primary)}.dash-history-view .dash-history-heatmap-cell{height:18px;border-radius:5px;background:linear-gradient(135deg,#0891b261,#0891b2eb)}.dash-history-view .dash-history-heatmap-cell--nodata{background:color-mix(in srgb,var(--d-muted) 14%,var(--d-bg-soft))}.dash-history-view .dash-history-empty-state{min-height:108px;padding:1rem}.dash-history-view .dash-placeholder{min-height:0;padding:1.25rem}.dash-history-view .dash-room-card--usage{min-height:0}.dash-history-view .dash-room-card--usage .dash-room-card-body{padding:.85rem .95rem}.dash-history-view .dash-room-card--usage .dash-room-card-header{margin-bottom:.2rem}.dash-history-view .dash-room-card-usage{display:flex;align-items:baseline;gap:.4rem;margin:.2rem 0 .7rem;padding:0;border:0}.dash-history-view .dash-room-card-usage-value{font-size:clamp(1.7rem,3vw,2.25rem);font-weight:750;letter-spacing:-.04em;line-height:1}.dash-history-view .dash-room-card-usage-label{font-size:var(--d-fs-small);font-weight:600}.dash-history-view .dash-room-card-dual{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.85rem;margin-top:.45rem}.dash-history-view .dash-room-card-dual .dash-room-card-usage{margin:0 0 .4rem}.dash-history-view .dash-room-card-dual-hint{margin:.35rem 0 0;color:var(--d-muted);font-size:.72rem;font-weight:600}.dash-history-view .dash-room-card--usage .dash-room-card-dual>div:first-child .dash-room-card-usage-value,.dash-history-view .dash-room-card--usage .dash-room-card-dual>div:first-child .history-usage-track span{color:var(--d-primary)}.dash-history-view .history-usage-track{height:4px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--d-primary) 12%,var(--d-bg-soft))}.dash-history-view .history-usage-track span{display:block;height:100%;border-radius:inherit;background:currentColor}.dash-history-view .dash-room-card--usage-low .history-usage-track span{color:#b45309}.dash-history-view .dash-room-card--usage-mid .history-usage-track span{color:var(--d-primary)}.dash-history-view .dash-room-card--usage-high .history-usage-track span{color:#059669}@media(max-width:1100px){.dash-history-view .history-overview-panel{grid-template-columns:1fr}}@media(max-width:640px){.dash-history-view .history-overview-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-history-view .history-overview-aux{flex-wrap:wrap}.dash-history-view .history-occupancy-meter{min-width:0;width:100%;flex:1 1 100%}.dash-history-view .history-peak-chip{margin-left:auto}}.dash-map-view .dash-view-header{margin-bottom:.55rem}.dash-map-view .dash-page-sub{margin-bottom:0}.dash-map-view .map-overview-panel{grid-template-columns:minmax(240px,.9fr) minmax(360px,1.6fr);gap:.65rem;margin-bottom:.55rem}.dash-map-view .map-overview-copy{padding:.75rem .9rem;box-shadow:0 8px 22px #0f172a0b}.dash-map-view .map-overview-copy:after{opacity:.45}.dash-map-view .map-overview-kicker{font-size:var(--d-fs-label)}.dash-map-view .map-overview-copy h3{margin:.28rem 0 .18rem;font-size:clamp(1.05rem,1.45vw,1.28rem)}.dash-map-view .map-overview-desc p,.dash-map-view .map-overview-copy p{font-size:var(--d-fs-small);line-height:1.4}.dash-map-view .map-editor-btn--primary{min-width:10.25rem;justify-content:center}.dash-map-view .map-editor-top-hint{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-map-view .map-overview-stats{gap:.5rem}.dash-map-view .map-overview-stat{padding:.55rem .4rem;gap:.28rem;box-shadow:0 8px 22px #0f172a0b}.dash-map-view .map-overview-stat .material-symbols-outlined{width:28px;height:28px;border-radius:9px;font-size:16px}.dash-map-view .map-overview-stat strong{font-size:clamp(1.45rem,1.8vw,1.7rem)}.dash-map-view .map-overview-stat small{font-size:var(--d-fs-label)}.dash-map-view .map-editor{margin-bottom:.55rem}.dash-map-view .dash-map-wrap--canvas{gap:0}.dash-map-view .map-canvas-wrap{min-height:clamp(560px,70vh,820px);padding:clamp(1rem,2vw,2rem)}@media(max-width:640px){.dash-map-view .map-overview-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.dash-map-view .map-canvas-wrap{min-height:0;padding:.75rem .75rem calc(3.9rem + env(safe-area-inset-bottom,0px));align-items:center;justify-content:center}.dash-map-view .map-floor{width:720px;min-width:720px;max-width:none;gap:.4rem}.dash-map-view .map-floor-cell{min-height:68px;min-width:0}.dash-map-view .map-controls{flex-direction:row;align-items:center;bottom:max(.5rem,env(safe-area-inset-bottom,0px));right:50%;transform:translate(50%);gap:.4rem}.dash-map-view .map-controls-zoom{flex-direction:row}.dash-map-view .map-controls-zoom .map-control-btn{border-bottom:none;border-right:1px solid var(--d-line)}.dash-map-view .map-controls-zoom .map-control-btn:last-child{border-right:none}.dash-map-view .map-control-btn{width:42px;height:42px;min-height:42px}}.dash-rooms-view .rooms-overview-panel{display:grid;grid-template-columns:minmax(240px,.9fr) minmax(360px,1.6fr);gap:.65rem;align-items:stretch;margin-bottom:.85rem}.dash-rooms-view .rooms-overview-copy{position:relative;overflow:hidden;padding:.75rem .9rem;border:1px solid rgba(8,145,178,.16);border-radius:var(--d-radius-lg);background:radial-gradient(circle at 0% 0%,rgba(8,145,178,.12),transparent 18rem),var(--d-panel);box-shadow:0 8px 22px #0f172a0b}.dash-rooms-view .rooms-overview-copy:after{content:"";position:absolute;right:-44px;bottom:-56px;width:150px;height:150px;opacity:.45;border:1px solid rgba(8,145,178,.12);border-radius:50%;box-shadow:0 0 0 22px #0891b209}.dash-rooms-view .rooms-overview-kicker{display:inline-flex;align-items:center;gap:.4rem;color:var(--d-primary);font-size:var(--d-fs-label);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.dash-rooms-view .rooms-overview-kicker:before{content:"";width:7px;height:7px;border-radius:50%;background:#10b981;box-shadow:0 0 0 5px #10b9811f}.dash-rooms-view .rooms-overview-copy h3{position:relative;z-index:1;margin:.28rem 0 .18rem;color:var(--d-ink);font-size:clamp(1.05rem,1.45vw,1.28rem);line-height:1.15;letter-spacing:-.03em;text-wrap:balance}.dash-rooms-view .rooms-overview-copy p{position:relative;z-index:1;max-width:36rem;margin:0;color:var(--d-muted);font-size:var(--d-fs-small);line-height:1.4;text-wrap:pretty}.dash-rooms-view .rooms-overview-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}.dash-rooms-view .rooms-overview-stat{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.28rem;min-width:0;padding:.55rem .4rem;text-align:center;border:1px solid var(--d-line);border-radius:var(--d-radius-lg);background:var(--d-panel);box-shadow:0 8px 22px #0f172a0b}.dash-rooms-view .rooms-overview-stat .material-symbols-outlined{display:grid;width:28px;height:28px;flex-shrink:0;place-items:center;border-radius:9px;background:#0891b21a;color:var(--d-primary);font-size:16px}.dash-rooms-view .rooms-overview-stat strong{color:var(--d-ink);font-size:clamp(1.45rem,1.8vw,1.7rem);font-weight:750;font-variant-numeric:tabular-nums;line-height:1;letter-spacing:-.04em}.dash-rooms-view .rooms-overview-stat small{max-width:7.6rem;color:var(--d-muted);font-size:var(--d-fs-label);font-weight:700;line-height:1.25;text-wrap:balance}.dash-rooms-view .rooms-overview-stat--ok .material-symbols-outlined{background:#22c55e1f;color:#16a34a}.dash-rooms-view .rooms-overview-stat--busy .material-symbols-outlined{background:#ef44441a;color:#dc2626}.dash-rooms-view .rooms-overview-stat--hold .material-symbols-outlined{background:#f59e0b1f;color:var(--d-warn)}.dash-rooms-view .rooms-overview-aux{grid-column:1 / -1;display:flex;align-items:center;gap:.65rem;min-width:0}.dash-rooms-view .rooms-occupancy-meter{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.55rem;align-items:center;flex:1;min-width:0;min-height:2.5rem;padding:.35rem .7rem;border:1px solid var(--d-line);border-radius:999px;background:var(--d-panel)}.dash-rooms-view .rooms-occupancy-label{color:var(--d-muted);font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.dash-rooms-view .rooms-occupancy-track{height:4px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--d-primary) 12%,var(--d-bg-soft))}.dash-rooms-view .rooms-occupancy-track span{display:block;height:100%;border-radius:inherit;background:var(--d-primary);transition:width .28s cubic-bezier(.23,1,.32,1)}.dash-rooms-view .rooms-occupancy-meter strong{color:var(--d-ink);font-size:.82rem;font-weight:750;font-variant-numeric:tabular-nums;letter-spacing:-.03em}.dash-rooms-view .rooms-signal{position:relative;flex:0 0 auto}.dash-rooms-view .rooms-signal summary{display:inline-flex;align-items:center;justify-content:center;gap:.28rem;min-width:2.5rem;min-height:2.5rem;padding:0 .7rem;list-style:none;border:1px solid var(--d-line);border-radius:999px;background:var(--d-panel);color:var(--d-muted);font-size:.72rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:border-color .16s cubic-bezier(.23,1,.32,1),color .16s ease,transform .12s cubic-bezier(.23,1,.32,1),background-color .16s ease}.dash-rooms-view .rooms-signal summary::-webkit-details-marker{display:none}.dash-rooms-view .rooms-signal summary .material-symbols-outlined{font-size:1rem}.dash-rooms-view .rooms-signal summary:hover{border-color:#0891b259;color:var(--d-primary)}.dash-rooms-view .rooms-signal summary:active{transform:scale(.96)}.dash-rooms-view .rooms-signal summary:focus-visible{outline:3px solid rgba(8,145,178,.24);outline-offset:2px}.dash-rooms-view .rooms-signal[open] summary{border-color:#0891b266;background:#0891b214;color:var(--d-primary)}.dash-rooms-view .rooms-signal-panel{position:absolute;top:calc(100% + .4rem);right:0;z-index:20;display:grid;gap:.45rem;min-width:min(26rem,calc(100vw - 3rem));padding:.7rem .8rem .75rem;border:1px solid var(--d-line);border-radius:12px;background:var(--d-panel);box-shadow:0 12px 28px #0f172a1f;transform-origin:top right}.dash-rooms-view .rooms-signal-panel .chain-status-real{margin-bottom:0}.dash-rooms-view .rooms-signal-panel .chain-status-hint{margin-top:0}.dash-rooms-view .rooms-signal[open] .rooms-signal-panel{animation:rooms-signal-in .18s cubic-bezier(.23,1,.32,1)}@keyframes rooms-signal-in{0%{opacity:0;transform:translateY(-4px) scale(.97)}to{opacity:1;transform:none}}.dash-rooms-view .rooms-signal-kicker{color:var(--d-muted);font-size:.66rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.dash-rooms-view .rooms-signal-row{display:grid;grid-template-columns:6.2rem 1fr;gap:.1rem .55rem;align-items:baseline}.dash-rooms-view .rooms-signal-row-value{display:flex;flex-direction:column;min-width:0}.dash-rooms-view .rooms-signal-panel time{color:var(--d-muted);font-size:.78rem;font-weight:650;font-variant-numeric:tabular-nums;line-height:1.35;letter-spacing:-.01em}.dash-rooms-view .rooms-signal-room,.dash-rooms-view .rooms-signal-empty{color:var(--d-muted);font-size:.75rem;font-weight:650}.dash-rooms-view .rooms-empty-copy{margin-bottom:1rem;opacity:.9}.dash-rooms-view .rooms-empty-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.dash-rooms-view .rooms-empty-toolbar .rooms-empty-copy{margin-bottom:0}@media(hover:hover)and (pointer:fine){.dash-rooms-view .rooms-signal summary:hover{border-color:#0891b259}}@media(prefers-reduced-motion:reduce){.dash-rooms-view .rooms-occupancy-track span,.dash-rooms-view .rooms-signal summary,.dash-rooms-view .rooms-signal[open] .rooms-signal-panel{transition:none;animation:none}}.dash-room-card--live{--room-accent: var(--d-primary);--room-accent-rgb: 8, 145, 178;position:relative;isolation:isolate;min-height:208px;border-color:color-mix(in srgb,var(--room-accent) 18%,var(--d-card-border));border-radius:20px;background:radial-gradient(circle at 88% 8%,rgba(var(--room-accent-rgb),.1),transparent 36%),var(--d-panel);box-shadow:0 12px 32px #0f172a12}.dash-rooms-view .dash-rooms-grid{grid-template-columns:repeat(auto-fill,minmax(300px,350px))}.dash-room-card--live:before{content:"";position:absolute;z-index:-1;inset:0 auto 0 0;width:4px;border-radius:20px 0 0 20px;background:var(--room-accent)}.dash-room-card--live:after{content:"";position:absolute;z-index:-1;top:-32px;right:-24px;width:120px;height:120px;border:1px solid rgba(var(--room-accent-rgb),.1);border-radius:50%;pointer-events:none}.dash-room-card--live.dash-room-card--available{--room-accent: var(--d-ok);--room-accent-rgb: 34, 197, 94}.dash-room-card--live.dash-room-card--occupied{--room-accent: var(--d-primary);--room-accent-rgb: 8, 145, 178}.dash-room-card--live.dash-room-card--offline{--room-accent: #b45309;--room-accent-rgb: 180, 83, 9}.dash-room-card--live.dash-room-card--maintenance{--room-accent: var(--d-warn);--room-accent-rgb: 245, 158, 11}.dash-room-card--live.dash-room-card--nodevice,.dash-room-card--live.dash-room-card--nofirst{--room-accent: #64748b;--room-accent-rgb: 100, 116, 139}.dash-room-card--live .dash-room-card-body{display:flex;flex-direction:column;min-height:inherit;padding:1.35rem 1.4rem 1.25rem 1.55rem}.dash-room-card--live .dash-room-card-header{position:relative;z-index:1;gap:1rem;margin-bottom:1.15rem}.dash-room-identity{min-width:0}.dash-room-eyebrow{display:block;margin-bottom:.22rem;color:var(--room-accent);font-size:.65rem;font-weight:800;letter-spacing:.11em;line-height:1;text-transform:uppercase}.dash-room-card--live .dash-room-card-title{overflow:hidden;color:var(--d-ink);font-size:1.05rem;font-weight:760;letter-spacing:-.025em;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.dash-room-card--live .dash-room-card-meta{display:flex;align-items:center;gap:.22rem;margin-top:.28rem;font-size:.76rem;font-weight:560}.dash-room-card--live .dash-room-card-meta .material-symbols-outlined{font-size:.9rem}.dash-room-card--live .dash-room-badge{display:inline-flex;align-items:center;gap:.42rem;padding:.38rem .62rem;border:1px solid rgba(var(--room-accent-rgb),.16);background:rgba(var(--room-accent-rgb),.1);color:var(--room-accent);font-size:.7rem;letter-spacing:.01em}.dash-room-badge-dot{width:.42rem;height:.42rem;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px rgba(var(--room-accent-rgb),.12)}.dash-room-stale{margin:.35rem 0 0;color:var(--d-muted);font-size:.75rem;font-weight:650}.dash-room-badge.offline{background:#b453091f;color:#b45309}.dash-room-card--live:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--room-accent) 34%,var(--d-card-border));box-shadow:0 18px 42px #0f172a1c}.dash-room-presence{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem}.dash-room-occupancy-icon-wrap{display:grid;width:2.65rem;height:2.65rem;place-items:center;border:1px solid rgba(var(--room-accent-rgb),.14);border-radius:13px;background:rgba(var(--room-accent-rgb),.09)}.dash-room-occupancy{display:flex;align-items:center;gap:.55rem;min-width:0;margin:0}.dash-room-occupancy-icon{color:var(--room-accent);font-size:1.35rem}.dash-room-occupancy-count{font-size:clamp(2.35rem,4vw,3rem);font-weight:760;font-variant-numeric:tabular-nums;letter-spacing:-.055em;line-height:1;color:var(--d-ink)}.dash-room-occupancy-label{display:flex;flex-direction:column;gap:.08rem;font-size:var(--d-fs-small);font-weight:700;line-height:1.05;color:var(--d-muted)}.dash-room-occupancy-label small{font-size:.65rem;font-weight:560;letter-spacing:.01em}.dash-room-usage{display:flex;flex-direction:column;align-items:flex-end;min-width:4.4rem;padding-left:.85rem;border-left:1px solid var(--d-line)}.dash-room-usage strong{color:var(--d-ink);font-size:1.05rem;font-variant-numeric:tabular-nums;letter-spacing:-.035em;line-height:1.1}.dash-room-usage span{color:var(--d-muted);font-size:.65rem;font-weight:620}.dash-room-capacity{margin-top:auto;padding-top:1.15rem}.dash-room-capacity-head{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.52rem}.dash-room-capacity-label{font-size:.68rem;font-weight:700;letter-spacing:.025em;color:var(--d-muted)}.dash-room-capacity-text{font-size:.7rem;font-weight:750;font-variant-numeric:tabular-nums;color:var(--d-ink)}.dash-room-capacity-track{height:6px;border-radius:999px;background:color-mix(in srgb,var(--room-accent) 11%,var(--d-line));overflow:hidden}.dash-room-capacity-fill{display:block;height:100%;border-radius:inherit;background:var(--room-accent);box-shadow:0 0 10px rgba(var(--room-accent-rgb),.28);transition:width .42s var(--d-ease)}@media(max-width:1100px){.dash-rooms-view .rooms-overview-panel{grid-template-columns:minmax(0,1fr)}}@media(max-width:640px){.dash-rooms-view .dash-rooms-grid{grid-template-columns:minmax(0,350px)}.dash-rooms-view .rooms-overview-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-rooms-view .rooms-overview-aux{flex-wrap:wrap}.dash-rooms-view .rooms-occupancy-meter{min-width:0;width:100%;flex:1 1 100%}.dash-rooms-view .rooms-signal{margin-left:auto}.dash-room-card--live{min-height:204px}.dash-room-card--live .dash-room-card-body{padding:1.2rem 1.15rem 1.15rem 1.3rem}.dash-room-usage{min-width:3.9rem;padding-left:.65rem}}.config-room-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.config-room-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;background:radial-gradient(circle at 100% 0%,rgba(8,145,178,.08),transparent 10rem),var(--d-panel);border:1px solid color-mix(in srgb,var(--d-primary) 14%,var(--d-line));border-radius:var(--d-radius-lg);padding:1.2rem 1.25rem 1.25rem;text-align:left;cursor:pointer;box-shadow:var(--d-shadow-card);transition:transform .18s var(--d-ease),border-color .18s ease,box-shadow .18s ease}.config-room-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--d-primary) 40%,var(--d-line));box-shadow:var(--d-shadow-card-hover)}.config-room-icon.material-symbols-outlined{display:inline-flex;align-items:center;justify-content:center;flex:0 0 42px;box-sizing:border-box;width:42px;height:42px;margin-bottom:.9rem;border:1px solid color-mix(in srgb,var(--d-primary) 22%,var(--d-line));border-radius:12px;background:#0891b21a;color:var(--d-primary);font-size:22px;line-height:1;text-align:center;transition:background .18s ease,color .18s ease,border-color .18s ease}.config-room-card:hover .config-room-icon{background:#0891b229;border-color:color-mix(in srgb,var(--d-primary) 40%,var(--d-line))}.config-room-eyebrow{font-size:.68rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--d-primary)}.config-room-name{margin:.3rem 0 0;font-size:1.05rem;font-weight:700;letter-spacing:-.01em;color:var(--d-ink);overflow-wrap:anywhere}.config-room-meta{margin:.35rem 0 0;font-size:.85rem;color:var(--d-muted)}.config-room-go{position:absolute;top:1.35rem;right:1.25rem;font-size:20px;color:var(--d-muted);opacity:0;transform:translate(-6px);transition:opacity .18s ease,transform .18s var(--d-ease)}.config-room-card:hover .config-room-go,.config-room-card:focus-visible .config-room-go{opacity:1;transform:translate(0);color:var(--d-primary)}.room-config-panel{gap:1.15rem}.room-config-hero{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem 1.25rem;padding:1.15rem 1.25rem;border:1px solid color-mix(in srgb,var(--d-primary) 18%,var(--d-line));border-radius:var(--d-radius-lg);background:radial-gradient(circle at 0% 0%,rgba(8,145,178,.1),transparent 14rem),var(--d-panel);box-shadow:var(--d-shadow-card);position:static}.room-config-hero-main{display:flex;align-items:flex-start;gap:.9rem;min-width:min(100%,280px);flex:1}.room-config-hero-copy{min-width:0}.room-config-hero-copy .dash-page-title{margin:0}.room-config-hero-meta{display:flex;flex-wrap:wrap;gap:.4rem .65rem;margin:.4rem 0 0;color:var(--d-muted);font-size:.85rem}.room-config-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .55rem;border-radius:999px;background:#0891b21a;color:var(--d-primary-dark);font-size:.72rem;font-weight:700}.room-settings-card-v2{overflow:hidden;border:1px solid color-mix(in srgb,var(--d-primary) 16%,var(--d-line));border-radius:18px;background:var(--d-panel);box-shadow:var(--d-shadow-card)}.room-settings-v2-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border-bottom:1px solid var(--d-line);background:linear-gradient(110deg,rgba(8,145,178,.11),rgba(8,145,178,.025) 60%,transparent)}.room-settings-v2-title{display:flex;align-items:center;gap:.75rem;min-width:0}.room-settings-v2-icon.material-symbols-outlined{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:2.75rem;height:2.75rem;border-radius:13px;background:var(--d-primary);color:#fff;font-size:1.25rem;line-height:1;box-shadow:0 8px 18px -12px var(--d-primary)}.room-settings-v2-title h4{margin:0;color:var(--d-ink);font-size:1.1rem}.room-settings-v2-title p{margin:.16rem 0 0;color:var(--d-muted);font-size:.82rem;line-height:1.35}.room-settings-preview{display:flex;align-items:center;gap:.55rem;max-width:25rem;padding:.55rem .75rem;border:1px solid rgba(8,145,178,.22);border-radius:13px;background:color-mix(in srgb,var(--d-panel) 92%,var(--d-primary) 8%);color:var(--d-primary-dark)}.room-settings-preview>.material-symbols-outlined{font-size:1.15rem}.room-settings-preview>span:last-child{display:grid;gap:.05rem;min-width:0}.room-settings-preview small{color:var(--d-primary);font-size:var(--d-fs-min);font-weight:800;letter-spacing:.07em;text-transform:uppercase}.room-settings-preview strong{color:var(--d-ink);font-size:.82rem;overflow-wrap:anywhere}.room-settings-v2-body{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(20rem,.85fr);gap:.8rem;padding:.9rem}.room-settings-zone{min-width:0;padding:.9rem;border:1px solid var(--d-line);border-radius:15px;background:var(--d-bg)}.room-settings-zone--schedule{background:linear-gradient(145deg,rgba(8,145,178,.055),transparent 55%),var(--d-bg)}.room-settings-zone-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.75rem}.room-settings-zone-icon.material-symbols-outlined,.room-settings-metric-icon.material-symbols-outlined{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:2.25rem;height:2.25rem;border-radius:10px;background:#0891b21a;color:var(--d-primary);font-size:1.1rem;line-height:1}.room-settings-zone-head div>span{display:block;color:var(--d-primary);font-size:var(--d-fs-min);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.room-settings-zone-head h5{margin:.1rem 0 0;color:var(--d-ink);font-size:.98rem}.room-settings-day-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.3rem}.room-settings-day{min-width:0;min-height:2.75rem;padding:.35rem .2rem;border:1px solid var(--d-line);border-radius:10px;background:var(--d-panel);color:var(--d-muted);font:inherit;font-size:var(--d-fs-min);font-weight:800;cursor:pointer;transition:background .15s,border-color .15s,color .15s,transform .15s}.room-settings-day:hover{border-color:#0891b273;color:var(--d-ink);transform:translateY(-1px)}.room-settings-day:focus-visible,.room-settings-time-window select:focus-visible,.room-settings-note-editor textarea:focus-visible{outline:3px solid rgba(8,145,178,.18);outline-offset:1px;border-color:var(--d-primary)}.room-settings-day.is-on{border-color:var(--d-primary);background:var(--d-primary);color:#fff;box-shadow:0 5px 14px -10px var(--d-primary)}.room-settings-time-window{display:grid;grid-template-columns:minmax(0,1fr) 2rem minmax(0,1fr);align-items:end;gap:.45rem;margin-top:.75rem}.room-settings-time-window label{display:grid;gap:.25rem;color:var(--d-muted);font-size:var(--d-fs-min);font-weight:750}.room-settings-time-window select{width:100%;min-height:2.75rem;padding:.45rem .6rem;border:1px solid var(--d-line);border-radius:10px;background:var(--d-panel);color:var(--d-ink);font:inherit;font-weight:750}.room-settings-time-arrow{align-self:center;display:grid;place-items:center;width:2rem;height:2rem;margin-top:1.15rem;border-radius:50%;background:#0891b21a;color:var(--d-primary);font-size:1rem}.room-settings-metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.room-settings-metric{display:grid;grid-template-columns:2.25rem minmax(0,1fr);align-items:center;gap:.55rem;min-width:0;padding:.65rem;border:1px solid var(--d-line);border-radius:12px;background:var(--d-panel);transition:border-color .15s,box-shadow .15s}.room-settings-metric:focus-within{border-color:var(--d-primary);box-shadow:0 0 0 3px #0891b221}.room-settings-metric-body{display:grid;gap:.12rem;min-width:0}.room-settings-metric-label{color:var(--d-muted);font-size:var(--d-fs-min);font-weight:750}.room-settings-metric-control{display:flex;align-items:baseline;gap:.25rem;min-width:0}.room-settings-metric-control input{width:100%;min-width:0;padding:.15rem 0;border:0;outline:0;background:transparent;color:var(--d-ink);font:inherit;font-size:1.15rem;font-weight:800}.room-settings-metric-control>span{flex:none;color:var(--d-muted);font-size:var(--d-fs-min)}.room-settings-note-v2{overflow:hidden;margin-top:.55rem;border:1px solid var(--d-line);border-radius:12px;background:var(--d-panel)}.room-settings-note-v2 summary{display:grid;grid-template-columns:2.25rem minmax(0,1fr) 1.25rem;align-items:center;gap:.55rem;min-height:3rem;padding:.55rem .65rem;list-style:none;cursor:pointer}.room-settings-note-v2 summary::-webkit-details-marker{display:none}.room-settings-note-v2 summary::marker{content:""}.room-settings-note-v2 summary:focus-visible{outline:3px solid rgba(8,145,178,.18);outline-offset:-3px}.room-settings-note-body{display:grid;gap:.05rem}.room-settings-note-body strong{color:var(--d-ink);font-size:.85rem}.room-settings-note-body small{color:var(--d-muted);font-size:var(--d-fs-min)}.room-settings-note-v2 summary>.material-symbols-outlined:last-child{color:var(--d-muted);font-size:1.15rem;transition:transform .18s}.room-settings-note-v2[open] summary>.material-symbols-outlined:last-child{transform:rotate(180deg)}.room-settings-note-editor{padding:0 .65rem .65rem}.room-settings-note-editor textarea{display:block;width:100%;min-height:4rem;padding:.6rem;border:1px solid var(--d-line);border-radius:10px;background:var(--d-bg);color:var(--d-ink);font:inherit;resize:vertical}.room-settings-v2-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem .9rem;border-top:1px solid var(--d-line);background:var(--d-bg)}.room-settings-feedback{flex:1;min-width:0}.room-settings-feedback .dash-config-error,.room-settings-feedback .sensor-ok-msg{margin:0;padding:.45rem .7rem;font-size:var(--d-fs-min)}.room-settings-save-hint{display:inline-flex;align-items:center;gap:.35rem;color:var(--d-muted);font-size:var(--d-fs-min)}.room-settings-save-hint .material-symbols-outlined{font-size:.95rem}.room-settings-save-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;flex:0 0 auto;min-height:2.75rem;margin-top:0}.room-settings-save-btn .material-symbols-outlined{font-size:1.1rem}.room-settings-save-btn:disabled .material-symbols-outlined{animation:spin 1s linear infinite}.room-config-module-head{display:flex;align-items:flex-start;gap:.7rem;margin-bottom:.95rem}.room-config-module-icon.material-symbols-outlined{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:11px;background:#0891b21a;color:var(--d-primary);font-size:20px;line-height:1;flex-shrink:0}.room-config-module-head h4{margin:0;font-size:1rem;color:var(--d-ink)}.room-config-module-head p{margin:.2rem 0 0;font-size:.8rem;color:var(--d-muted);line-height:1.4}.room-config-sensors{display:flex;flex-direction:column;gap:.85rem;padding:1.15rem 1.2rem;border:1px solid var(--d-line);border-radius:var(--d-radius-lg);background:var(--d-panel);box-shadow:var(--d-shadow-card)}.room-config-sensors .room-sensors-head{display:flex;align-items:flex-start;gap:.7rem}.room-config-sensors .room-sensors-head h4{margin:0;color:var(--d-ink)}.room-config-sensors .room-sensors-head p{margin:.2rem 0 0;font-size:.8rem;color:var(--d-muted)}.sensor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.sensor-card{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;background:var(--d-panel);border:1px solid var(--d-line);border-radius:var(--d-radius-lg);padding:1.1rem;text-align:left;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.sensor-card:hover{transform:translateY(-2px);border-color:var(--d-primary);box-shadow:0 10px 24px -14px #0891b280}.sensor-card-top{display:flex;width:100%;align-items:flex-start;justify-content:space-between;margin-bottom:.25rem}.sensor-card-visual{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:16px;background:linear-gradient(160deg,#f8fafc,#eef2f6);border:1px solid var(--d-line)}.sensor-card-img{width:44px;height:44px;object-fit:contain;filter:none}.sensor-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.sensor-dot.on{background:#16a34a;box-shadow:0 0 0 3px #16a34a2e}.sensor-dot.off{background:#cbd5e1}.sensor-dot.warn{background:#d97706;box-shadow:0 0 0 3px #d9770633}.sensor-card-name{font-size:1rem;font-weight:700;color:var(--d-ink);margin:0}.sensor-product-badge{display:inline-flex;align-self:flex-start;margin:.15rem 0 .1rem;padding:.12rem .5rem;border-radius:999px;font-size:.68rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.sensor-product-badge--aura{background:#e0e7ff;color:#3730a3}.sensor-product-badge--aura-core{background:#ecfdf5;color:#047857}.sensor-panel-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.sensor-panel-title-row .dash-page-title{margin:0}.sensor-card-room{font-size:.85rem;color:var(--d-muted);margin:0}.sensor-card-status{margin-top:.35rem;font-size:.75rem;font-weight:600;padding:.15rem .55rem;border-radius:999px;background:#f1f5f9;color:var(--d-muted)}.sensor-card-status.ok{background:#dcfce7;color:#15803d}.sensor-card-status.pending{background:#fef3c7;color:#b45309}.sensor-card-status.error{background:#fee2e2;color:#b91c1c}.sensor-card--add{align-items:center;justify-content:center;text-align:center;border-style:dashed;color:var(--d-primary)}.sensor-add-icon{font-size:2.4rem;color:var(--d-primary)}.sensor-empty{display:flex;flex-direction:column;align-items:center;gap:.9rem;padding:3rem 1rem;color:var(--d-muted);text-align:center}.sensor-empty-logo{width:64px;opacity:.6}.sensor-panel{display:flex;flex-direction:column;gap:1rem}.sensor-panel-top{display:flex;align-items:center;gap:1rem}.sensor-back-btn{display:inline-flex;align-items:center;gap:.3rem;background:var(--d-panel);border:1px solid var(--d-line);border-radius:var(--d-radius);padding:.45rem .8rem;color:var(--d-ink);cursor:pointer;font-weight:600}.sensor-back-btn:hover{border-color:var(--d-primary);color:var(--d-primary)}.sensor-panel-title .dash-page-sub{display:flex;align-items:center;gap:.35rem}.sensor-ok-msg{background:#dcfce7;color:#15803d;border:1px solid #86efac;border-radius:var(--d-radius);padding:.6rem .9rem;font-size:.9rem}.sensor-tabs{display:flex;gap:.4rem;border-bottom:1px solid var(--d-line);flex-wrap:wrap}.sensor-tab{display:inline-flex;align-items:center;gap:.35rem;background:transparent;border:none;border-bottom:2px solid transparent;padding:.6rem .9rem;color:var(--d-muted);font-weight:600;cursor:pointer}.sensor-tab .material-symbols-outlined{font-size:1.1rem}.sensor-tab.is-active{color:var(--d-primary);border-bottom-color:var(--d-primary)}.sensor-tab-body{padding-top:.4rem}.sensor-panel-footer{display:flex;justify-content:flex-end;border-top:1px solid var(--d-line);padding-top:1rem}.sala-layout{display:grid;grid-template-columns:minmax(320px,1.2fr) minmax(280px,1fr);gap:1.2rem;align-items:start}.sala-visual{background:linear-gradient(180deg,#f8fbfd,#eef4f8);border:1px solid var(--d-line);border-radius:var(--d-radius-lg);padding:.6rem}.sala-form{display:flex;flex-direction:column;gap:.8rem}.sala-templates{display:flex;flex-wrap:wrap;gap:.4rem}.sala-template-btn{background:#f1f5f9;border:1px solid var(--d-line);border-radius:999px;padding:.35rem .7rem;font-size:.8rem;cursor:pointer;color:var(--d-ink)}.sala-template-btn:hover{border-color:var(--d-primary);color:var(--d-primary)}.sala-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.rs-num-field{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem}.rs-num-label{color:var(--d-muted);font-weight:600}.rs-num-label em{font-style:normal;opacity:.8}.rs-num-field input,.rs-num-field select,.rs-num-field textarea{border:1px solid var(--d-line);border-radius:var(--d-radius);padding:.5rem .6rem;font:inherit;color:var(--d-ink);background:var(--d-panel)}.rs-num-field input:focus,.rs-num-field select:focus,.rs-num-field textarea:focus{outline:none;border-color:var(--d-primary);box-shadow:0 0 0 3px #0891b224}.sala-check{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--d-ink)}.sala-errors{margin:0;padding-left:1.1rem;color:#b91c1c;font-size:.82rem}.room-studio{display:flex;flex-direction:column;gap:.4rem}.room-studio-svg{width:100%;height:auto;display:block;touch-action:pan-y}.room-studio-hint{font-size:.78rem;color:var(--d-muted);margin:0;text-align:center}@media(max-width:640px){.sala-form-grid{grid-template-columns:1fr}}.sala-range{display:flex;flex-direction:column;gap:.35rem;padding:.15rem .25rem .35rem}.sala-range-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.sala-range-label{font-size:.82rem;font-weight:600;color:var(--d-ink)}.sala-range-value{font-size:.9rem;font-weight:700;color:var(--d-primary);font-variant-numeric:tabular-nums}.sala-range-input{width:100%;height:1.35rem;margin:0;accent-color:var(--d-primary);cursor:pointer}.sala-range-hints{display:flex;justify-content:space-between;font-size:.72rem;color:var(--d-muted)}.rs-floor{fill:#e2ecf3;stroke:#b9cbd8;stroke-width:1}.rs-wall{stroke:#b9cbd8;stroke-width:1}.rs-wall--back{fill:#eef4f8}.rs-wall--left{fill:#dde8ef}.rs-grid{stroke:#cddbe6;stroke-width:.6}.rs-detection{fill:#0891b233;stroke:var(--d-primary);stroke-width:1.4;stroke-linejoin:round}.rs-mount-line{stroke:var(--d-primary-dark);stroke-width:1.4;stroke-dasharray:4 3;opacity:.6}.rs-table-top{fill:#cbb79b;stroke:#a3906f;stroke-width:1}.rs-table-side{fill:#b39f83;stroke:#a3906f;stroke-width:1}.rs-sensor{pointer-events:none}.rs-dim{fill:var(--d-primary-dark);font-size:13px;font-weight:700}.rs-handle{cursor:grab}.rs-handle:active{cursor:grabbing}.rs-handle circle{fill:var(--d-primary);stroke:#fff;stroke-width:2}.rs-handle text{fill:#fff;font-size:13px;font-weight:700;pointer-events:none}.sens-panel{display:flex;flex-direction:column;gap:1rem}.sens-presets{display:flex;flex-wrap:wrap;gap:.6rem}.sens-preset-btn{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;background:#f1f5f9;border:1px solid var(--d-line);border-radius:var(--d-radius);padding:.6rem .9rem;cursor:pointer;min-width:150px;text-align:left}.sens-preset-btn:hover{border-color:var(--d-primary)}.sens-preset-title{font-weight:700;color:var(--d-ink)}.sens-preset-desc{font-size:.78rem;color:var(--d-muted)}.sens-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.4rem}.sens-field{display:flex;flex-direction:column;gap:.3rem}.sens-field-head{display:flex;justify-content:space-between;align-items:baseline}.sens-field-label{font-weight:600;color:var(--d-ink);font-size:.88rem}.sens-field-value{font-weight:700;color:var(--d-primary)}.sens-range{width:100%;accent-color:var(--d-primary)}.sens-field-hints{display:flex;justify-content:space-between;font-size:.75rem;color:var(--d-muted)}.sens-difficulty{display:flex;gap:.4rem;flex-wrap:wrap}.sens-diff-btn{flex:1;min-width:120px;background:#f1f5f9;border:1px solid var(--d-line);border-radius:var(--d-radius);padding:.5rem;font-size:.8rem;cursor:pointer;color:var(--d-ink)}.sens-diff-btn.is-on{background:var(--d-primary);color:#fff;border-color:var(--d-primary)}.estado-layout{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.estado-card{background:var(--d-panel);border:1px solid var(--d-line);border-radius:var(--d-radius-lg);padding:1rem;display:flex;flex-direction:column;gap:.6rem}.estado-card h4{margin:0;color:var(--d-ink)}.estado-dl{display:grid;grid-template-columns:auto 1fr;gap:.35rem .9rem;margin:0;font-size:.88rem}.estado-dl dt{color:var(--d-muted);font-weight:600}.estado-dl dd{margin:0;color:var(--d-ink)}.estado-error{color:#b91c1c;font-size:.85rem;margin:0}.estado-hint{font-size:.8rem;color:var(--d-muted);margin:0}.estado-danger{border-color:#f2c2c2}.sensor-delete-btn{display:inline-flex;align-items:center;gap:.4rem;align-self:flex-start;padding:.5rem .9rem;border:1px solid #e2a3a3;border-radius:var(--d-radius);background:#fdeaea;color:#b91c1c;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s ease}.sensor-delete-btn:hover:not(:disabled){background:#f9dcdc}.sensor-delete-btn:disabled{opacity:.6;cursor:not-allowed}.sensor-delete-btn .material-symbols-outlined{font-size:1.1rem}.sensor-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:60;padding:1rem}.sensor-modal{background:var(--d-panel);border-radius:var(--d-radius-lg);width:min(520px,100%);max-height:90vh;overflow-y:auto;padding:1.2rem;box-shadow:0 24px 60px -20px #0f172a80}.sensor-modal-head{display:flex;align-items:center;justify-content:space-between}.sensor-modal-head h3{margin:0;color:var(--d-ink)}.sensor-modal-close{background:none;border:none;cursor:pointer;color:var(--d-muted)}.sensor-steps{color:var(--d-muted);font-size:.88rem;padding-left:1.1rem}.sensor-add-form{display:flex;flex-direction:column;gap:.7rem}.sensor-creds{display:flex;flex-direction:column;gap:.8rem}.sensor-product-picker{display:flex;flex-direction:column;gap:.75rem}.sensor-product-choice{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;text-align:left;padding:.9rem 1rem;border:1px solid var(--d-line);border-radius:12px;background:var(--d-bg-elevated, #fff);cursor:pointer;color:var(--d-ink)}.sensor-product-choice:hover{border-color:var(--d-primary);background:var(--d-bg-hover, #f8fafc)}.sensor-product-choice strong{font-size:1rem}.sensor-product-choice>span:last-child{font-size:.85rem;color:var(--d-muted)}.sensor-back-link{display:inline-flex;align-items:center;gap:.25rem;margin-bottom:.75rem;padding:0;border:none;background:none;color:var(--d-muted);cursor:pointer;font-size:.85rem}.sensor-back-link .material-symbols-outlined{font-size:1rem}.sensor-core-creds{margin:.75rem 0;font-size:.85rem}.sensor-core-creds code{word-break:break-all}.sensor-modal-done{align-self:flex-end}@media(max-width:860px){.sala-layout,.sens-grid,.estado-layout{grid-template-columns:1fr}}.app .dash-header button,.app .dash-btn,.app button.dash-icon-btn,.app .dash-theme-toggle{transition:transform var(--d-duration-press) var(--d-ease),background-color var(--d-duration-ui) ease,border-color var(--d-duration-ui) ease,box-shadow var(--d-duration-ui) ease,color var(--d-duration-ui) ease}.app .dash-header button:active,.app .dash-btn:active,.app button.dash-icon-btn:active,.app .dash-theme-toggle:active,.app .dash-nav-item:active{transform:scale(.96)}.app .dash-kpi-value,.app .dash-room-card-usage-value,.app .dash-header-time .time{font-variant-numeric:tabular-nums}.app .dash-page-title{font-size:var(--d-fs-title);font-weight:700;letter-spacing:-.02em}.app .dash-page-sub{font-size:var(--d-fs-small)}.app .dash-room-card{transition:box-shadow var(--d-duration-ui) var(--d-ease),border-color var(--d-duration-ui) ease}.app .dash-room-card:hover{transform:none}.app .dash-room-card--live:hover{transform:translateY(-2px)}@media(prefers-reduced-motion:reduce){.app .dash-nav-item,.app .dash-kpi-card,.app .dash-room-card,.app .dash-header button,.app .dash-btn,.app button.dash-icon-btn,.app .dash-theme-toggle{transition:none!important}.app .dash-nav-item:active,.app .dash-kpi-card:hover,.app .dash-room-card:hover,.app .dash-header button:active,.app .dash-btn:active,.app button.dash-icon-btn:active,.app .dash-theme-toggle:active{transform:none!important}}.map-floor-cell{position:relative}.map-flow-heat{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.map-floor-cell .map-cell-name,.map-floor-cell .map-cell-count,.map-floor-cell .map-cell-icon{position:relative;z-index:2}.sensor-pose{display:grid;gap:.75rem}.sensor-pose-pad{position:relative;width:100%;aspect-ratio:16 / 10;border:1px dashed var(--d-line, #e2e8f0);border-radius:10px;background:var(--d-bg-soft, #f1f5f9);cursor:crosshair}.sensor-pose-dot{position:absolute;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--d-primary, #0891b2);box-shadow:0 0 0 4px #0891b233}.sensor-pose-yaw,.sensor-pose-chips{display:flex;flex-wrap:wrap;gap:.4rem}.sensor-pose-chip{border:1px solid var(--d-line, #e2e8f0);background:var(--d-panel, #fff);border-radius:999px;padding:.35rem .7rem;font-size:.8125rem;cursor:pointer}.sensor-pose-chip.is-active{border-color:var(--d-primary, #0891b2);color:var(--d-primary, #0891b2);font-weight:600}.sensor-pose-fieldset{border:0;padding:0;margin:0}.sensor-pose-fieldset legend{font-size:.8125rem;color:var(--d-muted, #64748b);margin-bottom:.35rem}.map-flow-insights{margin-top:1rem;display:grid;gap:.65rem}.map-flow-insights-head{display:grid;gap:.35rem}.map-flow-week{margin:0;color:var(--d-muted, #64748b)}.map-flow-rank-name{min-width:0}.map-flow-rank-pct{font-variant-numeric:tabular-nums;font-weight:600}.map-flow-headline{font-weight:600;margin:0}.map-flow-headline--empty{font-weight:400;color:var(--d-muted, #64748b)}.map-flow-rank{margin:0;padding-left:1.1rem}.map-flow-rank li{display:flex;justify-content:space-between;gap:.75rem;margin:.2rem 0}.map-flow-week-nav{display:flex;flex-wrap:wrap;gap:.4rem}.map-flow-check{display:flex;align-items:center;gap:.4rem;font-size:.8125rem}.map-sensor-pins{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:3}.map-sensor-pin-wrap{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.map-sensor-coverage{position:absolute;transform:translate(-50%,-50%);border:1px dashed rgba(8,145,178,.55);border-radius:50%;background:#0891b214;pointer-events:none}.map-sensor-pin{position:absolute;transform:translate(-50%,-50%);width:28px;height:28px;border:0;border-radius:50%;background:#0e7490;color:#fff;display:grid;place-items:center;pointer-events:auto;box-shadow:0 0 0 3px #0e749040}.map-sensor-pin.is-editable{cursor:grab}.map-sensor-pin-wrap.is-selected .map-sensor-pin{background:#155e75;box-shadow:0 0 0 4px #155e7559}.map-sensor-hud{display:flex;flex-wrap:wrap;gap:.5rem .75rem;align-items:center;width:100%;padding:.35rem 0 0}.map-sensor-hud-label,.map-sensor-hud-size{font-size:.8125rem;color:var(--d-muted, #64748b)}.map-sensor-hud-chips{display:flex;flex-wrap:wrap;gap:.35rem}.map-sensor-hud-size{display:inline-flex;align-items:center;gap:.35rem}.map-sensor-hud-size input{width:4.2rem}.sensor-pose-coverage{position:absolute;transform:translate(-50%,-50%);border:1px dashed rgba(8,145,178,.45);border-radius:50%;background:#0891b212;pointer-events:none}.sensor-pose-dot--sib{background:#94a3b8;box-shadow:none}.sensor-pose-sib{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.room-studio-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:.5rem 0 .75rem}.room-studio-chip{border:1px solid var(--dash-border, #d1d5db);background:#fff;border-radius:999px;padding:.25rem .7rem;font-size:.85rem;cursor:pointer}.room-studio-chip.is-active{border-color:#0f766e;background:#ccfbf1}.map-floor-cell--room-focus{outline:2px solid #0f766e;outline-offset:-2px}.room-studio-neighbor{position:absolute;bottom:4px;left:6px;font-size:.65rem;letter-spacing:.02em;text-transform:uppercase;color:#4b5563}.map-flow-period{display:grid;gap:.75rem}.map-flow-period .dash-history-toolbar-wrap{margin:0}.config-setup-journey{display:grid;grid-template-columns:minmax(14rem,.8fr) minmax(0,2fr);gap:1.25rem;align-items:center;margin:0 0 1.5rem;padding:1rem 1.1rem;border:1px solid var(--dash-border, #e2e8f0);border-radius:16px;background:linear-gradient(120deg,#0891b214,#fff0 52%),var(--dash-card, #fff)}.config-journey-intro{display:flex;gap:.8rem;align-items:flex-start}.config-journey-intro>.material-symbols-outlined{display:inline-flex;align-items:center;justify-content:center;flex:0 0 40px;box-sizing:border-box;width:40px;height:40px;border-radius:12px;background:#0e7490;color:#fff;line-height:1;font-size:20px;text-align:center}.config-journey-intro strong,.config-journey-steps strong{display:block;color:var(--dash-text, #0f172a)}.config-journey-intro p{margin:.25rem 0 0;color:var(--d-muted, #64748b);font-size:.82rem;line-height:1.4}.config-journey-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:0;padding:0;list-style:none}.config-journey-steps li{position:relative;display:grid;grid-template-columns:1.8rem minmax(0,1fr);gap:.55rem;align-items:center;min-height:3.5rem;padding:.6rem;border:1px solid var(--dash-border, #e2e8f0);border-radius:12px;background:var(--dash-card, #fff)}.config-journey-steps li>span{display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:50%;background:#cffafe;color:#0e7490;font-weight:800}.config-journey-steps small{display:block;margin-top:.15rem;color:var(--d-muted, #64748b);line-height:1.25}.config-journey-steps button{grid-column:2;justify-self:start;border:0;padding:0;background:none;color:#0e7490;font:inherit;font-size:.76rem;font-weight:700;cursor:pointer}.config-room-card{overflow:hidden}.config-room-card-progress{position:absolute;inset:0 0 auto;height:3px;background:var(--dash-border, #e2e8f0)}.config-room-card-progress>span{display:block;height:100%;background:#14b8a6;transition:width .2s ease}.config-room-states{display:flex;flex-wrap:wrap;gap:.35rem;margin:.7rem 0 .35rem}.config-room-state{display:inline-flex;align-items:center;gap:.2rem;padding:.2rem .45rem;border-radius:999px;background:var(--dash-canvas, #f1f5f9);color:var(--d-muted, #64748b);font-size:.7rem;font-weight:650}.config-room-state .material-symbols-outlined{font-size:.9rem}.config-room-state.is-ready{background:#14b8a61f;color:#0f766e}.config-addon-card{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 1.5rem;padding:1rem 1.1rem;border:1px solid var(--dash-border, #e2e8f0);border-radius:16px;background:var(--dash-card, #fff)}.config-addon-intro{display:flex;gap:.8rem;align-items:flex-start;min-width:0;flex:1 1 18rem}.config-addon-intro>.material-symbols-outlined{display:inline-flex;align-items:center;justify-content:center;flex:0 0 40px;box-sizing:border-box;width:40px;height:40px;border-radius:12px;background:#0e7490;color:#fff;line-height:1;font-size:20px;text-align:center}.config-addon-intro strong{display:block;color:var(--dash-text, #0f172a)}.config-addon-intro p{margin:.25rem 0 0;color:var(--d-muted, #64748b);font-size:.82rem;line-height:1.4}.config-addon-toggle{flex:0 0 auto}.config-addon-toggle.active .map-editor-toggle-track{background:var(--d-primary)}.config-addon-error{flex:1 1 100%;margin:0;color:var(--d-danger);font-size:.82rem}.room-layout-studio{margin:0;padding:0;border:1px solid var(--dash-border, #e2e8f0);border-radius:18px;overflow:hidden;overflow:clip;background:var(--dash-card, #fff)}.room-studio-heading,.room-studio-savebar{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.15rem 1.25rem}.room-studio-heading{border-bottom:1px solid var(--dash-border, #e2e8f0)}.room-studio-heading .room-config-module-head{margin:0}.room-studio-heading .room-config-module-head h4{font-size:1.12rem;line-height:1.25}.room-studio-heading .room-config-module-head p{font-size:.9rem;line-height:1.45}.room-studio-spec{flex:0 0 auto;padding:.4rem .65rem;border-radius:999px;background:#0891b21a;color:#0e7490;font-size:.82rem;font-weight:750}.room-plan-dimensions,.room-studio-context,.room-sensor-planner{padding:1.2rem 1.25rem;border-bottom:1px solid var(--dash-border, #e2e8f0)}.room-plan-dimensions{display:grid;grid-template-columns:minmax(13rem,.8fr) minmax(0,1.3fr);gap:1rem;align-items:end}.room-plan-dimensions-copy{display:flex;align-items:flex-start;gap:.65rem}.room-plan-dimensions-copy h5{margin:0;color:var(--dash-text, #0f172a);font-size:1.08rem;line-height:1.3}.room-plan-dimensions-copy p{margin:.3rem 0 0;color:var(--d-muted, #64748b);font-size:.9rem;line-height:1.5}.room-plan-step{display:grid;place-items:center;flex:0 0 auto;width:2rem;height:2rem;border-radius:50%;background:#0e7490;color:#fff;font-size:.9rem;font-weight:800}.room-plan-dimensions-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.room-plan-field{font-size:.92rem}.room-plan-field input{min-height:2.7rem;font-size:1rem}.room-plan-field small{margin-top:.3rem;color:var(--d-muted, #64748b);font-size:.76rem;line-height:1.35}.room-studio-context>.room-plan-dimensions-copy,.room-sensor-planner>.room-plan-dimensions-copy{margin-bottom:.8rem}.room-studio-missing-map,.room-studio-empty-sensors{display:flex;gap:.75rem;align-items:center;padding:.8rem;border:1px dashed #f59e0b;border-radius:12px;background:#f59e0b12;color:var(--dash-text, #0f172a)}.room-studio-missing-map p,.room-studio-empty-sensors p{margin:.2rem 0 0;color:var(--d-muted, #64748b);font-size:.9rem;line-height:1.45}.room-studio-missing-map .map-editor-btn{margin-left:auto}.room-studio-map-shell{margin:.85rem 0 0}.room-studio-map-head{display:flex;justify-content:space-between;gap:.75rem;align-items:center;margin-bottom:.5rem;color:var(--d-muted, #64748b)}.room-studio-map-head>span{display:inline-flex;gap:.4rem;align-items:center;color:#0e7490;font-size:.84rem;font-weight:800}.room-studio-map-head .material-symbols-outlined{font-size:1.15rem}.room-studio-map-head small{font-size:.78rem}.room-studio-map{position:relative;width:100%;margin:0;max-height:none;overflow:hidden;border:1px solid var(--dash-border, #e2e8f0);border-radius:14px;background:radial-gradient(circle at 15% 0,rgba(8,145,178,.07),transparent 18rem),var(--dash-canvas, #f3f4f6);transition:height .18s ease}.room-studio-map-canvas{position:absolute;top:.75rem;left:50%;display:grid;gap:.5rem;width:720px;transform-origin:top center;transition:transform .18s ease}.room-studio-map .map-block-row{min-height:6.25rem}.room-studio-map .map-cell-name{font-size:.94rem}.room-studio-map .room-studio-neighbor{font-size:.72rem}.room-studio-toolbar{display:flex;justify-content:space-between;gap:.75rem;align-items:center}.room-studio-toolbar .room-studio-chips{margin:0}.room-studio-chip{display:inline-flex;gap:.45rem;align-items:center;min-height:2.35rem;padding-inline:.85rem;font-size:.9rem}.room-studio-chip .sensor-dot{position:static;flex:0 0 auto}.room-studio-auto{flex:0 0 auto}.sensor-canvas-toasts{position:absolute;top:.45rem;right:.45rem;z-index:12;display:grid;gap:.3rem;justify-items:end;max-width:46%;pointer-events:none}.sensor-canvas-toast{padding:.28rem .5rem;border-radius:8px;color:#fff;font-size:.7rem;font-weight:800;line-height:1.25;box-shadow:0 2px 8px #0f172a2e}.sensor-canvas-toast.is-warn{background:#b91c1ceb}.sensor-canvas-toast.is-error{background:#991b1bf0}.sensor-calibration-layout{display:grid;grid-template-columns:minmax(22rem,1.25fr) minmax(18rem,.9fr);gap:1rem;align-items:start;margin-top:.8rem}.sensor-calibration-stage{position:relative;min-width:0;padding:2rem 1.5rem 1.4rem .35rem}.sensor-calibration-frame{position:relative;padding:1.65rem 2.4rem}.sensor-calibration-canvas{position:relative;width:100%;max-height:33rem;min-height:16rem;overflow:visible;border:2px solid #94a3b8;border-radius:8px;background:#f8fafc;cursor:crosshair;isolation:isolate}.sensor-calibration-canvas.is-placed{cursor:default}.sensor-calibration-canvas--line-first,.sensor-calibration-canvas--line-second{cursor:crosshair}.sensor-room-grid{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;border-radius:inherit;background-image:linear-gradient(rgba(148,163,184,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.16) 1px,transparent 1px);background-size:10% 10%;pointer-events:none}.sensor-room-name{position:absolute;top:.55rem;left:.65rem;z-index:2;color:#334155;font-size:.88rem;font-weight:750;pointer-events:none}.sensor-canvas-instruction{position:absolute;left:50%;bottom:.75rem;z-index:7;transform:translate(-50%);width:max-content;max-width:calc(100% - 1rem);padding:.4rem .65rem;border-radius:999px;background:#0f172ad1;color:#fff;font-size:.8rem;text-align:center;pointer-events:none}.sensor-calibration-dimension{position:absolute;color:var(--d-muted, #64748b);font-size:.8rem;font-weight:700}.sensor-calibration-dimension--width{left:50%;top:.35rem;transform:translate(-50%)}.sensor-calibration-dimension--length{right:.15rem;top:50%;transform:rotate(90deg) translateY(-50%);transform-origin:right top}.sensor-neighbor-label{position:absolute;z-index:3;max-width:8.5rem;padding:.22rem .5rem;border-radius:999px;background:#0f766eeb;color:#fff;font-size:.72rem;font-weight:700;line-height:1.2;text-align:center;pointer-events:none}.sensor-neighbor-label--top{top:.15rem;left:50%;transform:translate(-50%)}.sensor-neighbor-label--right{right:.1rem;top:50%;transform:translateY(-50%)}.sensor-neighbor-label--bottom{bottom:.15rem;left:50%;transform:translate(-50%)}.sensor-neighbor-label--left{left:.1rem;top:50%;transform:translateY(-50%)}.sensor-wall-guides{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none}.sensor-wall-guides svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.sensor-wall-guides line{stroke:#0f766e;stroke-width:1.5;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}.sensor-wall-guides span{position:absolute;z-index:1;padding:.18rem .35rem;border:1px solid rgba(15,118,110,.22);border-radius:999px;background:#fffffff0;color:#0f766e;font-size:.7rem;font-weight:800;line-height:1;white-space:nowrap;box-shadow:0 1px 4px #0f172a1a}.sensor-wall-guides span:nth-of-type(1){transform:translate(-50%,-1.35rem)}.sensor-wall-guides span:nth-of-type(2){transform:translate(.45rem,-50%)}.sensor-axis-legend{display:flex;flex-wrap:wrap;gap:.8rem;margin:.7rem 0 0;color:var(--d-muted, #64748b);font-size:.76rem}.sensor-axis-legend span{display:inline-flex;align-items:center;gap:.25rem}.sensor-axis-legend i{width:1rem;height:2px}.sensor-axis-legend .axis-x{background:#0f766e}.sensor-axis-legend .axis-y{background:#e11d48}.map-sensor-pins{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;pointer-events:none}.map-sensor-coverage-svg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:7;width:100%;height:100%;overflow:visible;pointer-events:none}.map-sensor-coverage-polygon{fill:#0891b226;stroke:#0891b2e0;stroke-width:2;vector-effect:non-scaling-stroke}.map-sensor-shape--1 .map-sensor-coverage-polygon{fill:#7c3aed1c;stroke:#6d28d9bd}.map-sensor-shape--2 .map-sensor-coverage-polygon{fill:#10b9811c;stroke:#059669c2}.map-sensor-shape--3 .map-sensor-coverage-polygon{fill:#f59e0b1c;stroke:#d97706c2}.map-sensor-shape.is-selected .map-sensor-coverage-polygon{stroke-width:2.8;fill-opacity:1}.map-sensor-shape.has-overlap .map-sensor-coverage-polygon{stroke:#dc2626;stroke-dasharray:2 1.3}.map-sensor-axis{vector-effect:non-scaling-stroke;stroke-width:1.5}.map-sensor-axis--front{stroke:#e11d48}.map-sensor-axis--right{stroke:#0f766e}.map-sensor-boundary{stroke-width:4.4;stroke:var(--minew-line-color, #f97316);stroke-linecap:round;vector-effect:non-scaling-stroke}.map-sensor-boundary-halo{stroke:#fff;stroke-width:8.4;stroke-linecap:round;vector-effect:non-scaling-stroke}.map-sensor-boundary-group.is-active .map-sensor-boundary{stroke-width:5.6;filter:drop-shadow(0 0 2px color-mix(in srgb,var(--minew-line-color, #f97316) 65%,transparent))}.map-sensor-boundary-group.is-active .map-sensor-boundary-halo{stroke-width:10}:root[data-theme=dark] .map-sensor-boundary-halo{stroke:#0b1220}:root[data-theme=dark] .sensor-orient-glyph{border-color:#0b1220;background:#0b1220}.map-sensor-boundary.is-invalid{stroke:#dc2626;stroke-width:3.2}.map-sensor-pin{position:absolute;z-index:6;transform:translate(-50%,-50%);display:grid;place-items:center;width:2rem;height:2rem;padding:0;border:2px solid #fff;border-radius:50%;overflow:visible;background:#fff;color:#0e7490;box-shadow:0 3px 10px #0f172a47;pointer-events:auto}.map-sensor-pin-n{position:absolute;top:-.45rem;right:-.5rem;z-index:2;display:grid;place-items:center;min-width:1.05rem;height:1.05rem;padding:0 .2rem;border:2px solid #fff;border-radius:999px;background:#0e7490;color:#fff;font-size:.62rem;font-style:normal;font-weight:800;line-height:1}.map-sensor-line-tag{position:absolute;z-index:8;transform:translate(-50%,-130%);padding:.12rem .38rem;border-radius:999px;background:var(--minew-line-color, #0e7490);color:#fff;font-size:.62rem;font-weight:800;letter-spacing:.02em;line-height:1.2;pointer-events:none;white-space:nowrap;box-shadow:0 1px 4px #0f172a38}.map-sensor-line-tag.is-selected{box-shadow:0 0 0 2px #fff,0 1px 4px #0f172a47}.map-sensor-device-glyph{position:absolute;top:2px;right:2px;bottom:2px;left:2px;display:block;transform-origin:center;border:1px solid rgba(14,116,144,.28);border-radius:50%;overflow:hidden;background:radial-gradient(circle at 50% 50%,#fff 0,#fff 42%,#e6f7fa 44%,#e6f7fa);transition:transform .18s ease}.map-sensor-device-led{position:absolute;top:.24rem;left:50%;width:.28rem;height:.28rem;transform:translate(-50%);border:1px solid #fff;border-radius:50%;background:#22c55e;box-shadow:0 0 0 1px #0f766e40}.map-sensor-device-core{position:absolute;top:50%;left:50%;width:.36rem;height:.36rem;transform:translate(-50%,-50%);border-radius:50%;background:#0e7490;box-shadow:0 0 0 2px #0e749026}.map-sensor-pin.is-editable{cursor:grab;touch-action:none}.map-sensor-pin.is-editable:active{cursor:grabbing}.map-sensor-pin.is-selected{outline:3px solid rgba(8,145,178,.25)}.map-sensor-pin.has-overlap,.map-sensor-pin.has-overlap .map-sensor-device-glyph{border-color:#dc2626}.sensor-boundary-pending{position:absolute;z-index:8;width:.75rem;height:.75rem;transform:translate(-50%,-50%);border:2px solid #fff;border-radius:50%;background:#f97316;box-shadow:0 0 0 3px #f9731640;pointer-events:none}.sensor-calibration-panel{display:grid;gap:.7rem}.sensor-panel-section{padding:1rem;border:1px solid var(--dash-border, #e2e8f0);border-radius:14px;background:var(--dash-card, #fff)}.sensor-panel-section--orient{padding:.65rem .8rem}.sensor-panel-section-head{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;margin-bottom:.65rem}.sensor-panel-kicker{display:block;margin-bottom:.18rem;color:#0e7490;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.sensor-panel-section h6{margin:0;color:var(--dash-text, #0f172a);font-size:.98rem;line-height:1.35}.sensor-wall-reference-grid{display:grid;gap:.55rem}.sensor-wall-reference{display:grid;grid-template-columns:minmax(0,1fr) minmax(6.25rem,.45fr);gap:.45rem .55rem;align-items:end;padding:.65rem;border:1px solid var(--dash-border, #e2e8f0);border-radius:11px;background:var(--dash-canvas, #f8fafc)}.sensor-wall-reference>label{display:grid;gap:.25rem;min-width:0}.sensor-wall-reference>label>span:first-child{color:var(--d-muted, #64748b);font-size:.74rem;font-weight:700}.sensor-wall-reference select,.sensor-wall-reference input{width:100%;min-width:0;min-height:2.75rem;border:1px solid var(--dash-border, #d1d5db);border-radius:9px;background:var(--dash-card, #fff);color:var(--dash-text, #0f172a);font:inherit;font-size:.85rem}.sensor-wall-reference select{padding:.5rem .55rem}.sensor-wall-reference input{border:0;padding:.45rem 1.8rem .45rem .55rem;font-variant-numeric:tabular-nums}.sensor-wall-distance-input{position:relative;display:block;border:1px solid var(--dash-border, #d1d5db);border-radius:9px;overflow:hidden;background:var(--dash-card, #fff)}.sensor-wall-distance-input input{border:0;border-radius:0}.sensor-wall-distance-input>span{position:absolute;top:50%;right:.6rem;transform:translateY(-50%);color:var(--d-muted, #64748b);font-size:.76rem;pointer-events:none}.sensor-wall-reference>small{grid-column:1 / -1;color:var(--d-muted, #64748b);font-size:.72rem;line-height:1.35}.sensor-wall-reference.is-invalid{border-color:#dc262680;background:#fee2e259}.sensor-wall-reference .sensor-wall-error{color:#b91c1c;font-weight:700}.sensor-wall-reference select:focus,.sensor-wall-distance-input:focus-within{outline:3px solid rgba(8,145,178,.16);border-color:#0891b2}.sensor-orient-control{display:flex;align-items:center;gap:.7rem}.sensor-orient-glyph{position:relative;display:grid;flex:0 0 auto;place-items:center;width:2.5rem;height:2.5rem;overflow:hidden;border:2px solid #fff;border-radius:50%;background:#fff;box-shadow:0 3px 10px #0f172a47}.sensor-rotate-button{display:inline-flex;flex:1;gap:.55rem;align-items:center;min-width:0;min-height:2.75rem;padding:.45rem .75rem;border:1px solid color-mix(in srgb,#0891b2 42%,var(--dash-border, #e2e8f0));border-radius:11px;background:linear-gradient(120deg,#0891b21c,#fff0),var(--dash-card, #fff);color:var(--dash-text, #0f172a);text-align:left;cursor:pointer;transition:border-color .16s cubic-bezier(.23,1,.32,1),box-shadow .16s cubic-bezier(.23,1,.32,1),transform .12s cubic-bezier(.23,1,.32,1)}.sensor-rotate-button:active{transform:scale(.96)}@media(hover:hover)and (pointer:fine){.sensor-rotate-button:hover{border-color:#0891b2;box-shadow:0 4px 12px #0891b21f}}.sensor-rotate-button:focus-visible{outline:3px solid rgba(8,145,178,.24);outline-offset:2px}.sensor-rotate-icon.material-symbols-outlined{display:inline-flex;align-items:center;justify-content:center;flex:0 0 2rem;box-sizing:border-box;width:2rem;height:2rem;border-radius:50%;background:#0e7490;color:#fff;font-size:1.15rem;line-height:1;text-align:center}.sensor-rotate-copy{min-width:0;font-size:.86rem;font-weight:750}.sensor-inline-action{display:inline-flex;align-items:center;justify-content:center;gap:.2rem;min-height:2rem;border:1px solid rgba(8,145,178,.24);border-radius:999px;padding:.32rem .58rem;background:#0891b212;color:#0e7490;font:inherit;font-size:.76rem;font-weight:800;cursor:pointer;white-space:nowrap}.sensor-inline-action .material-symbols-outlined{font-size:1rem}.sensor-wall-preset{border-color:#e11d483d;background:#e11d4812;color:#be123c}.sensor-inline-action:disabled{opacity:.45;cursor:not-allowed}.sensor-limit-grid{display:grid;gap:.45rem}.sensor-limit-field{display:grid;grid-template-columns:7.4rem minmax(4rem,1fr) 3.5rem;gap:.5rem;align-items:center;min-height:1.65rem;color:var(--d-muted, #64748b);font-size:.82rem}.sensor-limit-field input{width:100%;accent-color:#0e7490}.sensor-limit-value{color:var(--dash-text, #0f172a);font-variant-numeric:tabular-nums;text-align:right}.sensor-manual-note{margin:.6rem 0 0;color:var(--d-muted, #64748b);font-size:.78rem;line-height:1.45}.sensor-boundary-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.4rem;align-items:center}.sensor-boundary-actions select{max-width:7.2rem;border:1px solid var(--dash-border, #d1d5db);border-radius:8px;padding:.4rem;background:var(--dash-card, #fff);color:var(--dash-text, #0f172a);font-size:.76rem}.sensor-boundary-list{display:grid;gap:.4rem;margin:0;padding:0;list-style:none}.sensor-boundary-list li{display:grid;grid-template-columns:1.4rem minmax(0,1fr) 1.5rem;gap:.45rem;align-items:start;padding:.4rem;border-left:3px solid var(--minew-line-color, #c2410c);border-radius:8px;background:var(--dash-canvas, #f8fafc)}.sensor-boundary-list li.is-active-line{box-shadow:0 0 0 2px color-mix(in srgb,var(--minew-line-color, #0891b2) 24%,transparent);background:color-mix(in srgb,var(--minew-line-color, #0891b2) 5%,var(--dash-canvas, #f8fafc))}.sensor-boundary-list li.is-invalid{outline:1px solid rgba(220,38,38,.45);background:#fee2e273}.sensor-boundary-list strong{display:block;font-size:.78rem}.sensor-boundary-list small{display:block;margin-top:.18rem;color:#b91c1c;font-size:.7rem;font-weight:700}.sensor-boundary-list>li>button{display:grid;place-items:center;border:0;background:none;color:#dc2626;cursor:pointer}.sensor-boundary-list button .material-symbols-outlined{font-size:1rem}.sensor-boundary-editor{display:grid;gap:.4rem;min-width:0}.sensor-boundary-editor-head{display:flex;gap:.45rem;align-items:center;justify-content:space-between}.sensor-boundary-editor-head select{max-width:7.4rem;border:1px solid var(--dash-border, #d1d5db);border-radius:8px;padding:.28rem .4rem;background:var(--dash-card, #fff);color:var(--dash-text, #0f172a);font-size:.74rem}.sensor-boundary-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}.sensor-boundary-point{margin:0;padding:.35rem .4rem .45rem;border:1px solid var(--dash-border, #e2e8f0);border-radius:8px;background:var(--dash-card, #fff)}.sensor-boundary-point.is-active{border-color:#0891b2;box-shadow:0 0 0 2px #0891b224}.sensor-boundary-point legend{padding:0 .2rem;color:var(--d-muted, #64748b);font-size:.68rem;font-weight:700}.sensor-boundary-point{display:grid;grid-template-columns:1fr 1fr;gap:.3rem}.sensor-boundary-coord{display:grid;gap:.12rem;color:var(--d-muted, #64748b);font-size:.68rem;font-weight:700}.sensor-boundary-coord input{width:100%;min-height:2rem;border:1px solid var(--dash-border, #d1d5db);border-radius:7px;padding:.25rem .4rem;background:var(--dash-card, #fff);color:var(--dash-text, #0f172a);font-variant-numeric:tabular-nums}.sensor-boundary-coord.is-invalid input{border-color:#dc2626;background:#fef2f2}.map-sensor-line-handle{position:absolute;z-index:14;transform:translate(-50%,-50%);display:grid;place-items:center;width:1.2rem;height:1.2rem;padding:0;border:2px solid #fff;border-radius:50%;background:var(--minew-line-color, #f97316);color:#fff;font-size:.62rem;font-weight:800;line-height:1;box-shadow:0 1px 5px #0f172a47;pointer-events:auto;cursor:grab;touch-action:none}.map-sensor-line-handle:before{content:"";position:absolute;top:-.7rem;right:-.7rem;bottom:-.7rem;left:-.7rem;border-radius:50%}.map-sensor-line-handle:active{cursor:grabbing}.map-sensor-line-handle--p2{background:#fff;color:var(--minew-line-color, #f97316);border-color:var(--minew-line-color, #f97316)}.map-sensor-line-handle.is-shared:not(.is-active){width:1rem;height:1rem}.map-sensor-line-handle.is-shared:not(.is-active):after{content:"";width:.24rem;height:.24rem;border-radius:50%;background:currentColor}.map-sensor-line-handle.is-invalid{background:#dc2626;color:#fff;border-color:#fff}.map-sensor-line-handle.is-active{z-index:16;width:1.45rem;height:1.45rem;box-shadow:0 0 0 4px color-mix(in srgb,var(--minew-line-color, #0891b2) 28%,transparent),0 2px 8px #0f172a52}.sensor-boundary-kind{display:grid;place-items:center;width:1.35rem;height:1.35rem;border-radius:50%;background:var(--minew-line-color, #c2410c);color:#fff;font-size:.65rem;font-weight:800}.sensor-boundary-inline-error{margin-bottom:.55rem;color:#b91c1c;font-size:.76rem;font-weight:700;line-height:1.4}.room-studio-savebar{background:var(--dash-canvas, #f8fafc)}.room-studio-savebar>div{display:grid;gap:.15rem}.room-studio-savebar strong{color:var(--dash-text, #0f172a);font-size:.9rem}.room-studio-savebar strong.is-error,.room-studio-savebar strong.is-warn{color:#b91c1c}.room-studio-savebar strong.is-ok{color:#0f766e}.room-studio-savebar span{color:var(--d-muted, #64748b);font-size:.8rem;line-height:1.4}.sensor-install-next{display:flex;gap:.55rem;align-items:flex-start;padding:.65rem;border-radius:10px;background:#0891b214;color:#0e7490}.sensor-install-next p{margin:0;color:var(--d-muted, #475569);font-size:.78rem;line-height:1.4}.dash-map-view--flow .flow-overview-panel{display:grid;grid-template-columns:minmax(240px,.9fr) minmax(360px,1.6fr);gap:.65rem;align-items:stretch;margin-bottom:.85rem}.dash-map-view--flow .flow-overview-copy{position:relative;overflow:hidden;padding:.75rem .9rem;border:1px solid rgba(8,145,178,.16);border-radius:var(--d-radius-lg);background:radial-gradient(circle at 0% 0%,rgba(8,145,178,.12),transparent 18rem),var(--d-panel);box-shadow:0 8px 22px #0f172a0b}.dash-map-view--flow .flow-overview-copy:after{content:"";position:absolute;right:-44px;bottom:-56px;width:150px;height:150px;opacity:.45;border:1px solid rgba(8,145,178,.12);border-radius:50%;box-shadow:0 0 0 22px #0891b209}.dash-map-view--flow .flow-overview-kicker{display:inline-flex;align-items:center;gap:.4rem;color:var(--d-primary);font-size:var(--d-fs-label);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.dash-map-view--flow .flow-overview-kicker:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--d-primary);box-shadow:0 0 0 5px #0891b21f}.dash-map-view--flow .flow-overview-copy h3{position:relative;z-index:1;margin:.28rem 0 .18rem;color:var(--d-ink);font-size:clamp(1.05rem,1.45vw,1.28rem);line-height:1.15;letter-spacing:-.03em;text-wrap:balance}.dash-map-view--flow .flow-overview-copy p{position:relative;z-index:1;max-width:36rem;margin:0;color:var(--d-muted);font-size:var(--d-fs-small);line-height:1.4;text-wrap:pretty}.dash-map-view--flow .flow-overview-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.dash-map-view--flow .flow-overview-stat{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.28rem;min-width:0;padding:.55rem .4rem;text-align:center;border:1px solid var(--d-line);border-radius:var(--d-radius-lg);background:var(--d-panel);box-shadow:0 8px 22px #0f172a0b}.dash-map-view--flow .flow-overview-stat .material-symbols-outlined{display:grid;width:28px;height:28px;flex-shrink:0;place-items:center;border-radius:9px;background:#0891b21a;color:var(--d-primary);font-size:16px}.dash-map-view--flow .flow-overview-stat strong{color:var(--d-ink);font-size:clamp(1.45rem,1.8vw,1.7rem);font-weight:750;font-variant-numeric:tabular-nums;line-height:1;letter-spacing:-.04em}.dash-map-view--flow .flow-overview-stat small{max-width:7.6rem;color:var(--d-muted);font-size:var(--d-fs-label);font-weight:700;line-height:1.25;text-wrap:balance}.dash-map-view--flow .flow-overview-stat--ok .material-symbols-outlined{background:#22c55e1f;color:#16a34a}.dash-map-view--flow .flow-overview-stat--busy .material-symbols-outlined{background:#ef44441a;color:#dc2626}.dash-map-view--flow .flow-overview-stat--name strong{max-width:100%;overflow:hidden;font-size:clamp(.95rem,1.2vw,1.15rem);letter-spacing:-.03em;text-overflow:ellipsis;white-space:nowrap}.dash-map-view--flow .flow-overview-aux{grid-column:1 / -1;display:flex;align-items:center;gap:.65rem;min-width:0}.dash-map-view--flow .flow-occupancy-meter{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.55rem;align-items:center;flex:1;min-width:0;min-height:2.5rem;padding:.35rem .7rem;border:1px solid var(--d-line);border-radius:999px;background:var(--d-panel)}.dash-map-view--flow .flow-occupancy-label{color:var(--d-muted);font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.dash-map-view--flow .flow-occupancy-track{height:4px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--d-primary) 12%,var(--d-bg-soft))}.dash-map-view--flow .flow-occupancy-track span{display:block;height:100%;border-radius:inherit;background:var(--d-primary);transition:width .28s cubic-bezier(.23,1,.32,1)}.dash-map-view--flow .flow-occupancy-meter strong{color:var(--d-ink);font-size:.82rem;font-weight:750;font-variant-numeric:tabular-nums;letter-spacing:-.03em}.dash-map-view--flow .flow-peak-chip,.dash-map-view--flow .flow-label-toggle,.dash-map-view--flow .flow-heat-legend{display:inline-flex;align-items:center;gap:.28rem;min-height:2.5rem;padding:0 .75rem;border:1px solid var(--d-line);border-radius:999px;background:var(--d-panel);color:var(--d-muted);font-size:.72rem;font-weight:750;letter-spacing:.02em;white-space:nowrap}.dash-map-view--flow .flow-peak-chip{overflow:hidden;max-width:14rem;text-overflow:ellipsis}.dash-map-view--flow .flow-peak-chip .material-symbols-outlined,.dash-map-view--flow .flow-label-toggle .material-symbols-outlined{flex-shrink:0;font-size:1rem;color:var(--d-primary)}.dash-map-view--flow .flow-peak-chip.is-loading .material-symbols-outlined{animation:flow-spin 1s linear infinite}@keyframes flow-spin{to{transform:rotate(360deg)}}.dash-map-view--flow .flow-label-toggle{font:inherit;font-size:.72rem;font-weight:750;cursor:pointer;letter-spacing:.04em;text-transform:uppercase}.dash-map-view--flow .flow-label-toggle.is-active{border-color:#0891b266;background:#0891b214;color:var(--d-primary)}.dash-map-view--flow .flow-heat-legend i{width:4.5rem;height:4px;border-radius:999px;background:linear-gradient(90deg,#23b81e,#dcd618,#e01f1f)}.dash-map-view--flow .flow-toolbar-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .65rem;margin-bottom:.85rem}.dash-map-view--flow .flow-hour-range{width:100%;margin:0 0 .95rem;padding:.7rem .9rem .55rem;border:1px solid rgba(148,163,184,.24);border-radius:var(--d-radius-lg);background:var(--d-panel);box-shadow:0 8px 22px #0f172a0b;-webkit-user-select:none;user-select:none;touch-action:none}.dash-map-view--flow .flow-hour-range.is-disabled{pointer-events:none;opacity:.7}.dash-map-view--flow .flow-hour-range-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.55rem}.dash-map-view--flow .flow-hour-range-kicker{color:var(--d-primary);font-size:var(--d-fs-label);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.dash-map-view--flow .flow-hour-range-value{color:var(--d-ink);font-size:.95rem;font-variant-numeric:tabular-nums;letter-spacing:-.03em}.dash-map-view--flow .flow-hour-range-track{position:relative;height:2.1rem;margin:0 .55rem;cursor:pointer}.dash-map-view--flow .flow-hour-range-rail,.dash-map-view--flow .flow-hour-range-fill{position:absolute;top:50%;height:6px;border-radius:999px;transform:translateY(-50%)}.dash-map-view--flow .flow-hour-range-rail{left:0;right:0;background:#0891b21f}.dash-map-view--flow .flow-hour-range-fill{background:var(--d-primary);box-shadow:0 0 0 4px #0891b214}.dash-map-view--flow .flow-hour-range-marks{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;padding:0;list-style:none;pointer-events:none}.dash-map-view--flow .flow-hour-range-marks li{position:absolute;top:50%;width:1px;height:.55rem;margin:0;background:#0891b247;transform:translate(-50%,-50%)}.dash-map-view--flow .flow-hour-range-thumb{position:absolute;top:50%;z-index:2;width:1.15rem;height:1.15rem;margin:0;padding:0;border:2px solid #fff;border-radius:50%;background:var(--d-primary);box-shadow:0 1px 6px #0e749059;transform:translate(-50%,-50%);cursor:grab;touch-action:none}.dash-map-view--flow .flow-hour-range-thumb.is-active,.dash-map-view--flow .flow-hour-range-thumb:focus-visible{z-index:3;cursor:grabbing;outline:none;box-shadow:0 0 0 4px #0891b238,0 1px 6px #0e749059}.dash-map-view--flow .flow-hour-range-ticks{position:relative;height:1.15rem;margin:.15rem .55rem 0;padding:0;list-style:none}.dash-map-view--flow .flow-hour-range-ticks li{position:absolute;top:0;color:var(--d-muted);font-size:.7rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.02em;transform:translate(-50%)}.dash-map-view--flow .flow-hour-range-ticks li[data-edge=true]:first-child{transform:translate(0)}.dash-map-view--flow .flow-hour-range-ticks li[data-edge=true]:last-child{transform:translate(-100%)}.dash-map-view--flow .flow-hour-range-note{margin:.45rem .55rem 0;color:var(--d-muted);font-size:.75rem;font-weight:600;line-height:1.35}.dash-map-view--flow .flow-toolbar-row .dash-history-toolbar-wrap{flex:1 1 18rem;margin-bottom:0}.dash-map-view--flow .dash-history-toolbar-label{display:none}.dash-map-view--flow .dash-history-toolbar-row--combined{align-items:center;padding:.45rem .65rem;border-color:#94a3b83d;background:var(--d-panel);box-shadow:0 8px 22px #0f172a0b}.dash-map-view--flow .dash-history-toolbar-cluster{gap:0}.dash-map-view--flow .dash-map-wrap--canvas{margin-top:0}.dash-map-view--flow .map-flow-heat{opacity:.95}.dash-map-view--flow:not(.flow-map-labels-visible) .map-floor-cell--has-heat .map-cell-name{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.dash-map-view--flow.flow-map-labels-visible .map-floor-cell--has-heat .map-cell-name{padding:.15rem .4rem;border-radius:6px;background:#ffffffd1;box-shadow:0 1px 4px #0f172a1f}@media(max-width:1100px){.dash-map-view--flow .flow-overview-panel{grid-template-columns:1fr}}@media(max-width:640px){.dash-map-view--flow .flow-overview-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-map-view--flow .flow-overview-stat--name{grid-column:1 / -1}.dash-map-view--flow .flow-overview-aux{flex-wrap:wrap}.dash-map-view--flow .flow-occupancy-meter{min-width:0;width:100%;flex:1 1 100%}.dash-map-view--flow .flow-peak-chip{margin-left:auto}}@media(min-width:1101px)and (min-height:700px){.sensor-calibration-stage{position:sticky;top:1rem;align-self:start}}@media(max-width:1100px){.config-setup-journey,.room-settings-v2-body,.sensor-calibration-layout{grid-template-columns:1fr}.sensor-calibration-stage{max-width:46rem}}@media(max-width:720px){.dash-map-view .map-overview-panel{grid-template-columns:minmax(0,1fr)}.dash-map-view .map-overview-copy,.dash-map-view .map-overview-stats{width:100%;min-width:0}.dash-map-view .map-editor-top-hint{display:none}.dash-map-view .map-editor-menu--add{right:0;left:auto;min-width:min(280px,calc(100vw - 3rem));max-width:calc(100vw - 3rem)}.config-journey-steps,.room-plan-dimensions-fields,.room-plan-dimensions{grid-template-columns:1fr}.room-studio-heading,.room-studio-savebar,.room-studio-toolbar{align-items:stretch;flex-direction:column}.room-studio-spec{align-self:flex-start}.sensor-calibration-layout{display:block}.sensor-calibration-stage{padding-left:0;padding-right:1.2rem}.sensor-calibration-canvas{min-height:14rem}.sensor-calibration-panel{margin-top:.8rem}.room-settings-v2-head,.room-settings-v2-footer{align-items:stretch;flex-direction:column}.room-settings-preview{max-width:none}.room-settings-v2-body{padding:.7rem}.room-settings-zone{padding:.75rem}.room-settings-save-btn{width:100%}.room-config-hero .sensor-back-btn,.room-studio-savebar .dash-config-save-btn,.room-studio-chip{min-height:2.75rem}.sensor-panel-section-head{flex-direction:column}.sensor-boundary-actions{width:100%}.sensor-boundary-actions select,.sensor-boundary-actions .sensor-inline-action{min-height:2.75rem}.sensor-boundary-actions .sensor-inline-action{flex:1;padding:.45rem .65rem;border:1px solid rgba(8,145,178,.25);border-radius:9px;background:#0891b214}.sensor-panel-section-head>.sensor-inline-action{align-self:stretch;min-height:2.75rem;padding:.45rem .65rem;border:1px solid rgba(8,145,178,.25);border-radius:9px;background:#0891b214}.sensor-boundary-list li{grid-template-columns:1.4rem minmax(0,1fr) 2.75rem}.sensor-boundary-list button{min-width:2.75rem;min-height:2.75rem}}@media(max-width:420px){.room-settings-day-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.room-settings-metric-grid,.sensor-wall-reference{grid-template-columns:1fr}.sensor-wall-reference>small{grid-column:1}}.sensor-product-badge--aura-gw{background:#0891b21f;color:#0e7490}.sensor-product-badge--aura-bms{background:#0f172a14;color:#0f172a}.site-device-copy-pre{white-space:pre-wrap;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85rem;line-height:1.45;padding:.85rem 1rem;border-radius:10px;background:var(--d-bg-soft);border:1px solid var(--d-line);margin:0 0 .75rem}.site-device-panel .sensor-inline-action,.site-device-panel .estado-hint{margin:0 0 .75rem}:root{--bg: #f3f3f3;--panel: #ffffff;--ink: #111;--muted: #6b6b6b;--ok-bg: #cfffc9;--ok-txt: #1c5218;--bad-bg: #f2a6a6;--bad-txt: #521818;--border: #d7d7d7;--shadow: 0 4px 12px rgba(0,0,0,.05);--map-stroke: #000;--map-stroke-w: 3px}html,body,#root{margin:0;width:100%;max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%;box-sizing:border-box}#root{min-height:100vh;min-height:100dvh;display:block}body{font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--ink)}.app{position:relative;display:flex;width:100%;max-width:100%;min-width:0;min-height:100vh;min-height:100dvh;height:100vh;height:100dvh;overflow:hidden;flex-direction:row;align-items:stretch;margin:0}.sidebar{background:#fff;border-right:4px solid #000;padding:20px;display:flex;flex-direction:column;gap:20px}.brand h1{letter-spacing:1px}.nav{display:flex;flex-direction:column;gap:10px;margin-top:20px}.nav-item{text-align:left;background:transparent;border:none;font-size:20px;padding:10px 0;cursor:pointer;color:var(--ink);transition:opacity .2s}.nav-item:hover{opacity:.7}.nav-item.active{font-weight:800}.nav-item:disabled{opacity:.3;cursor:default}.sidebar-footer{margin-top:auto}#sectionSelect{width:100%;padding:8px;font-size:16px;background:#e0e0e0;border:none;border-radius:4px}.main{padding:20px;overflow-y:auto;display:flex;flex-direction:column}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.view-title,.clock{font-size:28px;font-weight:400}.view.hidden{display:none}.placeholder{padding:40px;text-align:center;color:#999;border:2px dashed #ccc}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.card{background:#f0f0f0;border-radius:20px;padding:20px;box-shadow:var(--shadow)}.card h3{margin:0 0 15px;font-size:22px;font-weight:600}.status-bar{padding:12px 15px;border-radius:12px;font-weight:600;font-size:18px;margin-bottom:15px}.status-bar.ok{background:var(--ok-bg);color:var(--ink)}.status-bar.bad{background:var(--bad-bg);color:var(--ink)}.meta{margin-bottom:20px;font-size:14px;color:#555}.metrics{display:flex;justify-content:space-between;gap:10px}.metric{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;background:#e6e6e6;border-radius:12px;padding:10px}.metric .ico{height:24px;width:auto}.metric .v{font-weight:700;font-size:18px}.map-plan{position:relative;width:100%;max-width:900px;aspect-ratio:1.6;border:4px solid #000;background:#fff;margin:0 auto}.stairs-area-architectural{position:absolute;left:0;top:0;bottom:0;width:25%;display:flex;flex-direction:column}.stair-structure{position:relative;flex:1;margin-right:15px;border-top:2px solid #000;border-bottom:2px solid #000}.stair-structure.top{border-top:none;margin-top:10px}.stair-structure.bottom{border-bottom:none;margin-bottom:10px}.stair-landing-gap{height:40px;border-right:2px solid #000}.stair-flights-row{position:absolute;top:25px;bottom:5px;left:5px;right:5px;display:flex;border:2px solid #000}.stair-structure.top .stair-flights-row{border-top:none;bottom:0}.stair-structure.bottom .stair-flights-row{border-bottom:none;top:0}.stair-divider-thick{width:6px;background:#000;height:100%}.stair-flight{flex:1;background-image:linear-gradient(#000 1px,transparent 1px);background-size:100% 8px}.stair-curve{position:absolute;left:5px;right:5px;height:25px;border:2px solid #000}.n-shape{top:0;border-bottom:none;border-radius:20px 20px 0 0}.u-shape{bottom:0;border-top:none;border-radius:0 0 20px 20px}.icon-exit{position:absolute;width:24px;height:auto;z-index:20;background:#fff;border:1px solid #000;padding:1px}.tl{top:-5px;left:5px}.bl{bottom:-5px;left:5px}.corridor{position:absolute;left:25%;top:40%;width:75%;height:20%;border-top:3px solid #000;border-bottom:3px solid #000;display:flex;align-items:center;justify-content:space-around;z-index:10}.corridor .icon{height:28px;width:auto}.room-plan{position:absolute;width:25%;height:40%;border-right:3px solid #000;padding:0;display:flex;flex-direction:column;justify-content:center;align-items:center}.r-3{border-right:none}.r-top{top:0}.r-bot{bottom:0;border-top:3px solid #000}.r-1{left:25%}.r-2{left:50%}.r-3{left:75%}.room-content{text-align:center;width:100%}.room-title{font-weight:700;font-size:1.4vw;margin-bottom:8px}.bubble{width:6vw;height:6vw;max-width:80px;max-height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2.2vw;font-weight:800;margin:0 auto 5px;border:2px solid #000;box-shadow:2px 2px 5px #0000001a}.bubble.ok{background:#cfffc9;color:#1c5218}.bubble.bad{background:#f2a6a6;color:#521818}.cap{font-size:.8rem;color:#666;font-weight:600;margin-top:5px}.door{position:absolute;width:40px;height:40px;background-image:url(/images/ui/map/puerta.webp);background-size:contain;background-repeat:no-repeat;background-position:center;z-index:20}.door-wall-bottom{bottom:5px;right:2px}.door-wall-top{top:5px;right:2px}:root{--brand: #0891B2;--ink: #0f172a;--muted: #64748b;--line: #e2e8f0;--bg: #ffffff;--soft: #f8fafc}body{background:var(--bg);color:var(--ink)}.sidebar{background:var(--bg);border-right:1px solid var(--line)}.topbar{background:var(--bg);border-bottom:1px solid var(--line)}.nav-item.active{background:#0891b21a;border:1px solid rgba(8,145,178,.18)}.card{background:var(--d-panel, var(--bg));border:1px solid var(--line);box-shadow:0 14px 40px #0f172a0f}.status-bar.ok{background:#0891b21a;color:var(--ink)}:root[data-theme=dark]{--bg: #0b1220;--ink: #e2e8f0;--muted: #94a3b8;--line: #1e2a3d;--soft: #0f172a;--brand: #22c4e6;--d-primary: #22c4e6;--d-primary-dark: #0891B2;--d-ink: #e2e8f0;--d-text: #e2e8f0;--d-fg: #e2e8f0;--d-muted: #94a3b8;--d-line: #1e2a3d;--d-border: #1e2a3d;--d-bg: #0b1220;--d-bg-soft: #0f172a;--d-bg-hover: #15233a;--d-panel: #11192a;--d-ok: #4ade80;--d-warn: #fbbf24;--d-danger: #f87171;--d-info: #22c4e6;--d-shadow-card: 0 12px 32px rgba(2, 6, 23, .45);--d-shadow-card-hover: 0 18px 44px rgba(2, 6, 23, .55);--d-card-border: rgba(34, 196, 230, .18);--d-ease: cubic-bezier(.16, 1, .3, 1);--home-bg: #0b1220;--home-soft: #0f172a;--home-ink: #e8edf6;--home-muted: #94a3b8;--home-line: #1e2a3d;--home-primary: #22c4e6;--home-primary-dark: #0891b2;--home-cyan-bright: #67e8f9;--home-cyan-soft: #102b36;--home-shadow: 0 14px 40px rgba(2, 6, 23, .55);--home-shadow-card: 0 14px 40px rgba(2, 6, 23, .5);--home-shadow-card-hover: 0 22px 55px rgba(2, 6, 23, .6);--shadow: 0 14px 40px rgba(2, 6, 23, .55);color-scheme:dark}:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea{background-color:#0f172a;color:var(--d-text);border-color:var(--d-line)}:root[data-theme=dark] input::placeholder,:root[data-theme=dark] textarea::placeholder{color:#64748b}:root[data-theme=dark] .glass-card{background:#11192ad9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-color:var(--d-line)}:root[data-theme=dark] .card{background:var(--d-panel);border-color:var(--d-line);box-shadow:0 14px 40px #02061773}:root[data-theme=dark] .status-bar.ok{background:#22c4e61f;color:var(--d-text)}:root[data-theme=dark] img.dark-soften{filter:brightness(.92) contrast(1.05)}:root[data-theme=dark] .dash-history-progress-track{background:#1a2438}:root[data-theme=dark] table{background:var(--d-panel);color:var(--d-text)}:root[data-theme=dark] tr:nth-child(2n){background:#ffffff05}:root[data-theme=dark] .dash-header-account-dropdown,:root[data-theme=dark] .dash-header-notifications-dropdown{background:var(--d-panel);border:1px solid var(--d-line);box-shadow:0 14px 40px #0206178c}:root[data-theme=dark] .dash-nav-item.active{background:#22c4e624;color:var(--d-primary)}:root[data-theme=dark] .dash-nav-item:hover{background:#22c4e61a;color:var(--d-primary)}:root[data-theme=dark] .modal{background:#020617a6}:root[data-theme=dark] .modal-card{background:var(--d-panel);border:1px solid var(--d-line);color:var(--d-text)}:root[data-theme=dark] .auth-split,:root[data-theme=dark] .auth-left{background:var(--d-bg);color:var(--d-text)}:root[data-theme=dark] .auth-h1,:root[data-theme=dark] .auth-sub{color:var(--d-text)}.dash-theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;border:1px solid var(--d-line);background:transparent;color:var(--d-muted);cursor:pointer;transition:background-color .16s ease,color .16s ease,border-color .16s ease,transform .15s cubic-bezier(.23,1,.32,1)}.dash-theme-toggle:hover{background:#0891b214;color:var(--d-primary);border-color:#0891b240}.dash-theme-toggle:active{transform:scale(.96)}.dash-theme-toggle:focus-visible{outline:2px solid var(--d-primary);outline-offset:2px}.dash-theme-toggle .material-symbols-outlined{font-size:22px}@media(max-width:640px){.dash-theme-toggle{width:36px;height:36px}.dash-theme-toggle .material-symbols-outlined{font-size:20px}}:root[data-theme=dark] [data-zone-color=brand],:root[data-theme=dark] [data-zone-color=brand-dark]{--zone-bg: linear-gradient(135deg, rgba(34, 196, 230, .14) 0%, rgba(34, 196, 230, .04) 100%)}:root[data-theme=dark] ::-webkit-scrollbar{width:10px;height:10px}:root[data-theme=dark] ::-webkit-scrollbar-track{background:var(--d-bg)}:root[data-theme=dark] ::-webkit-scrollbar-thumb{background:#1e2a3d;border-radius:8px}:root[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#2a3a55}html,body,.app,.dash-sidebar,.dash-header,.card,.glass-card,.modal-card,.dash-header-account-dropdown,.dash-header-notifications-dropdown{transition:background-color .25s ease,color .25s ease,border-color .25s ease}@supports not (background: color-mix(in srgb,#000 10%,#fff)){:root[data-theme=dark] .dash-header{background:#11192af2}}:root[data-theme=dark] .dash-history-bar{box-shadow:inset 0 -5px 10px #00000052}:root[data-theme=dark] .dash-history-heatmap{color-scheme:dark}:root[data-theme=dark] .dash-history-heatmap-cell,:root[data-theme=dark] .dash-history-heatmap-day{border-color:var(--d-line)}:root[data-theme=dark] .dash-history-heatmap-cell--nodata{background:color-mix(in srgb,var(--d-muted) 22%,var(--d-bg-soft))}:root[data-theme=dark] .dash-sidebar-backdrop{background:#0000008c}:root[data-theme=dark] .dash-header-icon-btn .badge-dot{border-color:var(--d-panel)}:root[data-theme=dark] .dash-header-notifications-dropdown,:root[data-theme=dark] .dash-header-account-dropdown,:root[data-theme=dark] .lang-menu{box-shadow:0 12px 32px #00000073!important;background:var(--d-panel)!important;border-color:var(--d-line)!important}:root[data-theme=dark] .map-toolbar-bar{background:var(--d-panel)!important;border-color:var(--d-line)!important;box-shadow:0 1px #0003}:root[data-theme=dark] .chain-status{background:var(--d-panel);border-color:var(--d-line)}:root[data-theme=dark] .chain-status--inset{background:transparent;border-color:transparent}:root[data-theme=dark] .dash-placeholder,:root[data-theme=dark] .dash-rooms-view .rooms-overview-stat,:root[data-theme=dark] .dash-rooms-view .rooms-occupancy-meter,:root[data-theme=dark] .dash-rooms-view .rooms-signal summary,:root[data-theme=dark] .dash-rooms-view .rooms-signal-panel,:root[data-theme=dark] .dash-history-view .history-overview-stat,:root[data-theme=dark] .dash-history-view .history-occupancy-meter,:root[data-theme=dark] .dash-history-view .history-peak-chip,:root[data-theme=dark] .dash-history-view .dash-history-toolbar-row--combined,:root[data-theme=dark] .dash-history-view .dash-history-card,:root[data-theme=dark] .dash-map-view--flow .flow-overview-stat,:root[data-theme=dark] .dash-map-view--flow .flow-occupancy-meter,:root[data-theme=dark] .dash-map-view--flow .flow-peak-chip,:root[data-theme=dark] .dash-map-view--flow .flow-label-toggle,:root[data-theme=dark] .dash-map-view--flow .flow-heat-legend,:root[data-theme=dark] .dash-map-view--flow .dash-history-toolbar-row--combined{background:var(--d-panel)!important;border-color:var(--d-line)!important;box-shadow:0 1px #0003}:root[data-theme=dark] .dash-view-header{background:linear-gradient(90deg,rgba(34,196,230,.12) 0%,transparent 100%)!important;border-color:var(--d-line)!important}:root[data-theme=dark] .dash-view-header-logo-wrap{background:var(--d-bg-soft)!important;border-color:var(--d-line)!important;box-shadow:none}:root[data-theme=dark] .home-btn-ghost,:root[data-theme=dark] .home-burger{background:var(--home-bg)!important;border-color:var(--home-line)!important;color:var(--home-ink)}:root[data-theme=dark] .home-hero-aura-logo{filter:brightness(.96) contrast(1.05)}:root[data-theme=dark] .home-logo-sensespace{background:transparent;border-radius:0;padding:0;box-shadow:none;filter:none}:root[data-theme=dark] .home-nav .home-brand-logo.home-logo-sensespace.home-brand-logo--wordmark{padding:0;border-radius:0}:root[data-theme=dark] .auth-logo .home-logo-sensespace{border-radius:0;padding:0}:root[data-theme=dark] .auth-left,:root[data-theme=dark] .auth-left-top,:root[data-theme=dark] .auth-left-foot{border-color:var(--d-line)!important;background:var(--d-bg)!important;color:var(--d-text)}:root[data-theme=dark] .form .input,:root[data-theme=dark] .input{background:var(--d-bg-soft)!important;color:var(--d-text)!important}:root[data-theme=dark] .input:focus{background:#15233a!important}:root[data-theme=dark] .note,:root[data-theme=dark] .auth-sub,:root[data-theme=dark] .form .label{color:var(--d-muted)!important}:root[data-theme=dark] .dash-theme-toggle{background:var(--d-bg-soft);border-color:var(--d-line);color:var(--d-muted)}:root[data-theme=dark] .dash-menu-btn{background:var(--d-bg-hover);color:var(--d-ink)}:root[data-theme=dark] .dash-header-icon-btn:hover{background:var(--d-bg-hover)!important;color:var(--d-ink)!important}:root[data-theme=dark] .sensor-dot.off{background:#334155}:root[data-theme=dark] .sensor-dot.warn{background:#f59e0b;box-shadow:0 0 0 3px #f59e0b33}:root[data-theme=dark] .sensor-card-status{background:#1e293b}:root[data-theme=dark] .sensor-card-visual{background:linear-gradient(160deg,#1e293b,#0f172a);border-color:var(--d-line)}:root[data-theme=dark] .sensor-card-status.ok{background:#14351f;color:#86efac}:root[data-theme=dark] .sensor-card-status.pending{background:#3a2c0c;color:#fbbf24}:root[data-theme=dark] .sensor-card-status.error{background:#3a1414;color:#fca5a5}:root[data-theme=dark] .sensor-ok-msg{background:#14351f;color:#86efac;border-color:#14532d}:root[data-theme=dark] .sala-visual{background:linear-gradient(180deg,#0f1a2b,#0b1424)}:root[data-theme=dark] .rs-floor{fill:#16233a;stroke:#26374f}:root[data-theme=dark] .rs-wall--back{fill:#101a2c}:root[data-theme=dark] .rs-wall--left{fill:#0d1626}:root[data-theme=dark] .rs-wall{stroke:#26374f}:root[data-theme=dark] .rs-grid{stroke:#223047}:root[data-theme=dark] .rs-dim{fill:#7dd3fc}:root[data-theme=dark] .sala-template-btn,:root[data-theme=dark] .sens-preset-btn,:root[data-theme=dark] .sens-diff-btn{background:#16233a}:root[data-theme=dark] .sensor-card-status,:root[data-theme=dark] .estado-card{border-color:var(--d-line)}:root[data-theme=dark] .estado-danger{border-color:#5b2626}:root[data-theme=dark] .sensor-delete-btn{background:#3a1c1c;border-color:#6b2f2f;color:#f5b5b5}:root[data-theme=dark] .sensor-delete-btn:hover:not(:disabled){background:#4a2323}.home-hero-right{display:flex;align-items:center;justify-content:center}.home-hero-img-wrap picture{display:flex;align-items:center;justify-content:center;width:100%}.home-hero-img,.home-hero-img-wrap img,.home-hero-img-wrap picture img{display:block;margin-inline:auto;width:auto;max-width:100%;max-height:min(320px,50vh);height:auto;object-fit:contain;object-position:center}.home-browser-viewport{display:flex;align-items:center;justify-content:center;padding:0}.home-browser-viewport picture{display:flex;align-items:center;justify-content:center;width:100%;margin:0 auto}.home-browser-viewport img,.home-browser-shot{display:block;margin-inline:auto;width:100%;max-width:100%;height:auto;object-fit:contain;object-position:center center}.home-platform-browser-wrap{width:100%;max-width:1080px;margin-inline:auto}.industria-vertical-media{display:flex;align-items:center;justify-content:center}.industria-vertical-media picture{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.industria-vertical-img,.industria-vertical-media picture img{width:100%;height:100%;max-height:100%;object-fit:contain;object-position:center center}.home-sensors-diagram{display:flex;justify-content:center;align-items:center}.home-sensors-diagram-img{display:block;margin-inline:auto;max-width:100%;height:auto;object-fit:contain;object-position:center}.producto-platform-static{display:flex;justify-content:center}.producto-platform-static picture,.producto-platform-static img{margin-inline:auto;object-fit:contain;object-position:center}:root{--home-primary: #0891b2;--home-primary-dark: #0e7490;--home-cyan-soft: #ecfeff;--home-ink: #0f172a;--home-muted: #64748b;--home-line: #dce7ec;--home-bg: #ffffff;--home-soft: #f5f9fa;--home-shadow: 0 28px 80px rgba(15, 23, 42, .1);--home-radius: 1.1rem;--home-radius-lg: 1.75rem}.home-page{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--home-bg);color:var(--home-ink);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.home-container{width:min(1120px,92vw);margin:0 auto}.glass-card{background:color-mix(in srgb,var(--home-bg) 86%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(8,145,178,.12);box-shadow:0 14px 40px #0f172a0f}.home-nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);padding-top:env(safe-area-inset-top,0px);background:color-mix(in srgb,var(--home-bg) 90%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--home-line)}.home-nav-inner{height:72px;width:min(1120px,92vw);margin:0 auto;display:flex;align-items:center;gap:.75rem;padding-left:max(.25rem,env(safe-area-inset-left,0px));padding-right:max(.25rem,env(safe-area-inset-right,0px));box-sizing:border-box}@media(min-width:981px){.home-nav-inner{width:min(1200px,94vw);padding-left:0;padding-right:0}}.home-brand{display:flex;align-items:center;flex-shrink:0;min-width:0;max-width:min(220px,58vw);text-decoration:none;color:inherit}.home-brand--wordmark{flex:0 0 auto;min-width:0;max-width:min(200px,52vw);margin-left:-6px;margin-right:1.25rem}@media(min-width:981px){.home-brand--wordmark{margin-left:-32px;margin-right:2.5rem;max-width:240px}}.home-brand-logo{height:40px;width:auto;max-width:100%;object-fit:contain;object-position:left center}.home-brand-logo--wordmark{display:block;height:clamp(34px,4.2vw,40px);width:auto;max-width:min(240px,58vw);max-height:none;object-fit:contain;object-position:left center}@media(min-width:981px){.home-brand-logo--wordmark{height:40px;max-width:240px}}.home-brand-fallback{font-weight:700;letter-spacing:.08em;color:var(--home-ink)}.home-brand-fallback-hidden{display:none}.home-nav-links{flex:1 1 auto;display:flex;align-items:center;justify-content:center;gap:.35rem;min-width:0;padding-right:clamp(.75rem,2vw,1.5rem);color:var(--home-muted);font-weight:700;font-size:15px}.home-nav-links a{flex:1 1 0;min-width:0;display:inline-flex;align-items:center;justify-content:center;color:inherit;text-decoration:none;padding:8px 6px;border-radius:10px;white-space:nowrap;transition:color .2s,background .2s}.home-nav-links a:hover{color:var(--home-primary);background:#0891b214}.home-nav-links a.is-active{color:var(--home-primary-dark);background:color-mix(in srgb,var(--home-primary) 14%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--home-primary) 28%,transparent)}.home-nav-mobile a.is-active{color:var(--home-primary-dark);background:color-mix(in srgb,var(--home-primary) 12%,transparent)}.home-sector-badge-wrap{margin:0 0 14px}.home-sector-badge{display:inline-flex;align-items:center;gap:8px;margin:0;padding:6px 14px;border-radius:999px;font-weight:700;font-size:var(--fs-eyebrow);letter-spacing:.1em;text-transform:uppercase;color:var(--home-primary-dark);background:color-mix(in srgb,var(--home-primary) 12%,transparent);border:1px solid color-mix(in srgb,var(--home-primary) 30%,transparent)}.home-sector-detail{margin:.5rem 0 0;font-size:var(--fs-small);font-weight:600;letter-spacing:.04em;color:var(--home-muted);line-height:1.45;max-width:36rem}.home-nav-actions{display:flex;flex-shrink:0;gap:8px;align-items:center;margin-left:auto}.home-nav-actions>.home-btn-primary,.home-nav-actions>.home-btn-dark{box-sizing:border-box;flex:0 0 10.75rem;width:10.75rem;min-width:10.75rem;max-width:10.75rem;padding:9px 12px;font-size:14px;font-weight:600;letter-spacing:.015em;justify-content:center;white-space:nowrap;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}@media(min-width:981px)and (max-width:1160px){.home-nav-links{font-size:13px;gap:.2rem;padding-right:clamp(.5rem,1.5vw,1rem)}.home-nav-actions>.home-btn-primary,.home-nav-actions>.home-btn-dark{flex-basis:10rem;width:10rem;min-width:10rem;max-width:10rem;font-size:13px;padding:8px 10px}.home-brand--wordmark{max-width:min(200px,42vw);margin-right:1.5rem}.home-brand-logo--wordmark{height:34px;max-width:200px}}.home-lang-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;min-width:44px;padding:8px 0;border-radius:10px;border:1px solid var(--home-line);background:#0891b214;color:var(--home-primary-dark);font-weight:650;font-size:13px;cursor:pointer;transition:background .2s,border-color .2s}.home-lang-btn:hover{background:#0891b224;border-color:var(--home-primary)}.home-lang-pill{letter-spacing:.05em}.home-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:12px;font-weight:650;font-size:15px;text-decoration:none;cursor:pointer;border:1px solid var(--home-line);background:var(--home-bg);color:var(--home-ink);transition:transform .16s cubic-bezier(.23,1,.32,1),background-color .2s ease,border-color .2s ease,box-shadow .2s ease,color .2s ease}.home-btn-primary{background:var(--home-primary);border-color:var(--home-primary);color:#fff;box-shadow:0 12px 32px #0891b240}.home-btn-primary:hover{background:var(--home-primary-dark);border-color:var(--home-primary-dark);transform:translateY(-1px)}.home-btn-dark{background:#0f172a;border-color:#0f172a;color:#fff}.home-btn-dark:hover{background:#1e293b;border-color:#1e293b}.home-btn-ghost{background:color-mix(in srgb,var(--home-bg) 75%,transparent);color:var(--home-ink)}.home-btn-ghost:hover{background:#0891b214;border-color:#0891b233}.home-btn-lg{padding:14px 24px;font-size:15px}.home-btn-white{background:var(--home-bg);color:var(--home-primary);border:none}.home-btn-white:hover{background:var(--home-soft)}.home-btn-outline{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.6)}.home-btn-outline:hover{background:#ffffff26}.home-burger{display:none;width:44px;height:44px;border:1px solid var(--home-line);background:var(--home-bg);border-radius:12px;padding:10px;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px}.home-burger span{display:block;width:18px;height:2px;background:var(--home-ink);border-radius:1px}.home-nav-mobile{display:none;width:min(1120px,92vw);margin:0 auto;padding:12px 0 20px;border-top:1px solid var(--home-line)}.home-nav-mobile.open{display:block;max-height:calc(100dvh - 72px - env(safe-area-inset-top,0px));overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding-bottom:max(24px,env(safe-area-inset-bottom,0px))}.home-nav-mobile a{display:flex;align-items:center;min-height:44px;padding:10px 12px;border-radius:10px;color:var(--home-muted);font-weight:700;text-decoration:none}.home-nav-mobile a:hover{background:#0891b214;color:var(--home-ink)}.home-nav-mobile-ctas{display:flex;gap:10px;padding:16px 0 0;margin-top:8px;border-top:1px solid var(--home-line)}.home-main{padding-top:72px}.home-hero{position:relative;padding:56px 0 48px;overflow:hidden}.home-hero-bg{position:absolute;top:0;left:50%;transform:translate(-50%);width:100%;height:100%;background:radial-gradient(circle at 50% 0%,rgba(8,145,178,.08) 0%,transparent 55%);pointer-events:none}.home-hero-inner{position:relative;width:min(1120px,92vw);margin:0 auto;display:grid;grid-template-columns:1.05fr .95fr;gap:2.5rem;align-items:center}.home-eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--home-primary-dark);font-weight:700;font-size:var(--fs-eyebrow);letter-spacing:.12em;text-transform:uppercase;margin:0 0 14px}.home-ping{width:8px;height:8px;border-radius:50%;background:var(--home-primary);animation:home-ping 2s ease-in-out infinite}@keyframes home-ping{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}}.home-hero-title{margin:0;font-size:clamp(2.2rem,5vw,3.2rem);line-height:1.08;letter-spacing:-.03em;font-weight:760}.home-accent{color:var(--home-primary)}.home-hero-sub{margin:16px 0 24px;color:var(--home-muted);font-size:var(--fs-body);line-height:1.6;max-width:52ch}.home-hero-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.home-badges{display:flex;gap:8px;flex-wrap:wrap}.home-badge{padding:8px 14px;border-radius:999px;border:1px solid var(--home-line);background:color-mix(in srgb,var(--home-bg) 80%,var(--home-soft));color:var(--home-muted);font-weight:700;font-size:var(--fs-eyebrow)}.home-hero-right{position:relative;min-height:320px}.home-hero-sm{padding:40px 0 32px}.home-hero-sm .home-hero-right{min-height:240px}.home-hero-img-wrap{position:relative;border-radius:var(--home-radius-lg);overflow:hidden;background:var(--home-soft);border:1px solid var(--home-line);display:flex;align-items:center;justify-content:center;min-height:220px}.home-hero-img-wrap .home-hero-aura-logo{max-width:160px;height:auto}.home-hero-img{max-height:280px}.home-subsection-title{margin:1.5rem 0 .75rem;font-size:var(--fs-h4);font-weight:700;color:var(--home-ink)}.home-list{margin:0;padding-left:1.25rem;color:var(--home-muted);line-height:1.7}.home-list-check li::marker{content:"✓ ";color:var(--home-primary)}.home-tag-inline{font-size:var(--fs-eyebrow);font-weight:700;color:var(--home-primary);margin-bottom:6px}.home-muted-sm{font-size:13px;color:var(--home-muted);margin-top:8px}.home-flujo{display:flex;flex-direction:column;align-items:center;gap:4px;max-width:280px;margin:0 auto 2rem;padding:1.5rem;background:var(--home-soft);border-radius:var(--home-radius-lg);border:1px solid var(--home-line)}.home-flujo span:not(.home-flujo-arrow){font-weight:700;color:var(--home-ink)}.home-flujo-arrow{color:var(--home-primary);font-size:1.25rem}.home-flujo-img{max-width:400px;margin:0 auto}.home-section-note{margin:1.5rem 0 0;color:var(--home-muted);font-size:var(--fs-small)}.home-section-note.center{text-align:center}.home-hero-glow{position:absolute;top:-30px;right:-30px;bottom:-30px;left:-30px;background:radial-gradient(circle at 60% 40%,rgba(8,145,178,.2),transparent 60%);filter:blur(24px);z-index:0}.home-hero-card{position:relative;border-radius:var(--home-radius-lg);overflow:hidden;z-index:1}.home-hero-card-header{display:flex;align-items:center;gap:8px;padding:14px 16px;border-bottom:1px solid var(--home-line);color:var(--home-muted);font-weight:700;font-size:13px}.home-dot{width:10px;height:10px;border-radius:50%;background:#0f172a26}.home-hero-card-title{margin-left:4px}.home-hero-card-body{padding:20px}.home-hero-aura-logo{max-width:180px;height:auto;margin-bottom:16px;display:block}.home-hero-mock-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.home-mock-tile{padding:12px 14px;border-radius:12px;border:1px solid var(--home-line);background:var(--home-bg)}.home-mock-tile .k{display:block;color:var(--home-muted);font-weight:700;font-size:var(--fs-eyebrow)}.home-mock-tile .v{display:block;font-weight:760;font-size:14px;margin-top:4px}.home-section{padding:64px 0}.home-section-soft{background:var(--home-soft);border-top:1px solid var(--home-line);border-bottom:1px solid var(--home-line)}.home-section-border{border-top:1px solid var(--home-line);border-bottom:1px solid var(--home-line)}.home-section-head{max-width:640px;margin-bottom:2rem}.home-section-head.center{text-align:center;max-width:720px;margin-left:auto;margin-right:auto}.home-section-head h2{margin:0;font-size:clamp(1.6rem,3vw,2rem);font-weight:700;letter-spacing:-.02em}.home-section-head p{margin:10px 0 0;color:var(--home-muted);line-height:1.55}.home-section-title{font-size:1.75rem;font-weight:700;margin:0 0 2rem}.home-section-title.center{text-align:center}.home-cards-grid{display:grid;gap:1.25rem}.home-cards-grid.four{grid-template-columns:repeat(4,1fr)}.home-cards-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.home-cards-grid.two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:880px;margin-inline:auto}.home-product-shot{width:100%;height:180px;object-fit:cover;border-radius:14px;margin-bottom:1rem;background:var(--home-bg-soft)}.home-product-shot--bms{display:grid;place-items:center;background:radial-gradient(circle at 80% 10%,rgba(103,232,249,.28),transparent 10rem),linear-gradient(145deg,#ecfeff,#e2e8f0);color:var(--home-primary)}.home-product-shot--bms .material-symbols-outlined{font-size:4rem}.home-dataflow-visual{margin:1.5rem auto 0;max-width:720px}.home-dataflow-visual img,.home-dataflow-visual picture{width:100%;border-radius:16px;display:block}.home-feature-card{padding:1.75rem;border-radius:var(--home-radius-lg);border:1px solid var(--home-line);background:var(--home-bg);box-shadow:var(--home-shadow-card);transition:box-shadow .2s,transform .2s}.home-feature-card:hover{box-shadow:var(--home-shadow-card-hover)}.home-feature-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#0891b21a;color:var(--home-primary);border-radius:12px;margin-bottom:1rem}.home-feature-icon .material-symbols-outlined{font-size:26px}.home-feature-card h3,.home-benefit-card h3,.home-sol-card h3{margin:0 0 8px;font-size:var(--fs-h4);font-weight:700}.home-feature-card p,.home-benefit-card p,.home-sol-card p{margin:0;color:var(--home-muted);font-size:var(--fs-small);line-height:1.5}.home-product-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:2.5rem;align-items:start}.home-product-aura-logo{max-width:280px;height:auto;margin-bottom:1rem}.home-product-features{border-radius:var(--home-radius-lg);padding:1rem}.home-pmc-row{display:flex;justify-content:space-between;align-items:center;padding:12px 10px;border-bottom:1px dashed var(--home-line);font-weight:700;color:var(--home-muted);font-size:var(--fs-small)}.home-pmc-row:last-child{border-bottom:none}.home-pmc-row .tag{font-size:var(--fs-eyebrow);padding:4px 10px;border-radius:999px;border:1px solid var(--home-line);color:var(--home-ink);background:#0891b214}.home-product-copy h2{margin:0 0 12px;font-size:var(--fs-h3);font-weight:700}.home-product-copy h3{margin:1rem 0 8px;font-size:var(--fs-h4);font-weight:700;color:var(--home-primary)}.home-product-copy p{margin:0;color:var(--home-muted);line-height:1.55}.home-inline-cta{display:flex;gap:12px;margin-top:1.5rem;flex-wrap:wrap}.home-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;position:relative}.home-steps:before{content:"";position:absolute;top:48px;left:15%;right:15%;height:2px;background:var(--home-line);z-index:0}.home-step{position:relative;z-index:1;text-align:center}.home-step-circle{width:80px;height:80px;margin:0 auto 1rem;border-radius:50%;background:var(--home-primary);color:#fff;display:flex;align-items:center;justify-content:center;border:6px solid var(--home-bg);box-shadow:0 12px 32px #0891b24d}.home-step-circle .material-symbols-outlined{font-size:36px}.home-step h4{margin:0 0 8px;font-size:var(--fs-h4);font-weight:700}.home-step p{margin:0;font-size:var(--fs-small);color:var(--home-muted);line-height:1.5}.home-benefit-card{padding:2rem;border-radius:var(--home-radius-lg)}.home-benefit-icon{width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:#0891b21a;color:var(--home-primary);border-radius:14px;margin-bottom:1.25rem}.home-benefit-icon .material-symbols-outlined{font-size:28px}.home-sol-card,.home-price-card{padding:1.75rem;border-radius:var(--home-radius-lg)}.home-price-card{display:flex;flex-direction:column;gap:10px}.home-price-card h3{margin:0;font-size:var(--fs-h3);font-weight:750;letter-spacing:-.02em;color:var(--home-ink)}.home-price-card p{margin:0;color:var(--home-muted);line-height:1.6}.home-price-card .home-btn{margin-top:auto;width:100%;justify-content:center}.home-cta-section{padding:80px 0}.home-cta-box{background:var(--home-primary);border-radius:2rem;padding:3rem 2.5rem;text-align:center;position:relative;overflow:hidden}.home-cta-box:before{content:"";position:absolute;top:0;right:0;width:60%;height:100%;background:radial-gradient(circle at top right,rgba(255,255,255,.2),transparent 60%);pointer-events:none}.home-cta-box h2{position:relative;margin:0 0 12px;font-size:clamp(1.8rem,4vw,2.5rem);font-weight:760;color:#fff;letter-spacing:-.02em}.home-cta-box p{position:relative;margin:0 0 1.5rem;font-size:var(--fs-body);color:#ffffffe6}.home-cta-buttons{position:relative;display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.home-contact-page{padding:3rem 0 4rem}.home-contact-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);gap:1.5rem;align-items:start}.home-contact-form-wrap{padding:2rem;border-radius:var(--home-radius-lg)}.home-contact-form-title{margin:0 0 .35rem;font-size:var(--fs-h3);font-weight:760;letter-spacing:-.02em;color:var(--home-ink)}.home-contact-form-sub{margin:0 0 1.5rem;color:var(--home-muted);line-height:1.5}.home-contact-form{display:flex;flex-direction:column;gap:1rem}.home-contact-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.home-contact-label{display:flex;flex-direction:column;gap:6px;font-size:var(--fs-eyebrow);font-weight:700;color:var(--home-muted)}.home-contact-input{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--home-line);background:var(--home-soft);color:var(--home-ink);font:inherit;outline:none;transition:border-color .2s,box-shadow .2s,background .2s}.home-contact-input:focus{border-color:#0891b28c;box-shadow:0 0 0 4px #0891b21f;background:var(--home-bg)}.home-contact-select{cursor:pointer}.home-contact-textarea{resize:vertical;min-height:120px;line-height:1.5}.home-contact-error{margin:0;font-size:13px;font-weight:700;color:#ef4444}.home-contact-submit{width:100%;margin-top:.25rem}.home-contact-form-note{margin:0;font-size:var(--fs-small);color:var(--home-muted);line-height:1.45}.home-contact-honeypot{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}.home-contact-aside{display:flex;flex-direction:column;gap:1.25rem}.home-contact-hero-visual{position:relative;width:min(240px,100%);aspect-ratio:1;margin-left:auto;display:flex;align-items:center;justify-content:center;border-radius:var(--home-radius-lg);overflow:visible}.home-contact-hero-svg{width:88px;height:88px;color:var(--home-primary);position:relative;z-index:1}.home-contact-hero-orbit{position:absolute;border:1px solid rgba(8,145,178,.22);border-radius:50%;pointer-events:none}.home-contact-hero-orbit--one{top:8%;right:8%;bottom:8%;left:8%;animation:home-contact-orbit 8s linear infinite}.home-contact-hero-orbit--two{top:18%;right:18%;bottom:18%;left:18%;border-style:dashed;opacity:.7;animation:home-contact-orbit 12s linear infinite reverse}@keyframes home-contact-orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.home-contact-success{text-align:center;padding:1rem .5rem}.home-contact-success-icon{display:block;margin:0 auto 1rem;font-size:56px;color:var(--home-primary)}.home-contact-success h2{margin:0 0 .5rem;font-size:var(--fs-h3);font-weight:760;color:var(--home-ink)}.home-contact-success p{margin:0 0 1.25rem;color:var(--home-muted);line-height:1.5}.home-contact-success .home-contact-email{margin-bottom:1.25rem}.home-contact-trust{list-style:none;margin:0;padding:1.25rem 1.35rem;border-radius:var(--home-radius-lg);background:#0891b20f;border:1px solid rgba(8,145,178,.12);display:flex;flex-direction:column;gap:.85rem}.home-contact-trust li{display:flex;align-items:flex-start;gap:10px;font-size:var(--fs-small);font-weight:700;color:var(--home-ink);line-height:1.45}.home-contact-trust .material-symbols-outlined{font-size:20px;color:var(--home-primary);flex-shrink:0;margin-top:1px}.home-contact-v-link{color:var(--home-primary-dark);text-decoration:none;max-width:100%;white-space:nowrap;line-height:1.3}.home-contact-v-link:hover{text-decoration:underline}.home-contact-page-inner{display:flex;justify-content:center;align-items:center;padding:3rem 1rem}.home-contact-card{width:min(480px,100%);padding:2.5rem 2rem;text-align:center;border-radius:var(--home-radius-lg);box-shadow:var(--home-shadow)}.home-contact-icon{width:64px;height:64px;margin:0 auto 1.25rem;display:flex;align-items:center;justify-content:center;background:#0891b21f;color:var(--home-primary);border-radius:16px}.home-contact-icon .material-symbols-outlined{font-size:32px}.home-contact-title{margin:0 0 .5rem;font-size:clamp(1.75rem,4vw,2rem);font-weight:760;letter-spacing:-.02em;color:var(--home-ink)}.home-contact-sub{margin:0 0 1.5rem;color:var(--home-muted);font-size:var(--fs-body);line-height:1.5}.home-contact-email{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;margin-bottom:.75rem;border-radius:14px;background:#0891b214;border:1px solid rgba(8,145,178,.2);color:var(--home-primary-dark);font-weight:700;font-size:1.05rem;text-decoration:none;transition:background .2s,border-color .2s,transform .2s}.home-contact-email:hover{background:#0891b224;border-color:var(--home-primary);transform:translateY(-2px)}.home-contact-email .material-symbols-outlined{font-size:22px}.home-contact-hint{margin:0 0 1.5rem;font-size:var(--fs-eyebrow);color:var(--home-muted);line-height:1.4}.home-contact-card .home-btn{width:100%;max-width:280px}.home-contact-cards{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;max-width:720px}.home-contact-box{padding:1.5rem;border-radius:var(--home-radius-lg);display:flex;flex-direction:column;align-items:center;text-align:center}.home-contact-k{display:block;font-size:var(--fs-eyebrow);text-transform:uppercase;letter-spacing:.1em;color:var(--home-muted);font-weight:700}.home-contact-v{display:block;font-size:1.1rem;font-weight:760;margin-top:4px}.home-contact-hint{margin:8px 0 12px;font-size:13px;color:var(--home-muted);line-height:1.45}.home-contact-box .home-btn{margin-top:4px}.home-footer{border-top:1px solid var(--home-line);padding:24px 0;background:var(--home-soft)}.home-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.home-footer-brand{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--home-muted);font-size:14px}.home-footer-logo{height:28px;width:auto;opacity:.9}.home-footer-links{display:flex;gap:1.25rem;font-weight:700;font-size:14px}.home-footer-links a{color:var(--home-muted);text-decoration:none}.home-footer-links a:hover{color:var(--home-primary)}.home-footer-links .site-share{margin:0;padding:0;border:0;background:none;font:inherit;font-weight:700;color:var(--home-muted);cursor:pointer}.home-footer-links .site-share:hover{color:var(--home-primary)}.home-footer-sla{margin:.75rem 0 0;font-size:.8rem;color:var(--home-muted)}.site-wa{position:fixed;right:1.1rem;bottom:1.1rem;z-index:40;display:inline-flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;border-radius:50%;background:#25d366;color:#fff;text-decoration:none;box-shadow:0 10px 28px #0f172a2e}.site-wa svg{width:1.85rem;height:1.85rem;display:block}.site-wa:hover{background:#1ebe57;color:#fff}.site-wa:focus-visible{outline:2px solid #128c7e;outline-offset:3px}.legal-prose{max-width:42rem;line-height:1.6}.legal-prose h2{margin-top:1.5rem;font-size:1.1rem}.home-use-cases-section{position:relative;overflow:hidden}.home-use-cases-section:before{content:"";position:absolute;width:28rem;height:28rem;right:-16rem;top:4rem;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--home-primary) 12%,transparent),transparent 68%);pointer-events:none}.home-use-cases-grid{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.home-use-case-card{display:flex;flex-direction:column;min-height:21rem;padding:1.6rem;border:1px solid var(--home-line);border-radius:var(--home-radius-lg);background:var(--home-bg);box-shadow:0 12px 34px #0f172a0f;transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease}.home-use-case-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--home-primary) 38%,var(--home-line));box-shadow:0 20px 44px #0f172a1c}.home-use-case-topline{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:2rem}.home-use-case-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:3.65rem;height:3.65rem;overflow:hidden;border:1px solid color-mix(in srgb,var(--home-primary) 30%,var(--home-line));border-radius:1.15rem;background:linear-gradient(145deg,color-mix(in srgb,var(--home-primary) 15%,var(--home-bg)),var(--home-bg));color:var(--home-primary);box-shadow:inset 0 1px color-mix(in srgb,#fff 72%,transparent),0 10px 22px color-mix(in srgb,var(--home-primary) 12%,transparent)}.home-use-case-icon .material-symbols-outlined{position:relative;z-index:1;font-size:1.7rem;font-variation-settings:"FILL" 0,"wght" 350,"GRAD" 0,"opsz" 32}.home-use-case-icon i{position:absolute;right:.45rem;bottom:.45rem;width:.45rem;height:.45rem;border:2px solid var(--home-bg);border-radius:50%;background:var(--home-primary)}.home-faq-aside-icon{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:1rem;background:color-mix(in srgb,var(--home-primary) 12%,var(--home-bg));color:var(--home-primary);font-size:1.55rem}.home-use-case-tag{padding:.4rem .7rem;border:1px solid color-mix(in srgb,var(--home-primary) 20%,var(--home-line));border-radius:999px;color:var(--home-primary-dark);background:color-mix(in srgb,var(--home-primary) 7%,var(--home-bg));font-size:.82rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.home-use-case-card h3{margin:0 0 .75rem;color:var(--home-ink);font-size:clamp(1.25rem,2vw,1.55rem);line-height:1.2}.home-use-case-card>p{margin:0 0 1.5rem;color:var(--home-muted);font-size:1rem;line-height:1.65}.home-use-case-outcome{display:flex;align-items:flex-start;gap:.55rem;margin-top:auto;padding-top:1.1rem;border-top:1px solid var(--home-line);color:var(--home-ink);line-height:1.4}.home-use-case-outcome .material-symbols-outlined{color:var(--home-primary)}.home-section-action{display:flex;justify-content:center;margin-top:1.75rem}.home-section-action .home-btn{gap:.45rem}.home-faq-section{border-top:1px solid var(--home-line)}.home-faq-shell{display:grid;grid-template-columns:minmax(15rem,.72fr) minmax(0,1.55fr);gap:1rem;align-items:start}.home-faq-aside{padding:1.75rem;border:1px solid color-mix(in srgb,var(--home-primary) 20%,var(--home-line));border-radius:var(--home-radius-lg);background:linear-gradient(145deg,color-mix(in srgb,var(--home-primary) 11%,var(--home-bg)),var(--home-bg) 65%)}.home-faq-aside h3{margin:1.4rem 0 .65rem;color:var(--home-ink);font-size:1.35rem;line-height:1.25}.home-faq-aside p{margin:0 0 1.35rem;color:var(--home-muted);font-size:1rem;line-height:1.6}.home-faq-list{overflow:hidden;border:1px solid var(--home-line);border-radius:var(--home-radius-lg);background:var(--home-bg)}.home-faq-item{border-bottom:1px solid var(--home-line)}.home-faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4.5rem;padding:1rem 1.2rem;color:var(--home-ink);cursor:pointer;font-size:1rem;font-weight:750;line-height:1.4;list-style:none}.home-faq-item summary::-webkit-details-marker{display:none}.home-faq-item summary:hover{background:color-mix(in srgb,var(--home-primary) 5%,var(--home-bg))}.home-faq-toggle{flex:0 0 auto;color:var(--home-primary);transition:transform .2s ease}.home-faq-item[open] .home-faq-toggle{transform:rotate(45deg)}.home-faq-item p{max-width:50rem;margin:0;padding:0 3.5rem 1.2rem 1.2rem;color:var(--home-muted);font-size:1rem;line-height:1.65}@media(max-width:900px){.home-use-cases-grid{grid-template-columns:1fr}.home-use-case-card{min-height:auto}.home-faq-shell{grid-template-columns:1fr}}@media(max-width:560px){.home-use-case-card,.home-faq-aside{padding:1.25rem}.home-faq-item summary{padding:.95rem 1rem}.home-faq-item p{padding:0 2.8rem 1rem 1rem}}@media(prefers-reduced-motion:reduce){.home-use-case-card,.home-faq-toggle{transition:none}}.home-soluciones-cta{margin-top:1.75rem;text-align:center}.material-symbols-outlined{font-family:Material Symbols Outlined,sans-serif;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;font-style:normal;font-weight:400}.home-sensors-diagram{width:100%;max-width:920px;margin:2rem auto 1.5rem;background:#fff;border-radius:var(--home-radius-lg);border:1px solid var(--home-line);padding:2.5rem 3rem;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 32px #0000000f}.home-sensors-diagram-img{width:100%;height:auto;object-fit:contain;max-height:500px;display:block}.home-flujo-pills{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 4px;margin:0 auto .5rem;padding:.5rem 0}.home-flujo-pills span:not(.home-flujo-arrow){font-weight:700;font-size:13px;color:var(--home-primary);background:#0891b214;padding:4px 14px;border-radius:20px;border:1px solid rgba(8,145,178,.2)}.home-flujo-pills .home-flujo-arrow{color:var(--home-muted);font-size:1rem;line-height:1}@media(max-width:1240px){.home-contact-layout{grid-template-columns:1fr}}@media(max-width:980px){.home-nav-inner{justify-content:space-between}.home-nav-links,.home-nav-actions{display:none}.home-burger{display:flex}.home-hero-inner{grid-template-columns:1fr}.home-hero-title{font-size:2rem}.home-cards-grid.four{grid-template-columns:1fr 1fr}.home-cards-grid.two,.home-cards-grid.three,.home-product-grid,.home-steps{grid-template-columns:1fr}.home-steps:before{display:none}.home-contact-cards,.home-contact-layout,.home-contact-form-row{grid-template-columns:1fr}.home-contact-input{font-size:16px}.home-contact-hero-visual{margin:1.5rem auto 0;width:min(200px,70vw)}.home-footer-inner{flex-direction:column;text-align:center}}@media(max-width:640px){.home-cards-grid.four{grid-template-columns:1fr}.home-sensors-diagram{padding:1.25rem 1rem}.home-sensors-diagram-img{max-height:280px}}@media(max-width:480px){.home-nav-inner{width:100%;max-width:100%;padding-left:max(.5rem,env(safe-area-inset-left,0px));padding-right:max(.5rem,env(safe-area-inset-right,0px));gap:.5rem}.home-brand{min-width:0;flex:1 1 auto}.home-brand--wordmark{margin-left:-2px;margin-right:.5rem;max-width:min(190px,52vw)}.home-brand-logo{height:34px;max-width:min(160px,48vw)}.home-brand-logo--wordmark{height:34px;max-width:min(190px,52vw)}.home-container{width:100%;padding-left:max(.6rem,env(safe-area-inset-left,0px));padding-right:max(.6rem,env(safe-area-inset-right,0px))}.home-section{padding:44px 0}.home-hero-sm,.home-hero-inner{gap:1.25rem}.home-nav-mobile-ctas{flex-direction:column;align-items:stretch}.home-nav-mobile-ctas .home-btn{width:100%}.home-feature-card{padding:1.2rem 1.1rem}.home-cards-grid{gap:1rem}.home-btn{font-size:14px;padding:11px 16px;min-height:44px}}.producto-overview{position:relative;padding:52px 0 72px;overflow:hidden;background:linear-gradient(180deg,color-mix(in srgb,var(--home-soft) 74%,transparent),transparent 72%),var(--home-bg)}.producto-overview-inner{position:relative}.producto-overview-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:2rem;margin-bottom:2.4rem}.producto-overview-copy{max-width:800px}.producto-overview-copy h1{max-width:12ch;margin:0;font-size:clamp(2.55rem,6vw,5rem);line-height:.98;letter-spacing:-.055em;font-weight:760;text-wrap:balance}.producto-overview-copy>p{max-width:66ch;margin:1.25rem 0 0;color:var(--home-muted);font-size:clamp(1rem,1.6vw,1.125rem);line-height:1.6}.producto-overview-head>.home-btn{margin-bottom:.2rem;white-space:nowrap}.producto-device-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;border:1px solid var(--home-line);border-radius:26px;background:var(--home-bg);box-shadow:0 24px 70px #0f172a14}.producto-device{min-width:0;display:flex;flex-direction:column;padding-bottom:1.65rem;border-right:1px solid var(--home-line);transition:background-color .22s ease}.producto-device:last-child{border-right:0}.producto-device-media{position:relative;height:220px;margin-bottom:1.4rem;overflow:hidden;background:color-mix(in srgb,var(--home-soft) 88%,var(--home-bg))}.producto-device-media picture,.producto-device-media img{display:block;width:100%;height:100%}.producto-device-media img{object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1)}.producto-device-media img.producto-device-image--core{object-fit:contain;transform:scale(.94)}.producto-device-media--core{background:#f5f5f4}.producto-device-media--core picture{position:relative;width:min(100%,220px);margin-inline:auto}.producto-device-media--core picture:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;box-shadow:inset 0 0 34px 22px #f5f5f4}.producto-device-media--core .producto-device-step{z-index:2}.producto-device-step{position:absolute;top:16px;left:16px;display:inline-grid;place-items:center;min-width:2.35rem;height:2.35rem;padding-inline:.65rem;border:1px solid rgba(255,255,255,.48);border-radius:999px;background:#0f172ab8;color:#fff;font-size:.75rem;font-weight:800;letter-spacing:.08em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.producto-device-copy{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:0 1.6rem}.producto-device-action{margin:0 0 .4rem;color:var(--home-primary);font-size:.78rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.producto-device-copy h2{margin:0;font-size:clamp(1.55rem,2.4vw,2rem);line-height:1.08;letter-spacing:-.035em}.producto-device-desc{margin:.85rem 0 1.35rem;color:var(--home-muted);font-size:1rem;line-height:1.55}.producto-device-tag{display:inline-flex;margin-top:auto;padding:.45rem .7rem;border:1px solid color-mix(in srgb,var(--home-primary) 24%,var(--home-line));border-radius:999px;background:color-mix(in srgb,var(--home-primary) 7%,var(--home-bg));color:var(--home-primary-dark);font-size:.76rem;font-weight:750;letter-spacing:.035em}.producto-device-bms{position:relative;display:grid;place-items:center;width:100%;height:100%;overflow:hidden;background:radial-gradient(circle at 50% 48%,rgba(34,211,238,.2),transparent 34%),linear-gradient(145deg,#ecfeff,#e2e8f0);color:var(--home-primary-dark)}.producto-device-bms:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.38;background-image:linear-gradient(rgba(8,145,178,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(8,145,178,.16) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:linear-gradient(to bottom,transparent,black 25%,black 75%,transparent);mask-image:linear-gradient(to bottom,transparent,black 25%,black 75%,transparent)}.producto-device-bms .material-symbols-outlined{position:relative;z-index:1;font-size:5rem;filter:drop-shadow(0 12px 24px rgba(8,145,178,.2))}.producto-device-bms i{position:absolute;z-index:1;width:6px;height:6px;border-radius:50%;background:var(--home-primary);box-shadow:0 0 0 6px #0891b21a,0 0 22px #0891b280;animation:producto-signal 2.4s ease-in-out infinite}.producto-device-bms i:nth-of-type(1){top:28%;left:23%}.producto-device-bms i:nth-of-type(2){top:34%;right:24%;animation-delay:.7s}.producto-device-bms i:nth-of-type(3){bottom:24%;left:50%;animation-delay:1.4s}@keyframes producto-signal{0%,to{opacity:.45;transform:scale(.82)}50%{opacity:1;transform:scale(1.15)}}@media(hover:hover)and (pointer:fine){.producto-device:hover{background:color-mix(in srgb,var(--home-soft) 40%,var(--home-bg))}.producto-device:hover .producto-device-media img{transform:scale(1.035)}.producto-device:hover .producto-device-media img.producto-device-image--core{transform:scale(.98)}}@media(max-width:900px){.producto-overview-head{grid-template-columns:1fr;align-items:start}.producto-overview-head>.home-btn{justify-self:start}.producto-device-panel{grid-template-columns:1fr}.producto-device{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(0,1.1fr);padding:0;border-right:0;border-bottom:1px solid var(--home-line)}.producto-device:last-child{border-bottom:0}.producto-device-media{height:100%;min-height:250px;margin:0}.producto-device-copy{justify-content:center;padding:2rem}}@media(max-width:620px){.producto-overview{padding:36px 0 52px}.producto-overview-head{margin-bottom:1.6rem}.producto-overview-copy h1{font-size:clamp(2.45rem,13vw,3.6rem)}.producto-device{display:flex}.producto-device-media{width:100%;height:210px;min-height:0;margin-bottom:1.35rem}.producto-device-copy{padding:0 1.25rem 1.5rem}}@media(prefers-reduced-motion:reduce){.producto-device-media img,.producto-device-bms i{transition:none;animation:none}}.producto-flow{width:min(1040px,100%);margin:0 auto}.producto-flow-main{display:grid;grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr) 72px minmax(0,1fr);align-items:center}.producto-flow-node{min-width:0;min-height:238px;display:flex;flex-direction:column;padding:1.55rem;border:1px solid color-mix(in srgb,var(--home-primary) 18%,var(--home-line));border-radius:22px;background:linear-gradient(180deg,color-mix(in srgb,var(--home-soft) 35%,transparent),transparent 58%),var(--home-bg);box-shadow:0 18px 48px #0f172a12;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.producto-flow-node-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:auto}.producto-flow-icon,.producto-flow-dashboard-icon{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:14px;background:color-mix(in srgb,var(--home-primary) 11%,var(--home-bg));color:var(--home-primary-dark);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--home-primary) 15%,transparent)}.producto-flow-step{color:color-mix(in srgb,var(--home-primary) 62%,var(--home-muted));font-size:.75rem;font-weight:800;letter-spacing:.12em}.producto-flow-action{margin:1.5rem 0 .35rem;color:var(--home-primary);font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.producto-flow-node h3,.producto-flow-dashboard h3{margin:0;font-size:clamp(1.35rem,2vw,1.7rem);line-height:1.12;letter-spacing:-.03em}.producto-flow-detail{display:inline-flex;align-items:center;align-self:flex-start;min-height:2rem;margin:1rem 0 0;padding:.42rem .68rem;border:1px solid color-mix(in srgb,var(--home-primary) 18%,var(--home-line));border-radius:999px;background:color-mix(in srgb,var(--home-primary) 6%,var(--home-bg));color:var(--home-primary-dark);font-size:.78rem;font-weight:750;line-height:1.2}.producto-flow-connector{position:relative;display:flex;align-items:center;width:100%;height:24px;color:var(--home-primary)}.producto-flow-connector:before{content:"";flex:1;height:2px;background:linear-gradient(90deg,rgba(8,145,178,.2),var(--home-primary))}.producto-flow-connector>.material-symbols-outlined{margin-left:-5px;font-size:22px}.producto-flow-connector>i{position:absolute;left:8px;width:7px;height:7px;border-radius:50%;background:var(--home-primary);box-shadow:0 0 0 5px color-mix(in srgb,var(--home-primary) 12%,transparent);animation:producto-flow-travel 2.6s ease-in-out infinite}@keyframes producto-flow-travel{0%,14%{left:8px;opacity:0}28%{opacity:1}78%{opacity:1}92%,to{left:calc(100% - 18px);opacity:0}}.producto-flow-branch{position:relative;width:2px;height:46px;margin:0 auto;background:linear-gradient(to bottom,var(--home-primary),color-mix(in srgb,var(--home-primary) 18%,transparent))}.producto-flow-branch:after{content:"";position:absolute;bottom:-3px;left:50%;width:7px;height:7px;border-radius:50%;background:var(--home-primary);transform:translate(-50%);box-shadow:0 0 0 5px color-mix(in srgb,var(--home-primary) 10%,transparent)}.producto-flow-dashboard{width:min(560px,100%);min-height:112px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1.15rem;margin:0 auto;padding:1.25rem;border:1px dashed color-mix(in srgb,var(--home-primary) 36%,var(--home-line));border-radius:20px;background:color-mix(in srgb,var(--home-soft) 54%,var(--home-bg))}.producto-flow-dashboard .producto-flow-action{margin:0 0 .2rem}.producto-flow-dashboard>div>p:last-child{margin:.45rem 0 0;color:var(--home-muted);font-size:.92rem}.producto-flow-badge{display:inline-flex;padding:.42rem .68rem;border-radius:999px;background:var(--home-bg);color:var(--home-primary-dark);font-size:.73rem;font-weight:780;white-space:nowrap;box-shadow:inset 0 0 0 1px var(--home-line)}@media(hover:hover)and (pointer:fine){.producto-flow-node:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--home-primary) 42%,var(--home-line));box-shadow:0 24px 56px #0f172a1c}}@media(max-width:860px){.producto-flow{width:min(520px,100%)}.producto-flow-main{grid-template-columns:1fr}.producto-flow-node{min-height:210px}.producto-flow-connector{justify-self:center;width:24px;height:54px;flex-direction:column}.producto-flow-connector:before{width:2px;height:auto;background:linear-gradient(to bottom,rgba(8,145,178,.2),var(--home-primary))}.producto-flow-connector>.material-symbols-outlined{margin:-5px 0 0;transform:rotate(90deg)}.producto-flow-connector>i{top:8px;left:50%;animation:producto-flow-travel-vertical 2.6s ease-in-out infinite}.producto-flow-branch{height:34px}@keyframes producto-flow-travel-vertical{0%,14%{top:8px;opacity:0}28%{opacity:1}78%{opacity:1}92%,to{top:calc(100% - 18px);opacity:0}}}@media(max-width:520px){.producto-flow-dashboard{grid-template-columns:auto minmax(0,1fr)}.producto-flow-badge{grid-column:2;justify-self:start}}@media(prefers-reduced-motion:reduce){.producto-flow-connector>i{display:none;animation:none}}:root[data-theme=dark] .producto-flow-node,:root[data-theme=dark] .producto-flow-dashboard{background:#11192a;border-color:#1e3a48}.home-energy-section{position:relative;background:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--home-primary) 7%,transparent),transparent 34rem),var(--home-bg);border-top:1px solid var(--home-line);border-bottom:1px solid var(--home-line);scroll-margin-top:88px}.home-energy-section .home-bms-explainer{margin-top:0}.home-energy-cta{display:flex;justify-content:center;margin-top:1.35rem}.home-energy-cta .home-btn{gap:.45rem}.home-energy-cta .material-symbols-outlined{font-size:18px}#flujo{scroll-margin-top:88px}.producto-insights-section{background:radial-gradient(circle at 18% 8%,color-mix(in srgb,var(--home-primary) 8%,transparent),transparent 28rem),var(--home-bg)}.producto-insights-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:1.25rem}.producto-insight-card{min-width:0;padding:1.4rem;border:1px solid var(--home-line);border-radius:26px;background:var(--home-bg);box-shadow:0 20px 56px #0f172a14}.producto-insight-card-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.85rem;margin-bottom:1.25rem}.producto-insight-icon{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:13px;background:color-mix(in srgb,var(--home-primary) 10%,var(--home-bg));color:var(--home-primary-dark)}.producto-insight-card-head h3{margin:0;font-size:1.22rem;letter-spacing:-.025em}.producto-insight-card-head p{margin:.25rem 0 0;color:var(--home-muted);font-size:.86rem;line-height:1.45}.producto-insight-badge{padding:.42rem .65rem;border:1px solid color-mix(in srgb,var(--home-primary) 22%,var(--home-line));border-radius:999px;background:color-mix(in srgb,var(--home-primary) 7%,var(--home-bg));color:var(--home-primary-dark);font-size:.7rem;font-weight:780;white-space:nowrap}.producto-heatmap-canvas{position:relative;min-height:320px;overflow:hidden;border:1px solid color-mix(in srgb,var(--home-primary) 16%,var(--home-line));border-radius:19px;background:linear-gradient(rgba(8,145,178,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(8,145,178,.07) 1px,transparent 1px),color-mix(in srgb,var(--home-soft) 72%,var(--home-bg));background-size:24px 24px}.producto-heatmap-zone{position:absolute;border:1px solid color-mix(in srgb,var(--home-primary) 22%,var(--home-line));border-radius:10px;background:color-mix(in srgb,var(--home-bg) 76%,transparent)}.producto-heatmap-zone--one{top:28px;right:55%;bottom:48%;left:28px}.producto-heatmap-zone--two{top:28px;right:28px;bottom:56%;left:48%}.producto-heatmap-zone--three{top:48%;right:44%;bottom:42px;left:28px}.producto-heatmap-zone--four{top:44%;right:28px;bottom:42px;left:60%}.producto-heat{position:absolute;width:118px;height:118px;border-radius:50%;background:radial-gradient(circle,rgba(249,115,22,.82),rgba(250,204,21,.46) 34%,rgba(34,211,238,.2) 62%,transparent 72%);filter:blur(6px);mix-blend-mode:multiply;animation:producto-heat-pulse 4.2s ease-in-out infinite}.producto-heat--one{top:18%;left:18%}.producto-heat--two{top:32%;right:16%;width:142px;height:142px;animation-delay:1.1s}.producto-heat--three{bottom:11%;left:42%;width:96px;height:96px;animation-delay:2.1s}@keyframes producto-heat-pulse{0%,to{opacity:.58;transform:scale(.9)}50%{opacity:.94;transform:scale(1.08)}}.producto-heatmap-legend{position:absolute;right:14px;bottom:12px;display:grid;grid-template-columns:auto 82px auto;align-items:center;gap:7px;padding:.45rem .6rem;border-radius:999px;background:color-mix(in srgb,var(--home-bg) 90%,transparent);color:var(--home-muted);font-size:.66rem;font-weight:700;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.producto-heatmap-legend>i{height:6px;border-radius:999px;background:linear-gradient(90deg,#22d3ee,#fde047,#f97316)}.producto-flow-insights{display:grid;gap:.8rem;margin-top:.25rem}.producto-flow-insights>div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.4rem .7rem;align-items:center;padding:.9rem 1rem;border:1px solid var(--home-line);border-radius:15px;background:color-mix(in srgb,var(--home-soft) 48%,var(--home-bg))}.producto-flow-insights .material-symbols-outlined{grid-row:1 / 3;color:var(--home-primary);font-size:21px}.producto-flow-insights strong{font-size:.88rem}.producto-flow-insights i{height:5px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--home-line) 72%,transparent)}.producto-flow-insights b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--home-primary),var(--home-cyan-bright));transform-origin:left;animation:producto-bar-grow 1.1s cubic-bezier(.2,.8,.2,1) both}@keyframes producto-bar-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.producto-insight-privacy-note{display:flex;align-items:center;gap:.55rem;margin:1rem 0 0;padding:.85rem 1rem;border-radius:15px;background:color-mix(in srgb,var(--home-primary) 7%,var(--home-bg));color:var(--home-primary-dark);font-size:.82rem;font-weight:720}.producto-insight-privacy-note .material-symbols-outlined{font-size:20px}.producto-insights-grid.reveal-stagger>article{opacity:0;transform:translateY(12px);transition:opacity .32s ease,transform .32s ease}.producto-insights-grid.reveal-stagger.is-visible>article{opacity:1;transform:translateY(0)}.producto-insights-grid.reveal-stagger.is-visible>article:nth-child(2){transition-delay:.12s}.producto-privacy-section{overflow:hidden}.producto-privacy-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:clamp(2rem,6vw,5rem)}.producto-privacy-copy h2{max-width:12ch;margin:0;font-size:clamp(2.1rem,4.6vw,3.8rem);line-height:1.02;letter-spacing:-.05em;text-wrap:balance}.producto-privacy-copy>p:not(.home-story-kicker){max-width:52ch;margin:1rem 0 0;color:var(--home-muted);font-size:1.02rem;line-height:1.65}.producto-privacy-copy .home-inline-cta{margin-top:1.5rem}.producto-privacy-visual{position:relative;min-height:390px;overflow:hidden;border:1px solid rgba(103,232,249,.16);border-radius:28px;background:radial-gradient(circle at 50% 44%,rgba(34,211,238,.17),transparent 29%),linear-gradient(145deg,#0b1220,#12384a);box-shadow:0 28px 70px #0b12203d}.producto-privacy-visual:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.22;background-image:linear-gradient(rgba(103,232,249,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(103,232,249,.2) 1px,transparent 1px);background-size:30px 30px;-webkit-mask-image:radial-gradient(circle,black,transparent 78%);mask-image:radial-gradient(circle,black,transparent 78%)}.producto-privacy-orbit{position:absolute;top:44%;left:50%;border:1px solid rgba(103,232,249,.2);border-radius:50%;transform:translate(-50%,-50%)}.producto-privacy-orbit--one{width:250px;height:250px;animation:producto-orbit 10s linear infinite}.producto-privacy-orbit--two{width:330px;height:180px;animation:producto-orbit-reverse 13s linear infinite}.producto-privacy-orbit i{position:absolute;top:-4px;left:50%;width:8px;height:8px;border-radius:50%;background:var(--home-cyan-bright);box-shadow:0 0 0 7px #67e8f91a,0 0 24px #67e8f9b3}@keyframes producto-orbit{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes producto-orbit-reverse{0%{transform:translate(-50%,-50%) rotate(360deg)}to{transform:translate(-50%,-50%) rotate(0)}}.producto-privacy-shield{position:absolute;top:44%;left:50%;z-index:2;display:grid;place-items:center;width:132px;height:132px;border:1px solid rgba(103,232,249,.32);border-radius:32px;background:#0b1220d1;color:#fff;transform:translate(-50%,-50%);box-shadow:0 0 0 12px #22d3ee0d,0 22px 52px #00000047;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.producto-privacy-shield .material-symbols-outlined{color:var(--home-cyan-bright);font-size:3.2rem;animation:producto-shield-pulse 2.8s ease-in-out infinite}.producto-privacy-shield strong{margin-top:-1rem;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}@keyframes producto-shield-pulse{0%,to{filter:drop-shadow(0 0 0 rgba(103,232,249,0));transform:scale(.96)}50%{filter:drop-shadow(0 0 14px rgba(103,232,249,.65));transform:scale(1.04)}}.producto-privacy-metrics{position:absolute;right:18px;bottom:18px;left:18px;z-index:3;display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden;border:1px solid rgba(103,232,249,.16);border-radius:16px;background:#0b1220b8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.producto-privacy-metrics>div{display:flex;align-items:baseline;justify-content:center;gap:.45rem;min-width:0;padding:.9rem .7rem;border-right:1px solid rgba(103,232,249,.13)}.producto-privacy-metrics>div:last-child{border-right:0}.producto-privacy-metrics strong{color:#fff;font-size:1.1rem}.producto-privacy-metrics span{color:#ffffff94;font-size:.72rem}@media(max-width:900px){.producto-insights-grid,.producto-privacy-grid{grid-template-columns:1fr}.producto-privacy-copy{text-align:center}.producto-privacy-copy h2,.producto-privacy-copy>p:not(.home-story-kicker){margin-inline:auto}.producto-privacy-copy .home-inline-cta{justify-content:center}}@media(max-width:560px){.producto-insight-card-head{grid-template-columns:auto minmax(0,1fr)}.producto-insight-badge{grid-column:2;justify-self:start}.producto-heatmap-canvas{min-height:270px}.producto-privacy-visual{min-height:410px}.producto-privacy-metrics{grid-template-columns:1fr}.producto-privacy-metrics>div{border-right:0;border-bottom:1px solid rgba(103,232,249,.13)}.producto-privacy-metrics>div:last-child{border-bottom:0}}@media(prefers-reduced-motion:reduce){.producto-heat,.producto-flow-insights b,.producto-privacy-orbit,.producto-privacy-shield .material-symbols-outlined{animation:none}.producto-insights-grid.reveal-stagger>article{opacity:1;transform:none;transition:none}}:root[data-theme=dark] .producto-insight-card,:root[data-theme=dark] .producto-flow-insights>div{background:#11192a;border-color:#1e3a48}.home-page{--home-primary: #0891b2;--home-primary-dark: #0e7490;--home-cyan-bright: #67e8f9;--home-cyan-soft: #ecfeff;--home-success: #0891b2;--home-ink: #0f172a;--home-muted: #64748b;--home-line: #dce7ec;--home-bg: #ffffff;--home-soft: #f5f9fa;--home-shadow: 0 28px 80px rgba(15, 23, 42, .1);--home-radius: 1.1rem;--home-radius-lg: 1.75rem;--home-radius-organic: 34px 34px 96px 34px;--home-radius-organic-lg: 36px 36px 110px 36px;--home-shadow-card: 0 12px 36px rgba(15, 23, 42, .08);--home-shadow-card-hover: 0 22px 55px rgba(15, 23, 42, .12);--home-card-border: rgba(8, 145, 178, .14);--home-card-border-strong: rgba(8, 145, 178, .28);--home-glow-cyan: 0 24px 70px rgba(8, 145, 178, .16);--home-glow-soft: 0 18px 55px rgba(103, 232, 249, .18);--home-ease-out: cubic-bezier(.23, 1, .32, 1);--home-ease-icon: cubic-bezier(.2, 0, 0, 1);--home-duration-press: .15s;--home-duration-ui: .2s;--fs-eyebrow: .8125rem;--fs-small: .875rem;--fs-nav: .9375rem;--fs-btn: .9375rem;--fs-body: clamp(1.0625rem, 1.35vw, 1.1875rem);--fs-h4: clamp(1.125rem, 1.5vw, 1.375rem);--fs-h3: clamp(1.35rem, 2vw, 1.75rem);--fs-h2: clamp(2rem, 3.8vw, 3rem);--fs-h1: clamp(2.65rem, 5vw, 4.4rem);--fs-display: clamp(3.25rem, 5.6vw, 5.25rem);--logo-nav-height: 40px;--logo-nav-height-sm: 34px;--logo-nav-max-width: 240px;--home-space-section: 96px;--home-space-section-sm: 72px;background:radial-gradient(circle at 12% 4%,rgba(8,145,178,.055),transparent 24rem),#fff;overflow-x:clip;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.home-page,.home-page button,.home-page input{font-family:Inter,Avenir Next,Segoe UI,system-ui,sans-serif}.home-page h1,.home-page h2,.home-page h3{text-wrap:balance}.home-page p,.home-page li,.home-page figcaption{text-wrap:pretty}.home-container{width:min(1180px,calc(100vw - 48px))}.home-nav{background:#ffffffd1;border-bottom-color:#0f172a12;-webkit-backdrop-filter:blur(22px) saturate(150%);backdrop-filter:blur(22px) saturate(150%)}.home-nav-inner{width:min(1240px,calc(100vw - 48px));height:78px}.home-brand--wordmark{margin-left:0;max-width:var(--logo-nav-max-width)}.home-brand-logo--wordmark{height:var(--logo-nav-height);max-width:var(--logo-nav-max-width)}.home-nav-links{font-size:var(--fs-nav);font-weight:650;gap:.25rem}.home-nav-item{position:relative}.home-nav-links a{flex:0 1 auto;padding:10px 13px;border-radius:999px}.home-nav-trigger{display:inline-flex;align-items:center;gap:4px}.home-nav-trigger .material-symbols-outlined{color:var(--home-primary-dark);font-size:17px;transition:transform .18s ease}.home-nav-item:hover .home-nav-trigger .material-symbols-outlined,.home-nav-item:focus-within .home-nav-trigger .material-symbols-outlined{transform:rotate(180deg)}.home-nav-links a.is-active,.home-nav-item.is-active>.home-nav-trigger{box-shadow:none;background:#0891b217}.home-nav-mega{position:absolute;top:calc(100% + 12px);left:50%;z-index:40;display:grid;grid-template-columns:repeat(2,minmax(210px,1fr));width:min(760px,calc(100vw - 40px));gap:10px;padding:16px;border:1px solid rgba(15,23,42,.09);border-radius:18px;background:#fffffff5;box-shadow:0 24px 70px #0f172a29;opacity:0;pointer-events:none;transform:translate(-50%) translateY(8px);transition:opacity .18s ease,transform .18s ease;-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%)}.home-nav-mega--industria{grid-template-columns:repeat(3,minmax(180px,1fr));width:min(900px,calc(100vw - 40px))}.home-nav-item:hover .home-nav-mega,.home-nav-item:focus-within .home-nav-mega{opacity:1;pointer-events:auto;transform:translate(-50%) translateY(0)}.home-nav-mega:before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}.home-nav-links .home-nav-mega-link{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:12px;min-width:0;padding:12px;border:1px solid transparent;border-radius:14px;color:var(--home-ink);text-decoration:none;transition:background .18s ease,border-color .18s ease,transform .18s ease}.home-nav-links .home-nav-mega-link:hover,.home-nav-links .home-nav-mega-link:focus-visible{background:#ecfeffb8;border-color:#0891b229;transform:translateY(-2px)}.home-nav-mega-icon{display:grid;width:40px;height:40px;place-items:center;border-radius:12px;background:var(--home-cyan-soft);color:var(--home-primary-dark);font-size:21px}.home-nav-mega-link strong,.home-nav-mega-link small{display:block}.home-nav-mega-link strong{font-size:15px;font-weight:650;letter-spacing:-.01em}.home-nav-mega-link small{margin-top:3px;color:var(--home-muted);font-size:var(--fs-eyebrow);font-weight:600}.home-nav-mobile-group{display:grid;gap:8px}.home-nav-mobile-sub{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:0 8px 8px}.home-nav-mobile-sub a{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid rgba(8,145,178,.12);border-radius:13px;background:#ecfeff8a;color:var(--home-ink);font-size:var(--fs-small);font-weight:700;text-decoration:none}.home-nav-mobile-sub .material-symbols-outlined{color:var(--home-primary-dark);font-size:18px}.home-nav-actions>.home-btn-primary,.home-nav-actions>.home-btn-dark{flex:0 0 10.75rem;width:10.75rem;min-width:10.75rem;max-width:10.75rem;padding:9px 12px;font-size:14px;font-weight:600;letter-spacing:.015em;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision;box-shadow:none}.home-nav-actions>.home-btn-primary{box-shadow:0 8px 18px #0891b22e}.home-theme-toggle,.home-lang-btn{border-radius:999px;flex-shrink:0}.home-lang-btn{width:44px;min-width:44px;padding:8px 0;font-weight:650;letter-spacing:.04em}.home-btn{border-radius:999px;font-size:var(--fs-btn);font-weight:650;letter-spacing:.01em}.home-btn-primary{background:linear-gradient(135deg,var(--home-primary),var(--home-primary-dark));box-shadow:0 14px 30px #0891b238}.home-btn-dark{background:#0f172a}.home-main{padding-top:78px}.home-hero{min-height:730px;display:flex;align-items:center;padding:var(--home-space-section-sm) 0 var(--home-space-section-sm)}.home-hero-bg{width:100%;background:linear-gradient(90deg,#fffffffa,#ffffffd4 44%,#fff3 72%),radial-gradient(circle at 80% 20%,rgba(8,145,178,.16),transparent 34rem)}.home-hero-bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.3;background-image:radial-gradient(rgba(8,145,178,.22) .7px,transparent .7px);background-size:22px 22px;-webkit-mask-image:linear-gradient(90deg,#000 0%,transparent 58%);mask-image:linear-gradient(90deg,#000 0%,transparent 58%)}.home-hero-inner{width:min(1240px,calc(100vw - 48px));grid-template-columns:.88fr 1.12fr;gap:4.5rem}.home-hero-left{z-index:3;min-width:0}.home-eyebrow,.home-sector-badge{width:fit-content;padding:8px 13px;border:1px solid rgba(8,145,178,.18);border-radius:999px;background:#ecfeffd1;font-size:var(--fs-eyebrow);letter-spacing:.105em}.home-hero-title{max-width:670px;font-size:var(--fs-display);line-height:.98;letter-spacing:-.065em;font-weight:760}.home-accent{display:inline-block;background:linear-gradient(120deg,var(--home-primary) 10%,var(--home-primary-dark) 80%);-webkit-background-clip:text;background-clip:text;color:transparent}.home-hero-sub{margin:24px 0 30px;font-size:var(--fs-body);line-height:1.7;max-width:590px}.home-badges{margin-top:8px;gap:14px}.home-badge{position:relative;padding:6px 0 6px 17px;border:0;background:transparent;font-size:var(--fs-eyebrow);font-weight:650}.home-badge:before{content:"";position:absolute;left:0;top:50%;width:7px;height:7px;border-radius:50%;background:var(--home-primary);transform:translateY(-50%);box-shadow:0 0 0 4px #0891b21a}.home-hero-right{min-height:530px;min-width:0}.home-sensing-scene{position:relative;z-index:1;width:100%;min-height:520px;border-radius:36px 36px 120px;overflow:hidden;background:#e8f1f2;box-shadow:0 34px 90px #0f172a2b;isolation:isolate}.home-sensing-scene:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(180deg,transparent 56%,rgba(15,23,42,.24)),linear-gradient(90deg,rgba(8,145,178,.12),transparent 45%);pointer-events:none}.home-sensing-picture,.home-sensing-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.home-sensing-image{object-fit:cover;object-position:65% center;filter:saturate(.82) contrast(1.03)}.home-radar-orbit{position:absolute;z-index:2;border:1px solid rgba(103,232,249,.72);border-radius:50%;transform:rotate(-8deg);box-shadow:0 0 36px #22d3ee29;animation:homeRadarBreathe 4.8s ease-in-out infinite}.home-radar-orbit--one{width:270px;height:90px;top:105px;right:60px}.home-radar-orbit--two{width:400px;height:145px;top:128px;right:-5px;opacity:.55;animation-delay:.9s}.home-signal-card{position:absolute;z-index:4;display:flex;align-items:center;gap:11px;min-width:164px;padding:13px 15px;border:1px solid rgba(255,255,255,.52);border-radius:17px;background:#ffffffd4;color:#0f172a;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 18px 42px #0f172a26}.home-signal-card small,.home-signal-card strong{display:block}.home-signal-card small{color:#64748b;font-size:var(--fs-eyebrow);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.home-signal-card strong{margin-top:2px;font-size:16px}.home-signal-icon{display:grid;width:36px;height:36px;place-items:center;border-radius:12px;background:#0891b21c;color:var(--home-primary-dark)}.home-signal-card--occupancy{left:24px;bottom:32px}.home-signal-card--occupancy i{position:relative;width:7px;height:7px;margin-left:auto;border-radius:50%;background:var(--home-success);animation:homeLiveDot 1.8s ease-in-out infinite}.home-signal-card--occupancy i:after{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--home-success) 35%,transparent);opacity:.9;animation:homeLiveRing 1.8s ease-in-out infinite}.home-signal-card--comfort{right:24px;top:32px}.home-privacy-seal{position:absolute;z-index:4;right:28px;bottom:30px;display:flex;align-items:center;gap:8px;color:#fff;font-size:var(--fs-eyebrow);font-weight:700;text-shadow:0 1px 12px rgba(15,23,42,.4)}.home-privacy-seal .material-symbols-outlined{font-size:19px}.home-proof-strip{position:relative;z-index:4;overflow:hidden;border-top:1px solid rgba(15,23,42,.07);border-bottom:1px solid rgba(15,23,42,.07);background:radial-gradient(circle at 88% -40%,rgba(103,232,249,.14),transparent 42%),#0f172a;color:#fff}.home-proof-strip:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(103,232,249,.18) 1px,transparent 1px);background-size:26px 26px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 26%,#000 74%,transparent);mask-image:linear-gradient(90deg,transparent,#000 26%,#000 74%,transparent);opacity:.55;pointer-events:none}.home-proof-strip:after{content:"";position:absolute;top:0;bottom:0;left:-160px;width:160px;background:linear-gradient(90deg,transparent,rgba(103,232,249,.16),transparent);animation:home-proof-scan 7s linear infinite;pointer-events:none}@keyframes home-proof-scan{0%{transform:translate(0)}to{transform:translate(calc(100vw + 160px))}}.home-proof-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr)}.home-proof-grid>div{display:flex;align-items:baseline;gap:10px;padding:25px 28px;border-right:1px solid rgba(255,255,255,.12)}.home-proof-grid>div:first-child{padding-left:0}.home-proof-grid>div:last-child{border-right:0}.home-proof-grid strong{color:var(--home-cyan-bright);font-size:1.45rem;letter-spacing:-.04em}.home-proof-grid span{color:#ffffffad;font-size:var(--fs-eyebrow);font-weight:600}.home-section{padding:var(--home-space-section) 0}.home-section-soft{background:linear-gradient(180deg,#f5f9fae0,#f8fafcf7);border-color:#0f172a0f}.home-section-head{margin-bottom:3rem}.home-section-head h2,.home-section-title,.home-story-heading h2{font-size:var(--fs-h2);line-height:1.08;letter-spacing:-.045em;font-weight:730}.home-section-head p{margin-top:16px;font-size:var(--fs-body);line-height:1.7}.home-story-section{background:#fff}.home-story-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(3rem,8vw,8rem);align-items:start}.home-story-heading{position:sticky;top:130px}.home-story-kicker{color:var(--home-primary-dark);font-size:var(--fs-eyebrow);font-weight:700;letter-spacing:.13em;text-transform:uppercase}.home-story-heading h2{margin:18px 0 0}.home-story-flow{position:relative}.home-story-flow:before{content:"";position:absolute;left:23px;top:10px;bottom:52px;width:2px;background:linear-gradient(180deg,var(--home-primary),rgba(8,145,178,.12));opacity:.55;pointer-events:none}.home-story-flow article{display:grid;grid-template-columns:56px 1fr;gap:25px;padding:30px 0;border-bottom:1px solid var(--home-line)}.home-story-flow article:first-child{padding-top:0}.home-story-flow article>span{position:relative;z-index:1;display:grid;width:48px;height:48px;place-items:center;border-radius:50%;background:var(--home-cyan-soft);color:var(--home-primary-dark);font-size:var(--fs-eyebrow);font-weight:700;box-shadow:0 0 0 6px var(--home-bg),0 0 0 7px #0891b224}.home-story-flow h3{margin:0 0 8px;font-size:var(--fs-h4);letter-spacing:-.025em}.home-story-flow p{max-width:570px;margin:0;color:var(--home-muted);line-height:1.7}.glass-card,.home-feature-card,.home-benefit-card,.home-price-card{border-color:#0891b21f;border-radius:var(--home-radius-lg);box-shadow:var(--home-shadow-card)}.home-benefit-card,.home-feature-card,.home-price-card{position:relative;overflow:hidden}.home-benefit-card:after,.home-feature-card:after,.home-price-card:after{content:"";position:absolute;right:-55px;bottom:-55px;width:120px;height:120px;border:1px solid rgba(8,145,178,.12);border-radius:50%;box-shadow:0 0 0 18px #0891b209}.home-benefit-card:hover,.home-feature-card:hover,.home-explore-card:hover{transform:translateY(-5px);border-color:#0891b247;box-shadow:0 24px 56px #0f172a1a}.home-benefit-icon,.home-feature-icon,.home-explore-icon,.home-step-circle{border-radius:50%;background:var(--home-cyan-soft);color:var(--home-primary-dark)}.home-benefit-icon{position:relative;isolation:isolate}.home-benefit-icon:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border-radius:50%;border:1px solid var(--home-primary);opacity:0}.home-benefit-card:hover .home-benefit-icon:before{animation:home-sonar 1.8s ease-out infinite}@keyframes home-sonar{0%{transform:scale(1);opacity:.55}to{transform:scale(2.1);opacity:0}}.home-platform{padding-top:104px}.home-platform-feat{border-radius:18px}.home-platform-feat.active{border-width:1px;transform:translateY(-3px)}.home-browser-frame{border-radius:24px;border-color:#0f172a1a;box-shadow:0 32px 90px #0f172a29}.home-hero-sm{min-height:570px;padding:70px 0 64px}.home-hero-sm .home-hero-inner{grid-template-columns:.9fr 1.1fr}.home-hero-sm .home-hero-title{font-size:var(--fs-h1)}.home-hero-img-wrap{min-height:360px;border:0;border-radius:32px 32px 96px;background:linear-gradient(145deg,#f0f9fa,#eef2f3);box-shadow:var(--home-shadow)}.home-hero-img,.home-hero-img-wrap img,.home-hero-img-wrap picture img{width:100%;max-height:430px;object-fit:cover}.home-steps:before{background:linear-gradient(90deg,rgba(8,145,178,.15),var(--home-primary),rgba(8,145,178,.15))}.industria-vertical{gap:clamp(2.5rem,6vw,5rem);margin-bottom:7rem}.industria-vertical-media{border-radius:30px 30px 80px;border:1px solid rgba(8,145,178,.1);background:#eef5f5;box-shadow:0 28px 70px #0f172a1c}.industria-vertical-copy h3{font-size:clamp(1.75rem,3vw,2.45rem);letter-spacing:-.04em}.home-industry-hero-visual{position:relative;min-height:420px}.home-industry-tile{position:absolute;overflow:hidden;margin:0;border:1px solid rgba(255,255,255,.15);background:#11192a;box-shadow:0 24px 64px #02061757}.home-industry-tile img{width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(1.04)}.home-industry-tile:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 45%,rgba(2,6,23,.72))}.home-industry-tile figcaption{position:absolute;z-index:2;left:18px;bottom:16px;color:#fff;font-size:var(--fs-eyebrow);font-weight:750}.home-industry-tile--main{top:25px;right:120px;bottom:15px;left:0;border-radius:30px 30px 80px}.home-industry-tile--top{width:210px;height:185px;top:0;right:0;border-radius:24px 24px 24px 60px}.home-industry-tile--bottom{width:230px;height:190px;right:15px;bottom:0;border-radius:24px 60px 24px 24px}.home-industry-pulse{position:absolute;z-index:4;left:44%;top:45%;width:18px;height:18px;border:3px solid var(--home-cyan-bright);border-radius:50%;animation:homeMapPulse 2.8s var(--home-ease-out) infinite}.home-industry-pulse:before,.home-industry-pulse:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--home-cyan-bright) 40%,transparent);pointer-events:none}.home-industry-pulse:after{top:-14px;right:-14px;bottom:-14px;left:-14px;border-color:color-mix(in srgb,var(--home-cyan-bright) 22%,transparent)}@keyframes homeRadarBreathe{0%,to{opacity:.48;transform:rotate(-8deg) scale(.98)}50%{opacity:.92;transform:rotate(-8deg) scale(1.04)}}@keyframes homeLiveDot{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.85}}@keyframes homeLiveRing{0%,to{transform:scale(1);opacity:.85}50%{transform:scale(1.55);opacity:.2}}@keyframes homeMapPulse{0%{transform:scale(1);opacity:1}to{transform:scale(1.55);opacity:.35}}.producto-system-section{position:relative;overflow:hidden}.producto-system-section:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.52;background:radial-gradient(circle at 18% 18%,rgba(8,145,178,.1),transparent 22rem),radial-gradient(circle at 86% 22%,rgba(103,232,249,.16),transparent 24rem);pointer-events:none}.producto-system-grid{position:relative;z-index:1;display:grid;grid-template-columns:.76fr 1.24fr;gap:clamp(3rem,8vw,7rem);align-items:center}.producto-system-copy h2{margin:14px 0 16px;max-width:650px;font-size:var(--fs-h2);line-height:1.05;letter-spacing:-.05em}.producto-system-copy p{max-width:600px;margin:0;color:var(--home-muted);font-size:var(--fs-body);line-height:1.75}.producto-system-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.producto-system-visual{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;min-height:420px;padding:28px;overflow:hidden;border:1px solid rgba(8,145,178,.13);border-radius:34px 34px 96px;background:linear-gradient(145deg,#ffffffeb,#ecfeffb8),#f8fbfc;box-shadow:var(--home-shadow);isolation:isolate}.producto-system-visual:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.35;background-image:linear-gradient(rgba(8,145,178,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(8,145,178,.08) 1px,transparent 1px);background-size:34px 34px;-webkit-mask-image:radial-gradient(circle at 50% 40%,#000,transparent 74%);mask-image:radial-gradient(circle at 50% 40%,#000,transparent 74%)}.producto-system-path{position:absolute;z-index:1;left:13%;right:13%;top:146px;height:2px;overflow:hidden;border-radius:999px;background:linear-gradient(90deg,rgba(8,145,178,.25),var(--home-cyan-bright),rgba(8,145,178,.25))}.producto-system-path:after{content:"";position:absolute;inset:-2px auto -2px 0;width:120px;background:linear-gradient(90deg,transparent,white,transparent);animation:homeFlowTravel 4.8s ease-in-out infinite}.producto-system-node{position:relative;z-index:2;display:flex;min-width:0;min-height:255px;flex-direction:column;justify-content:flex-start;padding:22px 20px;border:1px solid rgba(8,145,178,.12);border-radius:var(--home-radius-lg);background:#ffffffe0;box-shadow:var(--home-shadow-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.producto-system-node>.material-symbols-outlined{display:grid;width:50px;height:50px;margin-bottom:30px;place-items:center;border-radius:16px;background:var(--home-primary);color:#fff;font-size:24px;box-shadow:0 12px 26px #0891b238}.producto-system-node small{position:absolute;top:24px;right:20px;color:#0891b273;font-size:var(--fs-eyebrow);font-weight:720;letter-spacing:.12em}.producto-system-node h3{margin:0 0 9px;color:var(--home-ink);font-size:var(--fs-h4);letter-spacing:-.025em}.producto-system-node p{margin:0;color:var(--home-muted);font-size:var(--fs-small);line-height:1.6}.producto-system-node--gw{transform:translateY(38px);border-color:#0891b247;background:radial-gradient(circle at 100% 0%,rgba(103,232,249,.16),transparent 12rem),#fffffff0}.producto-system-node--bms{transform:translateY(8px)}.producto-system-outcomes{position:relative;z-index:3;grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}.producto-system-outcomes div{display:flex;align-items:center;gap:10px;padding:13px 14px;border:1px solid rgba(8,145,178,.12);border-radius:16px;background:#ffffffb8;color:var(--home-ink);font-size:var(--fs-small);font-weight:700}.producto-system-outcomes .material-symbols-outlined{color:var(--home-primary-dark);font-size:20px}.home-hardware-experience-section{background:radial-gradient(circle at 18% 8%,rgba(8,145,178,.08),transparent 24rem),#fff}.home-hardware-experience{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(3rem,8vw,7rem);align-items:center}.home-hardware-experience-copy h2{margin:14px 0 16px;max-width:620px;font-size:var(--fs-h2);line-height:1.08;letter-spacing:-.045em}.home-hardware-experience-copy>p{max-width:560px;color:var(--home-muted);font-size:var(--fs-body);line-height:1.75}.home-experience-signals{display:grid;gap:10px;margin-top:26px}.home-experience-signals div{display:flex;align-items:center;gap:11px;width:fit-content;padding:10px 14px;border:1px solid rgba(8,145,178,.12);border-radius:999px;background:#ecfeffa8;color:var(--home-ink);font-size:var(--fs-eyebrow);font-weight:700}.home-experience-signals .material-symbols-outlined{color:var(--home-primary-dark);font-size:20px}.home-experience-visual{position:relative;min-height:520px;overflow:hidden;border:1px solid rgba(8,145,178,.13);border-radius:34px 34px 96px;background:radial-gradient(circle at 84% 14%,rgba(103,232,249,.2),transparent 18rem),linear-gradient(145deg,#f8fbfc,#edf6f8);box-shadow:var(--home-shadow);isolation:isolate}.home-experience-visual:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.42;background-image:linear-gradient(rgba(8,145,178,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(8,145,178,.08) 1px,transparent 1px);background-size:38px 38px;-webkit-mask-image:radial-gradient(circle at 44% 44%,#000,transparent 72%);mask-image:radial-gradient(circle at 44% 44%,#000,transparent 72%)}.home-experience-room{position:absolute;left:34px;top:34px;bottom:34px;width:min(58%,390px);overflow:hidden;border:1px solid rgba(15,23,42,.08);border-radius:26px 26px 74px;background:linear-gradient(90deg,#fffc,#ffffff61),#dfeef1;box-shadow:0 22px 56px #0f172a1a}.home-experience-room-head{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px}.home-experience-room-head span,.home-experience-room-head strong{display:block}.home-experience-room-head span{color:var(--home-muted);font-size:var(--fs-eyebrow);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.home-experience-room-head strong{color:var(--home-ink);font-size:13px}.home-experience-ceiling-sensor{position:absolute;z-index:4;left:50%;top:42%;display:grid;width:62px;height:62px;place-items:center;border:6px solid rgba(255,255,255,.8);border-radius:50%;background:var(--home-primary);color:#fff;box-shadow:0 14px 34px #0891b247;transform:translate(-50%,-50%)}.home-experience-ceiling-sensor i,.home-experience-ceiling-sensor:before,.home-experience-ceiling-sensor:after{content:"";position:absolute;top:-22px;right:-22px;bottom:-22px;left:-22px;border:1px solid rgba(8,145,178,.18);border-radius:50%;animation:homeSensorPulse 3.4s ease-out infinite}.home-experience-ceiling-sensor:after{top:-44px;right:-44px;bottom:-44px;left:-44px;animation-delay:.8s}.home-experience-ceiling-sensor i{top:-66px;right:-66px;bottom:-66px;left:-66px;animation-delay:1.6s}.home-experience-sweep{position:absolute;z-index:2;left:50%;top:42%;width:270px;height:270px;border-radius:50%;background:conic-gradient(from 285deg,rgba(8,145,178,.22),rgba(103,232,249,.02) 62deg,transparent 64deg);transform:translate(-50%,-50%);animation:homeSweepRotate 6s linear infinite;transform-origin:center}.home-experience-person{position:absolute;z-index:3;width:24px;height:24px;border:5px solid rgba(255,255,255,.88);border-radius:50%;background:#0f172a;box-shadow:0 8px 22px #0f172a29;animation:homePersonFloat 3.8s ease-in-out infinite}.home-experience-person--one{left:28%;top:34%}.home-experience-person--two{right:23%;top:54%;animation-delay:.7s}.home-experience-person--three{left:42%;bottom:22%;animation-delay:1.2s}.home-experience-desk{position:absolute;z-index:1;width:112px;height:48px;border-radius:18px;background:#ffffff9e;box-shadow:inset 0 0 0 1px #0f172a0f}.home-experience-desk--one{left:17%;top:58%;transform:rotate(-8deg)}.home-experience-desk--two{right:12%;top:28%;transform:rotate(8deg)}.home-experience-side-card{position:absolute;z-index:5;right:34px;width:min(40%,290px);padding:18px 20px;border:1px solid rgba(255,255,255,.62);border-radius:22px;background:#ffffffd6;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 18px 48px #0f172a1c}.home-experience-side-card small{display:block;color:var(--home-primary-dark);font-size:var(--fs-eyebrow);font-weight:720;letter-spacing:.1em;text-transform:uppercase}.home-experience-side-card p{margin:8px 0 0;color:var(--home-ink);font-size:13px;line-height:1.55;font-weight:650}.home-experience-side-card--decision{top:62px;animation:homeCardFloat 4.8s ease-in-out infinite}.home-experience-side-card--dashboard{bottom:58px;animation:homeCardFloat 4.8s ease-in-out infinite reverse}.home-experience-bars{display:grid;gap:7px;margin-top:15px}.home-experience-bars span{height:7px;border-radius:999px;background:linear-gradient(90deg,var(--home-primary),rgba(103,232,249,.35));transform-origin:left;animation:homeBarReadout 2.8s ease-in-out infinite}.home-experience-bars span:nth-child(2){width:72%;animation-delay:.35s}.home-experience-bars span:nth-child(3){width:86%;animation-delay:.7s}@keyframes homeSensorPulse{0%{opacity:.75;transform:scale(.82)}to{opacity:0;transform:scale(1.18)}}@keyframes homeSweepRotate{to{transform:translate(-50%,-50%) rotate(1turn)}}@keyframes homePersonFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes homeCardFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes homeBarReadout{0%,to{transform:scaleX(.72)}50%{transform:scaleX(1)}}.home-dataflow-section{background:radial-gradient(circle at 50% 0%,rgba(8,145,178,.08),transparent 30rem),var(--home-soft);border-top:1px solid var(--home-line);border-bottom:1px solid var(--home-line)}.home-dataflow-head{max-width:780px}.home-dataflow{position:relative;display:grid;grid-template-columns:.95fr .95fr 1.35fr 1fr;gap:18px;align-items:stretch}.home-dataflow-track{position:absolute;z-index:0;top:47px;left:8%;right:8%;height:2px;background:linear-gradient(90deg,var(--home-primary),var(--home-cyan-bright) 55%,var(--home-primary));box-shadow:0 0 20px #0891b242;overflow:hidden}.home-dataflow-track:after{content:"";position:absolute;inset:-2px auto -2px 0;width:130px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.95),transparent);filter:blur(.5px);animation:homeFlowTravel 4.4s ease-in-out infinite}.home-dataflow-node{position:relative;z-index:1;min-width:0;padding:24px 22px 22px;border:1px solid rgba(8,145,178,.13);border-radius:var(--home-radius-lg);background:#ffffffeb;box-shadow:var(--home-shadow-card)}.home-dataflow-node--network{background:radial-gradient(circle at 100% 0%,rgba(103,232,249,.18),transparent 12rem),#fffffff5;border-color:#0891b247}.home-dataflow-icon{position:relative;display:grid;width:48px;height:48px;margin-bottom:27px;place-items:center;border:5px solid var(--home-soft);border-radius:50%;background:var(--home-primary);color:#fff;box-shadow:0 0 0 1px #0891b238,0 10px 26px #0891b233}.home-dataflow-icon:after{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px;border:1px solid rgba(8,145,178,.18);border-radius:inherit;animation:homeIconPing 3.2s ease-out infinite}.home-dataflow-icon .material-symbols-outlined{font-size:21px}.home-dataflow-step{position:absolute;top:25px;right:22px;color:#0891b275;font-size:var(--fs-eyebrow);font-weight:720;letter-spacing:.12em}.home-dataflow-node h3{min-height:2.7em;margin:0 0 10px;font-size:var(--fs-h4);line-height:1.25;letter-spacing:-.025em}.home-dataflow-node>p{min-height:6.2em;margin:0;color:var(--home-muted);font-size:var(--fs-small);line-height:1.55}.home-dataflow-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}.home-dataflow-tags span{padding:5px 9px;border:1px solid rgba(8,145,178,.14);border-radius:999px;background:var(--home-cyan-soft);color:var(--home-primary-dark);font-size:var(--fs-eyebrow);font-weight:750}.home-network-options{display:grid;gap:7px;margin-top:16px}.home-network-option{display:grid;grid-template-columns:32px 1fr;grid-template-rows:auto auto;align-items:center;column-gap:9px;padding:9px 10px;border:1px solid var(--home-line);border-radius:13px;background:#f8fafcc2}.home-network-option>.material-symbols-outlined{grid-row:1 / 3;display:grid;width:30px;height:30px;place-items:center;border-radius:9px;background:#eef4f6;color:var(--home-muted);font-size:17px}.home-network-option strong{font-size:var(--fs-small)}.home-network-option small{color:var(--home-muted);font-size:var(--fs-eyebrow)}.home-network-option.is-current{border-color:#0891b24d;background:var(--home-cyan-soft)}.home-network-option.is-current>.material-symbols-outlined{background:var(--home-primary);color:#fff}.home-network-option.is-current small{color:var(--home-primary-dark);font-weight:700}.home-automation-panel{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,7vw,6rem);align-items:center;margin-top:22px;padding:34px 38px;overflow:hidden;border-radius:28px 28px 72px;background:radial-gradient(circle at 90% 5%,rgba(103,232,249,.2),transparent 20rem),#0f172a;color:#fff}.home-automation-panel:before{content:"";position:absolute;top:-65px;right:24%;width:180px;height:180px;border:1px solid rgba(103,232,249,.16);border-radius:50%;box-shadow:0 0 0 34px #67e8f909}.home-automation-copy{position:relative;z-index:1}.home-automation-copy .home-story-kicker{color:var(--home-cyan-bright)}.home-automation-copy h3{margin:10px 0;font-size:clamp(1.55rem,3vw,2.25rem);letter-spacing:-.04em}.home-automation-copy p{max-width:640px;margin:0;color:#ffffffa8;line-height:1.65}.home-automation-targets{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.home-automation-targets div{display:flex;align-items:center;gap:9px;padding:12px 13px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:#ffffff0f;color:#ffffffdb;font-size:var(--fs-small);font-weight:700}.home-automation-targets .material-symbols-outlined{color:var(--home-cyan-bright);font-size:19px}.home-dataflow-note{max-width:850px;margin:18px auto 0;color:var(--home-muted);font-size:var(--fs-eyebrow);line-height:1.6;text-align:center}@keyframes homeFlowTravel{0%{transform:translate(-140px);opacity:0}18%,78%{opacity:1}to{transform:translate(920px);opacity:0}}@keyframes homeIconPing{0%{opacity:.6;transform:scale(.9)}to{opacity:0;transform:scale(1.28)}}.partners-hero .home-hero-inner{grid-template-columns:.92fr 1.08fr}.partners-hero-visual{position:relative;min-height:470px;border:1px solid rgba(8,145,178,.12);border-radius:34px 34px 100px;background:radial-gradient(circle at 50% 50%,rgba(103,232,249,.2),transparent 14rem),linear-gradient(145deg,#f8fbfc,#edf6f8);box-shadow:var(--home-shadow);overflow:hidden;isolation:isolate}.partners-hero-visual:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.34;background-image:radial-gradient(rgba(8,145,178,.22) .8px,transparent .8px);background-size:24px 24px;-webkit-mask-image:radial-gradient(circle at 50% 50%,#000,transparent 72%);mask-image:radial-gradient(circle at 50% 50%,#000,transparent 72%)}.partners-node,.partners-satellite{position:absolute;z-index:2;display:grid;place-items:center;text-align:center}.partners-node--core{left:50%;top:50%;width:146px;height:146px;gap:7px;border:1px solid rgba(255,255,255,.68);border-radius:38px;background:#ffffffe0;color:var(--home-ink);box-shadow:0 24px 58px #0f172a24;transform:translate(-50%,-50%);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.partners-node--core .material-symbols-outlined{display:grid;width:48px;height:48px;place-items:center;border-radius:16px;background:var(--home-primary);color:#fff;font-size:25px}.partners-node--core strong{font-size:15px}.partners-orbit{position:absolute;z-index:1;left:50%;top:50%;border:1px solid rgba(8,145,178,.16);border-radius:50%;transform:translate(-50%,-50%) rotate(-12deg)}.partners-orbit--one{width:310px;height:190px}.partners-orbit--two{width:480px;height:310px;opacity:.72}.partners-satellite{width:92px;height:92px;border:1px solid rgba(8,145,178,.12);border-radius:24px;background:#ffffffc7;color:var(--home-ink);box-shadow:0 18px 44px #0f172a1c;animation:homeCardFloat 5.2s ease-in-out infinite;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.partners-satellite .material-symbols-outlined{color:var(--home-primary-dark);font-size:25px}.partners-satellite small{margin-top:-16px;color:var(--home-muted);font-size:var(--fs-eyebrow);font-weight:720;letter-spacing:.08em}.partners-satellite--bms{left:16%;top:22%}.partners-satellite--hvac{right:14%;top:24%;animation-delay:.8s}.partners-satellite--api{left:17%;bottom:18%;animation-delay:1.4s}.partners-satellite--iot{right:16%;bottom:16%;animation-delay:2s}.partners-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(3rem,7vw,6.5rem);align-items:start}.partners-copy{position:sticky;top:130px}.partners-copy h2{margin:14px 0;font-size:var(--fs-h2);line-height:1.08;letter-spacing:-.045em}.partners-copy p{color:var(--home-muted);font-size:var(--fs-body);line-height:1.75}.partners-cards{display:grid;gap:16px}.partners-card{padding:24px;border:1px solid var(--home-line);border-radius:var(--home-radius-lg);background:var(--home-bg);box-shadow:var(--home-shadow-card)}.partners-card h3{margin:16px 0 9px;font-size:var(--fs-h4);letter-spacing:-.02em}.partners-card p{margin:0;color:var(--home-muted);line-height:1.65}.partners-playbook{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.partners-playbook div{position:relative;overflow:hidden;padding:24px 22px;border:1px solid rgba(8,145,178,.12);border-radius:24px;background:#ffffffe6;box-shadow:0 14px 36px #0f172a0e}.partners-playbook div:after{content:"";position:absolute;right:-40px;bottom:-40px;width:100px;height:100px;border:1px solid rgba(8,145,178,.1);border-radius:50%}.partners-playbook span{display:grid;width:40px;height:40px;place-items:center;border-radius:50%;background:var(--home-cyan-soft);color:var(--home-primary-dark);font-size:var(--fs-eyebrow);font-weight:720}.partners-playbook strong{display:block;margin:18px 0 8px;color:var(--home-ink);font-size:1rem}.partners-playbook p{margin:0;color:var(--home-muted);font-size:var(--fs-eyebrow);line-height:1.6}.home-cta-box{padding:4.5rem 3rem;border-radius:36px 36px 110px;background:radial-gradient(circle at 86% 5%,rgba(103,232,249,.34),transparent 28rem),linear-gradient(135deg,#0f172a 10%,#0e7490 130%);box-shadow:0 30px 80px #0f172a2e}.home-footer{padding:44px 0;background:#0b1220;border-top:1px solid rgba(255,255,255,.07)}.home-footer-brand{color:#ffffffb8;font-weight:700;letter-spacing:.01em}.home-footer-links{gap:1.6rem;font-weight:600;font-size:var(--fs-small)}.home-footer-links a{color:#fff9;letter-spacing:.01em;transition:color .18s}.home-footer-links a:hover{color:var(--home-cyan-bright)}.home-footer-logo{height:32px;opacity:.95}@media(max-width:1100px){.home-hero-inner{gap:2.5rem}.home-hero-title{font-size:clamp(2.85rem,5vw,4.25rem)}.home-proof-grid>div{flex-direction:column;gap:2px}}@media(max-width:980px){.home-container,.home-nav-inner,.home-hero-inner{width:min(calc(100% - 32px),760px)}.home-hero,.home-hero-sm{min-height:0;padding:64px 0}.home-hero-inner,.home-hero-sm .home-hero-inner,.home-story-grid,.home-hardware-experience,.partners-hero .home-hero-inner,.partners-grid,.producto-system-grid{grid-template-columns:1fr}.home-industry-hero-visual{min-height:440px}.home-dataflow{grid-template-columns:repeat(2,1fr)}.home-dataflow-track{display:none}.home-dataflow-node h3,.home-dataflow-node>p{min-height:0}.home-hero-left{text-align:center}.home-eyebrow,.home-sector-badge,.home-sector-badge-wrap,.home-hero-sub{margin-left:auto;margin-right:auto}.home-hero-ctas,.home-badges{justify-content:center}.home-sensing-scene{min-height:470px}.home-story-heading{position:static;max-width:650px}.partners-copy{position:static;max-width:680px;text-align:center;margin:0 auto}.partners-hero-visual{min-height:430px}.partners-playbook{grid-template-columns:repeat(2,1fr)}.home-hardware-experience-copy{max-width:680px;text-align:center;margin:0 auto}.producto-system-copy{max-width:720px;text-align:center;margin:0 auto}.producto-system-copy p,.producto-system-copy h2{margin-left:auto;margin-right:auto}.producto-system-actions{justify-content:center}.home-hardware-experience-copy>p{margin-left:auto;margin-right:auto}.home-experience-signals{align-items:center}.home-experience-visual{min-height:500px}.producto-system-visual{min-height:0}.home-proof-grid{grid-template-columns:repeat(2,1fr)}.home-proof-grid>div{padding:22px;border-bottom:1px solid rgba(255,255,255,.1)}.home-proof-grid>div:first-child{padding-left:22px}}@media(max-width:640px){.home-page{--logo-nav-height: var(--logo-nav-height-sm)}.home-container,.home-nav-inner,.home-hero-inner{width:min(calc(100% - 24px),560px)}.home-nav-inner{height:70px}.home-main{padding-top:70px}.home-section{padding:var(--home-space-section-sm) 0}.home-hero-title{font-size:clamp(2.35rem,12vw,3.2rem);width:100%;max-width:100%;overflow-wrap:anywhere}.home-hero-sub{font-size:1rem}.home-eyebrow{max-width:100%;justify-content:center;font-size:var(--fs-eyebrow);letter-spacing:.08em;text-align:center;white-space:normal}.home-hero-ctas{display:grid;grid-template-columns:1fr;width:min(100%,310px);margin-left:auto;margin-right:auto}.home-hero-ctas .home-btn{width:100%}.home-badges{gap:4px 12px;width:100%;max-width:100%}.home-badge{font-size:var(--fs-eyebrow);padding:7px 12px}.home-hero,.home-hero-inner,.home-hero-left,.home-hero-right,.home-sensing-scene{max-width:100%}.home-sensing-scene{min-height:320px;border-radius:25px 25px 72px}.home-sensing-image{object-position:69% center}.home-signal-card{min-width:145px;padding:10px 12px}.home-signal-card--occupancy{left:12px;bottom:18px}.home-signal-card--comfort{right:12px;top:18px}.home-privacy-seal{display:none}.home-radar-orbit--one{right:-10px}.home-radar-orbit--two{right:-90px}.home-proof-grid strong{font-size:1.25rem}.home-story-flow article{grid-template-columns:45px 1fr;gap:16px}.home-story-flow article>span{width:40px;height:40px}.home-hero-img-wrap{min-height:260px;border-radius:24px 24px 64px}.home-experience-visual{display:grid;min-height:0;gap:14px;padding:18px;border-radius:26px 26px 74px}.home-experience-room{position:relative;inset:auto;width:100%;height:390px}.home-experience-side-card{position:relative;inset:auto;width:100%}.home-experience-side-card--decision{top:auto}.home-experience-side-card--dashboard{bottom:auto}.producto-system-visual{grid-template-columns:1fr;padding:22px;border-radius:26px 26px 74px}.producto-system-path{display:none}.producto-system-node,.producto-system-node--gw,.producto-system-node--bms{min-height:0;transform:none}.producto-system-node>.material-symbols-outlined{margin-bottom:18px}.producto-system-outcomes{grid-template-columns:1fr}.partners-hero-visual{min-height:520px;border-radius:26px 26px 74px}.partners-node--core{width:126px;height:126px}.partners-orbit--two{width:360px;height:260px}.partners-satellite{width:78px;height:78px;border-radius:20px}.partners-satellite--bms,.partners-satellite--api{left:8%}.partners-satellite--hvac,.partners-satellite--iot{right:8%}.partners-playbook{grid-template-columns:1fr}.home-cta-box{padding:3.5rem 1.35rem;border-radius:28px 28px 78px}.home-footer-links{justify-content:center;flex-wrap:wrap}.home-nav-mobile-sub,.home-dataflow{grid-template-columns:1fr}.home-dataflow-node{padding:22px}.home-dataflow-icon{margin-bottom:18px}.home-automation-panel{grid-template-columns:1fr;padding:30px 24px}}:root[data-theme=dark] .home-page{--home-bg: #0b1220;--home-soft: #0f172a;--home-ink: #e8edf6;--home-muted: #94a3b8;--home-line: #1e2a3d;--home-primary: #22c4e6;--home-primary-dark: #0891b2;--home-cyan-bright: #67e8f9;--home-success: #22c4e6;--home-cyan-soft: #102b36;--home-shadow-card: 0 14px 40px rgba(2, 6, 23, .5);--home-shadow-card-hover: 0 22px 55px rgba(2, 6, 23, .6);background:radial-gradient(circle at 12% 4%,rgba(34,196,230,.1),transparent 24rem),#0b1220}:root[data-theme=dark] .home-nav{background:#0b1220d6;border-bottom-color:#94a3b81f}:root[data-theme=dark] .home-nav-mega{background:#11192af5;border-color:#94a3b824;box-shadow:0 24px 70px #00000061}:root[data-theme=dark] .home-nav-links .home-nav-mega-link:hover,:root[data-theme=dark] .home-nav-links .home-nav-mega-link:focus-visible,:root[data-theme=dark] .home-nav-mobile-sub a{background:#102b36ad;border-color:#22c4e629}:root[data-theme=dark] .home-hero-bg{background:linear-gradient(90deg,#0b1220fa,#0b1220d1 44%,#0b12202e 72%),radial-gradient(circle at 80% 20%,rgba(34,196,230,.16),transparent 34rem)}:root[data-theme=dark] .home-eyebrow,:root[data-theme=dark] .home-sector-badge{background:#102b36db}:root[data-theme=dark] .home-btn-ghost{background:#0f172ae6!important;color:var(--home-ink)}:root[data-theme=dark] .home-story-section{background:#0b1220}:root[data-theme=dark] .home-section-soft{background:linear-gradient(180deg,#0f172ae6,#0b1220fa)}:root[data-theme=dark] .home-hardware-experience-section{background:radial-gradient(circle at 18% 8%,rgba(34,196,230,.1),transparent 24rem),#0b1220}:root[data-theme=dark] .home-experience-visual{background:radial-gradient(circle at 84% 14%,rgba(34,196,230,.14),transparent 18rem),linear-gradient(145deg,#11192a,#0f172a);border-color:#1e3a48}:root[data-theme=dark] .home-experience-room{background:linear-gradient(90deg,#11192ae6,#11192a7a),#10202a;border-color:#1e3a48}:root[data-theme=dark] .home-experience-room-head strong,:root[data-theme=dark] .home-experience-side-card p,:root[data-theme=dark] .home-experience-signals div{color:var(--home-ink)}:root[data-theme=dark] .home-experience-signals div{background:#102b36b8;border-color:#1e3a48}:root[data-theme=dark] .home-experience-desk{background:#94a3b81f;box-shadow:inset 0 0 0 1px #94a3b814}:root[data-theme=dark] .home-experience-person{background:var(--home-cyan-bright);border-color:#0b1220d1}:root[data-theme=dark] .home-experience-side-card{background:#11192ad1;border-color:#94a3b82e}:root[data-theme=dark] .producto-system-visual{background:linear-gradient(145deg,#11192af0,#102b36a3),#0f172a;border-color:#1e3a48}:root[data-theme=dark] .producto-system-node,:root[data-theme=dark] .producto-system-node--gw,:root[data-theme=dark] .producto-system-outcomes div{background:#11192adb;border-color:#94a3b829}:root[data-theme=dark] .producto-system-node h3,:root[data-theme=dark] .producto-system-outcomes div{color:var(--home-ink)}:root[data-theme=dark] .partners-hero-visual{background:radial-gradient(circle at 50% 50%,rgba(34,196,230,.14),transparent 14rem),linear-gradient(145deg,#11192a,#0f172a);border-color:#1e3a48}:root[data-theme=dark] .partners-node--core,:root[data-theme=dark] .partners-satellite,:root[data-theme=dark] .partners-playbook div{background:#11192adb;border-color:#94a3b829}:root[data-theme=dark] .partners-playbook strong,:root[data-theme=dark] .partners-node--core{color:var(--home-ink)}:root[data-theme=dark] .home-feature-card,:root[data-theme=dark] .home-benefit-card,:root[data-theme=dark] .home-price-card,:root[data-theme=dark] .home-platform-feat,:root[data-theme=dark] .home-explore-card,:root[data-theme=dark] .partners-card{background:#11192a;border-color:#1e2a3d}:root[data-theme=dark] .home-hero-img-wrap{background:linear-gradient(145deg,#11192a,#0f172a)}:root[data-theme=dark] .home-dataflow-node{background:#11192af5;border-color:#1e3a48}:root[data-theme=dark] .home-dataflow-section{background:radial-gradient(circle at 50% 0%,rgba(34,196,230,.09),transparent 30rem),#0f172a}:root[data-theme=dark] .home-dataflow-node--network{background:radial-gradient(circle at 100% 0%,rgba(34,196,230,.12),transparent 12rem),#11192afa}:root[data-theme=dark] .home-network-option{background:#0b1220c2;border-color:#263449}:root[data-theme=dark] .home-network-option>.material-symbols-outlined{background:#17243a}:root[data-theme=dark] .home-network-option.is-current{background:#102b36;border-color:#22c4e659}@media(prefers-reduced-motion:reduce){.home-ping,.home-hero-visual--float,.home-radar-orbit,.home-signal-card--occupancy i,.home-industry-pulse,.home-experience-ceiling-sensor i,.home-experience-ceiling-sensor:before,.home-experience-ceiling-sensor:after,.home-experience-sweep,.home-experience-person,.home-experience-side-card,.partners-satellite,.producto-system-path:after,.home-experience-bars span,.home-dataflow-track:after,.home-dataflow-icon:after,.home-proof-strip:after,.home-benefit-card:hover .home-benefit-icon:before,.producto-system-node:hover>.material-symbols-outlined:after,.home-contact-hero-visual:after,.home-price-card:hover:after{animation:none!important}}.home-page .home-proof-note{max-width:900px;margin:14px auto 0;color:var(--home-muted);font-size:.72rem;line-height:1.55;text-align:center}.home-page .home-proof-note a,.home-page .home-bms-source-note a{color:var(--home-primary-dark);font-weight:760;text-underline-offset:3px}.home-page .home-bms-explainer{margin-top:clamp(2.5rem,6vw,4.5rem);padding:clamp(1.35rem,4vw,2.5rem);border:1px solid var(--home-card-border);border-radius:32px 32px 80px;background:radial-gradient(circle at 8% 12%,rgba(103,232,249,.16),transparent 20rem),linear-gradient(180deg,#fffffffa,#f8fcfdeb);box-shadow:var(--home-shadow-card)}.home-page .home-bms-explainer-head{max-width:780px;margin:0 auto 24px;text-align:center}.home-page .home-bms-explainer-head h3{margin:10px 0 12px;color:var(--home-ink);font-size:clamp(1.7rem,3.6vw,2.55rem);line-height:1.08;letter-spacing:-.045em;text-wrap:balance}.home-page .home-bms-explainer-head p{margin:0;color:var(--home-muted);line-height:1.7;text-wrap:pretty}.home-page .home-bms-detail-grid{display:grid;grid-template-columns:1.08fr 1fr 1fr;gap:16px}.home-page .home-bms-savings-card,.home-page .home-bms-detail-card{min-width:0;padding:clamp(1.3rem,3vw,1.8rem);border-radius:22px}.home-page .home-bms-savings-card{position:relative;overflow:hidden;color:#fff;background:radial-gradient(circle at 92% 8%,rgba(103,232,249,.28),transparent 12rem),linear-gradient(145deg,#0b1220,#12384a);box-shadow:0 24px 54px #0b122038}.home-page .home-bms-savings-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.18;background-image:linear-gradient(rgba(103,232,249,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(103,232,249,.2) 1px,transparent 1px);background-size:28px 28px;pointer-events:none}.home-page .home-bms-savings-card>*{position:relative;z-index:1}.home-page .home-bms-savings-card>span{display:block;color:var(--home-cyan-bright);font-size:var(--fs-eyebrow);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.home-page .home-bms-savings-card>strong{display:block;margin:12px 0 3px;color:#fff;font-size:clamp(2.4rem,5.4vw,4rem);line-height:.95;letter-spacing:-.04em}.home-page .home-bms-savings-card h4,.home-page .home-bms-detail-card h4{margin:10px 0 8px;font-size:1.08rem;line-height:1.25}.home-page .home-bms-savings-card h4{color:#fffffff2}.home-page .home-bms-savings-card p{margin:0;color:#ffffffad;font-size:var(--fs-small);line-height:1.6}.home-page .home-bms-detail-card{border:1px solid rgba(8,145,178,.14);background:#ffffffd1}.home-page .home-bms-detail-card h4{color:var(--home-ink)}.home-page .home-bms-detail-card>p{margin:0;color:var(--home-muted);font-size:var(--fs-small);line-height:1.6}.home-page .home-bms-detail-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:13px;background:var(--home-cyan-soft);color:var(--home-primary-dark)}.home-page .home-bms-detail-icon .material-symbols-outlined{font-size:21px}.home-page .home-bms-signal-list{display:grid;gap:9px;margin:18px 0 0;padding:0;list-style:none}.home-page .home-bms-signal-list li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;align-items:center;color:var(--home-ink);font-size:.79rem;font-weight:720;line-height:1.35}.home-page .home-bms-signal-list .material-symbols-outlined{color:var(--home-primary);font-size:18px}.home-page .home-bms-protocols{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0 12px}.home-page .home-bms-protocols span{padding:7px 9px;border:1px solid rgba(8,145,178,.2);border-radius:999px;background:#ecfeffb8;color:var(--home-primary-dark);font-size:.68rem;font-weight:800}.home-page .home-bms-detail-card>small{display:block;color:var(--home-muted);font-size:.68rem;line-height:1.45}.home-page .home-bms-source-note{margin:18px 0 0;color:var(--home-muted);font-size:.7rem;line-height:1.55;text-align:center}.home-page .home-pricing-head{max-width:780px}.home-page .home-pricing-model{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 clamp(2.6rem,6vw,4.25rem);padding:12px;border:1px solid rgba(8,145,178,.14);border-radius:24px;background:#ecfeff7a}.home-page .home-pricing-model>div{display:grid;grid-template-columns:42px minmax(0,1fr);gap:2px 12px;align-items:center;padding:14px;border-radius:16px;background:#ffffffbd}.home-page .home-pricing-model .material-symbols-outlined{grid-row:1 / span 2;display:grid;width:42px;height:42px;place-items:center;border-radius:13px;background:var(--home-cyan-soft);color:var(--home-primary-dark);font-size:21px}.home-page .home-pricing-model strong{color:var(--home-ink);font-size:.86rem}.home-page .home-pricing-model p{margin:0;color:var(--home-muted);font-size:.72rem;line-height:1.45}.home-page .home-pricing-grid{align-items:stretch}.home-page .home-pricing-grid .home-price-card{min-height:520px}.home-page .home-price-badge{align-self:flex-start;width:fit-content;padding:6px 10px;border:1px solid rgba(100,116,139,.2);border-radius:999px;color:var(--home-muted);font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.home-page .home-price-badge.is-featured{border-color:#0891b242;background:var(--home-cyan-soft);color:var(--home-primary-dark)}.home-page .home-price-card .home-price-fit{margin:4px 0 6px;padding:10px 12px;border-left:3px solid var(--home-primary);border-radius:0 10px 10px 0;background:#0891b20f;color:var(--home-ink);font-size:.77rem;font-weight:720;line-height:1.45}.home-page .home-price-includes{margin-top:8px;color:var(--home-ink);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}.home-page .home-price-features{display:grid;flex:1 1 auto;align-content:start;gap:10px;margin:0;padding:0;list-style:none}.home-page .home-price-features li{position:relative;padding-left:25px;color:var(--home-muted);font-size:.8rem;line-height:1.45}.home-page .home-price-features li:before{content:"check";position:absolute;top:0;left:0;color:var(--home-primary);font-family:Material Symbols Outlined,sans-serif;font-size:18px;font-variation-settings:"FILL" 0,"wght" 600,"GRAD" 0,"opsz" 20}.home-page .home-pricing-breakdown{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.home-page .home-pricing-breakdown article{padding:1.5rem;border:1px solid var(--home-card-border);border-radius:20px;background:var(--home-bg);box-shadow:var(--home-shadow-card)}.home-page .home-pricing-breakdown article>span{display:grid;width:34px;height:34px;place-items:center;border-radius:11px;background:var(--home-cyan-soft);color:var(--home-primary-dark);font-size:.72rem;font-weight:800;font-variant-numeric:tabular-nums}.home-page .home-pricing-breakdown h3{margin:16px 0 7px;color:var(--home-ink);font-size:1.03rem}.home-page .home-pricing-breakdown p{margin:0;color:var(--home-muted);font-size:var(--fs-small);line-height:1.58}.home-page .home-pricing-savings{display:grid;grid-template-columns:minmax(210px,.62fr) minmax(0,1.38fr);gap:clamp(1.5rem,5vw,4rem);align-items:center;margin-top:18px;padding:clamp(1.6rem,4vw,2.6rem);border-radius:24px 24px 64px;color:#fff;background:radial-gradient(circle at 8% 15%,rgba(103,232,249,.22),transparent 18rem),linear-gradient(135deg,#0b1220,#12384a);box-shadow:0 26px 70px #0b122033}.home-page .home-pricing-savings>div:first-child span{display:block;color:var(--home-cyan-bright);font-size:var(--fs-eyebrow);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.home-page .home-pricing-savings>div:first-child strong{display:block;margin-top:9px;font-size:clamp(2.6rem,6vw,4.6rem);line-height:.95;letter-spacing:-.04em}.home-page .home-pricing-savings h3{margin:0 0 9px;color:#fff;font-size:clamp(1.25rem,2.6vw,1.8rem);letter-spacing:-.03em}.home-page .home-pricing-savings p{margin:0 0 11px;color:#ffffffc7;line-height:1.62}.home-page .home-pricing-savings small{display:block;color:#ffffff87;font-size:.7rem;line-height:1.5}:root[data-theme=dark] .home-page .home-bms-explainer,:root[data-theme=dark] .home-page .home-bms-detail-card,:root[data-theme=dark] .home-page .home-pricing-model,:root[data-theme=dark] .home-page .home-pricing-model>div,:root[data-theme=dark] .home-page .home-pricing-breakdown article{border-color:#1e3a48;background:#11192af0}:root[data-theme=dark] .home-page .home-price-card .home-price-fit{background:#22c4e614}@media(max-width:900px){.home-page .home-bms-detail-grid,.home-page .home-pricing-model,.home-page .home-pricing-breakdown{grid-template-columns:1fr}.home-page .home-pricing-grid .home-price-card{min-height:0}}@media(max-width:640px){.home-page .home-bms-explainer{border-radius:24px 24px 52px}.home-page .home-pricing-savings{grid-template-columns:1fr;gap:1.25rem;border-radius:22px 22px 48px}.home-page .home-bms-source-note{text-align:left}}.home-page .home-connectivity-choices{margin-top:clamp(2rem,5vw,3.5rem)}.home-page .home-connectivity-head{display:grid;max-width:760px;margin:0 auto 24px;text-align:center}.home-page .home-connectivity-head h3{margin:10px 0 12px;color:var(--home-ink);font-size:clamp(1.65rem,3.5vw,2.5rem);line-height:1.08;letter-spacing:-.045em;text-wrap:balance}.home-page .home-connectivity-head>p{max-width:660px;margin:0 auto;color:var(--home-muted);line-height:1.7;text-wrap:pretty}.home-page .home-connectivity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.home-page .home-connectivity-card{position:relative;min-width:0;overflow:hidden;padding:clamp(1.35rem,3vw,2rem);border:1px solid var(--home-card-border);background:radial-gradient(circle at 100% 0%,rgba(103,232,249,.13),transparent 17rem),#ffffffe6;box-shadow:var(--home-shadow-card);isolation:isolate;transition:transform .22s var(--home-ease-out),border-color .2s ease,box-shadow .22s var(--home-ease-out)}.home-page .home-connectivity-card--wifi{border-radius:28px 28px 72px}.home-page .home-connectivity-card--bms{border-radius:28px 28px 28px 72px;background:radial-gradient(circle at 0% 100%,rgba(8,145,178,.12),transparent 18rem),#fffffff0}.home-page .home-connectivity-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;opacity:.22;background-image:linear-gradient(rgba(8,145,178,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(8,145,178,.08) 1px,transparent 1px);background-size:34px 34px;-webkit-mask-image:radial-gradient(circle at 72% 30%,#000,transparent 68%);mask-image:radial-gradient(circle at 72% 30%,#000,transparent 68%);pointer-events:none}.home-page .home-connectivity-card:hover{transform:translateY(-4px);border-color:var(--home-card-border-strong);box-shadow:var(--home-shadow-card-hover),var(--home-glow-cyan)}.home-page .home-connectivity-card-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.home-page .home-connectivity-card-icon{display:grid;width:48px;height:48px;flex:0 0 auto;place-items:center;border:1px solid rgba(8,145,178,.2);border-radius:15px;background:var(--home-cyan-soft);color:var(--home-primary-dark);box-shadow:0 12px 28px #0891b21f}.home-page .home-connectivity-card-icon .material-symbols-outlined{font-size:23px}.home-page .home-connectivity-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid rgba(100,116,139,.18);border-radius:999px;background:#f8fafcdb;color:var(--home-muted);font-size:var(--fs-eyebrow);font-weight:750;line-height:1.2}.home-page .home-connectivity-badge.is-live{border-color:#0891b238;background:#ecfeffe0;color:var(--home-primary-dark)}.home-page .home-connectivity-badge i{width:7px;height:7px;border-radius:50%;background:var(--home-primary);box-shadow:0 0 0 4px #0891b21a}.home-page .home-connectivity-card h4{margin:24px 0 9px;color:var(--home-ink);font-size:clamp(1.2rem,2.4vw,1.55rem);line-height:1.15;letter-spacing:-.035em}.home-page .home-connectivity-card>p{min-height:3.5em;margin:0;color:var(--home-muted);font-size:var(--fs-small);line-height:1.65;text-wrap:pretty}.home-page .home-connectivity-rail{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,.62fr) auto minmax(0,1fr);gap:8px;align-items:center;margin:24px 0;padding:14px;overflow:hidden;border:1px solid rgba(8,145,178,.12);border-radius:16px;background:#f8fafcc7}.home-page .home-connectivity-rail:before{content:"";position:absolute;top:0;bottom:0;left:-28%;width:28%;background:linear-gradient(90deg,transparent,rgba(103,232,249,.42),transparent);transform:skew(-18deg);animation:homeConnectionTravel 5.4s ease-in-out infinite;pointer-events:none}.home-page .home-connectivity-card--bms .home-connectivity-rail:before{animation-delay:1.2s}.home-page .home-connectivity-rail>span{position:relative;z-index:1;min-width:0;color:var(--home-ink);font-size:.72rem;font-weight:760;line-height:1.25;text-align:center}.home-page .home-connectivity-rail>i{position:relative;z-index:1;display:grid;place-items:center;color:var(--home-primary)}.home-page .home-connectivity-rail .material-symbols-outlined{font-size:17px}.home-page .home-connectivity-result{display:flex;align-items:flex-start;gap:11px;padding-top:18px;border-top:1px solid var(--home-line)}.home-page .home-connectivity-result>.material-symbols-outlined{display:grid;width:32px;height:32px;flex:0 0 auto;place-items:center;border-radius:10px;background:var(--home-cyan-soft);color:var(--home-primary-dark);font-size:18px}.home-page .home-connectivity-result small,.home-page .home-connectivity-result strong{display:block}.home-page .home-connectivity-result small{margin-bottom:3px;color:var(--home-primary-dark);font-size:var(--fs-eyebrow);font-weight:800;letter-spacing:.06em;text-transform:uppercase}.home-page .home-connectivity-result strong{color:var(--home-ink);font-size:var(--fs-small);line-height:1.45}.home-page .home-automation-panel{grid-template-columns:minmax(0,.95fr) minmax(340px,1.05fr);margin-top:18px;gap:clamp(2rem,6vw,5rem)}.home-page .home-automation-copy>p{text-wrap:pretty}.home-page .home-automation-copy .home-automation-targets{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.home-page .home-automation-copy .home-automation-targets div{width:fit-content;padding:9px 11px;border-radius:999px;font-size:var(--fs-eyebrow)}.home-page .home-automation-scenario{position:relative;z-index:1;padding:clamp(1.2rem,3vw,1.75rem);border:1px solid rgba(255,255,255,.13);border-radius:22px 22px 52px;background:#fff1;box-shadow:inset 0 1px #ffffff12;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.home-page .home-automation-scenario-head{display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1)}.home-page .home-automation-scenario-head>.material-symbols-outlined{display:grid;width:42px;height:42px;flex:0 0 auto;place-items:center;border-radius:13px;background:#67e8f91f;color:var(--home-cyan-bright);font-size:22px}.home-page .home-automation-scenario-head small,.home-page .home-automation-scenario-head strong{display:block}.home-page .home-automation-scenario-head small{margin-bottom:2px;color:var(--home-cyan-bright);font-size:var(--fs-eyebrow);font-weight:800;letter-spacing:.06em;text-transform:uppercase}.home-page .home-automation-scenario-head strong{color:#fff;font-size:var(--fs-body)}.home-page .home-automation-steps{position:relative;display:grid;gap:13px;margin:18px 0 16px;padding:0;list-style:none}.home-page .home-automation-steps:before{content:"";position:absolute;top:14px;bottom:14px;left:13px;width:1px;background:linear-gradient(var(--home-cyan-bright),rgba(103,232,249,.12))}.home-page .home-automation-steps li{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr);gap:11px;align-items:start}.home-page .home-automation-steps li>span{position:relative;z-index:1;display:grid;width:28px;height:28px;place-items:center;border:1px solid rgba(103,232,249,.3);border-radius:9px;background:#132239;color:var(--home-cyan-bright);font-size:.72rem;font-weight:800;font-variant-numeric:tabular-nums}.home-page .home-automation-steps p{margin:3px 0 0;color:#ffffffd1;font-size:var(--fs-small);line-height:1.5}.home-page .home-automation-caption{margin:0;padding-top:14px;border-top:1px solid rgba(255,255,255,.1);color:#ffffff85;font-size:var(--fs-eyebrow);line-height:1.5}@keyframes homeConnectionTravel{0%,18%{left:-28%;opacity:0}30%{opacity:1}72%{opacity:.9}88%,to{left:104%;opacity:0}}@media(max-width:860px){.home-page .home-connectivity-grid,.home-page .home-automation-panel{grid-template-columns:1fr}.home-page .home-connectivity-card>p{min-height:0}.home-page .home-automation-panel{gap:28px}}@media(max-width:540px){.home-page .home-connectivity-card--wifi,.home-page .home-connectivity-card--bms{border-radius:22px 22px 48px}.home-page .home-connectivity-card-head{align-items:flex-start}.home-page .home-connectivity-badge{max-width:72%;text-align:right}.home-page .home-connectivity-rail{grid-template-columns:minmax(0,1fr) 16px minmax(0,.72fr) 16px minmax(0,1fr);gap:4px;padding:12px 8px}.home-page .home-connectivity-rail>span{font-size:.64rem}.home-page .home-connectivity-rail .material-symbols-outlined{font-size:14px}.home-page .home-automation-panel{padding:28px 20px}}:root[data-theme=dark] .home-page .home-connectivity-card{border-color:#1e3a48;background:radial-gradient(circle at 100% 0%,rgba(34,196,230,.1),transparent 17rem),#11192af5}:root[data-theme=dark] .home-page .home-connectivity-card--bms{background:radial-gradient(circle at 0% 100%,rgba(34,196,230,.08),transparent 18rem),#11192af5}:root[data-theme=dark] .home-page .home-connectivity-rail,:root[data-theme=dark] .home-page .home-connectivity-badge{border-color:#243a4a;background:#0f172ac2}:root[data-theme=dark] .home-page .home-connectivity-badge.is-live,:root[data-theme=dark] .home-page .home-connectivity-result>.material-symbols-outlined,:root[data-theme=dark] .home-page .home-connectivity-card-icon{border-color:#285267;background:#0891b221}@media(prefers-reduced-motion:reduce){.home-page .home-connectivity-rail:before{animation:none!important}.home-page .home-connectivity-card{transition:none}.home-page .home-connectivity-card:hover{transform:none}}.producto-system-node>.material-symbols-outlined{position:relative;isolation:isolate}.producto-system-node>.material-symbols-outlined:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border-radius:inherit;border:1px solid var(--home-primary);opacity:0}.producto-system-node:hover>.material-symbols-outlined:after{animation:home-sonar 1.9s ease-out infinite}.industria-verticals{position:relative;overflow:hidden}.industria-verticals>.home-container{position:relative;z-index:1}.industria-verticals:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(8,145,178,.1) 1px,transparent 1px);background-size:30px 30px;-webkit-mask-image:radial-gradient(circle at 50% 12%,#000,transparent 70%);mask-image:radial-gradient(circle at 50% 12%,#000,transparent 70%);opacity:.6;pointer-events:none}.home-contact-hero-visual{position:relative;overflow:hidden}.home-contact-hero-visual:after{content:"";position:absolute;left:0;right:0;top:-40%;height:40%;background:linear-gradient(180deg,transparent,rgba(103,232,249,.18),transparent);animation:home-contact-scan 6.5s ease-in-out infinite;pointer-events:none}@keyframes home-contact-scan{0%{transform:translateY(0);opacity:0}15%{opacity:1}85%{opacity:1}to{transform:translateY(360%);opacity:0}}.home-page .home-section,.home-page .home-cta-section,.home-page .home-hero{position:relative}.home-page .home-section-soft{overflow:hidden;background:radial-gradient(circle at 12% 6%,rgba(8,145,178,.075),transparent 26rem),radial-gradient(circle at 88% 18%,rgba(103,232,249,.14),transparent 28rem),linear-gradient(180deg,rgba(248,252,253,.96),var(--home-soft))}.home-page .home-section-soft:before,.home-page .home-section-soft:after{content:"";position:absolute;pointer-events:none}.home-page .home-section-soft:before{top:0;right:0;bottom:0;left:0;opacity:.42;background-image:linear-gradient(rgba(8,145,178,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(8,145,178,.055) 1px,transparent 1px),radial-gradient(rgba(8,145,178,.1) .8px,transparent .8px);background-size:44px 44px,44px 44px,22px 22px;-webkit-mask-image:radial-gradient(circle at 50% 8%,#000,transparent 68%);mask-image:radial-gradient(circle at 50% 8%,#000,transparent 68%);animation:homeAmbientGrid 18s linear infinite}.home-page .home-section-soft:after{left:7%;right:7%;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(8,145,178,.35),transparent);opacity:.7}.home-page .home-section-soft>.home-container,.home-page .home-section-soft>.producto-system-grid,.home-page .home-section-soft>.home-contact-layout{position:relative;z-index:1}.home-page .home-hero{isolation:isolate}.home-page .home-hero:before,.home-page .home-hero:after{content:"";position:absolute;z-index:0;pointer-events:none}.home-page .home-hero:before{inset:78px 4% auto;height:1px;background:linear-gradient(90deg,transparent,rgba(8,145,178,.24),rgba(103,232,249,.36),transparent);opacity:.78}.home-page .home-hero:after{right:-12rem;bottom:-12rem;width:min(44vw,36rem);height:min(44vw,36rem);border-radius:50%;background:radial-gradient(circle,rgba(103,232,249,.24),rgba(8,145,178,.08) 46%,transparent 70%);filter:blur(4px);animation:homeAmbientGlow 12s ease-in-out infinite}.home-page .home-hero-bg{z-index:0}.home-page .home-hero-inner{z-index:2}.home-page .home-hero-title,.home-page .home-section-head h2,.home-page .producto-system-copy h2,.home-page .partners-copy h2,.home-page .home-contact-form-title,.home-page .home-benefit-card h3,.home-page .home-feature-card h3,.home-page .home-price-card h3,.home-page .partners-card h3,.home-page .home-explore-card h3{text-wrap:balance}.home-page .home-hero-sub,.home-page .home-section-head p,.home-page .producto-system-copy p,.home-page .partners-copy p,.home-page .home-contact-form-sub,.home-page .home-benefit-card p,.home-page .home-feature-card p,.home-page .home-price-card p,.home-page .partners-card p{text-wrap:pretty}.home-page .home-hero-img-wrap{position:relative;overflow:hidden;isolation:isolate;border:1px solid rgba(8,145,178,.12);box-shadow:var(--home-shadow),var(--home-glow-soft)}.home-page .home-hero-img-wrap:before,.home-page .home-hero-img-wrap:after{content:"";position:absolute;pointer-events:none}.home-page .home-hero-img-wrap:before{top:0;right:0;bottom:0;left:0;z-index:1;opacity:.42;background:radial-gradient(circle at 74% 26%,rgba(103,232,249,.2),transparent 16rem),linear-gradient(135deg,rgba(255,255,255,.12),transparent 38%),radial-gradient(rgba(8,145,178,.22) .8px,transparent .8px);background-size:auto,auto,24px 24px;-webkit-mask-image:linear-gradient(135deg,#000,transparent 78%);mask-image:linear-gradient(135deg,#000,transparent 78%)}.home-page .home-hero-img-wrap:after{top:-45%;right:-25%;bottom:-45%;left:-25%;z-index:2;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.44) 48%,transparent 61%);transform:translate(-48%);animation:homePanelScan 8s var(--home-ease-out) infinite}.home-page .home-feature-card,.home-page .home-benefit-card,.home-page .home-price-card,.home-page .partners-card,.home-page .partners-playbook div,.home-page .home-contact-box,.home-page .home-contact-form-wrap,.home-page .home-dataflow-node{position:relative;overflow:hidden;isolation:isolate;border-color:var(--home-card-border);background:linear-gradient(180deg,#fffffff5,#f8fcfde6),var(--home-bg);transition:transform .24s var(--home-ease-out),border-color .24s ease,box-shadow .24s ease,background .24s ease}.home-page .home-feature-card:before,.home-page .home-benefit-card:before,.home-page .home-price-card:before,.home-page .partners-card:before,.home-page .partners-playbook div:before,.home-page .home-contact-box:before,.home-page .home-contact-form-wrap:before,.home-page .home-dataflow-node:before{content:"";position:absolute;inset:0 0 auto;z-index:1;height:3px;background:linear-gradient(90deg,transparent,rgba(8,145,178,.7),rgba(103,232,249,.84),transparent);opacity:0;pointer-events:none;transform:scaleX(.28);transform-origin:left center;transition:opacity .24s ease,transform .32s var(--home-ease-out)}.home-page .home-feature-card:hover,.home-page .home-benefit-card:hover,.home-page .home-price-card:hover,.home-page .partners-card:hover,.home-page .partners-playbook div:hover,.home-page .home-contact-box:hover,.home-page .home-dataflow-node:hover{transform:translateY(-6px);border-color:var(--home-card-border-strong);box-shadow:var(--home-shadow-card-hover),var(--home-glow-cyan)}.home-page .home-feature-card:hover:before,.home-page .home-benefit-card:hover:before,.home-page .home-price-card:hover:before,.home-page .partners-card:hover:before,.home-page .partners-playbook div:hover:before,.home-page .home-contact-box:hover:before,.home-page .home-contact-form-wrap:before,.home-page .home-dataflow-node:hover:before{opacity:1;transform:scaleX(1)}.home-page .home-feature-icon,.home-page .home-benefit-icon,.home-page .home-explore-icon,.home-page .home-dataflow-icon,.home-page .partners-playbook span{box-shadow:inset 0 0 0 1px #0891b214,0 14px 30px #0891b221}.home-page .home-price-card{min-height:280px;padding:clamp(1.7rem,2vw,2.15rem)}.home-page .home-price-card:nth-child(2){transform:translateY(-10px);border-color:#0891b257;background:radial-gradient(circle at 92% 0%,rgba(103,232,249,.22),transparent 12rem),linear-gradient(180deg,#fffffffa,#ecfeffb8);box-shadow:0 30px 78px #0891b221,var(--home-shadow-card)}.home-page .home-price-card:nth-child(2):before{opacity:1;transform:scaleX(1)}.home-page .home-price-card:nth-child(2):hover{transform:translateY(-14px)}.home-page .home-price-card h3{display:flex;align-items:center;justify-content:space-between;gap:12px}.home-page .home-price-card h3:after{content:"";flex:1 1 auto;max-width:54px;height:2px;border-radius:999px;background:linear-gradient(90deg,rgba(8,145,178,.34),transparent)}.home-page .home-dataflow{align-items:stretch}.home-page .home-dataflow-node:before{z-index:0;inset:auto 18px 16px;height:2px;border-radius:999px;background:linear-gradient(90deg,#0891b224,#67e8f9b8,#0891b224);opacity:.62;transform:none}.home-page .home-dataflow-node:hover:before{animation:homeThreadGlow 2.8s ease-in-out infinite}.home-page .home-network-option{transition:transform .2s var(--home-ease-out),border-color .2s ease,background .2s ease}.home-page .home-network-option:hover{transform:translate(3px);border-color:#0891b242;background:#ecfeffd1}.home-page .producto-system-visual{border-color:var(--home-card-border);box-shadow:var(--home-shadow),var(--home-glow-soft)}.home-page .producto-system-visual:before{z-index:0}.home-page .producto-system-visual:after{content:"";position:absolute;top:-46%;right:-28%;bottom:-46%;left:-28%;z-index:0;opacity:.24;background:conic-gradient(from 190deg,transparent,rgba(103,232,249,.46),transparent 34%,rgba(8,145,178,.18),transparent 62%);filter:blur(8px);animation:homeAuroraSpin 18s linear infinite;pointer-events:none}.home-page .producto-system-node{transition:transform .24s var(--home-ease-out),border-color .24s ease,box-shadow .24s ease}.home-page .producto-system-node:not(.producto-system-node--gw):not(.producto-system-node--bms):hover{transform:translateY(-6px)}.home-page .producto-system-node--gw:hover{transform:translateY(30px)}.home-page .producto-system-node--bms:hover{transform:translateY(0)}.home-page .home-automation-panel{box-shadow:0 32px 90px #0f172a38}.home-page .home-automation-panel:after{content:"";position:absolute;inset:auto 9% 0;height:1px;background:linear-gradient(90deg,transparent,rgba(103,232,249,.62),transparent);opacity:.8}.home-page .partners-hero-visual{box-shadow:var(--home-shadow),var(--home-glow-soft)}.home-page .partners-orbit--one{animation:homeOrbitDriftOne 18s linear infinite}.home-page .partners-orbit--two{animation:homeOrbitDriftTwo 26s linear infinite reverse}.home-page .partners-node--core{box-shadow:0 26px 64px #0f172a24,0 0 0 10px #67e8f914}.home-page .home-cta-box{isolation:isolate;border:1px solid rgba(255,255,255,.16);box-shadow:0 34px 92px #0f172a3d}.home-page .home-cta-box:before{top:0;right:0;bottom:0;left:0;z-index:0;width:auto;height:auto;background:linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),radial-gradient(circle at 82% 10%,rgba(103,232,249,.34),transparent 25rem);background-size:52px 52px,52px 52px,auto;opacity:.54;-webkit-mask-image:radial-gradient(circle at 70% 20%,#000,transparent 68%);mask-image:radial-gradient(circle at 70% 20%,#000,transparent 68%);animation:homeCtaGrid 16s linear infinite}.home-page .home-cta-box:after{content:"";position:absolute;right:-58px;bottom:-72px;z-index:0;width:220px;height:220px;border:1px solid rgba(103,232,249,.18);border-radius:50%;box-shadow:0 0 0 38px #67e8f90d,0 0 80px #67e8f929;animation:homeAmbientGlow 9s ease-in-out infinite}.home-page .home-cta-box h2,.home-page .home-cta-box p,.home-page .home-cta-buttons{position:relative;z-index:1}.home-page .home-contact-form-wrap{box-shadow:var(--home-shadow-card),0 20px 70px #0891b214}.home-page .home-contact-input{background:linear-gradient(180deg,#ffffffeb,#f8fcfdf5),var(--home-soft)}.home-page .home-contact-input:focus{box-shadow:0 0 0 4px #0891b21c,0 12px 28px #0891b214}@keyframes homeAmbientGrid{0%{background-position:0 0,0 0,0 0}to{background-position:44px 44px,44px 44px,22px 22px}}@keyframes homeAmbientGlow{0%,to{transform:translateZ(0) scale(1);opacity:.75}50%{transform:translate3d(-18px,-14px,0) scale(1.07);opacity:1}}@keyframes homePanelScan{0%,18%{transform:translate(-58%) rotate(.001deg);opacity:0}34%,58%{opacity:1}74%,to{transform:translate(58%) rotate(.001deg);opacity:0}}@keyframes homeThreadGlow{0%,to{opacity:.5;transform:scaleX(.86)}50%{opacity:1;transform:scaleX(1)}}@keyframes homeAuroraSpin{0%{transform:rotate(0) scale(1)}to{transform:rotate(360deg) scale(1)}}@keyframes homeOrbitDriftOne{0%{transform:translate(-50%,-50%) rotate(-12deg)}to{transform:translate(-50%,-50%) rotate(348deg)}}@keyframes homeOrbitDriftTwo{0%{transform:translate(-50%,-50%) rotate(-18deg)}to{transform:translate(-50%,-50%) rotate(342deg)}}@keyframes homeCtaGrid{0%{background-position:0 0,0 0,center}to{background-position:52px 52px,52px 52px,center}}:root[data-theme=dark] .home-page .home-section-soft{background:radial-gradient(circle at 12% 6%,rgba(34,196,230,.09),transparent 26rem),radial-gradient(circle at 88% 18%,rgba(103,232,249,.08),transparent 28rem),linear-gradient(180deg,#0f172afa,#0f172a)}:root[data-theme=dark] .home-page .home-feature-card,:root[data-theme=dark] .home-page .home-benefit-card,:root[data-theme=dark] .home-page .home-price-card,:root[data-theme=dark] .home-page .partners-card,:root[data-theme=dark] .home-page .partners-playbook div,:root[data-theme=dark] .home-page .home-contact-box,:root[data-theme=dark] .home-page .home-contact-form-wrap,:root[data-theme=dark] .home-page .home-dataflow-node{background:linear-gradient(180deg,#11192af5,#0f172ae6),#11192a;border-color:#1e3a48}:root[data-theme=dark] .home-page .home-price-card:nth-child(2){background:radial-gradient(circle at 92% 0%,rgba(34,196,230,.16),transparent 12rem),linear-gradient(180deg,#11192afa,#102b36c2);border-color:#22c4e657}:root[data-theme=dark] .home-page .home-contact-input{background:#0b1220b8;border-color:#263449}@media(max-width:760px){.home-page .home-hero:after{opacity:.42}.home-page .home-section-soft:after{display:none}.home-page .home-price-card:nth-child(2),.home-page .home-price-card:nth-child(2):hover{transform:none}}@media(prefers-reduced-motion:reduce){.home-page .home-section-soft:before,.home-page .home-hero:after,.home-page .home-hero-img-wrap:after,.home-page .home-dataflow-node:hover:before,.home-page .producto-system-visual:after,.home-page .partners-orbit--one,.home-page .partners-orbit--two,.home-page .home-cta-box:before,.home-page .home-cta-box:after{animation:none!important}.home-page .home-feature-card,.home-page .home-benefit-card,.home-page .home-price-card,.home-page .partners-card,.home-page .partners-playbook div,.home-page .home-contact-box,.home-page .home-dataflow-node,.home-page .home-network-option,.home-page .producto-system-node{transition:none!important}}.home-page .home-btn{transition:transform var(--home-duration-press) var(--home-ease-out),background-color var(--home-duration-ui) ease,border-color var(--home-duration-ui) ease,box-shadow var(--home-duration-ui) ease,color var(--home-duration-ui) ease;will-change:auto}.home-page .home-btn:hover{transform:translateY(-1px)}.home-page .home-btn:active,.home-page .home-btn-primary:active,.home-page .home-btn-dark:active,.home-page .home-btn-ghost:active,.home-page .home-btn-white:active,.home-page .home-btn-outline:active{transform:scale(.96)}.home-page .home-proof-grid strong,.home-page .home-signal-card strong,.home-page .home-dataflow-step,.home-page .producto-system-node small,.home-page .home-proof-grid{font-variant-numeric:tabular-nums}.home-page .home-feature-card .home-feature-icon,.home-page .home-benefit-card .home-benefit-icon,.home-page .partners-card .home-feature-icon{border-radius:calc(var(--home-radius-lg) - .85rem)}.home-page .home-dataflow-node .home-dataflow-icon{border-radius:calc(var(--home-radius) - .55rem)}.home-page .home-network-option{border-radius:calc(var(--home-radius) - .4rem)}.home-page .home-hero-ctas .home-btn .material-symbols-outlined,.home-page .home-inline-cta .home-btn .material-symbols-outlined{transition:opacity .18s ease,transform .18s var(--home-ease-out),filter .18s ease}.home-page .home-hero-ctas .home-btn:hover .material-symbols-outlined,.home-page .home-inline-cta .home-btn:hover .material-symbols-outlined{transform:scale(1.06)}.home-page .home-story-flow.reveal-stagger>article,.home-page .home-proof-grid.reveal-stagger>div,.home-page .home-dataflow.reveal-stagger>.home-dataflow-node{opacity:0;transform:translateY(10px) scale(.98);transition:opacity .28s var(--home-ease-out),transform .28s var(--home-ease-out)}.home-page .home-story-flow.reveal-stagger.is-visible>article,.home-page .home-proof-grid.reveal-stagger.is-visible>div,.home-page .home-dataflow.reveal-stagger.is-visible>.home-dataflow-node{opacity:1;transform:translateY(0) scale(1)}.home-page .home-story-flow.reveal-stagger.is-visible>article:nth-child(1),.home-page .home-proof-grid.reveal-stagger.is-visible>div:nth-child(1){transition-delay:0ms}.home-page .home-story-flow.reveal-stagger.is-visible>article:nth-child(2),.home-page .home-proof-grid.reveal-stagger.is-visible>div:nth-child(2){transition-delay:.1s}.home-page .home-story-flow.reveal-stagger.is-visible>article:nth-child(3),.home-page .home-proof-grid.reveal-stagger.is-visible>div:nth-child(3){transition-delay:.2s}.home-page .home-proof-grid.reveal-stagger.is-visible>div:nth-child(4){transition-delay:.3s}.home-page .home-dataflow.reveal-stagger.is-visible>.home-dataflow-node:nth-child(2){transition-delay:0ms}.home-page .home-dataflow.reveal-stagger.is-visible>.home-dataflow-node:nth-child(3){transition-delay:.1s}.home-page .home-dataflow.reveal-stagger.is-visible>.home-dataflow-node:nth-child(4){transition-delay:.2s}.home-page .home-dataflow.reveal-stagger.is-visible>.home-dataflow-node:nth-child(5){transition-delay:.3s}@media(prefers-reduced-motion:reduce){.home-page .home-btn:hover,.home-page .home-btn:active,.home-page .home-btn-primary:active,.home-page .home-btn-dark:active,.home-page .home-btn-ghost:active{transform:none}.home-page .home-story-flow.reveal-stagger>article,.home-page .home-proof-grid.reveal-stagger>div,.home-page .home-dataflow.reveal-stagger>.home-dataflow-node{opacity:1;transform:none;transition:none}}.home-page .home-nav-links a,.home-page .home-nav-trigger{transition:background-color .18s ease,color .18s ease,box-shadow .18s ease,transform .16s var(--home-ease-out)}.home-page .home-nav-links a:active,.home-page .home-nav-trigger:active{transform:scale(.96)}.home-page .home-explore-card,.home-page .home-benefit-card,.home-page .home-feature-card,.home-page .home-price-card,.home-page .partners-card{transition:transform .22s var(--home-ease-out),border-color .2s ease,box-shadow .22s var(--home-ease-out)}.home-page .home-explore-card:active,.home-page .home-benefit-card:active,.home-page .home-feature-card:active,.home-page .home-price-card:active{transform:scale(.96)}.home-page .home-hero-img-wrap,.home-page .home-sensing-picture,.home-page .producto-system-visual,.home-page .partners-hero-visual{border-radius:var(--home-radius-organic-lg)}.home-page .home-section{padding-top:var(--home-space-section-sm);padding-bottom:var(--home-space-section-sm)}.home-page .home-signal-card--occupancy i,.home-page .home-industry-pulse,.home-page .home-industry-pulse:before,.home-page .home-industry-pulse:after{will-change:transform,opacity}@media(prefers-reduced-motion:reduce){.home-page .home-nav-links a:active,.home-page .home-nav-trigger:active,.home-page .home-explore-card:active,.home-page .home-benefit-card:active,.home-page .home-feature-card:active,.home-page .home-price-card:active{transform:none}.home-page .home-signal-card--occupancy i,.home-page .home-signal-card--occupancy i:after,.home-page .home-industry-pulse,.home-page .home-industry-pulse:before,.home-page .home-industry-pulse:after{animation:none!important}.home-page .home-signal-card--occupancy i,.home-page .home-industry-pulse,.home-page .home-industry-pulse:before,.home-page .home-industry-pulse:after{will-change:auto}}.home-page .home-sensing-image,.home-page .home-hero-img,.home-page .home-hero-img-wrap img,.home-page .home-industry-visual img,.home-page .producto-device-shot img{outline:1px solid oklch(0 0 0 / .1);outline-offset:-1px}:root[data-theme=dark] .home-page .home-sensing-image,:root[data-theme=dark] .home-page .home-hero-img,:root[data-theme=dark] .home-page .home-hero-img-wrap img,:root[data-theme=dark] .home-page .home-industry-visual img,:root[data-theme=dark] .home-page .producto-device-shot img{outline-color:#ffffff1a}.theme-toggle-icons{position:relative;display:grid;place-items:center;width:1.375rem;height:1.375rem}.theme-toggle-icon{grid-area:1 / 1;font-size:22px;line-height:1;transition:opacity .28s var(--home-ease-icon, cubic-bezier(.2, 0, 0, 1)),transform .28s var(--home-ease-icon, cubic-bezier(.2, 0, 0, 1)),filter .28s var(--home-ease-icon, cubic-bezier(.2, 0, 0, 1))}.theme-toggle-icon--sun{opacity:0;transform:scale(.25);filter:blur(4px)}.theme-toggle-icon--moon{opacity:1;transform:scale(1);filter:blur(0)}:root[data-theme=dark] .theme-toggle-icon--sun{opacity:1;transform:scale(1);filter:blur(0)}:root[data-theme=dark] .theme-toggle-icon--moon{opacity:0;transform:scale(.25);filter:blur(4px)}.home-page .home-lang-btn:active,.home-page .home-theme-toggle:active{transform:scale(.96)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.theme-toggle-icon,.theme-toggle-icon--sun,.theme-toggle-icon--moon,:root[data-theme=dark] .theme-toggle-icon--sun,:root[data-theme=dark] .theme-toggle-icon--moon{transition:none;transform:none;filter:none}.theme-toggle-icon--sun{opacity:0}.theme-toggle-icon--moon{opacity:1}:root[data-theme=dark] .theme-toggle-icon--sun{opacity:1}:root[data-theme=dark] .theme-toggle-icon--moon{opacity:0}}.home-page--brief .home-hero-sub{margin:22px 0 32px;max-width:36em;color:var(--home-muted);font-size:var(--fs-body);font-weight:450;line-height:1.55;letter-spacing:-.01em}.home-page--brief .home-hero-ctas{margin-bottom:0}.home-page--brief .home-hero-title{letter-spacing:-.07em}.home-page--brief .home-proof-grid strong{font-size:clamp(1.55rem,2.4vw,2rem);font-weight:730;font-variant-numeric:tabular-nums}.home-page--brief .home-proof-grid span{color:#ffffffd1;font-size:var(--fs-nav);letter-spacing:.01em}.home-page--brief #como{scroll-margin-top:calc(90px + env(safe-area-inset-top,0px))}.home-page--brief .home-story-section{--home-story-surface: #fff}:root[data-theme=dark] .home-page--brief .home-story-section{--home-story-surface: #0b1220}.home-page--brief .home-story-kicker{margin:0 0 14px;text-align:center}.home-page--brief .home-story-section .home-section-head.center{text-align:center;margin-inline:auto}.home-page--brief .home-story-flow--lean{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;position:relative;max-width:1040px;margin-inline:auto}.home-page--brief .home-story-flow--lean:before{display:none}.home-page--brief .home-story-flow--lean:after{content:"";position:absolute;top:24px;left:12.5%;right:12.5%;height:1px;background:color-mix(in srgb,var(--home-primary) 42%,var(--home-line));pointer-events:none;z-index:0}.home-page--brief .home-story-flow--lean article,.home-page--brief .home-story-flow--lean article:first-child,.home-page--brief .home-story-flow--lean article:last-child{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.2rem;padding:0 1rem;border:0}.home-page--brief .home-story-flow--lean article:last-child{padding-right:1rem}.home-page--brief .home-story-flow--lean article>span{position:relative;z-index:1;box-shadow:0 0 0 10px var(--home-story-surface);font-variant-numeric:tabular-nums}.home-page--brief .home-story-flow--lean h3{margin:0;font-size:var(--fs-h3);font-weight:730;letter-spacing:-.04em;line-height:1.1}.home-page--brief .home-story-flow--lean p{margin:8px 0 0;max-width:none;color:var(--home-muted);font-size:var(--fs-h4);font-weight:600;letter-spacing:-.03em;line-height:1.2}.home-page--brief .home-benefit-card{display:flex;flex-direction:column;justify-content:flex-start;min-height:0;padding:2.1rem 1.85rem}.home-page--brief .home-benefit-card h3{margin:0;font-size:var(--fs-h3);letter-spacing:-.04em;line-height:1.15}.home-page--brief .home-benefit-card .home-tag-inline{margin:10px 0 0;text-align:center;color:var(--home-muted);font-size:var(--fs-small);font-weight:600}.home-page--brief .home-explore-card{display:flex;align-items:center;gap:1rem;padding:1.45rem 1.4rem}.home-page--brief .home-explore-icon{margin-bottom:0;flex-shrink:0}.home-page--brief .home-explore-card h3{margin:0;flex:1;font-size:var(--fs-h3);letter-spacing:-.035em}.home-page--brief .home-explore-arrow{color:var(--home-primary);font-size:1.35rem;flex-shrink:0;transition:transform var(--home-duration-ui) var(--home-ease-out)}.home-page--brief .home-btn:active{transform:scale(.96)}@media(hover:hover)and (pointer:fine){.home-page--brief .home-explore-card:hover .home-explore-arrow{transform:translate(4px)}}@media(max-width:900px){.home-page--brief .home-story-flow--lean{grid-template-columns:1fr}.home-page--brief .home-story-flow--lean:after{display:none}.home-page--brief .home-story-flow--lean:before{display:block;left:23px;top:24px;bottom:24px;width:1px;opacity:1;background:color-mix(in srgb,var(--home-primary) 42%,var(--home-line))}.home-page--brief .home-story-flow--lean article,.home-page--brief .home-story-flow--lean article:first-child,.home-page--brief .home-story-flow--lean article:last-child{flex-direction:row;align-items:center;justify-content:flex-start;text-align:left;gap:1.25rem;padding:1.15rem 0;border:0}.home-page--brief .home-hero-sub{max-width:none}}@media(prefers-reduced-motion:reduce){.home-page--brief .home-btn:active,.home-page--brief .home-explore-arrow{transform:none;transition:none}}
