:root{--sys-btn-primary-bg: var(--button-background);--sys-btn-primary-hover: var(--button-hover);--sys-btn-primary-text: var(--button-text);--sys-btn-secondary-bg: var(--control-button-background);--sys-btn-secondary-hover: var(--control-button-hover);--sys-btn-secondary-text: var(--control-button-text);--sys-btn-secondary-border: var(--control-button-border)}.sys-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;line-height:1.5}.sys-btn:disabled{opacity:.5;cursor:not-allowed}.sys-btn-primary{background:var(--sys-btn-primary-bg);color:var(--sys-btn-primary-text)}.sys-btn-primary:hover:not(:disabled){background:var(--sys-btn-primary-hover)}.sys-btn-secondary{background:var(--sys-btn-secondary-bg);color:var(--sys-btn-secondary-text);border:1px solid var(--sys-btn-secondary-border)}.sys-btn-secondary:hover:not(:disabled){background:var(--sys-btn-secondary-hover)}.sys-btn-danger{background:var(--status-error);color:#fff}.sys-btn-danger:hover:not(:disabled){opacity:.9}.sys-btn-sm{padding:5px 10px;font-size:12px}.sys-status-badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:10px;font-size:12px;font-weight:500}.sys-status-active{background:#22c55e1f;color:var(--status-success)}.sys-status-inactive{background:#eab3081f;color:var(--status-warning)}.sys-status-registered{background:#94a3b81f;color:var(--text-tertiary)}.sys-status-error{background:#ef44441f;color:var(--status-error)}.sys-status-unregistered{background:#94a3b814;color:var(--text-secondary)}.sys-health-status{display:flex;align-items:center;gap:6px;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.sys-health-dot{width:8px;height:8px;border-radius:50%}.sys-health-healthy{background:#22c55e1f;color:var(--status-success)}.sys-health-healthy .sys-health-dot{background:var(--status-success)}.sys-health-degraded{background:#eab3081f;color:var(--status-warning)}.sys-health-degraded .sys-health-dot{background:var(--status-warning)}.sys-health-unhealthy{background:#ef44441f;color:var(--status-error)}.sys-health-unhealthy .sys-health-dot{background:var(--status-error)}.sys-device-stat-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.sys-dot-online{background:var(--status-success)}.sys-dot-offline{background:var(--text-tertiary)}.sys-stat-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.sys-stat-dot-online{background:var(--status-success)}.sys-stat-dot-offline{background:var(--text-tertiary)}.sys-stat-dot-error{background:var(--status-error)}.sys-mode-badge{display:inline-flex;align-items:center;padding:1px 8px;border-radius:4px;font-size:11px;font-weight:500;font-family:monospace}.sys-mode-in_process{background:#94a3b81f;color:var(--text-tertiary)}.sys-mode-worker_thread{background:#eab3081f;color:var(--status-warning)}.sys-mode-child_process{background:#22c55e1f;color:var(--status-success)}.sys-tag-item{display:inline-block;padding:2px 10px;background:var(--background);border:1px solid var(--border);border-radius:4px;font-size:12px;color:var(--text-secondary)}.sys-monitor-heap{background:var(--primary)}.sys-monitor-rss{background:var(--accent)}.sys-monitor-cpu{background:var(--status-warning)}.sys-log-level-info{color:var(--primary)}.sys-log-level-warn{color:var(--status-warning)}.sys-log-level-error{color:var(--status-error)}.sys-log-level-debug{color:var(--text-tertiary)}.sys-config-message{margin-top:10px;padding:8px 12px;background:#22c55e14;border:1px solid rgba(34,197,94,.2);border-radius:6px;font-size:12px;color:var(--status-success)}.sys-config-message-error{background:#ef444414;border-color:#ef444433;color:var(--status-error)}.sys-card-error{padding:8px 10px;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:6px;font-size:12px;color:var(--status-error)}.sys-status-error-msg{margin-top:12px;padding:8px 12px;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:6px;font-size:13px;color:var(--status-error)}.sys-protocol-code{font-family:Courier New,monospace;font-size:12px;background:var(--background);padding:1px 6px;border-radius:3px;color:var(--primary)}.admin-page{padding:20px;height:100%;display:flex;flex-direction:column}.admin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.admin-title{font-size:18px;font-weight:600;color:var(--text);margin:0}.admin-actions{display:flex;align-items:center;gap:8px}.admin-btn{margin:0}.admin-select{width:auto;min-width:120px;height:34px;padding:0 30px 0 12px;font-size:13px;line-height:34px;color:var(--text);background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md, 6px);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='16'%20height='16'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23888'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpolyline%20points='6%209%2012%2015%2018%209'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:16px;transition:border-color .15s,box-shadow .15s}.admin-select:hover{border-color:var(--primary)}.admin-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 20%,transparent)}.admin-select:disabled{opacity:.5;cursor:not-allowed}.admin-table{width:100%;border-collapse:collapse;border:1px solid var(--border);border-radius:6px;overflow:hidden}.admin-table th,.admin-table td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--border);font-size:13px;color:var(--text)}.admin-table th{background:var(--surface);font-weight:600;font-size:12px;color:var(--text-secondary);white-space:nowrap}.admin-table tbody tr:hover{background:var(--background)}.script-toolbar[data-v-27bda33b]{position:relative;display:flex;align-items:center;gap:4px;padding:6px 10px;background:var(--surface);border:1px solid var(--border);border-bottom:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.toolbar-btn[data-v-27bda33b]{background:var(--background);color:var(--text);border:1px solid var(--border);padding:3px 10px;border-radius:var(--radius-md);cursor:pointer;font-size:12px;display:inline-flex;align-items:center;justify-content:center;gap:2px}.toolbar-btn[data-v-27bda33b]:hover{background:var(--control-button-hover)}.toolbar-btn[data-v-27bda33b]:disabled{opacity:.45;cursor:not-allowed}.toolbar-btn--active[data-v-27bda33b]{background:var(--primary);border-color:var(--primary);color:var(--header-text)}.toolbar-btn-save[data-v-27bda33b]{background:var(--status-success);border-color:var(--status-success);color:var(--header-text)}.toolbar-btn-save[data-v-27bda33b]:hover{filter:brightness(.92)}.toolbar-btn--icon[data-v-27bda33b]{padding:3px 8px;min-width:30px;height:28px}.toolbar-btn-icon[data-v-27bda33b]{font-size:14px;line-height:1}.toolbar-btn-caret[data-v-27bda33b]{font-size:10px;opacity:.7;margin-left:2px}.toolbar-divider[data-v-27bda33b]{width:1px;height:20px;background:var(--border);margin:0 4px}.toolbar-hint[data-v-27bda33b]{margin-left:auto;color:var(--text-tertiary);font-size:11px}.toolbar-dropdown[data-v-27bda33b]{position:relative;display:inline-flex}.toolbar-dropdown-backdrop[data-v-27bda33b]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:39}.toolbar-dropdown-menu[data-v-27bda33b]{position:absolute;top:calc(100% + 4px);left:0;z-index:50;min-width:180px;max-height:360px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-dropdown);padding:4px}.toolbar-dropdown-menu--wide[data-v-27bda33b]{min-width:240px}.toolbar-dropdown-group[data-v-27bda33b]{padding:2px 0}.toolbar-dropdown-group+.toolbar-dropdown-group[data-v-27bda33b]{border-top:1px solid var(--border-light)}.toolbar-dropdown-group-title[data-v-27bda33b]{padding:4px 8px;font-size:11px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.4px}.toolbar-dropdown-empty[data-v-27bda33b]{padding:10px 8px;font-size:12px;color:var(--text-tertiary);text-align:center}.toolbar-dropdown-item[data-v-27bda33b]{display:flex;width:100%;padding:5px 8px;background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;color:var(--text);font-size:12px;text-align:left}.toolbar-dropdown-item[data-v-27bda33b]:hover{background:var(--background)}.toolbar-dropdown-item-label[data-v-27bda33b]{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tag-picker-backdrop[data-v-27bda33b]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.tag-picker[data-v-27bda33b]{position:absolute;top:calc(100% + 4px);left:0;z-index:50;width:380px;max-height:460px;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);overflow:hidden}.tag-picker-header[data-v-27bda33b]{display:flex;flex-direction:column;gap:6px;padding:8px;border-bottom:1px solid var(--border)}.tag-mode-switch[data-v-27bda33b]{display:flex;gap:12px}.tag-mode-option[data-v-27bda33b]{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary);cursor:pointer}.tag-mode-option.active[data-v-27bda33b]{color:var(--primary)}.tag-search[data-v-27bda33b]{width:100%;box-sizing:border-box;background:var(--background);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-md);padding:5px 8px;font-size:12px}.tag-search[data-v-27bda33b]::placeholder{color:var(--text-tertiary)}.tag-picker-body[data-v-27bda33b]{flex:1;overflow-y:auto;padding:4px}.tag-picker-hint[data-v-27bda33b]{padding:16px 12px;color:var(--text-tertiary);font-size:12px;text-align:center}.tag-item[data-v-27bda33b]{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;text-align:left;background:transparent;border:none;border-radius:var(--radius-md);padding:6px 8px;cursor:pointer}.tag-item[data-v-27bda33b]:hover{background:var(--background)}.tag-item-device[data-v-27bda33b]{display:inline-flex;align-items:baseline;gap:6px;font-size:12px;color:var(--status-info)}.tag-item-device-code[data-v-27bda33b]{font-size:11px;color:var(--text-tertiary)}.tag-item-name[data-v-27bda33b]{font-size:13px;color:var(--text)}.tag-item-desc[data-v-27bda33b]{font-size:11px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.tag-item-meta[data-v-27bda33b]{font-size:11px;color:var(--text-tertiary)}.script-api-panel[data-v-6eb39f63]{border:1px solid var(--border);background:var(--surface);border-radius:8px;overflow:hidden;font-size:13px;height:100%;display:flex;flex-direction:column}.api-header[data-v-6eb39f63]{padding:8px 12px;background:var(--background);border-bottom:1px solid var(--border)}.api-title[data-v-6eb39f63]{font-weight:600;color:var(--text);display:block;margin-bottom:6px}.api-search[data-v-6eb39f63]{width:100%;background:var(--surface);border:1px solid var(--border);color:var(--text);padding:4px 8px;border-radius:var(--radius-md);font-size:12px;box-sizing:border-box}.api-search[data-v-6eb39f63]:focus{outline:none;border-color:var(--border-focus)}.api-list[data-v-6eb39f63]{flex:1;overflow-y:auto;padding:4px;min-height:0}.api-group-title[data-v-6eb39f63]{color:var(--text-secondary);font-size:11px;padding:8px 8px 4px;font-weight:600;display:flex;align-items:center;gap:4px}.api-group-icon[data-v-6eb39f63]{font-size:12px}.api-group-count[data-v-6eb39f63]{color:var(--text-tertiary);font-weight:400;margin-left:auto}.api-item[data-v-6eb39f63]{padding:4px 8px;cursor:pointer;border-radius:var(--radius-md);display:flex;flex-direction:column;gap:1px}.api-item[data-v-6eb39f63]:hover{background:var(--elevated)}.api-item--selected[data-v-6eb39f63]{background:var(--elevated);border:1px solid var(--accent)}.api-name[data-v-6eb39f63]{color:var(--accent);font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;font-size:12px;font-weight:500}.api-signature[data-v-6eb39f63]{color:var(--text-secondary);font-size:11px;font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.api-empty[data-v-6eb39f63]{color:var(--text-tertiary);text-align:center;padding:20px;font-size:12px}.api-detail-panel[data-v-6eb39f63]{border-top:1px solid var(--border);background:var(--background);max-height:45%;overflow-y:auto;display:flex;flex-direction:column}.api-detail-header[data-v-6eb39f63]{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:1}.api-detail-name[data-v-6eb39f63]{color:var(--accent);font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;font-size:13px;font-weight:600}.api-detail-close[data-v-6eb39f63]{background:none;border:none;color:var(--text-tertiary);cursor:pointer;font-size:14px;padding:2px 6px;border-radius:var(--radius-md)}.api-detail-close[data-v-6eb39f63]:hover{background:var(--elevated);color:var(--text)}.api-detail-body[data-v-6eb39f63]{padding:10px 12px;display:flex;flex-direction:column;gap:10px}.api-detail-section[data-v-6eb39f63]{display:flex;flex-direction:column;gap:4px}.api-detail-label[data-v-6eb39f63]{color:var(--text-secondary);font-size:11px;font-weight:600;text-transform:uppercase}.api-detail-signature[data-v-6eb39f63]{color:var(--accent);font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;font-size:12px;background:var(--surface);padding:4px 8px;border-radius:var(--radius-md)}.api-detail-text[data-v-6eb39f63]{color:var(--text-secondary);font-size:12px;line-height:1.5}.api-detail-text--warn[data-v-6eb39f63]{color:var(--status-warning);background:var(--surface);padding:6px 8px;border-radius:var(--radius-md);border-left:3px solid var(--status-warning)}.api-detail-badge[data-v-6eb39f63]{display:inline-block;background:var(--elevated);color:var(--text-secondary);font-size:11px;padding:2px 6px;border-radius:var(--radius-md);margin-right:4px}.api-detail-badge--env[data-v-6eb39f63]{background:var(--elevated);color:var(--accent)}.api-detail-params[data-v-6eb39f63]{display:flex;flex-direction:column;gap:6px}.api-detail-param[data-v-6eb39f63]{background:var(--surface);padding:6px 8px;border-radius:var(--radius-md);display:flex;flex-wrap:wrap;gap:4px;align-items:baseline}.param-name[data-v-6eb39f63]{color:var(--accent);font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;font-size:12px;font-weight:500}.param-type[data-v-6eb39f63]{color:var(--text-secondary);font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;font-size:11px}.param-required[data-v-6eb39f63]{color:var(--status-error);font-size:10px;font-weight:600;background:var(--elevated);padding:1px 4px;border-radius:3px}.param-optional[data-v-6eb39f63]{color:var(--text-secondary);font-size:10px;font-weight:600;background:var(--elevated);padding:1px 4px;border-radius:3px}.param-default[data-v-6eb39f63]{color:var(--status-warning);font-size:10px;font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace}.param-desc[data-v-6eb39f63]{width:100%;color:var(--text-secondary);font-size:11px;margin-top:2px}.api-detail-example[data-v-6eb39f63]{color:var(--text-secondary);font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;font-size:11px;background:var(--surface);padding:8px;border-radius:var(--radius-md);white-space:pre-wrap;line-height:1.5;margin:0}.api-detail-insert[data-v-6eb39f63]{background:var(--status-success);color:var(--button-text);border:1px solid var(--status-success);padding:6px 12px;border-radius:var(--radius-md);cursor:pointer;font-size:12px;font-weight:500;text-align:center;margin-top:4px}.api-detail-insert[data-v-6eb39f63]:hover{background:var(--button-hover, color-mix(in srgb, var(--status-success) 80%, black))}.script-knowledge-panel[data-v-577246f5]{border:1px solid var(--border);background:var(--surface);border-radius:8px;overflow:hidden;font-size:13px;height:100%;display:flex;flex-direction:column}.kb-header[data-v-577246f5]{padding:8px 12px;background:var(--background);border-bottom:1px solid var(--border);flex-shrink:0}.kb-header-top[data-v-577246f5]{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.kb-title[data-v-577246f5]{font-weight:600;color:var(--text);font-size:13px}.kb-refresh-btn[data-v-577246f5]{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:14px;padding:2px 6px;border-radius:var(--radius-md)}.kb-refresh-btn[data-v-577246f5]:hover:not(:disabled){background:var(--elevated);color:var(--text)}.kb-refresh-btn[data-v-577246f5]:disabled{opacity:.5;cursor:not-allowed}.kb-spin[data-v-577246f5]{display:inline-block;animation:spin-577246f5 1s linear infinite}@keyframes spin-577246f5{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.kb-search-row[data-v-577246f5]{display:flex;gap:6px;margin-bottom:4px}.kb-category-select[data-v-577246f5]{flex-shrink:0;background:var(--surface);border:1px solid var(--border);color:var(--text);padding:4px 8px;border-radius:var(--radius-md);font-size:12px;cursor:pointer}.kb-category-select[data-v-577246f5]:focus{outline:none;border-color:var(--border-focus)}.kb-search[data-v-577246f5]{flex:1;min-width:0;background:var(--surface);border:1px solid var(--border);color:var(--text);padding:4px 8px;border-radius:var(--radius-md);font-size:12px;box-sizing:border-box}.kb-search[data-v-577246f5]:focus{outline:none;border-color:var(--border-focus)}.kb-version-bar[data-v-577246f5]{font-size:11px;color:var(--text-tertiary);padding:2px 0}.kb-version-bar--warn[data-v-577246f5]{color:var(--status-warning)}.kb-fallback-tag[data-v-577246f5]{background:var(--status-warning);color:var(--button-text);padding:1px 4px;border-radius:3px;font-size:10px;margin-left:4px}.kb-list[data-v-577246f5]{flex:1;overflow-y:auto;padding:4px;min-height:0}.kb-item[data-v-577246f5]{border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:4px;background:var(--background);overflow:hidden}.kb-item-header[data-v-577246f5]{padding:8px 10px;cursor:pointer}.kb-item-header[data-v-577246f5]:hover{background:var(--elevated)}.kb-item-title-row[data-v-577246f5]{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.kb-item-title[data-v-577246f5]{font-weight:600;color:var(--text);font-size:12px}.kb-item-difficulty[data-v-577246f5]{font-size:10px;padding:1px 5px;border-radius:3px;font-weight:500}.kb-item-difficulty--easy[data-v-577246f5]{background:var(--status-success);color:var(--button-text)}.kb-item-difficulty--medium[data-v-577246f5]{background:var(--status-warning);color:var(--button-text)}.kb-item-difficulty--hard[data-v-577246f5]{background:var(--status-error);color:var(--button-text)}.kb-item-meta[data-v-577246f5]{display:flex;align-items:center;gap:6px;margin-bottom:4px;flex-wrap:wrap}.kb-item-trigger[data-v-577246f5]{font-size:10px;color:var(--accent);background:var(--elevated);padding:1px 5px;border-radius:3px}.kb-item-tags[data-v-577246f5]{display:flex;gap:3px;flex-wrap:wrap}.kb-tag[data-v-577246f5]{font-size:10px;color:var(--text-tertiary);background:var(--surface);padding:1px 4px;border-radius:3px}.kb-item-desc[data-v-577246f5]{font-size:11px;color:var(--text-secondary);line-height:1.4}.kb-item-body[data-v-577246f5]{border-top:1px solid var(--border);padding:8px 10px;background:var(--surface)}.kb-item-code[data-v-577246f5]{margin:0;padding:8px;background:var(--background);border-radius:var(--radius-md);font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;font-size:11px;line-height:1.5;color:var(--text-secondary);white-space:pre-wrap;max-height:200px;overflow-y:auto}.kb-item-actions[data-v-577246f5]{margin-top:8px;display:flex;justify-content:flex-end}.kb-insert-btn[data-v-577246f5]{background:var(--status-success);color:var(--button-text);border:1px solid var(--status-success);padding:5px 12px;border-radius:var(--radius-md);cursor:pointer;font-size:12px;font-weight:500}.kb-insert-btn[data-v-577246f5]:hover{background:var(--button-hover, color-mix(in srgb, var(--status-success) 80%, black))}.kb-empty[data-v-577246f5]{color:var(--text-tertiary);text-align:center;padding:20px;font-size:12px}.script-debug-panel[data-v-cbca5bc7]{height:100%;display:flex;flex-direction:column;background:var(--surface);font-size:13px}.debug-header[data-v-cbca5bc7]{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--background);border-bottom:1px solid var(--border);flex-shrink:0}.debug-header-actions[data-v-cbca5bc7]{display:flex;gap:6px;margin-left:auto;margin-right:8px}.debug-title[data-v-cbca5bc7]{font-weight:600;color:var(--text)}.debug-close[data-v-cbca5bc7]{background:none;border:none;color:var(--text-tertiary);cursor:pointer;font-size:16px}.debug-section[data-v-cbca5bc7]{padding:8px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.debug-section[data-v-cbca5bc7]:last-of-type{flex:1;overflow-y:auto}.section-title[data-v-cbca5bc7]{color:var(--text-secondary);font-size:12px;margin-bottom:4px;font-weight:600}.syntax-status[data-v-cbca5bc7]{color:var(--status-success)}.syntax-status.error[data-v-cbca5bc7]{color:var(--status-error)}.test-input[data-v-cbca5bc7]{width:100%;background:var(--background);border:1px solid var(--border);color:var(--text);padding:8px;border-radius:var(--radius-md);font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;font-size:13px;resize:vertical}.test-input[data-v-cbca5bc7]:focus{outline:none;border-color:var(--border-focus)}.btn-run[data-v-cbca5bc7]{background:var(--button-background);color:var(--button-text);border:none;padding:4px 10px;border-radius:var(--radius-md);cursor:pointer;font-size:12px}.btn-run[data-v-cbca5bc7]:disabled{opacity:.5;cursor:not-allowed}.btn-reset[data-v-cbca5bc7]{background:var(--elevated);color:var(--text);border:1px solid var(--border);padding:4px 10px;border-radius:var(--radius-md);cursor:pointer;font-size:12px}.result-card[data-v-cbca5bc7]{padding:8px;border-radius:var(--radius-md);border:1px solid}.result-card.success[data-v-cbca5bc7]{border-color:var(--status-success);background:var(--surface)}.result-card.error[data-v-cbca5bc7]{border-color:var(--status-error);background:var(--surface)}.result-header[data-v-cbca5bc7]{font-weight:600;margin-bottom:6px;color:var(--text)}.result-body[data-v-cbca5bc7]{color:var(--text-secondary)}.result-label[data-v-cbca5bc7]{color:var(--text-secondary);font-size:12px;margin:4px 0 2px}.result-output pre[data-v-cbca5bc7],.result-error pre[data-v-cbca5bc7]{margin:0;padding:4px 8px;background:var(--background);border-radius:var(--radius-md);font-size:12px;white-space:pre-wrap;word-break:break-all}.result-api-calls[data-v-cbca5bc7]{margin-top:4px}.api-call-item[data-v-cbca5bc7]{font-size:12px;padding:2px 8px;color:var(--text-secondary)}.result-console[data-v-cbca5bc7]{margin-top:4px}.history-item[data-v-cbca5bc7]{display:flex;align-items:center;gap:6px;font-size:12px;padding:2px 0;color:var(--text-secondary)}.history-item.failed .history-status[data-v-cbca5bc7]{color:var(--status-error)}.history-status[data-v-cbca5bc7]{color:var(--status-success);min-width:14px}.history-time[data-v-cbca5bc7]{color:var(--text-tertiary);min-width:70px}.history-duration[data-v-cbca5bc7]{min-width:56px;color:var(--text-tertiary)}.history-error[data-v-cbca5bc7]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--status-error)}.console-item[data-v-cbca5bc7]{font-size:12px;padding:2px 8px;color:var(--text-secondary);font-family:JetBrains Mono,Fira Code,monospace;white-space:pre-wrap;word-break:break-all}.console-level[data-v-cbca5bc7]{display:inline-block;min-width:38px;margin-right:6px;font-size:10px;text-transform:uppercase;color:var(--text-tertiary)}.console-item.warn .console-level[data-v-cbca5bc7]{color:var(--status-warning, #e6a23c)}.console-item.error[data-v-cbca5bc7],.console-item.error .console-level[data-v-cbca5bc7]{color:var(--status-error)}.script-editor[data-v-0aaae6bc]{position:relative;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--background);min-height:200px}.script-editor-body[data-v-0aaae6bc]{flex:1;display:flex;min-height:0}.editor-breadcrumb[data-v-0aaae6bc]{flex-shrink:0;padding:4px 10px;background:var(--surface);border:1px solid var(--border);border-bottom:none;color:var(--text-secondary);font-size:11px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.editor-container[data-v-0aaae6bc]{flex:1;min-width:0}.editor-side-panel[data-v-0aaae6bc]{width:300px;flex-shrink:0;display:flex;flex-direction:column;min-height:0;border-left:1px solid var(--border);background:var(--surface)}.side-panel-tabs[data-v-0aaae6bc]{display:flex;flex-shrink:0;border-bottom:1px solid var(--border)}.side-panel-tab[data-v-0aaae6bc]{flex:1;padding:6px 8px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:12px;cursor:pointer}.side-panel-tab[data-v-0aaae6bc]:hover{color:var(--text);background:var(--control-button-hover, transparent)}.side-panel-tab--active[data-v-0aaae6bc]{color:var(--primary);border-bottom-color:var(--primary)}.side-panel-body[data-v-0aaae6bc]{flex:1;min-height:0;overflow:hidden}.side-panel-body[data-v-0aaae6bc] .script-api-panel,.side-panel-body[data-v-0aaae6bc] .script-knowledge-panel{border:none;border-radius:0}.debug-side-panel[data-v-0aaae6bc]{width:280px;flex-shrink:0;border-left:1px solid var(--border);overflow-y:auto}.editor-placeholder[data-v-0aaae6bc]{position:absolute;top:48px;left:68px;color:var(--text-tertiary);font-family:JetBrains Mono,monospace;font-size:14px;pointer-events:none;-webkit-user-select:none;user-select:none}.editor-fallback[data-v-0aaae6bc]{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px;padding:10px 12px;background:var(--background);box-sizing:border-box}.editor-fallback-hint[data-v-0aaae6bc]{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;font-size:12px;line-height:1.5}.editor-fallback-title[data-v-0aaae6bc]{color:var(--warning, #d97706);font-weight:600}.editor-fallback-tip[data-v-0aaae6bc]{color:var(--text-secondary)}.editor-fallback-detail[data-v-0aaae6bc]{color:var(--text-tertiary);font-family:JetBrains Mono,monospace;font-size:11px;word-break:break-all}.editor-fallback-textarea[data-v-0aaae6bc]{flex:1;min-height:0;resize:none;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;font-size:13px;line-height:1.6;outline:none}.editor-fallback-textarea[data-v-0aaae6bc]:focus{border-color:var(--border-focus, var(--primary))}.monaco-editor .suggest-widget,.monaco-editor .monaco-hover,.monaco-editor .parameter-hints-widget,.monaco-editor .monaco-editor-overlaymessage{z-index:10050!important}.login-page[data-v-c9634e2e]{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at top,#0f172a 0%,transparent 60%),radial-gradient(ellipse at bottom,#1e293b 0%,transparent 60%),#0a0f1a;padding:20px;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.login-background[data-v-c9634e2e]{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1}.grid-pattern[data-v-c9634e2e]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.5;animation:gridMove-c9634e2e 40s linear infinite}.glow-orb[data-v-c9634e2e]{position:absolute;border-radius:50%;filter:blur(90px);animation:orbFloat-c9634e2e 12s ease-in-out infinite alternate}.glow-orb-1[data-v-c9634e2e]{width:400px;height:400px;background:radial-gradient(circle,rgba(59,130,246,.22),transparent 70%);top:-10%;right:-5%;animation-delay:0s}.glow-orb-2[data-v-c9634e2e]{width:300px;height:300px;background:radial-gradient(circle,rgba(56,189,248,.12),transparent 70%);bottom:-8%;left:-5%;animation-delay:-6s}.geo-line[data-v-c9634e2e]{position:absolute;height:1px;background:linear-gradient(90deg,transparent,rgba(59,130,246,.3),transparent)}.geo-line-top[data-v-c9634e2e]{top:15%;left:0;right:0}.geo-line-bottom[data-v-c9634e2e]{bottom:15%;left:0;right:0}.scan-line[data-v-c9634e2e]{position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,rgba(59,130,246,.4) 50%,transparent 100%);animation:scanMove-c9634e2e 8s linear infinite;opacity:.6;filter:blur(1px)}@keyframes gridMove-c9634e2e{to{transform:translate(-8%,-8%)}}@keyframes orbFloat-c9634e2e{0%{transform:translate(0) scale(1);opacity:.5}to{transform:translate(20px,-15px) scale(1.05);opacity:.7}}@keyframes scanMove-c9634e2e{0%{top:0;opacity:0}10%{opacity:.6}90%{opacity:.6}to{top:100%;opacity:0}}.login-container[data-v-c9634e2e]{position:relative;z-index:10;width:100%;max-width:440px;background:#0f172ac7;backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);border:1px solid rgba(255,255,255,.08);border-top:1px solid rgba(59,130,246,.3);box-shadow:0 32px 64px #00000080,0 0 0 1px #ffffff0a inset,0 1px #ffffff0f inset;border-radius:4px;padding:40px 40px 28px;animation:cardEnter-c9634e2e .7s cubic-bezier(.16,1,.3,1) both}@keyframes cardEnter-c9634e2e{0%{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.corner[data-v-c9634e2e]{position:absolute;width:14px;height:14px;border-color:#3b82f699;border-style:solid;border-width:0;z-index:2}.corner-tl[data-v-c9634e2e]{top:-1px;left:-1px;border-top-width:2px;border-left-width:2px}.corner-tr[data-v-c9634e2e]{top:-1px;right:-1px;border-top-width:2px;border-right-width:2px}.corner-bl[data-v-c9634e2e]{bottom:-1px;left:-1px;border-bottom-width:2px;border-left-width:2px}.corner-br[data-v-c9634e2e]{bottom:-1px;right:-1px;border-bottom-width:2px;border-right-width:2px}.tech-status-bar[data-v-c9634e2e]{position:absolute;top:14px;left:24px;right:24px;display:flex;align-items:center;gap:6px;font-family:Courier New,Consolas,monospace;font-size:10px;font-weight:600;color:#94a3b8b3;letter-spacing:1px;text-transform:uppercase}.status-dot[data-v-c9634e2e]{width:6px;height:6px;border-radius:50%;flex-shrink:0}.status-dot-online[data-v-c9634e2e]{background:#10b981;box-shadow:0 0 6px #10b981cc;animation:statusBlink-c9634e2e 2s ease-in-out infinite}@keyframes statusBlink-c9634e2e{0%,to{opacity:1}50%{opacity:.5}}.status-text[data-v-c9634e2e]{color:#10b981d9}.status-separator[data-v-c9634e2e]{color:#94a3b866}.status-version[data-v-c9634e2e]{color:#94a3b899}.login-header[data-v-c9634e2e]{text-align:center;margin-top:28px;margin-bottom:32px}.logo-icon[data-v-c9634e2e]{position:relative;width:76px;height:76px;margin:0 auto 20px;display:flex;align-items:center;justify-content:center}.logo-icon img[data-v-c9634e2e]{width:100%;height:100%;border-radius:16px;box-shadow:0 10px 32px #3b82f673,0 0 0 1px #ffffff1f inset,0 0 24px #3b82f64d;position:relative;z-index:3}.logo-ring[data-v-c9634e2e]{position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:50%;background:radial-gradient(circle,rgba(59,130,246,.3),transparent 70%);filter:blur(10px);animation:ringPulse-c9634e2e 3s ease-in-out infinite;z-index:1}.logo-rotating-ring[data-v-c9634e2e]{position:absolute;top:-14px;right:-14px;bottom:-14px;left:-14px;border-radius:50%;border:1px dashed rgba(59,130,246,.25);animation:ringRotate-c9634e2e 18s linear infinite;z-index:2}.logo-rotating-ring[data-v-c9634e2e]:before,.logo-rotating-ring[data-v-c9634e2e]:after{content:"";position:absolute;width:4px;height:4px;background:#3b82f6cc;border-radius:50%;box-shadow:0 0 8px #3b82f6cc}.logo-rotating-ring[data-v-c9634e2e]:before{top:-2px;left:50%;transform:translate(-50%)}.logo-rotating-ring[data-v-c9634e2e]:after{bottom:-2px;left:50%;transform:translate(-50%);background:#10b981cc;box-shadow:0 0 8px #10b981cc}@keyframes ringPulse-c9634e2e{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.12)}}@keyframes ringRotate-c9634e2e{to{transform:rotate(360deg)}}.login-title[data-v-c9634e2e]{font-size:30px;font-weight:700;margin:0;line-height:1.2;background:linear-gradient(135deg,#f8fafc,#93c5fd 60%,#60a5fa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:1px;text-shadow:0 0 40px rgba(59,130,246,.2)}.brand-tagline[data-v-c9634e2e]{font-size:11px;color:#94a3b8bf;letter-spacing:3px;text-transform:uppercase;margin:10px 0 0;font-weight:500;font-family:Courier New,Consolas,monospace}.header-divider[data-v-c9634e2e]{position:relative;width:60px;height:1px;background:linear-gradient(90deg,transparent,rgba(59,130,246,.6),transparent);margin:22px auto 0}.divider-dot[data-v-c9634e2e]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:5px;height:5px;background:#3b82f6e6;border-radius:50%;box-shadow:0 0 8px #3b82f6cc}.login-error[data-v-c9634e2e]{display:flex;align-items:center;gap:8px;background:#ef444414;border:1px solid rgba(239,68,68,.3);border-left:3px solid rgba(239,68,68,.7);border-radius:4px;color:var(--status-error);font-size:13px;padding:11px 14px;margin-bottom:20px}.error-icon[data-v-c9634e2e]{font-size:15px;flex-shrink:0}.error-fade-enter-active[data-v-c9634e2e]{transition:all .3s ease}.error-fade-leave-active[data-v-c9634e2e]{transition:all .2s ease}.error-fade-enter-from[data-v-c9634e2e],.error-fade-leave-to[data-v-c9634e2e]{opacity:0;transform:translateY(-8px)}.login-form[data-v-c9634e2e]{display:flex;flex-direction:column;gap:20px}.form-group[data-v-c9634e2e]{display:flex;flex-direction:column;gap:8px}.form-label[data-v-c9634e2e]{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:600;color:#94a3b8d9;letter-spacing:1.2px;text-transform:uppercase;transition:color .2s;font-family:Courier New,Consolas,monospace}.label-icon[data-v-c9634e2e]{flex-shrink:0;opacity:.7}.login-form .form-input[data-v-c9634e2e]{width:100%;flex:none;min-width:auto;height:46px;padding:0 16px;background:#0f172a99;border:1px solid rgba(255,255,255,.08);border-radius:4px;font-size:14px;color:var(--text);outline:none;transition:all .25s cubic-bezier(.4,0,.2,1);box-sizing:border-box;font-family:inherit}.login-form .form-input[data-v-c9634e2e]::placeholder{color:var(--text-secondary);opacity:.4;font-size:13px}.login-form .form-input[data-v-c9634e2e]:hover:not(:focus){border-color:#ffffff26;background:#0f172abf}.login-form .form-input[data-v-c9634e2e]:focus{border-color:var(--primary);background:#0f172ad9;box-shadow:0 0 0 3px #3b82f626,0 0 12px #3b82f61a,0 1px #ffffff0a inset}.form-group:focus-within .form-label[data-v-c9634e2e]{color:var(--primary)}.form-group:focus-within .label-icon[data-v-c9634e2e]{opacity:1;color:var(--primary)}.input-wrap[data-v-c9634e2e]{position:relative;display:flex;align-items:center}.input-wrap .form-input[data-v-c9634e2e]{padding-right:46px}.toggle-password[data-v-c9634e2e]{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:4px;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;transition:all .2s;z-index:2;border-radius:4px}.toggle-password[data-v-c9634e2e]:hover{color:var(--text);background:#ffffff14}.toggle-password[data-v-c9634e2e]:active{transform:translateY(-50%) scale(.92)}.login-btn[data-v-c9634e2e]{height:46px;margin-top:6px;background:linear-gradient(135deg,var(--primary) 0%,#2563eb 50%,#1d4ed8 100%);color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:600;letter-spacing:2px;text-transform:uppercase;cursor:pointer;position:relative;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;gap:8px;font-family:Courier New,Consolas,monospace}.login-btn[data-v-c9634e2e]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.2) 50%,transparent 100%);transform:translate(-100%);transition:transform .6s ease}.login-btn[data-v-c9634e2e]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid rgba(255,255,255,.15);border-radius:4px;pointer-events:none}.login-btn:hover:not(:disabled)[data-v-c9634e2e]{transform:translateY(-1px);box-shadow:0 8px 24px #3b82f666,0 0 0 1px #ffffff1a inset}.login-btn:hover:not(:disabled)[data-v-c9634e2e]:before{transform:translate(100%)}.login-btn[data-v-c9634e2e]:active:not(:disabled){transform:translateY(0);box-shadow:0 4px 12px #3b82f640;transition-duration:.1s}.login-btn[data-v-c9634e2e]:disabled{background:linear-gradient(135deg,#475569,#334155);cursor:not-allowed;opacity:.6;letter-spacing:normal}.btn-text[data-v-c9634e2e]{position:relative;z-index:1}.btn-spinner[data-v-c9634e2e]{width:22px;height:22px;border:2.5px solid rgba(255,255,255,.25);border-top-color:#fff;border-radius:50%;animation:spin-c9634e2e .65s linear infinite;position:relative;z-index:1}@keyframes spin-c9634e2e{to{transform:rotate(360deg)}}.login-footer[data-v-c9634e2e]{text-align:center;margin-top:24px;font-size:13px;color:var(--text-secondary)}.login-footer a[data-v-c9634e2e]{color:var(--primary);text-decoration:none;font-weight:600;transition:all .2s;display:inline-block}.login-footer a[data-v-c9634e2e]:hover{color:#93c5fd;transform:translate(3px)}.fade-enter-active[data-v-c9634e2e],.fade-leave-active[data-v-c9634e2e]{transition:all .25s ease}.fade-enter-from[data-v-c9634e2e]{opacity:0;transform:translateY(6px)}.fade-leave-to[data-v-c9634e2e]{opacity:0;transform:translateY(-6px)}.login-build-info[data-v-c9634e2e]{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.05);font-family:Courier New,Consolas,monospace;font-size:10px;letter-spacing:.5px;color:#94a3b866}.build-label[data-v-c9634e2e]{color:#94a3b880;font-weight:600}.build-value[data-v-c9634e2e]{color:#94a3b8b3}.build-separator[data-v-c9634e2e]{color:#94a3b840}.login-mode-switch[data-v-c9634e2e]{display:flex;gap:4px;background:#0f172a99;border:1px solid rgba(255,255,255,.08);border-radius:4px;padding:4px;margin-bottom:24px}.mode-tab[data-v-c9634e2e]{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:9px 12px;background:transparent;border:none;border-radius:3px;color:#94a3b8b3;font-size:12px;font-weight:600;letter-spacing:.8px;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);font-family:Courier New,Consolas,monospace}.mode-tab[data-v-c9634e2e]:hover:not(.mode-tab-active){color:#cbd5e1e6;background:#ffffff0a}.mode-tab-active[data-v-c9634e2e]{background:linear-gradient(135deg,#3b82f62e,#2563eb1f);color:#93c5fd;box-shadow:0 0 0 1px #3b82f64d,0 1px #ffffff0f inset}.mode-tab svg[data-v-c9634e2e]{flex-shrink:0}.wechat-panel[data-v-c9634e2e]{display:flex;flex-direction:column;align-items:center;gap:18px;margin-bottom:8px}.qrcode-container[data-v-c9634e2e]{position:relative;display:flex;align-items:center;justify-content:center;width:280px;height:280px;background:#fff;border-radius:6px;padding:12px;box-shadow:0 8px 24px #0000004d,0 0 0 1px #3b82f633}.qrcode-loading[data-v-c9634e2e]{display:flex;flex-direction:column;align-items:center;gap:14px;color:#94a3b8cc;font-size:13px}.qrcode-loading p[data-v-c9634e2e]{margin:0;font-family:Courier New,Consolas,monospace;letter-spacing:.5px}.qrcode-spinner[data-v-c9634e2e]{width:36px;height:36px;border:3px solid rgba(59,130,246,.15);border-top-color:var(--primary);border-radius:50%;animation:spin-c9634e2e .7s linear infinite}.qrcode-mock[data-v-c9634e2e]{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.mock-qrcode[data-v-c9634e2e]{width:256px;height:256px;background:#fff;border-radius:4px;display:flex;align-items:center;justify-content:center}.mock-qr-svg[data-v-c9634e2e]{border-radius:4px}.qrcode-real[data-v-c9634e2e]{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.wechat-iframe[data-v-c9634e2e]{width:100%;height:100%;border:none;border-radius:4px;background:#fff}.qrcode-overlay[data-v-c9634e2e]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:#fffffff2;border-radius:6px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.overlay-text[data-v-c9634e2e]{font-size:14px;color:#475569;font-weight:600;text-align:center}.refresh-qrcode-btn[data-v-c9634e2e]{padding:8px 20px;background:linear-gradient(135deg,var(--primary) 0%,#2563eb 100%);color:#fff;border:none;border-radius:4px;font-size:13px;font-weight:600;cursor:pointer;transition:all .25s;font-family:Courier New,Consolas,monospace;letter-spacing:.5px}.refresh-qrcode-btn[data-v-c9634e2e]:hover{transform:translateY(-1px);box-shadow:0 6px 16px #3b82f666}.scan-status[data-v-c9634e2e]{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:500;padding:8px 16px;border-radius:4px;transition:all .3s}.scan-status-pending[data-v-c9634e2e]{color:#94a3b8e6;background:#0f172a66}.scan-status-scanned[data-v-c9634e2e]{color:#fbbf24;background:#fbbf2414}.scan-status-confirmed[data-v-c9634e2e]{color:#10b981;background:#10b98114}.scan-status-expired[data-v-c9634e2e],.scan-status-cancelled[data-v-c9634e2e]{color:#f87171;background:#ef444414}.status-indicator[data-v-c9634e2e]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-indicator-pending[data-v-c9634e2e]{background:#94a3b899;animation:statusBlink-c9634e2e 1.5s ease-in-out infinite}.status-indicator-scanned[data-v-c9634e2e]{background:#fbbf24;box-shadow:0 0 6px #fbbf2499;animation:statusBlink-c9634e2e 1s ease-in-out infinite}.status-indicator-confirmed[data-v-c9634e2e]{background:#10b981;box-shadow:0 0 8px #10b981cc}.status-text[data-v-c9634e2e]{font-family:Courier New,Consolas,monospace;letter-spacing:.3px}.mock-actions[data-v-c9634e2e]{display:flex;gap:10px;width:100%}.mock-btn[data-v-c9634e2e]{flex:1;padding:10px 16px;border:none;border-radius:4px;font-size:13px;font-weight:600;cursor:pointer;transition:all .25s;font-family:Courier New,Consolas,monospace;letter-spacing:.5px}.mock-btn-confirm[data-v-c9634e2e]{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.mock-btn-confirm[data-v-c9634e2e]:hover{transform:translateY(-1px);box-shadow:0 6px 16px #10b98166}.mock-btn-cancel[data-v-c9634e2e]{background:#0f172a99;color:#94a3b8e6;border:1px solid rgba(255,255,255,.08)}.mock-btn-cancel[data-v-c9634e2e]:hover{background:#ef44441a;color:#f87171;border-color:#ef44444d}.mock-banner[data-v-c9634e2e]{width:100%;padding:8px 12px;background:#fbbf2414;border:1px solid rgba(251,191,36,.25);border-radius:4px;font-size:11px;color:#fbbf24;text-align:center;font-family:Courier New,Consolas,monospace;letter-spacing:.3px;line-height:1.5}.login-client-download[data-v-c9634e2e]{display:flex;justify-content:center;margin-top:16px}.client-download-btn[data-v-c9634e2e]{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;font-size:12px;font-weight:500;font-family:Courier New,Consolas,monospace;letter-spacing:.5px;color:#94a3b8b3;background:#0f172a80;border:1px solid rgba(255,255,255,.08);border-radius:4px;text-decoration:none;transition:all .25s cubic-bezier(.4,0,.2,1);cursor:pointer}.client-download-btn[data-v-c9634e2e]:hover{color:var(--primary);border-color:#3b82f666;background:#3b82f614;box-shadow:0 0 12px #3b82f61a}.client-download-btn svg[data-v-c9634e2e]{flex-shrink:0}@media (max-width: 480px){.login-container[data-v-c9634e2e]{padding:32px 24px 24px}.login-title[data-v-c9634e2e]{font-size:26px}.brand-tagline[data-v-c9634e2e]{font-size:10px;letter-spacing:2px}.login-form .form-input[data-v-c9634e2e]{height:44px;font-size:14px}.login-btn[data-v-c9634e2e]{height:44px;font-size:13px}.logo-icon[data-v-c9634e2e]{width:64px;height:64px}.login-build-info[data-v-c9634e2e]{flex-wrap:wrap;gap:6px;font-size:9px}.wechat-iframe[data-v-c9634e2e]{width:240px;height:240px}.mock-qrcode[data-v-c9634e2e]{width:160px;height:160px}}.login-form .form-input[data-v-c9634e2e]:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.login-btn[data-v-c9634e2e]:focus-visible{outline:2px solid #fff;outline-offset:3px}.login-footer a[data-v-c9634e2e]:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:2px}@media (prefers-reduced-motion: reduce){[data-v-c9634e2e],[data-v-c9634e2e]:before,[data-v-c9634e2e]:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.login-container[data-v-c9634e2e]{animation:none}.scan-line[data-v-c9634e2e],.logo-rotating-ring[data-v-c9634e2e],.logo-ring[data-v-c9634e2e],.status-dot-online[data-v-c9634e2e]{display:none}}.system-home[data-v-b94d2d48]{padding:16px 32px;height:100%;overflow-y:auto}.page-header[data-v-b94d2d48]{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.page-header-text[data-v-b94d2d48]{display:flex;flex-direction:column}.refresh-btn[data-v-b94d2d48]{display:flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text-secondary);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.refresh-btn[data-v-b94d2d48]:hover:not(:disabled){color:var(--text);border-color:var(--primary)}.refresh-btn[data-v-b94d2d48]:disabled{opacity:.6;cursor:not-allowed}.refresh-btn .spinning[data-v-b94d2d48]{animation:home-refresh-spin-b94d2d48 .8s linear infinite}@keyframes home-refresh-spin-b94d2d48{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.page-title[data-v-b94d2d48]{font-size:22px;font-weight:700;color:var(--text);margin:0 0 4px}.page-subtitle[data-v-b94d2d48]{font-size:13px;color:var(--text-secondary)}.stats-grid[data-v-b94d2d48]{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-bottom:24px}.stat-card[data-v-b94d2d48]{display:flex;align-items:center;gap:16px;padding:20px;border-radius:12px;background:var(--surface);border:1px solid var(--border)}.stat-icon[data-v-b94d2d48]{width:52px;height:52px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-card--devices .stat-icon[data-v-b94d2d48]{background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--status-info)}.stat-card--online .stat-icon[data-v-b94d2d48]{background:color-mix(in srgb,var(--status-online) 12%,transparent);color:var(--status-success)}.stat-card--offline .stat-icon[data-v-b94d2d48]{background:color-mix(in srgb,var(--text-secondary) 12%,transparent);color:var(--text-secondary)}.stat-card--tags .stat-icon[data-v-b94d2d48]{background:color-mix(in srgb,var(--chart-5) 12%,transparent);color:var(--chart-5)}.stat-card--projects .stat-icon[data-v-b94d2d48]{background:color-mix(in srgb,var(--status-success) 12%,transparent);color:var(--status-success)}.stat-card--volume .stat-icon[data-v-b94d2d48]{background:color-mix(in srgb,var(--status-warning) 12%,transparent);color:var(--status-warning)}.stat-body[data-v-b94d2d48]{display:flex;flex-direction:column}.stat-value[data-v-b94d2d48]{font-size:26px;font-weight:700;color:var(--text);line-height:1.2}.stat-label[data-v-b94d2d48]{font-size:12px;color:var(--text-secondary);margin-top:2px}.panels-grid[data-v-b94d2d48]{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px;align-items:stretch}.panels-row[data-v-b94d2d48]{display:contents}.panel--status[data-v-b94d2d48]{grid-column:1;grid-row:1;min-height:0}.panel--quick[data-v-b94d2d48]{grid-column:1;grid-row:2;min-height:0}.panel--recent[data-v-b94d2d48]{grid-column:2;grid-row:1 / 3}.panel[data-v-b94d2d48]{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.panel-header[data-v-b94d2d48]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid var(--border)}.panel-more[data-v-b94d2d48]{font-size:12px;color:var(--primary);cursor:pointer;transition:opacity .15s}.panel-more[data-v-b94d2d48]:hover{opacity:.8}.panel-title[data-v-b94d2d48]{font-size:14px;font-weight:600;color:var(--text);margin:0}.panel-body[data-v-b94d2d48]{padding:16px 20px 20px}.status-bars[data-v-b94d2d48]{display:flex;flex-direction:column;gap:18px}.status-bar-header[data-v-b94d2d48]{display:flex;justify-content:space-between;margin-bottom:6px}.status-bar-label[data-v-b94d2d48]{font-size:12px;color:var(--text)}.status-bar-value[data-v-b94d2d48]{font-size:12px;color:var(--text-secondary)}.status-bar-track[data-v-b94d2d48]{height:6px;background:var(--border);border-radius:3px;overflow:hidden}.status-bar-fill[data-v-b94d2d48]{height:100%;border-radius:3px;transition:width .4s ease}.status-bar-fill--online[data-v-b94d2d48]{background:var(--status-success)}.status-bar-fill--offline[data-v-b94d2d48]{background:var(--text-secondary)}.status-bar-fill--alarm[data-v-b94d2d48]{background:var(--status-error)}.alarm-list[data-v-b94d2d48]{display:flex;flex-direction:column;gap:4px}.alarm-row[data-v-b94d2d48]{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border-radius:6px;cursor:pointer;transition:background .15s}.alarm-row[data-v-b94d2d48]:hover{background:#ffffff0a}.alarm-level-badge[data-v-b94d2d48]{flex-shrink:0;padding:1px 7px;border-radius:4px;font-size:11px;line-height:18px;white-space:nowrap}.alarm-level-badge.level-critical[data-v-b94d2d48]{background:color-mix(in srgb,var(--status-error) 20%,transparent);color:var(--status-error);font-weight:600}.alarm-level-badge.level-error[data-v-b94d2d48]{background:color-mix(in srgb,var(--status-error) 14%,transparent);color:var(--status-error)}.alarm-level-badge.level-warning[data-v-b94d2d48]{background:color-mix(in srgb,var(--status-warning) 16%,transparent);color:var(--status-warning)}.alarm-level-badge.level-info[data-v-b94d2d48]{background:color-mix(in srgb,var(--status-info) 16%,transparent);color:var(--status-info)}.alarm-info[data-v-b94d2d48]{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.alarm-message[data-v-b94d2d48]{font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alarm-meta[data-v-b94d2d48]{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--text-secondary)}.alarm-device[data-v-b94d2d48]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}.alarm-status.status-active[data-v-b94d2d48]{color:var(--status-error)}.alarm-status.status-acknowledged[data-v-b94d2d48]{color:var(--status-warning)}.alarm-status.status-cleared[data-v-b94d2d48]{color:var(--status-success)}.alarm-status.status-shelved[data-v-b94d2d48]{color:var(--text-secondary)}.alarm-time[data-v-b94d2d48]{margin-left:auto;white-space:nowrap}.empty-state[data-v-b94d2d48]{display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px 0}.empty-icon[data-v-b94d2d48]{color:var(--text-secondary)}.empty-text[data-v-b94d2d48]{font-size:13px;color:var(--text-secondary)}.quick-grid[data-v-b94d2d48]{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.quick-card[data-v-b94d2d48]{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 12px;background:var(--surface);border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:all .15s;text-align:center}.quick-card[data-v-b94d2d48]:hover{background:var(--border);border-color:var(--border-light);transform:translateY(-1px)}.quick-icon[data-v-b94d2d48]{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center}.quick-icon--blue[data-v-b94d2d48]{background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--status-info)}.quick-icon--red[data-v-b94d2d48]{background:color-mix(in srgb,var(--status-error) 12%,transparent);color:var(--status-error)}.quick-icon--green[data-v-b94d2d48]{background:color-mix(in srgb,var(--status-online) 12%,transparent);color:var(--status-success)}.quick-icon--purple[data-v-b94d2d48]{background:color-mix(in srgb,var(--chart-5) 12%,transparent);color:var(--chart-5)}.quick-icon--orange[data-v-b94d2d48]{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.quick-label[data-v-b94d2d48]{font-size:13px;font-weight:600;color:var(--text)}.quick-desc[data-v-b94d2d48]{font-size:11px;color:var(--text-secondary)}@media (max-width: 1400px){.stats-grid[data-v-b94d2d48]{grid-template-columns:repeat(3,1fr)}}@media (max-width: 900px){.stats-grid[data-v-b94d2d48]{grid-template-columns:repeat(2,1fr)}.panels-grid[data-v-b94d2d48]{grid-template-columns:1fr}.panel--status[data-v-b94d2d48],.panel--quick[data-v-b94d2d48],.panel--recent[data-v-b94d2d48]{grid-column:1;grid-row:auto}}.color-picker[data-v-d6a73cb4]{display:inline-block;position:relative}.color-picker .color-picker-trigger[data-v-d6a73cb4]{display:flex;align-items:center;border:1px solid var(--border, #cccccc);border-radius:4px;overflow:hidden;cursor:pointer;background:var(--surface, #ffffff)}.color-picker .color-picker-trigger .color-preview[data-v-d6a73cb4]{width:80px;height:26px;display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0}.color-picker .color-picker-trigger .color-preview.is-transparent[data-v-d6a73cb4]{background-image:linear-gradient(45deg,#ccc 25%,transparent 25%),linear-gradient(-45deg,#ccc 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ccc 75%),linear-gradient(-45deg,transparent 75%,#ccc 75%);background-size:8px 8px;background-position:0 0,0 4px,4px -4px,-4px 0px}.color-picker .color-picker-trigger .color-preview .color-value-text[data-v-d6a73cb4]{font-size:11px;font-family:monospace;font-weight:500;letter-spacing:.3px;white-space:nowrap;text-shadow:0 0 3px rgba(255,255,255,.7),0 0 6px rgba(255,255,255,.4);pointer-events:none;-webkit-user-select:none;user-select:none;line-height:1}.color-picker .color-picker-trigger .color-picker-button[data-v-d6a73cb4]{padding:0 6px;height:26px;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--text, #333333);flex-shrink:0}.color-picker .color-picker-trigger .color-picker-button[data-v-d6a73cb4]:hover{background:var(--control-button-hover, #f0f0f0)}.color-picker .color-picker-content[data-v-d6a73cb4]{position:fixed;z-index:9999;background:var(--surface, #ffffff);border:1px solid var(--border, #cccccc);border-radius:4px;padding:16px;box-shadow:var(--shadow-large, 0 4px 12px rgba(0, 0, 0, .15));width:300px}.color-picker .color-picker-content .color-selector[data-v-d6a73cb4]{display:flex;margin-bottom:16px}.color-picker .color-picker-content .color-selector .color-gradient[data-v-d6a73cb4]{flex:1;height:200px;position:relative;cursor:pointer;border-radius:4px 0 0 4px;overflow:hidden}.color-picker .color-picker-content .color-selector .color-gradient[data-v-d6a73cb4]:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to right,white,transparent),linear-gradient(to top,black,transparent);pointer-events:none}.color-picker .color-picker-content .color-selector .color-gradient .color-picker-indicator[data-v-d6a73cb4]{position:absolute;width:12px;height:12px;border:2px solid white;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 2px #00000080;pointer-events:none}.color-picker .color-picker-content .color-selector .hue-slider[data-v-d6a73cb4]{width:20px;height:200px;margin-left:8px;position:relative;cursor:pointer}.color-picker .color-picker-content .color-selector .hue-slider .hue-gradient[data-v-d6a73cb4]{width:100%;height:100%;background:linear-gradient(to bottom,red,#ff0,green,#0ff,#00f,#f0f,red);border-radius:4px}.color-picker .color-picker-content .color-selector .hue-slider .hue-gradient .hue-indicator[data-v-d6a73cb4]{position:absolute;left:0;right:0;height:2px;background:#fff;box-shadow:0 0 2px #00000080;transform:translateY(-50%);pointer-events:none}.color-picker .color-picker-content .alpha-slider[data-v-d6a73cb4]{width:100%;height:20px;margin-bottom:16px;position:relative;cursor:pointer}.color-picker .color-picker-content .alpha-slider .alpha-gradient[data-v-d6a73cb4]{width:100%;height:100%;border-radius:4px;background:linear-gradient(to right,transparent,black)}.color-picker .color-picker-content .alpha-slider .alpha-gradient .alpha-indicator[data-v-d6a73cb4]{position:absolute;top:0;bottom:0;width:2px;background:#fff;box-shadow:0 0 2px #00000080;transform:translate(-50%);pointer-events:none}.color-picker .color-picker-content .preset-colors[data-v-d6a73cb4]{display:grid;grid-template-columns:repeat(10,1fr);gap:4px;margin-bottom:16px}.color-picker .color-picker-content .preset-colors .preset-color[data-v-d6a73cb4]{width:24px;height:24px;border-radius:4px;cursor:pointer;border:1px solid var(--border, #cccccc)}.color-picker .color-picker-content .preset-colors .preset-color[data-v-d6a73cb4]:hover{transform:scale(1.1)}.color-picker .color-picker-content .color-picker-footer[data-v-d6a73cb4]{display:flex;justify-content:space-between;align-items:center}.color-picker .color-picker-content .color-picker-footer .color-value[data-v-d6a73cb4]{flex:1;margin-right:12px}.color-picker .color-picker-content .color-picker-footer .color-value .color-value-input[data-v-d6a73cb4]{width:100%;padding:6px 8px;border:1px solid var(--border, #cccccc);border-radius:4px;font-size:14px;color:var(--text, #333333);background:var(--surface, #ffffff)}.color-picker .color-picker-content .color-picker-footer .color-value .color-value-input[data-v-d6a73cb4]:focus{outline:none;border-color:var(--primary, #2196F3);box-shadow:0 0 0 2px #2196f333}.color-picker .color-picker-content .color-picker-footer .color-picker-actions[data-v-d6a73cb4]{display:flex;gap:8px}.color-picker .color-picker-content .color-picker-footer .color-picker-actions .color-picker-button[data-v-d6a73cb4]{padding:6px 12px;border:1px solid var(--border, #cccccc);border-radius:4px;font-size:14px;cursor:pointer;transition:all .2s ease}.color-picker .color-picker-content .color-picker-footer .color-picker-actions .color-picker-button.clear[data-v-d6a73cb4]{background:var(--surface, #ffffff);color:var(--text, #333333)}.color-picker .color-picker-content .color-picker-footer .color-picker-actions .color-picker-button.clear[data-v-d6a73cb4]:hover{background:var(--background, #F5F5F5)}.color-picker .color-picker-content .color-picker-footer .color-picker-actions .color-picker-button.confirm[data-v-d6a73cb4]{background:var(--primary, #2196F3);color:#fff;border-color:var(--primary, #2196F3)}.color-picker .color-picker-content .color-picker-footer .color-picker-actions .color-picker-button.confirm[data-v-d6a73cb4]:hover{background:var(--button-hover, #1976D2);border-color:var(--button-hover, #1976D2)}[data-v-d6a73cb4] .dark .color-picker .color-picker-trigger{border-color:var(--border, #333333);background:var(--surface, #1E1E1E)}[data-v-d6a73cb4] .dark .color-picker .color-picker-trigger .color-preview.is-transparent{background-image:linear-gradient(45deg,#444 25%,transparent 25%),linear-gradient(-45deg,#444 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#444 75%),linear-gradient(-45deg,transparent 75%,#444 75%)}[data-v-d6a73cb4] .dark .color-picker .color-picker-trigger .color-preview .color-value-text{text-shadow:0 0 3px rgba(0,0,0,.7),0 0 6px rgba(0,0,0,.4);color:#fff}[data-v-d6a73cb4] .dark .color-picker .color-picker-trigger .color-picker-button{color:var(--text, #FFFFFF)}[data-v-d6a73cb4] .dark .color-picker .color-picker-trigger .color-picker-button:hover{background:var(--control-button-hover, #2D2D2D)}[data-v-d6a73cb4] .dark .color-picker .color-picker-content{background:var(--surface, #1E1E1E);border-color:var(--border, #333333)}[data-v-d6a73cb4] .dark .color-picker .color-picker-content .preset-color{border-color:var(--border, #333333)}[data-v-d6a73cb4] .dark .color-picker .color-picker-content .color-value .color-value-input{background:var(--surface, #1E1E1E);color:var(--text, #FFFFFF);border-color:var(--border, #333333)}[data-v-d6a73cb4] .dark .color-picker .color-picker-content .color-value .color-value-input:focus{border-color:var(--primary, #409EFF);box-shadow:0 0 0 2px #409eff33}[data-v-d6a73cb4] .dark .color-picker .color-picker-content .color-picker-actions .color-picker-button{border-color:var(--border, #333333)}[data-v-d6a73cb4] .dark .color-picker .color-picker-content .color-picker-actions .color-picker-button.clear{background:var(--surface, #1E1E1E);color:var(--text, #FFFFFF)}[data-v-d6a73cb4] .dark .color-picker .color-picker-content .color-picker-actions .color-picker-button.clear:hover{background:var(--background, #2D2D2D)}.number-field[data-v-9e78700b]{display:flex;align-items:center;flex:1;min-width:0;height:30px;background:var(--surface);border:1px solid var(--border);border-radius:4px;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}.number-field[data-v-9e78700b]:hover{border-color:var(--border-light)}.number-field[data-v-9e78700b]:focus-within{border-color:var(--primary);box-shadow:0 0 0 2px var(--border-focus, transparent)}.number-field-input[data-v-9e78700b]{flex:1;min-width:0;height:100%;padding:0 8px;border:none;background:transparent;color:var(--text);font-size:13px;outline:none}.number-field-input[data-v-9e78700b]::-webkit-outer-spin-button,.number-field-input[data-v-9e78700b]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.number-field-input[type=number][data-v-9e78700b]{-moz-appearance:textfield}.number-field-buttons[data-v-9e78700b]{display:flex;flex-direction:column;width:20px;flex-shrink:0;border-left:1px solid var(--border)}.number-field-btn[data-v-9e78700b]{width:100%;height:14px;padding:0;border:none;background:transparent;color:var(--text-secondary);font-size:10px;font-weight:600;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease,color .15s ease}.number-field-btn[data-v-9e78700b]:hover{background:var(--control-button-hover);color:var(--text)}.number-field-btn[data-v-9e78700b]:active{background:var(--primary);color:var(--surface)}.number-field-btn-plus[data-v-9e78700b]{border-bottom:1px solid var(--border)}.gallery-image-picker-overlay[data-v-f98aa36f]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3100;display:flex;align-items:center;justify-content:center;background:#0006}.gallery-image-picker-dialog[data-v-f98aa36f]{width:720px;max-width:92vw;max-height:76vh;display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:8px;background:var(--surface);color:var(--text);box-shadow:var(--shadow-modal)}.dialog-header[data-v-f98aa36f]{display:flex;align-items:center;justify-content:space-between}.dialog-title[data-v-f98aa36f]{font-size:14px;font-weight:600}.dialog-close[data-v-f98aa36f]{width:24px;height:24px;line-height:1;border:none;border-radius:4px;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:18px}.dialog-close[data-v-f98aa36f]:hover{background:var(--background);color:var(--text)}.source-tabs[data-v-f98aa36f]{display:flex;gap:6px}.source-tab[data-v-f98aa36f]{padding:5px 12px;font-size:12px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text);cursor:pointer}.source-tab.active[data-v-f98aa36f]{border-color:var(--primary);color:var(--primary)}.select[data-v-f98aa36f],.url-input[data-v-f98aa36f]{height:32px;padding:0 8px;font-size:13px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text);box-sizing:border-box}.gallery-toolbar[data-v-f98aa36f]{display:flex;gap:8px}.gallery-body[data-v-f98aa36f]{display:flex;gap:10px;min-height:240px;max-height:46vh;overflow:hidden}.category-sidebar[data-v-f98aa36f]{width:200px;flex-shrink:0;overflow-y:auto;border:1px solid var(--border);border-radius:4px;padding:6px}.category-list[data-v-f98aa36f]{display:flex;flex-direction:column;gap:2px}.category-item[data-v-f98aa36f]{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;border-radius:4px;cursor:pointer;font-size:13px}.category-item[data-v-f98aa36f]:hover{background:var(--background)}.category-item.active[data-v-f98aa36f]{background:#2196f31f;color:var(--primary)}.category-name[data-v-f98aa36f]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-count[data-v-f98aa36f]{font-size:11px;color:var(--text-tertiary)}.image-content[data-v-f98aa36f]{flex:1;overflow-y:auto;border:1px solid var(--border);border-radius:4px;padding:8px}.image-grid[data-v-f98aa36f]{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.image-card[data-v-f98aa36f]{margin:0;border:1px solid var(--border);border-radius:6px;overflow:hidden;cursor:pointer;background:var(--surface)}.image-card[data-v-f98aa36f]:hover{border-color:var(--primary)}.image-thumb[data-v-f98aa36f]{width:100%;height:84px;object-fit:contain;background:var(--background)}.image-name[data-v-f98aa36f]{padding:4px 6px;font-size:11px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-hint[data-v-f98aa36f]{display:flex;align-items:center;justify-content:center;height:100%;min-height:200px;font-size:13px;color:var(--text-tertiary)}.url-row[data-v-f98aa36f],.upload-row[data-v-f98aa36f]{display:flex;align-items:center;gap:8px}.url-input[data-v-f98aa36f]{flex:1}.upload-hint[data-v-f98aa36f]{font-size:12px;color:var(--text-tertiary)}.file-input[data-v-f98aa36f]{font-size:13px}.btn[data-v-f98aa36f]{display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;cursor:pointer;background:var(--surface);color:var(--text)}.btn-primary[data-v-f98aa36f]{background:var(--primary);border-color:var(--primary);color:#fff}.btn[data-v-f98aa36f]:disabled{opacity:.5;cursor:not-allowed}.dialog-actions[data-v-f98aa36f]{display:flex;justify-content:flex-end}.plugin-config-panel[data-v-3035169c]{--pc-text: var(--text);--pc-label: var(--text-secondary);--pc-border: var(--border);--pc-input-bg: var(--surface);--pc-accent: var(--primary);--pc-section-title: var(--primary);--pc-item-hover: var(--primary-hover-bg, rgba(24, 144, 255, .06));--pc-warning: var(--status-warning, #faad14);--pc-warning-bg: var(--warning-bg, rgba(250, 173, 20, .1));--pc-danger: var(--status-error, #ff4d4f);--pc-danger-hover: var(--danger-hover-bg, rgba(255, 77, 79, .1));--pc-radius: 4px;--pc-padding: 8px;--pc-gap: 8px;--pc-label-width: 70px;--pc-font-size: 12px;--pc-transition: .2s ease;padding:var(--pc-padding);font-size:var(--pc-font-size);color:var(--pc-text)}.plugin-config-panel .config-section[data-v-3035169c]{margin-bottom:16px}.plugin-config-panel .config-section[data-v-3035169c]:last-child{margin-bottom:0}.plugin-config-panel .config-section-title[data-v-3035169c]{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin:0 0 10px;padding:0 0 6px;font-size:12px;font-weight:600;line-height:1.4;letter-spacing:.5px;text-align:left;color:var(--pc-section-title);background:transparent;border:none;border-bottom:1px solid var(--pc-border);cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--pc-transition)}.plugin-config-panel .config-section-title[data-v-3035169c]:hover{color:var(--text)}.plugin-config-panel .config-panel-name[data-v-3035169c]{font-size:13px;font-weight:600;line-height:1.4;color:var(--pc-section-title);margin:0 0 10px;padding:0 0 6px;border-bottom:1px solid var(--pc-border)}.plugin-config-panel .config-section-label[data-v-3035169c]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plugin-config-panel .config-collapse-icon[data-v-3035169c]{display:inline-block;width:0;height:0;border-left:5px solid var(--text-secondary);border-top:4px solid transparent;border-bottom:4px solid transparent;transition:transform .2s ease,opacity .15s ease;margin-left:6px;flex-shrink:0;font-size:0;opacity:.6}.plugin-config-panel .config-collapse-icon.expanded[data-v-3035169c]{transform:rotate(90deg)}.plugin-config-panel .config-section-body[data-v-3035169c]{overflow:hidden;padding-top:2px}.plugin-config-panel .config-row[data-v-3035169c]{display:flex;align-items:center;margin-bottom:var(--pc-gap);gap:var(--pc-gap)}.plugin-config-panel .config-row[data-v-3035169c]:last-child{margin-bottom:0}.plugin-config-panel .config-label[data-v-3035169c]{min-width:var(--pc-label-width);width:auto;font-size:var(--pc-font-size);color:var(--pc-label);flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plugin-config-panel .config-control[data-v-3035169c]{flex:1;min-width:0}.plugin-config-panel .config-input[data-v-3035169c],.plugin-config-panel .config-select[data-v-3035169c]{flex:1;min-width:0;height:30px;padding:5px 8px;background:var(--pc-input-bg);border:1px solid var(--pc-border);color:var(--pc-text);border-radius:var(--pc-radius);font-size:13px;transition:border-color var(--pc-transition),box-shadow var(--pc-transition)}.plugin-config-panel .config-input[data-v-3035169c]:hover,.plugin-config-panel .config-select[data-v-3035169c]:hover{border-color:var(--border-light)}.plugin-config-panel .config-input[data-v-3035169c]:focus,.plugin-config-panel .config-select[data-v-3035169c]:focus{outline:none;border-color:var(--pc-accent);box-shadow:0 0 0 2px var(--border-focus, transparent)}.plugin-config-panel .config-select[data-v-3035169c]{padding-right:24px;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 6px center;background-repeat:no-repeat;background-size:16px}.plugin-config-panel .config-checkbox[data-v-3035169c]{width:14px;height:14px;flex:none;accent-color:var(--pc-accent);cursor:pointer}.plugin-config-panel .config-input[type=range][data-v-3035169c],.plugin-config-panel .config-control[type=range][data-v-3035169c]{padding:0;height:auto;accent-color:var(--pc-accent);cursor:pointer}.plugin-config-panel .config-textarea[data-v-3035169c]{flex:1;min-width:0;padding:5px 8px;background:var(--pc-input-bg);border:1px solid var(--pc-border);color:var(--pc-text);border-radius:var(--pc-radius);font-size:13px;resize:vertical;min-height:48px;transition:border-color var(--pc-transition),box-shadow var(--pc-transition)}.plugin-config-panel .config-textarea[data-v-3035169c]:focus{outline:none;border-color:var(--pc-accent);box-shadow:0 0 0 2px var(--border-focus, transparent)}.plugin-config-panel .config-range-value[data-v-3035169c]{font-size:11px;color:var(--pc-accent);min-width:32px;text-align:right;flex-shrink:0}.plugin-config-panel .config-readonly[data-v-3035169c]{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plugin-config-panel .config-color-picker-wrapper[data-v-3035169c]{flex:1;min-width:0}.plugin-config-panel .config-color-array[data-v-3035169c]{display:flex;flex-wrap:wrap;gap:4px;flex:1;min-width:0}.plugin-config-panel .config-color-array-item[data-v-3035169c]{display:flex;align-items:center;gap:2px;flex:1;min-width:72px}.plugin-config-panel .config-color-array-index[data-v-3035169c]{font-size:11px;line-height:1;color:var(--text-secondary);flex-shrink:0}.plugin-config-panel .config-image-picker-inline[data-v-3035169c]{flex:1;min-width:0;display:flex;align-items:center;gap:4px}.plugin-config-panel .image-thumb[data-v-3035169c]{width:28px;height:28px;min-width:28px;border:1px solid var(--pc-border);border-radius:var(--pc-radius);overflow:hidden;cursor:pointer;display:flex;align-items:center;justify-content:center;background:var(--pc-input-bg);transition:border-color var(--pc-transition);position:relative}.plugin-config-panel .image-thumb[data-v-3035169c]:hover{border-color:var(--pc-accent)}.plugin-config-panel .image-thumb--has-image[data-v-3035169c]{padding:0}.plugin-config-panel .image-thumb-img[data-v-3035169c]{width:100%;height:100%;object-fit:cover}.plugin-config-panel .image-thumb-icon[data-v-3035169c]{font-size:14px;line-height:1}.plugin-config-panel .image-hidden-input[data-v-3035169c]{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.plugin-config-panel .image-select-btn[data-v-3035169c]{height:28px;min-width:0;padding:0 10px;font-size:11px;white-space:nowrap;border:1px solid var(--pc-accent);border-radius:var(--pc-radius);background:transparent;color:var(--pc-accent);cursor:pointer;transition:all var(--pc-transition);flex-shrink:0}.plugin-config-panel .image-select-btn[data-v-3035169c]:hover{background:var(--pc-accent);color:var(--surface)}.plugin-config-panel .image-url-inline-input[data-v-3035169c]{min-width:60px}.plugin-config-panel .image-clear-btn-inline[data-v-3035169c]{width:22px;height:22px;display:flex;align-items:center;justify-content:center;border:1px solid var(--pc-border);border-radius:var(--pc-radius);background:var(--pc-input-bg);color:var(--pc-label);font-size:11px;cursor:pointer;flex-shrink:0;transition:all var(--pc-transition)}.plugin-config-panel .image-clear-btn-inline[data-v-3035169c]:hover{border-color:var(--status-error);color:var(--status-error);background:var(--control-button-hover)}.plugin-config-panel .config-follow-hint[data-v-3035169c]{display:flex;align-items:center;gap:8px;margin-top:4px;width:100%}.plugin-config-panel .config-follow-hint-text[data-v-3035169c]{flex:1;font-size:11px;color:var(--status-warning);line-height:1.4}.plugin-config-panel .config-follow-restore[data-v-3035169c]{padding:2px 8px;font-size:11px;border:1px solid var(--pc-border);border-radius:var(--pc-radius);background:var(--pc-input-bg);color:var(--primary);cursor:pointer;flex-shrink:0;transition:all var(--pc-transition)}.plugin-config-panel .config-follow-restore[data-v-3035169c]:hover{border-color:var(--primary);background:var(--control-button-hover)}.ss-loading[data-v-16ba25ba]{display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none}.ss-loading__container[data-v-16ba25ba]{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.ss-loading--small .ss-loading__ring[data-v-16ba25ba]{width:52px;height:52px}.ss-loading--small .ss-loading__glow[data-v-16ba25ba]{width:64px;height:64px}.ss-loading--small .ss-loading__logo-bg[data-v-16ba25ba]{width:28px;height:28px}.ss-loading--small .ss-loading__logo-text[data-v-16ba25ba]{font-size:16px}.ss-loading--small .ss-loading__animation[data-v-16ba25ba]{width:64px;height:64px}.ss-loading--small .ss-loading__text[data-v-16ba25ba]{font-size:12px;margin-bottom:10px}.ss-loading--medium .ss-loading__ring[data-v-16ba25ba]{width:88px;height:88px}.ss-loading--medium .ss-loading__glow[data-v-16ba25ba]{width:108px;height:108px}.ss-loading--medium .ss-loading__logo-bg[data-v-16ba25ba]{width:44px;height:44px}.ss-loading--medium .ss-loading__logo-text[data-v-16ba25ba]{font-size:26px}.ss-loading--medium .ss-loading__animation[data-v-16ba25ba]{width:108px;height:108px}.ss-loading--medium .ss-loading__text[data-v-16ba25ba]{font-size:14px;margin-bottom:12px}.ss-loading--large .ss-loading__ring[data-v-16ba25ba]{width:132px;height:132px}.ss-loading--large .ss-loading__glow[data-v-16ba25ba]{width:160px;height:160px}.ss-loading--large .ss-loading__logo-bg[data-v-16ba25ba]{width:64px;height:64px}.ss-loading--large .ss-loading__logo-text[data-v-16ba25ba]{font-size:38px}.ss-loading--large .ss-loading__animation[data-v-16ba25ba]{width:160px;height:160px}.ss-loading--large .ss-loading__text[data-v-16ba25ba]{font-size:16px;margin-bottom:16px}.ss-loading__animation[data-v-16ba25ba]{position:relative;display:flex;align-items:center;justify-content:center}.ss-loading__glow[data-v-16ba25ba]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(59,130,246,.12) 0%,rgba(96,165,250,.06) 40%,transparent 70%);animation:ss-glow-pulse-16ba25ba 2.5s ease-in-out infinite;pointer-events:none}@keyframes ss-glow-pulse-16ba25ba{0%,to{transform:translate(-50%,-50%) scale(.9);opacity:.6}50%{transform:translate(-50%,-50%) scale(1.15);opacity:1}}.ss-loading__ring[data-v-16ba25ba]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ss-loading__ring-svg[data-v-16ba25ba]{width:100%;height:100%}.ss-loading__ring--outer[data-v-16ba25ba]{animation:ss-ring-rotate-outer-16ba25ba 8s linear infinite}.ss-loading__ring-arc-outer[data-v-16ba25ba]{stroke:var(--ss-loading-accent, #60a5fa);opacity:.35}@keyframes ss-ring-rotate-outer-16ba25ba{to{transform:translate(-50%,-50%) rotate(-360deg)}}.ss-loading__ring--main[data-v-16ba25ba]{animation:ss-ring-rotate-16ba25ba 1.8s cubic-bezier(.4,0,.2,1) infinite}.ss-loading__ring-track[data-v-16ba25ba]{stroke:var(--ss-loading-track, rgba(59, 130, 246, .1))}.ss-loading__ring-arc[data-v-16ba25ba]{stroke:url(#ss-ring-gradient) var(--ss-loading-primary, #3b82f6);stroke-dasharray:180;stroke-dashoffset:40;animation:ss-ring-dash-16ba25ba 1.6s cubic-bezier(.4,0,.2,1) infinite;filter:drop-shadow(0 0 3px rgba(59,130,246,.5))}@keyframes ss-ring-rotate-16ba25ba{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes ss-ring-dash-16ba25ba{0%{stroke-dasharray:1,250;stroke-dashoffset:0}50%{stroke-dasharray:170,250;stroke-dashoffset:-30}to{stroke-dasharray:170,250;stroke-dashoffset:-250}}.ss-loading__logo[data-v-16ba25ba]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;z-index:1}.ss-loading__logo-bg[data-v-16ba25ba]{position:absolute;border-radius:50%;background:linear-gradient(135deg,#3b82f61f,#60a5fa0f);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:1px solid rgba(59,130,246,.15);box-shadow:inset 0 1px #ffffff1a,0 2px 8px #3b82f61a}.ss-loading__logo-text[data-v-16ba25ba]{position:relative;z-index:1;font-weight:900;font-family:Segoe UI,Helvetica Neue,Arial,sans-serif;letter-spacing:-1.5px;background:linear-gradient(160deg,var(--ss-loading-primary, #3b82f6) 0%,var(--ss-loading-accent, #60a5fa) 40%,#93c5fd 70%,var(--ss-loading-primary, #3b82f6) 100%);background-size:300% 300%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:ss-logo-pulse-16ba25ba 3s ease-in-out infinite}@keyframes ss-logo-pulse-16ba25ba{0%,to{opacity:.8;background-position:0% 50%;transform:scale(1)}50%{opacity:1;background-position:100% 50%;transform:scale(1.05)}}.ss-loading__text[data-v-16ba25ba]{display:flex;align-items:center;justify-content:center;gap:0;color:var(--text-secondary, #94a3b8);font-weight:400;letter-spacing:.5px;white-space:nowrap}.ss-loading__text-content[data-v-16ba25ba]{line-height:1}.ss-loading__dots[data-v-16ba25ba]{display:inline-flex;width:1.5em;overflow:hidden}.ss-loading__dot[data-v-16ba25ba]{animation:ss-dot-blink-16ba25ba 1.4s infinite both;font-weight:700;color:var(--ss-loading-primary, #3b82f6)}.ss-loading__dot[data-v-16ba25ba]:nth-child(2){animation-delay:.2s}.ss-loading__dot[data-v-16ba25ba]:nth-child(3){animation-delay:.4s}@keyframes ss-dot-blink-16ba25ba{0%,80%,to{opacity:0;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}.cron-input-wrap[data-v-23f260fa]{display:flex;flex-direction:column;gap:8px;width:100%}.cron-presets[data-v-23f260fa]{display:flex;flex-wrap:wrap;gap:4px}.preset-btn[data-v-23f260fa]{padding:3px 10px;font-size:12px;border:1px solid var(--border, #e2e8f0);background:var(--surface, #fff);color:var(--text, #1e293b);border-radius:4px;cursor:pointer;transition:all .15s ease}.preset-btn[data-v-23f260fa]:hover{border-color:var(--primary, #3b82f6);color:var(--primary, #3b82f6)}.preset-btn.active[data-v-23f260fa]{background:var(--primary, #3b82f6);color:#fff;border-color:var(--primary, #3b82f6)}.cron-input-row[data-v-23f260fa]{display:flex;align-items:center;gap:8px}.cron-text-input[data-v-23f260fa]{flex:1;padding:6px 10px;border:1px solid var(--border, #e2e8f0);border-radius:4px;background:var(--surface, #fff);color:var(--text, #1e293b);font-family:Consolas,Monaco,monospace;font-size:13px;outline:none}.cron-text-input[data-v-23f260fa]:focus{border-color:var(--primary, #3b82f6)}.cron-status[data-v-23f260fa]{font-size:14px;font-weight:700;flex-shrink:0}.cron-status.valid[data-v-23f260fa]{color:var(--status-success, #10b981)}.cron-status.invalid[data-v-23f260fa]{color:var(--danger, #ef4444)}.cron-fields[data-v-23f260fa]{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:6px 8px;background:var(--background, rgba(0, 0, 0, .02));border-radius:4px}.cron-field[data-v-23f260fa]{display:flex;flex-direction:column;align-items:center;gap:2px}.field-name[data-v-23f260fa]{font-size:11px;color:var(--text-secondary, #94a3b8)}.field-value[data-v-23f260fa]{font-size:12px;font-family:monospace;color:var(--text, #1e293b);font-weight:500}.cron-desc[data-v-23f260fa]{font-size:12px;color:var(--status-success, #10b981);padding:4px 8px;background:#10b98114;border-radius:4px}.cron-desc-warn[data-v-23f260fa]{color:var(--danger, #ef4444);background:#ef444414}.cron-next[data-v-23f260fa]{font-size:12px;color:var(--text-secondary, #64748b);padding:4px 8px;background:var(--background, rgba(0, 0, 0, .02));border-radius:4px}.dict-selector[data-v-86ad5d1e]{display:inline-block;position:relative}.dict-select[data-v-86ad5d1e]{width:100%;padding:6px 10px;font-size:14px;color:var(--text, #333);background:var(--surface, #fff);border:1px solid var(--border, #d9d9d9);border-radius:6px;outline:none;cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.dict-select[data-v-86ad5d1e]:focus{border-color:var(--primary, #3b82f6)}.dict-selector--disabled .dict-select[data-v-86ad5d1e]{cursor:not-allowed;opacity:.6}.dict-selector--loading .dict-select[data-v-86ad5d1e]{opacity:.7}.dict-select-clearable[data-v-86ad5d1e]{position:relative;display:flex;align-items:center}.dict-select-clearable .dict-select[data-v-86ad5d1e]{padding-right:28px}.dict-clear-btn[data-v-86ad5d1e]{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:none;background:transparent;color:var(--text-secondary, #999);cursor:pointer;font-size:16px;line-height:1;padding:2px 4px}.dict-clear-btn[data-v-86ad5d1e]:hover{color:var(--text, #333)}.dict-label[data-v-cb375424]{color:var(--text, inherit);font-size:inherit}.trp[data-v-e02ad5ce]{position:relative;display:inline-flex;flex-shrink:0}.trp-select[data-v-e02ad5ce]{padding:4px 24px 4px 8px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text);font-size:12px;outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 6px center;background-repeat:no-repeat;background-size:16px}.trp-select[data-v-e02ad5ce]:focus{border-color:var(--primary)}.trp-trigger[data-v-e02ad5ce]{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text);font-size:12px;cursor:pointer;white-space:nowrap;transition:border-color .15s;font-family:inherit;line-height:1.5}.trp-trigger[data-v-e02ad5ce]:hover,.trp-trigger--open[data-v-e02ad5ce]{border-color:var(--primary)}.trp-icon[data-v-e02ad5ce]{color:var(--text-secondary);flex-shrink:0}.trp-display[data-v-e02ad5ce]{color:var(--text);max-width:200px;overflow:hidden;text-overflow:ellipsis}.trp-display[data-v-e02ad5ce]:empty:before{content:attr(data-placeholder);color:var(--text-secondary)}.trp-arrow[data-v-e02ad5ce]{color:var(--text-secondary);flex-shrink:0;transition:transform .15s}.trp-arrow--open[data-v-e02ad5ce]{transform:rotate(180deg)}.trp-overlay[data-v-e02ad5ce]{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999}.trp-popover[data-v-e02ad5ce]{width:320px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 24px #0000001f;overflow:hidden;animation:trp-scale-in-e02ad5ce .15s ease}@keyframes trp-scale-in-e02ad5ce{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.trp-presets[data-v-e02ad5ce]{display:flex;flex-wrap:wrap;gap:4px;padding:10px 12px 6px;border-bottom:1px solid var(--border)}.trp-presets-title[data-v-e02ad5ce]{width:100%;font-size:11px;color:var(--text-secondary);font-weight:500;margin-bottom:4px}.trp-preset-btn[data-v-e02ad5ce]{padding:3px 10px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text-secondary);font-size:11px;cursor:pointer;transition:all .15s;font-family:inherit;line-height:1.5}.trp-preset-btn[data-v-e02ad5ce]:hover{border-color:var(--primary);color:var(--primary)}.trp-preset-btn--active[data-v-e02ad5ce]{border-color:var(--primary);background:var(--primary);color:#fff}.trp-body[data-v-e02ad5ce]{display:flex;align-items:center;gap:8px;padding:12px}.trp-field[data-v-e02ad5ce]{flex:1;display:flex;flex-direction:column;gap:4px}.trp-label[data-v-e02ad5ce]{font-size:11px;color:var(--text-secondary);font-weight:500}.trp-sep[data-v-e02ad5ce]{color:var(--text-secondary);font-size:13px;padding-top:18px;flex-shrink:0}.trp-input[data-v-e02ad5ce]{padding:5px 8px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text);font-size:12px;outline:none;font-family:inherit;width:100%;box-sizing:border-box}.trp-input[data-v-e02ad5ce]:focus{border-color:var(--primary)}.trp-input[data-v-e02ad5ce]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6}.trp-footer[data-v-e02ad5ce]{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-top:1px solid var(--border);gap:8px}.trp-footer-actions[data-v-e02ad5ce]{display:flex;gap:6px;margin-left:auto}.trp-clear-btn[data-v-e02ad5ce]{padding:4px 10px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .15s;font-family:inherit}.trp-clear-btn[data-v-e02ad5ce]:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.trp-clear-btn[data-v-e02ad5ce]:disabled{opacity:.4;cursor:not-allowed}.trp-cancel-btn[data-v-e02ad5ce]{padding:4px 12px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text);font-size:12px;cursor:pointer;transition:all .15s;font-family:inherit}.trp-cancel-btn[data-v-e02ad5ce]:hover{border-color:var(--primary);color:var(--primary)}.trp-apply-btn[data-v-e02ad5ce]{padding:4px 12px;border:1px solid var(--primary);border-radius:4px;background:var(--primary);color:#fff;font-size:12px;cursor:pointer;transition:opacity .15s;font-family:inherit}.trp-apply-btn[data-v-e02ad5ce]:hover{opacity:.85}.trp-select[data-v-e02ad5ce],.trp-trigger[data-v-e02ad5ce]{height:28px;box-sizing:border-box}.trp--sm .trp-trigger[data-v-e02ad5ce]{padding:3px 6px;font-size:11px}.trp--sm .trp-icon[data-v-e02ad5ce]{width:12px;height:12px}.trp--sm .trp-select[data-v-e02ad5ce]{padding:2px 20px 2px 6px;font-size:11px;background-size:14px}.trp--md .trp-select[data-v-e02ad5ce],.trp--md .trp-trigger[data-v-e02ad5ce]{height:32px}.smart-table-empty[data-v-d1ebbc5b]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 16px;color:var(--text-secondary)}.empty-icon[data-v-d1ebbc5b]{margin-bottom:12px}.empty-text[data-v-d1ebbc5b]{font-size:14px;margin:0}.retry-btn[data-v-d1ebbc5b]{margin-top:12px;padding:6px 16px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);cursor:pointer;font-size:13px}.retry-btn[data-v-d1ebbc5b]:hover{border-color:var(--primary);color:var(--primary)}.smart-table-core-wrapper[data-v-bd37c1e2]{flex:1;min-height:0}.smart-table-scroll[data-v-bd37c1e2]{overflow:auto;height:100%}.smart-table[data-v-bd37c1e2]{width:100%;border-collapse:collapse;font-size:13px}.smart-table thead[data-v-bd37c1e2]{position:sticky;top:0;z-index:2}.smart-table th[data-v-bd37c1e2]{padding:10px 12px;text-align:left;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);background:var(--surface);border-bottom:2px solid var(--border);white-space:nowrap}.smart-table td[data-v-bd37c1e2]{padding:10px 12px;border-bottom:1px solid var(--border);color:var(--text)}.data-row[data-v-bd37c1e2]{transition:background .12s}.data-row[data-v-bd37c1e2]:hover{background:var(--hover, rgba(255,255,255,.03))}.data-row.clickable[data-v-bd37c1e2]{cursor:pointer}.data-row.editing-row[data-v-bd37c1e2]{background:var(--hover, rgba(255,255,255,.04))}.th-title[data-v-bd37c1e2]{display:inline-flex;align-items:center}.sort-icon[data-v-bd37c1e2]{cursor:pointer;margin-left:4px;opacity:.5}.sort-icon[data-v-bd37c1e2]:hover{opacity:1}.col-fixed-left[data-v-bd37c1e2]{position:sticky;left:0;z-index:1;background:var(--surface)}.col-fixed-right[data-v-bd37c1e2]{position:sticky;right:0;z-index:1;background:var(--surface)}.status-badge[data-v-bd37c1e2]{display:inline-flex;align-items:center;padding:2px 10px;border-radius:10px;font-size:12px;font-weight:500}.status-online[data-v-bd37c1e2]{background:#22c55e1f;color:#6ee7b7}.status-offline[data-v-bd37c1e2]{background:#1e293b;color:#64748b}.status-error[data-v-bd37c1e2]{background:#ef44441f;color:#fca5a5}.status-active[data-v-bd37c1e2]{background:#22c55e1f;color:#6ee7b7}.status-inactive[data-v-bd37c1e2]{background:#1e293b;color:#64748b}.status-connecting[data-v-bd37c1e2]{background:#eab3081f;color:#fde047}.status-degraded[data-v-bd37c1e2]{background:#f59e0b1f;color:#fbbf24}.status-unregistered[data-v-bd37c1e2]{background:#1e293b;color:#64748b}.status-registered[data-v-bd37c1e2]{background:#3b82f61f;color:#93c5fd}.tree-toggle[data-v-bd37c1e2]{display:inline-flex;align-items:center;justify-content:center;width:16px;margin-right:4px;cursor:pointer;vertical-align:middle}.tree-toggle.is-leaf[data-v-bd37c1e2]{cursor:default}.tree-toggle-icon[data-v-bd37c1e2]{transition:transform .15s;color:var(--text-secondary)}.tree-toggle-icon.expanded[data-v-bd37c1e2]{transform:rotate(90deg)}.cell-editor[data-v-bd37c1e2]{width:100%;max-width:180px;padding:4px 8px;border:1px solid var(--primary, #3b82f6);border-radius:4px;background:var(--surface);color:var(--text);font-size:13px;box-sizing:border-box}.cell-editor[data-v-bd37c1e2]:focus{outline:none;border-color:var(--primary, #3b82f6);box-shadow:0 0 0 2px #3b82f626}.row-actions-cell[data-v-bd37c1e2]{white-space:nowrap;text-align:right}.row-action-btn[data-v-bd37c1e2]{padding:3px 10px;margin-left:4px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text);cursor:pointer;font-size:12px;transition:background .15s,border-color .15s,color .15s}.row-action-btn[data-v-bd37c1e2]:hover{border-color:var(--primary, #3b82f6)}.edit-btn[data-v-bd37c1e2]{color:var(--primary, #3b82f6)}.save-btn[data-v-bd37c1e2]{background:var(--primary, #3b82f6);color:var(--surface, #fff);border-color:var(--primary, #3b82f6)}.save-btn[data-v-bd37c1e2]:hover{opacity:.9}.cancel-btn[data-v-bd37c1e2]:hover{color:var(--danger, #ef4444);border-color:var(--danger, #ef4444)}.virtual-spacer-row[data-v-bd37c1e2]{background:transparent}.smart-table-loading[data-v-f0a4d189]{padding:0}.skeleton-row[data-v-f0a4d189]{display:flex;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border)}.skeleton-cell[data-v-f0a4d189]{height:14px;background:linear-gradient(90deg,var(--border) 25%,transparent 50%,var(--border) 75%);background-size:200% 100%;animation:skeleton-pulse-f0a4d189 1.5s ease-in-out infinite;border-radius:4px}@keyframes skeleton-pulse-f0a4d189{0%{background-position:200% 0}to{background-position:-200% 0}}.smart-table-pagination[data-v-f2f9eef6]{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-top:1px solid var(--border);flex-wrap:wrap;gap:8px;flex-shrink:0}.pagination-info[data-v-f2f9eef6]{font-size:12px;color:var(--text-secondary)}.pagination-controls[data-v-f2f9eef6]{display:flex;align-items:center;gap:8px}.page-btn[data-v-f2f9eef6]{width:28px;height:28px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px}.page-btn[data-v-f2f9eef6]:disabled{opacity:.4;cursor:default}.page-btn[data-v-f2f9eef6]:not(:disabled):hover{border-color:var(--primary)}.page-indicator[data-v-f2f9eef6]{font-size:12px;color:var(--text);min-width:60px;text-align:center}.page-input[data-v-f2f9eef6]{width:48px;height:28px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text);text-align:center;font-size:12px}.page-size-select[data-v-f2f9eef6]{height:28px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text);font-size:12px;padding:0 4px}.smart-table-col-toggle-wrapper[data-v-3d0654cc]{position:relative}.toolbar-btn[data-v-3d0654cc]{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text);cursor:pointer;font-size:12px}.toolbar-btn[data-v-3d0654cc]:hover{border-color:var(--primary)}.dropdown-panel[data-v-3d0654cc]{position:absolute;top:100%;right:0;margin-top:4px;background:var(--surface);border:1px solid var(--border);border-radius:6px;min-width:180px;max-height:320px;overflow-y:auto;z-index:100;box-shadow:0 4px 12px #00000040}.col-item[data-v-3d0654cc]{display:flex;align-items:center;gap:8px;padding:7px 12px;cursor:pointer;font-size:13px;color:var(--text);transition:background .15s}.col-item[data-v-3d0654cc]:hover{background:var(--border)}.col-item.hidden[data-v-3d0654cc]{color:var(--text-secondary)}.col-check[data-v-3d0654cc]{width:16px;height:16px;display:flex;align-items:center;justify-content:center;color:var(--primary)}.dropdown-footer[data-v-3d0654cc]{border-top:1px solid var(--border);padding:6px 12px}.reset-btn[data-v-3d0654cc]{width:100%;padding:4px 0;border:none;background:none;color:var(--primary);cursor:pointer;font-size:12px}.reset-btn[data-v-3d0654cc]:hover{text-decoration:underline}.backdrop[data-v-3d0654cc]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.smart-table-export-wrapper[data-v-eefacf1a]{position:relative}.toolbar-btn[data-v-eefacf1a]{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text);cursor:pointer;font-size:12px}.toolbar-btn[data-v-eefacf1a]:disabled{opacity:.4;cursor:default}.toolbar-btn[data-v-eefacf1a]:not(:disabled):hover{border-color:var(--primary)}.dropdown-panel[data-v-eefacf1a]{position:absolute;top:100%;right:0;margin-top:4px;background:var(--surface);border:1px solid var(--border);border-radius:6px;min-width:200px;z-index:100;box-shadow:0 4px 12px #00000040}.export-item[data-v-eefacf1a]{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;font-size:13px;color:var(--text);transition:background .15s}.export-item[data-v-eefacf1a]:hover{background:var(--border)}.export-icon[data-v-eefacf1a]{font-size:15px}.backdrop[data-v-eefacf1a]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.smart-table-root[data-v-c0cbac1a]{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface)}.smart-table-toolbar[data-v-c0cbac1a]{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;border-bottom:1px solid var(--border);gap:8px;flex-shrink:0}.toolbar-left[data-v-c0cbac1a],.toolbar-right[data-v-c0cbac1a]{display:flex;align-items:center;gap:8px}.smart-table-toolbar-btn[data-v-c0cbac1a]{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text-secondary);cursor:pointer;font-size:12px;transition:background .15s,border-color .15s}.smart-table-toolbar-btn[data-v-c0cbac1a]:hover{background:var(--hover);border-color:var(--primary);color:var(--primary)}.smart-table-toolbar-btn[data-v-c0cbac1a]:disabled{opacity:.5;cursor:not-allowed}.smart-table-toolbar-btn .spinning[data-v-c0cbac1a]{animation:smart-table-spin-c0cbac1a 1s linear infinite}@keyframes smart-table-spin-c0cbac1a{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.chart-data-source-editor[data-v-aaaa1069]{display:flex;flex-direction:column;gap:8px;padding:8px 0}.cds-field[data-v-aaaa1069]{display:flex;flex-direction:column;gap:3px;font-size:12px}.cds-label[data-v-aaaa1069]{color:var(--text-secondary, #666666);font-size:11px}.cds-field input[data-v-aaaa1069],.cds-field select[data-v-aaaa1069],.cds-field textarea[data-v-aaaa1069]{width:100%;padding:4px 6px;box-sizing:border-box;font-size:12px;border:1px solid var(--border, #dddddd);border-radius:4px;background:var(--surface, #ffffff);color:var(--text, #333333)}.cds-field textarea[data-v-aaaa1069]{font-family:Consolas,Monaco,monospace;resize:vertical}.cds-error[data-v-aaaa1069]{margin:0;font-size:11px;color:var(--status-error, #d03050)}.cds-hint[data-v-aaaa1069]{margin:0;font-size:12px;color:var(--text-tertiary, #999999)}.tag-variable-selector-overlay[data-v-93f2c523]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;display:flex;align-items:center;justify-content:center;background:#0006}.tag-variable-selector-dialog[data-v-93f2c523]{width:460px;max-width:90vw;max-height:70vh;display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:6px;background:var(--surface, #ffffff);color:var(--text);box-shadow:0 8px 24px #0003}.dialog-header[data-v-93f2c523]{display:flex;align-items:center;justify-content:space-between}.dialog-title[data-v-93f2c523]{font-size:14px;font-weight:600;color:var(--text)}.dialog-close[data-v-93f2c523]{width:24px;height:24px;line-height:1;border:none;border-radius:4px;background:transparent;color:var(--text-secondary, #666666);cursor:pointer;font-size:18px}.dialog-close[data-v-93f2c523]:hover{background:var(--background, #f5f5f5);color:var(--text)}.search-input[data-v-93f2c523]{width:100%;padding:6px 8px;font-size:13px;border:1px solid var(--border, #dddddd);border-radius:4px;background:var(--surface, #ffffff);color:var(--text);box-sizing:border-box}.status-hint[data-v-93f2c523]{padding:24px 0;text-align:center;font-size:13px;color:var(--text-tertiary, #999999)}.device-list[data-v-93f2c523]{overflow-y:auto;display:flex;flex-direction:column;gap:6px}.device-group[data-v-93f2c523]{border:1px solid var(--border, #dddddd);border-radius:4px;padding:6px}.device-header[data-v-93f2c523]{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.device-label[data-v-93f2c523]{font-size:13px;font-weight:600;color:var(--text)}.device-tag-count[data-v-93f2c523]{font-size:11px;color:var(--text-tertiary, #999999)}.tag-empty[data-v-93f2c523]{padding:8px 0;text-align:center;font-size:12px;color:var(--text-tertiary, #999999)}.tag-item[data-v-93f2c523]{display:flex;align-items:center;justify-content:space-between;width:100%;padding:6px 8px;margin-bottom:4px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--text);cursor:pointer;text-align:left;font-size:13px}.tag-item[data-v-93f2c523]:hover{background:var(--background, #f5f5f5);border-color:var(--border, #dddddd)}.tag-name[data-v-93f2c523]{color:var(--text)}.tag-value[data-v-93f2c523]{font-size:12px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.tag-binding-editor[data-v-5b6530eb]{display:flex;flex-direction:column}.bind-section[data-v-5b6530eb]{padding:8px 0;border-bottom:1px solid var(--border, #dddddd)}.section-title[data-v-5b6530eb]{margin-bottom:6px;font-size:11px;font-weight:600;color:var(--text-secondary, #666666);text-transform:uppercase;letter-spacing:.5px}.bind-row[data-v-5b6530eb]{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.bind-value[data-v-5b6530eb]{flex:1;min-width:0;font-size:13px;color:var(--text, #333333);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.live-value[data-v-5b6530eb]{flex-shrink:0;padding:2px 8px;font-size:12px;color:var(--text-secondary, #666666);background:var(--background, #f5f5f5);border:1px solid var(--border, #dddddd);border-radius:4px;white-space:nowrap}.bind-empty[data-v-5b6530eb]{padding:6px 0;font-size:12px;color:var(--text-tertiary, #999999)}.bind-item[data-v-5b6530eb]{display:flex;align-items:center;gap:6px;padding:4px 0}.bind-dot[data-v-5b6530eb]{width:10px;height:10px;border-radius:50%;flex-shrink:0}.bind-label[data-v-5b6530eb]{flex:1;min-width:0;font-size:13px;color:var(--text, #333333);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bind-btn[data-v-5b6530eb]{padding:4px 10px;font-size:12px;border:1px solid var(--border, #dddddd);border-radius:4px;background:var(--surface, #ffffff);color:var(--text, #333333);cursor:pointer}.bind-btn[data-v-5b6530eb]:hover{background:var(--background, #f5f5f5)}.bind-btn--clear[data-v-5b6530eb]{color:var(--status-error, #d03050)}.bind-btn--clear[data-v-5b6530eb]:hover{border-color:var(--status-error, #d03050)}.bind-remove[data-v-5b6530eb]{width:20px;height:20px;line-height:1;border:none;border-radius:4px;background:transparent;color:var(--text-secondary, #666666);cursor:pointer;font-size:16px}.bind-remove[data-v-5b6530eb]:hover{background:var(--background, #f5f5f5);color:var(--status-error, #d03050)}.bind-add[data-v-5b6530eb]{margin-top:6px;padding:5px 12px;font-size:12px;border:1px solid var(--border, #dddddd);border-radius:4px;background:var(--surface, #ffffff);color:var(--text, #333333);cursor:pointer}.bind-add[data-v-5b6530eb]:hover{background:var(--background, #f5f5f5)}.plugin-config-panel[data-v-a4314525]{--pc-text: var(--text);--pc-label: var(--text-secondary);--pc-border: var(--border);--pc-input-bg: var(--surface);--pc-accent: var(--primary);--pc-section-title: var(--primary);--pc-item-hover: var(--primary-hover-bg, rgba(24, 144, 255, .06));--pc-warning: var(--status-warning, #faad14);--pc-warning-bg: var(--warning-bg, rgba(250, 173, 20, .1));--pc-danger: var(--status-error, #ff4d4f);--pc-danger-hover: var(--danger-hover-bg, rgba(255, 77, 79, .1));--pc-radius: 4px;--pc-padding: 8px;--pc-gap: 8px;--pc-label-width: 70px;--pc-font-size: 12px;--pc-transition: .2s ease;padding:var(--pc-padding);font-size:var(--pc-font-size);color:var(--pc-text)}.plugin-config-panel .config-section[data-v-a4314525]{margin-bottom:16px}.plugin-config-panel .config-section[data-v-a4314525]:last-child{margin-bottom:0}.plugin-config-panel .config-section-title[data-v-a4314525]{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin:0 0 10px;padding:0 0 6px;font-size:12px;font-weight:600;line-height:1.4;letter-spacing:.5px;text-align:left;color:var(--pc-section-title);background:transparent;border:none;border-bottom:1px solid var(--pc-border);cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--pc-transition)}.plugin-config-panel .config-section-title[data-v-a4314525]:hover{color:var(--text)}.plugin-config-panel .config-panel-name[data-v-a4314525]{font-size:13px;font-weight:600;line-height:1.4;color:var(--pc-section-title);margin:0 0 10px;padding:0 0 6px;border-bottom:1px solid var(--pc-border)}.plugin-config-panel .config-section-label[data-v-a4314525]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plugin-config-panel .config-collapse-icon[data-v-a4314525]{display:inline-block;width:0;height:0;border-left:5px solid var(--text-secondary);border-top:4px solid transparent;border-bottom:4px solid transparent;transition:transform .2s ease,opacity .15s ease;margin-left:6px;flex-shrink:0;font-size:0;opacity:.6}.plugin-config-panel .config-collapse-icon.expanded[data-v-a4314525]{transform:rotate(90deg)}.plugin-config-panel .config-section-body[data-v-a4314525]{overflow:hidden;padding-top:2px}.plugin-config-panel .config-row[data-v-a4314525]{display:flex;align-items:center;margin-bottom:var(--pc-gap);gap:var(--pc-gap)}.plugin-config-panel .config-row[data-v-a4314525]:last-child{margin-bottom:0}.plugin-config-panel .config-label[data-v-a4314525]{min-width:var(--pc-label-width);width:auto;font-size:var(--pc-font-size);color:var(--pc-label);flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plugin-config-panel .config-control[data-v-a4314525]{flex:1;min-width:0}.plugin-config-panel .config-input[data-v-a4314525],.plugin-config-panel .config-select[data-v-a4314525]{flex:1;min-width:0;height:30px;padding:5px 8px;background:var(--pc-input-bg);border:1px solid var(--pc-border);color:var(--pc-text);border-radius:var(--pc-radius);font-size:13px;transition:border-color var(--pc-transition),box-shadow var(--pc-transition)}.plugin-config-panel .config-input[data-v-a4314525]:hover,.plugin-config-panel .config-select[data-v-a4314525]:hover{border-color:var(--border-light)}.plugin-config-panel .config-input[data-v-a4314525]:focus,.plugin-config-panel .config-select[data-v-a4314525]:focus{outline:none;border-color:var(--pc-accent);box-shadow:0 0 0 2px var(--border-focus, transparent)}.plugin-config-panel .config-select[data-v-a4314525]{padding-right:24px;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 6px center;background-repeat:no-repeat;background-size:16px}.plugin-config-panel .config-checkbox[data-v-a4314525]{width:14px;height:14px;flex:none;accent-color:var(--pc-accent);cursor:pointer}.plugin-config-panel .config-input[type=range][data-v-a4314525],.plugin-config-panel .config-control[type=range][data-v-a4314525]{padding:0;height:auto;accent-color:var(--pc-accent);cursor:pointer}.plugin-config-panel .config-textarea[data-v-a4314525]{flex:1;min-width:0;padding:5px 8px;background:var(--pc-input-bg);border:1px solid var(--pc-border);color:var(--pc-text);border-radius:var(--pc-radius);font-size:13px;resize:vertical;min-height:48px;transition:border-color var(--pc-transition),box-shadow var(--pc-transition)}.plugin-config-panel .config-textarea[data-v-a4314525]:focus{outline:none;border-color:var(--pc-accent);box-shadow:0 0 0 2px var(--border-focus, transparent)}.plugin-config-panel .config-range-value[data-v-a4314525]{font-size:11px;color:var(--pc-accent);min-width:32px;text-align:right;flex-shrink:0}.plugin-config-panel .config-readonly[data-v-a4314525]{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plugin-config-panel .config-color-picker-wrapper[data-v-a4314525]{flex:1;min-width:0}.plugin-config-panel .config-color-array[data-v-a4314525]{display:flex;flex-wrap:wrap;gap:4px;flex:1;min-width:0}.plugin-config-panel .config-color-array-item[data-v-a4314525]{display:flex;align-items:center;gap:2px;flex:1;min-width:72px}.plugin-config-panel .config-color-array-index[data-v-a4314525]{font-size:11px;line-height:1;color:var(--text-secondary);flex-shrink:0}.plugin-config-panel .config-image-picker-inline[data-v-a4314525]{flex:1;min-width:0;display:flex;align-items:center;gap:4px}.plugin-config-panel .image-thumb[data-v-a4314525]{width:28px;height:28px;min-width:28px;border:1px solid var(--pc-border);border-radius:var(--pc-radius);overflow:hidden;cursor:pointer;display:flex;align-items:center;justify-content:center;background:var(--pc-input-bg);transition:border-color var(--pc-transition);position:relative}.plugin-config-panel .image-thumb[data-v-a4314525]:hover{border-color:var(--pc-accent)}.plugin-config-panel .image-thumb--has-image[data-v-a4314525]{padding:0}.plugin-config-panel .image-thumb-img[data-v-a4314525]{width:100%;height:100%;object-fit:cover}.plugin-config-panel .image-thumb-icon[data-v-a4314525]{font-size:14px;line-height:1}.plugin-config-panel .image-hidden-input[data-v-a4314525]{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.plugin-config-panel .image-select-btn[data-v-a4314525]{height:28px;min-width:0;padding:0 10px;font-size:11px;white-space:nowrap;border:1px solid var(--pc-accent);border-radius:var(--pc-radius);background:transparent;color:var(--pc-accent);cursor:pointer;transition:all var(--pc-transition);flex-shrink:0}.plugin-config-panel .image-select-btn[data-v-a4314525]:hover{background:var(--pc-accent);color:var(--surface)}.plugin-config-panel .image-url-inline-input[data-v-a4314525]{min-width:60px}.plugin-config-panel .image-clear-btn-inline[data-v-a4314525]{width:22px;height:22px;display:flex;align-items:center;justify-content:center;border:1px solid var(--pc-border);border-radius:var(--pc-radius);background:var(--pc-input-bg);color:var(--pc-label);font-size:11px;cursor:pointer;flex-shrink:0;transition:all var(--pc-transition)}.plugin-config-panel .image-clear-btn-inline[data-v-a4314525]:hover{border-color:var(--status-error);color:var(--status-error);background:var(--control-button-hover)}.plugin-config-panel .config-follow-hint[data-v-a4314525]{display:flex;align-items:center;gap:8px;margin-top:4px;width:100%}.plugin-config-panel .config-follow-hint-text[data-v-a4314525]{flex:1;font-size:11px;color:var(--status-warning);line-height:1.4}.plugin-config-panel .config-follow-restore[data-v-a4314525]{padding:2px 8px;font-size:11px;border:1px solid var(--pc-border);border-radius:var(--pc-radius);background:var(--pc-input-bg);color:var(--primary);cursor:pointer;flex-shrink:0;transition:all var(--pc-transition)}.plugin-config-panel .config-follow-restore[data-v-a4314525]:hover{border-color:var(--primary);background:var(--control-button-hover)}.sme-header[data-v-a4314525]{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--pc-border, #d9d9d9)}.sme-title[data-v-a4314525]{font-size:12px;font-weight:600;line-height:1.4;letter-spacing:.5px;color:var(--pc-section-title)}.sme-title-wrap[data-v-a4314525]{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap}.sme-live-value[data-v-a4314525]{padding:1px 6px;font-size:11px;color:var(--pc-accent, #1890ff);background:var(--pc-item-hover, rgba(24, 144, 255, .06));border:1px solid var(--pc-accent, #1890ff);border-radius:var(--pc-radius, 4px);white-space:nowrap}.sme-bound-info[data-v-a4314525]{display:flex;flex-direction:column;gap:2px;font-size:11px;line-height:1.4}.sme-bound-row[data-v-a4314525]{display:flex;align-items:center;gap:4px;flex-wrap:wrap;min-width:0}.sme-bound-label[data-v-a4314525]{flex:none;color:var(--pc-label);white-space:nowrap}.sme-bound-value[data-v-a4314525]{flex:1;min-width:0;color:var(--pc-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sme-bound-row .sme-live-value[data-v-a4314525]{margin-left:auto}.sme-tip[data-v-a4314525]{margin:0 0 8px;color:var(--pc-label)}.sme-entry[data-v-a4314525]{display:flex;flex-direction:column;gap:6px;margin-bottom:8px;padding:8px;border:1px solid var(--pc-border);border-radius:var(--pc-radius)}.sme-table-wrap[data-v-a4314525]{max-width:100%}.sme-table[data-v-a4314525]{width:100%;min-width:0;table-layout:fixed;border-collapse:collapse}.sme-table th[data-v-a4314525],.sme-table td[data-v-a4314525]{padding:2px 3px;border:1px solid var(--pc-border);font-weight:400;text-align:left;white-space:nowrap;vertical-align:middle}.sme-table th[data-v-a4314525]{font-size:11px;color:var(--pc-label)}.sme-col-state[data-v-a4314525]{width:40px}.sme-col-value[data-v-a4314525]{width:56px}.sme-col-blink[data-v-a4314525]{width:122px}.sme-col-action[data-v-a4314525]{width:28px}.sme-blink-cell[data-v-a4314525]{display:flex;align-items:center;gap:4px}.sme-inline[data-v-a4314525]{display:inline-flex;align-items:center;min-width:0}.sme-inline.sme-number[data-v-a4314525]{width:56px;flex:none}.sme-input[data-v-a4314525]{box-sizing:border-box;height:26px;width:90px;min-width:0;padding:3px 6px;background:var(--pc-input-bg);border:1px solid var(--pc-border);border-radius:var(--pc-radius);color:var(--pc-text);font-size:12px;transition:border-color var(--pc-transition),box-shadow var(--pc-transition)}.sme-input[data-v-a4314525]:focus{outline:none;border-color:var(--pc-accent);box-shadow:0 0 0 2px var(--border-focus, transparent)}.sme-input-block[data-v-a4314525]{width:100%}select.sme-input[data-v-a4314525]{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:24px;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 6px center;background-repeat:no-repeat;background-size:16px}.sme-input-key[data-v-a4314525]{width:3ch;padding:0 2px;text-align:center;color:var(--pc-label);background:var(--pc-input-bg);overflow:hidden;text-overflow:ellipsis}.sme-number[data-v-a4314525]{width:56px;flex:none;min-width:0}.sme-number[data-v-a4314525] .number-field .number-field-input{padding:0 2px;text-align:center}.sme-color-picker[data-v-a4314525]{width:38px;flex:none}.sme-color-picker[data-v-a4314525] .color-picker .color-preview{width:22px}.sme-color-picker[data-v-a4314525] .color-picker .color-value-text{display:none}.sme-color-picker[data-v-a4314525] .color-picker .color-picker-button{padding:0 2px;font-size:10px}.sme-btn[data-v-a4314525]{height:26px;padding:0 10px;font-size:11px;white-space:nowrap;border:1px solid var(--pc-accent);border-radius:var(--pc-radius);background:transparent;color:var(--pc-accent);cursor:pointer;flex-shrink:0;transition:all var(--pc-transition)}.sme-btn[data-v-a4314525]:hover{background:var(--pc-accent);color:var(--surface)}.sme-btn-danger[data-v-a4314525]{border-color:var(--pc-border);color:var(--status-error, #e74c3c)}.sme-btn-danger[data-v-a4314525]:hover{border-color:var(--status-error, #e74c3c);background:var(--status-error, #e74c3c);color:var(--surface)}.sme-btn-icon[data-v-a4314525]{width:22px;height:22px;padding:0;display:inline-flex;align-items:center;justify-content:center}.sme-entry-remove[data-v-a4314525]{margin-left:auto;font-size:16px;line-height:1}.sme-textarea[data-v-a4314525]{font-family:monospace;min-height:40px}.sme-footer[data-v-a4314525]{display:flex;gap:8px;margin-top:4px}.plugin-config-panel[data-v-5ea1aa14]{--pc-text: var(--text);--pc-label: var(--text-secondary);--pc-border: var(--border);--pc-input-bg: var(--surface);--pc-accent: var(--primary);--pc-section-title: var(--primary);--pc-item-hover: var(--primary-hover-bg, rgba(24, 144, 255, .06));--pc-warning: var(--status-warning, #faad14);--pc-warning-bg: var(--warning-bg, rgba(250, 173, 20, .1));--pc-danger: var(--status-error, #ff4d4f);--pc-danger-hover: var(--danger-hover-bg, rgba(255, 77, 79, .1));--pc-radius: 4px;--pc-padding: 8px;--pc-gap: 8px;--pc-label-width: 70px;--pc-font-size: 12px;--pc-transition: .2s ease;padding:var(--pc-padding);font-size:var(--pc-font-size);color:var(--pc-text)}.plugin-config-panel .config-section[data-v-5ea1aa14]{margin-bottom:16px}.plugin-config-panel .config-section[data-v-5ea1aa14]:last-child{margin-bottom:0}.plugin-config-panel .config-section-title[data-v-5ea1aa14]{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin:0 0 10px;padding:0 0 6px;font-size:12px;font-weight:600;line-height:1.4;letter-spacing:.5px;text-align:left;color:var(--pc-section-title);background:transparent;border:none;border-bottom:1px solid var(--pc-border);cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--pc-transition)}.plugin-config-panel .config-section-title[data-v-5ea1aa14]:hover{color:var(--text)}.plugin-config-panel .config-panel-name[data-v-5ea1aa14]{font-size:13px;font-weight:600;line-height:1.4;color:var(--pc-section-title);margin:0 0 10px;padding:0 0 6px;border-bottom:1px solid var(--pc-border)}.plugin-config-panel .config-section-label[data-v-5ea1aa14]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plugin-config-panel .config-collapse-icon[data-v-5ea1aa14]{display:inline-block;width:0;height:0;border-left:5px solid var(--text-secondary);border-top:4px solid transparent;border-bottom:4px solid transparent;transition:transform .2s ease,opacity .15s ease;margin-left:6px;flex-shrink:0;font-size:0;opacity:.6}.plugin-config-panel .config-collapse-icon.expanded[data-v-5ea1aa14]{transform:rotate(90deg)}.plugin-config-panel .config-section-body[data-v-5ea1aa14]{overflow:hidden;padding-top:2px}.plugin-config-panel .config-row[data-v-5ea1aa14]{display:flex;align-items:center;margin-bottom:var(--pc-gap);gap:var(--pc-gap)}.plugin-config-panel .config-row[data-v-5ea1aa14]:last-child{margin-bottom:0}.plugin-config-panel .config-label[data-v-5ea1aa14]{min-width:var(--pc-label-width);width:auto;font-size:var(--pc-font-size);color:var(--pc-label);flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plugin-config-panel .config-control[data-v-5ea1aa14]{flex:1;min-width:0}.plugin-config-panel .config-input[data-v-5ea1aa14],.plugin-config-panel .config-select[data-v-5ea1aa14]{flex:1;min-width:0;height:30px;padding:5px 8px;background:var(--pc-input-bg);border:1px solid var(--pc-border);color:var(--pc-text);border-radius:var(--pc-radius);font-size:13px;transition:border-color var(--pc-transition),box-shadow var(--pc-transition)}.plugin-config-panel .config-input[data-v-5ea1aa14]:hover,.plugin-config-panel .config-select[data-v-5ea1aa14]:hover{border-color:var(--border-light)}.plugin-config-panel .config-input[data-v-5ea1aa14]:focus,.plugin-config-panel .config-select[data-v-5ea1aa14]:focus{outline:none;border-color:var(--pc-accent);box-shadow:0 0 0 2px var(--border-focus, transparent)}.plugin-config-panel .config-select[data-v-5ea1aa14]{padding-right:24px;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 6px center;background-repeat:no-repeat;background-size:16px}.plugin-config-panel .config-checkbox[data-v-5ea1aa14]{width:14px;height:14px;flex:none;accent-color:var(--pc-accent);cursor:pointer}.plugin-config-panel .config-input[type=range][data-v-5ea1aa14],.plugin-config-panel .config-control[type=range][data-v-5ea1aa14]{padding:0;height:auto;accent-color:var(--pc-accent);cursor:pointer}.plugin-config-panel .config-textarea[data-v-5ea1aa14]{flex:1;min-width:0;padding:5px 8px;background:var(--pc-input-bg);border:1px solid var(--pc-border);color:var(--pc-text);border-radius:var(--pc-radius);font-size:13px;resize:vertical;min-height:48px;transition:border-color var(--pc-transition),box-shadow var(--pc-transition)}.plugin-config-panel .config-textarea[data-v-5ea1aa14]:focus{outline:none;border-color:var(--pc-accent);box-shadow:0 0 0 2px var(--border-focus, transparent)}.plugin-config-panel .config-range-value[data-v-5ea1aa14]{font-size:11px;color:var(--pc-accent);min-width:32px;text-align:right;flex-shrink:0}.plugin-config-panel .config-readonly[data-v-5ea1aa14]{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plugin-config-panel .config-color-picker-wrapper[data-v-5ea1aa14]{flex:1;min-width:0}.plugin-config-panel .config-color-array[data-v-5ea1aa14]{display:flex;flex-wrap:wrap;gap:4px;flex:1;min-width:0}.plugin-config-panel .config-color-array-item[data-v-5ea1aa14]{display:flex;align-items:center;gap:2px;flex:1;min-width:72px}.plugin-config-panel .config-color-array-index[data-v-5ea1aa14]{font-size:11px;line-height:1;color:var(--text-secondary);flex-shrink:0}.plugin-config-panel .config-image-picker-inline[data-v-5ea1aa14]{flex:1;min-width:0;display:flex;align-items:center;gap:4px}.plugin-config-panel .image-thumb[data-v-5ea1aa14]{width:28px;height:28px;min-width:28px;border:1px solid var(--pc-border);border-radius:var(--pc-radius);overflow:hidden;cursor:pointer;display:flex;align-items:center;justify-content:center;background:var(--pc-input-bg);transition:border-color var(--pc-transition);position:relative}.plugin-config-panel .image-thumb[data-v-5ea1aa14]:hover{border-color:var(--pc-accent)}.plugin-config-panel .image-thumb--has-image[data-v-5ea1aa14]{padding:0}.plugin-config-panel .image-thumb-img[data-v-5ea1aa14]{width:100%;height:100%;object-fit:cover}.plugin-config-panel .image-thumb-icon[data-v-5ea1aa14]{font-size:14px;line-height:1}.plugin-config-panel .image-hidden-input[data-v-5ea1aa14]{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.plugin-config-panel .image-select-btn[data-v-5ea1aa14]{height:28px;min-width:0;padding:0 10px;font-size:11px;white-space:nowrap;border:1px solid var(--pc-accent);border-radius:var(--pc-radius);background:transparent;color:var(--pc-accent);cursor:pointer;transition:all var(--pc-transition);flex-shrink:0}.plugin-config-panel .image-select-btn[data-v-5ea1aa14]:hover{background:var(--pc-accent);color:var(--surface)}.plugin-config-panel .image-url-inline-input[data-v-5ea1aa14]{min-width:60px}.plugin-config-panel .image-clear-btn-inline[data-v-5ea1aa14]{width:22px;height:22px;display:flex;align-items:center;justify-content:center;border:1px solid var(--pc-border);border-radius:var(--pc-radius);background:var(--pc-input-bg);color:var(--pc-label);font-size:11px;cursor:pointer;flex-shrink:0;transition:all var(--pc-transition)}.plugin-config-panel .image-clear-btn-inline[data-v-5ea1aa14]:hover{border-color:var(--status-error);color:var(--status-error);background:var(--control-button-hover)}.plugin-config-panel .config-follow-hint[data-v-5ea1aa14]{display:flex;align-items:center;gap:8px;margin-top:4px;width:100%}.plugin-config-panel .config-follow-hint-text[data-v-5ea1aa14]{flex:1;font-size:11px;color:var(--status-warning);line-height:1.4}.plugin-config-panel .config-follow-restore[data-v-5ea1aa14]{padding:2px 8px;font-size:11px;border:1px solid var(--pc-border);border-radius:var(--pc-radius);background:var(--pc-input-bg);color:var(--primary);cursor:pointer;flex-shrink:0;transition:all var(--pc-transition)}.plugin-config-panel .config-follow-restore[data-v-5ea1aa14]:hover{border-color:var(--primary);background:var(--control-button-hover)}.vme-tip[data-v-5ea1aa14]{margin:0 0 6px;font-size:11px;color:var(--pc-label)}.sme-entry[data-v-5ea1aa14]{padding:var(--pc-padding);margin-bottom:var(--pc-gap);border-radius:var(--pc-radius);border:1px solid var(--pc-border);background:var(--pc-input-bg, transparent)}.sme-btn[data-v-5ea1aa14]{display:inline-flex;align-items:center;justify-content:center;gap:2px;height:26px;padding:0 10px;border:1px solid var(--pc-accent);border-radius:var(--pc-radius);background:transparent;color:var(--pc-accent);font-size:12px;line-height:1;white-space:nowrap;cursor:pointer;transition:background var(--pc-transition),color var(--pc-transition),border-color var(--pc-transition)}.sme-btn[data-v-5ea1aa14]:hover{background:var(--pc-accent);color:var(--surface)}.sme-btn[data-v-5ea1aa14]:disabled{opacity:.4;cursor:not-allowed;border-color:var(--pc-border);color:var(--pc-label)}.sme-btn-danger[data-v-5ea1aa14]{--btn-fg: var(--status-error, #ff4d4f);--btn-border: var(--status-error, #ff4d4f);border-color:var(--btn-border);color:var(--btn-fg)}.sme-btn-danger[data-v-5ea1aa14]:hover{background:var(--btn-fg);color:#fff}.sme-btn-icon[data-v-5ea1aa14]{width:22px;min-width:22px;height:22px;padding:0;font-size:14px;line-height:1}.sme-table-wrap[data-v-5ea1aa14]{overflow-x:auto;margin-bottom:var(--pc-gap)}.sme-table[data-v-5ea1aa14]{width:100%;max-width:368px;table-layout:fixed;border-collapse:collapse;font-size:var(--pc-font-size)}.sme-table th[data-v-5ea1aa14],.sme-table td[data-v-5ea1aa14]{padding:3px 4px;text-align:left;vertical-align:middle;border:1px solid var(--pc-border);overflow:hidden}.sme-table td .sme-number[data-v-5ea1aa14],.sme-table td .config-control[data-v-5ea1aa14]{width:100%;max-width:100%;box-sizing:border-box}.sme-table th[data-v-5ea1aa14]{font-weight:600;color:var(--pc-label);background:var(--surface)}.sme-col-action[data-v-5ea1aa14]{width:28px}.vme-col-num[data-v-5ea1aa14]{width:76px}.vme-col-color[data-v-5ea1aa14]{width:44px}.vme-col-blink[data-v-5ea1aa14]{width:144px}.sme-inline[data-v-5ea1aa14]{display:inline-flex;align-items:center;gap:4px;vertical-align:middle}.sme-footer[data-v-5ea1aa14]{display:flex;align-items:center;gap:var(--pc-gap);padding-top:4px}.plugin-config-panel[data-v-8fe42245]{--pc-text: var(--text);--pc-label: var(--text-secondary);--pc-border: var(--border);--pc-input-bg: var(--surface);--pc-accent: var(--primary);--pc-section-title: var(--primary);--pc-item-hover: var(--primary-hover-bg, rgba(24, 144, 255, .06));--pc-warning: var(--status-warning, #faad14);--pc-warning-bg: var(--warning-bg, rgba(250, 173, 20, .1));--pc-danger: var(--status-error, #ff4d4f);--pc-danger-hover: var(--danger-hover-bg, rgba(255, 77, 79, .1));--pc-radius: 4px;--pc-padding: 8px;--pc-gap: 8px;--pc-label-width: 70px;--pc-font-size: 12px;--pc-transition: .2s ease;padding:var(--pc-padding);font-size:var(--pc-font-size);color:var(--pc-text)}.plugin-config-panel .config-section[data-v-8fe42245]{margin-bottom:16px}.plugin-config-panel .config-section[data-v-8fe42245]:last-child{margin-bottom:0}.plugin-config-panel .config-section-title[data-v-8fe42245]{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;margin:0 0 10px;padding:0 0 6px;font-size:12px;font-weight:600;line-height:1.4;letter-spacing:.5px;text-align:left;color:var(--pc-section-title);background:transparent;border:none;border-bottom:1px solid var(--pc-border);cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--pc-transition)}.plugin-config-panel .config-section-title[data-v-8fe42245]:hover{color:var(--text)}.plugin-config-panel .config-panel-name[data-v-8fe42245]{font-size:13px;font-weight:600;line-height:1.4;color:var(--pc-section-title);margin:0 0 10px;padding:0 0 6px;border-bottom:1px solid var(--pc-border)}.plugin-config-panel .config-section-label[data-v-8fe42245]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plugin-config-panel .config-collapse-icon[data-v-8fe42245]{display:inline-block;width:0;height:0;border-left:5px solid var(--text-secondary);border-top:4px solid transparent;border-bottom:4px solid transparent;transition:transform .2s ease,opacity .15s ease;margin-left:6px;flex-shrink:0;font-size:0;opacity:.6}.plugin-config-panel .config-collapse-icon.expanded[data-v-8fe42245]{transform:rotate(90deg)}.plugin-config-panel .config-section-body[data-v-8fe42245]{overflow:hidden;padding-top:2px}.plugin-config-panel .config-row[data-v-8fe42245]{display:flex;align-items:center;margin-bottom:var(--pc-gap);gap:var(--pc-gap)}.plugin-config-panel .config-row[data-v-8fe42245]:last-child{margin-bottom:0}.plugin-config-panel .config-label[data-v-8fe42245]{min-width:var(--pc-label-width);width:auto;font-size:var(--pc-font-size);color:var(--pc-label);flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plugin-config-panel .config-control[data-v-8fe42245]{flex:1;min-width:0}.plugin-config-panel .config-input[data-v-8fe42245],.plugin-config-panel .config-select[data-v-8fe42245]{flex:1;min-width:0;height:30px;padding:5px 8px;background:var(--pc-input-bg);border:1px solid var(--pc-border);color:var(--pc-text);border-radius:var(--pc-radius);font-size:13px;transition:border-color var(--pc-transition),box-shadow var(--pc-transition)}.plugin-config-panel .config-input[data-v-8fe42245]:hover,.plugin-config-panel .config-select[data-v-8fe42245]:hover{border-color:var(--border-light)}.plugin-config-panel .config-input[data-v-8fe42245]:focus,.plugin-config-panel .config-select[data-v-8fe42245]:focus{outline:none;border-color:var(--pc-accent);box-shadow:0 0 0 2px var(--border-focus, transparent)}.plugin-config-panel .config-select[data-v-8fe42245]{padding-right:24px;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 6px center;background-repeat:no-repeat;background-size:16px}.plugin-config-panel .config-checkbox[data-v-8fe42245]{width:14px;height:14px;flex:none;accent-color:var(--pc-accent);cursor:pointer}.plugin-config-panel .config-input[type=range][data-v-8fe42245],.plugin-config-panel .config-control[type=range][data-v-8fe42245]{padding:0;height:auto;accent-color:var(--pc-accent);cursor:pointer}.plugin-config-panel .config-textarea[data-v-8fe42245]{flex:1;min-width:0;padding:5px 8px;background:var(--pc-input-bg);border:1px solid var(--pc-border);color:var(--pc-text);border-radius:var(--pc-radius);font-size:13px;resize:vertical;min-height:48px;transition:border-color var(--pc-transition),box-shadow var(--pc-transition)}.plugin-config-panel .config-textarea[data-v-8fe42245]:focus{outline:none;border-color:var(--pc-accent);box-shadow:0 0 0 2px var(--border-focus, transparent)}.plugin-config-panel .config-range-value[data-v-8fe42245]{font-size:11px;color:var(--pc-accent);min-width:32px;text-align:right;flex-shrink:0}.plugin-config-panel .config-readonly[data-v-8fe42245]{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plugin-config-panel .config-color-picker-wrapper[data-v-8fe42245]{flex:1;min-width:0}.plugin-config-panel .config-color-array[data-v-8fe42245]{display:flex;flex-wrap:wrap;gap:4px;flex:1;min-width:0}.plugin-config-panel .config-color-array-item[data-v-8fe42245]{display:flex;align-items:center;gap:2px;flex:1;min-width:72px}.plugin-config-panel .config-color-array-index[data-v-8fe42245]{font-size:11px;line-height:1;color:var(--text-secondary);flex-shrink:0}.plugin-config-panel .config-image-picker-inline[data-v-8fe42245]{flex:1;min-width:0;display:flex;align-items:center;gap:4px}.plugin-config-panel .image-thumb[data-v-8fe42245]{width:28px;height:28px;min-width:28px;border:1px solid var(--pc-border);border-radius:var(--pc-radius);overflow:hidden;cursor:pointer;display:flex;align-items:center;justify-content:center;background:var(--pc-input-bg);transition:border-color var(--pc-transition);position:relative}.plugin-config-panel .image-thumb[data-v-8fe42245]:hover{border-color:var(--pc-accent)}.plugin-config-panel .image-thumb--has-image[data-v-8fe42245]{padding:0}.plugin-config-panel .image-thumb-img[data-v-8fe42245]{width:100%;height:100%;object-fit:cover}.plugin-config-panel .image-thumb-icon[data-v-8fe42245]{font-size:14px;line-height:1}.plugin-config-panel .image-hidden-input[data-v-8fe42245]{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.plugin-config-panel .image-select-btn[data-v-8fe42245]{height:28px;min-width:0;padding:0 10px;font-size:11px;white-space:nowrap;border:1px solid var(--pc-accent);border-radius:var(--pc-radius);background:transparent;color:var(--pc-accent);cursor:pointer;transition:all var(--pc-transition);flex-shrink:0}.plugin-config-panel .image-select-btn[data-v-8fe42245]:hover{background:var(--pc-accent);color:var(--surface)}.plugin-config-panel .image-url-inline-input[data-v-8fe42245]{min-width:60px}.plugin-config-panel .image-clear-btn-inline[data-v-8fe42245]{width:22px;height:22px;display:flex;align-items:center;justify-content:center;border:1px solid var(--pc-border);border-radius:var(--pc-radius);background:var(--pc-input-bg);color:var(--pc-label);font-size:11px;cursor:pointer;flex-shrink:0;transition:all var(--pc-transition)}.plugin-config-panel .image-clear-btn-inline[data-v-8fe42245]:hover{border-color:var(--status-error);color:var(--status-error);background:var(--control-button-hover)}.plugin-config-panel .config-follow-hint[data-v-8fe42245]{display:flex;align-items:center;gap:8px;margin-top:4px;width:100%}.plugin-config-panel .config-follow-hint-text[data-v-8fe42245]{flex:1;font-size:11px;color:var(--status-warning);line-height:1.4}.plugin-config-panel .config-follow-restore[data-v-8fe42245]{padding:2px 8px;font-size:11px;border:1px solid var(--pc-border);border-radius:var(--pc-radius);background:var(--pc-input-bg);color:var(--primary);cursor:pointer;flex-shrink:0;transition:all var(--pc-transition)}.plugin-config-panel .config-follow-restore[data-v-8fe42245]:hover{border-color:var(--primary);background:var(--control-button-hover)}.unified-mapping-editor[data-v-8fe42245]{width:100%}.ume-header[data-v-8fe42245]{display:flex;justify-content:space-between;align-items:flex-start;gap:6px;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--pc-border)}.ume-title[data-v-8fe42245]{font-size:12px;font-weight:600;line-height:1.4;letter-spacing:.5px;color:var(--pc-section-title)}.ume-title-wrap[data-v-8fe42245]{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap}.ume-bound-info[data-v-8fe42245]{display:flex;flex-direction:column;gap:2px;font-size:11px;line-height:1.4}.ume-bound-row[data-v-8fe42245]{display:flex;align-items:center;gap:4px;flex-wrap:wrap;min-width:0}.ume-bound-label[data-v-8fe42245]{flex:none;color:var(--pc-label);white-space:nowrap}.ume-bound-value[data-v-8fe42245]{flex:1;min-width:0;color:var(--pc-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ume-live-value[data-v-8fe42245]{margin-left:auto;padding:1px 6px;font-size:11px;color:var(--pc-accent);background:var(--pc-item-hover);border:1px solid var(--pc-accent);border-radius:var(--pc-radius);white-space:nowrap}.ume-tip[data-v-8fe42245]{margin:0 0 8px;color:var(--pc-label);font-size:11px}.ume-todo[data-v-8fe42245]{font-size:12px;color:var(--pc-warning);padding:8px;background:var(--pc-warning-bg);border-radius:var(--pc-radius);border:1px solid var(--pc-warning)}.ume-config-area[data-v-8fe42245]{margin-top:8px}.ume-table-wrap[data-v-8fe42245]{max-width:100%}.ume-table[data-v-8fe42245]{width:100%;min-width:0;table-layout:fixed;border-collapse:collapse}.ume-table th[data-v-8fe42245],.ume-table td[data-v-8fe42245]{padding:2px 3px;border:1px solid var(--pc-border);font-weight:400;text-align:left;white-space:nowrap;vertical-align:middle}.ume-table th[data-v-8fe42245]{font-size:11px;color:var(--pc-label)}.ume-input[data-v-8fe42245]{width:100%;padding:2px 4px;font-size:12px}.ume-select[data-v-8fe42245]{width:100%}.ume-match-type[data-v-8fe42245]{width:100px;flex:none;min-width:0}.ume-priority-label[data-v-8fe42245]{min-width:48px;width:auto}.ume-number[data-v-8fe42245]{width:48px;flex:none;min-width:0}.ume-btn-danger[data-v-8fe42245]{width:22px;height:22px;border:none;background:transparent;color:var(--pc-danger);font-size:16px;cursor:pointer;border-radius:var(--pc-radius);line-height:1}.ume-btn-danger[data-v-8fe42245]:hover{background:var(--pc-danger-hover)}.ume-delete-mapping[data-v-8fe42245]{margin-left:auto;flex:none}.ume-add-btn[data-v-8fe42245]{margin-top:6px;padding:4px 8px;font-size:12px;border:1px dashed var(--pc-border);border-radius:var(--pc-radius);background:transparent;cursor:pointer;color:var(--pc-label);width:100%}.ume-add-btn[data-v-8fe42245]:hover{border-color:var(--pc-accent);color:var(--pc-accent)}.ume-default-row[data-v-8fe42245]{margin-top:8px;font-size:12px;display:flex;align-items:center;gap:6px;color:var(--pc-text)}.ume-default-row .config-select[data-v-8fe42245]{width:auto;min-width:80px}.ume-hint[data-v-8fe42245]{margin-top:6px;font-size:11px;color:var(--pc-label)}.ume-col-value[data-v-8fe42245]{width:48px}.ume-col-min[data-v-8fe42245],.ume-col-max[data-v-8fe42245]{width:46px}.ume-col-status[data-v-8fe42245]{width:64px}.ume-col-color[data-v-8fe42245]{width:86px}.ume-col-action[data-v-8fe42245]{width:28px}.ume-color-picker[data-v-8fe42245]{width:100%;flex:none}.ume-color-picker[data-v-8fe42245] .color-picker-trigger{width:100%}.ume-color-picker[data-v-8fe42245] .color-preview{width:auto;flex:1 1 auto;min-width:44px}.ume-color-picker[data-v-8fe42245] .color-value-text{display:block;font-size:10px}.ume-color-picker[data-v-8fe42245] .color-picker-button{padding:0 2px;font-size:10px}.ume-inline-row[data-v-8fe42245]{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:12px}.ume-input-num[data-v-8fe42245]{width:64px;flex:none}.ume-tilde[data-v-8fe42245]{color:var(--pc-label);flex:none}.ume-sub-title[data-v-8fe42245]{margin-top:10px;margin-bottom:4px;font-size:11px;color:var(--pc-label);letter-spacing:.3px}.ume-stop-list[data-v-8fe42245]{display:flex;flex-direction:column;gap:4px;padding:4px;border:1px dashed var(--pc-border);border-radius:var(--pc-radius)}.ume-stop-row[data-v-8fe42245]{display:flex;align-items:center;gap:4px}.ume-stop-offset[data-v-8fe42245]{width:64px}.ume-full[data-v-8fe42245]{width:100%}.ume-expression[data-v-8fe42245]{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;margin-top:4px}.map-picker-overlay[data-v-9e613e3e]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.map-picker-dialog[data-v-9e613e3e]{background:var(--surface);border:1px solid var(--border-light);border-radius:12px;width:80vw;max-width:1000px;height:80vh;max-height:700px;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080;overflow:hidden}.map-picker-header[data-v-9e613e3e]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-light);flex-shrink:0}.map-picker-header h3[data-v-9e613e3e]{font-size:16px;font-weight:600;color:var(--text);margin:0}.modal-close[data-v-9e613e3e]{background:none;border:none;font-size:24px;color:var(--text-secondary);cursor:pointer;padding:0;line-height:1}.modal-close[data-v-9e613e3e]:hover{color:var(--text)}.map-picker-body[data-v-9e613e3e]{flex:1;display:flex;flex-direction:column;min-height:0;position:relative}.map-search-bar[data-v-9e613e3e]{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border-light);flex-shrink:0}.map-search-input[data-v-9e613e3e]{flex:1;padding:7px 12px;background:var(--background);border:1px solid var(--border-light);border-radius:6px;color:var(--text);font-size:13px;outline:none;transition:border-color .2s;box-sizing:border-box}.map-search-input[data-v-9e613e3e]:focus{border-color:var(--primary)}.btn-locate[data-v-9e613e3e]{display:inline-flex;align-items:center;justify-content:center}.map-search-results[data-v-9e613e3e]{position:absolute;top:53px;left:16px;right:16px;z-index:1000;background:var(--surface);border:1px solid var(--border-light);border-radius:8px;box-shadow:0 8px 24px #00000040;overflow:hidden;max-height:220px;overflow-y:auto}.search-result-item[data-v-9e613e3e]{display:flex;align-items:center;gap:8px;padding:9px 12px;font-size:13px;color:var(--text);cursor:pointer;border-bottom:1px solid var(--background);transition:background .15s}.search-result-item[data-v-9e613e3e]:last-child{border-bottom:none}.search-result-item[data-v-9e613e3e]:hover{background:color-mix(in srgb,var(--primary) 10%,transparent)}.search-result-item svg[data-v-9e613e3e]{flex-shrink:0;color:var(--primary)}.result-text[data-v-9e613e3e]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-container[data-v-9e613e3e]{flex:1;min-height:0;background:var(--background)}.coord-display[data-v-9e613e3e]{display:flex;align-items:center;gap:16px;padding:10px 16px;border-top:1px solid var(--border-light);background:var(--background);flex-shrink:0}.coord-item[data-v-9e613e3e]{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text);font-family:Courier New,monospace}.coord-label[data-v-9e613e3e]{font-size:10px;font-weight:700;color:var(--text-secondary);background:var(--border-light);padding:2px 6px;border-radius:3px;letter-spacing:.5px}.coord-hint[data-v-9e613e3e]{margin-left:auto;font-size:11px;color:var(--text-secondary);opacity:.8}.map-picker-footer[data-v-9e613e3e]{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-top:1px solid var(--border-light);flex-shrink:0}.map-attribution[data-v-9e613e3e]{font-size:11px;color:var(--text-secondary);opacity:.7}.footer-actions[data-v-9e613e3e]{display:flex;gap:8px}.btn[data-v-9e613e3e]{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;line-height:1.5}.btn[data-v-9e613e3e]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-9e613e3e]{background:var(--primary);color:var(--text)}.btn-primary[data-v-9e613e3e]:hover:not(:disabled){opacity:.9}.btn-secondary[data-v-9e613e3e]{background:var(--border-light);color:var(--text)}.btn-secondary[data-v-9e613e3e]:hover:not(:disabled){background:var(--border)}.btn-sm[data-v-9e613e3e]{padding:6px 12px;font-size:13px}.project-list[data-v-58aff27f]{padding:20px}.page-header[data-v-58aff27f]{display:flex;align-items:center;gap:12px;margin-bottom:12px}.header-left[data-v-58aff27f]{display:flex;align-items:baseline;gap:10px;flex-shrink:0}.header-actions[data-v-58aff27f]{display:flex;align-items:center;gap:6px;flex-shrink:0}.spinning[data-v-58aff27f]{animation:spin-58aff27f .8s linear infinite}.page-title[data-v-58aff27f]{font-size:20px;font-weight:700;color:var(--text);margin:0}.project-count[data-v-58aff27f]{font-size:12px;color:var(--text-secondary)}.search-bar[data-v-58aff27f]{position:relative;flex:1;max-width:360px;margin:0 auto}.search-icon[data-v-58aff27f]{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--border);pointer-events:none}.search-input[data-v-58aff27f]{width:100%;padding:6px 10px 6px 32px;background:var(--surface);border:1px solid var(--border-light);border-radius:6px;color:var(--text);font-size:13px;outline:none;transition:border-color .2s;box-sizing:border-box}.search-input[data-v-58aff27f]::placeholder{color:var(--border)}.search-input[data-v-58aff27f]:focus{border-color:var(--primary)}.filter-bar[data-v-58aff27f]{flex-shrink:0}.filter-select[data-v-58aff27f]{height:32px;padding:0 28px 0 10px;background:var(--surface);border:1px solid var(--border-light);border-radius:6px;color:var(--text);font-size:13px;font-weight:500;outline:none;cursor:pointer;transition:border-color .2s,box-shadow .2s;box-sizing:border-box;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237a7a7a' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:12px}.filter-select[data-v-58aff27f]:hover{border-color:var(--primary)}.filter-select[data-v-58aff27f]:focus{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 20%,transparent)}.loading-state[data-v-58aff27f],.error-state[data-v-58aff27f],.empty-state[data-v-58aff27f]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:var(--text-secondary);gap:12px}.empty-state svg[data-v-58aff27f]{color:var(--border-light);margin-bottom:8px}.empty-state h3[data-v-58aff27f]{font-size:18px;color:var(--text-secondary);margin:0}.empty-state p[data-v-58aff27f]{margin:0;font-size:14px}.empty-hint[data-v-58aff27f]{max-width:560px;text-align:center;line-height:1.7;padding:10px 14px;border-radius:8px;background:color-mix(in srgb,var(--primary) 8%,transparent)}.spinner[data-v-58aff27f]{width:32px;height:32px;border:3px solid var(--border-light);border-top-color:var(--primary);border-radius:50%;animation:spin-58aff27f .8s linear infinite}@keyframes spin-58aff27f{to{transform:rotate(360deg)}}.project-grid[data-v-58aff27f]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.project-card[data-v-58aff27f]{position:relative;background:var(--surface);border:1px solid var(--border-light);border-radius:12px;padding:14px 14px 12px;cursor:pointer;transition:border-color .25s,box-shadow .25s,transform .25s;overflow:hidden;display:flex;flex-direction:column}.project-card[data-v-58aff27f]:hover{border-color:var(--primary);box-shadow:0 8px 24px #0003;transform:translateY(-2px)}.project-card.is-recent[data-v-58aff27f]{border-color:color-mix(in srgb,var(--status-success) 40%,var(--border-light))}.project-card.is-recent[data-v-58aff27f]:before{content:"";position:absolute;top:0;left:0;bottom:0;width:3px;background:var(--status-success);opacity:.6}.project-card.is-disabled[data-v-58aff27f]{opacity:.65;filter:saturate(.6)}.project-card.is-disabled[data-v-58aff27f]:before{content:"";position:absolute;top:0;left:0;bottom:0;width:3px;background:var(--status-warning);opacity:.7;z-index:1}.project-card.is-disabled[data-v-58aff27f]:hover{opacity:.85;filter:saturate(.85)}.project-card:hover .card-actions[data-v-58aff27f]{opacity:1}.card-cover[data-v-58aff27f]{position:relative;height:88px;margin:-14px -14px 12px;overflow:hidden;background:var(--border-light)}.card-cover-img[data-v-58aff27f]{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.project-card:hover .card-cover-img[data-v-58aff27f]{transform:scale(1.05)}.card-cover-fallback[data-v-58aff27f]{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.cover-initial[data-v-58aff27f]{font-size:36px;font-weight:700;color:#ffffffeb;text-shadow:0 2px 10px rgba(0,0,0,.25);letter-spacing:1px;-webkit-user-select:none;user-select:none}.cover-accent-0[data-v-58aff27f]{background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 55%,black))}.cover-accent-1[data-v-58aff27f]{background:linear-gradient(135deg,var(--status-success),color-mix(in srgb,var(--status-success) 55%,black))}.cover-accent-2[data-v-58aff27f]{background:linear-gradient(135deg,var(--status-warning),color-mix(in srgb,var(--status-warning) 55%,black))}.cover-accent-3[data-v-58aff27f]{background:linear-gradient(135deg,var(--status-error),color-mix(in srgb,var(--status-error) 55%,black))}.cover-accent-4[data-v-58aff27f]{background:linear-gradient(135deg,var(--status-info, var(--primary)),color-mix(in srgb,var(--status-info, var(--primary)) 55%,black))}.cover-accent-5[data-v-58aff27f]{background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 55%,black))}.cover-chip[data-v-58aff27f]{position:absolute;display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border-radius:6px;font-size:11px;font-weight:700;line-height:1.3;background:#fffffff2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 2px 8px #0000002e;letter-spacing:.2px}.cover-chip-recent[data-v-58aff27f]{bottom:6px;left:6px;color:var(--status-success)}.cover-chip-disabled[data-v-58aff27f]{top:6px;left:6px;color:#fff;background:var(--status-warning);border:1px solid color-mix(in srgb,var(--status-warning) 70%,white)}.cover-chip-enabled[data-v-58aff27f]{top:6px;left:6px;color:#fff;background:var(--status-success);border:1px solid color-mix(in srgb,var(--status-success) 70%,white)}.enabled-dot[data-v-58aff27f]{width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 6px #ffffffe6;animation:pulse-58aff27f 2s ease-in-out infinite}.cover-chip-default[data-v-58aff27f]{top:6px;right:6px;color:var(--primary)}.card-header[data-v-58aff27f]{display:flex;align-items:center;gap:8px;margin-bottom:8px}.card-title-wrap[data-v-58aff27f]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.card-title[data-v-58aff27f]{font-size:14px;font-weight:600;color:var(--text);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.35}.card-subtitle[data-v-58aff27f]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.card-time[data-v-58aff27f]{font-size:11px;color:var(--text-secondary);opacity:.75}.recent-dot[data-v-58aff27f]{width:5px;height:5px;border-radius:50%;background:var(--status-success);animation:pulse-58aff27f 2s ease-in-out infinite}@keyframes pulse-58aff27f{0%,to{opacity:1}50%{opacity:.4}}.card-actions[data-v-58aff27f]{display:flex;gap:4px;flex-shrink:0;opacity:0;transition:opacity .2s}.btn-icon[data-v-58aff27f]{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border-light);border-radius:5px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.btn-icon[data-v-58aff27f]:hover{background:var(--border-light);color:var(--text)}.btn-icon-danger[data-v-58aff27f]:hover{background:var(--status-error);border-color:var(--status-error);color:var(--text)}.btn-icon-warning[data-v-58aff27f]{color:var(--status-warning);border-color:color-mix(in srgb,var(--status-warning) 40%,var(--border-light))}.btn-icon-warning[data-v-58aff27f]:hover{background:var(--status-warning);border-color:var(--status-warning);color:var(--text)}.card-desc[data-v-58aff27f]{font-size:12px;color:var(--text-secondary);margin:0 0 8px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;min-height:17px}.card-desc.placeholder[data-v-58aff27f]{color:var(--border);font-style:italic;opacity:.7}.card-stats[data-v-58aff27f]{display:flex;align-items:center;gap:0;margin-bottom:8px;padding:6px 8px;background:var(--background, var(--border-light));border-radius:7px;border:1px solid var(--border-light)}.stat-item[data-v-58aff27f]{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:2px}.stat-value[data-v-58aff27f]{font-size:14px;font-weight:700;color:var(--text);line-height:1.2;font-variant-numeric:tabular-nums;white-space:nowrap}.stat-label[data-v-58aff27f]{font-size:10px;color:var(--text-secondary);opacity:.75;letter-spacing:.3px}.stat-divider[data-v-58aff27f]{width:1px;height:22px;background:var(--border-light);margin:0 6px;flex-shrink:0}.card-resources[data-v-58aff27f]{margin-top:auto;padding-top:6px;display:flex;flex-direction:column;gap:1px}.resource-item[data-v-58aff27f]{display:flex;align-items:center;gap:4px;font-size:9px;color:var(--text-secondary);overflow:hidden;opacity:.55;transition:opacity .2s}.project-card:hover .resource-item[data-v-58aff27f]{opacity:.8}.resource-item svg[data-v-58aff27f]{flex-shrink:0;color:var(--border)}.resource-value[data-v-58aff27f]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary);font-family:Consolas,Courier New,monospace;font-size:9px}.card-footer[data-v-58aff27f]{display:flex;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border-light)}.btn-ghost[data-v-58aff27f]{background:transparent;color:var(--text-secondary);border:1px solid var(--border-light)}.btn-ghost[data-v-58aff27f]:hover:not(:disabled){background:var(--border-light);color:var(--text);border-color:var(--border)}.btn-manage[data-v-58aff27f]{flex:1;justify-content:center}.btn-open[data-v-58aff27f]{flex:1.5;justify-content:center}.pagination[data-v-58aff27f]{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:16px;padding-top:12px;border-top:1px solid var(--surface)}.page-info[data-v-58aff27f]{font-size:13px;color:var(--text-secondary);min-width:70px;text-align:center}.btn[data-v-58aff27f]{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;line-height:1.4}.btn[data-v-58aff27f]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-58aff27f]{background:var(--primary);color:var(--text)}.btn-primary[data-v-58aff27f]:hover:not(:disabled){background:var(--button-hover)}.btn-secondary[data-v-58aff27f]{background:var(--border-light);color:var(--text)}.btn-secondary[data-v-58aff27f]:hover:not(:disabled){background:var(--border)}.btn-danger[data-v-58aff27f]{background:var(--status-error);color:var(--text)}.btn-danger[data-v-58aff27f]:hover:not(:disabled){background:var(--status-error)}.btn-sm[data-v-58aff27f]{padding:6px 12px;font-size:13px}.modal-overlay[data-v-58aff27f]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal[data-v-58aff27f]{background:var(--surface);border:1px solid var(--border-light);border-radius:12px;width:480px;max-width:90vw;box-shadow:0 20px 60px #00000080}.modal-sm[data-v-58aff27f]{width:400px}.modal-header[data-v-58aff27f]{display:flex;align-items:center;justify-content:space-between;padding:14px 20px 0}.modal-header h2[data-v-58aff27f]{font-size:16px;font-weight:600;color:var(--text);margin:0}.modal-close[data-v-58aff27f]{background:none;border:none;font-size:24px;color:var(--text-secondary);cursor:pointer;padding:0;line-height:1}.modal-close[data-v-58aff27f]:hover{color:var(--text)}.modal-body[data-v-58aff27f]{padding:14px 20px;display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;align-items:start}.modal-body .full-width[data-v-58aff27f]{grid-column:1 / -1}.modal-footer[data-v-58aff27f]{display:flex;justify-content:flex-end;gap:8px;padding:0 20px 14px}.form-group[data-v-58aff27f]{margin-bottom:10px}.form-row[data-v-58aff27f]{display:flex;gap:12px}.form-row .form-group[data-v-58aff27f]{flex:1;min-width:0}.geocode-row[data-v-58aff27f]{display:flex;align-items:center;gap:10px;margin-bottom:10px}.btn-geocode[data-v-58aff27f]{flex-shrink:0}.geocode-hint[data-v-58aff27f]{font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.geocode-hint.hint-success[data-v-58aff27f]{color:var(--status-success)}.geocode-hint.hint-error[data-v-58aff27f]{color:var(--status-error)}.image-upload-area[data-v-58aff27f]{width:100%}.image-preview-wrapper[data-v-58aff27f]{position:relative;width:100%;height:120px;border-radius:8px;overflow:hidden;border:1px solid var(--border);background:var(--surface-secondary)}.image-preview[data-v-58aff27f]{width:100%;height:100%;object-fit:cover}.image-remove-btn[data-v-58aff27f]{position:absolute;top:8px;right:8px;width:28px;height:28px;border:none;border-radius:50%;background:#0009;color:#fff;font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.image-remove-btn[data-v-58aff27f]:hover{background:#000000d9}.image-upload-placeholder[data-v-58aff27f]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;height:120px;border:2px dashed var(--border);border-radius:8px;background:var(--surface-secondary);color:var(--text-tertiary);cursor:pointer;transition:border-color .2s,color .2s;font-size:12px}.image-upload-placeholder[data-v-58aff27f]:hover{border-color:var(--primary);color:var(--primary)}.image-file-input[data-v-58aff27f]{display:none}.form-label[data-v-58aff27f]{display:block;font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:4px}.required[data-v-58aff27f]{color:var(--status-error)}.form-input[data-v-58aff27f]{width:100%;padding:7px 10px;background:var(--background);border:1px solid var(--border-light);border-radius:6px;color:var(--text);font-size:13px;outline:none;transition:border-color .2s;box-sizing:border-box}.form-input[data-v-58aff27f]::placeholder{color:var(--border)}.form-input[data-v-58aff27f]:focus{border-color:var(--primary)}.form-input-disabled[data-v-58aff27f]{opacity:.6;cursor:not-allowed;background:var(--border-light)}.form-hint[data-v-58aff27f]{font-size:11px;color:var(--text-secondary);margin:2px 0 0}.form-group-switch[data-v-58aff27f]{padding:8px 10px;background:var(--background, var(--border-light));border:1px solid var(--border-light);border-radius:7px}.switch-row[data-v-58aff27f]{display:flex;align-items:center;gap:10px;margin-top:2px}.switch[data-v-58aff27f]{position:relative;display:inline-block;width:36px;height:20px;flex-shrink:0}.switch input[data-v-58aff27f]{opacity:0;width:0;height:0}.switch-slider[data-v-58aff27f]{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background:var(--border);border-radius:20px;transition:background .25s}.switch-slider[data-v-58aff27f]:before{content:"";position:absolute;width:14px;height:14px;left:3px;bottom:3px;background:var(--text);border-radius:50%;transition:transform .25s}.switch input:checked+.switch-slider[data-v-58aff27f]{background:var(--status-success)}.switch input:checked+.switch-slider[data-v-58aff27f]:before{transform:translate(16px)}.switch-label[data-v-58aff27f]{font-size:12px;font-weight:500;color:var(--text)}.form-textarea[data-v-58aff27f]{resize:vertical;min-height:50px}.form-success[data-v-58aff27f]{color:var(--status-success);font-size:12px;margin:-6px 0 0}.form-error[data-v-58aff27f]{color:var(--status-error);font-size:12px;margin:-6px 0 0}.warning-text[data-v-58aff27f]{color:var(--status-warning);font-size:13px;margin:8px 0 0}.project-manage[data-v-a2d95cb2]{padding:20px 24px 32px;width:100%;min-height:100%;box-sizing:border-box}.page-header[data-v-a2d95cb2]{display:flex;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}.tab-section-heading[data-v-a2d95cb2]{display:flex;align-items:center;gap:12px;margin:24px 0 12px}.tab-section-heading[data-v-a2d95cb2]:first-of-type{margin-top:4px}.tab-section-heading h3[data-v-a2d95cb2]{margin:0;font-size:15px;font-weight:600;color:var(--text);white-space:nowrap}.tab-section-heading .heading-line[data-v-a2d95cb2]{flex:1;height:1px;background:var(--border)}.loading-state[data-v-a2d95cb2],.error-state[data-v-a2d95cb2]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:var(--text-secondary);gap:12px}.spinner[data-v-a2d95cb2]{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin-a2d95cb2 .8s linear infinite}@keyframes spin-a2d95cb2{to{transform:rotate(360deg)}}.tab-content[data-v-a2d95cb2]{animation:fadeIn-a2d95cb2 .2s ease}@keyframes fadeIn-a2d95cb2{0%{opacity:0}to{opacity:1}}.info-panel[data-v-a2d95cb2]{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:24px;min-height:400px}.info-header[data-v-a2d95cb2]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--border)}.header-left[data-v-a2d95cb2]{display:flex;align-items:center;gap:14px;min-width:0}.project-icon[data-v-a2d95cb2]{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:12px;background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary);flex-shrink:0;overflow:hidden}.project-icon-img[data-v-a2d95cb2]{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}.header-title[data-v-a2d95cb2]{display:flex;flex-direction:column;gap:6px;min-width:0}.header-title-row[data-v-a2d95cb2]{display:flex;align-items:center;gap:10px;min-width:0}.header-dbmode-badge[data-v-a2d95cb2]{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-family:Courier New,monospace;flex-shrink:0}.header-dbmode-badge.badge-success[data-v-a2d95cb2]{background:color-mix(in srgb,var(--status-online) 15%,transparent);color:var(--status-online)}.header-dbmode-badge.badge-info[data-v-a2d95cb2]{background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary)}.header-meta[data-v-a2d95cb2]{display:flex;flex-wrap:wrap;gap:16px;margin-top:2px}.meta-item[data-v-a2d95cb2]{display:inline-flex;align-items:center;gap:6px;font-size:12px}.meta-label[data-v-a2d95cb2]{color:var(--text-secondary)}.meta-value[data-v-a2d95cb2]{color:var(--text)}.meta-value.mono[data-v-a2d95cb2]{font-family:Courier New,monospace;color:var(--primary)}.info-header h2[data-v-a2d95cb2]{font-size:20px;font-weight:600;color:var(--text);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-desc[data-v-a2d95cb2]{font-size:13px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.version-badge[data-v-a2d95cb2]{display:inline-block;padding:3px 10px;background:var(--background);border:1px solid var(--border);border-radius:6px;font-size:12px;color:var(--text-secondary);font-family:Courier New,monospace;flex-shrink:0}.version-edit-wrap[data-v-a2d95cb2]{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.version-edit-btn[data-v-a2d95cb2]{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:4px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s;padding:0}.version-edit-btn[data-v-a2d95cb2]:hover{background:var(--primary);color:var(--text)}.version-input[data-v-a2d95cb2]{width:110px;padding:4px 8px;border:1px solid var(--primary);border-radius:6px;background:var(--surface);color:var(--text);font-size:12px;font-family:Courier New,monospace;outline:none}.version-save-btn[data-v-a2d95cb2],.version-cancel-btn[data-v-a2d95cb2]{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:4px;cursor:pointer;transition:all .15s;padding:0}.version-save-btn[data-v-a2d95cb2]{background:color-mix(in srgb,var(--status-success) 15%,transparent);color:var(--status-success)}.version-save-btn[data-v-a2d95cb2]:hover:not(:disabled){background:var(--status-success);color:var(--text)}.version-save-btn[data-v-a2d95cb2]:disabled{opacity:.5;cursor:not-allowed}.version-cancel-btn[data-v-a2d95cb2]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.version-cancel-btn[data-v-a2d95cb2]:hover{background:var(--status-error);color:var(--text)}.info-cards[data-v-a2d95cb2]{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}.info-card[data-v-a2d95cb2]{background:var(--background);border:1px solid var(--border);border-radius:8px;overflow:hidden;transition:border-color .2s}.info-card[data-v-a2d95cb2]:hover{border-color:color-mix(in srgb,var(--primary) 40%,var(--border))}.card-header[data-v-a2d95cb2]{display:flex;align-items:center;gap:8px;padding:10px 14px;background:color-mix(in srgb,var(--surface) 60%,transparent);border-bottom:1px solid var(--border)}.card-icon[data-v-a2d95cb2]{color:var(--primary);flex-shrink:0}.card-title[data-v-a2d95cb2]{font-size:13px;font-weight:600;color:var(--text);text-transform:uppercase;letter-spacing:.3px}.card-body[data-v-a2d95cb2]{padding:12px 14px;display:flex;flex-direction:column;gap:10px}.field-row[data-v-a2d95cb2]{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:28px}.field-row.field-col[data-v-a2d95cb2]{flex-direction:column;align-items:stretch;gap:4px}.field-label-row[data-v-a2d95cb2]{display:flex;align-items:center;justify-content:space-between;gap:8px}.field-label[data-v-a2d95cb2]{font-size:12px;color:var(--text-secondary);flex-shrink:0}.field-value[data-v-a2d95cb2]{font-size:13px;color:var(--text);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-value.mono[data-v-a2d95cb2]{font-family:Courier New,monospace;font-size:12px;color:var(--primary)}.field-value.mono.pill[data-v-a2d95cb2]{display:inline-block;padding:2px 8px;background:color-mix(in srgb,var(--primary) 10%,transparent);border-radius:4px;font-size:12px}.field-value.path-value[data-v-a2d95cb2]{text-align:left;word-break:break-all;white-space:normal;font-size:11px;color:var(--text-secondary);line-height:1.5}.field-value-wrap[data-v-a2d95cb2],.field-actions[data-v-a2d95cb2]{display:flex;align-items:center;gap:6px}.field-value strong[data-v-a2d95cb2]{font-size:16px;font-weight:600;color:var(--text)}.unit[data-v-a2d95cb2]{margin-left:4px;font-size:12px;color:var(--text-secondary)}.tag[data-v-a2d95cb2]{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-family:Courier New,monospace}.tag-success[data-v-a2d95cb2]{background:color-mix(in srgb,var(--status-online) 15%,transparent);color:var(--status-online)}.tag-info[data-v-a2d95cb2]{background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary)}.size-tag[data-v-a2d95cb2]{display:inline-block;padding:1px 6px;background:var(--surface);border:1px solid var(--border);border-radius:4px;font-size:10px;color:var(--text-secondary);font-family:Courier New,monospace}.copy-btn[data-v-a2d95cb2]{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:4px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s;padding:0}.copy-btn[data-v-a2d95cb2]:hover{background:var(--primary);color:var(--text)}.import-export-panel[data-v-a2d95cb2]{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:24px;display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:20px}.section-card[data-v-a2d95cb2]{flex:1 1 320px;min-width:0;border:1px solid var(--border);border-radius:8px;padding:20px;background:var(--background)}.section-title[data-v-a2d95cb2]{font-size:16px;font-weight:600;color:var(--text);margin:0 0 8px}.section-desc[data-v-a2d95cb2]{font-size:13px;color:var(--text-secondary);margin:0 0 16px}.export-options[data-v-a2d95cb2],.import-options[data-v-a2d95cb2]{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.checkbox-label[data-v-a2d95cb2],.radio-label[data-v-a2d95cb2]{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text);cursor:pointer}.checkbox-label input[data-v-a2d95cb2],.radio-label input[data-v-a2d95cb2]{accent-color:var(--primary)}.action-buttons[data-v-a2d95cb2]{display:flex;gap:8px}.file-input-hidden[data-v-a2d95cb2]{display:none}.import-result[data-v-a2d95cb2]{margin-top:12px;padding:10px 14px;border-radius:6px;font-size:13px}.text-success[data-v-a2d95cb2]{color:var(--status-online)}.text-error[data-v-a2d95cb2]{color:var(--status-error)}.diagnose-panel[data-v-a2d95cb2]{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:24px;min-height:400px}.diagnose-empty[data-v-a2d95cb2]{text-align:center;padding:40px 20px;color:var(--text-secondary)}.diagnose-empty p[data-v-a2d95cb2]{margin-bottom:16px}.diagnose-health-header[data-v-a2d95cb2]{display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px}.diagnose-health-header.health-healthy[data-v-a2d95cb2]{background:color-mix(in srgb,var(--status-success) 15%,transparent);border:1px solid var(--status-success);color:var(--status-success)}.diagnose-health-header.health-degraded[data-v-a2d95cb2]{background:color-mix(in srgb,var(--status-warning) 15%,transparent);border:1px solid var(--status-warning);color:var(--status-warning)}.diagnose-health-header.health-unhealthy[data-v-a2d95cb2]{background:color-mix(in srgb,var(--status-error) 15%,transparent);border:1px solid var(--status-error);color:var(--status-error)}.diagnose-resource-list[data-v-a2d95cb2],.diagnose-issues[data-v-a2d95cb2],.diagnose-repair-result[data-v-a2d95cb2]{margin-bottom:16px}.diagnose-resource-list h4[data-v-a2d95cb2],.diagnose-issues h4[data-v-a2d95cb2],.diagnose-repair-result h4[data-v-a2d95cb2]{font-size:13px;font-weight:600;color:var(--text);margin:0 0 8px;padding-bottom:4px;border-bottom:1px solid var(--border)}.diagnose-resource-item[data-v-a2d95cb2]{display:flex;align-items:center;gap:8px;padding:6px 4px;font-size:13px;border-bottom:1px solid var(--background)}.diagnose-resource-item[data-v-a2d95cb2]:last-child{border-bottom:none}.status-icon[data-v-a2d95cb2]{font-size:16px;flex-shrink:0}.resource-name[data-v-a2d95cb2]{flex-shrink:0;font-weight:500;color:var(--text);min-width:120px}.resource-path[data-v-a2d95cb2]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Courier New,monospace;font-size:11px;color:var(--text-secondary)}.resource-size[data-v-a2d95cb2]{font-size:11px;color:var(--text-secondary);opacity:.7;flex-shrink:0}.status-tag[data-v-a2d95cb2]{font-size:11px;padding:2px 8px;border-radius:12px;flex-shrink:0}.status-tag.tag-ok[data-v-a2d95cb2]{background:color-mix(in srgb,var(--status-success) 15%,transparent);color:var(--status-success)}.status-tag.tag-empty[data-v-a2d95cb2]{background:color-mix(in srgb,var(--status-warning) 15%,transparent);color:var(--status-warning)}.status-tag.tag-missing[data-v-a2d95cb2],.status-tag.tag-error[data-v-a2d95cb2]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.diagnose-issues ol[data-v-a2d95cb2]{margin:0;padding-left:20px;font-size:13px;color:var(--text)}.diagnose-issues ol li[data-v-a2d95cb2]{margin-bottom:4px;line-height:1.6}.diagnose-repair-result .repair-section[data-v-a2d95cb2]{margin-bottom:8px}.diagnose-repair-result ul[data-v-a2d95cb2]{margin:4px 0 0;padding-left:20px;font-size:13px}.repair-success ul li[data-v-a2d95cb2]{color:var(--status-success)}.repair-warnings ul li[data-v-a2d95cb2]{color:var(--status-warning)}.diagnose-actions[data-v-a2d95cb2]{display:flex;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.health-badge[data-v-a2d95cb2]{font-size:18px}.health-label[data-v-a2d95cb2]{font-size:13px}.health-dbmode[data-v-a2d95cb2]{font-size:12px;opacity:.7;margin-left:auto}.btn[data-v-a2d95cb2]{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;line-height:1.5}.btn[data-v-a2d95cb2]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-a2d95cb2]{background:var(--primary);color:var(--text)}.btn-primary[data-v-a2d95cb2]:hover:not(:disabled){opacity:.9}.btn-secondary[data-v-a2d95cb2]{background:var(--border);color:var(--text)}.btn-secondary[data-v-a2d95cb2]:hover:not(:disabled){background:var(--text-secondary);color:var(--text)}.btn-sm[data-v-a2d95cb2]{padding:6px 12px;font-size:13px}.page-management[data-v-6d24f860]{padding:24px}.page-header[data-v-6d24f860]{display:flex;align-items:center;gap:16px;margin-bottom:16px}.header-left[data-v-6d24f860]{display:flex;align-items:baseline;gap:10px;flex-shrink:0}.page-title[data-v-6d24f860]{font-size:22px;font-weight:700;color:var(--text);margin:0}.project-badge[data-v-6d24f860]{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:500;color:var(--primary);background:var(--primary-alpha, rgba(var(--primary-rgb, 59 130 246), .1));border:1px solid var(--primary);border-radius:20px;opacity:.7}.selector-bar[data-v-6d24f860]{position:relative;display:flex;align-items:center;gap:12px;flex:1;max-width:420px;margin:0 auto}.selector-icon[data-v-6d24f860]{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-tertiary);pointer-events:none;z-index:1}.selector-select[data-v-6d24f860]{width:100%;height:36px;padding:0 12px 0 36px;background:var(--surface);border:1px solid var(--border-light);border-radius:8px;color:var(--text);font-size:14px;outline:none;cursor:pointer;transition:border-color .2s;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;box-sizing:border-box}.selector-select[data-v-6d24f860]:focus{border-color:var(--primary)}.selector-refresh-btn[data-v-6d24f860]{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:var(--surface);border:1px solid var(--border-light);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:border-color .2s,color .2s,background-color .2s,transform .1s;flex-shrink:0}.selector-refresh-btn[data-v-6d24f860]:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--primary-alpha, rgba(var(--primary-rgb, 59 130 246), .05))}.selector-refresh-btn[data-v-6d24f860]:active:not(:disabled){transform:scale(.96)}.selector-refresh-btn[data-v-6d24f860]:disabled{opacity:.5;cursor:not-allowed}.selector-refresh-icon.is-spinning[data-v-6d24f860]{animation:spin-6d24f860 .8s linear infinite}.selector-loading[data-v-6d24f860]{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--text-tertiary);flex-shrink:0}.spinner-sm[data-v-6d24f860]{width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin-6d24f860 .8s linear infinite}.stats-bar[data-v-6d24f860]{display:flex;gap:16px;padding:6px 14px;background:var(--surface);border:1px solid var(--border-light);border-radius:8px;flex-shrink:0}.stat-item[data-v-6d24f860]{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary);white-space:nowrap}.section[data-v-6d24f860]{margin-bottom:32px}.section-title[data-v-6d24f860]{font-size:15px;font-weight:600;color:var(--text);margin:0 0 16px;padding-bottom:8px;border-bottom:1px solid var(--border)}.page-grid[data-v-6d24f860]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.page-card[data-v-6d24f860]{background:var(--surface);border:1px solid var(--border-light);border-radius:10px;overflow:hidden;transition:border-color .2s,box-shadow .2s,transform .15s}.page-card[data-v-6d24f860]:hover{border-color:var(--primary);box-shadow:0 4px 16px #0000001f;transform:translateY(-1px)}.page-preview[data-v-6d24f860]{position:relative;width:100%;height:180px;overflow:hidden;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--border)}.preview-img[data-v-6d24f860]{width:100%;height:100%;object-fit:contain}.preview-placeholder[data-v-6d24f860]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--text-tertiary);font-size:12px}.page-card-body[data-v-6d24f860]{padding:14px 16px}.page-info[data-v-6d24f860]{margin-bottom:12px}.page-name[data-v-6d24f860]{display:block;font-size:14px;font-weight:600;color:var(--text);margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-meta-row[data-v-6d24f860]{display:flex;align-items:center;gap:12px}.page-meta[data-v-6d24f860]{font-size:12px;color:var(--text-tertiary)}.page-actions[data-v-6d24f860]{display:flex;gap:8px}.btn-sm[data-v-6d24f860]{height:32px;padding:0 12px;font-size:13px;border-radius:6px;border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:all .15s;font-family:inherit}.btn-primary[data-v-6d24f860]{background:var(--primary);color:var(--text-on-primary);border-color:var(--primary)}.btn-primary[data-v-6d24f860]:hover{opacity:.88}.btn-secondary[data-v-6d24f860]{background:transparent;color:var(--text);border-color:var(--border)}.btn-secondary[data-v-6d24f860]:hover{background:var(--surface-alt);border-color:var(--text-tertiary)}.loading-container[data-v-6d24f860]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:80px 0;color:var(--text-tertiary);font-size:14px}.spinner[data-v-6d24f860]{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin-6d24f860 .8s linear infinite}@keyframes spin-6d24f860{to{transform:rotate(360deg)}}.empty-state[data-v-6d24f860]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:80px 0;color:var(--text-tertiary)}.empty-icon[data-v-6d24f860]{opacity:.35}.empty-title[data-v-6d24f860]{font-size:16px;font-weight:500;color:var(--text-secondary);margin:0}.empty-desc[data-v-6d24f860]{font-size:13px;margin:0}.preview-wrapper[data-v-ae6b4400]{flex:1;min-height:0;display:flex;flex-direction:column}.preview-iframe[data-v-ae6b4400]{width:100%;height:100%;border:none;display:block}.preview-error[data-v-ae6b4400]{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-tertiary);font-size:14px}.schema-form-kv[data-v-2ba55ecc]{display:flex;flex-direction:column;gap:10px}.schema-form-grid[data-v-2ba55ecc]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}.schema-form-kv .schema-field[data-v-2ba55ecc]{display:flex;align-items:center;gap:10px}.schema-form-grid .schema-field[data-v-2ba55ecc]{display:flex;flex-direction:column;gap:4px}.schema-form-grid .schema-field-wide[data-v-2ba55ecc]{grid-column:1 / -1}.schema-label[data-v-2ba55ecc]{font-size:12px;font-weight:500;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schema-form-kv .schema-label[data-v-2ba55ecc]{flex:0 0 130px;text-align:right}.schema-form-grid .schema-label[data-v-2ba55ecc]{text-align:left}.required[data-v-2ba55ecc]{color:var(--status-error)}.schema-transient[data-v-2ba55ecc]{margin-left:4px;padding:0 4px;border-radius:3px;background:var(--surface);border:1px solid var(--border);color:var(--text-secondary);font-size:10px;font-weight:400}.schema-control[data-v-2ba55ecc]{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.schema-inline[data-v-2ba55ecc]{display:flex;align-items:center;gap:6px}.schema-inline .schema-input[data-v-2ba55ecc]{flex:1;min-width:0}.schema-pick[data-v-2ba55ecc]{flex:0 0 auto;max-width:46%}.schema-input[data-v-2ba55ecc]{width:100%;padding:7px 10px;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:13px;outline:none;transition:border-color .2s;box-sizing:border-box}.schema-textarea[data-v-2ba55ecc]{font-family:Consolas,Courier New,monospace;font-size:12px;line-height:1.5;resize:vertical}.schema-input[data-v-2ba55ecc]:focus{border-color:var(--primary)}.schema-input[data-v-2ba55ecc]:disabled{color:var(--text-secondary);cursor:not-allowed}.schema-input[data-v-2ba55ecc]::placeholder{color:var(--text-secondary)}.schema-select[data-v-2ba55ecc]{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;cursor:pointer}.schema-checkbox[data-v-2ba55ecc]{width:16px;height:16px;cursor:pointer;accent-color:var(--primary)}.schema-radio-group[data-v-2ba55ecc]{display:inline-flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}.schema-radio[data-v-2ba55ecc]{padding:6px 12px;background:var(--surface);border:none;border-right:1px solid var(--border);color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .15s}.schema-radio[data-v-2ba55ecc]:last-child{border-right:none}.schema-radio[data-v-2ba55ecc]:hover{color:var(--text)}.schema-radio.active[data-v-2ba55ecc]{background:var(--primary);color:var(--background)}.schema-hint[data-v-2ba55ecc]{font-size:11px;color:var(--text-secondary);line-height:1.4}.hint-ok[data-v-2ba55ecc]{color:var(--status-success)}.hint-warn[data-v-2ba55ecc]{color:var(--status-warning)}.modal-overlay[data-v-806ce5a4]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-806ce5a4]{background:var(--background);border-radius:12px;width:90%;max-width:560px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000004d}.modal-header[data-v-806ce5a4]{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--border);flex-shrink:0}.modal-header h2[data-v-806ce5a4]{font-size:16px;font-weight:600;color:var(--text);margin:0}.modal-close[data-v-806ce5a4]{background:transparent;border:none;padding:4px;cursor:pointer;color:var(--text-secondary);border-radius:6px;font-size:20px}.modal-close[data-v-806ce5a4]:hover{color:var(--text);background:var(--border-light)}.tab-bar[data-v-806ce5a4]{display:flex;border-bottom:1px solid var(--border);padding:0 16px;flex-shrink:0}.tab-item[data-v-806ce5a4]{display:flex;align-items:center;gap:6px;padding:10px 16px;font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;transition:all .2s;position:relative}.tab-item[data-v-806ce5a4]:hover{color:var(--text)}.tab-item.active[data-v-806ce5a4]{color:var(--primary);border-bottom-color:var(--primary)}.tab-dot[data-v-806ce5a4]{width:6px;height:6px;border-radius:50%;background:var(--status-warning);flex-shrink:0}.channel-empty-tip[data-v-806ce5a4]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 20px;color:var(--text-secondary);gap:12px}.channel-empty-tip p[data-v-806ce5a4]{font-size:13px;margin:0}.channel-section-header[data-v-806ce5a4]{margin-bottom:16px}.driver-badge[data-v-806ce5a4]{display:inline-block;padding:2px 10px;background:color-mix(in srgb,var(--primary) 10%,transparent);border:1px solid color-mix(in srgb,var(--primary) 20%,transparent);border-radius:4px;font-size:12px;color:var(--primary);font-family:Courier New,monospace}.channel-result[data-v-806ce5a4]{display:flex;align-items:center;gap:6px;margin-top:10px;padding:8px 12px;background:color-mix(in srgb,var(--status-online) 10%,transparent);border:1px solid color-mix(in srgb,var(--status-online) 30%,transparent);border-radius:6px;color:var(--status-online);font-size:13px}.modal-body[data-v-806ce5a4]{padding:20px;overflow-y:auto;min-height:200px}.modal-footer[data-v-806ce5a4]{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:16px 20px;border-top:1px solid var(--border)}.footer-left[data-v-806ce5a4]{flex-shrink:0}.footer-hint[data-v-806ce5a4]{font-size:12px;color:var(--status-warning)}.footer-right[data-v-806ce5a4]{display:flex;gap:8px}.form-section[data-v-806ce5a4]{margin-bottom:14px;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:8px}.form-row[data-v-806ce5a4]{display:flex;gap:12px;margin-bottom:10px}.form-row[data-v-806ce5a4]:last-child{margin-bottom:0}.form-group[data-v-806ce5a4]{margin-bottom:14px}.form-group-half[data-v-806ce5a4]{flex:1;margin-bottom:0}.channel-config .form-group[data-v-806ce5a4]{margin-bottom:0}.driver-specific-config[data-v-806ce5a4]{margin-top:12px;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:8px}.driver-section-title[data-v-806ce5a4]{font-size:13px;font-weight:600;color:var(--text);margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--border-light)}.s7-switch-group[data-v-806ce5a4]{margin-bottom:0}.switch-row[data-v-806ce5a4]{display:flex;align-items:center;gap:10px}.form-label[data-v-806ce5a4]{display:block;font-size:13px;font-weight:500;color:var(--text);margin-bottom:6px}.form-label-sm[data-v-806ce5a4]{display:block;font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:4px}.required[data-v-806ce5a4]{color:var(--status-error)}.form-hint[data-v-806ce5a4]{font-size:12px;color:var(--text-secondary);margin:4px 0 0}.form-input[data-v-806ce5a4]{width:100%;padding:9px 12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:14px;outline:none;transition:border-color .2s;box-sizing:border-box}.form-input[data-v-806ce5a4]::placeholder{color:var(--text-secondary)}.form-input[data-v-806ce5a4]:focus{border-color:var(--primary)}.form-input-sm[data-v-806ce5a4]{padding:6px 10px;font-size:13px;border-radius:6px}.form-checkbox[data-v-806ce5a4]{width:16px;height:16px;cursor:pointer;accent-color:var(--primary)}.form-select[data-v-806ce5a4]{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;cursor:pointer}.form-textarea[data-v-806ce5a4]{resize:vertical;min-height:48px}.form-error[data-v-806ce5a4]{color:var(--status-error);font-size:13px;margin:-4px 0 0}.btn[data-v-806ce5a4]{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;line-height:1.5}.btn[data-v-806ce5a4]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-806ce5a4]{background:var(--primary);color:var(--text)}.btn-primary[data-v-806ce5a4]:hover:not(:disabled){background:var(--primary)}.btn-secondary[data-v-806ce5a4]{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn-secondary[data-v-806ce5a4]:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.btn-sm[data-v-806ce5a4]{padding:4px 10px;font-size:12px}.template-tree-box[data-v-806ce5a4]{border:1px solid var(--border);border-radius:8px;background:var(--surface);max-height:220px;overflow-y:auto}.template-tree-box.disabled[data-v-806ce5a4]{opacity:.6;pointer-events:none}.selected-template[data-v-806ce5a4]{display:flex;align-items:center;justify-content:space-between;padding:10px 12px}.selected-info[data-v-806ce5a4]{display:flex;flex-direction:column;gap:2px}.selected-name[data-v-806ce5a4]{font-size:14px;font-weight:500;color:var(--text)}.selected-type[data-v-806ce5a4]{font-size:12px;color:var(--text-secondary)}.btn-clear[data-v-806ce5a4]{background:transparent;border:none;font-size:18px;color:var(--text-secondary);cursor:pointer;padding:0 4px;line-height:1}.btn-clear[data-v-806ce5a4]:hover{color:var(--status-error)}.template-tree[data-v-806ce5a4]{padding:4px 0}.tree-loading[data-v-806ce5a4],.tree-empty[data-v-806ce5a4]{padding:16px;text-align:center;font-size:13px;color:var(--text-secondary)}.tree-node[data-v-806ce5a4]{display:flex;align-items:center;gap:6px;padding:6px 12px;cursor:pointer;transition:background .15s;font-size:13px;color:var(--text)}.tree-node[data-v-806ce5a4]:hover{background:var(--border-light)}.industry-node[data-v-806ce5a4]{font-weight:500}.category-node[data-v-806ce5a4]{padding-left:36px;color:var(--text-secondary)}.template-node[data-v-806ce5a4]{padding-left:60px;font-size:12px}.template-node[data-v-806ce5a4]:hover{color:var(--primary)}.chevron[data-v-806ce5a4]{flex-shrink:0;transition:transform .2s}.chevron.rotated[data-v-806ce5a4]{transform:rotate(90deg)}.node-label[data-v-806ce5a4]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-count[data-v-806ce5a4]{font-size:11px;color:var(--text-secondary);background:var(--border-light);padding:1px 6px;border-radius:8px;flex-shrink:0}.version-tag[data-v-806ce5a4]{font-size:10px;color:var(--text-secondary);flex-shrink:0}.industry-children[data-v-806ce5a4]{border-left:1px solid var(--border);margin-left:19px}.channel-errors[data-v-806ce5a4]{margin-top:8px;padding:8px;background:color-mix(in srgb,var(--status-error) 10%,transparent);border:1px solid color-mix(in srgb,var(--status-error) 30%,transparent);border-radius:6px}.channel-actions[data-v-806ce5a4]{margin-top:10px;display:flex;gap:8px}.driver-version[data-v-806ce5a4]{font-size:11px;color:var(--text-secondary)}.tree-node[data-v-e75088d5]{display:flex;align-items:center;gap:4px;padding:6px 12px;cursor:pointer;transition:background .15s;font-size:13px;color:var(--text)}.tree-node[data-v-e75088d5]:hover{background:var(--border-light)}.tree-node.active[data-v-e75088d5]{background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary)}.device-node[data-v-e75088d5]{font-size:12px}.chevron[data-v-e75088d5]{flex-shrink:0;transition:transform .2s;color:var(--text-secondary)}.chevron.rotated[data-v-e75088d5]{transform:rotate(90deg)}.chevron-placeholder[data-v-e75088d5]{width:10px;height:10px;flex-shrink:0}.node-label[data-v-e75088d5]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-count[data-v-e75088d5]{font-size:11px;color:var(--text-secondary);background:var(--border-light);padding:1px 6px;border-radius:8px;flex-shrink:0}.node-icon[data-v-e75088d5]{flex-shrink:0}.group-node[data-v-e75088d5]{font-weight:500}.group-actions[data-v-e75088d5]{display:flex;gap:2px;opacity:0;transition:opacity .15s;width:0;overflow:visible}.group-node:hover .group-actions[data-v-e75088d5]{opacity:1;width:auto;overflow:visible}.btn-tree-action[data-v-e75088d5]{width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .15s;flex-shrink:0}.btn-tree-action[data-v-e75088d5]:hover{color:var(--text);background:var(--border-light)}.btn-tree-action-danger[data-v-e75088d5]:hover{color:var(--status-error);background:#dc26261f;border-color:var(--status-error)}.group-children[data-v-e75088d5]{border-left:1px solid var(--border)}.status-dot[data-v-e75088d5]{width:6px;height:6px;border-radius:50%;flex-shrink:0}.status-dot.status-online[data-v-e75088d5]{background:var(--status-online)}.status-dot.status-offline[data-v-e75088d5]{background:var(--text-secondary)}.status-dot.status-connecting[data-v-e75088d5]{background:var(--primary)}.status-dot.status-degraded[data-v-e75088d5]{background:var(--status-warning)}.status-dot.status-error[data-v-e75088d5]{background:var(--status-error)}.tree-empty-small[data-v-e75088d5]{padding:8px 16px 8px 48px;font-size:12px;color:var(--text-secondary)}.data-panel-overlay[data-v-77ef7e32]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.data-panel[data-v-77ef7e32]{background:var(--background);border-radius:12px;width:95%;max-width:1200px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000004d,0 8px 10px -6px #0003}.data-panel-header[data-v-77ef7e32]{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--border);flex-shrink:0}.data-panel-title[data-v-77ef7e32]{flex:1;overflow:hidden}.data-panel-title h2[data-v-77ef7e32]{font-size:16px;font-weight:600;color:var(--text);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-panel-sub[data-v-77ef7e32]{font-size:12px;color:var(--text-secondary);font-family:Courier New,monospace}.data-panel-actions[data-v-77ef7e32]{display:flex;align-items:center;gap:8px}.data-panel-close[data-v-77ef7e32]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:18px;transition:all .15s}.data-panel-close[data-v-77ef7e32]:hover{color:var(--text);background:var(--border-light)}.data-panel-body[data-v-77ef7e32]{flex:1;overflow-y:auto;padding:16px 20px}.data-panel-empty[data-v-77ef7e32]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:var(--text-secondary);gap:12px;font-size:14px}.tag-data-table[data-v-77ef7e32]{width:100%;border-collapse:collapse;font-size:13px}.tag-data-table th[data-v-77ef7e32]{text-align:left;padding:10px 12px;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border)}.tag-data-table td[data-v-77ef7e32]{padding:10px 12px;color:var(--text);border-bottom:1px solid var(--border)}.tag-name[data-v-77ef7e32]{font-weight:500;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-address[data-v-77ef7e32]{font-family:Courier New,monospace;font-size:12px;color:var(--text-secondary)}.mono[data-v-77ef7e32]{font-family:Courier New,monospace}.tag-value[data-v-77ef7e32]{font-weight:600;color:var(--text)}.tag-value.value-null[data-v-77ef7e32]{color:var(--text-secondary);font-style:italic}.tag-time[data-v-77ef7e32]{font-family:Courier New,monospace;font-size:12px;color:var(--text-secondary)}.num-col[data-v-77ef7e32]{text-align:right;min-width:120px}.auto-dot[data-v-77ef7e32]{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--text-secondary);margin-right:6px}.auto-dot.active[data-v-77ef7e32]{background:var(--status-online);animation:pulse-77ef7e32 2s infinite}@keyframes pulse-77ef7e32{0%,to{opacity:1}50%{opacity:.5}}.data-panel-footer[data-v-77ef7e32]{padding:12px 20px;border-top:1px solid var(--border);font-size:12px;color:var(--text-secondary);flex-shrink:0}.btn[data-v-77ef7e32]{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;line-height:1.5}.btn[data-v-77ef7e32]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-77ef7e32]{background:var(--primary);color:var(--button-text)}.btn-primary[data-v-77ef7e32]:hover:not(:disabled){background:var(--button-hover)}.btn-secondary[data-v-77ef7e32]{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn-secondary[data-v-77ef7e32]:hover:not(:disabled){background:var(--border-light)}.btn-sm[data-v-77ef7e32]{padding:6px 12px;font-size:13px}.type-badge[data-v-77ef7e32]{display:inline-block;padding:2px 8px;background:var(--surface);border:1px solid var(--border);border-radius:4px;font-size:12px;color:var(--text-secondary)}.dir-badge[data-v-77ef7e32]{display:inline-block;padding:1px 6px;border-radius:4px;font-size:12px;font-weight:500}.dir-badge.dir-read[data-v-77ef7e32]{background:var(--surface);color:var(--text-secondary);border:1px solid var(--border)}.dir-badge.dir-write[data-v-77ef7e32]{background:var(--status-warning);color:#fff}.dir-badge.dir-read-write[data-v-77ef7e32]{background:var(--primary);color:var(--button-text)}.quality-badge[data-v-77ef7e32]{display:inline-block;padding:1px 6px;border-radius:4px;font-size:12px;font-weight:500;text-transform:uppercase}.quality-badge.q-good[data-v-77ef7e32]{background:var(--status-online);color:#fff}.quality-badge.q-bad[data-v-77ef7e32]{background:var(--status-error);color:#fff}.quality-badge.q-uncertain[data-v-77ef7e32]{background:var(--status-warning);color:#fff}.quality-badge.q-NOP[data-v-77ef7e32],.quality-badge.q-OOS[data-v-77ef7e32]{background:var(--surface);color:var(--text-secondary);border:1px solid var(--border)}.tag-desc[data-v-77ef7e32]{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary);font-size:12px}.tag-unit[data-v-77ef7e32]{color:var(--text-secondary);font-size:12px}.desc-col[data-v-77ef7e32]{min-width:80px}.dir-col[data-v-77ef7e32],.unit-col[data-v-77ef7e32]{width:60px}.quality-col[data-v-77ef7e32]{width:80px}.device-list-view[data-v-03c076e1]{height:100%;display:flex;overflow:hidden}.sidebar[data-v-03c076e1]{width:240px;min-width:240px;border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;overflow-x:auto;background:var(--surface)}.sidebar-title[data-v-03c076e1]{padding:16px 16px 12px;font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.sidebar-header[data-v-03c076e1]{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 12px;flex-shrink:0}.sidebar-header .sidebar-title[data-v-03c076e1]{padding:0}.btn-add-group[data-v-03c076e1]{width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .15s;flex-shrink:0}.btn-add-group[data-v-03c076e1]:hover{color:var(--primary);border-color:var(--primary);background:#3b82f61a}.sidebar-header-actions[data-v-03c076e1]{display:flex;align-items:center;gap:4px}.btn-refresh[data-v-03c076e1]{width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .15s;flex-shrink:0}.btn-refresh[data-v-03c076e1]:hover:not(:disabled){color:var(--primary);border-color:var(--primary);background:#3b82f61a}.btn-refresh[data-v-03c076e1]:disabled{opacity:.4;cursor:not-allowed}.btn-refresh .spinning[data-v-03c076e1]{animation:spin-03c076e1 .8s linear infinite}.group-actions[data-v-03c076e1]{display:flex;gap:2px;opacity:1;transition:opacity .15s}.btn-tree-action[data-v-03c076e1]{width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .15s;flex-shrink:0}.btn-tree-action[data-v-03c076e1]:hover{color:var(--text);background:var(--border-light)}.btn-tree-action-danger[data-v-03c076e1]:hover{color:var(--status-error);background:#dc26261f;border-color:var(--status-error)}.sidebar-tree[data-v-03c076e1]{flex:1;overflow-y:auto;overflow-x:auto;padding:4px 0}.tree-empty[data-v-03c076e1]{padding:24px 16px;text-align:center;font-size:13px;color:var(--text-secondary)}.tree-empty-small[data-v-03c076e1]{padding:8px 16px 8px 48px;font-size:12px;color:var(--text-secondary)}.tree-loading[data-v-03c076e1]{padding:8px 16px 8px 36px;font-size:12px;color:var(--text-secondary)}.tree-node[data-v-03c076e1]{display:flex;align-items:center;gap:6px;padding:6px 12px;cursor:pointer;transition:background .15s;font-size:13px;color:var(--text)}.tree-node[data-v-03c076e1]:hover{background:var(--border-light)}.tree-node.active[data-v-03c076e1]{background:#3b82f61f;color:var(--primary)}.project-node[data-v-03c076e1]{font-weight:600;padding:7px 12px}.device-node[data-v-03c076e1]{font-size:12px}.chevron[data-v-03c076e1]{flex-shrink:0;transition:transform .2s;color:var(--text-secondary)}.chevron.rotated[data-v-03c076e1]{transform:rotate(90deg)}.node-label[data-v-03c076e1]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-count[data-v-03c076e1]{font-size:11px;color:var(--text-secondary);background:var(--border-light);padding:1px 6px;border-radius:8px;flex-shrink:0}.status-dot[data-v-03c076e1]{width:6px;height:6px;border-radius:50%;flex-shrink:0}.status-dot.status-online[data-v-03c076e1]{background:var(--status-online)}.status-dot.status-offline[data-v-03c076e1]{background:var(--status-offline)}.status-dot.status-connecting[data-v-03c076e1]{background:var(--primary)}.status-dot.status-degraded[data-v-03c076e1]{background:var(--status-warning)}.status-dot.status-error[data-v-03c076e1]{background:var(--status-error)}.project-children[data-v-03c076e1]{border-left:1px solid var(--border);margin-left:19px}.group-children[data-v-03c076e1]{border-left:1px solid var(--border);margin-left:43px}.main-content[data-v-03c076e1]{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.main-content[data-v-03c076e1]>.smart-table-root{flex:1;min-height:0;margin:0 24px 16px}.page-header[data-v-03c076e1]{display:flex;align-items:center;gap:16px;padding:16px 24px 12px;flex-shrink:0}.header-left[data-v-03c076e1]{display:flex;align-items:baseline;gap:10px;flex-shrink:0}.header-actions[data-v-03c076e1]{display:flex;gap:8px;align-items:center;flex-shrink:0}.page-title[data-v-03c076e1]{font-size:22px;font-weight:700;color:var(--text);margin:0}.device-count[data-v-03c076e1]{font-size:13px;color:var(--text-secondary);white-space:nowrap}.toolbar[data-v-03c076e1]{flex:1;display:flex;align-items:center;gap:12px;flex-shrink:0}.search-box[data-v-03c076e1]{position:relative;display:inline-flex;align-items:center;flex:1;min-width:0}.search-icon[data-v-03c076e1]{position:absolute;left:12px;color:var(--text-secondary);pointer-events:none}.search-input[data-v-03c076e1]{width:100%;padding:7px 36px;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:13px;outline:none;transition:border-color .2s;box-sizing:border-box}.search-input[data-v-03c076e1]::placeholder{color:var(--text-secondary)}.search-input[data-v-03c076e1]:focus{border-color:var(--primary)}.search-btn[data-v-03c076e1]{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;border-radius:6px;transition:all .15s}.search-btn[data-v-03c076e1]:hover{color:var(--primary);background:#3b82f61a}.status-filter[data-v-03c076e1]{padding:7px 28px 7px 12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:13px;cursor:pointer;height:34px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right 10px center;flex-shrink:0}.status-filter[data-v-03c076e1]:focus{border-color:var(--primary);outline:none}.loading-state[data-v-03c076e1],.empty-state[data-v-03c076e1]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:var(--text-secondary);gap:12px}.empty-state h3[data-v-03c076e1]{font-size:18px;color:var(--text);margin:0}.empty-state p[data-v-03c076e1]{margin:0;font-size:14px}.empty-hint[data-v-03c076e1]{max-width:560px;text-align:center;line-height:1.7;padding:10px 14px;border-radius:8px;background:color-mix(in srgb,var(--primary) 8%,transparent)}.spinner[data-v-03c076e1]{width:32px;height:32px;border:3px solid var(--border-light);border-top-color:var(--primary);border-radius:50%;animation:spin-03c076e1 .8s linear infinite}@keyframes spin-03c076e1{to{transform:rotate(360deg)}}.cell-primary[data-v-03c076e1]{font-weight:600;color:var(--text);margin-bottom:2px}.cell-group[data-v-03c076e1]{font-size:11px;color:var(--text-secondary);margin-top:4px}.device-code[data-v-03c076e1]{font-family:Courier New,monospace;font-size:12px;color:var(--primary)}.type-badge[data-v-03c076e1]{display:inline-block;padding:2px 8px;background:var(--surface);border:1px solid var(--border);border-radius:4px;font-size:12px;color:var(--text-secondary)}.template-badge[data-v-03c076e1]{display:inline-block;max-width:180px;padding:3px 10px;background:color-mix(in srgb,var(--chart-5) 10%,transparent);border:1px solid color-mix(in srgb,var(--chart-5) 20%,transparent);border-radius:4px;font-size:12px;color:var(--chart-5);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.template-empty[data-v-03c076e1]{font-size:12px;color:var(--text-secondary);font-style:italic}.status-badge[data-v-03c076e1]{display:inline-flex;align-items:center;padding:2px 10px;border-radius:10px;font-size:12px;font-weight:500}.status-online[data-v-03c076e1]{background:color-mix(in srgb,var(--status-online) 15%,transparent);color:var(--status-online)}.status-offline[data-v-03c076e1]{background:color-mix(in srgb,var(--status-offline) 15%,transparent);color:var(--status-offline)}.status-connecting[data-v-03c076e1]{background:color-mix(in srgb,var(--primary) 15%,transparent);color:var(--primary)}.status-degraded[data-v-03c076e1]{background:color-mix(in srgb,var(--status-warning) 15%,transparent);color:var(--status-warning)}.status-error[data-v-03c076e1]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.row-actions[data-v-03c076e1]{display:flex;gap:4px;opacity:1;transition:opacity .15s}.btn-icon[data-v-03c076e1]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.btn-icon[data-v-03c076e1]:hover{color:var(--text);background:var(--border-light)}.btn-icon-danger[data-v-03c076e1]:hover{color:var(--status-error);background:#dc26261f;border-color:var(--status-error)}.btn[data-v-03c076e1]{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;line-height:1.5}.btn[data-v-03c076e1]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-03c076e1]{background:var(--primary);color:var(--button-text)}.btn-primary[data-v-03c076e1]:hover:not(:disabled){background:var(--button-hover)}.btn-secondary[data-v-03c076e1]{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn-secondary[data-v-03c076e1]:hover:not(:disabled){background:var(--border-light)}.btn-danger[data-v-03c076e1]{background:var(--status-error);color:var(--button-text)}.btn-danger[data-v-03c076e1]:hover:not(:disabled){opacity:.9}.btn-sm[data-v-03c076e1]{padding:6px 12px;font-size:13px}.modal-overlay[data-v-03c076e1]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-03c076e1]{background:var(--background);border-radius:12px;width:90%;max-width:540px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000004d}.modal-sm[data-v-03c076e1]{width:400px}.modal-header[data-v-03c076e1]{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--border);flex-shrink:0}.modal-header h2[data-v-03c076e1]{font-size:16px;font-weight:600;color:var(--text);margin:0}.modal-close[data-v-03c076e1]{background:transparent;border:none;padding:4px;cursor:pointer;color:var(--text-secondary);border-radius:6px;font-size:20px}.modal-close[data-v-03c076e1]:hover{color:var(--text);background:var(--border-light)}.modal-body[data-v-03c076e1]{padding:20px;overflow-y:auto}.modal-footer[data-v-03c076e1]{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--border)}.warning-text[data-v-03c076e1]{color:var(--status-warning);font-size:13px;margin:8px 0 0}.form-group[data-v-03c076e1]{margin-bottom:14px}.form-label[data-v-03c076e1]{display:block;font-size:13px;font-weight:500;color:var(--text);margin-bottom:6px}.required[data-v-03c076e1]{color:var(--status-error)}.form-input[data-v-03c076e1]{width:100%;padding:9px 12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:14px;outline:none;transition:border-color .2s;box-sizing:border-box}.form-input[data-v-03c076e1]::placeholder{color:var(--text-secondary)}.form-input[data-v-03c076e1]:focus{border-color:var(--primary)}.form-select[data-v-03c076e1]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 8px center;background-repeat:no-repeat;background-size:20px;padding-right:32px}.form-select option[data-v-03c076e1]{background:var(--background);color:var(--text)}.form-textarea[data-v-03c076e1]{resize:vertical;min-height:48px}.form-error[data-v-03c076e1]{color:var(--status-error);font-size:13px;margin:-4px 0 0}.move-device-name[data-v-03c076e1]{font-size:14px;font-weight:600;color:var(--text);margin:0 0 8px}.move-hint[data-v-03c076e1]{font-size:12px;color:var(--text-secondary);margin:0 0 12px}.move-group-list[data-v-03c076e1]{max-height:320px;overflow-y:auto;border:1px solid var(--border);border-radius:8px;padding:6px}.move-group-item[data-v-03c076e1]{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:6px;cursor:pointer;font-size:13px;color:var(--text);transition:background .15s}.move-group-item[data-v-03c076e1]:hover{background:var(--border-light)}.move-group-item.selected[data-v-03c076e1]{background:#3b82f61f;color:var(--primary);font-weight:500}.error-info[data-v-03c076e1]{display:flex;flex-direction:column;gap:8px}.error-info-row[data-v-03c076e1]{display:flex;justify-content:space-between;align-items:center;padding:6px 0}.error-info-label[data-v-03c076e1]{font-size:13px;color:var(--text-secondary);min-width:80px}.error-info-value[data-v-03c076e1]{font-size:13px;color:var(--text);text-align:right;word-break:break-all}.error-info-divider[data-v-03c076e1]{height:1px;background:var(--border);margin:4px 0}.error-message-card[data-v-03c076e1]{margin-top:8px;padding:12px;background:#dc26260f;border:1px solid rgba(220,38,38,.2);border-radius:6px}.error-message-card-empty[data-v-03c076e1]{background:var(--border-light);border-color:var(--border)}.error-message-title[data-v-03c076e1]{font-size:12px;font-weight:600;color:var(--status-error);margin-bottom:6px}.error-message-content[data-v-03c076e1]{font-size:12px;color:var(--text);white-space:pre-wrap;word-break:break-all;line-height:1.5;max-height:200px;overflow-y:auto;margin:0;font-family:Cascadia Code,Fira Code,Consolas,monospace}.error-message-empty[data-v-03c076e1]{font-size:12px;color:var(--text-secondary)}.error-pill[data-v-03c076e1]{display:inline-flex;align-items:center;justify-content:center;min-width:22px;padding:1px 6px;border-radius:10px;font-size:12px;font-weight:500;background:var(--border-light);color:var(--text-secondary)}.error-pill-active[data-v-03c076e1]{background:#dc26261f;color:var(--status-error)}.error-info-diagnostics[data-v-03c076e1]{margin-top:4px}.diagnostics-title[data-v-03c076e1]{font-size:12px;font-weight:600;color:var(--text);margin-bottom:6px;padding-bottom:4px;border-bottom:1px solid var(--border)}.diagnostics-value[data-v-03c076e1]{font-size:13px;font-weight:500}.diagnostics-value.circuit-open[data-v-03c076e1]{color:var(--status-error)}.diagnostics-value.circuit-half-open[data-v-03c076e1]{color:var(--status-warning)}.diagnostics-value.circuit-closed[data-v-03c076e1]{color:var(--status-online)}.view-toggle[data-v-03c076e1]{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.view-btn[data-v-03c076e1]{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:var(--surface);color:var(--text-secondary);cursor:pointer;transition:background .15s,color .15s}.view-btn+.view-btn[data-v-03c076e1]{border-left:1px solid var(--border)}.view-btn[data-v-03c076e1]:hover{color:var(--text)}.view-btn.active[data-v-03c076e1]{background:color-mix(in srgb,var(--primary) 14%,transparent);color:var(--primary)}.device-cards[data-v-03c076e1]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-content:start;flex:1;min-height:0;overflow-y:auto;padding:0 24px 12px}.device-card[data-v-03c076e1]{display:flex;flex-direction:column;gap:8px;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:border-color .15s,box-shadow .15s}.device-card[data-v-03c076e1]:hover{border-color:var(--primary);box-shadow:0 2px 10px color-mix(in srgb,var(--primary) 12%,transparent)}.device-card.ai-highlight[data-v-03c076e1]{animation:ai-highlight-pulse-03c076e1 1.2s ease-in-out 2}@keyframes ai-highlight-pulse-03c076e1{0%,to{box-shadow:none}50%{box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 55%,transparent)}}.card-header[data-v-03c076e1]{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.card-thumb[data-v-03c076e1]{width:36px;height:36px;flex-shrink:0;border-radius:6px;object-fit:cover;border:1px solid var(--border)}.card-title[data-v-03c076e1]{display:flex;flex-direction:column;gap:2px;min-width:0}.card-name[data-v-03c076e1]{font-size:13px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-code[data-v-03c076e1]{font-family:Courier New,monospace;font-size:11px;color:var(--text-secondary)}.card-badges[data-v-03c076e1]{display:flex;flex-wrap:wrap;gap:4px}.card-stats[data-v-03c076e1]{display:grid;grid-template-columns:repeat(2,1fr);gap:6px 10px;padding:8px 10px;background:var(--background);border-radius:6px}.stat[data-v-03c076e1]{display:flex;flex-direction:column;gap:2px;min-width:0}.stat-label[data-v-03c076e1]{font-size:10px;color:var(--text-secondary)}.stat-value[data-v-03c076e1]{font-size:11px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-actions[data-v-03c076e1]{display:flex;justify-content:flex-end;gap:6px;border-top:1px solid var(--border);padding-top:8px}.device-card .type-badge[data-v-03c076e1],.device-card .status-badge[data-v-03c076e1]{padding:1px 6px;font-size:11px}.device-card .btn-icon[data-v-03c076e1]{width:24px;height:24px}.device-type-icon[data-v-c8e904a4]{display:block}.device-detail-view[data-v-58d46f6c]{height:100%;overflow-y:auto;padding:20px 24px 32px;width:100%;box-sizing:border-box}.page-header[data-v-58d46f6c]{margin-bottom:20px}.loading-state[data-v-58d46f6c],.empty-state[data-v-58d46f6c]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:var(--text-secondary);gap:12px}.spinner[data-v-58d46f6c]{width:32px;height:32px;border:3px solid var(--border-light);border-top-color:var(--primary);border-radius:50%;animation:spin-58d46f6c .8s linear infinite}@keyframes spin-58d46f6c{to{transform:rotate(360deg)}}.device-info-panel[data-v-58d46f6c]{background:var(--surface);border:1px solid var(--border-light);border-radius:10px;padding:20px 24px;margin-bottom:20px}.device-card-panel[data-v-58d46f6c]{display:flex;flex-direction:column;gap:16px;background:var(--surface);border:1px solid var(--border-light);border-radius:12px;padding:20px 24px;margin-bottom:20px}.device-card-main[data-v-58d46f6c]{display:flex;gap:16px;align-items:flex-start}.device-avatar[data-v-58d46f6c]{display:flex;align-items:center;justify-content:center;width:52px;height:52px;flex-shrink:0;border-radius:12px;background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--primary);overflow:hidden}.avatar-image[data-v-58d46f6c]{width:100%;height:100%;object-fit:cover}.hidden-input[data-v-58d46f6c]{display:none}.link-btn-danger[data-v-58d46f6c]{color:var(--status-error);border-color:color-mix(in srgb,var(--status-error) 30%,transparent)}.link-btn-danger[data-v-58d46f6c]:hover{background:color-mix(in srgb,var(--status-error) 10%,transparent);border-color:var(--status-error)}.device-identity[data-v-58d46f6c]{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}.identity-line[data-v-58d46f6c]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.identity-name[data-v-58d46f6c]{margin:0;font-size:20px;font-weight:600;color:var(--text)}.identity-meta[data-v-58d46f6c]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.meta-chip[data-v-58d46f6c]{display:inline-block;padding:2px 8px;background:var(--background);border:1px solid var(--border-light);border-radius:4px;font-size:12px;color:var(--text-secondary)}.meta-chip-mono[data-v-58d46f6c]{font-family:Courier New,monospace;color:var(--primary)}.identity-desc[data-v-58d46f6c]{margin:0;font-size:13px;color:var(--text-secondary)}.device-card-stats[data-v-58d46f6c]{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}.stat-tile[data-v-58d46f6c]{display:flex;flex-direction:column;gap:4px;padding:10px 12px;background:var(--background);border:1px solid var(--border-light);border-radius:8px;text-align:left}.stat-tile-btn[data-v-58d46f6c]{cursor:pointer;border-style:dashed;color:inherit;font:inherit}.stat-tile-btn[data-v-58d46f6c]:hover{border-color:var(--primary)}.stat-num[data-v-58d46f6c]{font-size:18px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-num-sm[data-v-58d46f6c]{font-size:13px;font-weight:500}.stat-label[data-v-58d46f6c]{font-size:11px;color:var(--text-secondary)}.stat-danger .stat-num[data-v-58d46f6c]{color:var(--status-error)}.device-card-links[data-v-58d46f6c]{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px solid var(--border-light);padding-top:12px}.links-label[data-v-58d46f6c]{font-size:12px;color:var(--text-secondary)}.link-btn[data-v-58d46f6c]{padding:5px 12px;background:transparent;border:1px solid var(--border);border-radius:6px;font-size:12px;color:var(--primary);cursor:pointer;transition:background .15s,border-color .15s}.link-btn[data-v-58d46f6c]:hover{background:color-mix(in srgb,var(--primary) 10%,transparent);border-color:var(--primary)}.info-header[data-v-58d46f6c]{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px}.info-title[data-v-58d46f6c]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.info-title h2[data-v-58d46f6c]{font-size:20px;font-weight:600;color:var(--text);margin:0;display:flex;align-items:center;gap:8px}.device-code-tag[data-v-58d46f6c]{font-size:12px;font-weight:500;color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent);padding:2px 8px;border-radius:4px}.status-badge[data-v-58d46f6c]{display:inline-flex;align-items:center;padding:2px 10px;border-radius:10px;font-size:12px;font-weight:500}.status-online[data-v-58d46f6c]{background:color-mix(in srgb,var(--status-online) 15%,transparent);color:var(--status-online)}.status-offline[data-v-58d46f6c]{background:color-mix(in srgb,var(--text-secondary) 15%,transparent);color:var(--text-secondary)}.status-connecting[data-v-58d46f6c]{background:#93c5fd26;color:var(--status-info)}.status-degraded[data-v-58d46f6c]{background:#facc1526;color:var(--status-warning)}.status-error[data-v-58d46f6c]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.type-badge[data-v-58d46f6c]{display:inline-block;padding:2px 8px;background:var(--background);border:1px solid var(--border-light);border-radius:4px;font-size:12px;color:var(--text-secondary)}.info-grid[data-v-58d46f6c]{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.info-item[data-v-58d46f6c]{display:flex;flex-direction:column;gap:4px}.info-label[data-v-58d46f6c]{font-size:11px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.info-value[data-v-58d46f6c]{font-size:13px;color:var(--text)}.info-value.mono[data-v-58d46f6c]{font-family:Courier New,monospace;font-size:12px;color:var(--text-secondary)}.text-danger[data-v-58d46f6c]{color:var(--status-error)}.tags-panel[data-v-58d46f6c]{background:var(--surface);border:1px solid var(--border-light);border-radius:10px;padding:20px 24px}.tags-header[data-v-58d46f6c]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.tags-header h3[data-v-58d46f6c]{font-size:16px;font-weight:600;color:var(--text);margin:0}.tags-empty[data-v-58d46f6c]{text-align:center;padding:40px 20px;color:var(--text-secondary);font-size:14px}.tags-table-wrapper[data-v-58d46f6c]{overflow-x:auto}.tags-table[data-v-58d46f6c]{width:100%;border-collapse:collapse}.tags-table th[data-v-58d46f6c]{text-align:left;padding:10px 12px;font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--surface)}.tags-table td[data-v-58d46f6c]{padding:10px 12px;font-size:13px;color:var(--text);border-bottom:1px solid var(--background)}.cell-name[data-v-58d46f6c]{font-weight:500}.cell-time[data-v-58d46f6c]{font-size:12px;color:var(--text-secondary);white-space:nowrap}.code[data-v-58d46f6c]{font-family:Courier New,monospace;font-size:12px;background:var(--background);padding:2px 6px;border-radius:3px;color:var(--status-info)}.quality-badge[data-v-58d46f6c]{display:inline-block;padding:1px 8px;border-radius:8px;font-size:12px}.quality-good[data-v-58d46f6c]{background:color-mix(in srgb,var(--status-online) 15%,transparent);color:var(--status-online)}.quality-bad[data-v-58d46f6c]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.btn[data-v-58d46f6c]{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;line-height:1.5}.btn[data-v-58d46f6c]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-58d46f6c]{background:var(--primary);color:var(--text)}.btn-primary[data-v-58d46f6c]:hover:not(:disabled){opacity:.9}.btn-secondary[data-v-58d46f6c]{background:var(--border-light);color:var(--text)}.btn-secondary[data-v-58d46f6c]:hover:not(:disabled){background:var(--border)}.btn-sm[data-v-58d46f6c]{padding:5px 10px;font-size:13px}.cell-alarm[data-v-58d46f6c]{white-space:nowrap}.alarm-limit-text[data-v-58d46f6c]{font-family:Courier New,monospace;font-size:12px;color:var(--status-warning);margin-right:8px}.alarm-limit-empty[data-v-58d46f6c]{color:var(--text-secondary);margin-right:8px}.alarm-limit-btn[data-v-58d46f6c]{padding:2px 8px;font-size:12px}.modal-overlay[data-v-58d46f6c]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-58d46f6c]{background:var(--background);border-radius:12px;width:90%;max-width:480px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000004d}.modal-header[data-v-58d46f6c]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-header h2[data-v-58d46f6c]{font-size:15px;font-weight:600;color:var(--text);margin:0}.modal-close[data-v-58d46f6c]{background:transparent;border:none;padding:4px;cursor:pointer;color:var(--text-secondary);border-radius:6px;font-size:20px;line-height:1}.modal-close[data-v-58d46f6c]:hover{color:var(--text);background:var(--border-light)}.modal-body[data-v-58d46f6c]{padding:20px;overflow-y:auto}.modal-footer[data-v-58d46f6c]{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--border)}.checkbox-row[data-v-58d46f6c]{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text);margin-bottom:16px;cursor:pointer}.checkbox-row input[type=checkbox][data-v-58d46f6c]{width:15px;height:15px;accent-color:var(--primary);cursor:pointer}.form-row[data-v-58d46f6c]{display:flex;gap:12px;margin-bottom:12px}.form-group[data-v-58d46f6c]{flex:1;display:flex;flex-direction:column;gap:4px}.form-group label[data-v-58d46f6c]{font-size:12px;color:var(--text-secondary)}.form-input[data-v-58d46f6c]{padding:8px 10px;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:13px;outline:none;box-sizing:border-box}.form-input[data-v-58d46f6c]:focus{border-color:var(--primary)}.form-input[data-v-58d46f6c]:disabled{opacity:.5;cursor:not-allowed}.form-hint[data-v-58d46f6c]{font-size:12px;color:var(--text-secondary);margin:4px 0 0;line-height:1.5}.channel-panel[data-v-58d46f6c]{background:var(--surface);border:1px solid var(--border-light);border-radius:10px;padding:20px 24px;margin-bottom:20px}.channel-header[data-v-58d46f6c]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.channel-header h3[data-v-58d46f6c]{font-size:16px;font-weight:600;color:var(--text);margin:0}.driver-tag[data-v-58d46f6c]{display:inline-block;padding:2px 8px;background:color-mix(in srgb,var(--primary) 10%,transparent);border:1px solid color-mix(in srgb,var(--primary) 20%,transparent);border-radius:4px;font-size:12px;color:var(--primary);font-family:Courier New,monospace}.channel-grid[data-v-58d46f6c]{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.channel-item[data-v-58d46f6c]{display:flex;flex-direction:column;gap:4px}.channel-label[data-v-58d46f6c]{font-size:11px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.channel-value[data-v-58d46f6c]{font-size:13px;color:var(--text);font-family:Courier New,monospace;word-break:break-all}.tree-node[data-v-8f693386]{display:flex;align-items:center;gap:4px;padding:6px 12px;cursor:pointer;transition:background .15s;font-size:13px;color:var(--text)}.tree-node[data-v-8f693386]:hover{background:var(--border-light)}.tree-node.device-node.active[data-v-8f693386]{background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary)}.group-node[data-v-8f693386]{font-weight:500}.device-node[data-v-8f693386]{font-size:12px}.node-icon[data-v-8f693386]{flex-shrink:0}.group-icon[data-v-8f693386]{color:var(--status-warning)}.device-icon[data-v-8f693386]{color:var(--text-secondary)}.device-icon.device-status-online[data-v-8f693386]{color:var(--status-online)}.device-icon.device-status-offline[data-v-8f693386]{color:var(--status-offline)}.device-icon.device-status-connecting[data-v-8f693386]{color:var(--primary)}.device-icon.device-status-degraded[data-v-8f693386]{color:var(--status-warning)}.device-icon.device-status-error[data-v-8f693386]{color:var(--status-error)}.chevron[data-v-8f693386]{flex-shrink:0;transition:transform .2s;color:var(--text-secondary)}.chevron.rotated[data-v-8f693386]{transform:rotate(90deg)}.chevron-placeholder[data-v-8f693386]{width:10px;height:10px;flex-shrink:0}.node-label[data-v-8f693386]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-count[data-v-8f693386]{font-size:11px;color:var(--text-secondary);background:var(--border-light);padding:1px 6px;border-radius:8px;flex-shrink:0}.group-children[data-v-8f693386]{border-left:1px solid var(--border)}.status-dot[data-v-8f693386]{width:6px;height:6px;border-radius:50%;flex-shrink:0}.status-dot.status-online[data-v-8f693386]{background:var(--status-online)}.status-dot.status-offline[data-v-8f693386]{background:var(--text-secondary)}.status-dot.status-connecting[data-v-8f693386]{background:var(--primary)}.status-dot.status-degraded[data-v-8f693386]{background:var(--status-warning)}.status-dot.status-error[data-v-8f693386]{background:var(--status-error)}.tree-empty-small[data-v-8f693386]{padding:8px 16px 8px 48px;font-size:12px;color:var(--text-secondary)}.dialog-overlay[data-v-1a39a5c4]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#00000073;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fadeIn-1a39a5c4 .15s ease}@keyframes fadeIn-1a39a5c4{0%{opacity:0}to{opacity:1}}.dialog-container[data-v-1a39a5c4]{background:var(--surface);border:1px solid var(--border);border-radius:14px;width:800px;max-width:94vw;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 12px 48px #00000059;animation:slideUp-1a39a5c4 .2s ease}@keyframes slideUp-1a39a5c4{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.dialog-header[data-v-1a39a5c4]{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--border);flex-shrink:0}.header-left[data-v-1a39a5c4]{display:flex;align-items:center;gap:8px;min-width:0}.header-icon[data-v-1a39a5c4]{color:var(--primary);flex-shrink:0}.dialog-title[data-v-1a39a5c4]{font-size:15px;font-weight:600;color:var(--text);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-right[data-v-1a39a5c4]{display:flex;align-items:center;gap:12px;flex-shrink:0}.view-toggle[data-v-1a39a5c4]{display:flex;background:var(--background);border:1px solid var(--border);border-radius:8px;overflow:hidden}.view-toggle-btn[data-v-1a39a5c4]{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;border:none;background:transparent;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap}.view-toggle-btn[data-v-1a39a5c4]:hover{color:var(--text)}.view-toggle-btn.active[data-v-1a39a5c4]{background:var(--primary);color:var(--button-text)}.dialog-close[data-v-1a39a5c4]{width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .15s;flex-shrink:0}.dialog-close[data-v-1a39a5c4]:hover{color:var(--text);border-color:var(--text-secondary);background:var(--hover)}.tag-info-bar[data-v-1a39a5c4]{display:flex;align-items:center;gap:14px;padding:10px 20px;background:var(--background);border-bottom:1px solid var(--border-light);flex-shrink:0}.tag-info-chip[data-v-1a39a5c4]{display:flex;align-items:center;gap:6px;flex-shrink:0}.chip-label[data-v-1a39a5c4]{font-size:11px;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.3px}.chip-value[data-v-1a39a5c4]{font-size:12px;color:var(--primary);background:color-mix(in srgb,var(--primary) 7%,transparent);padding:2px 8px;border-radius:4px;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mono-sm[data-v-1a39a5c4]{font-family:Courier New,monospace;font-size:11px}.tag-info-divider[data-v-1a39a5c4]{width:1px;height:16px;background:var(--border);flex-shrink:0}.query-toolbar[data-v-1a39a5c4]{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;padding:12px 20px;border-bottom:1px solid var(--border-light);flex-shrink:0}.query-toolbar .query-btn[data-v-1a39a5c4]{margin-left:auto}.query-toolbar .form-select[data-v-1a39a5c4],.query-toolbar .query-btn[data-v-1a39a5c4]{height:28px;padding-top:0;padding-bottom:0;box-sizing:border-box}.preset-row[data-v-1a39a5c4]{display:flex;gap:6px;margin-bottom:10px}.preset-chip[data-v-1a39a5c4]{padding:4px 12px;border:1px solid var(--border);border-radius:16px;background:transparent;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap}.preset-chip[data-v-1a39a5c4]:hover{border-color:var(--primary);color:var(--primary);background:color-mix(in srgb,var(--primary) 4%,transparent)}.preset-chip.active[data-v-1a39a5c4]{background:var(--primary);border-color:var(--primary);color:var(--button-text)}.range-bar[data-v-1a39a5c4]{display:flex;align-items:center;gap:0;background:var(--background);border:1px solid var(--border);border-radius:10px;padding:6px;transition:border-color .15s}.range-bar[data-v-1a39a5c4]:focus-within{border-color:var(--primary)}.range-field[data-v-1a39a5c4]{flex:1;display:flex;align-items:center;gap:6px;min-width:0}.range-icon[data-v-1a39a5c4]{color:var(--text-secondary);flex-shrink:0;margin-left:4px}.range-datetime-input[data-v-1a39a5c4]{flex:1;padding:6px 2px;border:none;background:transparent;color:var(--text);font-size:13px;font-family:Courier New,monospace;outline:none;min-width:0}.range-datetime-input[data-v-1a39a5c4]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6;transition:opacity .15s}.range-datetime-input[data-v-1a39a5c4]::-webkit-calendar-picker-indicator:hover{opacity:1}.range-connector[data-v-1a39a5c4]{display:flex;align-items:center;justify-content:center;padding:0 4px;color:var(--text-secondary);flex-shrink:0}.query-btn[data-v-1a39a5c4]{display:inline-flex;align-items:center;gap:6px;padding:7px 18px;border:none;border-radius:8px;background:var(--primary);color:var(--button-text);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;flex-shrink:0;white-space:nowrap}.query-btn[data-v-1a39a5c4]:hover:not(:disabled){filter:brightness(1.1);box-shadow:0 2px 8px color-mix(in srgb,var(--primary) 30%,transparent)}.query-btn[data-v-1a39a5c4]:disabled{opacity:.5;cursor:not-allowed}.interp-field[data-v-1a39a5c4]{display:flex;flex-direction:column;gap:4px}.interp-field label[data-v-1a39a5c4]{font-size:11px;color:var(--text-secondary);font-weight:500}.form-select[data-v-1a39a5c4]{padding:5px 28px 5px 10px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text);font-size:13px;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 8px center;background-repeat:no-repeat;background-size:20px}.form-select option[data-v-1a39a5c4]{background:var(--background);color:var(--text)}.form-select[data-v-1a39a5c4]:focus{border-color:var(--primary)}.spinner[data-v-1a39a5c4]{animation:spin-1a39a5c4 .8s linear infinite}@keyframes spin-1a39a5c4{to{transform:rotate(360deg)}}.content-area[data-v-1a39a5c4]{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.toolbar[data-v-1a39a5c4]{display:flex;align-items:center;justify-content:space-between;padding:8px 20px;border-bottom:1px solid var(--border-light);flex-shrink:0}.data-count[data-v-1a39a5c4]{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary)}.record-count[data-v-1a39a5c4]{margin-left:auto;font-size:12px;color:var(--text-secondary);white-space:nowrap}.toolbar-actions[data-v-1a39a5c4]{display:flex;gap:6px}.tool-btn[data-v-1a39a5c4]{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap}.tool-btn[data-v-1a39a5c4]:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.tool-btn[data-v-1a39a5c4]:disabled{opacity:.5;cursor:not-allowed}.loading-area[data-v-1a39a5c4],.empty-area[data-v-1a39a5c4]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:52px 20px;gap:14px;flex:1}.empty-icon[data-v-1a39a5c4]{color:var(--text-secondary);opacity:.5}.empty-text[data-v-1a39a5c4]{color:var(--text-secondary);font-size:14px;margin:0}.trend-view[data-v-1a39a5c4]{flex:1;display:flex;flex-direction:column;min-height:0}.trend-chart-area[data-v-1a39a5c4]{flex:1;min-height:0;padding:12px 12px 0;display:flex;cursor:grab}.trend-chart-area[data-v-1a39a5c4]:hover{cursor:crosshair}.trend-chart-area[data-v-1a39a5c4]:active{cursor:grabbing}.trend-canvas[data-v-1a39a5c4]{width:100%;height:100%;border-radius:8px;background:var(--surface);border:1px solid var(--border)}.datazoom-slider[data-v-1a39a5c4]{flex-shrink:0;height:44px;padding:0 12px 8px;cursor:pointer}.slider-canvas[data-v-1a39a5c4]{width:100%;height:36px;border-radius:4px}.table-view[data-v-1a39a5c4]{flex:1;overflow:hidden;display:flex;flex-direction:column}.data-table-wrapper[data-v-1a39a5c4]{flex:1;overflow-y:auto;padding:0 20px 16px}.history-table[data-v-1a39a5c4]{width:100%;border-collapse:collapse;font-size:13px}.history-table th[data-v-1a39a5c4]{text-align:left;padding:8px 12px;font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--border);position:sticky;top:0;background:var(--surface);z-index:1}.history-table tbody tr[data-v-1a39a5c4]{transition:background .1s}.history-table td[data-v-1a39a5c4]{padding:8px 12px;color:var(--text);border-bottom:1px solid var(--border-light)}.history-table tbody tr[data-v-1a39a5c4]:hover{background:var(--hover)}.num-col[data-v-1a39a5c4]{text-align:right}.mono[data-v-1a39a5c4]{font-family:Courier New,monospace}.td-time[data-v-1a39a5c4]{font-size:12px;color:var(--text-secondary)}.idx-col[data-v-1a39a5c4]{color:var(--text-secondary);font-size:11px;font-weight:500}.value-badge[data-v-1a39a5c4]{display:inline-block;padding:2px 10px;border-radius:6px;font-weight:700;font-size:13px;color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,transparent);font-family:Courier New,monospace}.value-badge.is-null[data-v-1a39a5c4]{color:var(--text-secondary);background:transparent;font-weight:400;font-style:italic}.value-unit[data-v-1a39a5c4]{font-weight:500;font-size:11px;color:var(--text-secondary);margin-left:2px}.th-unit[data-v-1a39a5c4]{font-weight:400;font-size:11px;color:var(--text-secondary);text-transform:none;letter-spacing:normal}.tag-detail-overlay[data-v-c9d68013]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#00000080;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.tag-detail-modal[data-v-c9d68013]{background:var(--background);border-radius:10px;width:90%;max-width:440px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 16px 24px -4px #00000040}.tag-detail-header[data-v-c9d68013]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.tag-detail-title[data-v-c9d68013]{font-size:14px;font-weight:600;color:var(--text);margin:0}.tag-detail-close[data-v-c9d68013]{width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.tag-detail-close[data-v-c9d68013]:hover{color:var(--text);background:var(--border-light)}.tag-detail-body[data-v-c9d68013]{flex:1;overflow-y:auto;padding:12px 16px 16px}.current-value-bar[data-v-c9d68013]{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:10px 14px;margin-bottom:14px;display:flex;flex-direction:column;gap:6px}.current-value-main[data-v-c9d68013]{display:flex;justify-content:space-between;align-items:baseline}.current-value-label[data-v-c9d68013]{font-size:12px;color:var(--text-secondary)}.current-value-number[data-v-c9d68013]{font-size:20px;font-weight:700;color:var(--primary)}.current-value-number.value-null[data-v-c9d68013]{color:var(--text-secondary);font-style:italic;font-size:16px}.current-value-meta[data-v-c9d68013]{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary)}.quality-dot[data-v-c9d68013]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.quality-dot.quality-good[data-v-c9d68013]{background:var(--status-online)}.quality-dot.quality-bad[data-v-c9d68013]{background:var(--status-error)}.quality-text[data-v-c9d68013]{text-transform:capitalize}.quality-sep[data-v-c9d68013]{color:var(--border)}.detail-section[data-v-c9d68013]{margin-bottom:12px}.detail-section[data-v-c9d68013]:last-child{margin-bottom:0}.detail-section-title[data-v-c9d68013]{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 6px}.detail-list[data-v-c9d68013]{display:flex;flex-direction:column;gap:2px}.detail-row[data-v-c9d68013]{display:flex;justify-content:space-between;align-items:center;padding:5px 0}.detail-row+.detail-row[data-v-c9d68013]{border-top:1px solid var(--border-light)}.detail-label[data-v-c9d68013]{font-size:12px;color:var(--text-secondary);white-space:nowrap;flex-shrink:0}.detail-value[data-v-c9d68013]{font-size:13px;color:var(--text);text-align:right;margin-left:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-value-strong[data-v-c9d68013]{font-weight:600}.mono[data-v-c9d68013]{font-family:Consolas,Courier New,monospace;font-size:12px}.type-badge[data-v-c9d68013]{display:inline-block;padding:1px 6px;background:var(--surface);border:1px solid var(--border);border-radius:3px;font-size:11px;color:var(--text-secondary)}.enabled-badge[data-v-c9d68013]{display:inline-block;padding:1px 6px;border-radius:3px;font-size:11px;font-weight:500}.enabled-yes[data-v-c9d68013]{background:var(--status-online-bg, rgba(34, 197, 94, .12));color:var(--status-online)}.enabled-no[data-v-c9d68013]{background:var(--status-offline-bg, rgba(148, 163, 184, .12));color:var(--text-secondary)}.alarm-high[data-v-c9d68013]{color:var(--status-error);font-weight:600}.alarm-low[data-v-c9d68013]{color:var(--status-warning);font-weight:600}.modal-fade-enter-active[data-v-c9d68013],.modal-fade-leave-active[data-v-c9d68013]{transition:opacity .15s ease}.modal-fade-enter-active .tag-detail-modal[data-v-c9d68013],.modal-fade-leave-active .tag-detail-modal[data-v-c9d68013]{transition:transform .15s ease}.modal-fade-enter-from[data-v-c9d68013],.modal-fade-leave-to[data-v-c9d68013]{opacity:0}.modal-fade-enter-from .tag-detail-modal[data-v-c9d68013],.modal-fade-leave-to .tag-detail-modal[data-v-c9d68013]{transform:scale(.95)}.detail-hint[data-v-c9d68013]{padding:6px 0;font-size:12px;color:var(--text-secondary)}.config-group+.config-group[data-v-c9d68013]{margin-top:8px}.config-group-title[data-v-c9d68013]{display:inline-block;margin:4px 0 2px;padding:1px 6px;border-radius:3px;background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary);font-size:11px}.config-value[data-v-c9d68013]{max-width:70%;white-space:normal;word-break:break-all}.config-warnings[data-v-c9d68013]{display:flex;flex-direction:column;gap:4px;margin-top:8px}.config-warning[data-v-c9d68013]{display:flex;align-items:flex-start;gap:6px;padding:5px 8px;border-radius:5px;background:color-mix(in srgb,var(--status-warning) 12%,transparent);border:1px solid color-mix(in srgb,var(--status-warning) 30%,transparent);color:var(--status-warning);font-size:11px;line-height:1.5}.config-warning-icon[data-v-c9d68013]{flex-shrink:0;width:14px;height:14px;border-radius:50%;background:var(--status-warning);color:var(--background);font-size:10px;font-weight:700;line-height:14px;text-align:center}.dict-label[data-v-89984efa]{color:inherit;font-size:inherit}.device-monitor-view[data-v-57fa44bc]{height:100%;display:flex;overflow:hidden}.sidebar[data-v-57fa44bc]{width:240px;min-width:240px;border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;overflow-x:auto;background:var(--surface)}.sidebar-header[data-v-57fa44bc]{display:flex;align-items:center;gap:8px;padding:12px;flex-shrink:0}.sidebar-search[data-v-57fa44bc]{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.search-icon[data-v-57fa44bc]{color:var(--text-secondary);flex-shrink:0}.search-input[data-v-57fa44bc]{flex:1;min-width:0;font-size:12px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:5px 8px;outline:none}.search-input[data-v-57fa44bc]:focus{border-color:var(--primary)}.search-input[data-v-57fa44bc]::placeholder{color:var(--text-secondary)}.search-clear[data-v-57fa44bc]{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:16px;line-height:1;color:var(--text-secondary);background:transparent;border:none;border-radius:4px;cursor:pointer}.search-clear[data-v-57fa44bc]:hover{color:var(--text);background:var(--border-light)}.format-select[data-v-57fa44bc]{position:relative;flex-shrink:0}.format-trigger[data-v-57fa44bc]{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:3px 7px;cursor:pointer}.format-trigger[data-v-57fa44bc]:hover{border-color:var(--primary)}.format-caret[data-v-57fa44bc]{transition:transform .15s;color:var(--text-secondary)}.format-caret.open[data-v-57fa44bc]{transform:rotate(180deg)}.format-backdrop[data-v-57fa44bc]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20}.format-menu[data-v-57fa44bc]{position:absolute;top:calc(100% + 4px);right:0;z-index:21;min-width:96px;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:4px;box-shadow:0 4px 12px #0000001f}.format-option[data-v-57fa44bc]{display:block;width:100%;text-align:left;font-size:12px;color:var(--text);background:transparent;border:none;border-radius:4px;padding:6px 8px;cursor:pointer}.format-option[data-v-57fa44bc]:hover{background:var(--border-light)}.format-option.active[data-v-57fa44bc]{color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,transparent)}.btn-refresh[data-v-57fa44bc]{width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .15s;flex-shrink:0}.btn-refresh[data-v-57fa44bc]:hover:not(:disabled){color:var(--primary);border-color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent)}.btn-refresh[data-v-57fa44bc]:disabled{opacity:.4;cursor:not-allowed}.btn-refresh .spinning[data-v-57fa44bc]{animation:spin-57fa44bc .8s linear infinite}@keyframes spin-57fa44bc{to{transform:rotate(360deg)}}.sidebar-tree[data-v-57fa44bc]{flex:1;overflow-y:auto;overflow-x:auto;padding:4px 0}.tree-empty[data-v-57fa44bc]{padding:24px 16px;text-align:center;font-size:13px;color:var(--text-secondary)}.tree-empty-small[data-v-57fa44bc]{padding:8px 16px 8px 48px;font-size:12px;color:var(--text-secondary)}.tree-loading[data-v-57fa44bc]{padding:8px 16px 8px 36px;font-size:12px;color:var(--text-secondary)}.tree-node[data-v-57fa44bc]{display:flex;align-items:center;gap:6px;padding:6px 12px;cursor:pointer;transition:background .15s;font-size:13px;color:var(--text)}.tree-node[data-v-57fa44bc]:hover{background:var(--border-light)}.tree-node.active[data-v-57fa44bc]{background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary)}.project-node[data-v-57fa44bc]{font-weight:600;padding:7px 12px}.project-icon[data-v-57fa44bc]{color:var(--primary);flex-shrink:0}.root-device-node[data-v-57fa44bc]{padding-left:40px;font-size:12px}.device-icon[data-v-57fa44bc]{color:var(--text-secondary);flex-shrink:0}.device-icon.device-status-online[data-v-57fa44bc]{color:var(--status-online)}.device-icon.device-status-offline[data-v-57fa44bc]{color:var(--status-offline)}.device-icon.device-status-connecting[data-v-57fa44bc]{color:var(--primary)}.device-icon.device-status-degraded[data-v-57fa44bc]{color:var(--status-warning)}.device-icon.device-status-error[data-v-57fa44bc]{color:var(--status-error)}.status-dot[data-v-57fa44bc]{width:6px;height:6px;border-radius:50%;flex-shrink:0}.status-dot.status-online[data-v-57fa44bc]{background:var(--status-online)}.status-dot.status-offline[data-v-57fa44bc]{background:var(--status-offline)}.status-dot.status-connecting[data-v-57fa44bc]{background:var(--primary)}.status-dot.status-degraded[data-v-57fa44bc]{background:var(--status-warning)}.status-dot.status-error[data-v-57fa44bc]{background:var(--status-error)}.chevron[data-v-57fa44bc]{flex-shrink:0;transition:transform .2s;color:var(--text-secondary)}.chevron.rotated[data-v-57fa44bc]{transform:rotate(90deg)}.chevron-placeholder[data-v-57fa44bc]{width:10px;height:10px;flex-shrink:0}.node-label[data-v-57fa44bc]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-count[data-v-57fa44bc]{font-size:11px;color:var(--text-secondary);background:var(--border-light);padding:1px 6px;border-radius:8px;flex-shrink:0}.project-children[data-v-57fa44bc]{border-left:1px solid var(--border);margin-left:19px}.main-content[data-v-57fa44bc]{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.empty-state[data-v-57fa44bc]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:var(--text-secondary);gap:12px}.empty-state h3[data-v-57fa44bc]{font-size:18px;color:var(--text);margin:0}.empty-state p[data-v-57fa44bc]{margin:0;font-size:14px}.empty-state-small[data-v-57fa44bc]{padding:40px 20px;text-align:center;color:var(--text-secondary);font-size:14px}.device-header[data-v-57fa44bc]{display:flex;align-items:center;justify-content:space-between;padding:10px 24px 8px;flex-shrink:0}.device-header-left[data-v-57fa44bc]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.device-name[data-v-57fa44bc]{font-size:18px;font-weight:700;color:var(--text);margin:0}.device-code[data-v-57fa44bc]{font-family:Courier New,monospace;font-size:12px;color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent);padding:2px 8px;border-radius:4px}.status-badge[data-v-57fa44bc]{display:inline-flex;align-items:center;padding:2px 10px;border-radius:10px;font-size:12px;font-weight:500}.status-online[data-v-57fa44bc]{background:color-mix(in srgb,var(--status-online) 15%,transparent);color:var(--status-online)}.status-offline[data-v-57fa44bc]{background:color-mix(in srgb,var(--status-offline) 15%,transparent);color:var(--status-offline)}.status-connecting[data-v-57fa44bc]{background:color-mix(in srgb,var(--primary) 15%,transparent);color:var(--primary)}.status-degraded[data-v-57fa44bc]{background:color-mix(in srgb,var(--status-warning) 15%,transparent);color:var(--status-warning)}.status-error[data-v-57fa44bc]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.type-badge[data-v-57fa44bc]{display:inline-block;padding:2px 8px;background:var(--surface);border:1px solid var(--border);border-radius:4px;font-size:12px;color:var(--text-secondary)}.direction-badge[data-v-57fa44bc]{display:inline-block;padding:2px 6px;border-radius:4px;font-size:12px;font-weight:600;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border)}.dir-read[data-v-57fa44bc]{color:var(--status-online);border-color:color-mix(in srgb,currentColor 30%,transparent);background:color-mix(in srgb,currentColor 10%,transparent)}.dir-write[data-v-57fa44bc]{color:var(--status-warning);border-color:color-mix(in srgb,currentColor 30%,transparent);background:color-mix(in srgb,currentColor 10%,transparent)}.dir-rw[data-v-57fa44bc]{color:var(--primary);border-color:color-mix(in srgb,currentColor 30%,transparent);background:color-mix(in srgb,currentColor 10%,transparent)}.desc-col[data-v-57fa44bc]{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-desc[data-v-57fa44bc]{color:var(--text-secondary);font-size:12px}.tab-bar[data-v-57fa44bc]{display:flex;gap:0;padding:0 24px;border-bottom:1px solid var(--border);flex-shrink:0}.tab-item[data-v-57fa44bc]{padding:10px 20px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s}.tab-item[data-v-57fa44bc]:hover{color:var(--text)}.tab-item.active[data-v-57fa44bc]{color:var(--primary);border-bottom-color:var(--primary)}.tab-content[data-v-57fa44bc]{flex:1;overflow-y:auto;padding:20px 24px}.tab-pane[data-v-57fa44bc]{max-width:1000px}.tab-pane-full[data-v-57fa44bc]{max-width:100%}.tab-pane-header[data-v-57fa44bc]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.tab-pane-actions[data-v-57fa44bc]{display:flex;align-items:center;gap:12px}.info-section[data-v-57fa44bc]{background:var(--surface);border:1px solid var(--border-light);border-radius:10px;padding:16px 20px 18px;margin-bottom:14px;transition:border-color .2s,box-shadow .2s}.info-section[data-v-57fa44bc]:hover{border-color:var(--border);box-shadow:0 2px 8px #0000000a}.info-section-header[data-v-57fa44bc]{display:flex;align-items:center;gap:8px;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--border-light)}.section-icon[data-v-57fa44bc]{color:var(--primary);flex-shrink:0}.section-title[data-v-57fa44bc]{font-size:14px;font-weight:600;color:var(--text);margin:0;flex:1;letter-spacing:.2px}.info-grid[data-v-57fa44bc]{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 24px}.info-item[data-v-57fa44bc]{display:flex;flex-direction:column;gap:5px;min-width:0}.info-grid>.info-item[data-v-57fa44bc]:last-child:nth-child(odd){grid-column:1 / -1;flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.info-label[data-v-57fa44bc]{font-size:11px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.info-value[data-v-57fa44bc]{font-size:14px;color:var(--text);word-break:break-word;line-height:1.5}.info-value.mono[data-v-57fa44bc]{font-family:Courier New,monospace;font-size:13px;color:var(--text)}.info-value-multiline[data-v-57fa44bc]{white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.info-value-empty[data-v-57fa44bc]{color:var(--text-secondary);font-style:italic;font-size:13px}.device-value[data-v-57fa44bc]{color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,transparent);padding:2px 8px;border-radius:4px;align-self:flex-start;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-count-pill[data-v-57fa44bc]{display:inline-flex;align-items:baseline;gap:4px;padding:3px 10px;background:color-mix(in srgb,var(--primary) 10%,transparent);border:1px solid color-mix(in srgb,var(--primary) 20%,transparent);border-radius:12px;font-size:14px;font-weight:600;color:var(--primary);align-self:flex-start}.tag-count-pill em[data-v-57fa44bc]{font-style:normal;font-size:11px;font-weight:400;color:var(--primary);opacity:.7}.error-pill[data-v-57fa44bc]{display:inline-flex;align-items:center;justify-content:center;min-width:28px;padding:2px 10px;border-radius:12px;font-size:13px;font-weight:600;background:color-mix(in srgb,var(--status-online) 12%,transparent);color:var(--status-online);align-self:flex-start}.error-pill-active[data-v-57fa44bc]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error);animation:error-pulse-57fa44bc 2s ease-in-out infinite}@keyframes error-pulse-57fa44bc{0%,to{box-shadow:0 0 color-mix(in srgb,var(--status-error) 30%,transparent)}50%{box-shadow:0 0 0 4px color-mix(in srgb,var(--status-error) 0%,transparent)}}.driver-inline-tag[data-v-57fa44bc]{display:inline-block;padding:2px 8px;background:color-mix(in srgb,var(--primary) 10%,transparent);border:1px solid color-mix(in srgb,var(--primary) 20%,transparent);border-radius:4px;font-size:12px;color:var(--primary);font-family:Courier New,monospace}.status-time-row[data-v-57fa44bc]{display:inline-flex;align-items:center;gap:8px}.status-time-dot[data-v-57fa44bc]{width:8px;height:8px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 2px #0000001a}.status-time-dot.status-online[data-v-57fa44bc]{background:var(--status-online);box-shadow:0 0 0 2px color-mix(in srgb,var(--status-online) 20%,transparent)}.status-time-dot.status-offline[data-v-57fa44bc]{background:var(--status-offline)}.status-time-dot.status-connecting[data-v-57fa44bc]{background:var(--primary);animation:pulse-57fa44bc 2s infinite}.status-time-dot.status-degraded[data-v-57fa44bc]{background:var(--status-warning)}.status-time-dot.status-error[data-v-57fa44bc]{background:var(--status-error)}.text-danger[data-v-57fa44bc]{color:var(--status-error)}.channel-grid[data-v-57fa44bc]{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 16px}.channel-item[data-v-57fa44bc]{display:flex;flex-direction:column;gap:4px;padding:8px 10px;background:var(--background);border-radius:6px;border:1px solid var(--border-light);min-width:0}.channel-label[data-v-57fa44bc]{font-size:11px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.channel-value[data-v-57fa44bc]{font-size:13px;color:var(--text);font-family:Courier New,monospace;word-break:break-all}.driver-tag[data-v-57fa44bc]{display:inline-block;padding:2px 8px;background:color-mix(in srgb,var(--primary) 10%,transparent);border:1px solid color-mix(in srgb,var(--primary) 20%,transparent);border-radius:4px;font-size:12px;color:var(--primary);font-family:Courier New,monospace}.tag-data-table[data-v-57fa44bc]{width:100%;border-collapse:collapse;font-size:13px}.tag-data-table th[data-v-57fa44bc]{text-align:left;padding:10px 12px;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border)}.tag-data-table td[data-v-57fa44bc]{padding:10px 12px;color:var(--text);border-bottom:1px solid var(--border);white-space:nowrap}.tag-name[data-v-57fa44bc]{font-weight:500;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-row[data-v-57fa44bc]{cursor:pointer;transition:background .1s}.tag-row[data-v-57fa44bc]:hover{background:color-mix(in srgb,var(--primary) 6%,transparent)}.tag-row.alarm-row[data-v-57fa44bc]{background:color-mix(in srgb,var(--status-error) 6%,transparent);border-left:3px solid var(--status-error)}.tag-row.alarm-row[data-v-57fa44bc]:hover{background:color-mix(in srgb,var(--status-error) 10%,transparent)}.value-alarm[data-v-57fa44bc]{color:var(--status-error);font-weight:700}.actions-col[data-v-57fa44bc]{width:1%;white-space:nowrap;text-align:center}.btn-history[data-v-57fa44bc]{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--primary);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap}.btn-history[data-v-57fa44bc]:hover{background:var(--primary);color:var(--text);border-color:var(--primary)}.tag-row:hover .btn-history[data-v-57fa44bc]{border-color:var(--primary)}.tag-address[data-v-57fa44bc]{font-family:Courier New,monospace;font-size:12px;color:var(--text-secondary)}.tag-unit[data-v-57fa44bc]{font-size:12px;color:var(--text-secondary)}.mono[data-v-57fa44bc]{font-family:Courier New,monospace}.tag-value[data-v-57fa44bc]{font-weight:600;color:var(--text)}.tag-value.value-null[data-v-57fa44bc]{color:var(--text-secondary);font-style:italic}.tag-time[data-v-57fa44bc]{font-family:Courier New,monospace;font-size:12px;color:var(--text-secondary)}.num-col[data-v-57fa44bc]{text-align:right}.quality-badge[data-v-57fa44bc]{display:inline-block;padding:1px 8px;border-radius:8px;font-size:12px}.quality-good[data-v-57fa44bc]{background:color-mix(in srgb,var(--status-online) 15%,transparent);color:var(--status-online)}.quality-bad[data-v-57fa44bc]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.alarm-rules-table[data-v-57fa44bc]{width:100%;border-collapse:collapse;font-size:13px}.alarm-rules-table th[data-v-57fa44bc]{text-align:left;padding:10px 12px;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border)}.alarm-rules-table td[data-v-57fa44bc]{padding:10px 12px;color:var(--text);border-bottom:1px solid var(--border)}.rule-name[data-v-57fa44bc]{font-weight:500}.level-badge[data-v-57fa44bc]{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.level-info[data-v-57fa44bc]{background:color-mix(in srgb,var(--primary) 15%,transparent);color:var(--primary)}.level-warning[data-v-57fa44bc]{background:color-mix(in srgb,var(--status-warning) 15%,transparent);color:var(--status-warning)}.level-error[data-v-57fa44bc],.level-critical[data-v-57fa44bc]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.enabled-badge[data-v-57fa44bc]{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px}.enabled-yes[data-v-57fa44bc]{background:color-mix(in srgb,var(--status-online) 15%,transparent);color:var(--status-online)}.enabled-no[data-v-57fa44bc]{background:color-mix(in srgb,var(--status-offline) 15%,transparent);color:var(--text-secondary)}.alarm-count[data-v-57fa44bc]{font-size:13px;color:var(--text-secondary)}.ws-status[data-v-57fa44bc]{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:4px 10px;border-radius:6px}.ws-dot[data-v-57fa44bc]{width:8px;height:8px;border-radius:50%}.ws-connected[data-v-57fa44bc]{background:color-mix(in srgb,var(--status-online) 10%,transparent);color:var(--status-online)}.ws-connected .ws-dot[data-v-57fa44bc]{background:var(--status-online);animation:pulse-57fa44bc 2s infinite}.ws-disconnected[data-v-57fa44bc]{background:color-mix(in srgb,var(--status-offline) 10%,transparent);color:var(--text-secondary)}.ws-disconnected .ws-dot[data-v-57fa44bc]{background:var(--status-offline)}@keyframes pulse-57fa44bc{0%,to{opacity:1}50%{opacity:.5}}.auto-dot[data-v-57fa44bc]{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--text-secondary);margin-right:6px}.auto-dot.active[data-v-57fa44bc]{background:var(--status-online);animation:pulse-57fa44bc 2s infinite}.btn[data-v-57fa44bc]{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;line-height:1.5}.btn[data-v-57fa44bc]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-57fa44bc]{background:var(--primary);color:var(--button-text)}.btn-primary[data-v-57fa44bc]:hover:not(:disabled){background:var(--button-hover)}.btn-secondary[data-v-57fa44bc]{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn-secondary[data-v-57fa44bc]:hover:not(:disabled){background:var(--border-light)}.btn-sm[data-v-57fa44bc]{padding:6px 12px;font-size:13px}.actions-btn-group[data-v-57fa44bc]{display:flex;align-items:center;gap:6px;justify-content:center}.btn-detail[data-v-57fa44bc]{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap}.btn-detail[data-v-57fa44bc]:hover{background:var(--primary);color:var(--text);border-color:var(--primary)}.btn-write[data-v-57fa44bc]{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border:1px solid var(--primary);border-radius:6px;background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--primary);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap}.btn-write[data-v-57fa44bc]:hover{background:var(--primary);color:var(--button-text, #fff);border-color:var(--primary)}.modal-overlay[data-v-57fa44bc]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000}.modal-panel[data-v-57fa44bc]{background:var(--surface);border-radius:8px;box-shadow:0 8px 32px #0000004d;min-width:420px;max-width:520px;display:flex;flex-direction:column}.modal-header[data-v-57fa44bc]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-title[data-v-57fa44bc]{font-size:16px;font-weight:600;color:var(--text);margin:0}.modal-close[data-v-57fa44bc]{background:none;border:none;font-size:20px;color:var(--text-secondary);cursor:pointer;padding:0 4px;line-height:1}.modal-close[data-v-57fa44bc]:hover{color:var(--text)}.modal-body[data-v-57fa44bc]{padding:20px;display:flex;flex-direction:column;gap:16px}.modal-footer[data-v-57fa44bc]{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--border)}.write-info[data-v-57fa44bc]{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--surface-alt, color-mix(in srgb, var(--surface) 95%, var(--text) 5%));border-radius:6px;border:1px solid var(--border)}.write-info-item[data-v-57fa44bc]{display:flex;align-items:baseline;gap:8px}.write-info-label[data-v-57fa44bc]{font-size:13px;color:var(--text-secondary);min-width:60px;flex-shrink:0}.write-info-value[data-v-57fa44bc]{font-size:13px;color:var(--text);word-break:break-all}.form-group[data-v-57fa44bc]{display:flex;flex-direction:column;gap:4px}.form-group label[data-v-57fa44bc]{font-size:13px;color:var(--text-secondary);font-weight:500}.form-input[data-v-57fa44bc]{padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--input-bg, var(--surface));color:var(--text);font-size:14px;outline:none;transition:border-color .15s}.form-input[data-v-57fa44bc]:focus{border-color:var(--primary)}.required[data-v-57fa44bc]{color:var(--status-error)}.btn-cancel[data-v-57fa44bc]{padding:8px 16px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-secondary);font-size:14px;cursor:pointer;transition:all .15s}.btn-cancel[data-v-57fa44bc]:hover{background:var(--border);color:var(--text)}.mono[data-v-57fa44bc]{font-family:Courier New,Consolas,monospace}.error-info[data-v-57fa44bc]{display:flex;flex-direction:column;gap:8px}.error-info-row[data-v-57fa44bc]{display:flex;justify-content:space-between;align-items:center;padding:6px 0}.error-info-label[data-v-57fa44bc]{font-size:13px;color:var(--text-secondary);min-width:80px}.error-info-value[data-v-57fa44bc]{font-size:13px;color:var(--text);text-align:right;word-break:break-all}.error-info-divider[data-v-57fa44bc]{height:1px;background:var(--border);margin:4px 0}.error-message-card[data-v-57fa44bc]{margin-top:8px;padding:12px;background:#dc26260f;border:1px solid rgba(220,38,38,.2);border-radius:6px}.error-message-card-empty[data-v-57fa44bc]{background:var(--border-light);border-color:var(--border)}.error-message-title[data-v-57fa44bc]{font-size:12px;font-weight:600;color:var(--status-error);margin-bottom:6px}.error-message-content[data-v-57fa44bc]{font-size:12px;color:var(--text);white-space:pre-wrap;word-break:break-all;line-height:1.5;max-height:200px;overflow-y:auto;margin:0;font-family:Cascadia Code,Fira Code,Consolas,monospace}.error-message-empty[data-v-57fa44bc]{font-size:12px;color:var(--text-secondary)}.error-pill[data-v-57fa44bc]{display:inline-flex;align-items:center;justify-content:center;min-width:22px;padding:1px 6px;border-radius:10px;font-size:12px;font-weight:500;background:var(--border-light);color:var(--text-secondary)}.error-pill-active[data-v-57fa44bc]{background:#dc26261f;color:var(--status-error)}.error-info-diagnostics[data-v-57fa44bc]{margin-top:4px}.diagnostics-title[data-v-57fa44bc]{font-size:12px;font-weight:600;color:var(--text);margin-bottom:6px;padding-bottom:4px;border-bottom:1px solid var(--border)}.diagnostics-value[data-v-57fa44bc]{font-size:13px;font-weight:500}.diagnostics-value.circuit-open[data-v-57fa44bc]{color:var(--status-error)}.diagnostics-value.circuit-half-open[data-v-57fa44bc]{color:var(--status-warning)}.diagnostics-value.circuit-closed[data-v-57fa44bc]{color:var(--status-online)}.alarm-data-overlay[data-v-025c0445]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#0009;display:flex;align-items:center;justify-content:center;padding:24px}.alarm-data-container[data-v-025c0445]{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;max-width:1200px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #0000004d}.dialog-header[data-v-025c0445]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);flex-shrink:0}.header-left[data-v-025c0445]{display:flex;align-items:center;gap:8px}.alarm-icon[data-v-025c0445]{color:var(--status-error);display:flex}.dialog-title[data-v-025c0445]{font-size:16px;font-weight:600;color:var(--text);margin:0}.dialog-close[data-v-025c0445]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer}.dialog-close[data-v-025c0445]:hover{background:var(--border);color:var(--text)}.alarm-info-bar[data-v-025c0445]{display:flex;align-items:center;padding:10px 20px;background:color-mix(in srgb,var(--status-error) 6%,var(--surface));border-bottom:1px solid var(--border);flex-shrink:0;flex-wrap:wrap}.info-chip[data-v-025c0445]{display:flex;align-items:center;gap:6px;padding:0 12px}.chip-label[data-v-025c0445]{font-size:12px;color:var(--text-secondary)}.chip-value[data-v-025c0445]{font-size:13px;color:var(--text);font-family:monospace}.trigger-value[data-v-025c0445]{color:var(--status-error);font-weight:600}.ack-value[data-v-025c0445]{color:var(--status-info, #3b82f6)}.recovered-value[data-v-025c0445]{color:var(--status-success, #22c55e);font-weight:600}.info-divider[data-v-025c0445]{width:1px;height:16px;background:var(--border)}.level-tag[data-v-025c0445]{padding:1px 8px;border-radius:3px;font-size:11px;font-weight:600;text-transform:uppercase}.level-info[data-v-025c0445]{background:color-mix(in srgb,var(--status-info, #3b82f6) 15%,transparent);color:var(--status-info, #3b82f6)}.level-warning[data-v-025c0445]{background:color-mix(in srgb,#f59e0b 15%,transparent);color:#f59e0b}.level-error[data-v-025c0445]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.level-critical[data-v-025c0445]{background:color-mix(in srgb,var(--status-error) 25%,transparent);color:var(--status-error)}.time-window-control[data-v-025c0445]{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;border-bottom:1px solid var(--border);flex-shrink:0;gap:16px}.window-config[data-v-025c0445]{display:flex;align-items:center;gap:8px}.window-config label[data-v-025c0445]{font-size:12px;color:var(--text-secondary);white-space:nowrap}.form-select-sm[data-v-025c0445]{padding:2px 6px;font-size:12px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text);min-width:56px}.window-actions[data-v-025c0445]{display:flex;align-items:center;gap:12px}.view-toggle[data-v-025c0445]{display:flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}.view-toggle-btn[data-v-025c0445]{display:flex;align-items:center;gap:4px;padding:4px 10px;border:none;background:transparent;color:var(--text-secondary);font-size:12px;cursor:pointer}.view-toggle-btn.active[data-v-025c0445]{background:color-mix(in srgb,var(--primary) 15%,transparent);color:var(--primary)}.view-toggle-btn[data-v-025c0445]:hover:not(.active){background:var(--border)}.dialog-body[data-v-025c0445]{flex:1;overflow:auto;padding:16px 20px;min-height:300px}.loading-state[data-v-025c0445],.empty-state[data-v-025c0445]{display:flex;align-items:center;justify-content:center;height:300px;color:var(--text-secondary)}.trend-view[data-v-025c0445]{display:flex;flex-direction:column;gap:8px}.chart-area[data-v-025c0445]{position:relative;height:400px;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface)}.trend-canvas[data-v-025c0445]{width:100%;height:100%;cursor:crosshair}.threshold-legend[data-v-025c0445]{display:flex;align-items:center;gap:20px;padding:4px 0;font-size:12px;color:var(--text-secondary)}.legend-item[data-v-025c0445]{display:flex;align-items:center;gap:6px}.legend-line[data-v-025c0445]{width:20px;height:0;border-top:2px dashed}.upper-line[data-v-025c0445]{border-color:var(--status-error)}.lower-line[data-v-025c0445]{border-color:#f59e0b}.legend-dot[data-v-025c0445]{width:8px;height:8px;border-radius:50%}.alarm-dot[data-v-025c0445]{background:var(--status-error)}.ack-dot[data-v-025c0445]{background:var(--status-info, #3b82f6)}.recovery-dot[data-v-025c0445]{background:var(--status-success, #22c55e)}.table-view[data-v-025c0445]{max-height:500px}.data-table-wrapper[data-v-025c0445]{max-height:500px;overflow:auto;border:1px solid var(--border);border-radius:8px}.data-table[data-v-025c0445]{width:100%;border-collapse:collapse;font-size:13px}.data-table th[data-v-025c0445]{position:sticky;top:0;background:var(--surface);border-bottom:2px solid var(--border);padding:10px 12px;font-weight:600;color:var(--text-secondary);text-align:left;z-index:1}.data-table td[data-v-025c0445]{padding:6px 12px;border-bottom:1px solid var(--border);color:var(--text);white-space:nowrap}.data-table .num-col[data-v-025c0445]{text-align:right}.data-table .center-col[data-v-025c0445]{text-align:center}.data-table .alarm-row[data-v-025c0445]{background:color-mix(in srgb,var(--status-error) 8%,transparent)}.data-table .alarm-row td[data-v-025c0445]{color:var(--status-error);font-weight:500}.data-table .alarm-row[data-v-025c0445]:hover{background:color-mix(in srgb,var(--status-error) 15%,transparent)}.idx-col[data-v-025c0445]{width:48px}.alarm-dot-inline[data-v-025c0445]{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--status-error);margin-right:4px;vertical-align:middle}.value-badge[data-v-025c0445]{font-family:monospace}.alarm-badge[data-v-025c0445]{display:inline-block;padding:1px 8px;border-radius:3px;font-size:11px;font-weight:600;background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.mono[data-v-025c0445]{font-family:monospace;font-size:12px}.alarm-list[data-v-565d26a2]{height:100%;display:flex;flex-direction:column;overflow:hidden;padding:16px 20px;box-sizing:border-box}.unified-toolbar[data-v-565d26a2]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px;padding:10px 16px;margin-bottom:12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-shrink:0}.toolbar-left[data-v-565d26a2]{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}.toolbar-right[data-v-565d26a2]{display:flex;align-items:center;gap:12px;margin-left:auto}.toolbar-title[data-v-565d26a2]{font-size:16px;font-weight:700;color:var(--text);margin:0;white-space:nowrap}.toolbar-item[data-v-565d26a2]{display:flex;align-items:center;gap:6px}.toolbar-label[data-v-565d26a2]{font-size:12px;color:var(--text-secondary);white-space:nowrap}.toolbar-select[data-v-565d26a2],.toolbar-input[data-v-565d26a2]{height:28px;padding:0 10px;box-sizing:border-box;border:1px solid var(--border);border-radius:6px;background:var(--background);color:var(--text);font-size:13px;min-width:120px}.toolbar-select[data-v-565d26a2]:focus,.toolbar-input[data-v-565d26a2]:focus{outline:none;border-color:var(--primary)}.alarm-summary[data-v-565d26a2]{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--status-error);font-weight:500;white-space:nowrap}.active-dot[data-v-565d26a2]{width:8px;height:8px;border-radius:50%;background:var(--status-error);animation:pulse-565d26a2 2s infinite}@keyframes pulse-565d26a2{0%,to{opacity:1}50%{opacity:.4}}.filter-bar[data-v-565d26a2]{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 16px;margin-bottom:12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-shrink:0}.filter-item[data-v-565d26a2]{display:flex;align-items:center;gap:6px}.filter-item label[data-v-565d26a2]{font-size:12px;color:var(--text-secondary);white-space:nowrap}.filter-select[data-v-565d26a2],.filter-input[data-v-565d26a2]{height:28px;padding:0 10px;box-sizing:border-box;border:1px solid var(--border);border-radius:6px;background:var(--background);color:var(--text);font-size:13px;min-width:120px}.filter-select[data-v-565d26a2]:focus,.filter-input[data-v-565d26a2]:focus{outline:none;border-color:var(--primary)}.filter-date[data-v-565d26a2]{min-width:140px}.filter-actions[data-v-565d26a2]{display:flex;gap:6px}.batch-bar[data-v-565d26a2]{display:flex;align-items:center;gap:10px;padding:10px 16px;margin-bottom:12px;background:color-mix(in srgb,var(--primary) 10%,var(--surface));border:1px solid var(--primary);border-radius:8px;flex-shrink:0}.batch-info[data-v-565d26a2]{font-size:13px;color:var(--primary);font-weight:500;margin-right:auto}.records-table-wrapper[data-v-565d26a2]{flex:1;min-height:0;overflow:auto;border:1px solid var(--border);border-radius:8px}.records-table[data-v-565d26a2]{width:100%;border-collapse:collapse;font-size:13px}.records-table th[data-v-565d26a2]{padding:10px 12px;background:var(--surface);color:var(--text-secondary);font-weight:600;text-align:left;white-space:nowrap;border-bottom:1px solid var(--border);position:sticky;top:0}.records-table td[data-v-565d26a2]{padding:10px 12px;border-bottom:1px solid var(--border);color:var(--text)}.records-table tbody tr[data-v-565d26a2]:hover{background:var(--surface)}.records-table tbody tr.row-selected[data-v-565d26a2]{background:color-mix(in srgb,var(--primary) 8%,var(--background))}.col-check[data-v-565d26a2]{width:40px;text-align:center}.col-time[data-v-565d26a2]{min-width:160px}.col-rule[data-v-565d26a2]{min-width:100px}.col-level[data-v-565d26a2]{min-width:80px}.col-type[data-v-565d26a2]{min-width:90px}.col-disposition[data-v-565d26a2]{min-width:100px}.col-value[data-v-565d26a2]{min-width:90px}.col-msg[data-v-565d26a2]{min-width:120px}.col-status[data-v-565d26a2]{min-width:90px}.col-actions[data-v-565d26a2]{min-width:130px}.empty-row[data-v-565d26a2]{text-align:center!important;color:var(--text-secondary)!important;padding:40px 12px!important}.records-table input[type=checkbox][data-v-565d26a2]{width:15px;height:15px;accent-color:var(--primary);cursor:pointer}.tabs[data-v-565d26a2]{display:flex;gap:4px;margin-bottom:20px;border-bottom:1px solid var(--border);padding-bottom:0;flex-shrink:0}.tab[data-v-565d26a2]{display:flex;align-items:center;gap:6px;padding:8px 16px;background:none;border:none;color:var(--text-secondary);font-size:14px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .15s}.tab[data-v-565d26a2]:hover{color:var(--text)}.tab.active[data-v-565d26a2]{color:var(--status-info);border-bottom-color:var(--primary)}.tab-badge[data-v-565d26a2]{background:var(--status-error);color:var(--text);font-size:11px;padding:1px 6px;border-radius:10px;font-weight:600}.tab-content[data-v-565d26a2]{flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto}.tab-content[data-v-565d26a2]>*{flex-shrink:0}.sub-tabs[data-v-565d26a2]{display:flex;gap:4px;margin-bottom:12px;padding:4px;background:var(--background);border:1px solid var(--border);border-radius:8px;width:fit-content}.sub-tabs-inline[data-v-565d26a2]{display:flex;gap:4px;padding:4px;background:var(--background);border:1px solid var(--border);border-radius:8px}.filter-divider[data-v-565d26a2]{width:1px;height:24px;background:var(--border);flex-shrink:0}.sub-tab[data-v-565d26a2]{display:flex;align-items:center;gap:6px;padding:6px 14px;background:none;border:none;border-radius:6px;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .15s}.sub-tab[data-v-565d26a2]:hover{color:var(--text);background:var(--surface)}.sub-tab.active[data-v-565d26a2]{background:var(--surface);color:var(--primary);font-weight:600;box-shadow:0 1px 3px #00000014}.sub-tab-dot[data-v-565d26a2]{width:7px;height:7px;border-radius:50%;background:var(--status-error);animation:pulse-565d26a2 2s infinite}.sub-tab-badge[data-v-565d26a2]{background:var(--status-error);color:var(--text);font-size:11px;padding:1px 6px;border-radius:10px;font-weight:600}.col-recovered[data-v-565d26a2]{min-width:150px}.text-muted[data-v-565d26a2]{color:var(--text-secondary);font-size:12px}.recovered-time[data-v-565d26a2]{font-size:12px;color:var(--text)}.recovered-value[data-v-565d26a2]{font-size:11px;color:var(--status-success);margin-top:2px}.level-badge[data-v-565d26a2]{display:inline-block;padding:2px 10px;border-radius:10px;font-size:12px;font-weight:500}.level-info[data-v-565d26a2]{background:var(--border);color:var(--text-secondary)}.level-warning[data-v-565d26a2]{background:color-mix(in srgb,var(--status-warning) 15%,transparent);color:var(--status-warning)}.level-error[data-v-565d26a2]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.level-critical[data-v-565d26a2]{background:color-mix(in srgb,var(--status-error) 22%,transparent);color:var(--status-error);font-weight:700}.status-badge[data-v-565d26a2]{display:inline-block;padding:2px 10px;border-radius:10px;font-size:12px;font-weight:500}.status-active[data-v-565d26a2]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.status-acknowledged[data-v-565d26a2]{background:color-mix(in srgb,var(--status-info) 15%,transparent);color:var(--status-info)}.status-cleared[data-v-565d26a2]{background:color-mix(in srgb,var(--status-success) 15%,transparent);color:var(--status-success)}.status-shelved[data-v-565d26a2]{background:var(--border);color:var(--text-secondary)}.tag-status[data-v-565d26a2]{display:inline-block;padding:1px 8px;border-radius:8px;font-size:12px}.tag-status.enabled[data-v-565d26a2]{background:color-mix(in srgb,var(--status-success) 15%,transparent);color:var(--status-success)}.tag-status.disabled[data-v-565d26a2]{background:var(--border);color:var(--text-secondary)}.row-actions[data-v-565d26a2]{display:flex;gap:4px}.stats-grid[data-v-565d26a2]{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat-card[data-v-565d26a2]{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:20px;text-align:center;border-left:3px solid var(--border)}.stat-card-active[data-v-565d26a2]{border-left-color:var(--status-error)}.stat-card-ack[data-v-565d26a2]{border-left-color:var(--status-warning)}.stat-card-clr[data-v-565d26a2]{border-left-color:var(--status-success)}.stat-value[data-v-565d26a2]{font-size:32px;font-weight:700;color:var(--text);margin-bottom:4px}.stat-label[data-v-565d26a2]{font-size:13px;color:var(--text-secondary)}.text-danger[data-v-565d26a2]{color:var(--status-error)}.text-warning[data-v-565d26a2]{color:var(--status-warning)}.text-success[data-v-565d26a2]{color:var(--status-success)}.stats-two-col[data-v-565d26a2]{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}.stats-panel[data-v-565d26a2]{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:20px 24px}.level-dist[data-v-565d26a2]{display:flex;flex-direction:column;gap:10px}.level-dist-row[data-v-565d26a2]{display:flex;align-items:center;gap:10px}.level-dist-label[data-v-565d26a2]{min-width:52px;font-size:12px;font-weight:600;text-align:center;padding:2px 8px;border-radius:4px}.level-tag-info[data-v-565d26a2]{background:color-mix(in srgb,var(--text-secondary) 15%,transparent);color:var(--text-secondary)}.level-tag-warning[data-v-565d26a2]{background:color-mix(in srgb,var(--status-warning) 15%,transparent);color:var(--status-warning)}.level-tag-error[data-v-565d26a2]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.level-tag-critical[data-v-565d26a2]{background:color-mix(in srgb,var(--status-error) 22%,transparent);color:var(--status-error)}.level-dist-bar-wrap[data-v-565d26a2]{flex:1;height:8px;background:var(--background);border-radius:4px;overflow:hidden}.level-dist-bar[data-v-565d26a2]{height:100%;border-radius:4px;transition:width .4s ease}.level-dist-count[data-v-565d26a2]{font-size:13px;color:var(--text);font-weight:600;min-width:28px;text-align:right}.level-dist-pct[data-v-565d26a2]{font-size:12px;color:var(--text-secondary);min-width:32px;text-align:right}.top-rules-list[data-v-565d26a2]{display:flex;flex-direction:column;gap:8px}.top-rule-row[data-v-565d26a2]{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}.top-rule-row[data-v-565d26a2]:last-child{border-bottom:none}.top-rule-rank[data-v-565d26a2]{width:24px;height:24px;border-radius:6px;background:var(--border);color:var(--text-secondary);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.top-rule-row:nth-child(1) .top-rule-rank[data-v-565d26a2]{background:color-mix(in srgb,var(--status-warning) 18%,transparent);color:var(--status-warning)}.top-rule-row:nth-child(2) .top-rule-rank[data-v-565d26a2]{background:color-mix(in srgb,var(--status-info) 18%,transparent);color:var(--status-info)}.top-rule-row:nth-child(3) .top-rule-rank[data-v-565d26a2]{background:color-mix(in srgb,var(--status-success) 18%,transparent);color:var(--status-success)}.top-rule-info[data-v-565d26a2]{flex:1;min-width:0;display:flex;flex-direction:column}.top-rule-name[data-v-565d26a2]{font-size:13px;color:var(--text);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-rule-last[data-v-565d26a2]{font-size:11px;color:var(--text-secondary)}.top-rule-count[data-v-565d26a2]{font-size:14px;font-weight:700;color:var(--text);flex-shrink:0}.empty-state-small[data-v-565d26a2]{display:flex;align-items:center;justify-content:center;padding:30px 20px;color:var(--text-secondary);font-size:13px}.trends-section[data-v-565d26a2]{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:20px 24px}.section-title[data-v-565d26a2]{font-size:16px;font-weight:600;color:var(--text);margin:0 0 16px}.trends-bar[data-v-565d26a2]{display:flex;align-items:flex-end;gap:8px;height:180px;padding-bottom:20px}.trend-bar-wrap[data-v-565d26a2]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}.trend-bar-label[data-v-565d26a2]{font-size:11px;color:var(--text);margin-bottom:4px}.trend-bar[data-v-565d26a2]{width:100%;max-width:40px;background:var(--primary);border-radius:4px 4px 0 0;transition:height .3s;min-width:16px}.trend-bar-date[data-v-565d26a2]{font-size:10px;color:var(--text-secondary);margin-top:6px}.error-state[data-v-565d26a2]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:var(--text-secondary);gap:12px}.empty-state[data-v-565d26a2]{display:flex;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-secondary);font-size:14px}.alarm-rule-view[data-v-17ff2fd9]{height:100%;overflow-y:auto;padding:16px 20px 32px;box-sizing:border-box}.unified-toolbar[data-v-17ff2fd9]{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:12px 16px;margin-bottom:16px;background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-shrink:0}.toolbar-left[data-v-17ff2fd9]{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}.toolbar-title[data-v-17ff2fd9]{font-size:16px;font-weight:700;color:var(--text);margin:0;white-space:nowrap}.toolbar-item[data-v-17ff2fd9]{display:flex;align-items:center;gap:6px}.toolbar-label[data-v-17ff2fd9]{font-size:12px;color:var(--text-secondary);white-space:nowrap}.toolbar-select[data-v-17ff2fd9]{padding:5px 10px;border:1px solid var(--border);border-radius:6px;background:var(--background);color:var(--text);font-size:13px;min-width:120px}.toolbar-select[data-v-17ff2fd9]:focus{outline:none;border-color:var(--primary)}.rules-hint-banner[data-v-17ff2fd9]{padding:10px 16px;margin-bottom:12px;background:var(--background);border:1px solid var(--border-light);border-radius:var(--radius-md);color:var(--text-secondary);font-size:13px;line-height:1.5}.level-badge[data-v-17ff2fd9]{display:inline-block;padding:2px 10px;border-radius:10px;font-size:12px;font-weight:500}.level-info[data-v-17ff2fd9]{background:var(--border);color:var(--text-secondary)}.level-warning[data-v-17ff2fd9]{background:color-mix(in srgb,var(--status-warning) 15%,transparent);color:var(--status-warning)}.level-error[data-v-17ff2fd9]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.level-critical[data-v-17ff2fd9]{background:color-mix(in srgb,var(--status-error) 22%,transparent);color:var(--status-error);font-weight:700}.tag-status[data-v-17ff2fd9]{display:inline-block;padding:1px 8px;border-radius:8px;font-size:12px}.tag-status.enabled[data-v-17ff2fd9]{background:color-mix(in srgb,var(--status-success) 15%,transparent);color:var(--status-success)}.tag-status.disabled[data-v-17ff2fd9]{background:var(--border);color:var(--text-secondary)}[data-v-17ff2fd9] .data-row.ai-highlight td{animation:ai-highlight-pulse-17ff2fd9 1.2s ease-in-out 2}@keyframes ai-highlight-pulse-17ff2fd9{0%,to{background:transparent}50%{background:color-mix(in srgb,var(--primary) 22%,transparent)}}.realtime-alarm-view[data-v-14c13175]{height:100%;display:flex;flex-direction:column;overflow:hidden;padding:16px}.unified-toolbar[data-v-14c13175]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px;padding:10px 16px;margin-bottom:12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-shrink:0}.toolbar-left[data-v-14c13175]{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}.toolbar-right[data-v-14c13175]{display:flex;align-items:center;gap:12px;margin-left:auto}.toolbar-title[data-v-14c13175]{font-size:16px;font-weight:700;color:var(--text);margin:0;white-space:nowrap}.toolbar-item[data-v-14c13175]{display:flex;align-items:center;gap:6px}.toolbar-label[data-v-14c13175]{font-size:12px;color:var(--text-secondary);white-space:nowrap}.toolbar-select[data-v-14c13175],.toolbar-input[data-v-14c13175]{height:28px;padding:0 10px;box-sizing:border-box;border:1px solid var(--border);border-radius:6px;background:var(--background);color:var(--text);font-size:13px;min-width:120px}.toolbar-select[data-v-14c13175]:focus,.toolbar-input[data-v-14c13175]:focus{outline:none;border-color:var(--primary)}.alarm-summary[data-v-14c13175]{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--status-error);font-weight:500;white-space:nowrap}.active-dot[data-v-14c13175]{width:8px;height:8px;border-radius:50%;background:var(--status-error);animation:pulse-14c13175 2s infinite}@keyframes pulse-14c13175{0%,to{opacity:1}50%{opacity:.4}}.auto-refresh-toggle[data-v-14c13175]{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.auto-refresh-toggle input[data-v-14c13175]{width:15px;height:15px;accent-color:var(--primary);cursor:pointer}.batch-bar[data-v-14c13175]{display:flex;align-items:center;gap:10px;padding:10px 16px;margin-bottom:12px;background:color-mix(in srgb,var(--primary) 10%,var(--surface));border:1px solid var(--primary);border-radius:8px}.batch-info[data-v-14c13175]{font-size:13px;color:var(--primary);font-weight:500;margin-right:auto}.records-table-wrapper[data-v-14c13175]{flex:1;min-height:0;overflow:auto;border:1px solid var(--border);border-radius:8px}.records-table[data-v-14c13175]{width:100%;border-collapse:collapse;font-size:13px}.records-table th[data-v-14c13175]{padding:10px 12px;background:var(--surface);color:var(--text-secondary);font-weight:600;text-align:left;white-space:nowrap;border-bottom:1px solid var(--border);position:sticky;top:0}.records-table td[data-v-14c13175]{padding:10px 12px;border-bottom:1px solid var(--border);color:var(--text)}.records-table tbody tr[data-v-14c13175]:hover{background:var(--surface)}.records-table tbody tr.row-selected[data-v-14c13175]{background:color-mix(in srgb,var(--primary) 8%,var(--background))}.col-check[data-v-14c13175]{width:40px;text-align:center}.col-time[data-v-14c13175]{min-width:160px}.col-level[data-v-14c13175]{min-width:80px}.col-type[data-v-14c13175],.col-value[data-v-14c13175]{min-width:90px}.col-msg[data-v-14c13175]{min-width:120px}.col-status[data-v-14c13175]{min-width:90px}.col-actions[data-v-14c13175]{min-width:130px}.empty-row[data-v-14c13175]{text-align:center!important;color:var(--text-secondary)!important;padding:40px 12px!important}.records-table input[type=checkbox][data-v-14c13175]{width:15px;height:15px;accent-color:var(--primary);cursor:pointer}.empty-state[data-v-14c13175]{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:14px}.empty-desc[data-v-14c13175]{font-size:12px;color:var(--text-secondary)}.level-badge[data-v-14c13175]{display:inline-block;padding:2px 10px;border-radius:10px;font-size:12px;font-weight:500}.level-info[data-v-14c13175]{background:var(--border);color:var(--text-secondary)}.level-warning[data-v-14c13175]{background:color-mix(in srgb,var(--status-warning) 15%,transparent);color:var(--status-warning)}.level-error[data-v-14c13175]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.level-critical[data-v-14c13175]{background:color-mix(in srgb,var(--status-error) 22%,transparent);color:var(--status-error);font-weight:700}.status-badge[data-v-14c13175]{display:inline-block;padding:2px 10px;border-radius:10px;font-size:12px;font-weight:500}.status-active[data-v-14c13175]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.status-acknowledged[data-v-14c13175]{background:color-mix(in srgb,var(--status-info) 15%,transparent);color:var(--status-info)}.status-cleared[data-v-14c13175]{background:color-mix(in srgb,var(--status-success) 15%,transparent);color:var(--status-success)}.status-shelved[data-v-14c13175]{background:var(--border);color:var(--text-secondary)}.row-actions[data-v-14c13175]{display:flex;gap:4px}.error-state[data-v-14c13175]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:var(--text-secondary);gap:12px}.cron-editor[data-v-0cbe1d3b]{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px;font-size:13px}.cron-tabs[data-v-0cbe1d3b]{display:flex;gap:4px;margin-bottom:12px;border-bottom:1px solid var(--border);padding-bottom:8px}.cron-tab[data-v-0cbe1d3b]{background:none;border:none;color:var(--text-secondary);padding:4px 12px;border-radius:4px;cursor:pointer;font-size:13px;transition:all .15s}.cron-tab[data-v-0cbe1d3b]:hover{color:var(--text);background:var(--border)}.cron-tab.active[data-v-0cbe1d3b]{color:var(--primary);background:var(--control-button-hover, var(--surface))}.cron-presets[data-v-0cbe1d3b]{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.preset-item[data-v-0cbe1d3b]{display:flex;flex-direction:column;padding:8px 10px;border-radius:6px;border:1px solid var(--border);cursor:pointer;transition:all .15s}.preset-item[data-v-0cbe1d3b]:hover,.preset-item.active[data-v-0cbe1d3b]{border-color:var(--primary);background:var(--control-button-hover, var(--surface))}.preset-label[data-v-0cbe1d3b]{color:var(--text);font-weight:500;font-size:13px}.preset-desc[data-v-0cbe1d3b]{color:var(--text-tertiary);font-size:11px;margin-top:2px}.cron-custom[data-v-0cbe1d3b]{display:flex;flex-direction:column;gap:8px}.cron-row[data-v-0cbe1d3b]{display:flex;align-items:center;gap:10px}.cron-field-label[data-v-0cbe1d3b]{width:50px;color:var(--text-secondary);font-size:12px;text-align:right;flex-shrink:0}.cron-select[data-v-0cbe1d3b]{flex:1;background:var(--background);border:1px solid var(--border);border-radius:4px;padding:6px 8px;color:var(--text);font-size:13px;outline:none}.cron-select[data-v-0cbe1d3b]:focus{border-color:var(--primary)}.cron-expression[data-v-0cbe1d3b]{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px}.cron-input[data-v-0cbe1d3b]{flex:1;background:var(--background);border:1px solid var(--border);border-radius:4px;padding:6px 10px;color:var(--text);font-size:14px;font-family:JetBrains Mono,Fira Code,monospace;outline:none;letter-spacing:1px}.cron-input[data-v-0cbe1d3b]:focus{border-color:var(--primary)}.cron-input.invalid[data-v-0cbe1d3b]{border-color:var(--danger, var(--status-error))}.cron-error[data-v-0cbe1d3b]{width:100%;color:var(--danger, var(--status-error));font-size:11px;margin-top:2px}.cron-preview[data-v-0cbe1d3b]{margin-top:12px;padding:10px;background:var(--background);border-radius:6px;border:1px solid var(--border)}.preview-row[data-v-0cbe1d3b]{display:flex;align-items:center;gap:6px;font-size:12px;margin-bottom:4px}.preview-row[data-v-0cbe1d3b]:last-child{margin-bottom:0}.preview-label[data-v-0cbe1d3b]{color:var(--text-tertiary);flex-shrink:0}.preview-code[data-v-0cbe1d3b]{color:var(--status-info);font-family:JetBrains Mono,monospace;font-size:13px;background:var(--surface);padding:1px 6px;border-radius:3px}.preview-desc[data-v-0cbe1d3b]{color:var(--text-secondary)}.preview-time[data-v-0cbe1d3b]{color:var(--status-success)}.cron-preset-buttons[data-v-0cbe1d3b]{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.preset-button-label[data-v-0cbe1d3b]{color:var(--text-tertiary);font-size:12px;margin-right:2px}.quick-btn[data-v-0cbe1d3b]{background:var(--background);border:1px solid var(--border);border-radius:4px;padding:3px 10px;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .15s}.quick-btn[data-v-0cbe1d3b]:hover{border-color:var(--primary);color:var(--text)}.quick-btn.active[data-v-0cbe1d3b]{border-color:var(--primary);background:var(--control-button-hover, var(--surface));color:var(--primary)}.event-binding-panel[data-v-f9ec8030]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:12px;font-size:13px}.binding-form[data-v-f9ec8030]{display:flex;flex-direction:column;gap:10px}.form-group[data-v-f9ec8030]{display:flex;flex-direction:column;gap:4px}.form-label[data-v-f9ec8030]{color:var(--text-secondary);font-size:12px;font-weight:500}.label-hint[data-v-f9ec8030]{font-weight:400;color:var(--text-tertiary)}.form-select[data-v-f9ec8030],.form-input[data-v-f9ec8030]{width:100%;box-sizing:border-box;background:var(--background);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-md);padding:5px 8px;font-size:12px;outline:none}.form-select[data-v-f9ec8030]:focus,.form-input[data-v-f9ec8030]:focus{border-color:var(--border-focus, var(--primary))}.form-hint[data-v-f9ec8030]{color:var(--text-tertiary);font-size:11px;line-height:1.5}.event-description[data-v-f9ec8030]{display:flex;align-items:flex-start;gap:6px;padding:6px 8px;background:var(--background);border:1px solid var(--border-light, var(--border));border-radius:var(--radius-md);color:var(--text-secondary);font-size:12px;line-height:1.5}.desc-icon[data-v-f9ec8030]{color:var(--status-info);flex-shrink:0}.event-warning[data-v-f9ec8030]{padding:6px 8px;border-radius:var(--radius-md);background:var(--background);border:1px solid var(--status-warning, var(--warning, #d97706));color:var(--status-warning, var(--warning, #d97706));font-size:12px;line-height:1.5}.script-list[data-v-11255e1a]{height:100%;display:flex;overflow:hidden}.left-panel[data-v-11255e1a]{width:260px;border-right:1px solid var(--border);background:var(--surface);display:flex;flex-direction:column;flex-shrink:0}.panel-header[data-v-11255e1a]{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border)}.panel-header-actions[data-v-11255e1a]{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:1}.project-select[data-v-11255e1a]{flex:1;min-width:0;padding:5px 8px;font-size:12px;background:var(--background);border:1px solid var(--border-light);border-radius:6px;color:var(--text);outline:none;cursor:pointer}.project-select[data-v-11255e1a]:focus{border-color:var(--primary)}.project-select option[data-v-11255e1a]{background:var(--surface);color:var(--text)}.sidebar-loading[data-v-11255e1a],.sidebar-empty[data-v-11255e1a]{padding:24px 16px;color:var(--text-secondary);font-size:13px;text-align:center}.script-nav[data-v-11255e1a]{overflow-y:auto;flex:1}.script-item[data-v-11255e1a]{display:block;width:100%;padding:12px 16px;background:none;border:none;text-align:left;cursor:pointer;border-bottom:1px solid var(--border);transition:background .15s}.script-item[data-v-11255e1a]:hover{background:var(--border)}.script-item.active[data-v-11255e1a]{background:#1a73e81f}.script-item-name[data-v-11255e1a]{font-size:13px;font-weight:500;color:var(--text);margin-bottom:2px}.script-item-meta[data-v-11255e1a]{font-size:11px;color:var(--text-secondary);display:flex;align-items:center;gap:4px}.status-dot[data-v-11255e1a]{width:6px;height:6px;border-radius:50%;display:inline-block}.dot-active[data-v-11255e1a]{background:var(--status-success)}.dot-draft[data-v-11255e1a]{background:var(--text-secondary)}.dot-paused[data-v-11255e1a]{background:var(--status-warning)}.dot-error[data-v-11255e1a]{background:var(--status-error)}.provenance-badge[data-v-11255e1a]{display:inline-flex;align-items:center;padding:0 6px;height:16px;border-radius:8px;font-size:10px;font-weight:600;line-height:1;letter-spacing:.3px}.prov-manual[data-v-11255e1a]{background:color-mix(in srgb,var(--text-secondary) 18%,transparent);color:var(--text-secondary)}.prov-template[data-v-11255e1a]{background:color-mix(in srgb,var(--primary) 18%,transparent);color:var(--primary)}.prov-ai[data-v-11255e1a]{background:color-mix(in srgb,#a855f7 20%,transparent);color:#c084fc}.provenance-hint[data-v-11255e1a]{font-size:11px;color:#c084fc;margin-left:2px}.script-info[data-v-11255e1a]{padding:12px 16px;border-top:1px solid var(--border)}.info-row[data-v-11255e1a]{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);margin-bottom:4px}.info-label[data-v-11255e1a]{color:var(--text-secondary);min-width:36px}.info-desc[data-v-11255e1a]{margin-top:6px;color:var(--text-secondary)}.right-panel[data-v-11255e1a]{flex:1;display:flex;flex-direction:column;overflow:hidden}.editor-empty[data-v-11255e1a]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);gap:8px}.editor-empty h3[data-v-11255e1a]{font-size:18px;color:var(--text-secondary);margin:0}.editor-empty p[data-v-11255e1a]{margin:0;font-size:14px}.editor-empty svg[data-v-11255e1a]{color:var(--border)}.editor-toolbar[data-v-11255e1a]{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}.toolbar-left[data-v-11255e1a]{display:flex;align-items:center;gap:8px}.script-name[data-v-11255e1a]{font-size:14px;font-weight:500;color:var(--text)}.toolbar-right[data-v-11255e1a]{display:flex;gap:6px}.editor-container[data-v-11255e1a]{flex:1;overflow:hidden;min-height:160px}.execution-result[data-v-11255e1a]{border-top:1px solid var(--border);padding:12px 16px;max-height:220px;overflow-y:auto;flex-shrink:0}.result-success[data-v-11255e1a]{background:color-mix(in srgb,var(--status-online) 15%,transparent)}.result-error[data-v-11255e1a]{background:color-mix(in srgb,var(--status-error) 15%,transparent)}.result-header[data-v-11255e1a]{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;margin-bottom:6px}.result-success .result-header[data-v-11255e1a]{color:var(--status-success)}.result-error .result-header[data-v-11255e1a]{color:var(--status-error)}.result-duration[data-v-11255e1a]{font-size:12px;color:var(--text-secondary)}.result-close[data-v-11255e1a]{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;background:transparent;color:var(--text-secondary);border-radius:4px;cursor:pointer;font-size:12px;line-height:1}.result-close[data-v-11255e1a]:hover{background:var(--border);color:var(--text)}.result-body[data-v-11255e1a]{font-family:Courier New,monospace;font-size:12px;color:var(--text);margin:0 0 6px;white-space:pre-wrap;word-break:break-all}.denied-block[data-v-11255e1a]{border-top:1px dashed var(--border);margin-top:6px;padding-top:6px}.denied-title[data-v-11255e1a]{font-size:12px;font-weight:600;color:var(--status-warning);margin-bottom:4px}.denied-list[data-v-11255e1a]{margin:0;padding-left:16px;list-style:disc}.denied-list li[data-v-11255e1a]{font-family:Courier New,monospace;font-size:12px;color:var(--text-secondary);margin-bottom:2px}.denied-list code[data-v-11255e1a]{color:var(--text)}.denied-reason[data-v-11255e1a]{margin-left:6px;color:var(--status-warning)}.apicall-block[data-v-11255e1a]{border-top:1px dashed var(--border);margin-top:6px;padding-top:6px}.apicall-title[data-v-11255e1a]{font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:4px}.apicall-table[data-v-11255e1a]{width:100%;border-collapse:collapse;font-size:12px}.apicall-table th[data-v-11255e1a],.apicall-table td[data-v-11255e1a]{text-align:left;padding:3px 6px;border-bottom:1px solid var(--border);color:var(--text-secondary)}.apicall-table code[data-v-11255e1a]{color:var(--text)}.apicall-ok td[data-v-11255e1a]:first-child{color:var(--status-success)}.apicall-suppressed td[data-v-11255e1a]:first-child{color:var(--status-warning)}.config-section[data-v-11255e1a]{border-top:1px solid var(--border);flex-shrink:0;background:var(--background)}.config-title[data-v-11255e1a]{font-size:13px;font-weight:600;color:var(--text)}.config-grid[data-v-11255e1a]{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;padding:10px 16px;max-height:240px;overflow-y:auto}.section-header[data-v-11255e1a]{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--surface);cursor:pointer;-webkit-user-select:none;user-select:none}.section-header[data-v-11255e1a]:hover{background:var(--surface-hover, rgba(148, 163, 184, .08))}.collapse-arrow[data-v-11255e1a]{font-size:12px;color:var(--text-secondary)}.config-row[data-v-11255e1a]{display:flex;align-items:center;gap:8px}.config-row-wide[data-v-11255e1a]{grid-column:1 / -1}.config-label[data-v-11255e1a]{font-size:12px;color:var(--text-secondary);min-width:56px}.config-row .form-input[data-v-11255e1a]{flex:1;padding:5px 8px;font-size:13px}.config-check[data-v-11255e1a]{grid-column:1 / -1;gap:16px}.config-check-label[data-v-11255e1a]{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text);cursor:pointer}.bottom-section[data-v-11255e1a]{border-top:1px solid var(--border);flex-shrink:0;display:flex;flex-direction:column;background:var(--background)}.bottom-title[data-v-11255e1a]{font-size:13px;font-weight:600;color:var(--text)}.bottom-content[data-v-11255e1a]{display:flex;flex-direction:column;max-height:240px;overflow:hidden}.bottom-tabs[data-v-11255e1a]{display:flex;border-bottom:1px solid var(--border)}.bottom-tab[data-v-11255e1a]{flex:1;padding:8px;background:none;border:none;cursor:pointer;font-size:12px;color:var(--text-secondary);border-bottom:2px solid transparent}.bottom-tab.active[data-v-11255e1a]{color:var(--primary);border-bottom-color:var(--primary)}.inspector-panel[data-v-11255e1a]{border-top:1px solid var(--border);flex-shrink:0;display:flex;flex-direction:column;background:var(--background)}.inspector-tabs[data-v-11255e1a]{display:flex;border-bottom:1px solid var(--border)}.inspector-tab[data-v-11255e1a]{flex:1;padding:8px;background:none;border:none;cursor:pointer;font-size:12px;font-weight:500;color:var(--text-secondary);border-bottom:2px solid transparent}.inspector-tab.active[data-v-11255e1a]{color:var(--primary);border-bottom-color:var(--primary)}.inspector-toggle[data-v-11255e1a]{display:flex;align-items:center;justify-content:center;width:40px;flex-shrink:0;background:none;border:none;cursor:pointer;color:var(--text-secondary);border-bottom:2px solid transparent}.inspector-toggle[data-v-11255e1a]:hover{color:var(--primary)}.collapse-arrow[data-v-11255e1a]{display:inline-block;font-size:12px;line-height:1;transition:transform .2s ease}.collapse-arrow.rotated[data-v-11255e1a]{transform:rotate(180deg)}.sidebar-toggle[data-v-11255e1a]{margin-right:4px;flex-shrink:0}.inspector-body[data-v-11255e1a]{display:flex;flex-direction:column;max-height:280px;overflow-y:auto;padding:8px 16px 12px}.bottom-body[data-v-11255e1a]{flex:1;overflow-y:auto;padding:8px 16px}.bottom-empty[data-v-11255e1a]{color:var(--text-secondary);font-size:13px;text-align:center;padding:24px 0}.history-item[data-v-11255e1a]{display:flex;align-items:center;gap:8px;padding:7px 6px;border-bottom:1px solid var(--border);border-radius:4px;font-size:12px;color:var(--text);cursor:pointer}.history-item[data-v-11255e1a]:hover,.history-item.is-expanded[data-v-11255e1a]{background:var(--surface-raised, var(--surface))}.ex-status[data-v-11255e1a]{flex:none;padding:1px 6px;border:1px solid var(--border);border-radius:3px;font-size:11px;line-height:16px;color:var(--text-secondary)}.ex-status.is-ok[data-v-11255e1a]{color:var(--status-success, #16a34a);border-color:var(--status-success, #16a34a)}.ex-status.is-fail[data-v-11255e1a]{color:var(--status-error, #dc2626);border-color:var(--status-error, #dc2626)}.ex-status.is-running[data-v-11255e1a]{color:var(--primary);border-color:var(--primary)}.ex-status.is-queued[data-v-11255e1a]{color:var(--text-secondary)}.ex-status.is-cancelled[data-v-11255e1a]{color:var(--status-warning, #d97706);border-color:var(--status-warning, #d97706)}.ex-trigger[data-v-11255e1a]{flex:none;color:var(--text-secondary)}.ex-summary[data-v-11255e1a]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary)}.ex-summary.is-error[data-v-11255e1a]{color:var(--status-error, #dc2626)}.ex-meta[data-v-11255e1a]{flex:none;display:flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:11px}.ex-sep[data-v-11255e1a]{opacity:.6}.ex-badge[data-v-11255e1a]{padding:0 5px;border:1px solid var(--border);border-radius:8px;background:var(--surface-raised, var(--surface))}.history-detail[data-v-11255e1a]{margin:0 0 6px;border:1px solid var(--border);border-radius:4px;background:var(--surface-raised, var(--surface));overflow:hidden}.hd-head[data-v-11255e1a]{display:flex;align-items:center;justify-content:space-between;padding:5px 8px;border-bottom:1px solid var(--border);font-size:11px;color:var(--text-secondary)}.hd-copy[data-v-11255e1a]{padding:1px 8px;border:1px solid var(--border);border-radius:3px;background:transparent;color:var(--text-secondary);font-size:11px;cursor:pointer}.hd-copy[data-v-11255e1a]:hover{color:var(--text);border-color:var(--primary)}.hd-body[data-v-11255e1a]{margin:0;padding:8px 10px;max-height:240px;overflow:auto;font-family:var(--font-mono, monospace);font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-all;color:var(--text)}.api-item[data-v-11255e1a]{padding:6px 0;border-bottom:1px solid var(--border)}.api-name[data-v-11255e1a]{font-size:13px;font-weight:500;color:var(--text);font-family:Courier New,monospace}.api-params[data-v-11255e1a]{color:var(--text-secondary);font-weight:400}.api-desc[data-v-11255e1a]{font-size:12px;color:var(--text-secondary)}.btn[data-v-11255e1a]{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;line-height:1.5}.btn[data-v-11255e1a]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-11255e1a]{background:var(--primary);color:var(--text)}.btn-primary[data-v-11255e1a]:hover:not(:disabled){background:var(--primary)}.btn-secondary[data-v-11255e1a]{background:var(--border);color:var(--text)}.btn-secondary[data-v-11255e1a]:hover:not(:disabled){background:var(--border-light)}.btn-sm[data-v-11255e1a]{padding:5px 10px;font-size:13px}.btn-icon[data-v-11255e1a]{width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.btn-icon[data-v-11255e1a]:hover{background:color-mix(in srgb,var(--status-error) 12%,transparent);border-color:var(--status-error);color:var(--status-error)}.modal-overlay[data-v-11255e1a]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal[data-v-11255e1a]{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:520px;max-width:92vw;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000080}.modal-header[data-v-11255e1a]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0}.modal-header h2[data-v-11255e1a]{font-size:18px;font-weight:600;color:var(--text);margin:0}.modal-close[data-v-11255e1a]{background:none;border:none;font-size:24px;color:var(--text-secondary);cursor:pointer;padding:0;line-height:1}.modal-close[data-v-11255e1a]:hover{color:var(--text)}.modal-body[data-v-11255e1a]{padding:20px 24px}.modal-footer[data-v-11255e1a]{display:flex;justify-content:flex-end;gap:8px;padding:0 24px 20px}.form-group[data-v-11255e1a]{margin-bottom:14px}.form-row[data-v-11255e1a]{display:flex;gap:12px}.form-row .form-group[data-v-11255e1a]{flex:1}.form-label[data-v-11255e1a]{display:block;font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.required[data-v-11255e1a]{color:var(--status-error)}.form-input[data-v-11255e1a]{width:100%;padding:9px 12px;background:var(--background);border:1px solid var(--border-light);border-radius:8px;color:var(--text);font-size:14px;outline:none;transition:border-color .2s;box-sizing:border-box}.form-input[data-v-11255e1a]::placeholder{color:var(--border)}.form-input[data-v-11255e1a]:focus{border-color:var(--primary)}.form-select[data-v-11255e1a]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-position:right 8px center;background-repeat:no-repeat;background-size:20px;padding-right:32px}.form-select option[data-v-11255e1a]{background:var(--surface);color:var(--text)}.form-checks[data-v-11255e1a]{display:flex;gap:24px}.form-textarea[data-v-11255e1a]{font-family:Courier New,monospace;resize:vertical}.form-error[data-v-11255e1a]{color:var(--status-error);font-size:13px;margin:-4px 0 0}.script-template-view[data-v-3d2448c4]{height:100%;display:flex;flex-direction:column;overflow:hidden;background:var(--background)}.template-toolbar[data-v-3d2448c4]{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;gap:12px}.toolbar-left[data-v-3d2448c4]{display:flex;align-items:center;gap:12px}.toolbar-title[data-v-3d2448c4]{font-size:16px;font-weight:600;color:var(--text);margin:0}.toolbar-right[data-v-3d2448c4]{display:flex;align-items:center;gap:8px}.template-content[data-v-3d2448c4]{flex:1;overflow-y:auto;padding:20px}.btn[data-v-3d2448c4]{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:6px 12px;font-size:14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);cursor:pointer;transition:all .2s;white-space:nowrap;line-height:1.5}.btn[data-v-3d2448c4]:hover:not(:disabled){border-color:var(--primary)}.btn[data-v-3d2448c4]:disabled{opacity:.5;cursor:not-allowed}.btn-sm[data-v-3d2448c4]{padding:4px 10px;font-size:13px}.btn-xs[data-v-3d2448c4]{padding:2px 8px;font-size:12px}.btn-primary[data-v-3d2448c4]{background:var(--primary);border-color:var(--primary);color:var(--button-text)}.btn-primary[data-v-3d2448c4]:hover:not(:disabled){background:var(--button-hover);border-color:var(--button-hover)}.btn-error[data-v-3d2448c4]{color:var(--status-error)}.btn-text[data-v-3d2448c4]{background:transparent;border:none}.btn-text[data-v-3d2448c4]:hover:not(:disabled){background:var(--control-button-hover);border:none}.btn-text.btn-primary[data-v-3d2448c4]{background:transparent;border:none;color:var(--primary)}.btn-text.btn-primary[data-v-3d2448c4]:hover:not(:disabled){background:var(--control-button-hover)}.btn-text.btn-error[data-v-3d2448c4]{background:transparent;border:none;color:var(--status-error)}.btn-text.btn-error[data-v-3d2448c4]:hover:not(:disabled){background:var(--control-button-hover)}.input[data-v-3d2448c4]{width:100%;padding:6px 10px;font-size:14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);outline:none;transition:border-color .2s;box-sizing:border-box;font-family:inherit}.input[data-v-3d2448c4]:focus{border-color:var(--primary)}.input-sm[data-v-3d2448c4]{padding:4px 8px;font-size:13px}textarea.input[data-v-3d2448c4]{resize:vertical;font-family:inherit}.search-input-wrapper[data-v-3d2448c4]{position:relative;display:flex;align-items:center}.search-icon[data-v-3d2448c4]{position:absolute;left:8px;color:var(--text-tertiary);pointer-events:none}.search-input[data-v-3d2448c4]{padding-left:28px}.select[data-v-3d2448c4]{width:100%;padding:6px 10px;font-size:14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);outline:none;cursor:pointer;box-sizing:border-box;transition:border-color .2s}.select[data-v-3d2448c4]:focus{border-color:var(--primary)}.select-sm[data-v-3d2448c4]{padding:4px 8px;font-size:13px}.select[data-v-3d2448c4]:disabled{opacity:.5;cursor:not-allowed}.card[data-v-3d2448c4]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);transition:box-shadow .2s,border-color .2s}.card[data-v-3d2448c4]:hover{border-color:var(--primary);box-shadow:var(--shadow-card)}.template-card[data-v-3d2448c4]{display:flex;flex-direction:column;height:100%;padding:14px 16px}.card-header[data-v-3d2448c4]{margin-bottom:8px}.card-title-row[data-v-3d2448c4]{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.card-title[data-v-3d2448c4]{font-size:14px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.card-tags[data-v-3d2448c4]{display:flex;gap:4px;flex-wrap:wrap}.card-desc[data-v-3d2448c4]{font-size:12px;color:var(--text-secondary);line-height:1.5;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:36px}.card-tag-list[data-v-3d2448c4]{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:8px}.card-footer[data-v-3d2448c4]{margin-top:auto;padding-top:8px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:6px}.footer-meta[data-v-3d2448c4]{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--text-secondary)}.meta-item[data-v-3d2448c4]{display:inline-flex;align-items:center;gap:3px}.footer-actions[data-v-3d2448c4]{display:flex;gap:4px;flex-wrap:wrap}.template-grid[data-v-3d2448c4]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.tag[data-v-3d2448c4]{display:inline-flex;align-items:center;padding:2px 8px;font-size:12px;border-radius:var(--radius-md);background:var(--background);color:var(--text-secondary);border:none;white-space:nowrap;line-height:1.5}.tag--sm[data-v-3d2448c4]{font-size:11px;padding:1px 6px}.tag--xs[data-v-3d2448c4]{font-size:10px;padding:1px 5px}.tag--bordered[data-v-3d2448c4]{border:1px solid var(--border)}.tag--round[data-v-3d2448c4]{border-radius:999px}.tag--info[data-v-3d2448c4]{color:var(--status-info);background:color-mix(in srgb,var(--status-info) 12%,transparent)}.tag--success[data-v-3d2448c4]{color:var(--status-success);background:color-mix(in srgb,var(--status-success) 12%,transparent)}.tag--warning[data-v-3d2448c4]{color:var(--status-warning);background:color-mix(in srgb,var(--status-warning) 15%,transparent)}.tag--error[data-v-3d2448c4]{color:var(--status-error);background:color-mix(in srgb,var(--status-error) 12%,transparent)}.tag--default[data-v-3d2448c4]{background:var(--background);color:var(--text-secondary)}.loading-state[data-v-3d2448c4]{display:flex;justify-content:center;align-items:center;padding:60px 0}.spinner[data-v-3d2448c4]{width:28px;height:28px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin-3d2448c4 .8s linear infinite}@keyframes spin-3d2448c4{to{transform:rotate(360deg)}}.empty-state[data-v-3d2448c4]{text-align:center;padding:60px 0;color:var(--text-secondary);font-size:14px}.modal-overlay[data-v-3d2448c4]{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--backdrop);display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-3d2448c4]{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.modal-header[data-v-3d2448c4]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);flex-shrink:0}.modal-title[data-v-3d2448c4]{font-size:16px;font-weight:600;color:var(--text);margin:0}.modal-close[data-v-3d2448c4]{background:none;border:none;font-size:20px;line-height:1;color:var(--text-secondary);cursor:pointer;padding:0 4px;transition:color .2s}.modal-close[data-v-3d2448c4]:hover{color:var(--text)}.modal-body[data-v-3d2448c4]{padding:20px;overflow-y:auto;flex:1}.modal-footer[data-v-3d2448c4]{padding:12px 20px;border-top:1px solid var(--border);flex-shrink:0}.code-preview-info[data-v-3d2448c4]{font-size:13px;color:var(--text-secondary);margin-bottom:10px;display:flex;gap:6px}.info-label[data-v-3d2448c4]{color:var(--text-secondary)}.code-block[data-v-3d2448c4]{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-lg);padding:12px 16px;font-family:Courier New,monospace;font-size:12px;color:var(--text);margin:0;white-space:pre-wrap;word-break:break-all;max-height:400px;overflow-y:auto}.instantiate-form[data-v-3d2448c4],.edit-form[data-v-3d2448c4]{display:flex;flex-direction:column;gap:12px}.form-row[data-v-3d2448c4]{display:flex;flex-direction:column;gap:4px}.form-row-double[data-v-3d2448c4]{flex-direction:row;gap:12px}.form-col[data-v-3d2448c4]{flex:1;display:flex;flex-direction:column;gap:4px}.form-label[data-v-3d2448c4]{font-size:13px;font-weight:500;color:var(--text-secondary)}.required[data-v-3d2448c4]{color:var(--status-error)}.form-value[data-v-3d2448c4]{font-size:14px;color:var(--text);font-weight:500}.form-error[data-v-3d2448c4]{color:var(--status-error);font-size:13px;margin:0}.code-input[data-v-3d2448c4]{font-family:Courier New,monospace;font-size:12px}.dialog-footer[data-v-3d2448c4]{display:flex;justify-content:flex-end;gap:8px}.variable-selector[data-v-cd9d8199]{display:flex;gap:16px;flex-wrap:wrap;width:100%}.selector-block[data-v-cd9d8199]{flex:1;min-width:260px;display:flex;flex-direction:column;gap:6px}.selector-head[data-v-cd9d8199]{display:flex;align-items:center;gap:8px}.field-label[data-v-cd9d8199]{font-size:12px;color:var(--text-secondary);white-space:nowrap}.form-select[data-v-cd9d8199]{height:28px;padding:0 8px;box-sizing:border-box;background:var(--surface);border:1px solid var(--border-light);border-radius:6px;color:var(--text);font-size:13px;outline:none}.form-select[data-v-cd9d8199]:focus{border-color:var(--primary)}.status-cell[data-v-cd9d8199]{padding:6px 4px;font-size:12px;color:var(--text-secondary)}.device-select[data-v-cd9d8199]{min-width:200px}.tag-list[data-v-cd9d8199]{max-height:160px;overflow:auto;border:1px solid var(--border-light);border-radius:6px;padding:6px;display:flex;flex-direction:column;gap:2px}.tag-item[data-v-cd9d8199]{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text);cursor:pointer;padding:2px 4px;border-radius:3px}.tag-name[data-v-cd9d8199]{color:var(--text);font-size:13px}.tag-item[data-v-cd9d8199]:hover{background:var(--surface-hover)}.tag-unit[data-v-cd9d8199]{color:var(--text-secondary);font-size:12px}.selected-block[data-v-cd9d8199]{flex:1;min-width:260px;display:flex;flex-direction:column;gap:6px}.selected-list[data-v-cd9d8199]{display:flex;flex-wrap:wrap;gap:6px;max-height:160px;overflow:auto}.selected-chip[data-v-cd9d8199]{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--surface-hover);border:1px solid var(--border);border-radius:12px;font-size:12px;color:var(--text)}.chip-remove[data-v-cd9d8199]{border:none;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:14px;padding:0 2px;line-height:1}.chip-remove[data-v-cd9d8199]:hover{color:var(--status-error)}.project-selector[data-v-c3d3a14c]{display:flex;align-items:center;gap:8px}.selector-label[data-v-c3d3a14c]{font-size:12px;color:var(--text-secondary);white-space:nowrap}.selector-select[data-v-c3d3a14c]{height:28px;padding:0 8px;box-sizing:border-box;background:var(--surface);border:1px solid var(--border-light);border-radius:6px;color:var(--text);font-size:13px;outline:none}.selector-select[data-v-c3d3a14c]:focus{border-color:var(--primary)}.selector-select--md[data-v-c3d3a14c]{height:32px}.reports-page[data-v-b43d4367]{min-height:100%;padding:14px 16px}.toolbar[data-v-b43d4367]{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:8px 14px;background:var(--surface);border:1px solid var(--border-light);border-radius:8px;margin-bottom:12px}.toolbar-field[data-v-b43d4367]{display:flex;flex-direction:row;align-items:center;gap:8px}.field-label[data-v-b43d4367]{font-size:12px;color:var(--text-secondary);white-space:nowrap}.toolbar-actions[data-v-b43d4367]{display:flex;align-items:center;gap:10px;margin-left:auto}.form-select[data-v-b43d4367],.form-input[data-v-b43d4367]{width:160px;height:28px;padding:0 8px;font-size:13px;color:var(--text);background:var(--surface);border:1px solid var(--border-light);border-radius:6px;outline:none;box-sizing:border-box;font-family:inherit;transition:border-color .2s}.form-select[data-v-b43d4367]:focus,.form-input[data-v-b43d4367]:focus{border-color:var(--primary)}.form-select--sm[data-v-b43d4367]{width:120px}.form-input--sm[data-v-b43d4367]{width:140px}.form-select[data-v-b43d4367]:disabled,.form-input[data-v-b43d4367]:disabled{background:var(--background);color:var(--text-secondary);cursor:not-allowed}.date-range[data-v-b43d4367]{display:flex;align-items:center;gap:8px}.date-range-separator[data-v-b43d4367]{color:var(--text-secondary);font-size:12px}.btn[data-v-b43d4367]{height:28px;padding:0 16px;font-size:13px;border:none;border-radius:6px;cursor:pointer;font-family:inherit;transition:opacity .2s}.btn[data-v-b43d4367]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-b43d4367]{background:var(--primary);color:var(--text)}.btn-primary[data-v-b43d4367]:hover:not(:disabled){opacity:.9}.btn-secondary[data-v-b43d4367]{background:var(--surface);color:var(--text);border:1px solid var(--border-light)}.btn-secondary[data-v-b43d4367]:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.tag[data-v-b43d4367]{display:inline-block;padding:2px 10px;font-size:12px;border-radius:12px;line-height:18px}.tag--success[data-v-b43d4367]{background:var(--status-success);color:var(--text)}.tag--error[data-v-b43d4367]{background:var(--status-error);color:var(--text)}.tag--default[data-v-b43d4367]{background:var(--background);color:var(--text-secondary)}.report-meta[data-v-b43d4367]{display:flex;flex-wrap:wrap;gap:20px;padding:12px 16px;background:var(--surface);border:1px solid var(--border-light);border-radius:8px;margin-bottom:16px;font-size:13px}.meta-item[data-v-b43d4367]{display:flex;gap:6px}.meta-label[data-v-b43d4367]{color:var(--text-secondary)}.meta-value[data-v-b43d4367]{color:var(--text);font-weight:500}.summary-grid[data-v-b43d4367]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:24px}.summary-card[data-v-b43d4367]{padding:16px 20px;background:var(--surface);border:1px solid var(--border-light);border-radius:10px}.summary-label[data-v-b43d4367]{font-size:12px;color:var(--text-secondary);margin-bottom:8px}.summary-value[data-v-b43d4367]{font-size:26px;font-weight:700;color:var(--text)}.summary-value--online[data-v-b43d4367]{color:var(--status-success)}.summary-value--offline[data-v-b43d4367]{color:var(--text-secondary)}.summary-value--alarm[data-v-b43d4367]{color:var(--status-error)}.section-title[data-v-b43d4367]{font-size:14px;font-weight:600;color:var(--text);margin:14px 0 10px}.charts-grid[data-v-b43d4367]{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.chart-card[data-v-b43d4367]{background:var(--surface);border:1px solid var(--border-light);border-radius:10px;overflow:hidden}.chart-card.full-width[data-v-b43d4367]{grid-column:1 / -1}.chart-card-header[data-v-b43d4367]{display:flex;align-items:baseline;gap:10px;padding:14px 20px;border-bottom:1px solid var(--background)}.chart-card-header h3[data-v-b43d4367]{font-size:14px;font-weight:600;color:var(--text);margin:0}.chart-body[data-v-b43d4367]{padding:12px}.items-table-wrap[data-v-b43d4367]{background:var(--surface);border:1px solid var(--border-light);border-radius:10px;overflow:hidden}.items-table[data-v-b43d4367]{width:100%;border-collapse:collapse}.items-table th[data-v-b43d4367],.items-table td[data-v-b43d4367]{padding:10px 16px;text-align:left;border-bottom:1px solid var(--background);font-size:13px}.items-table th[data-v-b43d4367]{background:var(--background);color:var(--text-secondary);font-weight:600}.items-table td[data-v-b43d4367]{color:var(--text)}.items-table tbody tr:last-child td[data-v-b43d4367]{border-bottom:none}.empty-state[data-v-b43d4367]{padding:60px 0;text-align:center;color:var(--text-secondary);font-size:14px}.collapsible-panel[data-v-b43d4367]{margin-top:4px;border:1px solid var(--border);border-radius:6px;overflow:hidden;flex-shrink:0}.panel-toggle[data-v-b43d4367]{display:flex;align-items:center;gap:8px;width:100%;padding:6px 12px;border:none;background:var(--surface);color:var(--text);font-size:13px;cursor:pointer;text-align:left}.panel-toggle[data-v-b43d4367]:hover{background:var(--surface-hover)}.toggle-arrow[data-v-b43d4367]{font-size:12px;color:var(--text-secondary);width:12px}.panel-badge[data-v-b43d4367]{min-width:20px;padding:0 6px;height:18px;line-height:18px;border-radius:9px;background:var(--primary);color:#fff;font-size:11px;text-align:center}.panel-content[data-v-b43d4367]{padding:4px 12px 12px;border-top:1px solid var(--border)}.business-unit[data-v-b43d4367]{color:var(--text-secondary);font-size:12px;margin-left:2px}.business-reports-page[data-v-04646e75]{display:flex;flex-direction:column;height:100%;padding:16px;gap:12px;overflow:auto}.config-panel[data-v-04646e75]{display:flex;flex-direction:column;gap:12px;padding:12px;border:1px solid var(--border);border-radius:6px;background:var(--surface);flex-shrink:0}.config-row[data-v-04646e75]{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}.params-row[data-v-04646e75]{align-items:flex-end;border-top:1px solid var(--border);padding-top:12px}.param-field[data-v-04646e75]{display:flex;flex-direction:column;gap:4px}.param-actions[data-v-04646e75]{display:flex;gap:8px;margin-left:auto}.field-label[data-v-04646e75]{font-size:12px;color:var(--text-secondary)}.form-input[data-v-04646e75],.form-select[data-v-04646e75]{height:28px;padding:0 8px;box-sizing:border-box;background:var(--surface);border:1px solid var(--border);border-radius:4px;color:var(--text);font-size:13px}.form-input[data-v-04646e75]{width:190px}.custom-periods[data-v-04646e75]{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--border);padding-top:12px}.custom-head[data-v-04646e75]{display:flex;align-items:center;justify-content:space-between}.custom-period-row[data-v-04646e75]{display:flex;align-items:center;gap:8px}.label-input[data-v-04646e75]{width:140px}.btn[data-v-04646e75]{height:28px;padding:0 12px;background:var(--surface);border:1px solid var(--border);border-radius:4px;color:var(--text);cursor:pointer;font-size:13px;white-space:nowrap}.btn[data-v-04646e75]:disabled{opacity:.4;cursor:not-allowed}.btn[data-v-04646e75]:hover:not(:disabled){background:var(--surface-hover)}.btn-primary[data-v-04646e75]{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary[data-v-04646e75]:hover:not(:disabled){opacity:.9;background:var(--primary)}.btn-sm[data-v-04646e75]{height:28px;padding:0 8px;font-size:12px}.message-bar[data-v-04646e75]{padding:8px 12px;border-radius:4px;font-size:13px;flex-shrink:0}.message-success[data-v-04646e75]{background:#22c55e1f;color:var(--status-success);border:1px solid rgba(34,197,94,.3)}.message-error[data-v-04646e75]{background:#ef44441f;color:var(--status-error);border:1px solid rgba(239,68,68,.3)}.preview-panel[data-v-04646e75]{border:1px solid var(--border);border-radius:6px;overflow:auto;flex-shrink:0}.preview-meta[data-v-04646e75]{display:flex;gap:20px;align-items:baseline;padding:8px 12px;font-size:13px;color:var(--text);border-bottom:1px solid var(--border);flex-wrap:wrap}.preview-note[data-v-04646e75]{color:var(--text-secondary);font-size:12px}.result-panel[data-v-04646e75]{display:flex;flex-direction:column;gap:10px;flex-shrink:0}.result-head[data-v-04646e75]{display:flex;align-items:center;justify-content:space-between}.result-title[data-v-04646e75]{font-size:15px;font-weight:600;color:var(--text);margin:0}.result-range[data-v-04646e75]{font-weight:400;font-size:12px;color:var(--text-secondary);margin-left:8px}.totals-bar[data-v-04646e75]{display:flex;gap:10px;flex-wrap:wrap}.total-card[data-v-04646e75]{display:flex;flex-direction:column;gap:2px;padding:8px 14px;border:1px solid var(--border);border-radius:6px;background:var(--surface);min-width:160px}.total-name[data-v-04646e75]{font-size:12px;color:var(--text-secondary)}.total-value[data-v-04646e75]{font-size:18px;font-weight:600;color:var(--text)}.total-excluded[data-v-04646e75]{font-size:11px;color:var(--status-warning, #f59e0b)}.table-wrap[data-v-04646e75]{border:1px solid var(--border);border-radius:6px;overflow:auto;max-height:420px}.data-table[data-v-04646e75]{width:100%;border-collapse:collapse;font-size:13px}.data-table th[data-v-04646e75]{position:sticky;top:0;background:var(--surface);border-bottom:1px solid var(--border);padding:8px 10px;text-align:left;font-weight:600;color:var(--text-secondary);white-space:nowrap;z-index:1}.data-table td[data-v-04646e75]{padding:6px 10px;border-bottom:1px solid var(--border);color:var(--text)}.data-table tr:hover td[data-v-04646e75]{background:var(--surface-hover)}.status-cell[data-v-04646e75]{text-align:center;padding:24px 10px;color:var(--text-secondary);font-size:13px}.mono[data-v-04646e75]{font-family:Consolas,Monaco,monospace;font-size:12px}.num-col[data-v-04646e75]{text-align:right}.delta-cell[data-v-04646e75]{font-weight:600}.quality-badge[data-v-04646e75]{display:inline-block;padding:1px 8px;border-radius:10px;font-size:12px;font-weight:500}.quality-good[data-v-04646e75]{background:#22c55e26;color:var(--status-success)}.quality-missing-start[data-v-04646e75],.quality-missing-end[data-v-04646e75]{background:#ef444426;color:var(--status-error)}.quality-extrapolated[data-v-04646e75]{background:#f59e0b26;color:var(--status-warning, #f59e0b)}.quality-counter-reset[data-v-04646e75]{background:#8b5cf626;color:var(--status-info, #8b5cf6)}.view-toggle[data-v-04646e75]{display:inline-flex;border:1px solid var(--border);border-radius:4px;overflow:hidden;margin-left:auto;flex-shrink:0}.view-toggle button[data-v-04646e75]{height:26px;padding:0 14px;border:none;background:var(--surface);color:var(--text-secondary);cursor:pointer;font-size:12px;white-space:nowrap}.view-toggle button+button[data-v-04646e75]{border-left:1px solid var(--border)}.view-toggle button.active[data-v-04646e75]{background:var(--primary);color:#fff}.result-actions[data-v-04646e75]{display:flex;align-items:center;gap:8px}.result-actions .view-toggle[data-v-04646e75]{margin-left:0}.matrix-wrap[data-v-04646e75]{max-height:460px}.matrix-table .matrix-col[data-v-04646e75]{text-align:right;min-width:64px}.matrix-table .row-head[data-v-04646e75]{position:sticky;left:0;z-index:2;background:var(--surface);border-right:1px solid var(--border);min-width:180px;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.matrix-table thead .row-head[data-v-04646e75]{z-index:3}.matrix-table tr:hover td.row-head[data-v-04646e75]{background:var(--surface-hover)}.row-head-device[data-v-04646e75]{display:block;font-size:11px;color:var(--text-secondary)}.row-head-name[data-v-04646e75]{display:block;font-size:12px;font-weight:500;color:var(--text)}.matrix-total-row td[data-v-04646e75]{background:var(--surface-hover);font-weight:600;border-top:1px solid var(--border)}.matrix-total-row td.row-head[data-v-04646e75]{background:var(--surface-hover);color:var(--text)}.total-unit[data-v-04646e75]{font-weight:400;color:var(--text-secondary);margin-left:4px}.cell-abnormal[data-v-04646e75]{color:var(--status-warning, #f59e0b)}.status-block[data-v-04646e75]{padding:24px 10px;text-align:center;color:var(--text-secondary);font-size:13px;border:1px solid var(--border);border-radius:6px}.scheme-field[data-v-04646e75]{min-width:180px;max-width:260px;flex:0 1 220px}.collapsible-panel[data-v-04646e75]{margin-top:4px;border:1px solid var(--border);border-radius:6px;overflow:hidden}.panel-toggle[data-v-04646e75]{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;background:var(--surface);color:var(--text);font-size:13px;cursor:pointer;text-align:left}.panel-toggle[data-v-04646e75]:hover{background:var(--surface-hover)}.toggle-arrow[data-v-04646e75]{font-size:12px;color:var(--text-secondary);width:12px}.panel-badge[data-v-04646e75]{min-width:20px;padding:0 6px;height:18px;line-height:18px;border-radius:9px;background:var(--primary);color:#fff;font-size:11px;text-align:center}.panel-content[data-v-04646e75]{padding:4px 12px 12px;border-top:1px solid var(--border)}.modal-overlay[data-v-04646e75]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-box[data-v-04646e75]{background:var(--surface);border:1px solid var(--border);border-radius:8px;width:400px;max-width:calc(100vw - 40px);box-shadow:0 8px 32px #00000040}.modal-header[data-v-04646e75]{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border)}.modal-title[data-v-04646e75]{font-size:14px;font-weight:600;color:var(--text)}.modal-close[data-v-04646e75]{border:none;background:none;font-size:20px;line-height:1;color:var(--text-secondary);cursor:pointer;padding:0 4px}.modal-body[data-v-04646e75]{padding:16px}.modal-label[data-v-04646e75]{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:6px}.modal-input[data-v-04646e75]{width:100%}.modal-hint[data-v-04646e75]{margin-top:8px;font-size:12px;color:var(--text-secondary)}.modal-footer[data-v-04646e75]{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--border)}.control-logs-page[data-v-8683cc40]{display:flex;flex-direction:column;height:100%;padding:16px;gap:12px}.toolbar[data-v-8683cc40]{display:flex;align-items:center;gap:12px;flex-shrink:0;flex-wrap:wrap;padding:8px 14px;background:var(--surface);border:1px solid var(--border-light);border-radius:8px}.toolbar-left[data-v-8683cc40]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.toolbar-field[data-v-8683cc40]{display:flex;flex-direction:row;align-items:center;gap:8px}.field-label[data-v-8683cc40]{font-size:12px;color:var(--text-secondary);white-space:nowrap}.form-input[data-v-8683cc40],.form-select[data-v-8683cc40]{height:28px;padding:0 8px;box-sizing:border-box;background:var(--surface);border:1px solid var(--border-light);border-radius:6px;color:var(--text);font-size:13px;outline:none}.form-input[data-v-8683cc40]:focus,.form-select[data-v-8683cc40]:focus{border-color:var(--primary)}.form-input[data-v-8683cc40]{width:200px}.form-select[data-v-8683cc40]{width:110px}.table-wrap[data-v-8683cc40]{flex:1;overflow:auto;border:1px solid var(--border);border-radius:6px}.data-table[data-v-8683cc40]{width:100%;border-collapse:collapse;font-size:13px}.data-table th[data-v-8683cc40]{position:sticky;top:0;background:var(--surface);border-bottom:1px solid var(--border);padding:8px 10px;text-align:left;font-weight:600;color:var(--text-secondary);white-space:nowrap;z-index:1}.data-table td[data-v-8683cc40]{padding:6px 10px;border-bottom:1px solid var(--border);color:var(--text)}.data-table tr:hover td[data-v-8683cc40]{background:var(--surface-hover)}.status-cell[data-v-8683cc40]{text-align:center;padding:32px 10px;color:var(--text-secondary);font-size:13px}.mono[data-v-8683cc40]{font-family:Consolas,Monaco,monospace;font-size:12px}.num-col[data-v-8683cc40]{text-align:right}.result-badge[data-v-8683cc40]{display:inline-block;padding:1px 8px;border-radius:10px;font-size:12px;font-weight:500}.result-success[data-v-8683cc40]{background:#22c55e26;color:var(--status-success)}.result-failed[data-v-8683cc40]{background:#ef444426;color:var(--status-error)}.tag-name[data-v-8683cc40]{font-weight:500}.tag-value[data-v-8683cc40]{color:var(--text-secondary);font-family:Consolas,Monaco,monospace;font-size:12px;margin-left:2px}.value-change[data-v-8683cc40]{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.value-change .prev-value[data-v-8683cc40],.value-change .arrow[data-v-8683cc40]{color:var(--text-secondary)}.value-change .new-value[data-v-8683cc40]{color:var(--text);font-weight:500}.error-msg[data-v-8683cc40]{max-width:200px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:var(--status-error)}.pagination-bar[data-v-8683cc40]{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-shrink:0;padding-top:4px}.page-summary[data-v-8683cc40]{font-size:12px;color:var(--text-secondary);margin-right:8px}.page-info[data-v-8683cc40]{font-size:13px;color:var(--text);min-width:60px;text-align:center}.btn[data-v-8683cc40]{height:30px;padding:0 12px;background:var(--surface);border:1px solid var(--border);border-radius:4px;color:var(--text);cursor:pointer;font-size:13px;white-space:nowrap}.btn[data-v-8683cc40]:disabled{opacity:.4;cursor:not-allowed}.btn[data-v-8683cc40]:hover:not(:disabled){background:var(--surface-hover)}.btn-sm[data-v-8683cc40]{height:28px;padding:0 8px;font-size:12px}.btn-outline[data-v-8683cc40]{margin-top:8px}.settings-page[data-v-8982eb61]{padding:12px 24px 16px;width:100%;box-sizing:border-box}.page-header[data-v-8982eb61]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.page-title[data-v-8982eb61]{font-size:22px;font-weight:700;color:var(--text);margin:0}.header-actions[data-v-8982eb61]{display:flex;align-items:center;gap:10px}.locale-select-wrapper[data-v-8982eb61]{position:relative}.locale-select[data-v-8982eb61]{padding:6px 30px 6px 12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:13px;font-weight:500;cursor:pointer;outline:none;transition:border-color .2s;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.locale-select[data-v-8982eb61]:focus,.locale-select[data-v-8982eb61]:hover{border-color:var(--primary)}.tab-nav[data-v-8982eb61]{display:flex;gap:2px;margin-bottom:12px;border-bottom:2px solid var(--border);padding-bottom:0}.tab-btn[data-v-8982eb61]{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:none;background:transparent;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s}.tab-btn[data-v-8982eb61]:hover{color:var(--text)}.tab-btn.active[data-v-8982eb61]{color:var(--primary);border-bottom-color:var(--primary)}.tab-content[data-v-8982eb61]{min-height:300px}.settings-grid[data-v-8982eb61]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.settings-card[data-v-8982eb61]{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}.settings-card.full-width[data-v-8982eb61]{grid-column:1 / -1}.card-header[data-v-8982eb61]{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border);color:var(--text-secondary)}.card-header h3[data-v-8982eb61]{font-size:15px;font-weight:600;color:var(--text);margin:0}.card-body[data-v-8982eb61]{padding:12px 16px}.theme-selector[data-v-8982eb61]{margin-bottom:12px}.theme-label[data-v-8982eb61]{display:block;font-size:13px;color:var(--text-secondary);margin-bottom:8px}.theme-select[data-v-8982eb61]{width:100%;padding:10px 12px;background:var(--background);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:14px;cursor:pointer;outline:none;transition:border-color .2s}.theme-select[data-v-8982eb61]:focus{border-color:var(--primary)}.theme-preview[data-v-8982eb61]{background:var(--background);border-radius:8px;padding:12px}.preview-header[data-v-8982eb61]{font-size:12px;color:var(--text-secondary);margin-bottom:10px}.preview-colors[data-v-8982eb61]{display:flex;gap:8px;flex-wrap:wrap}.color-dot[data-v-8982eb61]{width:28px;height:28px;border-radius:50%;border:2px solid var(--border);cursor:pointer;transition:transform .2s}.color-dot[data-v-8982eb61]:hover{transform:scale(1.1)}.theme-info[data-v-8982eb61]{display:flex;flex-direction:column;gap:8px}.info-row[data-v-8982eb61]{display:flex;justify-content:space-between;font-size:13px}.info-label[data-v-8982eb61]{color:var(--text-secondary)}.info-value[data-v-8982eb61]{color:var(--text)}.color-value[data-v-8982eb61]{font-family:Courier New,monospace}.channel-desc[data-v-8982eb61]{margin:0 0 12px;font-size:13px;color:var(--text-secondary)}.layout-config-form[data-v-8982eb61]{display:flex;flex-direction:column;gap:20px}.debug-tools-form[data-v-8982eb61]{display:flex;flex-direction:column;gap:16px}.debug-tools-form .field-hint[data-v-8982eb61]{margin:-4px 0 4px}.debug-tools-form .btn[data-v-8982eb61]{align-self:flex-start}.config-field[data-v-8982eb61]{display:flex;flex-direction:column;gap:8px}.field-label[data-v-8982eb61]{font-size:14px;color:var(--text);display:flex;align-items:center;gap:6px}.field-label strong[data-v-8982eb61]{color:var(--primary);font-size:15px}.range-control[data-v-8982eb61]{display:flex;flex-direction:column;gap:4px}.range-input[data-v-8982eb61]{width:100%;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--border);border-radius:3px;outline:none;cursor:pointer}.range-input[data-v-8982eb61]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--primary);border:2px solid var(--surface);box-shadow:0 1px 4px #0000004d;cursor:pointer;transition:transform .15s}.range-input[data-v-8982eb61]::-webkit-slider-thumb:hover{transform:scale(1.15)}.range-marks[data-v-8982eb61]{display:flex;justify-content:space-between;font-size:11px;color:var(--text-secondary);padding:0 2px}.toggle-field[data-v-8982eb61]{display:flex;align-items:center;justify-content:space-between}.field-hint[data-v-8982eb61]{margin:4px 0 0;font-size:12px;color:var(--text-secondary)}.toggle-switch[data-v-8982eb61]{position:relative;display:inline-block;width:42px;height:22px;flex-shrink:0}.toggle-switch input[data-v-8982eb61]{opacity:0;width:0;height:0}.toggle-slider[data-v-8982eb61]{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--border);border-radius:22px;transition:.3s}.toggle-slider[data-v-8982eb61]:before{position:absolute;content:"";height:16px;width:16px;left:3px;bottom:3px;background-color:var(--text);border-radius:50%;transition:.3s}.toggle-switch input:checked+.toggle-slider[data-v-8982eb61]{background-color:var(--primary)}.toggle-switch input:checked+.toggle-slider[data-v-8982eb61]:before{transform:translate(20px)}.config-panels[data-v-8982eb61]{display:flex;flex-direction:column;gap:16px}.overview-grid[data-v-8982eb61]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.stat-card[data-v-8982eb61]{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px 18px;transition:border-color .15s}.stat-card[data-v-8982eb61]:hover{border-color:var(--primary)}.stat-card-warning[data-v-8982eb61]{cursor:pointer;border-color:var(--status-warning)}.stat-card-warning[data-v-8982eb61]:hover{border-color:var(--status-warning)}.stat-label[data-v-8982eb61]{font-size:11px;color:var(--text-secondary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.stat-value[data-v-8982eb61]{font-size:28px;font-weight:700;color:var(--text);line-height:1.2}.section-card[data-v-8982eb61]{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}.section-warning[data-v-8982eb61]{border-color:var(--status-warning)}.section-header[data-v-8982eb61]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border)}.section-title[data-v-8982eb61]{font-size:14px;font-weight:600;color:var(--text);margin:0}.section-actions[data-v-8982eb61]{display:flex;align-items:center;gap:10px}.section-count[data-v-8982eb61]{font-size:11px;color:var(--text-secondary);background:var(--background);padding:2px 8px;border-radius:10px}.pending-count-badge[data-v-8982eb61]{font-size:12px;color:var(--status-warning);font-weight:500}.filter-bar[data-v-8982eb61]{display:flex;gap:10px;padding:12px 16px;flex-wrap:wrap;align-items:center}.filter-bar-actions[data-v-8982eb61]{display:flex;gap:8px;margin-left:auto}.search-input[data-v-8982eb61]{flex:1;min-width:180px;max-width:320px}.category-select[data-v-8982eb61]{width:160px}.form-input[data-v-8982eb61]{padding:7px 10px;border:1px solid var(--border);border-radius:6px;font-size:13px;color:var(--text);background:var(--background);outline:none;transition:border-color .15s}.form-input[data-v-8982eb61]:focus{border-color:var(--primary)}.table-wrapper[data-v-8982eb61]{overflow-x:auto}.config-table[data-v-8982eb61]{width:100%;border-collapse:collapse;font-size:13px}.config-table th[data-v-8982eb61],.config-table td[data-v-8982eb61]{padding:9px 14px;text-align:left;border-bottom:1px solid var(--border)}.config-table th[data-v-8982eb61]{font-weight:600;color:var(--text-secondary);background:var(--background);font-size:11px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.config-table tbody tr[data-v-8982eb61]:hover{background:var(--hover)}.config-table tbody tr:last-child td[data-v-8982eb61]{border-bottom:none}.mono-text[data-v-8982eb61]{font-family:Consolas,Monaco,Courier New,monospace;font-size:12px}.col-key[data-v-8982eb61]{width:auto;white-space:nowrap;font-weight:500}.col-desc[data-v-8982eb61]{width:auto}.col-value[data-v-8982eb61]{width:auto;max-width:260px;word-break:break-all}.col-source[data-v-8982eb61]{width:90px;white-space:nowrap}.col-badges[data-v-8982eb61]{width:120px;white-space:nowrap}.col-actions[data-v-8982eb61]{width:80px;text-align:right;white-space:nowrap}.config-desc-text[data-v-8982eb61]{color:var(--text-secondary);font-size:12px}.restart-badge[data-v-8982eb61]{display:inline-block;margin-left:4px;color:var(--status-warning);font-size:14px;font-weight:700;cursor:help}.sensitive-badge[data-v-8982eb61]{display:inline-block;margin-left:6px;padding:1px 5px;border-radius:3px;background:color-mix(in srgb,var(--status-error) 10%,transparent);color:var(--status-error);font-size:10px;font-weight:600;text-transform:uppercase}.sensitive-value[data-v-8982eb61]{letter-spacing:2px;color:var(--text-secondary)}.icon-btn[data-v-8982eb61]{background:none;border:none;font-size:11px;color:var(--primary);cursor:pointer;padding:2px 4px;margin-left:4px}.icon-btn[data-v-8982eb61]:hover{text-decoration:underline}.source-badge[data-v-8982eb61]{display:inline-block;padding:2px 7px;border-radius:4px;font-size:10px;font-weight:500}.source-env[data-v-8982eb61]{background:color-mix(in srgb,var(--status-online) 10%,transparent);color:var(--status-success)}.source-db[data-v-8982eb61]{background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--primary)}.source-default[data-v-8982eb61]{background:#9ca3af1a;color:var(--text-secondary)}.source-null[data-v-8982eb61]{background:color-mix(in srgb,var(--status-error) 10%,transparent);color:var(--status-error)}.badge-group[data-v-8982eb61]{display:flex;gap:4px;flex-wrap:wrap}.config-badge[data-v-8982eb61]{display:inline-block;padding:2px 5px;border-radius:3px;font-size:10px;font-weight:600;text-transform:uppercase}.badge-restart[data-v-8982eb61]{background:color-mix(in srgb,var(--status-error) 10%,transparent);color:var(--status-error)}.badge-hot[data-v-8982eb61]{background:color-mix(in srgb,var(--status-online) 10%,transparent);color:var(--status-success)}.badge-sensitive[data-v-8982eb61]{background:color-mix(in srgb,var(--status-warning) 10%,transparent);color:var(--status-warning)}.badge-env[data-v-8982eb61]{background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--primary)}.readonly-text[data-v-8982eb61]{font-size:12px;color:var(--text-secondary)}.pending-list[data-v-8982eb61]{padding:12px 16px;display:flex;flex-wrap:wrap;gap:6px}.pending-tag[data-v-8982eb61]{display:inline-block;padding:3px 8px;border-radius:4px;font-size:12px;font-family:Consolas,Monaco,Courier New,monospace;background:color-mix(in srgb,var(--status-error) 10%,transparent);color:var(--status-error)}.empty-state[data-v-8982eb61]{padding:28px 16px;text-align:center;color:var(--text-secondary);font-size:13px}.modal-overlay[data-v-8982eb61]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fade-in-8982eb61 .2s ease}@keyframes fade-in-8982eb61{0%{opacity:0}to{opacity:1}}.modal-dialog[data-v-8982eb61]{width:500px;max-width:90vw;max-height:85vh;overflow-y:auto;background:var(--surface);border-radius:10px;box-shadow:0 8px 30px #00000026;animation:scale-in-8982eb61 .2s ease}@keyframes scale-in-8982eb61{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.modal-header[data-v-8982eb61]{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}.modal-title[data-v-8982eb61]{font-size:16px;font-weight:600;color:var(--text);margin:0}.modal-close[data-v-8982eb61]{background:none;border:none;font-size:22px;cursor:pointer;color:var(--text-secondary);padding:0 4px;line-height:1}.modal-close[data-v-8982eb61]:hover{color:var(--text)}.modal-body[data-v-8982eb61]{padding:18px}.modal-footer[data-v-8982eb61]{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid var(--border)}.form-row[data-v-8982eb61]{margin-bottom:14px}.form-label[data-v-8982eb61]{display:block;font-size:11px;font-weight:600;color:var(--text-secondary);margin-bottom:5px;text-transform:uppercase;letter-spacing:.5px}.form-value[data-v-8982eb61]{font-size:14px;color:var(--text)}.form-value .form-input[data-v-8982eb61]{width:100%;box-sizing:border-box}.form-row-checkbox[data-v-8982eb61]{background:var(--background);padding:10px 12px;border-radius:6px}.checkbox-label[data-v-8982eb61]{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text);cursor:pointer}.checkbox-label input[data-v-8982eb61]{cursor:pointer}.checkbox-hint[data-v-8982eb61]{font-size:12px;color:var(--text-secondary);margin:5px 0 0}.restart-hint[data-v-8982eb61]{margin-top:8px;padding:8px 10px;border-radius:6px;font-size:12px;background:color-mix(in srgb,var(--status-error) 10%,transparent);color:var(--status-error)}.btn[data-v-8982eb61]{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border:none;border-radius:7px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;line-height:1.4}.btn[data-v-8982eb61]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-8982eb61]{background:var(--primary);color:var(--text)}.btn-primary[data-v-8982eb61]:hover:not(:disabled){filter:brightness(1.1)}.btn-secondary[data-v-8982eb61]{background:var(--background);color:var(--text);border:1px solid var(--border)}.btn-secondary[data-v-8982eb61]:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.btn-danger[data-v-8982eb61]{background:var(--status-error);color:var(--text)}.btn-danger[data-v-8982eb61]:hover:not(:disabled){filter:brightness(1.1)}.btn-sm[data-v-8982eb61]{padding:5px 10px;font-size:12px}.system-info-page[data-v-0fae0bc6]{height:100%;overflow-y:auto;padding:24px;width:100%;max-width:100%;margin:0;box-sizing:border-box}.page-header[data-v-0fae0bc6]{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.page-title[data-v-0fae0bc6]{font-size:22px;font-weight:700;color:var(--text);margin:0}.info-card[data-v-0fae0bc6]{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}.card-header[data-v-0fae0bc6]{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--border);color:var(--text-secondary)}.card-header h3[data-v-0fae0bc6]{font-size:15px;font-weight:600;color:var(--text);margin:0}.card-body[data-v-0fae0bc6]{padding:16px 20px}.info-grid[data-v-0fae0bc6]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}.info-item[data-v-0fae0bc6]{display:flex;justify-content:space-between;font-size:13px;color:var(--text);padding:8px 12px;border-radius:6px;background:var(--background)}.info-label[data-v-0fae0bc6]{color:var(--text-secondary)}.info-value[data-v-0fae0bc6]{font-weight:500;color:var(--text)}.info-link[data-v-0fae0bc6]{display:flex;align-items:center;gap:4px;color:var(--primary);text-decoration:none}.info-link[data-v-0fae0bc6]:hover{text-decoration:underline}.btn[data-v-0fae0bc6]{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;line-height:1.5}.btn[data-v-0fae0bc6]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-0fae0bc6]{background:var(--border);color:var(--text)}.btn-secondary[data-v-0fae0bc6]:hover:not(:disabled){background:var(--border)}.btn-sm[data-v-0fae0bc6]{padding:5px 10px;font-size:13px}.health-page[data-v-ef6a32e3]{padding:24px;width:100%;max-width:100%;margin:0;box-sizing:border-box}.page-header[data-v-ef6a32e3]{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.page-title[data-v-ef6a32e3]{font-size:22px;font-weight:700;color:var(--text);margin:0}.status-banner[data-v-ef6a32e3]{display:flex;align-items:center;gap:12px;padding:16px 20px;border-radius:10px;margin-bottom:24px;font-size:15px;font-weight:600}.status-banner.status-ok[data-v-ef6a32e3]{background:color-mix(in srgb,var(--status-online) 10%,transparent);border:1px solid color-mix(in srgb,var(--status-online) 30%,transparent);color:var(--status-online)}.status-banner.status-degraded[data-v-ef6a32e3]{background:color-mix(in srgb,var(--status-warning) 10%,transparent);border:1px solid color-mix(in srgb,var(--status-warning) 30%,transparent);color:var(--status-warning)}.status-banner.status-error[data-v-ef6a32e3]{background:color-mix(in srgb,var(--status-error) 10%,transparent);border:1px solid color-mix(in srgb,var(--status-error) 30%,transparent);color:var(--status-error)}.status-dot[data-v-ef6a32e3]{width:10px;height:10px;border-radius:50%;flex-shrink:0}.status-ok .status-dot[data-v-ef6a32e3]{background:var(--status-online)}.status-degraded .status-dot[data-v-ef6a32e3]{background:var(--status-warning)}.status-error .status-dot[data-v-ef6a32e3]{background:var(--status-error)}.status-uptime[data-v-ef6a32e3]{margin-left:auto;font-size:13px;opacity:.7;font-weight:400}.section[data-v-ef6a32e3]{margin-bottom:24px}.section-title[data-v-ef6a32e3]{font-size:15px;font-weight:600;color:var(--text);margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--border)}.probes-grid[data-v-ef6a32e3]{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.probe-card[data-v-ef6a32e3]{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:14px 16px}.probe-card.probe-pass[data-v-ef6a32e3]{border-left:3px solid var(--status-online)}.probe-card.probe-warn[data-v-ef6a32e3]{border-left:3px solid var(--status-warning)}.probe-card.probe-error[data-v-ef6a32e3]{border-left:3px solid var(--status-error)}.probe-header[data-v-ef6a32e3]{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.probe-name[data-v-ef6a32e3]{font-size:14px;font-weight:600;color:var(--text)}.probe-badge[data-v-ef6a32e3]{font-size:11px;padding:2px 8px;border-radius:4px;font-weight:500}.badge-pass[data-v-ef6a32e3],.badge-normal[data-v-ef6a32e3]{background:color-mix(in srgb,var(--status-online) 15%,transparent);color:var(--status-online)}.badge-warn[data-v-ef6a32e3],.badge-warning[data-v-ef6a32e3]{background:color-mix(in srgb,var(--status-warning) 15%,transparent);color:var(--status-warning)}.badge-error[data-v-ef6a32e3],.badge-critical[data-v-ef6a32e3]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.probe-body[data-v-ef6a32e3]{display:flex;justify-content:space-between;font-size:12px;color:var(--text-secondary)}.probe-latency[data-v-ef6a32e3]{font-family:monospace}.resources-grid[data-v-ef6a32e3]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.resource-card[data-v-ef6a32e3]{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:14px 16px}.disk-card.disk-normal[data-v-ef6a32e3]{border-left:3px solid var(--status-online)}.disk-card.disk-warning[data-v-ef6a32e3]{border-left:3px solid var(--status-warning)}.disk-card.disk-critical[data-v-ef6a32e3]{border-left:3px solid var(--status-error)}.resource-header[data-v-ef6a32e3]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.resource-label[data-v-ef6a32e3]{font-size:14px;font-weight:500;color:var(--text)}.resource-value[data-v-ef6a32e3]{font-size:13px;color:var(--text-secondary);font-family:monospace}.resource-footer[data-v-ef6a32e3]{display:flex;justify-content:space-between;align-items:center;margin-top:4px}.resource-pct[data-v-ef6a32e3]{font-size:12px;color:var(--text-secondary)}.resource-threshold[data-v-ef6a32e3]{font-size:11px;color:var(--text-secondary);opacity:.7}.disk-path[data-v-ef6a32e3]{font-size:11px;color:var(--text-secondary);margin-bottom:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.disk-path.mono[data-v-ef6a32e3]{font-family:monospace}.disk-usage-row[data-v-ef6a32e3]{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:13px}.disk-usage-text[data-v-ef6a32e3]{color:var(--text);font-family:monospace}.disk-usage-pct[data-v-ef6a32e3]{font-weight:600;color:var(--text)}.disk-status-badge[data-v-ef6a32e3]{font-size:11px;padding:2px 8px;border-radius:4px;font-weight:500}.disk-free-row[data-v-ef6a32e3]{display:flex;justify-content:flex-end;gap:4px;margin-top:4px;font-size:11px}.disk-free-label[data-v-ef6a32e3]{color:var(--text-secondary)}.disk-free-value[data-v-ef6a32e3]{color:var(--text);font-family:monospace}.threshold-info[data-v-ef6a32e3]{margin-top:8px;font-size:12px;color:var(--text-secondary);text-align:right;opacity:.8}.progress-bar[data-v-ef6a32e3]{height:6px;background:var(--border);border-radius:3px;overflow:hidden}.progress-fill[data-v-ef6a32e3]{height:100%;border-radius:3px;transition:width .5s ease}.progress-fill.normal[data-v-ef6a32e3]{background:var(--status-online)}.progress-fill.warning[data-v-ef6a32e3]{background:var(--status-warning)}.progress-fill.danger[data-v-ef6a32e3]{background:var(--status-error)}.info-grid[data-v-ef6a32e3]{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.info-item[data-v-ef6a32e3]{display:flex;justify-content:space-between;padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-radius:8px;font-size:13px}.info-label[data-v-ef6a32e3]{color:var(--text-secondary)}.info-value[data-v-ef6a32e3]{font-weight:500;color:var(--text);font-family:monospace}.db-ops-page[data-v-1f66df7d]{padding:16px;min-height:100%;width:100%;max-width:100%;margin:0;box-sizing:border-box}.tab-content[data-v-1f66df7d]{padding-top:12px}.action-bar[data-v-1f66df7d]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.tabs[data-v-1f66df7d]{display:flex;gap:4px;padding-bottom:12px;border-bottom:1px solid var(--border)}.tab-btn[data-v-1f66df7d]{padding:8px 16px;background:transparent;border:none;border-bottom:2px solid transparent;font-size:14px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.tab-btn[data-v-1f66df7d]:hover{color:var(--text)}.tab-btn.active[data-v-1f66df7d]{color:var(--primary);border-bottom-color:var(--primary);font-weight:500}.stats-bar[data-v-1f66df7d]{display:flex;flex-wrap:wrap;gap:12px 24px;padding:10px 14px;margin-bottom:12px;background:var(--surface);border-radius:8px;border:1px solid var(--border)}.stat-item[data-v-1f66df7d]{display:flex;align-items:center;gap:6px;font-size:12px}.stat-label[data-v-1f66df7d]{color:var(--text-secondary)}.stat-value[data-v-1f66df7d]{color:var(--text);font-weight:600}.stat-value.mono[data-v-1f66df7d]{font-family:monospace;font-size:11px;font-weight:500}.card[data-v-1f66df7d]{background:var(--surface);border-radius:8px;border:1px solid var(--border);margin-bottom:16px}.card-header[data-v-1f66df7d]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border)}.card-header-left[data-v-1f66df7d]{display:flex;align-items:center;gap:8px}.card-header-actions[data-v-1f66df7d]{display:flex;gap:8px}.card-body[data-v-1f66df7d]{padding:16px}.btn[data-v-1f66df7d]{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.btn[data-v-1f66df7d]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-1f66df7d]{background:var(--primary);color:var(--text)}.btn-primary[data-v-1f66df7d]:hover:not(:disabled){background:color-mix(in srgb,var(--primary) 80%,black)}.btn-secondary[data-v-1f66df7d]{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn-secondary[data-v-1f66df7d]:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.btn-text[data-v-1f66df7d]{background:transparent;color:var(--text-secondary);padding:4px 8px}.btn-text[data-v-1f66df7d]:hover{color:var(--text)}.btn-sm[data-v-1f66df7d]{padding:5px 12px;font-size:12px}.btn-group[data-v-1f66df7d]{display:flex;gap:2px}.project-actions[data-v-1f66df7d]{display:flex;gap:6px;flex-wrap:wrap}.btn-icon[data-v-1f66df7d]{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.btn-icon[data-v-1f66df7d]:hover{color:var(--text);background:var(--border-light)}.btn-icon-warning[data-v-1f66df7d]:hover{color:var(--status-warning);border-color:var(--status-warning);background:color-mix(in srgb,var(--status-warning) 10%,transparent)}.btn-icon-danger[data-v-1f66df7d]:hover{color:var(--status-error);border-color:var(--status-error);background:color-mix(in srgb,var(--status-error) 10%,transparent)}.tag[data-v-1f66df7d]{display:inline-flex;align-items:center;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.tag-default[data-v-1f66df7d]{background:var(--surface);color:var(--text-secondary);border:1px solid var(--border)}.tag-info[data-v-1f66df7d]{background:color-mix(in srgb,var(--primary) 15%,transparent);color:color-mix(in srgb,var(--primary) 70%,transparent)}.tag-success[data-v-1f66df7d]{background:color-mix(in srgb,var(--status-online) 15%,transparent);color:color-mix(in srgb,var(--status-online) 70%,transparent)}.tag-warning[data-v-1f66df7d]{background:color-mix(in srgb,var(--status-warning) 15%,transparent);color:color-mix(in srgb,var(--status-warning) 70%,transparent)}.tag-error[data-v-1f66df7d]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:color-mix(in srgb,var(--status-error) 70%,transparent)}.data-table[data-v-1f66df7d]{width:100%;border-collapse:collapse;font-size:13px}.data-table th[data-v-1f66df7d]{text-align:left;padding:10px 12px;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border)}.data-table td[data-v-1f66df7d]{padding:10px 12px;color:var(--text);border-bottom:1px solid var(--border)}.data-table tr[data-v-1f66df7d]:hover{background:var(--border-light)}.data-table tr.selected[data-v-1f66df7d]{background:color-mix(in srgb,var(--primary) 8%,transparent)}.col-check[data-v-1f66df7d]{width:40px}.empty-cell[data-v-1f66df7d]{text-align:center;padding:32px;color:var(--text-secondary)}.error-cell[data-v-1f66df7d]{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--status-error)}.error-banner[data-v-1f66df7d]{padding:8px 12px;margin-bottom:12px;background:color-mix(in srgb,var(--status-error) 10%,transparent);border:1px solid color-mix(in srgb,var(--status-error) 30%,transparent);border-radius:6px;color:color-mix(in srgb,var(--status-error) 70%,transparent);font-size:12px;font-family:monospace;word-break:break-all}.error-hint[data-v-1f66df7d]{display:block;font-size:11px;color:color-mix(in srgb,var(--status-error) 70%,transparent);margin-top:2px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-select-bar[data-v-1f66df7d]{display:flex;gap:12px;padding:8px 16px;border-bottom:1px solid var(--border)}.info-grid[data-v-1f66df7d]{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}.info-item[data-v-1f66df7d]{display:flex;align-items:center;gap:8px}.info-label[data-v-1f66df7d]{flex-shrink:0;color:var(--text-secondary);font-size:13px;min-width:80px}.info-value[data-v-1f66df7d]{color:var(--text);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.info-value.mono[data-v-1f66df7d]{font-family:monospace;font-size:12px}.info-value.highlight[data-v-1f66df7d]{color:var(--status-online);font-weight:600}.check-result[data-v-1f66df7d]{display:flex;align-items:center;gap:8px;padding:12px;border-radius:6px;font-size:13px}.check-result.result-ok[data-v-1f66df7d]{background:color-mix(in srgb,var(--status-online) 10%,transparent);color:var(--status-online)}.check-result.result-fail[data-v-1f66df7d]{background:color-mix(in srgb,var(--status-error) 10%,transparent);color:var(--status-error)}.check-result.check-pending[data-v-1f66df7d]{color:var(--text-secondary)}.check-result.result-warn[data-v-1f66df7d]{background:color-mix(in srgb,var(--status-warning) 10%,transparent);color:var(--status-warning)}.check-message[data-v-1f66df7d]{flex:1}.check-time[data-v-1f66df7d]{color:var(--text-secondary);font-size:12px}.loading-overlay[data-v-1f66df7d]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:var(--text-secondary);gap:8px}.spinner[data-v-1f66df7d]{width:20px;height:20px;border:2px solid var(--border-light);border-top-color:var(--primary);border-radius:50%;animation:spin-1f66df7d .8s linear infinite}@keyframes spin-1f66df7d{to{transform:rotate(360deg)}}.modal-overlay[data-v-1f66df7d]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-1f66df7d]{background:var(--background);border-radius:12px;width:90%;max-width:640px;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000004d,0 8px 10px -6px #0003}.modal-header[data-v-1f66df7d]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-header h2[data-v-1f66df7d]{font-size:16px;font-weight:600;color:var(--text);margin:0}.modal-close[data-v-1f66df7d]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:18px;transition:all .15s}.modal-close[data-v-1f66df7d]:hover{color:var(--text);background:var(--border-light)}.modal-body[data-v-1f66df7d]{padding:20px}.modal-footer[data-v-1f66df7d]{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--border)}.form-group[data-v-1f66df7d]{margin-bottom:16px}.form-label[data-v-1f66df7d]{display:block;font-size:13px;font-weight:500;color:var(--text);margin-bottom:6px}.form-input[data-v-1f66df7d]{width:100%;padding:8px 12px;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:13px;outline:none;transition:border-color .2s;box-sizing:border-box}.form-input[data-v-1f66df7d]::placeholder{color:var(--text-secondary)}.form-input[data-v-1f66df7d]:focus{border-color:var(--primary)}.form-select[data-v-1f66df7d]{width:140px;padding:6px 10px;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:12px;outline:none;cursor:pointer}.form-select option[data-v-1f66df7d]{background:var(--background);color:var(--text)}.toggle[data-v-1f66df7d]{width:44px;height:24px;background:var(--border);border-radius:12px;border:none;cursor:pointer;position:relative;transition:background .2s}.toggle.active[data-v-1f66df7d]{background:var(--primary)}.toggle-thumb[data-v-1f66df7d]{position:absolute;top:2px;left:2px;width:20px;height:20px;background:var(--text);border-radius:50%;transition:transform .2s}.toggle.active .toggle-thumb[data-v-1f66df7d]{transform:translate(20px)}.input-suffix[data-v-1f66df7d]{display:flex;align-items:center;gap:4px}.input-suffix .form-input[data-v-1f66df7d]{flex:1}.input-suffix-text[data-v-1f66df7d]{font-size:12px;color:var(--text-secondary)}.filter-row[data-v-1f66df7d]{display:flex;gap:12px}.setup-hint[data-v-1f66df7d]{margin:0 0 12px;font-size:13px;color:var(--text-secondary);line-height:1.5}.error-text[data-v-1f66df7d]{color:var(--status-error)}.stats-row[data-v-1f66df7d]{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.stat-card[data-v-1f66df7d]{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px;text-align:center}.stat-value[data-v-1f66df7d]{display:flex;align-items:center;justify-content:center;gap:6px;font-size:22px;font-weight:700;color:var(--text);margin-bottom:4px}.stat-label[data-v-1f66df7d]{font-size:12px;color:var(--text-secondary)}.status-dot[data-v-1f66df7d]{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0}.status-dot-ok[data-v-1f66df7d]{background:var(--status-online)}.status-dot-warn[data-v-1f66df7d]{background:var(--status-warning)}.status-dot-err[data-v-1f66df7d]{background:var(--status-error)}.card-body hr[data-v-1f66df7d]{border:none;border-top:1px solid var(--border);margin:16px 0}.card-header-count[data-v-1f66df7d]{font-size:12px;background:var(--border);color:var(--text-secondary);padding:2px 8px;border-radius:10px;margin-left:8px}.card-actions-row[data-v-1f66df7d]{display:flex;gap:24px;flex-wrap:wrap}.action-section[data-v-1f66df7d]{flex:1;min-width:200px}.health-checking[data-v-1f66df7d]{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary);margin-top:12px}.row-highlight td[data-v-1f66df7d]{background:var(--border)}.tag-sm[data-v-1f66df7d]{font-size:11px;padding:1px 6px;margin-left:6px;vertical-align:middle}.col-proportion[data-v-1f66df7d]{min-width:120px}.size-bar-container[data-v-1f66df7d]{display:flex;align-items:center;gap:6px}.size-bar-fill[data-v-1f66df7d]{height:6px;background:var(--primary);border-radius:3px;min-width:2px;transition:width .3s ease}.size-bar-label[data-v-1f66df7d]{font-size:11px;color:var(--text-secondary);white-space:nowrap}.base-services-page[data-v-29da3f56]{height:100%;overflow-y:auto;padding:24px;width:100%;max-width:100%;margin:0;box-sizing:border-box}.page-header[data-v-29da3f56]{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.page-title[data-v-29da3f56]{font-size:22px;font-weight:700;color:var(--text);margin:0}.header-actions[data-v-29da3f56]{display:flex;align-items:center;gap:10px}.services-grid[data-v-29da3f56]{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:16px}.service-card[data-v-29da3f56]{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;display:flex;flex-direction:column}.service-card.status-running[data-v-29da3f56]{border-left:3px solid var(--status-success)}.service-card.status-stopped[data-v-29da3f56]{border-left:3px solid var(--text-secondary)}.service-card.status-error[data-v-29da3f56]{border-left:3px solid var(--status-error)}.service-card.status-unknown[data-v-29da3f56]{border-left:3px solid var(--status-warning)}.card-header[data-v-29da3f56]{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border)}.svc-title[data-v-29da3f56]{display:flex;align-items:baseline;gap:8px}.svc-name[data-v-29da3f56]{font-size:16px;font-weight:600;color:var(--text)}.svc-port[data-v-29da3f56]{font-size:12px;color:var(--text-secondary);font-family:monospace}.status-badge[data-v-29da3f56]{font-size:11px;padding:3px 10px;border-radius:4px;font-weight:500}.badge-running[data-v-29da3f56]{background:#10b98126;color:var(--status-success)}.badge-stopped[data-v-29da3f56]{background:color-mix(in srgb,var(--text-secondary) 15%,transparent);color:var(--text-secondary)}.badge-error[data-v-29da3f56]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.badge-unknown[data-v-29da3f56]{background:color-mix(in srgb,var(--status-warning) 15%,transparent);color:var(--status-warning)}.card-body[data-v-29da3f56]{padding:12px 16px;flex:1}.status-row[data-v-29da3f56]{display:flex;justify-content:space-between;padding:6px 0;font-size:13px;border-bottom:1px dashed var(--border)}.status-row[data-v-29da3f56]:last-of-type{border-bottom:none}.row-label[data-v-29da3f56]{color:var(--text-secondary)}.row-value[data-v-29da3f56]{color:var(--text);font-weight:500}.row-value.mono[data-v-29da3f56]{font-family:monospace}.row-value.ok[data-v-29da3f56]{color:var(--status-success)}.row-value.fail[data-v-29da3f56]{color:var(--status-error)}.file-checks[data-v-29da3f56]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin-top:10px;padding:8px 10px;background:var(--background, rgba(0, 0, 0, .02));border-radius:6px}.check-item[data-v-29da3f56]{font-size:12px;display:flex;align-items:center;gap:4px;color:var(--text-secondary)}.check-item.ok[data-v-29da3f56]{color:var(--status-success)}.check-item.fail[data-v-29da3f56]{color:var(--status-error)}.check-icon[data-v-29da3f56]{font-weight:700}.influx-setup-status[data-v-29da3f56]{display:flex;align-items:center;gap:6px;margin-top:10px;padding:6px 10px;border-radius:6px;font-size:12px;font-weight:500}.setup-dot[data-v-29da3f56]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.influx-setup-status.setup-needed[data-v-29da3f56]{background:color-mix(in srgb,var(--status-warning) 10%,transparent);color:var(--status-warning)}.influx-setup-status.setup-needed .setup-dot[data-v-29da3f56]{background:var(--status-warning);animation:setup-pulse-29da3f56 1.5s ease-in-out infinite}.influx-setup-status.setup-ok[data-v-29da3f56]{background:#10b9811a;color:var(--status-success)}.influx-setup-status.setup-ok .setup-dot[data-v-29da3f56]{background:var(--status-success)}.influx-setup-status.setup-unknown[data-v-29da3f56]{background:color-mix(in srgb,var(--text-secondary) 10%,transparent);color:var(--text-secondary)}.influx-setup-status.setup-unknown .setup-dot[data-v-29da3f56]{background:var(--text-secondary)}.setup-warn[data-v-29da3f56]{color:var(--status-warning);font-weight:600}@keyframes setup-pulse-29da3f56{0%,to{opacity:1}50%{opacity:.4}}.card-actions[data-v-29da3f56]{display:flex;flex-wrap:wrap;gap:6px;padding:10px 16px;border-top:1px solid var(--border);background:var(--background, rgba(0, 0, 0, .02))}.sys-btn[data-v-29da3f56]{padding:5px 12px;border-radius:4px;font-size:12px;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);transition:all .15s ease;display:inline-flex;align-items:center;gap:4px}.sys-btn[data-v-29da3f56]:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.sys-btn[data-v-29da3f56]:disabled{opacity:.5;cursor:not-allowed}.sys-btn-primary[data-v-29da3f56]{background:var(--primary);color:var(--text);border-color:var(--primary)}.sys-btn-primary[data-v-29da3f56]:hover:not(:disabled){opacity:.85;color:var(--text)}.sys-btn-warning[data-v-29da3f56]{background:var(--status-warning);color:var(--text);border-color:var(--status-warning)}.sys-btn-warning[data-v-29da3f56]:hover:not(:disabled){opacity:.85;color:var(--text)}.sys-btn-danger[data-v-29da3f56]{background:var(--status-error);color:var(--text);border-color:var(--status-error)}.sys-btn-danger[data-v-29da3f56]:hover:not(:disabled){opacity:.85;color:var(--text)}.sys-btn-sm[data-v-29da3f56]{padding:4px 10px;font-size:12px}.sys-btn-secondary[data-v-29da3f56]{background:var(--surface);color:var(--text)}.empty-state[data-v-29da3f56]{text-align:center;padding:60px 20px;color:var(--text-secondary);font-size:14px}.modal-overlay[data-v-29da3f56]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;animation:mb-fade-in-29da3f56 .2s ease}@keyframes mb-fade-in-29da3f56{0%{opacity:0}to{opacity:1}}.modal-dialog[data-v-29da3f56]{width:600px;max-width:90vw;max-height:85vh;background:var(--surface);border-radius:8px;box-shadow:0 8px 30px #0003;display:flex;flex-direction:column;overflow:hidden;animation:mb-scale-in-29da3f56 .2s ease}@keyframes mb-scale-in-29da3f56{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.modal-lg[data-v-29da3f56]{width:800px}.modal-header[data-v-29da3f56]{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--border)}.modal-title[data-v-29da3f56]{font-size:15px;font-weight:600;color:var(--text);margin:0}.modal-close[data-v-29da3f56]{background:none;border:none;font-size:22px;cursor:pointer;color:var(--text-secondary);padding:0 4px;line-height:1}.modal-close[data-v-29da3f56]:hover{color:var(--text)}.modal-body[data-v-29da3f56]{padding:16px 20px;overflow-y:auto;flex:1}.modal-loading[data-v-29da3f56]{text-align:center;padding:40px;color:var(--text-secondary)}.modal-footer[data-v-29da3f56]{display:flex;justify-content:flex-end;gap:10px;padding:12px 20px;border-top:1px solid var(--border)}.form-grid[data-v-29da3f56]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-field-full[data-v-29da3f56]{grid-column:1 / -1}.form-field[data-v-29da3f56]{display:flex;flex-direction:column;gap:4px}.form-label[data-v-29da3f56]{font-size:12px;color:var(--text-secondary);font-weight:500}.form-input[data-v-29da3f56]{padding:6px 10px;border:1px solid var(--border);border-radius:4px;background:var(--background, rgba(0, 0, 0, .02));color:var(--text);font-size:13px;outline:none}.form-input[data-v-29da3f56]:focus{border-color:var(--primary)}.form-input[data-v-29da3f56]:disabled{opacity:.6;cursor:not-allowed}.form-checkbox-group[data-v-29da3f56]{display:flex;gap:20px;align-items:center}.checkbox-label[data-v-29da3f56]{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text);cursor:pointer}.config-meta[data-v-29da3f56]{display:flex;justify-content:space-between;margin-bottom:10px;font-size:12px;color:var(--text-secondary)}.config-editor[data-v-29da3f56]{width:100%;min-height:400px;padding:10px 12px;border:1px solid var(--border);border-radius:4px;background:var(--background, rgba(0, 0, 0, .02));color:var(--text);font-family:Consolas,Monaco,monospace;font-size:13px;line-height:1.5;resize:vertical;outline:none}.config-editor[data-v-29da3f56]:focus{border-color:var(--primary)}.logs-toolbar[data-v-29da3f56]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.limit-select[data-v-29da3f56]{font-size:13px;color:var(--text-secondary);display:flex;align-items:center;gap:6px}.limit-select select[data-v-29da3f56]{padding:3px 8px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text);font-size:13px}.toolbar-actions[data-v-29da3f56]{display:flex;gap:8px}.logs-tab-view[data-v-29da3f56]{display:flex;flex-direction:column;gap:0}.log-tabs[data-v-29da3f56]{display:flex;border-bottom:1px solid var(--border);gap:0;overflow-x:auto;flex-shrink:0}.log-tab-btn[data-v-29da3f56]{display:flex;align-items:center;gap:6px;padding:8px 14px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);cursor:pointer;font-size:13px;white-space:nowrap;transition:color .2s,border-color .2s;font-family:inherit}.log-tab-btn[data-v-29da3f56]:hover{color:var(--text)}.log-tab-btn.active[data-v-29da3f56]{color:var(--primary);border-bottom-color:var(--primary)}.tab-filename[data-v-29da3f56]{font-family:Consolas,Monaco,monospace;font-size:12px}.tab-size[data-v-29da3f56]{font-size:11px;color:var(--text-tertiary, #888)}.log-tab-btn.active .tab-size[data-v-29da3f56]{color:var(--primary);opacity:.7}.log-content[data-v-29da3f56]{margin:0;padding:12px;font-family:Consolas,Monaco,monospace;font-size:12px;line-height:1.5;color:var(--text);max-height:400px;overflow-y:auto;white-space:pre-wrap;word-break:break-all;background:var(--background, rgba(0, 0, 0, .01))}.flags[data-v-29da3f56]{display:flex;gap:6px}.flag-tag[data-v-29da3f56]{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;line-height:1.5}.flag-tag.flag-auto[data-v-29da3f56]{background:color-mix(in srgb,var(--status-online) 15%,transparent);color:var(--status-online)}.flag-tag.flag-guard[data-v-29da3f56]{background:color-mix(in srgb,var(--status-warning) 15%,transparent);color:var(--status-warning)}.ws-monitor-page[data-v-ef7bc19e]{flex:1;padding:24px;overflow-y:auto}.page-header[data-v-ef7bc19e]{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px}.page-title[data-v-ef7bc19e]{font-size:22px;font-weight:700;color:var(--text);margin:0}.header-actions[data-v-ef7bc19e]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.auto-refresh-toggle[data-v-ef7bc19e]{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary);cursor:pointer}.auto-refresh-toggle input[data-v-ef7bc19e]{cursor:pointer}.status-indicator-section[data-v-ef7bc19e]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:20px}.status-card[data-v-ef7bc19e]{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:14px 16px}.status-header[data-v-ef7bc19e]{display:flex;align-items:center;gap:8px;margin-bottom:6px}.status-icon[data-v-ef7bc19e]{display:flex;align-items:center;justify-content:center}.status-icon.status-online svg[data-v-ef7bc19e]{fill:var(--status-success)}.status-icon.status-offline svg[data-v-ef7bc19e]{fill:var(--status-error)}.status-icon.status-warning svg[data-v-ef7bc19e]{stroke:var(--status-warning)}.status-icon.status-unknown svg[data-v-ef7bc19e]{fill:var(--text-secondary)}.status-label[data-v-ef7bc19e]{font-size:12px;color:var(--text-secondary);font-weight:500}.status-value[data-v-ef7bc19e]{font-size:14px;font-weight:600}.status-value.status-online[data-v-ef7bc19e]{color:var(--status-success)}.status-value.status-offline[data-v-ef7bc19e]{color:var(--status-error)}.status-value.status-warning[data-v-ef7bc19e]{color:var(--status-warning)}.status-value.status-unknown[data-v-ef7bc19e]{color:var(--text-secondary)}.status-detail[data-v-ef7bc19e]{font-size:11px;color:var(--text-secondary);margin-top:4px}.reconnect-row[data-v-ef7bc19e]{display:flex;align-items:center;gap:8px;margin-top:8px}.reconnect-btn[data-v-ef7bc19e]{padding:3px 12px;font-size:11px;color:var(--text);background:var(--primary);border:none;border-radius:4px;cursor:pointer}.reconnect-btn[data-v-ef7bc19e]:hover:not(:disabled){opacity:.85}.reconnect-btn[data-v-ef7bc19e]:disabled{opacity:.5;cursor:not-allowed}.reconnect-attempts[data-v-ef7bc19e]{font-size:11px;color:var(--status-warning, #f59e0b)}.zero-data-hint[data-v-ef7bc19e]{display:flex;gap:16px;background:color-mix(in srgb,var(--status-warning) 8%,transparent);border:1px solid color-mix(in srgb,var(--status-warning) 20%,transparent);border-radius:8px;padding:16px 20px;margin-bottom:20px}.hint-icon[data-v-ef7bc19e]{display:flex;align-items:flex-start;padding-top:2px}.hint-content h4[data-v-ef7bc19e]{font-size:14px;font-weight:600;color:var(--text);margin:0 0 6px}.hint-content p[data-v-ef7bc19e]{font-size:13px;color:var(--text-secondary);margin:0 0 12px}.hint-checklist[data-v-ef7bc19e]{list-style:none;padding:0;margin:0}.hint-checklist li[data-v-ef7bc19e]{font-size:13px;color:var(--text-secondary);margin-bottom:6px}.hint-checklist li.checked[data-v-ef7bc19e]{color:var(--status-success)}.overview-grid[data-v-ef7bc19e]{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-bottom:20px}.stat-card[data-v-ef7bc19e]{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:18px 20px;transition:border-color .15s ease}.stat-card[data-v-ef7bc19e]:hover{border-color:var(--primary)}.stat-label[data-v-ef7bc19e]{font-size:12px;color:var(--text-secondary);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.stat-value[data-v-ef7bc19e]{font-size:32px;font-weight:700;color:var(--text);line-height:1.2}.stat-extra[data-v-ef7bc19e]{font-size:12px;color:var(--text-secondary);margin-top:6px}.section-card[data-v-ef7bc19e]{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:16px;overflow:hidden}.section-header[data-v-ef7bc19e]{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}.section-title[data-v-ef7bc19e]{font-size:15px;font-weight:600;color:var(--text);margin:0}.section-count[data-v-ef7bc19e]{font-size:12px;color:var(--text-secondary);background:var(--background, rgba(0, 0, 0, .04));padding:2px 10px;border-radius:10px}.config-form[data-v-ef7bc19e]{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;padding:18px}.form-row[data-v-ef7bc19e]{display:flex;flex-direction:column;gap:6px}.form-label[data-v-ef7bc19e]{font-size:13px;color:var(--text-secondary);font-weight:500}.form-input[data-v-ef7bc19e]{padding:7px 10px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text);font-size:14px;outline:none;transition:border-color .15s ease}.form-input[data-v-ef7bc19e]:focus{border-color:var(--primary)}.table-wrapper[data-v-ef7bc19e]{overflow-x:auto}.data-table[data-v-ef7bc19e]{width:100%;border-collapse:collapse;font-size:13px}.data-table th[data-v-ef7bc19e]{text-align:left;padding:10px 14px;color:var(--text-secondary);font-weight:600;border-bottom:1px solid var(--border);white-space:nowrap;background:var(--background, rgba(0, 0, 0, .02))}.data-table td[data-v-ef7bc19e]{padding:10px 14px;color:var(--text);border-bottom:1px solid var(--border)}.data-table tbody tr[data-v-ef7bc19e]:hover{background:var(--background, rgba(0, 0, 0, .02))}.data-table tbody tr:last-child td[data-v-ef7bc19e]{border-bottom:none}.mono-text[data-v-ef7bc19e]{font-family:Consolas,Monaco,monospace;font-size:12px}.pagination[data-v-ef7bc19e]{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 18px;border-top:1px solid var(--border)}.page-info[data-v-ef7bc19e]{font-size:13px;color:var(--text-secondary)}.rate-badge[data-v-ef7bc19e]{display:inline-block;padding:2px 10px;border-radius:10px;font-size:12px;font-weight:600;font-family:monospace}.rate-high[data-v-ef7bc19e]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.rate-medium[data-v-ef7bc19e]{background:color-mix(in srgb,var(--status-warning) 15%,transparent);color:var(--status-warning)}.rate-low[data-v-ef7bc19e]{background:#10b98126;color:var(--status-success)}.duration-stats[data-v-ef7bc19e]{padding:18px}.duration-row[data-v-ef7bc19e]{display:flex;align-items:center;gap:12px;margin-bottom:10px}.duration-label[data-v-ef7bc19e]{width:100px;font-size:13px;color:var(--text-secondary);flex-shrink:0}.progress-bar[data-v-ef7bc19e]{flex:1;height:8px;background:var(--background, rgba(0, 0, 0, .06));border-radius:4px;overflow:hidden}.progress-fill[data-v-ef7bc19e]{height:100%;background:var(--primary);border-radius:4px;transition:width .3s ease;min-width:2px}.duration-value[data-v-ef7bc19e]{width:40px;font-size:13px;font-weight:600;color:var(--text);text-align:right}.duration-summary[data-v-ef7bc19e]{display:flex;gap:24px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--border);font-size:12px;color:var(--text-secondary)}.alert-section[data-v-ef7bc19e]{border-left:3px solid var(--status-error)}.alert-count[data-v-ef7bc19e]{font-size:12px;color:var(--status-error);background:color-mix(in srgb,var(--status-error) 12%,transparent);padding:2px 10px;border-radius:10px;font-weight:600}.abnormal-list[data-v-ef7bc19e]{padding:14px 18px;display:flex;flex-wrap:wrap;gap:8px}.abnormal-tag[data-v-ef7bc19e]{display:inline-block;padding:4px 12px;border-radius:4px;font-size:12px;font-family:monospace;background:color-mix(in srgb,var(--status-error) 10%,transparent);color:var(--status-error);border:1px solid color-mix(in srgb,var(--status-error) 20%,transparent)}.diagnostic-content[data-v-ef7bc19e]{padding:18px}.diagnostic-block[data-v-ef7bc19e]{margin-bottom:16px}.diagnostic-block[data-v-ef7bc19e]:last-child{margin-bottom:0}.diagnostic-subtitle[data-v-ef7bc19e]{font-size:13px;font-weight:600;color:var(--text);margin:0 0 8px}.diagnostic-list[data-v-ef7bc19e]{margin:0;padding-left:20px;font-size:13px;color:var(--text-secondary);line-height:1.8}.diagnostic-details[data-v-ef7bc19e]{margin:0;padding:12px;background:var(--background, rgba(0, 0, 0, .03));border-radius:4px;font-family:Consolas,Monaco,monospace;font-size:12px;color:var(--text);overflow-x:auto;line-height:1.5}.sys-btn[data-v-ef7bc19e]{padding:5px 12px;border-radius:4px;font-size:12px;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);transition:all .15s ease;display:inline-flex;align-items:center;gap:4px}.sys-btn[data-v-ef7bc19e]:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.sys-btn[data-v-ef7bc19e]:disabled{opacity:.5;cursor:not-allowed}.sys-btn-primary[data-v-ef7bc19e]{background:var(--primary);color:var(--text);border-color:var(--primary)}.sys-btn-primary[data-v-ef7bc19e]:hover:not(:disabled){opacity:.85;color:var(--text)}.sys-btn-warning[data-v-ef7bc19e]{background:var(--status-warning);color:var(--text);border-color:var(--status-warning)}.sys-btn-warning[data-v-ef7bc19e]:hover:not(:disabled){opacity:.85;color:var(--text)}.sys-btn-danger[data-v-ef7bc19e]{background:var(--status-error);color:var(--text);border-color:var(--status-error)}.sys-btn-danger[data-v-ef7bc19e]:hover:not(:disabled){opacity:.85;color:var(--text)}.sys-btn-sm[data-v-ef7bc19e]{padding:4px 10px;font-size:12px}.sys-btn-secondary[data-v-ef7bc19e]{background:var(--surface);color:var(--text)}.loading-state[data-v-ef7bc19e]{text-align:center;padding:40px;color:var(--text-secondary);font-size:14px}.empty-state[data-v-ef7bc19e]{text-align:center;padding:40px 20px;color:var(--text-secondary);font-size:14px}.online-users-page[data-v-b7f43b8a]{padding:20px 24px}.page-header[data-v-b7f43b8a]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.page-title[data-v-b7f43b8a]{margin:0;font-size:20px;font-weight:600;color:var(--text)}.page-desc[data-v-b7f43b8a]{margin:4px 0 0;font-size:13px;color:var(--text-secondary)}.header-actions[data-v-b7f43b8a]{display:flex;align-items:center;gap:12px}.auto-refresh-toggle[data-v-b7f43b8a]{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary);cursor:pointer}.stats-grid[data-v-b7f43b8a]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:16px}.stat-card[data-v-b7f43b8a]{padding:14px 16px;border-radius:8px;background:var(--surface);border:1px solid var(--border)}.stat-card.is-warning[data-v-b7f43b8a]{border-color:var(--status-warning, #f59e0b)}.stat-value[data-v-b7f43b8a]{font-size:24px;font-weight:700;color:var(--text);line-height:1.2}.stat-label[data-v-b7f43b8a]{margin-top:4px;font-size:12px;color:var(--text-secondary)}.table-wrapper[data-v-b7f43b8a]{border-radius:8px;background:var(--surface);border:1px solid var(--border);padding:8px 4px 4px;overflow-x:auto}.data-table[data-v-b7f43b8a],.detail-table[data-v-b7f43b8a]{width:100%;border-collapse:collapse;font-size:13px}.data-table th[data-v-b7f43b8a],.detail-table th[data-v-b7f43b8a]{text-align:left;padding:10px 12px;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);white-space:nowrap}.data-table td[data-v-b7f43b8a],.detail-table td[data-v-b7f43b8a]{padding:10px 12px;color:var(--text);border-bottom:1px solid var(--border);vertical-align:middle}.data-table tbody tr[data-v-b7f43b8a]:hover{background:var(--border-light)}.data-table tr.row-anonymous[data-v-b7f43b8a]{background:color-mix(in srgb,var(--status-warning, #f59e0b) 6%,transparent)}.col-expand[data-v-b7f43b8a]{width:32px}.expand-btn[data-v-b7f43b8a]{width:20px;height:20px;line-height:1;border-radius:4px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);cursor:pointer}.user-cell[data-v-b7f43b8a]{display:flex;align-items:center;gap:10px}.avatar[data-v-b7f43b8a]{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:color-mix(in srgb,var(--primary) 16%,transparent);color:var(--primary);font-size:13px;font-weight:700}.avatar.is-anon[data-v-b7f43b8a]{background:color-mix(in srgb,var(--status-warning, #f59e0b) 18%,transparent);color:var(--status-warning, #f59e0b)}.user-lines[data-v-b7f43b8a]{display:flex;flex-direction:column;gap:2px}.user-name[data-v-b7f43b8a]{font-weight:600;color:var(--text)}.user-sub[data-v-b7f43b8a]{font-size:11px;color:var(--text-secondary)}.status-pill[data-v-b7f43b8a]{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;white-space:nowrap}.status-pill.is-online[data-v-b7f43b8a]{color:var(--status-success, #22c55e);background:color-mix(in srgb,var(--status-success, #22c55e) 14%,transparent)}.status-pill.is-anon[data-v-b7f43b8a]{color:var(--status-warning, #f59e0b);background:color-mix(in srgb,var(--status-warning, #f59e0b) 14%,transparent)}.source-cell[data-v-b7f43b8a]{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mono-text[data-v-b7f43b8a]{font-family:var(--font-mono, monospace);font-size:12px}.detail-row>td[data-v-b7f43b8a]{padding:0;background:color-mix(in srgb,var(--primary) 4%,transparent)}.detail-table[data-v-b7f43b8a]{background:transparent}.detail-table th[data-v-b7f43b8a],.detail-table td[data-v-b7f43b8a]{padding:8px 12px;font-size:12px}.ua-cell[data-v-b7f43b8a]{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty-state[data-v-b7f43b8a],.footer-meta[data-v-b7f43b8a]{padding:24px 12px;text-align:center;font-size:13px;color:var(--text-secondary)}.footer-meta[data-v-b7f43b8a]{padding:8px 12px;text-align:right;font-size:12px}.ai-provider-config[data-v-b4b8564c]{padding:20px;width:100%;max-width:100%;margin:0;box-sizing:border-box}.page-header[data-v-b4b8564c]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.page-header h2[data-v-b4b8564c]{margin:0;font-size:18px;color:var(--text)}.header-actions[data-v-b4b8564c]{display:flex;gap:8px}.page-desc[data-v-b4b8564c]{color:var(--text-secondary);font-size:13px;margin-bottom:20px}.section-title[data-v-b4b8564c]{font-size:14px;font-weight:600;color:var(--text);margin:20px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--border)}.provider-grid[data-v-b4b8564c]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.provider-card[data-v-b4b8564c]{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:14px;display:flex;flex-direction:column;transition:all .2s}.provider-card.provider-enabled[data-v-b4b8564c],.provider-card[data-v-b4b8564c]:hover{border-color:var(--primary)}.provider-header[data-v-b4b8564c]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.provider-info[data-v-b4b8564c]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.provider-name[data-v-b4b8564c]{font-size:15px;font-weight:600;color:var(--text)}.provider-desc[data-v-b4b8564c]{font-size:12px;color:var(--text-secondary);margin-bottom:10px;line-height:1.4}.provider-details[data-v-b4b8564c]{display:flex;flex-direction:column;gap:4px;margin-bottom:10px;flex:1}.detail-row[data-v-b4b8564c]{display:flex;align-items:flex-start;gap:6px;font-size:12px}.detail-label[data-v-b4b8564c]{color:var(--text-secondary);min-width:70px;flex-shrink:0}.detail-value[data-v-b4b8564c]{color:var(--text);word-break:break-all}.detail-value.mono[data-v-b4b8564c]{font-family:monospace}.test-result.test-success[data-v-b4b8564c]{color:var(--status-success)}.test-result.test-failed[data-v-b4b8564c]{color:var(--status-error);word-break:break-all}.test-hint[data-v-b4b8564c]{color:var(--text-secondary);font-size:12px;line-height:1.5}.provider-footer[data-v-b4b8564c]{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:8px;border-top:1px solid var(--border)}.tag[data-v-b4b8564c]{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.tag-success[data-v-b4b8564c]{background:#22c55e26;color:var(--status-success)}.tag-muted[data-v-b4b8564c]{background:var(--elevated, rgba(128, 128, 128, .15));color:var(--text-secondary)}.tag-info[data-v-b4b8564c]{background:#3b82f626;color:var(--status-info)}.tag-region[data-v-b4b8564c]{background:var(--surface);color:var(--text-secondary);border:1px solid var(--border)}.btn[data-v-b4b8564c]{padding:6px 16px;border:none;border-radius:6px;font-size:13px;cursor:pointer;transition:opacity .15s}.btn[data-v-b4b8564c]:hover{opacity:.85}.btn[data-v-b4b8564c]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-b4b8564c]{background:var(--primary);color:var(--text)}.btn-secondary[data-v-b4b8564c]{background:var(--elevated);color:var(--text)}.btn-sm[data-v-b4b8564c]{padding:4px 12px;font-size:12px}.btn-link[data-v-b4b8564c]{background:none;border:none;color:var(--primary);font-size:12px;cursor:pointer;padding:2px 4px;text-decoration:none}.btn-link[data-v-b4b8564c]:hover{text-decoration:underline}.btn-link[data-v-b4b8564c]:disabled{opacity:.5;cursor:not-allowed;text-decoration:none}.btn-link.btn-danger-link[data-v-b4b8564c]{color:var(--status-error)}.btn-icon[data-v-b4b8564c]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s}.btn-icon[data-v-b4b8564c]:hover{background:var(--elevated, rgba(255, 255, 255, .08));color:var(--text)}.toggle-switch[data-v-b4b8564c]{position:relative;display:inline-block;width:42px;height:22px;flex-shrink:0}.toggle-switch input[data-v-b4b8564c]{opacity:0;width:0;height:0}.toggle-slider[data-v-b4b8564c]{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--border);border-radius:22px;transition:.3s}.toggle-slider[data-v-b4b8564c]:before{position:absolute;content:"";height:16px;width:16px;left:3px;bottom:3px;background-color:#fff;border-radius:50%;transition:.3s}.toggle-switch input:checked+.toggle-slider[data-v-b4b8564c]{background-color:var(--primary)}.toggle-switch input:checked+.toggle-slider[data-v-b4b8564c]:before{transform:translate(20px)}.modal-overlay[data-v-b4b8564c]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:10000;display:flex;align-items:center;justify-content:center}.modal-content[data-v-b4b8564c]{background:var(--surface);border:1px solid var(--border);border-radius:10px;max-height:80vh;display:flex;flex-direction:column}.modal-sm[data-v-b4b8564c]{width:460px}.modal-header[data-v-b4b8564c]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-header h3[data-v-b4b8564c]{margin:0;font-size:16px;color:var(--text)}.modal-body[data-v-b4b8564c]{padding:20px;overflow-y:auto;flex:1}.modal-footer[data-v-b4b8564c]{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--border)}.form-field[data-v-b4b8564c]{margin-bottom:14px}.field-label[data-v-b4b8564c]{display:block;margin-bottom:4px;font-size:13px;color:var(--text);font-weight:500}.field-hint[data-v-b4b8564c]{margin:4px 0 0;font-size:12px;color:var(--text-secondary);line-height:1.4}.form-input[data-v-b4b8564c]{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:var(--background);color:var(--text);font-size:13px;box-sizing:border-box}.form-input[data-v-b4b8564c]:focus{outline:none;border-color:var(--primary)}.advanced-settings[data-v-b4b8564c]{margin-top:12px;border-top:1px solid var(--border);padding-top:10px}.advanced-summary[data-v-b4b8564c]{font-size:13px;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.advanced-summary[data-v-b4b8564c]:hover{color:var(--primary)}.advanced-body[data-v-b4b8564c]{margin-top:10px}.mcp-page[data-v-7e29ca15]{padding:16px 20px;color:var(--text);overflow-y:auto}.page-header[data-v-7e29ca15]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.page-title[data-v-7e29ca15]{margin:0;font-size:18px;font-weight:600;color:var(--text)}.section[data-v-7e29ca15]{margin-bottom:20px}.section-title[data-v-7e29ca15]{margin:0 0 10px;font-size:14px;font-weight:600;color:var(--text)}.stat-grid[data-v-7e29ca15]{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}.stat-card[data-v-7e29ca15]{display:flex;flex-direction:column;gap:6px;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:6px}.stat-label[data-v-7e29ca15]{font-size:12px;color:var(--text-secondary)}.stat-value[data-v-7e29ca15]{font-size:16px;font-weight:600}.stat-value.small[data-v-7e29ca15]{font-size:12px;font-weight:500;word-break:break-all}.stat-value.ok[data-v-7e29ca15]{color:var(--status-online)}.stat-value.muted[data-v-7e29ca15]{color:var(--text-secondary)}.level-row[data-v-7e29ca15]{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.level-badge[data-v-7e29ca15]{padding:2px 8px;font-size:12px;border-radius:10px;white-space:nowrap}.badge-read[data-v-7e29ca15]{background:color-mix(in srgb,var(--status-online) 15%,transparent);color:var(--status-online)}.badge-write[data-v-7e29ca15]{background:color-mix(in srgb,var(--status-warning) 15%,transparent);color:var(--status-warning)}.badge-destructive[data-v-7e29ca15]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.config-row[data-v-7e29ca15]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.config-label[data-v-7e29ca15]{font-size:13px;color:var(--text-secondary)}.config-meta[data-v-7e29ca15]{display:flex;flex-wrap:wrap;gap:18px;margin-top:10px;font-size:12px;color:var(--text-secondary)}.config-hint[data-v-7e29ca15]{margin:8px 0 0;font-size:12px;color:var(--text-secondary)}.inline-hint[data-v-7e29ca15]{margin:0}.key-table-wrap[data-v-7e29ca15]{max-height:240px;margin-top:10px}.key-plaintext[data-v-7e29ca15]{margin-top:10px;padding:10px 12px;background:var(--surface);border:1px solid var(--status-warning);border-radius:6px}.key-plaintext-label[data-v-7e29ca15]{margin-bottom:6px;font-size:12px;font-weight:600;color:var(--status-warning)}.key-plaintext-row[data-v-7e29ca15]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.key-plaintext-value[data-v-7e29ca15]{flex:1;min-width:240px;padding:6px 8px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;color:var(--text);background:color-mix(in srgb,var(--text-secondary) 8%,transparent);border:1px solid var(--border);border-radius:4px;word-break:break-all;-webkit-user-select:all;user-select:all}.switch-result[data-v-7e29ca15]{font-size:12px}.switch-result.ok[data-v-7e29ca15]{color:var(--status-online)}.switch-result.err[data-v-7e29ca15]{color:var(--status-error)}.toolbar[data-v-7e29ca15]{display:flex;gap:8px;margin-bottom:10px}.mcp-input[data-v-7e29ca15],.mcp-select[data-v-7e29ca15]{padding:5px 8px;font-size:13px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:4px;outline:none}.mcp-input[data-v-7e29ca15]{flex:1;min-width:200px}.table-wrap[data-v-7e29ca15]{max-height:460px;overflow:auto;border:1px solid var(--border);border-radius:6px}.mcp-table[data-v-7e29ca15]{width:100%;border-collapse:collapse;font-size:13px}.mcp-table th[data-v-7e29ca15],.mcp-table td[data-v-7e29ca15]{padding:7px 10px;text-align:left;border-bottom:1px solid var(--border)}.mcp-table th[data-v-7e29ca15]{position:sticky;top:0;background:var(--surface);font-weight:600;color:var(--text-secondary);z-index:1}.col-num[data-v-7e29ca15]{width:72px;text-align:center}.col-level[data-v-7e29ca15]{width:110px}.col-ops[data-v-7e29ca15]{width:168px}.col-type[data-v-7e29ca15]{width:84px;text-align:center}.resource-table-wrap[data-v-7e29ca15]{max-height:320px}.type-badge[data-v-7e29ca15]{display:inline-block;padding:2px 8px;font-size:11px;border-radius:10px;white-space:nowrap}.type-static[data-v-7e29ca15]{background:color-mix(in srgb,var(--status-info) 15%,transparent);color:var(--status-info)}.type-template[data-v-7e29ca15]{background:color-mix(in srgb,var(--status-online) 15%,transparent);color:var(--status-online)}.key-ops[data-v-7e29ca15]{display:flex;gap:6px;justify-content:center}.cell-name[data-v-7e29ca15]{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;white-space:nowrap}.cell-desc[data-v-7e29ca15]{color:var(--text-secondary)}.row-dim[data-v-7e29ca15]{opacity:.55}.cell-empty[data-v-7e29ca15]{padding:20px;text-align:center;color:var(--text-secondary)}.empty-state[data-v-7e29ca15]{display:flex;flex-direction:column;gap:6px;padding:32px;text-align:center;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);border-radius:6px}.empty-hint[data-v-7e29ca15]{font-size:12px;opacity:.8}.kb-page[data-v-3fec5f67]{display:flex;flex-direction:column;height:100%;min-height:0}.page-header[data-v-3fec5f67]{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;gap:16px;flex-wrap:wrap}.page-title[data-v-3fec5f67]{display:flex;align-items:center;gap:8px;margin:0;font-size:18px;font-weight:600;color:var(--text)}.header-icon[data-v-3fec5f67]{color:var(--primary)}.header-actions[data-v-3fec5f67]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.lang-select[data-v-3fec5f67]{height:32px;padding:0 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-size:13px;cursor:pointer}.product-select[data-v-3fec5f67]{height:32px;padding:0 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-size:13px;font-weight:500;cursor:pointer}.product-select[data-v-3fec5f67]:focus,.lang-select[data-v-3fec5f67]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(var(--primary-rgb, 26, 115, 232),.15)}.search-box[data-v-3fec5f67]{display:flex;align-items:center;gap:6px}.search-input[data-v-3fec5f67]{height:32px;width:220px;padding:0 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-size:13px}.search-input[data-v-3fec5f67]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(var(--primary-rgb, 26, 115, 232),.15)}.btn[data-v-3fec5f67]{display:inline-flex;align-items:center;justify-content:center;gap:4px;height:32px;padding:0 12px;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;text-decoration:none;white-space:nowrap}.btn-sm[data-v-3fec5f67]{height:28px;padding:0 10px;font-size:12px}.btn-primary[data-v-3fec5f67]{background:var(--primary);color:var(--text)}.btn-primary[data-v-3fec5f67]:hover:not(:disabled){background:var(--primary-dark, var(--primary));filter:brightness(1.1)}.btn-primary[data-v-3fec5f67]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-3fec5f67]{background:var(--surface-alt, rgba(255, 255, 255, .08));color:var(--text);border:1px solid var(--border)}.btn-secondary[data-v-3fec5f67]:hover:not(:disabled){background:var(--surface-hover, rgba(255, 255, 255, .12))}.rag-bar[data-v-3fec5f67]{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:8px 20px;background:var(--surface-alt, rgba(255, 255, 255, .03));border-bottom:1px solid var(--border);flex-shrink:0}.rag-info[data-v-3fec5f67]{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0;font-size:12px;color:var(--text-secondary)}.rag-label[data-v-3fec5f67]{font-weight:600;color:var(--text)}.rag-pill[data-v-3fec5f67]{display:inline-flex;align-items:center;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;white-space:nowrap}.rag-pill-ok[data-v-3fec5f67]{background:color-mix(in srgb,var(--primary) 15%,transparent);color:var(--primary)}.rag-pill-warn[data-v-3fec5f67]{background:color-mix(in srgb,var(--status-warning, #e6a23c) 18%,transparent);color:var(--status-warning, #e6a23c)}.rag-pill-busy[data-v-3fec5f67]{background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary);animation:ragPulse-3fec5f67 1.4s ease-in-out infinite}.rag-pill-muted[data-v-3fec5f67]{background:color-mix(in srgb,var(--text-secondary) 15%,transparent);color:var(--text-secondary)}@keyframes ragPulse-3fec5f67{0%,to{opacity:1}50%{opacity:.55}}.rag-meta[data-v-3fec5f67]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.rag-reason[data-v-3fec5f67]{max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--status-warning, #e6a23c)}.rag-actions[data-v-3fec5f67]{display:flex;align-items:center;gap:8px;flex-shrink:0}.mode-switch[data-v-3fec5f67]{display:inline-flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}.mode-btn[data-v-3fec5f67]{height:30px;padding:0 12px;border:none;background:var(--surface);color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .15s}.mode-btn+.mode-btn[data-v-3fec5f67]{border-left:1px solid var(--border)}.mode-btn.active[data-v-3fec5f67]{background:var(--primary);color:var(--text);font-weight:600}.qa-panel[data-v-3fec5f67]{display:flex;flex-direction:column;height:100%;min-height:0}.qa-head[data-v-3fec5f67]{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 20px;border-bottom:1px solid var(--border);font-size:12px;color:var(--text-secondary);flex-shrink:0}.qa-scope[data-v-3fec5f67]{font-weight:600;color:var(--text)}.qa-warn[data-v-3fec5f67]{padding:2px 8px;border-radius:10px;background:color-mix(in srgb,var(--status-warning, #e6a23c) 15%,transparent);color:var(--status-warning, #e6a23c)}.qa-head .btn[data-v-3fec5f67]{margin-left:auto}.qa-body[data-v-3fec5f67]{flex:1;overflow-y:auto;padding:16px 20px;min-height:0}.qa-empty[data-v-3fec5f67]{padding:48px 0;text-align:center;color:var(--text-secondary);font-size:14px}.qa-turn[data-v-3fec5f67]{margin-bottom:22px}.qa-question[data-v-3fec5f67]{display:flex;align-items:baseline;gap:8px;margin-bottom:8px;font-size:14px;color:var(--text)}.qa-role[data-v-3fec5f67]{flex-shrink:0;padding:1px 8px;border-radius:4px;background:color-mix(in srgb,var(--primary) 14%,transparent);color:var(--primary);font-size:11px;font-weight:600}.qa-qtext[data-v-3fec5f67]{font-weight:600;line-height:1.5}.qa-answer[data-v-3fec5f67]{border-left:2px solid var(--border);margin-left:2px;padding-left:12px}.qa-loading[data-v-3fec5f67],.qa-error[data-v-3fec5f67]{font-size:13px;padding:6px 0}.qa-loading[data-v-3fec5f67]{color:var(--text-secondary)}.qa-error[data-v-3fec5f67]{color:var(--status-error, #f56c6c)}.qa-stale[data-v-3fec5f67]{margin-bottom:8px;padding:6px 10px;border-radius:6px;border-left:3px solid var(--status-warning, #e6a23c);background:color-mix(in srgb,var(--status-warning, #e6a23c) 12%,transparent);color:var(--status-warning, #e6a23c);font-size:12px}.qa-answer-text[data-v-3fec5f67]{font-size:14px}.qa-meta[data-v-3fec5f67]{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:10px;font-size:11px;color:var(--text-secondary)}.qa-feedback[data-v-3fec5f67]{display:inline-flex;align-items:center;gap:6px}.qa-fb-btn[data-v-3fec5f67]{padding:2px 8px;border:1px solid var(--border);border-radius:10px;background:transparent;color:var(--text-secondary);font-size:11px;cursor:pointer;transition:all .15s}.qa-fb-btn[data-v-3fec5f67]:hover{border-color:var(--primary);color:var(--primary)}.qa-fb-btn.active[data-v-3fec5f67]{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 14%,transparent);color:var(--primary);font-weight:600}.qa-fb-thanks[data-v-3fec5f67]{color:var(--primary)}.qa-sources[data-v-3fec5f67]{margin-bottom:12px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-alt, rgba(255, 255, 255, .03))}.qa-sources-title[data-v-3fec5f67]{font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:8px}.qa-source[data-v-3fec5f67]{padding:6px 0;border-top:1px dashed var(--border);font-size:12px;line-height:1.5}.qa-source[data-v-3fec5f67]:first-of-type{border-top:none}.qa-source-idx[data-v-3fec5f67]{color:var(--primary);font-weight:600;margin-right:6px}.qa-source-title[data-v-3fec5f67]{color:var(--text);font-weight:500}.qa-source-path[data-v-3fec5f67]{margin-left:8px;color:var(--text-secondary);font-size:11px}.qa-source-text[data-v-3fec5f67]{margin-top:4px;color:var(--text-secondary);display:-webkit-box;overflow:hidden;-webkit-line-clamp:3;-webkit-box-orient:vertical}.qa-input-bar[data-v-3fec5f67]{display:flex;align-items:flex-end;gap:10px;padding:12px 20px;border-top:1px solid var(--border);background:var(--surface);flex-shrink:0}.qa-input[data-v-3fec5f67]{flex:1;min-height:40px;max-height:140px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-size:13px;line-height:1.5;resize:vertical;font-family:inherit}.qa-input[data-v-3fec5f67]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(var(--primary-rgb, 26, 115, 232),.15)}.kb-body[data-v-3fec5f67]{display:flex;flex:1;overflow:hidden;min-height:0}.kb-sidebar[data-v-3fec5f67]{width:280px;min-width:240px;max-width:320px;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.sidebar-header[data-v-3fec5f67]{padding:10px 14px;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);flex-shrink:0}.tree-list[data-v-3fec5f67],.search-result-list[data-v-3fec5f67]{flex:1;overflow-y:auto;padding:6px}.empty-hint[data-v-3fec5f67]{padding:20px 14px;text-align:center;color:var(--text-secondary);font-size:13px}.tree-item[data-v-3fec5f67]{display:flex;align-items:center;gap:4px;padding:6px 8px;border-radius:4px;cursor:pointer;font-size:13px;color:var(--text);transition:background .1s;-webkit-user-select:none;user-select:none}.tree-item[data-v-3fec5f67]:hover{background:#ffffff0f}.tree-folder[data-v-3fec5f67]{font-weight:600}.tree-article.active[data-v-3fec5f67]{background:rgba(var(--primary-rgb, 26, 115, 232),.12);color:var(--primary)}.tree-toggle[data-v-3fec5f67]{width:12px;font-size:10px;color:var(--text-secondary);flex-shrink:0}.tree-dot[data-v-3fec5f67]{width:12px;text-align:center;color:var(--text-secondary);flex-shrink:0}.tree-label[data-v-3fec5f67]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fallback-mini[data-v-3fec5f67]{font-size:10px;color:var(--status-warning);background:color-mix(in srgb,var(--status-warning) 15%,transparent);border-radius:3px;padding:0 4px;flex-shrink:0}.tree-item.fallback[data-v-3fec5f67]{opacity:.75;font-style:italic}.search-result-item[data-v-3fec5f67]{padding:8px 10px;border-radius:6px;cursor:pointer;transition:background .1s;border:1px solid transparent}.search-result-item[data-v-3fec5f67]:hover{background:#ffffff0f}.search-result-item.active[data-v-3fec5f67]{background:rgba(var(--primary-rgb, 26, 115, 232),.12);border-color:var(--primary)}.result-title[data-v-3fec5f67]{font-size:13px;font-weight:500;color:var(--text);margin-bottom:4px}.result-snippet[data-v-3fec5f67]{font-size:12px;color:var(--text-secondary);line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.result-module[data-v-3fec5f67]{font-size:11px;color:var(--text-secondary);margin-top:4px;opacity:.7}.kb-content[data-v-3fec5f67]{flex:1;overflow-y:auto;background:var(--background);min-width:0}.content-empty[data-v-3fec5f67]{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);font-size:14px}.article[data-v-3fec5f67]{max-width:880px;margin:0 auto;padding:28px 36px 60px}.article-header[data-v-3fec5f67]{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border)}.article-title[data-v-3fec5f67]{font-size:24px;font-weight:700;color:var(--text);margin:0 0 12px}.article-meta[data-v-3fec5f67]{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--text-secondary)}.badge[data-v-3fec5f67]{display:inline-flex;align-items:center;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.badge-warn[data-v-3fec5f67]{background:color-mix(in srgb,var(--status-warning) 15%,transparent);color:var(--status-warning)}.meta-lang[data-v-3fec5f67],.meta-module[data-v-3fec5f67]{padding:2px 8px;background:var(--surface-alt, rgba(255, 255, 255, .08));border-radius:4px}.markdown-body[data-v-3fec5f67]{font-size:14px;line-height:1.7;color:var(--text)}.markdown-body[data-v-3fec5f67] h1,.markdown-body[data-v-3fec5f67] h2,.markdown-body[data-v-3fec5f67] h3,.markdown-body[data-v-3fec5f67] h4,.markdown-body[data-v-3fec5f67] h5,.markdown-body[data-v-3fec5f67] h6{margin:24px 0 12px;font-weight:600;color:var(--text)}.markdown-body[data-v-3fec5f67] h1{font-size:22px}.markdown-body[data-v-3fec5f67] h2{font-size:19px}.markdown-body[data-v-3fec5f67] h3{font-size:16px}.markdown-body[data-v-3fec5f67] h4{font-size:14px}.markdown-body[data-v-3fec5f67] p{margin:12px 0}.markdown-body[data-v-3fec5f67] ul,.markdown-body[data-v-3fec5f67] ol{margin:12px 0;padding-left:24px}.markdown-body[data-v-3fec5f67] li{margin:4px 0}.markdown-body[data-v-3fec5f67] code{padding:2px 6px;background:var(--surface-alt, rgba(255, 255, 255, .08));border-radius:4px;font-family:Consolas,Monaco,Courier New,monospace;font-size:13px}.markdown-body[data-v-3fec5f67] pre{margin:16px 0;padding:14px 16px;background:var(--surface-alt, rgba(0, 0, 0, .3));border:1px solid var(--border);border-radius:8px;overflow-x:auto}.markdown-body[data-v-3fec5f67] pre code{padding:0;background:none;font-size:13px}.markdown-body[data-v-3fec5f67] blockquote{margin:16px 0;padding:8px 16px;border-left:3px solid var(--primary);background:rgba(var(--primary-rgb, 26, 115, 232),.05);color:var(--text-secondary)}.markdown-body[data-v-3fec5f67] a{color:var(--primary);text-decoration:none}.markdown-body[data-v-3fec5f67] a:hover{text-decoration:underline}.markdown-body[data-v-3fec5f67] img{max-width:100%;height:auto;border-radius:8px;margin:12px 0}.markdown-body[data-v-3fec5f67] hr{margin:24px 0;border:none;border-top:1px solid var(--border)}.article-editor[data-v-3fec5f67]{display:flex;flex-direction:column;gap:12px}.editor-toolbar[data-v-3fec5f67]{display:flex;align-items:center;gap:8px}.saving-hint[data-v-3fec5f67]{font-size:12px;color:var(--text-secondary)}.editor-textarea[data-v-3fec5f67]{width:100%;min-height:420px;padding:14px 16px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-family:Consolas,Monaco,Courier New,monospace;font-size:13px;line-height:1.6;resize:vertical}.editor-textarea[data-v-3fec5f67]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(var(--primary-rgb, 26, 115, 232),.15)}.image-dialog-overlay[data-v-3fec5f67]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.image-dialog[data-v-3fec5f67]{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:20px 24px;min-width:360px;box-shadow:0 8px 32px #0000004d}.image-dialog h3[data-v-3fec5f67]{margin:0 0 16px;font-size:16px;color:var(--text)}.dialog-label[data-v-3fec5f67]{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:4px}.dialog-input[data-v-3fec5f67]{width:100%;height:32px;padding:0 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface-alt, rgba(255, 255, 255, .04));color:var(--text);font-size:13px;margin-bottom:12px}.file-input[data-v-3fec5f67]{margin-bottom:12px;font-size:13px;color:var(--text)}.dialog-actions[data-v-3fec5f67]{display:flex;justify-content:flex-end;gap:8px}.tree-list[data-v-3fec5f67]::-webkit-scrollbar,.search-result-list[data-v-3fec5f67]::-webkit-scrollbar,.kb-content[data-v-3fec5f67]::-webkit-scrollbar{width:6px}.tree-list[data-v-3fec5f67]::-webkit-scrollbar-track,.search-result-list[data-v-3fec5f67]::-webkit-scrollbar-track,.kb-content[data-v-3fec5f67]::-webkit-scrollbar-track{background:transparent}.tree-list[data-v-3fec5f67]::-webkit-scrollbar-thumb,.search-result-list[data-v-3fec5f67]::-webkit-scrollbar-thumb,.kb-content[data-v-3fec5f67]::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.tree-list[data-v-3fec5f67]::-webkit-scrollbar-thumb:hover,.kb-content[data-v-3fec5f67]::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.gallery-page[data-v-882949cb]{display:flex;flex-direction:column;height:100%;min-height:0}.page-header[data-v-882949cb]{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;gap:16px;flex-wrap:wrap}.page-title[data-v-882949cb]{display:flex;align-items:center;gap:8px;margin:0;font-size:18px;font-weight:600;color:var(--text)}.header-icon[data-v-882949cb]{color:var(--primary)}.header-actions[data-v-882949cb]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.field-label[data-v-882949cb]{font-size:13px;color:var(--text-secondary)}.search-box[data-v-882949cb]{position:relative;display:flex;align-items:center;width:240px}.search-icon[data-v-882949cb]{position:absolute;left:9px;color:var(--text-secondary);pointer-events:none}.search-input[data-v-882949cb]{width:100%;height:32px;padding:0 28px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-size:13px}.search-input[data-v-882949cb]::placeholder{color:var(--text-secondary)}.search-input[data-v-882949cb]:focus{outline:none;border-color:var(--primary)}.search-clear[data-v-882949cb]{position:absolute;right:6px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:12px;line-height:1;padding:4px;border-radius:4px}.search-clear[data-v-882949cb]:hover{color:var(--text);background:var(--surface-alt, rgba(255, 255, 255, .08))}.search-summary[data-v-882949cb]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-shrink:0}.search-summary-text[data-v-882949cb]{font-size:13px;color:var(--text-secondary)}.select[data-v-882949cb]{height:32px;padding:0 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-size:13px;cursor:pointer}.select[data-v-882949cb]:focus{outline:none;border-color:var(--primary)}.btn[data-v-882949cb]{display:inline-flex;align-items:center;justify-content:center;gap:4px;height:32px;padding:0 12px;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap}.btn-sm[data-v-882949cb]{height:28px;padding:0 10px;font-size:12px}.btn-primary[data-v-882949cb]{background:var(--primary);color:var(--text)}.btn-primary[data-v-882949cb]:hover:not(:disabled){filter:brightness(1.1)}.btn-secondary[data-v-882949cb]{background:var(--surface-alt, rgba(255, 255, 255, .08));color:var(--text);border:1px solid var(--border)}.btn-icon[data-v-882949cb]{border:none;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:13px;padding:2px 6px;border-radius:4px}.btn-danger[data-v-882949cb]:hover{color:var(--status-error);background:color-mix(in srgb,var(--status-error) 10%,transparent)}.gallery-body[data-v-882949cb]{display:flex;flex:1;overflow:hidden;min-height:0}.gallery-sidebar[data-v-882949cb]{width:240px;min-width:200px;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.sidebar-header[data-v-882949cb]{padding:10px 14px;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);flex-shrink:0}.category-list[data-v-882949cb]{flex:1;overflow-y:auto;padding:6px}.category-item[data-v-882949cb]{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:4px;cursor:pointer;font-size:13px;color:var(--text);transition:background .1s}.category-item[data-v-882949cb]:hover{background:#ffffff0f}.category-item.active[data-v-882949cb]{background:rgba(var(--primary-rgb, 26, 115, 232),.12);color:var(--primary)}.category-name[data-v-882949cb]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-count[data-v-882949cb]{font-size:11px;color:var(--text-secondary);background:var(--surface-alt, rgba(255, 255, 255, .08));border-radius:10px;padding:0 8px}.empty-hint[data-v-882949cb]{padding:20px 14px;text-align:center;color:var(--text-secondary);font-size:13px}.gallery-content[data-v-882949cb]{flex:1;overflow-y:auto;background:var(--background);min-width:0;padding:16px}.content-empty[data-v-882949cb]{display:flex;align-items:center;justify-content:center;min-height:240px;color:var(--text-secondary);font-size:14px}.image-grid[data-v-882949cb]{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}.image-card[data-v-882949cb]{margin:0;background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden;display:flex;flex-direction:column}.image-thumb[data-v-882949cb]{width:100%;height:120px;object-fit:contain;background:color-mix(in srgb,var(--background) 60%,transparent);padding:8px}.image-meta[data-v-882949cb]{display:flex;align-items:center;gap:6px;padding:8px 10px;border-top:1px solid var(--border);font-size:12px;color:var(--text-secondary)}.image-name[data-v-882949cb]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.image-size[data-v-882949cb]{font-size:11px;opacity:.7}.image-path[data-v-882949cb]{padding:6px 10px 0;font-size:11px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-filename[data-v-882949cb]{flex-basis:100%;font-size:11px;color:var(--text-secondary);opacity:.7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dialog-overlay[data-v-882949cb]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.dialog[data-v-882949cb]{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:20px 24px;min-width:360px;box-shadow:0 8px 32px #0000004d}.dialog h3[data-v-882949cb]{margin:0 0 16px;font-size:16px;color:var(--text)}.dialog-label[data-v-882949cb]{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:4px}.dialog-input[data-v-882949cb]{width:100%;height:32px;padding:0 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface-alt, rgba(255, 255, 255, .04));color:var(--text);font-size:13px;margin-bottom:12px}.file-input[data-v-882949cb]{margin-bottom:12px;font-size:13px;color:var(--text)}.dialog-actions[data-v-882949cb]{display:flex;justify-content:flex-end;gap:8px}.dialog-overlay[data-v-9a34a168]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.dialog[data-v-9a34a168]{background:var(--surface);border:1px solid var(--border);border-radius:10px;display:flex;flex-direction:column;max-height:88vh}.dialog-lg[data-v-9a34a168]{width:min(1200px,94vw)}.dialog-header[data-v-9a34a168]{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}.dialog-title[data-v-9a34a168]{margin:0;font-size:16px;font-weight:600;color:var(--text)}.dialog-close[data-v-9a34a168]{border:none;background:transparent;color:var(--text-secondary);font-size:20px;cursor:pointer;line-height:1}.dialog-body[data-v-9a34a168]{padding:16px 18px;overflow-y:auto}.dialog-footer[data-v-9a34a168]{display:flex;justify-content:flex-end;gap:10px;padding:12px 18px;border-top:1px solid var(--border)}.form-section[data-v-9a34a168]{margin-bottom:20px}.form-section-title[data-v-9a34a168]{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:600;color:var(--text);margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--border)}.form-grid[data-v-9a34a168]{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:10px 16px}.form-item[data-v-9a34a168]{display:flex;flex-direction:column;gap:4px}.checkbox-item[data-v-9a34a168]{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text)}.form-item-wide[data-v-9a34a168]{grid-column:1 / -1}.form-label[data-v-9a34a168]{font-size:12px;color:var(--text-secondary)}.form-input[data-v-9a34a168],.cell-input[data-v-9a34a168]{height:30px;padding:0 8px;background:var(--background);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:12px;box-sizing:border-box;width:100%}.cell-input-narrow[data-v-9a34a168]{width:70px}.section-hint[data-v-9a34a168]{margin:0 0 8px;font-size:11px;color:var(--text-secondary);line-height:1.6}.table-wrap[data-v-9a34a168]{overflow-x:auto;border:1px solid var(--border);border-radius:8px}.edit-table[data-v-9a34a168]{width:100%;border-collapse:collapse;font-size:12px}.edit-table th[data-v-9a34a168]{background:var(--surface-alt, rgba(255, 255, 255, .04));color:var(--text-secondary);font-weight:500;text-align:left;padding:8px;white-space:nowrap;border-bottom:1px solid var(--border)}.edit-table td[data-v-9a34a168]{padding:6px 8px;border-bottom:1px solid var(--border);color:var(--text)}.col-center[data-v-9a34a168]{text-align:center}.empty-cell[data-v-9a34a168]{text-align:center;color:var(--text-secondary);padding:16px 0}.btn-link[data-v-9a34a168]{border:none;background:transparent;color:var(--primary);cursor:pointer;font-size:12px;padding:0}.btn-link.danger[data-v-9a34a168]{color:var(--status-error, #e54d42)}.btn[data-v-9a34a168]{height:32px;padding:0 14px;border-radius:6px;border:1px solid transparent;cursor:pointer;font-size:13px}.btn-sm[data-v-9a34a168]{height:26px;padding:0 10px;font-size:12px}.btn-primary[data-v-9a34a168]{background:var(--primary);color:var(--text-on-primary, #fff)}.btn-primary[data-v-9a34a168]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-9a34a168]{background:transparent;color:var(--text);border-color:var(--border)}.dialog-overlay[data-v-9bc9aa1b]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.dialog[data-v-9bc9aa1b]{width:min(760px,92vw);max-height:88vh;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:10px}.dialog-header[data-v-9bc9aa1b]{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}.dialog-title[data-v-9bc9aa1b]{margin:0;font-size:16px;font-weight:600;color:var(--text)}.dialog-close[data-v-9bc9aa1b]{border:none;background:transparent;color:var(--text-secondary);font-size:20px;cursor:pointer;line-height:1}.dialog-body[data-v-9bc9aa1b]{padding:16px 18px;overflow-y:auto}.dialog-footer[data-v-9bc9aa1b]{display:flex;justify-content:flex-end;gap:10px;padding:12px 18px;border-top:1px solid var(--border)}.dialog-desc[data-v-9bc9aa1b]{margin:0 0 14px;font-size:13px;color:var(--text-secondary);line-height:1.6}.form-item[data-v-9bc9aa1b]{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.form-label[data-v-9bc9aa1b]{font-size:12px;color:var(--text-secondary)}.form-input[data-v-9bc9aa1b]{height:32px;padding:0 10px;background:var(--background);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:13px;box-sizing:border-box}.checkbox-item[data-v-9bc9aa1b]{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text);margin-bottom:8px}.warning-text[data-v-9bc9aa1b]{margin:12px 0 0;font-size:12px;color:var(--status-warning, #e6a23c);line-height:1.6}.result-summary[data-v-9bc9aa1b]{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:13px;padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:var(--surface-alt, rgba(255, 255, 255, .04));margin-bottom:12px}.result-success[data-v-9bc9aa1b]{border-color:var(--status-online, #4caf50)}.result-partial[data-v-9bc9aa1b]{border-color:var(--status-warning, #e6a23c)}.result-failed[data-v-9bc9aa1b]{border-color:var(--status-error, #e54d42)}.sep[data-v-9bc9aa1b]{color:var(--border)}.result-note[data-v-9bc9aa1b]{font-size:12px;color:var(--status-warning, #e6a23c);margin-bottom:10px}.preview-block[data-v-9bc9aa1b]{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.preview-header[data-v-9bc9aa1b]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.preview-title[data-v-9bc9aa1b]{font-size:13px;font-weight:500;color:var(--text)}.preview-summary[data-v-9bc9aa1b]{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:12px;color:var(--text-secondary)}.preview-errors[data-v-9bc9aa1b]{margin:0 0 8px;padding-left:18px;font-size:12px;line-height:1.6;color:var(--status-error, #e54d42)}.preview-warnings[data-v-9bc9aa1b]{margin:0 0 8px;padding-left:18px;font-size:12px;line-height:1.6;color:var(--status-warning, #e6a23c)}.preview-table[data-v-9bc9aa1b]{max-height:220px;overflow:auto}.preview-hint[data-v-9bc9aa1b]{margin:0;font-size:12px;color:var(--text-secondary)}.btn-link[data-v-9bc9aa1b]{border:none;background:transparent;color:var(--primary);cursor:pointer;font-size:12px;padding:0}.btn-link[data-v-9bc9aa1b]:disabled{opacity:.6;cursor:not-allowed}.table-wrap[data-v-9bc9aa1b]{overflow-x:auto;border:1px solid var(--border);border-radius:8px}.result-table[data-v-9bc9aa1b]{width:100%;border-collapse:collapse;font-size:12px}.result-table th[data-v-9bc9aa1b]{background:var(--surface-alt, rgba(255, 255, 255, .04));color:var(--text-secondary);font-weight:500;text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);white-space:nowrap}.result-table td[data-v-9bc9aa1b]{padding:7px 10px;border-bottom:1px solid var(--border);color:var(--text)}.col-center[data-v-9bc9aa1b]{text-align:center}.badge[data-v-9bc9aa1b]{padding:2px 8px;border-radius:10px;font-size:11px}.badge-ok[data-v-9bc9aa1b]{background:color-mix(in srgb,var(--status-online, #4caf50) 18%,transparent);color:var(--status-online, #4caf50)}.badge-err[data-v-9bc9aa1b]{background:color-mix(in srgb,var(--status-error, #e54d42) 18%,transparent);color:var(--status-error, #e54d42)}.error-text[data-v-9bc9aa1b]{color:var(--text-secondary);word-break:break-all}.btn[data-v-9bc9aa1b]{height:32px;padding:0 14px;border-radius:6px;border:1px solid transparent;cursor:pointer;font-size:13px}.btn-primary[data-v-9bc9aa1b]{background:var(--primary);color:var(--text-on-primary, #fff)}.btn-primary[data-v-9bc9aa1b]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-9bc9aa1b]{background:transparent;color:var(--text);border-color:var(--border)}.dialog-overlay[data-v-a6c65263]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.dialog[data-v-a6c65263]{width:min(720px,92vw);max-height:88vh;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:10px}.dialog-header[data-v-a6c65263]{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}.dialog-title[data-v-a6c65263]{margin:0;font-size:16px;font-weight:600;color:var(--text)}.dialog-close[data-v-a6c65263]{border:none;background:transparent;color:var(--text-secondary);font-size:20px;cursor:pointer;line-height:1}.dialog-body[data-v-a6c65263]{padding:16px 18px;overflow-y:auto}.dialog-footer[data-v-a6c65263]{display:flex;justify-content:flex-end;padding:12px 18px;border-top:1px solid var(--border)}.selector-row[data-v-a6c65263]{display:grid;grid-template-columns:repeat(2,minmax(200px,1fr));gap:16px;margin-bottom:12px}.selector-item[data-v-a6c65263]{display:flex;flex-direction:column;gap:4px}.form-label[data-v-a6c65263]{font-size:12px;color:var(--text-secondary)}.form-input[data-v-a6c65263]{height:32px;padding:0 10px;background:var(--background);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:13px;box-sizing:border-box}.summary-text[data-v-a6c65263]{margin:0 0 10px;font-size:13px;color:var(--text-secondary)}.table-wrap[data-v-a6c65263]{overflow-x:auto;border:1px solid var(--border);border-radius:8px}.compare-table[data-v-a6c65263]{width:100%;border-collapse:collapse;font-size:12px}.compare-table th[data-v-a6c65263]{background:var(--surface-alt, rgba(255, 255, 255, .04));color:var(--text-secondary);font-weight:500;text-align:left;padding:8px 10px;border-bottom:1px solid var(--border)}.compare-table td[data-v-a6c65263]{padding:7px 10px;border-bottom:1px solid var(--border);color:var(--text)}.row-changed[data-v-a6c65263]{background:color-mix(in srgb,var(--status-warning, #e6a23c) 10%,transparent)}.col-center[data-v-a6c65263]{text-align:center}.changed-mark[data-v-a6c65263]{color:var(--status-warning, #e6a23c);font-weight:700}.same-mark[data-v-a6c65263]{color:var(--text-secondary)}.empty-cell[data-v-a6c65263]{text-align:center;color:var(--text-secondary);padding:16px 0}.btn[data-v-a6c65263]{height:32px;padding:0 14px;border-radius:6px;border:1px solid var(--border);cursor:pointer;font-size:13px;background:transparent;color:var(--text)}.recipe-page[data-v-bfe5393b]{display:flex;flex-direction:row;align-items:stretch;gap:16px;height:100%;min-height:0;padding:20px 24px;box-sizing:border-box}.recipe-rail[data-v-bfe5393b]{width:260px;flex-shrink:0;display:flex;flex-direction:column;gap:12px;min-height:0}.project-select[data-v-bfe5393b]{width:100%;height:28px;padding:0 8px;box-sizing:border-box;background:var(--surface);border:1px solid var(--border-light);border-radius:6px;color:var(--text);font-size:13px;outline:none}.project-select[data-v-bfe5393b]:focus{border-color:var(--primary)}.mode-select[data-v-bfe5393b]{height:32px;min-width:200px;padding:0 10px;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:13px}.recipe-main[data-v-bfe5393b]{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.group-sidebar[data-v-bfe5393b]{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}.sidebar-header[data-v-bfe5393b]{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--border);font-size:13px;font-weight:600;color:var(--text)}.group-list[data-v-bfe5393b]{flex:1;overflow-y:auto;padding:8px}.group-item[data-v-bfe5393b]{padding:8px 10px;border-radius:8px;cursor:pointer;border:1px solid transparent;margin-bottom:6px}.group-item[data-v-bfe5393b]:hover{background:var(--surface-alt, rgba(255, 255, 255, .05))}.group-item.active[data-v-bfe5393b]{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,transparent)}.group-name[data-v-bfe5393b]{font-size:13px;font-weight:500;color:var(--text);margin-bottom:2px}.group-meta[data-v-bfe5393b]{font-size:11px;color:var(--text-secondary)}.group-empty[data-v-bfe5393b]{padding:20px 8px;text-align:center;font-size:12px;color:var(--text-secondary)}.recipe-content[data-v-bfe5393b]{flex:1;min-width:0;display:flex;flex-direction:column}.toolbar[data-v-bfe5393b]{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}.toolbar-left[data-v-bfe5393b],.toolbar-right[data-v-bfe5393b]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.group-desc[data-v-bfe5393b]{margin:0 0 10px;font-size:12px;color:var(--text-secondary)}.sep[data-v-bfe5393b]{margin:0 6px;color:var(--border)}.state-line[data-v-bfe5393b]{display:flex;gap:6px;align-items:baseline}.state-label[data-v-bfe5393b]{color:var(--text);font-weight:500}.in-use-mark[data-v-bfe5393b]{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:10px;font-size:11px;background:color-mix(in srgb,var(--status-online, #4caf50) 20%,transparent);color:var(--status-online, #4caf50)}.filter-row[data-v-bfe5393b]{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap}.batch-input[data-v-bfe5393b]{min-width:160px;width:auto}.static-value[data-v-bfe5393b]{font-size:13px;color:var(--text)}.dialog-hint[data-v-bfe5393b]{margin:4px 0 0;font-size:12px;color:var(--text-secondary)}.dialog-wide[data-v-bfe5393b]{width:min(900px,94vw)}.table-wrap[data-v-bfe5393b]{flex:1;overflow:auto;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.recipe-table[data-v-bfe5393b]{width:100%;border-collapse:collapse;font-size:12px}.recipe-table th[data-v-bfe5393b]{position:sticky;top:0;background:var(--surface);color:var(--text-secondary);font-weight:500;text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);white-space:nowrap;z-index:1}.recipe-table td[data-v-bfe5393b]{padding:6px 10px;border-bottom:1px solid var(--border);color:var(--text)}.row-dirty[data-v-bfe5393b]{background:color-mix(in srgb,var(--status-warning, #e6a23c) 8%,transparent)}.unit[data-v-bfe5393b]{font-size:11px;color:var(--text-secondary)}.col-center[data-v-bfe5393b]{text-align:center}.col-number[data-v-bfe5393b]{width:70px}.cell-input[data-v-bfe5393b]{width:100%;min-width:90px;height:28px;padding:0 8px;background:var(--background);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:12px;box-sizing:border-box}.actions[data-v-bfe5393b]{display:flex;flex-wrap:wrap;gap:6px;min-width:240px}.btn-link[data-v-bfe5393b]{border:none;background:transparent;color:var(--primary);cursor:pointer;font-size:12px;padding:0;white-space:nowrap}.btn-link.danger[data-v-bfe5393b]{color:var(--status-error, #e54d42)}.badge[data-v-bfe5393b]{padding:2px 8px;border-radius:10px;font-size:11px;white-space:nowrap}.badge-draft[data-v-bfe5393b]{background:var(--surface-alt, rgba(255, 255, 255, .08));color:var(--text-secondary)}.badge-pending[data-v-bfe5393b]{background:color-mix(in srgb,var(--status-warning, #e6a23c) 18%,transparent);color:var(--status-warning, #e6a23c)}.badge-approved[data-v-bfe5393b]{background:color-mix(in srgb,var(--primary) 18%,transparent);color:var(--primary)}.badge-active[data-v-bfe5393b]{background:color-mix(in srgb,var(--status-online, #4caf50) 18%,transparent);color:var(--status-online, #4caf50)}.badge-archived[data-v-bfe5393b]{background:var(--surface-alt, rgba(255, 255, 255, .08));color:var(--text-secondary)}.empty-cell[data-v-bfe5393b]{text-align:center;padding:24px 0;color:var(--text-secondary)}.empty-state[data-v-bfe5393b]{flex:1;padding:60px 0;text-align:center;color:var(--text-secondary);font-size:14px}.hidden-input[data-v-bfe5393b]{display:none}.btn[data-v-bfe5393b]{height:32px;padding:0 14px;border-radius:6px;border:1px solid transparent;cursor:pointer;font-size:13px}.btn-sm[data-v-bfe5393b]{height:28px;padding:0 10px;font-size:12px}.btn-primary[data-v-bfe5393b]{background:var(--primary);color:var(--text-on-primary, #fff)}.btn-primary[data-v-bfe5393b]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-bfe5393b]{background:transparent;color:var(--text);border-color:var(--border)}.dialog-overlay[data-v-bfe5393b]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.dialog[data-v-bfe5393b]{width:min(560px,92vw);max-height:88vh;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:10px}.dialog-header[data-v-bfe5393b]{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}.dialog-title[data-v-bfe5393b]{margin:0;font-size:16px;font-weight:600;color:var(--text)}.dialog-close[data-v-bfe5393b]{border:none;background:transparent;color:var(--text-secondary);font-size:20px;cursor:pointer;line-height:1}.dialog-body[data-v-bfe5393b]{padding:16px 18px;overflow-y:auto}.dialog-footer[data-v-bfe5393b]{display:flex;justify-content:flex-end;gap:10px;padding:12px 18px;border-top:1px solid var(--border)}.form-item[data-v-bfe5393b]{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.form-label[data-v-bfe5393b]{font-size:12px;color:var(--text-secondary)}.required-mark[data-v-bfe5393b]{color:var(--status-error, #e54d42)}.terminal-page[data-v-a8f1c114]{height:100%;display:flex;flex-direction:column;padding:24px;width:100%;max-width:100%;margin:0;box-sizing:border-box}.page-header[data-v-a8f1c114]{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:12px}.page-title-area[data-v-a8f1c114]{flex:1}.page-title[data-v-a8f1c114]{font-size:22px;font-weight:700;color:var(--text);margin:0 0 4px}.page-subtitle[data-v-a8f1c114]{font-size:13px;color:var(--text-secondary);margin:0}.header-actions[data-v-a8f1c114]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.connection-status[data-v-a8f1c114]{display:flex;align-items:center;gap:6px;font-size:13px;padding:4px 12px;border-radius:16px;background:var(--surface);border:1px solid var(--border)}.status-dot[data-v-a8f1c114]{width:8px;height:8px;border-radius:50%;display:inline-block}.status-disconnected .status-dot[data-v-a8f1c114]{background:var(--text-secondary)}.status-connecting .status-dot[data-v-a8f1c114]{background:var(--status-warning);animation:pulse-a8f1c114 1s infinite}.status-connected .status-dot[data-v-a8f1c114]{background:var(--status-success)}.status-error .status-dot[data-v-a8f1c114]{background:var(--status-error)}@keyframes pulse-a8f1c114{0%,to{opacity:1}50%{opacity:.4}}.status-disconnected[data-v-a8f1c114]{color:var(--text-secondary)}.status-connecting[data-v-a8f1c114]{color:var(--status-warning)}.status-connected[data-v-a8f1c114]{color:var(--status-success)}.status-error[data-v-a8f1c114]{color:var(--status-error)}.security-info[data-v-a8f1c114]{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;margin-bottom:16px;border-color:var(--status-warning)}.security-info-content[data-v-a8f1c114]{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--status-warning)}.security-icon[data-v-a8f1c114]{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--status-warning);color:var(--text);font-size:12px;font-weight:700}.link-btn[data-v-a8f1c114]{background:none;border:none;color:var(--primary);cursor:pointer;font-size:12px}.link-btn[data-v-a8f1c114]:hover{text-decoration:underline}.whitelist-grid[data-v-a8f1c114]{padding:14px 20px;display:flex;flex-wrap:wrap;gap:6px}.whitelist-tag[data-v-a8f1c114]{display:inline-block;padding:3px 10px;border-radius:4px;font-size:12px;background:var(--bg-secondary, rgba(0, 0, 0, .04));color:var(--text-secondary)}.section-card[data-v-a8f1c114]{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:16px;overflow:hidden}.section-header[data-v-a8f1c114]{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--border)}.section-title[data-v-a8f1c114]{font-size:15px;font-weight:600;color:var(--text);margin:0}.terminal-output[data-v-a8f1c114]{flex:1;min-height:300px;max-height:500px;overflow-y:auto;background:var(--background);border-radius:10px;padding:16px;margin-bottom:16px;font-family:Consolas,Monaco,Courier New,monospace;font-size:13px;line-height:1.6}.terminal-empty[data-v-a8f1c114]{color:var(--text-secondary);font-style:italic}.terminal-line[data-v-a8f1c114]{white-space:pre-wrap;word-break:break-all;margin-bottom:2px}.line-command[data-v-a8f1c114]{color:var(--primary)}.line-prompt[data-v-a8f1c114]{color:var(--primary);margin-right:4px}.line-output[data-v-a8f1c114]{color:var(--text)}.line-error[data-v-a8f1c114]{color:var(--status-error)}.line-system[data-v-a8f1c114]{color:var(--status-online);font-style:italic}.line-executing[data-v-a8f1c114]{color:var(--status-warning);display:flex;align-items:center;gap:8px}.executing-spinner[data-v-a8f1c114]{width:12px;height:12px;border:2px solid var(--status-warning);border-top-color:transparent;border-radius:50%;animation:spin-a8f1c114 .8s linear infinite}@keyframes spin-a8f1c114{to{transform:rotate(360deg)}}.command-input-area[data-v-a8f1c114]{display:flex;align-items:center;gap:8px;background:var(--background);border-radius:10px;padding:12px 16px;margin-bottom:16px}.input-prompt[data-v-a8f1c114]{color:var(--primary);font-size:13px;white-space:nowrap}.command-input[data-v-a8f1c114]{flex:1;background:transparent;border:none;outline:none;color:var(--text);font-size:13px;font-family:Consolas,Monaco,Courier New,monospace}.command-input[data-v-a8f1c114]::placeholder{color:var(--text-secondary)}.command-input[data-v-a8f1c114]:disabled{opacity:.5;cursor:not-allowed}.history-section[data-v-a8f1c114]{flex-shrink:0}.history-list[data-v-a8f1c114]{max-height:200px;overflow-y:auto}.history-item[data-v-a8f1c114]{display:flex;align-items:center;gap:12px;padding:8px 20px;font-size:12px;color:var(--text);cursor:pointer;border-bottom:1px solid var(--border);transition:background .15s}.history-item[data-v-a8f1c114]:hover{background:var(--bg-hover, rgba(0, 0, 0, .02))}.history-item[data-v-a8f1c114]:last-child{border-bottom:none}.history-index[data-v-a8f1c114]{color:var(--text-secondary);min-width:28px;text-align:right}.history-cmd[data-v-a8f1c114]{flex:1;color:var(--text)}.history-failed .history-cmd[data-v-a8f1c114]{color:var(--status-error)}.history-status[data-v-a8f1c114]{font-size:11px;padding:2px 8px;border-radius:4px}.history-status.completed[data-v-a8f1c114]{background:var(--status-success-bg, rgba(40, 167, 69, .12));color:var(--status-success)}.history-status.blocked[data-v-a8f1c114],.history-status.timeout[data-v-a8f1c114],.history-status.error[data-v-a8f1c114]{background:var(--status-error-bg, rgba(220, 53, 69, .12));color:var(--status-error)}.mono-text[data-v-a8f1c114]{font-family:Consolas,Monaco,Courier New,monospace}.dict-page[data-v-43a0797c]{height:100%;display:flex;flex-direction:column;overflow:hidden}.page-header[data-v-43a0797c]{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-bottom:1px solid var(--border);flex-shrink:0}.page-title[data-v-43a0797c]{font-size:18px;font-weight:600;color:var(--text);margin:0}.header-actions[data-v-43a0797c]{display:flex;align-items:center;gap:10px}.btn[data-v-43a0797c]{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;line-height:1.5}.btn[data-v-43a0797c]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-43a0797c]{background:var(--primary);color:var(--text)}.btn-primary[data-v-43a0797c]:hover:not(:disabled){background:var(--primary)}.btn-secondary[data-v-43a0797c]{background:var(--border);color:var(--text);border:1px solid transparent}.btn-secondary[data-v-43a0797c]:hover:not(:disabled){background:var(--border)}.btn-sm[data-v-43a0797c]{padding:5px 10px;font-size:13px}.spinning[data-v-43a0797c]{animation:spin-43a0797c 1s linear infinite}@keyframes spin-43a0797c{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dict-body[data-v-43a0797c]{display:flex;flex:1;overflow:hidden}.dict-sidebar[data-v-43a0797c]{width:240px;flex-shrink:0;border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;background:var(--surface)}.sidebar-toolbar[data-v-43a0797c]{padding:8px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.category-list[data-v-43a0797c]{flex:1;overflow-y:auto;padding:4px 0}.dict-category-group[data-v-43a0797c]{margin-bottom:2px}.category-header[data-v-43a0797c]{display:flex;align-items:center;gap:6px;padding:7px 12px;cursor:pointer;font-size:13px;color:var(--text);transition:background .15s;-webkit-user-select:none;user-select:none}.category-header[data-v-43a0797c]:hover{background:#8080800f}.category-header:hover .category-actions[data-v-43a0797c]{opacity:1}.folder-icon[data-v-43a0797c]{flex-shrink:0;color:var(--text-secondary)}.category-name[data-v-43a0797c]{flex:1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-count[data-v-43a0797c]{font-size:11px;color:var(--text-secondary);background:var(--background);padding:1px 6px;border-radius:8px;flex-shrink:0}.category-actions[data-v-43a0797c]{display:flex;gap:2px;opacity:0;transition:opacity .15s;flex-shrink:0}.category-tables[data-v-43a0797c]{padding-left:4px}.table-item[data-v-43a0797c]{display:flex;align-items:center;gap:4px;padding:5px 12px 5px 32px;font-size:12.5px;cursor:pointer;color:var(--text-secondary);border-radius:4px;margin:0 6px;transition:all .15s}.table-item[data-v-43a0797c]:hover{background:#8080800f;color:var(--text)}.table-item:hover .table-actions[data-v-43a0797c]{opacity:1}.table-item--active[data-v-43a0797c]{background:color-mix(in srgb,var(--primary) 8%,transparent);color:var(--primary);font-weight:500}.table-name[data-v-43a0797c]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-actions[data-v-43a0797c]{display:flex;gap:2px;opacity:0;transition:opacity .15s;flex-shrink:0}.table-add-row[data-v-43a0797c]{padding:2px 12px 2px 32px;margin:0 6px}.btn-text[data-v-43a0797c]{display:inline-flex;align-items:center;gap:4px;padding:4px 6px;border:none;background:none;color:var(--text-secondary);font-size:12px;cursor:pointer;border-radius:4px;transition:all .15s;width:100%}.btn-text[data-v-43a0797c]:hover{background:#8080800f;color:var(--primary)}.icon-btn[data-v-43a0797c]{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:4px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s;padding:0}.icon-btn[data-v-43a0797c]:hover{background:#8080801a;color:var(--text)}.icon-btn--danger[data-v-43a0797c]:hover{background:color-mix(in srgb,var(--status-error) 10%,transparent);color:var(--status-error)}.sidebar-empty[data-v-43a0797c],.sidebar-error[data-v-43a0797c]{padding:24px 16px;text-align:center;font-size:13px}.sidebar-empty[data-v-43a0797c]{color:var(--text-secondary)}.sidebar-error[data-v-43a0797c]{color:var(--status-error)}.dict-content[data-v-43a0797c]{flex:1;overflow-y:auto;padding:24px}.dict-empty[data-v-43a0797c]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;color:var(--text-secondary);gap:12px}.dict-error[data-v-43a0797c]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;color:var(--status-error);gap:12px}.error-icon[data-v-43a0797c]{opacity:.5}.empty-icon[data-v-43a0797c]{opacity:.3}.dict-info-bar[data-v-43a0797c]{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border)}.dict-info[data-v-43a0797c]{display:flex;flex-direction:column;gap:4px}.dict-label[data-v-43a0797c]{font-size:18px;font-weight:600;color:var(--text)}.dict-desc[data-v-43a0797c]{font-size:13px;color:var(--text-secondary)}.dict-meta[data-v-43a0797c]{font-size:12px;color:var(--text-secondary)}.dict-info-actions[data-v-43a0797c]{display:flex;align-items:center;gap:8px;flex-shrink:0}.dict-id-badge[data-v-43a0797c]{padding:3px 10px;background:color-mix(in srgb,var(--primary) 8%,transparent);color:var(--primary);border-radius:4px;font-size:12px;font-family:monospace;white-space:nowrap}.dict-table-toolbar[data-v-43a0797c]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.toolbar-title[data-v-43a0797c]{font-size:13px;font-weight:500;color:var(--text)}.toolbar-actions[data-v-43a0797c]{display:flex;gap:8px}.dict-table-wrap[data-v-43a0797c]{border:1px solid var(--border);border-radius:8px;overflow:hidden}.dict-table[data-v-43a0797c]{width:100%;border-collapse:collapse}.dict-table th[data-v-43a0797c]{text-align:left;padding:10px 14px;background:var(--background);color:var(--text-secondary);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid var(--border);white-space:nowrap}.dict-table td[data-v-43a0797c]{padding:9px 14px;border-bottom:1px solid var(--border);color:var(--text);font-size:13px}.dict-table tbody tr:last-child td[data-v-43a0797c]{border-bottom:none}.dict-table tbody tr:hover td[data-v-43a0797c]{background:#80808008}.col-order[data-v-43a0797c]{width:50px;text-align:center;color:var(--text-secondary)}.col-value[data-v-43a0797c]{width:160px}.col-label[data-v-43a0797c]{width:200px}.col-actions[data-v-43a0797c]{width:80px;text-align:center;white-space:nowrap}.col-actions .icon-btn[data-v-43a0797c]{width:24px;height:24px}.value-tag[data-v-43a0797c]{padding:2px 6px;background:var(--background);border-radius:3px;font-size:12px;font-family:SF Mono,Fira Code,monospace;color:var(--text)}.modal-overlay[data-v-43a0797c]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#00000080;display:flex;align-items:center;justify-content:center}.modal[data-v-43a0797c]{background:var(--surface);border-radius:10px;width:520px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 12px 40px #00000059}.modal-lg[data-v-43a0797c]{width:680px}.modal-sm[data-v-43a0797c]{width:420px}.modal-header[data-v-43a0797c]{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--border);border-radius:10px 10px 0 0}.modal-header h2[data-v-43a0797c]{margin:0;font-size:15px;font-weight:600;color:var(--text)}.modal-close[data-v-43a0797c]{background:none;border:none;font-size:22px;cursor:pointer;color:var(--text-secondary);width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .15s;padding:0;line-height:1}.modal-close[data-v-43a0797c]:hover{color:var(--status-error);background:color-mix(in srgb,var(--status-error) 8%,transparent)}.modal-body[data-v-43a0797c]{padding:16px 20px;overflow-y:auto;flex:1}.modal-footer[data-v-43a0797c]{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--border);border-radius:0 0 10px 10px}.form-grid[data-v-43a0797c]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid .full-width[data-v-43a0797c]{grid-column:1 / -1}.form-group[data-v-43a0797c]{display:flex;flex-direction:column;gap:4px}.form-group label[data-v-43a0797c]{font-size:12px;font-weight:600;color:var(--text-secondary)}.required[data-v-43a0797c]{color:var(--status-error)}.form-input[data-v-43a0797c]{padding:7px 10px;border:1px solid var(--border);border-radius:6px;background:var(--background);color:var(--text);font-size:13px;outline:none;transition:border-color .15s}.form-input[data-v-43a0797c]:focus{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 12%,transparent)}.form-input[data-v-43a0797c]:disabled{opacity:.5}.form-input[data-v-43a0797c]::placeholder{color:var(--text-secondary);opacity:.5}.form-textarea[data-v-43a0797c]{resize:vertical;font-family:SF Mono,Fira Code,monospace;font-size:12px;min-height:200px}.form-error[data-v-43a0797c]{margin-top:8px;padding:6px 10px;border-radius:4px;background:color-mix(in srgb,var(--status-error) 8%,transparent);color:var(--status-error);font-size:12px}.table-item.ai-highlight[data-v-43a0797c]{animation:ai-highlight-pulse-43a0797c 1.2s ease-in-out 2}@keyframes ai-highlight-pulse-43a0797c{0%,to{background:transparent}50%{background:color-mix(in srgb,var(--primary) 22%,transparent)}}.user-list-page[data-v-a23e83dd]{padding:24px;height:100%;overflow-y:auto}.page-header[data-v-a23e83dd]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.page-title[data-v-a23e83dd]{font-size:20px;font-weight:600;color:var(--text);margin:0}.btn-primary[data-v-a23e83dd]{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--primary);color:var(--text);border:none;border-radius:6px;cursor:pointer;font-size:14px}.btn-primary[data-v-a23e83dd]:disabled{opacity:.6;cursor:not-allowed}.table-container[data-v-a23e83dd]{background:var(--surface);border-radius:8px;border:1px solid var(--border);overflow:hidden}.status-badge[data-v-a23e83dd]{padding:2px 8px;border-radius:4px;font-size:12px}.status-active[data-v-a23e83dd]{background:color-mix(in srgb,var(--status-online) 15%,transparent);color:var(--status-online)}.status-inactive[data-v-a23e83dd]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.actions-cell[data-v-a23e83dd]{display:flex;gap:8px}.btn-action[data-v-a23e83dd]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);cursor:pointer}.btn-action[data-v-a23e83dd]:hover{background:var(--primary);color:var(--text);border-color:var(--primary)}.btn-danger[data-v-a23e83dd]:hover{background:var(--status-error);border-color:var(--status-error)}.modal-overlay[data-v-a23e83dd]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-dialog[data-v-a23e83dd]{background:var(--surface);border-radius:12px;width:480px;max-height:80vh;overflow-y:auto;box-shadow:0 8px 32px #0000004d}.modal-header[data-v-a23e83dd]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-header h3[data-v-a23e83dd]{margin:0;font-size:16px;color:var(--text)}.btn-close[data-v-a23e83dd]{background:none;border:none;font-size:20px;color:var(--text-secondary);cursor:pointer}.modal-body[data-v-a23e83dd]{padding:20px}.form-group[data-v-a23e83dd]{margin-bottom:14px}.form-group label[data-v-a23e83dd]{display:block;font-size:13px;color:var(--text-secondary);margin-bottom:4px}.form-input[data-v-a23e83dd],.form-select[data-v-a23e83dd]{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;background:var(--background);color:var(--text);box-sizing:border-box}.form-input[data-v-a23e83dd]:disabled{opacity:.5}.modal-footer[data-v-a23e83dd]{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--border)}.btn-cancel[data-v-a23e83dd]{padding:8px 16px;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text);cursor:pointer;font-size:14px}.role-permission-panel[data-v-5d66903e]{background:var(--background);border-radius:8px;overflow:hidden}.panel-toolbar[data-v-5d66903e]{display:flex;align-items:center;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--surface)}.select-all-label[data-v-5d66903e]{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text);cursor:pointer}.permission-categories[data-v-5d66903e]{max-height:50vh;overflow-y:auto}.permission-category[data-v-5d66903e]{border-bottom:1px solid var(--border-light)}.category-header[data-v-5d66903e]{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;background:var(--surface);transition:background .15s}.category-header[data-v-5d66903e]:hover{background:var(--background-hover, rgba(0,0,0,.03))}.category-arrow[data-v-5d66903e]{font-size:12px;color:var(--text-secondary);width:16px}.category-label[data-v-5d66903e]{font-size:13px;font-weight:600;color:var(--text);flex:1}.category-count[data-v-5d66903e]{font-size:11px;color:var(--text-secondary)}.category-items[data-v-5d66903e]{display:grid;grid-template-columns:1fr 1fr;gap:2px;padding:4px 12px 8px 40px;background:var(--background)}.permission-item[data-v-5d66903e]{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:4px;font-size:12px;cursor:pointer;transition:background .12s}.permission-item[data-v-5d66903e]:hover{background:var(--surface)}.permission-item.disabled[data-v-5d66903e]{opacity:.5;cursor:not-allowed}.code-value[data-v-5d66903e]{font-family:SF Mono,Menlo,monospace;font-size:11px;color:var(--primary);min-width:100px}.code-label[data-v-5d66903e]{color:var(--text-secondary);white-space:nowrap}.role-menu-panel[data-v-5611d16b]{background:var(--background);border-radius:8px;overflow:hidden}.panel-toolbar[data-v-5611d16b]{display:flex;align-items:center;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--surface)}.select-all-label[data-v-5611d16b]{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text);cursor:pointer}.menu-tree[data-v-5611d16b]{max-height:50vh;overflow-y:auto}.tree-empty[data-v-5611d16b]{padding:20px;text-align:center;font-size:13px;color:var(--text-secondary)}.tree-node-row[data-v-5611d16b]{display:flex;align-items:center;gap:6px;padding:6px 12px;cursor:pointer;font-size:13px;color:var(--text);border-bottom:1px solid var(--border-light);transition:background .12s}.tree-node-row[data-v-5611d16b]:hover{background:var(--background-hover, rgba(0,0,0,.03))}.tree-expand[data-v-5611d16b]{width:16px;font-size:12px;color:var(--text-secondary);cursor:pointer;flex-shrink:0}.tree-label[data-v-5611d16b]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-path[data-v-5611d16b]{font-size:11px;color:var(--text-secondary);font-family:monospace}.tree-subsystem[data-v-5611d16b]{font-size:10px;padding:1px 6px;border-radius:3px;background:color-mix(in srgb,var(--primary) 15%,transparent);color:var(--primary)}.role-button-panel[data-v-f43ba429]{background:var(--background);border-radius:8px;overflow:hidden}.panel-toolbar[data-v-f43ba429]{display:flex;align-items:center;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--surface)}.select-all-label[data-v-f43ba429]{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text);cursor:pointer}.button-tree[data-v-f43ba429]{max-height:50vh;overflow-y:auto}.button-menu-group[data-v-f43ba429]{border-bottom:1px solid var(--border-light)}.menu-header[data-v-f43ba429]{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;background:var(--surface);font-size:13px;font-weight:600;color:var(--text);transition:background .12s}.menu-header[data-v-f43ba429]:hover{background:var(--background-hover, rgba(0,0,0,.03))}.expand-icon[data-v-f43ba429]{width:16px;font-size:12px;color:var(--text-secondary)}.menu-label[data-v-f43ba429]{flex:1}.menu-badge[data-v-f43ba429]{font-size:11px;color:var(--text-secondary);font-weight:400}.menu-buttons[data-v-f43ba429]{padding:4px 12px 8px 32px;background:var(--background);display:grid;grid-template-columns:1fr 1fr;gap:2px}.button-item[data-v-f43ba429]{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:4px;font-size:12px;cursor:pointer;transition:background .12s}.button-item[data-v-f43ba429]:hover{background:var(--surface)}.button-item.disabled[data-v-f43ba429]{opacity:.5;cursor:not-allowed}.btn-code[data-v-f43ba429]{font-family:SF Mono,Menlo,monospace;font-size:11px;color:var(--primary);min-width:80px}.btn-label[data-v-f43ba429]{color:var(--text-secondary);white-space:nowrap}.no-buttons[data-v-f43ba429]{padding:8px;font-size:12px;color:var(--text-secondary);grid-column:1 / -1;text-align:center}.role-auth-panel[data-v-a58f6e83]{background:var(--background);border-radius:8px;overflow:hidden}.auth-tabs[data-v-a58f6e83]{display:flex;border-bottom:2px solid var(--border);background:var(--surface)}.auth-tab[data-v-a58f6e83]{flex:1;padding:10px 16px;border:none;background:none;font-size:13px;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s}.auth-tab[data-v-a58f6e83]:hover{color:var(--text)}.auth-tab.active[data-v-a58f6e83]{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.auth-tab-content[data-v-a58f6e83]{padding:12px}.auth-filter[data-v-a58f6e83]{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}.filter-label[data-v-a58f6e83]{font-size:12px;color:var(--text-secondary);white-space:nowrap}.auth-toolbar[data-v-a58f6e83]{display:flex;gap:8px;margin-bottom:12px}.btn-sm[data-v-a58f6e83]{padding:4px 12px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text-secondary);font-size:12px;cursor:pointer;transition:background .15s,color .15s}.btn-sm[data-v-a58f6e83]:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.auth-list[data-v-a58f6e83]{max-height:260px;overflow-y:auto;margin-bottom:12px;border:1px solid var(--border);border-radius:6px}.auth-row[data-v-a58f6e83]{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border-light)}.auth-row[data-v-a58f6e83]:last-child{border-bottom:none}.auth-checkbox[data-v-a58f6e83]{display:flex;align-items:center;gap:8px;flex:1;cursor:pointer;min-width:0}.auth-checkbox input[type=checkbox][data-v-a58f6e83]{width:15px;height:15px;cursor:pointer;accent-color:var(--primary);flex-shrink:0}.auth-name[data-v-a58f6e83]{font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-empty[data-v-a58f6e83]{padding:20px;text-align:center;font-size:13px;color:var(--text-secondary)}.permission-select[data-v-a58f6e83]{padding:4px 8px;border:1px solid var(--border);border-radius:4px;font-size:12px;background:var(--background);color:var(--text);cursor:pointer;flex-shrink:0}.project-select[data-v-a58f6e83]{flex:1;padding:6px 8px;border:1px solid var(--border);border-radius:4px;font-size:13px;background:var(--background);color:var(--text);min-width:140px}.inherit-hint[data-v-a58f6e83]{font-size:11px;color:var(--primary);white-space:nowrap;flex-shrink:0;opacity:.8}.auth-actions[data-v-a58f6e83]{display:flex;justify-content:flex-end;padding:12px;border-top:1px solid var(--border)}.btn-save[data-v-a58f6e83]{padding:8px 20px}.btn-primary[data-v-a58f6e83]{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--primary);color:var(--button-text);border:none;border-radius:6px;cursor:pointer;font-size:14px}.btn-primary[data-v-a58f6e83]:disabled{opacity:.6;cursor:not-allowed}.role-list-page[data-v-4fe1e33e]{padding:24px;height:100%;overflow-y:auto}.page-header[data-v-4fe1e33e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.page-title[data-v-4fe1e33e]{font-size:20px;font-weight:600;color:var(--text);margin:0}.btn-primary[data-v-4fe1e33e]{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--primary);color:var(--text);border:none;border-radius:6px;cursor:pointer;font-size:14px}.btn-primary[data-v-4fe1e33e]:disabled{opacity:.6;cursor:not-allowed}.badge-system[data-v-4fe1e33e],.badge-custom[data-v-4fe1e33e]{padding:2px 8px;border-radius:4px;font-size:12px;background:color-mix(in srgb,var(--primary) 15%,transparent);color:var(--primary)}.actions-cell[data-v-4fe1e33e]{display:flex;gap:8px}.btn-action[data-v-4fe1e33e]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);cursor:pointer}.btn-action[data-v-4fe1e33e]:hover{background:var(--primary);color:var(--text);border-color:var(--primary)}.btn-danger[data-v-4fe1e33e]:hover{background:var(--status-error);border-color:var(--status-error)}.modal-overlay[data-v-4fe1e33e]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-dialog[data-v-4fe1e33e]{background:var(--surface);border-radius:12px;width:720px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0000004d}.modal-header[data-v-4fe1e33e]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border);flex-shrink:0}.modal-header h3[data-v-4fe1e33e]{margin:0;font-size:16px;color:var(--text)}.btn-close[data-v-4fe1e33e]{background:none;border:none;font-size:20px;color:var(--text-secondary);cursor:pointer}.modal-body[data-v-4fe1e33e]{padding:0;flex:1;overflow-y:auto;min-height:0}.dialog-tabs[data-v-4fe1e33e]{display:flex;border-bottom:2px solid var(--border);padding:0 20px;background:var(--background);flex-shrink:0;position:sticky;top:0;z-index:1}.dialog-tabs button[data-v-4fe1e33e]{padding:10px 16px;border:none;background:none;font-size:13px;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s}.dialog-tabs button[data-v-4fe1e33e]:hover{color:var(--text)}.dialog-tabs button.active[data-v-4fe1e33e]{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.tab-content[data-v-4fe1e33e]{padding:16px 20px}.form-group[data-v-4fe1e33e]{margin-bottom:14px}.form-group label[data-v-4fe1e33e]{display:block;font-size:13px;color:var(--text-secondary);margin-bottom:4px}.form-input[data-v-4fe1e33e]{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;background:var(--background);color:var(--text);box-sizing:border-box}.form-input[data-v-4fe1e33e]:disabled{opacity:.5}.modal-footer[data-v-4fe1e33e]{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--border)}.btn-cancel[data-v-4fe1e33e]{padding:8px 16px;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text);cursor:pointer;font-size:14px}.position-list-page[data-v-370552d3]{padding:24px;height:100%;overflow-y:auto}.page-header[data-v-370552d3]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.page-title[data-v-370552d3]{font-size:20px;font-weight:600;color:var(--text);margin:0}.btn-primary[data-v-370552d3]{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--primary);color:var(--text);border:none;border-radius:6px;cursor:pointer;font-size:14px}.btn-primary[data-v-370552d3]:disabled{opacity:.6;cursor:not-allowed}.table-container[data-v-370552d3]{background:var(--surface);border-radius:8px;border:1px solid var(--border);overflow:hidden}.actions-cell[data-v-370552d3]{display:flex;gap:8px}.btn-action[data-v-370552d3]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);cursor:pointer}.btn-action[data-v-370552d3]:hover{background:var(--primary);color:var(--text);border-color:var(--primary)}.btn-danger[data-v-370552d3]:hover{background:var(--status-error);border-color:var(--status-error)}.modal-overlay[data-v-370552d3]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-dialog[data-v-370552d3]{background:var(--surface);border-radius:12px;width:480px;max-height:80vh;overflow-y:auto;box-shadow:0 8px 32px #0000004d}.modal-header[data-v-370552d3]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-header h3[data-v-370552d3]{margin:0;font-size:16px;color:var(--text)}.btn-close[data-v-370552d3]{background:none;border:none;font-size:20px;color:var(--text-secondary);cursor:pointer}.modal-body[data-v-370552d3]{padding:20px}.form-group[data-v-370552d3]{margin-bottom:14px}.form-group label[data-v-370552d3]{display:block;font-size:13px;color:var(--text-secondary);margin-bottom:4px}.form-input[data-v-370552d3]{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;background:var(--background);color:var(--text);box-sizing:border-box}.form-input[data-v-370552d3]:disabled{opacity:.5}.modal-footer[data-v-370552d3]{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--border)}.btn-cancel[data-v-370552d3]{padding:8px 16px;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text);cursor:pointer;font-size:14px}.menu-manage-page[data-v-ae8246f9]{padding:24px;height:100%;display:flex;flex-direction:column;overflow:hidden}.page-header[data-v-ae8246f9]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.page-title[data-v-ae8246f9]{font-size:20px;font-weight:600;color:var(--text);margin:0}.header-actions[data-v-ae8246f9]{display:flex;gap:8px}.tree-item-path[data-v-ae8246f9]{font-size:11px;color:var(--text-secondary);font-family:monospace;min-width:60px;text-align:right}.tree-item-order[data-v-ae8246f9]{font-size:11px;color:var(--text-secondary);font-family:monospace;min-width:32px;text-align:center;background:var(--background);border-radius:3px;padding:1px 4px}.tree-item-actions[data-v-ae8246f9]{display:flex;gap:2px;flex-shrink:0}.btn-order[data-v-ae8246f9]{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid var(--border);background:var(--background);color:var(--text-secondary);cursor:pointer;border-radius:3px;font-size:10px;padding:0;line-height:1;transition:all .12s}.btn-order[data-v-ae8246f9]:hover:not(:disabled){background:var(--primary);color:var(--text);border-color:var(--primary)}.btn-order[data-v-ae8246f9]:disabled{opacity:.3;cursor:not-allowed}.order-hint[data-v-ae8246f9]{font-size:11px;color:var(--text-secondary);font-weight:400;margin-left:6px}.sync-bar[data-v-ae8246f9]{display:flex;align-items:center;gap:8px;margin-top:12px;padding:10px 16px;background:var(--background);border:1px solid var(--border);border-radius:8px;flex-shrink:0}.sync-hint[data-v-ae8246f9]{font-size:12px;color:var(--text-secondary);flex:1}.btn-primary[data-v-ae8246f9]{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--primary);color:var(--text);border:none;border-radius:6px;cursor:pointer;font-size:14px}.btn-primary[data-v-ae8246f9]:disabled{opacity:.6;cursor:not-allowed}.content-panels[data-v-ae8246f9]{display:flex;gap:16px;flex:1;min-height:0;overflow:hidden}.left-panel[data-v-ae8246f9]{width:320px;min-width:280px;background:var(--surface);border:1px solid var(--border);border-radius:8px;display:flex;flex-direction:column;overflow:hidden}.right-panel[data-v-ae8246f9]{flex:1;background:var(--surface);border:1px solid var(--border);border-radius:8px;display:flex;flex-direction:column;overflow-y:auto}.panel-header[data-v-ae8246f9]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;font-size:14px;font-weight:600;color:var(--text);border-bottom:1px solid var(--border);background:var(--background);flex-shrink:0}.tree-list[data-v-ae8246f9]{flex:1;overflow-y:auto}.tree-item[data-v-ae8246f9]{display:flex;align-items:center;gap:6px;padding:8px 12px;cursor:pointer;border-bottom:1px solid var(--border-light);font-size:13px;color:var(--text);transition:background .12s}.tree-item[data-v-ae8246f9]:hover{background:var(--background-hover, rgba(0,0,0,.03))}.tree-item.active[data-v-ae8246f9]{background:color-mix(in srgb,var(--primary) 10%,transparent);border-left:3px solid var(--primary)}.tree-item.is-detail[data-v-ae8246f9]{opacity:.5;font-style:italic}.tree-item-icon[data-v-ae8246f9]{color:var(--text-secondary);font-size:12px;width:16px}.tree-item-label[data-v-ae8246f9]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-item-id[data-v-ae8246f9]{font-size:11px;color:var(--text-secondary);font-family:monospace}.tree-item-subsystem[data-v-ae8246f9]{font-size:10px;padding:1px 6px;border-radius:3px;background:color-mix(in srgb,var(--primary) 15%,transparent);color:var(--primary)}.tree-empty[data-v-ae8246f9]{padding:20px;text-align:center;color:var(--text-secondary);font-size:13px}.panel-empty[data-v-ae8246f9]{padding:40px;text-align:center;color:var(--text-secondary);font-size:14px}.edit-form[data-v-ae8246f9]{padding:16px}.form-row[data-v-ae8246f9]{margin-bottom:12px}.form-label[data-v-ae8246f9]{display:block;font-size:13px;font-weight:500;color:var(--text);margin-bottom:4px}.form-input[data-v-ae8246f9]{width:100%;padding:7px 10px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--background);color:var(--text);box-sizing:border-box}.form-input[data-v-ae8246f9]:disabled{opacity:.5;cursor:not-allowed}.locale-inputs[data-v-ae8246f9]{display:flex;flex-direction:column;gap:8px}.locale-input-item[data-v-ae8246f9]{display:flex;align-items:center;gap:8px}.locale-tag[data-v-ae8246f9]{font-size:11px;color:var(--text-secondary);min-width:48px;text-align:right;flex-shrink:0}.roles-checkbox-group[data-v-ae8246f9]{display:flex;gap:12px;flex-wrap:wrap}.role-checkbox[data-v-ae8246f9]{display:flex;align-items:center;gap:4px;font-size:13px;color:var(--text);cursor:pointer}.form-actions[data-v-ae8246f9]{display:flex;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid var(--border)}.btn-save[data-v-ae8246f9]{padding:7px 16px;background:var(--primary);color:var(--text);border:none;border-radius:6px;cursor:pointer;font-size:13px}.btn-save[data-v-ae8246f9]:disabled{opacity:.6;cursor:not-allowed}.btn-danger[data-v-ae8246f9]{padding:7px 16px;background:var(--status-error);color:var(--text);border:none;border-radius:6px;cursor:pointer;font-size:13px}.btn-danger[data-v-ae8246f9]:disabled{opacity:.6;cursor:not-allowed}.btn-cancel[data-v-ae8246f9]{padding:7px 16px;background:var(--background);color:var(--text);border:1px solid var(--border);border-radius:6px;cursor:pointer;font-size:13px}.btn-cancel[data-v-ae8246f9]:disabled{opacity:.6;cursor:not-allowed}.btn-small[data-v-ae8246f9]{padding:4px 10px;background:var(--primary);color:var(--text);border:none;border-radius:4px;cursor:pointer;font-size:12px}.buttons-section[data-v-ae8246f9]{border-top:1px solid var(--border)}.buttons-list[data-v-ae8246f9]{padding:12px 16px;max-height:200px;overflow-y:auto}.button-item[data-v-ae8246f9]{display:flex;align-items:center;gap:6px;padding:6px 0;border-bottom:1px solid var(--border-light)}.button-item[data-v-ae8246f9]:last-child{border-bottom:none}.button-item-fields[data-v-ae8246f9]{display:flex;gap:6px;flex:1;flex-wrap:wrap}.form-input-small[data-v-ae8246f9]{width:100px;padding:5px 8px;border:1px solid var(--border);border-radius:4px;font-size:12px;background:var(--background);color:var(--text)}.form-input-narrow[data-v-ae8246f9]{width:60px;padding:5px 8px;border:1px solid var(--border);border-radius:4px;font-size:12px;background:var(--background);color:var(--text)}.btn-remove[data-v-ae8246f9]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:none;color:var(--text-secondary);cursor:pointer;border-radius:4px;font-size:14px;flex-shrink:0}.btn-remove[data-v-ae8246f9]:hover{background:color-mix(in srgb,var(--status-error) 10%,transparent);color:var(--status-error)}.buttons-empty[data-v-ae8246f9]{padding:12px;text-align:center;font-size:13px;color:var(--text-secondary)}.notification-channel-page[data-v-cef3cc8c]{height:100%;overflow-y:auto;padding:24px;width:100%;max-width:100%;margin:0;box-sizing:border-box}.page-header[data-v-cef3cc8c]{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.page-title[data-v-cef3cc8c]{font-size:22px;font-weight:700;color:var(--text);margin:0}.btn-nav-settings[data-v-cef3cc8c]{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:13px;font-weight:500;text-decoration:none;cursor:pointer;transition:all .15s}.btn-nav-settings[data-v-cef3cc8c]:hover{background:var(--border);border-color:var(--primary)}.tab-bar[data-v-cef3cc8c]{display:flex;gap:4px;margin-bottom:20px;border-bottom:1px solid var(--border)}.tab-item[data-v-cef3cc8c]{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s}.tab-item[data-v-cef3cc8c]:hover{color:var(--text)}.tab-item.active[data-v-cef3cc8c]{color:var(--primary);border-bottom-color:var(--primary)}.config-panel[data-v-cef3cc8c]{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:24px}.form-section[data-v-cef3cc8c]{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.form-field[data-v-cef3cc8c]{display:flex;flex-direction:column;gap:6px}.field-label[data-v-cef3cc8c]{font-size:13px;font-weight:500;color:var(--text-secondary)}.form-input[data-v-cef3cc8c],.form-select[data-v-cef3cc8c]{width:100%;padding:10px 12px;background:var(--background);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:14px;outline:none;transition:border-color .2s;box-sizing:border-box}.form-input[data-v-cef3cc8c]::placeholder{color:var(--text-secondary)}.form-input[data-v-cef3cc8c]:focus,.form-select[data-v-cef3cc8c]:focus{border-color:var(--primary)}.form-select[data-v-cef3cc8c]{-moz-appearance:auto;appearance:auto;-webkit-appearance:auto;cursor:pointer}.form-actions[data-v-cef3cc8c]{display:flex;gap:10px;padding-top:4px;grid-column:1 / -1}.save-bar[data-v-cef3cc8c]{display:flex;justify-content:flex-end;margin-top:20px}.btn[data-v-cef3cc8c]{display:inline-flex;align-items:center;gap:6px;padding:8px 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;line-height:1.5}.btn[data-v-cef3cc8c]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-cef3cc8c]{background:var(--primary);color:#fff}.btn-primary[data-v-cef3cc8c]:hover:not(:disabled){opacity:.9}.btn-secondary[data-v-cef3cc8c]{background:var(--surface);border:1px solid var(--border);color:var(--text)}.btn-secondary[data-v-cef3cc8c]:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.sr-only[data-v-cef3cc8c]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.timer-config-page[data-v-3aa57800]{padding:24px 32px;width:100%;max-width:100%;margin:0;box-sizing:border-box}.page-header[data-v-3aa57800]{margin-bottom:24px}.page-title[data-v-3aa57800]{font-size:20px;font-weight:600;color:var(--text);margin:0 0 8px}.page-desc[data-v-3aa57800]{font-size:14px;color:var(--text-secondary);margin:0}.loading-state[data-v-3aa57800]{display:flex;justify-content:center;padding:48px 0}.error-state[data-v-3aa57800]{display:flex;align-items:center;gap:12px;padding:24px;background:color-mix(in srgb,var(--status-error) 8%,transparent);border:1px solid color-mix(in srgb,var(--status-error) 20%,transparent);border-radius:8px;color:var(--status-error)}.error-icon[data-v-3aa57800]{font-size:20px}.error-text[data-v-3aa57800]{flex:1;font-size:14px}.btn-retry[data-v-3aa57800]{padding:6px 16px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);cursor:pointer;font-size:13px;transition:background .2s}.btn-retry[data-v-3aa57800]:hover{background:var(--border)}.config-table-wrapper[data-v-3aa57800]{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}.config-table[data-v-3aa57800]{width:100%;border-collapse:collapse;font-size:14px}.config-table thead[data-v-3aa57800]{background:#8080800f}.config-table th[data-v-3aa57800]{text-align:left;padding:12px 16px;font-weight:600;font-size:13px;color:var(--text-secondary);border-bottom:1px solid var(--border);white-space:nowrap}.config-table td[data-v-3aa57800]{padding:14px 16px;border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle}.config-table tbody tr:last-child td[data-v-3aa57800]{border-bottom:none}.config-table tbody tr[data-v-3aa57800]:hover{background:#80808008}.config-table tbody tr.row-editing[data-v-3aa57800]{background:#3b82f60a}.cell-name[data-v-3aa57800]{min-width:200px}.config-id[data-v-3aa57800]{display:block;font-size:12px;color:var(--text-secondary);background:#80808014;padding:2px 6px;border-radius:4px;margin-bottom:4px;width:fit-content;word-break:break-all}.config-label[data-v-3aa57800]{font-size:14px;font-weight:500}.module-tag[data-v-3aa57800]{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px;background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--primary);white-space:nowrap}.cell-interval[data-v-3aa57800]{min-width:160px}.interval-value[data-v-3aa57800]{font-variant-numeric:tabular-nums;font-weight:500}.interval-value.muted[data-v-3aa57800]{color:var(--text-secondary);font-weight:400}.edit-group[data-v-3aa57800]{display:flex;align-items:center;gap:6px}.interval-input[data-v-3aa57800]{width:100px;padding:6px 10px;border:1px solid var(--primary);border-radius:6px;font-size:14px;font-variant-numeric:tabular-nums;color:var(--text);background:var(--surface);outline:none}.interval-input[data-v-3aa57800]:focus{box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 20%,transparent)}.unit[data-v-3aa57800]{color:var(--text-secondary);font-size:13px}.cell-default[data-v-3aa57800]{min-width:120px}.cell-runtime[data-v-3aa57800]{min-width:100px;text-align:center}.badge[data-v-3aa57800]{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:500;white-space:nowrap}.badge-yes[data-v-3aa57800]{background:color-mix(in srgb,var(--status-online) 10%,transparent);color:var(--status-online)}.badge-no[data-v-3aa57800]{background:color-mix(in srgb,var(--status-error) 8%,transparent);color:var(--status-error)}.cell-desc[data-v-3aa57800]{max-width:240px;font-size:13px;color:var(--text-secondary);line-height:1.4}.cell-actions[data-v-3aa57800]{min-width:140px;white-space:nowrap}.btn-action[data-v-3aa57800]{padding:5px 14px;border:1px solid var(--border);border-radius:6px;font-size:13px;cursor:pointer;transition:all .15s;background:var(--surface);color:var(--text)}.btn-action+.btn-action[data-v-3aa57800]{margin-left:6px}.btn-edit[data-v-3aa57800]:hover{border-color:var(--primary);color:var(--primary)}.btn-save[data-v-3aa57800]{background:var(--primary);border-color:var(--primary);color:var(--text)}.btn-save[data-v-3aa57800]:hover:not(:disabled){background:var(--primary)}.btn-save[data-v-3aa57800]:disabled{opacity:.6;cursor:not-allowed}.btn-cancel[data-v-3aa57800]:hover{border-color:var(--text-secondary)}.btn-reset[data-v-3aa57800]{color:var(--status-error)}.btn-reset[data-v-3aa57800]:hover{border-color:var(--status-error)}.legend[data-v-3aa57800]{display:flex;gap:24px;padding:16px;border-top:1px solid var(--border);background:#80808005}.legend-item[data-v-3aa57800]{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}.legend-badge[data-v-3aa57800]{flex-shrink:0}.scheduled-tasks-page[data-v-e8cdaa67]{padding:24px 32px;width:100%;max-width:100%;margin:0;box-sizing:border-box}.page-header[data-v-e8cdaa67]{margin-bottom:24px}.page-title[data-v-e8cdaa67]{font-size:20px;font-weight:600;color:var(--text);margin:0 0 8px}.page-desc[data-v-e8cdaa67]{font-size:14px;color:var(--text-secondary);margin:0}.loading-state[data-v-e8cdaa67]{display:flex;justify-content:center;padding:48px 0}.error-state[data-v-e8cdaa67]{display:flex;align-items:center;gap:12px;padding:24px;background:color-mix(in srgb,var(--status-error) 8%,transparent);border:1px solid color-mix(in srgb,var(--status-error) 20%,transparent);border-radius:8px;color:var(--status-error)}.error-icon[data-v-e8cdaa67]{font-size:20px}.error-text[data-v-e8cdaa67]{flex:1;font-size:14px}.btn-retry[data-v-e8cdaa67]{padding:6px 16px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);cursor:pointer;font-size:13px;transition:background .2s}.btn-retry[data-v-e8cdaa67]:hover{background:var(--border)}.task-table-wrapper[data-v-e8cdaa67]{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}.task-table[data-v-e8cdaa67]{width:100%;border-collapse:collapse;font-size:14px}.task-table thead[data-v-e8cdaa67]{background:#8080800f}.task-table th[data-v-e8cdaa67]{text-align:left;padding:12px 16px;font-weight:600;font-size:13px;color:var(--text-secondary);border-bottom:1px solid var(--border);white-space:nowrap}.task-table td[data-v-e8cdaa67]{padding:14px 16px;border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle}.task-table tbody tr:last-child td[data-v-e8cdaa67]{border-bottom:none}.task-table tbody tr[data-v-e8cdaa67]:hover{background:#80808008}.task-table tbody tr.row-editing[data-v-e8cdaa67]{background:#3b82f60a}.cell-name[data-v-e8cdaa67]{min-width:220px}.task-id[data-v-e8cdaa67]{display:block;font-size:12px;color:var(--text-secondary);background:#80808014;padding:2px 6px;border-radius:4px;margin-bottom:4px;width:fit-content;word-break:break-all}.task-label[data-v-e8cdaa67]{font-size:14px;font-weight:500;margin-right:8px}.badge[data-v-e8cdaa67]{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:500;white-space:nowrap}.badge-running[data-v-e8cdaa67]{background:color-mix(in srgb,var(--status-online) 10%,transparent);color:var(--status-online)}.badge-managed[data-v-e8cdaa67]{background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--primary)}.badge-external[data-v-e8cdaa67]{background:#8080801f;color:var(--text-secondary)}.module-tag[data-v-e8cdaa67]{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px;background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--primary);white-space:nowrap}.cell-schedule[data-v-e8cdaa67]{min-width:200px}.schedule-type[data-v-e8cdaa67]{display:inline-block;font-size:12px;color:var(--text-secondary);margin-right:8px}.schedule-value[data-v-e8cdaa67]{font-variant-numeric:tabular-nums;font-weight:500}.schedule-input[data-v-e8cdaa67]{width:160px;padding:6px 10px;border:1px solid var(--primary);border-radius:6px;font-size:14px;color:var(--text);background:var(--surface);outline:none}.schedule-input[data-v-e8cdaa67]:focus{box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 20%,transparent)}.task-detail[data-v-e8cdaa67]{margin-top:4px;font-size:12px;color:var(--text-secondary)}.cell-enabled[data-v-e8cdaa67]{min-width:90px;text-align:center}.switch[data-v-e8cdaa67]{position:relative;width:40px;height:22px;border-radius:11px;border:none;background:#8080804d;cursor:pointer;transition:background .2s;padding:0}.switch[data-v-e8cdaa67]:disabled{opacity:.4;cursor:not-allowed}.switch-on[data-v-e8cdaa67]{background:var(--primary)}.switch-knob[data-v-e8cdaa67]{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--surface);transition:left .2s;box-shadow:0 1px 3px #0003}.switch-on .switch-knob[data-v-e8cdaa67]{left:20px}.cell-time[data-v-e8cdaa67]{min-width:150px;font-variant-numeric:tabular-nums;font-size:13px;white-space:nowrap}.cell-last[data-v-e8cdaa67]{max-width:260px;white-space:normal}.last-time[data-v-e8cdaa67]{display:block;font-weight:500}.last-time.muted[data-v-e8cdaa67]{color:var(--text-secondary)}.last-result[data-v-e8cdaa67]{display:block;margin-top:2px;font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:240px}.cell-actions[data-v-e8cdaa67]{min-width:170px;white-space:nowrap}.btn-action[data-v-e8cdaa67]{padding:5px 14px;border:1px solid var(--border);border-radius:6px;font-size:13px;cursor:pointer;transition:all .15s;background:var(--surface);color:var(--text)}.btn-action+.btn-action[data-v-e8cdaa67]{margin-left:6px}.btn-edit[data-v-e8cdaa67]:hover{border-color:var(--primary);color:var(--primary)}.btn-save[data-v-e8cdaa67]{background:var(--primary);border-color:var(--primary);color:var(--text)}.btn-save[data-v-e8cdaa67]:disabled{opacity:.6;cursor:not-allowed}.btn-cancel[data-v-e8cdaa67]:hover{border-color:var(--text-secondary)}.btn-run[data-v-e8cdaa67]:hover:not(:disabled){border-color:var(--status-online);color:var(--status-online)}.btn-run[data-v-e8cdaa67]:disabled{opacity:.6;cursor:not-allowed}.legend[data-v-e8cdaa67]{display:flex;gap:24px;padding:16px;border-top:1px solid var(--border);background:#80808005}.legend-item[data-v-e8cdaa67]{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}.btn-logs[data-v-e8cdaa67]:hover:not(:disabled){border-color:var(--status-info, var(--primary));color:var(--status-info, var(--primary))}.logs-mask[data-v-e8cdaa67]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.logs-modal[data-v-e8cdaa67]{width:min(760px,92vw);max-height:82vh;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 40px #00000040;overflow:hidden}.logs-header[data-v-e8cdaa67]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.logs-title[data-v-e8cdaa67]{font-size:16px;font-weight:600;margin:0;display:flex;align-items:baseline;gap:10px}.logs-subtitle[data-v-e8cdaa67]{font-size:13px;font-weight:400;color:var(--text-secondary)}.logs-close[data-v-e8cdaa67]{border:none;background:transparent;font-size:22px;line-height:1;cursor:pointer;color:var(--text-secondary)}.logs-close[data-v-e8cdaa67]:hover{color:var(--text)}.logs-filters[data-v-e8cdaa67]{display:flex;gap:20px;padding:12px 20px;border-bottom:1px solid var(--border);font-size:13px;color:var(--text-secondary)}.logs-filters label[data-v-e8cdaa67]{display:flex;align-items:center;gap:8px}.logs-filters select[data-v-e8cdaa67]{padding:4px 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-size:13px}.logs-loading[data-v-e8cdaa67],.logs-empty[data-v-e8cdaa67]{padding:40px;text-align:center;color:var(--text-secondary)}.logs-table[data-v-e8cdaa67]{width:100%;border-collapse:collapse;font-size:13px;overflow-y:auto}.logs-table thead[data-v-e8cdaa67]{background:#8080800f}.logs-table th[data-v-e8cdaa67]{text-align:left;padding:10px 16px;font-weight:600;font-size:12px;color:var(--text-secondary);border-bottom:1px solid var(--border);white-space:nowrap}.logs-table td[data-v-e8cdaa67]{padding:10px 16px;border-bottom:1px solid var(--border);vertical-align:middle}.logs-table tbody tr[data-v-e8cdaa67]:hover{background:#80808008}.logs-table .cell-result[data-v-e8cdaa67]{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge-manual[data-v-e8cdaa67]{background:color-mix(in srgb,var(--status-online) 10%,transparent);color:var(--status-online);margin-right:6px}.badge-scheduled[data-v-e8cdaa67]{background:#8080801f;color:var(--text-secondary);margin-right:6px}.badge-ok[data-v-e8cdaa67]{background:color-mix(in srgb,var(--status-online) 12%,transparent);color:var(--status-online)}.badge-fail[data-v-e8cdaa67]{background:color-mix(in srgb,var(--status-error) 12%,transparent);color:var(--status-error)}.logs-pager[data-v-e8cdaa67]{display:flex;align-items:center;justify-content:center;gap:16px;padding:14px;border-top:1px solid var(--border);font-size:13px;color:var(--text-secondary)}.logs-pager .btn-action[data-v-e8cdaa67]:disabled{opacity:.5;cursor:not-allowed}.operation-log-page[data-v-243a1a40]{padding:16px;height:100%;overflow-y:auto}.toolbar[data-v-243a1a40]{display:flex;align-items:center;gap:12px;margin-bottom:8px;flex-wrap:wrap;padding:6px 10px;background:var(--surface);border:1px solid var(--border);border-radius:8px}.page-title[data-v-243a1a40]{font-size:15px;font-weight:600;color:var(--text);margin:0;white-space:nowrap}.toolbar-filters[data-v-243a1a40]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:1}.toolbar-actions[data-v-243a1a40]{display:flex;align-items:center;gap:8px;flex-shrink:0}.filter-select[data-v-243a1a40],.filter-input[data-v-243a1a40]{height:28px;padding:0 8px;box-sizing:border-box;border:1px solid var(--border);border-radius:6px;font-size:12px;background:var(--background);color:var(--text)}.filter-input[data-v-243a1a40]{width:160px}.action-cell[data-v-243a1a40]{display:flex;align-items:center;gap:8px}.badge-method[data-v-243a1a40]{display:inline-block;padding:2px 6px;border-radius:4px;font-size:11px;font-weight:600;font-family:monospace;flex-shrink:0}.method-GET[data-v-243a1a40]{background:color-mix(in srgb,var(--primary) 15%,transparent);color:var(--primary)}.method-POST[data-v-243a1a40]{background:color-mix(in srgb,var(--status-online) 15%,transparent);color:var(--status-online)}.method-PUT[data-v-243a1a40],.method-PATCH[data-v-243a1a40]{background:color-mix(in srgb,var(--status-warning) 15%,transparent);color:var(--status-warning)}.method-DELETE[data-v-243a1a40]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.action-url[data-v-243a1a40]{font-family:monospace;font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge-status[data-v-243a1a40]{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.status-success[data-v-243a1a40]{background:color-mix(in srgb,var(--status-online) 15%,transparent);color:var(--status-online)}.status-error[data-v-243a1a40]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.user-cell[data-v-243a1a40]{display:flex;flex-direction:column;gap:2px}.user-name[data-v-243a1a40]{font-size:13px;color:var(--text)}.user-id[data-v-243a1a40]{font-size:11px;color:var(--text-secondary);font-family:monospace}.mono[data-v-243a1a40]{font-family:monospace;font-size:12px;color:var(--text-secondary)}.sys-btn[data-v-243a1a40]{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;cursor:pointer;transition:all .15s ease;background:var(--surface);color:var(--text)}.sys-btn[data-v-243a1a40]:hover{border-color:var(--primary)}.sys-btn-sm[data-v-243a1a40]{height:28px;padding:0 10px;box-sizing:border-box;font-size:12px}.sys-btn-primary[data-v-243a1a40]{background:var(--primary);border-color:var(--primary);color:#fff}.sys-btn-primary[data-v-243a1a40]:hover{opacity:.9}.sys-btn-secondary[data-v-243a1a40]{background:var(--surface);color:var(--text)}.sys-btn-danger[data-v-243a1a40]{background:transparent;border-color:color-mix(in srgb,var(--status-error) 50%,transparent);color:var(--status-error)}.sys-btn-danger[data-v-243a1a40]:hover{background:color-mix(in srgb,var(--status-error) 10%,transparent)}.sys-btn[data-v-243a1a40]:disabled{opacity:.5;cursor:not-allowed}.modal-overlay[data-v-243a1a40]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-dialog[data-v-243a1a40]{background:var(--surface);border:1px solid var(--border);border-radius:10px;width:400px;max-width:90vw;box-shadow:0 10px 40px #0000004d}.modal-header[data-v-243a1a40]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-title[data-v-243a1a40]{font-size:15px;font-weight:600;color:var(--text);margin:0}.modal-close[data-v-243a1a40]{background:none;border:none;font-size:22px;color:var(--text-secondary);cursor:pointer;padding:0;line-height:1}.modal-close[data-v-243a1a40]:hover{color:var(--text)}.modal-body[data-v-243a1a40]{padding:20px}.modal-prompt[data-v-243a1a40]{margin:0 0 12px;font-size:13px;color:var(--text-secondary)}.modal-input[data-v-243a1a40]{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-size:14px;background:var(--background);color:var(--text);box-sizing:border-box}.modal-footer[data-v-243a1a40]{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--border)}.click-hint[data-v-243a1a40]{text-align:center;font-size:12px;color:var(--text-secondary);margin-top:8px;opacity:.7}.detail-panel[data-v-243a1a40]{margin-top:16px;border:1px solid var(--border);border-radius:8px;background:var(--surface);overflow:hidden}.detail-header[data-v-243a1a40]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--primary) 5%,var(--surface))}.detail-title[data-v-243a1a40]{font-size:14px;font-weight:600;color:var(--text);margin:0}.detail-close[data-v-243a1a40]{background:none;border:none;font-size:20px;color:var(--text-secondary);cursor:pointer;padding:0;line-height:1}.detail-close[data-v-243a1a40]:hover{color:var(--text)}.detail-grid[data-v-243a1a40]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:0;padding:0}.detail-item[data-v-243a1a40]{display:flex;flex-direction:column;gap:4px;padding:10px 16px;border-bottom:1px solid color-mix(in srgb,var(--border) 50%,transparent)}.detail-label[data-v-243a1a40]{font-size:11px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.detail-value[data-v-243a1a40]{font-size:13px;color:var(--text);word-break:break-all}.detail-ua[data-v-243a1a40]{font-size:11px;color:var(--text-secondary);word-break:break-all}.detail-body-section[data-v-243a1a40]{padding:12px 16px}.detail-body-code[data-v-243a1a40]{margin-top:8px;padding:12px;background:var(--background);border:1px solid var(--border);border-radius:6px;font-size:12px;font-family:Cascadia Code,Fira Code,Consolas,monospace;color:var(--text);white-space:pre-wrap;word-break:break-all;max-height:300px;overflow-y:auto;line-height:1.5}.detail-body-empty[data-v-243a1a40]{display:block;margin-top:8px;font-size:12px;color:var(--text-secondary);font-style:italic}.audit-log-page[data-v-a337df86]{padding:16px;height:100%;overflow-y:auto}.toolbar[data-v-a337df86]{display:flex;align-items:center;gap:12px;margin-bottom:8px;flex-wrap:wrap;padding:6px 10px;background:var(--surface);border:1px solid var(--border);border-radius:8px}.page-title[data-v-a337df86]{font-size:15px;font-weight:600;color:var(--text);margin:0;white-space:nowrap}.toolbar-filters[data-v-a337df86]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:1}.filter-select[data-v-a337df86]{height:28px;padding:0 8px;box-sizing:border-box;border:1px solid var(--border);border-radius:6px;font-size:12px;background:var(--background);color:var(--text)}.filter-input[data-v-a337df86]{height:28px;padding:0 8px;box-sizing:border-box;border:1px solid var(--border);border-radius:6px;font-size:12px;background:var(--background);color:var(--text);width:160px}.badge-action[data-v-a337df86]{padding:2px 8px;border-radius:4px;font-size:12px;white-space:nowrap}.action-grant_role[data-v-a337df86]{background:color-mix(in srgb,var(--status-online) 15%,transparent);color:var(--status-online)}.action-revoke_role[data-v-a337df86]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.action-update_permissions[data-v-a337df86]{background:color-mix(in srgb,var(--primary) 15%,transparent);color:var(--primary)}.action-update_auth[data-v-a337df86]{background:color-mix(in srgb,var(--status-warning) 15%,transparent);color:var(--status-warning)}.security-audit-page[data-v-bea8af25]{padding:16px;height:100%;overflow-y:auto}.toolbar[data-v-bea8af25]{display:flex;align-items:center;gap:12px;margin-bottom:8px;flex-wrap:wrap;padding:6px 10px;background:var(--surface);border:1px solid var(--border);border-radius:8px}.page-title[data-v-bea8af25]{font-size:15px;font-weight:600;color:var(--text);margin:0;white-space:nowrap}.toolbar-filters[data-v-bea8af25]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:1}.toolbar-actions[data-v-bea8af25]{display:flex;align-items:center;gap:8px;flex-shrink:0}.filter-select[data-v-bea8af25],.filter-input[data-v-bea8af25]{height:28px;padding:0 8px;box-sizing:border-box;border:1px solid var(--border);border-radius:6px;font-size:12px;background:var(--background);color:var(--text)}.filter-input[data-v-bea8af25]{width:140px}.stats-bar[data-v-bea8af25]{display:flex;align-items:center;gap:16px;padding:8px 12px;margin-bottom:8px;background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap}.stat-item[data-v-bea8af25]{display:flex;align-items:center;gap:6px}.stat-label[data-v-bea8af25]{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.stat-value[data-v-bea8af25]{font-size:14px;font-weight:600;color:var(--text)}.stat-ok[data-v-bea8af25]{color:var(--status-online, #4caf50)}.stat-error[data-v-bea8af25]{color:var(--status-error, #f44336)}.stat-info[data-v-bea8af25]{color:var(--primary, #2196f3)}.stat-warning[data-v-bea8af25]{color:var(--status-warning, #ff9800)}.stat-critical[data-v-bea8af25]{color:var(--status-error, #f44336)}.stat-unknown[data-v-bea8af25]{color:var(--text-secondary, #999)}.badge-severity[data-v-bea8af25]{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.severity-info[data-v-bea8af25]{background:color-mix(in srgb,var(--primary, #2196f3) 15%,transparent);color:var(--primary, #2196f3)}.severity-warning[data-v-bea8af25]{background:color-mix(in srgb,var(--status-warning, #ff9800) 15%,transparent);color:var(--status-warning, #ff9800)}.severity-critical[data-v-bea8af25]{background:color-mix(in srgb,var(--status-error, #f44336) 15%,transparent);color:var(--status-error, #f44336)}.severity-unknown[data-v-bea8af25]{background:color-mix(in srgb,var(--text-secondary, #999) 15%,transparent);color:var(--text-secondary, #999)}.event-type[data-v-bea8af25]{font-family:monospace;font-size:12px;color:var(--text)}.mono[data-v-bea8af25]{font-family:monospace;font-size:12px;color:var(--text-secondary)}.hash-value[data-v-bea8af25]{font-size:10px;word-break:break-all;max-width:280px;display:inline-block}.sys-btn[data-v-bea8af25]{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;cursor:pointer;transition:all .15s ease;background:var(--surface);color:var(--text)}.sys-btn[data-v-bea8af25]:hover{border-color:var(--primary)}.sys-btn-sm[data-v-bea8af25]{height:28px;padding:0 10px;box-sizing:border-box;font-size:12px}.sys-btn-primary[data-v-bea8af25]{background:var(--primary);border-color:var(--primary);color:#fff}.sys-btn-primary[data-v-bea8af25]:hover{opacity:.9}.sys-btn-secondary[data-v-bea8af25]{background:var(--surface);color:var(--text)}.sys-btn[data-v-bea8af25]:disabled{opacity:.5;cursor:not-allowed}.click-hint[data-v-bea8af25]{text-align:center;font-size:12px;color:var(--text-secondary);margin-top:8px;opacity:.7}.detail-panel[data-v-bea8af25]{margin-top:16px;border:1px solid var(--border);border-radius:8px;background:var(--surface);overflow:hidden}.detail-header[data-v-bea8af25]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--primary) 5%,var(--surface))}.detail-title[data-v-bea8af25]{font-size:14px;font-weight:600;color:var(--text);margin:0}.detail-close[data-v-bea8af25]{background:none;border:none;font-size:20px;color:var(--text-secondary);cursor:pointer;padding:0;line-height:1}.detail-close[data-v-bea8af25]:hover{color:var(--text)}.detail-grid[data-v-bea8af25]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:0;padding:0}.detail-item[data-v-bea8af25]{display:flex;flex-direction:column;gap:4px;padding:10px 16px;border-bottom:1px solid color-mix(in srgb,var(--border) 50%,transparent)}.detail-label[data-v-bea8af25]{font-size:11px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.detail-value[data-v-bea8af25]{font-size:13px;color:var(--text);word-break:break-all}.detail-ua[data-v-bea8af25]{font-size:11px;color:var(--text-secondary);word-break:break-all}.detail-body-section[data-v-bea8af25]{padding:12px 16px}.detail-body-code[data-v-bea8af25]{margin-top:8px;padding:12px;background:var(--background);border:1px solid var(--border);border-radius:6px;font-size:12px;font-family:Cascadia Code,Fira Code,Consolas,monospace;color:var(--text);white-space:pre-wrap;word-break:break-all;max-height:300px;overflow-y:auto;line-height:1.5}.modal-overlay[data-v-bea8af25]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-dialog[data-v-bea8af25]{background:var(--surface);border:1px solid var(--border);border-radius:10px;width:480px;max-width:90vw;box-shadow:0 10px 40px #0000004d}.modal-header[data-v-bea8af25]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-title[data-v-bea8af25]{font-size:15px;font-weight:600;color:var(--text);margin:0}.modal-close[data-v-bea8af25]{background:none;border:none;font-size:22px;color:var(--text-secondary);cursor:pointer;padding:0;line-height:1}.modal-close[data-v-bea8af25]:hover{color:var(--text)}.modal-body[data-v-bea8af25]{padding:20px}.verify-result[data-v-bea8af25]{display:flex;align-items:flex-start;gap:12px;padding:16px;border-radius:8px;margin-bottom:16px}.verify-ok[data-v-bea8af25]{background:color-mix(in srgb,var(--status-online, #4caf50) 10%,transparent);border:1px solid color-mix(in srgb,var(--status-online, #4caf50) 30%,transparent)}.verify-broken[data-v-bea8af25]{background:color-mix(in srgb,var(--status-error, #f44336) 10%,transparent);border:1px solid color-mix(in srgb,var(--status-error, #f44336) 30%,transparent)}.verify-icon[data-v-bea8af25]{font-size:28px;line-height:1;flex-shrink:0}.verify-ok .verify-icon[data-v-bea8af25]{color:var(--status-online, #4caf50)}.verify-broken .verify-icon[data-v-bea8af25]{color:var(--status-error, #f44336)}.verify-text[data-v-bea8af25]{flex:1}.verify-status-text[data-v-bea8af25]{font-size:16px;font-weight:600;color:var(--text);margin-bottom:4px}.verify-desc[data-v-bea8af25]{font-size:13px;color:var(--text-secondary);line-height:1.5}.verify-meta[data-v-bea8af25]{display:flex;gap:24px;padding:12px 0}.verify-meta-item[data-v-bea8af25]{display:flex;flex-direction:column;gap:4px}.event-log-page[data-v-7a84633e]{padding:16px;height:100%;overflow-y:auto}.toolbar[data-v-7a84633e]{display:flex;align-items:center;gap:12px;margin-bottom:8px;flex-wrap:wrap;padding:6px 10px;background:var(--surface);border:1px solid var(--border);border-radius:8px}.page-title[data-v-7a84633e]{font-size:15px;font-weight:600;color:var(--text);margin:0;white-space:nowrap}.toolbar-filters[data-v-7a84633e]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:1}.toolbar-actions[data-v-7a84633e]{display:flex;align-items:center;gap:8px;flex-shrink:0}.filter-select[data-v-7a84633e],.filter-input[data-v-7a84633e]{height:28px;padding:0 8px;box-sizing:border-box;border:1px solid var(--border);border-radius:6px;font-size:12px;background:var(--background);color:var(--text)}.filter-input[data-v-7a84633e]{width:150px}.filter-checkbox[data-v-7a84633e]{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.filter-checkbox input[data-v-7a84633e]{cursor:pointer;accent-color:var(--primary)}.filter-input-project[data-v-7a84633e]{width:120px}.badge-event-type[data-v-7a84633e]{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;font-family:monospace}.event-type-device[data-v-7a84633e]{background:color-mix(in srgb,var(--primary) 15%,transparent);color:var(--primary)}.event-type-project[data-v-7a84633e]{background:color-mix(in srgb,#9c27b0 15%,transparent);color:#9c27b0}.event-type-alarm[data-v-7a84633e]{background:color-mix(in srgb,var(--status-warning) 15%,transparent);color:var(--status-warning)}.event-type-plugin[data-v-7a84633e]{background:color-mix(in srgb,var(--status-online) 15%,transparent);color:var(--status-online)}.event-type-config[data-v-7a84633e]{background:color-mix(in srgb,#00bcd4 15%,transparent);color:#00bcd4}.event-type-other[data-v-7a84633e]{background:color-mix(in srgb,var(--text-secondary) 15%,transparent);color:var(--text-secondary)}.project-id[data-v-7a84633e]{font-size:12px;color:var(--text-secondary)}.badge-status[data-v-7a84633e]{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.status-emitted[data-v-7a84633e]{background:color-mix(in srgb,var(--text-secondary) 15%,transparent);color:var(--text-secondary)}.status-processing[data-v-7a84633e]{background:color-mix(in srgb,var(--primary) 15%,transparent);color:var(--primary)}.status-processed[data-v-7a84633e]{background:color-mix(in srgb,var(--status-online) 15%,transparent);color:var(--status-online)}.status-partial[data-v-7a84633e]{background:color-mix(in srgb,var(--status-warning) 15%,transparent);color:var(--status-warning)}.status-failed[data-v-7a84633e]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.status-no_subscribers[data-v-7a84633e]{background:color-mix(in srgb,var(--text-secondary) 15%,transparent);color:var(--text-secondary)}.ratio-success[data-v-7a84633e]{color:var(--status-online);font-weight:600}.ratio-partial[data-v-7a84633e]{color:var(--status-warning);font-weight:600}.ratio-failed[data-v-7a84633e]{color:var(--status-error);font-weight:600}.user-cell[data-v-7a84633e]{display:flex;flex-direction:column;gap:2px}.user-name[data-v-7a84633e]{font-size:13px;color:var(--text)}.user-source[data-v-7a84633e]{font-size:11px;color:var(--text-secondary)}.text-secondary[data-v-7a84633e]{color:var(--text-secondary);font-size:12px}.mono[data-v-7a84633e]{font-family:monospace;font-size:12px;color:var(--text-secondary)}.sys-btn[data-v-7a84633e]{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;cursor:pointer;transition:all .15s ease;background:var(--surface);color:var(--text)}.sys-btn[data-v-7a84633e]:hover{border-color:var(--primary)}.sys-btn-sm[data-v-7a84633e]{padding:5px 10px;font-size:12px}.sys-btn-secondary[data-v-7a84633e]{background:var(--surface);color:var(--text)}.click-hint[data-v-7a84633e]{text-align:center;font-size:12px;color:var(--text-secondary);margin-top:8px;opacity:.7}.detail-panel[data-v-7a84633e]{margin-top:16px;border:1px solid var(--border);border-radius:8px;background:var(--surface);overflow:hidden}.detail-header[data-v-7a84633e]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--primary) 5%,var(--surface))}.detail-title[data-v-7a84633e]{font-size:14px;font-weight:600;color:var(--text);margin:0}.detail-close[data-v-7a84633e]{background:none;border:none;font-size:20px;color:var(--text-secondary);cursor:pointer;padding:0;line-height:1}.detail-close[data-v-7a84633e]:hover{color:var(--text)}.detail-grid[data-v-7a84633e]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:0;padding:0}.detail-item[data-v-7a84633e]{display:flex;flex-direction:column;gap:4px;padding:10px 16px;border-bottom:1px solid color-mix(in srgb,var(--border) 50%,transparent)}.detail-label[data-v-7a84633e]{font-size:11px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.detail-value[data-v-7a84633e]{font-size:13px;color:var(--text);word-break:break-all}.detail-error-section[data-v-7a84633e]{padding:12px 16px;background:color-mix(in srgb,var(--status-error) 5%,var(--surface));border-bottom:1px solid color-mix(in srgb,var(--status-error) 20%,transparent)}.detail-error-code[data-v-7a84633e]{margin-top:8px;padding:12px;background:color-mix(in srgb,var(--status-error) 10%,var(--background));border:1px solid color-mix(in srgb,var(--status-error) 30%,transparent);border-radius:6px;font-size:12px;font-family:Cascadia Code,Fira Code,Consolas,monospace;color:var(--status-error);white-space:pre-wrap;word-break:break-all;line-height:1.5}.detail-body-section[data-v-7a84633e]{padding:12px 16px;border-top:1px solid color-mix(in srgb,var(--border) 50%,transparent)}.detail-section-header[data-v-7a84633e]{display:flex;align-items:center;gap:12px;margin-bottom:8px}.toggle-btn[data-v-7a84633e]{background:none;border:1px solid var(--border);border-radius:4px;padding:2px 8px;font-size:11px;color:var(--text-secondary);cursor:pointer}.toggle-btn[data-v-7a84633e]:hover{border-color:var(--primary);color:var(--primary)}.subscriber-count[data-v-7a84633e]{font-size:12px;color:var(--text-secondary)}.detail-body-code[data-v-7a84633e]{margin-top:8px;padding:12px;background:var(--background);border:1px solid var(--border);border-radius:6px;font-size:12px;font-family:Cascadia Code,Fira Code,Consolas,monospace;color:var(--text);white-space:pre-wrap;word-break:break-all;max-height:300px;overflow-y:auto;line-height:1.5}.detail-body-code.collapsed[data-v-7a84633e]{max-height:120px;overflow-y:auto}.detail-body-code-sm[data-v-7a84633e]{max-height:180px;margin-top:6px;padding:8px 10px;font-size:11px}.detail-body-empty[data-v-7a84633e]{display:block;margin-top:8px;font-size:12px;color:var(--text-secondary);font-style:italic}.subscriber-timeline[data-v-7a84633e]{display:flex;flex-direction:column;gap:8px;margin-top:8px}.subscriber-row[data-v-7a84633e]{padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--background)}.subscriber-row.subscriber-failed[data-v-7a84633e]{border-color:color-mix(in srgb,var(--status-error) 40%,transparent);background:color-mix(in srgb,var(--status-error) 4%,var(--background))}.subscriber-main[data-v-7a84633e]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.subscriber-name[data-v-7a84633e]{font-size:13px;font-weight:600;color:var(--text);font-family:monospace}.subscriber-duration[data-v-7a84633e]{font-size:12px;color:var(--text-secondary)}.subscriber-error[data-v-7a84633e]{margin-top:6px;padding:6px 10px;background:color-mix(in srgb,var(--status-error) 10%,transparent);border-radius:4px;font-size:12px;color:var(--status-error);word-break:break-all}.subscriber-result[data-v-7a84633e]{margin-top:6px}.subscriber-time[data-v-7a84633e]{display:flex;gap:16px;margin-top:4px;flex-wrap:wrap}.error-log-page[data-v-3c060f2c]{padding:16px;height:100%;overflow-y:auto}.toolbar[data-v-3c060f2c]{display:flex;align-items:center;gap:12px;margin-bottom:8px;flex-wrap:wrap;padding:6px 10px;background:var(--surface);border:1px solid var(--border);border-radius:8px}.toolbar-left[data-v-3c060f2c]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.toolbar-right[data-v-3c060f2c]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex-shrink:0}.page-title[data-v-3c060f2c]{font-size:15px;font-weight:600;color:var(--text);margin:0;white-space:nowrap}.stats-inline[data-v-3c060f2c]{display:flex;align-items:center;gap:10px}.stat-item[data-v-3c060f2c]{display:flex;align-items:baseline;gap:4px}.stat-value[data-v-3c060f2c]{font-size:16px;font-weight:700;color:var(--text)}.stat-label[data-v-3c060f2c]{font-size:11px;color:var(--text-secondary)}.filter-select[data-v-3c060f2c],.filter-input[data-v-3c060f2c]{height:28px;padding:0 8px;box-sizing:border-box;border:1px solid var(--border);border-radius:6px;font-size:12px;background:var(--background);color:var(--text)}.filter-input[data-v-3c060f2c]{width:180px}.filter-sep[data-v-3c060f2c]{color:var(--text-secondary);font-size:13px}.badge-level[data-v-3c060f2c]{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.level-error[data-v-3c060f2c],.level-fatal[data-v-3c060f2c]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.level-warning[data-v-3c060f2c]{background:color-mix(in srgb,var(--status-warning) 15%,transparent);color:var(--status-warning)}.level-info[data-v-3c060f2c]{background:color-mix(in srgb,var(--primary) 15%,transparent);color:var(--primary)}.message-cell[data-v-3c060f2c]{display:flex;flex-direction:column;gap:4px}.message-text[data-v-3c060f2c]{font-size:13px;color:var(--text);word-break:break-all}.stack-toggle[data-v-3c060f2c]{background:none;border:none;color:var(--primary);font-size:11px;cursor:pointer;padding:0;align-self:flex-start}.stack-trace[data-v-3c060f2c]{font-size:11px;color:var(--text-secondary);background:var(--background);padding:8px;border-radius:4px;overflow-x:auto;white-space:pre-wrap;word-break:break-all;margin:0;max-height:200px;overflow-y:auto}.sys-btn[data-v-3c060f2c]{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;cursor:pointer;transition:all .15s ease;background:var(--surface);color:var(--text)}.sys-btn[data-v-3c060f2c]:hover{border-color:var(--primary)}.sys-btn-sm[data-v-3c060f2c]{height:28px;padding:0 8px;box-sizing:border-box;font-size:12px}.sys-btn-primary[data-v-3c060f2c]{background:var(--primary);border-color:var(--primary);color:#fff}.sys-btn-secondary[data-v-3c060f2c]{background:var(--surface);color:var(--text)}.sys-btn-danger[data-v-3c060f2c]{background:transparent;border-color:color-mix(in srgb,var(--status-error) 50%,transparent);color:var(--status-error);padding:2px 8px}.sys-btn-danger[data-v-3c060f2c]:hover{background:color-mix(in srgb,var(--status-error) 10%,transparent)}.sys-btn[data-v-3c060f2c]:disabled{opacity:.5;cursor:not-allowed}.modal-overlay[data-v-3c060f2c]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-dialog[data-v-3c060f2c]{background:var(--surface);border:1px solid var(--border);border-radius:10px;width:400px;max-width:90vw;box-shadow:0 10px 40px #0000004d}.modal-header[data-v-3c060f2c]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-title[data-v-3c060f2c]{font-size:15px;font-weight:600;color:var(--text);margin:0}.modal-close[data-v-3c060f2c]{background:none;border:none;font-size:22px;color:var(--text-secondary);cursor:pointer;padding:0;line-height:1}.modal-body[data-v-3c060f2c]{padding:20px}.modal-prompt[data-v-3c060f2c]{margin:0 0 12px;font-size:13px;color:var(--text-secondary)}.modal-input[data-v-3c060f2c]{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-size:14px;background:var(--background);color:var(--text);box-sizing:border-box}.modal-footer[data-v-3c060f2c]{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--border)}.app-log-page[data-v-dec45239]{padding:16px;height:100%;display:flex;flex-direction:column}.toolbar[data-v-dec45239]{display:flex;align-items:center;gap:12px;margin-bottom:8px;flex-wrap:wrap;padding:6px 10px;background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-shrink:0}.page-title[data-v-dec45239]{font-size:15px;font-weight:600;color:var(--text);margin:0;white-space:nowrap}.toolbar-filters[data-v-dec45239]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:1}.toolbar-actions[data-v-dec45239]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex-shrink:0}.filter-select[data-v-dec45239],.filter-input[data-v-dec45239]{height:28px;padding:0 8px;box-sizing:border-box;border:1px solid var(--border);border-radius:6px;font-size:12px;background:var(--background);color:var(--text)}.filter-input[data-v-dec45239]{width:140px}.files-bar[data-v-dec45239]{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap;flex-shrink:0}.files-label[data-v-dec45239]{font-size:12px;color:var(--text-secondary)}.file-chip[data-v-dec45239]{padding:3px 10px;border:1px solid var(--border);border-radius:12px;font-size:11px;font-family:monospace;background:var(--surface);color:var(--text);cursor:pointer;transition:all .15s ease}.file-chip[data-v-dec45239]:hover{border-color:var(--primary);color:var(--primary)}.log-terminal[data-v-dec45239]{flex:1;min-height:400px;background:var(--background);border:1px solid var(--border);border-radius:8px;padding:12px;overflow-y:auto;font-family:Consolas,Monaco,Courier New,monospace;font-size:12px;line-height:1.6}.log-empty[data-v-dec45239]{color:var(--text-secondary);text-align:center;padding:40px}.log-line[data-v-dec45239]{display:flex;gap:8px;padding:1px 0;white-space:nowrap}.log-line[data-v-dec45239]:hover{background:color-mix(in srgb,var(--primary) 5%,transparent)}.log-time[data-v-dec45239]{color:var(--text-secondary);flex-shrink:0}.log-level[data-v-dec45239]{flex-shrink:0;width:50px;font-weight:600;text-transform:uppercase}.level-error[data-v-dec45239],.level-fatal[data-v-dec45239]{color:var(--status-error)}.level-warn[data-v-dec45239],.level-warning[data-v-dec45239]{color:var(--status-warning)}.level-info[data-v-dec45239]{color:var(--primary)}.level-debug[data-v-dec45239]{color:var(--text-secondary)}.log-module[data-v-dec45239]{color:var(--text-secondary);flex-shrink:0;max-width:150px;overflow:hidden;text-overflow:ellipsis}.log-message[data-v-dec45239]{color:var(--text);white-space:pre-wrap;word-break:break-all}.log-error .log-message[data-v-dec45239]{color:var(--status-error)}.sys-btn[data-v-dec45239]{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;cursor:pointer;transition:all .15s ease;background:var(--surface);color:var(--text)}.sys-btn[data-v-dec45239]:hover{border-color:var(--primary)}.sys-btn-sm[data-v-dec45239]{height:28px;padding:0 10px;box-sizing:border-box;font-size:12px}.sys-btn-secondary[data-v-dec45239]{background:var(--surface);color:var(--text)}.btn-active[data-v-dec45239]{border-color:var(--status-online);color:var(--status-online)}.dict-selector[data-v-4bbf7ad1]{position:relative;font-size:14px;color:var(--text, #333)}.dict-selector--small[data-v-4bbf7ad1]{font-size:12px}.dict-selector--large[data-v-4bbf7ad1]{font-size:16px}.dict-selector-wrapper[data-v-4bbf7ad1]{position:relative;display:flex;align-items:center;border:1px solid var(--border, #d9d9d9);border-radius:6px;background:var(--background, #fff);cursor:pointer;transition:border-color .2s;min-height:32px}.dict-selector--small .dict-selector-wrapper[data-v-4bbf7ad1]{min-height:24px}.dict-selector--large .dict-selector-wrapper[data-v-4bbf7ad1]{min-height:40px}.dict-selector-wrapper[data-v-4bbf7ad1]:hover{border-color:var(--primary, #1890ff)}.dict-selector-input[data-v-4bbf7ad1],.dict-selector-trigger[data-v-4bbf7ad1]{flex:1;padding:4px 28px 4px 12px;cursor:pointer;-webkit-user-select:none;user-select:none}.dict-selector-input[data-v-4bbf7ad1]{border:none;outline:none;background:transparent;font-size:inherit;color:inherit;cursor:text}.dict-selector-input[data-v-4bbf7ad1]:disabled{cursor:not-allowed}.dict-selector-selected[data-v-4bbf7ad1]{color:var(--text, #333)}.dict-selector-placeholder[data-v-4bbf7ad1]{color:var(--text-secondary, #999)}.dict-selector-clear[data-v-4bbf7ad1]{position:absolute;right:24px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;border:none;background:none;cursor:pointer;color:var(--text-secondary, #999);padding:2px;border-radius:50%}.dict-selector-clear[data-v-4bbf7ad1]:hover{color:var(--text, #333);background:#0000000f}.dict-selector-arrow[data-v-4bbf7ad1]{position:absolute;right:8px;top:50%;transform:translateY(-50%);color:var(--text-secondary, #999);transition:transform .2s}.dict-selector-arrow.is-open[data-v-4bbf7ad1]{transform:translateY(-50%) rotate(180deg)}.dict-selector-panel[data-v-4bbf7ad1]{position:fixed;z-index:9999;background:var(--background, #fff);border:1px solid var(--border, #d9d9d9);border-radius:6px;box-shadow:0 6px 16px #00000014;max-height:250px;overflow:hidden;display:flex;flex-direction:column}.dict-selector-options[data-v-4bbf7ad1]{overflow-y:auto;flex:1}.dict-selector-option[data-v-4bbf7ad1]{padding:8px 12px;cursor:pointer;transition:background .15s;font-size:inherit}.dict-selector-option[data-v-4bbf7ad1]:hover{background:#0000000a}.dict-selector-option.is-selected[data-v-4bbf7ad1]{color:var(--primary, #1890ff);font-weight:500;background:#1890ff0f}.dict-selector-loading[data-v-4bbf7ad1],.dict-selector-empty[data-v-4bbf7ad1]{padding:20px 12px;text-align:center;color:var(--text-secondary, #999);font-size:13px}.dict-tag[data-v-29f7de00]{display:inline-flex;align-items:center;padding:2px 10px;border-radius:4px;font-size:12px;line-height:1.6;border:1px solid transparent;white-space:nowrap;-webkit-user-select:none;user-select:none}.dict-tag--small[data-v-29f7de00]{padding:0 6px;font-size:11px;line-height:1.5;border-radius:3px}.dict-badge[data-v-29f7de00]{display:inline-block;width:8px;height:8px;border-radius:50%;vertical-align:middle}.dict-badge--small[data-v-29f7de00]{width:6px;height:6px}.connection-banner[data-v-852b4d73]{display:flex;align-items:center;justify-content:center;gap:8px;padding:6px 16px;font-size:13px;font-weight:500;z-index:999}.connection-banner--offline[data-v-852b4d73]{background:var(--danger, #e74c3c);color:var(--text-inverse, #fff)}.connection-banner--recovering[data-v-852b4d73]{background:var(--status-warning, #f39c12);color:var(--text-inverse, #fff)}.connection-banner-icon[data-v-852b4d73]{font-size:14px}.connection-banner-pending[data-v-852b4d73]{opacity:.8;font-weight:400}.banner-slide-enter-active[data-v-852b4d73],.banner-slide-leave-active[data-v-852b4d73]{transition:all .3s ease}.banner-slide-enter-from[data-v-852b4d73],.banner-slide-leave-to[data-v-852b4d73]{opacity:0;transform:translateY(-100%)}.th-overlay[data-v-7befd387]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;display:flex;align-items:center;justify-content:center;background:#0006}.th-dialog[data-v-7befd387]{display:flex;flex-direction:column;width:900px;max-width:94vw;height:560px;max-height:88vh;background:var(--surface, #ffffff);color:var(--text, #333333);border:1px solid var(--border, #dddddd);border-radius:8px;box-shadow:0 12px 32px #00000059;overflow:hidden;font-family:Arial,sans-serif}.th-header[data-v-7befd387]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border, #dddddd)}.th-title[data-v-7befd387]{margin:0;font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.th-header-actions[data-v-7befd387]{display:flex;align-items:center;gap:10px;flex-shrink:0}.th-view-switch[data-v-7befd387]{display:flex;border:1px solid var(--border, #dddddd);border-radius:4px;overflow:hidden}.th-view-btn[data-v-7befd387]{padding:4px 12px;border:none;background:transparent;color:var(--text, #333333);font-size:12px;cursor:pointer}.th-view-btn.active[data-v-7befd387]{background:var(--primary, #2f7cf6);color:#fff}.th-icon-btn[data-v-7befd387]{width:26px;height:26px;border:none;border-radius:4px;background:transparent;color:var(--text, #333333);font-size:14px;cursor:pointer}.th-icon-btn[data-v-7befd387]:hover{background:var(--control-button-hover, rgba(0, 0, 0, .06))}.th-meta[data-v-7befd387]{display:flex;align-items:center;gap:24px;padding:8px 16px;border-bottom:1px solid var(--border, #dddddd);font-size:12px;overflow:hidden}.th-meta-item[data-v-7befd387]{display:inline-flex;align-items:baseline;gap:6px;min-width:0}.th-meta-label[data-v-7befd387]{color:var(--text-secondary, #8a8a8a)}.th-meta-value[data-v-7befd387]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.th-query[data-v-7befd387]{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 16px;border-bottom:1px solid var(--border, #dddddd)}.th-select[data-v-7befd387]{height:26px;padding:2px 6px;box-sizing:border-box;font-size:12px;border:1px solid var(--border, #dddddd);border-radius:4px;background:var(--surface, #ffffff);color:var(--text, #333333)}.th-query[data-v-7befd387] .trp-select,.th-query[data-v-7befd387] .trp-trigger{height:26px;box-sizing:border-box}.th-btn[data-v-7befd387]{height:26px;padding:0 12px;border:1px solid var(--border, #dddddd);border-radius:4px;background:transparent;color:var(--text, #333333);font-size:12px;cursor:pointer}.th-btn[data-v-7befd387]:hover:not(:disabled){border-color:var(--primary, #2f7cf6);color:var(--primary, #2f7cf6)}.th-btn[data-v-7befd387]:disabled{opacity:.5;cursor:not-allowed}.th-btn.primary[data-v-7befd387]{border-color:var(--primary, #2f7cf6);background:var(--primary, #2f7cf6);color:#fff}.th-count[data-v-7befd387]{font-size:12px;color:var(--text-secondary, #8a8a8a)}.th-export[data-v-7befd387]{display:flex;gap:8px;margin-left:auto}.th-body[data-v-7befd387]{flex:1;min-height:0;display:flex;flex-direction:column;padding:8px 12px 12px}.th-chart[data-v-7befd387]{flex:1;min-height:0}.th-table-wrap[data-v-7befd387]{flex:1;overflow-y:auto;border:1px solid var(--border, #dddddd);border-radius:4px}.th-table[data-v-7befd387]{width:100%;border-collapse:collapse;font-size:12px}.th-table th[data-v-7befd387],.th-table td[data-v-7befd387]{padding:6px 12px;text-align:left;border-bottom:1px solid var(--border, #dddddd)}.th-table th[data-v-7befd387]{position:sticky;top:0;background:var(--background, #f5f5f5);color:var(--text-secondary, #8a8a8a);font-weight:600}.th-table th.num[data-v-7befd387],.th-table td.num[data-v-7befd387]{text-align:right;font-variant-numeric:tabular-nums}.th-state[data-v-7befd387]{flex:1;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--text-secondary, #8a8a8a)}.th-state.error[data-v-7befd387]{color:var(--status-error, #d93025)}.mono[data-v-7befd387]{font-family:Courier New,monospace}.template-library[data-v-8577d9ed]{height:100%;display:flex;overflow:hidden}.sidebar[data-v-8577d9ed]{width:260px;min-width:260px;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.template-count[data-v-8577d9ed]{font-size:12px;color:var(--text-secondary);background:var(--background);padding:2px 8px;border-radius:10px}.sidebar-toolbar[data-v-8577d9ed]{display:flex;align-items:center;gap:4px;padding:8px 12px;border-bottom:1px solid var(--border)}.tb-btn[data-v-8577d9ed]{flex:1;display:flex;align-items:center;justify-content:center;padding:6px 8px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s;position:relative}.tb-btn[data-v-8577d9ed]:hover{background:#ffffff0a;color:var(--text)}.tb-btn[data-v-8577d9ed]:disabled{opacity:.5;cursor:not-allowed}.sidebar-search[data-v-8577d9ed]{display:flex;align-items:center;gap:6px;margin:8px 12px;padding:6px 10px;background:var(--background);border:1px solid var(--border);border-radius:6px}.sidebar-search svg[data-v-8577d9ed]{color:var(--text-secondary);flex-shrink:0}.search-input[data-v-8577d9ed]{border:none;background:none;color:var(--text);font-size:12px;outline:none;flex:1;width:100%}.sidebar-loading[data-v-8577d9ed]{padding:20px;text-align:center;color:var(--text-secondary);font-size:13px}.industry-tree[data-v-8577d9ed]{flex:1;overflow-y:auto;padding:4px 0 8px}.tree-section-label[data-v-8577d9ed]{padding:8px 16px 4px;font-size:10px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.tree-node[data-v-8577d9ed]{display:flex;align-items:center;gap:6px;padding:6px 16px;cursor:pointer;transition:all .15s;color:var(--text-secondary);font-size:13px;-webkit-user-select:none;user-select:none}.tree-node[data-v-8577d9ed]:hover{background:#ffffff08;color:var(--text)}.tree-node.active[data-v-8577d9ed]{background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--primary);font-weight:500}.root-node[data-v-8577d9ed]{font-weight:500;color:var(--text);border-bottom:1px solid var(--border);margin:0 0 4px;padding:8px 16px}.group-node[data-v-8577d9ed]{font-weight:500;color:var(--text)}.chevron[data-v-8577d9ed]{transition:transform .2s;flex-shrink:0}.chevron.rotated[data-v-8577d9ed]{transform:rotate(90deg)}.category-node[data-v-8577d9ed]{padding-left:36px;font-size:12px}.category-node svg[data-v-8577d9ed]:first-child{color:var(--status-warning)}.template-node[data-v-8577d9ed]{padding-left:52px;font-size:12px}.template-node .node-label[data-v-8577d9ed]{font-weight:400}.node-label[data-v-8577d9ed]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-count[data-v-8577d9ed]{font-size:11px;color:var(--text-secondary);background:var(--background);padding:1px 6px;border-radius:8px;min-width:18px;text-align:center;flex-shrink:0}.version-tag[data-v-8577d9ed]{font-size:10px;color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,transparent);padding:1px 5px;border-radius:4px;flex-shrink:0}.empty-children[data-v-8577d9ed]{padding:8px 16px 8px 52px;font-size:12px;color:var(--text-secondary);font-style:italic}.main-area[data-v-8577d9ed]{flex:1;display:flex;flex-direction:column;overflow:hidden}.template-header[data-v-8577d9ed]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid var(--border);background:var(--surface)}.template-info[data-v-8577d9ed]{display:flex;align-items:center;gap:8px;min-width:0}.template-name[data-v-8577d9ed]{margin:0;font-size:16px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.template-actions[data-v-8577d9ed]{display:flex;gap:4px;flex-shrink:0}.template-meta[data-v-8577d9ed]{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;padding:8px 20px 6px;background:var(--surface);border-bottom:1px solid var(--border);font-size:12px;color:var(--text-secondary)}.meta-item[data-v-8577d9ed]{display:inline-flex;align-items:center;gap:4px;max-width:360px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meta-item svg[data-v-8577d9ed]{flex-shrink:0;opacity:.6}.meta-item.description[data-v-8577d9ed]{max-width:480px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.version-badge[data-v-8577d9ed]{padding:2px 8px;border-radius:4px;background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--primary);font-size:11px;font-weight:500;white-space:nowrap;flex-shrink:0}.status-tag[data-v-8577d9ed]{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500;white-space:nowrap;flex-shrink:0}.status-draft[data-v-8577d9ed]{background:#6b72801a;color:var(--text-secondary)}.status-published[data-v-8577d9ed]{background:color-mix(in srgb,var(--status-online) 10%,transparent);color:var(--status-online)}.status-deprecated[data-v-8577d9ed]{background:color-mix(in srgb,var(--status-error) 10%,transparent);color:var(--status-error)}.device-type-badge[data-v-8577d9ed]{padding:2px 8px;border-radius:4px;background:color-mix(in srgb,var(--primary) 8%,transparent);color:var(--primary);font-size:11px;border:1px solid color-mix(in srgb,var(--primary) 15%,transparent);flex-shrink:0}.variables-section[data-v-8577d9ed]{flex:1;display:flex;flex-direction:column;overflow:hidden}.variables-toolbar[data-v-8577d9ed]{display:flex;align-items:center;padding:10px 20px;border-bottom:1px solid var(--border);gap:12px}.variables-title[data-v-8577d9ed]{font-size:13px;font-weight:500;color:var(--text);flex-shrink:0}.variable-count[data-v-8577d9ed]{color:var(--text-secondary);margin-left:2px}.variables-toolbar-actions[data-v-8577d9ed]{display:flex;align-items:center;gap:8px;flex:1}.variables-search[data-v-8577d9ed]{display:flex;align-items:center;gap:6px;flex:1;max-width:300px;margin-left:auto}.variables-search svg[data-v-8577d9ed]{flex-shrink:0;color:var(--text-secondary);opacity:.5}.search-input[data-v-8577d9ed]{width:100%;padding:5px 8px;border:1px solid var(--border);border-radius:6px;font-size:12px;background:var(--surface);color:var(--text);outline:none;transition:border-color .15s}.search-input[data-v-8577d9ed]:focus{border-color:var(--primary)}.search-input[data-v-8577d9ed]::placeholder{color:var(--text-secondary);opacity:.6}.table-wrapper[data-v-8577d9ed]{flex:1;overflow:auto}.data-table[data-v-8577d9ed]{width:100%;border-collapse:collapse}.data-table th[data-v-8577d9ed]{position:sticky;top:0;background:var(--background);text-align:left;padding:8px 16px;font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid var(--border);white-space:nowrap}.data-table td[data-v-8577d9ed]{padding:7px 16px;font-size:13px;color:var(--text);border-bottom:1px solid var(--border)}.data-table tr:hover td[data-v-8577d9ed]{background:#ffffff05}.col-order[data-v-8577d9ed]{width:40px;color:var(--text-secondary);text-align:center}.col-name[data-v-8577d9ed]{font-weight:500}.col-address code[data-v-8577d9ed]{font-size:12px;background:#0000000a;padding:2px 6px;border-radius:3px;color:var(--text)}.col-scanrate[data-v-8577d9ed],.col-unit[data-v-8577d9ed]{color:var(--text-secondary);font-size:12px}.col-desc[data-v-8577d9ed]{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-muted[data-v-8577d9ed]{color:var(--text-secondary);font-size:12px}.badge[data-v-8577d9ed]{padding:2px 8px;border-radius:4px;background:color-mix(in srgb,var(--primary) 8%,transparent);color:var(--primary);font-size:11px;font-weight:500;white-space:nowrap}.badge-read[data-v-8577d9ed]{background:color-mix(in srgb,var(--text-secondary) 10%,transparent);color:var(--text-secondary)}.badge-write[data-v-8577d9ed]{display:inline-flex;align-items:center;gap:4px;background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary)}.col-direction[data-v-8577d9ed]{white-space:nowrap}.col-enabled[data-v-8577d9ed]{text-align:center;width:50px}.enabled-dot[data-v-8577d9ed]{display:inline-block;width:8px;height:8px;border-radius:50%;background:color-mix(in srgb,var(--text-secondary) 40%,transparent);transition:background .2s}.enabled-dot.active[data-v-8577d9ed]{background:var(--status-success);box-shadow:0 0 4px var(--status-success)}.empty-state[data-v-8577d9ed]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-secondary);gap:12px}.empty-state p[data-v-8577d9ed]{font-size:14px;margin:0}.empty-variables[data-v-8577d9ed]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 20px;color:var(--text-secondary);gap:8px}.empty-variables p[data-v-8577d9ed]{margin:0;font-size:13px}.tb-btn[title][data-v-8577d9ed]:not(:disabled):hover:after,.btn-icon[title][data-v-8577d9ed]:hover:after{content:attr(title);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);padding:4px 10px;border-radius:6px;background:var(--text);color:var(--background);font-size:11px;font-weight:500;white-space:nowrap;pointer-events:none;z-index:100;box-shadow:0 2px 8px #0000004d;animation:tooltipFadeIn-8577d9ed .15s ease-out}.tb-btn[title][data-v-8577d9ed]:not(:disabled):hover:before,.btn-icon[title][data-v-8577d9ed]:hover:before{content:"";position:absolute;bottom:calc(100% + 2px);left:50%;transform:translate(-50%);border:4px solid transparent;border-top-color:var(--text);pointer-events:none;z-index:100}@keyframes tooltipFadeIn-8577d9ed{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes spin-8577d9ed{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinning[data-v-8577d9ed]{animation:spin-8577d9ed 1s linear infinite}.modal-overlay[data-v-8577d9ed]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#00000080;display:flex;align-items:center;justify-content:center}.modal[data-v-8577d9ed]{background:var(--surface);border-radius:10px;width:640px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 12px 40px #00000059,0 4px 12px #00000026}.modal-lg[data-v-8577d9ed]{width:680px}.modal-sm[data-v-8577d9ed]{width:400px}.modal-header[data-v-8577d9ed]{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid rgba(128,128,128,.15);background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 3%,transparent) 0%,transparent 100%);border-radius:10px 10px 0 0}.modal-header h2[data-v-8577d9ed]{margin:0;font-size:14px;font-weight:700;letter-spacing:.3px}.modal-close[data-v-8577d9ed]{background:none;border:none;font-size:22px;cursor:pointer;color:var(--text-secondary);width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .15s ease;padding:0;line-height:1}.modal-close[data-v-8577d9ed]:hover{color:var(--status-error);background:color-mix(in srgb,var(--status-error) 8%,transparent)}.edit-section[data-v-8577d9ed]{margin-bottom:12px;padding:12px 14px 10px;border-radius:8px;background:var(--bg-secondary, rgba(0,0,0,.025));border:1px solid rgba(128,128,128,.15)}.edit-section[data-v-8577d9ed]:nth-child(2n){background:color-mix(in srgb,var(--primary) 2%,transparent);border-color:color-mix(in srgb,var(--primary) 10%,transparent)}.edit-section[data-v-8577d9ed]:last-child{margin-bottom:0}.form-hint[data-v-8577d9ed]{margin-top:4px;font-size:11px;color:var(--text-tertiary, #8a8f98);line-height:1.5}.form-hint-code[data-v-8577d9ed]{display:inline-block;margin-right:6px;padding:0 4px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11px;background:#7f7f7f1f;border-radius:3px}.slot-bindings[data-v-8577d9ed]{margin-top:4px}.slot-row[data-v-8577d9ed]{display:grid;grid-template-columns:120px 1fr;gap:8px;align-items:center;margin-bottom:6px}.slot-key[data-v-8577d9ed]{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;color:var(--primary);background:#409eff14;border-radius:3px;padding:3px 6px;text-align:center}.slot-cascade[data-v-8577d9ed]{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.slot-ref-hint[data-v-8577d9ed]{grid-column:1 / -1;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11px;color:var(--text-tertiary, #8a8f98);padding-left:2px}.cron-preset-row[data-v-8577d9ed]{display:flex;flex-wrap:wrap;gap:6px}.cron-preset-btn[data-v-8577d9ed]{padding:4px 10px;font-size:12px;border:1px solid var(--border);border-radius:4px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s}.cron-preset-btn[data-v-8577d9ed]:hover{background:#ffffff0a;color:var(--text)}.cron-preset-btn.active[data-v-8577d9ed]{border-color:var(--primary, #3b82f6);color:var(--primary, #3b82f6)}.form-hint-error[data-v-8577d9ed]{color:var(--danger, #ef4444)}.calc-schedule-warn[data-v-8577d9ed]{color:var(--status-warning, #f59e0b)}.badge-calc[data-v-8577d9ed]{margin-left:6px;background:#409eff26;color:var(--primary);border:1px solid rgba(64,158,255,.35);font-size:10px;padding:1px 5px}.calc-expr[data-v-8577d9ed]{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px}.edit-section-title[data-v-8577d9ed]{font-size:11px;font-weight:700;color:var(--text);margin-bottom:10px;padding-left:10px;border-left:3px solid var(--primary);line-height:1.4;letter-spacing:.5px;opacity:.9}.form-grid.cols-2[data-v-8577d9ed]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px 16px;align-items:start}.checkbox-label[data-v-8577d9ed]{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:500;cursor:pointer;-webkit-user-select:none;user-select:none;padding:6px 10px;border-radius:6px;border:1px solid rgba(128,128,128,.2);background:linear-gradient(135deg,var(--surface) 0%,rgba(0,0,0,.01) 100%);transition:all .15s ease;height:32px;box-sizing:border-box}.checkbox-label[data-v-8577d9ed]:hover{border-color:var(--primary);background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 6%,transparent),color-mix(in srgb,var(--primary) 2%,transparent));box-shadow:0 1px 4px color-mix(in srgb,var(--primary) 10%,transparent)}.checkbox-label .form-checkbox[data-v-8577d9ed]{width:14px;height:14px;cursor:pointer;accent-color:var(--primary);flex-shrink:0}.modal-body[data-v-8577d9ed]{padding:16px 20px;overflow-y:auto;overflow-x:hidden;flex:1}.modal-footer[data-v-8577d9ed]{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid rgba(128,128,128,.15);background:linear-gradient(180deg,transparent 0%,color-mix(in srgb,var(--primary) 2%,transparent) 100%);border-radius:0 0 10px 10px}.form-grid[data-v-8577d9ed]{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-group[data-v-8577d9ed]{display:flex;flex-direction:column;gap:4px}.form-group.full-width[data-v-8577d9ed]{grid-column:1 / -1}.form-group label[data-v-8577d9ed]{font-size:11px;font-weight:600;color:var(--text-secondary);white-space:nowrap;line-height:1.2}.required[data-v-8577d9ed]{color:var(--status-error)}.form-input[data-v-8577d9ed]{padding:7px 10px;border:1px solid rgba(128,128,128,.25);border-radius:6px;background:var(--background);color:var(--text);font-size:12px;outline:none;transition:all .15s ease}.form-input[data-v-8577d9ed]:focus{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 12%,transparent),inset 0 1px 2px #00000008}.form-input[data-v-8577d9ed]:hover:not(:focus){border-color:#80808066}select.form-input[data-v-8577d9ed]{cursor:pointer}.form-input[data-v-8577d9ed]::placeholder{color:var(--text-secondary);opacity:.5}.form-textarea[data-v-8577d9ed]{resize:vertical;font-family:monospace;font-size:12px}.btn[data-v-8577d9ed]{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;border-radius:6px;border:none;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease;letter-spacing:.2px}.btn[data-v-8577d9ed]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-8577d9ed]{background:linear-gradient(135deg,var(--primary) 0%,color-mix(in srgb,var(--primary) 75%,black) 100%);color:var(--text);box-shadow:0 1px 4px color-mix(in srgb,var(--primary) 30%,transparent)}.btn-primary[data-v-8577d9ed]:hover{box-shadow:0 2px 8px color-mix(in srgb,var(--primary) 40%,transparent);transform:translateY(-1px)}.btn-primary[data-v-8577d9ed]:active{transform:translateY(0);box-shadow:0 1px 3px color-mix(in srgb,var(--primary) 20%,transparent)}.btn-primary[data-v-8577d9ed]:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn-secondary[data-v-8577d9ed]{background:#80808014;color:var(--text);border:1px solid rgba(128,128,128,.2)}.btn-secondary[data-v-8577d9ed]:hover{background:#80808026;border-color:#8080804d}.btn-sm[data-v-8577d9ed]{padding:5px 10px;font-size:12px}.btn-icon[data-v-8577d9ed]{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s}.btn-icon[data-v-8577d9ed]:hover{background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--primary)}.col-actions[data-v-8577d9ed]{width:40px;text-align:center;white-space:nowrap}.context-menu-overlay[data-v-8577d9ed]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200}.context-menu-panel[data-v-8577d9ed]{position:fixed;min-width:160px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 20px #0000004d;padding:4px;z-index:201}.context-item[data-v-8577d9ed]{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:6px;font-size:13px;color:var(--text);cursor:pointer;transition:all .1s}.context-item[data-v-8577d9ed]:hover{background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--primary)}.context-danger[data-v-8577d9ed]:hover{background:color-mix(in srgb,var(--status-error) 10%,transparent);color:var(--status-error)}.context-divider[data-v-8577d9ed]{height:1px;background:var(--border);margin:4px 8px}.import-result[data-v-8577d9ed]{margin-top:12px}.alert[data-v-8577d9ed]{padding:10px 14px;border-radius:6px;font-size:13px}.alert-success[data-v-8577d9ed]{background:color-mix(in srgb,var(--status-online) 10%,transparent);color:var(--status-online);border:1px solid color-mix(in srgb,var(--status-online) 30%,transparent)}.alert-warning[data-v-8577d9ed]{background:color-mix(in srgb,var(--status-warning) 10%,transparent);color:var(--status-warning);border:1px solid color-mix(in srgb,var(--status-warning) 30%,transparent)}.protocol-config-title[data-v-8577d9ed]{display:flex;align-items:center;justify-content:space-between;gap:12px}.protocol-config-label[data-v-8577d9ed]{display:inline-flex;align-items:center;gap:8px}.protocol-config-actions[data-v-8577d9ed]{display:inline-flex;align-items:center;gap:12px}.protocol-config-size[data-v-8577d9ed]{margin-top:6px;font-size:12px;text-align:right}.protocol-badge[data-v-8577d9ed]{padding:1px 6px;border-radius:4px;background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary);font-size:11px;font-family:monospace}.link-btn[data-v-8577d9ed]{background:none;border:none;padding:0;color:var(--primary);font-size:12px;cursor:pointer}.link-btn[data-v-8577d9ed]:hover{text-decoration:underline}.protocol-config-json[data-v-8577d9ed]{width:100%;font-family:monospace;font-size:12px;line-height:1.5;resize:vertical;box-sizing:border-box}.protocol-config-degrade[data-v-8577d9ed]{color:var(--status-warning)}.field-unsupported[data-v-8577d9ed]{margin-left:6px;font-size:11px;font-weight:400;color:var(--text-secondary)}.canvas-template-admin[data-v-67215928]{padding:20px;height:100%;display:flex;flex-direction:column}.template-count[data-v-67215928]{font-size:13px;color:var(--text-secondary, #999)}.admin-loading[data-v-67215928],.admin-empty[data-v-67215928]{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-secondary, #999);font-size:14px}.col-icon[data-v-67215928]{width:40px;text-align:center}.col-name[data-v-67215928]{min-width:160px}.col-category[data-v-67215928]{width:100px}.col-size[data-v-67215928]{width:120px;white-space:nowrap}.col-source[data-v-67215928]{width:80px}.col-graphics[data-v-67215928]{width:60px;text-align:center}.col-file[data-v-67215928]{min-width:220px}.col-actions[data-v-67215928]{width:130px;text-align:center}.tpl-file[data-v-67215928]{display:inline-block;max-width:100%;font-family:Consolas,Menlo,monospace;font-size:12px;color:var(--text-secondary, #666);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}.actions-group[data-v-67215928]{display:flex;gap:4px;justify-content:center}.tpl-icon[data-v-67215928]{font-size:18px}.tpl-name[data-v-67215928]{font-weight:500;margin-bottom:2px}.tpl-desc[data-v-67215928]{font-size:11px;color:var(--text-secondary, #999);max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tpl-tag[data-v-67215928]{display:inline-block;padding:1px 8px;font-size:11px;background:var(--elevated, #f0f0f0);border-radius:10px;color:var(--text-secondary, #666)}.source-badge[data-v-67215928]{display:inline-block;padding:1px 8px;font-size:11px;border-radius:10px;color:#fff}.source-builtin[data-v-67215928]{background:#409eff}.source-user[data-v-67215928]{background:#67c23a}.source-market[data-v-67215928]{background:#e6a23c}.action-btn[data-v-67215928]{padding:4px 10px;font-size:12px;border:1px solid var(--border, #d0d0d0);border-radius:4px;background:transparent;color:var(--text, #333);cursor:pointer;transition:all .15s}.action-btn[data-v-67215928]:hover:not(:disabled){border-color:var(--primary, #409EFF);color:var(--primary, #409EFF)}.action-btn[data-v-67215928]:disabled{opacity:.35;cursor:not-allowed}.action-btn-edit[data-v-67215928]{color:var(--primary, #409EFF);border-color:var(--primary, #409EFF)}.action-btn-edit[data-v-67215928]:hover:not(:disabled){background:var(--primary, #409EFF);color:#fff}.action-btn-danger[data-v-67215928]:hover:not(:disabled){border-color:var(--status-error, #F56C6C);color:var(--status-error, #F56C6C)}.lted-mask[data-v-ddb03daa]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1100}.lted-modal[data-v-ddb03daa]{width:520px;max-height:86vh;overflow-y:auto;padding:20px;border-radius:8px;background:var(--background, #fff);box-shadow:var(--shadow-large, 0 8px 24px rgba(0, 0, 0, .2))}.lted-modal h3[data-v-ddb03daa]{margin:0 0 14px;font-size:16px;color:var(--text, #333)}.lted-modal label[data-v-ddb03daa]{display:block;margin:10px 0 4px;font-size:13px;color:var(--text-secondary, #666)}.lted-input[data-v-ddb03daa]{width:100%;padding:7px 10px;border:1px solid var(--border, #d9d9d9);border-radius:4px;background:var(--background, #fff);color:var(--text, #333);font-size:13px;box-sizing:border-box}.lted-row[data-v-ddb03daa]{display:flex;gap:8px}.lted-color[data-v-ddb03daa]{width:48px;padding:2px}.lted-section[data-v-ddb03daa]{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding-top:12px;border-top:1px solid var(--border, #eee);font-size:13px;font-weight:600;color:var(--text, #333)}.lted-mini[data-v-ddb03daa]{padding:2px 8px;border:1px solid var(--border, #d9d9d9);border-radius:4px;background:var(--background, #fff);color:var(--text, #333);font-size:12px;cursor:pointer}.lted-mini.danger[data-v-ddb03daa]{color:var(--status-error, #cf1322);border-color:#ef444459}.lted-region[data-v-ddb03daa]{display:flex;align-items:center;gap:6px;margin-top:8px}.lted-region-name[data-v-ddb03daa]{flex:1;min-width:90px}.lted-num[data-v-ddb03daa]{width:62px;flex:none}.lted-lock[data-v-ddb03daa]{display:flex;align-items:center;gap:3px;margin:0;font-size:12px;white-space:nowrap;color:var(--text-secondary, #666)}.lted-empty[data-v-ddb03daa]{padding:8px 0;font-size:12px;color:var(--text-secondary, #999)}.lted-actions[data-v-ddb03daa]{display:flex;justify-content:flex-end;gap:8px;margin-top:20px;padding-top:14px;border-top:1px solid var(--border, #eee)}.col-name[data-v-7b6511f4]{min-width:160px}.col-category[data-v-7b6511f4],.col-source[data-v-7b6511f4]{width:100px}.col-updated[data-v-7b6511f4]{width:160px;white-space:nowrap}.col-file[data-v-7b6511f4]{min-width:220px}.col-actions[data-v-7b6511f4]{width:280px;text-align:right}.tpl-file[data-v-7b6511f4]{display:inline-block;max-width:100%;font-family:Consolas,Menlo,monospace;font-size:12px;color:var(--text-secondary, #666);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}.row-actions[data-v-7b6511f4]{display:flex;justify-content:flex-end;gap:6px}.tpl-name[data-v-7b6511f4]{font-weight:500;margin-bottom:2px}.admin-empty-cell[data-v-7b6511f4]{text-align:center;color:var(--text-secondary, #999);padding:40px 0}.wted-mask[data-v-d28e1042]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1100}.wted-modal[data-v-d28e1042]{width:620px;max-width:94vw;max-height:86vh;overflow-y:auto;padding:20px;border-radius:8px;background:var(--background, #fff);box-shadow:var(--shadow-large, 0 8px 24px rgba(0, 0, 0, .2))}.wted-modal h3[data-v-d28e1042]{margin:0 0 14px;font-size:16px;color:var(--text, #333)}.wted-modal label[data-v-d28e1042]{display:block;margin:10px 0 4px;font-size:13px;color:var(--text-secondary, #666)}.wted-input[data-v-d28e1042]{width:100%;padding:7px 10px;border:1px solid var(--border, #d9d9d9);border-radius:4px;background:var(--background, #fff);color:var(--text, #333);font-size:13px;box-sizing:border-box}.wted-section[data-v-d28e1042]{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding-top:12px;border-top:1px solid var(--border, #eee);font-size:13px;font-weight:600;color:var(--text, #333)}.wted-mini[data-v-d28e1042]{padding:2px 8px;border:1px solid var(--border, #d9d9d9);border-radius:4px;background:var(--background, #fff);color:var(--text, #333);font-size:12px;cursor:pointer}.wted-mini.danger[data-v-d28e1042]{color:var(--status-error, #cf1322);border-color:#ef444459}.wted-var[data-v-d28e1042]{display:flex;align-items:center;gap:6px;margin-top:8px}.wted-var-key[data-v-d28e1042]{width:108px;flex:none}.wted-var-label[data-v-d28e1042]{flex:1;min-width:90px}.wted-var-type[data-v-d28e1042]{width:96px;flex:none}.wted-var-default[data-v-d28e1042]{width:108px;flex:none}.wted-empty[data-v-d28e1042]{padding:8px 0;font-size:12px;color:var(--text-secondary, #999)}.wted-actions[data-v-d28e1042]{display:flex;justify-content:flex-end;gap:8px;margin-top:20px;padding-top:14px;border-top:1px solid var(--border, #eee)}.col-name[data-v-80962b7b]{min-width:160px}.col-category[data-v-80962b7b],.col-source[data-v-80962b7b]{width:100px}.col-updated[data-v-80962b7b]{width:160px;white-space:nowrap}.col-file[data-v-80962b7b]{min-width:220px}.col-actions[data-v-80962b7b]{width:280px;text-align:right}.tpl-file[data-v-80962b7b]{display:inline-block;max-width:100%;font-family:Consolas,Menlo,monospace;font-size:12px;color:var(--text-secondary, #666);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}.row-actions[data-v-80962b7b]{display:flex;justify-content:flex-end;gap:6px}.tpl-name[data-v-80962b7b]{font-weight:500;margin-bottom:2px}.admin-empty-cell[data-v-80962b7b]{text-align:center;color:var(--text-secondary, #999);padding:40px 0}.plugin-list[data-v-95d301cd]{height:100%;display:flex;flex-direction:column;overflow:hidden}.page-header[data-v-95d301cd]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;flex-shrink:0}.header-left[data-v-95d301cd]{display:flex;align-items:baseline;gap:12px}.header-actions[data-v-95d301cd]{display:flex;gap:8px}.page-title[data-v-95d301cd]{font-size:22px;font-weight:700;color:var(--text);margin:0}.plugin-count[data-v-95d301cd]{font-size:14px;color:var(--text-secondary)}.filter-bar[data-v-95d301cd]{display:flex;align-items:center;gap:16px;padding:0 24px 16px;flex-shrink:0}.filter-group[data-v-95d301cd]{display:flex;align-items:center;gap:8px}.filter-label[data-v-95d301cd]{font-size:13px;color:var(--text-secondary);white-space:nowrap}.filter-select[data-v-95d301cd]{padding:6px 28px 6px 10px;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:13px;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 6px center;background-repeat:no-repeat;background-size:18px;cursor:pointer}.filter-select option[data-v-95d301cd]{background:var(--background);color:var(--text)}.sys-health-status[data-v-95d301cd]{margin-left:auto}.loading-state[data-v-95d301cd],.error-state[data-v-95d301cd],.empty-state[data-v-95d301cd]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:var(--text-secondary);gap:12px;flex:1}.empty-state h3[data-v-95d301cd]{font-size:18px;color:var(--text);margin:0}.empty-state p[data-v-95d301cd]{margin:0;font-size:14px}.spinner[data-v-95d301cd]{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin-95d301cd .8s linear infinite}@keyframes spin-95d301cd{to{transform:rotate(360deg)}}.plugin-grid[data-v-95d301cd]{flex:1;overflow-y:auto;padding:0 24px 24px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-content:start}@media (max-width: 1400px){.plugin-grid[data-v-95d301cd]{grid-template-columns:repeat(2,1fr)}}@media (max-width: 900px){.plugin-grid[data-v-95d301cd]{grid-template-columns:1fr}}.plugin-card[data-v-95d301cd]{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px;cursor:pointer;transition:all .15s;display:flex;flex-direction:column;gap:12px}.plugin-card[data-v-95d301cd]:hover{border-color:var(--primary);box-shadow:0 4px 12px #00000026}.card-header[data-v-95d301cd]{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.card-title-row[data-v-95d301cd]{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.card-title[data-v-95d301cd]{font-size:15px;font-weight:600;color:var(--text);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.version-badge[data-v-95d301cd]{display:inline-block;padding:1px 6px;background:var(--background);border:1px solid var(--border);border-radius:4px;font-size:11px;color:var(--text-secondary);font-family:monospace;flex-shrink:0}.card-body[data-v-95d301cd]{display:flex;flex-direction:column;gap:10px}.info-grid[data-v-95d301cd]{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px}.card-info[data-v-95d301cd]{display:flex;align-items:center;gap:6px;min-width:0}.info-label[data-v-95d301cd]{font-size:11px;color:var(--text-secondary);flex-shrink:0}.info-value[data-v-95d301cd]{font-size:12px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-tag[data-v-95d301cd]{display:inline-block;padding:1px 6px;background:var(--background);border:1px solid var(--border);border-radius:4px;font-size:11px;color:var(--text-secondary);flex-shrink:0}.stats-section[data-v-95d301cd]{display:flex;flex-direction:column;gap:6px;padding:8px;background:var(--background);border-radius:8px}.card-metrics[data-v-95d301cd]{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.metric-item[data-v-95d301cd]{display:flex;flex-direction:column;align-items:center;gap:2px}.metric-value[data-v-95d301cd]{font-size:14px;font-weight:600;color:var(--text)}.metric-label[data-v-95d301cd]{font-size:10px;color:var(--text-secondary);text-align:center}.device-stats-row[data-v-95d301cd]{display:flex;gap:8px;padding-top:6px;border-top:1px solid var(--border)}.device-stat-item[data-v-95d301cd]{display:flex;align-items:center;gap:4px;flex:1}.device-stat-label[data-v-95d301cd]{font-size:11px;color:var(--text-secondary)}.device-stat-value[data-v-95d301cd]{font-size:13px;font-weight:600;color:var(--text);margin-left:auto}.card-actions[data-v-95d301cd]{display:flex;align-items:center;gap:6px;padding-top:8px;border-top:1px solid var(--border)}.card-actions .sys-btn[data-v-95d301cd]{flex-shrink:0}.actions-more[data-v-95d301cd]{position:relative;margin-left:auto}.more-dropdown[data-v-95d301cd]{position:absolute;right:0;bottom:100%;margin-bottom:4px;min-width:140px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 16px #0003;z-index:10;overflow:hidden}.dropdown-item[data-v-95d301cd]{display:block;width:100%;padding:8px 12px;background:none;border:none;border-bottom:1px solid var(--border);color:var(--text);font-size:13px;text-align:left;cursor:pointer;transition:background .1s}.dropdown-item[data-v-95d301cd]:last-child{border-bottom:none}.dropdown-item[data-v-95d301cd]:hover{background:var(--background)}.plugin-detail[data-v-e43ab085]{padding:20px 24px 32px;max-width:1000px;margin:0 auto}.page-header[data-v-e43ab085]{margin-bottom:20px}.loading-state[data-v-e43ab085],.error-state[data-v-e43ab085],.empty-state[data-v-e43ab085]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:var(--text-secondary);gap:12px}.spinner[data-v-e43ab085]{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin-e43ab085 .8s linear infinite}@keyframes spin-e43ab085{to{transform:rotate(360deg)}}.plugin-info-panel[data-v-e43ab085]{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:20px 24px;margin-bottom:20px}.info-header[data-v-e43ab085]{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px}.info-title[data-v-e43ab085]{display:flex;align-items:center;gap:12px}.info-title h2[data-v-e43ab085]{font-size:20px;font-weight:600;color:var(--text);margin:0}.info-actions[data-v-e43ab085]{display:flex;gap:8px}.version-badge[data-v-e43ab085]{display:inline-block;padding:1px 6px;background:var(--background);border:1px solid var(--border);border-radius:4px;font-size:11px;color:var(--text-secondary);font-family:monospace}.info-grid[data-v-e43ab085]{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.info-item[data-v-e43ab085]{display:flex;flex-direction:column;gap:4px}.info-label[data-v-e43ab085]{font-size:11px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.info-value[data-v-e43ab085]{font-size:13px;color:var(--text)}.info-value.mono[data-v-e43ab085]{font-family:Courier New,monospace;font-size:12px;color:var(--primary);background:var(--background);padding:1px 6px;border-radius:3px;display:inline-block;width:fit-content}.info-tags[data-v-e43ab085]{margin-top:12px;display:flex;flex-direction:column;gap:6px}.tags-list[data-v-e43ab085]{display:flex;flex-wrap:wrap;gap:6px}.tag-item[data-v-e43ab085]{display:inline-block;padding:2px 10px;background:var(--background);border:1px solid var(--border);border-radius:4px;font-size:12px;color:var(--text-secondary)}.status-panel[data-v-e43ab085],.schema-panel[data-v-e43ab085],.default-connection-panel[data-v-e43ab085],.data-types-panel[data-v-e43ab085],.metrics-panel[data-v-e43ab085],.config-panel[data-v-e43ab085]{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:20px 24px;margin-bottom:20px}.section-title[data-v-e43ab085]{font-size:16px;font-weight:600;color:var(--text);margin:0 0 14px}.status-grid[data-v-e43ab085]{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.status-item[data-v-e43ab085]{display:flex;flex-direction:column;gap:4px}.status-label[data-v-e43ab085]{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.status-value[data-v-e43ab085]{font-size:16px;font-weight:600;color:var(--text)}.json-block[data-v-e43ab085]{background:var(--background);border:1px solid var(--border);border-radius:8px;padding:14px 16px;font-family:Courier New,monospace;font-size:12px;color:var(--text);overflow-x:auto;white-space:pre;margin:0;line-height:1.6}.metrics-grid[data-v-e43ab085]{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.metric-item[data-v-e43ab085]{display:flex;flex-direction:column;gap:4px;padding:10px 14px;background:var(--background);border-radius:8px}.metric-label[data-v-e43ab085]{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.metric-value[data-v-e43ab085]{font-size:18px;font-weight:600;color:var(--text)}.config-grid[data-v-e43ab085]{display:flex;flex-direction:column;gap:16px}.config-item[data-v-e43ab085]{display:flex;flex-direction:column;gap:8px}.config-label[data-v-e43ab085]{font-size:13px;font-weight:500;color:var(--text)}.config-control-row[data-v-e43ab085]{display:flex;align-items:center;gap:10px}.config-select[data-v-e43ab085]{padding:6px 12px;background:var(--background);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:13px;min-width:180px;cursor:pointer;outline:none}.config-select[data-v-e43ab085]:focus{border-color:var(--primary);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.2)}.config-hint[data-v-e43ab085]{font-size:11px;color:var(--text-secondary);margin:0;line-height:1.5}.plugin-monitor[data-v-8ba639ea]{padding:20px 24px 32px;max-width:1100px;margin:0 auto}.page-header[data-v-8ba639ea]{display:flex;align-items:center;gap:12px;margin-bottom:20px}.loading-state[data-v-8ba639ea],.error-state[data-v-8ba639ea]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:var(--text-secondary);gap:12px}.spinner[data-v-8ba639ea]{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin-8ba639ea .8s linear infinite}@keyframes spin-8ba639ea{to{transform:rotate(360deg)}}.info-panel[data-v-8ba639ea],.log-panel[data-v-8ba639ea]{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:20px 24px;margin-bottom:20px}.dashboard-row[data-v-8ba639ea]{display:grid;grid-template-columns:1fr 1.5fr;gap:20px;margin-bottom:20px}.dashboard-row .device-panel[data-v-8ba639ea],.dashboard-row .process-panel[data-v-8ba639ea]{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:20px 24px;margin-bottom:0}.info-header[data-v-8ba639ea]{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px}.info-title[data-v-8ba639ea]{display:flex;align-items:center;gap:12px}.info-title h2[data-v-8ba639ea]{font-size:20px;font-weight:600;color:var(--text);margin:0}.version-badge[data-v-8ba639ea]{display:inline-block;padding:1px 6px;background:var(--background);border:1px solid var(--border);border-radius:4px;font-size:11px;color:var(--text-secondary);font-family:monospace}.info-grid[data-v-8ba639ea]{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.info-item[data-v-8ba639ea]{display:flex;flex-direction:column;gap:4px}.info-label[data-v-8ba639ea]{font-size:11px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.info-value[data-v-8ba639ea]{font-size:13px;color:var(--text)}.info-value.mono[data-v-8ba639ea]{font-family:Courier New,monospace;font-size:12px;color:var(--primary);background:var(--background);padding:1px 6px;border-radius:3px;display:inline-block;width:fit-content}.section-title[data-v-8ba639ea]{font-size:16px;font-weight:600;color:var(--text);margin:0 0 14px}.device-stats-grid[data-v-8ba639ea]{display:flex;flex-direction:column;gap:10px}.device-stat-card[data-v-8ba639ea]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--background);border-radius:8px;border:1px solid var(--border)}.device-stat-card.online[data-v-8ba639ea]{border-color:rgba(var(--status-success-rgb),.3)}.device-stat-card.offline[data-v-8ba639ea]{border-color:rgba(var(--text-secondary-rgb),.3)}.device-stat-card.error[data-v-8ba639ea]{border-color:rgba(var(--status-error-rgb),.3)}.device-stat-label[data-v-8ba639ea]{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.device-stat-value[data-v-8ba639ea]{font-size:20px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:8px}.process-info-row[data-v-8ba639ea]{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 16px;margin-bottom:14px;padding:14px 16px;background:var(--background);border-radius:8px;border:1px solid var(--border)}.process-info-item[data-v-8ba639ea]{display:flex;flex-direction:column;gap:4px}.process-info-label[data-v-8ba639ea]{font-size:11px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.process-info-value[data-v-8ba639ea]{font-size:14px;font-weight:600;color:var(--text)}.process-info-value.mono[data-v-8ba639ea]{font-family:Courier New,monospace}.process-grid[data-v-8ba639ea]{display:flex;flex-direction:column;gap:14px}.process-item[data-v-8ba639ea]{display:flex;flex-direction:column;gap:6px}.process-label[data-v-8ba639ea]{font-size:12px;color:var(--text-secondary)}.progress-bar[data-v-8ba639ea]{height:8px;background:var(--background);border-radius:4px;overflow:hidden}.progress-fill[data-v-8ba639ea]{height:100%;border-radius:4px;transition:width .4s ease}.progress-fill.heap[data-v-8ba639ea]{background:var(--primary)}.progress-fill.rss[data-v-8ba639ea]{background:var(--status-info)}.progress-fill.cpu[data-v-8ba639ea]{background:var(--status-warning)}.process-value[data-v-8ba639ea]{font-size:13px;font-weight:500;color:var(--text)}.log-header[data-v-8ba639ea]{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.log-actions[data-v-8ba639ea]{display:flex;gap:8px}.log-tabs[data-v-8ba639ea]{display:flex;gap:4px;margin-bottom:10px;border-bottom:1px solid var(--border)}.log-tab[data-v-8ba639ea]{background:none;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:13px;padding:6px 14px;cursor:pointer}.log-tab[data-v-8ba639ea]:hover{color:var(--text)}.log-tab.active[data-v-8ba639ea]{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.log-container[data-v-8ba639ea]{background:var(--background);border:1px solid var(--border);border-radius:8px;max-height:420px;overflow-y:auto;font-family:Courier New,monospace;font-size:12px;line-height:1.7}.log-empty[data-v-8ba639ea]{padding:40px 16px;text-align:center;color:var(--text-secondary)}.log-entry[data-v-8ba639ea]{display:flex;gap:8px;padding:3px 12px;border-bottom:1px solid var(--border);align-items:baseline}.log-entry[data-v-8ba639ea]:hover{background:rgba(var(--primary-rgb),.05)}.log-line-num[data-v-8ba639ea]{color:var(--text-secondary);width:32px;text-align:right;opacity:.6;flex-shrink:0}.log-timestamp[data-v-8ba639ea]{color:var(--text-secondary);width:85px;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-level[data-v-8ba639ea]{width:48px;font-weight:600;flex-shrink:0}.level-info[data-v-8ba639ea]{color:var(--status-info)}.level-warn[data-v-8ba639ea]{color:var(--status-warning)}.level-error[data-v-8ba639ea]{color:var(--status-error)}.level-debug[data-v-8ba639ea]{color:var(--text-secondary)}.log-message[data-v-8ba639ea]{color:var(--text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-path-hint[data-v-8ba639ea]{margin-top:10px;display:flex;gap:8px;font-size:12px}.log-file-label[data-v-8ba639ea]{color:var(--text-secondary);flex-shrink:0}.log-file-path[data-v-8ba639ea]{color:var(--text);opacity:.7;word-break:break-all}.log-file-path.mono[data-v-8ba639ea]{font-family:Courier New,monospace}.pm-preview[data-v-428bddd2]{position:relative;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:6px;background:transparent;overflow:hidden}.pm-preview-stage-wrap[data-v-428bddd2]{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.pm-preview-loading[data-v-428bddd2],.pm-preview-fallback[data-v-428bddd2]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:8px;text-align:center}.pm-preview-spinner[data-v-428bddd2]{width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:pm-preview-spin-428bddd2 .8s linear infinite}@keyframes pm-preview-spin-428bddd2{to{transform:rotate(360deg)}}.pm-preview-canvas[data-v-428bddd2]{display:block}.pm-preview-icon[data-v-428bddd2]{max-width:72px;max-height:72px;object-fit:contain}.pm-preview-icon-placeholder[data-v-428bddd2]{font-size:28px;color:var(--text-tertiary)}.pm-preview-tip[data-v-428bddd2]{font-size:11px;line-height:1.4;color:var(--text-tertiary)}.plugin-manager[data-v-c5725ce6]{display:flex;flex-direction:column;height:100%;background-color:var(--background);color:var(--text)}.pm-header[data-v-c5725ce6]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);background-color:var(--surface)}.pm-header-left[data-v-c5725ce6],.pm-header-right[data-v-c5725ce6]{display:flex;align-items:center;gap:8px}.pm-title[data-v-c5725ce6]{margin:0;font-size:16px;font-weight:600}.pm-mode-badge[data-v-c5725ce6]{padding:2px 8px;border-radius:10px;font-size:12px;border:1px solid var(--border)}.pm-mode-badge--pro[data-v-c5725ce6]{background-color:var(--primary);color:#fff;border-color:var(--primary)}.pm-mode-badge--dev[data-v-c5725ce6]{background-color:var(--surface);color:var(--text-secondary)}.pm-updated[data-v-c5725ce6]{font-size:12px;color:var(--text-tertiary)}.pm-warning[data-v-c5725ce6]{padding:8px 16px;font-size:12px;color:var(--status-warning, #faad14);background-color:var(--surface);border-bottom:1px solid var(--border)}.pm-body[data-v-c5725ce6]{display:flex;flex:1;min-height:0}.pm-sidebar[data-v-c5725ce6]{width:220px;flex-shrink:0;padding:12px;border-right:1px solid var(--border);overflow-y:auto}.pm-section-title[data-v-c5725ce6]{font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:8px}.pm-detail-actions[data-v-c5725ce6]{display:flex;gap:8px;margin-bottom:10px}.pm-category-list[data-v-c5725ce6]{list-style:none;margin:0;padding:0}.pm-primary-group[data-v-c5725ce6]{padding:10px 6px 4px}.pm-primary-label[data-v-c5725ce6]{font-size:11px;font-weight:600;color:var(--text-secondary, var(--text));opacity:.72;letter-spacing:.4px}.pm-category-item[data-v-c5725ce6]{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:4px;cursor:pointer;font-size:13px}.pm-category-item--readonly[data-v-c5725ce6]{cursor:default;opacity:.62}.pm-category-item[data-v-c5725ce6]:hover{background-color:var(--control-button-hover)}.pm-category-item--active[data-v-c5725ce6]{background-color:var(--primary);color:#fff}.pm-category-item--active .pm-category-meta[data-v-c5725ce6]{color:#fff}.pm-category-meta[data-v-c5725ce6]{display:flex;align-items:center;gap:8px;color:var(--text-tertiary);font-size:12px}.pm-main[data-v-c5725ce6]{flex:1;min-width:0;padding:12px;overflow-y:auto}.pm-toolbar[data-v-c5725ce6]{display:flex;align-items:center;gap:12px;margin-bottom:12px}.pm-input[data-v-c5725ce6]{padding:6px 10px;border:1px solid var(--border);border-radius:4px;background-color:var(--surface);color:var(--text);font-size:13px;min-width:200px}.pm-checkbox[data-v-c5725ce6]{display:flex;align-items:center;gap:4px;font-size:13px;color:var(--text-secondary)}.pm-grid[data-v-c5725ce6]{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.pm-card[data-v-c5725ce6]{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--border);border-radius:6px;background-color:var(--surface);cursor:pointer;transition:border-color .2s}.pm-card[data-v-c5725ce6]:hover{border-color:var(--primary)}.pm-card--selected[data-v-c5725ce6]{border-color:var(--primary);box-shadow:var(--shadow-small)}.pm-card--disabled[data-v-c5725ce6]{opacity:.55}.pm-card-icon[data-v-c5725ce6]{width:40px;height:40px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:4px;background-color:var(--background);overflow:hidden}.pm-card-icon img[data-v-c5725ce6]{width:100%;height:100%;object-fit:contain}.pm-card-icon-fallback[data-v-c5725ce6]{color:var(--text-tertiary);font-size:16px}.pm-card-info[data-v-c5725ce6]{flex:1;min-width:0}.pm-card-name[data-v-c5725ce6]{font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pm-card-version[data-v-c5725ce6]{font-size:11px;color:var(--text-tertiary);margin-top:2px}.pm-badge[data-v-c5725ce6]{margin-left:4px;padding:0 4px;border-radius:6px;font-size:10px;border:1px solid var(--border)}.pm-badge--imported[data-v-c5725ce6]{color:var(--primary);border-color:var(--primary)}.pm-switch input[data-v-c5725ce6]{cursor:pointer}.pm-detail[data-v-c5725ce6]{flex-shrink:0;padding:12px;border-left:1px solid var(--border);overflow-y:auto;min-width:0}.pm-splitter[data-v-c5725ce6]{flex-shrink:0;width:6px;cursor:col-resize;background-color:transparent;border-left:1px solid transparent;position:relative;transition:background-color .15s ease,border-color .15s ease}.pm-splitter[data-v-c5725ce6]:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2px;height:24px;border-radius:2px;background-color:transparent;transition:background-color .15s ease}.pm-splitter[data-v-c5725ce6]:hover{background-color:var(--control-button-hover);border-left-color:var(--border)}.pm-splitter[data-v-c5725ce6]:hover:after{background-color:var(--text-tertiary)}.pm-splitter[data-v-c5725ce6]:active,.pm-splitter[data-v-c5725ce6]:focus-visible{background-color:var(--control-button-active, var(--primary));outline:none}.pm-preview-box[data-v-c5725ce6]{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.pm-preview-actions[data-v-c5725ce6]{display:flex;align-items:center;gap:6px}.pm-scale-input[data-v-c5725ce6]{min-width:0;width:64px;padding:4px 6px;font-size:12px}.pm-mono[data-v-c5725ce6]{font-family:Consolas,Monaco,monospace;font-size:11px;word-break:break-all}.pm-history-box[data-v-c5725ce6]{margin-top:16px}.pm-history-toggle[data-v-c5725ce6]{display:flex;align-items:center;gap:6px;width:100%;padding:6px 8px;border:1px solid var(--border);border-radius:4px;background-color:var(--surface);color:var(--text-secondary);font-size:12px;cursor:pointer}.pm-history-toggle[data-v-c5725ce6]:hover{border-color:var(--primary)}.pm-history-caret[data-v-c5725ce6]{width:0;height:0;margin-left:auto;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--text-tertiary);transition:transform .2s}.pm-history-caret.open[data-v-c5725ce6]{transform:rotate(180deg)}.pm-history-list[data-v-c5725ce6]{list-style:none;margin:6px 0 0;padding:0;max-height:180px;overflow-y:auto}.pm-history-item[data-v-c5725ce6]{display:flex;align-items:center;gap:8px;padding:4px 8px;font-size:11px;color:var(--text-secondary)}.pm-history-at[data-v-c5725ce6]{color:var(--text-tertiary);flex-shrink:0}.pm-history-action[data-v-c5725ce6]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pm-detail-list[data-v-c5725ce6]{margin:0;display:grid;grid-template-columns:80px 1fr;gap:6px 8px;font-size:12px}.pm-detail-list dt[data-v-c5725ce6]{color:var(--text-secondary)}.pm-detail-list dd[data-v-c5725ce6]{margin:0;color:var(--text);word-break:break-all}.pm-version-box[data-v-c5725ce6]{margin-top:16px}.pm-loading[data-v-c5725ce6],.pm-empty[data-v-c5725ce6]{padding:24px;text-align:center;color:var(--text-tertiary);font-size:13px}.pm-hidden-input[data-v-c5725ce6]{display:none}.trace-overlay[data-v-816726b4]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:900}.trace-drawer[data-v-816726b4]{position:fixed;top:0;right:0;bottom:0;width:520px;max-width:92vw;display:flex;flex-direction:column;background:var(--surface);border-left:1px solid var(--border);z-index:901;box-shadow:-8px 0 24px #00000040}.drawer-header[data-v-816726b4]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.drawer-header h3[data-v-816726b4]{margin:0;font-size:16px;font-weight:600;color:var(--text)}.drawer-close[data-v-816726b4]{border:none;background:transparent;color:var(--text-secondary);font-size:16px;cursor:pointer;padding:4px 8px;border-radius:4px}.drawer-close[data-v-816726b4]:hover{background:rgba(var(--primary-rgb),.1);color:var(--text)}.drawer-body[data-v-816726b4]{flex:1;overflow-y:auto;padding:16px 20px 28px}.drawer-state[data-v-816726b4]{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px 8px;color:var(--text-secondary);font-size:13px;text-align:center}.trace-meta[data-v-816726b4]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;padding:12px 14px;background:var(--background);border:1px solid var(--border);border-radius:8px;margin-bottom:12px}.meta-item[data-v-816726b4]{display:flex;flex-direction:column;gap:2px;min-width:0}.meta-label[data-v-816726b4]{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.meta-value[data-v-816726b4]{font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meta-value.trace-id[data-v-816726b4]{font-size:11px}.final-value[data-v-816726b4]{display:flex;align-items:baseline;gap:10px;padding:10px 14px;border:1px solid rgba(var(--primary-rgb),.35);border-radius:8px;margin-bottom:16px}.final-label[data-v-816726b4]{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.final-text[data-v-816726b4]{font-size:18px;font-weight:600;color:var(--primary)}.final-quality[data-v-816726b4]{font-size:11px;color:var(--text-secondary)}.section-heading[data-v-816726b4]{margin:18px 0 8px;font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.step-list[data-v-816726b4]{display:flex;flex-direction:column;gap:8px}.step-row[data-v-816726b4]{border:1px solid var(--border);border-radius:8px;padding:10px 12px;background:var(--background)}.step-row.is-error[data-v-816726b4]{border-color:rgba(var(--status-error-rgb),.5)}.step-head[data-v-816726b4]{display:flex;align-items:center;gap:8px}.step-order[data-v-816726b4]{width:18px;font-size:11px;color:var(--text-secondary);text-align:center}.step-name[data-v-816726b4]{font-size:13px;font-weight:600;color:var(--primary)}.step-duration[data-v-816726b4]{margin-left:auto;font-size:12px;color:var(--text-secondary)}.step-flag.error[data-v-816726b4]{font-size:11px;font-weight:600;color:var(--status-error)}.step-values[data-v-816726b4]{margin-top:8px;display:flex;flex-direction:column;gap:3px}.value-item[data-v-816726b4]{display:flex;align-items:baseline;gap:8px;font-size:12px}.value-label[data-v-816726b4]{min-width:68px;color:var(--text-secondary)}.value-text[data-v-816726b4]{color:var(--text);word-break:break-all}.value-item.is-changed .value-text[data-v-816726b4]{color:var(--status-warning);font-weight:600}.changed-tag[data-v-816726b4]{font-size:10px;padding:0 4px;border-radius:3px;color:var(--status-warning);border:1px solid rgba(var(--status-warning-rgb),.5)}.value-line[data-v-816726b4]{font-size:11px;color:var(--text-secondary);word-break:break-all}.step-note[data-v-816726b4]{margin-top:8px;display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--text)}.note-detail[data-v-816726b4]{font-size:11px;color:var(--text-secondary);word-break:break-all}.step-error[data-v-816726b4]{margin-top:8px}.error-line[data-v-816726b4]{display:flex;align-items:baseline;gap:8px;font-size:12px}.error-code[data-v-816726b4]{font-size:10px;padding:1px 5px;border-radius:3px;color:var(--status-error);border:1px solid rgba(var(--status-error-rgb),.5)}.error-message[data-v-816726b4]{color:var(--status-error);word-break:break-all}.link-btn[data-v-816726b4]{margin-left:auto;border:none;background:transparent;color:var(--primary);font-size:11px;cursor:pointer;padding:0}.error-detail[data-v-816726b4]{margin:8px 0 0;padding:8px 10px;background:var(--surface);border:1px solid var(--border);border-radius:6px;font-size:11px;line-height:1.6;color:var(--text-secondary);white-space:pre-wrap;word-break:break-all}.series-list[data-v-816726b4]{display:flex;flex-direction:column;gap:2px}.series-row[data-v-816726b4]{display:grid;grid-template-columns:96px 1fr 20px 60px;align-items:center;gap:8px;padding:6px 8px;border:1px solid transparent;border-radius:6px;background:transparent;cursor:pointer;text-align:left;font-size:12px;color:var(--text)}.series-row[data-v-816726b4]:hover{background:rgba(var(--primary-rgb),.06)}.series-row.active[data-v-816726b4]{border-color:rgba(var(--primary-rgb),.5);background:rgba(var(--primary-rgb),.08)}.series-time[data-v-816726b4]{color:var(--text-secondary)}.series-value[data-v-816726b4]{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.series-duration[data-v-816726b4]{text-align:right;color:var(--text-secondary)}.status-success[data-v-816726b4]{color:var(--status-success)}.status-filtered[data-v-816726b4]{color:var(--text-secondary)}.status-error[data-v-816726b4]{color:var(--status-error)}.mono[data-v-816726b4]{font-family:Courier New,monospace}.pipeline-metrics[data-v-ab56fefa]{padding:20px 24px 32px;max-width:1200px;margin:0 auto}.page-header[data-v-ab56fefa]{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.header-title[data-v-ab56fefa]{display:flex;align-items:baseline;gap:12px}.header-title h2[data-v-ab56fefa]{font-size:20px;font-weight:600;color:var(--text);margin:0}.header-hint[data-v-ab56fefa]{font-size:12px;color:var(--text-secondary)}.header-actions[data-v-ab56fefa]{display:flex;gap:8px;align-items:center}.scope-label[data-v-ab56fefa]{font-size:13px;color:var(--text-secondary);margin-right:2px}.scope-select[data-v-ab56fefa]{padding:4px 8px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text);font-size:13px;cursor:pointer;outline:none}.scope-select[data-v-ab56fefa]:focus{border-color:var(--primary)}.auto-dot[data-v-ab56fefa]{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--text-secondary);margin-right:4px}.auto-dot.active[data-v-ab56fefa]{background:var(--status-success);box-shadow:0 0 6px var(--status-success)}.loading-state[data-v-ab56fefa],.error-state[data-v-ab56fefa]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:var(--text-secondary);gap:12px}.spinner[data-v-ab56fefa]{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin-ab56fefa .8s linear infinite}@keyframes spin-ab56fefa{to{transform:rotate(360deg)}}.metrics-cards[data-v-ab56fefa]{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:20px}.metric-card[data-v-ab56fefa]{display:flex;flex-direction:column;gap:4px;padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:10px}.metric-card.success[data-v-ab56fefa]{border-color:rgba(var(--status-success-rgb),.3)}.metric-card.error[data-v-ab56fefa]{border-color:rgba(var(--status-error-rgb),.3)}.metric-label[data-v-ab56fefa]{font-size:11px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.metric-value[data-v-ab56fefa]{font-size:22px;font-weight:600;color:var(--text)}.metric-value.mono[data-v-ab56fefa]{font-family:Courier New,monospace;font-size:18px}.metric-sub[data-v-ab56fefa]{font-size:11px;color:var(--text-secondary)}.metric-card.success .metric-sub[data-v-ab56fefa]{color:var(--status-success)}.metric-card.error .metric-sub[data-v-ab56fefa]{color:var(--status-error)}.dashboard-row[data-v-ab56fefa]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.sub-panel[data-v-ab56fefa]{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px 18px}.sub-stats[data-v-ab56fefa]{display:flex;gap:16px}.sub-stat-item[data-v-ab56fefa]{display:flex;flex-direction:column;gap:4px}.sub-stat-label[data-v-ab56fefa]{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.sub-stat-value[data-v-ab56fefa]{font-size:18px;font-weight:600;color:var(--text)}.sub-stat-value.error[data-v-ab56fefa]{color:var(--status-error)}.panel[data-v-ab56fefa]{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:20px 24px;margin-bottom:20px}.panel-header[data-v-ab56fefa]{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.panel-hint[data-v-ab56fefa]{font-size:12px;color:var(--text-secondary)}.section-title[data-v-ab56fefa]{font-size:16px;font-weight:600;color:var(--text);margin:0 0 14px}.data-table[data-v-ab56fefa]{width:100%;border-collapse:collapse;font-size:13px}.data-table th[data-v-ab56fefa],.data-table td[data-v-ab56fefa]{padding:8px 12px;text-align:left;border-bottom:1px solid var(--border)}.data-table th[data-v-ab56fefa]{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;background:var(--background)}.data-table th.num-col[data-v-ab56fefa],.data-table td.num-col[data-v-ab56fefa]{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.data-table th.num-col[data-v-ab56fefa]:not(:first-child){min-width:76px}.data-table td.mono[data-v-ab56fefa]{font-family:Courier New,monospace}.task-id-cell[data-v-ab56fefa]{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-table td.p95[data-v-ab56fefa]{color:var(--status-warning);font-weight:600}.data-table td.p99[data-v-ab56fefa]{color:var(--status-error);font-weight:600}.data-table td.step-name-cell[data-v-ab56fefa]{font-weight:500;color:var(--primary)}.data-table td.text-error[data-v-ab56fefa]{color:var(--status-error);font-weight:600}.data-table tbody tr[data-v-ab56fefa]:hover{background:rgba(var(--primary-rgb),.05)}.flame-chart[data-v-ab56fefa]{display:flex;flex-direction:column;gap:4px;max-height:480px;overflow-y:auto}.flame-row[data-v-ab56fefa]{display:grid;grid-template-columns:180px 1fr 80px;gap:8px;align-items:center;padding:4px 8px;border-radius:4px}.flame-row[data-v-ab56fefa]:hover{background:rgba(var(--primary-rgb),.05)}.flame-row-label[data-v-ab56fefa]{display:flex;flex-direction:column;gap:2px;font-size:11px}.flame-time[data-v-ab56fefa]{color:var(--text-secondary);font-family:Courier New,monospace}.flame-device[data-v-ab56fefa]{color:var(--text);opacity:.7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flame-bars[data-v-ab56fefa]{display:flex;height:24px;background:var(--background);border-radius:4px;overflow:hidden}.flame-bar[data-v-ab56fefa]{display:flex;align-items:center;justify-content:center;height:100%;min-width:2px;background:var(--primary);color:var(--surface);font-size:10px;font-weight:500;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:0 2px;transition:opacity .2s}.flame-bar[data-v-ab56fefa]:hover{opacity:.85}.flame-bar.is-error[data-v-ab56fefa]{background:var(--status-error)}.flame-bar-label[data-v-ab56fefa]{pointer-events:none}.flame-total[data-v-ab56fefa]{font-size:12px;font-weight:600;color:var(--text);text-align:right}.flame-row.clickable[data-v-ab56fefa]{cursor:pointer}.flame-row.locked[data-v-ab56fefa]{background:rgba(var(--primary-rgb),.12);outline:1px solid rgba(var(--primary-rgb),.5)}.trace-stats[data-v-ab56fefa]{font-size:12px;color:var(--text-secondary);margin-bottom:10px}.trace-search[data-v-ab56fefa]{display:flex;gap:8px;margin-bottom:12px}.trace-search-input[data-v-ab56fefa]{flex:1;padding:6px 10px;border:1px solid var(--border);border-radius:4px;background:var(--background);color:var(--text);font-size:13px;outline:none}.trace-search-input[data-v-ab56fefa]:focus{border-color:var(--primary)}.trace-subheading[data-v-ab56fefa]{margin:18px 0 8px;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.trace-list[data-v-ab56fefa]{display:flex;flex-direction:column;gap:2px}.trace-row[data-v-ab56fefa]{display:grid;grid-template-columns:minmax(0,1fr) 90px 20px 96px 72px;align-items:center;gap:8px;padding:8px 10px;border:1px solid transparent;border-radius:6px;background:transparent;cursor:pointer;text-align:left;font-size:13px;color:var(--text)}.trace-row[data-v-ab56fefa]:hover{background:rgba(var(--primary-rgb),.06);border-color:rgba(var(--primary-rgb),.3)}.trace-row-main[data-v-ab56fefa]{display:flex;flex-direction:column;gap:2px;min-width:0}.trace-row-name[data-v-ab56fefa]{font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trace-row-device[data-v-ab56fefa]{font-size:11px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trace-row-value[data-v-ab56fefa]{text-align:right;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trace-row-status[data-v-ab56fefa]{text-align:center}.trace-row-time[data-v-ab56fefa]{font-size:11px;color:var(--text-secondary);text-align:right}.trace-row-action[data-v-ab56fefa]{font-size:11px;color:var(--primary);text-align:right}.status-success[data-v-ab56fefa]{color:var(--status-success)}.status-filtered[data-v-ab56fefa]{color:var(--text-secondary)}.status-error[data-v-ab56fefa]{color:var(--status-error)}.prometheus-text[data-v-ab56fefa]{background:var(--background);border:1px solid var(--border);border-radius:8px;padding:14px 16px;font-family:Courier New,monospace;font-size:12px;line-height:1.7;color:var(--text);max-height:400px;overflow-y:auto;white-space:pre-wrap;word-break:break-all;margin:0}.diagnostic-panel[data-v-ab56fefa]{border-color:rgba(var(--primary-rgb),.4)}.diagnosis-conclusions[data-v-ab56fefa]{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;padding:12px;background:var(--background);border-radius:8px}.diagnosis-item[data-v-ab56fefa]{font-size:13px;padding:6px 10px;border-radius:4px;border-left:3px solid var(--border)}.diagnosis-item.ok[data-v-ab56fefa]{color:var(--status-success);border-left-color:var(--status-success);background:rgba(var(--status-success-rgb),.05)}.diagnosis-item.error[data-v-ab56fefa]{color:var(--status-error);border-left-color:var(--status-error);background:rgba(var(--status-error-rgb),.05)}.diagnosis-item.warn[data-v-ab56fefa]{color:var(--status-warning);border-left-color:var(--status-warning);background:rgba(var(--status-warning-rgb),.05)}.diagnosis-details[data-v-ab56fefa]{display:flex;flex-direction:column;gap:16px}.diagnosis-section h4[data-v-ab56fefa]{font-size:13px;font-weight:600;color:var(--text);margin:0 0 8px}.diagnosis-kv[data-v-ab56fefa]{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:12px}.diagnosis-kv span[data-v-ab56fefa]:nth-child(odd){color:var(--text-secondary)}.diagnosis-kv span[data-v-ab56fefa]:nth-child(2n){color:var(--text);font-weight:500}.empty-state[data-v-ab56fefa]{padding:40px 16px;text-align:center;color:var(--text-secondary);font-size:13px}.panel-actions[data-v-ab56fefa]{display:flex;gap:8px}.offline-cache-stats[data-v-ab56fefa]{display:flex;flex-direction:column;gap:14px}.cache-stat-item[data-v-ab56fefa]{display:flex;flex-direction:column;gap:6px}.cache-stat-label[data-v-ab56fefa]{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.cache-stat-value[data-v-ab56fefa]{font-size:16px;font-weight:600;color:var(--text)}.cache-stat-value.mono[data-v-ab56fefa]{font-family:Courier New,monospace;font-size:13px}.cache-bar[data-v-ab56fefa]{height:6px;background:var(--background);border-radius:3px;overflow:hidden}.cache-bar-fill[data-v-ab56fefa]{height:100%;background:var(--primary);border-radius:3px;transition:width .3s}.cache-bar-fill.warning[data-v-ab56fefa]{background:var(--status-warning)}.cache-stat-row[data-v-ab56fefa]{display:flex;gap:24px}.cache-stat-item-inline[data-v-ab56fefa]{display:flex;flex-direction:column;gap:4px}@media (max-width: 1024px){.metrics-cards[data-v-ab56fefa]{grid-template-columns:repeat(3,1fr)}.dashboard-row[data-v-ab56fefa]{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.metrics-cards[data-v-ab56fefa]{grid-template-columns:repeat(2,1fr)}.dashboard-row[data-v-ab56fefa]{grid-template-columns:1fr}.flame-row[data-v-ab56fefa]{grid-template-columns:120px 1fr 60px}}.alarm-statistics[data-v-c982fe47]{padding:20px 24px 32px;max-width:1200px;margin:0 auto}.page-header[data-v-c982fe47]{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px}.header-title[data-v-c982fe47]{display:flex;align-items:center;gap:12px}.header-title h2[data-v-c982fe47]{font-size:20px;font-weight:600;color:var(--text);margin:0}.header-actions[data-v-c982fe47]{display:flex;align-items:center;gap:12px}.header-actions .form-select[data-v-c982fe47]{height:28px;padding:0 10px;box-sizing:border-box;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-size:13px;outline:none}.header-actions .form-select[data-v-c982fe47]:focus{border-color:var(--primary)}.date-range[data-v-c982fe47]{display:flex;align-items:center;gap:6px}.date-label[data-v-c982fe47]{font-size:12px;color:var(--text-secondary);white-space:nowrap}.date-input[data-v-c982fe47]{padding:5px 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-size:13px;outline:none;transition:border-color .2s}.date-input[data-v-c982fe47]:focus{border-color:var(--primary)}.date-sep[data-v-c982fe47]{color:var(--text-secondary);font-size:13px}.loading-state[data-v-c982fe47],.error-state[data-v-c982fe47]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:var(--text-secondary);gap:12px}.spinner[data-v-c982fe47]{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin-c982fe47 .8s linear infinite}@keyframes spin-c982fe47{to{transform:rotate(360deg)}}.metrics-cards[data-v-c982fe47]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.metric-card[data-v-c982fe47]{display:flex;flex-direction:column;gap:4px;padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:10px}.metric-label[data-v-c982fe47]{font-size:11px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.metric-value[data-v-c982fe47]{font-size:22px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:4px}.metric-value.mono[data-v-c982fe47]{font-family:Courier New,monospace;font-size:18px}.trend-icon[data-v-c982fe47]{font-size:20px;line-height:1}.metric-card.trend-up .metric-value[data-v-c982fe47]{color:var(--status-error)}.metric-card.trend-down .metric-value[data-v-c982fe47]{color:var(--status-success)}.metric-card.trend-stable .metric-value[data-v-c982fe47]{color:var(--text-secondary)}.panel[data-v-c982fe47]{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:20px 24px;margin-bottom:20px}.section-title[data-v-c982fe47]{font-size:16px;font-weight:600;color:var(--text);margin:0 0 14px}.data-table[data-v-c982fe47]{width:100%;border-collapse:collapse;font-size:13px}.data-table th[data-v-c982fe47],.data-table td[data-v-c982fe47]{padding:8px 12px;text-align:left;border-bottom:1px solid var(--border)}.data-table th[data-v-c982fe47]{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;background:var(--background)}.data-table td.num-col[data-v-c982fe47]{text-align:right;font-variant-numeric:tabular-nums}.data-table td.mono[data-v-c982fe47]{font-family:Courier New,monospace}.data-table td.rule-name-cell[data-v-c982fe47]{font-weight:500;color:var(--primary)}.data-table tbody tr[data-v-c982fe47]:hover{background:var(--background)}.level-badge[data-v-c982fe47]{display:inline-block;padding:2px 10px;border-radius:10px;font-size:12px;font-weight:500;background:var(--border);color:var(--text-secondary)}.level-badge.level-critical[data-v-c982fe47]{background:var(--status-error);color:var(--button-text);font-weight:700}.level-badge.level-error[data-v-c982fe47]{background:var(--status-error);color:var(--button-text)}.level-badge.level-warning[data-v-c982fe47]{background:var(--status-warning);color:var(--text)}.level-badge.level-info[data-v-c982fe47]{background:var(--border);color:var(--text-secondary)}.level-bars[data-v-c982fe47]{display:flex;flex-direction:column;gap:10px}.level-bar-row[data-v-c982fe47]{display:flex;align-items:center;gap:12px}.level-bar-label[data-v-c982fe47]{font-size:13px;font-weight:500;min-width:60px}.level-bar-label.level-critical[data-v-c982fe47],.level-bar-label.level-error[data-v-c982fe47]{color:var(--status-error)}.level-bar-label.level-warning[data-v-c982fe47]{color:var(--status-warning)}.level-bar-label.level-info[data-v-c982fe47]{color:var(--text-secondary)}.level-bar-track[data-v-c982fe47]{flex:1;height:20px;background:var(--background);border-radius:4px;overflow:hidden}.level-bar-fill[data-v-c982fe47]{height:100%;border-radius:4px;transition:width .3s;background:var(--primary)}.level-bar-fill.level-critical[data-v-c982fe47],.level-bar-fill.level-error[data-v-c982fe47]{background:var(--status-error)}.level-bar-fill.level-warning[data-v-c982fe47]{background:var(--status-warning)}.level-bar-fill.level-info[data-v-c982fe47]{background:var(--text-secondary)}.level-bar-count[data-v-c982fe47]{font-size:13px;font-weight:600;color:var(--text);min-width:50px;text-align:right;font-variant-numeric:tabular-nums}.time-chart[data-v-c982fe47]{display:flex;flex-direction:column;gap:8px}.time-bars[data-v-c982fe47]{display:flex;align-items:flex-end;gap:4px;height:160px;padding-bottom:8px;overflow-x:auto}.time-bar-wrap[data-v-c982fe47]{flex:1;min-width:24px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}.time-bar-label[data-v-c982fe47]{font-size:11px;color:var(--text);margin-bottom:4px}.time-bar[data-v-c982fe47]{width:100%;max-width:40px;background:var(--primary);border-radius:4px 4px 0 0;transition:height .3s;min-width:12px}.time-bar-date[data-v-c982fe47]{font-size:10px;color:var(--text-secondary);margin-top:6px}.time-axis-label[data-v-c982fe47]{font-size:11px;color:var(--text-secondary);text-align:center;text-transform:uppercase;letter-spacing:.5px}.response-stats[data-v-c982fe47]{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.response-stat-item[data-v-c982fe47]{display:flex;flex-direction:column;gap:4px;padding:14px 16px;background:var(--background);border-radius:8px}.response-stat-label[data-v-c982fe47]{font-size:11px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.response-stat-value[data-v-c982fe47]{font-size:20px;font-weight:600;color:var(--text)}.response-stat-value.mono[data-v-c982fe47]{font-family:Courier New,monospace;font-size:16px}.empty-state[data-v-c982fe47]{padding:40px 16px;text-align:center;color:var(--text-secondary);font-size:13px}@media (max-width: 1024px){.metrics-cards[data-v-c982fe47],.response-stats[data-v-c982fe47]{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.metrics-cards[data-v-c982fe47],.response-stats[data-v-c982fe47]{grid-template-columns:1fr}.header-actions[data-v-c982fe47],.date-range[data-v-c982fe47]{flex-wrap:wrap}}.historical-trend-page[data-v-6d5eee62]{height:100%;overflow-y:auto;padding:20px 24px;display:flex;flex-direction:column;gap:12px}.query-bar[data-v-6d5eee62]{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;padding:14px 18px;background:var(--surface);border:1px solid var(--border);border-radius:8px}.query-field[data-v-6d5eee62]{display:flex;flex-direction:column;gap:4px}.query-bar .form-select[data-v-6d5eee62],.query-bar .form-input[data-v-6d5eee62],.query-bar .sys-btn[data-v-6d5eee62],.query-bar .sys-btn-sm[data-v-6d5eee62]{height:32px;padding-top:0;padding-bottom:0;box-sizing:border-box}.query-field label[data-v-6d5eee62]{font-size:12px;color:var(--text-secondary);font-weight:500}.form-select[data-v-6d5eee62],.form-input[data-v-6d5eee62]{padding:6px 10px;font-size:13px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text);outline:none}.form-select[data-v-6d5eee62]:focus,.form-input[data-v-6d5eee62]:focus{border-color:var(--primary)}.time-range-selector[data-v-6d5eee62]{display:flex;align-items:center;gap:6px}.time-sep[data-v-6d5eee62]{color:var(--text-secondary);font-size:13px}.query-actions[data-v-6d5eee62]{padding-bottom:2px}.query-separator[data-v-6d5eee62]{width:1px;align-self:stretch;background:var(--border);flex-shrink:0;margin:2px 0}.tag-select-wrapper[data-v-6d5eee62]{position:relative}.tag-picker-dropdown[data-v-6d5eee62]{position:absolute;top:100%;left:0;margin-top:4px;width:320px;max-height:300px;background:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 16px #00000026;z-index:100;display:flex;flex-direction:column}.tag-picker-header[data-v-6d5eee62]{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid var(--border);font-size:12px;color:var(--text);gap:8px}.tag-picker-header label[data-v-6d5eee62]{display:flex;align-items:center;gap:4px;white-space:nowrap}.tag-search-input[data-v-6d5eee62]{width:120px;padding:3px 8px;font-size:12px}.tag-picker-list[data-v-6d5eee62]{flex:1;overflow-y:auto;max-height:220px}.tag-option[data-v-6d5eee62]{display:flex;align-items:center;gap:8px;padding:6px 12px;font-size:13px;cursor:pointer;color:var(--text)}.tag-option[data-v-6d5eee62]:hover{background:var(--background, rgba(0, 0, 0, .03))}.tag-name[data-v-6d5eee62]{font-weight:500;flex-shrink:0}.tag-address[data-v-6d5eee62]{color:var(--text-secondary);font-size:11px;font-family:monospace;overflow:hidden;text-overflow:ellipsis}.tag-empty[data-v-6d5eee62]{padding:16px;text-align:center;color:var(--text-secondary);font-size:13px}.tag-picker-footer[data-v-6d5eee62]{padding:8px 10px;border-top:1px solid var(--border);text-align:right}.legend-bar[data-v-6d5eee62]{display:flex;flex-wrap:wrap;gap:12px;padding:8px 16px;background:var(--surface);border:1px solid var(--border);border-radius:8px}.legend-item[data-v-6d5eee62]{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.legend-item.active[data-v-6d5eee62]{color:var(--text)}.legend-color[data-v-6d5eee62]{width:14px;height:3px;border-radius:2px}.record-count[data-v-6d5eee62]{margin-left:auto;font-size:12px;color:var(--text-secondary);white-space:nowrap}.chart-wrapper[data-v-6d5eee62]{flex:1;display:flex;flex-direction:column;min-height:400px;gap:0}.chart-container[data-v-6d5eee62]{flex:1;min-height:0;background:var(--surface);border:1px solid var(--border);border-radius:8px 8px 0 0;position:relative;overflow:hidden;cursor:grab}.chart-container[data-v-6d5eee62]:active{cursor:grabbing}.chart-canvas[data-v-6d5eee62]{width:100%;height:100%;position:absolute;top:0;left:0}.chart-empty[data-v-6d5eee62]{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);font-size:14px}.datazoom-slider[data-v-6d5eee62]{display:flex;align-items:center;gap:0;height:56px;flex-shrink:0;background:var(--surface);border:1px solid var(--border);border-top:0;border-radius:0 0 8px 8px;padding:0 0 0 4px;cursor:pointer}.slider-canvas[data-v-6d5eee62]{flex:1;height:50px}.zoom-reset-btn[data-v-6d5eee62]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;margin-right:8px;border:1px solid var(--border);border-radius:4px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s}.zoom-reset-btn[data-v-6d5eee62]:hover{border-color:var(--primary);color:var(--primary)}.sys-btn[data-v-6d5eee62]{padding:5px 12px;border-radius:4px;font-size:12px;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);transition:all .15s ease;display:inline-flex;align-items:center;gap:4px}.sys-btn[data-v-6d5eee62]:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.sys-btn[data-v-6d5eee62]:disabled{opacity:.5;cursor:not-allowed}.sys-btn-primary[data-v-6d5eee62]{background:var(--primary);color:var(--text);border-color:var(--primary)}.sys-btn-primary[data-v-6d5eee62]:hover:not(:disabled){opacity:.85;color:var(--text)}.sys-btn-secondary[data-v-6d5eee62]{background:var(--surface);color:var(--text)}.sys-btn-sm[data-v-6d5eee62]{padding:4px 10px;font-size:12px}.modal-overlay[data-v-6d5eee62]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:10000;animation:mb-fade-in-6d5eee62 .2s ease}@keyframes mb-fade-in-6d5eee62{0%{opacity:0}to{opacity:1}}.modal-box[data-v-6d5eee62]{width:400px;border-radius:8px;background:var(--surface);box-shadow:0 8px 30px #00000026;overflow:hidden;animation:mb-scale-in-6d5eee62 .2s ease}@keyframes mb-scale-in-6d5eee62{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.modal-header[data-v-6d5eee62]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-title[data-v-6d5eee62]{font-size:15px;font-weight:600;color:var(--text)}.modal-close[data-v-6d5eee62]{background:none;border:none;font-size:20px;cursor:pointer;color:var(--text-secondary);padding:0 4px;line-height:1}.modal-close[data-v-6d5eee62]:hover{color:var(--text)}.modal-body[data-v-6d5eee62]{padding:20px 24px}.modal-label[data-v-6d5eee62]{display:block;font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.modal-input[data-v-6d5eee62]{width:100%;box-sizing:border-box;padding:8px 12px;font-size:14px}.modal-footer[data-v-6d5eee62]{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--border)}.realtime-trend-page[data-v-b5499f51]{display:flex;flex-direction:column;height:calc(100vh - 100px);padding:16px 20px;gap:12px;overflow:hidden}.query-bar[data-v-b5499f51]{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px;flex-shrink:0;padding:14px 18px;background:var(--surface);border:1px solid var(--border);border-radius:10px}.query-separator[data-v-b5499f51]{width:1px;align-self:stretch;background:var(--border);flex-shrink:0;margin:2px}.query-field[data-v-b5499f51]{display:flex;flex-direction:column;gap:6px;min-width:0}.query-field label[data-v-b5499f51]{font-size:12px;font-weight:500;color:var(--text-secondary);letter-spacing:.02em;white-space:nowrap}.auto-label[data-v-b5499f51]{display:flex;align-items:center;gap:6px;height:32px;padding:0 2px;cursor:pointer;font-size:13px;color:var(--text)}.form-select[data-v-b5499f51],.form-input[data-v-b5499f51]{padding:6px 10px;font-size:13px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text);outline:none;transition:border-color .2s}.form-select[data-v-b5499f51]{height:32px;padding:0 10px;box-sizing:border-box;min-width:120px;cursor:pointer}.form-select[data-v-b5499f51]:focus,.form-input[data-v-b5499f51]:focus{border-color:var(--primary)}.tag-select-wrapper[data-v-b5499f51]{position:relative}.tag-picker-dropdown[data-v-b5499f51]{position:absolute;top:100%;left:0;width:280px;max-height:300px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #00000026;z-index:100;display:flex;flex-direction:column}.tag-picker-header[data-v-b5499f51]{padding:8px 12px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:6px}.tag-search-input[data-v-b5499f51]{width:100%;box-sizing:border-box}.tag-picker-list[data-v-b5499f51]{flex:1;overflow-y:auto;padding:6px 12px}.tag-option[data-v-b5499f51]{display:flex;align-items:center;gap:8px;padding:4px 0;cursor:pointer;font-size:13px}.tag-option input[data-v-b5499f51]{flex-shrink:0}.tag-name[data-v-b5499f51]{flex:1;color:var(--text)}.tag-address[data-v-b5499f51]{font-size:11px;color:var(--text-secondary);font-family:monospace}.tag-empty[data-v-b5499f51]{font-size:13px;color:var(--text-secondary);padding:12px;text-align:center}.tag-picker-footer[data-v-b5499f51]{padding:8px 12px;border-top:1px solid var(--border);text-align:right}.chart-wrapper[data-v-b5499f51]{flex:1;display:flex;flex-direction:column;gap:0;min-height:0}.chart-container[data-v-b5499f51]{flex:1;position:relative;min-height:200px}.chart-canvas[data-v-b5499f51]{width:100%;height:100%}.chart-empty[data-v-b5499f51]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:14px}.datazoom-slider[data-v-b5499f51]{height:50px;position:relative;flex-shrink:0}.slider-canvas[data-v-b5499f51]{width:100%;height:100%;cursor:pointer}.zoom-reset-btn[data-v-b5499f51]{position:absolute;top:6px;right:6px;background:transparent;border:1px solid var(--border);border-radius:4px;cursor:pointer;color:var(--text-secondary);padding:3px 5px}.zoom-reset-btn[data-v-b5499f51]:hover{color:var(--primary)}.legend-bar[data-v-b5499f51]{display:flex;flex-wrap:wrap;align-items:center;gap:10px;flex-shrink:0;padding:6px 0;border-bottom:1px solid var(--border)}.legend-item[data-v-b5499f51]{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary);cursor:pointer;padding:2px 6px;border-radius:4px;transition:opacity .2s}.legend-item[data-v-b5499f51]:not(.active){opacity:.4;text-decoration:line-through}.legend-color[data-v-b5499f51]{width:16px;height:3px;border-radius:2px}.record-count[data-v-b5499f51]{margin-left:auto;font-size:12px;color:var(--text-secondary)}.query-actions[data-v-b5499f51]{justify-content:flex-end}.query-bar .sys-btn-sm[data-v-b5499f51]{height:32px;padding:0 12px}.sys-btn[data-v-b5499f51]{padding:6px 12px;border-radius:6px;font-size:13px;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);white-space:nowrap}.sys-btn[data-v-b5499f51]:disabled{opacity:.4;cursor:not-allowed}.sys-btn-primary[data-v-b5499f51]{background:var(--primary);color:#fff;border-color:var(--primary)}.sys-btn-secondary[data-v-b5499f51]{background:var(--surface)}.sys-btn-sm[data-v-b5499f51]{padding:4px 10px;font-size:12px}.modal-overlay[data-v-b5499f51]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:10000;animation:mb-fade-in-b5499f51 .2s ease}@keyframes mb-fade-in-b5499f51{0%{opacity:0}to{opacity:1}}.modal-box[data-v-b5499f51]{width:400px;border-radius:8px;background:var(--surface);box-shadow:0 8px 30px #00000026;overflow:hidden}.modal-header[data-v-b5499f51]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-title[data-v-b5499f51]{font-size:15px;font-weight:600;color:var(--text)}.modal-close[data-v-b5499f51]{background:none;border:none;font-size:20px;cursor:pointer;color:var(--text-secondary);padding:0 4px;line-height:1}.modal-close[data-v-b5499f51]:hover{color:var(--text)}.modal-body[data-v-b5499f51]{padding:20px 24px}.modal-label[data-v-b5499f51]{display:block;font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.modal-input[data-v-b5499f51]{width:100%;box-sizing:border-box;padding:8px 12px;font-size:14px}.modal-footer[data-v-b5499f51]{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--border)}
