:root{--bg: #0d1117;--bg2: #161b22;--bg3: #1c2128;--border: #30363d;--text: #e6edf3;--muted: #8b949e;--accent: #388bfd;--accent-h: #58a6ff;--danger: #f85149;--success: #3fb950;--warning: #d29922;--radius: 6px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI Variable,Noto Sans Armenian,Noto Sans,DejaVu Sans,Segoe UI,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;font-size:14px;line-height:1.5}.shell{display:flex;flex-direction:row;height:100vh;width:100%;overflow:hidden}.shell-main{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.shell-topbar{display:none;align-items:center;gap:4px;height:40px;flex-shrink:0;padding:0 4px;background:linear-gradient(180deg,var(--bg3) 0%,var(--bg2) 100%);border-bottom:1px solid var(--border)}.shell-topbar-burger,.shell-topbar-mesh,.shell-topbar-back{display:flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;background:none;border:none;color:var(--text);cursor:pointer;border-radius:var(--radius)}.shell-topbar-burger:hover,.shell-topbar-mesh:hover,.shell-topbar-back:hover{background:#ffffff0f}.shell-topbar-back[hidden]{display:none}.shell-topbar-mesh{margin-left:auto}.shell-topbar-mesh.is-active{background:var(--accent);color:#fff}.shell-topbar-brand{font-weight:700;font-size:15px;color:var(--text);cursor:pointer;letter-spacing:.2px}.shell-drawer-backdrop{display:none}.sidebar-wrap{flex-shrink:0;width:220px;border-radius:14px;overflow:hidden;transition:width .22s cubic-bezier(.4,0,.2,1)}.sidebar-wrap.sidebar-wrap-collapsed{width:40px}.sidebar{width:220px;height:100%;background:linear-gradient(180deg,var(--bg3) 0%,var(--bg2) 100%);display:flex;flex-direction:column;overflow:hidden;position:relative;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.sidebar input,.sidebar textarea{user-select:text;-webkit-user-select:text}.sidebar-header{display:flex;align-items:center;gap:4px;height:40px;flex-shrink:0;padding:0 4px}.sidebar-menu-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;color:var(--muted);cursor:pointer;border-radius:var(--radius);flex-shrink:0;transition:background .12s,color .12s}.sidebar-menu-btn:hover{background:#ffffff0f;color:var(--text)}.sidebar-brand{display:inline-flex;align-items:center;cursor:pointer;border-radius:6px;padding:2px 6px;transition:background .12s;outline:none;white-space:nowrap;overflow:hidden}.sidebar-brand:hover{background:#ffffff0f}.sidebar-brand:focus-visible{box-shadow:0 0 0 2px var(--accent)}.sidebar-brand,.sidebar-top,.sidebar-system-version{opacity:1;transition:opacity .18s ease}.sidebar-wrap.sidebar-wrap-collapsed .sidebar-brand,.sidebar-wrap.sidebar-wrap-collapsed .sidebar-top,.sidebar-wrap.sidebar-wrap-collapsed .sidebar-system-version{opacity:0;pointer-events:none}.sidebar-top{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.sidebar-section{flex:1 1 0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.sidebar-section:has(.section-collapsed){flex:0 0 auto}.sidebar-section-content{display:grid;grid-template-rows:1fr;flex:1;min-height:0;overflow:hidden;transition:grid-template-rows .28s cubic-bezier(.4,0,.2,1)}.sidebar-section-content.section-collapsed{grid-template-rows:0fr}.sidebar-section-content.section-collapsed .sidebar-asset-list{padding-bottom:0}.sidebar-asset-list,.sidebar-event-list{min-height:0;overflow-y:auto;overflow-x:hidden;padding-bottom:8px}.sidebar-asset-list::-webkit-scrollbar,.sidebar-event-list::-webkit-scrollbar{width:8px}.sidebar-asset-list::-webkit-scrollbar-track,.sidebar-event-list::-webkit-scrollbar-track{background:transparent}.sidebar-asset-list::-webkit-scrollbar-thumb,.sidebar-event-list::-webkit-scrollbar-thumb{background:var(--bg3);border-radius:4px;border:2px solid transparent;background-clip:padding-box}.sidebar-asset-list::-webkit-scrollbar-thumb:hover,.sidebar-event-list::-webkit-scrollbar-thumb:hover{background:var(--border)}.sidebar-asset-list,.sidebar-event-list{scrollbar-width:thin;scrollbar-color:var(--bg3) transparent}.wh-help-body,.wh-help-body pre{scrollbar-width:thin;scrollbar-color:var(--border) transparent}.wh-help-body::-webkit-scrollbar,.wh-help-body pre::-webkit-scrollbar{width:6px;height:6px}.wh-help-body::-webkit-scrollbar-track,.wh-help-body pre::-webkit-scrollbar-track{background:transparent}.wh-help-body::-webkit-scrollbar-thumb,.wh-help-body pre::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.wh-help-body::-webkit-scrollbar-thumb:hover,.wh-help-body pre::-webkit-scrollbar-thumb:hover{background:var(--muted)}.wh-help-body::-webkit-scrollbar-corner,.wh-help-body pre::-webkit-scrollbar-corner{background:transparent}.sidebar-bottom{flex-shrink:0;padding:6px 0;position:relative}.sidebar-heading{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:4px 16px 8px}.sidebar-section-header{display:flex;align-items:center}.sidebar-section-header .sidebar-section-toggle{flex:1;width:auto}.sidebar-section-action-btn,.sidebar-events-mute-btn{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:26px;height:26px;margin-right:8px;background:none;border:none;color:var(--muted);cursor:pointer;border-radius:4px;transition:color .12s,background .12s}.sidebar-section-busy{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;color:var(--muted)}.sidebar-section-busy[hidden]{display:none}.sidebar-section-busy .ae-spinner{width:10px;height:10px;border-width:1.5px}.sidebar-section-action-btn:hover,.sidebar-events-mute-btn:hover{color:var(--text);background:#ffffff14}.sidebar-events-mute-btn.is-muted{color:var(--primary, #3b82f6)}#sidebar-section-events{margin:6px;background:#0000003d;border-radius:10px}#sidebar-section-events .sidebar-section-header .sidebar-section-toggle{flex:0 1 auto;padding-right:0}#sidebar-section-events .sidebar-events-mute-btn{margin-right:0;margin-left:2px}#sidebar-section-events .sidebar-events-count{margin-left:0;margin-right:0}#sidebar-section-events #sidebar-events-gear-btn{margin-left:auto}.sidebar-events-count{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;margin-right:8px;padding:3px 9px;border-radius:999px;background:#ffffff0d;border:1px solid var(--border);color:var(--muted);font-size:11px;font-weight:600;line-height:1;font-family:inherit;cursor:pointer;transition:color .12s,background .12s,border-color .12s}.sidebar-events-count:hover{background:#ffffff1a;color:var(--text)}.sidebar-events-count svg{display:block}.sidebar-events-count.has-unseen{color:var(--warning);border-color:#d2992273;background:#d299221f}.sidebar-events-count.has-unseen:hover{background:#d2992233}.sidebar-events-viewer-btn.is-active,.sidebar-events-viewer-btn[aria-pressed=true]{color:var(--accent-h, var(--accent))}.sidebar-events-menu{display:none;position:fixed;z-index:200;min-width:120px;padding:4px;background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 24px #00000080}.sidebar-events-menu.open{display:block}.sidebar-events-empty-btn{display:block;width:100%;padding:7px 10px;background:none;border:none;border-radius:4px;color:var(--text);font-size:12px;font-family:inherit;text-align:left;cursor:pointer;transition:background .12s}.sidebar-events-empty-btn:hover{background:#ffffff14}.sidebar-add-menu{display:none;position:fixed;z-index:200;min-width:160px;padding:4px;background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 24px #00000080}.sidebar-add-menu.open{display:block}.sidebar-add-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;background:none;border:none;border-radius:4px;color:var(--text);font-size:12px;font-family:inherit;text-align:left;cursor:pointer;transition:background .12s}.sidebar-add-menu-item:hover{background:#ffffff14}.sidebar-add-menu-item svg{flex-shrink:0;opacity:.8}.sidebar-section-toggle{display:flex;align-items:center;gap:6px;width:100%;padding:8px 12px;background:none;border:none;color:var(--muted);font-size:13px;font-weight:600;cursor:pointer;text-align:left;font-family:inherit;transition:color .12s}.sidebar-section-toggle:hover{color:var(--text)}.sidebar-chevron{flex-shrink:0;transition:transform .15s ease}.sidebar-section-toggle.collapsed .sidebar-chevron{transform:rotate(-90deg)}.sidebar-section+.sidebar-section{position:relative}.sidebar-section+.sidebar-section:before{content:"";position:absolute;top:0;left:12px;right:12px;height:1px;background:var(--border)}.sidebar-section+.sidebar-section .sidebar-section-toggle{padding-top:12px}.sidebar-section-divider{flex-shrink:0;height:6px;position:relative;cursor:row-resize;touch-action:none;-webkit-user-select:none;user-select:none}.sidebar-section-divider:before{content:"";position:absolute;left:12px;right:12px;top:50%;height:1px;background:var(--border);transform:translateY(-50%);transition:background .12s,height .12s}.sidebar-section-divider:hover:before{background:var(--accent-h);height:2px}.sidebar.is-resizing-sections .sidebar-section-divider:before{background:var(--accent-h);height:2px}.sidebar.is-resizing-sections,.sidebar.is-resizing-sections *{cursor:row-resize!important;-webkit-user-select:none!important;user-select:none!important}.sidebar-wrap.sidebar-wrap-collapsed .sidebar-section-divider{display:none}.sidebar-event-list-wrap{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.sidebar-event-list-inner{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;transform-origin:top;transition:opacity .18s ease,transform .24s cubic-bezier(.4,0,.2,1)}.sidebar-event-list-wrap.section-collapsed .sidebar-event-list-inner{opacity:0;transform:translateY(-8px)}.sidebar-events-filter{display:flex;align-items:center;gap:4px;padding:4px 8px;flex-shrink:0;flex-wrap:wrap}.sef-scopes{flex-basis:100%;flex-wrap:nowrap;padding-bottom:2px;border-bottom:1px solid var(--border);margin-bottom:2px}.sef-chips{display:flex;gap:4px;flex-shrink:0;flex-wrap:wrap;min-width:0}.sef-chip{background:transparent;border:1px solid var(--border);border-radius:12px;color:var(--muted);cursor:pointer;font-size:12px;line-height:1;padding:3px 8px;white-space:nowrap;transition:color .15s,border-color .15s,background .15s}.sef-chip:hover{border-color:var(--text);color:var(--text)}.sef-chip.is-active{background:var(--primary, #3b82f6);border-color:var(--primary, #3b82f6);color:#fff}.sef-search-input{flex:1 1 100%;min-width:0;background:transparent;border:1px solid var(--border);border-radius:12px;color:var(--text);font-size:12px;padding:3px 8px;outline:none}.sef-search-input::placeholder{color:var(--muted)}.sef-search-input:focus{border-color:var(--primary, #3b82f6)}.sef-approve-all[hidden]{display:none}.sef-approve-all:hover{color:var(--success, #22c55e)}.sidebar-event-actor{color:var(--primary, #3b82f6);font-weight:500}.sidebar-event-item.is-seen{opacity:.55}.sidebar-event-item.is-unseen{border:1px solid transparent;border-radius:6px;margin:3px 6px 3px 4px;padding:4px 7px 4px 5px;background:#ffffff1a}.sidebar-event-detbadge.sidebar-event-pending{background:#f85149;color:#2b0505}.sidebar-event-note{display:block;font-size:10px;font-style:italic;color:var(--muted);margin-top:1px}.sidebar-event-dismiss{flex:0 0 auto;background:none;border:none;color:var(--muted);cursor:pointer;font-size:11px;line-height:1;padding:2px 4px;opacity:0;transition:opacity .15s,color .15s}.sidebar-event-item:hover .sidebar-event-dismiss{opacity:.7}.sidebar-event-dismiss:hover{opacity:1!important;color:var(--text)}.sidebar-event-detbadge{display:inline-block;margin-right:5px;padding:0 4px;border-radius:3px;background:#fc0;color:#332b00;font-size:9px;font-weight:700;letter-spacing:.5px;vertical-align:middle}.sidebar-event-item{display:flex;align-items:flex-start;gap:4px;padding:5px 12px 5px 8px;font-size:12px;color:var(--muted);overflow:hidden}.sidebar-event-item.is-clickable{cursor:pointer}.sidebar-event-item.is-clickable:hover{background:#ffffff0d;color:var(--text)}.sidebar-event-item.is-new{animation:sidebar-event-in .7s ease-out}@keyframes sidebar-event-in{0%{opacity:0;transform:translateY(-8px);background:#00bcd44d}55%{opacity:1;transform:translateY(0)}to{background:transparent}}@media (prefers-reduced-motion: reduce){.sidebar-event-item.is-new{animation:none}}.sidebar-event-toggle{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:18px;height:18px;margin-top:1px;background:none;border:none;padding:0;cursor:pointer;color:inherit;opacity:.6}.sidebar-event-toggle:hover{opacity:1}.sidebar-event-chevron{transition:transform .15s ease;transform:rotate(-90deg)}.sidebar-event-chevron.is-open{transform:rotate(0)}.sidebar-event-body{flex:1 1 auto;display:flex;flex-direction:column;gap:4px;overflow:hidden;min-width:0}.sidebar-event-thumb{width:100%;max-height:80px;object-fit:cover;border-radius:3px;background:#ffffff0f;display:block}.sidebar-event-thumb--removed{display:flex;align-items:center;justify-content:center;gap:6px;height:40px;font-size:11px;color:var(--muted, #8b949e);border:1px dashed rgba(255,255,255,.18);background:#ffffff08}.sidebar-event-thumb--removed svg{width:14px;height:14px;opacity:.7}.sidebar-event-meta{display:flex;align-items:baseline;gap:6px;overflow:hidden}.sidebar-event-time{flex:0 0 auto;font-variant-numeric:tabular-nums;font-size:11px;opacity:.7}.sidebar-event-text{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-event-date{flex:0 0 auto;margin-left:auto;align-self:flex-start;font-size:9px;line-height:1.4;color:var(--muted);opacity:.75;font-variant-numeric:tabular-nums;white-space:nowrap}.sidebar-event-meta--alarm{flex-direction:column;align-items:stretch;gap:3px}.sidebar-event-alarm-top{display:flex;align-items:center;gap:6px}.sidebar-event-name{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ev-detail-grid{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;padding:12px 20px;font-size:13px}.ev-detail-label{color:var(--muted);white-space:nowrap}.ev-detail-value{color:var(--text);word-break:break-all}.ev-detail-payload{padding:0 20px 12px}.ev-detail-ch-table{width:100%;border-collapse:collapse;font-size:12px;margin-top:4px}.ev-detail-ch-table td{padding:5px 8px;border-bottom:1px solid var(--border-subtle, rgba(255,255,255,.05));vertical-align:top}.ev-detail-ch-field{color:var(--muted);white-space:nowrap;width:1%;padding-right:12px!important}.ev-detail-ch-from{color:var(--danger, #f87171);word-break:break-all}.ev-detail-ch-arrow{color:var(--muted);white-space:nowrap;padding:5px 6px!important}.ev-detail-ch-to{color:var(--success, #4ade80);word-break:break-all}.ev-detail-pre{margin:6px 0 0;padding:8px 10px;background:#00000040;border-radius:4px;font-size:11px;color:var(--muted);overflow:auto;max-height:200px;white-space:pre}.sidebar-skeleton{padding:4px 16px}.sidebar-skeleton-row{height:12px;margin:8px 0;border-radius:4px;background:linear-gradient(90deg,var(--bg3) 0%,rgba(255,255,255,.06) 50%,var(--bg3) 100%);background-size:200% 100%;animation:sidebar-skeleton-shimmer 1.4s ease-in-out infinite}.sidebar-skeleton-row:nth-child(odd){width:80%}.sidebar-skeleton-row:nth-child(2n){width:65%}@keyframes sidebar-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.ae-spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--accent, #4a9eff);border-radius:50%;animation:ae-spin .7s linear infinite;vertical-align:middle}@keyframes ae-spin{to{transform:rotate(360deg)}}.cfg-action-status{display:flex;align-items:center;gap:6px;min-height:16px;margin-top:4px;font-size:11px;color:var(--muted)}.cfg-action-status .ae-spinner{width:11px;height:11px;border-width:2px}.cfg-action-status[data-state=done],.cfg-action-status[data-state=error]{animation:cfg-action-fade .25s ease-out}.cfg-action-status[data-state=error]{color:var(--danger, #ff5252)}@keyframes cfg-action-fade{0%{opacity:0}to{opacity:1}}.sidebar-link{display:block;padding:8px 16px;font-size:13px;color:var(--muted);text-decoration:none;transition:background .12s,color .12s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:default}.sidebar-link:hover{background:#ffffff0d;color:var(--text)}.sidebar-link.active{color:var(--accent-h);background:#388bfd14;border-right:2px solid var(--accent)}.sidebar-asset-link{display:block;margin:3px 8px;padding:6px 12px;font-size:13px;color:var(--text);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:default;background:#0000003d;border:1px solid transparent;border-radius:18px;transition:background .14s,color .12s,border-color .14s,box-shadow .14s,opacity .22s ease,max-height .22s ease,margin .22s ease,padding .22s ease}.sidebar-asset-link,.sidebar-asset-link *{cursor:default}.sidebar-asset-link .cap-eye{cursor:pointer}.sidebar-asset-link:hover{background:#ffffff0f;color:var(--text);border-color:var(--border)}.sidebar-asset-link.active{color:var(--text);background:#388bfd1a;border-color:#388bfd59}.sidebar-cap{display:flex;align-items:center;gap:10px;padding:7px 14px}.sidebar-cap .cap-name{flex:1 1 0;min-width:0;width:0;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}.cap-live{position:relative;width:3px;height:3px;border-radius:50%;flex:none;background:var(--muted)}.cap-live.is-live{background:var(--danger);outline:1px solid var(--danger);outline-offset:3px;animation:cap-pulse 2.4s ease-in-out infinite}.cap-live.is-connecting{background:var(--warning);outline:1px solid var(--warning);outline-offset:3px}.cap-live.is-off{background:var(--muted);outline:1px solid var(--muted);outline-offset:3px;opacity:.7}.cap-live.is-off:after{content:"";position:absolute;top:50%;left:-5px;right:-5px;height:1.5px;background:var(--muted);border-radius:1px;transform:translateY(-50%) rotate(45deg)}.cap-tele{position:relative;display:inline-flex;width:12px;height:12px;flex:none;color:var(--muted)}.cap-tele svg{width:100%;height:100%;display:block}.cap-tele.is-ok{color:var(--success);animation:cap-pulse 2.4s ease-in-out infinite}.cap-tele.is-stale{color:var(--warning)}.cap-tele.is-down{color:var(--danger)}.cap-tele.is-pending{color:var(--warning)}.cap-tele.is-off{color:var(--muted);opacity:.7}.cap-tele.is-fail{color:var(--danger)}.cap-tele.is-off:after,.cap-tele.is-fail:after{content:"";position:absolute;top:50%;left:-1px;right:-1px;height:1.5px;background:currentColor;border-radius:1px;transform:translateY(-50%) rotate(45deg);pointer-events:none}.cap-rec{position:relative;width:8px;height:8px;border-radius:1.5px;flex:none;background:var(--muted)}.cap-rec.is-rec{background:var(--danger);animation:cap-pulse 2.4s ease-in-out infinite}.cap-rec.is-pending{background:var(--warning)}.cap-rec.is-off{background:var(--muted);opacity:.7}.cap-rec.is-fail{background:var(--danger)}.cap-ctl{flex:0 0 auto;margin-left:auto;max-width:96px;padding:1px 6px;border-radius:999px;font-size:10px;font-weight:600;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#e0b341;background:#d2992229;border:1px solid rgba(210,153,34,.4)}.cap-ctl[hidden]{display:none}.cap-export{flex:0 0 auto;margin-left:auto;display:inline-flex;align-items:center;padding-left:4px}.cap-export[hidden]{display:none}.cap-export .ae-spinner{width:10px;height:10px;border-width:1.5px}.cap-rec.is-off:after,.cap-rec.is-fail:after{content:"";position:absolute;top:50%;left:-2px;right:-2px;height:1.5px;background:var(--muted);border-radius:1px;transform:translateY(-50%) rotate(45deg)}@keyframes cap-pulse{0%,to{opacity:1}50%{opacity:.55}}.sidebar-empty{padding:8px 16px;font-size:12px;color:var(--muted);font-style:italic}.sidebar-empty.sidebar-error{color:var(--danger);font-style:normal}.sidebar-system,.sidebar-mesh{position:relative;display:flex;align-items:center;width:100%;transition:background .12s}.sidebar-system:hover,.sidebar-mesh:hover{background:#ffffff0f}.sidebar-mesh-toggle.is-active .sidebar-user-icon{color:var(--accent-h)}.sidebar-mesh-variants{position:fixed;z-index:60;display:flex;flex-direction:row;flex-wrap:nowrap;gap:4px;padding:6px;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 24px #00000080}.sidebar-mesh-variants[hidden]{display:none}.sidebar-mesh-variant{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:32px;height:30px;padding:0;background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);color:var(--muted);cursor:pointer;transition:background .12s,color .12s,border-color .12s}.sidebar-mesh-variant:hover{color:var(--text);border-color:var(--accent-h)}.sidebar-mesh-variant.is-active{background:var(--accent);border-color:var(--accent);color:#fff}.sidebar-mesh-variant svg{display:block}.sidebar-system-btn .sidebar-user-icon{position:relative}.sidebar-system-btn.is-warning .sidebar-user-icon{color:var(--warning)}.sidebar-system-btn.is-critical .sidebar-user-icon{color:var(--danger)}.sidebar-system-warn{position:absolute;top:-3px;right:-3px;display:none;line-height:0;padding:1px;border-radius:50%;background:var(--bg2)}.sidebar-system-btn.is-warning .sidebar-system-warn{display:inline-flex;color:var(--warning)}.sidebar-system-btn.is-critical .sidebar-system-warn{display:inline-flex;color:var(--danger)}.sidebar-system .sidebar-system-version{margin-left:auto;padding-right:12px}.sidebar-ev-btn,.sidebar-system-btn,.sidebar-mesh-toggle{display:flex;align-items:center;gap:8px;flex:1 1 auto;min-width:0;padding:4px 12px 4px 4px;background:none;border:none;border-radius:var(--radius);color:var(--text);cursor:pointer;text-align:left;font-family:inherit;transition:background .12s,color .12s}.sidebar-system-version{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--muted);font-family:ui-monospace,monospace;letter-spacing:.02em;overflow:hidden;white-space:nowrap;background:none;border:none;border-radius:var(--radius);padding:3px 6px;cursor:pointer;transition:background .12s,color .12s}.sidebar-system-version:hover{background:#ffffff0f;color:var(--text)}.sidebar-system-version.is-incompatible{color:var(--warning)}.sidebar-version-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-version-warn{display:inline-flex;align-items:center;line-height:0;color:var(--warning)}.sidebar-version-warn[hidden]{display:none}.sidebar-version-popup{display:none;position:fixed;background:var(--bg3);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #00000080;z-index:200;overflow:hidden}.sidebar-version-popup.open{display:block}.svp-status{display:flex;align-items:center;gap:8px;padding:11px 34px 11px 14px;font-size:12.5px;font-weight:600}.svp-status svg{flex-shrink:0}.svp-status.is-ok{color:var(--success);background:#3fb95017}.svp-status.is-bad{color:var(--warning);background:#d299221a}.svp-status.is-unknown{color:var(--muted);background:#8b949e14}.svp-rows{display:flex;flex-direction:column;gap:5px;padding:9px 14px 4px}.svp-row{display:flex;justify-content:space-between;gap:12px;font-size:12px}.svp-label{color:var(--muted);white-space:nowrap}.svp-val{min-width:0;color:var(--text);font-family:ui-monospace,monospace;font-size:11px;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.svp-host{padding:8px 14px 11px;margin-top:5px;border-top:1px solid var(--border);font-family:ui-monospace,monospace;font-size:10.5px;color:var(--muted);overflow-wrap:anywhere}.svp-whats-new{position:absolute;top:6px;right:6px;z-index:1;display:inline-flex;align-items:center;justify-content:center;padding:4px;background:none;border:none;border-radius:var(--radius);color:var(--muted);line-height:0;cursor:pointer;transition:background .12s,color .12s}.svp-whats-new:hover{background:#ffffff1a;color:var(--text)}.whats-new-layer.modal-overlay{z-index:300}.whats-new-modal{width:560px;max-width:calc(100vw - 24px)}.whats-new-modal .modal-header h2{display:inline-flex;align-items:center;gap:8px}.whats-new-modal .wn-title-icon{color:var(--accent);flex-shrink:0}.wn-lead{margin:0 0 14px;font-size:13px;line-height:1.5;color:var(--muted)}.wn-release{padding:12px 0;border-top:1px solid var(--border)}.wn-release:first-child{padding-top:0;border-top:none}.wn-release-head{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}.wn-version{font-family:ui-monospace,monospace;font-size:14px;font-weight:600;color:var(--text)}.wn-current{padding:1px 7px;border:1px solid currentColor;border-radius:999px;font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--success)}.wn-date{margin-left:auto;font-size:12px;color:var(--muted);white-space:nowrap}.wn-list{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.wn-item{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.5}.wn-badge{flex-shrink:0;min-width:72px;margin-top:2px;padding:2px 8px;border-radius:999px;font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;text-align:center}.wn-item--new .wn-badge{color:var(--success);background:#3fb9501f}.wn-item--improved .wn-badge{color:var(--accent);background:#58a6ff1f}.wn-item--fixed .wn-badge{color:var(--warning);background:#d299221f}.wn-text{min-width:0;color:var(--text)}.wn-empty{margin:0;font-size:13px;color:var(--muted)}.whats-new-modal .modal-footer .wn-spacer{margin-right:auto}.sidebar-system-menu{display:none;position:fixed;background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 16px #0006;z-index:200;overflow-x:hidden;overflow-y:auto;min-width:180px}.sidebar-system-menu.open{display:block}.sidebar-system-menu-user{display:flex;align-items:center;gap:10px;padding:10px 12px 8px}.sidebar-system-menu-user .sidebar-user-icon{width:28px;height:28px}.sidebar-system-menu-user-name{min-width:0;font-size:13px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--bg2);color:var(--muted);flex-shrink:0}.shell-content{flex:1;overflow-y:auto}.brand-logo{font-size:15px;font-weight:700;color:#fff;letter-spacing:-.2px;line-height:1}.brand-hub{background:#2563eb;border-radius:4px;padding:1px 4px}.login-brand{margin-bottom:28px;text-align:center}.lang-switch{position:relative;display:inline-flex;align-items:center;vertical-align:middle}.sidebar-header .lang-switch,.shell-topbar .lang-switch{margin-left:auto}.lang-switch-trigger{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border:1px solid var(--border);border-radius:999px;background:#ffffff0d;color:var(--text-muted, var(--text));cursor:pointer;line-height:1;transition:background .12s ease,border-color .12s ease}.lang-switch-trigger:hover,.lang-switch-trigger[aria-expanded=true]{background:#ffffff1a;color:var(--text)}.lang-switch-caret{transition:transform .14s ease}.lang-switch-trigger[aria-expanded=true] .lang-switch-caret{transform:rotate(180deg)}.lang-switch-code{font-size:11px;font-weight:600;line-height:1;letter-spacing:.02em}.lang-switch-menu{position:fixed;z-index:200;min-width:max-content;padding:4px;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 24px #00000073;text-align:left}.lang-switch-menu[hidden]{display:none}.lang-option{display:flex;align-items:center;gap:9px;width:100%;padding:7px 9px;border:0;border-radius:5px;background:transparent;color:var(--text);font-size:13px;text-align:left;cursor:pointer;transition:background .12s ease}.lang-option:hover,.lang-option:focus-visible{background:#7f7f7f29;outline:none}.lang-option.is-active{color:#fff;background:#2563eb}.lang-option-code{flex:0 0 auto;min-width:30px;font-size:11px;font-weight:700;letter-spacing:.02em;opacity:.75}.lang-option.is-active .lang-option-code{opacity:1}.lang-option-name{white-space:nowrap}.login-brand .lang-switch{margin-left:10px;position:relative;top:-3px}.login-brand .brand-logo{font-size:28px}.login-brand .brand-hub{border-radius:8px;padding:2px 8px}.user-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 14px;background:none;border:none;color:var(--text);font-size:13px;text-align:left;cursor:pointer;font-family:inherit;text-decoration:none;box-sizing:border-box}.user-menu-item:hover{background:var(--bg2)}.user-menu-icon{flex-shrink:0;color:var(--muted)}.user-menu-item:hover .user-menu-icon{color:var(--text)}.user-menu-item-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-item-warn{flex-shrink:0;display:none;line-height:0}.user-menu-item.is-warning .user-menu-item-warn{display:inline-flex;color:var(--warning)}.user-menu-item.is-critical .user-menu-item-warn{display:inline-flex;color:var(--danger)}.user-menu-item.is-warning .user-menu-icon{color:var(--warning)}.user-menu-item.is-critical .user-menu-icon{color:var(--danger)}.user-menu-divider{height:1px;margin:4px 0;background:var(--border)}.page{max-width:1100px;margin:0 auto;padding:32px 24px}.view-wrap{display:flex;flex-direction:column;min-height:100%}.view-body{flex:1;padding:14px 16px}.sys-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}.card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius)}.login-wrap{display:flex;align-items:center;justify-content:center;min-height:100vh}.boot-splash{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:100vh}.boot-splash .brand-logo{font-size:28px}.boot-splash .brand-hub{border-radius:8px;padding:2px 8px}.boot-splash-msg{color:var(--muted);font-size:14px}.login-card{width:360px;padding:40px 32px;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius)}.login-card h1{font-size:22px;font-weight:600;text-align:center}.login-toast{position:fixed;top:16px;left:50%;z-index:1000;max-width:min(520px,calc(100vw - 32px));padding:13px 22px;background:var(--bg2);border:1px solid var(--danger);color:var(--danger);font-size:14px;font-weight:500;text-align:center;border-radius:12px;box-shadow:0 10px 30px #00000080;transform:translate(-50%,calc(-100% - 16px)) scale(.96);opacity:0;pointer-events:none;transition:transform .35s cubic-bezier(.16,1,.3,1),opacity .3s ease}.login-toast.is-visible{transform:translate(-50%) scale(1);opacity:1}.login-toast.is-hiding{transform:translate(-50%,calc(-100% - 16px)) scale(.96);opacity:0}.login-back{display:inline-flex;align-items:center;margin-bottom:16px;padding:0;background:none;border:none;color:var(--muted);font-size:13px;cursor:pointer;transition:color .15s}.login-back:hover{color:var(--accent-h)}.saved-accounts-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.saved-account{display:flex}.saved-account-btn{flex:1;display:flex;flex-direction:row;align-items:center;gap:10px;padding:9px 16px;background:var(--bg);border:1px solid var(--border);border-radius:999px;cursor:pointer;text-align:left;transition:border-color .25s ease,box-shadow .25s ease,background .15s}.saved-account-btn:hover:not(:disabled){border-color:var(--accent);background:var(--bg3)}.saved-account-user{transition:color .25s ease}.saved-account-btn:disabled{opacity:.6;cursor:default}.saved-account-text{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.saved-account-status{flex:0 0 auto;width:10px;height:10px;border-radius:50%;background:var(--muted);cursor:help;transition:background .25s ease,box-shadow .25s ease}.saved-account.is-checking .saved-account-status{background:var(--muted);animation:pulse-dot 1s ease-in-out infinite}.saved-account:not(.is-checking):not(.is-unreachable) .saved-account-status{background:var(--success);box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 25%,transparent)}.saved-account.is-unreachable .saved-account-status{background:var(--danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 25%,transparent)}@keyframes pulse-dot{0%,to{opacity:.4}50%{opacity:1}}.saved-account.is-current .saved-account-btn{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.saved-account.is-error .saved-account-btn{border-color:var(--danger);box-shadow:inset 0 0 0 1px var(--danger)}.saved-account.is-error .saved-account-user{color:var(--danger)}.saved-account-user{font-size:14px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-account-server{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-account-forget{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:22px;height:22px;margin-left:4px;border-radius:50%;background:transparent;color:var(--muted);font-size:18px;line-height:1;cursor:pointer;transition:color .15s,background .15s}.saved-account-forget:hover{color:#fff;background:var(--danger)}.login-forgot{position:relative;margin-top:18px;display:flex;align-items:center;justify-content:center;gap:12px;font-size:13px}.login-forgot a{color:var(--muted);text-decoration:none;transition:color .15s}.login-forgot a:hover{color:var(--accent-h)}#new-account-link{margin-left:auto;color:var(--accent);font-weight:500}#new-account-link[hidden]{display:none}.forgot-popover{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%);width:280px;padding:12px 14px;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 24px #00000080;text-align:left;line-height:1.5;font-size:12.5px;color:var(--text);z-index:10;animation:forgot-popover-in .15s ease-out}.forgot-popover:before,.forgot-popover:after{content:"";position:absolute;left:50%;width:0;height:0;border-style:solid;transform:translate(-50%)}.forgot-popover:before{top:100%;border-width:7px 7px 0 7px;border-color:var(--border) transparent transparent transparent}.forgot-popover:after{top:calc(100% - 1px);border-width:6px 6px 0 6px;border-color:var(--bg2) transparent transparent transparent}.forgot-popover p{margin:0 0 6px;color:var(--muted)}.forgot-popover p:first-child{color:var(--text)}.forgot-popover p:last-child{margin-bottom:0;font-size:11.5px;opacity:.75}@keyframes forgot-popover-in{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.form-group label{font-size:13px;font-weight:500;color:var(--text)}.form-group input,.form-group select,.form-group textarea{padding:8px 12px;background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:14px;outline:none;transition:border-color .15s;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent)}.verifier-body input[type=text],.verifier-body input[type=password],.verifier-body input[type=number],.verifier-body select{padding:8px 12px;background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:14px;outline:none;transition:border-color .15s;font-family:inherit}.verifier-body input:focus,.verifier-body select:focus{border-color:var(--accent)}.verifier-body input[readonly]{color:var(--muted);cursor:default}#plugin-pipeline-form select{padding:8px 12px;background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:14px;outline:none;transition:border-color .15s;font-family:inherit}#plugin-pipeline-form select:focus{border-color:var(--accent)}#plugin-pipeline-form select option{background:var(--bg3);color:var(--text)}.pipe-list{display:flex;flex-direction:column;gap:10px}.pipe-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;transition:border-color .15s}.pipe-card:hover{border-color:var(--accent)}.pipe-card-head{display:flex;align-items:center;gap:10px}.pipe-name{font-weight:600;font-size:14px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pipe-actions{display:flex;gap:6px;opacity:0;transition:opacity .15s}.pipe-card:hover .pipe-actions,.pipe-card:focus-within .pipe-actions{opacity:1}@media (hover: none){.pipe-actions{opacity:1}}.pipe-flow{display:flex;align-items:stretch;flex-wrap:wrap;gap:0;margin-top:10px}.pipe-card[data-enabled=false] .pipe-flow{opacity:.5}.pipe-node{display:flex;flex-direction:column;gap:2px;padding:6px 10px;background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);min-width:0}.pipe-node-name{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pipe-node-type{font-size:10px;color:var(--muted);white-space:nowrap}.pipe-node--gone{border-style:dashed;color:var(--muted)}.pipe-dot{flex:none;width:7px;height:7px;border-radius:50%;background:var(--muted)}.pipe-dot--running{background:var(--success)}.pipe-dot--starting{background:var(--warning)}.pipe-dot--failed{background:var(--danger)}.pipe-arrow{display:flex;align-items:center;padding:0 8px;color:var(--muted);font-size:12px;-webkit-user-select:none;user-select:none}.pipe-editor-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.pipe-editor-title{font-weight:600;font-size:14px;flex:1}.pipe-chain-row{display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius)}.pipe-chain-idx{min-width:16px;text-align:right;color:var(--muted);font-size:11px}.pipe-chain-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.jt-editor{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg2, var(--bg));padding:8px;max-height:420px;overflow:auto;font-size:12px}.jt-row{display:flex;align-items:center;gap:8px;margin:12px 0}.jt-caret{flex:0 0 auto;width:18px;height:22px;padding:0;background:transparent;border:none;color:var(--muted);font-size:11px;line-height:1;cursor:pointer}.jt-caret:hover{color:var(--text)}.jt-caret-spacer{flex:0 0 auto;width:18px}.jt-empty{color:var(--muted);font-size:11px;padding:2px 0}.jt-key{flex:0 0 auto}.jt-key.jt-index{color:var(--muted);font-family:monospace;min-width:22px;text-align:right}.jt-keyinput{width:210px;flex:0 0 210px;padding:8px 11px;background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:13px;font-weight:600;outline:none;text-align:center}.jt-val{flex:1;min-width:0;padding:4px 7px;background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:monospace;font-size:12px;outline:none}.jt-keyinput:focus,.jt-val:focus{border-color:var(--accent)}.jt-combo{position:relative;flex:0 1 280px;display:flex;align-items:center}.jt-combo-input{flex:1;min-width:0;padding:7px 30px;background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:monospace;font-size:12px;text-align:center;outline:none}.jt-combo-input:focus{border-color:var(--accent)}.jt-leaf-item .jt-combo{flex:1 1 460px}@media (orientation: portrait) and (max-width: 768px){.jt-key:has(>.jt-keyinput){flex:1 1 96px;min-width:72px}.jt-keyinput{flex:1 1 96px;width:100%;min-width:72px;padding-left:6px;padding-right:6px}.jt-spacer{flex:0 1 auto}.jt-combo{flex:1 1 120px;min-width:96px}.jt-combo-input{padding-left:8px;padding-right:22px}}.jt-combo-arrow{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:22px;height:24px;display:inline-flex;align-items:center;justify-content:center;padding:0;background:transparent;border:none;color:var(--muted);font-size:12px;cursor:pointer}.jt-combo-arrow:hover{color:var(--accent)}.jt-combo-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:50;max-height:220px;overflow-y:auto;background:var(--bg2, var(--bg));border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0000004d;padding:4px}.jt-combo-opt{padding:7px 10px;border-radius:6px;font-family:monospace;font-size:12px;color:var(--text);cursor:pointer}.jt-combo-opt:hover{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}.jt-combo-empty{padding:7px 10px;color:var(--muted);font-size:12px}.jt-add,.jt-del{flex:0 0 auto;background:transparent;border:1px solid var(--border);border-radius:var(--radius);color:var(--muted);cursor:pointer;transition:color .15s,border-color .15s,background .15s}.jt-spacer{flex:1 1 auto}.jt-add{display:inline-flex;align-items:center;gap:6px;padding:7px 18px;height:34px;font-size:13px;font-weight:600;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 45%,var(--border));border-radius:999px;background:color-mix(in srgb,var(--accent) 10%,transparent);margin-left:8px;letter-spacing:.2px}.jt-add:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 20%,transparent);box-shadow:0 0 0 3px #58a6ff24}.jt-del{width:24px;height:26px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;line-height:1}.jt-del:hover{color:var(--danger, #f85149);border-color:var(--danger, #f85149);background:#f8514914}.jt-children{border-left:1px solid var(--border);margin-left:7px}.jt-error{color:var(--danger, #f85149);font-size:11px;margin-top:6px}.wh-ctx-menu{position:fixed;z-index:3000;min-width:200px;padding:4px;background:var(--bg2, var(--bg));border:1px solid var(--border);border-radius:8px;box-shadow:0 10px 30px #00000059}.wh-ctx-item{display:block;width:100%;text-align:left;padding:8px 12px;background:transparent;border:none;border-radius:6px;color:var(--text);font-size:12.5px;cursor:pointer}.wh-ctx-item:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent)}.wh-ctx-item:disabled{color:var(--muted);cursor:not-allowed;opacity:.6}.wh-criteria-row{display:flex;gap:6px;align-items:center}.wh-criteria-row select{padding:4px 6px;background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:12px;font-family:inherit;outline:none;box-sizing:border-box;transition:border-color .15s}.wh-criteria-row select:focus{border-color:var(--accent)}.wh-criteria-row select:disabled{opacity:.6;cursor:not-allowed}.wh-criteria-row select option{background:var(--bg2);color:var(--text)}.wh-criteria-kind{flex:0 0 140px}.wh-criteria-value{flex:1;min-width:0}.wh-criteria-del{flex:0 0 auto;padding:2px 8px}.wh-criteria-op{flex:0 0 68px}.wh-assets-box{display:flex;flex-direction:column;gap:10px}.wh-asset-card{border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--bg2, var(--bg)) 60%,transparent);overflow:hidden;transition:border-color .15s,box-shadow .15s,background .15s}.wh-asset-card.is-linked{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,var(--bg2, var(--bg)));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent) inset}.wh-asset-card.needs-keys{border-color:color-mix(in srgb,var(--warning, #d29922) 55%,var(--border))}.wh-asset-cardrow{display:grid;grid-template-columns:32px 1fr 40px;align-items:center;min-height:48px;padding:6px 10px}.wh-asset-check{display:inline-flex;align-items:center;margin:0;cursor:pointer}.wh-asset-check input{width:16px;height:16px;cursor:pointer}.wh-asset-name{grid-column:2;display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0;padding:0 8px}.wh-asset-name-main{font-weight:600;font-size:13.5px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wh-asset-name-id{color:var(--muted);font-size:10.5px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wh-asset-warn{display:none;align-items:center;justify-content:center;width:22px;height:22px;color:var(--warning, #d97706);cursor:help;font-size:14px}.wh-asset-cardrow .wh-asset-warn{grid-column:1;justify-self:end}.wh-asset-arrow{grid-column:3;justify-self:end;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid color-mix(in srgb,var(--border) 80%,transparent);border-radius:8px;color:var(--muted);font-size:13px;cursor:pointer;transition:transform .15s,color .15s,border-color .15s,background .15s}.wh-asset-arrow:hover{color:var(--text);border-color:var(--accent)}.wh-asset-arrow[aria-expanded=true]{transform:rotate(180deg);color:var(--accent);border-color:var(--accent)}.wh-asset-card .wh-asset-props-panel{border:none;border-top:1px solid var(--border);border-radius:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.wh-asset-props-panel{background:color-mix(in srgb,var(--bg2, var(--bg)) 45%,transparent);border:1px solid color-mix(in srgb,var(--border) 60%,transparent);border-radius:12px;backdrop-filter:blur(12px) saturate(125%);-webkit-backdrop-filter:blur(12px) saturate(125%);box-shadow:0 6px 20px #00000038,inset 0 1px #ffffff0d}.kv-editor .kv-fields{max-height:320px;overflow-y:auto;padding:2px}.wh-asset-props-panel .kv-editor .kv-fields{max-height:240px}.kv-editor .kv-list{display:flex;flex-direction:column;gap:10px}.kv-editor .kv-row{display:flex;align-items:center;gap:10px;padding:7px 9px;background:color-mix(in srgb,var(--bg2, var(--bg)) 55%,transparent);border:1px solid color-mix(in srgb,var(--border) 70%,transparent);border-radius:10px;backdrop-filter:blur(8px) saturate(120%);-webkit-backdrop-filter:blur(8px) saturate(120%);box-shadow:0 1px 2px #0000002e,inset 0 1px #ffffff0a;transition:border-color .15s,box-shadow .15s,transform .1s}.kv-editor .kv-row:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}.kv-editor .kv-key,.kv-editor .kv-val{flex:1;min-width:0;padding:9px 12px;background:color-mix(in srgb,var(--bg3) 60%,transparent);border:1px solid color-mix(in srgb,var(--border) 80%,transparent);border-radius:8px;color:var(--text);font-size:13px;outline:none;font-family:inherit;transition:border-color .15s,box-shadow .15s,background .15s}.kv-editor .kv-key{flex:0 0 36%;font-weight:500}.kv-editor .kv-key:focus,.kv-editor .kv-val:focus{border-color:var(--accent);background:color-mix(in srgb,var(--bg3) 80%,transparent);box-shadow:0 0 0 3px #58a6ff2e}.kv-editor .kv-row-needed .kv-key,.kv-editor .kv-row-needed .kv-val{border-color:var(--warning, #d29922)}.kv-editor .kv-row-needed .kv-val::placeholder{color:var(--warning, #d29922);opacity:.7}.kv-editor .kv-del{flex:0 0 auto;width:32px;height:34px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid color-mix(in srgb,var(--border) 80%,transparent);border-radius:8px;color:var(--muted);font-size:17px;line-height:1;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.kv-editor .kv-del:hover{color:var(--danger, #f85149);border-color:var(--danger, #f85149);background:#f851491a}.kv-editor .kv-add{margin-top:12px;padding:8px 14px;background:color-mix(in srgb,var(--accent) 8%,transparent);border:1px dashed color-mix(in srgb,var(--accent) 50%,var(--border));border-radius:8px;color:var(--accent);font-size:12.5px;cursor:pointer;transition:border-color .15s,background .15s}.kv-editor .kv-add:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 15%,transparent)}.kv-editor .kv-empty{color:var(--muted);font-size:12.5px;padding:4px 2px}.kv-editor .kv-json{background:var(--bg2, var(--bg));border:1px solid var(--border);border-radius:var(--radius);color:var(--text);outline:none;padding:6px 8px}.kv-editor .kv-json:focus{border-color:var(--accent)}.kv-editor .kv-toggle{background:transparent;border:1px solid var(--border);border-radius:var(--radius);color:var(--muted);cursor:pointer;transition:color .15s,border-color .15s}.kv-editor .kv-toggle:hover{color:var(--text);border-color:var(--accent)}.form-group select option{background:var(--bg3)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.toggle-row{display:flex;align-items:center;gap:10px;margin-bottom:16px}.toggle-row label{font-size:13px;color:var(--text);cursor:pointer}.switch{position:relative;display:inline-block;width:36px;height:20px;flex-shrink:0}.switch input{opacity:0;width:0;height:0}.switch-slider{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background:var(--bg3);border:1px solid var(--border);border-radius:20px;transition:background .15s ease,border-color .15s ease}.switch-slider:before{content:"";position:absolute;width:14px;height:14px;left:2px;top:2px;background:var(--muted);border-radius:50%;transition:transform .15s ease,background .15s ease}.switch input:checked+.switch-slider{background:var(--accent, #2d7ff9);border-color:var(--accent, #2d7ff9)}.switch input:checked+.switch-slider:before{transform:translate(16px);background:#fff}.switch input:focus-visible+.switch-slider{box-shadow:0 0 0 2px var(--bg2),0 0 0 4px var(--accent, #2d7ff9)}.switch input:disabled+.switch-slider{opacity:.45;cursor:not-allowed}.btn[hidden]{display:none}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:var(--radius);border:1px solid transparent;font-size:13px;font-weight:500;cursor:pointer;transition:opacity .15s,background .15s;line-height:1.4;font-family:inherit}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-h)}.btn-danger{background:transparent;border-color:var(--danger);color:var(--danger)}.btn-danger:hover:not(:disabled){background:#f851491a}.btn-ghost{background:transparent;border-color:var(--border);color:var(--text)}.btn-ghost:hover:not(:disabled){background:var(--bg3)}.btn-sm{padding:4px 10px;font-size:12px}.btn-block{width:100%;justify-content:center;margin-top:8px}.scan-row{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:8px;background:var(--bg2, transparent)}.scan-row.added{opacity:.7}.scan-row-head{display:flex;align-items:center;gap:10px;padding:8px 10px}.scan-row-ip{font-family:var(--mono, monospace);font-size:13px;color:var(--text)}.scan-row-state{margin-left:auto;font-size:11px;color:var(--muted)}.scan-row-state.ok{color:var(--success, #3ecf8e)}.scan-row-state.err{color:var(--danger, #ff6b6b)}.scan-row-autofill,.scan-row-manual{flex-shrink:0}.scan-row-auth{padding:8px 10px;border-top:1px solid var(--border)}.scan-row-auth-actions{display:flex;justify-content:flex-end}.alert{padding:10px 14px;border-radius:var(--radius);font-size:13px;margin-bottom:16px}.alert-danger{background:#f851491f;border:1px solid rgba(248,81,73,.4);color:var(--danger)}.alert-success{background:#3fb9501f;border:1px solid rgba(63,185,80,.4);color:var(--success)}.storage-alert-banner{display:flex;align-items:center;gap:10px;padding:8px 14px;font-size:13px;border-bottom:1px solid;flex-shrink:0}.storage-alert-banner.is-warning{background:#d2992224;border-color:#d2992266;color:var(--warning)}.storage-alert-banner.is-critical{background:#f8514924;border-color:#f8514966;color:var(--danger)}.storage-alert-banner-icon{flex-shrink:0}.storage-alert-banner-text{flex:1}.storage-alert-banner-dismiss{background:none;border:none;cursor:pointer;color:inherit;opacity:.7;padding:2px 4px;line-height:1;font-size:16px}.storage-alert-banner-dismiss:hover{opacity:1}.alarm-strip{position:absolute;top:10px;left:0;right:0;margin:0 auto;width:fit-content;max-width:min(720px,calc(100% - 24px));z-index:90;display:flex;align-items:center;gap:10px;min-width:0;padding:7px 14px;background:color-mix(in srgb,var(--bg2, #161b22) 86%,var(--warning));border:1px solid rgba(210,153,34,.55);border-radius:999px;box-shadow:0 10px 30px #00000059;color:var(--warning);font-size:13px;cursor:pointer}.alarm-strip[hidden]{display:none}@media (max-width: 1024px){.alarm-strip{top:50px}}.alarm-strip.is-vibrating{animation:alarm-vibrate .55s ease-in-out}@keyframes alarm-vibrate{0%,to{transform:translate(0)}12%{transform:translate(-4px) rotate(-.5deg)}30%{transform:translate(4px) rotate(.5deg)}48%{transform:translate(-3px)}66%{transform:translate(3px)}84%{transform:translate(-1px)}}.alarm-strip-dot{flex-shrink:0;width:9px;height:9px;border-radius:50%;background:var(--warning);animation:alarm-pulse 1.2s ease-in-out infinite}.alarm-strip-count{font-weight:600;white-space:nowrap}.alarm-strip-latest{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);opacity:.85}.alarm-strip-elapsed{margin-left:auto;white-space:nowrap;font-size:12px;font-variant-numeric:tabular-nums}.alarm-strip-open{flex-shrink:0;padding:3px 10px;background:transparent;border:1px solid rgba(210,153,34,.55);border-radius:6px;color:var(--warning);font-size:12px;font-family:inherit;line-height:1.2;cursor:pointer;transition:background .14s,border-color .14s}.alarm-strip-open:hover{background:#d299222e;border-color:var(--warning)}.cap-alarm{display:none;flex:0 0 auto;line-height:0}.sidebar-asset-link.has-alarm .cap-alarm{display:inline-flex;color:var(--danger);animation:alarm-blink 1.15s ease-in-out infinite}.sidebar-asset-link.has-event-flash:not(.has-alarm) .cap-alarm{display:inline-flex;color:var(--warning);animation:alarm-blink .9s ease-in-out infinite}.dash-cell.has-alarm .ae-snapshot-thumb{outline:2px solid var(--danger);outline-offset:1px;animation:alarm-blink 1.15s ease-in-out infinite}.dash-cell.has-alarm .ae-snapshot-thumb .ae-snapshot-thumb-bell{display:block;color:var(--danger)}.dash-cell.has-event-flash:not(.has-alarm) .ae-snapshot-thumb{outline:2px solid var(--warning);outline-offset:1px;animation:alarm-blink .9s ease-in-out infinite}.dash-cell.has-event-flash:not(.has-alarm) .ae-snapshot-thumb .ae-snapshot-thumb-bell{display:block;color:var(--warning)}.dash-cell.has-alarm.is-announcing:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 2px var(--danger);animation:alarm-blink .5s ease-in-out 4}.dash-cell:hover .ae-snapshot-thumb{animation:none}.dash-cell.is-announcing:hover:after{animation:none;box-shadow:none}@keyframes alarm-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.75)}}@keyframes alarm-blink{0%,to{opacity:1}50%{opacity:.15}}@media (prefers-reduced-motion: reduce){.alarm-strip-dot,.alarm-strip.is-vibrating,.sidebar-asset-link .cap-alarm,.dash-cell .ae-snapshot-thumb,.dash-cell.is-announcing:after{animation:none}}.update-banner{position:fixed;top:16px;right:16px;z-index:4000;display:flex;align-items:center;gap:10px;max-width:340px;padding:11px 14px;font-size:13px;border:1px solid rgba(56,139,253,.45);border-radius:10px;background:color-mix(in srgb,var(--bg2, #1c2128) 88%,var(--accent, #58a6ff));color:var(--accent, #58a6ff);box-shadow:0 10px 30px #00000059;cursor:pointer;animation:update-toast-in .18s ease-out}@keyframes update-toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.update-banner-icon{flex-shrink:0}.update-banner-text{flex:1;line-height:1.35}.update-banner-dismiss{background:none;border:none;cursor:pointer;color:inherit;opacity:.7;padding:2px 4px;line-height:1;font-size:16px}.update-banner-dismiss:hover{opacity:1}.storage-unit-input{position:relative;display:flex}.storage-unit-input input[type=number]{flex:1;padding-right:62px}.storage-unit-select{position:absolute;right:1px;top:1px;bottom:1px;width:58px;border:none;border-left:1px solid var(--border);border-radius:0 calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0;background:var(--bg3);color:var(--text);font-size:12px;font-weight:600;text-align:center;cursor:pointer;padding:0 6px;-moz-appearance:none;appearance:none;-webkit-appearance:none}.storage-unit-select:focus{outline:none;box-shadow:none}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}thead th{padding:10px 16px;text-align:left;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border)}tbody td{padding:12px 16px;border-bottom:1px solid var(--border);font-size:13px;vertical-align:middle;text-align:left}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:#ffffff05}.actions{display:flex;gap:6px}.webhooks-table{table-layout:fixed;width:100%}.webhooks-table thead th,.webhooks-table tbody td{padding:8px 10px;overflow:hidden}.webhooks-table .col-name{width:14%}.webhooks-table .col-method{width:64px}.webhooks-table .col-format{width:90px}.webhooks-table .col-url{width:auto}.webhooks-table .col-events{width:17%}.webhooks-table .col-assets{width:56px}.webhooks-table .col-throttle,.webhooks-table .col-enabled{width:72px}.webhooks-table .col-actions{width:130px}.webhooks-table .cell-truncate{white-space:nowrap;text-overflow:ellipsis}.webhooks-table .cell-truncate strong{display:inline-block;max-width:100%;vertical-align:bottom;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.webhooks-table .cell-url{font-family:ui-monospace,monospace;font-size:12px}.webhooks-table .cell-events{font-size:12px;white-space:normal;line-height:1.5}.webhooks-table .actions{flex-wrap:wrap}.badge{display:inline-block;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:600;letter-spacing:.02em}.badge-green{background:#3fb95026;color:var(--success)}.badge-gray{background:#8b949e26;color:var(--muted)}.badge-yellow{background:#d2992226;color:var(--warning)}.badge-danger{background:#f8514926;color:var(--danger)}.page-header{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;z-index:4;background:var(--bg);padding:10px 48px 10px 16px;border-bottom:1px solid var(--border)}.page-header h1{font-size:16px;font-weight:600}.view-footer{display:flex;justify-content:flex-end;align-items:center;gap:10px;position:sticky;bottom:0;z-index:4;background:var(--bg);padding:8px 16px;border-top:1px solid var(--border)}.view-footer .view-footer-status{flex:1;font-size:12px;color:var(--muted)}.overlay-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:90}.overlay-panel{position:relative;width:min(960px,92vw);max-height:88vh;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;box-shadow:0 16px 40px #0000008c;overflow:hidden}.overlay-panel--wide{width:min(1280px,96vw);height:min(720px,88vh)}.overlay-close{position:absolute;top:6px;right:8px;background:none;border:none;color:var(--muted);font-size:22px;line-height:1;padding:2px 8px;cursor:pointer;border-radius:var(--radius);z-index:5}.overlay-close:hover{color:var(--text);background:var(--bg3)}.overlay-content{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--bg3) transparent}.overlay-content::-webkit-scrollbar{width:8px}.overlay-content::-webkit-scrollbar-track{background:transparent}.overlay-content::-webkit-scrollbar-thumb{background:var(--bg3);border-radius:4px;border:2px solid transparent;background-clip:padding-box}.overlay-content::-webkit-scrollbar-thumb:hover{background:var(--accent)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:100}#modal-root .modal-overlay{z-index:110}.box-style-layer.modal-overlay{z-index:120}.confirm-modal-layer.modal-overlay{z-index:1400}.box-style-layer select,.box-style-layer input[type=text]{padding:6px 10px;background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:13px;outline:none;font-family:inherit;transition:border-color .15s}.box-style-layer select:focus,.box-style-layer input[type=text]:focus{border-color:var(--accent)}.box-style-layer select option{background:var(--bg3);color:var(--text)}.box-style-layer input[type=text]:disabled{opacity:.5}.box-style-layer input[type=range]{accent-color:var(--accent)}.modal{--modal-pad: 28px;width:520px;max-height:90vh;overflow-y:auto;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:var(--modal-pad);scrollbar-width:thin;scrollbar-color:var(--bg3) transparent}.modal::-webkit-scrollbar{width:8px}.modal::-webkit-scrollbar-track{background:transparent}.modal::-webkit-scrollbar-thumb{background:var(--bg3);border-radius:4px;border:2px solid transparent;background-clip:padding-box}.modal::-webkit-scrollbar-thumb:hover{background:var(--accent)}.modal-header{display:flex;align-items:center;justify-content:space-between;position:sticky;top:calc(-1 * var(--modal-pad));z-index:3;background:var(--bg2);margin:calc(-1 * var(--modal-pad)) calc(-1 * var(--modal-pad)) 18px;padding:10px var(--modal-pad);border-bottom:1px solid var(--border)}.modal-header h2{font-size:15px;font-weight:600}.modal-close{background:none;border:none;color:var(--muted);cursor:pointer;font-size:20px;line-height:1;padding:2px 6px}.modal-close:hover{color:var(--text)}.modal-footer{display:flex;justify-content:flex-end;align-items:center;gap:10px;position:sticky;bottom:calc(-1 * var(--modal-pad));z-index:3;background:var(--bg2);margin:18px calc(-1 * var(--modal-pad)) calc(-1 * var(--modal-pad));padding:8px var(--modal-pad);border-top:1px solid var(--border)}.confirm-modal-body{font-size:13px;line-height:1.6;color:var(--text);white-space:pre-wrap}.confirm-modal-checkbox{display:flex;align-items:center;gap:8px;margin:12px 0 0;padding:0 1px;font-size:12.5px;color:var(--muted, #8b949e);cursor:pointer;-webkit-user-select:none;user-select:none}.confirm-modal-checkbox input{cursor:pointer}.section-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:20px 0 12px;padding-bottom:8px;border-bottom:1px solid var(--border)}.info-grid{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:13px;align-items:center}.info-grid dt{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.info-grid dd{color:var(--text)}.dash-wrap{position:relative;height:100%;width:100%;overflow:hidden;background:var(--bg);user-select:none;-webkit-user-select:none}.dash-wrap input,.dash-wrap textarea,.dash-wrap [contenteditable=true]{user-select:text;-webkit-user-select:text}.dash-split{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;--dash-ratio: .5}.dash-split[data-gallery-pos=bottom]{flex-direction:column}.dash-split[data-gallery-pos=top]{flex-direction:column-reverse}.dash-split[data-gallery-pos=right]{flex-direction:row}.dash-split[data-gallery-pos=left]{flex-direction:row-reverse}.dash-pane{position:relative;flex:1 1 0;min-width:0;min-height:0;overflow:hidden;z-index:0;transition:flex-grow .28s cubic-bezier(.4,0,.2,1)}.dash-split[data-gallery-open=true] .dash-pane--main{flex-grow:var(--dash-ratio, .5)}.dash-split[data-gallery-open=true] .dash-pane--gallery{flex-grow:calc(1 - var(--dash-ratio, .5))}.dash-split[data-gallery-open=false] .dash-pane--main{flex-grow:1}.dash-split[data-gallery-open=false] .dash-pane--gallery{flex-grow:0}.dash-split[data-gallery-full=true] .dash-pane--main,.dash-split[data-gallery-full=true] .dash-splitter{display:none!important}.dash-split[data-gallery-full=true] .dash-pane--gallery{flex-grow:1!important}.dash-split.is-dragging .dash-pane{transition:none}.dash-pane.is-flipping{z-index:1;will-change:transform}.dash-splitter.is-rotating{opacity:0}.dash-splitter{position:relative;flex:0 0 6px;background:var(--bg2);cursor:row-resize;display:flex;align-items:center;justify-content:center;transition:background .16s ease,opacity .2s ease;z-index:4;overflow:visible}.dash-splitter[hidden]{display:none}.dash-split[data-gallery-pos=right] .dash-splitter,.dash-split[data-gallery-pos=left] .dash-splitter{cursor:col-resize}.dash-splitter:hover,.dash-split.is-dragging .dash-splitter{background:var(--accent)}.dash-splitter-grip{position:absolute;background:var(--border);border-radius:2px;pointer-events:none;transition:background .16s ease;width:48px;height:2px}.dash-split[data-gallery-pos=right] .dash-splitter-grip,.dash-split[data-gallery-pos=left] .dash-splitter-grip{width:2px;height:48px}.dash-splitter:hover .dash-splitter-grip,.dash-split.is-dragging .dash-splitter-grip{background:#fff}.dash-splitter-orient{position:absolute;width:22px;height:22px;border-radius:50%;border:1px solid var(--border);background:var(--bg2);color:var(--text);display:inline-flex;align-items:center;justify-content:center;cursor:inherit;z-index:20;padding:0;opacity:0;transition:opacity .16s ease,background .16s ease,transform .22s ease;top:50%;left:50%;margin-top:-11px;margin-left:-11px}.dash-splitter:hover .dash-splitter-orient,.dash-split.is-dragging .dash-splitter-orient,.dash-splitter:focus-within .dash-splitter-orient{opacity:1}.dash-splitter-orient:hover{background:var(--accent);color:#fff}.dash-splitter-orient svg{transition:transform .28s cubic-bezier(.4,0,.2,1);transform:rotate(calc(var(--orient-turn, 0) * 90deg))}body.dash-splitting-y,body.dash-splitting-y *{cursor:row-resize!important}body.dash-splitting-x,body.dash-splitting-x *{cursor:col-resize!important}.dash-gallery-host{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.dash-ev-layout{position:absolute;z-index:9000;display:flex;align-items:center;justify-content:center;gap:2px;background:#0000008c;border:1px solid rgba(255,255,255,.18);border-radius:6px}.dash-ev-layout-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:20px;padding:0;background:none;border:1px solid transparent;border-radius:4px;color:var(--muted);cursor:pointer;transition:background .12s,color .12s,border-color .12s}.dash-ev-layout-btn:hover{background:#ffffff14;color:var(--text)}.dash-ev-layout-btn.is-active{color:var(--accent-h);border-color:var(--accent);background:#388bfd1f}.dash-ev-layout-btn svg{display:block}.dash-ev-layout--edge-top,.dash-ev-layout--edge-bottom{left:50%;transform:translate(-50%);flex-direction:row;height:26px;padding:0 4px}.dash-ev-layout--edge-top{top:6px}.dash-ev-layout--edge-bottom{bottom:6px}.dash-ev-layout--edge-left,.dash-ev-layout--edge-right{top:50%;transform:translateY(-50%);flex-direction:column;width:30px;padding:4px 0}.dash-ev-layout--edge-left{left:6px}.dash-ev-layout--edge-right{right:6px}.dash-ev-layout--edge-left .dash-ev-layout-btn,.dash-ev-layout--edge-right .dash-ev-layout-btn{width:24px;height:24px}.ae-snap-editor.dash-ev-handoff .ae-snap-editor-act-multi{display:none}.dash-gallery-host .ae-event-viewer:not(.ae-event-viewer--single):not(.ae-event-viewer--sysdetail) .ae-ev-list-pane{flex:1 1 auto;max-width:none;border-right:none}.dash-gallery-host .ae-event-viewer:not(.ae-event-viewer--single):not(.ae-event-viewer--sysdetail) .ae-ev-detail{display:none}.dash-gallery-host .ae-event-viewer--map:not(.ae-event-viewer--single):not(.ae-event-viewer--sysdetail) .ae-ev-list-pane{flex:1 1 50%;border-right:1px solid rgba(255,255,255,.08)}.dash-gallery-host .ae-event-viewer--sysdetail .ae-ev-detail{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;order:0;flex:none;display:flex;overflow-y:auto;background:var(--bg, #0d1117);padding:44px 18px 16px}.dash-viewport{position:absolute;top:0;right:0;bottom:0;left:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scroll-snap-type:y mandatory;background:var(--bg);scrollbar-width:thin;scrollbar-color:var(--bg3) transparent;transition:bottom .22s cubic-bezier(.4,0,.2,1)}.dash-viewport::-webkit-scrollbar{width:8px}.dash-viewport::-webkit-scrollbar-track{background:transparent}.dash-viewport::-webkit-scrollbar-thumb{background:var(--bg3);border-radius:4px;border:2px solid var(--bg)}.dash-viewport::-webkit-scrollbar-thumb:hover{background:var(--border)}.dash-track{position:relative;width:100%}.dash-cell{position:absolute;overflow:hidden;scroll-snap-align:start;will-change:left,top,width,height;opacity:1;transform:scale(1);transition:opacity .22s ease,transform .22s ease}.dash-cell.is-hiding{opacity:0;transform:scale(.95);pointer-events:none}.dash-cell-tap{display:none}.dash-wrap.custom-mode .dash-viewport{scroll-snap-type:none}.dash-wrap.custom-mode .dash-cell{z-index:1}.dash-wrap.has-custom-zoom .dash-cell:not(.is-custom-zoomed){opacity:.35;filter:saturate(.6);transition:opacity .18s ease,filter .18s ease}.dash-wrap.custom-mode .dash-cell.is-custom-zoomed{z-index:30;border-radius:10px;overflow:hidden;outline:1px solid color-mix(in srgb,var(--accent) 45%,transparent);box-shadow:0 18px 48px #0009}@media (prefers-reduced-motion: reduce){.dash-wrap.has-custom-zoom .dash-cell:not(.is-custom-zoomed){transition:none}}.dash-wrap.custom-edit .dash-cell{cursor:move;outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:-2px;border-radius:8px;overflow:visible}.dash-wrap.custom-edit .dash-asset-card{pointer-events:none;border-radius:8px}.dash-wrap.custom-edit .dash-cell.is-dragging{z-index:20;opacity:.9;outline:2px solid var(--accent);box-shadow:0 8px 24px #00000073;cursor:grabbing;transition:none!important}.dash-wrap.custom-edit .dash-cell.is-resizing{opacity:.6}.dash-grid-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;opacity:0;transition:opacity .2s ease;background-image:linear-gradient(to right,var(--border) 1px,transparent 1px),linear-gradient(to bottom,var(--border) 1px,transparent 1px)}.dash-wrap.custom-edit .dash-grid-overlay{opacity:.4}.dash-grid-ghost{position:absolute;z-index:15;pointer-events:none;display:none;border:2px dashed var(--accent);border-radius:8px;background:color-mix(in srgb,var(--accent) 16%,transparent);box-shadow:inset 0 0 0 9999px color-mix(in srgb,var(--accent) 8%,transparent);transition:left 90ms ease,top 90ms ease,width 90ms ease,height 90ms ease}.dash-wrap.custom-edit .dash-grid-ghost.is-active{display:block}.dash-resize-handle{position:absolute;display:none;z-index:5}.dash-wrap.custom-edit .dash-resize-handle{display:block}.dash-resize-nw,.dash-resize-ne,.dash-resize-se,.dash-resize-sw{width:20px;height:20px}.dash-resize-nw:after,.dash-resize-ne:after,.dash-resize-se:after,.dash-resize-sw:after{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:var(--accent);border:2px solid var(--bg);box-shadow:0 1px 3px #0009}.dash-resize-nw{top:0;left:0;cursor:nwse-resize}.dash-resize-ne{top:0;right:0;cursor:nesw-resize}.dash-resize-se{bottom:0;right:0;cursor:nwse-resize}.dash-resize-sw{bottom:0;left:0;cursor:nesw-resize}.dash-resize-nw:after{top:0;left:0;transform:translate(-50%,-50%)}.dash-resize-ne:after{top:0;right:0;transform:translate(50%,-50%)}.dash-resize-se:after{bottom:0;right:0;transform:translate(50%,50%)}.dash-resize-sw:after{bottom:0;left:0;transform:translate(-50%,50%)}.dash-resize-n{top:0;left:18px;right:18px;height:12px;cursor:ns-resize}.dash-resize-s{bottom:0;left:18px;right:18px;height:12px;cursor:ns-resize}.dash-resize-w{left:0;top:18px;bottom:18px;width:12px;cursor:ew-resize}.dash-resize-e{right:0;top:18px;bottom:18px;width:12px;cursor:ew-resize}.dash-resize-n:after,.dash-resize-s:after,.dash-resize-w:after,.dash-resize-e:after{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:var(--accent);border:2px solid var(--bg);box-shadow:0 1px 3px #0009}.dash-resize-n:after{top:0;left:50%;transform:translate(-50%,-50%)}.dash-resize-s:after{bottom:0;left:50%;transform:translate(-50%,50%)}.dash-resize-w:after{left:0;top:50%;transform:translate(-50%,-50%)}.dash-resize-e:after{right:0;top:50%;transform:translate(50%,-50%)}.dash-status{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--muted);pointer-events:none}.dash-toolbar{display:flex;align-items:center;justify-content:center;padding:8px 16px;background:var(--bg2)}.dash-toolbar-fixed{position:absolute;bottom:6px;left:50%;transform:translate(-50%) translateY(8px);opacity:0;pointer-events:none;background:transparent;border:none;padding:24px 0 0;box-shadow:none;z-index:100;transition:opacity .22s ease,transform .22s cubic-bezier(.4,0,.2,1)}.dash-toolbar-fixed.visible{opacity:1;pointer-events:auto;transform:translate(-50%) translateY(0)}.dash-grid-toggle{display:flex;gap:12px}.dash-col-btn{padding:4px 8px;display:inline-flex;align-items:center;justify-content:center}.service-info-row{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:13px}.service-info-label{width:64px;font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;flex-shrink:0}.service-info-value{flex:1;font-family:ui-monospace,monospace;font-size:12px;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:3px 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.service-info-row-codecs .service-info-value{display:flex;flex-wrap:wrap;gap:4px 12px;overflow:visible;white-space:normal;font-family:inherit}.codec-flag{white-space:nowrap}.codec-flag.is-missing{color:var(--danger);font-weight:600}.service-info-row-warn .service-info-label{color:var(--danger)}.sys-card{padding:20px}.sys-card+.sys-card{margin-top:14px}.sys-card-title{margin:0 0 12px;font-size:13px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--muted)}.storage-master-toggle{gap:8px}.sys-shell{display:flex;flex-direction:column;min-height:0;height:100%}.sys-layout{display:grid;grid-template-columns:232px minmax(0,1fr);gap:18px;flex:1;min-height:0;overflow:hidden;padding:0 20px 4px}.sys-nav{display:flex;flex-direction:column;gap:2px;padding:8px 0;border-right:1px solid var(--border);overflow-y:auto}.sys-nav-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border:0;border-radius:8px;background:transparent;color:var(--text);font:inherit;font-size:13px;text-align:left;cursor:pointer}.sys-nav-item:hover{background:var(--surface-2)}.sys-nav-item.is-active{background:var(--surface-2);font-weight:600}.sys-nav-item.is-active .sys-nav-icon{color:var(--primary, var(--text))}.sys-nav-icon{display:inline-flex;color:var(--muted);flex:0 0 auto}.sys-nav-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sys-panel{display:flex;flex-direction:column;min-height:0;overflow-y:auto;padding:8px 2px 8px 0}.sys-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.sys-panel-title{margin:0;font-size:17px;font-weight:600}.sys-panel-desc{margin:4px 0 0;max-width:640px;font-size:12px;color:var(--muted)}.sys-panel-actions{display:flex;gap:8px;flex:0 0 auto}.view-footer.is-readonly .btn-primary{display:none}@media (max-width: 860px){.sys-layout{grid-template-columns:minmax(0,1fr);overflow:visible;padding:0 14px 4px}.sys-nav{flex-direction:row;border-right:0;border-bottom:1px solid var(--border);overflow-x:auto;padding:4px 0 8px}.sys-nav-item{width:auto;flex:0 0 auto}.sys-panel{overflow:visible}.sys-shell{height:auto}}.sys-health-hero{display:flex;align-items:center;gap:10px;width:fit-content;max-width:100%;padding:6px 12px;border:1px solid var(--border);border-left-width:3px;border-radius:var(--radius);background:var(--bg);margin-bottom:10px}.sys-health-hero--ok{border-left-color:var(--success)}.sys-health-hero--warn{border-left-color:var(--warning)}.sys-health-hero--crit{border-left-color:var(--danger)}.sys-health-dot{width:10px;height:10px;border-radius:999px;flex-shrink:0}.sys-health-hero--ok .sys-health-dot{background:var(--success);box-shadow:0 0 0 4px #3fb9502e}.sys-health-hero--warn .sys-health-dot{background:var(--warning);box-shadow:0 0 0 4px #d299222e}.sys-health-hero--crit .sys-health-dot{background:var(--danger);box-shadow:0 0 0 4px #f851492e}.sys-health-hero-status{font-size:13px;font-weight:650;color:var(--text);display:inline}.sys-health-hero-sub{font-size:12px;color:var(--muted);display:inline;margin-left:8px}.sys-hero-flag{margin-left:4px;flex-shrink:0;font-size:11px;font-weight:600;padding:3px 9px;border-radius:999px}.sys-hero-flag.is-warn{background:#d2992226;color:var(--warning)}.sys-hero-flag.is-crit{background:#f8514926;color:var(--danger)}.sys-stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,168px));gap:8px;margin-bottom:12px}#health-overview .sys-stat-grid{grid-template-columns:repeat(5,minmax(0,1fr))}#mediamtx-content .sys-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:0}.sys-stat{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:9px 12px}.sys-stat-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sys-stat-value{font-size:16px;font-weight:650;color:var(--text);line-height:1.15}.sys-stat-sub{font-size:10px;color:var(--muted);margin-top:3px}.sys-stat-value--badge{font-size:0}.sys-stat-value--badge .badge{font-size:11px}.sys-stat-value--when{font-size:13px}.sys-stat-value--when .cell-time{font-size:11px;color:var(--muted)}.cell-date,.cell-time{display:block;white-space:nowrap}.sys-bar-stack{display:grid;gap:8px}.sys-stat--bar .sys-usage-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:5px}.sys-stat--bar .sys-stat-label{margin-bottom:0}.sys-stat--bar .sys-usage-foot{margin-top:5px}.sys-health-grid .sys-stat{min-height:73px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center}.sys-health-grid{display:grid;grid-template-columns:calc((100% - 32px) * 3 / 5 + 16px) minmax(0,1fr);gap:8px}.sys-block{margin-top:12px}.sys-block:first-child{margin-top:0}.sys-subhead{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.sys-mono{font-family:ui-monospace,monospace;font-size:11px}.sys-note-muted{color:var(--muted);font-size:12px;margin-top:6px}.sys-note-ok{color:var(--muted);font-size:12px;margin-top:8px}.sys-usage-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:6px;flex-wrap:wrap}.sys-usage-num{font-size:12px;color:var(--text)}.sys-usage-pct{color:var(--muted);margin-left:4px}.sys-usage-track{height:8px;background:var(--bg3);border-radius:999px;overflow:hidden}.sys-usage-fill{height:100%;border-radius:999px;transition:width .3s ease}.sys-usage-fill.is-ok{background:var(--success)}.sys-usage-fill.is-warn{background:var(--warning)}.sys-usage-fill.is-crit{background:var(--danger)}.sys-usage-fill.is-neutral{background:var(--accent)}.sys-usage-foot{font-size:11px;color:var(--muted);margin-top:6px;overflow-wrap:anywhere}.sys-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.sys-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px 4px 10px;background:var(--bg);border:1px solid var(--border);border-radius:999px;font-size:12px}.sys-chip-name{text-transform:uppercase;font-weight:600;font-size:11px;color:var(--muted)}.sys-chip-port{font-family:ui-monospace,monospace;font-size:11px;color:var(--text)}.sys-errors{max-height:150px;overflow-y:auto;margin-top:6px}.sys-error-row{font-size:12px;padding:6px 0;border-bottom:1px solid var(--border)}.sys-error-msg{color:var(--danger);margin-top:2px;overflow-wrap:anywhere}.sys-service-info{margin-top:20px;border-top:1px solid var(--border);padding-top:14px}.sys-service-info .sys-subhead{display:block;margin-bottom:10px}.sys-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dash-asset-card{position:absolute;top:0;right:0;bottom:0;left:0;background:#000;overflow:hidden}.dash-asset-card:fullscreen{inset:auto;background:#000}.dash-card-footer{padding:8px 14px;border-top:1px solid var(--border);display:flex;justify-content:flex-end}.detail-video-container{background:#000;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;position:relative}.detail-video-container .ae-video-wrapper{aspect-ratio:16/9}.detail-video-container:has(.ae-layout-root){aspect-ratio:16/9}.proto-picker{position:relative;display:inline-block}.proto-picker-current{font-size:11px;font-weight:600;color:var(--muted);cursor:pointer;padding:2px 6px;border-radius:4px;transition:color .12s,background .12s}.proto-picker-current:hover{color:var(--text);background:var(--bg3)}.proto-picker-menu{position:absolute;top:calc(100% + 4px);left:0;min-width:90px;background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 12px #0006;z-index:200;overflow:hidden}.proto-picker-item{display:block;width:100%;padding:6px 12px;background:none;border:none;color:var(--text);font-size:12px;text-align:left;cursor:pointer}.proto-picker-item:hover{background:var(--bg2)}.proto-picker-item--active{color:var(--accent-h);cursor:default}.empty{padding:48px 24px;text-align:center;color:var(--muted);font-size:14px}.divider{border:none;border-top:1px solid var(--border);margin:20px 0}.loading{padding:40px;text-align:center;color:var(--muted)}.detail-layout{display:grid;grid-template-columns:1fr 360px;gap:20px;align-items:start}.detail-view-wrap{height:100%;display:flex;flex-direction:column;overflow:hidden;padding:12px 16px;box-sizing:border-box}.detail-view-wrap>#detail-content{flex:1;display:flex;flex-direction:column;min-height:0}.detail-header-row{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:nowrap;min-height:28px}.detail-header-row .detail-title{font-size:18px;font-weight:600;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:320px}.detail-view-wrap .detail-video-container{flex:1;min-height:0;aspect-ratio:auto}.detail-view-wrap .detail-video-container .ae-video-wrapper,.detail-view-wrap .detail-video-container .ae-root,.detail-view-wrap .detail-video-container:has(.ae-layout-root){aspect-ratio:auto;height:100%}@media (max-width: 1024px){.shell-topbar{display:flex}#dash-ev-layout{display:none}.sidebar-wrap{position:fixed;top:0;left:0;bottom:0;width:280px;max-width:85vw;z-index:1000;border-radius:0;transform:translate(-100%);transition:transform .25s cubic-bezier(.4,0,.2,1)}.sidebar-wrap.sidebar-wrap-collapsed{width:280px;max-width:85vw}.sidebar{width:100%}.shell.drawer-open .sidebar-wrap{transform:translate(0);box-shadow:8px 0 30px #0000008c}.shell.drawer-open .shell-drawer-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;background:#00000080}.login-card{width:calc(100% - 32px);padding:28px 20px}.modal{width:calc(100% - 32px)!important;--modal-pad: 20px}.page{padding:16px 12px}.detail-layout,.form-row,.sys-grid{grid-template-columns:1fr}.sys-card{padding:16px}.sys-health-grid{grid-template-columns:1fr;gap:16px}.sys-form-grid{grid-template-columns:1fr}.service-info-row{flex-wrap:wrap}.service-info-value{flex:1 1 100%}thead th,tbody td{padding:8px 10px}.actions{flex-wrap:wrap}.page-header{flex-wrap:wrap;gap:10px}.shell-topbar-mesh,.sidebar-mesh-variant[data-mesh-step="0"],.dash-col-btn[data-step="0"]{display:none}.dash-wrap:not(.dash-single):not(.custom-edit) .dash-cell-tap{display:block;position:absolute;top:0;right:0;bottom:0;left:0;z-index:7}.dash-wrap.dash-single .dash-viewport{overflow:hidden;scroll-snap-type:none}.shell-topbar.single-mode .shell-topbar-back{display:flex}.shell-topbar.single-mode .shell-topbar-brand{display:none}.dash-toolbar-fixed{top:8px;bottom:auto;padding:6px;background:var(--bg2);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 24px #0000008c;max-width:calc(100vw - 16px);transform:translate(-50%) translateY(-8px)}.dash-toolbar-fixed.visible{opacity:1;pointer-events:auto;transform:translate(-50%) translateY(0)}.dash-grid-toggle{gap:4px;flex-wrap:nowrap;justify-content:center}.dash-col-btn{flex:0 0 auto;width:40px;height:40px;min-width:40px;min-height:40px;padding:0}.dash-col-btn svg{display:block}.dash-wrap.custom-mode .dash-resize-nw,.dash-wrap.custom-mode .dash-resize-ne,.dash-wrap.custom-mode .dash-resize-se,.dash-wrap.custom-mode .dash-resize-sw{width:28px;height:28px}.dash-wrap.custom-mode .dash-resize-n,.dash-wrap.custom-mode .dash-resize-s{height:16px;left:28px;right:28px}.dash-wrap.custom-mode .dash-resize-w,.dash-wrap.custom-mode .dash-resize-e{width:16px;top:28px;bottom:28px}.dash-split[data-gallery-pos=right],.dash-split[data-gallery-pos=left]{flex-direction:column}.overlay-panel{width:calc(100% - 24px);max-width:100%;height:auto;max-height:92vh}.webhooks-table{table-layout:fixed;width:100%;min-width:0}.webhooks-table col.col-format,.webhooks-table col.col-assets,.webhooks-table col.col-throttle{display:none}.webhooks-table thead th:nth-child(3),.webhooks-table tbody td:nth-child(3),.webhooks-table thead th:nth-child(6),.webhooks-table tbody td:nth-child(6),.webhooks-table thead th:nth-child(7),.webhooks-table tbody td:nth-child(7){display:none}}.plugin-log-cell{position:relative;overflow:hidden}.plugin-log-cell>.plugin-log-scroll{position:relative;width:calc(100% - 24px);height:280px;margin:10px 12px;overflow:hidden}.plugin-log-cell .plugin-log-output{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;overflow:auto}@media (orientation: portrait) and (max-width: 768px){.plugins-table{table-layout:fixed;width:100%;min-width:0}.plugins-table thead th:nth-child(3),.plugins-table tbody tr[data-row] td:nth-child(3),.plugins-table thead th:nth-child(4),.plugins-table tbody tr[data-row] td:nth-child(4),.plugins-table thead th:nth-child(5),.plugins-table tbody tr[data-row] td:nth-child(5){width:0;max-width:0;padding-left:0;padding-right:0;overflow:hidden;white-space:nowrap;box-sizing:border-box;font-size:0;line-height:0;color:transparent;border:0}.plugins-table thead th:nth-child(3)>*,.plugins-table tbody tr[data-row] td:nth-child(3)>*,.plugins-table thead th:nth-child(4)>*,.plugins-table tbody tr[data-row] td:nth-child(4)>*,.plugins-table thead th:nth-child(5)>*,.plugins-table tbody tr[data-row] td:nth-child(5)>*{display:none}.plugins-table thead th,.plugins-table tbody td:not(.plugin-log-cell){padding:6px 4px}.plugins-table thead th:first-child,.plugins-table tbody tr[data-row] td:first-child{padding-left:0}.plugins-table thead th:last-child,.plugins-table tbody tr[data-row] td:last-child{padding-right:10px}.plugins-table thead th:first-child,.plugins-table tbody tr[data-row] td:first-child{width:26px}.plugins-table thead th:nth-child(6),.plugins-table tbody tr[data-row] td:nth-child(6){width:44px}.plugins-table thead th:nth-child(7),.plugins-table tbody tr[data-row] td:nth-child(7){width:118px}.plugins-table thead th:nth-child(2),.plugins-table tbody tr[data-row] td:nth-child(2){width:auto}.plugins-table tbody tr[data-row] td:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plugins-table .actions{flex-wrap:nowrap;justify-content:flex-end;gap:4px}.plugins-table .actions .btn{padding:4px 8px;font-size:12px;white-space:nowrap}.plugins-table thead th:nth-child(6),.plugins-table thead th:nth-child(7){font-size:10px;letter-spacing:0}.plugins-table thead th:nth-child(6){text-indent:-9999px;position:relative;overflow:hidden}.plugins-table thead th:nth-child(6):after{content:"ON";position:absolute;left:0;top:50%;transform:translateY(-50%);text-indent:0}.plugins-table thead th:nth-child(7){text-align:right}}.users-table thead th{white-space:normal;overflow-wrap:break-word;-webkit-hyphens:none;hyphens:none;vertical-align:bottom}.users-table thead th:nth-child(8){text-align:right}.users-table tbody td:nth-child(8) .actions{justify-content:flex-end}.users-table tbody td:nth-child(3),.users-table tbody td:nth-child(4),.users-table tbody td:nth-child(5),.users-table tbody td:nth-child(8){white-space:nowrap}.users-table thead th,.users-table tbody td{padding-left:10px;padding-right:10px}@media (min-width: 769px) and (max-width: 1000px){.users-table thead th:nth-child(4),.users-table tbody td:nth-child(4),.users-table thead th:nth-child(7),.users-table tbody td:nth-child(7){display:none}.users-table thead th:nth-child(8),.users-table tbody td:nth-child(8){width:150px}.users-table .actions{flex-wrap:nowrap}.users-table thead th:nth-child(2),.users-table tbody td:nth-child(2){display:none}}@media (orientation: portrait) and (max-width: 768px){.users-table{table-layout:fixed;width:100%;min-width:0}.users-table thead th:nth-child(3),.users-table tbody td:nth-child(3),.users-table thead th:nth-child(4),.users-table tbody td:nth-child(4),.users-table thead th:nth-child(5),.users-table tbody td:nth-child(5),.users-table thead th:nth-child(6),.users-table tbody td:nth-child(6),.users-table thead th:nth-child(7),.users-table tbody td:nth-child(7){width:0;max-width:0;padding-left:0;padding-right:0;overflow:hidden;white-space:nowrap;box-sizing:border-box;font-size:0;line-height:0;color:transparent;border:0}.users-table thead th:nth-child(3)>*,.users-table tbody td:nth-child(3)>*,.users-table thead th:nth-child(4)>*,.users-table tbody td:nth-child(4)>*,.users-table thead th:nth-child(5)>*,.users-table tbody td:nth-child(5)>*,.users-table thead th:nth-child(6)>*,.users-table tbody td:nth-child(6)>*,.users-table thead th:nth-child(7)>*,.users-table tbody td:nth-child(7)>*{display:none}.users-table thead th,.users-table tbody td{padding:6px 4px}.users-table thead th:last-child,.users-table tbody td:last-child{padding-right:10px}.users-table thead th:first-child,.users-table tbody td:first-child{width:130px}.users-table thead th:nth-child(2),.users-table tbody td:nth-child(2){width:56px}.users-table thead th:nth-child(8),.users-table tbody td:nth-child(8){width:118px}.users-table tbody td:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.users-table .actions{flex-wrap:nowrap;justify-content:flex-end;gap:4px}.users-table .actions .btn{padding:4px 8px;font-size:12px;white-space:nowrap}.users-table thead th{font-size:10px;letter-spacing:0}.users-table thead th:nth-child(8){text-align:right}.users-table tbody td:nth-child(2) .badge{font-size:10px;padding:2px 5px;white-space:nowrap}}.tokens-table thead th{white-space:normal;overflow-wrap:break-word;-webkit-hyphens:none;hyphens:none;vertical-align:bottom}.tokens-table .actions{justify-content:flex-end;flex-wrap:nowrap}.tokens-table thead th.tk-col-actions,.tokens-table tbody td.tk-col-actions{width:1%;white-space:nowrap}.tk-actions-btn{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.tk-actions-btn svg{opacity:.7;transition:transform .12s ease}.tk-actions-btn[aria-expanded=true] svg{transform:rotate(180deg)}.tokens-table thead th.tk-col-actions{text-align:right}.tokens-table tbody td.tk-col-status{white-space:nowrap}.cell-when{font-size:12px;color:var(--muted)}.cell-when .cell-time{font-size:11px;opacity:.75}.tokens-table thead th,.tokens-table tbody td{padding-left:10px;padding-right:10px}@media (min-width: 769px) and (max-width: 1000px){.tokens-table .tk-col-lastused{display:none}}@media (orientation: portrait) and (max-width: 768px){.tokens-table .tk-col-scope,.tokens-table .tk-col-lastused,.tokens-table .tk-col-created,.tokens-table .tk-actions-label,.tokens-table.has-owner .tk-col-expires{display:none}.tokens-table .tk-col-owner{white-space:normal;overflow-wrap:anywhere;max-width:90px}.sys-card{padding-left:10px;padding-right:10px}.tokens-table thead th,.tokens-table tbody td{padding-left:6px;padding-right:6px}.tokens-table thead th.tk-col-status{font-size:0;padding-left:0;padding-right:0}.tokens-table tbody td.tk-col-status .badge{font-size:10px}}@media (orientation: portrait) and (max-width: 380px){.tokens-table .tk-col-status{display:none}}@media (orientation: portrait) and (max-width: 768px){.webhooks-table{table-layout:fixed;width:100%;min-width:0}.webhooks-table col.col-format,.webhooks-table col.col-url,.webhooks-table col.col-events,.webhooks-table col.col-assets,.webhooks-table col.col-throttle{width:0}.webhooks-table thead th:nth-child(3),.webhooks-table tbody td:nth-child(3),.webhooks-table thead th:nth-child(4),.webhooks-table tbody td:nth-child(4),.webhooks-table thead th:nth-child(5),.webhooks-table tbody td:nth-child(5),.webhooks-table thead th:nth-child(6),.webhooks-table tbody td:nth-child(6),.webhooks-table thead th:nth-child(7),.webhooks-table tbody td:nth-child(7){width:0;max-width:0;padding-left:0;padding-right:0;overflow:hidden;white-space:nowrap;box-sizing:border-box;font-size:0;line-height:0;color:transparent;border:0}.webhooks-table thead th:nth-child(3)>*,.webhooks-table tbody td:nth-child(3)>*,.webhooks-table thead th:nth-child(4)>*,.webhooks-table tbody td:nth-child(4)>*,.webhooks-table thead th:nth-child(5)>*,.webhooks-table tbody td:nth-child(5)>*,.webhooks-table thead th:nth-child(6)>*,.webhooks-table tbody td:nth-child(6)>*,.webhooks-table thead th:nth-child(7)>*,.webhooks-table tbody td:nth-child(7)>*{display:none}.webhooks-table thead th,.webhooks-table tbody td{padding:6px 4px}.webhooks-table thead th:last-child,.webhooks-table tbody td:last-child{padding-right:10px}.webhooks-table col.col-name{width:98px}.webhooks-table col.col-method,.webhooks-table col.col-enabled{width:52px}.webhooks-table col.col-actions{width:76px}.webhooks-table thead th:first-child,.webhooks-table tbody td:first-child{width:98px}.webhooks-table thead th:nth-child(2),.webhooks-table tbody td:nth-child(2){width:52px}.webhooks-table thead th:nth-child(8),.webhooks-table tbody td:nth-child(8){width:52px}.webhooks-table thead th:nth-child(9),.webhooks-table tbody td:nth-child(9){width:76px}.webhooks-table tbody td:nth-child(2){font-size:11px;white-space:nowrap;overflow:hidden}.webhooks-table tbody td:first-child{overflow:hidden}.webhooks-table .actions{flex-wrap:nowrap;justify-content:flex-end;gap:4px}.webhooks-table thead th{font-size:10px;letter-spacing:0}.webhooks-table thead th:nth-child(9){text-align:right}.webhooks-table thead th:nth-child(2){padding-right:8px}.webhooks-table thead th:nth-child(8){text-indent:-9999px;position:relative;overflow:hidden}.webhooks-table thead th:nth-child(8):after{content:"ON";position:absolute;left:0;top:50%;transform:translateY(-50%);text-indent:0}}@media (orientation: portrait) and (max-width: 768px){.plugins-table .actions .btn[data-edit],.plugins-table .actions .btn[data-delete],.users-table .actions .btn[data-edit],.users-table .actions .btn[data-delete],.webhooks-table .actions .btn[data-edit],.webhooks-table .actions .btn[data-del]{flex:0 0 auto;width:30px;height:30px;min-width:30px;padding:0;text-indent:-9999px;overflow:hidden;position:relative;gap:0}.plugins-table .actions .btn[data-edit]:after,.plugins-table .actions .btn[data-delete]:after,.users-table .actions .btn[data-edit]:after,.users-table .actions .btn[data-delete]:after,.webhooks-table .actions .btn[data-edit]:after,.webhooks-table .actions .btn[data-del]:after{content:"";position:absolute;left:50%;top:50%;width:16px;height:16px;margin:-8px 0 0 -8px;text-indent:0;background-color:currentColor;mask-repeat:no-repeat;mask-position:center;mask-size:16px 16px;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:16px 16px}.plugins-table .actions .btn[data-edit]:after,.users-table .actions .btn[data-edit]:after,.webhooks-table .actions .btn[data-edit]:after{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z'/%3E%3C/svg%3E")}.plugins-table .actions .btn[data-delete]:after,.users-table .actions .btn[data-delete]:after,.webhooks-table .actions .btn[data-del]:after{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='3 6 5 6 21 6'/%3E%3Cpath d='M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'/%3E%3Cline x1='10' y1='11' x2='10' y2='17'/%3E%3Cline x1='14' y1='11' x2='14' y2='17'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='3 6 5 6 21 6'/%3E%3Cpath d='M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'/%3E%3Cline x1='10' y1='11' x2='10' y2='17'/%3E%3Cline x1='14' y1='11' x2='14' y2='17'/%3E%3C/svg%3E")}.plugins-table thead th:nth-child(7),.plugins-table tbody td:nth-child(7){width:76px}.users-table thead th:nth-child(8),.users-table tbody td:nth-child(8){width:76px}}.dash-cell.is-focused{outline:2px solid var(--accent, #58a6ff);outline-offset:-2px;z-index:2}.sidebar-asset-link.is-focused{background:#7dd3fc2e;color:var(--text);border-color:#7dd3fc73}.sidebar-asset-link.is-expanded,.sidebar-group-header.is-expanded{background:linear-gradient(135deg,#5eead438,#388bfd47);color:var(--text);border-color:#7dd3fcd9;box-shadow:0 0 0 1px #7dd3fc59,0 6px 14px #00000059}.sidebar-asset-link.is-hidden-asset{opacity:.55}.sidebar-asset-link.is-hidden-asset .cap-name{text-decoration:line-through}.sidebar-asset-link.is-disabled-asset{color:var(--muted);background:#ffffff08;border-color:#8b949e40;filter:grayscale(1);opacity:.85}.sidebar-asset-link.is-disabled-asset .cap-name{font-style:italic}.sidebar-pinned{margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid var(--border, rgba(139, 148, 158, .2))}.sidebar-asset-link.is-local-device{background:#3fb9501f;border-color:#3fb95073}.sidebar-asset-link.is-local-device .cap-name{color:#3fb950;font-weight:600}.sidebar-asset-link.is-local-device.active{background:#3fb95033;border-color:#3fb95099}.sidebar-asset-link.is-disabled-asset .sab-btn[data-action=live]{opacity:.4;pointer-events:none;cursor:not-allowed}.cap-eye{display:inline-flex;align-items:center;justify-content:center;flex:none;padding:0;width:18px;height:18px;margin-right:2px;background:transparent;border:0;border-radius:4px;color:var(--muted);cursor:pointer;transition:color .12s,background .12s,opacity .12s}.cap-eye svg{width:14px;height:14px;display:block}.cap-eye .eye-off{display:none}.cap-eye:hover{color:var(--text);background:#ffffff0f}.cap-eye:focus-visible{outline:2px solid var(--accent, #58a6ff);outline-offset:1px}.sidebar-asset-link.is-hidden-asset .cap-eye .eye-open{display:none}.sidebar-asset-link.is-hidden-asset .cap-eye .eye-off{display:block}.sidebar-asset-link.is-hidden-asset .cap-eye{color:var(--text);opacity:1}.sidebar-group-eye{display:inline-flex;align-items:center;justify-content:center;flex:none;padding:0;width:18px;height:18px;background:transparent;border:0;border-radius:4px;color:var(--muted);cursor:pointer;transition:color .12s,background .12s}.sidebar-group-eye svg{width:14px;height:14px;display:block}.sidebar-group-eye .eye-off{display:none}.sidebar-group-eye:hover{color:var(--text);background:#ffffff0f}.sidebar-group-eye:focus-visible{outline:2px solid var(--accent, #58a6ff);outline-offset:1px}.sidebar-group.is-all-hidden .sidebar-group-eye .eye-open{display:none}.sidebar-group.is-all-hidden .sidebar-group-eye .eye-off{display:block}.sidebar-group.is-all-hidden .sidebar-group-eye{color:var(--text)}.sidebar-group{margin:6px 8px;border:1px solid var(--border);border-radius:16px;background:#00000038;overflow:hidden}.sidebar-group-header{display:flex;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;-webkit-user-select:none;user-select:none;cursor:default;background:#0000002e;border-bottom:1px solid var(--border);transition:background .12s,color .12s}.sidebar-group-header:hover{color:var(--text)}.sidebar-group.is-collapsed .sidebar-group-header{border-bottom-color:transparent}.sidebar-group-chevron{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;background:transparent;border:0;color:inherit;cursor:pointer;border-radius:3px;transition:transform .15s ease,background .12s}.sidebar-group-chevron:hover{background:#ffffff0f}.sidebar-group.is-collapsed .sidebar-group-chevron{transform:rotate(-90deg)}.sidebar-group-name{flex:1 1 0;min-width:0;width:0;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:default}.sidebar-group-name input{cursor:text}.sidebar-group-count{flex:none;font-size:10px;color:var(--muted);padding:1px 6px;border:1px solid var(--border);border-radius:8px;text-transform:none;letter-spacing:0}.sidebar-group-rename{flex:1;min-width:0;font:inherit;font-size:12px;text-transform:none;letter-spacing:0;color:var(--text);background:var(--bg);border:1px solid var(--accent);border-radius:3px;padding:1px 4px;outline:none}.sidebar-group-body-wrap{display:grid;grid-template-rows:1fr;overflow:hidden;transition:grid-template-rows .28s cubic-bezier(.4,0,.2,1),opacity .18s ease;opacity:1}.sidebar-group.is-collapsed .sidebar-group-body-wrap{grid-template-rows:0fr;opacity:0}.sidebar-group-body{min-height:0;padding:2px 0}.sidebar-group-body .sidebar-asset-link{margin-left:18px;padding-left:12px}.sidebar-ungrouped{min-height:8px;padding-top:2px}body.is-dragging-asset,body.is-dragging-asset *{cursor:grabbing!important}.sidebar-asset-link.is-drag-source{opacity:.35;transform:scale(.98);transition:opacity .12s,transform .12s}.sidebar-asset-link{position:relative}.sidebar-asset-link.is-drop-above:before,.sidebar-asset-link.is-drop-below:after{content:"";position:absolute;left:12px;right:12px;height:2px;background:var(--accent);border-radius:2px;box-shadow:0 0 0 1px #388bfd59;pointer-events:none;z-index:3}.sidebar-asset-link.is-drop-above:before{top:-1px}.sidebar-asset-link.is-drop-below:after{bottom:-1px}.sidebar-group.is-drag-source{opacity:.35;transform:scale(.98);transition:opacity .12s,transform .12s}.sidebar-group{position:relative}.sidebar-group.is-drop-above:before,.sidebar-group.is-drop-below:after{content:"";position:absolute;left:6px;right:6px;height:2px;background:var(--accent);border-radius:2px;box-shadow:0 0 0 1px #388bfd59;pointer-events:none;z-index:3}.sidebar-group.is-drop-above:before{top:-1px}.sidebar-group.is-drop-below:after{bottom:-1px}.sidebar-drag-ghost{position:fixed;z-index:9800;pointer-events:none;background:var(--bg2);border:1px solid var(--accent);border-radius:6px;box-shadow:0 10px 24px #0000008c;color:var(--text);transform:scale(1);opacity:1;transition:transform .14s ease-out,opacity .16s ease-out}.sidebar-drag-ghost.is-armed{transform:scale(1.04) rotate(-1deg)}.sidebar-drag-ghost.is-released{opacity:0;transform:scale(.92)}@keyframes sidebar-drop-target-pulse{0%{box-shadow:0 0 #388bfd73}to{box-shadow:0 0 0 6px #388bfd00}}.sidebar-group.is-drop-target,.sidebar-ungrouped.is-drop-target{outline:2px dashed var(--accent);outline-offset:-2px;border-radius:6px;animation:sidebar-drop-target-pulse .9s ease-out infinite}.sidebar-ungrouped.is-drop-target{min-height:24px}@keyframes sidebar-drop-landed{0%{background:#388bfd4d}to{background:transparent}}.sidebar-asset-link.is-drop-landed,.sidebar-group.is-drop-landed{animation:sidebar-drop-landed .48s ease-out}body.is-dragging-stream,body.is-dragging-stream *{cursor:grabbing!important}.stream-drag-handle{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:16px;cursor:grab;color:var(--muted);-webkit-user-select:none;user-select:none;touch-action:none}.stream-drag-handle:hover{color:var(--text)}.group-card.is-stream-drag-source,.sub-url-row.is-stream-drag-source{opacity:.35;transform:scale(.98);transition:opacity .12s,transform .12s}.group-card,.sub-url-row{position:relative}.group-card.is-stream-drop-above:before,.group-card.is-stream-drop-below:after,.sub-url-row.is-stream-drop-above:before,.sub-url-row.is-stream-drop-below:after{content:"";position:absolute;left:6px;right:6px;height:2px;background:var(--accent);border-radius:2px;box-shadow:0 0 0 1px #388bfd59;pointer-events:none;z-index:3}.group-card.is-stream-drop-above:before,.sub-url-row.is-stream-drop-above:before{top:-1px}.group-card.is-stream-drop-below:after,.sub-url-row.is-stream-drop-below:after{bottom:-1px}.stream-drag-ghost{position:fixed;z-index:9800;pointer-events:none;background:var(--bg2);border:1px solid var(--accent);border-radius:6px;box-shadow:0 10px 24px #0000008c;color:var(--text);opacity:.95}.ae-context-menu-item-parent{grid-template-columns:18px 1fr 12px}.ae-context-menu-arrow{font-size:9px;color:var(--muted);text-align:right}.ae-context-menu-item-danger .ae-context-menu-label{color:var(--danger, #e05050)}.ae-context-menu-item-danger:hover:not(:disabled){background:#e050501f}.sidebar-cap{flex-direction:column;align-items:stretch;gap:0}.sidebar-asset-link .sab-row-main{display:flex;align-items:center;gap:10px;min-width:0;overflow:hidden}.sidebar-group-header{flex-direction:column;align-items:stretch;gap:0}.sidebar-group-header .sab-row-main{display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden}.sab-actions{display:flex;flex-direction:column;gap:4px;max-height:0;overflow:hidden;margin-top:0;opacity:0;transition:max-height .22s cubic-bezier(.4,0,.2,1),margin-top .22s cubic-bezier(.4,0,.2,1),opacity .18s ease}.sidebar-asset-link.is-expanded .sab-actions,.sidebar-group-header.is-expanded .sab-actions{max-height:96px;margin-top:6px;opacity:1}.sab-btn{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;font:inherit;font-size:12px;font-weight:600;background:var(--bg3);color:var(--text);border:1px solid var(--border);border-radius:5px;cursor:pointer;width:100%;justify-content:flex-start;transition:background .12s,border-color .12s,color .12s}.sab-btn:hover{background:var(--accent);border-color:var(--accent);color:#fff}.sab-btn svg{display:block;flex:none}.sidebar-wrap.sidebar-wrap-collapsed .sab-actions{display:none}.gsv-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9500;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .16s ease}.gsv-overlay.is-open{opacity:1}.gsv-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000a6}.gsv-panel{position:relative;width:min(1100px,92vw);max-height:88vh;display:flex;flex-direction:column;background:var(--bg2);border:1px solid var(--border);border-radius:8px;box-shadow:0 16px 48px #0009;overflow:hidden}.gsv-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.gsv-title strong{font-size:14px;color:var(--text)}.gsv-sub{margin-left:8px;color:var(--muted);font-size:12px}.gsv-close{width:28px;height:28px;border:0;background:transparent;color:var(--muted);font-size:20px;line-height:1;cursor:pointer;border-radius:4px}.gsv-close:hover{background:#ffffff14;color:var(--text)}.gsv-body{flex:1;min-height:0;overflow-y:auto;padding:16px}.gsv-status{text-align:center;color:var(--muted);padding:32px 0}.gsv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.gsv-thumb{display:flex;flex-direction:column;padding:0;background:var(--bg3);border:1px solid var(--border);border-radius:6px;overflow:hidden;cursor:pointer;transition:border-color .12s,transform .12s;text-align:left}.gsv-thumb:hover{border-color:var(--accent);transform:translateY(-1px)}.gsv-thumb-img-wrap{width:100%;aspect-ratio:16 / 9;background:var(--bg);display:block}.gsv-thumb-img-wrap img{width:100%;height:100%;object-fit:cover;display:block}.gsv-thumb-meta{display:flex;flex-direction:column;gap:2px;padding:6px 8px;font-size:11px}.gsv-thumb-asset{color:var(--text);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gsv-thumb-time{color:var(--muted)}.gsv-viewer{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000eb;display:flex;align-items:center;justify-content:center;z-index:1}.gsv-viewer[hidden]{display:none}.gsv-viewer-img{max-width:92%;max-height:82%;object-fit:contain;background:#000;border-radius:4px}.gsv-viewer-caption{position:absolute;bottom:16px;left:0;right:0;text-align:center;color:var(--text);font-size:12px;text-shadow:0 1px 2px #000;pointer-events:none}.gsv-viewer-close{position:absolute;top:12px;right:12px;width:32px;height:32px;background:#0000008c;color:#fff;border:1px solid var(--border);border-radius:4px;font-size:22px;line-height:1;cursor:pointer}.gsv-viewer-close:hover{background:#000000d9}.diff-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:1200;display:flex;align-items:center;justify-content:center}.diff-dialog{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);width:560px;max-width:96vw;max-height:80vh;display:flex;flex-direction:column}.diff-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--border);font-size:14px;font-weight:600}.diff-cancel-x{background:none;border:none;color:var(--muted);font-size:20px;line-height:1;cursor:pointer;padding:0 2px}.diff-cancel-x:hover{color:var(--text)}.diff-body{overflow-y:auto;padding:12px 16px;flex:1}.diff-table{width:100%;border-collapse:collapse;font-size:12px}.diff-table th{text-align:left;color:var(--muted);font-weight:500;padding:4px 8px;border-bottom:1px solid var(--border)}.diff-table td{padding:5px 8px;border-bottom:1px solid var(--border-subtle, rgba(255,255,255,.05));vertical-align:top;word-break:break-all}.diff-field{color:var(--text);white-space:nowrap}.diff-from{color:var(--danger, #f87171)}.diff-to{color:var(--success, #4ade80)}.diff-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--border)}.card-title{font-size:14px;font-weight:600;margin:0 0 8px;color:var(--text)}.nre-hint{color:var(--muted);font-size:11px;font-weight:400}.nre-empty{color:var(--muted);font-size:12px;padding:4px 0 8px}.alp-nav-count{margin-left:auto;min-width:18px;padding:0 6px;border-radius:999px;background:var(--bg3);border:1px solid var(--border);color:var(--muted);font-size:11px;font-weight:600;line-height:16px;text-align:center}.sys-nav-item.is-active .alp-nav-count{background:var(--accent);border-color:var(--accent);color:#fff}.alarms-view #notif-error:not(:empty){margin-bottom:12px}.alp-field{display:grid;grid-template-columns:190px minmax(0,1fr);gap:8px 20px;padding:14px 0;border-top:1px solid var(--border)}.alp-field:first-child{border-top:0;padding-top:0}.alp-field:last-child{padding-bottom:0}.alp-field-label{display:flex;flex-direction:column;gap:3px;font-size:13px;font-weight:600;color:var(--text)}.alp-field-label label{cursor:pointer}.alp-field-label .nre-hint{line-height:1.4}.alp-field-body{min-width:0}.alp-step{display:inline-flex;width:20px;height:20px;align-items:center;justify-content:center;border-radius:50%;background:var(--bg3);border:1px solid var(--border);color:var(--muted);font-size:11px;font-weight:700;margin-bottom:2px}.alp-inline{display:flex;flex-direction:row;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px}.alp-toggle{margin-bottom:0}.alp-toggle label{margin:0}.alp-num{width:84px;padding:6px 10px;background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font:inherit;font-size:13px;outline:none}.alp-num:focus{border-color:var(--accent)}.alp-num:disabled{opacity:.45;cursor:not-allowed}.alp-sublabel{font-size:12px;font-weight:600;color:var(--text);margin:10px 0 6px}.alp-esc-body.is-off{opacity:.5}.alp-options{display:grid;gap:10px}.alp-option{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);cursor:pointer}.alp-option:hover{border-color:var(--muted)}.alp-option:has(input:checked){border-color:var(--accent);background:#388bfd14}.alp-option input{margin-top:3px;accent-color:var(--accent);flex:0 0 auto}.alp-option-body{display:flex;flex-direction:column;gap:2px}.alp-option-title{font-size:13px;font-weight:600;color:var(--text)}.alp-option-desc{font-size:12px;color:var(--muted)}.alp-chips,.nre-cats{display:flex;flex-wrap:wrap;gap:6px}.nre-check{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text);cursor:pointer;padding:2px 0}.nre-check input,.alp-chip input{accent-color:var(--accent);margin:0;flex:0 0 auto}.alp-chip,.nre-check-inline{display:inline-flex;align-items:center;gap:6px;margin:0;padding:4px 10px 4px 8px;border:1px solid var(--border);border-radius:999px;background:var(--bg);font-size:12px;color:var(--text);line-height:1.3;cursor:pointer}.alp-chip:hover,.nre-check-inline:hover{border-color:var(--muted)}.alp-chip:has(input:checked),.nre-check-inline:has(input:checked){border-color:var(--accent);background:#388bfd1f}.alp-chip:has(input:disabled),.nre-check-inline:has(input:disabled){opacity:.5;cursor:not-allowed}.alp-chip-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:1px 5px;border-radius:4px;background:var(--bg3);color:var(--muted)}.nre-check-inline .ae-label-chip{margin:0}.alp-policies-master{margin-bottom:14px}.alp-master-hint{margin:6px 0 0 46px}.alp-policy+.alp-policy{margin-top:14px}.alp-policy-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:-4px 0 10px;padding-bottom:10px;border-bottom:1px solid var(--border)}.alp-policy-title{font-size:14px;font-weight:600;color:var(--text)}.alp-policy-title,.nre-rule-title{white-space:nowrap;flex:0 0 auto}.alp-policy .alp-field{grid-template-columns:minmax(0,1fr);gap:8px}.alp-policy .alp-field-label{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:6px 8px}.alp-policy .alp-field-label .nre-hint{flex-basis:100%}.alp-policy .alp-field-label .alp-step{margin-bottom:0;align-self:center}.alp-policy-toggle,.nre-rule-toggle{display:flex;align-items:center;gap:8px;min-width:0;flex:1;padding:2px 4px 2px 0;border:0;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:var(--radius)}.alp-policy-toggle:hover .alp-policy-title,.nre-rule-toggle:hover .nre-rule-title{color:var(--accent-h)}.alp-policy-toggle:focus-visible,.nre-rule-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.alp-policy-chevron,.nre-rule-chevron{display:inline-flex;color:var(--muted);flex:0 0 auto;transition:transform .15s ease}.alp-policy.is-collapsed .alp-policy-chevron,.nre-rule.is-collapsed .nre-rule-chevron{transform:rotate(-90deg)}.alp-policy-summary,.nre-rule-summary{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.alp-policy.is-collapsed .alp-policy-head{margin-bottom:-4px;padding-bottom:0;border-bottom:0}.nre-rule.is-collapsed .nre-rule-head{margin-bottom:0}.nre-rule-summary{font-size:11px}.nre-rule{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);padding:10px 12px}.nre-rule+.nre-rule{margin-top:10px}.nre-rule-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}.nre-rule-title{font-size:13px;font-weight:600;color:var(--text)}.nre-toolbar{display:flex;justify-content:flex-start;margin-bottom:10px}.nre-dim{display:grid;grid-template-columns:140px minmax(0,1fr);gap:4px 14px;align-items:start;padding:8px 0}.nre-dim+.nre-dim{border-top:1px dashed var(--border)}.nre-dim-label{display:flex;flex-direction:column;gap:2px;font-size:12px;font-weight:600;color:var(--text);padding-top:3px}.nre-assets{border:1px solid var(--border);border-radius:var(--radius);padding:6px 10px;font-size:12px;color:var(--text);background:var(--bg3)}.nre-assets summary{cursor:pointer;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nre-assets[open] summary{margin-bottom:8px;color:var(--text)}.nre-asset-search{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:12px;padding:4px 8px;margin-bottom:6px;outline:none}.nre-asset-search:focus{border-color:var(--accent)}.nre-asset-list{max-height:180px;overflow-y:auto}@media (max-width: 700px){.alp-field,.nre-dim{grid-template-columns:minmax(0,1fr)}.alp-master-hint{margin-left:0}.alp-policy:not(.is-collapsed) .alp-policy-summary,.nre-rule:not(.is-collapsed) .nre-rule-summary{display:none}}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin:12px 0 20px}.ev-status-flow{display:flex;align-items:center;gap:8px}.ev-status-chip{display:inline-block;padding:2px 10px;border-radius:10px;font-size:12px;font-weight:600;text-transform:capitalize;border:1px solid var(--border);color:var(--muted)}.ev-status-chip.is-online,.ev-status-chip.is-running,.ev-status-chip.is-started{background:#2ecc7126;border-color:#2ecc7180;color:#2ecc71}.ev-status-chip.is-offline,.ev-status-chip.is-stopped,.ev-status-chip.is-critical{background:#e0565626;border-color:#e0565680;color:#e05656}.ev-status-chip.is-connecting,.ev-status-chip.is-warning{background:#ff980026;border-color:#ff980080;color:#ff9800}.ev-status-chip.is-disabled{opacity:.6}.ack-note-layer .modal-overlay{z-index:1300}.ack-note-modal{width:420px;max-width:95vw}.ack-note-summary{font-size:12px;color:var(--muted);margin:0 0 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ack-note-input{width:100%;resize:vertical;min-height:64px;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:13px;padding:8px 10px;outline:none;box-sizing:border-box}.ack-note-input:focus{border-color:var(--primary, #3b82f6)}.view-body>.card+.card{margin-top:14px}.ctrl-layout-preview .ae-ptz-arrange-hint{display:none}.map-settings-view .card+.card{margin-top:14px}.map-settings-view .sys-panel-title svg{vertical-align:-3px;margin-right:6px;opacity:.8}.mh-srcpick{display:flex;flex-direction:column;gap:2px;margin-top:6px}.map-prefs .mh-srcpick{padding:4px;border:1px solid var(--border);border-radius:6px;background:var(--bg2)}.mh-srcpick-item{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;text-align:left;font-size:13px;color:var(--text);background:transparent;border:1px solid transparent;border-radius:6px;cursor:pointer}.mh-srcpick-item:hover{background:var(--bg3)}.mh-srcpick-item[data-on]{color:var(--accent-h, #58a6ff);border-color:var(--border);background:var(--bg2)}.mh-srcpick-url{width:100%;margin-top:6px;padding:6px 8px;font-size:13px;color:var(--text);background:var(--bg2);border:1px solid var(--border);border-radius:6px}.mh-map-blank{cursor:crosshair;background-color:var(--bg2);background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:40px 40px;opacity:.9}.mh-map-blank-note{position:absolute;left:50%;top:12px;transform:translate(-50%);max-width:min(420px,calc(100% - 24px));padding:6px 10px;font-size:12px;line-height:1.5;text-align:center;color:var(--text-dim, #8b949e);background:var(--bg1);border:1px solid var(--border);border-radius:6px;pointer-events:none}
