.hv-loader{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--surface-base)}.hv-loader__spinner{width:32px;height:32px;border-radius:50%;border:3px solid var(--border-strong);border-top-color:var(--accent);animation:hv-spin .8s linear infinite}.hv-auth-error{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-6);text-align:center;color:var(--text-secondary)}.hv-auth-error h1{color:var(--text-primary)}.hv-toaster{position:fixed;top:calc(var(--topbar-height, 56px) + var(--space-3));right:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);width:min(360px,calc(100vw - var(--space-4) * 2));z-index:2000;pointer-events:none}.hv-toast{pointer-events:auto;display:grid;grid-template-columns:20px 1fr;align-items:start;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-2);border:1px solid var(--border-strong);background:var(--surface-elevated);color:var(--text-primary);text-align:left;cursor:pointer;box-shadow:0 2px 12px #00000024;transition:background .12s ease,border-color .12s ease;animation:hv-toast-in .16s ease-out;font-family:inherit}.hv-toast:hover{background:var(--surface-hover, var(--surface-elevated))}.hv-toast--info{border-left:3px solid var(--status-info, #4a90e2)}.hv-toast--success{border-left:3px solid var(--status-ok, #77a22b)}.hv-toast--warn{border-left:3px solid var(--status-warn, #d29c1f)}.hv-toast--error{border-left:3px solid var(--status-error, #c73a3a)}.hv-toast__icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-top:2px;flex:0 0 auto;line-height:1}.hv-toast--info .hv-toast__icon{color:var(--status-info, #4a90e2)}.hv-toast--success .hv-toast__icon{color:var(--status-ok, #77a22b)}.hv-toast--warn .hv-toast__icon{color:var(--status-warn, #d29c1f)}.hv-toast--error .hv-toast__icon{color:var(--status-error, #c73a3a)}.hv-toast__body{display:flex;flex-direction:column;gap:2px;min-width:0}.hv-toast__title{font-size:var(--fs-sm);font-weight:600;color:var(--text-primary)}.hv-toast__message{font-size:var(--fs-xs);color:var(--text-secondary);word-break:break-word}@keyframes hv-toast-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes hv-toast-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hv-confirm-backdrop{position:fixed;inset:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:5000;padding:1rem;backdrop-filter:blur(2px)}.hv-confirm{background:var(--surface-elevated, #1c1e26);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:8px;min-width:320px;max-width:480px;width:100%;padding:1.25rem 1.5rem;box-shadow:0 12px 32px #0006;animation:hv-confirm-pop .12s ease-out}@keyframes hv-confirm-pop{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}.hv-confirm--danger{border-color:color-mix(in srgb,var(--status-alert, #d15c5c) 45%,transparent)}.hv-confirm__title{margin:0 0 .5rem;font-size:1.05rem;font-weight:600}.hv-confirm--danger .hv-confirm__title{color:var(--status-alert, #d15c5c)}.hv-confirm__message{margin:0 0 1rem;color:var(--text-secondary, var(--text-muted));line-height:1.4}.hv-confirm__actions{display:flex;justify-content:flex-end;gap:.5rem}.hv-alarm-ind{display:inline-flex;align-items:center;gap:var(--space-1);height:24px;padding:0 var(--space-2);border-radius:999px;font-size:var(--fs-xs);font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.02em;border:1px solid transparent;background:transparent;color:var(--text-muted);white-space:nowrap;user-select:none;cursor:pointer;transition:background-color .12s ease,color .12s ease,border-color .12s ease}.hv-alarm-ind:hover{color:var(--text-primary);background:var(--surface-elevated)}.hv-alarm-ind__icon{display:inline-flex;width:12px;height:12px;align-items:center;justify-content:center}.hv-alarm-ind__count{line-height:1}.hv-alarm-ind--muted{color:var(--text-muted)}.hv-alarm-ind--warn{color:var(--status-warn);background:color-mix(in srgb,var(--status-warn) 12%,transparent);border-color:color-mix(in srgb,var(--status-warn) 35%,transparent)}.hv-alarm-ind--warn:hover{background:color-mix(in srgb,var(--status-warn) 20%,transparent);color:var(--status-warn)}.hv-alarm-ind--error{color:var(--status-error);background:color-mix(in srgb,var(--status-error) 14%,transparent);border-color:color-mix(in srgb,var(--status-error) 40%,transparent);animation:hv-alarm-ind-pulse 1.6s ease-in-out infinite}.hv-alarm-ind--error:hover{background:color-mix(in srgb,var(--status-error) 22%,transparent);color:var(--status-error)}@keyframes hv-alarm-ind-pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--status-error) 40%,transparent)}50%{box-shadow:0 0 0 4px color-mix(in srgb,var(--status-error) 0%,transparent)}}.hv-notif-bell{display:inline-flex;align-items:center;gap:var(--space-1);height:24px;padding:0 var(--space-2);border-radius:999px;font-size:var(--fs-xs);font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.02em;border:1px solid transparent;background:transparent;color:var(--text-muted);white-space:nowrap;user-select:none;cursor:pointer;position:relative;transition:background-color .12s ease,color .12s ease,border-color .12s ease}.hv-notif-bell:hover{color:var(--text-primary);background:var(--surface-elevated)}.hv-notif-bell__icon{display:inline-flex;width:12px;height:12px;align-items:center;justify-content:center}.hv-notif-bell__count{line-height:1}.hv-notif-bell--muted{color:var(--text-muted)}.hv-notif-bell--has-unread{color:var(--status-warn);background:color-mix(in srgb,var(--status-warn) 12%,transparent);border-color:color-mix(in srgb,var(--status-warn) 35%,transparent)}.hv-notif-bell--has-unread:hover{background:color-mix(in srgb,var(--status-warn) 20%,transparent);color:var(--status-warn)}.hv-notif-drop{position:absolute;top:calc(100% + 6px);right:0;min-width:320px;max-width:420px;max-height:60vh;overflow-y:auto;background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:0 4px 20px #00000059;padding:var(--space-2) 0;z-index:40}.hv-notif-drop__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-1) var(--space-3) var(--space-2);font-size:var(--fs-sm);color:var(--text-primary);border-bottom:1px solid var(--border-subtle)}.hv-notif-drop__empty{padding:var(--space-3);color:var(--text-muted);font-size:var(--fs-sm);text-align:center}.hv-notif-drop__item{display:block;width:100%;padding:var(--space-2) var(--space-3);background:transparent;border:none;border-left:3px solid transparent;color:var(--text-primary);text-align:left;cursor:pointer;font-size:var(--fs-sm)}.hv-notif-drop__item:hover{background:var(--surface-elevated)}.hv-notif-drop__item--unread{border-left-color:var(--status-warn);background:color-mix(in srgb,var(--status-warn) 5%,transparent)}.hv-notif-drop__meta{font-size:var(--fs-xs);color:var(--text-muted);margin-top:2px}.hv-conn{display:inline-flex;align-items:center;gap:var(--space-2);height:24px;padding:0 var(--space-2);border-radius:999px;font-size:var(--fs-xs);font-weight:500;letter-spacing:.02em;border:1px solid transparent;white-space:nowrap;user-select:none}.hv-conn__dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted);flex:0 0 auto}.hv-conn--ok{color:var(--text-secondary);background:transparent}.hv-conn--ok .hv-conn__dot{background:var(--status-ok);box-shadow:0 0 0 3px color-mix(in srgb,var(--status-ok) 20%,transparent)}.hv-conn--warn{color:var(--status-warn);background:color-mix(in srgb,var(--status-warn) 12%,transparent);border-color:color-mix(in srgb,var(--status-warn) 35%,transparent)}.hv-conn--warn .hv-conn__dot{background:var(--status-warn);animation:hv-conn-pulse 1.4s ease-in-out infinite}.hv-conn--error{color:var(--status-error);background:color-mix(in srgb,var(--status-error) 12%,transparent);border-color:color-mix(in srgb,var(--status-error) 40%,transparent)}.hv-conn--error .hv-conn__dot{background:var(--status-error)}@keyframes hv-conn-pulse{0%,to{opacity:1}50%{opacity:.4}}.hv-nav-item{display:flex;align-items:center;gap:var(--space-3);height:34px;padding:0 var(--space-4);color:var(--text-secondary);border-left:2px solid transparent;font-size:var(--fs-md);font-weight:500;cursor:pointer;transition:background .1s ease,color .1s ease,border-color .1s ease;user-select:none;white-space:nowrap}.hv-nav-item__icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex:0 0 auto;color:currentColor}.hv-nav-item__icon svg{width:100%;height:100%}.hv-nav-item__label{flex:1 1 auto;display:inline-flex;align-items:center;gap:var(--space-2);min-width:0}.hv-shell--collapsed .hv-nav-item{padding:0;justify-content:center;gap:0}.hv-shell--collapsed .hv-nav-item__label{display:none}.hv-nav-item:hover{color:var(--text-primary);background:var(--surface-elevated)}.hv-nav-item--active{color:var(--text-primary);background:var(--surface-elevated);border-left-color:var(--accent)}.hv-nav-item--disabled{color:var(--text-muted);cursor:not-allowed}.hv-nav-item--disabled:hover{background:transparent;color:var(--text-muted)}.hv-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:0 var(--space-3);border-radius:var(--radius-2);border:1px solid transparent;font-weight:500;line-height:1;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease;white-space:nowrap}.hv-btn--sm{height:26px;font-size:var(--fs-sm);padding:0 var(--space-2)}.hv-btn--md{height:32px;font-size:var(--fs-md)}.hv-btn--primary{background:var(--accent);color:var(--text-on-accent);border-color:var(--accent)}.hv-btn--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.hv-btn--secondary{background:var(--surface-elevated);color:var(--text-primary);border-color:var(--border-strong)}.hv-btn--secondary:hover{background:var(--surface-hover)}.hv-btn--ghost{background:transparent;color:var(--text-secondary);border-color:transparent}.hv-btn--ghost:hover{background:var(--surface-elevated);color:var(--text-primary)}.hv-modal-backdrop{position:fixed;inset:0;z-index:3000;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:#00000059;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-sizing:border-box}[data-theme=light] .hv-modal-backdrop{background:#14181e2e;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}@media (prefers-color-scheme: light){:root:not([data-theme=dark]) .hv-modal-backdrop{background:#14181e2e;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}}.hv-modal{position:relative;width:fit-content;min-width:380px;max-width:min(960px,96vw);max-height:88vh;margin:auto;display:flex;flex-direction:column;background:#252a31b8;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-2);box-shadow:0 30px 80px #0000008c,inset 0 1px #ffffff0d;color:var(--text-primary);backdrop-filter:blur(24px) saturate(150%);-webkit-backdrop-filter:blur(24px) saturate(150%)}[data-theme=light] .hv-modal{background:#ffffffb8;border-color:#14181e1f;box-shadow:0 30px 80px #14181e33,inset 0 1px #fff9}@media (prefers-color-scheme: light){:root:not([data-theme=dark]) .hv-modal{background:#ffffffb8;border-color:#14181e1f;box-shadow:0 30px 80px #14181e33,inset 0 1px #fff9}}.hv-modal--wide{width:min(1100px,96vw);max-width:min(1100px,96vw)}.hv-modal--apply-template{width:min(680px,96vw)!important;max-width:min(680px,96vw)!important}.hv-modal--serial-interfaces{width:min(920px,96vw);max-width:min(920px,96vw)}.hv-serial-chip{display:inline-flex;align-items:center;padding:4px 8px;border:1px solid var(--border-subtle, #d1d5db);border-radius:6px;background:var(--surface-panel, #fff);font-size:.85rem}.hv-serial-chip--extra{border-style:dashed;opacity:.85}.hv-serial-chip__warn{color:var(--status-warn, #d97706);font-weight:600}.hv-serial-row{display:flex;align-items:center;gap:12px;padding:8px 10px;border:1px solid var(--border-subtle, #e5e7eb);border-radius:6px;margin-bottom:4px}.hv-serial-row__main{flex:1 1 auto;min-width:0}.hv-serial-row__actions{display:inline-flex;gap:4px;flex:0 0 auto}.hv-serial-field{display:flex;flex-direction:column;gap:2px;font-size:.85rem}.hv-serial-field>span{color:var(--text-secondary, #6b7280);font-weight:500}.hv-serial-field input,.hv-serial-field select{padding:4px 6px;border:1px solid var(--border-subtle, #d1d5db);border-radius:4px;background:var(--surface-panel, #fff);font-size:.9rem}.hv-serial-testresult{padding:8px 10px;border-radius:6px;border-left:4px solid var(--border-subtle, #d1d5db);background:var(--surface-elevated, #f9fafb);font-size:.9rem}.hv-serial-testresult--ok{border-left-color:var(--status-success, #10b981)}.hv-serial-testresult--busy,.hv-serial-testresult--denied,.hv-serial-testresult--console{border-left-color:var(--status-warn, #d97706)}.hv-serial-testresult--timeout,.hv-serial-testresult--not-found,.hv-serial-testresult--unresolved,.hv-serial-testresult--error{border-left-color:var(--status-error, #dc2626)}.hv-serial-testresult--crc-error{border-left-color:#a855f7}.hv-modal--apply-template .hv-modal__body{display:block!important}.hv-modal--apply-template .hv-modal__body>*{display:block!important;width:100%!important;margin:var(--space-3) 0 0 0!important;box-sizing:border-box!important}.hv-modal--apply-template .hv-modal__body>*:first-child{margin-top:0!important}.hv-modal--apply-template .hv-modal__field{display:block!important;width:100%!important}.hv-modal--apply-template .hv-modal__field>label{display:block!important;margin-bottom:6px!important;text-align:left!important}.hv-modal--apply-template .hv-modal__checkbox-row{display:flex!important;flex-direction:row!important;align-items:flex-start!important;justify-content:flex-start!important;width:100%!important;gap:10px!important;padding:10px 12px!important;box-sizing:border-box!important}.hv-modal--apply-template .hv-modal__checkbox-row>input[type=checkbox]{flex:0 0 auto!important;margin-top:3px!important}.hv-modal--apply-template .hv-modal__checkbox-row-label{display:block!important;flex:1 1 auto!important;min-width:0!important;width:auto!important;writing-mode:horizontal-tb!important;direction:ltr!important;text-align:left!important;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;line-height:1.5!important}.hv-modal--apply-template .hv-modal__checkbox-row-note{display:block!important;margin-top:4px!important;writing-mode:horizontal-tb!important;direction:ltr!important;text-align:left!important;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important}.hv-modal--apply-template .hv-modal__hint,.hv-modal--apply-template .hv-modal__title,.hv-modal--apply-template .hv-modal__listbox-item-name,.hv-modal--apply-template .hv-modal__listbox-item-desc,.hv-modal--apply-template .hv-modal__listbox-item-meta{writing-mode:horizontal-tb!important;direction:ltr!important;text-align:left!important;white-space:normal!important;word-break:normal!important}.hv-modal--apply-template .hv-modal__listbox,.hv-modal--apply-template .hv-modal__listbox-item{display:block!important;width:100%!important;box-sizing:border-box!important}.hv-modal__textarea{width:100%;box-sizing:border-box;padding:8px 10px;background:var(--surface-base);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-1, 4px);font-size:12px;line-height:1.5;resize:vertical}.hv-modal__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle)}.hv-modal__title{margin:0;font-size:var(--fs-lg);font-weight:500;color:var(--text-primary)}.hv-modal__close{width:28px;height:28px;padding:0;background:transparent;border:0;border-radius:var(--radius-1);color:var(--text-muted);font-size:20px;cursor:pointer;flex:0 0 auto}.hv-modal__close:hover{background:var(--surface-elevated);color:var(--text-primary)}.hv-modal__body{padding:var(--space-3) var(--space-4);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-3);align-items:stretch}.hv-modal__body>*{width:100%;box-sizing:border-box;min-width:0}.hv-modal__field{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.hv-modal__field>label{font-size:var(--fs-sm);color:var(--text-primary);font-weight:600}.hv-modal__field input,.hv-modal__field select,.hv-modal__field textarea{width:100%;padding:6px var(--space-2);font-size:var(--fs-sm);color:var(--text-primary);background:#16191dd9;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-1);font-family:inherit;box-sizing:border-box}[data-theme=light] .hv-modal__field input,[data-theme=light] .hv-modal__field select,[data-theme=light] .hv-modal__field textarea{background:#ffffffeb;border-color:#14181e33;color:var(--text-primary)}@media (prefers-color-scheme: light){:root:not([data-theme=dark]) .hv-modal__field input,:root:not([data-theme=dark]) .hv-modal__field select,:root:not([data-theme=dark]) .hv-modal__field textarea{background:#ffffffeb;border-color:#14181e33;color:var(--text-primary)}}.hv-modal__field input:focus-visible,.hv-modal__field select:focus-visible,.hv-modal__field textarea:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}.hv-modal__field select option{background:var(--surface-panel);color:var(--text-primary)}.hv-modal__row{display:flex;gap:var(--space-3)}.hv-modal__error{margin:0;padding:var(--space-2) var(--space-3);color:var(--status-error);background:color-mix(in srgb,var(--status-error) 12%,transparent);border:1px solid color-mix(in srgb,var(--status-error) 40%,transparent);border-radius:var(--radius-1);font-size:var(--fs-sm)}.hv-modal__footer{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-subtle)}.hv-modal__footer-spacer{flex:1}.hv-modal__confirm-label{flex:1;font-size:var(--fs-sm);color:var(--text-secondary)}.hv-btn{padding:5px var(--space-3);font-size:var(--fs-sm);color:var(--text-primary);background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-1);cursor:pointer;font-family:inherit}.hv-btn:disabled{opacity:.5;cursor:not-allowed}.hv-btn:not(:disabled):hover{background:var(--surface-hover, var(--surface-elevated))}.hv-btn--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast, #fff)}.hv-btn--primary:not(:disabled):hover{background:color-mix(in srgb,var(--accent) 88%,black)}.hv-btn--danger{color:#fff;background:var(--status-error);border-color:var(--status-error)}.hv-btn--danger:not(:disabled):hover{background:color-mix(in srgb,var(--status-error) 88%,black)}.hv-btn--danger-outline{color:var(--status-error);border-color:var(--status-error);background:color-mix(in srgb,var(--status-error) 8%,var(--surface-elevated))}.hv-btn--danger-outline:not(:disabled):hover{background:color-mix(in srgb,var(--status-error) 18%,var(--surface-elevated))}.hv-btn--sm{padding:4px var(--space-2);font-size:var(--fs-xs)}.hv-modal__hint{margin:0;font-size:var(--fs-xs);color:var(--text-secondary);line-height:1.5}.hv-modal__hint code{padding:1px 6px;border-radius:4px;background:var(--surface-elevated);font-size:11px}.hv-modal__field-required{color:var(--status-error);margin-left:2px}.hv-modal__radio-group{display:flex;flex-direction:column;gap:6px;margin:4px 0 0}.hv-modal__radio-option{display:flex;flex-direction:row;align-items:flex-start;gap:8px;padding:8px 10px;border:1px solid var(--border-subtle);border-radius:var(--radius-1);background:var(--surface-elevated);font-size:var(--fs-sm);color:var(--text-primary);cursor:pointer;transition:border-color .1s ease,background .1s ease;writing-mode:horizontal-tb;direction:ltr;min-width:0}.hv-modal__radio-option:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--border-subtle))}.hv-modal__radio-option--checked{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--surface-elevated))}.hv-modal__radio-option--disabled{opacity:.55;cursor:not-allowed}.hv-modal__radio-option input[type=radio]{margin-top:3px;flex:0 0 auto}.hv-modal__radio-option-body{display:block;flex:1 1 auto;min-width:0;writing-mode:horizontal-tb;direction:ltr;word-break:normal;overflow-wrap:normal}.hv-modal__radio-option-title{display:block;font-weight:500;writing-mode:horizontal-tb;direction:ltr;word-break:normal;overflow-wrap:break-word}.hv-modal__radio-option-note{display:block;margin-top:2px;font-size:var(--fs-xs);color:var(--text-secondary);writing-mode:horizontal-tb;direction:ltr;word-break:normal;overflow-wrap:break-word}.hv-modal__radio-list{display:block;margin-top:4px}.hv-modal__radio-row{display:flex;align-items:center;gap:8px;padding:4px 0;cursor:pointer;color:var(--text-primary);font-size:var(--fs-sm)}.hv-modal__radio-row--disabled{opacity:.55;cursor:not-allowed}.hv-modal__radio-row input[type=radio]{flex:0 0 auto;margin:0}.hv-modal__radio-help{margin:0 0 8px 26px;font-size:var(--fs-xs);color:var(--text-secondary)}.hv-modal__checkbox-row{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--border-subtle);border-radius:var(--radius-1);background:var(--surface-elevated);cursor:pointer}.hv-modal__checkbox-row--warn{border-color:color-mix(in srgb,var(--status-warn, #d0a24c) 50%,var(--border-subtle));background:color-mix(in srgb,var(--status-warn, #d0a24c) 8%,var(--surface-elevated))}.hv-modal__checkbox-row--disabled{opacity:.55;cursor:not-allowed}.hv-modal__checkbox-row input[type=checkbox]{margin-top:3px;flex:0 0 auto}.hv-modal__checkbox-row-label{flex:1 1 auto;min-width:0;font-size:var(--fs-sm);color:var(--text-primary);line-height:1.5;overflow-wrap:anywhere;writing-mode:horizontal-tb;direction:ltr;word-break:normal}.hv-modal__checkbox-row-note{display:block;margin-top:2px;font-size:var(--fs-xs);color:var(--text-secondary);overflow-wrap:anywhere;writing-mode:horizontal-tb;direction:ltr;word-break:normal}.hv-modal__listbox{display:flex;flex-direction:column;gap:4px;padding:6px;border:1px solid var(--border-subtle);border-radius:var(--radius-1);background:var(--surface-base);max-height:38vh;overflow-y:auto}.hv-modal__listbox-item{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid transparent;border-radius:var(--radius-1);background:transparent;color:var(--text-primary);cursor:pointer}.hv-modal__listbox-item:hover{background:var(--surface-elevated)}.hv-modal__listbox-item--active{background:color-mix(in srgb,var(--accent) 12%,transparent);border-color:var(--accent)}.hv-modal__listbox-item-title{display:flex;align-items:baseline;gap:10px;font-size:var(--fs-sm)}.hv-modal__listbox-item-name{font-weight:500}.hv-modal__listbox-item-badge{padding:1px 6px;border-radius:999px;font-size:10px;font-weight:500;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);text-transform:uppercase;letter-spacing:.03em}.hv-modal__listbox-item-desc,.hv-modal__listbox-item-meta{font-size:var(--fs-xs);color:var(--text-secondary);line-height:1.5}.hv-scan-modal__ifaces{display:flex;flex-direction:column;gap:4px;padding:4px 0}.hv-scan-modal__iface{display:grid;grid-template-columns:auto 90px 130px 160px 1fr;align-items:center;gap:var(--space-2);padding:4px 6px;border-radius:var(--radius-1);cursor:pointer;font-size:var(--fs-sm)}.hv-scan-modal__iface:hover{background:var(--surface-hover)}.hv-scan-modal__iface input[type=checkbox]{margin:0}.hv-modal__hero{display:flex;justify-content:center;padding:var(--space-3) 0 var(--space-2)}.hv-ai-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border-radius:50%;border:1px solid var(--ai-accent-border, #7c5cff);background:linear-gradient(135deg,var(--ai-accent, #7c5cff) 0%,var(--ai-accent-2, #a565ff) 100%);color:#fff;cursor:pointer;transition:filter .1s ease,transform .1s ease,box-shadow .1s ease;box-shadow:0 1px 2px #7c5cff59}.hv-ai-btn:hover{filter:brightness(1.08);box-shadow:0 2px 6px #7c5cff80}.hv-ai-btn:active{transform:translateY(1px)}.hv-ai-btn svg{width:16px;height:16px}.hv-ai-btn--disabled{filter:grayscale(.6);cursor:default;pointer-events:none;opacity:.65}.hv-ai-btn__pulse{position:absolute;top:-2px;right:-2px;width:10px;height:10px;border-radius:50%;background:var(--status-warning, #f0a500);box-shadow:0 0 0 2px var(--surface-base);animation:hv-ai-pulse 1.4s ease-in-out infinite}@keyframes hv-ai-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.7}}.hv-ai-menu-backdrop{position:fixed;inset:0;z-index:900}.hv-ai-menu{position:absolute;right:0;top:calc(100% + 6px);min-width:280px;max-width:340px;padding:6px;border-radius:var(--radius-2);border:1px solid var(--border-subtle);background:var(--surface-elevated);box-shadow:0 8px 30px #00000040;z-index:901;display:flex;flex-direction:column;gap:2px}.hv-ai-menu__header{padding:8px 10px 6px;font-size:var(--fs-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.hv-ai-menu__item{display:flex;align-items:flex-start;gap:10px;padding:10px;border:0;background:transparent;border-radius:var(--radius-1);text-align:left;cursor:pointer;color:var(--text-primary);transition:background .1s ease}.hv-ai-menu__item:hover:not(:disabled){background:var(--surface-hover)}.hv-ai-menu__item:disabled{opacity:.5;cursor:default}.hv-ai-menu__item-icon{flex:0 0 auto;width:44px;height:44px;color:var(--ai-accent, #7c5cff)}.hv-ai-menu__item-icon svg{width:100%;height:100%;display:block}.hv-ai-menu__item-body{display:flex;flex-direction:column;gap:2px;min-width:0}.hv-ai-menu__item-title{font-size:var(--fs-sm);font-weight:500}.hv-ai-menu__item-desc{font-size:var(--fs-xs);color:var(--text-muted)}.hv-ai-menu__empty{padding:16px 10px;color:var(--text-muted);font-size:var(--fs-sm);text-align:center}.hv-ai-modal{max-width:720px}.hv-ai-cloud{display:flex;justify-content:center;padding:14px 0 6px}.hv-ai-cloud svg{width:56px;height:56px;color:var(--ai-accent);filter:drop-shadow(0 4px 12px rgba(124,92,255,.35));animation:hv-ai-cloud-float 3.6s ease-in-out infinite}.hv-ai-cloud__bolt{color:#ffd166;animation:hv-ai-bolt-flicker 2.8s ease-in-out infinite;transform-origin:50% 40%}@keyframes hv-ai-cloud-float{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.03)}}@keyframes hv-ai-bolt-flicker{0%,45%,60%,to{opacity:1;filter:none}50%{opacity:.4;filter:brightness(1.6)}55%{opacity:1;filter:brightness(1.4)}}.hv-ai-modal__hint-label{display:flex;align-items:center;gap:6px;font-size:var(--fs-sm);color:var(--text-secondary);margin-bottom:4px}.hv-ai-modal__hint-icon{width:14px;height:14px;color:var(--ai-accent)}.hv-ai-modal__hint-input{width:100%;min-height:60px;padding:8px 10px;border-radius:var(--radius-1);border:1px solid var(--border-subtle);background:var(--surface-base);color:var(--text-primary);font:inherit;resize:vertical}.hv-ai-modal__hint-input:focus{outline:none;border-color:var(--ai-accent);box-shadow:0 0 0 3px #7c5cff26}.hv-ai-progress{display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px 0}.hv-ai-progress__msg{font-size:var(--fs-sm);color:var(--text-secondary);min-height:1.2em;text-align:center}.hv-ai-progress__ring{position:relative;width:72px;height:72px}.hv-ai-progress__ring svg{display:block}.hv-ai-progress__ring-spin{animation:hv-ai-ring-spin 1.4s linear infinite}@keyframes hv-ai-ring-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hv-ai-progress__ring-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums;font-size:var(--fs-sm);font-weight:600;color:var(--ai-accent);pointer-events:none}.hv-ai-progress__hint{font-size:var(--fs-xs);color:var(--text-muted);text-align:center;max-width:40ch}.hv-ai-modal__error{padding:8px 12px;border-radius:var(--radius-1);border:1px solid var(--status-error);background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error);font-size:var(--fs-sm)}.hv-ai-modal__rationale{padding:8px 12px;border-radius:var(--radius-1);background:color-mix(in srgb,var(--ai-accent) 8%,transparent);color:var(--text-secondary);font-size:var(--fs-sm);font-style:italic;margin-bottom:12px}.hv-ai-console{display:flex;flex-direction:column;border:1px solid var(--border-subtle);border-radius:var(--radius-1);background:var(--surface-base);margin-bottom:12px;overflow:hidden}.hv-ai-console__toggle{display:flex;align-items:center;gap:6px;background:transparent;border:0;padding:8px 12px;cursor:pointer;color:var(--text-secondary);font:inherit;text-align:left}.hv-ai-console__toggle:hover{background:var(--surface-hover);color:var(--text-primary)}.hv-ai-console__toggle-chevron{transition:transform .1s ease}.hv-ai-console--open .hv-ai-console__toggle-chevron{transform:rotate(90deg)}.hv-ai-console__body{display:flex;flex-direction:column;border-top:1px solid var(--border-subtle)}.hv-ai-console__messages{display:flex;flex-direction:column;gap:8px;padding:12px;max-height:260px;overflow-y:auto}.hv-ai-console__msg{display:flex;gap:8px;max-width:85%}.hv-ai-console__msg--ai{align-self:flex-start}.hv-ai-console__msg--user{align-self:flex-end;flex-direction:row-reverse}.hv-ai-console__bubble{padding:8px 12px;border-radius:12px;font-size:var(--fs-sm);line-height:1.4;white-space:pre-wrap;word-break:break-word}.hv-ai-console__msg--ai .hv-ai-console__bubble{background:color-mix(in srgb,var(--ai-accent) 15%,transparent);color:var(--text-primary);border-bottom-left-radius:4px}.hv-ai-console__msg--user .hv-ai-console__bubble{background:var(--surface-elevated);color:var(--text-primary);border-bottom-right-radius:4px}.hv-ai-console__msg--refusal .hv-ai-console__bubble{background:color-mix(in srgb,var(--status-error) 15%,transparent);border:1px solid color-mix(in srgb,var(--status-error) 30%,transparent);color:var(--status-error);font-style:italic}.hv-ai-console__msg-avatar{flex:0 0 auto;width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,var(--ai-accent) 0%,var(--ai-accent-2) 100%);color:#fff;display:flex;align-items:center;justify-content:center}.hv-ai-console__msg-avatar svg{width:12px;height:12px}.hv-ai-console__input-row{display:flex;gap:8px;padding:8px 12px;border-top:1px solid var(--border-subtle);background:var(--surface-elevated)}.hv-ai-console__input{flex:1;padding:6px 10px;border-radius:var(--radius-1);border:1px solid var(--border-subtle);background:var(--surface-base);color:var(--text-primary);font:inherit;resize:none;min-height:34px;max-height:90px}.hv-ai-console__input:focus{outline:none;border-color:var(--ai-accent);box-shadow:0 0 0 2px #7c5cff26}.hv-ai-console__send{padding:0 12px;border-radius:var(--radius-1);border:1px solid var(--ai-accent-border);background:linear-gradient(135deg,var(--ai-accent) 0%,var(--ai-accent-2) 100%);color:#fff;cursor:pointer;font-size:var(--fs-sm)}.hv-ai-console__send:disabled{opacity:.6;cursor:default}.hv-ai-console__thinking{align-self:flex-start;padding:8px 12px;color:var(--text-muted);font-size:var(--fs-sm);font-style:italic}.hv-ai-console__thinking:after{content:"";display:inline-block;width:3ch;overflow:hidden;animation:hv-ai-dots 1.2s steps(4,end) infinite;vertical-align:bottom}@keyframes hv-ai-dots{0%{width:0}to{width:3ch}}.hv-ai-console__ready{padding:8px 12px;background:color-mix(in srgb,var(--status-ok) 12%,transparent);color:var(--status-ok);font-size:var(--fs-sm);border-top:1px solid var(--border-subtle)}.hv-ai-dashboard-page{margin:6px 0;padding:6px 10px;border:1px solid var(--border-subtle);border-radius:var(--radius-1);background:var(--surface-base)}.hv-ai-dashboard-page__title{cursor:pointer;padding:4px 0;list-style:none}.hv-ai-dashboard-page__title::-webkit-details-marker{display:none}.hv-ai-dashboard-page__widgets{list-style:none;padding:4px 0 4px 12px;margin:0;display:flex;flex-direction:column;gap:2px}.hv-ai-dashboard-widget{display:flex;gap:8px;align-items:baseline;font-size:var(--fs-sm);padding:3px 0}.hv-ai-dashboard-widget__type{font-family:var(--mono);font-size:11px;padding:1px 6px;border-radius:4px;background:color-mix(in srgb,var(--ai-accent) 12%,transparent);color:var(--ai-accent);flex-shrink:0}.hv-ai-dashboard-widget__title{color:var(--text-primary)}.hv-ai-dashboard-widget__leaves{font-size:12px;color:var(--text-muted);font-family:var(--mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.hv-ai-confidence{display:inline-block;padding:1px 8px;border-radius:999px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.hv-ai-confidence--high{background:color-mix(in srgb,var(--status-ok) 20%,transparent);color:var(--status-ok)}.hv-ai-confidence--medium{background:color-mix(in srgb,var(--status-warning) 20%,transparent);color:var(--status-warning)}.hv-ai-confidence--low{background:color-mix(in srgb,var(--text-muted) 20%,transparent);color:var(--text-muted)}.hv-chip{display:inline-flex;align-items:center;gap:.35em;padding:3px 10px;border-radius:999px;border:1px solid var(--border-color, #d0d0d8);background:var(--bg-card, #fff);color:var(--text, #222);font-size:12px;line-height:1.4;cursor:pointer;transition:background .1s,border-color .1s,color .1s}.hv-chip:hover:not(:disabled){border-color:var(--ai-accent-border, #7c5cff);color:var(--ai-accent, #7c5cff)}.hv-chip:disabled{opacity:.5;cursor:default}.hv-chip--on{background:linear-gradient(135deg,var(--ai-accent, #7c5cff) 0%,var(--ai-accent-2, #a565ff) 100%);border-color:var(--ai-accent-border, #6a4ce6);color:#fff}.hv-chip--on:hover:not(:disabled){color:#fff;filter:brightness(1.05)}.hv-chip--clear{border-style:dashed;color:var(--text-muted, #666)}:root{--ai-accent: #7c5cff;--ai-accent-2: #a565ff;--ai-accent-border: #6a4ce6}.hv-usermenu{position:relative;display:inline-flex;align-items:center}.hv-usermenu__trigger{background:transparent;border:0;padding:0;cursor:pointer;border-radius:50%;transition:transform .1s ease,box-shadow .1s ease}.hv-usermenu__trigger:hover{box-shadow:0 0 0 2px var(--ai-accent, #7c5cff)}.hv-usermenu__trigger:active{transform:translateY(1px)}.hv-usermenu__avatar{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--ai-accent, #7c5cff) 0%,var(--ai-accent-2, #a565ff) 100%);color:#fff;font-size:12px;font-weight:600;letter-spacing:.02em;user-select:none}.hv-usermenu__panel{position:absolute;right:0;top:calc(100% + 8px);min-width:240px;padding:6px;border-radius:var(--radius-2);border:1px solid var(--border-subtle);background:var(--surface-elevated);box-shadow:0 8px 30px #00000040;z-index:3000;display:flex;flex-direction:column;gap:2px}.hv-usermenu__head{padding:8px 10px}.hv-usermenu__head-name{font-size:var(--fs-sm);font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hv-usermenu__head-mail{font-size:var(--fs-xs);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hv-usermenu__divider{height:1px;background:var(--border-subtle);margin:4px 0}.hv-usermenu__section-title{padding:4px 10px 2px;font-size:var(--fs-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.hv-usermenu__item{display:flex;align-items:center;gap:10px;padding:8px 10px;border:0;background:transparent;color:var(--text-primary);text-decoration:none;font-size:var(--fs-sm);border-radius:var(--radius-1);cursor:pointer;text-align:left;transition:background .1s ease,color .1s ease}.hv-usermenu__item:hover{background:var(--surface-hover)}.hv-usermenu__item svg{width:16px;height:16px;flex-shrink:0}.hv-usermenu__item--danger{color:var(--status-error, #d15c5c)}.hv-usermenu__item--danger:hover{background:color-mix(in srgb,var(--status-error) 12%,transparent)}.hv-shell{display:grid;grid-template-columns:max-content 1fr;min-height:100vh;background:var(--surface-base)}.hv-shell--collapsed{grid-template-columns:52px 1fr}.hv-shell__sidebar{display:flex;flex-direction:column;background:var(--surface-base);position:sticky;top:0;height:100vh;overflow:hidden;min-width:52px}.hv-shell__brand{padding:var(--space-3) var(--space-3) var(--space-2);display:flex;align-items:center;justify-content:center}.hv-shell--collapsed .hv-shell__brand{padding:var(--space-3) 0 var(--space-2)}.hv-shell__nav{display:flex;flex-direction:column;padding:var(--space-3) 0;gap:2px}.hv-shell__spacer{flex:1 1 auto}.hv-shell__user{padding:var(--space-3) var(--space-4);display:flex;align-items:center;gap:var(--space-3)}.hv-shell--collapsed .hv-shell__user{padding:var(--space-3) 0;justify-content:center}.hv-shell__icon-btn{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;padding:0;background:transparent;border:0;border-radius:var(--radius-1);color:var(--text-secondary);cursor:pointer;transition:background .1s ease,color .1s ease}.hv-shell__icon-btn svg{width:18px;height:18px}.hv-shell__icon-btn:hover{background:var(--surface-elevated);color:var(--text-primary)}.hv-shell__collapse{align-self:flex-end;width:28px;height:28px;margin:var(--space-2);padding:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-1);color:var(--text-muted);cursor:pointer;transition:background .1s ease,color .1s ease,border-color .1s ease}.hv-shell__collapse svg{width:14px;height:14px}.hv-shell__collapse:hover{background:var(--surface-elevated);color:var(--text-primary);border-color:var(--text-muted)}.hv-shell--collapsed .hv-shell__collapse{align-self:center;margin:var(--space-2) 0}.hv-shell__user-info{flex:1 1 auto;min-width:0}.hv-shell__user-name{font-size:var(--fs-md);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hv-shell__user-mail{font-size:var(--fs-xs);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hv-shell__main{display:flex;flex-direction:column;min-width:0}.hv-shell__topbar{height:var(--topbar-height);flex:0 0 auto;display:flex;align-items:center;gap:var(--space-4);padding:0 var(--space-3);background:var(--surface-base);z-index:10}.hv-shell__title{font-size:var(--fs-lg);font-weight:500;color:var(--text-primary);flex:1 1 auto;margin:0}.hv-shell__actions{display:flex;gap:var(--space-2);align-items:center}.hv-shell__nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:auto;border-radius:999px;background:var(--status-error);color:#fff;font-size:10px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1}.hv-shell__content{flex:1 1 auto;min-width:0;min-height:0;height:calc(100vh - var(--topbar-height));padding:0 var(--space-3) var(--space-3);overflow-x:hidden;overflow-y:auto}.hv-plant-subnav{display:flex;align-items:center;gap:var(--space-4);padding:6px var(--space-5) 0;border-bottom:1px solid var(--border-subtle);background:var(--surface-base)}.hv-plant-subnav__name{font-size:var(--fs-sm);color:var(--text-secondary);padding:6px 0 8px;flex:0 0 200px;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-right:1px solid var(--border-subtle);padding-right:var(--space-4);font-weight:500;color:var(--text-primary)}.hv-plant-subnav__tabs{display:flex;gap:2px;flex:1 1 auto;min-width:0;overflow-x:auto}.hv-plant-subnav__tab{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;color:var(--text-secondary);text-decoration:none;font-size:var(--fs-sm);font-weight:500;border-bottom:2px solid transparent;transition:color .1s ease,border-color .1s ease,background .1s ease;border-radius:4px 4px 0 0;white-space:nowrap}.hv-plant-subnav__tab:hover{color:var(--text-primary);background:var(--surface-hover)}.hv-plant-subnav__tab--active{color:var(--accent);background:var(--surface-elevated);border-bottom-color:var(--accent)}.hv-plant-subnav__tab-icon{display:inline-flex;align-items:center;flex:0 0 auto}.hv-badge{display:inline-flex;align-items:center;height:20px;padding:0 var(--space-2);border-radius:999px;font-size:var(--fs-xs);font-weight:500;letter-spacing:.02em;border:1px solid transparent;white-space:nowrap}.hv-badge--neutral{background:var(--surface-elevated);color:var(--text-secondary);border-color:var(--border-subtle)}.hv-badge--accent{background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent-muted);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.hv-badge--ok{background:color-mix(in srgb,var(--status-ok) 15%,transparent);color:var(--status-ok);border-color:color-mix(in srgb,var(--status-ok) 40%,transparent)}.hv-badge--warn{background:color-mix(in srgb,var(--status-warn) 15%,transparent);color:var(--status-warn);border-color:color-mix(in srgb,var(--status-warn) 40%,transparent)}.hv-badge--error{background:color-mix(in srgb,var(--status-error) 18%,transparent);color:var(--status-error);border-color:color-mix(in srgb,var(--status-error) 40%,transparent)}.hv-badge--info{background:color-mix(in srgb,var(--status-info) 15%,transparent);color:var(--status-info);border-color:color-mix(in srgb,var(--status-info) 40%,transparent)}.hv-table__wrap{border:1px solid var(--border-subtle);border-radius:var(--radius-3);background:var(--surface-panel);overflow:hidden}.hv-table{width:100%;border-collapse:collapse;font-size:var(--fs-md)}.hv-table thead th{text-align:left;padding:var(--space-3) var(--space-4);font-weight:500;color:var(--text-secondary);background:var(--surface-elevated);border-bottom:1px solid var(--border-subtle);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.04em}.hv-table tbody td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle);color:var(--text-primary)}.hv-table tbody tr:last-child td{border-bottom:0}.hv-table__row--clickable{cursor:pointer;transition:background .1s ease}.hv-table__row--clickable:hover td{background:var(--surface-hover)}.hv-table__empty{padding:var(--space-6);border:1px dashed var(--border-subtle);border-radius:var(--radius-3);color:var(--text-muted);text-align:center;background:var(--surface-panel)}.hv-alarms{display:flex;flex-direction:column;gap:var(--space-4)}.hv-alarms__filters{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-3);background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-2);flex-wrap:wrap}.hv-alarms__filter{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);color:var(--text-secondary)}.hv-alarms__filter select,.hv-alarms__filter input{background:var(--surface-elevated);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-1);padding:4px var(--space-2);font-size:var(--fs-sm);min-height:28px}.hv-alarms__filter select:focus,.hv-alarms__filter input:focus{outline:none;border-color:var(--accent)}.hv-alarms__spacer{flex:1 1 auto}.hv-alarms__history-link{color:var(--text-secondary);font-size:var(--fs-sm);text-decoration:none}.hv-alarms__history-link:hover{color:var(--text-primary)}.hv-alarms__error{color:var(--status-error);background:color-mix(in srgb,var(--status-error) 12%,transparent);border:1px solid color-mix(in srgb,var(--status-error) 30%,transparent);padding:var(--space-2) var(--space-3);border-radius:var(--radius-1);font-size:var(--fs-sm)}.hv-alarms__msg{color:var(--text-primary)}.hv-alarms__reload{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--text-secondary);font-size:var(--fs-sm)}.hv-rollouts{display:grid;gap:var(--space-5);padding:var(--space-1) 0 var(--space-5)}.hv-rollouts__toolbar{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap}.hv-rollouts__toolbar-hint{flex:1 1 300px;color:var(--text-secondary);font-size:var(--fs-sm)}.hv-rollouts__filter label{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--text-secondary);font-size:var(--fs-sm)}.hv-rollouts__filter select{padding:4px 8px;border-radius:var(--radius-1);border:1px solid var(--border-subtle);background:var(--surface-panel);color:var(--text-primary)}.hv-rollouts__list{display:grid;gap:var(--space-3)}.hv-rollouts__msg{padding:var(--space-4);color:var(--text-secondary);text-align:center}.hv-rollouts__msg--error{color:var(--status-error)}.hv-rollouts__row{border:1px solid var(--border-subtle);border-radius:var(--radius-2);background:var(--surface-panel);overflow:hidden}.hv-rollouts__row--warn{border-left:4px solid var(--status-warn)}.hv-rollouts__row--error{border-left:4px solid var(--status-error)}.hv-rollouts__row--ok{border-left:4px solid var(--status-ok)}.hv-rollouts__row--info{border-left:4px solid var(--status-info, #4a90e2)}.hv-rollouts__row--muted{border-left:4px solid var(--border-subtle)}.hv-rollouts__row-header{display:grid;grid-template-columns:2fr auto 2fr auto;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);width:100%;background:transparent;border:none;color:inherit;text-align:left;cursor:pointer}.hv-rollouts__row-header:hover{background:color-mix(in srgb,var(--text-primary) 3%,transparent)}.hv-rollouts__row-title{font-weight:600;color:var(--text-primary)}.hv-rollouts__badge{display:inline-block;padding:2px 8px;border-radius:100px;font-size:var(--fs-xs);font-weight:600;background:color-mix(in srgb,var(--text-primary) 8%,transparent);color:var(--text-primary)}.hv-rollouts__badge--warn{background:color-mix(in srgb,var(--status-warn) 25%,var(--surface-panel));color:var(--status-warn)}.hv-rollouts__badge--error{background:color-mix(in srgb,var(--status-error) 25%,var(--surface-panel));color:var(--status-error)}.hv-rollouts__badge--ok{background:color-mix(in srgb,var(--status-ok) 25%,var(--surface-panel));color:var(--status-ok)}.hv-rollouts__badge--info{background:color-mix(in srgb,var(--status-info, #4a90e2) 25%,var(--surface-panel));color:var(--status-info, #4a90e2)}.hv-rollouts__row-meta,.hv-rollouts__row-date{color:var(--text-secondary);font-size:var(--fs-sm)}.hv-rollouts__row-detail{border-top:1px solid var(--border-subtle);padding:var(--space-4);display:grid;gap:var(--space-4);background:color-mix(in srgb,var(--text-primary) 2%,var(--surface-panel))}.hv-rollouts__alarm{padding:var(--space-3) var(--space-4);border-radius:var(--radius-2);border:1px solid var(--status-warn);background:color-mix(in srgb,var(--status-warn) 15%,var(--surface-panel));color:var(--text-primary);display:grid;gap:4px}.hv-rollouts__alarm-hint{color:var(--text-secondary);font-size:var(--fs-sm)}.hv-rollouts__detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4)}.hv-rollouts__detail-grid h4{margin:0 0 var(--space-2);font-size:var(--fs-sm);color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.hv-rollouts__bundle,.hv-rollouts__phases{margin:0;padding-left:var(--space-4);display:grid;gap:4px}.hv-rollouts__bundle li,.hv-rollouts__phases li{display:flex;gap:var(--space-3);color:var(--text-primary)}.hv-rollouts__phase--current{font-weight:600;color:var(--status-info, #4a90e2)}.hv-rollouts__phase-meta{margin-top:var(--space-2);color:var(--text-secondary);font-size:var(--fs-sm)}.hv-rollouts__selector{display:grid;gap:4px;color:var(--text-primary)}.hv-rollouts__resolved{padding-top:4px;border-top:1px solid var(--border-subtle)}.hv-rollouts__mono{font-family:var(--font-mono);font-size:var(--fs-sm);padding:1px 4px;border-radius:var(--radius-1);background:color-mix(in srgb,var(--text-primary) 6%,transparent)}.hv-rollouts__approval{display:grid;gap:var(--space-2)}.hv-rollouts__approval-count strong{color:var(--text-primary)}.hv-rollouts__approval-list{margin:0;padding-left:var(--space-4);display:grid;gap:4px;font-size:var(--fs-sm);color:var(--text-secondary)}.hv-rollouts__approval-list li{display:flex;gap:var(--space-2);flex-wrap:wrap}.hv-rollouts__approval-comment{color:var(--text-primary);font-style:italic}.hv-rollouts__approve-form{display:flex;gap:var(--space-2);align-items:center}.hv-rollouts__approve-form input{flex:1;padding:4px 8px;border-radius:var(--radius-1);border:1px solid var(--border-subtle);background:var(--surface-panel);color:var(--text-primary)}.hv-rollouts__approval-ready{color:var(--status-ok);font-weight:600}.hv-rollouts__progress{padding:var(--space-3) var(--space-4);border-radius:var(--radius-2);border:1px solid var(--border-subtle);background:var(--surface-panel);display:grid;gap:var(--space-2)}.hv-rollouts__progress-head{display:flex;justify-content:space-between;color:var(--text-primary);flex-wrap:wrap;gap:var(--space-2)}.hv-rollouts__progress-head span{color:var(--text-secondary);font-size:var(--fs-sm)}.hv-rollouts__counts{display:flex;gap:var(--space-4);flex-wrap:wrap}.hv-rollouts__count{color:var(--text-primary);font-weight:600}.hv-rollouts__count em{color:var(--text-secondary);font-style:normal;font-weight:400;margin-left:4px;font-size:var(--fs-sm)}.hv-rollouts__count--ok{color:var(--status-ok)}.hv-rollouts__count--error{color:var(--status-error)}.hv-rollouts__count--total{margin-left:auto}.hv-rollouts__phasebar{height:8px;border-radius:100px;overflow:hidden;display:flex;background:color-mix(in srgb,var(--text-primary) 6%,transparent)}.hv-rollouts__phasebar-slice{display:block;height:100%}.hv-rollouts__phasebar-slice--ok{background:var(--status-ok)}.hv-rollouts__phasebar-slice--error{background:var(--status-error)}.hv-rollouts__phasebar-slice--pending{background:var(--status-info, #4a90e2)}.hv-rollouts__actions{display:flex;gap:var(--space-2);justify-content:flex-end;flex-wrap:wrap}.hv-rollouts-modal{position:fixed;inset:0;z-index:200;background:#0006;display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.hv-rollouts-modal__box{background:var(--surface-panel);color:var(--text-primary);border-radius:var(--radius-2);border:1px solid var(--border-subtle);width:min(900px,100%);max-height:90vh;display:grid;grid-template-rows:auto 1fr auto;overflow:hidden}.hv-rollouts-modal__head{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle)}.hv-rollouts-modal__head h3{margin:0;font-size:var(--fs-lg)}.hv-rollouts-modal__close{background:transparent;border:none;font-size:24px;cursor:pointer;color:var(--text-secondary)}.hv-rollouts-modal__body{padding:var(--space-4);overflow:auto;display:grid;gap:var(--space-4)}.hv-rollouts-modal__body label{display:block;color:var(--text-secondary)}.hv-rollouts-modal__body input[type=text],.hv-rollouts-modal__body input[type=number]{display:block;margin-top:4px;padding:4px 8px;border:1px solid var(--border-subtle);background:var(--surface-inset, var(--surface-panel));color:var(--text-primary);border-radius:var(--radius-1);width:100%;max-width:320px}.hv-rollouts-modal__body fieldset{border:1px solid var(--border-subtle);border-radius:var(--radius-2);padding:var(--space-3)}.hv-rollouts-modal__body legend{padding:0 var(--space-2);color:var(--text-primary);font-weight:600}.hv-rollouts-modal__artifacts,.hv-rollouts-modal__plants{max-height:200px;overflow:auto;display:grid;gap:4px;margin-top:var(--space-2);padding:var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-1);background:color-mix(in srgb,var(--text-primary) 2%,transparent)}.hv-rollouts-modal__row{display:flex;gap:var(--space-2);align-items:center;color:var(--text-primary)}.hv-rollouts-modal__targets{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.hv-rollouts-modal__phases{display:grid;gap:var(--space-2)}.hv-rollouts-modal__phase-row{display:flex;gap:var(--space-3);align-items:end;flex-wrap:wrap}.hv-rollouts-modal__mini{padding:2px 8px;font-size:var(--fs-sm);background:transparent;color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-1);cursor:pointer}.hv-rollouts-modal__hint{color:var(--text-secondary);font-size:var(--fs-sm);padding-top:var(--space-2);border-top:1px solid var(--border-subtle)}.hv-rollouts-modal__actions{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-subtle)}.hv-artifacts{display:grid;gap:var(--space-5);padding:var(--space-1) 0 var(--space-5)}.hv-artifacts__banner{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-2);background:var(--surface-panel);border:1px solid var(--border-subtle);color:var(--text-primary)}.hv-artifacts__banner--warn{border-color:var(--status-warn);background:color-mix(in srgb,var(--status-warn) 10%,var(--surface-panel))}.hv-artifacts__banner--ok{border-color:var(--status-ok);background:color-mix(in srgb,var(--status-ok) 10%,var(--surface-panel))}.hv-artifacts__banner-dot{width:10px;height:10px;border-radius:50%;background:var(--status-ok);flex-shrink:0}.hv-artifacts__banner--warn .hv-artifacts__banner-dot{background:var(--status-warn)}.hv-artifacts__banner-text{flex:1;font-size:var(--fs-md);color:var(--text-primary)}.hv-artifacts__banner-text code{font-family:var(--font-mono);font-size:var(--fs-sm);background:color-mix(in srgb,var(--text-primary) 8%,transparent);padding:1px 4px;border-radius:var(--radius-1)}.hv-artifacts__banner-key{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text-secondary);margin-left:var(--space-2)}.hv-artifacts__section{display:grid;gap:var(--space-2)}.hv-artifacts__toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.hv-artifacts__toolbar-hint{color:var(--text-secondary);font-size:var(--fs-sm)}.hv-artifacts__tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--border-subtle)}.hv-artifacts__tab{appearance:none;background:transparent;border:none;color:var(--text-secondary);font:inherit;font-size:var(--fs-md);font-weight:500;padding:var(--space-2) var(--space-4);margin-bottom:-1px;border-bottom:2px solid transparent;cursor:pointer}.hv-artifacts__tab:hover{color:var(--text-primary)}.hv-artifacts__tab--active{color:var(--text-primary);border-bottom-color:var(--accent)}.hv-artifacts__tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-1)}.hv-artifacts__section-title{font-size:var(--fs-lg);font-weight:600;margin:0;color:var(--text-primary)}.hv-artifacts__section-hint{font-size:var(--fs-sm);color:var(--text-secondary);margin:calc(-1 * var(--space-1)) 0 var(--space-1)}.hv-artifacts__section-hint code{font-family:var(--font-mono);font-size:var(--fs-xs);background:color-mix(in srgb,var(--text-primary) 8%,transparent);padding:1px 4px;border-radius:var(--radius-1);color:var(--text-primary)}.hv-artifacts__table{width:100%;border-collapse:collapse;font-size:var(--fs-md);color:var(--text-primary)}.hv-artifacts__table th,.hv-artifacts__table td{padding:var(--space-2) var(--space-3);text-align:left;border-bottom:1px solid var(--border-subtle);vertical-align:middle}.hv-artifacts__table th{font-weight:600;color:var(--text-secondary);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.03em;background:var(--surface-panel)}.hv-artifacts__mono{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text-secondary)}.hv-artifacts__badge{display:inline-block;padding:2px var(--space-2);border-radius:999px;background:var(--surface-elevated);border:1px solid var(--border-subtle);font-size:var(--fs-xs);color:var(--text-primary)}.hv-artifacts__badge--warn{background:color-mix(in srgb,var(--status-warn) 15%,var(--surface-elevated));border-color:var(--status-warn);color:var(--text-primary)}.hv-artifacts__upload{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);padding:var(--space-4);background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-2)}.hv-artifacts__upload-field{display:grid;gap:var(--space-1);font-size:var(--fs-sm)}.hv-artifacts__upload-field--full{grid-column:1 / -1}.hv-artifacts__upload-field label{color:var(--text-secondary);font-weight:500}.hv-artifacts__upload-field input,.hv-artifacts__upload-field select,.hv-artifacts__upload-field textarea{padding:var(--space-2) var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-2);background:var(--surface-elevated);color:var(--text-primary);font:inherit}.hv-artifacts__upload-field input:focus,.hv-artifacts__upload-field select:focus,.hv-artifacts__upload-field textarea:focus{outline:none;border-color:var(--accent)}.hv-artifacts__upload-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:var(--space-2);align-items:center}.hv-artifacts__policy-input{width:96px;padding:var(--space-1) var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-1);background:var(--surface-elevated);color:var(--text-primary);font:inherit;text-align:right}.hv-artifacts__policy-checkbox{cursor:pointer;accent-color:var(--accent)}.hv-artifacts__empty{color:var(--text-secondary);font-size:var(--fs-md);padding:var(--space-4);text-align:center;border:1px dashed var(--border-subtle);border-radius:var(--radius-2)}.hv-artifacts__actions{display:flex;gap:var(--space-2);align-items:center}.hv-artifacts__badge--ok{background:color-mix(in srgb,var(--status-ok) 20%,var(--surface-elevated));border-color:var(--status-ok)}.hv-artifacts__badge--err{background:color-mix(in srgb,var(--status-error) 20%,var(--surface-elevated));border-color:var(--status-error)}.hv-artifacts__badge--neutral{background:var(--surface-elevated);border-color:var(--border-subtle)}.hv-artifacts__modal-backdrop{position:fixed;inset:0;background:#00000080;z-index:50;display:flex;align-items:center;justify-content:center;padding:var(--space-5)}.hv-artifacts__modal{background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-3);box-shadow:var(--shadow-2);color:var(--text-primary);width:min(720px,100%);max-height:100%;overflow:auto;display:grid;grid-template-rows:auto 1fr}.hv-artifacts__modal-head{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle)}.hv-artifacts__modal-head h3{margin:0;font-size:var(--fs-lg);font-weight:600}.hv-artifacts__modal-body{display:grid;gap:var(--space-3);padding:var(--space-4)}.hv-artifacts__modal-actions{display:flex;gap:var(--space-2);justify-content:flex-end}.hv-artifacts__rollout-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap}.hv-artifacts__rollout-id{display:flex;flex-direction:column;gap:var(--space-1);align-items:flex-start}.hv-artifacts__rollout-id code{padding:2px 6px;background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-1);font-size:var(--fs-sm);color:var(--text-primary)}.hv-artifacts__rollout-status{display:flex;flex-direction:column;gap:var(--space-1);align-items:flex-end}p.hv-artifacts__banner{margin:0}.hv-catalog{display:grid;grid-template-columns:minmax(280px,340px) 1fr;gap:var(--space-4);min-height:calc(100vh - 200px)}@media (max-width: 900px){.hv-catalog{grid-template-columns:1fr}}.hv-catalog__master{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3);background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-2);max-height:calc(100vh - 160px);overflow:hidden}.hv-catalog__master-toolbar{display:flex;flex-direction:column;gap:var(--space-2)}.hv-catalog__master-search input{width:100%;padding:6px var(--space-3);font-size:var(--fs-sm);color:var(--text-primary);background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-1);font-family:inherit;box-sizing:border-box}.hv-catalog__master-search input:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}.hv-catalog__chips{display:flex;flex-wrap:wrap;gap:4px}.hv-catalog__chip{padding:3px 10px;border-radius:999px;border:1px solid var(--border-subtle);background:var(--surface-elevated);color:var(--text-secondary);font-size:var(--fs-xs);cursor:pointer;font-family:inherit}.hv-catalog__chip:hover{background:var(--surface-hover)}.hv-catalog__chip--active{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast, #fff)}.hv-catalog__master-list{flex:1 1 auto;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.hv-catalog__list-item{display:flex;align-items:center;gap:var(--space-2);padding:8px 10px;border:1px solid transparent;border-radius:var(--radius-1);background:transparent;color:var(--text-primary);cursor:pointer;text-align:left;font-family:inherit}.hv-catalog__list-item:hover{background:var(--surface-elevated)}.hv-catalog__list-item--active{background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:var(--accent)}.hv-catalog__list-icon{flex:0 0 auto;color:var(--text-secondary);display:inline-flex;align-items:center}.hv-catalog__list-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.hv-catalog__list-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hv-catalog__list-meta{font-size:var(--fs-xs);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hv-catalog__master-create{border-top:1px solid var(--border-subtle);padding-top:var(--space-2)}.hv-catalog__detail{display:flex;flex-direction:column;background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-2);max-height:calc(100vh - 160px);overflow:hidden}.hv-catalog__detail-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle)}.hv-catalog__detail-title{margin:0;font-size:var(--fs-lg);font-weight:500;color:var(--text-primary)}.hv-catalog__detail-body{flex:1 1 auto;overflow-y:auto;padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.hv-catalog__detail-footer{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-subtle)}.hv-catalog__detail-footer-spacer{flex:1}.hv-catalog__empty{padding:var(--space-4);text-align:center;color:var(--text-muted);font-size:var(--fs-sm)}.hv-catalog__status{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:999px;border:1px solid var(--border-subtle);background:var(--surface-elevated);color:var(--text-secondary);font-size:var(--fs-xs);font-weight:500;white-space:nowrap}.hv-catalog__status--draft{color:var(--text-secondary)}.hv-catalog__status--pending_review{color:var(--status-warn);border-color:color-mix(in srgb,var(--status-warn) 45%,transparent);background:color-mix(in srgb,var(--status-warn) 12%,var(--surface-panel))}.hv-catalog__status--approved{color:var(--status-ok);border-color:color-mix(in srgb,var(--status-ok) 45%,transparent);background:color-mix(in srgb,var(--status-ok) 12%,var(--surface-panel))}.hv-catalog__status--rejected{color:var(--status-error);border-color:color-mix(in srgb,var(--status-error) 45%,transparent);background:color-mix(in srgb,var(--status-error) 12%,var(--surface-panel))}.hv-catalog__status--retired{color:var(--text-muted);border-color:var(--border-subtle);background:var(--surface-elevated);text-decoration:line-through}.hv-catalog__approval-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.hv-catalog__approval-meta{margin-top:var(--space-2);font-size:var(--fs-xs);color:var(--text-muted);display:flex;flex-direction:column;gap:2px}.hv-data-table__wrap{width:100%;overflow:auto;border:1px solid var(--border-subtle);border-radius:6px;background:var(--surface-raised, var(--surface-base))}.hv-data-table__toolbar{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border-subtle)}.hv-data-table{width:100%;border-collapse:collapse;font-size:13px;color:var(--text-primary)}.hv-data-table thead th{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border-subtle);font-weight:600;color:var(--text-secondary, var(--text-primary));background:var(--surface-base);position:sticky;top:0;z-index:1;user-select:none}.hv-data-table__th--sortable{cursor:pointer}.hv-data-table__th--sortable:hover{color:var(--accent)}.hv-data-table__sort-mark{opacity:.6;font-size:10px}.hv-data-table tbody td{padding:8px 12px;border-bottom:1px solid var(--border-subtle);vertical-align:top}.hv-data-table tbody tr:last-child td{border-bottom:none}.hv-data-table__row--clickable{cursor:pointer}.hv-data-table__row--clickable:hover{background:var(--surface-hover, rgba(255, 255, 255, .03))}.hv-data-table__empty{text-align:center;padding:24px;color:var(--text-muted, #8a8f96)}.hv-data-table__row--selected{background:color-mix(in srgb,var(--ai-accent, #7c5cff) 14%,transparent)}.hv-data-table__row--selected:hover{background:color-mix(in srgb,var(--ai-accent, #7c5cff) 20%,transparent)}.hv-data-table__row--selected td{border-bottom-color:color-mix(in srgb,var(--ai-accent, #7c5cff) 40%,var(--border-subtle))}.hv-echart-history{display:flex;flex-direction:column;width:100%;height:100%;min-height:220px;background:var(--surface-raised, transparent);color:var(--text-primary);border-radius:6px}.hv-echart-history__toolbar{display:flex;align-items:center;gap:6px;padding:6px 8px;border-bottom:1px solid var(--border-subtle)}.hv-echart-history__legend{margin-left:auto;font-size:12px}.hv-echart-history__close{margin-left:8px}.hv-echart-history__canvas{flex:1 1 auto;min-height:180px;width:100%}.hv-echart-history__msg{padding:24px;text-align:center;font-size:13px}.hv-echart-history__msg--error{color:var(--status-alert, #d15c5c)}.hv-w-header{display:flex;align-items:center;gap:var(--space-2);padding-bottom:var(--space-2);margin-bottom:var(--space-2);border-bottom:1px solid var(--border-subtle);min-width:0}.hv-w-header__dot{width:8px;height:8px;border-radius:50%;background:var(--accent);flex:0 0 auto}.hv-w-header__labels{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto}.hv-w-header__title{font-size:var(--fs-md);color:var(--text-primary);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hv-w-header__meta{display:inline-flex;align-items:baseline;gap:var(--space-2);font-size:var(--fs-xs);min-width:0}.hv-w-header__type-badge{display:inline-flex;align-items:center;padding:1px 6px;border-radius:999px;border:1px solid var(--border-subtle);background:var(--surface-elevated);color:var(--text-muted);font-size:10px;line-height:1.2;letter-spacing:.02em}.hv-w-single{display:flex;flex-direction:column;height:100%;min-width:0}.hv-w-single__empty{padding:var(--space-3) 0;font-size:var(--fs-sm)}.hv-w-single__body{flex:1 1 auto;display:flex;align-items:baseline;justify-content:center;gap:var(--space-2);padding:var(--space-3) 0;font-variant-numeric:tabular-nums}.hv-w-single__dot{width:10px;height:10px;border-radius:50%;background:var(--text-muted);flex:0 0 auto;align-self:center}.hv-w-single__dot--ok{background:var(--status-ok)}.hv-w-single__dot--warn{background:var(--status-warn)}.hv-w-single__dot--error{background:var(--status-error)}.hv-w-single__dot--info{background:var(--status-info)}.hv-w-single__value{font-size:clamp(28px,8vw,44px);font-weight:600;color:var(--text-primary);line-height:1;white-space:nowrap}.hv-w-single__unit{font-size:var(--fs-md);font-weight:400}.hv-w-single__spark{display:block;width:100%;height:32px;color:var(--accent);opacity:.7}.hv-w-single__spark-line{fill:none;stroke:currentColor;stroke-width:1.4;stroke-linejoin:round;stroke-linecap:round}.hv-w-trend{display:flex;flex-direction:column;height:100%;min-width:0}.hv-w-trend__empty{padding:var(--space-3) 0;font-size:var(--fs-sm)}.hv-w-trend__chart{flex:1 1 auto;min-height:0;display:flex}.hv-w-trend__chart .hv-leaf-chart{margin:0;padding:0;background:transparent;border:0;flex:1 1 auto;display:flex;flex-direction:column;min-width:0}.hv-w-trend__chart .hv-leaf-chart__header{padding-bottom:var(--space-2)}.hv-w-trend__chart .hv-leaf-chart__close,.hv-w-trend__chart .hv-leaf-chart__title{display:none}.hv-w-trend__chart .hv-leaf-chart__body{flex:1 1 auto;min-height:120px}.hv-w-trend__chart .hv-leaf-chart__svg{height:100%}.hv-w-multitrend{display:flex;flex-direction:column;height:100%;min-width:0}.hv-w-multitrend__empty{padding:var(--space-3) 0;font-size:var(--fs-sm)}.hv-w-multitrend__legend{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-3);padding-bottom:var(--space-2);margin-bottom:var(--space-2);border-bottom:1px solid var(--border-subtle);font-size:var(--fs-xs)}.hv-w-multitrend__legend-item{display:inline-flex;align-items:center;gap:6px;color:var(--text-primary);min-width:0}.hv-w-multitrend__legend-swatch{width:10px;height:3px;border-radius:2px;flex:0 0 auto}.hv-w-multitrend__legend-label{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hv-w-multitrend__legend-unit{font-size:10px}.hv-w-multitrend__chart{flex:1 1 auto;min-height:120px;display:flex}.hv-w-multitrend__svg{width:100%;height:100%}.hv-w-multitrend__gridline{stroke:color-mix(in srgb,var(--text-muted) 25%,transparent);stroke-width:1;stroke-dasharray:2 4}.hv-w-multitrend__frame{fill:none;stroke:var(--border-subtle);stroke-width:1}.hv-w-multitrend__axis-label{fill:var(--text-muted);font-size:10px;font-family:var(--font-mono, monospace)}.hv-w-multitrend__line{fill:none;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}.hv-w-table{display:flex;flex-direction:column;height:100%;min-width:0}.hv-w-table__empty{padding:var(--space-3) 0;font-size:var(--fs-sm)}.hv-w-table__scroll{flex:1 1 auto;min-height:0;overflow:auto}.hv-w-table__table{width:100%;border-collapse:collapse;font-size:var(--fs-xs);font-variant-numeric:tabular-nums}.hv-w-table__table th{position:sticky;top:0;z-index:1;padding:4px 8px;text-align:left;font-weight:500;color:var(--text-muted);background:var(--surface-panel);border-bottom:1px solid var(--border-subtle);text-transform:uppercase;letter-spacing:.03em;font-size:10px}.hv-w-table__cell{padding:3px 8px;color:var(--text-primary);border-bottom:1px solid rgba(148,163,184,.06);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.hv-w-table__cell--value{text-align:right;font-weight:500}.hv-w-table__col--value{text-align:right}.hv-w-table__footer{padding:4px 8px;font-size:10px;border-top:1px solid var(--border-subtle);text-align:right}.hv-w-alarms{display:flex;flex-direction:column;height:100%;min-width:0}.hv-w-alarms__empty{padding:var(--space-3) 0;font-size:var(--fs-sm)}.hv-w-alarms__list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1 1 auto;min-height:0}.hv-w-alarms__row{display:grid;grid-template-columns:60px 1fr auto;align-items:center;gap:var(--space-2);padding:4px 8px;border-left:3px solid transparent;border-bottom:1px solid rgba(148,163,184,.06);font-size:var(--fs-xs)}.hv-w-alarms__row--warn{border-left-color:var(--status-warn)}.hv-w-alarms__row--error{border-left-color:var(--status-error)}.hv-w-alarms__severity{padding:1px 6px;border-radius:999px;font-size:10px;font-weight:500;text-align:center;color:#fff}.hv-w-alarms__severity--warn{background:var(--status-warn)}.hv-w-alarms__severity--error{background:var(--status-error)}.hv-w-alarms__msg{color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hv-w-alarms__time{font-size:10px}.hv-w-geo{display:flex;flex-direction:column;height:100%;min-width:0}.hv-w-geo__canvas{flex:1 1 auto;min-height:120px;background:var(--surface-base);border-radius:var(--radius-1);overflow:hidden}.hv-w-geo .hv-map-marker{color:var(--accent);cursor:pointer}.hv-w-eflow{display:flex;flex-direction:column;gap:var(--space-2);height:100%;min-height:0}.hv-w-eflow__empty{padding:var(--space-3);font-size:var(--fs-sm)}.hv-w-eflow__canvas-wrap{flex:1 1 auto;min-height:160px;display:flex}.hv-w-eflow__svg{width:100%;height:100%;display:block}.hv-w-eflow__edge{fill:none;stroke:var(--accent);stroke-linecap:round;opacity:.85;stroke-dasharray:5 22;animation:hv-eflow-march 1.4s linear infinite}.hv-w-eflow__edge--unknown{stroke:var(--text-muted);stroke-dasharray:3 12;opacity:.5;animation:hv-eflow-march-slow 2.8s linear infinite}@keyframes hv-eflow-march{to{stroke-dashoffset:-27}}@keyframes hv-eflow-march-slow{to{stroke-dashoffset:-15}}@media (prefers-reduced-motion: reduce){.hv-w-eflow__edge,.hv-w-eflow__edge--unknown{animation:none}}.hv-w-eflow__edge-label{font-size:11px;fill:var(--text-primary);paint-order:stroke;stroke:var(--surface-panel);stroke-width:3px}.hv-w-eflow__node{fill:var(--surface-elevated);stroke:var(--accent);stroke-width:2}.hv-w-eflow__node-label{font-size:12px;font-weight:600;fill:var(--text-primary)}.hv-widget-picker{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center}.hv-widget-picker__backdrop{position:absolute;inset:0;background:#00000080;backdrop-filter:blur(2px)}.hv-widget-picker__panel{position:relative;width:min(880px,92vw);max-height:82vh;display:flex;flex-direction:column;background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-2);box-shadow:0 20px 48px #0006}.hv-widget-picker__header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle)}.hv-widget-picker__title{flex:1 1 auto;margin:0;font-size:var(--fs-lg);font-weight:500;color:var(--text-primary)}.hv-widget-picker__close{width:28px;height:28px;padding:0;background:transparent;border:0;border-radius:var(--radius-1);color:var(--text-muted);font-size:20px;cursor:pointer}.hv-widget-picker__close:hover{background:var(--surface-elevated);color:var(--text-primary)}.hv-widget-picker__body{padding:var(--space-4);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-3)}.hv-widget-picker__error{color:var(--status-error)}.hv-widget-picker__filter-row{position:sticky;top:calc(-1 * var(--space-4));z-index:1;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;margin:calc(-1 * var(--space-4)) 0 0;background:var(--surface-panel)}.hv-widget-picker__filter{flex:1 1 auto;height:32px;padding:0 var(--space-3);font-size:var(--fs-sm);color:var(--text-primary);background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-1)}.hv-widget-picker__filter:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}.hv-widget-picker__count{font-size:var(--fs-xs);flex:0 0 auto}.hv-widget-picker__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-3)}.hv-widget-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);text-align:left;background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-2);color:var(--text-primary);cursor:pointer;transition:background-color .12s ease,border-color .12s ease,transform 60ms ease}.hv-widget-card:hover{background:var(--surface-hover);border-color:color-mix(in srgb,var(--accent) 40%,var(--border-subtle))}.hv-widget-card:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 30%,transparent)}.hv-widget-card:active{transform:scale(.99)}.hv-widget-card__preview{width:100%;aspect-ratio:120 / 72;background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:var(--radius-1);overflow:hidden;display:flex;align-items:center;justify-content:center}.hv-widget-card__preview svg{display:block}.hv-widget-card:hover .hv-widget-card__preview{border-color:color-mix(in srgb,var(--accent) 40%,var(--border-subtle))}.hv-widget-card__title{font-size:var(--fs-md);font-weight:500}.hv-widget-card__desc{font-size:var(--fs-sm);color:var(--text-secondary);line-height:1.35;flex:1 1 auto}.hv-widget-card__meta{display:flex;flex-wrap:wrap;gap:4px}.hv-widget-card__badge{display:inline-flex;align-items:center;padding:1px 6px;font-size:10px;color:var(--text-muted);background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:999px;line-height:1.4}.hv-leaf-picker{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center}.hv-leaf-picker__backdrop{position:absolute;inset:0;background:#0000008c;backdrop-filter:blur(2px)}.hv-leaf-picker__panel{position:relative;width:min(960px,94vw);max-height:86vh;display:flex;flex-direction:column;background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-2);box-shadow:0 20px 48px #00000080}.hv-leaf-picker__header{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle)}.hv-leaf-picker__header>div:first-child{flex:1 1 auto}.hv-leaf-picker__title{margin:0;font-size:var(--fs-lg);font-weight:500;color:var(--text-primary)}.hv-leaf-picker__subtitle{margin:4px 0 0;font-size:var(--fs-sm)}.hv-leaf-picker__close{width:28px;height:28px;padding:0;background:transparent;border:0;border-radius:var(--radius-1);color:var(--text-muted);font-size:20px;cursor:pointer;flex:0 0 auto}.hv-leaf-picker__close:hover{background:var(--surface-elevated);color:var(--text-primary)}.hv-leaf-picker__filter-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle)}.hv-leaf-picker__filter{flex:1 1 auto;height:32px;padding:0 var(--space-3);font-size:var(--fs-sm);color:var(--text-primary);background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-1)}.hv-leaf-picker__filter:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}.hv-leaf-picker__count{font-size:var(--fs-xs);flex:0 0 auto}.hv-leaf-picker__body{padding:var(--space-2) 0;overflow-y:auto;flex:1 1 auto}.hv-leaf-picker__error{color:var(--status-error);padding:0 var(--space-4)}.hv-leaf-picker__list{list-style:none;margin:0;padding:0}.hv-leaf-picker__row{width:100%;display:grid;grid-template-columns:minmax(180px,1fr) minmax(200px,1.5fr) minmax(80px,auto);align-items:center;gap:var(--space-3);padding:6px var(--space-4);background:transparent;border:0;color:var(--text-primary);font-size:var(--fs-sm);text-align:left;cursor:pointer;transition:background-color 60ms ease}.hv-leaf-picker__row:hover{background:var(--surface-elevated)}.hv-leaf-picker__row--selected{background:color-mix(in srgb,var(--accent) 12%,transparent);outline:1px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:-1px}.hv-leaf-picker__row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.hv-leaf-picker__row-main{display:inline-flex;align-items:baseline;gap:var(--space-2);min-width:0}.hv-leaf-picker__row-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hv-leaf-picker__row-symbol{font-size:var(--fs-xs);flex:0 0 auto}.hv-leaf-picker__row-path{font-size:var(--fs-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hv-leaf-picker__row-meta{display:inline-flex;align-items:center;gap:var(--space-2);justify-self:end;font-size:var(--fs-xs)}.hv-leaf-picker__row-type{padding:1px 6px;border-radius:999px;border:1px solid var(--border-subtle);background:var(--surface-elevated);color:var(--text-muted);font-size:10px;line-height:1.4}.hv-leaf-picker__row-unit{min-width:3ch;text-align:right}.hv-cfg{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center}.hv-cfg__backdrop{position:absolute;inset:0;background:#00000080;backdrop-filter:blur(2px)}.hv-cfg__panel{position:relative;width:min(640px,92vw);max-height:82vh;display:flex;flex-direction:column;background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-2);box-shadow:0 20px 48px #0006}.hv-cfg__header{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle)}.hv-cfg__header>div:first-child{flex:1 1 auto}.hv-cfg__title{margin:0;font-size:var(--fs-lg);font-weight:500;color:var(--text-primary)}.hv-cfg__subtitle{margin:4px 0 0;font-size:var(--fs-sm)}.hv-cfg__close{width:28px;height:28px;padding:0;background:transparent;border:0;border-radius:var(--radius-1);color:var(--text-muted);font-size:20px;cursor:pointer;flex:0 0 auto}.hv-cfg__close:hover{background:var(--surface-elevated);color:var(--text-primary)}.hv-cfg__body{padding:var(--space-4);overflow-y:auto}.hv-cfg__error{color:var(--status-error)}.hv-cfg__fields{display:flex;flex-direction:column;gap:var(--space-3)}.hv-cfg__field{display:flex;flex-direction:column;gap:4px}.hv-cfg__label{font-size:var(--fs-sm);color:var(--text-secondary);font-weight:500}.hv-cfg__required{margin-left:3px;color:var(--status-error)}.hv-cfg__help{font-size:var(--fs-xs);color:var(--text-muted);line-height:1.35}.hv-cfg__input,.hv-cfg__textarea{width:100%;padding:6px var(--space-3);font-size:var(--fs-sm);color:var(--text-primary);background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-1);font-family:inherit}.hv-cfg__textarea{min-height:120px;resize:vertical;line-height:1.4}.hv-cfg__input:focus-visible,.hv-cfg__textarea:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}.hv-cfg__inline-check{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);cursor:pointer}.hv-cfg__inline-check input{cursor:pointer}.hv-cfg__checkgroup{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-3);padding:var(--space-2);background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-1)}.hv-cfg__check-item{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm);cursor:pointer}.hv-cfg__check-item input{cursor:pointer}.hv-cfg__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-subtle)}.hv-cfg__leaf-field{display:flex;gap:4px;align-items:stretch}.hv-cfg__leaf-button{flex:1 1 auto;min-width:0;display:inline-flex;align-items:center;gap:var(--space-2);padding:6px var(--space-3);font-size:var(--fs-sm);color:var(--text-primary);background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-1);cursor:pointer;text-align:left;transition:border-color .1s ease,background .1s ease}.hv-cfg__leaf-button:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--border-subtle))}.hv-cfg__leaf-button:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}.hv-cfg__leaf-value{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-xs)}.hv-cfg__leaf-chevron{color:var(--text-muted);font-size:10px}.hv-cfg__leaf-clear{width:28px;padding:0;font-size:16px;color:var(--text-muted);background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-1);cursor:pointer}.hv-cfg__leaf-clear:hover{color:var(--status-error);border-color:var(--status-error)}.hv-cfg__leaf-multi{display:flex;flex-direction:column;gap:var(--space-2)}.hv-cfg__leaf-multi-empty{padding:6px var(--space-3);font-size:var(--fs-sm);background:var(--surface-elevated);border:1px dashed var(--border-subtle);border-radius:var(--radius-1)}.hv-cfg__leaf-multi-list{display:flex;flex-direction:column;gap:4px;padding:var(--space-2);background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-1)}.hv-cfg__leaf-multi-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:4px 8px;background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-1);font-size:var(--fs-sm)}.hv-cfg__leaf-multi-label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-xs);color:var(--text-primary)}.hv-cfg__leaf-multi-actions{display:inline-flex;gap:2px}.hv-cfg__leaf-multi-btn{width:24px;height:24px;padding:0;font-size:12px;line-height:1;color:var(--text-muted);background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-1);cursor:pointer}.hv-cfg__leaf-multi-btn:hover:not(:disabled){color:var(--text-primary);background:var(--surface-elevated)}.hv-cfg__leaf-multi-btn:disabled{opacity:.35;cursor:default}.hv-cfg__leaf-multi-btn--remove:hover:not(:disabled){color:var(--status-error);border-color:var(--status-error)}.hv-cfg__leaf-multi-add{align-self:flex-start;padding:6px var(--space-3);font-size:var(--fs-sm);color:var(--accent);background:transparent;border:1px dashed color-mix(in srgb,var(--accent) 50%,var(--border-subtle));border-radius:var(--radius-1);cursor:pointer}.hv-cfg__leaf-multi-add:hover{background:color-mix(in srgb,var(--accent) 12%,transparent);border-color:var(--accent)}.hv-cfg__order-list{display:flex;flex-direction:column;gap:4px;padding:var(--space-2);background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-1)}.hv-cfg__order-empty{padding:4px 8px;font-size:var(--fs-xs)}.hv-cfg__order-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:4px 8px;background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-1);font-size:var(--fs-sm)}.hv-cfg__order-label{color:var(--text-primary)}.hv-cfg__order-actions{display:inline-flex;gap:2px}.hv-cfg__order-btn{width:24px;height:24px;padding:0;font-size:12px;line-height:1;color:var(--text-muted);background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-1);cursor:pointer}.hv-cfg__order-btn:hover:not(:disabled){color:var(--text-primary);background:var(--surface-elevated)}.hv-cfg__order-btn:disabled{opacity:.35;cursor:default}.hv-cfg__order-btn--remove:hover:not(:disabled){color:var(--status-error);border-color:var(--status-error)}.hv-cfg__order-add{margin-top:4px;padding:6px var(--space-2);font-size:var(--fs-sm);color:var(--text-secondary);background:var(--surface-panel);border:1px dashed var(--border-subtle);border-radius:var(--radius-1);cursor:pointer}.hv-cfg__flows{display:flex;flex-direction:column;gap:8px}.hv-cfg__flows-empty{padding:8px 12px;font-size:var(--fs-sm)}.hv-cfg__flows-row{display:flex;align-items:flex-start;gap:8px;padding:8px;background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-1)}.hv-cfg__flows-fields{display:grid;grid-template-columns:1fr 1fr 1.4fr .6fr;gap:8px;flex:1;min-width:0}.hv-cfg__flows-cell{display:flex;flex-direction:column;gap:2px;min-width:0}.hv-cfg__flows-cell-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.03em}.hv-cfg__flows-input{width:100%;min-width:0}.hv-cfg__flows-actions{display:inline-flex;gap:2px;padding-top:20px}@media (max-width: 720px){.hv-cfg__flows-fields{grid-template-columns:1fr 1fr}}.grid-stack{position:relative}.grid-stack-rtl{direction:ltr}.grid-stack-rtl>.grid-stack-item{direction:rtl}.grid-stack-placeholder>.placeholder-content{background-color:#0000001a;margin:0;position:absolute;width:auto;z-index:0!important}.grid-stack>.grid-stack-item{position:absolute;padding:0}.grid-stack>.grid-stack-item>.grid-stack-item-content{margin:0;position:absolute;width:auto;overflow-x:hidden;overflow-y:auto}.grid-stack>.grid-stack-item.size-to-content:not(.size-to-content-max)>.grid-stack-item-content{overflow-y:hidden}.grid-stack-item>.ui-resizable-handle{position:absolute;font-size:.1px;display:block;-ms-touch-action:none;touch-action:none}.grid-stack-item.ui-resizable-autohide>.ui-resizable-handle,.grid-stack-item.ui-resizable-disabled>.ui-resizable-handle{display:none}.grid-stack-item>.ui-resizable-ne,.grid-stack-item>.ui-resizable-nw,.grid-stack-item>.ui-resizable-se,.grid-stack-item>.ui-resizable-sw{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="%23666" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 20 20"><path d="m10 3 2 2H8l2-2v14l-2-2h4l-2 2"/></svg>');background-repeat:no-repeat;background-position:center}.grid-stack-item>.ui-resizable-ne{transform:rotate(45deg)}.grid-stack-item>.ui-resizable-sw{transform:rotate(45deg)}.grid-stack-item>.ui-resizable-nw{transform:rotate(-45deg)}.grid-stack-item>.ui-resizable-se{transform:rotate(-45deg)}.grid-stack-item>.ui-resizable-nw{cursor:nw-resize;width:20px;height:20px;top:0}.grid-stack-item>.ui-resizable-n{cursor:n-resize;height:10px;top:0;left:25px;right:25px}.grid-stack-item>.ui-resizable-ne{cursor:ne-resize;width:20px;height:20px;top:0}.grid-stack-item>.ui-resizable-e{cursor:e-resize;width:10px;top:15px;bottom:15px}.grid-stack-item>.ui-resizable-se{cursor:se-resize;width:20px;height:20px}.grid-stack-item>.ui-resizable-s{cursor:s-resize;height:10px;left:25px;bottom:0;right:25px}.grid-stack-item>.ui-resizable-sw{cursor:sw-resize;width:20px;height:20px}.grid-stack-item>.ui-resizable-w{cursor:w-resize;width:10px;top:15px;bottom:15px}.grid-stack-item.ui-draggable-dragging>.ui-resizable-handle{display:none!important}.grid-stack-item.ui-draggable-dragging{will-change:left,top;cursor:move}.grid-stack-item.ui-resizable-resizing{will-change:width,height}.ui-draggable-dragging,.ui-resizable-resizing{z-index:10000}.ui-draggable-dragging>.grid-stack-item-content,.ui-resizable-resizing>.grid-stack-item-content{box-shadow:1px 4px 6px #0003;opacity:.8}.grid-stack-animate,.grid-stack-animate .grid-stack-item{transition:left .3s,top .3s,height .3s,width .3s}.grid-stack-animate .grid-stack-item.grid-stack-placeholder,.grid-stack-animate .grid-stack-item.ui-draggable-dragging,.grid-stack-animate .grid-stack-item.ui-resizable-resizing{transition:left 0s,top 0s,height 0s,width 0s}.grid-stack>.grid-stack-item[gs-y="0"]{top:0}.grid-stack>.grid-stack-item[gs-x="0"]{left:0}.gs-12>.grid-stack-item{width:8.333%}.gs-12>.grid-stack-item[gs-x="1"]{left:8.333%}.gs-12>.grid-stack-item[gs-w="2"]{width:16.667%}.gs-12>.grid-stack-item[gs-x="2"]{left:16.667%}.gs-12>.grid-stack-item[gs-w="3"]{width:25%}.gs-12>.grid-stack-item[gs-x="3"]{left:25%}.gs-12>.grid-stack-item[gs-w="4"]{width:33.333%}.gs-12>.grid-stack-item[gs-x="4"]{left:33.333%}.gs-12>.grid-stack-item[gs-w="5"]{width:41.667%}.gs-12>.grid-stack-item[gs-x="5"]{left:41.667%}.gs-12>.grid-stack-item[gs-w="6"]{width:50%}.gs-12>.grid-stack-item[gs-x="6"]{left:50%}.gs-12>.grid-stack-item[gs-w="7"]{width:58.333%}.gs-12>.grid-stack-item[gs-x="7"]{left:58.333%}.gs-12>.grid-stack-item[gs-w="8"]{width:66.667%}.gs-12>.grid-stack-item[gs-x="8"]{left:66.667%}.gs-12>.grid-stack-item[gs-w="9"]{width:75%}.gs-12>.grid-stack-item[gs-x="9"]{left:75%}.gs-12>.grid-stack-item[gs-w="10"]{width:83.333%}.gs-12>.grid-stack-item[gs-x="10"]{left:83.333%}.gs-12>.grid-stack-item[gs-w="11"]{width:91.667%}.gs-12>.grid-stack-item[gs-x="11"]{left:91.667%}.gs-12>.grid-stack-item[gs-w="12"]{width:100%}.gs-1>.grid-stack-item{width:100%}.hv-dashboard{min-height:400px;--grid-cell-bg: var(--surface-panel);--grid-cell-border: var(--border-subtle);--grid-cell-radius: var(--radius-2)}.hv-dashboard .grid-stack{background:transparent}.hv-dashboard .grid-stack-item>.grid-stack-item-content{background:var(--grid-cell-bg);border:1px solid var(--grid-cell-border);border-radius:var(--grid-cell-radius);color:var(--text-primary);overflow:auto;padding:var(--space-3);box-shadow:var(--shadow-1)}.hv-dashboard .grid-stack-item>.grid-stack-item-content.hv-widget-content--bare{background:transparent;border-color:transparent;padding:0;box-shadow:none}.hv-dashboard--edit .grid-stack-item>.grid-stack-item-content.hv-widget-content--bare{border:1px dashed color-mix(in srgb,var(--accent) 40%,transparent)}.hv-dashboard--edit .grid-stack-item>.grid-stack-item-content{border-color:var(--accent);box-shadow:0 0 0 1px #77a22b26}.hv-dashboard .ui-resizable-handle,.hv-dashboard .ui-resizable-se{color:var(--text-muted)}.hv-dashboard--edit .grid-stack-item:hover>.ui-resizable-handle,.hv-dashboard--edit .grid-stack-item:hover>.ui-resizable-se{color:var(--accent)}.hv-dashboard__toolbar{display:flex;align-items:center;gap:var(--space-2)}.hv-dashboard__delete{margin-left:var(--space-3)}.hv-dashboard__banner{padding:var(--space-2) var(--space-3);margin-bottom:var(--space-3);background:var(--surface-elevated);border:1px solid var(--status-info);border-radius:var(--radius-2);color:var(--text-primary);font-size:var(--fs-md)}.hv-widget-placeholder{display:flex;flex-direction:column;gap:var(--space-2);height:100%}.hv-widget-placeholder__title{font-size:var(--fs-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.hv-widget-placeholder__value{font-size:var(--fs-2xl);font-weight:600;color:var(--text-primary)}.hv-widget-placeholder__body{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:var(--fs-md);border:1px dashed var(--border-subtle);border-radius:var(--radius-1)}.hv-widget-placeholder__hint{font-size:var(--fs-xs);color:var(--text-muted)}.hv-widget-placeholder--chart .hv-widget-placeholder__body{background:linear-gradient(135deg,#77a22b0d,#77a22b1f)}.hv-widget-missing{padding:var(--space-3);color:var(--status-error);font-size:var(--fs-md)}.hv-widget-frame{position:relative;width:100%;height:100%}.hv-widget-adorners{position:absolute;top:4px;right:4px;z-index:3;display:inline-flex;gap:4px;opacity:.55;transition:opacity .1s ease}.hv-widget-frame:hover .hv-widget-adorners{opacity:1}.hv-widget-adorner{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;padding:0;background:color-mix(in srgb,var(--surface-panel) 85%,transparent);border:1px solid var(--border-subtle);border-radius:var(--radius-1);color:var(--text-muted);cursor:pointer;transition:color .1s ease,background-color .1s ease,border-color .1s ease}.hv-widget-adorner:focus-visible{outline:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 30%,transparent)}.hv-widget-adorner--settings:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 50%,var(--border-subtle));background:color-mix(in srgb,var(--accent) 12%,var(--surface-panel))}.hv-widget-adorner--delete:hover{color:var(--status-error);border-color:var(--status-error);background:color-mix(in srgb,var(--status-error) 12%,var(--surface-panel))}.hv-widget-adorner--delete:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb,var(--status-error) 30%,transparent)}.hv-dashboard__empty{margin-bottom:var(--space-3);font-size:var(--fs-sm)}.hv-dashboard-shell{display:flex;gap:var(--space-3);min-height:0;min-width:0}.hv-dashboard-shell--horizontal{flex-direction:column}.hv-dashboard-shell--vertical{flex-direction:row}.hv-dashboard-shell__body{flex:1 1 auto;min-width:0;min-height:0;display:flex;flex-direction:column}.hv-dashboard-shell__body>.hv-dashboard{flex:1 1 auto}.hv-tabs{display:flex;gap:2px;align-items:center;padding:4px;background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-2);min-height:0}.hv-tabs--horizontal{flex-direction:row;flex-wrap:wrap}.hv-tabs--vertical{flex-direction:column;align-items:stretch;min-width:160px;max-width:240px;overflow-y:auto}.hv-tab{display:inline-flex;align-items:center;gap:4px;padding:4px 8px 4px 12px;color:var(--text-secondary);border-radius:var(--radius-1);cursor:pointer;transition:background .1s ease,color .1s ease;min-width:0}.hv-tab:hover{background:var(--surface-elevated);color:var(--text-primary)}.hv-tab--active{background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--text-primary)}.hv-tab--active .hv-tab__label{font-weight:500}.hv-tab__label{background:transparent;border:0;padding:0;color:inherit;font:inherit;font-size:var(--fs-sm);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.hv-tab__label:focus-visible{outline:1px solid var(--accent);border-radius:2px}.hv-tab__remove{width:18px;height:18px;padding:0;background:transparent;border:0;border-radius:50%;color:var(--text-muted);font-size:14px;line-height:1;cursor:pointer}.hv-tab__remove:hover{color:var(--status-error);background:color-mix(in srgb,var(--status-error) 15%,transparent)}.hv-tab__rename-input{width:140px;padding:2px 6px;font-size:var(--fs-sm);color:var(--text-primary);background:var(--surface-elevated);border:1px solid var(--accent);border-radius:var(--radius-1);font-family:inherit}.hv-tab__rename-input:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}.hv-tabs__add,.hv-tabs__orientation{padding:4px 10px;font-size:var(--fs-sm);color:var(--text-secondary);background:transparent;border:1px dashed var(--border-subtle);border-radius:var(--radius-1);cursor:pointer}.hv-tabs__add:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 50%,var(--border-subtle))}.hv-tabs__orientation{font-size:14px;padding:4px 8px}.hv-tabs__orientation:hover{color:var(--text-primary)}.hv-widget-text{width:100%;color:var(--text-primary);line-height:1.45}.hv-widget-text--sm{font-size:var(--fs-sm)}.hv-widget-text--md{font-size:var(--fs-md)}.hv-widget-text--lg{font-size:var(--fs-lg)}.hv-widget-text p{margin:0 0 var(--space-2)}.hv-widget-text p:last-child{margin-bottom:0}.hv-widget-text__list{margin:0 0 var(--space-2);padding-left:1.25em}.hv-widget-text__list--ordered{list-style:decimal}.hv-widget-text__h{margin:0 0 var(--space-2)}.hv-widget-text__h>h1,.hv-widget-text__h>h2,.hv-widget-text__h>h3,.hv-widget-text__h>h4{margin:0;color:var(--text-primary);font-weight:600;line-height:1.2}.hv-widget-text__h1>h1{font-size:1.5em}.hv-widget-text__h2>h2{font-size:1.3em}.hv-widget-text__h3>h3{font-size:1.15em}.hv-widget-text__h4>h4{font-size:1em;text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary)}.hv-widget-text__quote{margin:0 0 var(--space-2);padding:var(--space-1) var(--space-3);border-left:3px solid var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--text-secondary);border-radius:0 4px 4px 0}.hv-widget-text__table{border-collapse:collapse;width:100%;margin:0 0 var(--space-2);font-size:.95em}.hv-widget-text__table th,.hv-widget-text__table td{padding:4px 8px;border-bottom:1px solid var(--surface-border, rgba(255, 255, 255, .08));text-align:left;vertical-align:top}.hv-widget-text__table th{color:var(--text-secondary);font-weight:600;border-bottom:1px solid var(--surface-border, rgba(255, 255, 255, .15))}.hv-widget-text a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.hv-widget-text code{padding:0 4px;border-radius:3px;background:var(--surface-elevated);font-family:var(--font-mono, monospace);font-size:.9em}.hv-widget-text strong{font-weight:600}.hv-widget-heading{width:100%;color:var(--text-primary)}.hv-widget-heading__text{margin:0;font-weight:500}.hv-widget-heading--h2 .hv-widget-heading__text{font-size:var(--fs-2xl, 24px)}.hv-widget-heading--h3 .hv-widget-heading__text{font-size:var(--fs-xl, 20px)}.hv-widget-heading--h4 .hv-widget-heading__text{font-size:var(--fs-lg, 16px)}.hv-widget-heading--underline{padding-bottom:var(--space-2);border-bottom:1px solid var(--border-subtle)}.hv-widget-image{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}.hv-widget-image img{width:100%;height:100%;display:block}.hv-widget-image--rounded{border-radius:var(--radius-2)}.hv-widget-image--rounded img{border-radius:inherit}.hv-widget-image--empty,.hv-widget-image__error{padding:var(--space-3);font-size:var(--fs-sm);text-align:center}.hv-widget-separator{align-self:center;justify-self:center;background:transparent}.hv-widget-separator--horizontal{width:100%;height:0;border-top-width:1px;border-top-style:solid;border-color:var(--border-subtle)}.hv-widget-separator--vertical{height:100%;width:0;border-left-width:1px;border-left-style:solid;border-color:var(--border-subtle)}.hv-widget-separator--dashed{border-top-style:dashed;border-left-style:dashed}.hv-widget-separator--dotted{border-top-style:dotted;border-left-style:dotted}.hv-widget-spacer{width:100%;height:100%}.hv-card{background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-3);box-shadow:var(--shadow-1)}.hv-card--padded{padding:var(--space-4)}.hv-card__header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle)}.hv-card__body{padding:var(--space-4)}.hv-client-info__toggle{display:flex;align-items:center;gap:var(--space-2);flex:1 1 auto;padding:0;background:transparent;border:0;color:var(--text-primary);cursor:pointer;font-size:var(--fs-lg);font-weight:600;text-align:left}.hv-client-info__toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-1)}.hv-client-info__caret{display:inline-block;width:14px;color:var(--text-secondary)}.hv-client-info__title{flex:1 1 auto}.hv-client-info__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(560px,100%),1fr));gap:var(--space-3)}.hv-client-card{border:1px solid var(--border-subtle);border-radius:var(--radius-2);background:var(--surface-elevated);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-3)}.hv-client-card__header{display:flex;align-items:center;gap:var(--space-2)}.hv-client-card__id{display:flex;flex-direction:column;flex:1 1 auto;min-width:0}.hv-client-card__hostname{font-weight:600;color:var(--text-primary);font-size:var(--fs-md);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hv-client-card__chassis{font-size:var(--fs-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hv-client-card__dot{width:10px;height:10px;border-radius:50%;flex:0 0 auto;box-shadow:0 0 0 2px var(--surface-elevated),0 0 0 3px currentColor}.hv-client-card__dot--ok{background:var(--status-ok);color:color-mix(in oklab,var(--status-ok) 40%,transparent)}.hv-client-card__dot--warn{background:var(--status-warn);color:color-mix(in oklab,var(--status-warn) 40%,transparent)}.hv-client-card__dot--error{background:var(--status-error);color:color-mix(in oklab,var(--status-error) 40%,transparent)}.hv-client-card__body{display:grid;grid-template-columns:minmax(220px,1fr) minmax(240px,1.2fr) minmax(200px,1fr);gap:var(--space-3) var(--space-4);align-items:start}@container (max-width: 640px){.hv-client-card__body{grid-template-columns:1fr}}.hv-client-card{container-type:inline-size}.hv-client-card__section-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin-bottom:2px}.hv-client-card__kv{display:grid;grid-template-columns:88px 1fr;gap:var(--space-2) var(--space-2);margin:0}.hv-client-card__kv dt{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);align-self:center}.hv-client-card__kv dd{font-size:var(--fs-sm);margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hv-client-card__resources{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.hv-client-card__resource{display:flex;flex-direction:column;gap:2px;min-width:0}.hv-client-card__bar{display:grid;grid-template-columns:32px minmax(0,1fr) 132px;align-items:center;gap:var(--space-2);min-width:0}.hv-client-card__bar-track{grid-column:2}.hv-client-card__bar-label{grid-column:3}.hv-client-card__bar-track{height:6px;border-radius:3px;background:var(--surface-base);overflow:hidden;min-width:60px;min-width:0;width:100%}.hv-client-card__bar-fill{height:100%;border-radius:3px;transition:width .4s ease}.hv-client-card__bar-fill--ok{background:var(--status-ok)}.hv-client-card__bar-fill--warn{background:var(--status-warn)}.hv-client-card__bar-fill--error{background:var(--status-error)}.hv-client-card__bar-label{text-align:right;flex:0 0 auto;font-size:var(--fs-xs);color:var(--text-secondary);white-space:nowrap}.hv-client-card__storage-row{display:grid;grid-template-columns:32px minmax(0,1fr) 132px;align-items:center;gap:var(--space-2);min-width:0}.hv-client-card__storage-mount{grid-column:1;font-size:var(--fs-xs);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hv-client-card__net{display:flex;flex-direction:column;gap:2px;min-width:0}.hv-client-card__net-row{display:grid;grid-template-columns:44px 1fr;grid-template-rows:auto auto;column-gap:var(--space-2);font-size:var(--fs-xs);padding:2px 0;border-bottom:1px dashed var(--border-subtle);text-align:right}.hv-client-card__net-row:last-child{border-bottom:0}.hv-client-card__net-iface{grid-row:1 / span 2;align-self:center;text-align:left;color:var(--text-secondary)}.hv-client-card__net-mac{grid-column:2;font-size:10px;opacity:.75}.hv-scan{display:grid;grid-template-columns:minmax(520px,3fr) minmax(320px,1fr);gap:var(--space-5, 20px);padding:var(--space-4, 16px);height:100%;box-sizing:border-box}.hv-scan__list{overflow:auto;min-height:0;display:flex;flex-direction:column;gap:var(--space-2, 8px)}.hv-scan__detail{overflow:auto;min-height:0;display:flex;flex-direction:column}.hv-scan__detail-card{background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-2, 8px);padding:var(--space-4, 16px) var(--space-5, 20px);box-shadow:0 2px 8px #00000026;display:flex;flex-direction:column;gap:var(--space-3, 12px)}.hv-scan__detail-empty{padding:var(--space-6, 24px);border:1px dashed var(--border-subtle);border-radius:var(--radius-2, 8px);color:var(--text-muted);text-align:center;font-size:var(--fs-sm)}.hv-scan__detail-title{margin:0;font-size:var(--fs-lg, 16px);color:var(--text-primary);display:flex;align-items:center;gap:var(--space-2, 8px);padding-bottom:var(--space-2, 8px);border-bottom:1px solid var(--border-subtle)}.hv-scan__detail-actions{display:flex;gap:var(--space-2, 8px);margin-top:var(--space-2, 8px);padding-top:var(--space-3, 12px);border-top:1px solid var(--border-subtle)}.hv-scan__empty-hint{padding:var(--space-4, 16px);border:1px dashed var(--border-subtle);border-radius:var(--radius-2, 8px);color:var(--text-muted);background:var(--surface-base)}.hv-scan__empty-hint p{margin:0 0 var(--space-2, 8px) 0}.hv-scan__empty-hint p:last-child{margin-bottom:0}.hv-scan__running{padding:10px var(--space-3, 12px);background:color-mix(in srgb,var(--ai-accent, #7c5cff) 12%,var(--surface-elevated));border:1px solid color-mix(in srgb,var(--ai-accent, #7c5cff) 35%,var(--border-subtle));border-radius:var(--radius-2, 8px);display:flex;flex-direction:column;gap:6px;font-size:var(--fs-sm)}.hv-scan__running-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3, 12px);color:var(--text-primary)}.hv-scan__running-track{height:4px;background:color-mix(in srgb,var(--ai-accent, #7c5cff) 15%,transparent);border-radius:2px;overflow:hidden}.hv-scan__running-bar{height:100%;background:var(--ai-accent, #7c5cff);transition:width .25s linear}.hv-data-table__row--clickable.hv-scan__row--self{background:color-mix(in srgb,var(--text-secondary) 6%,transparent);color:var(--text-muted)}.hv-data-table__row--clickable.hv-scan__row--self:hover{background:color-mix(in srgb,var(--text-secondary) 10%,transparent)}.hv-data-table__row--clickable.hv-scan__row--self td{color:var(--text-muted)}.hv-scan__self-label{display:inline-block;padding:1px 8px;border:1px solid var(--border-subtle);border-radius:999px;font-size:var(--fs-xs);color:var(--text-secondary);background:var(--surface-base)}.hv-scan__marker{display:inline-flex;justify-content:center;align-items:center;width:1.4em;height:1.4em;border-radius:50%;font-size:.9em;line-height:1;font-weight:700}.hv-scan__marker--assigned{background:color-mix(in srgb,var(--status-ok, #62c26e) 20%,transparent);color:var(--status-ok, #62c26e)}.hv-scan__marker--self{background:color-mix(in srgb,var(--ai-accent, #7c5cff) 20%,transparent);color:var(--ai-accent, #7c5cff)}.hv-scan__section{margin-bottom:1.25rem}.hv-scan__section:last-child{margin-bottom:0}.hv-scan__section-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin:0 0 .5rem;padding:0 .25rem;font-size:var(--fs-sm);color:var(--text-primary);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.hv-scan__toolbar{display:inline-flex;gap:4px;text-transform:none;letter-spacing:0}.hv-scan__toolbar--connected{flex-wrap:wrap;justify-content:flex-end;row-gap:4px}.hv-scan__tb-btn{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 9px;font-size:.78rem;font-weight:500;line-height:1;color:var(--text-primary);background:var(--surface-panel, #fff);border:1px solid var(--border-subtle, #d1d5db);border-radius:6px;cursor:pointer;text-transform:none;letter-spacing:0;transition:border-color .12s ease,background-color .12s ease}.hv-scan__tb-btn:hover:not(:disabled){border-color:var(--accent, #3b82f6);background:var(--surface-hover, #f9fafb)}.hv-scan__tb-btn:disabled{opacity:.45;cursor:not-allowed}.hv-scan__tb-btn-icon{display:inline-flex;align-items:center;color:var(--text-secondary, #6b7280)}.hv-scan__tb-btn-label{white-space:nowrap}.hv-scan__tb-btn--danger,.hv-scan__tb-btn--danger .hv-scan__tb-btn-icon{color:var(--status-error, #dc2626)}.hv-scan__tb-btn--danger:hover:not(:disabled){border-color:var(--status-error, #dc2626);background:color-mix(in oklab,var(--status-error, #dc2626) 8%,transparent)}.hv-scan__tb-btn--warn,.hv-scan__tb-btn--warn .hv-scan__tb-btn-icon{color:var(--status-warn, #d97706)}.hv-scan__section-divider{margin:.35rem 0;border-top:1px dashed var(--border-subtle)}.hv-scan__row-actions{display:inline-flex;gap:4px;align-items:center}.hv-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid var(--border-subtle);border-radius:6px;background:transparent;color:var(--text-primary);cursor:pointer;text-decoration:none;transition:background .1s ease,border-color .1s ease}.hv-icon-btn:hover{background:var(--surface-hover)}.hv-icon-btn:focus-visible{outline:2px solid var(--ai-accent, #7c5cff);outline-offset:1px}.hv-icon-btn:disabled,.hv-icon-btn[disabled]{opacity:.35;cursor:not-allowed}.hv-icon-btn:disabled:hover,.hv-icon-btn[disabled]:hover{background:transparent}.hv-icon-btn--ok{color:var(--status-ok, #62c26e);border-color:color-mix(in srgb,var(--status-ok, #62c26e) 40%,transparent)}.hv-icon-btn--warn{color:var(--status-warn, #d0a24c);border-color:color-mix(in srgb,var(--status-warn, #d0a24c) 40%,transparent)}.hv-icon-btn--danger{color:var(--status-alert, #d15c5c);border-color:color-mix(in srgb,var(--status-alert, #d15c5c) 40%,transparent)}.hv-icon-btn--primary{color:var(--ai-accent, #7c5cff);border-color:color-mix(in srgb,var(--ai-accent, #7c5cff) 40%,transparent)}.hv-identity{display:flex;flex-direction:column;gap:var(--space-4)}.hv-identity__tabs{display:flex;gap:var(--space-2);border-bottom:1px solid var(--border-subtle)}.hv-identity__tab{background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);padding:var(--space-2) var(--space-3);font:inherit;cursor:pointer}.hv-identity__tab:hover{color:var(--text-primary)}.hv-identity__tab--active{color:var(--text-primary);border-bottom-color:var(--accent)}.hv-identity__split{display:grid;grid-template-columns:minmax(0,3fr) minmax(320px,2fr);gap:var(--space-4);align-items:start}.hv-identity__list{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.hv-identity__detail{position:sticky;top:var(--space-4);align-self:start}.hv-identity__toolbar{display:flex;justify-content:flex-end;gap:var(--space-2)}.hv-identity__panel{background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-2);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.hv-identity__panel-title{margin:0;font-size:var(--fs-lg);color:var(--text-primary)}.hv-identity__placeholder{background:var(--surface-panel);border:1px dashed var(--border-subtle);border-radius:var(--radius-2);padding:var(--space-6);text-align:center;color:var(--text-secondary)}.hv-identity__form{background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-2);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.hv-identity__field{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--fs-sm);color:var(--text-secondary)}.hv-identity__field input{background:var(--surface-elevated);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-1);padding:6px var(--space-2);font-size:var(--fs-sm);min-height:30px}.hv-identity__field input:focus{outline:none;border-color:var(--accent)}.hv-identity__form-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.hv-identity__section{display:flex;flex-direction:column;gap:var(--space-2)}.hv-identity__section h4{margin:0;font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.hv-identity__toggle{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);color:var(--text-primary);cursor:pointer}.hv-identity__checkbox-list{display:flex;flex-direction:column;gap:4px;max-height:220px;overflow-y:auto;padding:var(--space-2);background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-1)}.hv-identity__checkbox{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);color:var(--text-primary);cursor:pointer}.hv-identity__chip-row{display:inline-flex;flex-wrap:wrap;gap:4px}.hv-identity__chip{display:inline-block;background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:999px;padding:2px var(--space-2);font-size:var(--fs-xs);color:var(--text-primary)}.hv-identity__member-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px;font-size:var(--fs-sm)}.hv-identity__error{color:var(--status-error);background:color-mix(in srgb,var(--status-error) 12%,transparent);border:1px solid color-mix(in srgb,var(--status-error) 30%,transparent);padding:var(--space-2) var(--space-3);border-radius:var(--radius-1);font-size:var(--fs-sm);margin:0}.hv-identity__message{color:var(--text-secondary);font-size:var(--fs-sm);margin:0}@media (max-width: 960px){.hv-identity__split{grid-template-columns:1fr}.hv-identity__detail{position:static}}.hv-license{display:flex;flex-direction:column;gap:var(--space-4)}.hv-license__models{display:grid;grid-template-columns:minmax(280px,380px) 1fr;gap:var(--space-4);align-items:start}@media (max-width: 900px){.hv-license__models{grid-template-columns:1fr}}.hv-license__master,.hv-license__detail,.hv-license__panel{background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-2)}.hv-license__master{display:flex;flex-direction:column;padding:var(--space-3);gap:var(--space-2);max-height:60vh;overflow:hidden}.hv-license__master-head{font-size:var(--fs-sm);font-weight:500;color:var(--text-secondary)}.hv-license__master-list{flex:1 1 auto;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.hv-license__list-item{display:flex;align-items:center;gap:var(--space-2);padding:8px 10px;border:1px solid transparent;border-radius:var(--radius-1);background:transparent;color:var(--text-primary);cursor:pointer;text-align:left;font-family:inherit}.hv-license__list-item:hover{background:var(--surface-elevated)}.hv-license__list-item--active{background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:var(--accent)}.hv-license__list-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.hv-license__list-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hv-license__list-meta{font-size:var(--fs-xs);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hv-license__badges{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:3px}.hv-license__detail{display:flex;flex-direction:column;min-height:320px}.hv-license__detail-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle)}.hv-license__detail-title{margin:0;font-size:var(--fs-lg);font-weight:500;color:var(--text-primary)}.hv-license__detail-body{flex:1 1 auto;padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.hv-license__detail-foot{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-subtle)}.hv-license__spacer{flex:1}.hv-license__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-3)}.hv-license__field{display:flex;flex-direction:column;gap:4px;min-width:0}.hv-license__field>label{font-size:var(--fs-xs);color:var(--text-secondary)}.hv-license__field input{width:100%;padding:6px var(--space-2);font-size:var(--fs-sm);font-family:inherit;color:var(--text-primary);background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-1);box-sizing:border-box}.hv-license__field input:disabled{color:var(--text-muted);background:var(--surface-base)}.hv-license__field input:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}.hv-license__hint{display:block;font-size:var(--fs-xs);color:var(--text-muted);line-height:1.35}.hv-license__check{display:flex;align-items:flex-start;gap:var(--space-2);font-size:var(--fs-sm);color:var(--text-primary)}.hv-license__check input{margin-top:3px}.hv-license__check>span{display:flex;flex-direction:column;gap:2px}.hv-license__error{margin:0;padding:var(--space-2) var(--space-3);font-size:var(--fs-sm);color:var(--status-error);background:color-mix(in srgb,var(--status-error) 10%,var(--surface-panel));border:1px solid color-mix(in srgb,var(--status-error) 40%,transparent);border-radius:var(--radius-1)}.hv-license__panel{padding:var(--space-3) var(--space-4)}.hv-license__panel-title{margin:0 0 var(--space-2);display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-md);font-weight:500;color:var(--text-primary)}.hv-license__panel-note{margin:0 0 var(--space-3);font-size:var(--fs-xs);color:var(--text-muted);line-height:1.45;max-width:80ch}.hv-license__search{margin-bottom:var(--space-2)}.hv-license__search input{width:100%;max-width:360px;padding:6px var(--space-3);font-size:var(--fs-sm);font-family:inherit;color:var(--text-primary);background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-1);box-sizing:border-box}.hv-license__table-scroll{overflow-x:auto}.hv-license__table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.hv-license__table th,.hv-license__table td{padding:6px var(--space-2);text-align:left;border-bottom:1px solid var(--border-subtle);vertical-align:top;white-space:nowrap}.hv-license__table th{font-size:var(--fs-xs);font-weight:500;color:var(--text-secondary);white-space:nowrap}.hv-license__table td a{color:var(--accent);text-decoration:none}.hv-license__table td a:hover{text-decoration:underline}.hv-license__table select{padding:4px var(--space-2);font-size:var(--fs-sm);font-family:inherit;color:var(--text-primary);background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-1);max-width:320px}.hv-license__num{text-align:right}.hv-license__over{color:var(--status-error)}.hv-license__muted{color:var(--text-muted);font-size:var(--fs-xs);white-space:normal}.hv-license__badge{display:inline-flex;align-items:center;padding:1px 8px;border-radius:999px;border:1px solid var(--border-subtle);background:var(--surface-elevated);color:var(--text-secondary);font-size:var(--fs-xs);font-weight:500;white-space:nowrap}.hv-license__badge--inactive{color:var(--text-muted);border-style:dashed}.hv-license__badge--ok{color:var(--status-ok);border-color:color-mix(in srgb,var(--status-ok) 45%,transparent);background:color-mix(in srgb,var(--status-ok) 12%,var(--surface-panel))}.hv-license__badge--warn{color:var(--status-warn);border-color:color-mix(in srgb,var(--status-warn) 45%,transparent);background:color-mix(in srgb,var(--status-warn) 12%,var(--surface-panel))}.hv-license__badge--muted{color:var(--text-muted)}.hv-license__empty{padding:var(--space-4);text-align:center;color:var(--text-muted);font-size:var(--fs-sm);line-height:1.5}.hv-license__empty code{font-family:var(--font-mono);font-size:var(--fs-xs)}.hv-report__banner{padding:var(--space-2) var(--space-3);border-radius:var(--radius-2);font-size:var(--fs-sm);line-height:1.5;margin-bottom:var(--space-3)}.hv-report__banner--warn{border:1px solid var(--status-warn);color:var(--text-primary);background:color-mix(in srgb,var(--status-warn) 12%,transparent)}.hv-report__banner--muted{border:1px solid var(--border-subtle);color:var(--text-secondary);background:var(--surface-elevated)}.hv-report__config{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-2) var(--space-4);margin:0 0 var(--space-3) 0}.hv-report__config dt{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.hv-report__config dd{margin:2px 0 0;font-size:var(--fs-sm);color:var(--text-primary);overflow-wrap:anywhere}.hv-report__config code{font-family:var(--font-mono);font-size:var(--fs-xs)}.hv-report__periods{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.hv-report__period{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-2);background:var(--surface-base);color:var(--text-primary);cursor:pointer;font:inherit}.hv-report__period:hover{background:var(--surface-elevated)}.hv-report__period--active{border-color:var(--accent);background:var(--surface-elevated)}.hv-report__period-key{font-family:var(--font-mono);font-size:var(--fs-sm)}.hv-report__snapshot{display:flex;flex-direction:column;gap:var(--space-2)}.hv-report__delivery{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;font-size:var(--fs-sm)}.hv-report__raw>summary{cursor:pointer;font-size:var(--fs-sm);color:var(--text-secondary);padding:var(--space-1) 0}.hv-report__raw pre{margin:0;padding:var(--space-2);max-height:320px;overflow:auto;border:1px solid var(--border-subtle);border-radius:var(--radius-2);background:var(--surface-elevated);font-family:var(--font-mono);font-size:var(--fs-xs);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.hv-momentary{display:flex;flex-direction:column;gap:6px;padding:var(--space-3);border-radius:var(--radius-2);background:var(--surface-panel);color:var(--text-primary);min-width:200px;transition:box-shadow .2s ease}.hv-momentary__label{font-size:var(--fs-sm);color:var(--text-secondary)}.hv-momentary__btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 var(--space-4);border:none;border-radius:var(--radius-2);background:var(--accent);color:var(--text-on-accent, #fff);font-weight:600;font-size:1rem;cursor:pointer;transition:background .15s ease,transform .05s ease,opacity .15s ease}.hv-momentary__btn:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 85%,black)}.hv-momentary__btn:active:not(:disabled){transform:scale(.98)}.hv-momentary__btn:disabled{cursor:progress;opacity:.7}.hv-momentary__caption{position:relative;z-index:1}.hv-momentary__spinner{width:16px;height:16px;border-radius:50%;border:2px solid color-mix(in srgb,var(--text-on-accent, #fff) 30%,transparent);border-top-color:var(--text-on-accent, #fff);animation:hv-momentary-spin .9s linear infinite}@keyframes hv-momentary-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hv-momentary__status{font-size:var(--fs-xs);color:var(--text-secondary);padding:2px 4px}.hv-momentary__status--rejected{color:var(--status-error, #d15c5c);font-weight:600}.hv-momentary--sending{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 55%,transparent)}.hv-momentary--rejected{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--status-error, #d15c5c) 65%,transparent)}.hv-toggle{display:flex;flex-direction:column;gap:6px;padding:var(--space-3);border-radius:var(--radius-2);background:var(--surface-panel);color:var(--text-primary);min-width:200px;transition:opacity .3s ease,box-shadow .2s ease}.hv-toggle--stale{opacity:.5}.hv-toggle__label{font-size:var(--fs-sm);color:var(--text-secondary)}.hv-toggle__row{display:inline-flex;gap:4px;padding:3px;background:var(--surface-elevated);border-radius:999px}.hv-toggle__side{flex:1 1 auto;height:34px;padding:0 var(--space-3);border:none;border-radius:999px;background:transparent;color:var(--text-primary);font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease,transform .05s ease}.hv-toggle__side:hover:not(:disabled){background:var(--surface-hover)}.hv-toggle__side:active:not(:disabled){transform:scale(.98)}.hv-toggle__side:disabled{cursor:not-allowed;opacity:.6}.hv-toggle__side--active{background:var(--accent);color:var(--text-on-accent, #fff)}.hv-toggle__pending{font-size:var(--fs-xs);color:var(--text-secondary);padding:2px 4px}.hv-toggle--sending{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 55%,transparent)}.hv-toggle--rejected{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--status-error, #d15c5c) 65%,transparent)}.hv-toggle--rejected .hv-toggle__pending{color:var(--status-error, #d15c5c)}.hv-enum{display:flex;flex-direction:column;gap:8px;padding:var(--space-3);border-radius:var(--radius-2);background:var(--surface-panel);color:var(--text-primary);min-width:220px;transition:opacity .3s ease,box-shadow .2s ease}.hv-enum--stale{opacity:.5}.hv-enum__label{font-size:var(--fs-sm);color:var(--text-secondary)}.hv-enum__segmented{display:inline-flex;gap:2px;padding:2px;background:var(--surface-elevated);border-radius:var(--radius-1)}.hv-enum__seg{flex:1 1 auto;min-width:60px;height:30px;padding:0 var(--space-2);border:none;border-radius:var(--radius-1);background:transparent;color:var(--text-primary);font-size:var(--fs-sm);font-weight:500;cursor:pointer;transition:background .15s ease,color .15s ease}.hv-enum__seg:hover:not(:disabled){background:var(--surface-hover)}.hv-enum__seg:disabled{cursor:not-allowed;opacity:.6}.hv-enum__seg--active{background:var(--accent);color:var(--text-on-accent, #fff)}.hv-enum__tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:6px}.hv-enum__tile{height:60px;padding:0 var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-1);background:var(--surface-elevated);color:var(--text-primary);font-size:var(--fs-sm);font-weight:500;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.hv-enum__tile:hover:not(:disabled){background:var(--surface-hover)}.hv-enum__tile:disabled{cursor:not-allowed;opacity:.6}.hv-enum__tile--active{background:var(--accent);color:var(--text-on-accent, #fff);border-color:var(--accent)}.hv-enum__dropdown{padding:6px 8px;font-size:var(--fs-sm);color:var(--text-primary);background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-1)}.hv-enum__pending{font-size:var(--fs-xs);color:var(--text-secondary)}.hv-enum--sending{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 55%,transparent)}.hv-enum--rejected{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--status-error, #d15c5c) 65%,transparent)}.hv-enum--rejected .hv-enum__pending{color:var(--status-error, #d15c5c)}.hv-stepper{display:flex;flex-direction:column;gap:8px;padding:var(--space-3);border-radius:var(--radius-2);background:var(--surface-panel);color:var(--text-primary);min-width:260px;transition:opacity .3s ease,box-shadow .2s ease}.hv-stepper--stale{opacity:.5}.hv-stepper__label{font-size:var(--fs-sm);color:var(--text-secondary)}.hv-stepper__row{display:grid;grid-template-columns:52px 1fr 52px;gap:var(--space-2);align-items:center}.hv-stepper__btn{height:52px;border:1px solid var(--border-subtle);border-radius:var(--radius-2);background:var(--surface-elevated);color:var(--text-primary);font-size:1.8rem;font-weight:600;line-height:1;cursor:pointer;transition:background .15s ease,transform .05s ease}.hv-stepper__btn:hover:not(:disabled){background:var(--surface-hover)}.hv-stepper__btn:active:not(:disabled){transform:scale(.96)}.hv-stepper__btn:disabled{cursor:not-allowed;opacity:.4}.hv-stepper__readout{display:flex;align-items:baseline;justify-content:center;gap:6px;padding:0 var(--space-2);font-variant-numeric:tabular-nums}.hv-stepper__value{font-size:2rem;font-weight:600;color:var(--text-primary)}.hv-stepper__unit{font-size:1rem;color:var(--text-secondary)}.hv-stepper__meta{display:flex;justify-content:space-between;font-size:var(--fs-xs);color:var(--text-secondary)}.hv-stepper__pending--sending{color:var(--accent)}.hv-stepper__pending--rejected{color:var(--status-error, #d15c5c);font-weight:600}.hv-stepper--sending{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 55%,transparent)}.hv-stepper--rejected{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--status-error, #d15c5c) 65%,transparent)}.hv-slider{display:flex;flex-direction:column;gap:8px;padding:var(--space-3);border-radius:var(--radius-2);background:var(--surface-panel);color:var(--text-primary);min-width:260px;transition:opacity .3s ease,box-shadow .2s ease}.hv-slider--stale{opacity:.5}.hv-slider__label{font-size:var(--fs-sm);color:var(--text-secondary)}.hv-slider__readout{display:flex;align-items:baseline;justify-content:center;gap:6px;font-variant-numeric:tabular-nums}.hv-slider__value{font-size:2rem;font-weight:600;color:var(--text-primary)}.hv-slider__unit{font-size:1rem;color:var(--text-secondary)}.hv-slider__track-wrap{position:relative;padding:6px 0}.hv-slider__input{width:100%;accent-color:var(--accent);cursor:pointer}.hv-slider__feedback-marker{position:absolute;top:0;bottom:0;width:2px;background:var(--text-secondary);transform:translate(-1px);pointer-events:none;opacity:.7}.hv-slider__meta{display:flex;justify-content:space-between;gap:8px;font-size:var(--fs-xs);color:var(--text-secondary)}.hv-slider__pending--sending{color:var(--accent)}.hv-slider__pending--rejected{color:var(--status-error, #d15c5c);font-weight:600}.hv-slider--sending{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 55%,transparent)}.hv-slider--rejected{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--status-error, #d15c5c) 65%,transparent)}.hv-lockguard{display:flex;flex-direction:column;gap:8px;padding:var(--space-3);border-radius:var(--radius-2);background:var(--surface-panel);color:var(--text-primary);min-width:260px;transition:opacity .3s ease,box-shadow .2s ease}.hv-lockguard--stale{opacity:.5}.hv-lockguard__label{font-size:var(--fs-sm);color:var(--text-secondary)}.hv-lockguard__banner{padding:var(--space-2) var(--space-3);border-radius:var(--radius-2);background:color-mix(in srgb,var(--status-error, #d15c5c) 20%,var(--surface-panel));border:1px solid color-mix(in srgb,var(--status-error, #d15c5c) 55%,transparent);color:var(--status-error, #d15c5c);font-weight:600;font-size:var(--fs-sm);text-align:center;animation:hv-lockguard-pulse 1.2s ease-in-out infinite}@keyframes hv-lockguard-pulse{0%,to{opacity:1}50%{opacity:.72}}.hv-lockguard__row{display:inline-flex;gap:4px;padding:3px;background:var(--surface-elevated);border-radius:999px}.hv-lockguard__side{flex:1 1 auto;height:40px;padding:0 var(--space-4);border:none;border-radius:999px;background:transparent;color:var(--text-primary);font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease,transform .05s ease}.hv-lockguard__side:hover:not(:disabled){background:var(--surface-hover)}.hv-lockguard__side:active:not(:disabled){transform:scale(.98)}.hv-lockguard__side:disabled{cursor:not-allowed;opacity:.5}.hv-lockguard__side--active{background:var(--accent);color:var(--text-on-accent, #fff)}.hv-lockguard__side--arm.hv-lockguard__side--active{background:var(--status-error, #d15c5c)}.hv-lockguard__status{font-size:var(--fs-xs);color:var(--text-secondary);padding:2px 4px}.hv-lockguard__status--rejected{color:var(--status-error, #d15c5c);font-weight:600}.hv-lockguard--sending{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 55%,transparent)}.hv-lockguard--rejected{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--status-error, #d15c5c) 65%,transparent)}.hv-lockguard--armed{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--status-error, #d15c5c) 45%,transparent)}.hv-gauge{display:flex;flex-direction:column;align-items:center;padding:var(--space-3);border-radius:var(--radius-2);background:var(--surface-panel);color:var(--text-primary);min-width:180px;gap:4px;transition:opacity .3s ease}.hv-gauge--stale{opacity:.5}.hv-gauge__svg{width:100%;max-width:200px;height:auto}.hv-gauge__track{stroke:color-mix(in srgb,var(--text-muted) 30%,transparent)}.hv-gauge__zone--ok{stroke:color-mix(in srgb,var(--status-ok, #62c26e) 55%,transparent)}.hv-gauge__zone--warn{stroke:color-mix(in srgb,var(--status-warn, #d0a24c) 65%,transparent)}.hv-gauge__zone--alarm{stroke:color-mix(in srgb,var(--status-alert, #d15c5c) 65%,transparent)}.hv-gauge__value{stroke:var(--accent, #3b82f6);transition:d .35s ease-out}.hv-gauge__setpoint{stroke:var(--text-primary)}.hv-gauge__readout{display:flex;align-items:baseline;gap:4px;margin-top:-12px;font-variant-numeric:tabular-nums}.hv-gauge__readout--bar{margin-top:4px}.hv-gauge__value-text{font-size:1.75rem;font-weight:600;color:var(--text-primary)}.hv-gauge__unit{font-size:.9rem;color:var(--text-secondary)}.hv-gauge__label{font-size:var(--fs-sm);color:var(--text-secondary);text-align:center}.hv-gauge--bar{min-width:260px}.hv-gauge__bar-track{position:relative;width:100%;height:12px;border-radius:6px;background:color-mix(in srgb,var(--text-muted) 25%,transparent);overflow:hidden}.hv-gauge__bar-zone{position:absolute;top:0;bottom:0}.hv-gauge__bar-zone--ok{background:color-mix(in srgb,var(--status-ok, #62c26e) 45%,transparent)}.hv-gauge__bar-zone--warn{background:color-mix(in srgb,var(--status-warn, #d0a24c) 55%,transparent)}.hv-gauge__bar-zone--alarm{background:color-mix(in srgb,var(--status-alert, #d15c5c) 55%,transparent)}.hv-gauge__bar-fill{position:absolute;left:0;top:0;bottom:0;background:var(--accent, #3b82f6);border-radius:6px;transition:width .3s ease-out}.hv-gauge__bar-setpoint{position:absolute;top:-3px;bottom:-3px;width:2px;transform:translate(-1px);background:var(--text-primary);border-radius:1px}.hv-rolling{display:flex;flex-direction:column;gap:6px;padding:var(--space-3);border-radius:var(--radius-2);background:var(--surface-panel);color:var(--text-primary);min-width:220px;transition:opacity .3s ease}.hv-rolling--stale{opacity:.5}.hv-rolling__label{font-size:var(--fs-sm);color:var(--text-secondary)}.hv-rolling__row{display:flex;align-items:baseline;gap:8px}.hv-rolling__digits{font-family:var(--font-mono, monospace);font-size:2.25rem;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums;letter-spacing:.02em;white-space:pre}.hv-rolling__unit{font-size:1rem;color:var(--text-secondary)}.hv-led{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:var(--surface-panel);color:var(--text-primary);font-size:var(--fs-sm);transition:opacity .3s ease}.hv-led--stale{opacity:.5}.hv-led__dot{display:inline-block;width:14px;height:14px;border-radius:50%;border:2px solid currentColor;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}.hv-led__label{font-weight:600}.hv-led__caption{color:var(--text-secondary);font-size:var(--fs-xs);margin-left:8px;padding-left:8px;border-left:1px solid var(--border-subtle)}.hv-alarm-ind{display:inline-flex;align-items:center;gap:var(--space-2);padding:6px 12px;border-radius:999px;border:1px solid var(--border-subtle);background:var(--surface-elevated);font-size:var(--fs-sm);font-weight:600;color:var(--text-primary);min-height:32px}.hv-alarm-ind--ok{border-color:color-mix(in oklab,var(--status-ok) 25%,var(--border-subtle))}.hv-alarm-ind--warn{border-color:var(--status-warn);background:color-mix(in oklab,var(--status-warn) 10%,var(--surface-elevated))}.hv-alarm-ind--alarm{border-color:var(--status-error);background:color-mix(in oklab,var(--status-error) 15%,var(--surface-elevated))}.hv-alarm-ind__dot{width:10px;height:10px;border-radius:50%;flex:0 0 auto}.hv-alarm-ind__dot--ok{background:var(--status-ok)}.hv-alarm-ind__dot--warn{background:var(--status-warn);animation:hv-alarm-pulse 1.6s ease-in-out infinite}.hv-alarm-ind__dot--alarm{background:var(--status-error);animation:hv-alarm-pulse .9s ease-in-out infinite}@keyframes hv-alarm-pulse{0%,to{box-shadow:0 0 0 0 currentColor;opacity:1}50%{box-shadow:0 0 0 4px transparent;opacity:.75}}.hv-alarm-ind__label{flex:1 1 auto}.hv-alarm-ind__count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:22px;padding:0 6px;border-radius:999px;font-size:var(--fs-xs);font-weight:700;background:color-mix(in oklab,currentColor 15%,transparent)}.hv-alarm-ind__count--ok{color:var(--status-ok)}.hv-alarm-ind__count--warn{color:var(--status-warn)}.hv-alarm-ind__count--alarm{color:var(--status-error)}.hv-sparkline{position:relative;display:block;width:100%;min-width:120px;height:60px;padding:2px;border-radius:var(--radius-1);background:var(--surface-panel);color:var(--text-primary);transition:opacity .3s ease;overflow:hidden}.hv-sparkline--stale{opacity:.5}.hv-sparkline__svg{display:block;width:100%;height:100%}.hv-sparkline__line{stroke-width:1.5;fill:none;vector-effect:non-scaling-stroke}.hv-sparkline--tone-ok .hv-sparkline__line{stroke:var(--accent, #3b82f6)}.hv-sparkline--tone-warn .hv-sparkline__line{stroke:var(--status-warn, #d0a24c)}.hv-sparkline--tone-alarm .hv-sparkline__line{stroke:var(--status-alert, #d15c5c)}.hv-sparkline__zone--warn{fill:color-mix(in srgb,var(--status-warn, #d0a24c) 22%,transparent)}.hv-sparkline__zone--alarm{fill:color-mix(in srgb,var(--status-alert, #d15c5c) 22%,transparent)}.hv-sparkline__empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:var(--fs-sm);color:var(--text-muted);pointer-events:none}.hv-sparkline__overlay{position:absolute;right:6px;bottom:3px;font-family:var(--font-mono, ui-monospace, "Cascadia Mono", Consolas, monospace);font-size:.72rem;opacity:.6;color:var(--text-primary);pointer-events:none;font-variant-numeric:tabular-nums}.hv-sparkline__value{padding:0 3px;background:color-mix(in srgb,var(--surface-panel) 70%,transparent);border-radius:2px}.hv-trend{display:flex;flex-direction:column;gap:6px;padding:var(--space-3);border-radius:var(--radius-2);background:var(--surface-panel);color:var(--text-primary);min-width:320px;min-height:260px;height:100%}.hv-trend__header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.hv-trend__label{font-size:var(--fs-sm);color:var(--text-secondary);font-weight:500}.hv-trend__ranges{position:relative;display:flex;gap:4px;flex-wrap:wrap}.hv-trend__chip{padding:3px 10px;border:1px solid color-mix(in srgb,var(--text-muted) 30%,transparent);border-radius:999px;background:transparent;color:var(--text-secondary);font-size:.78rem;cursor:pointer;line-height:1.4;font-variant-numeric:tabular-nums}.hv-trend__chip:hover{border-color:color-mix(in srgb,var(--accent, #3b82f6) 50%,transparent);color:var(--text-primary)}.hv-trend__chip--active{background:var(--accent, #3b82f6);border-color:var(--accent, #3b82f6);color:#fff}.hv-trend__chip--custom{min-width:42px;text-align:center}.hv-trend__popover{position:absolute;right:0;top:calc(100% + 6px);z-index:20;display:grid;grid-template-columns:1fr;gap:8px;padding:12px;border-radius:var(--radius-2);background:var(--surface-elevated, var(--surface-panel));border:1px solid color-mix(in srgb,var(--text-muted) 25%,transparent);box-shadow:0 8px 24px #0000002e;min-width:220px}.hv-trend__popover-field{display:flex;flex-direction:column;gap:2px;font-size:.72rem;color:var(--text-secondary)}.hv-trend__popover-field input{padding:4px 6px;border-radius:var(--radius-1);border:1px solid color-mix(in srgb,var(--text-muted) 35%,transparent);background:var(--surface-panel);color:var(--text-primary);font-size:.85rem}.hv-trend__popover-actions{display:flex;justify-content:flex-end;gap:6px}.hv-trend__btn{padding:4px 10px;border-radius:var(--radius-1);border:1px solid color-mix(in srgb,var(--text-muted) 30%,transparent);background:transparent;color:var(--text-primary);font-size:.78rem;cursor:pointer}.hv-trend__btn--primary{background:var(--accent, #3b82f6);border-color:var(--accent, #3b82f6);color:#fff}.hv-trend__chart-wrap{position:relative;flex:1 1 auto;min-height:180px}.hv-trend__chart{position:absolute;inset:0}.hv-trend__empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:var(--fs-sm);pointer-events:none}.hv-trend__legend{display:flex;flex-wrap:wrap;gap:10px 14px;font-size:.78rem;color:var(--text-secondary)}.hv-trend__legend-item{display:inline-flex;align-items:center;gap:6px}.hv-trend__swatch{display:inline-block;width:10px;height:10px;border-radius:2px}.hv-schematic{position:relative;display:flex;flex-direction:column;padding:var(--space-3);border-radius:var(--radius-2);background:var(--surface-panel);color:var(--text-primary);min-height:200px;gap:4px;transition:opacity .3s ease}.hv-schematic--stale{opacity:.5}.hv-schematic__svg{position:relative;width:100%;height:100%;flex:1 1 auto;min-height:160px;overflow:hidden}.hv-schematic__svg>svg{width:100%;height:100%;display:block}.hv-schematic__svg--dim>svg{opacity:.3;filter:grayscale(.7)}.hv-schematic__stale-badge{position:absolute;top:8px;right:8px;padding:2px 8px;border-radius:999px;background:var(--status-warn, #d0a24c);color:#fff;font-size:var(--fs-xs, .75rem);font-weight:600;letter-spacing:.02em;pointer-events:none}.hv-schematic__label{font-size:var(--fs-sm);color:var(--text-secondary);text-align:center}.hv-schematic--error{align-items:center;justify-content:center;text-align:center;gap:6px;background:color-mix(in srgb,var(--status-alert, #d15c5c) 15%,var(--surface-panel));border:1px dashed color-mix(in srgb,var(--status-alert, #d15c5c) 50%,transparent);color:var(--text-primary)}.hv-schematic--error strong{font-size:var(--fs-md, 1rem)}.hv-schematic--error span{font-size:var(--fs-sm, .85rem);color:var(--text-secondary)}.hv-schematic--novalues{position:relative}.hv-schematic__novalues-tile{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 16px;border-radius:var(--radius-2);background:color-mix(in srgb,var(--status-alert, #d15c5c) 20%,var(--surface-panel));border:1px solid color-mix(in srgb,var(--status-alert, #d15c5c) 60%,transparent);color:var(--text-primary);text-align:center;pointer-events:none}.hv-schematic__novalues-tile strong{font-size:var(--fs-md, 1rem)}.hv-schematic__novalues-tile span{font-size:var(--fs-sm, .85rem);color:var(--text-secondary)}@keyframes hv-schematic-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hv-energy-flow{display:flex;flex-direction:column;gap:8px;padding:var(--space-3);border-radius:var(--radius-2);background:var(--surface-panel);color:var(--text-primary);min-width:320px;height:320px;max-height:100%}.hv-energy-flow__head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.hv-energy-flow__label{font-size:var(--fs-sm);color:var(--text-secondary);font-weight:500}.hv-energy-flow__total{display:inline-flex;align-items:baseline;gap:4px;margin-inline-start:auto}.hv-energy-flow__total-value{font-size:1.5rem;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.hv-energy-flow__total-unit{font-size:.85rem;color:var(--text-secondary)}.hv-energy-flow__cop{display:inline-flex;flex-direction:column;align-items:flex-end;padding:4px 10px;border-radius:var(--radius-2);border:1px solid transparent;line-height:1.1}.hv-energy-flow__cop-value{font-size:1.35rem;font-weight:700;font-variant-numeric:tabular-nums}.hv-energy-flow__cop-label{font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}.hv-energy-flow__cop--good{background:color-mix(in oklab,var(--status-ok, #22c55e) 15%,transparent);border-color:color-mix(in oklab,var(--status-ok, #22c55e) 45%,transparent);color:var(--status-ok, #22c55e)}.hv-energy-flow__cop--warn{background:color-mix(in oklab,var(--status-warn, #f59e0b) 15%,transparent);border-color:color-mix(in oklab,var(--status-warn, #f59e0b) 45%,transparent);color:var(--status-warn, #f59e0b)}.hv-energy-flow__cop--poor{background:color-mix(in oklab,var(--text-muted, #888) 15%,transparent);border-color:color-mix(in oklab,var(--text-muted, #888) 40%,transparent);color:var(--text-secondary)}.hv-energy-flow__cop--none{display:none}.hv-energy-flow__chart-wrap{position:relative;flex:1 1 auto;min-height:180px}.hv-energy-flow__chart{position:absolute;inset:0}.hv-energy-flow__empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--text-muted, #888);font-size:var(--fs-sm);pointer-events:none;font-style:italic}.hv-sched{display:flex;flex-direction:column;gap:8px;padding:var(--space-3);border-radius:var(--radius-2);background:var(--surface-panel);color:var(--text-primary);min-width:480px;max-height:420px;overflow:hidden}.hv-sched>*:not(.hv-sched__head):not(.hv-sched__legend):not(.hv-sched__notice){min-height:0;overflow:auto;flex:1 1 auto}.hv-sched--readonly{opacity:.9}.hv-sched__head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.hv-sched__label{font-size:var(--fs-sm);color:var(--text-secondary);font-weight:500}.hv-sched__chips{display:inline-flex;gap:6px;flex-wrap:wrap}.hv-sched__chip{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.02em}.hv-sched__chip--holiday{background:color-mix(in oklab,var(--accent, #3b82f6) 18%,transparent);color:var(--accent, #3b82f6)}.hv-sched__chip--warn{background:color-mix(in oklab,var(--status-warn, #f59e0b) 20%,transparent);color:var(--status-warn, #f59e0b)}.hv-sched__chip--pending{background:color-mix(in oklab,var(--accent, #3b82f6) 15%,transparent);color:var(--accent, #3b82f6)}.hv-sched__chip--rejected{background:color-mix(in oklab,var(--status-error, #ef4444) 20%,transparent);color:var(--status-error, #ef4444)}.hv-sched__grid{display:grid;grid-template-columns:52px repeat(7,1fr);border:1px solid var(--border-subtle, rgba(255, 255, 255, .08));border-radius:var(--radius-1);overflow:hidden;user-select:none}.hv-sched__corner,.hv-sched__day-header{background:color-mix(in oklab,var(--surface-elevated, var(--surface-panel)) 80%,transparent);padding:4px 0;text-align:center;font-size:.72rem;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border-subtle, rgba(255, 255, 255, .08))}.hv-sched__hour-header{background:color-mix(in oklab,var(--surface-elevated, var(--surface-panel)) 60%,transparent);padding:4px 6px;text-align:right;font-size:.68rem;font-variant-numeric:tabular-nums;color:var(--text-secondary);border-right:1px solid var(--border-subtle, rgba(255, 255, 255, .08));border-top:1px solid var(--border-subtle, rgba(255, 255, 255, .08))}.hv-sched__day-col{display:flex;flex-direction:column;border-right:1px solid var(--border-subtle, rgba(255, 255, 255, .06));border-top:1px solid var(--border-subtle, rgba(255, 255, 255, .08))}.hv-sched__day-col:last-child{border-right:none}.hv-sched__cell{flex:1 1 auto;min-height:6px;background:var(--surface-base, transparent);transition:background 80ms ease}.hv-sched__cell+.hv-sched__cell{border-top:1px dotted color-mix(in srgb,var(--text-muted, #888) 15%,transparent)}.hv-sched__cell--comfort{background:color-mix(in oklab,var(--accent, #3b82f6) 55%,transparent)}.hv-sched__cell--reduced{background:color-mix(in oklab,var(--status-warn, #f59e0b) 35%,transparent)}.hv-sched__cell--off,.hv-sched__cell--empty{background:transparent}.hv-sched__cell--preview{outline:1px dashed var(--accent, #3b82f6);outline-offset:-1px}.hv-sched__cell--readonly{cursor:default;filter:saturate(.6)}.hv-sched__legend{display:flex;flex-wrap:wrap;gap:10px 14px;font-size:.75rem;color:var(--text-secondary)}.hv-sched__legend-item{display:inline-flex;align-items:center;gap:6px}.hv-sched__swatch{display:inline-block;width:12px;height:12px;border-radius:3px;border:1px solid color-mix(in srgb,var(--text-muted, #888) 25%,transparent)}.hv-sched__swatch--comfort{background:color-mix(in oklab,var(--accent, #3b82f6) 55%,transparent)}.hv-sched__swatch--reduced{background:color-mix(in oklab,var(--status-warn, #f59e0b) 35%,transparent)}.hv-sched__swatch--off{background:transparent}.hv-cascade{display:flex;flex-direction:column;gap:8px;padding:var(--space-3);border-radius:var(--radius-2);background:var(--surface-panel);color:var(--text-primary);min-width:320px}.hv-cascade__label{font-size:var(--fs-sm);color:var(--text-secondary);font-weight:500}.hv-cascade__rows{display:flex;flex-direction:column;gap:6px}.hv-cascade__row{display:grid;grid-template-columns:minmax(88px,20%) auto 1fr auto;align-items:center;gap:12px;padding:8px 10px;border-radius:var(--radius-1);background:color-mix(in oklab,var(--surface-elevated, var(--surface-panel)) 55%,transparent);border:1px solid var(--border-subtle, rgba(255, 255, 255, .06));transition:opacity .12s ease}.hv-cascade__row--stale{opacity:.55}.hv-cascade__label-col{font-weight:600;font-size:.9rem;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hv-cascade__status-col{display:flex;align-items:center}.hv-cascade__pill{display:inline-flex;align-items:center;padding:3px 12px;border-radius:999px;font-size:.75rem;font-weight:600;letter-spacing:.02em;border:1px solid transparent;white-space:nowrap}.hv-cascade__pill--off{background:color-mix(in oklab,var(--text-muted, #888) 18%,transparent);border-color:color-mix(in oklab,var(--text-muted, #888) 30%,transparent);color:var(--text-secondary)}.hv-cascade__pill--released{background:color-mix(in oklab,var(--status-warn, #f59e0b) 20%,transparent);border-color:color-mix(in oklab,var(--status-warn, #f59e0b) 45%,transparent);color:var(--status-warn, #f59e0b)}.hv-cascade__pill--running{background:color-mix(in oklab,var(--status-ok, #22c55e) 22%,transparent);border-color:color-mix(in oklab,var(--status-ok, #22c55e) 50%,transparent);color:var(--status-ok, #22c55e)}.hv-cascade__pill--unknown{background:color-mix(in oklab,var(--text-muted, #888) 12%,transparent);color:var(--text-muted, #888)}.hv-cascade__load-col{display:flex;align-items:center;min-width:120px}.hv-cascade__load-bar{position:relative;width:100%;height:18px;border-radius:var(--radius-1);background:color-mix(in srgb,var(--text-muted, #888) 15%,transparent);overflow:hidden}.hv-cascade__load-fill{display:block;position:absolute;inset:0 auto 0 0;width:0%;background:linear-gradient(90deg,color-mix(in oklab,var(--accent, #3b82f6) 65%,transparent),color-mix(in oklab,var(--accent, #3b82f6) 85%,transparent));transition:width .2s ease}.hv-cascade__load-text{position:relative;z-index:1;display:block;padding:0 8px;font-size:.7rem;font-weight:600;color:var(--text-primary);line-height:18px;font-variant-numeric:tabular-nums;text-shadow:0 0 4px color-mix(in srgb,var(--surface-panel) 60%,transparent)}.hv-cascade__load-empty{font-size:.75rem;color:var(--text-muted, #888)}.hv-cascade__runtime-col{font-size:.72rem;color:var(--text-secondary);padding:2px 8px;border-radius:var(--radius-1);background:color-mix(in oklab,var(--surface-base, transparent) 60%,transparent);font-variant-numeric:tabular-nums;white-space:nowrap}.hv-cascade__legend{display:flex;flex-wrap:wrap;gap:10px 18px;padding-top:6px;border-top:1px dashed var(--border-subtle, rgba(255, 255, 255, .08));font-size:.72rem;color:var(--text-secondary)}.hv-cascade__legend-item{display:inline-flex;align-items:center;gap:6px}.hv-cascade__legend-hint{color:var(--text-muted, #888)}.hv-hc-tile{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-2);background:var(--surface-elevated);min-width:220px;container-type:inline-size}.hv-hc-tile--stale{opacity:.55}.hv-hc-tile__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2)}.hv-hc-tile__name{font-weight:600;font-size:var(--fs-md);color:var(--text-primary)}.hv-hc-tile__label{font-size:var(--fs-sm);color:var(--text-secondary);margin-top:2px}.hv-hc-tile__mode{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:var(--fs-xs);font-weight:600;letter-spacing:.02em;white-space:nowrap}.hv-hc-tile__mode--comfort{background:color-mix(in oklab,var(--status-ok) 20%,transparent);color:var(--status-ok)}.hv-hc-tile__mode--reduced{background:color-mix(in oklab,var(--status-warn) 25%,transparent);color:var(--status-warn)}.hv-hc-tile__mode--off{background:color-mix(in oklab,var(--text-muted) 20%,transparent);color:var(--text-muted)}.hv-hc-tile__mode--unknown{background:color-mix(in oklab,var(--text-muted) 15%,transparent);color:var(--text-secondary)}.hv-hc-tile__body{display:grid;grid-template-columns:1fr auto;gap:var(--space-3);align-items:center}@container (max-width: 260px){.hv-hc-tile__body{grid-template-columns:1fr}}.hv-hc-tile__hero{display:flex;flex-direction:column}.hv-hc-tile__hero-value{font-size:2rem;font-weight:700;line-height:1;color:var(--text-primary)}.hv-hc-tile__hero-value span{font-size:.6em;font-weight:500;color:var(--text-secondary);margin-left:2px}.hv-hc-tile__hero-label{font-size:var(--fs-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-top:2px}.hv-hc-tile__setpoint{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;gap:var(--space-1);min-width:132px}.hv-hc-tile__step{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-1);border:1px solid var(--border-subtle);background:var(--surface-base);color:var(--text-primary);font-size:1.25rem;line-height:1;cursor:pointer;transition:background .1s,border-color .1s}.hv-hc-tile__step:hover:not(:disabled){border-color:var(--accent);background:color-mix(in oklab,var(--accent) 8%,var(--surface-base))}.hv-hc-tile__step:disabled{opacity:.5;cursor:default}.hv-hc-tile__setpoint-value{display:flex;align-items:baseline;justify-content:center;gap:2px;min-width:52px;padding:0 4px}.hv-hc-tile__setpoint-num{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.hv-hc-tile__setpoint-unit{font-size:.75rem;color:var(--text-secondary)}.hv-hc-tile__pending{color:var(--accent);font-size:.85em;margin-left:2px}.hv-hc-tile__rejected{color:var(--status-error);font-size:.85em;margin-left:2px}.hv-hc-tile__foot{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-3);padding-top:var(--space-2);border-top:1px dashed var(--border-subtle)}.hv-hc-tile__stat{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-xs)}.hv-hc-tile__stat--muted{opacity:.7}.hv-hc-tile__stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.hv-hc-tile__stat-value{color:var(--text-primary);font-weight:600}.hv-hc-tile__pump-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.hv-hc-tile__pump-dot--ok{background:var(--status-ok)}.hv-hc-tile__pump-dot--off{background:var(--text-muted);opacity:.55}.hv-hc-tile__pump-dot--unknown{background:var(--text-muted);opacity:.35}.hv-hp-kpi{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-2);background:var(--surface-elevated);min-width:220px;container-type:inline-size}.hv-hp-kpi--stale{opacity:.55}.hv-hp-kpi__head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-2)}.hv-hp-kpi__title{min-width:0}.hv-hp-kpi__name{font-weight:600;font-size:var(--fs-md);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hv-hp-kpi__label{font-size:var(--fs-sm);color:var(--text-secondary);margin-top:2px}.hv-hp-kpi__state{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:var(--fs-xs);font-weight:600;letter-spacing:.02em;white-space:nowrap}.hv-hp-kpi__state--ok{background:color-mix(in oklab,var(--status-ok) 22%,transparent);color:var(--status-ok)}.hv-hp-kpi__state--warn{background:color-mix(in oklab,var(--status-warn) 25%,transparent);color:var(--status-warn)}.hv-hp-kpi__state--error{background:color-mix(in oklab,var(--status-error) 25%,transparent);color:var(--status-error)}.hv-hp-kpi__state--muted{background:color-mix(in oklab,var(--text-muted) 20%,transparent);color:var(--text-secondary)}.hv-hp-kpi__state--off{background:color-mix(in oklab,var(--text-muted) 20%,transparent);color:var(--text-muted)}.hv-hp-kpi__state--unknown{background:color-mix(in oklab,var(--text-muted) 15%,transparent);color:var(--text-secondary)}.hv-hp-kpi__cop{display:flex;flex-direction:column;align-items:flex-end;line-height:1}.hv-hp-kpi__cop-num{font-size:1.5rem;font-weight:700}.hv-hp-kpi__cop-label{font-size:var(--fs-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-top:2px}.hv-hp-kpi__cop--good .hv-hp-kpi__cop-num{color:var(--status-ok)}.hv-hp-kpi__cop--warn .hv-hp-kpi__cop-num{color:var(--status-warn)}.hv-hp-kpi__cop--muted .hv-hp-kpi__cop-num{color:var(--text-secondary)}.hv-hp-kpi__cop--unknown .hv-hp-kpi__cop-num{color:var(--text-muted)}.hv-hp-kpi__body{display:grid;grid-template-columns:1fr auto;gap:var(--space-3);align-items:end}@container (max-width: 260px){.hv-hp-kpi__body{grid-template-columns:1fr}}.hv-hp-kpi__hero{display:flex;flex-direction:column}.hv-hp-kpi__hero-value{font-size:2rem;font-weight:700;line-height:1;color:var(--text-primary)}.hv-hp-kpi__hero-value span{font-size:.6em;font-weight:500;color:var(--text-secondary);margin-left:4px}.hv-hp-kpi__hero-label{font-size:var(--fs-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-top:4px}.hv-hp-kpi__hero--secondary .hv-hp-kpi__hero-value{font-size:1.25rem;color:var(--text-secondary)}.hv-hp-kpi__foot{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-3);padding-top:var(--space-2);border-top:1px dashed var(--border-subtle)}.hv-hp-kpi__stat{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-xs)}.hv-hp-kpi__stat--muted{opacity:.7}.hv-hp-kpi__stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.hv-hp-kpi__stat-value{color:var(--text-primary);font-weight:600}.hv-hw-tile{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-2);background:var(--surface-elevated);min-width:220px;container-type:inline-size}.hv-hw-tile--stale{opacity:.55}.hv-hw-tile__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2)}.hv-hw-tile__title{min-width:0}.hv-hw-tile__name{font-weight:600;font-size:var(--fs-md);color:var(--text-primary)}.hv-hw-tile__label{font-size:var(--fs-sm);color:var(--text-secondary);margin-top:2px}.hv-hw-tile__state{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:var(--fs-xs);font-weight:600;letter-spacing:.02em;white-space:nowrap}.hv-hw-tile__state--idle{background:color-mix(in oklab,var(--text-muted) 20%,transparent);color:var(--text-secondary)}.hv-hw-tile__state--charging{background:color-mix(in oklab,var(--status-ok) 22%,transparent);color:var(--status-ok)}.hv-hw-tile__state--legionella{background:color-mix(in oklab,var(--status-warn) 25%,transparent);color:var(--status-warn)}.hv-hw-tile__state--fault{background:color-mix(in oklab,var(--status-error) 25%,transparent);color:var(--status-error)}.hv-hw-tile__state--unknown{background:color-mix(in oklab,var(--text-muted) 15%,transparent);color:var(--text-secondary)}.hv-hw-tile__body{display:grid;grid-template-columns:1fr auto;gap:var(--space-3);align-items:center}@container (max-width: 260px){.hv-hw-tile__body{grid-template-columns:1fr}.hv-hw-tile__strat{justify-self:start}}.hv-hw-tile__left{display:flex;flex-direction:column;gap:var(--space-3)}.hv-hw-tile__hero{display:flex;flex-direction:column}.hv-hw-tile__hero-value{font-size:2rem;font-weight:700;line-height:1;color:var(--text-primary)}.hv-hw-tile__hero-value span{font-size:.6em;font-weight:500;color:var(--text-secondary);margin-left:2px}.hv-hw-tile__hero-label{font-size:var(--fs-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-top:2px}.hv-hw-tile__setpoint{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;gap:var(--space-1);min-width:132px;max-width:180px}.hv-hw-tile__step{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-1);border:1px solid var(--border-subtle);background:var(--surface-base);color:var(--text-primary);font-size:1.25rem;line-height:1;cursor:pointer;transition:background .1s,border-color .1s}.hv-hw-tile__step:hover:not(:disabled){border-color:var(--accent);background:color-mix(in oklab,var(--accent) 8%,var(--surface-base))}.hv-hw-tile__step:disabled{opacity:.5;cursor:default}.hv-hw-tile__setpoint-value{display:flex;align-items:baseline;justify-content:center;gap:2px;padding:0 4px}.hv-hw-tile__setpoint-num{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.hv-hw-tile__setpoint-unit{font-size:.75rem;color:var(--text-secondary)}.hv-hw-tile__pending{color:var(--accent);font-size:.85em;margin-left:2px}.hv-hw-tile__rejected{color:var(--status-error);font-size:.85em;margin-left:2px}.hv-hw-tile__strat{align-self:center}.hv-hw-tile__strat-frame{fill:var(--surface-base);stroke:var(--border-subtle);stroke-width:1}.hv-hw-tile__foot{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-3);padding-top:var(--space-2);border-top:1px dashed var(--border-subtle)}.hv-hw-tile__stat{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-xs)}.hv-hw-tile__stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.hv-hw-tile__stat-value{color:var(--text-primary);font-weight:600}.hv-room-thermo{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-2);background:var(--surface-elevated);min-width:220px;container-type:inline-size}.hv-room-thermo--stale{opacity:.55}.hv-room-thermo__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2)}.hv-room-thermo__title{min-width:0}.hv-room-thermo__name{font-weight:600;font-size:var(--fs-md);color:var(--text-primary)}.hv-room-thermo__label{font-size:var(--fs-sm);color:var(--text-secondary);margin-top:2px}.hv-room-thermo__mode{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:var(--fs-xs);font-weight:600;letter-spacing:.02em;white-space:nowrap}.hv-room-thermo__mode--comfort{background:color-mix(in oklab,var(--status-ok) 22%,transparent);color:var(--status-ok)}.hv-room-thermo__mode--standby{background:color-mix(in oklab,var(--text-muted) 20%,transparent);color:var(--text-secondary)}.hv-room-thermo__mode--absent{background:color-mix(in oklab,var(--status-warn) 22%,transparent);color:var(--status-warn)}.hv-room-thermo__mode--frost{background:color-mix(in oklab,#4aa3ff 25%,transparent);color:#4aa3ff}.hv-room-thermo__mode--unknown{background:color-mix(in oklab,var(--text-muted) 15%,transparent);color:var(--text-secondary)}.hv-room-thermo__body{display:grid;grid-template-columns:1fr auto;gap:var(--space-3);align-items:center}@container (max-width: 260px){.hv-room-thermo__body{grid-template-columns:1fr}}.hv-room-thermo__hero{display:flex;flex-direction:column;gap:4px}.hv-room-thermo__hero-value{font-size:2rem;font-weight:700;line-height:1;color:var(--text-primary)}.hv-room-thermo__hero-value span{font-size:.6em;font-weight:500;color:var(--text-secondary);margin-left:2px}.hv-room-thermo__subline{display:flex;gap:var(--space-2);align-items:center;font-size:var(--fs-xs)}.hv-room-thermo__humidity{color:var(--text-secondary)}.hv-room-thermo__presence{padding:1px 6px;border-radius:999px;font-weight:600;letter-spacing:.02em}.hv-room-thermo__presence--in{background:color-mix(in oklab,var(--status-ok) 20%,transparent);color:var(--status-ok)}.hv-room-thermo__presence--out{background:color-mix(in oklab,var(--text-muted) 20%,transparent);color:var(--text-secondary)}.hv-room-thermo__presence--unknown{background:color-mix(in oklab,var(--text-muted) 15%,transparent);color:var(--text-secondary)}.hv-room-thermo__setpoint{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;gap:var(--space-1);min-width:132px;transition:opacity .12s}.hv-room-thermo__setpoint--disabled{opacity:.55}.hv-room-thermo__step{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-1);border:1px solid var(--border-subtle);background:var(--surface-base);color:var(--text-primary);font-size:1.25rem;line-height:1;cursor:pointer;transition:background .1s,border-color .1s}.hv-room-thermo__step:hover:not(:disabled){border-color:var(--accent);background:color-mix(in oklab,var(--accent) 8%,var(--surface-base))}.hv-room-thermo__step:disabled{opacity:.5;cursor:default}.hv-room-thermo__setpoint-value{display:flex;align-items:baseline;justify-content:center;gap:2px;padding:0 4px}.hv-room-thermo__setpoint-num{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.hv-room-thermo__setpoint-unit{font-size:.75rem;color:var(--text-secondary)}.hv-room-thermo__pending{color:var(--accent);font-size:.85em;margin-left:2px}.hv-room-thermo__rejected{color:var(--status-error);font-size:.85em;margin-left:2px}.hv-room-thermo__window{padding:var(--space-2) var(--space-3);border-radius:var(--radius-1);background:color-mix(in oklab,var(--status-warn) 20%,transparent);color:var(--status-warn);font-size:var(--fs-sm);font-weight:600;text-align:center}.hv-pv{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-2);background:var(--surface-elevated);min-width:240px;container-type:inline-size}.hv-pv--stale{opacity:.55}.hv-pv__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2)}.hv-pv__title{min-width:0}.hv-pv__name{font-weight:600;font-size:var(--fs-md);color:var(--text-primary)}.hv-pv__label{font-size:var(--fs-sm);color:var(--text-secondary);margin-top:2px}.hv-pv__body{display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-3);align-items:center}@container (max-width: 260px){.hv-pv__body{grid-template-columns:1fr}.hv-pv__battery{justify-self:start;flex-direction:row}}.hv-pv__hero{display:flex;flex-direction:column}.hv-pv__hero-value{font-size:2rem;font-weight:700;line-height:1;color:var(--text-primary)}.hv-pv__hero-value span{font-size:.6em;font-weight:500;color:var(--text-secondary);margin-left:4px}.hv-pv__hero-label{font-size:var(--fs-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-top:4px}.hv-pv__bars{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.hv-pv__bar{display:flex;flex-direction:column;gap:2px}.hv-pv__bar-header{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--fs-xs);gap:var(--space-2)}.hv-pv__bar-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.hv-pv__bar-value{color:var(--text-primary);font-weight:600}.hv-pv__bar-track{height:8px;border-radius:999px;background:color-mix(in oklab,var(--text-muted) 12%,transparent);overflow:hidden}.hv-pv__bar-fill{height:100%;border-radius:999px;transition:width .2s}.hv-pv__bar-fill--consumption{background:var(--status-warn)}.hv-pv__bar-fill--feed-in{background:#4aa3ff}.hv-pv__bar-fill--grid-draw{background:var(--status-error)}.hv-pv__bar-fill--battery-charge{background:var(--status-ok)}.hv-pv__bar-fill--battery-discharge{background:color-mix(in oklab,var(--status-ok) 55%,var(--status-warn))}.hv-pv__battery{display:flex;flex-direction:column;align-items:center;gap:4px}.hv-pv__battery-cap{fill:var(--text-secondary)}.hv-pv__battery-frame{fill:none;stroke:var(--border-subtle);stroke-width:1.5}.hv-pv__battery-fill--ok{fill:var(--status-ok)}.hv-pv__battery-fill--warn{fill:var(--status-warn)}.hv-pv__battery-fill--low{fill:var(--status-error)}.hv-pv__battery-soc{font-size:var(--fs-xs);color:var(--text-primary);font-weight:600}.hv-pv__foot{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-3);padding-top:var(--space-2);border-top:1px dashed var(--border-subtle)}.hv-pv__stat{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-xs)}.hv-pv__stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.hv-pv__stat-value{color:var(--text-primary);font-weight:600}.hv-weather{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-2);background:var(--surface-elevated);min-width:220px;container-type:inline-size}.hv-weather--stale{opacity:.55}.hv-weather__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2)}.hv-weather__title{min-width:0}.hv-weather__name{font-weight:600;font-size:var(--fs-md);color:var(--text-primary)}.hv-weather__label{font-size:var(--fs-sm);color:var(--text-secondary);margin-top:2px}.hv-weather__icon{font-size:2rem;line-height:1}.hv-weather__body{display:grid;grid-template-columns:1fr;gap:var(--space-3);align-items:center}@container (max-width: 260px){.hv-weather__body{grid-template-columns:1fr}}.hv-weather__hero{display:flex;flex-direction:column}.hv-weather__hero-value{font-size:2rem;font-weight:700;line-height:1;color:var(--text-primary)}.hv-weather__hero-value span{font-size:.6em;font-weight:500;color:var(--text-secondary);margin-left:2px}.hv-weather__hero-label{font-size:var(--fs-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-top:2px}.hv-weather__attenuated{margin-top:var(--space-2);font-size:var(--fs-xs);color:var(--text-secondary);font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace)}.hv-weather__attenuated-num{color:var(--text-primary);font-weight:600}.hv-weather__foot{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-3);padding-top:var(--space-2);border-top:1px dashed var(--border-subtle)}.hv-weather__stat{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-xs)}.hv-weather__stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.hv-weather__stat-value{color:var(--text-primary);font-weight:600}.hv-ai-modal:has(.hv-ai-hmi__hero){width:min(1040px,96vw);max-width:min(1040px,96vw)}.hv-ai-hmi__tally{margin-right:auto}.hv-ai-hmi__screen{border:1px solid var(--border-subtle);border-radius:var(--radius-1);background:var(--surface-base);padding:10px 12px 12px;margin-bottom:12px}.hv-ai-hmi__screen-title{margin:0 0 8px;font-size:var(--fs-sm);font-weight:600}.hv-ai-hmi__grid{display:grid;gap:8px;grid-auto-rows:72px;pointer-events:none}.hv-ai-hmi__cell{min-width:0;overflow:hidden;border-radius:var(--radius-1)}.hv-ai-hmi__empty,.hv-ai-hmi__complete{font-size:var(--fs-sm);color:var(--text-muted);margin:6px 0 12px}.hv-ai-hmi__dropped{border:1px solid var(--status-warn, var(--border-subtle));border-radius:var(--radius-1);background:color-mix(in srgb,var(--status-warn, #d08700) 10%,transparent);padding:10px 12px;margin-bottom:12px}.hv-ai-hmi__dropped-title{margin:0 0 6px;font-size:var(--fs-sm);font-weight:600}.hv-ai-hmi__dropped h4{margin:8px 0 2px;font-size:var(--fs-xs);color:var(--text-secondary);font-weight:600}.hv-ai-hmi__dropped ul{margin:0;padding-left:18px;font-size:var(--fs-sm)}.hv-ai-hmi__dropped li{margin:2px 0}.hv-ai-hmi__kind{font-family:var(--font-mono, monospace);font-size:var(--fs-xs);color:var(--text-secondary)}.hv-ai-hmi__dropped-note{margin:8px 0 0;font-size:var(--fs-xs)}.hv-ai-hmi__takeover{border:1px solid var(--border-subtle);border-radius:var(--radius-1);padding:8px 12px 12px;margin:0}.hv-ai-hmi__takeover legend{font-size:var(--fs-sm);font-weight:600;padding:0 4px}.hv-ai-hmi__choice{display:flex;align-items:flex-start;gap:8px;padding:8px;border-radius:var(--radius-1);border:1px solid transparent;font-size:var(--fs-sm);cursor:pointer}.hv-ai-hmi__choice.is-active{border-color:var(--ai-accent);background:color-mix(in srgb,var(--ai-accent) 8%,transparent)}.hv-ai-hmi__choice input[type=radio]{margin-top:3px}.hv-ai-hmi__choice>span{display:block;min-width:0}.hv-ai-hmi__name{display:block;width:100%;margin-top:8px;padding:6px 8px;border-radius:var(--radius-1);border:1px solid var(--border-subtle);background:var(--surface-base);color:var(--text-primary);font:inherit}.hv-ai-hmi__name:disabled{opacity:.5}.gs-2>.grid-stack-item{width:50%}.gs-2>.grid-stack-item[gs-x="1"]{left:50%}.gs-2>.grid-stack-item[gs-w="2"]{width:100%}.gs-3>.grid-stack-item{width:33.333%}.gs-3>.grid-stack-item[gs-x="1"]{left:33.333%}.gs-3>.grid-stack-item[gs-w="2"]{width:66.667%}.gs-3>.grid-stack-item[gs-x="2"]{left:66.667%}.gs-3>.grid-stack-item[gs-w="3"]{width:100%}.gs-4>.grid-stack-item{width:25%}.gs-4>.grid-stack-item[gs-x="1"]{left:25%}.gs-4>.grid-stack-item[gs-w="2"]{width:50%}.gs-4>.grid-stack-item[gs-x="2"]{left:50%}.gs-4>.grid-stack-item[gs-w="3"]{width:75%}.gs-4>.grid-stack-item[gs-x="3"]{left:75%}.gs-4>.grid-stack-item[gs-w="4"]{width:100%}.gs-5>.grid-stack-item{width:20%}.gs-5>.grid-stack-item[gs-x="1"]{left:20%}.gs-5>.grid-stack-item[gs-w="2"]{width:40%}.gs-5>.grid-stack-item[gs-x="2"]{left:40%}.gs-5>.grid-stack-item[gs-w="3"]{width:60%}.gs-5>.grid-stack-item[gs-x="3"]{left:60%}.gs-5>.grid-stack-item[gs-w="4"]{width:80%}.gs-5>.grid-stack-item[gs-x="4"]{left:80%}.gs-5>.grid-stack-item[gs-w="5"]{width:100%}.gs-6>.grid-stack-item{width:16.667%}.gs-6>.grid-stack-item[gs-x="1"]{left:16.667%}.gs-6>.grid-stack-item[gs-w="2"]{width:33.333%}.gs-6>.grid-stack-item[gs-x="2"]{left:33.333%}.gs-6>.grid-stack-item[gs-w="3"]{width:50%}.gs-6>.grid-stack-item[gs-x="3"]{left:50%}.gs-6>.grid-stack-item[gs-w="4"]{width:66.667%}.gs-6>.grid-stack-item[gs-x="4"]{left:66.667%}.gs-6>.grid-stack-item[gs-w="5"]{width:83.333%}.gs-6>.grid-stack-item[gs-x="5"]{left:83.333%}.gs-6>.grid-stack-item[gs-w="6"]{width:100%}.gs-7>.grid-stack-item{width:14.286%}.gs-7>.grid-stack-item[gs-x="1"]{left:14.286%}.gs-7>.grid-stack-item[gs-w="2"]{width:28.571%}.gs-7>.grid-stack-item[gs-x="2"]{left:28.571%}.gs-7>.grid-stack-item[gs-w="3"]{width:42.857%}.gs-7>.grid-stack-item[gs-x="3"]{left:42.857%}.gs-7>.grid-stack-item[gs-w="4"]{width:57.143%}.gs-7>.grid-stack-item[gs-x="4"]{left:57.143%}.gs-7>.grid-stack-item[gs-w="5"]{width:71.429%}.gs-7>.grid-stack-item[gs-x="5"]{left:71.429%}.gs-7>.grid-stack-item[gs-w="6"]{width:85.714%}.gs-7>.grid-stack-item[gs-x="6"]{left:85.714%}.gs-7>.grid-stack-item[gs-w="7"]{width:100%}.gs-8>.grid-stack-item{width:12.5%}.gs-8>.grid-stack-item[gs-x="1"]{left:12.5%}.gs-8>.grid-stack-item[gs-w="2"]{width:25%}.gs-8>.grid-stack-item[gs-x="2"]{left:25%}.gs-8>.grid-stack-item[gs-w="3"]{width:37.5%}.gs-8>.grid-stack-item[gs-x="3"]{left:37.5%}.gs-8>.grid-stack-item[gs-w="4"]{width:50%}.gs-8>.grid-stack-item[gs-x="4"]{left:50%}.gs-8>.grid-stack-item[gs-w="5"]{width:62.5%}.gs-8>.grid-stack-item[gs-x="5"]{left:62.5%}.gs-8>.grid-stack-item[gs-w="6"]{width:75%}.gs-8>.grid-stack-item[gs-x="6"]{left:75%}.gs-8>.grid-stack-item[gs-w="7"]{width:87.5%}.gs-8>.grid-stack-item[gs-x="7"]{left:87.5%}.gs-8>.grid-stack-item[gs-w="8"]{width:100%}.gs-9>.grid-stack-item{width:11.111%}.gs-9>.grid-stack-item[gs-x="1"]{left:11.111%}.gs-9>.grid-stack-item[gs-w="2"]{width:22.222%}.gs-9>.grid-stack-item[gs-x="2"]{left:22.222%}.gs-9>.grid-stack-item[gs-w="3"]{width:33.333%}.gs-9>.grid-stack-item[gs-x="3"]{left:33.333%}.gs-9>.grid-stack-item[gs-w="4"]{width:44.444%}.gs-9>.grid-stack-item[gs-x="4"]{left:44.444%}.gs-9>.grid-stack-item[gs-w="5"]{width:55.556%}.gs-9>.grid-stack-item[gs-x="5"]{left:55.556%}.gs-9>.grid-stack-item[gs-w="6"]{width:66.667%}.gs-9>.grid-stack-item[gs-x="6"]{left:66.667%}.gs-9>.grid-stack-item[gs-w="7"]{width:77.778%}.gs-9>.grid-stack-item[gs-x="7"]{left:77.778%}.gs-9>.grid-stack-item[gs-w="8"]{width:88.889%}.gs-9>.grid-stack-item[gs-x="8"]{left:88.889%}.gs-9>.grid-stack-item[gs-w="9"]{width:100%}.gs-10>.grid-stack-item{width:10%}.gs-10>.grid-stack-item[gs-x="1"]{left:10%}.gs-10>.grid-stack-item[gs-w="2"]{width:20%}.gs-10>.grid-stack-item[gs-x="2"]{left:20%}.gs-10>.grid-stack-item[gs-w="3"]{width:30%}.gs-10>.grid-stack-item[gs-x="3"]{left:30%}.gs-10>.grid-stack-item[gs-w="4"]{width:40%}.gs-10>.grid-stack-item[gs-x="4"]{left:40%}.gs-10>.grid-stack-item[gs-w="5"]{width:50%}.gs-10>.grid-stack-item[gs-x="5"]{left:50%}.gs-10>.grid-stack-item[gs-w="6"]{width:60%}.gs-10>.grid-stack-item[gs-x="6"]{left:60%}.gs-10>.grid-stack-item[gs-w="7"]{width:70%}.gs-10>.grid-stack-item[gs-x="7"]{left:70%}.gs-10>.grid-stack-item[gs-w="8"]{width:80%}.gs-10>.grid-stack-item[gs-x="8"]{left:80%}.gs-10>.grid-stack-item[gs-w="9"]{width:90%}.gs-10>.grid-stack-item[gs-x="9"]{left:90%}.gs-10>.grid-stack-item[gs-w="10"]{width:100%}.gs-11>.grid-stack-item{width:9.091%}.gs-11>.grid-stack-item[gs-x="1"]{left:9.091%}.gs-11>.grid-stack-item[gs-w="2"]{width:18.182%}.gs-11>.grid-stack-item[gs-x="2"]{left:18.182%}.gs-11>.grid-stack-item[gs-w="3"]{width:27.273%}.gs-11>.grid-stack-item[gs-x="3"]{left:27.273%}.gs-11>.grid-stack-item[gs-w="4"]{width:36.364%}.gs-11>.grid-stack-item[gs-x="4"]{left:36.364%}.gs-11>.grid-stack-item[gs-w="5"]{width:45.455%}.gs-11>.grid-stack-item[gs-x="5"]{left:45.455%}.gs-11>.grid-stack-item[gs-w="6"]{width:54.545%}.gs-11>.grid-stack-item[gs-x="6"]{left:54.545%}.gs-11>.grid-stack-item[gs-w="7"]{width:63.636%}.gs-11>.grid-stack-item[gs-x="7"]{left:63.636%}.gs-11>.grid-stack-item[gs-w="8"]{width:72.727%}.gs-11>.grid-stack-item[gs-x="8"]{left:72.727%}.gs-11>.grid-stack-item[gs-w="9"]{width:81.818%}.gs-11>.grid-stack-item[gs-x="9"]{left:81.818%}.gs-11>.grid-stack-item[gs-w="10"]{width:90.909%}.gs-11>.grid-stack-item[gs-x="10"]{left:90.909%}.gs-11>.grid-stack-item[gs-w="11"]{width:100%}.hv-hmi-canvas{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.hv-hmi-canvas__bar{display:flex;align-items:baseline;gap:var(--space-3);flex-wrap:wrap}.hv-hmi-canvas__target{font-size:var(--fs-lg);font-weight:600;color:var(--text-primary)}.hv-hmi-canvas__measure{font-size:var(--fs-sm);color:var(--text-secondary)}.hv-hmi-canvas__note{margin:0;padding:var(--space-2) var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-2);background:var(--surface-elevated);color:var(--text-secondary);font-size:var(--fs-md)}.hv-hmi-canvas__note--proposal{border-color:var(--status-info);color:var(--text-primary)}.hv-hmi-canvas__note--warn{border-color:var(--status-warn);color:var(--text-primary)}.hv-hmi-canvas__surface{position:relative;min-height:240px;border:1px solid var(--border-subtle);border-radius:var(--radius-2);background:var(--surface-base);background-image:radial-gradient(circle,color-mix(in srgb,var(--text-muted) 35%,transparent) 1px,transparent 1px);background-size:var(--space-5) var(--space-5)}.hv-hmi-canvas__surface--fixed{overflow:hidden;border-color:var(--border-strong);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--border-strong) 60%,transparent)}.hv-hmi-canvas__surface--drop{border-color:var(--accent);background-color:color-mix(in srgb,var(--accent) 8%,var(--surface-base))}.hv-hmi-canvas .grid-stack{background:transparent}.hv-hmi-canvas .grid-stack-item>.grid-stack-item-content{display:flex;overflow:hidden;padding:0;border:0;border-radius:var(--radius-2);background:var(--surface-panel);color:var(--text-primary);box-shadow:var(--shadow-1);cursor:grab}.hv-hmi-canvas .grid-stack-item.ui-draggable-dragging>.grid-stack-item-content{cursor:grabbing;box-shadow:var(--shadow-2)}.hv-hmi-canvas__widget{flex:1 1 auto;min-width:0;pointer-events:none;cursor:inherit}.hv-hmi-canvas__widget>*{height:100%;box-sizing:border-box}.hv-hmi-canvas .grid-stack-item:hover>.grid-stack-item-content{outline:1px solid color-mix(in srgb,var(--accent) 40%,transparent);outline-offset:-1px}.hv-hmi-canvas .grid-stack-item.hv-hmi-canvas__item--proposed>.grid-stack-item-content{outline:1px dashed color-mix(in srgb,var(--status-info) 70%,transparent);outline-offset:-1px;background:color-mix(in srgb,var(--status-info) 6%,var(--surface-panel))}.hv-hmi-canvas .grid-stack-item.hv-hmi-canvas__item--selected>.grid-stack-item-content{outline:2px solid var(--accent);outline-offset:-2px}.hv-hmi-canvas__orphan{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:var(--space-2);box-sizing:border-box;color:var(--status-error);font-size:var(--fs-sm);text-align:center}.hv-hmi-canvas .ui-resizable-handle{background-image:none;transform:none;opacity:.55}.hv-hmi-canvas .grid-stack-item>.ui-resizable-se:after{content:"";position:absolute;right:3px;bottom:3px;width:8px;height:8px;border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);border-bottom-right-radius:2px}.hv-hmi-canvas .grid-stack-item:hover>.ui-resizable-handle{opacity:1}.hv-hmi-canvas .grid-stack-item.hv-hmi-canvas__item--selected.ui-resizable-autohide>.ui-resizable-handle{display:block}.hv-hmi-canvas .grid-stack-placeholder>.placeholder-content{border:1px dashed var(--accent);border-radius:var(--radius-2);background:color-mix(in srgb,var(--accent) 12%,transparent)}.hv-hmi-canvas__tools{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-2) var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-2);background:var(--surface-panel)}.hv-hmi-canvas__toolGroup{display:flex;align-items:center;gap:var(--space-1);flex-wrap:wrap}.hv-hmi-canvas__toolLabel{font-size:var(--fs-sm);color:var(--text-secondary);margin-right:var(--space-1)}.hv-hmi-canvas__select{padding:var(--space-1) var(--space-2);border-radius:var(--radius-1);border:1px solid var(--border-subtle);background:var(--surface-base);color:var(--text-primary);font:inherit;font-size:var(--fs-sm)}.hv-hmi-canvas__tools .hv-btn:disabled{opacity:.4;cursor:not-allowed}.hv-hmi-canvas__toolNote{margin-left:auto;font-size:var(--fs-sm);color:var(--text-secondary)}.hv-hmi-canvas__transfer{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.hv-hmi-canvas__noteText{margin:0;flex:1 1 24rem}.hv-hmi-canvas__noteTools{display:inline-flex;gap:var(--space-2);margin-left:auto}.hv-hmi-canvas .grid-stack-item.hv-hmi-canvas__item--anchor>.grid-stack-item-content:before{content:"";position:absolute;left:0;top:0;z-index:1;width:10px;height:10px;background:var(--accent);clip-path:polygon(0 0,100% 0,0 100%);border-top-left-radius:var(--radius-2)}.hv-wp{display:flex;flex-direction:column;min-height:0;height:100%;background:var(--surface-panel);border-right:1px solid var(--border-subtle)}.hv-wp__search{padding:var(--space-3);border-bottom:1px solid var(--border-subtle)}.hv-wp__search-input{width:100%;box-sizing:border-box;padding:5px var(--space-2);background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:var(--radius-1);color:var(--text-primary);font-family:inherit;font-size:var(--fs-md)}.hv-wp__search-input:focus{outline:none;border-color:var(--accent)}.hv-wp__scroll{flex:1 1 auto;min-height:0;overflow-y:auto;padding:var(--space-2) var(--space-3) var(--space-5)}.hv-wp__empty{margin:var(--space-4) 0;color:var(--text-muted);font-size:var(--fs-sm);text-align:center}.hv-wp__group{margin-top:var(--space-3)}.hv-wp__group-head{margin:0 0 var(--space-2)}.hv-wp__group-toggle{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-1) 0;background:none;border:none;color:var(--text-secondary);font:inherit;font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;text-align:left;cursor:pointer}.hv-wp__group-toggle:hover{color:var(--text-primary)}.hv-wp__group-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hv-wp__group-label{flex:1 1 auto}.hv-wp__group-count{font-family:var(--font-mono);font-weight:400;color:var(--text-muted)}.hv-wp__chevron{width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform .12s ease}.hv-wp__chevron--open{transform:rotate(45deg)}.hv-wp__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--hv-wp-thumb-w),1fr));gap:var(--hv-wp-tile-gap)}.hv-wp__cell--wide{grid-column:span 2}.hv-wp__item{display:grid;grid-template-columns:1fr auto;gap:var(--space-1) var(--space-2);padding:var(--space-2);background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-2);color:var(--text-primary);font-family:inherit;text-align:left;cursor:grab}.hv-wp__item:hover{background:var(--surface-hover);border-color:var(--border-strong)}.hv-wp__item:active{cursor:grabbing}.hv-wp__item:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.hv-wp__item-title{font-size:var(--fs-sm);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hv-wp__item-size{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-muted);align-self:center}.hv-wp__thumb{grid-column:1 / -1;position:relative;width:var(--hv-wp-thumb-w);height:var(--hv-wp-thumb-h);margin:0 auto;overflow:hidden;border-radius:var(--radius-1);background:var(--surface-base);pointer-events:none}.hv-wp__thumb--wide{width:min(var(--hv-wp-thumb-w-wide),100%)}.hv-wp__stage{position:absolute;display:flex;transform-origin:top left}.hv-wp__stage>*{flex:1 1 auto;min-width:0}.hv-wp__thumb-none{display:flex;align-items:center;justify-content:center;height:100%;padding:0 var(--space-2);color:var(--text-muted);font-size:var(--fs-xs);text-align:center}.hv-wp__thumb-wait{display:block;height:100%;background:color-mix(in srgb,var(--text-muted) 8%,transparent)}.hv-dp-picker{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center}.hv-dp-picker__backdrop{position:absolute;inset:0;background:#0000008c;backdrop-filter:blur(2px)}.hv-dp-picker__panel{position:relative;width:min(880px,94vw);height:min(760px,86vh);display:flex;flex-direction:column;min-height:0;background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-2);box-shadow:var(--shadow-2)}.hv-dp-picker__header{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle)}.hv-dp-picker__headings{flex:1 1 auto;min-width:0}.hv-dp-picker__title{margin:0;font-size:var(--fs-lg);font-weight:500;color:var(--text-primary)}.hv-dp-picker__subtitle{margin:4px 0 0;font-size:var(--fs-sm)}.hv-dp-picker__close{flex:0 0 auto;width:28px;height:28px;padding:0;background:transparent;border:0;border-radius:var(--radius-1);color:var(--text-muted);font-size:20px;line-height:1;cursor:pointer}.hv-dp-picker__close:hover{background:var(--surface-elevated);color:var(--text-primary)}.hv-dp-picker__search-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle)}.hv-dp-picker__search{flex:1 1 auto;min-width:0;height:32px;padding:0 var(--space-3);font-size:var(--fs-sm);color:var(--text-primary);background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-1)}.hv-dp-picker__search:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}.hv-dp-picker__count{flex:0 0 auto;font-size:var(--fs-xs)}.hv-dp-picker__devices{display:flex;flex-wrap:wrap;gap:var(--space-1);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--border-subtle)}.hv-dp-picker__chip{padding:2px 10px;font-size:var(--fs-xs);color:var(--text-secondary);background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:999px;cursor:pointer}.hv-dp-picker__chip:hover{color:var(--text-primary)}.hv-dp-picker__chip--active{color:var(--text-on-accent);background:var(--accent);border-color:var(--accent)}.hv-dp-picker__list{position:relative;flex:1 1 auto;min-height:0;overflow-y:auto}.hv-dp-picker__spacer{position:relative}.hv-dp-picker__note{margin:0;padding:var(--space-3) var(--space-4);font-size:var(--fs-sm)}.hv-dp-picker__note--error{color:var(--status-error)}.hv-dp-picker__group{position:absolute;left:0;right:0;height:28px;display:flex;align-items:center;gap:var(--space-2);padding-right:var(--space-4);background:transparent;border:0;color:var(--text-primary);font-size:var(--fs-sm);text-align:left;cursor:pointer}.hv-dp-picker__group:hover{background:var(--surface-hover)}.hv-dp-picker__group--device{font-weight:600}.hv-dp-picker__twisty{flex:0 0 auto;width:12px;color:var(--text-muted);font-size:10px}.hv-dp-picker__group-label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hv-dp-picker__group-count{flex:0 0 auto;font-size:var(--fs-xs)}.hv-dp-picker__row{position:absolute;left:0;right:0;display:flex;gap:var(--space-2);padding-right:var(--space-4);background:transparent;border:0;color:var(--text-primary);font-size:var(--fs-sm);text-align:left;cursor:pointer}.hv-dp-picker__row:hover{background:var(--surface-hover)}.hv-dp-picker__row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.hv-dp-picker__row--selected{background:color-mix(in srgb,var(--accent) 14%,transparent);box-shadow:inset 2px 0 0 var(--accent)}.hv-dp-picker__row--tree{align-items:center}.hv-dp-picker__row--result{flex-direction:column;justify-content:center;gap:2px;padding-left:var(--space-4)}.hv-dp-picker__row-line{display:flex;align-items:baseline;gap:var(--space-2);width:100%;min-width:0}.hv-dp-picker__row-name{flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hv-dp-picker__row-symbol{flex:0 1 auto;font-size:var(--fs-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hv-dp-picker__row-tail{flex:0 0 auto;margin-left:auto;display:inline-flex;align-items:center;gap:var(--space-2)}.hv-dp-picker__row-unit{font-size:var(--fs-xs)}.hv-dp-picker__row-path{width:100%;font-size:var(--fs-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hv-dp-picker__badge{padding:1px 6px;border-radius:999px;border:1px solid var(--border-subtle);background:var(--surface-elevated);color:var(--text-muted);font-size:10px;line-height:1.4}.hv-dp-picker__badge--write{border-color:color-mix(in srgb,var(--accent) 45%,transparent);color:var(--accent-muted)}.hv-dp-picker__footer{padding:var(--space-2) var(--space-4);border-top:1px solid var(--border-subtle);font-size:var(--fs-xs)}.hv-binding-field{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-3);border-left:3px solid transparent;border-radius:var(--radius-1)}.hv-binding-field--bad{border-left-color:var(--status-error);background:color-mix(in srgb,var(--status-error) 8%,transparent)}.hv-binding-field--warn{border-left-color:var(--status-warn);background:color-mix(in srgb,var(--status-warn) 8%,transparent)}.hv-binding-field__label{display:flex;align-items:baseline;gap:4px;font-size:var(--fs-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.02em}.hv-binding-field__req{color:var(--status-error)}.hv-binding-field__box{display:flex;align-items:stretch;gap:var(--space-2)}.hv-binding-field__value{flex:1 1 auto;min-width:0;min-height:34px;display:flex;align-items:center;padding:4px var(--space-2);background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-1);color:var(--text-primary);font-size:var(--fs-sm);text-align:left;cursor:pointer}.hv-binding-field__value:hover{border-color:var(--border-strong)}.hv-binding-field__value:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}.hv-binding-field__found{display:flex;flex-direction:column;gap:1px;min-width:0;width:100%}.hv-binding-field__name{display:flex;align-items:baseline;gap:var(--space-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hv-binding-field__meta{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--fs-xs);color:var(--text-muted)}.hv-binding-field__badge{padding:0 6px;border-radius:999px;border:1px solid var(--border-subtle);background:var(--surface-panel);color:var(--text-muted);font-size:10px;line-height:1.5}.hv-binding-field__unit{font-size:var(--fs-xs)}.hv-binding-field__path{font-size:var(--fs-xs);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hv-binding-field__empty{color:var(--text-muted);font-style:italic}.hv-binding-field__empty--req{color:var(--status-error);font-style:normal}.hv-binding-field__bad{color:var(--status-error)}.hv-binding-field__loading{color:var(--text-muted)}.hv-binding-field__actions{flex:0 0 auto;display:flex;align-items:center;gap:var(--space-1)}.hv-binding-field__btn{height:34px;padding:0 var(--space-2);font-size:var(--fs-xs);color:var(--text-secondary);background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-1);cursor:pointer}.hv-binding-field__btn:hover{color:var(--text-primary);border-color:var(--border-strong)}.hv-binding-field__btn--clear:hover{color:var(--status-error);border-color:color-mix(in srgb,var(--status-error) 50%,transparent)}.hv-binding-field__warn{margin:0;font-size:var(--fs-xs);color:var(--status-warn)}.hv-binding-field__raw{margin:0;font-size:var(--fs-xs);color:var(--text-muted);word-break:break-all}.hv-binding-field__hint{margin:0;font-size:var(--fs-xs);color:var(--text-muted)}.hv-pf__section{padding:var(--space-3) 0;border-top:1px solid var(--border-subtle)}.hv-pf__section:first-child{border-top:0;padding-top:0}.hv-pf__section-title{margin:0 0 var(--space-1);font-size:var(--fs-sm);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.hv-pf__section-hint{margin:0 0 var(--space-2);font-size:var(--fs-xs);color:var(--text-muted)}.hv-pf__fields{display:flex;flex-direction:column;gap:var(--space-3)}.hv-pf__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:var(--space-2)}.hv-pf__field{display:flex;flex-direction:column;gap:4px;min-width:0}.hv-pf__label{font-size:var(--fs-sm);color:var(--text-secondary);display:inline-flex;align-items:center;gap:4px}.hv-pf__required{color:var(--status-warn)}.hv-pf__input{width:100%;box-sizing:border-box;padding:5px var(--space-2);background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:var(--radius-1);color:var(--text-primary);font-family:inherit;font-size:var(--fs-md)}.hv-pf__input:focus{outline:none;border-color:var(--accent)}.hv-pf__help{font-size:var(--fs-xs);color:var(--text-muted)}.hv-pf__error{font-size:var(--fs-xs);color:var(--status-error)}.hv-pf__missing-note{font-size:var(--fs-xs);color:var(--status-warn)}.hv-pf__field--missing .hv-pf__input,.hv-pf__binding--missing{border-left:2px solid var(--status-warn)}.hv-pf__field--error .hv-pf__input{border-color:var(--status-error)}.hv-pf__field--check{flex-direction:column}.hv-pf__check{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--fs-md);color:var(--text-primary);cursor:pointer}.hv-pf__colour{display:flex;gap:var(--space-2);align-items:center}.hv-pf__colour-swatch{flex:0 0 auto;width:30px;height:28px;padding:0;background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:var(--radius-1);cursor:pointer}.hv-pf__scalar{display:flex;gap:var(--space-2);align-items:center}.hv-pf__scalar-type{flex:0 0 auto;padding:2px 6px;border-radius:var(--radius-1);background:var(--surface-elevated);color:var(--text-muted);font-size:var(--fs-xs);font-family:var(--font-mono)}.hv-pf__binding{min-width:0;padding-left:0}.hv-pf__binding--missing{padding-left:var(--space-2)}.hv-pf__list{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2);background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:var(--radius-2)}.hv-pf__list--missing{border-left:2px solid var(--status-warn)}.hv-pf__list-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.hv-pf__list-count{padding:0 5px;border-radius:8px;background:var(--surface-elevated);color:var(--text-muted);font-size:var(--fs-xs)}.hv-pf__list-add{padding:3px var(--space-2);background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-1);color:var(--text-primary);font-size:var(--fs-sm);cursor:pointer}.hv-pf__list-add:hover{background:var(--surface-hover)}.hv-pf__list-empty{margin:0;font-size:var(--fs-xs);color:var(--text-muted)}.hv-pf__list-item{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2);background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-1)}.hv-pf__list-item-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.hv-pf__list-item-title{font-size:var(--fs-sm);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hv-pf__list-item-tools{display:inline-flex;gap:2px;flex:0 0 auto}.hv-pf__icon-btn{width:22px;height:22px;padding:0;background:transparent;border:1px solid transparent;border-radius:var(--radius-1);color:var(--text-secondary);font-size:var(--fs-md);line-height:1;cursor:pointer}.hv-pf__icon-btn:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary)}.hv-pf__icon-btn:disabled{opacity:.3;cursor:default}.hv-pf__icon-btn--danger:hover:not(:disabled){color:var(--status-error)}.hv-pf__help--warn{color:var(--status-warn, #d0a24c)}.hv-asset-picker{display:flex;flex-direction:column;gap:var(--space-3)}.hv-asset-picker__toolbar{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.hv-asset-picker__upload,.hv-asset-picker__clear{height:32px;padding:0 var(--space-3);border-radius:var(--radius-1);border:1px solid var(--border-subtle);background:var(--surface-elevated);color:var(--text-primary);font-size:var(--fs-sm);cursor:pointer}.hv-asset-picker__upload:hover:not(:disabled),.hv-asset-picker__clear:hover:not(:disabled){background:var(--surface-hover, var(--surface-elevated))}.hv-asset-picker__upload:disabled{opacity:.6;cursor:default}.hv-asset-picker__hidden-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}.hv-asset-picker__muted{color:var(--text-muted);font-size:var(--fs-sm);margin:0}.hv-asset-picker__error{color:var(--color-danger, #d13438);font-size:var(--fs-sm);margin:0}.hv-asset-picker__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--space-3)}.hv-asset-picker__tile{position:relative;border:1px solid var(--border-subtle);border-radius:var(--radius-2);background:var(--surface-panel);overflow:hidden}.hv-asset-picker__tile--selected{border-color:var(--accent-primary, #0078d4);box-shadow:0 0 0 1px var(--accent-primary, #0078d4)}.hv-asset-picker__tile-btn{display:flex;flex-direction:column;gap:var(--space-2);width:100%;padding:var(--space-2);background:transparent;border:0;color:inherit;cursor:pointer;text-align:left}.hv-asset-picker__tile-btn:hover{background:var(--surface-hover, var(--surface-elevated))}.hv-asset-picker__thumb{display:flex;align-items:center;justify-content:center;aspect-ratio:4 / 3;background:linear-gradient(45deg,var(--surface-elevated) 25%,transparent 25%),linear-gradient(-45deg,var(--surface-elevated) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--surface-elevated) 75%),linear-gradient(-45deg,transparent 75%,var(--surface-elevated) 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0;border-radius:var(--radius-1)}.hv-asset-picker__thumb img{max-width:100%;max-height:100%;object-fit:contain}.hv-asset-picker__meta{display:flex;flex-direction:column;gap:2px;min-width:0}.hv-asset-picker__name{font-size:var(--fs-sm);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hv-asset-picker__size{font-size:var(--fs-xs, 11px);color:var(--text-muted)}.hv-asset-picker__delete{position:absolute;top:4px;right:4px;width:24px;height:24px;padding:0;line-height:22px;text-align:center;border-radius:50%;border:1px solid var(--border-subtle);background:var(--surface-panel);color:var(--text-muted);cursor:pointer;font-size:16px;opacity:0;transition:opacity .12s}.hv-asset-picker__tile:hover .hv-asset-picker__delete,.hv-asset-picker__tile:focus-within .hv-asset-picker__delete{opacity:1}.hv-asset-picker__delete:hover:not(:disabled){color:var(--color-danger, #d13438);border-color:var(--color-danger, #d13438)}.hv-asset-picker__delete:disabled{opacity:.5;cursor:default}.hv-pp{display:flex;flex-direction:column;min-height:0;height:100%;background:var(--surface-panel);border-left:1px solid var(--border-subtle)}.hv-pp--empty{justify-content:center}.hv-pp__placeholder{margin:0;padding:var(--space-5) var(--space-4);color:var(--text-muted);font-size:var(--fs-sm);text-align:center}.hv-pp__header{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle)}.hv-pp__title{margin:0;font-size:var(--fs-lg);font-weight:500;color:var(--text-primary)}.hv-pp__description{margin:4px 0 var(--space-2);font-size:var(--fs-xs);color:var(--text-secondary)}.hv-pp__id{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-muted)}.hv-pp__open{margin:0;padding:var(--space-2) var(--space-4);background:color-mix(in srgb,var(--status-warn) 12%,transparent);border-bottom:1px solid var(--border-subtle);color:var(--status-warn);font-size:var(--fs-xs)}.hv-pp__body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:var(--space-3) var(--space-4) var(--space-6)}.hv-tp{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-2);background:var(--surface-panel)}.hv-tp__head{display:flex;align-items:baseline;gap:var(--space-3);flex-wrap:wrap}.hv-tp__title{margin:0;font-size:1rem}.hv-tp__hint{margin:0;font-size:.8rem;color:var(--text-secondary);flex:1 1 auto}.hv-tp__close{border:1px solid var(--border-subtle);border-radius:var(--radius-2);background:transparent;color:var(--text-primary);padding:var(--space-1) var(--space-3);cursor:pointer;font:inherit;font-size:.85rem}.hv-tp__row{display:flex;align-items:flex-start;gap:var(--space-4);overflow-x:auto;padding-bottom:var(--space-2)}.hv-tp__target{margin:0;display:flex;flex-direction:column;gap:var(--space-2);flex:0 0 auto}.hv-tp__caption{display:flex;flex-direction:column;gap:2px}.hv-tp__label{font-size:.85rem;font-weight:600;color:var(--text-primary)}.hv-tp__dims{font-size:.72rem;color:var(--text-muted)}.hv-tp__warn{font-size:.72rem;color:var(--status-warn, #d0a24c)}.hv-tp__frame{position:relative;overflow:hidden;border:1px solid var(--border-strong);border-radius:var(--radius-2);background:var(--surface-base, var(--surface-panel))}.hv-tp__stage{position:absolute;top:0;left:0;transform-origin:top left;display:grid;gap:var(--space-2);padding:var(--space-2);box-sizing:border-box;pointer-events:none}.hv-tp__cell{display:flex;min-width:0;overflow:hidden;border-radius:var(--radius-2);background:var(--surface-panel);box-shadow:var(--shadow-1)}.hv-tp__cell>*{flex:1 1 auto;min-width:0;height:100%;box-sizing:border-box}.hv-tp__cell--unplaced{outline:1px dashed color-mix(in srgb,var(--status-warn, #d0a24c) 70%,transparent);outline-offset:-1px}.hv-hmi-editor{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);min-width:0}.hv-hmi-editor__head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap}.hv-hmi-editor__head h1{margin:0;font-size:1.35rem}.hv-hmi-editor__sub{margin:var(--space-1) 0 0;color:var(--text-secondary);font-size:.85rem;max-width:62ch}.hv-hmi-editor__chooser{display:flex;align-items:flex-end;gap:var(--space-2)}.hv-hmi-editor__chooser label{display:flex;flex-direction:column;gap:var(--space-1);font-size:.8rem;color:var(--text-secondary)}.hv-hmi-editor__chooser select{min-width:18rem;padding:var(--space-2);border-radius:var(--radius-2);border:1px solid var(--border-subtle);background:var(--surface-panel);color:var(--text-primary)}.hv-hmi-editor__bar{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;padding:var(--space-2) var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-2);background:var(--surface-panel)}.hv-hmi-editor__state{margin-left:auto;font-size:.82rem;color:var(--text-secondary)}.hv-hmi-editor__state--dirty{color:var(--status-warn, #d0a24c);font-weight:600}.hv-hmi-editor__badge{font-size:.78rem;padding:2px var(--space-2);border-radius:var(--radius-1);color:var(--text-secondary);background:color-mix(in srgb,var(--text-secondary) 14%,transparent);cursor:help}.hv-hmi-editor__badge--error{color:var(--status-alarm, #d9534f);background:color-mix(in srgb,var(--status-alarm, #d9534f) 16%,transparent)}.hv-hmi-editor__screens{display:flex;align-items:stretch;gap:var(--space-2);flex-wrap:wrap}.hv-hmi-editor__screen{display:flex;align-items:center;border:1px solid var(--border-subtle);border-radius:var(--radius-2);background:var(--surface-panel);overflow:hidden}.hv-hmi-editor__screen.is-active{border-color:var(--accent)}.hv-hmi-editor__screen>button{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:0;background:transparent;color:var(--text-primary);cursor:pointer;font:inherit}.hv-hmi-editor__count{font-size:.72rem;color:var(--text-muted)}.hv-hmi-editor__screenTools{display:inline-flex;border-left:1px solid var(--border-subtle)}.hv-hmi-editor__screenTools button{border:0;background:transparent;color:var(--text-secondary);cursor:pointer;padding:var(--space-2);line-height:1}.hv-hmi-editor__screenTools button:disabled{opacity:.35;cursor:not-allowed}.hv-hmi-editor__screenTools button:not(:disabled):hover{background:var(--surface-hover);color:var(--text-primary)}.hv-hmi-editor__addScreen{border:1px dashed var(--border-strong);border-radius:var(--radius-2);background:transparent;color:var(--text-secondary);padding:var(--space-2) var(--space-3);cursor:pointer;font:inherit}.hv-hmi-editor__targets{display:flex;gap:var(--space-1)}.hv-hmi-editor__target{padding:var(--space-2) var(--space-3);border:1px solid var(--border-subtle);border-bottom-width:2px;border-radius:var(--radius-2) var(--radius-2) 0 0;background:var(--surface-panel);color:var(--text-secondary);cursor:pointer;font:inherit;font-size:.85rem}.hv-hmi-editor__target.is-active{color:var(--text-primary);border-bottom-color:var(--accent)}.hv-hmi-editor__body{display:grid;grid-template-columns:21rem minmax(0,1fr) 21rem;gap:var(--space-3);align-items:start;min-height:60vh}.hv-hmi-editor__palette,.hv-hmi-editor__canvas{min-width:0}@media (max-width: 1200px){.hv-hmi-editor__body{grid-template-columns:minmax(0,1fr)}}.hv-hmi-editor__hint{margin:0;font-size:.78rem;color:var(--text-muted)}.hv-hmi-editor__note{margin:0;font-size:.85rem;color:var(--text-secondary)}.hv-hmi-editor__note--warn{color:var(--status-warn, #d0a24c)}button.hv-hmi-editor__badge{border:0;font:inherit;font-size:.78rem;cursor:pointer}.hv-hmi-editor__findings{list-style:none;margin:0;padding:var(--space-2);display:flex;flex-direction:column;gap:var(--space-1);border:1px solid var(--border-subtle);border-radius:var(--radius-2);background:var(--surface-panel);max-height:16rem;overflow-y:auto}.hv-hmi-editor__finding{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-1) var(--space-2);font-size:.82rem;color:var(--text-secondary)}.hv-hmi-editor__finding>span{flex:1 1 auto}.hv-hmi-editor__finding--error{color:var(--status-alarm, #d9534f)}.hv-hmi-editor__ai{border-color:color-mix(in srgb,var(--ai-accent, #7c5cff) 55%,transparent);color:var(--ai-accent, #7c5cff)}.hv-hmi-editor__ai:hover:not(:disabled){background:color-mix(in srgb,var(--ai-accent, #7c5cff) 12%,transparent)}.hv-hmi-plant{display:flex;flex-direction:column;gap:var(--space-4)}.hv-hmi-plant__card-title{font-weight:600}.hv-hmi-plant .grow{flex:1 1 auto;min-width:0}.hv-hmi-plant__projects{display:flex;flex-wrap:wrap;gap:var(--space-2)}.hv-hmi-plant__project-row{display:flex;align-items:stretch;gap:var(--space-1)}.hv-hmi-plant__project{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:var(--space-2) var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-2);background:var(--surface-panel);color:inherit;cursor:pointer;text-align:left}.hv-hmi-plant__project:hover{border-color:var(--border-strong, var(--border-subtle))}.hv-hmi-plant__project--active{border-color:var(--accent, #5aa2ff);box-shadow:inset 0 0 0 1px var(--accent, #5aa2ff)}.hv-hmi-plant__project-name{font-weight:600}.hv-hmi-plant__project-meta{font-size:.78rem;color:var(--text-secondary, #6b7280)}.hv-hmi-plant__screens{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.hv-hmi-plant__screen{padding:var(--space-1) var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-2);background:transparent;color:inherit;cursor:pointer}.hv-hmi-plant__screen--active{background:var(--surface-raised, rgba(127, 127, 127, .12));border-color:var(--accent, #5aa2ff)}.hv-hmi-plant__grid{display:grid;gap:var(--space-3);align-items:start}.hv-hmi-plant__cell{min-width:0}.hv-hmi-plant__diag{font-size:.78rem;padding:2px var(--space-2);border-radius:var(--radius-1, 4px);white-space:nowrap}.hv-hmi-plant__diag--ok{color:var(--status-ok, #62c26e);background:color-mix(in srgb,var(--status-ok, #62c26e) 12%,transparent)}.hv-hmi-plant__diag--warn{color:var(--status-warn, #d0a24c);background:color-mix(in srgb,var(--status-warn, #d0a24c) 14%,transparent)}.hv-hmi-plant__error{color:var(--status-error, #d15c5c)}.hv-hmi-plant__warn{color:var(--status-warn, #d0a24c);margin:0 0 var(--space-3);font-size:.85rem}.hv-hmi-preview{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.hv-hmi-preview__intro{padding:var(--space-4);border-radius:var(--radius-2);background:var(--surface-panel);border:1px solid var(--border-subtle)}.hv-hmi-preview__intro h2{margin:0 0 var(--space-2) 0;font-size:1.25rem}.hv-hmi-preview__intro p{margin:0;color:var(--text-secondary);line-height:1.4}.hv-hmi-preview__intro code{padding:0 4px;border-radius:3px;background:var(--surface-elevated);font-family:var(--font-mono, monospace);font-size:.85em}.hv-hmi-preview__tabs{display:flex;gap:4px;border-bottom:1px solid var(--border-subtle);overflow-x:auto}.hv-hmi-preview__tab{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:none;background:transparent;color:var(--text-secondary);font-size:var(--fs-sm);font-weight:500;cursor:pointer;border-bottom:2px solid transparent;transition:color .15s ease,border-color .15s ease;white-space:nowrap}.hv-hmi-preview__tab:hover{color:var(--text-primary)}.hv-hmi-preview__tab--active{color:var(--text-primary);border-bottom-color:var(--accent, #3b82f6)}.hv-hmi-preview__tab-count{display:inline-block;padding:1px 6px;border-radius:999px;background:var(--surface-elevated);color:var(--text-secondary);font-size:.75rem;font-variant-numeric:tabular-nums}.hv-hmi-preview__tab--active .hv-hmi-preview__tab-count{background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--text-primary)}.hv-hmi-preview__tab-hint{font-size:var(--fs-xs);padding:0 4px}.hv-hmi-preview__empty{grid-column:1 / -1;padding:var(--space-4);border:1px dashed var(--border-subtle);border-radius:var(--radius-2);text-align:center}.hv-hmi-preview__cell-kind{position:absolute;top:4px;right:8px;font-size:.7rem;font-family:var(--font-mono, monospace);color:var(--text-muted);background:color-mix(in srgb,var(--surface-panel) 90%,transparent);padding:1px 6px;border-radius:3px;pointer-events:none}.hv-hmi-preview__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4)}.hv-hmi-preview__cell{position:relative}.hv-hmi-preview__cell{display:flex;align-items:center;justify-content:center;min-height:220px;padding:var(--space-3);border-radius:var(--radius-2);background:var(--surface-base);border:1px solid var(--border-subtle)}.hv-widget-fallback{display:flex;flex-direction:column;align-items:center;gap:4px;padding:var(--space-3);border:1px dashed var(--border-strong);border-radius:var(--radius-1);color:var(--text-muted);font-size:var(--fs-sm)}.hv-hmi-preview__sim{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);margin-bottom:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-2);background:var(--surface-panel)}.hv-hmi-preview__sim-label{font-weight:600;font-size:.85rem}.hv-hmi-preview__sim-buttons{display:flex;flex-wrap:wrap;gap:var(--space-2)}.hv-hmi-preview__sim-btn{padding:var(--space-1) var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-2);background:transparent;color:inherit;cursor:pointer;font-size:.85rem}.hv-hmi-preview__sim-btn--active{border-color:var(--accent, #5aa2ff);box-shadow:inset 0 0 0 1px var(--accent, #5aa2ff)}.hv-hmi-preview__sim-hint{font-size:.8rem}.hv-map{position:relative;width:calc(100% + 2 * var(--space-3));height:calc(100vh - var(--topbar-height));margin:0 calc(-1 * var(--space-3)) calc(-1 * var(--space-3));min-height:400px;overflow:hidden;background:var(--surface-base)}.hv-map__canvas{width:100%;height:100%}.hv-map__error{position:absolute;top:var(--space-3);left:50%;transform:translate(-50%);z-index:500;padding:var(--space-2) var(--space-4);background:var(--surface-elevated);color:var(--status-error);border:1px solid var(--border-subtle);border-radius:var(--radius-2);font-size:var(--fs-sm)}.maplibregl-map{font-family:var(--font-sans)}[data-theme=light] .maplibregl-canvas-container{background:#e5e5e5}[data-theme=dark] .maplibregl-canvas-container{background:#1f2229}.maplibregl-ctrl-attrib{background:var(--surface-elevated)!important;color:var(--text-secondary)!important;border:1px solid var(--border-subtle);border-radius:var(--radius-2);font-size:var(--fs-xs)}.maplibregl-ctrl-attrib a{color:var(--text-secondary)!important}.maplibregl-ctrl-attrib a:hover{color:var(--accent-hover)!important}.maplibregl-ctrl-attrib-button{background-color:var(--surface-elevated)!important}.maplibregl-ctrl-group{background:var(--surface-elevated)!important;border:1px solid var(--border-subtle)!important;border-radius:var(--radius-2)!important;box-shadow:var(--shadow-1)!important}.maplibregl-ctrl-group button{background-color:var(--surface-elevated)!important;width:28px;height:28px;transition:background-color .1s ease-out}.maplibregl-ctrl-group button+button{border-top:1px solid var(--border-subtle)!important}.maplibregl-ctrl-group button:hover{background-color:var(--surface-hover)!important}[data-theme=dark] .maplibregl-ctrl-group button .maplibregl-ctrl-icon{filter:invert(1) brightness(1.4)}.maplibregl-popup-content{background:var(--surface-elevated)!important;color:var(--text-primary)!important;border:1px solid var(--border-subtle)!important;box-shadow:var(--shadow-2)!important;border-radius:var(--radius-2)!important;padding:var(--space-3) var(--space-4)!important}.maplibregl-popup-anchor-top .maplibregl-popup-tip,.maplibregl-popup-anchor-top-left .maplibregl-popup-tip,.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{border-bottom-color:var(--surface-elevated)!important}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip,.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip,.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{border-top-color:var(--surface-elevated)!important}.maplibregl-popup-anchor-left .maplibregl-popup-tip{border-right-color:var(--surface-elevated)!important}.maplibregl-popup-anchor-right .maplibregl-popup-tip{border-left-color:var(--surface-elevated)!important}.maplibregl-popup-close-button{color:var(--text-secondary)!important;font-size:18px!important;padding:4px 8px!important;background:transparent!important}.maplibregl-popup-close-button:hover{background:var(--surface-hover)!important;color:var(--text-primary)!important;border-radius:var(--radius-1)!important}.hv-map__controls{position:absolute;top:var(--space-3);right:var(--space-3);z-index:500;display:flex;gap:var(--space-2);align-items:center}.hv-map__views{min-width:180px;padding:6px 10px;font-size:var(--fs-sm);background:var(--surface-elevated);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-2);box-shadow:var(--shadow-1)}.hv-map__filter-btn{padding:6px 12px;font-size:var(--fs-sm);font-weight:500;background:var(--surface-elevated);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-2);box-shadow:var(--shadow-1);cursor:pointer;transition:background-color .12s ease-out}.hv-map__filter-btn:hover{background:var(--surface-hover)}.hv-map__filter-btn--active{background:var(--accent);color:var(--accent-contrast, #ffffff);border-color:var(--accent)}.hv-map__drawer{position:absolute;top:0;right:0;height:100%;width:min(360px,92vw);z-index:600;display:flex;flex-direction:column;background:var(--surface-panel);border-left:1px solid var(--border-subtle);box-shadow:var(--shadow-2);animation:hv-map__drawer-in .18s ease-out}@keyframes hv-map__drawer-in{0%{transform:translate(24px);opacity:0}to{transform:translate(0);opacity:1}}.hv-map__drawer-head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle)}.hv-map__drawer-head h2{margin:0;font-size:var(--fs-md);font-weight:600;color:var(--text-primary)}.hv-map__drawer-close{width:30px;height:30px;padding:0;font-size:22px;line-height:1;background:transparent;color:var(--text-secondary);border:1px solid transparent;border-radius:var(--radius-2);cursor:pointer}.hv-map__drawer-close:hover{background:var(--surface-hover);color:var(--text-primary)}.hv-map__drawer-body{flex:1;overflow-y:auto;padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.hv-map__drawer-foot{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-subtle);background:var(--surface-elevated)}.hv-map__result-count{flex:1;font-size:var(--fs-sm);color:var(--text-secondary)}.hv-map__field{display:flex;flex-direction:column;gap:var(--space-1)}.hv-map__field-label{font-size:var(--fs-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.hv-map__field-row{display:flex;align-items:center;gap:var(--space-2)}.hv-map__field-sep{color:var(--text-muted)}.hv-map__field input[type=number],.hv-map__field input[type=text]{flex:1;min-width:0;padding:6px 10px;font-size:var(--fs-sm);background:var(--surface-base);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-2)}.hv-map__field-check{display:flex;align-items:center;gap:var(--space-2);padding:4px 0;font-size:var(--fs-sm);color:var(--text-primary);cursor:pointer}.hv-map__chips{display:flex;flex-wrap:wrap;gap:6px}.hv-map__chip{padding:4px 10px;font-size:var(--fs-sm);background:var(--surface-base);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:999px;cursor:pointer;transition:background-color .12s ease-out}.hv-map__chip:hover{background:var(--surface-hover)}.hv-map__chip--on{background:var(--accent);color:var(--accent-contrast, #ffffff);border-color:var(--accent)}.hv-map__ghost{padding:6px 12px;font-size:var(--fs-sm);background:transparent;color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-2);cursor:pointer}.hv-map__ghost:hover{background:var(--surface-hover);color:var(--text-primary)}.hv-map__primary{padding:6px 12px;font-size:var(--fs-sm);font-weight:500;background:var(--accent);color:var(--accent-contrast, #ffffff);border:1px solid var(--accent);border-radius:var(--radius-2);cursor:pointer}.hv-map__primary:disabled{opacity:.5;cursor:not-allowed}.hv-map__primary:not(:disabled):hover{background:var(--accent-hover)}.hv-map__modal-backdrop{position:absolute;inset:0;z-index:700;display:flex;align-items:center;justify-content:center;background:#00000059}.hv-map__modal{width:min(360px,92vw);padding:var(--space-4);background:var(--surface-panel);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-3);box-shadow:var(--shadow-2);display:flex;flex-direction:column;gap:var(--space-3)}.hv-map__modal h3{margin:0;font-size:var(--fs-md);font-weight:600}.hv-map__modal input[type=text]{width:100%;padding:6px 10px;font-size:var(--fs-sm);background:var(--surface-base);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-2)}.hv-map__modal-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.hv-map__popup{min-width:200px}.hv-map__popup-title{font-weight:600;font-size:var(--fs-sm);color:var(--text-primary);margin-bottom:var(--space-2)}.hv-map__popup-meta{display:grid;grid-template-columns:auto 1fr;column-gap:var(--space-3);row-gap:4px;margin:0 0 var(--space-2);font-size:var(--fs-xs)}.hv-map__popup-meta dt{color:var(--text-secondary)}.hv-map__popup-meta dd{margin:0;color:var(--text-primary)}.hv-map__popup-alarm--Warning{color:var(--status-warn);font-weight:500}.hv-map__popup-alarm--Alarm{color:var(--status-error);font-weight:600}.hv-map__popup-alarm--Critical{color:var(--status-error);font-weight:700}.hv-map__popup-glyphline{display:flex;align-items:center;gap:6px}.hv-map__popup-glyph{color:var(--text-primary);flex-shrink:0}.hv-map__popup-glyph--muted{color:var(--text-muted)}.hv-map__popup-link{display:inline-block;padding-top:var(--space-1);font-size:var(--fs-xs);color:var(--accent);text-decoration:none}.hv-map__popup-link:hover{text-decoration:underline}.hv-mseries-chart{width:100%;height:100%;min-height:320px}.hv-cov-buffer__body{display:grid;gap:16px}.hv-cov-buffer__lead{margin:0;color:var(--text-secondary, #8a929e);font-size:13px;line-height:1.5}.hv-cov-buffer__range{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.hv-cov-buffer__field{display:grid;gap:4px;font-size:12px}.hv-cov-buffer__field>span{color:var(--text-secondary, #8a929e)}.hv-cov-buffer__field input{padding:6px 8px;border:1px solid var(--border-subtle, #2e343b);border-radius:4px;background:var(--surface-base, #16191d);color:var(--text-primary, #e2e5ea);font:inherit}.hv-cov-buffer__actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;align-items:start}.hv-cov-buffer__lane{display:grid;gap:10px;padding:12px 14px;border:1px solid var(--border-subtle, #2e343b);border-radius:6px;background:var(--surface-panel, #1d2126)}.hv-cov-buffer__lane--read{border-left:3px solid var(--accent-primary, #4a90d9)}.hv-cov-buffer__lane--write{border-left:3px solid var(--status-error, #dc2626);background:linear-gradient(0deg,#dc26260a,#dc26260a),var(--surface-panel, #1d2126)}.hv-cov-buffer__lane-title{margin:0;font-size:13px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--text-primary, #e2e5ea)}.hv-cov-buffer__lane--write .hv-cov-buffer__lane-title{color:var(--status-error, #dc2626)}.hv-cov-buffer__lane-note{margin:0;font-size:12px;line-height:1.5;color:var(--text-secondary, #8a929e)}.hv-cov-buffer__confirm-row{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:start;font-size:12px;line-height:1.45;color:var(--text-primary, #e2e5ea)}.hv-cov-buffer__confirm-row>input[type=checkbox]{margin-top:2px}.hv-cov-buffer__report{display:grid;gap:10px;padding:12px 14px;border:1px solid var(--border-subtle, #2e343b);border-radius:6px;background:var(--surface-panel, #1d2126)}.hv-cov-buffer__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px 16px;margin:0}.hv-cov-buffer__stats>div{display:grid;gap:2px}.hv-cov-buffer__stats dt{font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary, #8a929e)}.hv-cov-buffer__stats dd{margin:0;font-size:13px;font-variant-numeric:tabular-nums;color:var(--text-primary, #e2e5ea)}.hv-cov-buffer__warn,.hv-cov-buffer__note{margin:0;padding:8px 10px;border-left:3px solid var(--status-warn, #d97706);border-radius:3px;background:var(--surface-base, #16191d);font-size:12px;line-height:1.5;color:var(--text-primary, #e2e5ea)}.hv-cov-buffer__note{border-left-color:var(--border-subtle, #2e343b);color:var(--text-secondary, #8a929e)}.hv-cov-buffer__chart{display:grid;gap:8px}.hv-cov-buffer__chart-canvas{min-height:320px;height:340px}.hv-multi-picker{display:flex;flex-direction:column;min-height:0;background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-2, 6px)}.hv-multi-picker__head{display:flex;flex-direction:column;gap:var(--space-2, 8px);padding:var(--space-3, 12px);border-bottom:1px solid var(--border-subtle)}.hv-multi-picker__title-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2, 8px)}.hv-multi-picker__title{font-size:var(--fs-sm, 12px);font-weight:600;color:var(--text-primary);letter-spacing:.02em;text-transform:uppercase}.hv-multi-picker__actions{display:flex;gap:var(--space-1, 4px)}.hv-multi-picker__filter-group{position:relative;display:flex}.hv-multi-picker__filter{flex:1 1 auto;min-width:0;height:30px;padding:0 var(--space-2, 8px);font-size:var(--fs-sm, 12px);color:var(--text-primary);background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:var(--radius-1, 3px)}.hv-multi-picker__filter:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 25%,transparent)}.hv-multi-picker__device-picker{display:none;position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:10;flex-wrap:wrap;gap:4px;padding:6px;border:1px solid var(--border-subtle);border-radius:var(--radius-1, 3px);background:var(--surface-panel);box-shadow:var(--shadow-2)}.hv-multi-picker__filter-group:focus-within .hv-multi-picker__device-picker,.hv-multi-picker__filter-group--pinned .hv-multi-picker__device-picker{display:flex}.hv-multi-picker__device-chip{display:inline-flex;align-items:center;height:24px;padding:0 10px;border:1px solid var(--border-subtle);border-radius:999px;background:var(--surface-elevated);color:var(--text-primary);font-size:var(--fs-xs, 11px);cursor:pointer;white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis}.hv-multi-picker__device-chip:hover{background:var(--surface-hover)}.hv-multi-picker__device-chip--active{background:color-mix(in srgb,var(--accent) 15%,transparent);border-color:var(--accent)}.hv-multi-picker__meta{display:flex;align-items:center;justify-content:space-between;font-size:var(--fs-xs, 11px);gap:var(--space-2, 8px)}.hv-multi-picker__quick{display:flex;gap:2px}.hv-multi-picker__list{flex:1 1 auto;min-height:0;overflow-y:auto;position:relative}.hv-multi-picker__empty{padding:var(--space-4, 16px);text-align:center;font-size:var(--fs-sm, 12px)}.hv-multi-picker__row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-2, 8px);padding:0 var(--space-3, 12px);border-bottom:1px solid color-mix(in srgb,var(--border-subtle) 40%,transparent);cursor:pointer;user-select:none;color:var(--text-primary);font-size:var(--fs-sm, 12px)}.hv-multi-picker__row:hover{background:var(--surface-elevated)}.hv-multi-picker__row--checked{background:color-mix(in srgb,var(--accent) 10%,transparent)}.hv-multi-picker__row--checked:hover{background:color-mix(in srgb,var(--accent) 18%,transparent)}.hv-multi-picker__cb{width:15px;height:15px;margin:0;cursor:pointer;accent-color:var(--accent)}.hv-multi-picker__main{min-width:0;display:flex;flex-direction:column;justify-content:center;line-height:1.15;overflow:hidden}.hv-multi-picker__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hv-multi-picker__sub{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hv-multi-picker__unit{font-size:var(--fs-xs, 11px);color:var(--text-secondary);min-width:3ch;text-align:right}.hv-presets{display:flex;flex-direction:column;gap:6px}.hv-presets__title{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.hv-presets__select-row{display:flex;gap:var(--space-2, 8px)}.hv-presets__select{flex:1;min-width:220px;padding:4px var(--space-2, 8px);font-size:var(--fs-sm, 12px);color:var(--text-primary);background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:var(--radius-1, 3px)}.hv-presets__buttons{display:flex;gap:var(--space-1, 4px);flex-wrap:wrap}.hv-presets__save-dialog{position:fixed;inset:0;z-index:240;display:flex;align-items:center;justify-content:center}.hv-presets__save-backdrop{position:absolute;inset:0;background:#0000008c;backdrop-filter:blur(2px)}.hv-presets__save-panel{position:relative;z-index:1;min-width:340px;max-width:90vw;padding:var(--space-4, 16px);background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-2, 6px);display:flex;flex-direction:column;gap:var(--space-3, 12px);box-shadow:0 20px 48px #00000080}.hv-presets__save-title{font-size:var(--fs-lg, 15px);color:var(--text-primary);font-weight:500}.hv-presets__save-field{display:flex;flex-direction:column;gap:4px;font-size:var(--fs-sm, 12px);color:var(--text-secondary)}.hv-presets__save-field input,.hv-presets__save-field select{padding:6px 8px;font-size:var(--fs-sm, 12px);color:var(--text-primary);background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:var(--radius-1, 3px)}.hv-presets__save-actions{display:flex;justify-content:flex-end;gap:var(--space-2, 8px)}.hv-presets__save-hint{font-size:var(--fs-xs, 11px);line-height:1.4;padding:6px 8px;border-left:2px solid var(--border-subtle)}.hv-series-editor{display:flex;flex-direction:column;border:1px solid var(--border-subtle);border-radius:var(--radius-2, 6px);background:var(--surface-panel);overflow:hidden;font-size:var(--fs-sm, 12px)}.hv-series-editor__empty{padding:var(--space-3, 12px);font-size:var(--fs-sm, 12px);text-align:center;border:1px dashed var(--border-subtle);border-radius:var(--radius-2, 6px)}.hv-series-editor__head,.hv-series-editor__row{display:grid;grid-template-columns:40px 44px minmax(140px,1fr) 90px 96px 60px 100px minmax(160px,auto) 32px;align-items:center;gap:var(--space-2, 8px);padding:4px var(--space-3, 12px)}.hv-series-editor__head{background:var(--surface-elevated);color:var(--text-secondary);font-size:10px;letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--border-subtle)}.hv-series-editor__row{border-bottom:1px solid color-mix(in srgb,var(--border-subtle) 40%,transparent)}.hv-series-editor__row:last-child{border-bottom:none}.hv-series-editor__col--name{display:flex;align-items:baseline;gap:var(--space-2, 8px);min-width:0}.hv-series-editor__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary)}.hv-series-editor__unit{font-size:var(--fs-xs, 11px);flex:0 0 auto}.hv-series-editor__colour-input{width:32px;height:22px;padding:0;border:1px solid var(--border-subtle);border-radius:var(--radius-1, 3px);background:transparent;cursor:pointer}.hv-series-editor__col--type select,.hv-series-editor__col--linestyle select,.hv-series-editor__col--width input,.hv-series-editor__col--axis input{width:100%;padding:3px 6px;font-size:var(--fs-sm, 12px);color:var(--text-primary);background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:var(--radius-1, 3px)}.hv-series-editor__col--width input{font-variant-numeric:tabular-nums;text-align:right}.hv-series-editor__col--toggles{display:flex;gap:var(--space-3, 12px);flex-wrap:wrap}.hv-series-editor__col--toggles label{display:inline-flex;align-items:center;gap:4px;cursor:pointer}.hv-series-editor__remove{padding:0;width:22px;height:22px;line-height:1;font-size:16px}.hv-ann-creator{background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:0 4px 20px #0006;padding:var(--space-3);width:380px;display:flex;flex-direction:column;gap:var(--space-2);color:var(--text-primary)}.hv-ann-creator__header{font-weight:600;font-size:var(--fs-sm);color:var(--text-primary);padding-bottom:var(--space-1);border-bottom:1px solid var(--border-subtle)}.hv-ann-creator__field{display:flex;flex-direction:column;gap:4px}.hv-ann-creator__field label{font-size:var(--fs-xs);color:var(--text-muted)}.hv-ann-creator__field input,.hv-ann-creator__field textarea{background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);padding:6px 8px;font-size:var(--fs-sm);font-family:inherit;resize:vertical}.hv-ann-creator__field textarea{min-height:80px}.hv-ann-creator__field--textarea{position:relative}.hv-ann-creator__typeahead{position:absolute;left:0;right:0;bottom:calc(100% + 4px);max-height:200px;overflow-y:auto;background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);z-index:2;display:flex;flex-direction:column}.hv-ann-creator__typeahead-empty{padding:var(--space-2);color:var(--text-muted);font-size:var(--fs-sm)}.hv-ann-creator__typeahead-item{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-2);background:transparent;border:none;padding:6px 10px;text-align:left;cursor:pointer;color:var(--text-primary);font-size:var(--fs-sm)}.hv-ann-creator__typeahead-item:hover{background:var(--surface-base)}.hv-ann-creator__typeahead-mail{color:var(--text-muted);font-size:var(--fs-xs)}.hv-ann-creator__actions{display:flex;justify-content:flex-end;gap:var(--space-2);padding-top:var(--space-1);border-top:1px solid var(--border-subtle)}.hv-mention-md{white-space:pre-wrap;overflow-wrap:anywhere}.hv-mention-md__pill{display:inline-flex;align-items:center;padding:0 6px;height:18px;margin:0 1px;border-radius:999px;background:color-mix(in srgb,var(--brand-primary) 15%,transparent);color:var(--brand-primary);font-size:.9em;font-weight:600;cursor:default}.hv-ann-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-1)}.hv-ann-list__empty{color:var(--text-muted);padding:var(--space-2) 0;font-size:var(--fs-sm)}.hv-ann-list__row{display:grid;grid-template-columns:200px 1fr auto;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-panel)}.hv-ann-list__when{display:flex;flex-direction:column}.hv-ann-list__at{font-size:var(--fs-xs);font-variant-numeric:tabular-nums;color:var(--text-primary)}.hv-ann-list__author{font-size:var(--fs-xs);color:var(--text-muted)}.hv-ann-list__body{font-size:var(--fs-sm);color:var(--text-primary)}.hv-ann-list__actions{display:flex;flex-direction:column;gap:4px}.hv-charts{display:flex;flex-direction:column;gap:var(--space-3, 12px);padding:var(--space-3, 12px);min-height:0;height:calc(100vh - var(--topbar-height, 48px) - 44px);box-sizing:border-box}.hv-charts--fullscreen{height:100vh;padding:var(--space-2, 8px)}.hv-charts__toolbar{display:flex;gap:var(--space-4, 16px);align-items:flex-end;flex-wrap:wrap;padding:var(--space-3, 12px);background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-2, 6px)}.hv-charts__toolbar-sep{align-self:stretch;width:1px;background:var(--border-subtle);opacity:.5}.hv-charts__toolbar-spacer{flex:1 1 auto}.hv-charts__field-label{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:4px}.hv-charts__range{display:flex;flex-direction:column;gap:4px}.hv-charts__range-buttons{display:flex;gap:2px;flex-wrap:wrap}.hv-charts__range-buttons .hv-btn.is-active{background:color-mix(in srgb,var(--accent) 20%,transparent);border-color:color-mix(in srgb,var(--accent) 40%,var(--border-subtle));color:var(--text-primary)}.hv-charts__custom-range{display:flex;gap:var(--space-2, 8px);align-items:center;margin-top:4px}.hv-charts__custom-range input{padding:4px 8px;font-size:var(--fs-sm, 12px);color:var(--text-primary);background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:var(--radius-1, 3px);color-scheme:dark}.hv-charts__agg{display:flex;flex-direction:column;gap:4px}.hv-charts__agg select{padding:4px 8px;font-size:var(--fs-sm, 12px);color:var(--text-primary);background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:var(--radius-1, 3px);min-width:180px}.hv-charts__live{display:flex;align-items:flex-end}.hv-charts__live-toggle{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;font-size:var(--fs-sm, 12px);color:var(--text-primary);cursor:pointer;user-select:none}.hv-charts__live-toggle input{accent-color:var(--accent, #3b82f6)}.hv-charts__live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent, #3b82f6);animation:hv-charts-live-pulse 1.2s ease-in-out infinite}@keyframes hv-charts-live-pulse{0%,to{opacity:.35}50%{opacity:1}}.hv-charts__exports{display:flex;gap:var(--space-1, 4px)}.hv-charts__body{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(300px,340px) 1fr;gap:var(--space-3, 12px)}.hv-charts--fullscreen .hv-charts__body{grid-template-columns:1fr}.hv-charts__picker-col{min-height:0;display:flex;flex-direction:column;min-width:0}.hv-charts__picker-col>.hv-multi-picker{flex:1 1 auto;min-height:0}.hv-charts__chart-col{min-height:0;display:grid;grid-template-rows:1fr auto;gap:var(--space-3, 12px);min-width:0}.hv-charts--fullscreen .hv-charts__chart-col{grid-template-rows:1fr}.hv-charts__chart-canvas{position:relative;min-height:0;background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-2, 6px);padding:var(--space-2, 8px);overflow:hidden}.hv-charts__busy{position:absolute;top:var(--space-3, 12px);right:var(--space-3, 12px);z-index:5;padding:4px 8px;font-size:var(--fs-xs, 11px);background:color-mix(in srgb,var(--surface-base) 90%,transparent);border-radius:var(--radius-1, 3px)}.hv-charts__placeholder{display:flex;align-items:center;justify-content:center;height:100%;padding:var(--space-6, 32px);text-align:center;font-size:var(--fs-sm, 12px)}.hv-charts__editor{min-height:0;max-height:40vh;overflow-y:auto}.hv-charts__error{color:var(--status-error);padding:var(--space-3, 12px)}.hv-charts__ann-popover{z-index:20}.hv-charts__annotations-toolbar{display:inline-flex;gap:var(--space-1, 4px);align-items:center}.hv-ann-detail{background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:0 4px 20px #0006;padding:var(--space-3);width:360px;color:var(--text-primary);display:flex;flex-direction:column;gap:var(--space-2)}.hv-ann-detail__header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-2)}.hv-ann-detail__author{font-weight:600}.hv-ann-detail__at{font-size:var(--fs-xs);font-variant-numeric:tabular-nums}.hv-ann-detail__body{font-size:var(--fs-sm)}.maplibregl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0 0 0/0)}.maplibregl-canvas{left:0;position:absolute;top:0}.maplibregl-map:fullscreen{height:100%;width:100%}.maplibregl-ctrl-group button.maplibregl-ctrl-compass{touch-action:none}.maplibregl-canvas-container.maplibregl-interactive,.maplibregl-ctrl-group button.maplibregl-ctrl-compass{cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-canvas-container.maplibregl-interactive.maplibregl-track-pointer{cursor:pointer}.maplibregl-canvas-container.maplibregl-interactive:active,.maplibregl-ctrl-group button.maplibregl-ctrl-compass:active{cursor:grabbing}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-canvas-container.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:pinch-zoom}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:none}.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures,.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-top-left,.maplibregl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.maplibregl-ctrl-top-left{left:0;top:0}.maplibregl-ctrl-top-right{right:0;top:0}.maplibregl-ctrl-bottom-left{bottom:0;left:0}.maplibregl-ctrl-bottom-right{bottom:0;right:0}.maplibregl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.maplibregl-ctrl-top-left .maplibregl-ctrl{float:left;margin:10px 0 0 10px}.maplibregl-ctrl-top-right .maplibregl-ctrl{float:right;margin:10px 10px 0 0}.maplibregl-ctrl-bottom-left .maplibregl-ctrl{float:left;margin:0 0 10px 10px}.maplibregl-ctrl-bottom-right .maplibregl-ctrl{float:right;margin:0 10px 10px 0}.maplibregl-ctrl-group{background:#fff;border-radius:4px}.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px #0000001a}@media (forced-colors:active){.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.maplibregl-ctrl-group button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;padding:0;width:29px}.maplibregl-ctrl-group button+button{border-top:1px solid #ddd}.maplibregl-ctrl button .maplibregl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (forced-colors:active){.maplibregl-ctrl-icon{background-color:transparent}.maplibregl-ctrl-group button+button{border-top:1px solid ButtonText}}.maplibregl-ctrl button::-moz-focus-inner{border:0;padding:0}.maplibregl-ctrl-attrib-button:focus,.maplibregl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl button:disabled{cursor:not-allowed}.maplibregl-ctrl button:disabled .maplibregl-ctrl-icon{opacity:.25}@media (hover:hover){.maplibregl-ctrl button:not(:disabled):hover{background-color:#0000000d}}.maplibregl-ctrl button:not(:disabled):active{background-color:#0000000d}.maplibregl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.maplibregl-ctrl-group button:focus:first-child{border-radius:4px 4px 0 0}.maplibregl-ctrl-group button:focus:last-child{border-radius:0 0 4px 4px}.maplibregl-ctrl-group button:focus:only-child{border-radius:inherit}.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-globe .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%23333' viewBox='0 0 22 22'%3E%3Ccircle cx='11' cy='11' r='8.5'/%3E%3Cpath d='M17.5 11c0 4.819-3.02 8.5-6.5 8.5S4.5 15.819 4.5 11 7.52 2.5 11 2.5s6.5 3.681 6.5 8.5Z'/%3E%3Cpath d='M13.5 11c0 2.447-.331 4.64-.853 6.206-.262.785-.562 1.384-.872 1.777-.314.399-.58.517-.775.517s-.461-.118-.775-.517c-.31-.393-.61-.992-.872-1.777C8.831 15.64 8.5 13.446 8.5 11s.331-4.64.853-6.206c.262-.785.562-1.384.872-1.777.314-.399.58-.517.775-.517s.461.118.775.517c.31.393.61.992.872 1.777.522 1.565.853 3.76.853 6.206Z'/%3E%3Cpath d='M11 7.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138q.07-.058.224-.138c.299-.151.763-.302 1.379-.434C7.378 5.666 9.091 5.5 11 5.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138q-.07.058-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428ZM4.486 6.436ZM11 16.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138 1.3 1.3 0 0 1 .224-.138c.299-.151.763-.302 1.379-.434C7.378 14.666 9.091 14.5 11 14.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138a1.3 1.3 0 0 1-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm-6.514-1.064ZM11 12.5c-2.46 0-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.5 1.5 0 0 1-.39-.272.3.3 0 0 1-.047-.064.3.3 0 0 1 .048-.064c.066-.073.189-.167.389-.272.399-.21 1.009-.413 1.805-.59C6.328 9.722 8.54 9.5 11 9.5s4.672.222 6.256.574c.795.177 1.405.38 1.804.59.2.105.323.2.39.272a.3.3 0 0 1 .047.064.3.3 0 0 1-.048.064 1.4 1.4 0 0 1-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002zm0 .018v.002zm17.002.002v-.002zm0-.018v-.002z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-globe-enabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%2333b5e5' viewBox='0 0 22 22'%3E%3Ccircle cx='11' cy='11' r='8.5'/%3E%3Cpath d='M17.5 11c0 4.819-3.02 8.5-6.5 8.5S4.5 15.819 4.5 11 7.52 2.5 11 2.5s6.5 3.681 6.5 8.5Z'/%3E%3Cpath d='M13.5 11c0 2.447-.331 4.64-.853 6.206-.262.785-.562 1.384-.872 1.777-.314.399-.58.517-.775.517s-.461-.118-.775-.517c-.31-.393-.61-.992-.872-1.777C8.831 15.64 8.5 13.446 8.5 11s.331-4.64.853-6.206c.262-.785.562-1.384.872-1.777.314-.399.58-.517.775-.517s.461.118.775.517c.31.393.61.992.872 1.777.522 1.565.853 3.76.853 6.206Z'/%3E%3Cpath d='M11 7.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138q.07-.058.224-.138c.299-.151.763-.302 1.379-.434C7.378 5.666 9.091 5.5 11 5.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138q-.07.058-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428ZM4.486 6.436ZM11 16.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138 1.3 1.3 0 0 1 .224-.138c.299-.151.763-.302 1.379-.434C7.378 14.666 9.091 14.5 11 14.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138a1.3 1.3 0 0 1-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm-6.514-1.064ZM11 12.5c-2.46 0-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.5 1.5 0 0 1-.39-.272.3.3 0 0 1-.047-.064.3.3 0 0 1 .048-.064c.066-.073.189-.167.389-.272.399-.21 1.009-.413 1.805-.59C6.328 9.722 8.54 9.5 11 9.5s4.672.222 6.256.574c.795.177 1.405.38 1.804.59.2.105.323.2.39.272a.3.3 0 0 1 .047.064.3.3 0 0 1-.048.064 1.4 1.4 0 0 1-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002zm0 .018v.002zm17.002.002v-.002zm0-.018v-.002z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-terrain .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%23333' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-terrain-enabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%2333b5e5' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23aaa' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-waiting .maplibregl-ctrl-icon{animation:maplibregl-spin 2s linear infinite}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23999' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23666' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}}@keyframes maplibregl-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.maplibregl-ctrl-logo.maplibregl-compact{width:14px}@media (forced-colors:active){a.maplibregl-ctrl-logo{background-color:transparent;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}.maplibregl-ctrl.maplibregl-ctrl-attrib{background-color:#ffffff80;margin:0;padding:0 5px}@media screen{.maplibregl-ctrl-attrib.maplibregl-compact{background-color:#fff;border-radius:12px;box-sizing:content-box;color:#000;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.maplibregl-ctrl-attrib.maplibregl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact-show,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner{display:none}.maplibregl-ctrl-attrib-button{background-color:#ffffff80;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;list-style:none}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button::-webkit-details-marker{display:none}.maplibregl-ctrl-bottom-left .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-top-left .maplibregl-ctrl-attrib-button{left:0}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner{display:block}.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button{background-color:#0000000d}.maplibregl-ctrl-bottom-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;right:0}.maplibregl-ctrl-top-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{right:0;top:0}.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{left:0;top:0}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;left:0}}@media screen and (forced-colors:active){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23fff' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}@media screen and (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}.maplibregl-ctrl-attrib a{color:#000000bf;text-decoration:none}.maplibregl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.maplibregl-attrib-empty{display:none}.maplibregl-ctrl-scale{background-color:#ffffffbf;border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px;white-space:nowrap}.maplibregl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.maplibregl-popup-anchor-top,.maplibregl-popup-anchor-top-left,.maplibregl-popup-anchor-top-right{flex-direction:column}.maplibregl-popup-anchor-bottom,.maplibregl-popup-anchor-bottom-left,.maplibregl-popup-anchor-bottom-right{flex-direction:column-reverse}.maplibregl-popup-anchor-left{flex-direction:row}.maplibregl-popup-anchor-right{flex-direction:row-reverse}.maplibregl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.maplibregl-popup-anchor-top .maplibregl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.maplibregl-popup-anchor-left .maplibregl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.maplibregl-popup-anchor-right .maplibregl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}[dir=rtl] .maplibregl-popup-anchor-left{flex-direction:row-reverse}[dir=rtl] .maplibregl-popup-anchor-right{flex-direction:row}[dir=rtl] .maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self:flex-end}[dir=rtl] .maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self:flex-start}[dir=rtl] .maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self:flex-end}[dir=rtl] .maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self:flex-start}.maplibregl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.maplibregl-popup-close-button:hover{background-color:#0000000d}.maplibregl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px #0000001a;padding:15px 10px;pointer-events:auto;position:relative}.maplibregl-popup-anchor-top-left .maplibregl-popup-content{border-top-left-radius:0}.maplibregl-popup-anchor-top-right .maplibregl-popup-content{border-top-right-radius:0}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-content{border-bottom-left-radius:0}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-content{border-bottom-right-radius:0}.maplibregl-popup-track-pointer{display:none}.maplibregl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-map:hover .maplibregl-popup-track-pointer{display:flex}.maplibregl-map:active .maplibregl-popup-track-pointer{display:none}.maplibregl-marker{left:0;position:absolute;top:0;transition:opacity .2s;will-change:transform}.maplibregl-user-location-dot,.maplibregl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.maplibregl-user-location-dot:before{animation:maplibregl-user-location-dot-pulse 2s infinite;content:"";position:absolute}.maplibregl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px #00000059;box-sizing:border-box;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px}@media (prefers-reduced-motion:reduce){.maplibregl-user-location-dot:before{animation:none}}@keyframes maplibregl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.maplibregl-user-location-dot-stale{background-color:#aaa}.maplibregl-user-location-dot-stale:after{display:none}.maplibregl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.maplibregl-crosshair,.maplibregl-crosshair .maplibregl-interactive,.maplibregl-crosshair .maplibregl-interactive:active{cursor:crosshair}.maplibregl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}.maplibregl-cooperative-gesture-screen{align-items:center;background:#0006;color:#fff;display:flex;font-size:1.4em;inset:0;justify-content:center;line-height:1.2;opacity:0;padding:1rem;pointer-events:none;position:absolute;transition:opacity 1s ease 1s;z-index:99999}.maplibregl-cooperative-gesture-screen.maplibregl-show{opacity:1;transition:opacity .05s}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:none}@media (hover:none),(pointer:coarse){.maplibregl-cooperative-gesture-screen .maplibregl-desktop-message{display:none}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:block}}.maplibregl-pseudo-fullscreen{height:100%!important;left:0!important;position:fixed!important;top:0!important;width:100%!important;z-index:99999}.hv-geopicker{width:min(920px,96vw);max-width:min(920px,96vw);height:auto;max-height:92vh}.hv-geopicker__toolbar{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap}.hv-geopicker__search{flex:1 1 240px;min-width:200px;padding:6px var(--space-2);font-size:var(--fs-sm);color:var(--text-primary);background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:var(--radius-1);box-sizing:border-box}[data-theme=light] .hv-geopicker__search{background:#fff;border-color:var(--border-strong)}.hv-geopicker__coord{flex:1 1 100%;font-size:var(--fs-xs);color:var(--text-secondary);font-variant-numeric:tabular-nums}.hv-geopicker__coord strong{color:var(--text-primary);margin-right:4px}.hv-geopicker__coord-hint{color:var(--text-muted);font-style:italic}.hv-geopicker__msg{margin:0;padding:6px var(--space-4);font-size:var(--fs-xs);color:var(--text-secondary);border-bottom:1px solid var(--border-subtle)}.hv-geopicker__msg--error{color:var(--status-error);background:color-mix(in srgb,var(--status-error) 8%,transparent)}.hv-geopicker__map-wrap{height:min(560px,60vh);min-height:360px;position:relative;width:100%}.hv-geopicker__map{position:absolute;inset:0;width:100%;height:100%}.hv-geopicker__map canvas{outline:none}.hv-geopicker__map .maplibregl-ctrl-attrib{bottom:auto;top:0;right:0}.hv-plants{display:grid;gap:var(--space-4);padding:var(--space-1) 0 var(--space-5)}.hv-plants__toolbar{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-3);background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-2)}.hv-plants__search{flex:1 1 260px;min-width:200px;display:flex;align-items:center;gap:var(--space-2)}.hv-plants__search input{flex:1;padding:6px var(--space-3);font-size:var(--fs-sm);color:var(--text-primary);background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-1);font-family:inherit}.hv-plants__search input:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}.hv-plants__filter{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);color:var(--text-secondary)}.hv-plants__filter select{padding:5px var(--space-2);font-size:var(--fs-sm);color:var(--text-primary);background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-1);font-family:inherit}.hv-plants__filter select option{background:var(--surface-panel);color:var(--text-primary)}.hv-plants__toolbar-info{margin-left:auto;font-size:var(--fs-xs);color:var(--text-muted)}.hv-plants__table{width:100%;border-collapse:separate;border-spacing:0;background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-2);overflow:hidden;font-size:var(--fs-sm)}.hv-plants__table th,.hv-plants__table td{padding:var(--space-2) var(--space-3);text-align:left;vertical-align:top;border-bottom:1px solid var(--border-subtle)}.hv-plants__table thead th{background:var(--surface-elevated);color:var(--text-secondary);font-weight:500;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.5px}.hv-plants__table tbody tr:last-child td{border-bottom:0}.hv-plants__table tbody tr:hover{background:var(--surface-hover)}.hv-plants__row-clickable{cursor:pointer}.hv-plants__name{font-weight:500;color:var(--text-primary);display:flex;flex-direction:column;gap:2px}.hv-plants__name-contact{font-weight:400;font-size:var(--fs-xs);color:var(--text-muted)}.hv-plants__address{color:var(--text-secondary);font-size:var(--fs-sm);line-height:1.4}.hv-plants__address-line{display:block}.hv-plants__lastseen{white-space:nowrap;color:var(--text-secondary)}.hv-plants__lastseen--stale{color:var(--status-warn)}.hv-plants__lastseen--absent{color:var(--text-muted);font-style:italic}.hv-plants__client{display:flex;flex-direction:column;gap:2px}.hv-plants__client-chassis{color:var(--text-primary);font-weight:500}.hv-plants__client-meta{font-size:var(--fs-xs);color:var(--text-muted)}.hv-plants__badge{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:999px;border:1px solid var(--border-subtle);font-size:var(--fs-xs);font-weight:500;color:var(--text-secondary);background:var(--surface-elevated);white-space:nowrap}.hv-plants__badge--ok{color:var(--status-ok);border-color:color-mix(in srgb,var(--status-ok) 45%,transparent);background:color-mix(in srgb,var(--status-ok) 12%,var(--surface-panel))}.hv-plants__badge--warn{color:var(--status-warn);border-color:color-mix(in srgb,var(--status-warn) 45%,transparent);background:color-mix(in srgb,var(--status-warn) 12%,var(--surface-panel))}.hv-plants__badge--error{color:var(--status-error);border-color:color-mix(in srgb,var(--status-error) 45%,transparent);background:color-mix(in srgb,var(--status-error) 12%,var(--surface-panel))}.hv-plants__badge--info{color:var(--status-info);border-color:color-mix(in srgb,var(--status-info) 45%,transparent);background:color-mix(in srgb,var(--status-info) 12%,var(--surface-panel))}.hv-plants__badge--muted{color:var(--text-muted)}.hv-plants__actions{display:flex;gap:var(--space-2);align-items:center;justify-content:flex-end;white-space:nowrap}.hv-plants__empty{padding:var(--space-4);text-align:center;color:var(--text-muted);font-size:var(--fs-sm)}.hv-plants__pager{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-2);font-size:var(--fs-sm);color:var(--text-secondary)}.hv-plants__pager-info{margin-right:auto}.hv-plants__picker{display:flex;flex-direction:column;gap:var(--space-2)}.hv-plants__picker-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-1);background:var(--surface-elevated);cursor:pointer}.hv-plants__picker-item:hover{background:var(--surface-hover)}.hv-plants__picker-item--selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface-elevated))}.hv-plants__picker-radio{margin:0}.hv-plants__picker-main{flex:1;display:flex;flex-direction:column;gap:2px}.hv-plants__picker-name{color:var(--text-primary);font-weight:500}.hv-plants__picker-meta{color:var(--text-muted);font-size:var(--fs-xs)}.hv-plants__artifact-list{display:flex;flex-direction:column;gap:4px;max-height:320px;overflow-y:auto;border:1px solid var(--border-subtle);border-radius:var(--radius-1);padding:var(--space-2);background:var(--surface-elevated)}.hv-plants__artifact-item{padding:6px var(--space-2);border-radius:var(--radius-1);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:var(--space-2)}.hv-plants__artifact-item:hover{background:var(--surface-hover)}.hv-plants__artifact-item--selected{background:color-mix(in srgb,var(--accent) 14%,var(--surface-elevated));border:1px solid var(--accent);padding:5px calc(var(--space-2) - 1px)}.hv-plants__artifact-name{color:var(--text-primary);font-weight:500}.hv-plants__artifact-meta{color:var(--text-muted);font-size:var(--fs-xs)}.hv-plants__reports{width:100%;border-collapse:collapse;font-size:var(--fs-xs);margin-top:var(--space-2)}.hv-plants__reports th,.hv-plants__reports td{padding:4px var(--space-2);border-bottom:1px solid var(--border-subtle);text-align:left}.hv-plants__mono{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-muted)}.hv-plants__form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-3)}.hv-plants__form-grid--full{grid-column:1 / -1}.hv-plants__form-section{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-subtle)}.hv-plants__client-list{display:flex;flex-direction:column;gap:var(--space-2)}.hv-plants__client-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,1.6fr);gap:var(--space-3);align-items:end;padding:var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-1);background:color-mix(in srgb,var(--surface-base) 60%,transparent)}.hv-plants__client-info{display:flex;flex-direction:column;gap:2px;min-width:0}.hv-plants__client-name{font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hv-plants__client-mqtt{font-size:var(--fs-xs);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hv-plants__form-section-title{margin:0 0 var(--space-2);font-size:var(--fs-md);color:var(--text-primary);font-weight:500}.hv-plants__th-icon{width:32px;padding-left:4px!important;padding-right:4px!important;text-align:center;font-size:0!important}.hv-plants__td-icon{width:32px;padding-left:4px!important;padding-right:4px!important;text-align:center;vertical-align:middle}.hv-plants__map-jump{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:var(--radius-1);color:var(--text-secondary);cursor:pointer;padding:4px;transition:color .1s ease,background .1s ease,border-color .1s ease}.hv-plants__map-jump:hover{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);border-color:color-mix(in srgb,var(--accent) 30%,transparent)}.hv-plants__map-jump:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hv-device-icon{display:inline-block;vertical-align:middle;color:var(--text-secondary);flex-shrink:0}.hv-device-icon--muted{color:var(--text-muted)}.hv-cmd{position:fixed;inset:0;z-index:1500;background:#0000006b;display:flex;align-items:center;justify-content:center;padding:var(--space-4);animation:hv-cmd-in .12s ease-out}.hv-cmd__card{width:min(520px,100%);max-height:calc(100vh - var(--space-4) * 2);overflow:auto;background:var(--surface-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-2);box-shadow:0 8px 32px #0000003d;display:flex;flex-direction:column}.hv-cmd__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle)}.hv-cmd__title{margin:0;font-size:var(--fs-lg);color:var(--text-primary)}.hv-cmd__close{background:transparent;border:0;color:var(--text-secondary);font-size:22px;line-height:1;cursor:pointer;padding:4px 8px;border-radius:var(--radius-1)}.hv-cmd__close:hover{background:var(--surface-hover, var(--surface-elevated));color:var(--text-primary)}.hv-cmd__meta{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--fs-sm)}.hv-cmd__meta-row{display:flex;gap:var(--space-3)}.hv-cmd__meta-label{color:var(--text-secondary);min-width:130px}.hv-cmd__meta-value{color:var(--text-primary)}.hv-cmd__banner{padding:var(--space-2) var(--space-4);font-size:var(--fs-sm);border-top:1px solid var(--border-subtle);color:var(--text-primary)}.hv-cmd__banner--elevated{background:#d29c1f24;border-left:3px solid var(--status-warn, #d29c1f)}.hv-cmd__banner--critical{background:#c73a3a24;border-left:3px solid var(--status-error, #c73a3a)}.hv-cmd__banner--safety{background:#c73a3a1a;border-left:3px solid var(--status-error, #c73a3a)}.hv-cmd__banner--force{background:#c73a3a29;border-left:3px solid var(--status-error, #c73a3a);color:var(--text-primary)}.hv-cmd__banner--force strong{color:var(--status-error, #c73a3a)}.hv-cmd__force-row{padding:var(--space-2) var(--space-4);border-top:1px solid var(--border-subtle);display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;font-size:var(--fs-sm);background:var(--surface-panel, transparent)}.hv-cmd__force-toggle{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--text-primary);cursor:pointer;user-select:none}.hv-cmd__force-toggle input:disabled+span{color:var(--text-muted);cursor:not-allowed}.hv-cmd__force-hint{color:var(--text-secondary);font-size:var(--fs-xs)}.hv-cmd__force-hint--error{color:var(--status-error, #c73a3a)}.hv-cmd__force-hint--warn{color:var(--status-warn, #d29c1f)}.hv-cmd__override-tag{margin-left:var(--space-2);padding:1px 6px;font-size:var(--fs-xs);border-radius:var(--radius-1);background:#c73a3a2e;color:var(--status-error, #c73a3a);border:1px solid var(--status-error, #c73a3a)}.hv-cmd__form{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.hv-cmd__field{display:flex;flex-direction:column;gap:var(--space-1)}.hv-cmd__label{font-size:var(--fs-sm);color:var(--text-secondary)}.hv-cmd__input{padding:6px 10px;font-size:var(--fs-md);color:var(--text-primary);background:var(--surface-panel, var(--surface-elevated));border:1px solid var(--border-strong);border-radius:var(--radius-1);font-family:inherit;outline:none}.hv-cmd__input:focus{border-color:var(--accent)}.hv-cmd__hint{margin:0;font-size:var(--fs-xs);color:var(--text-muted)}.hv-cmd__hint--error{color:var(--status-error, #c73a3a)}.hv-cmd__error{margin:0;padding:var(--space-2);background:#c73a3a1f;border:1px solid var(--status-error, #c73a3a);border-radius:var(--radius-1);color:var(--status-error, #c73a3a);font-size:var(--fs-sm)}.hv-cmd__toggle{display:inline-flex;gap:var(--space-1);border:1px solid var(--border-strong);border-radius:var(--radius-1);padding:3px;width:fit-content}.hv-cmd__toggle-btn{padding:4px 14px;border:0;background:transparent;color:var(--text-secondary);border-radius:calc(var(--radius-1) - 2px);cursor:pointer;font-family:inherit;font-size:var(--fs-sm)}.hv-cmd__toggle-btn--active{background:var(--accent);color:var(--text-on-accent)}.hv-cmd__flags{display:flex;flex-direction:column;gap:var(--space-1);max-height:200px;overflow:auto;border:1px solid var(--border-subtle);border-radius:var(--radius-1);padding:var(--space-2)}.hv-cmd__flag{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);cursor:pointer}.hv-cmd__textarea{resize:vertical;min-height:44px;font-family:inherit}.hv-cmd__footer{display:flex;justify-content:flex-end;gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border-subtle);flex-wrap:wrap}.hv-cmd__force-clear{margin-right:auto}.hv-btn--danger{background:var(--status-error, #c73a3a);color:#fff;border:1px solid var(--status-error, #c73a3a)}.hv-btn--danger:hover{filter:brightness(1.08)}.hv-btn--danger:disabled{opacity:.5;cursor:not-allowed}.hv-btn--warn{background:var(--status-warn, #d29c1f);color:#1a1a1a;border:1px solid var(--status-warn, #d29c1f)}.hv-btn--warn:hover{filter:brightness(1.08)}.hv-btn--warn:disabled{opacity:.5;cursor:not-allowed}@keyframes hv-cmd-in{0%{opacity:0}to{opacity:1}}.hv-leafcfg{position:fixed;inset:0;z-index:3000;display:flex;align-items:center;justify-content:center}.hv-leafcfg__backdrop{position:absolute;inset:0;background:#0000008c;backdrop-filter:blur(2px)}.hv-leafcfg__panel{position:relative;width:min(720px,92vw);max-height:88vh;display:flex;flex-direction:column;background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-2);box-shadow:0 20px 48px #00000080}.hv-leafcfg__header{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle)}.hv-leafcfg__header>div:first-child{flex:1 1 auto}.hv-leafcfg__title{margin:0;font-size:var(--fs-lg);font-weight:500;color:var(--text-primary)}.hv-leafcfg__subtitle{margin:4px 0 0;font-size:var(--fs-sm)}.hv-leafcfg__close{width:28px;height:28px;padding:0;background:transparent;border:0;border-radius:var(--radius-1);color:var(--text-muted);font-size:20px;cursor:pointer;flex:0 0 auto}.hv-leafcfg__close:hover{background:var(--surface-elevated);color:var(--text-primary)}.hv-leafcfg__body{padding:var(--space-3) var(--space-4);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-4)}.hv-leafcfg__section{display:flex;flex-direction:column;gap:var(--space-2)}.hv-leafcfg__section-title{margin:0;font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.hv-leafcfg__section-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-3)}.hv-leafcfg__field{display:flex;flex-direction:column;gap:4px;min-width:0}.hv-leafcfg__label{font-size:var(--fs-xs);color:var(--text-secondary);font-weight:500}.hv-leafcfg__help{font-size:10px;line-height:1.35}.hv-leafcfg__input{width:100%;padding:5px var(--space-2);font-size:var(--fs-sm);color:var(--text-primary);background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-1);font-family:inherit}.hv-leafcfg__input:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}.hv-leafcfg__input--num{font-variant-numeric:tabular-nums}.hv-leafcfg__inline-check{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);cursor:pointer;padding:5px 0}.hv-leafcfg__inline-check input{cursor:pointer}.hv-leafcfg__error{padding:var(--space-2) var(--space-3);color:var(--status-error);background:color-mix(in srgb,var(--status-error) 12%,transparent);border:1px solid color-mix(in srgb,var(--status-error) 40%,transparent);border-radius:var(--radius-1);font-size:var(--fs-sm)}.hv-leafcfg__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-subtle)}.hv-device__symbol{font-size:var(--fs-sm);color:var(--text-secondary);padding:2px var(--space-2);background:var(--surface-elevated);border-radius:var(--radius-1);border:1px solid var(--border-subtle)}.hv-device__name{font-size:var(--fs-lg);font-weight:600;color:var(--text-primary)}.hv-node{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) 0;min-height:26px;flex-wrap:wrap}.hv-node__name{font-size:var(--fs-sm);color:var(--text-primary)}.hv-leaf{display:grid;grid-template-columns:18px 18px 14px minmax(180px,1fr) var(--hv-value-cell, 160px) 130px 24px;align-items:center;gap:var(--space-2);padding:var(--space-1) 0;min-height:26px}.hv-leaf.hv-leaf--edit{grid-template-columns:18px 16px 14px minmax(180px,1fr) 28px}.hv-leaf,.hv-node__header{content-visibility:auto;contain-intrinsic-size:0 26px}.hv-leaf-wrap{display:flex;flex-direction:column}.hv-leaf__chart-toggle{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:var(--radius-1);background:transparent;color:color-mix(in srgb,var(--text-muted) 70%,transparent);cursor:pointer;transition:background-color .12s ease,color .12s ease}.hv-leaf__chart-toggle:hover{background:var(--surface-elevated);color:var(--accent)}.hv-leaf__chart-toggle--on{color:var(--accent);background:color-mix(in srgb,var(--accent) 15%,transparent)}.hv-leaf__chart-toggle--disabled{visibility:hidden;cursor:default}.hv-leaf__config-toggle{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:var(--radius-1);background:transparent;color:color-mix(in srgb,var(--text-muted) 70%,transparent);cursor:pointer;transition:background-color .12s ease,color .12s ease}.hv-leaf__config-toggle:hover{background:var(--surface-elevated);color:var(--accent)}.hv-leaf-chart-wrap{padding-right:var(--space-2)}.hv-leaf-chart{margin:var(--space-1) 0 var(--space-3);padding:var(--space-2) var(--space-3) var(--space-3);background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-2)}.hv-leaf-chart__header{display:flex;align-items:center;gap:var(--space-3);padding-bottom:var(--space-2)}.hv-leaf-chart__title{flex:1 1 auto;font-size:var(--fs-sm);color:var(--text-primary)}.hv-leaf-chart__windows{display:inline-flex;gap:4px}.hv-leaf-chart__win{padding:3px 8px;font-size:var(--fs-xs);color:var(--text-secondary);background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-1);cursor:pointer}.hv-leaf-chart__win:hover{color:var(--text-primary)}.hv-leaf-chart__win--active{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 50%,transparent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.hv-leaf-chart__close{width:24px;height:24px;padding:0;border:0;background:transparent;color:var(--text-muted);font-size:16px;cursor:pointer;border-radius:var(--radius-1)}.hv-leaf-chart__close:hover{color:var(--text-primary);background:var(--surface-elevated)}.hv-leaf-chart__legend{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-xs);color:var(--text-secondary);padding-bottom:var(--space-1)}.hv-leaf-chart__legend-agg{color:var(--text-primary);font-weight:500}.hv-leaf-chart__legend-sep{opacity:.5}.hv-leaf-chart__body{min-height:180px;position:relative}.hv-leaf-chart__msg{padding:var(--space-4);text-align:center;font-size:var(--fs-sm)}.hv-leaf-chart__msg--err{color:var(--status-error)}.hv-leaf-chart__svg{width:100%;height:180px;display:block}.hv-leaf-chart__gridline{stroke:color-mix(in srgb,var(--text-muted) 30%,transparent);stroke-width:1;stroke-dasharray:2 4}.hv-leaf-chart__frame{fill:none;stroke:var(--border-subtle);stroke-width:1}.hv-leaf-chart__axis-label{fill:var(--text-muted);font-size:10px;font-family:var(--font-mono, monospace)}.hv-leaf-chart__warn-band{fill:color-mix(in srgb,var(--status-warn) 10%,transparent)}.hv-leaf-chart__line{fill:none;stroke:var(--accent);stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}.hv-schema{--hv-value-cell: 160px}.hv-schema--spark{--hv-value-cell: 232px}.hv-schema--mmb{--hv-value-cell: 268px}.hv-schema--spark.hv-schema--mmb{--hv-value-cell: 340px}.hv-leaf__badges{display:inline-flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0}.hv-node__caret{width:18px;color:var(--text-muted);font-size:10px;cursor:pointer;padding:2px}.hv-node__caret:disabled{cursor:default}.hv-node__symbol{color:var(--text-primary);font-size:var(--fs-sm)}.hv-leaf__label{display:inline-flex;align-items:baseline;gap:var(--space-2);min-width:0}.hv-leaf__name{font-size:var(--fs-sm);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hv-leaf__meta{display:inline-flex;align-items:baseline;gap:var(--space-2);font-size:var(--fs-xs);flex:0 0 auto}.hv-leaf__symbol{font-size:var(--fs-xs);color:var(--text-muted)}.hv-leaf__marker{width:14px;color:var(--text-muted);text-align:center;font-size:10px}.hv-leaf__type-badge{display:inline-flex;align-items:center;padding:1px 6px;border-radius:999px;border:1px solid var(--border-subtle);background:var(--surface-elevated);color:var(--text-muted);font-size:10px;line-height:1.2;letter-spacing:.02em}.hv-node__children{width:100%;display:flex;flex-direction:column;border-left:1px dashed var(--border-subtle);margin-left:7px;padding-left:var(--space-2)}.hv-leaf__value{display:grid;grid-template-columns:var(--hv-value-inner, 10px 1fr);align-items:center;gap:var(--space-2);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;justify-self:stretch}.hv-schema{--hv-value-inner: 10px 1fr}.hv-schema--spark{--hv-value-inner: 56px 10px 1fr}.hv-schema--mmb{--hv-value-inner: 108px 10px 1fr}.hv-schema--spark.hv-schema--mmb{--hv-value-inner: 56px 108px 10px 1fr}.hv-leaf__spark{width:56px;height:14px;flex:0 0 auto;color:color-mix(in srgb,var(--text-secondary) 45%,transparent);display:inline-block;opacity:.75}.hv-leaf__spark--empty{visibility:hidden}.hv-leaf__spark--warn{color:var(--status-warn);opacity:.85}.hv-leaf__spark--alarm{color:var(--status-error);opacity:.9}.hv-leaf__mmb-cluster{display:inline-grid;grid-template-columns:26px 40px 26px;align-items:center;gap:4px;width:108px;height:12px;font-size:9px;font-variant-numeric:tabular-nums;color:var(--text-muted)}.hv-leaf__mmb-cluster--empty>*{visibility:hidden}.hv-leaf__mmb-label{line-height:1;white-space:nowrap;overflow:hidden}.hv-leaf__mmb-cluster .hv-leaf__mmb-label:first-child{text-align:right}.hv-leaf__mmb-cluster .hv-leaf__mmb-label:last-child{text-align:left}.hv-leaf__mmb{position:relative;width:40px;height:6px;flex:0 0 auto;background:color-mix(in srgb,var(--text-muted) 25%,transparent);border-radius:3px;overflow:hidden}.hv-leaf__mmb-zone{position:absolute;top:0;bottom:0}.hv-leaf__mmb-zone--ok{background:color-mix(in srgb,var(--status-ok) 55%,transparent)}.hv-leaf__mmb-zone--warn{background:color-mix(in srgb,var(--status-warn) 65%,transparent)}.hv-leaf__mmb-zone--error{background:color-mix(in srgb,var(--status-error) 65%,transparent)}.hv-leaf__mmb-mark{position:absolute;top:-2px;bottom:-2px;width:2px;transform:translate(-1px);background:var(--text-primary);border-radius:1px;box-shadow:0 0 0 1px color-mix(in srgb,var(--surface-base) 70%,transparent)}.hv-leaf__mmb-mark--warn{background:var(--status-warn)}.hv-leaf__mmb-mark--alarm{background:var(--status-error)}.hv-leaf__reading-cluster{display:inline-flex;align-items:baseline;justify-content:flex-end;gap:var(--space-2);min-width:0;justify-self:stretch}.hv-leaf__reading{position:relative;color:var(--text-primary);min-width:5ch;text-align:right;padding:0 var(--space-1);border-radius:var(--radius-1);overflow:hidden;white-space:nowrap}.hv-leaf__reading.muted{color:var(--text-muted)}.hv-leaf__reading-cluster--write-sending,.hv-leaf__reading-cluster--write-acked,.hv-leaf__reading-cluster--write-confirmed,.hv-leaf__reading-cluster--write-mismatched,.hv-leaf__reading-cluster--write-failed{padding:1px 6px;border-radius:3px;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;background-size:6px 1px,6px 1px,1px 6px,1px 6px;background-position:0 0,0 100%,0 0,100% 0;animation:hv-marching-ants 1.4s linear infinite}.hv-leaf__reading-cluster--write-sending{--hv-ant: color-mix(in srgb, var(--status-warn, #d0a24c) 40%, transparent);background-image:linear-gradient(90deg,var(--hv-ant) 50%,transparent 50%),linear-gradient(90deg,var(--hv-ant) 50%,transparent 50%),linear-gradient(0deg,var(--hv-ant) 50%,transparent 50%),linear-gradient(0deg,var(--hv-ant) 50%,transparent 50%);box-shadow:inset 0 0 0 999px color-mix(in srgb,var(--status-warn, #d0a24c) 4%,transparent)}.hv-leaf__reading-cluster--write-acked{--hv-ant: color-mix(in srgb, var(--ai-accent, #7c5cff) 45%, transparent);background-image:linear-gradient(90deg,var(--hv-ant) 50%,transparent 50%),linear-gradient(90deg,var(--hv-ant) 50%,transparent 50%),linear-gradient(0deg,var(--hv-ant) 50%,transparent 50%),linear-gradient(0deg,var(--hv-ant) 50%,transparent 50%);box-shadow:inset 0 0 0 999px color-mix(in srgb,var(--ai-accent, #7c5cff) 5%,transparent)}.hv-leaf__reading-cluster--write-confirmed{--hv-ant: color-mix(in srgb, var(--status-success, #62c26e) 45%, transparent);background-image:linear-gradient(90deg,var(--hv-ant) 50%,transparent 50%),linear-gradient(90deg,var(--hv-ant) 50%,transparent 50%),linear-gradient(0deg,var(--hv-ant) 50%,transparent 50%),linear-gradient(0deg,var(--hv-ant) 50%,transparent 50%);box-shadow:inset 0 0 0 999px color-mix(in srgb,var(--status-success, #62c26e) 7%,transparent);animation:hv-marching-ants 1.4s linear 0s 2}.hv-leaf__reading-cluster--write-mismatched{--hv-ant: color-mix(in srgb, var(--status-warn, #d0a24c) 65%, transparent);background-image:linear-gradient(90deg,var(--hv-ant) 50%,transparent 50%),linear-gradient(90deg,var(--hv-ant) 50%,transparent 50%),linear-gradient(0deg,var(--hv-ant) 50%,transparent 50%),linear-gradient(0deg,var(--hv-ant) 50%,transparent 50%);box-shadow:inset 0 0 0 999px color-mix(in srgb,var(--status-warn, #d0a24c) 10%,transparent);animation:none}.hv-leaf__reading-cluster--write-failed{--hv-ant: color-mix(in srgb, var(--status-alert, #d15c5c) 50%, transparent);background-image:linear-gradient(90deg,var(--hv-ant) 50%,transparent 50%),linear-gradient(90deg,var(--hv-ant) 50%,transparent 50%),linear-gradient(0deg,var(--hv-ant) 50%,transparent 50%),linear-gradient(0deg,var(--hv-ant) 50%,transparent 50%);box-shadow:inset 0 0 0 999px color-mix(in srgb,var(--status-alert, #d15c5c) 7%,transparent);animation:none}@keyframes hv-marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:6px 0,-6px 100%,0 -6px,100% 6px}}.hv-leaf__write-arrow{display:inline-flex;align-items:baseline;gap:4px;font-size:var(--fs-xs);color:var(--text-secondary, var(--text-primary));padding:0 4px;white-space:nowrap}.hv-leaf__write-arrow-tick{color:var(--ai-accent, #7c5cff);font-weight:600}.hv-leaf__reading--pending{opacity:.55;font-size:.9em}.hv-leaf__reading--flash:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(119,162,43,.05) 30%,rgba(119,162,43,.55) 50%,rgba(119,162,43,.05) 70%,transparent 100%);transform:translate(-100%);animation:hv-leaf-shine .62s ease-out;pointer-events:none;border-radius:inherit}@keyframes hv-leaf-shine{0%{transform:translate(-100%);opacity:1}70%{transform:translate(100%);opacity:1}to{transform:translate(100%);opacity:0}}.hv-leaf__bool{display:inline-flex;align-items:center;height:18px;padding:0 var(--space-2);border-radius:999px;font-size:var(--fs-xs);font-weight:600;letter-spacing:.02em;border:1px solid transparent;white-space:nowrap;line-height:1}.hv-leaf__bool--on{background:color-mix(in srgb,var(--status-ok) 18%,transparent);color:var(--status-ok);border-color:color-mix(in srgb,var(--status-ok) 45%,transparent)}.hv-leaf__bool--off{background:color-mix(in srgb,var(--status-error) 18%,transparent);color:var(--status-error);border-color:color-mix(in srgb,var(--status-error) 45%,transparent)}.hv-leaf__send{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border-radius:var(--radius-1);border:1px solid transparent;background:transparent;color:var(--text-muted);font-size:14px;cursor:pointer;transition:background-color .12s ease,color .12s ease,border-color .12s ease}.hv-leaf__send:hover,.hv-leaf__send:focus-visible{background:var(--surface-elevated);color:var(--accent);border-color:var(--border-strong);outline:none}.hv-leaf-alarm{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;font-size:10px;font-weight:700;line-height:1;color:#fff;cursor:help;user-select:none;flex:0 0 auto}.hv-leaf-alarm--warn{background:var(--status-warn)}.hv-leaf-alarm--error{background:var(--status-error);animation:hv-leaf-alarm-pulse 1.4s ease-in-out infinite}@keyframes hv-leaf-alarm-pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--status-error) 55%,transparent)}50%{box-shadow:0 0 0 4px color-mix(in srgb,var(--status-error) 0%,transparent)}}.hv-leaf__dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto;background:var(--text-muted)}.hv-leaf__dot--ok{background:var(--status-ok)}.hv-leaf__dot--warn{background:var(--status-warn)}.hv-leaf__dot--error{background:var(--status-error)}.hv-leaf__dot--info{background:var(--status-info)}.hv-leaf__spinner{width:8px;height:8px;flex:0 0 auto;border-radius:50%;border:1.5px solid var(--text-muted);border-top-color:transparent;animation:hv-leaf-spin .8s linear infinite}@keyframes hv-leaf-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hv-schema{display:flex;flex-direction:column;gap:var(--space-4)}.hv-schema-toolbar{position:sticky;top:0;z-index:5;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) 0;margin:0;background:var(--surface-base);border-bottom:1px solid var(--border-subtle)}.hv-schema-toolbar__row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.hv-schema-toolbar__row--view{gap:var(--space-4);font-size:var(--fs-xs);color:var(--text-secondary)}.hv-schema-toolbar__view-label{color:var(--text-muted);font-weight:500}.hv-schema-toolbar__filter-group{position:relative;flex:1 1 260px;min-width:220px;display:flex}.hv-schema-toolbar__filter{flex:1 1 auto;min-width:0;height:32px;padding:0 var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-1);background:var(--surface-elevated);color:var(--text-primary);font-size:var(--fs-sm)}.hv-schema-toolbar__filter:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}.hv-schema-toolbar__device-picker{display:none;position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:10;flex-wrap:wrap;gap:4px;padding:6px;border:1px solid var(--border-subtle);border-radius:var(--radius-1);background:var(--surface-panel);box-shadow:var(--shadow-2)}.hv-schema-toolbar__filter-group:focus-within .hv-schema-toolbar__device-picker,.hv-schema-toolbar__filter-group--pinned .hv-schema-toolbar__device-picker{display:flex}.hv-schema-toolbar__device-chip{display:inline-flex;align-items:center;height:24px;padding:0 10px;border:1px solid var(--border-subtle);border-radius:999px;background:var(--surface-elevated);color:var(--text-primary);font-size:var(--fs-xs);cursor:pointer;white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis}.hv-schema-toolbar__device-chip:hover{background:var(--surface-hover)}.hv-schema-toolbar__device-chip--active{background:color-mix(in srgb,var(--accent) 15%,transparent);border-color:var(--accent);color:var(--text-primary)}.hv-schema-toolbar__actions{display:inline-flex;align-items:center;gap:var(--space-2);margin-left:auto}.hv-schema-toolbar__toggle{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-xs);color:var(--text-secondary);cursor:pointer;user-select:none}.hv-schema-toolbar__toggle input{margin:0;cursor:pointer}.hv-schema--gridlines .hv-leaf{border-bottom:1px solid rgba(148,163,184,.22)}.hv-schema-body{display:flex;flex-direction:column;gap:var(--space-4)}.hv-tree-toolbar{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.hv-tree-toolbar__actions{display:inline-flex;gap:var(--space-2);margin-left:auto}.hv-tree-toolbar__btn{padding:6px 12px;font-size:var(--fs-sm);color:var(--text-secondary);background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-1);cursor:pointer;transition:background-color .12s ease-in,color .12s ease-in}.hv-tree-toolbar__btn:hover{background:var(--surface-panel);color:var(--text-primary);border-color:var(--border-strong, var(--text-muted))}.hv-freshness-legend{display:flex;flex-wrap:wrap;gap:var(--space-4);padding:var(--space-2) var(--space-3);background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-2);font-size:var(--fs-xs)}.hv-freshness-legend__item{display:inline-flex;align-items:center;gap:var(--space-2)}.hv-freshness-legend__label{color:var(--text-secondary)}.hv-node__edit-slot{display:inline-flex;gap:4px;margin-left:auto;opacity:0;transition:opacity .12s ease}.hv-node:hover>.hv-node__edit-slot{opacity:1}.hv-node__edit-btn{padding:2px 8px;font-size:var(--fs-xs);color:var(--text-secondary);background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-1);cursor:pointer;font-family:inherit}.hv-node__edit-btn:hover{color:var(--text-primary);background:var(--surface-hover, var(--surface-elevated));border-color:var(--accent)}.hv-device__rx{position:relative;display:inline-flex;align-items:center}.hv-device__rx:before{content:"";position:absolute;inset:-1px;border:2px solid var(--accent);border-radius:999px;clip-path:inset(-4px calc(100% - 12px) -4px -4px);filter:drop-shadow(0 0 3px color-mix(in srgb,var(--accent) 70%,transparent));opacity:0;pointer-events:none}.hv-device__rx--pulse:before{animation:hv-device-rx-blink .5s ease-out}@keyframes hv-device-rx-blink{0%{opacity:1}60%{opacity:1}to{opacity:0}}.hv-rx-strip{position:relative;width:120px;height:20px;overflow:hidden;flex:0 0 auto;pointer-events:none;background:linear-gradient(to left,color-mix(in srgb,var(--border-subtle) 55%,transparent) 0,color-mix(in srgb,var(--border-subtle) 25%,transparent) 60%,transparent 100%);background-size:100% 1px;background-position:0 50%;background-repeat:no-repeat}.hv-rx-strip__tick{position:absolute;right:0;width:1.5px;background:color-mix(in srgb,var(--accent) 80%,transparent);border-radius:1px;animation:hv-rx-strip-slide .7s linear forwards;will-change:transform,opacity}@keyframes hv-rx-strip-slide{0%{transform:translate(0);opacity:.7}to{transform:translate(-120px);opacity:0}}.hv-tree-toolbar__btn--active{background:color-mix(in srgb,var(--ai-accent, #7c5cff) 20%,transparent);border-color:color-mix(in srgb,var(--ai-accent, #7c5cff) 45%,transparent);color:var(--text-primary)}.hv-schema-edit__handle{display:inline-block;padding:0 4px;margin-right:2px;color:var(--text-muted);cursor:grab;user-select:none;font-size:.9em;line-height:1}.hv-schema-edit__handle:active{cursor:grabbing}.hv-schema-edit__handle--leaf{color:color-mix(in srgb,var(--text-muted) 70%,transparent)}.hv-schema-edit__pencil{background:transparent;border:0;color:var(--text-muted);cursor:pointer;padding:0 4px;font-size:.85em;line-height:1}.hv-schema-edit__pencil:hover{color:var(--text-primary)}.hv-schema-edit__trash{background:transparent;border:0;color:color-mix(in srgb,var(--status-alert, #d15c5c) 70%,transparent);cursor:pointer;padding:0 4px;font-size:.95em;line-height:1}.hv-schema-edit__trash:hover{color:var(--status-alert, #d15c5c)}.hv-schema-edit__check{display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.hv-schema-edit__selcount{font-size:var(--fs-sm);color:var(--text-secondary);padding:0 8px}.hv-tree-toolbar__btn--danger{color:var(--status-alert, #d15c5c);border-color:color-mix(in srgb,var(--status-alert, #d15c5c) 45%,transparent)}.hv-tree-toolbar__btn--danger:hover{background:color-mix(in srgb,var(--status-alert, #d15c5c) 15%,transparent)}.hv-schema-edit__root-drop{padding:6px 12px;border:1px dashed var(--border-subtle);border-radius:4px;color:var(--text-muted);font-size:var(--fs-xs);text-align:center;background:color-mix(in srgb,var(--surface-hover) 40%,transparent);margin-bottom:4px}.hv-schema-edit__root-drop--active{border-color:var(--ai-accent, #7c5cff);border-style:solid;background:color-mix(in srgb,var(--ai-accent, #7c5cff) 18%,transparent);color:var(--text-primary)}.hv-schema-edit__rename{padding:2px 6px;border:1px solid var(--ai-accent, #7c5cff);border-radius:4px;background:var(--surface-base);color:var(--text-primary);font-size:inherit;font-family:inherit;min-width:12em}.hv-node__header{display:flex;align-items:center;gap:4px;min-width:0;flex-wrap:nowrap;white-space:nowrap}.hv-node--drop-target{outline:2px dashed color-mix(in srgb,var(--ai-accent, #7c5cff) 55%,transparent);outline-offset:-2px;border-radius:4px;background:color-mix(in srgb,var(--ai-accent, #7c5cff) 10%,transparent)}.hv-device__sync-banner{display:flex;align-items:center;gap:10px;padding:10px 12px;margin-bottom:var(--space-2);border:1px solid color-mix(in srgb,var(--status-warn) 45%,var(--border-subtle));border-radius:var(--radius-1);background:color-mix(in srgb,var(--status-warn) 12%,var(--surface-elevated));color:var(--text-primary)}.hv-device__sync-anim{display:inline-flex;align-items:center;flex:0 0 auto}.hv-device__sync-copy strong{display:block;font-size:var(--fs-sm);color:var(--text-primary)}.hv-device__sync-note{margin-top:2px;font-size:var(--fs-xs);color:var(--text-secondary);line-height:1.5}.hv-plant-shell{display:flex;flex-direction:column;width:calc(100% + 2 * var(--space-3));margin:0 calc(-1 * var(--space-3)) calc(-1 * var(--space-3));height:calc(100vh - var(--topbar-height) - 84px);min-height:400px;overflow:hidden}.hv-plant-shell__empty{padding:var(--space-4);color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-2);background:var(--surface-panel)}.hv-plant-shell__terminal{display:flex;flex-direction:column;flex:1;min-height:0;background:var(--surface-panel);border:0;border-radius:0;overflow:hidden}.hv-plant-shell__toolbar{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--surface-elevated);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap}.hv-plant-shell__toolbar-field{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);color:var(--text-secondary)}.hv-plant-shell__toolbar-field select{padding:4px 8px;font-size:var(--fs-sm);background:var(--surface-base);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-2)}.hv-plant-shell__toolbar-field select:disabled{opacity:.6}.hv-plant-shell__btn{padding:5px 12px;font-size:var(--fs-sm);background:var(--surface-base);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-2);cursor:pointer}.hv-plant-shell__btn:hover{background:var(--surface-hover)}.hv-plant-shell__btn:disabled{opacity:.5;cursor:not-allowed}.hv-plant-shell__btn--primary{background:var(--accent);color:var(--accent-contrast, #fff);border-color:var(--accent)}.hv-plant-shell__btn--primary:hover{background:var(--accent-hover)}.hv-plant-shell__badge{padding:4px 10px;font-size:var(--fs-xs);background:var(--surface-base);color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:999px}.hv-plant-shell__banner{padding:var(--space-2) var(--space-3);font-size:var(--fs-sm);color:var(--text-primary);background:var(--surface-elevated);border-bottom:1px solid var(--border-subtle)}.hv-plant-shell__banner--warn{background:color-mix(in srgb,var(--status-warn) 12%,var(--surface-elevated));color:var(--text-primary);border-bottom-color:var(--status-warn)}.hv-plant-shell__screen{flex:1;min-height:0;padding:var(--space-3);overflow-y:auto;background:var(--surface-base);font-family:var(--font-mono);font-size:var(--fs-sm);line-height:1.45;color:var(--text-primary);scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--text-muted) 55%,transparent) transparent}.hv-plant-shell__screen::-webkit-scrollbar{width:10px;height:10px}.hv-plant-shell__screen::-webkit-scrollbar-track{background:transparent}.hv-plant-shell__screen::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--text-muted) 40%,transparent);border-radius:999px;border:2px solid transparent;background-clip:padding-box}.hv-plant-shell__screen::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--text-secondary) 70%,transparent);background-clip:padding-box}.hv-plant-shell__screen::-webkit-scrollbar-button{display:none}.hv-plant-shell__hint{padding:var(--space-3);margin-bottom:var(--space-3);color:var(--text-secondary);background:var(--surface-panel);border:1px dashed var(--border-subtle);border-radius:var(--radius-2);font-family:var(--font-sans);font-size:var(--fs-xs);line-height:1.5}.hv-plant-shell__row{margin-bottom:var(--space-3)}.hv-plant-shell__row:last-child{margin-bottom:0}.hv-plant-shell__row-cmd{display:flex;gap:var(--space-2);align-items:baseline}.hv-plant-shell__row-code{font-family:var(--font-mono);white-space:pre-wrap;word-break:break-all}.hv-plant-shell__row-inflight{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-muted);font-style:italic}.hv-plant-shell__row-out{margin:2px 0 0 calc(1ch + var(--space-2));padding:0;font-family:var(--font-mono);font-size:var(--fs-sm);line-height:1.45;color:var(--text-primary);background:transparent;border:0;white-space:pre-wrap;word-break:break-word}.hv-plant-shell__row-out--err{color:color-mix(in srgb,var(--status-error) 80%,var(--text-primary))}.hv-plant-shell__row-meta{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:2px;padding-left:calc(1ch + var(--space-2));font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-muted)}.hv-plant-shell__row-meta--ok>span:first-child{color:var(--status-ok)}.hv-plant-shell__row-meta--warn>span:first-child{color:var(--status-warn)}.hv-plant-shell__row-meta--error>span:first-child{color:var(--status-error)}.hv-plant-shell__row-meta-warn{color:var(--status-warn)}.hv-plant-shell__row-meta-hash{color:var(--text-muted);cursor:help;opacity:.7}.hv-plant-shell__row-meta-hash:hover{opacity:1}.hv-plant-shell__input-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--surface-base);border-top:1px solid color-mix(in srgb,var(--border-subtle) 60%,transparent)}.hv-plant-shell__prompt{font-family:var(--font-mono);color:var(--accent);font-weight:600;user-select:none}.hv-plant-shell__prompt--dim{color:var(--text-muted);font-weight:400}.hv-plant-shell__input{flex:1;padding:2px 0;font-family:var(--font-mono);font-size:var(--fs-sm);line-height:1.5;background:transparent;color:var(--text-primary);caret-color:var(--accent);border:0;outline:none}.hv-plant-shell__input:focus{outline:none}.hv-plant-shell__input::selection{background:color-mix(in srgb,var(--accent) 30%,transparent)}.hv-plant-shell__input::placeholder{color:var(--text-muted)}.hv-plant-shell__syn-command{color:var(--accent);font-weight:600}.hv-plant-shell__syn-keyword{color:color-mix(in srgb,var(--accent) 60%,var(--text-primary));font-weight:600}.hv-plant-shell__syn-flag{color:var(--status-info)}.hv-plant-shell__syn-string{color:var(--status-warn)}.hv-plant-shell__syn-variable{color:color-mix(in srgb,var(--status-info) 70%,var(--text-primary));font-style:italic}.hv-plant-shell__syn-operator{color:var(--text-secondary)}.hv-plant-shell__syn-comment{color:var(--text-muted);font-style:italic}.hv-plant-shell__syn-number{color:var(--status-info)}.hv-updates{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:var(--space-4);align-items:start;padding:var(--space-1) 0 var(--space-5);min-height:60vh}@media (max-width: 900px){.hv-updates{grid-template-columns:1fr}}.hv-updates__empty{color:var(--text-secondary);font-size:var(--fs-md);padding:var(--space-5);text-align:center}.hv-updates__hint{color:var(--text-secondary);font-size:var(--fs-sm);margin:var(--space-3) var(--space-3)}.hv-updates__hint--error{color:var(--status-error)}.hv-updates__hint a{color:var(--accent);text-decoration:none}.hv-updates__hint a:hover{text-decoration:underline}.hv-updates__master{background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-2);overflow:hidden;display:flex;flex-direction:column;max-height:calc(100vh - 200px)}.hv-updates__master-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle);background:var(--surface-elevated)}.hv-updates__master-title{font-size:var(--fs-md);font-weight:600;color:var(--text-primary)}.hv-updates__master-count{font-size:var(--fs-xs);color:var(--text-secondary);background:var(--surface-panel);padding:1px var(--space-2);border-radius:999px}.hv-updates__master-list{overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2)}.hv-updates__empty-block{padding:var(--space-4) var(--space-3);color:var(--text-primary);font-size:var(--fs-sm);line-height:1.5}.hv-updates__empty-block p{margin:0 0 var(--space-2)}.hv-updates__card{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3);background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-2);cursor:pointer;text-align:left;color:var(--text-primary);font:inherit;transition:background .12s ease,border-color .12s ease}.hv-updates__card:hover{background:var(--surface-hover)}.hv-updates__card--selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface-panel))}.hv-updates__card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hv-updates__card-head{display:flex;align-items:center;gap:var(--space-2)}.hv-updates__card-kind{font-size:var(--fs-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;flex:1}.hv-updates__card-title{display:flex;align-items:baseline;gap:var(--space-2);min-width:0}.hv-updates__card-artifact{font-size:var(--fs-md);color:var(--text-primary);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.hv-updates__card-version{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-secondary);flex-shrink:0}.hv-updates__card-meta{display:flex;justify-content:space-between;gap:var(--space-2);font-size:var(--fs-xs);color:var(--text-secondary)}.hv-updates__card-client{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.hv-updates__card-time{flex-shrink:0}.hv-updates__kind-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:var(--radius-1);font-size:var(--fs-xs);font-weight:700;color:var(--text-on-accent);background:var(--accent);flex-shrink:0}.hv-updates__kind-icon--androidapk{background:var(--status-ok)}.hv-updates__kind-icon--androidsystemota{background:var(--status-info)}.hv-updates__kind-icon--configfile{background:var(--status-warn);color:var(--surface-base)}.hv-updates__kind-icon--certbundle{background:var(--accent)}.hv-updates__kind-icon--climatixucf{background:var(--status-error)}.hv-updates__kind-icon--genericblob{background:var(--text-secondary);color:var(--surface-base)}.hv-updates__detail{background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-2);padding:var(--space-5);min-height:400px;display:flex;flex-direction:column}.hv-updates__detail-placeholder{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:var(--fs-md)}.hv-updates__detail-panel{display:flex;flex-direction:column;gap:var(--space-4)}.hv-updates__detail-head{display:flex;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;padding-bottom:var(--space-4);border-bottom:1px solid var(--border-subtle)}.hv-updates__detail-head-main{display:flex;flex-direction:column;gap:var(--space-2);min-width:0;flex:1}.hv-updates__detail-head-side{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-2)}.hv-updates__detail-kind{display:flex;align-items:center;gap:var(--space-2)}.hv-updates__detail-kind-label{font-size:var(--fs-xs);text-transform:uppercase;color:var(--text-secondary);letter-spacing:.03em}.hv-updates__detail-title{font-size:var(--fs-xl);font-weight:600;margin:0;color:var(--text-primary)}.hv-updates__detail-version{font-family:var(--font-mono);font-size:var(--fs-md);color:var(--text-secondary);font-weight:400}.hv-updates__detail-sub{display:flex;gap:var(--space-2);flex-wrap:wrap;font-size:var(--fs-sm);color:var(--text-secondary)}.hv-updates__detail-sub strong{color:var(--text-primary);font-weight:500}.hv-updates__detail-sep{color:var(--text-muted)}.hv-updates__rollout-id{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-xs)}.hv-updates__rollout-id-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.hv-updates__rollout-id-value{font-family:var(--font-mono);color:var(--text-primary);background:var(--surface-elevated);padding:1px var(--space-2);border-radius:var(--radius-1)}.hv-updates__copy{appearance:none;background:transparent;border:1px solid var(--border-subtle);color:var(--text-primary);font:inherit;font-size:var(--fs-xs);padding:2px var(--space-2);border-radius:var(--radius-1);cursor:pointer}.hv-updates__copy:hover{background:var(--surface-hover);border-color:var(--border-strong)}.hv-updates__timeline-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);color:var(--text-primary);font-size:var(--fs-md);font-weight:600}.hv-updates__timeline-sub{font-weight:400;font-size:var(--fs-xs);color:var(--text-secondary)}.hv-updates__timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0;position:relative}.hv-updates__timeline:before{content:"";position:absolute;left:7px;top:12px;bottom:12px;width:1px;background:var(--border-subtle)}.hv-updates__timeline-item{display:grid;grid-template-columns:16px 1fr;gap:var(--space-3);align-items:flex-start;padding:var(--space-2) 0;position:relative}.hv-updates__timeline-dot{width:14px;height:14px;border-radius:50%;background:var(--text-secondary);border:2px solid var(--surface-panel);margin-top:4px;z-index:1;position:relative}.hv-updates__timeline-item--ok .hv-updates__timeline-dot{background:var(--status-ok)}.hv-updates__timeline-item--warn .hv-updates__timeline-dot{background:var(--status-warn)}.hv-updates__timeline-item--err .hv-updates__timeline-dot{background:var(--status-error)}.hv-updates__timeline-item--neutral .hv-updates__timeline-dot{background:var(--text-secondary)}.hv-updates__timeline-body{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.hv-updates__timeline-row{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.hv-updates__timeline-time{font-size:var(--fs-xs);color:var(--text-secondary)}.hv-updates__timeline-error{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--status-error);background:color-mix(in srgb,var(--status-error) 10%,var(--surface-panel));border:1px solid color-mix(in srgb,var(--status-error) 30%,var(--border-subtle));border-radius:var(--radius-1);padding:var(--space-1) var(--space-2);margin:0;overflow-wrap:anywhere}.hv-updates__badge{display:inline-block;padding:2px var(--space-2);border-radius:999px;background:var(--surface-elevated);border:1px solid var(--border-subtle);font-size:var(--fs-xs);color:var(--text-primary);font-weight:500;white-space:nowrap}.hv-updates__badge--large{font-size:var(--fs-sm);padding:var(--space-1) var(--space-3)}.hv-updates__badge--ok{background:color-mix(in srgb,var(--status-ok) 18%,var(--surface-elevated));border-color:var(--status-ok)}.hv-updates__badge--warn{background:color-mix(in srgb,var(--status-warn) 18%,var(--surface-elevated));border-color:var(--status-warn)}.hv-updates__badge--err{background:color-mix(in srgb,var(--status-error) 18%,var(--surface-elevated));border-color:var(--status-error)}.hv-updates__badge--neutral{background:var(--surface-elevated);border-color:var(--border-subtle);color:var(--text-secondary)}.hv-templates{display:grid;grid-template-columns:minmax(320px,380px) 1fr;gap:var(--space-3);padding:var(--space-3) 0;margin-left:calc(-1 * var(--space-3));height:100%;min-height:0;box-sizing:border-box;align-items:start}.hv-templates__side{display:flex;flex-direction:column;gap:var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-2);background:var(--surface-panel);padding:var(--space-2);max-height:calc(100vh - 140px);min-height:400px;overflow:hidden}.hv-templates__side-head{display:flex;flex-direction:column;gap:var(--space-2);padding-bottom:var(--space-1);border-bottom:1px solid var(--border-subtle)}.hv-templates__search{padding:8px 10px;font-size:var(--fs-sm);border:1px solid var(--border-subtle);border-radius:var(--radius-1);background:var(--surface-base);color:var(--text-primary)}.hv-templates__search:focus{outline:2px solid var(--accent);outline-offset:-1px}.hv-templates__chips{display:flex;flex-wrap:wrap;gap:6px}.hv-templates__chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;font-size:var(--fs-xs);border:1px solid var(--border-subtle);border-radius:999px;background:transparent;color:var(--text-secondary);cursor:pointer}.hv-templates__chip:hover{background:var(--surface-base)}.hv-templates__chip--active{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast, white)}.hv-templates__chip-count{padding:1px 6px;border-radius:999px;background:#ffffff26;font-size:11px;font-weight:500}.hv-templates__chip--active .hv-templates__chip-count{background:#ffffff40}.hv-templates__list{list-style:none;padding:0;margin:0;overflow-y:auto;display:flex;flex-direction:column;gap:4px;flex-grow:1}.hv-templates__muted{padding:var(--space-2);color:var(--text-secondary);font-size:var(--fs-sm);line-height:1.5}.hv-templates__item{width:100%;display:flex;flex-direction:column;gap:4px;padding:var(--space-2);border:1px solid transparent;border-radius:var(--radius-1);background:transparent;color:var(--text-primary);text-align:left;cursor:pointer}.hv-templates__item:hover{background:var(--surface-base)}.hv-templates__item--active{background:color-mix(in oklab,var(--accent) 12%,transparent);border-color:var(--accent)}.hv-templates__item-title{display:flex;align-items:center;gap:8px;justify-content:space-between}.hv-templates__item-name{font-size:var(--fs-md);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}.hv-templates__item-meta{display:flex;align-items:center;gap:10px;font-size:var(--fs-xs);color:var(--text-secondary)}.hv-templates__item-date{margin-left:auto}.hv-templates__scope{padding:2px 8px;border-radius:999px;font-size:11px;font-weight:500;white-space:nowrap}.hv-templates__scope--tenant{background:color-mix(in oklab,var(--accent) 15%,transparent);color:var(--accent);border:1px solid color-mix(in oklab,var(--accent) 30%,transparent)}.hv-templates__scope--global{background:#9b59b626;color:#b565d9;border:1px solid rgba(155,89,182,.3)}.hv-templates__detail{border:1px solid var(--border-subtle);border-radius:var(--radius-2);background:var(--surface-panel);padding:var(--space-3);max-height:calc(100vh - 140px);overflow-y:auto}.hv-templates__empty{padding:var(--space-4) var(--space-2);text-align:center}.hv-templates__detail-body{display:flex;flex-direction:column;gap:var(--space-3)}.hv-templates__detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-subtle)}.hv-templates__detail-title{margin:0;font-size:var(--fs-xl);font-weight:600;display:flex;align-items:baseline;gap:12px}.hv-templates__detail-title-input{font:inherit;color:inherit;padding:2px 8px;min-width:260px;background:var(--surface-panel, #fff);border:1px solid var(--accent, #3b82f6);border-radius:6px;outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent, #3b82f6) 20%,transparent)}.hv-templates__detail-title-input:disabled{opacity:.6}.hv-templates__detail-version{font-size:var(--fs-md);color:var(--text-secondary);font-weight:500}.hv-templates__detail-sub{display:flex;align-items:center;gap:10px;margin-top:6px;font-size:var(--fs-sm);color:var(--text-secondary);flex-wrap:wrap}.hv-templates__detail-desc{margin:8px 0 0;font-size:var(--fs-sm);color:var(--text-primary);line-height:1.5}.hv-templates__detail-actions{flex-shrink:0}.hv-templates__badge{padding:2px 8px;border-radius:999px;font-size:11px;font-weight:500}.hv-templates__badge--creds{background:color-mix(in oklab,var(--status-ok, #4caf50) 15%,transparent);color:var(--status-ok, #4caf50);border:1px solid color-mix(in oklab,var(--status-ok, #4caf50) 30%,transparent)}.hv-templates__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-2)}.hv-templates__card{border:1px solid var(--border-subtle);border-radius:var(--radius-1);background:var(--surface-raised, var(--surface-base));padding:var(--space-2) var(--space-3)}.hv-templates__card-title{font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:8px}.hv-templates__dl{display:grid;grid-template-columns:max-content 1fr;gap:4px 12px;margin:0;font-size:var(--fs-sm)}.hv-templates__dl dt{color:var(--text-secondary)}.hv-templates__dl dd{margin:0;color:var(--text-primary);overflow-wrap:anywhere}.hv-templates__body-details summary{cursor:pointer;padding:8px 12px;font-size:var(--fs-sm);color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-1);background:var(--surface-raised, var(--surface-base))}.hv-templates__body-details[open] summary{border-bottom-left-radius:0;border-bottom-right-radius:0}.hv-templates__body{margin:0;max-height:500px;overflow:auto;padding:var(--space-2);border:1px solid var(--border-subtle);border-top:0;border-radius:0 0 var(--radius-1) var(--radius-1);background:var(--surface-base);font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-all}:root{--accent: #77A22B;--accent-hover: #8AB935;--accent-muted: #A4CE4E;--accent-contrast: #16191D;--ai-accent: #7c5cff;--ai-accent-muted: #9d85ff;--surface-base: #16191D;--surface-panel: #1D2126;--surface-elevated: #252A31;--surface-hover: #2E343B;--border-subtle: #2E343B;--border-strong: #3A4048;--text-primary: #E2E5EA;--text-secondary: #8A929E;--text-muted: #565E67;--text-on-accent: #16191D;--status-ok: #77A22B;--status-warn: #E8A93D;--status-error: #E24A5F;--status-info: #4FA3E1;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--radius-1: 3px;--radius-2: 6px;--radius-3: 10px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, "Liberation Mono", monospace;--fs-xs: 11px;--fs-sm: 12px;--fs-md: 13px;--fs-lg: 15px;--fs-xl: 18px;--fs-2xl: 22px;--shadow-1: 0 1px 2px rgba(0, 0, 0, .35);--shadow-2: 0 4px 12px rgba(0, 0, 0, .4);--sidebar-width: 240px;--topbar-height: 48px}[data-theme=light]{--surface-base: #EDF0F3;--surface-panel: #E1E5EA;--surface-elevated: #D6DBE1;--surface-hover: #CBD0D7;--border-subtle: #C4C9D0;--border-strong: #ACB2BB;--text-primary: #16191D;--text-secondary: #4A5058;--text-muted: #8A929E;--text-on-accent: #FFFFFF;--ai-accent: #6742e8;--ai-accent-muted: #8b6df0;--shadow-1: 0 1px 2px rgba(20, 24, 30, .08);--shadow-2: 0 4px 12px rgba(20, 24, 30, .12)}@media (prefers-color-scheme: light){:root:not([data-theme=dark]){--surface-base: #EDF0F3;--surface-panel: #E1E5EA;--surface-elevated: #D6DBE1;--surface-hover: #CBD0D7;--border-subtle: #C4C9D0;--border-strong: #ACB2BB;--text-primary: #16191D;--text-secondary: #4A5058;--text-muted: #8A929E;--text-on-accent: #FFFFFF;--ai-accent: #6742e8;--ai-accent-muted: #8b6df0;--shadow-1: 0 1px 2px rgba(20, 24, 30, .08);--shadow-2: 0 4px 12px rgba(20, 24, 30, .12)}}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0}ul[role=list],ol[role=list]{list-style:none;padding:0;margin:0}a{color:inherit;text-decoration:none}img,picture,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}button{background:none;border:0;cursor:pointer;padding:0}table{border-collapse:collapse;border-spacing:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}html,body{background:var(--surface-base);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--fs-md)}html{user-select:none;-webkit-user-select:none}.hv-selectable,.hv-selectable *,.mono,.hv-leaf__reading,.hv-alarms__msg,.hv-leaf__label,.hv-node__name,.hv-device__name,.hv-ai-console__bubble,.hv-ai-modal__rationale,.hv-ai-dashboard-widget__title,.hv-ai-dashboard-widget__leaves,.hv-discovery__preview,.hv-discovery__preview *,input,textarea,select,[contenteditable],[contenteditable] *{user-select:text;-webkit-user-select:text}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-2);border:2px solid var(--surface-base)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}h1{font-size:var(--fs-2xl);font-weight:600;letter-spacing:-.01em}h2{font-size:var(--fs-xl);font-weight:600}h3{font-size:var(--fs-lg);font-weight:600}code,pre,kbd,samp{font-family:var(--font-mono);font-size:var(--fs-sm)}hr{border:0;border-top:1px solid var(--border-subtle);margin:var(--space-4) 0}.stack-2{display:flex;flex-direction:column;gap:var(--space-2)}.stack-3{display:flex;flex-direction:column;gap:var(--space-3)}.stack-4{display:flex;flex-direction:column;gap:var(--space-4)}.row-2{display:flex;gap:var(--space-2);align-items:center}.row-3{display:flex;gap:var(--space-3);align-items:center}.grow{flex:1 1 auto}.muted{color:var(--text-muted)}.secondary{color:var(--text-secondary)}.mono{font-family:var(--font-mono)}.hv-kv{display:grid;grid-template-columns:max-content 1fr;gap:4px 12px;margin:0}.hv-kv dt{color:var(--text-muted);font-size:var(--fs-sm)}.hv-kv dd{margin:0;color:var(--text-primary);font-size:var(--fs-sm);overflow-wrap:anywhere}:root{--hv-sheen: rgba(226, 229, 234, .55) }[data-theme=light]{--hv-sheen: rgba(22, 25, 29, .26) }@media (prefers-color-scheme: light){:root:not([data-theme=dark]){--hv-sheen: rgba(22, 25, 29, .26) }}@keyframes hv-draw{0%{stroke-dashoffset:48}to{stroke-dashoffset:0}}@keyframes hv-shake{0%,to{transform:translate(0)}20%{transform:translate(-2px)}40%{transform:translate(2px)}60%{transform:translate(-1.5px)}80%{transform:translate(1.5px)}}@keyframes hv-halo{0%{transform:scale(.72);opacity:.55}70%{transform:scale(1.18);opacity:0}to{opacity:0}}@keyframes hv-blink{0%,to{opacity:.28}50%{opacity:1}}@keyframes hv-spin{to{transform:rotate(360deg)}}@keyframes hv-dot{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}@keyframes hv-slide{0%{transform:translate(-120%)}to{transform:translate(320%)}}@keyframes hv-step{0%,to{opacity:.2}18%,60%{opacity:1}}@keyframes hv-puff{0%{transform:scale(.2);opacity:0}25%{opacity:1}to{transform:scale(1.9);opacity:0}}@keyframes hv-ack{0%{transform:translate(-6px);opacity:0}45%{transform:translate(0);opacity:1}to{transform:translate(0);opacity:1}}@keyframes hv-float{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes hv-glow{0%,to{opacity:.16}50%{opacity:.46}}@keyframes hv-rise{0%{transform:translateY(9px) scale(.5);opacity:0}30%{opacity:1}to{transform:translateY(-11px) scale(1);opacity:0}}@keyframes hv-twinkle{0%,to{transform:scale(.5);opacity:.25}50%{transform:scale(1.2);opacity:1}}@keyframes hv-grow{0%{opacity:0}12%{opacity:1}92%{opacity:1}to{opacity:0}}@keyframes hv-fly{0%{transform:translate(11px,-9px);opacity:0}40%{opacity:1}75%,to{transform:translate(0);opacity:1}}@keyframes hv-chart{0%{stroke-dashoffset:96}55%,to{stroke-dashoffset:0}}@keyframes hv-pin{0%{transform:translateY(-15px);opacity:0}50%{transform:translateY(0);opacity:1}64%{transform:translateY(-4px)}78%{transform:translateY(0)}to{transform:translateY(0);opacity:1}}@keyframes hv-ripple{0%{transform:scale(.3);opacity:.7}to{transform:scale(1.6);opacity:0}}@keyframes hv-morph-out{0%,42%{opacity:1}58%,to{opacity:0}}@keyframes hv-morph-in{0%,42%{opacity:0}58%,to{opacity:1}}@keyframes hv-stream{to{stroke-dashoffset:-18}}@keyframes hv-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes hv-key{0%,to{transform:rotate(0)}45%,70%{transform:rotate(90deg)}}@keyframes hv-pop{0%{opacity:0;transform:scale(.3)}16%{opacity:1;transform:scale(1.18)}24%,86%{transform:scale(1);opacity:1}to{opacity:0;transform:scale(1)}}@keyframes hv-flow{to{stroke-dashoffset:-22}}@keyframes hv-ring{0%{stroke-dashoffset:232}72%,to{stroke-dashoffset:64}}@keyframes hv-handle{0%,12%{transform:translate(0)}55%,to{transform:translate(26px)}}@keyframes hv-draw-l{0%{stroke-dashoffset:210}62%,to{stroke-dashoffset:0}}@keyframes hv-wifi{0%,to{opacity:.18}50%{opacity:1}}@keyframes hv-broom{0%,to{transform:translate(-7px) rotate(-9deg)}50%{transform:translate(7px) rotate(9deg)}}@keyframes hv-lock{0%,to{opacity:.3}50%{opacity:1}}@keyframes hv-scan-v{0%{transform:translateY(0);opacity:0}12%{opacity:1}88%{opacity:1}to{transform:translateY(54px);opacity:0}}@keyframes hv-scanline{0%{transform:translateY(0);opacity:0}8%{opacity:.55}92%{opacity:.55}to{transform:translateY(54px);opacity:0}}@keyframes hv-shimmer{0%{transform:translate(-100%)}to{transform:translate(220%)}}.hv-draw{stroke-dasharray:48;animation:hv-draw .5s cubic-bezier(.2,.8,.3,1) .1s both}.hv-draw.hv-d2{animation-delay:.28s;animation-duration:.3s;animation-timing-function:linear}.hv-draw.hv-late{animation:hv-draw .45s cubic-bezier(.2,.8,.3,1) 1s infinite}.hv-shake{animation:hv-shake .45s ease-in-out .05s both}.hv-halo{animation:hv-halo 1.8s ease-out infinite;transform-origin:center;fill:none}.hv-blink{animation:hv-blink 1.5s ease-in-out infinite}.hv-spin{animation:hv-spin 1s linear infinite;transform-origin:center}.hv-spin-slow{animation:hv-spin 3.6s linear infinite;transform-origin:center}.hv-sweep{animation:hv-spin 2s linear infinite;transform-origin:center}.hv-dot{animation:hv-dot 1.3s ease-in-out infinite;transform-origin:center}.hv-puff{animation:hv-puff 2.2s ease-out infinite;transform-origin:center}.hv-ack{animation:hv-ack 2s ease-in-out infinite}.hv-step{animation:hv-step 3.2s linear infinite}.hv-float{animation:hv-float 4s ease-in-out infinite}.hv-cloud-glow{animation:hv-glow 1.5s ease-in-out infinite}.hv-rise{animation:hv-rise 1.6s linear infinite}.hv-orbit{animation:hv-spin 4.5s linear infinite;transform-origin:24px 25px}.hv-twinkle{animation:hv-twinkle 2s ease-in-out infinite;transform-origin:center}.hv-grow{animation:hv-grow 3s linear infinite}.hv-scanline{animation:hv-scanline 3.2s cubic-bezier(.6,.1,.4,.9) infinite}.hv-fly{animation:hv-fly 2.4s cubic-bezier(.3,.9,.3,1) infinite}.hv-chart{stroke-dasharray:96;animation:hv-chart 2.8s ease-in-out infinite}.hv-pin{animation:hv-pin 1.8s cubic-bezier(.4,1.6,.5,1) infinite}.hv-ripple{animation:hv-ripple 1.6s ease-out infinite;transform-origin:center;fill:none}.hv-morph-out{animation:hv-morph-out 3s ease-in-out infinite}.hv-morph-in{animation:hv-morph-in 3s ease-in-out infinite}.hv-stream{animation:hv-stream .9s linear infinite}.hv-bounce{animation:hv-bounce 1.4s ease-in-out infinite}.hv-key{animation:hv-key 2.4s ease-in-out infinite}.hv-scan-v{animation:hv-scan-v 1.9s linear infinite}.hv-pop{animation:hv-pop 2.6s linear infinite;transform-origin:center}.hv-pop-slow{animation:hv-pop 3.2s linear infinite;transform-origin:center}.hv-sync-rot{animation:hv-spin 2.4s linear infinite;transform-origin:12px 12px}.hv-lock{animation:hv-lock 1.2s ease-in-out infinite}.hv-wifi{animation:hv-wifi 1.4s ease-in-out infinite}.hv-broom{animation:hv-broom 1.5s ease-in-out infinite}.hv-shimmer{background:linear-gradient(90deg,transparent,var(--hv-sheen),transparent);animation:hv-shimmer 1.4s linear infinite}.hv-sweep-hero{animation:hv-spin 2.6s linear infinite;transform-origin:48px 48px}.hv-grow-slow{animation:hv-grow 3.6s linear infinite}.hv-ring{animation:hv-ring 2.8s ease-out infinite}.hv-flow{animation:hv-flow 1.1s linear infinite}.hv-handle{animation:hv-handle 2.6s cubic-bezier(.3,.9,.3,1) infinite}.hv-fly-slow{animation:hv-fly 2.6s cubic-bezier(.3,.9,.3,1) infinite}.hv-key-hero{animation:hv-key 3s ease-in-out infinite}.hv-pin-hero{animation:hv-pin 2s cubic-bezier(.4,1.6,.5,1) infinite}.hv-ripple-slow{animation:hv-ripple 2s ease-out infinite;transform-origin:center;fill:none}.hv-draw-l{stroke-dasharray:210;animation:hv-draw-l 3.6s ease-in-out infinite}.hv-draw-hero{animation:hv-draw .6s cubic-bezier(.2,.8,.3,1) 2.4s infinite}.hv-draw-hero2{animation:hv-draw .55s cubic-bezier(.2,.8,.3,1) 1.8s infinite}.hv-draw-hero3{animation:hv-draw .55s cubic-bezier(.2,.8,.3,1) 1.6s infinite}.hv-slide{background:linear-gradient(90deg,transparent,var(--hv-sheen),transparent);animation:hv-slide 1.5s linear infinite}@media (prefers-reduced-motion: reduce){.hv-draw,.hv-shake,.hv-halo,.hv-blink,.hv-spin,.hv-spin-slow,.hv-sweep,.hv-dot,.hv-puff,.hv-ack,.hv-step,.hv-slide,.hv-float,.hv-cloud-glow,.hv-rise,.hv-orbit,.hv-twinkle,.hv-grow,.hv-fly,.hv-chart,.hv-pin,.hv-ripple,.hv-morph-out,.hv-morph-in,.hv-stream,.hv-bounce,.hv-key,.hv-scan-v,.hv-pop,.hv-pop-slow,.hv-sync-rot,.hv-lock,.hv-wifi,.hv-broom,.hv-shimmer,.hv-sweep-hero,.hv-grow-slow,.hv-ring,.hv-flow,.hv-handle,.hv-fly-slow,.hv-key-hero,.hv-pin-hero,.hv-ripple-slow,.hv-draw-l,.hv-draw-hero,.hv-draw-hero2,.hv-draw-hero3{animation:none!important}.hv-draw,.hv-chart,.hv-draw-l{stroke-dashoffset:0}.hv-halo,.hv-ripple,.hv-ripple-slow,.hv-rise,.hv-puff,.hv-shimmer{display:none}.hv-step,.hv-grow,.hv-grow-slow,.hv-fly,.hv-fly-slow,.hv-pop,.hv-pop-slow,.hv-lock,.hv-wifi,.hv-morph-in{opacity:1}.hv-ring{stroke-dashoffset:64}.hv-morph-out{opacity:0}.hv-cloud-glow{opacity:.4}}
