: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-a5904398]{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-a5904398]{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-a5904398]:hover{background:var(--control-button-hover)}.toolbar-btn[data-v-a5904398]:disabled{opacity:.45;cursor:not-allowed}.toolbar-btn--active[data-v-a5904398]{background:var(--primary);border-color:var(--primary);color:var(--header-text)}.toolbar-btn-save[data-v-a5904398]{background:var(--status-success);border-color:var(--status-success);color:var(--header-text)}.toolbar-btn-save[data-v-a5904398]:hover{filter:brightness(.92)}.toolbar-btn--icon[data-v-a5904398]{padding:3px 8px;min-width:30px;height:28px}.toolbar-btn-icon[data-v-a5904398]{font-size:14px;line-height:1}.toolbar-btn-caret[data-v-a5904398]{font-size:10px;opacity:.7;margin-left:2px}.toolbar-divider[data-v-a5904398]{width:1px;height:20px;background:var(--border);margin:0 4px}.toolbar-hint[data-v-a5904398]{margin-left:auto;color:var(--text-tertiary);font-size:11px}.toolbar-dropdown[data-v-a5904398]{position:relative;display:inline-flex}.toolbar-dropdown-backdrop[data-v-a5904398]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:39}.toolbar-dropdown-menu[data-v-a5904398]{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-a5904398]{min-width:240px}.toolbar-dropdown-group[data-v-a5904398]{padding:2px 0}.toolbar-dropdown-group+.toolbar-dropdown-group[data-v-a5904398]{border-top:1px solid var(--border-light)}.toolbar-dropdown-group-title[data-v-a5904398]{padding:4px 8px;font-size:11px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.4px}.toolbar-dropdown-empty[data-v-a5904398]{padding:10px 8px;font-size:12px;color:var(--text-tertiary);text-align:center}.toolbar-dropdown-item[data-v-a5904398]{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-a5904398]:hover{background:var(--background)}.toolbar-dropdown-item-label[data-v-a5904398]{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tag-picker-backdrop[data-v-a5904398]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.tag-picker[data-v-a5904398]{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-a5904398]{display:flex;flex-direction:column;gap:6px;padding:8px;border-bottom:1px solid var(--border)}.tag-mode-switch[data-v-a5904398]{display:flex;gap:12px}.tag-mode-option[data-v-a5904398]{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary);cursor:pointer}.tag-mode-option.active[data-v-a5904398]{color:var(--primary)}.tag-search[data-v-a5904398]{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-a5904398]::placeholder{color:var(--text-tertiary)}.tag-picker-body[data-v-a5904398]{flex:1;overflow-y:auto;padding:4px}.tag-picker-hint[data-v-a5904398]{padding:16px 12px;color:var(--text-tertiary);font-size:12px;text-align:center}.tag-item[data-v-a5904398]{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-a5904398]:hover{background:var(--background)}.tag-item-device[data-v-a5904398]{display:inline-flex;align-items:baseline;gap:6px;font-size:12px;color:var(--status-info)}.tag-item-device-code[data-v-a5904398]{font-size:11px;color:var(--text-tertiary)}.tag-item-name[data-v-a5904398]{font-size:13px;color:var(--text)}.tag-item-desc[data-v-a5904398]{font-size:11px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.tag-item-meta[data-v-a5904398]{font-size:11px;color:var(--text-tertiary)}.script-api-panel[data-v-b4a77e24]{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-b4a77e24]{padding:8px 12px;background:var(--background);border-bottom:1px solid var(--border)}.api-title[data-v-b4a77e24]{font-weight:600;color:var(--text);display:block;margin-bottom:6px}.api-search[data-v-b4a77e24]{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-b4a77e24]:focus{outline:none;border-color:var(--border-focus)}.api-list[data-v-b4a77e24]{flex:1;overflow-y:auto;padding:4px;min-height:0}.api-group-title[data-v-b4a77e24]{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-b4a77e24]{font-size:12px}.api-group-count[data-v-b4a77e24]{color:var(--text-tertiary);font-weight:400;margin-left:auto}.api-item[data-v-b4a77e24]{padding:4px 8px;cursor:pointer;border-radius:var(--radius-md);display:flex;flex-direction:column;gap:1px}.api-item[data-v-b4a77e24]:hover{background:var(--elevated)}.api-item--selected[data-v-b4a77e24]{background:var(--elevated);border:1px solid var(--accent)}.api-name[data-v-b4a77e24]{color:var(--accent);font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;font-size:12px;font-weight:500}.api-signature[data-v-b4a77e24]{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-b4a77e24]{color:var(--text-tertiary);text-align:center;padding:20px;font-size:12px}.api-detail-panel[data-v-b4a77e24]{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-b4a77e24]{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-b4a77e24]{color:var(--accent);font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;font-size:13px;font-weight:600}.api-detail-close[data-v-b4a77e24]{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-b4a77e24]:hover{background:var(--elevated);color:var(--text)}.api-detail-body[data-v-b4a77e24]{padding:10px 12px;display:flex;flex-direction:column;gap:10px}.api-detail-section[data-v-b4a77e24]{display:flex;flex-direction:column;gap:4px}.api-detail-label[data-v-b4a77e24]{color:var(--text-secondary);font-size:11px;font-weight:600;text-transform:uppercase}.api-detail-signature[data-v-b4a77e24]{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-b4a77e24]{color:var(--text-secondary);font-size:12px;line-height:1.5}.api-detail-text--warn[data-v-b4a77e24]{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-b4a77e24]{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-b4a77e24]{background:var(--elevated);color:var(--accent)}.api-detail-params[data-v-b4a77e24]{display:flex;flex-direction:column;gap:6px}.api-detail-param[data-v-b4a77e24]{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-b4a77e24]{color:var(--accent);font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;font-size:12px;font-weight:500}.param-type[data-v-b4a77e24]{color:var(--text-secondary);font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;font-size:11px}.param-required[data-v-b4a77e24]{color:var(--status-error);font-size:10px;font-weight:600;background:var(--elevated);padding:1px 4px;border-radius:3px}.param-optional[data-v-b4a77e24]{color:var(--text-secondary);font-size:10px;font-weight:600;background:var(--elevated);padding:1px 4px;border-radius:3px}.param-default[data-v-b4a77e24]{color:var(--status-warning);font-size:10px;font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace}.param-desc[data-v-b4a77e24]{width:100%;color:var(--text-secondary);font-size:11px;margin-top:2px}.api-detail-example[data-v-b4a77e24]{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-b4a77e24]{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-b4a77e24]:hover{background:var(--button-hover, color-mix(in srgb, var(--status-success) 80%, black))}.script-knowledge-panel[data-v-a55ae8ed]{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-a55ae8ed]{padding:8px 12px;background:var(--background);border-bottom:1px solid var(--border);flex-shrink:0}.kb-header-top[data-v-a55ae8ed]{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.kb-title[data-v-a55ae8ed]{font-weight:600;color:var(--text);font-size:13px}.kb-refresh-btn[data-v-a55ae8ed]{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-a55ae8ed]:hover:not(:disabled){background:var(--elevated);color:var(--text)}.kb-refresh-btn[data-v-a55ae8ed]:disabled{opacity:.5;cursor:not-allowed}.kb-spin[data-v-a55ae8ed]{display:inline-block;animation:spin-a55ae8ed 1s linear infinite}@keyframes spin-a55ae8ed{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.kb-search-row[data-v-a55ae8ed]{display:flex;gap:6px;margin-bottom:4px}.kb-category-select[data-v-a55ae8ed]{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-a55ae8ed]:focus{outline:none;border-color:var(--border-focus)}.kb-search[data-v-a55ae8ed]{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-a55ae8ed]:focus{outline:none;border-color:var(--border-focus)}.kb-version-bar[data-v-a55ae8ed]{font-size:11px;color:var(--text-tertiary);padding:2px 0}.kb-version-bar--warn[data-v-a55ae8ed]{color:var(--status-warning)}.kb-fallback-tag[data-v-a55ae8ed]{background:var(--status-warning);color:var(--button-text);padding:1px 4px;border-radius:3px;font-size:10px;margin-left:4px}.kb-list[data-v-a55ae8ed]{flex:1;overflow-y:auto;padding:4px;min-height:0}.kb-item[data-v-a55ae8ed]{border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:4px;background:var(--background);overflow:hidden}.kb-item-header[data-v-a55ae8ed]{padding:8px 10px;cursor:pointer}.kb-item-header[data-v-a55ae8ed]:hover{background:var(--elevated)}.kb-item-title-row[data-v-a55ae8ed]{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.kb-item-title[data-v-a55ae8ed]{font-weight:600;color:var(--text);font-size:12px}.kb-item-difficulty[data-v-a55ae8ed]{font-size:10px;padding:1px 5px;border-radius:3px;font-weight:500}.kb-item-difficulty--easy[data-v-a55ae8ed]{background:var(--status-success);color:var(--button-text)}.kb-item-difficulty--medium[data-v-a55ae8ed]{background:var(--status-warning);color:var(--button-text)}.kb-item-difficulty--hard[data-v-a55ae8ed]{background:var(--status-error);color:var(--button-text)}.kb-item-meta[data-v-a55ae8ed]{display:flex;align-items:center;gap:6px;margin-bottom:4px;flex-wrap:wrap}.kb-item-trigger[data-v-a55ae8ed]{font-size:10px;color:var(--accent);background:var(--elevated);padding:1px 5px;border-radius:3px}.kb-item-tags[data-v-a55ae8ed]{display:flex;gap:3px;flex-wrap:wrap}.kb-tag[data-v-a55ae8ed]{font-size:10px;color:var(--text-tertiary);background:var(--surface);padding:1px 4px;border-radius:3px}.kb-item-desc[data-v-a55ae8ed]{font-size:11px;color:var(--text-secondary);line-height:1.4}.kb-item-body[data-v-a55ae8ed]{border-top:1px solid var(--border);padding:8px 10px;background:var(--surface)}.kb-item-code[data-v-a55ae8ed]{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-a55ae8ed]{margin-top:8px;display:flex;justify-content:flex-end}.kb-insert-btn[data-v-a55ae8ed]{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-a55ae8ed]:hover{background:var(--button-hover, color-mix(in srgb, var(--status-success) 80%, black))}.kb-empty[data-v-a55ae8ed]{color:var(--text-tertiary);text-align:center;padding:20px;font-size:12px}.script-debug-panel[data-v-877a5839]{height:100%;display:flex;flex-direction:column;background:var(--surface);font-size:13px}.debug-header[data-v-877a5839]{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-877a5839]{display:flex;gap:6px;margin-left:auto;margin-right:8px}.debug-title[data-v-877a5839]{font-weight:600;color:var(--text)}.debug-close[data-v-877a5839]{background:none;border:none;color:var(--text-tertiary);cursor:pointer;font-size:16px}.debug-section[data-v-877a5839]{padding:8px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.debug-section[data-v-877a5839]:last-of-type{flex:1;overflow-y:auto}.section-title[data-v-877a5839]{color:var(--text-secondary);font-size:12px;margin-bottom:4px;font-weight:600}.syntax-status[data-v-877a5839]{color:var(--status-success)}.syntax-status.error[data-v-877a5839]{color:var(--status-error)}.test-input[data-v-877a5839]{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-877a5839]:focus{outline:none;border-color:var(--border-focus)}.btn-run[data-v-877a5839]{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-877a5839]:disabled{opacity:.5;cursor:not-allowed}.btn-reset[data-v-877a5839]{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-877a5839]{padding:8px;border-radius:var(--radius-md);border:1px solid}.result-card.success[data-v-877a5839]{border-color:var(--status-success);background:var(--surface)}.result-card.error[data-v-877a5839]{border-color:var(--status-error);background:var(--surface)}.result-header[data-v-877a5839]{font-weight:600;margin-bottom:6px;color:var(--text)}.result-body[data-v-877a5839]{color:var(--text-secondary)}.result-label[data-v-877a5839]{color:var(--text-secondary);font-size:12px;margin:4px 0 2px}.result-output pre[data-v-877a5839],.result-error pre[data-v-877a5839]{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-877a5839]{margin-top:4px}.api-call-item[data-v-877a5839]{font-size:12px;padding:2px 8px;color:var(--text-secondary)}.result-console[data-v-877a5839]{margin-top:4px}.history-item[data-v-877a5839]{display:flex;align-items:center;gap:6px;font-size:12px;padding:2px 0;color:var(--text-secondary)}.history-item.failed .history-status[data-v-877a5839]{color:var(--status-error)}.history-status[data-v-877a5839]{color:var(--status-success);min-width:14px}.history-time[data-v-877a5839]{color:var(--text-tertiary);min-width:70px}.history-duration[data-v-877a5839]{min-width:56px;color:var(--text-tertiary)}.history-error[data-v-877a5839]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--status-error)}.console-item[data-v-877a5839]{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-877a5839]{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-877a5839]{color:var(--status-warning, #e6a23c)}.console-item.error[data-v-877a5839],.console-item.error .console-level[data-v-877a5839]{color:var(--status-error)}.script-editor[data-v-9aaa4254]{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-9aaa4254]{flex:1;display:flex;min-height:0}.editor-breadcrumb[data-v-9aaa4254]{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-9aaa4254]{flex:1;min-width:0}.editor-side-panel[data-v-9aaa4254]{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-9aaa4254]{display:flex;flex-shrink:0;border-bottom:1px solid var(--border)}.side-panel-tab[data-v-9aaa4254]{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-9aaa4254]:hover{color:var(--text);background:var(--control-button-hover, transparent)}.side-panel-tab--active[data-v-9aaa4254]{color:var(--primary);border-bottom-color:var(--primary)}.side-panel-body[data-v-9aaa4254]{flex:1;min-height:0;overflow:hidden}.side-panel-body[data-v-9aaa4254] .script-api-panel,.side-panel-body[data-v-9aaa4254] .script-knowledge-panel{border:none;border-radius:0}.debug-side-panel[data-v-9aaa4254]{width:280px;flex-shrink:0;border-left:1px solid var(--border);overflow-y:auto}.editor-placeholder[data-v-9aaa4254]{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-9aaa4254]{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-9aaa4254]{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;font-size:12px;line-height:1.5}.editor-fallback-title[data-v-9aaa4254]{color:var(--warning, #d97706);font-weight:600}.editor-fallback-tip[data-v-9aaa4254]{color:var(--text-secondary)}.editor-fallback-detail[data-v-9aaa4254]{color:var(--text-tertiary);font-family:JetBrains Mono,monospace;font-size:11px;word-break:break-all}.editor-fallback-textarea[data-v-9aaa4254]{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-9aaa4254]: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-13aec861]{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-13aec861]{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1}.grid-pattern[data-v-13aec861]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.5;animation:gridMove-13aec861 40s linear infinite}.glow-orb[data-v-13aec861]{position:absolute;border-radius:50%;filter:blur(90px);animation:orbFloat-13aec861 12s ease-in-out infinite alternate}.glow-orb-1[data-v-13aec861]{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-13aec861]{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-13aec861]{position:absolute;height:1px;background:linear-gradient(90deg,transparent,rgba(59,130,246,.3),transparent)}.geo-line-top[data-v-13aec861]{top:15%;left:0;right:0}.geo-line-bottom[data-v-13aec861]{bottom:15%;left:0;right:0}.scan-line[data-v-13aec861]{position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,rgba(59,130,246,.4) 50%,transparent 100%);animation:scanMove-13aec861 8s linear infinite;opacity:.6;filter:blur(1px)}@keyframes gridMove-13aec861{to{transform:translate(-8%,-8%)}}@keyframes orbFloat-13aec861{0%{transform:translate(0) scale(1);opacity:.5}to{transform:translate(20px,-15px) scale(1.05);opacity:.7}}@keyframes scanMove-13aec861{0%{top:0;opacity:0}10%{opacity:.6}90%{opacity:.6}to{top:100%;opacity:0}}.login-container[data-v-13aec861]{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-13aec861 .7s cubic-bezier(.16,1,.3,1) both}@keyframes cardEnter-13aec861{0%{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.corner[data-v-13aec861]{position:absolute;width:14px;height:14px;border-color:#3b82f699;border-style:solid;border-width:0;z-index:2}.corner-tl[data-v-13aec861]{top:-1px;left:-1px;border-top-width:2px;border-left-width:2px}.corner-tr[data-v-13aec861]{top:-1px;right:-1px;border-top-width:2px;border-right-width:2px}.corner-bl[data-v-13aec861]{bottom:-1px;left:-1px;border-bottom-width:2px;border-left-width:2px}.corner-br[data-v-13aec861]{bottom:-1px;right:-1px;border-bottom-width:2px;border-right-width:2px}.tech-status-bar[data-v-13aec861]{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-13aec861]{width:6px;height:6px;border-radius:50%;flex-shrink:0}.status-dot-online[data-v-13aec861]{background:#10b981;box-shadow:0 0 6px #10b981cc;animation:statusBlink-13aec861 2s ease-in-out infinite}@keyframes statusBlink-13aec861{0%,to{opacity:1}50%{opacity:.5}}.status-text[data-v-13aec861]{color:#10b981d9}.status-separator[data-v-13aec861]{color:#94a3b866}.status-version[data-v-13aec861]{color:#94a3b899}.login-header[data-v-13aec861]{text-align:center;margin-top:28px;margin-bottom:32px}.logo-icon[data-v-13aec861]{position:relative;width:76px;height:76px;margin:0 auto 20px;display:flex;align-items:center;justify-content:center}.logo-icon img[data-v-13aec861]{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-13aec861]{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-13aec861 3s ease-in-out infinite;z-index:1}.logo-rotating-ring[data-v-13aec861]{position:absolute;top:-14px;right:-14px;bottom:-14px;left:-14px;border-radius:50%;border:1px dashed rgba(59,130,246,.25);animation:ringRotate-13aec861 18s linear infinite;z-index:2}.logo-rotating-ring[data-v-13aec861]:before,.logo-rotating-ring[data-v-13aec861]:after{content:"";position:absolute;width:4px;height:4px;background:#3b82f6cc;border-radius:50%;box-shadow:0 0 8px #3b82f6cc}.logo-rotating-ring[data-v-13aec861]:before{top:-2px;left:50%;transform:translate(-50%)}.logo-rotating-ring[data-v-13aec861]:after{bottom:-2px;left:50%;transform:translate(-50%);background:#10b981cc;box-shadow:0 0 8px #10b981cc}@keyframes ringPulse-13aec861{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.12)}}@keyframes ringRotate-13aec861{to{transform:rotate(360deg)}}.login-title[data-v-13aec861]{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-13aec861]{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-13aec861]{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-13aec861]{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-13aec861]{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-13aec861]{font-size:15px;flex-shrink:0}.error-fade-enter-active[data-v-13aec861]{transition:all .3s ease}.error-fade-leave-active[data-v-13aec861]{transition:all .2s ease}.error-fade-enter-from[data-v-13aec861],.error-fade-leave-to[data-v-13aec861]{opacity:0;transform:translateY(-8px)}.login-form[data-v-13aec861]{display:flex;flex-direction:column;gap:20px}.form-group[data-v-13aec861]{display:flex;flex-direction:column;gap:8px}.form-label[data-v-13aec861]{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-13aec861]{flex-shrink:0;opacity:.7}.login-form .form-input[data-v-13aec861]{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-13aec861]::placeholder{color:var(--text-secondary);opacity:.4;font-size:13px}.login-form .form-input[data-v-13aec861]:hover:not(:focus){border-color:#ffffff26;background:#0f172abf}.login-form .form-input[data-v-13aec861]: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-13aec861]{color:var(--primary)}.form-group:focus-within .label-icon[data-v-13aec861]{opacity:1;color:var(--primary)}.input-wrap[data-v-13aec861]{position:relative;display:flex;align-items:center}.input-wrap .form-input[data-v-13aec861]{padding-right:46px}.toggle-password[data-v-13aec861]{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-13aec861]:hover{color:var(--text);background:#ffffff14}.toggle-password[data-v-13aec861]:active{transform:translateY(-50%) scale(.92)}.login-btn[data-v-13aec861]{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-13aec861]: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-13aec861]: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-13aec861]{transform:translateY(-1px);box-shadow:0 8px 24px #3b82f666,0 0 0 1px #ffffff1a inset}.login-btn:hover:not(:disabled)[data-v-13aec861]:before{transform:translate(100%)}.login-btn[data-v-13aec861]:active:not(:disabled){transform:translateY(0);box-shadow:0 4px 12px #3b82f640;transition-duration:.1s}.login-btn[data-v-13aec861]:disabled{background:linear-gradient(135deg,#475569,#334155);cursor:not-allowed;opacity:.6;letter-spacing:normal}.btn-text[data-v-13aec861]{position:relative;z-index:1}.btn-spinner[data-v-13aec861]{width:22px;height:22px;border:2.5px solid rgba(255,255,255,.25);border-top-color:#fff;border-radius:50%;animation:spin-13aec861 .65s linear infinite;position:relative;z-index:1}@keyframes spin-13aec861{to{transform:rotate(360deg)}}.login-footer[data-v-13aec861]{text-align:center;margin-top:24px;font-size:13px;color:var(--text-secondary)}.login-footer a[data-v-13aec861]{color:var(--primary);text-decoration:none;font-weight:600;transition:all .2s;display:inline-block}.login-footer a[data-v-13aec861]:hover{color:#93c5fd;transform:translate(3px)}.fade-enter-active[data-v-13aec861],.fade-leave-active[data-v-13aec861]{transition:all .25s ease}.fade-enter-from[data-v-13aec861]{opacity:0;transform:translateY(6px)}.fade-leave-to[data-v-13aec861]{opacity:0;transform:translateY(-6px)}.login-build-info[data-v-13aec861]{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-13aec861]{color:#94a3b880;font-weight:600}.build-value[data-v-13aec861]{color:#94a3b8b3}.build-separator[data-v-13aec861]{color:#94a3b840}.login-mode-switch[data-v-13aec861]{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-13aec861]{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-13aec861]:hover:not(.mode-tab-active){color:#cbd5e1e6;background:#ffffff0a}.mode-tab-active[data-v-13aec861]{background:linear-gradient(135deg,#3b82f62e,#2563eb1f);color:#93c5fd;box-shadow:0 0 0 1px #3b82f64d,0 1px #ffffff0f inset}.mode-tab svg[data-v-13aec861]{flex-shrink:0}.wechat-panel[data-v-13aec861]{display:flex;flex-direction:column;align-items:center;gap:18px;margin-bottom:8px}.qrcode-container[data-v-13aec861]{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-13aec861]{display:flex;flex-direction:column;align-items:center;gap:14px;color:#94a3b8cc;font-size:13px}.qrcode-loading p[data-v-13aec861]{margin:0;font-family:Courier New,Consolas,monospace;letter-spacing:.5px}.qrcode-spinner[data-v-13aec861]{width:36px;height:36px;border:3px solid rgba(59,130,246,.15);border-top-color:var(--primary);border-radius:50%;animation:spin-13aec861 .7s linear infinite}.qrcode-mock[data-v-13aec861]{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.mock-qrcode[data-v-13aec861]{width:256px;height:256px;background:#fff;border-radius:4px;display:flex;align-items:center;justify-content:center}.mock-qr-svg[data-v-13aec861]{border-radius:4px}.qrcode-real[data-v-13aec861]{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.wechat-iframe[data-v-13aec861]{width:100%;height:100%;border:none;border-radius:4px;background:#fff}.qrcode-overlay[data-v-13aec861]{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-13aec861]{font-size:14px;color:#475569;font-weight:600;text-align:center}.refresh-qrcode-btn[data-v-13aec861]{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-13aec861]:hover{transform:translateY(-1px);box-shadow:0 6px 16px #3b82f666}.scan-status[data-v-13aec861]{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-13aec861]{color:#94a3b8e6;background:#0f172a66}.scan-status-scanned[data-v-13aec861]{color:#fbbf24;background:#fbbf2414}.scan-status-confirmed[data-v-13aec861]{color:#10b981;background:#10b98114}.scan-status-expired[data-v-13aec861],.scan-status-cancelled[data-v-13aec861]{color:#f87171;background:#ef444414}.status-indicator[data-v-13aec861]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-indicator-pending[data-v-13aec861]{background:#94a3b899;animation:statusBlink-13aec861 1.5s ease-in-out infinite}.status-indicator-scanned[data-v-13aec861]{background:#fbbf24;box-shadow:0 0 6px #fbbf2499;animation:statusBlink-13aec861 1s ease-in-out infinite}.status-indicator-confirmed[data-v-13aec861]{background:#10b981;box-shadow:0 0 8px #10b981cc}.status-text[data-v-13aec861]{font-family:Courier New,Consolas,monospace;letter-spacing:.3px}.mock-actions[data-v-13aec861]{display:flex;gap:10px;width:100%}.mock-btn[data-v-13aec861]{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-13aec861]{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.mock-btn-confirm[data-v-13aec861]:hover{transform:translateY(-1px);box-shadow:0 6px 16px #10b98166}.mock-btn-cancel[data-v-13aec861]{background:#0f172a99;color:#94a3b8e6;border:1px solid rgba(255,255,255,.08)}.mock-btn-cancel[data-v-13aec861]:hover{background:#ef44441a;color:#f87171;border-color:#ef44444d}.mock-banner[data-v-13aec861]{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-13aec861]{display:flex;justify-content:center;margin-top:16px}.client-download-btn[data-v-13aec861]{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-13aec861]:hover{color:var(--primary);border-color:#3b82f666;background:#3b82f614;box-shadow:0 0 12px #3b82f61a}.client-download-btn svg[data-v-13aec861]{flex-shrink:0}@media (max-width: 480px){.login-container[data-v-13aec861]{padding:32px 24px 24px}.login-title[data-v-13aec861]{font-size:26px}.brand-tagline[data-v-13aec861]{font-size:10px;letter-spacing:2px}.login-form .form-input[data-v-13aec861]{height:44px;font-size:14px}.login-btn[data-v-13aec861]{height:44px;font-size:13px}.logo-icon[data-v-13aec861]{width:64px;height:64px}.login-build-info[data-v-13aec861]{flex-wrap:wrap;gap:6px;font-size:9px}.wechat-iframe[data-v-13aec861]{width:240px;height:240px}.mock-qrcode[data-v-13aec861]{width:160px;height:160px}}.login-form .form-input[data-v-13aec861]:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.login-btn[data-v-13aec861]:focus-visible{outline:2px solid #fff;outline-offset:3px}.login-footer a[data-v-13aec861]:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:2px}@media (prefers-reduced-motion: reduce){[data-v-13aec861],[data-v-13aec861]:before,[data-v-13aec861]:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.login-container[data-v-13aec861]{animation:none}.scan-line[data-v-13aec861],.logo-rotating-ring[data-v-13aec861],.logo-ring[data-v-13aec861],.status-dot-online[data-v-13aec861]{display:none}}.system-home[data-v-33842bb7]{padding:16px 32px;height:100%;overflow-y:auto}.page-header[data-v-33842bb7]{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.page-header-text[data-v-33842bb7]{display:flex;flex-direction:column}.refresh-btn[data-v-33842bb7]{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-33842bb7]:hover:not(:disabled){color:var(--text);border-color:var(--primary)}.refresh-btn[data-v-33842bb7]:disabled{opacity:.6;cursor:not-allowed}.refresh-btn .spinning[data-v-33842bb7]{animation:home-refresh-spin-33842bb7 .8s linear infinite}@keyframes home-refresh-spin-33842bb7{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.page-title[data-v-33842bb7]{font-size:22px;font-weight:700;color:var(--text);margin:0 0 4px}.page-subtitle[data-v-33842bb7]{font-size:13px;color:var(--text-secondary)}.stats-grid[data-v-33842bb7]{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-bottom:24px}.stat-card[data-v-33842bb7]{display:flex;align-items:center;gap:16px;padding:20px;border-radius:12px;background:var(--surface);border:1px solid var(--border)}.stat-icon[data-v-33842bb7]{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-33842bb7]{background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--status-info)}.stat-card--online .stat-icon[data-v-33842bb7]{background:color-mix(in srgb,var(--status-online) 12%,transparent);color:var(--status-success)}.stat-card--offline .stat-icon[data-v-33842bb7]{background:color-mix(in srgb,var(--text-secondary) 12%,transparent);color:var(--text-secondary)}.stat-card--tags .stat-icon[data-v-33842bb7]{background:color-mix(in srgb,var(--chart-5) 12%,transparent);color:var(--chart-5)}.stat-card--projects .stat-icon[data-v-33842bb7]{background:color-mix(in srgb,var(--status-success) 12%,transparent);color:var(--status-success)}.stat-card--volume .stat-icon[data-v-33842bb7]{background:color-mix(in srgb,var(--status-warning) 12%,transparent);color:var(--status-warning)}.stat-body[data-v-33842bb7]{display:flex;flex-direction:column}.stat-value[data-v-33842bb7]{font-size:26px;font-weight:700;color:var(--text);line-height:1.2}.stat-label[data-v-33842bb7]{font-size:12px;color:var(--text-secondary);margin-top:2px}.panels-grid[data-v-33842bb7]{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px;align-items:stretch}.panels-row[data-v-33842bb7]{display:contents}.panel--status[data-v-33842bb7]{grid-column:1;grid-row:1;min-height:0}.panel--quick[data-v-33842bb7]{grid-column:1;grid-row:2;min-height:0}.panel--recent[data-v-33842bb7]{grid-column:2;grid-row:1 / 3}.panel[data-v-33842bb7]{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.panel-header[data-v-33842bb7]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid var(--border)}.panel-more[data-v-33842bb7]{font-size:12px;color:var(--primary);cursor:pointer;transition:opacity .15s}.panel-more[data-v-33842bb7]:hover{opacity:.8}.panel-title[data-v-33842bb7]{font-size:14px;font-weight:600;color:var(--text);margin:0}.panel-body[data-v-33842bb7]{padding:16px 20px 20px}.status-bars[data-v-33842bb7]{display:flex;flex-direction:column;gap:18px}.status-bar-header[data-v-33842bb7]{display:flex;justify-content:space-between;margin-bottom:6px}.status-bar-label[data-v-33842bb7]{font-size:12px;color:var(--text)}.status-bar-value[data-v-33842bb7]{font-size:12px;color:var(--text-secondary)}.status-bar-track[data-v-33842bb7]{height:6px;background:var(--border);border-radius:3px;overflow:hidden}.status-bar-fill[data-v-33842bb7]{height:100%;border-radius:3px;transition:width .4s ease}.status-bar-fill--online[data-v-33842bb7]{background:var(--status-success)}.status-bar-fill--offline[data-v-33842bb7]{background:var(--text-secondary)}.status-bar-fill--alarm[data-v-33842bb7]{background:var(--status-error)}.alarm-list[data-v-33842bb7]{display:flex;flex-direction:column;gap:4px}.alarm-row[data-v-33842bb7]{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border-radius:6px;cursor:pointer;transition:background .15s}.alarm-row[data-v-33842bb7]:hover{background:#ffffff0a}.alarm-level-badge[data-v-33842bb7]{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-33842bb7]{background:color-mix(in srgb,var(--status-error) 20%,transparent);color:var(--status-error);font-weight:600}.alarm-level-badge.level-error[data-v-33842bb7]{background:color-mix(in srgb,var(--status-error) 14%,transparent);color:var(--status-error)}.alarm-level-badge.level-warning[data-v-33842bb7]{background:color-mix(in srgb,var(--status-warning) 16%,transparent);color:var(--status-warning)}.alarm-level-badge.level-info[data-v-33842bb7]{background:color-mix(in srgb,var(--status-info) 16%,transparent);color:var(--status-info)}.alarm-info[data-v-33842bb7]{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.alarm-message[data-v-33842bb7]{font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alarm-meta[data-v-33842bb7]{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--text-secondary)}.alarm-device[data-v-33842bb7]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}.alarm-status.status-active[data-v-33842bb7]{color:var(--status-error)}.alarm-status.status-acknowledged[data-v-33842bb7]{color:var(--status-warning)}.alarm-status.status-cleared[data-v-33842bb7]{color:var(--status-success)}.alarm-status.status-shelved[data-v-33842bb7]{color:var(--text-secondary)}.alarm-time[data-v-33842bb7]{margin-left:auto;white-space:nowrap}.empty-state[data-v-33842bb7]{display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px 0}.empty-icon[data-v-33842bb7]{color:var(--text-secondary)}.empty-text[data-v-33842bb7]{font-size:13px;color:var(--text-secondary)}.quick-grid[data-v-33842bb7]{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.quick-card[data-v-33842bb7]{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-33842bb7]:hover{background:var(--border);border-color:var(--border-light);transform:translateY(-1px)}.quick-icon[data-v-33842bb7]{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center}.quick-icon--blue[data-v-33842bb7]{background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--status-info)}.quick-icon--red[data-v-33842bb7]{background:color-mix(in srgb,var(--status-error) 12%,transparent);color:var(--status-error)}.quick-icon--green[data-v-33842bb7]{background:color-mix(in srgb,var(--status-online) 12%,transparent);color:var(--status-success)}.quick-icon--purple[data-v-33842bb7]{background:color-mix(in srgb,var(--chart-5) 12%,transparent);color:var(--chart-5)}.quick-icon--orange[data-v-33842bb7]{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.quick-label[data-v-33842bb7]{font-size:13px;font-weight:600;color:var(--text)}.quick-desc[data-v-33842bb7]{font-size:11px;color:var(--text-secondary)}@media (max-width: 1400px){.stats-grid[data-v-33842bb7]{grid-template-columns:repeat(3,1fr)}}@media (max-width: 900px){.stats-grid[data-v-33842bb7]{grid-template-columns:repeat(2,1fr)}.panels-grid[data-v-33842bb7]{grid-template-columns:1fr}.panel--status[data-v-33842bb7],.panel--quick[data-v-33842bb7],.panel--recent[data-v-33842bb7]{grid-column:1;grid-row:auto}}.color-picker[data-v-4e50c9d6]{display:inline-block;position:relative}.color-picker .color-picker-trigger[data-v-4e50c9d6]{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-4e50c9d6]{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-4e50c9d6]{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-4e50c9d6]{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-4e50c9d6]{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-4e50c9d6]:hover{background:var(--control-button-hover, #f0f0f0)}.color-picker .color-picker-content[data-v-4e50c9d6]{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-4e50c9d6]{display:flex;margin-bottom:16px}.color-picker .color-picker-content .color-selector .color-gradient[data-v-4e50c9d6]{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-4e50c9d6]: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-4e50c9d6]{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-4e50c9d6]{width:20px;height:200px;margin-left:8px;position:relative;cursor:pointer}.color-picker .color-picker-content .color-selector .hue-slider .hue-gradient[data-v-4e50c9d6]{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-4e50c9d6]{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-4e50c9d6]{width:100%;height:20px;margin-bottom:16px;position:relative;cursor:pointer}.color-picker .color-picker-content .alpha-slider .alpha-gradient[data-v-4e50c9d6]{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-4e50c9d6]{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-4e50c9d6]{display:grid;grid-template-columns:repeat(10,1fr);gap:4px;margin-bottom:16px}.color-picker .color-picker-content .preset-colors .preset-color[data-v-4e50c9d6]{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-4e50c9d6]:hover{transform:scale(1.1)}.color-picker .color-picker-content .color-picker-footer[data-v-4e50c9d6]{display:flex;justify-content:space-between;align-items:center}.color-picker .color-picker-content .color-picker-footer .color-value[data-v-4e50c9d6]{flex:1;margin-right:12px}.color-picker .color-picker-content .color-picker-footer .color-value .color-value-input[data-v-4e50c9d6]{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-4e50c9d6]: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-4e50c9d6]{display:flex;gap:8px}.color-picker .color-picker-content .color-picker-footer .color-picker-actions .color-picker-button[data-v-4e50c9d6]{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-4e50c9d6]{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-4e50c9d6]:hover{background:var(--background, #F5F5F5)}.color-picker .color-picker-content .color-picker-footer .color-picker-actions .color-picker-button.confirm[data-v-4e50c9d6]{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-4e50c9d6]:hover{background:var(--button-hover, #1976D2);border-color:var(--button-hover, #1976D2)}[data-v-4e50c9d6] .dark .color-picker .color-picker-trigger{border-color:var(--border, #333333);background:var(--surface, #1E1E1E)}[data-v-4e50c9d6] .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-4e50c9d6] .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-4e50c9d6] .dark .color-picker .color-picker-trigger .color-picker-button{color:var(--text, #FFFFFF)}[data-v-4e50c9d6] .dark .color-picker .color-picker-trigger .color-picker-button:hover{background:var(--control-button-hover, #2D2D2D)}[data-v-4e50c9d6] .dark .color-picker .color-picker-content{background:var(--surface, #1E1E1E);border-color:var(--border, #333333)}[data-v-4e50c9d6] .dark .color-picker .color-picker-content .preset-color{border-color:var(--border, #333333)}[data-v-4e50c9d6] .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-4e50c9d6] .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-4e50c9d6] .dark .color-picker .color-picker-content .color-picker-actions .color-picker-button{border-color:var(--border, #333333)}[data-v-4e50c9d6] .dark .color-picker .color-picker-content .color-picker-actions .color-picker-button.clear{background:var(--surface, #1E1E1E);color:var(--text, #FFFFFF)}[data-v-4e50c9d6] .dark .color-picker .color-picker-content .color-picker-actions .color-picker-button.clear:hover{background:var(--background, #2D2D2D)}.number-field[data-v-2ccc20fa]{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-2ccc20fa]:hover{border-color:var(--border-light)}.number-field[data-v-2ccc20fa]:focus-within{border-color:var(--primary);box-shadow:0 0 0 2px var(--border-focus, transparent)}.number-field-input[data-v-2ccc20fa]{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-2ccc20fa]::-webkit-outer-spin-button,.number-field-input[data-v-2ccc20fa]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.number-field-input[type=number][data-v-2ccc20fa]{-moz-appearance:textfield}.number-field-buttons[data-v-2ccc20fa]{display:flex;flex-direction:column;width:20px;flex-shrink:0;border-left:1px solid var(--border)}.number-field-btn[data-v-2ccc20fa]{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-2ccc20fa]:hover{background:var(--control-button-hover);color:var(--text)}.number-field-btn[data-v-2ccc20fa]:active{background:var(--primary);color:var(--surface)}.number-field-btn-plus[data-v-2ccc20fa]{border-bottom:1px solid var(--border)}.gallery-image-picker-overlay[data-v-822e4128]{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-822e4128]{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-822e4128]{display:flex;align-items:center;justify-content:space-between}.dialog-title[data-v-822e4128]{font-size:14px;font-weight:600}.dialog-close[data-v-822e4128]{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-822e4128]:hover{background:var(--background);color:var(--text)}.source-tabs[data-v-822e4128]{display:flex;gap:6px}.source-tab[data-v-822e4128]{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-822e4128]{border-color:var(--primary);color:var(--primary)}.select[data-v-822e4128],.url-input[data-v-822e4128]{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-822e4128]{display:flex;gap:8px}.gallery-body[data-v-822e4128]{display:flex;gap:10px;min-height:240px;max-height:46vh;overflow:hidden}.category-sidebar[data-v-822e4128]{width:200px;flex-shrink:0;overflow-y:auto;border:1px solid var(--border);border-radius:4px;padding:6px}.category-list[data-v-822e4128]{display:flex;flex-direction:column;gap:2px}.category-item[data-v-822e4128]{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;border-radius:4px;cursor:pointer;font-size:13px}.category-item[data-v-822e4128]:hover{background:var(--background)}.category-item.active[data-v-822e4128]{background:#2196f31f;color:var(--primary)}.category-name[data-v-822e4128]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-count[data-v-822e4128]{font-size:11px;color:var(--text-tertiary)}.image-content[data-v-822e4128]{flex:1;overflow-y:auto;border:1px solid var(--border);border-radius:4px;padding:8px}.image-grid[data-v-822e4128]{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.image-card[data-v-822e4128]{margin:0;border:1px solid var(--border);border-radius:6px;overflow:hidden;cursor:pointer;background:var(--surface)}.image-card[data-v-822e4128]:hover{border-color:var(--primary)}.image-thumb[data-v-822e4128]{width:100%;height:84px;object-fit:contain;background:var(--background)}.image-name[data-v-822e4128]{padding:4px 6px;font-size:11px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-hint[data-v-822e4128]{display:flex;align-items:center;justify-content:center;height:100%;min-height:200px;font-size:13px;color:var(--text-tertiary)}.url-row[data-v-822e4128],.upload-row[data-v-822e4128]{display:flex;align-items:center;gap:8px}.url-input[data-v-822e4128]{flex:1}.upload-hint[data-v-822e4128]{font-size:12px;color:var(--text-tertiary)}.file-input[data-v-822e4128]{font-size:13px}.btn[data-v-822e4128]{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-822e4128]{background:var(--primary);border-color:var(--primary);color:#fff}.btn[data-v-822e4128]:disabled{opacity:.5;cursor:not-allowed}.dialog-actions[data-v-822e4128]{display:flex;justify-content:flex-end}.plugin-config-panel[data-v-4c9830f3]{--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-4c9830f3]{margin-bottom:16px}.plugin-config-panel .config-section[data-v-4c9830f3]:last-child{margin-bottom:0}.plugin-config-panel .config-section-title[data-v-4c9830f3]{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-4c9830f3]:hover{color:var(--text)}.plugin-config-panel .config-panel-name[data-v-4c9830f3]{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-4c9830f3]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plugin-config-panel .config-collapse-icon[data-v-4c9830f3]{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-4c9830f3]{transform:rotate(90deg)}.plugin-config-panel .config-section-body[data-v-4c9830f3]{overflow:hidden;padding-top:2px}.plugin-config-panel .config-row[data-v-4c9830f3]{display:flex;align-items:center;margin-bottom:var(--pc-gap);gap:var(--pc-gap)}.plugin-config-panel .config-row[data-v-4c9830f3]:last-child{margin-bottom:0}.plugin-config-panel .config-label[data-v-4c9830f3]{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-4c9830f3]{flex:1;min-width:0}.plugin-config-panel .config-input[data-v-4c9830f3],.plugin-config-panel .config-select[data-v-4c9830f3]{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-4c9830f3]:hover,.plugin-config-panel .config-select[data-v-4c9830f3]:hover{border-color:var(--border-light)}.plugin-config-panel .config-input[data-v-4c9830f3]:focus,.plugin-config-panel .config-select[data-v-4c9830f3]: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-4c9830f3]{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-4c9830f3]{width:14px;height:14px;flex:none;accent-color:var(--pc-accent);cursor:pointer}.plugin-config-panel .config-input[type=range][data-v-4c9830f3],.plugin-config-panel .config-control[type=range][data-v-4c9830f3]{padding:0;height:auto;accent-color:var(--pc-accent);cursor:pointer}.plugin-config-panel .config-textarea[data-v-4c9830f3]{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-4c9830f3]: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-4c9830f3]{font-size:11px;color:var(--pc-accent);min-width:32px;text-align:right;flex-shrink:0}.plugin-config-panel .config-readonly[data-v-4c9830f3]{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plugin-config-panel .config-color-picker-wrapper[data-v-4c9830f3]{flex:1;min-width:0}.plugin-config-panel .config-color-array[data-v-4c9830f3]{display:flex;flex-wrap:wrap;gap:4px;flex:1;min-width:0}.plugin-config-panel .config-color-array-item[data-v-4c9830f3]{display:flex;align-items:center;gap:2px;flex:1;min-width:72px}.plugin-config-panel .config-color-array-index[data-v-4c9830f3]{font-size:11px;line-height:1;color:var(--text-secondary);flex-shrink:0}.plugin-config-panel .config-image-picker-inline[data-v-4c9830f3]{flex:1;min-width:0;display:flex;align-items:center;gap:4px}.plugin-config-panel .image-thumb[data-v-4c9830f3]{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-4c9830f3]:hover{border-color:var(--pc-accent)}.plugin-config-panel .image-thumb--has-image[data-v-4c9830f3]{padding:0}.plugin-config-panel .image-thumb-img[data-v-4c9830f3]{width:100%;height:100%;object-fit:cover}.plugin-config-panel .image-thumb-icon[data-v-4c9830f3]{font-size:14px;line-height:1}.plugin-config-panel .image-hidden-input[data-v-4c9830f3]{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.plugin-config-panel .image-select-btn[data-v-4c9830f3]{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-4c9830f3]:hover{background:var(--pc-accent);color:var(--surface)}.plugin-config-panel .image-url-inline-input[data-v-4c9830f3]{min-width:60px}.plugin-config-panel .image-clear-btn-inline[data-v-4c9830f3]{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-4c9830f3]:hover{border-color:var(--status-error);color:var(--status-error);background:var(--control-button-hover)}.plugin-config-panel .config-follow-hint[data-v-4c9830f3]{display:flex;align-items:center;gap:8px;margin-top:4px;width:100%}.plugin-config-panel .config-follow-hint-text[data-v-4c9830f3]{flex:1;font-size:11px;color:var(--status-warning);line-height:1.4}.plugin-config-panel .config-follow-restore[data-v-4c9830f3]{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-4c9830f3]:hover{border-color:var(--primary);background:var(--control-button-hover)}.ss-loading[data-v-200b721e]{display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none}.ss-loading__container[data-v-200b721e]{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.ss-loading--small .ss-loading__ring[data-v-200b721e]{width:52px;height:52px}.ss-loading--small .ss-loading__glow[data-v-200b721e]{width:64px;height:64px}.ss-loading--small .ss-loading__logo-bg[data-v-200b721e]{width:28px;height:28px}.ss-loading--small .ss-loading__logo-text[data-v-200b721e]{font-size:16px}.ss-loading--small .ss-loading__animation[data-v-200b721e]{width:64px;height:64px}.ss-loading--small .ss-loading__text[data-v-200b721e]{font-size:12px;margin-bottom:10px}.ss-loading--medium .ss-loading__ring[data-v-200b721e]{width:88px;height:88px}.ss-loading--medium .ss-loading__glow[data-v-200b721e]{width:108px;height:108px}.ss-loading--medium .ss-loading__logo-bg[data-v-200b721e]{width:44px;height:44px}.ss-loading--medium .ss-loading__logo-text[data-v-200b721e]{font-size:26px}.ss-loading--medium .ss-loading__animation[data-v-200b721e]{width:108px;height:108px}.ss-loading--medium .ss-loading__text[data-v-200b721e]{font-size:14px;margin-bottom:12px}.ss-loading--large .ss-loading__ring[data-v-200b721e]{width:132px;height:132px}.ss-loading--large .ss-loading__glow[data-v-200b721e]{width:160px;height:160px}.ss-loading--large .ss-loading__logo-bg[data-v-200b721e]{width:64px;height:64px}.ss-loading--large .ss-loading__logo-text[data-v-200b721e]{font-size:38px}.ss-loading--large .ss-loading__animation[data-v-200b721e]{width:160px;height:160px}.ss-loading--large .ss-loading__text[data-v-200b721e]{font-size:16px;margin-bottom:16px}.ss-loading__animation[data-v-200b721e]{position:relative;display:flex;align-items:center;justify-content:center}.ss-loading__glow[data-v-200b721e]{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-200b721e 2.5s ease-in-out infinite;pointer-events:none}@keyframes ss-glow-pulse-200b721e{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-200b721e]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ss-loading__ring-svg[data-v-200b721e]{width:100%;height:100%}.ss-loading__ring--outer[data-v-200b721e]{animation:ss-ring-rotate-outer-200b721e 8s linear infinite}.ss-loading__ring-arc-outer[data-v-200b721e]{stroke:var(--ss-loading-accent, #60a5fa);opacity:.35}@keyframes ss-ring-rotate-outer-200b721e{to{transform:translate(-50%,-50%) rotate(-360deg)}}.ss-loading__ring--main[data-v-200b721e]{animation:ss-ring-rotate-200b721e 1.8s cubic-bezier(.4,0,.2,1) infinite}.ss-loading__ring-track[data-v-200b721e]{stroke:var(--ss-loading-track, rgba(59, 130, 246, .1))}.ss-loading__ring-arc[data-v-200b721e]{stroke:url(#ss-ring-gradient) var(--ss-loading-primary, #3b82f6);stroke-dasharray:180;stroke-dashoffset:40;animation:ss-ring-dash-200b721e 1.6s cubic-bezier(.4,0,.2,1) infinite;filter:drop-shadow(0 0 3px rgba(59,130,246,.5))}@keyframes ss-ring-rotate-200b721e{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes ss-ring-dash-200b721e{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-200b721e]{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-200b721e]{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-200b721e]{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-200b721e 3s ease-in-out infinite}@keyframes ss-logo-pulse-200b721e{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-200b721e]{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-200b721e]{line-height:1}.ss-loading__dots[data-v-200b721e]{display:inline-flex;width:1.5em;overflow:hidden}.ss-loading__dot[data-v-200b721e]{animation:ss-dot-blink-200b721e 1.4s infinite both;font-weight:700;color:var(--ss-loading-primary, #3b82f6)}.ss-loading__dot[data-v-200b721e]:nth-child(2){animation-delay:.2s}.ss-loading__dot[data-v-200b721e]:nth-child(3){animation-delay:.4s}@keyframes ss-dot-blink-200b721e{0%,80%,to{opacity:0;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}.cron-input-wrap[data-v-e48b46f8]{display:flex;flex-direction:column;gap:8px;width:100%}.cron-presets[data-v-e48b46f8]{display:flex;flex-wrap:wrap;gap:4px}.preset-btn[data-v-e48b46f8]{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-e48b46f8]:hover{border-color:var(--primary, #3b82f6);color:var(--primary, #3b82f6)}.preset-btn.active[data-v-e48b46f8]{background:var(--primary, #3b82f6);color:#fff;border-color:var(--primary, #3b82f6)}.cron-input-row[data-v-e48b46f8]{display:flex;align-items:center;gap:8px}.cron-text-input[data-v-e48b46f8]{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-e48b46f8]:focus{border-color:var(--primary, #3b82f6)}.cron-status[data-v-e48b46f8]{font-size:14px;font-weight:700;flex-shrink:0}.cron-status.valid[data-v-e48b46f8]{color:var(--status-success, #10b981)}.cron-status.invalid[data-v-e48b46f8]{color:var(--danger, #ef4444)}.cron-fields[data-v-e48b46f8]{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-e48b46f8]{display:flex;flex-direction:column;align-items:center;gap:2px}.field-name[data-v-e48b46f8]{font-size:11px;color:var(--text-secondary, #94a3b8)}.field-value[data-v-e48b46f8]{font-size:12px;font-family:monospace;color:var(--text, #1e293b);font-weight:500}.cron-desc[data-v-e48b46f8]{font-size:12px;color:var(--status-success, #10b981);padding:4px 8px;background:#10b98114;border-radius:4px}.cron-desc-warn[data-v-e48b46f8]{color:var(--danger, #ef4444);background:#ef444414}.cron-next[data-v-e48b46f8]{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-151634fc]{display:inline-block;position:relative}.dict-select[data-v-151634fc]{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-151634fc]:focus{border-color:var(--primary, #3b82f6)}.dict-selector--disabled .dict-select[data-v-151634fc]{cursor:not-allowed;opacity:.6}.dict-selector--loading .dict-select[data-v-151634fc]{opacity:.7}.dict-select-clearable[data-v-151634fc]{position:relative;display:flex;align-items:center}.dict-select-clearable .dict-select[data-v-151634fc]{padding-right:28px}.dict-clear-btn[data-v-151634fc]{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-151634fc]:hover{color:var(--text, #333)}.dict-label[data-v-b0c4fde7]{color:var(--text, inherit);font-size:inherit}.trp[data-v-c793a287]{position:relative;display:inline-flex;flex-shrink:0}.trp-select[data-v-c793a287]{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-c793a287]:focus{border-color:var(--primary)}.trp-trigger[data-v-c793a287]{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-c793a287]:hover,.trp-trigger--open[data-v-c793a287]{border-color:var(--primary)}.trp-icon[data-v-c793a287]{color:var(--text-secondary);flex-shrink:0}.trp-display[data-v-c793a287]{color:var(--text);max-width:200px;overflow:hidden;text-overflow:ellipsis}.trp-display[data-v-c793a287]:empty:before{content:attr(data-placeholder);color:var(--text-secondary)}.trp-arrow[data-v-c793a287]{color:var(--text-secondary);flex-shrink:0;transition:transform .15s}.trp-arrow--open[data-v-c793a287]{transform:rotate(180deg)}.trp-overlay[data-v-c793a287]{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999}.trp-popover[data-v-c793a287]{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-c793a287 .15s ease}@keyframes trp-scale-in-c793a287{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.trp-presets[data-v-c793a287]{display:flex;flex-wrap:wrap;gap:4px;padding:10px 12px 6px;border-bottom:1px solid var(--border)}.trp-presets-title[data-v-c793a287]{width:100%;font-size:11px;color:var(--text-secondary);font-weight:500;margin-bottom:4px}.trp-preset-btn[data-v-c793a287]{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-c793a287]:hover{border-color:var(--primary);color:var(--primary)}.trp-preset-btn--active[data-v-c793a287]{border-color:var(--primary);background:var(--primary);color:#fff}.trp-body[data-v-c793a287]{display:flex;align-items:center;gap:8px;padding:12px}.trp-field[data-v-c793a287]{flex:1;display:flex;flex-direction:column;gap:4px}.trp-label[data-v-c793a287]{font-size:11px;color:var(--text-secondary);font-weight:500}.trp-sep[data-v-c793a287]{color:var(--text-secondary);font-size:13px;padding-top:18px;flex-shrink:0}.trp-input[data-v-c793a287]{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-c793a287]:focus{border-color:var(--primary)}.trp-input[data-v-c793a287]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6}.trp-footer[data-v-c793a287]{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-c793a287]{display:flex;gap:6px;margin-left:auto}.trp-clear-btn[data-v-c793a287]{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-c793a287]:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.trp-clear-btn[data-v-c793a287]:disabled{opacity:.4;cursor:not-allowed}.trp-cancel-btn[data-v-c793a287]{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-c793a287]:hover{border-color:var(--primary);color:var(--primary)}.trp-apply-btn[data-v-c793a287]{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-c793a287]:hover{opacity:.85}.trp-select[data-v-c793a287],.trp-trigger[data-v-c793a287]{height:28px;box-sizing:border-box}.trp--sm .trp-trigger[data-v-c793a287]{padding:3px 6px;font-size:11px}.trp--sm .trp-icon[data-v-c793a287]{width:12px;height:12px}.trp--sm .trp-select[data-v-c793a287]{padding:2px 20px 2px 6px;font-size:11px;background-size:14px}.trp--md .trp-select[data-v-c793a287],.trp--md .trp-trigger[data-v-c793a287]{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-2bb0087a]{flex:1;min-height:0}.smart-table-scroll[data-v-2bb0087a]{overflow:auto;height:100%}.smart-table[data-v-2bb0087a]{width:100%;border-collapse:collapse;font-size:13px}.smart-table thead[data-v-2bb0087a]{position:sticky;top:0;z-index:2}.smart-table th[data-v-2bb0087a]{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-2bb0087a]{padding:10px 12px;border-bottom:1px solid var(--border);color:var(--text)}.data-row[data-v-2bb0087a]{transition:background .12s}.data-row[data-v-2bb0087a]:hover{background:var(--hover, rgba(255,255,255,.03))}.data-row.clickable[data-v-2bb0087a]{cursor:pointer}.data-row.editing-row[data-v-2bb0087a]{background:var(--hover, rgba(255,255,255,.04))}.th-title[data-v-2bb0087a]{display:inline-flex;align-items:center}.sort-icon[data-v-2bb0087a]{cursor:pointer;margin-left:4px;opacity:.5}.sort-icon[data-v-2bb0087a]:hover{opacity:1}.col-fixed-left[data-v-2bb0087a]{position:sticky;left:0;z-index:1;background:var(--surface)}.col-fixed-right[data-v-2bb0087a]{position:sticky;right:0;z-index:1;background:var(--surface)}.status-badge[data-v-2bb0087a]{display:inline-flex;align-items:center;padding:2px 10px;border-radius:10px;font-size:12px;font-weight:500}.status-online[data-v-2bb0087a]{background:#22c55e1f;color:#6ee7b7}.status-offline[data-v-2bb0087a]{background:#1e293b;color:#64748b}.status-error[data-v-2bb0087a]{background:#ef44441f;color:#fca5a5}.status-active[data-v-2bb0087a]{background:#22c55e1f;color:#6ee7b7}.status-inactive[data-v-2bb0087a]{background:#1e293b;color:#64748b}.status-connecting[data-v-2bb0087a]{background:#eab3081f;color:#fde047}.status-degraded[data-v-2bb0087a]{background:#f59e0b1f;color:#fbbf24}.status-unregistered[data-v-2bb0087a]{background:#1e293b;color:#64748b}.status-registered[data-v-2bb0087a]{background:#3b82f61f;color:#93c5fd}.tree-toggle[data-v-2bb0087a]{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-2bb0087a]{cursor:default}.tree-toggle-icon[data-v-2bb0087a]{transition:transform .15s;color:var(--text-secondary)}.tree-toggle-icon.expanded[data-v-2bb0087a]{transform:rotate(90deg)}.cell-editor[data-v-2bb0087a]{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-2bb0087a]:focus{outline:none;border-color:var(--primary, #3b82f6);box-shadow:0 0 0 2px #3b82f626}.row-actions-cell[data-v-2bb0087a]{white-space:nowrap;text-align:right}.row-action-btn[data-v-2bb0087a]{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-2bb0087a]:hover{border-color:var(--primary, #3b82f6)}.edit-btn[data-v-2bb0087a]{color:var(--primary, #3b82f6)}.save-btn[data-v-2bb0087a]{background:var(--primary, #3b82f6);color:var(--surface, #fff);border-color:var(--primary, #3b82f6)}.save-btn[data-v-2bb0087a]:hover{opacity:.9}.cancel-btn[data-v-2bb0087a]:hover{color:var(--danger, #ef4444);border-color:var(--danger, #ef4444)}.virtual-spacer-row[data-v-2bb0087a]{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-aa734013]{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface)}.smart-table-toolbar[data-v-aa734013]{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-aa734013],.toolbar-right[data-v-aa734013]{display:flex;align-items:center;gap:8px}.smart-table-toolbar-btn[data-v-aa734013]{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-aa734013]:hover{background:var(--hover);border-color:var(--primary);color:var(--primary)}.smart-table-toolbar-btn[data-v-aa734013]:disabled{opacity:.5;cursor:not-allowed}.smart-table-toolbar-btn .spinning[data-v-aa734013]{animation:smart-table-spin-aa734013 1s linear infinite}@keyframes smart-table-spin-aa734013{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-6dceac67]{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-6dceac67]{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-6dceac67]{display:flex;align-items:center;justify-content:space-between}.dialog-title[data-v-6dceac67]{font-size:14px;font-weight:600;color:var(--text)}.dialog-close[data-v-6dceac67]{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-6dceac67]:hover{background:var(--background, #f5f5f5);color:var(--text)}.search-input[data-v-6dceac67]{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-6dceac67]{padding:24px 0;text-align:center;font-size:13px;color:var(--text-tertiary, #999999)}.device-list[data-v-6dceac67]{overflow-y:auto;display:flex;flex-direction:column;gap:6px}.device-group[data-v-6dceac67]{border:1px solid var(--border, #dddddd);border-radius:4px;padding:6px}.device-header[data-v-6dceac67]{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.device-label[data-v-6dceac67]{font-size:13px;font-weight:600;color:var(--text)}.device-tag-count[data-v-6dceac67]{font-size:11px;color:var(--text-tertiary, #999999)}.tag-empty[data-v-6dceac67]{padding:8px 0;text-align:center;font-size:12px;color:var(--text-tertiary, #999999)}.tag-item[data-v-6dceac67]{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-6dceac67]:hover{background:var(--background, #f5f5f5);border-color:var(--border, #dddddd)}.tag-name[data-v-6dceac67]{color:var(--text)}.tag-value[data-v-6dceac67]{font-size:12px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.tag-binding-editor[data-v-249a9952]{display:flex;flex-direction:column}.bind-section[data-v-249a9952]{padding:8px 0;border-bottom:1px solid var(--border, #dddddd)}.section-title[data-v-249a9952]{margin-bottom:6px;font-size:11px;font-weight:600;color:var(--text-secondary, #666666);text-transform:uppercase;letter-spacing:.5px}.bind-row[data-v-249a9952]{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.bind-value[data-v-249a9952]{flex:1;min-width:0;font-size:13px;color:var(--text, #333333);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.live-value[data-v-249a9952]{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-249a9952]{padding:6px 0;font-size:12px;color:var(--text-tertiary, #999999)}.bind-item[data-v-249a9952]{display:flex;align-items:center;gap:6px;padding:4px 0}.bind-dot[data-v-249a9952]{width:10px;height:10px;border-radius:50%;flex-shrink:0}.bind-label[data-v-249a9952]{flex:1;min-width:0;font-size:13px;color:var(--text, #333333);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bind-btn[data-v-249a9952]{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-249a9952]:hover{background:var(--background, #f5f5f5)}.bind-btn--clear[data-v-249a9952]{color:var(--status-error, #d03050)}.bind-btn--clear[data-v-249a9952]:hover{border-color:var(--status-error, #d03050)}.bind-remove[data-v-249a9952]{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-249a9952]:hover{background:var(--background, #f5f5f5);color:var(--status-error, #d03050)}.bind-add[data-v-249a9952]{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-249a9952]:hover{background:var(--background, #f5f5f5)}.plugin-config-panel[data-v-5666fbd6]{--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-5666fbd6]{margin-bottom:16px}.plugin-config-panel .config-section[data-v-5666fbd6]:last-child{margin-bottom:0}.plugin-config-panel .config-section-title[data-v-5666fbd6]{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-5666fbd6]:hover{color:var(--text)}.plugin-config-panel .config-panel-name[data-v-5666fbd6]{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-5666fbd6]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plugin-config-panel .config-collapse-icon[data-v-5666fbd6]{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-5666fbd6]{transform:rotate(90deg)}.plugin-config-panel .config-section-body[data-v-5666fbd6]{overflow:hidden;padding-top:2px}.plugin-config-panel .config-row[data-v-5666fbd6]{display:flex;align-items:center;margin-bottom:var(--pc-gap);gap:var(--pc-gap)}.plugin-config-panel .config-row[data-v-5666fbd6]:last-child{margin-bottom:0}.plugin-config-panel .config-label[data-v-5666fbd6]{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-5666fbd6]{flex:1;min-width:0}.plugin-config-panel .config-input[data-v-5666fbd6],.plugin-config-panel .config-select[data-v-5666fbd6]{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-5666fbd6]:hover,.plugin-config-panel .config-select[data-v-5666fbd6]:hover{border-color:var(--border-light)}.plugin-config-panel .config-input[data-v-5666fbd6]:focus,.plugin-config-panel .config-select[data-v-5666fbd6]: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-5666fbd6]{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-5666fbd6]{width:14px;height:14px;flex:none;accent-color:var(--pc-accent);cursor:pointer}.plugin-config-panel .config-input[type=range][data-v-5666fbd6],.plugin-config-panel .config-control[type=range][data-v-5666fbd6]{padding:0;height:auto;accent-color:var(--pc-accent);cursor:pointer}.plugin-config-panel .config-textarea[data-v-5666fbd6]{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-5666fbd6]: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-5666fbd6]{font-size:11px;color:var(--pc-accent);min-width:32px;text-align:right;flex-shrink:0}.plugin-config-panel .config-readonly[data-v-5666fbd6]{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plugin-config-panel .config-color-picker-wrapper[data-v-5666fbd6]{flex:1;min-width:0}.plugin-config-panel .config-color-array[data-v-5666fbd6]{display:flex;flex-wrap:wrap;gap:4px;flex:1;min-width:0}.plugin-config-panel .config-color-array-item[data-v-5666fbd6]{display:flex;align-items:center;gap:2px;flex:1;min-width:72px}.plugin-config-panel .config-color-array-index[data-v-5666fbd6]{font-size:11px;line-height:1;color:var(--text-secondary);flex-shrink:0}.plugin-config-panel .config-image-picker-inline[data-v-5666fbd6]{flex:1;min-width:0;display:flex;align-items:center;gap:4px}.plugin-config-panel .image-thumb[data-v-5666fbd6]{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-5666fbd6]:hover{border-color:var(--pc-accent)}.plugin-config-panel .image-thumb--has-image[data-v-5666fbd6]{padding:0}.plugin-config-panel .image-thumb-img[data-v-5666fbd6]{width:100%;height:100%;object-fit:cover}.plugin-config-panel .image-thumb-icon[data-v-5666fbd6]{font-size:14px;line-height:1}.plugin-config-panel .image-hidden-input[data-v-5666fbd6]{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.plugin-config-panel .image-select-btn[data-v-5666fbd6]{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-5666fbd6]:hover{background:var(--pc-accent);color:var(--surface)}.plugin-config-panel .image-url-inline-input[data-v-5666fbd6]{min-width:60px}.plugin-config-panel .image-clear-btn-inline[data-v-5666fbd6]{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-5666fbd6]:hover{border-color:var(--status-error);color:var(--status-error);background:var(--control-button-hover)}.plugin-config-panel .config-follow-hint[data-v-5666fbd6]{display:flex;align-items:center;gap:8px;margin-top:4px;width:100%}.plugin-config-panel .config-follow-hint-text[data-v-5666fbd6]{flex:1;font-size:11px;color:var(--status-warning);line-height:1.4}.plugin-config-panel .config-follow-restore[data-v-5666fbd6]{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-5666fbd6]:hover{border-color:var(--primary);background:var(--control-button-hover)}.sme-header[data-v-5666fbd6]{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-5666fbd6]{font-size:12px;font-weight:600;line-height:1.4;letter-spacing:.5px;color:var(--pc-section-title)}.sme-title-wrap[data-v-5666fbd6]{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap}.sme-live-value[data-v-5666fbd6]{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-5666fbd6]{display:flex;flex-direction:column;gap:2px;font-size:11px;line-height:1.4}.sme-bound-row[data-v-5666fbd6]{display:flex;align-items:center;gap:4px;flex-wrap:wrap;min-width:0}.sme-bound-label[data-v-5666fbd6]{flex:none;color:var(--pc-label);white-space:nowrap}.sme-bound-value[data-v-5666fbd6]{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-5666fbd6]{margin-left:auto}.sme-tip[data-v-5666fbd6]{margin:0 0 8px;color:var(--pc-label)}.sme-entry[data-v-5666fbd6]{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-5666fbd6]{max-width:100%}.sme-table[data-v-5666fbd6]{width:100%;min-width:0;table-layout:fixed;border-collapse:collapse}.sme-table th[data-v-5666fbd6],.sme-table td[data-v-5666fbd6]{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-5666fbd6]{font-size:11px;color:var(--pc-label)}.sme-col-state[data-v-5666fbd6]{width:40px}.sme-col-value[data-v-5666fbd6]{width:56px}.sme-col-blink[data-v-5666fbd6]{width:122px}.sme-col-action[data-v-5666fbd6]{width:28px}.sme-blink-cell[data-v-5666fbd6]{display:flex;align-items:center;gap:4px}.sme-inline[data-v-5666fbd6]{display:inline-flex;align-items:center;min-width:0}.sme-inline.sme-number[data-v-5666fbd6]{width:56px;flex:none}.sme-input[data-v-5666fbd6]{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-5666fbd6]:focus{outline:none;border-color:var(--pc-accent);box-shadow:0 0 0 2px var(--border-focus, transparent)}.sme-input-block[data-v-5666fbd6]{width:100%}select.sme-input[data-v-5666fbd6]{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-5666fbd6]{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-5666fbd6]{width:56px;flex:none;min-width:0}.sme-number[data-v-5666fbd6] .number-field .number-field-input{padding:0 2px;text-align:center}.sme-color-picker[data-v-5666fbd6]{width:38px;flex:none}.sme-color-picker[data-v-5666fbd6] .color-picker .color-preview{width:22px}.sme-color-picker[data-v-5666fbd6] .color-picker .color-value-text{display:none}.sme-color-picker[data-v-5666fbd6] .color-picker .color-picker-button{padding:0 2px;font-size:10px}.sme-btn[data-v-5666fbd6]{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-5666fbd6]:hover{background:var(--pc-accent);color:var(--surface)}.sme-btn-danger[data-v-5666fbd6]{border-color:var(--pc-border);color:var(--status-error, #e74c3c)}.sme-btn-danger[data-v-5666fbd6]:hover{border-color:var(--status-error, #e74c3c);background:var(--status-error, #e74c3c);color:var(--surface)}.sme-btn-icon[data-v-5666fbd6]{width:22px;height:22px;padding:0;display:inline-flex;align-items:center;justify-content:center}.sme-entry-remove[data-v-5666fbd6]{margin-left:auto;font-size:16px;line-height:1}.sme-textarea[data-v-5666fbd6]{font-family:monospace;min-height:40px}.sme-footer[data-v-5666fbd6]{display:flex;gap:8px;margin-top:4px}.plugin-config-panel[data-v-3d87c789]{--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-3d87c789]{margin-bottom:16px}.plugin-config-panel .config-section[data-v-3d87c789]:last-child{margin-bottom:0}.plugin-config-panel .config-section-title[data-v-3d87c789]{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-3d87c789]:hover{color:var(--text)}.plugin-config-panel .config-panel-name[data-v-3d87c789]{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-3d87c789]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plugin-config-panel .config-collapse-icon[data-v-3d87c789]{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-3d87c789]{transform:rotate(90deg)}.plugin-config-panel .config-section-body[data-v-3d87c789]{overflow:hidden;padding-top:2px}.plugin-config-panel .config-row[data-v-3d87c789]{display:flex;align-items:center;margin-bottom:var(--pc-gap);gap:var(--pc-gap)}.plugin-config-panel .config-row[data-v-3d87c789]:last-child{margin-bottom:0}.plugin-config-panel .config-label[data-v-3d87c789]{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-3d87c789]{flex:1;min-width:0}.plugin-config-panel .config-input[data-v-3d87c789],.plugin-config-panel .config-select[data-v-3d87c789]{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-3d87c789]:hover,.plugin-config-panel .config-select[data-v-3d87c789]:hover{border-color:var(--border-light)}.plugin-config-panel .config-input[data-v-3d87c789]:focus,.plugin-config-panel .config-select[data-v-3d87c789]: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-3d87c789]{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-3d87c789]{width:14px;height:14px;flex:none;accent-color:var(--pc-accent);cursor:pointer}.plugin-config-panel .config-input[type=range][data-v-3d87c789],.plugin-config-panel .config-control[type=range][data-v-3d87c789]{padding:0;height:auto;accent-color:var(--pc-accent);cursor:pointer}.plugin-config-panel .config-textarea[data-v-3d87c789]{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-3d87c789]: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-3d87c789]{font-size:11px;color:var(--pc-accent);min-width:32px;text-align:right;flex-shrink:0}.plugin-config-panel .config-readonly[data-v-3d87c789]{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plugin-config-panel .config-color-picker-wrapper[data-v-3d87c789]{flex:1;min-width:0}.plugin-config-panel .config-color-array[data-v-3d87c789]{display:flex;flex-wrap:wrap;gap:4px;flex:1;min-width:0}.plugin-config-panel .config-color-array-item[data-v-3d87c789]{display:flex;align-items:center;gap:2px;flex:1;min-width:72px}.plugin-config-panel .config-color-array-index[data-v-3d87c789]{font-size:11px;line-height:1;color:var(--text-secondary);flex-shrink:0}.plugin-config-panel .config-image-picker-inline[data-v-3d87c789]{flex:1;min-width:0;display:flex;align-items:center;gap:4px}.plugin-config-panel .image-thumb[data-v-3d87c789]{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-3d87c789]:hover{border-color:var(--pc-accent)}.plugin-config-panel .image-thumb--has-image[data-v-3d87c789]{padding:0}.plugin-config-panel .image-thumb-img[data-v-3d87c789]{width:100%;height:100%;object-fit:cover}.plugin-config-panel .image-thumb-icon[data-v-3d87c789]{font-size:14px;line-height:1}.plugin-config-panel .image-hidden-input[data-v-3d87c789]{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.plugin-config-panel .image-select-btn[data-v-3d87c789]{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-3d87c789]:hover{background:var(--pc-accent);color:var(--surface)}.plugin-config-panel .image-url-inline-input[data-v-3d87c789]{min-width:60px}.plugin-config-panel .image-clear-btn-inline[data-v-3d87c789]{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-3d87c789]:hover{border-color:var(--status-error);color:var(--status-error);background:var(--control-button-hover)}.plugin-config-panel .config-follow-hint[data-v-3d87c789]{display:flex;align-items:center;gap:8px;margin-top:4px;width:100%}.plugin-config-panel .config-follow-hint-text[data-v-3d87c789]{flex:1;font-size:11px;color:var(--status-warning);line-height:1.4}.plugin-config-panel .config-follow-restore[data-v-3d87c789]{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-3d87c789]:hover{border-color:var(--primary);background:var(--control-button-hover)}.vme-tip[data-v-3d87c789]{margin:0 0 6px;font-size:11px;color:var(--pc-label)}.sme-entry[data-v-3d87c789]{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-3d87c789]{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-3d87c789]:hover{background:var(--pc-accent);color:var(--surface)}.sme-btn[data-v-3d87c789]:disabled{opacity:.4;cursor:not-allowed;border-color:var(--pc-border);color:var(--pc-label)}.sme-btn-danger[data-v-3d87c789]{--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-3d87c789]:hover{background:var(--btn-fg);color:#fff}.sme-btn-icon[data-v-3d87c789]{width:22px;min-width:22px;height:22px;padding:0;font-size:14px;line-height:1}.sme-table-wrap[data-v-3d87c789]{overflow-x:auto;margin-bottom:var(--pc-gap)}.sme-table[data-v-3d87c789]{width:100%;max-width:368px;table-layout:fixed;border-collapse:collapse;font-size:var(--pc-font-size)}.sme-table th[data-v-3d87c789],.sme-table td[data-v-3d87c789]{padding:3px 4px;text-align:left;vertical-align:middle;border:1px solid var(--pc-border);overflow:hidden}.sme-table td .sme-number[data-v-3d87c789],.sme-table td .config-control[data-v-3d87c789]{width:100%;max-width:100%;box-sizing:border-box}.sme-table th[data-v-3d87c789]{font-weight:600;color:var(--pc-label);background:var(--surface)}.sme-col-action[data-v-3d87c789]{width:28px}.vme-col-num[data-v-3d87c789]{width:76px}.vme-col-color[data-v-3d87c789]{width:44px}.vme-col-blink[data-v-3d87c789]{width:144px}.sme-inline[data-v-3d87c789]{display:inline-flex;align-items:center;gap:4px;vertical-align:middle}.sme-footer[data-v-3d87c789]{display:flex;align-items:center;gap:var(--pc-gap);padding-top:4px}.plugin-config-panel[data-v-a09e1b47]{--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-a09e1b47]{margin-bottom:16px}.plugin-config-panel .config-section[data-v-a09e1b47]:last-child{margin-bottom:0}.plugin-config-panel .config-section-title[data-v-a09e1b47]{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-a09e1b47]:hover{color:var(--text)}.plugin-config-panel .config-panel-name[data-v-a09e1b47]{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-a09e1b47]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plugin-config-panel .config-collapse-icon[data-v-a09e1b47]{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-a09e1b47]{transform:rotate(90deg)}.plugin-config-panel .config-section-body[data-v-a09e1b47]{overflow:hidden;padding-top:2px}.plugin-config-panel .config-row[data-v-a09e1b47]{display:flex;align-items:center;margin-bottom:var(--pc-gap);gap:var(--pc-gap)}.plugin-config-panel .config-row[data-v-a09e1b47]:last-child{margin-bottom:0}.plugin-config-panel .config-label[data-v-a09e1b47]{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-a09e1b47]{flex:1;min-width:0}.plugin-config-panel .config-input[data-v-a09e1b47],.plugin-config-panel .config-select[data-v-a09e1b47]{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-a09e1b47]:hover,.plugin-config-panel .config-select[data-v-a09e1b47]:hover{border-color:var(--border-light)}.plugin-config-panel .config-input[data-v-a09e1b47]:focus,.plugin-config-panel .config-select[data-v-a09e1b47]: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-a09e1b47]{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-a09e1b47]{width:14px;height:14px;flex:none;accent-color:var(--pc-accent);cursor:pointer}.plugin-config-panel .config-input[type=range][data-v-a09e1b47],.plugin-config-panel .config-control[type=range][data-v-a09e1b47]{padding:0;height:auto;accent-color:var(--pc-accent);cursor:pointer}.plugin-config-panel .config-textarea[data-v-a09e1b47]{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-a09e1b47]: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-a09e1b47]{font-size:11px;color:var(--pc-accent);min-width:32px;text-align:right;flex-shrink:0}.plugin-config-panel .config-readonly[data-v-a09e1b47]{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plugin-config-panel .config-color-picker-wrapper[data-v-a09e1b47]{flex:1;min-width:0}.plugin-config-panel .config-color-array[data-v-a09e1b47]{display:flex;flex-wrap:wrap;gap:4px;flex:1;min-width:0}.plugin-config-panel .config-color-array-item[data-v-a09e1b47]{display:flex;align-items:center;gap:2px;flex:1;min-width:72px}.plugin-config-panel .config-color-array-index[data-v-a09e1b47]{font-size:11px;line-height:1;color:var(--text-secondary);flex-shrink:0}.plugin-config-panel .config-image-picker-inline[data-v-a09e1b47]{flex:1;min-width:0;display:flex;align-items:center;gap:4px}.plugin-config-panel .image-thumb[data-v-a09e1b47]{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-a09e1b47]:hover{border-color:var(--pc-accent)}.plugin-config-panel .image-thumb--has-image[data-v-a09e1b47]{padding:0}.plugin-config-panel .image-thumb-img[data-v-a09e1b47]{width:100%;height:100%;object-fit:cover}.plugin-config-panel .image-thumb-icon[data-v-a09e1b47]{font-size:14px;line-height:1}.plugin-config-panel .image-hidden-input[data-v-a09e1b47]{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.plugin-config-panel .image-select-btn[data-v-a09e1b47]{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-a09e1b47]:hover{background:var(--pc-accent);color:var(--surface)}.plugin-config-panel .image-url-inline-input[data-v-a09e1b47]{min-width:60px}.plugin-config-panel .image-clear-btn-inline[data-v-a09e1b47]{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-a09e1b47]:hover{border-color:var(--status-error);color:var(--status-error);background:var(--control-button-hover)}.plugin-config-panel .config-follow-hint[data-v-a09e1b47]{display:flex;align-items:center;gap:8px;margin-top:4px;width:100%}.plugin-config-panel .config-follow-hint-text[data-v-a09e1b47]{flex:1;font-size:11px;color:var(--status-warning);line-height:1.4}.plugin-config-panel .config-follow-restore[data-v-a09e1b47]{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-a09e1b47]:hover{border-color:var(--primary);background:var(--control-button-hover)}.unified-mapping-editor[data-v-a09e1b47]{width:100%}.ume-header[data-v-a09e1b47]{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-a09e1b47]{font-size:12px;font-weight:600;line-height:1.4;letter-spacing:.5px;color:var(--pc-section-title)}.ume-title-wrap[data-v-a09e1b47]{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap}.ume-bound-info[data-v-a09e1b47]{display:flex;flex-direction:column;gap:2px;font-size:11px;line-height:1.4}.ume-bound-row[data-v-a09e1b47]{display:flex;align-items:center;gap:4px;flex-wrap:wrap;min-width:0}.ume-bound-label[data-v-a09e1b47]{flex:none;color:var(--pc-label);white-space:nowrap}.ume-bound-value[data-v-a09e1b47]{flex:1;min-width:0;color:var(--pc-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ume-live-value[data-v-a09e1b47]{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-a09e1b47]{margin:0 0 8px;color:var(--pc-label);font-size:11px}.ume-todo[data-v-a09e1b47]{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-a09e1b47]{margin-top:8px}.ume-table-wrap[data-v-a09e1b47]{max-width:100%}.ume-table[data-v-a09e1b47]{width:100%;min-width:0;table-layout:fixed;border-collapse:collapse}.ume-table th[data-v-a09e1b47],.ume-table td[data-v-a09e1b47]{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-a09e1b47]{font-size:11px;color:var(--pc-label)}.ume-input[data-v-a09e1b47]{width:100%;padding:2px 4px;font-size:12px}.ume-select[data-v-a09e1b47]{width:100%}.ume-match-type[data-v-a09e1b47]{width:100px;flex:none;min-width:0}.ume-priority-label[data-v-a09e1b47]{min-width:48px;width:auto}.ume-number[data-v-a09e1b47]{width:48px;flex:none;min-width:0}.ume-btn-danger[data-v-a09e1b47]{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-a09e1b47]:hover{background:var(--pc-danger-hover)}.ume-delete-mapping[data-v-a09e1b47]{margin-left:auto;flex:none}.ume-add-btn[data-v-a09e1b47]{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-a09e1b47]:hover{border-color:var(--pc-accent);color:var(--pc-accent)}.ume-default-row[data-v-a09e1b47]{margin-top:8px;font-size:12px;display:flex;align-items:center;gap:6px;color:var(--pc-text)}.ume-default-row .config-select[data-v-a09e1b47]{width:auto;min-width:80px}.ume-hint[data-v-a09e1b47]{margin-top:6px;font-size:11px;color:var(--pc-label)}.ume-col-value[data-v-a09e1b47]{width:48px}.ume-col-min[data-v-a09e1b47],.ume-col-max[data-v-a09e1b47]{width:46px}.ume-col-status[data-v-a09e1b47]{width:64px}.ume-col-color[data-v-a09e1b47]{width:86px}.ume-col-action[data-v-a09e1b47]{width:28px}.ume-color-picker[data-v-a09e1b47]{width:100%;flex:none}.ume-color-picker[data-v-a09e1b47] .color-picker-trigger{width:100%}.ume-color-picker[data-v-a09e1b47] .color-preview{width:auto;flex:1 1 auto;min-width:44px}.ume-color-picker[data-v-a09e1b47] .color-value-text{display:block;font-size:10px}.ume-color-picker[data-v-a09e1b47] .color-picker-button{padding:0 2px;font-size:10px}.ume-inline-row[data-v-a09e1b47]{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:12px}.ume-input-num[data-v-a09e1b47]{width:64px;flex:none}.ume-tilde[data-v-a09e1b47]{color:var(--pc-label);flex:none}.ume-sub-title[data-v-a09e1b47]{margin-top:10px;margin-bottom:4px;font-size:11px;color:var(--pc-label);letter-spacing:.3px}.ume-stop-list[data-v-a09e1b47]{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-a09e1b47]{display:flex;align-items:center;gap:4px}.ume-stop-offset[data-v-a09e1b47]{width:64px}.ume-full[data-v-a09e1b47]{width:100%}.ume-expression[data-v-a09e1b47]{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;margin-top:4px}.map-picker-overlay[data-v-aa8b0cee]{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-aa8b0cee]{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-aa8b0cee]{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-aa8b0cee]{font-size:16px;font-weight:600;color:var(--text);margin:0}.modal-close[data-v-aa8b0cee]{background:none;border:none;font-size:24px;color:var(--text-secondary);cursor:pointer;padding:0;line-height:1}.modal-close[data-v-aa8b0cee]:hover{color:var(--text)}.map-picker-body[data-v-aa8b0cee]{flex:1;display:flex;flex-direction:column;min-height:0;position:relative}.map-search-bar[data-v-aa8b0cee]{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-aa8b0cee]{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-aa8b0cee]:focus{border-color:var(--primary)}.btn-locate[data-v-aa8b0cee]{display:inline-flex;align-items:center;justify-content:center}.map-search-results[data-v-aa8b0cee]{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-aa8b0cee]{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-aa8b0cee]:last-child{border-bottom:none}.search-result-item[data-v-aa8b0cee]:hover{background:color-mix(in srgb,var(--primary) 10%,transparent)}.search-result-item svg[data-v-aa8b0cee]{flex-shrink:0;color:var(--primary)}.result-text[data-v-aa8b0cee]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-container[data-v-aa8b0cee]{flex:1;min-height:0;background:var(--background)}.coord-display[data-v-aa8b0cee]{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-aa8b0cee]{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text);font-family:Courier New,monospace}.coord-label[data-v-aa8b0cee]{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-aa8b0cee]{margin-left:auto;font-size:11px;color:var(--text-secondary);opacity:.8}.map-picker-footer[data-v-aa8b0cee]{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-aa8b0cee]{font-size:11px;color:var(--text-secondary);opacity:.7}.footer-actions[data-v-aa8b0cee]{display:flex;gap:8px}.btn[data-v-aa8b0cee]{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-aa8b0cee]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-aa8b0cee]{background:var(--primary);color:var(--text)}.btn-primary[data-v-aa8b0cee]:hover:not(:disabled){opacity:.9}.btn-secondary[data-v-aa8b0cee]{background:var(--border-light);color:var(--text)}.btn-secondary[data-v-aa8b0cee]:hover:not(:disabled){background:var(--border)}.btn-sm[data-v-aa8b0cee]{padding:6px 12px;font-size:13px}.project-list[data-v-74576c91]{padding:20px}.page-header[data-v-74576c91]{display:flex;align-items:center;gap:12px;margin-bottom:12px}.header-left[data-v-74576c91]{display:flex;align-items:baseline;gap:10px;flex-shrink:0}.header-actions[data-v-74576c91]{display:flex;align-items:center;gap:6px;flex-shrink:0}.spinning[data-v-74576c91]{animation:spin-74576c91 .8s linear infinite}.page-title[data-v-74576c91]{font-size:20px;font-weight:700;color:var(--text);margin:0}.project-count[data-v-74576c91]{font-size:12px;color:var(--text-secondary)}.search-bar[data-v-74576c91]{position:relative;flex:1;max-width:360px;margin:0 auto}.search-icon[data-v-74576c91]{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--border);pointer-events:none}.search-input[data-v-74576c91]{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-74576c91]::placeholder{color:var(--border)}.search-input[data-v-74576c91]:focus{border-color:var(--primary)}.filter-bar[data-v-74576c91]{flex-shrink:0}.filter-select[data-v-74576c91]{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-74576c91]:hover{border-color:var(--primary)}.filter-select[data-v-74576c91]:focus{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 20%,transparent)}.loading-state[data-v-74576c91],.error-state[data-v-74576c91],.empty-state[data-v-74576c91]{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-74576c91]{color:var(--border-light);margin-bottom:8px}.empty-state h3[data-v-74576c91]{font-size:18px;color:var(--text-secondary);margin:0}.empty-state p[data-v-74576c91]{margin:0;font-size:14px}.empty-hint[data-v-74576c91]{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-74576c91]{width:32px;height:32px;border:3px solid var(--border-light);border-top-color:var(--primary);border-radius:50%;animation:spin-74576c91 .8s linear infinite}@keyframes spin-74576c91{to{transform:rotate(360deg)}}.project-grid[data-v-74576c91]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.project-card[data-v-74576c91]{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-74576c91]:hover{border-color:var(--primary);box-shadow:0 8px 24px #0003;transform:translateY(-2px)}.project-card.is-recent[data-v-74576c91]{border-color:color-mix(in srgb,var(--status-success) 40%,var(--border-light))}.project-card.is-recent[data-v-74576c91]:before{content:"";position:absolute;top:0;left:0;bottom:0;width:3px;background:var(--status-success);opacity:.6}.project-card.is-disabled[data-v-74576c91]{opacity:.65;filter:saturate(.6)}.project-card.is-disabled[data-v-74576c91]: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-74576c91]:hover{opacity:.85;filter:saturate(.85)}.project-card:hover .card-actions[data-v-74576c91]{opacity:1}.card-cover[data-v-74576c91]{position:relative;height:88px;margin:-14px -14px 12px;overflow:hidden;background:var(--border-light)}.card-cover-img[data-v-74576c91]{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.project-card:hover .card-cover-img[data-v-74576c91]{transform:scale(1.05)}.card-cover-fallback[data-v-74576c91]{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.cover-initial[data-v-74576c91]{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-74576c91]{background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 55%,black))}.cover-accent-1[data-v-74576c91]{background:linear-gradient(135deg,var(--status-success),color-mix(in srgb,var(--status-success) 55%,black))}.cover-accent-2[data-v-74576c91]{background:linear-gradient(135deg,var(--status-warning),color-mix(in srgb,var(--status-warning) 55%,black))}.cover-accent-3[data-v-74576c91]{background:linear-gradient(135deg,var(--status-error),color-mix(in srgb,var(--status-error) 55%,black))}.cover-accent-4[data-v-74576c91]{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-74576c91]{background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 55%,black))}.cover-chip[data-v-74576c91]{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-74576c91]{bottom:6px;left:6px;color:var(--status-success)}.cover-chip-disabled[data-v-74576c91]{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-74576c91]{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-74576c91]{width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 6px #ffffffe6;animation:pulse-74576c91 2s ease-in-out infinite}.cover-chip-default[data-v-74576c91]{top:6px;right:6px;color:var(--primary)}.card-header[data-v-74576c91]{display:flex;align-items:center;gap:8px;margin-bottom:8px}.card-title-wrap[data-v-74576c91]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.card-title[data-v-74576c91]{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-74576c91]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.card-time[data-v-74576c91]{font-size:11px;color:var(--text-secondary);opacity:.75}.recent-dot[data-v-74576c91]{width:5px;height:5px;border-radius:50%;background:var(--status-success);animation:pulse-74576c91 2s ease-in-out infinite}@keyframes pulse-74576c91{0%,to{opacity:1}50%{opacity:.4}}.card-actions[data-v-74576c91]{display:flex;gap:4px;flex-shrink:0;opacity:0;transition:opacity .2s}.btn-icon[data-v-74576c91]{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-74576c91]:hover{background:var(--border-light);color:var(--text)}.btn-icon-danger[data-v-74576c91]:hover{background:var(--status-error);border-color:var(--status-error);color:var(--text)}.btn-icon-warning[data-v-74576c91]{color:var(--status-warning);border-color:color-mix(in srgb,var(--status-warning) 40%,var(--border-light))}.btn-icon-warning[data-v-74576c91]:hover{background:var(--status-warning);border-color:var(--status-warning);color:var(--text)}.card-desc[data-v-74576c91]{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-74576c91]{color:var(--border);font-style:italic;opacity:.7}.card-stats[data-v-74576c91]{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-74576c91]{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:2px}.stat-value[data-v-74576c91]{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-74576c91]{font-size:10px;color:var(--text-secondary);opacity:.75;letter-spacing:.3px}.stat-divider[data-v-74576c91]{width:1px;height:22px;background:var(--border-light);margin:0 6px;flex-shrink:0}.card-resources[data-v-74576c91]{margin-top:auto;padding-top:6px;display:flex;flex-direction:column;gap:1px}.resource-item[data-v-74576c91]{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-74576c91]{opacity:.8}.resource-item svg[data-v-74576c91]{flex-shrink:0;color:var(--border)}.resource-value[data-v-74576c91]{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-74576c91]{display:flex;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border-light)}.btn-ghost[data-v-74576c91]{background:transparent;color:var(--text-secondary);border:1px solid var(--border-light)}.btn-ghost[data-v-74576c91]:hover:not(:disabled){background:var(--border-light);color:var(--text);border-color:var(--border)}.btn-manage[data-v-74576c91]{flex:1;justify-content:center}.btn-open[data-v-74576c91]{flex:1.5;justify-content:center}.pagination[data-v-74576c91]{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-74576c91]{font-size:13px;color:var(--text-secondary);min-width:70px;text-align:center}.btn[data-v-74576c91]{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-74576c91]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-74576c91]{background:var(--primary);color:var(--text)}.btn-primary[data-v-74576c91]:hover:not(:disabled){background:var(--button-hover)}.btn-secondary[data-v-74576c91]{background:var(--border-light);color:var(--text)}.btn-secondary[data-v-74576c91]:hover:not(:disabled){background:var(--border)}.btn-danger[data-v-74576c91]{background:var(--status-error);color:var(--text)}.btn-danger[data-v-74576c91]:hover:not(:disabled){background:var(--status-error)}.btn-sm[data-v-74576c91]{padding:6px 12px;font-size:13px}.modal-overlay[data-v-74576c91]{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-74576c91]{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-74576c91]{width:400px}.modal-header[data-v-74576c91]{display:flex;align-items:center;justify-content:space-between;padding:14px 20px 0}.modal-header h2[data-v-74576c91]{font-size:16px;font-weight:600;color:var(--text);margin:0}.modal-close[data-v-74576c91]{background:none;border:none;font-size:24px;color:var(--text-secondary);cursor:pointer;padding:0;line-height:1}.modal-close[data-v-74576c91]:hover{color:var(--text)}.modal-body[data-v-74576c91]{padding:14px 20px;display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;align-items:start}.modal-body .full-width[data-v-74576c91]{grid-column:1 / -1}.modal-footer[data-v-74576c91]{display:flex;justify-content:flex-end;gap:8px;padding:0 20px 14px}.form-group[data-v-74576c91]{margin-bottom:10px}.form-row[data-v-74576c91]{display:flex;gap:12px}.form-row .form-group[data-v-74576c91]{flex:1;min-width:0}.geocode-row[data-v-74576c91]{display:flex;align-items:center;gap:10px;margin-bottom:10px}.btn-geocode[data-v-74576c91]{flex-shrink:0}.geocode-hint[data-v-74576c91]{font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.geocode-hint.hint-success[data-v-74576c91]{color:var(--status-success)}.geocode-hint.hint-error[data-v-74576c91]{color:var(--status-error)}.image-upload-area[data-v-74576c91]{width:100%}.image-preview-wrapper[data-v-74576c91]{position:relative;width:100%;height:120px;border-radius:8px;overflow:hidden;border:1px solid var(--border);background:var(--surface-secondary)}.image-preview[data-v-74576c91]{width:100%;height:100%;object-fit:cover}.image-remove-btn[data-v-74576c91]{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-74576c91]:hover{background:#000000d9}.image-upload-placeholder[data-v-74576c91]{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-74576c91]:hover{border-color:var(--primary);color:var(--primary)}.image-file-input[data-v-74576c91]{display:none}.form-label[data-v-74576c91]{display:block;font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:4px}.required[data-v-74576c91]{color:var(--status-error)}.form-input[data-v-74576c91]{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-74576c91]::placeholder{color:var(--border)}.form-input[data-v-74576c91]:focus{border-color:var(--primary)}.form-input-disabled[data-v-74576c91]{opacity:.6;cursor:not-allowed;background:var(--border-light)}.form-hint[data-v-74576c91]{font-size:11px;color:var(--text-secondary);margin:2px 0 0}.form-group-switch[data-v-74576c91]{padding:8px 10px;background:var(--background, var(--border-light));border:1px solid var(--border-light);border-radius:7px}.switch-row[data-v-74576c91]{display:flex;align-items:center;gap:10px;margin-top:2px}.switch[data-v-74576c91]{position:relative;display:inline-block;width:36px;height:20px;flex-shrink:0}.switch input[data-v-74576c91]{opacity:0;width:0;height:0}.switch-slider[data-v-74576c91]{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-74576c91]: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-74576c91]{background:var(--status-success)}.switch input:checked+.switch-slider[data-v-74576c91]:before{transform:translate(16px)}.switch-label[data-v-74576c91]{font-size:12px;font-weight:500;color:var(--text)}.form-textarea[data-v-74576c91]{resize:vertical;min-height:50px}.form-success[data-v-74576c91]{color:var(--status-success);font-size:12px;margin:-6px 0 0}.form-error[data-v-74576c91]{color:var(--status-error);font-size:12px;margin:-6px 0 0}.warning-text[data-v-74576c91]{color:var(--status-warning);font-size:13px;margin:8px 0 0}.project-manage[data-v-aa52490d]{padding:20px 24px 32px;width:100%;min-height:100%;box-sizing:border-box}.page-header[data-v-aa52490d]{display:flex;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}.tab-section-heading[data-v-aa52490d]{display:flex;align-items:center;gap:12px;margin:24px 0 12px}.tab-section-heading[data-v-aa52490d]:first-of-type{margin-top:4px}.tab-section-heading h3[data-v-aa52490d]{margin:0;font-size:15px;font-weight:600;color:var(--text);white-space:nowrap}.tab-section-heading .heading-line[data-v-aa52490d]{flex:1;height:1px;background:var(--border)}.loading-state[data-v-aa52490d],.error-state[data-v-aa52490d]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:var(--text-secondary);gap:12px}.spinner[data-v-aa52490d]{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin-aa52490d .8s linear infinite}@keyframes spin-aa52490d{to{transform:rotate(360deg)}}.tab-content[data-v-aa52490d]{animation:fadeIn-aa52490d .2s ease}@keyframes fadeIn-aa52490d{0%{opacity:0}to{opacity:1}}.info-panel[data-v-aa52490d]{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:24px;min-height:400px}.info-header[data-v-aa52490d]{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-aa52490d]{display:flex;align-items:center;gap:14px;min-width:0}.project-icon[data-v-aa52490d]{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-aa52490d]{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}.header-title[data-v-aa52490d]{display:flex;flex-direction:column;gap:6px;min-width:0}.header-title-row[data-v-aa52490d]{display:flex;align-items:center;gap:10px;min-width:0}.header-dbmode-badge[data-v-aa52490d]{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-aa52490d]{background:color-mix(in srgb,var(--status-online) 15%,transparent);color:var(--status-online)}.header-dbmode-badge.badge-info[data-v-aa52490d]{background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary)}.header-meta[data-v-aa52490d]{display:flex;flex-wrap:wrap;gap:16px;margin-top:2px}.meta-item[data-v-aa52490d]{display:inline-flex;align-items:center;gap:6px;font-size:12px}.meta-label[data-v-aa52490d]{color:var(--text-secondary)}.meta-value[data-v-aa52490d]{color:var(--text)}.meta-value.mono[data-v-aa52490d]{font-family:Courier New,monospace;color:var(--primary)}.info-header h2[data-v-aa52490d]{font-size:20px;font-weight:600;color:var(--text);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-desc[data-v-aa52490d]{font-size:13px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.version-badge[data-v-aa52490d]{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-aa52490d]{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.version-edit-btn[data-v-aa52490d]{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-aa52490d]:hover{background:var(--primary);color:var(--text)}.version-input[data-v-aa52490d]{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-aa52490d],.version-cancel-btn[data-v-aa52490d]{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-aa52490d]{background:color-mix(in srgb,var(--status-success) 15%,transparent);color:var(--status-success)}.version-save-btn[data-v-aa52490d]:hover:not(:disabled){background:var(--status-success);color:var(--text)}.version-save-btn[data-v-aa52490d]:disabled{opacity:.5;cursor:not-allowed}.version-cancel-btn[data-v-aa52490d]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.version-cancel-btn[data-v-aa52490d]:hover{background:var(--status-error);color:var(--text)}.info-cards[data-v-aa52490d]{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}.info-card[data-v-aa52490d]{background:var(--background);border:1px solid var(--border);border-radius:8px;overflow:hidden;transition:border-color .2s}.info-card[data-v-aa52490d]:hover{border-color:color-mix(in srgb,var(--primary) 40%,var(--border))}.card-header[data-v-aa52490d]{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-aa52490d]{color:var(--primary);flex-shrink:0}.card-title[data-v-aa52490d]{font-size:13px;font-weight:600;color:var(--text);text-transform:uppercase;letter-spacing:.3px}.card-body[data-v-aa52490d]{padding:12px 14px;display:flex;flex-direction:column;gap:10px}.field-row[data-v-aa52490d]{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:28px}.field-row.field-col[data-v-aa52490d]{flex-direction:column;align-items:stretch;gap:4px}.field-label-row[data-v-aa52490d]{display:flex;align-items:center;justify-content:space-between;gap:8px}.field-label[data-v-aa52490d]{font-size:12px;color:var(--text-secondary);flex-shrink:0}.field-value[data-v-aa52490d]{font-size:13px;color:var(--text);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-value.mono[data-v-aa52490d]{font-family:Courier New,monospace;font-size:12px;color:var(--primary)}.field-value.mono.pill[data-v-aa52490d]{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-aa52490d]{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-aa52490d],.field-actions[data-v-aa52490d]{display:flex;align-items:center;gap:6px}.field-value strong[data-v-aa52490d]{font-size:16px;font-weight:600;color:var(--text)}.unit[data-v-aa52490d]{margin-left:4px;font-size:12px;color:var(--text-secondary)}.tag[data-v-aa52490d]{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-family:Courier New,monospace}.tag-success[data-v-aa52490d]{background:color-mix(in srgb,var(--status-online) 15%,transparent);color:var(--status-online)}.tag-info[data-v-aa52490d]{background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary)}.size-tag[data-v-aa52490d]{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-aa52490d]{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-aa52490d]:hover{background:var(--primary);color:var(--text)}.import-export-panel[data-v-aa52490d]{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-aa52490d]{flex:1 1 320px;min-width:0;border:1px solid var(--border);border-radius:8px;padding:20px;background:var(--background)}.section-title[data-v-aa52490d]{font-size:16px;font-weight:600;color:var(--text);margin:0 0 8px}.section-desc[data-v-aa52490d]{font-size:13px;color:var(--text-secondary);margin:0 0 16px}.export-options[data-v-aa52490d],.import-options[data-v-aa52490d]{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.checkbox-label[data-v-aa52490d],.radio-label[data-v-aa52490d]{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text);cursor:pointer}.checkbox-label input[data-v-aa52490d],.radio-label input[data-v-aa52490d]{accent-color:var(--primary)}.action-buttons[data-v-aa52490d]{display:flex;gap:8px}.file-input-hidden[data-v-aa52490d]{display:none}.import-result[data-v-aa52490d]{margin-top:12px;padding:10px 14px;border-radius:6px;font-size:13px}.text-success[data-v-aa52490d]{color:var(--status-online)}.text-error[data-v-aa52490d]{color:var(--status-error)}.diagnose-panel[data-v-aa52490d]{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:24px;min-height:400px}.diagnose-empty[data-v-aa52490d]{text-align:center;padding:40px 20px;color:var(--text-secondary)}.diagnose-empty p[data-v-aa52490d]{margin-bottom:16px}.diagnose-health-header[data-v-aa52490d]{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-aa52490d]{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-aa52490d]{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-aa52490d]{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-aa52490d],.diagnose-issues[data-v-aa52490d],.diagnose-repair-result[data-v-aa52490d]{margin-bottom:16px}.diagnose-resource-list h4[data-v-aa52490d],.diagnose-issues h4[data-v-aa52490d],.diagnose-repair-result h4[data-v-aa52490d]{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-aa52490d]{display:flex;align-items:center;gap:8px;padding:6px 4px;font-size:13px;border-bottom:1px solid var(--background)}.diagnose-resource-item[data-v-aa52490d]:last-child{border-bottom:none}.status-icon[data-v-aa52490d]{font-size:16px;flex-shrink:0}.resource-name[data-v-aa52490d]{flex-shrink:0;font-weight:500;color:var(--text);min-width:120px}.resource-path[data-v-aa52490d]{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-aa52490d]{font-size:11px;color:var(--text-secondary);opacity:.7;flex-shrink:0}.status-tag[data-v-aa52490d]{font-size:11px;padding:2px 8px;border-radius:12px;flex-shrink:0}.status-tag.tag-ok[data-v-aa52490d]{background:color-mix(in srgb,var(--status-success) 15%,transparent);color:var(--status-success)}.status-tag.tag-empty[data-v-aa52490d]{background:color-mix(in srgb,var(--status-warning) 15%,transparent);color:var(--status-warning)}.status-tag.tag-missing[data-v-aa52490d],.status-tag.tag-error[data-v-aa52490d]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.diagnose-issues ol[data-v-aa52490d]{margin:0;padding-left:20px;font-size:13px;color:var(--text)}.diagnose-issues ol li[data-v-aa52490d]{margin-bottom:4px;line-height:1.6}.diagnose-repair-result .repair-section[data-v-aa52490d]{margin-bottom:8px}.diagnose-repair-result ul[data-v-aa52490d]{margin:4px 0 0;padding-left:20px;font-size:13px}.repair-success ul li[data-v-aa52490d]{color:var(--status-success)}.repair-warnings ul li[data-v-aa52490d]{color:var(--status-warning)}.diagnose-actions[data-v-aa52490d]{display:flex;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.health-badge[data-v-aa52490d]{font-size:18px}.health-label[data-v-aa52490d]{font-size:13px}.health-dbmode[data-v-aa52490d]{font-size:12px;opacity:.7;margin-left:auto}.btn[data-v-aa52490d]{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-aa52490d]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-aa52490d]{background:var(--primary);color:var(--text)}.btn-primary[data-v-aa52490d]:hover:not(:disabled){opacity:.9}.btn-secondary[data-v-aa52490d]{background:var(--border);color:var(--text)}.btn-secondary[data-v-aa52490d]:hover:not(:disabled){background:var(--text-secondary);color:var(--text)}.btn-sm[data-v-aa52490d]{padding:6px 12px;font-size:13px}.page-management[data-v-956287af]{padding:24px}.page-header[data-v-956287af]{display:flex;align-items:center;gap:16px;margin-bottom:16px}.header-left[data-v-956287af]{display:flex;align-items:baseline;gap:10px;flex-shrink:0}.page-title[data-v-956287af]{font-size:22px;font-weight:700;color:var(--text);margin:0}.project-badge[data-v-956287af]{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-956287af]{position:relative;display:flex;align-items:center;gap:12px;flex:1;max-width:420px;margin:0 auto}.selector-icon[data-v-956287af]{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-tertiary);pointer-events:none;z-index:1}.selector-select[data-v-956287af]{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-956287af]:focus{border-color:var(--primary)}.selector-refresh-btn[data-v-956287af]{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-956287af]: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-956287af]:active:not(:disabled){transform:scale(.96)}.selector-refresh-btn[data-v-956287af]:disabled{opacity:.5;cursor:not-allowed}.selector-refresh-icon.is-spinning[data-v-956287af]{animation:spin-956287af .8s linear infinite}.selector-loading[data-v-956287af]{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--text-tertiary);flex-shrink:0}.spinner-sm[data-v-956287af]{width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin-956287af .8s linear infinite}.stats-bar[data-v-956287af]{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-956287af]{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary);white-space:nowrap}.section[data-v-956287af]{margin-bottom:32px}.section-title[data-v-956287af]{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-956287af]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.page-card[data-v-956287af]{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-956287af]:hover{border-color:var(--primary);box-shadow:0 4px 16px #0000001f;transform:translateY(-1px)}.page-preview[data-v-956287af]{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-956287af]{width:100%;height:100%;object-fit:contain}.preview-placeholder[data-v-956287af]{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-956287af]{padding:14px 16px}.page-info[data-v-956287af]{margin-bottom:12px}.page-name[data-v-956287af]{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-956287af]{display:flex;align-items:center;gap:12px}.page-meta[data-v-956287af]{font-size:12px;color:var(--text-tertiary)}.page-actions[data-v-956287af]{display:flex;gap:8px}.btn-sm[data-v-956287af]{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-956287af]{background:var(--primary);color:var(--text-on-primary);border-color:var(--primary)}.btn-primary[data-v-956287af]:hover{opacity:.88}.btn-secondary[data-v-956287af]{background:transparent;color:var(--text);border-color:var(--border)}.btn-secondary[data-v-956287af]:hover{background:var(--surface-alt);border-color:var(--text-tertiary)}.loading-container[data-v-956287af]{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-956287af]{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin-956287af .8s linear infinite}@keyframes spin-956287af{to{transform:rotate(360deg)}}.empty-state[data-v-956287af]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:80px 0;color:var(--text-tertiary)}.empty-icon[data-v-956287af]{opacity:.35}.empty-title[data-v-956287af]{font-size:16px;font-weight:500;color:var(--text-secondary);margin:0}.empty-desc[data-v-956287af]{font-size:13px;margin:0}.preview-wrapper[data-v-fb13d2f0]{flex:1;min-height:0;display:flex;flex-direction:column}.preview-iframe[data-v-fb13d2f0]{width:100%;height:100%;border:none;display:block}.preview-error[data-v-fb13d2f0]{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-tertiary);font-size:14px}.schema-form-kv[data-v-3ce20e39]{display:flex;flex-direction:column;gap:10px}.schema-form-grid[data-v-3ce20e39]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}.schema-form-kv .schema-field[data-v-3ce20e39]{display:flex;align-items:center;gap:10px}.schema-form-grid .schema-field[data-v-3ce20e39]{display:flex;flex-direction:column;gap:4px}.schema-form-grid .schema-field-wide[data-v-3ce20e39]{grid-column:1 / -1}.schema-label[data-v-3ce20e39]{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-3ce20e39]{flex:0 0 130px;text-align:right}.schema-form-grid .schema-label[data-v-3ce20e39]{text-align:left}.required[data-v-3ce20e39]{color:var(--status-error)}.schema-transient[data-v-3ce20e39]{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-3ce20e39]{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.schema-inline[data-v-3ce20e39]{display:flex;align-items:center;gap:6px}.schema-inline .schema-input[data-v-3ce20e39]{flex:1;min-width:0}.schema-pick[data-v-3ce20e39]{flex:0 0 auto;max-width:46%}.schema-input[data-v-3ce20e39]{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-3ce20e39]{font-family:Consolas,Courier New,monospace;font-size:12px;line-height:1.5;resize:vertical}.schema-input[data-v-3ce20e39]:focus{border-color:var(--primary)}.schema-input[data-v-3ce20e39]:disabled{color:var(--text-secondary);cursor:not-allowed}.schema-input[data-v-3ce20e39]::placeholder{color:var(--text-secondary)}.schema-select[data-v-3ce20e39]{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;cursor:pointer}.schema-checkbox[data-v-3ce20e39]{width:16px;height:16px;cursor:pointer;accent-color:var(--primary)}.schema-radio-group[data-v-3ce20e39]{display:inline-flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}.schema-radio[data-v-3ce20e39]{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-3ce20e39]:last-child{border-right:none}.schema-radio[data-v-3ce20e39]:hover{color:var(--text)}.schema-radio.active[data-v-3ce20e39]{background:var(--primary);color:var(--background)}.schema-hint[data-v-3ce20e39]{font-size:11px;color:var(--text-secondary);line-height:1.4}.hint-ok[data-v-3ce20e39]{color:var(--status-success)}.hint-warn[data-v-3ce20e39]{color:var(--status-warning)}.modal-overlay[data-v-e142db6f]{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-e142db6f]{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-e142db6f]{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-e142db6f]{font-size:16px;font-weight:600;color:var(--text);margin:0}.modal-close[data-v-e142db6f]{background:transparent;border:none;padding:4px;cursor:pointer;color:var(--text-secondary);border-radius:6px;font-size:20px}.modal-close[data-v-e142db6f]:hover{color:var(--text);background:var(--border-light)}.tab-bar[data-v-e142db6f]{display:flex;border-bottom:1px solid var(--border);padding:0 16px;flex-shrink:0}.tab-item[data-v-e142db6f]{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-e142db6f]:hover{color:var(--text)}.tab-item.active[data-v-e142db6f]{color:var(--primary);border-bottom-color:var(--primary)}.tab-dot[data-v-e142db6f]{width:6px;height:6px;border-radius:50%;background:var(--status-warning);flex-shrink:0}.channel-empty-tip[data-v-e142db6f]{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-e142db6f]{font-size:13px;margin:0}.channel-section-header[data-v-e142db6f]{margin-bottom:16px}.driver-badge[data-v-e142db6f]{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-e142db6f]{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-e142db6f]{padding:20px;overflow-y:auto;min-height:200px}.modal-footer[data-v-e142db6f]{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:16px 20px;border-top:1px solid var(--border)}.footer-left[data-v-e142db6f]{flex-shrink:0}.footer-hint[data-v-e142db6f]{font-size:12px;color:var(--status-warning)}.footer-right[data-v-e142db6f]{display:flex;gap:8px}.form-section[data-v-e142db6f]{margin-bottom:14px;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:8px}.form-row[data-v-e142db6f]{display:flex;gap:12px;margin-bottom:10px}.form-row[data-v-e142db6f]:last-child{margin-bottom:0}.form-group[data-v-e142db6f]{margin-bottom:14px}.form-group-half[data-v-e142db6f]{flex:1;margin-bottom:0}.channel-config .form-group[data-v-e142db6f]{margin-bottom:0}.driver-specific-config[data-v-e142db6f]{margin-top:12px;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:8px}.driver-section-title[data-v-e142db6f]{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-e142db6f]{margin-bottom:0}.switch-row[data-v-e142db6f]{display:flex;align-items:center;gap:10px}.form-label[data-v-e142db6f]{display:block;font-size:13px;font-weight:500;color:var(--text);margin-bottom:6px}.form-label-sm[data-v-e142db6f]{display:block;font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:4px}.required[data-v-e142db6f]{color:var(--status-error)}.form-hint[data-v-e142db6f]{font-size:12px;color:var(--text-secondary);margin:4px 0 0}.form-input[data-v-e142db6f]{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-e142db6f]::placeholder{color:var(--text-secondary)}.form-input[data-v-e142db6f]:focus{border-color:var(--primary)}.form-input-sm[data-v-e142db6f]{padding:6px 10px;font-size:13px;border-radius:6px}.form-checkbox[data-v-e142db6f]{width:16px;height:16px;cursor:pointer;accent-color:var(--primary)}.form-select[data-v-e142db6f]{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;cursor:pointer}.form-textarea[data-v-e142db6f]{resize:vertical;min-height:48px}.form-error[data-v-e142db6f]{color:var(--status-error);font-size:13px;margin:-4px 0 0}.btn[data-v-e142db6f]{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-e142db6f]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-e142db6f]{background:var(--primary);color:var(--text)}.btn-primary[data-v-e142db6f]:hover:not(:disabled){background:var(--primary)}.btn-secondary[data-v-e142db6f]{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn-secondary[data-v-e142db6f]:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.btn-sm[data-v-e142db6f]{padding:4px 10px;font-size:12px}.template-tree-box[data-v-e142db6f]{border:1px solid var(--border);border-radius:8px;background:var(--surface);max-height:220px;overflow-y:auto}.template-tree-box.disabled[data-v-e142db6f]{opacity:.6;pointer-events:none}.selected-template[data-v-e142db6f]{display:flex;align-items:center;justify-content:space-between;padding:10px 12px}.selected-info[data-v-e142db6f]{display:flex;flex-direction:column;gap:2px}.selected-name[data-v-e142db6f]{font-size:14px;font-weight:500;color:var(--text)}.selected-type[data-v-e142db6f]{font-size:12px;color:var(--text-secondary)}.btn-clear[data-v-e142db6f]{background:transparent;border:none;font-size:18px;color:var(--text-secondary);cursor:pointer;padding:0 4px;line-height:1}.btn-clear[data-v-e142db6f]:hover{color:var(--status-error)}.template-tree[data-v-e142db6f]{padding:4px 0}.tree-loading[data-v-e142db6f],.tree-empty[data-v-e142db6f]{padding:16px;text-align:center;font-size:13px;color:var(--text-secondary)}.tree-node[data-v-e142db6f]{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-e142db6f]:hover{background:var(--border-light)}.industry-node[data-v-e142db6f]{font-weight:500}.category-node[data-v-e142db6f]{padding-left:36px;color:var(--text-secondary)}.template-node[data-v-e142db6f]{padding-left:60px;font-size:12px}.template-node[data-v-e142db6f]:hover{color:var(--primary)}.chevron[data-v-e142db6f]{flex-shrink:0;transition:transform .2s}.chevron.rotated[data-v-e142db6f]{transform:rotate(90deg)}.node-label[data-v-e142db6f]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-count[data-v-e142db6f]{font-size:11px;color:var(--text-secondary);background:var(--border-light);padding:1px 6px;border-radius:8px;flex-shrink:0}.version-tag[data-v-e142db6f]{font-size:10px;color:var(--text-secondary);flex-shrink:0}.industry-children[data-v-e142db6f]{border-left:1px solid var(--border);margin-left:19px}.channel-errors[data-v-e142db6f]{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-e142db6f]{margin-top:10px;display:flex;gap:8px}.driver-version[data-v-e142db6f]{font-size:11px;color:var(--text-secondary)}.tree-node[data-v-2a483885]{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-2a483885]:hover{background:var(--border-light)}.tree-node.active[data-v-2a483885]{background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary)}.device-node[data-v-2a483885]{font-size:12px}.chevron[data-v-2a483885]{flex-shrink:0;transition:transform .2s;color:var(--text-secondary)}.chevron.rotated[data-v-2a483885]{transform:rotate(90deg)}.chevron-placeholder[data-v-2a483885]{width:10px;height:10px;flex-shrink:0}.node-label[data-v-2a483885]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-count[data-v-2a483885]{font-size:11px;color:var(--text-secondary);background:var(--border-light);padding:1px 6px;border-radius:8px;flex-shrink:0}.node-icon[data-v-2a483885]{flex-shrink:0}.group-node[data-v-2a483885]{font-weight:500}.group-actions[data-v-2a483885]{display:flex;gap:2px;opacity:0;transition:opacity .15s;width:0;overflow:visible}.group-node:hover .group-actions[data-v-2a483885]{opacity:1;width:auto;overflow:visible}.btn-tree-action[data-v-2a483885]{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-2a483885]:hover{color:var(--text);background:var(--border-light)}.btn-tree-action-danger[data-v-2a483885]:hover{color:var(--status-error);background:#dc26261f;border-color:var(--status-error)}.group-children[data-v-2a483885]{border-left:1px solid var(--border)}.status-dot[data-v-2a483885]{width:6px;height:6px;border-radius:50%;flex-shrink:0}.status-dot.status-online[data-v-2a483885]{background:var(--status-online)}.status-dot.status-offline[data-v-2a483885]{background:var(--text-secondary)}.status-dot.status-connecting[data-v-2a483885]{background:var(--primary)}.status-dot.status-degraded[data-v-2a483885]{background:var(--status-warning)}.status-dot.status-error[data-v-2a483885]{background:var(--status-error)}.tree-empty-small[data-v-2a483885]{padding:8px 16px 8px 48px;font-size:12px;color:var(--text-secondary)}.data-panel-overlay[data-v-8d6bfcc4]{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-8d6bfcc4]{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-8d6bfcc4]{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-8d6bfcc4]{flex:1;overflow:hidden}.data-panel-title h2[data-v-8d6bfcc4]{font-size:16px;font-weight:600;color:var(--text);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-panel-sub[data-v-8d6bfcc4]{font-size:12px;color:var(--text-secondary);font-family:Courier New,monospace}.data-panel-actions[data-v-8d6bfcc4]{display:flex;align-items:center;gap:8px}.data-panel-close[data-v-8d6bfcc4]{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-8d6bfcc4]:hover{color:var(--text);background:var(--border-light)}.data-panel-body[data-v-8d6bfcc4]{flex:1;overflow-y:auto;padding:16px 20px}.data-panel-empty[data-v-8d6bfcc4]{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-8d6bfcc4]{width:100%;border-collapse:collapse;font-size:13px}.tag-data-table th[data-v-8d6bfcc4]{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-8d6bfcc4]{padding:10px 12px;color:var(--text);border-bottom:1px solid var(--border)}.tag-name[data-v-8d6bfcc4]{font-weight:500;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-address[data-v-8d6bfcc4]{font-family:Courier New,monospace;font-size:12px;color:var(--text-secondary)}.mono[data-v-8d6bfcc4]{font-family:Courier New,monospace}.tag-value[data-v-8d6bfcc4]{font-weight:600;color:var(--text)}.tag-value.value-null[data-v-8d6bfcc4]{color:var(--text-secondary);font-style:italic}.tag-time[data-v-8d6bfcc4]{font-family:Courier New,monospace;font-size:12px;color:var(--text-secondary)}.num-col[data-v-8d6bfcc4]{text-align:right;min-width:120px}.auto-dot[data-v-8d6bfcc4]{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--text-secondary);margin-right:6px}.auto-dot.active[data-v-8d6bfcc4]{background:var(--status-online);animation:pulse-8d6bfcc4 2s infinite}@keyframes pulse-8d6bfcc4{0%,to{opacity:1}50%{opacity:.5}}.data-panel-footer[data-v-8d6bfcc4]{padding:12px 20px;border-top:1px solid var(--border);font-size:12px;color:var(--text-secondary);flex-shrink:0}.btn[data-v-8d6bfcc4]{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-8d6bfcc4]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-8d6bfcc4]{background:var(--primary);color:var(--button-text)}.btn-primary[data-v-8d6bfcc4]:hover:not(:disabled){background:var(--button-hover)}.btn-secondary[data-v-8d6bfcc4]{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn-secondary[data-v-8d6bfcc4]:hover:not(:disabled){background:var(--border-light)}.btn-sm[data-v-8d6bfcc4]{padding:6px 12px;font-size:13px}.type-badge[data-v-8d6bfcc4]{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-8d6bfcc4]{display:inline-block;padding:1px 6px;border-radius:4px;font-size:12px;font-weight:500}.dir-badge.dir-read[data-v-8d6bfcc4]{background:var(--surface);color:var(--text-secondary);border:1px solid var(--border)}.dir-badge.dir-write[data-v-8d6bfcc4]{background:var(--status-warning);color:#fff}.dir-badge.dir-read-write[data-v-8d6bfcc4]{background:var(--primary);color:var(--button-text)}.quality-badge[data-v-8d6bfcc4]{display:inline-block;padding:1px 6px;border-radius:4px;font-size:12px;font-weight:500;text-transform:uppercase}.quality-badge.q-good[data-v-8d6bfcc4]{background:var(--status-online);color:#fff}.quality-badge.q-bad[data-v-8d6bfcc4]{background:var(--status-error);color:#fff}.quality-badge.q-uncertain[data-v-8d6bfcc4]{background:var(--status-warning);color:#fff}.quality-badge.q-NOP[data-v-8d6bfcc4],.quality-badge.q-OOS[data-v-8d6bfcc4]{background:var(--surface);color:var(--text-secondary);border:1px solid var(--border)}.tag-desc[data-v-8d6bfcc4]{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary);font-size:12px}.tag-unit[data-v-8d6bfcc4]{color:var(--text-secondary);font-size:12px}.desc-col[data-v-8d6bfcc4]{min-width:80px}.dir-col[data-v-8d6bfcc4],.unit-col[data-v-8d6bfcc4]{width:60px}.quality-col[data-v-8d6bfcc4]{width:80px}.device-list-view[data-v-207de549]{height:100%;display:flex;overflow:hidden}.sidebar[data-v-207de549]{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-207de549]{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-207de549]{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 12px;flex-shrink:0}.sidebar-header .sidebar-title[data-v-207de549]{padding:0}.btn-add-group[data-v-207de549]{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-207de549]:hover{color:var(--primary);border-color:var(--primary);background:#3b82f61a}.sidebar-header-actions[data-v-207de549]{display:flex;align-items:center;gap:4px}.btn-refresh[data-v-207de549]{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-207de549]:hover:not(:disabled){color:var(--primary);border-color:var(--primary);background:#3b82f61a}.btn-refresh[data-v-207de549]:disabled{opacity:.4;cursor:not-allowed}.btn-refresh .spinning[data-v-207de549]{animation:spin-207de549 .8s linear infinite}.group-actions[data-v-207de549]{display:flex;gap:2px;opacity:1;transition:opacity .15s}.btn-tree-action[data-v-207de549]{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-207de549]:hover{color:var(--text);background:var(--border-light)}.btn-tree-action-danger[data-v-207de549]:hover{color:var(--status-error);background:#dc26261f;border-color:var(--status-error)}.sidebar-tree[data-v-207de549]{flex:1;overflow-y:auto;overflow-x:auto;padding:4px 0}.tree-empty[data-v-207de549]{padding:24px 16px;text-align:center;font-size:13px;color:var(--text-secondary)}.tree-empty-small[data-v-207de549]{padding:8px 16px 8px 48px;font-size:12px;color:var(--text-secondary)}.tree-loading[data-v-207de549]{padding:8px 16px 8px 36px;font-size:12px;color:var(--text-secondary)}.tree-node[data-v-207de549]{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-207de549]:hover{background:var(--border-light)}.tree-node.active[data-v-207de549]{background:#3b82f61f;color:var(--primary)}.project-node[data-v-207de549]{font-weight:600;padding:7px 12px}.device-node[data-v-207de549]{font-size:12px}.chevron[data-v-207de549]{flex-shrink:0;transition:transform .2s;color:var(--text-secondary)}.chevron.rotated[data-v-207de549]{transform:rotate(90deg)}.node-label[data-v-207de549]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-count[data-v-207de549]{font-size:11px;color:var(--text-secondary);background:var(--border-light);padding:1px 6px;border-radius:8px;flex-shrink:0}.status-dot[data-v-207de549]{width:6px;height:6px;border-radius:50%;flex-shrink:0}.status-dot.status-online[data-v-207de549]{background:var(--status-online)}.status-dot.status-offline[data-v-207de549]{background:var(--status-offline)}.status-dot.status-connecting[data-v-207de549]{background:var(--primary)}.status-dot.status-degraded[data-v-207de549]{background:var(--status-warning)}.status-dot.status-error[data-v-207de549]{background:var(--status-error)}.project-children[data-v-207de549]{border-left:1px solid var(--border);margin-left:19px}.group-children[data-v-207de549]{border-left:1px solid var(--border);margin-left:43px}.main-content[data-v-207de549]{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.main-content[data-v-207de549]>.smart-table-root{flex:1;min-height:0;margin:0 24px 16px}.page-header[data-v-207de549]{display:flex;align-items:center;gap:16px;padding:16px 24px 12px;flex-shrink:0}.header-left[data-v-207de549]{display:flex;align-items:baseline;gap:10px;flex-shrink:0}.header-actions[data-v-207de549]{display:flex;gap:8px;align-items:center;flex-shrink:0}.page-title[data-v-207de549]{font-size:22px;font-weight:700;color:var(--text);margin:0}.device-count[data-v-207de549]{font-size:13px;color:var(--text-secondary);white-space:nowrap}.toolbar[data-v-207de549]{flex:1;display:flex;align-items:center;gap:12px;flex-shrink:0}.search-box[data-v-207de549]{position:relative;display:inline-flex;align-items:center;flex:1;min-width:0}.search-icon[data-v-207de549]{position:absolute;left:12px;color:var(--text-secondary);pointer-events:none}.search-input[data-v-207de549]{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-207de549]::placeholder{color:var(--text-secondary)}.search-input[data-v-207de549]:focus{border-color:var(--primary)}.search-btn[data-v-207de549]{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-207de549]:hover{color:var(--primary);background:#3b82f61a}.status-filter[data-v-207de549]{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-207de549]:focus{border-color:var(--primary);outline:none}.loading-state[data-v-207de549],.empty-state[data-v-207de549]{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-207de549]{font-size:18px;color:var(--text);margin:0}.empty-state p[data-v-207de549]{margin:0;font-size:14px}.empty-hint[data-v-207de549]{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-207de549]{width:32px;height:32px;border:3px solid var(--border-light);border-top-color:var(--primary);border-radius:50%;animation:spin-207de549 .8s linear infinite}@keyframes spin-207de549{to{transform:rotate(360deg)}}.cell-primary[data-v-207de549]{font-weight:600;color:var(--text);margin-bottom:2px}.cell-group[data-v-207de549]{font-size:11px;color:var(--text-secondary);margin-top:4px}.device-code[data-v-207de549]{font-family:Courier New,monospace;font-size:12px;color:var(--primary)}.type-badge[data-v-207de549]{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-207de549]{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-207de549]{font-size:12px;color:var(--text-secondary);font-style:italic}.status-badge[data-v-207de549]{display:inline-flex;align-items:center;padding:2px 10px;border-radius:10px;font-size:12px;font-weight:500}.status-online[data-v-207de549]{background:color-mix(in srgb,var(--status-online) 15%,transparent);color:var(--status-online)}.status-offline[data-v-207de549]{background:color-mix(in srgb,var(--status-offline) 15%,transparent);color:var(--status-offline)}.status-connecting[data-v-207de549]{background:color-mix(in srgb,var(--primary) 15%,transparent);color:var(--primary)}.status-degraded[data-v-207de549]{background:color-mix(in srgb,var(--status-warning) 15%,transparent);color:var(--status-warning)}.status-error[data-v-207de549]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.row-actions[data-v-207de549]{display:flex;gap:4px;opacity:1;transition:opacity .15s}.btn-icon[data-v-207de549]{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-207de549]:hover{color:var(--text);background:var(--border-light)}.btn-icon-danger[data-v-207de549]:hover{color:var(--status-error);background:#dc26261f;border-color:var(--status-error)}.btn[data-v-207de549]{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-207de549]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-207de549]{background:var(--primary);color:var(--button-text)}.btn-primary[data-v-207de549]:hover:not(:disabled){background:var(--button-hover)}.btn-secondary[data-v-207de549]{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn-secondary[data-v-207de549]:hover:not(:disabled){background:var(--border-light)}.btn-danger[data-v-207de549]{background:var(--status-error);color:var(--button-text)}.btn-danger[data-v-207de549]:hover:not(:disabled){opacity:.9}.btn-sm[data-v-207de549]{padding:6px 12px;font-size:13px}.modal-overlay[data-v-207de549]{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-207de549]{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-207de549]{width:400px}.modal-header[data-v-207de549]{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-207de549]{font-size:16px;font-weight:600;color:var(--text);margin:0}.modal-close[data-v-207de549]{background:transparent;border:none;padding:4px;cursor:pointer;color:var(--text-secondary);border-radius:6px;font-size:20px}.modal-close[data-v-207de549]:hover{color:var(--text);background:var(--border-light)}.modal-body[data-v-207de549]{padding:20px;overflow-y:auto}.modal-footer[data-v-207de549]{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--border)}.warning-text[data-v-207de549]{color:var(--status-warning);font-size:13px;margin:8px 0 0}.form-group[data-v-207de549]{margin-bottom:14px}.form-label[data-v-207de549]{display:block;font-size:13px;font-weight:500;color:var(--text);margin-bottom:6px}.required[data-v-207de549]{color:var(--status-error)}.form-input[data-v-207de549]{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-207de549]::placeholder{color:var(--text-secondary)}.form-input[data-v-207de549]:focus{border-color:var(--primary)}.form-select[data-v-207de549]{-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-207de549]{background:var(--background);color:var(--text)}.form-textarea[data-v-207de549]{resize:vertical;min-height:48px}.form-error[data-v-207de549]{color:var(--status-error);font-size:13px;margin:-4px 0 0}.move-device-name[data-v-207de549]{font-size:14px;font-weight:600;color:var(--text);margin:0 0 8px}.move-hint[data-v-207de549]{font-size:12px;color:var(--text-secondary);margin:0 0 12px}.move-group-list[data-v-207de549]{max-height:320px;overflow-y:auto;border:1px solid var(--border);border-radius:8px;padding:6px}.move-group-item[data-v-207de549]{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-207de549]:hover{background:var(--border-light)}.move-group-item.selected[data-v-207de549]{background:#3b82f61f;color:var(--primary);font-weight:500}.error-info[data-v-207de549]{display:flex;flex-direction:column;gap:8px}.error-info-row[data-v-207de549]{display:flex;justify-content:space-between;align-items:center;padding:6px 0}.error-info-label[data-v-207de549]{font-size:13px;color:var(--text-secondary);min-width:80px}.error-info-value[data-v-207de549]{font-size:13px;color:var(--text);text-align:right;word-break:break-all}.error-info-divider[data-v-207de549]{height:1px;background:var(--border);margin:4px 0}.error-message-card[data-v-207de549]{margin-top:8px;padding:12px;background:#dc26260f;border:1px solid rgba(220,38,38,.2);border-radius:6px}.error-message-card-empty[data-v-207de549]{background:var(--border-light);border-color:var(--border)}.error-message-title[data-v-207de549]{font-size:12px;font-weight:600;color:var(--status-error);margin-bottom:6px}.error-message-content[data-v-207de549]{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-207de549]{font-size:12px;color:var(--text-secondary)}.error-pill[data-v-207de549]{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-207de549]{background:#dc26261f;color:var(--status-error)}.error-info-diagnostics[data-v-207de549]{margin-top:4px}.diagnostics-title[data-v-207de549]{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-207de549]{font-size:13px;font-weight:500}.diagnostics-value.circuit-open[data-v-207de549]{color:var(--status-error)}.diagnostics-value.circuit-half-open[data-v-207de549]{color:var(--status-warning)}.diagnostics-value.circuit-closed[data-v-207de549]{color:var(--status-online)}.view-toggle[data-v-207de549]{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.view-btn[data-v-207de549]{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-207de549]{border-left:1px solid var(--border)}.view-btn[data-v-207de549]:hover{color:var(--text)}.view-btn.active[data-v-207de549]{background:color-mix(in srgb,var(--primary) 14%,transparent);color:var(--primary)}.device-cards[data-v-207de549]{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-207de549]{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-207de549]:hover{border-color:var(--primary);box-shadow:0 2px 10px color-mix(in srgb,var(--primary) 12%,transparent)}.device-card.ai-highlight[data-v-207de549]{animation:ai-highlight-pulse-207de549 1.2s ease-in-out 2}@keyframes ai-highlight-pulse-207de549{0%,to{box-shadow:none}50%{box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 55%,transparent)}}.card-header[data-v-207de549]{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.card-thumb[data-v-207de549]{width:36px;height:36px;flex-shrink:0;border-radius:6px;object-fit:cover;border:1px solid var(--border)}.card-title[data-v-207de549]{display:flex;flex-direction:column;gap:2px;min-width:0}.card-name[data-v-207de549]{font-size:13px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-code[data-v-207de549]{font-family:Courier New,monospace;font-size:11px;color:var(--text-secondary)}.card-badges[data-v-207de549]{display:flex;flex-wrap:wrap;gap:4px}.card-stats[data-v-207de549]{display:grid;grid-template-columns:repeat(2,1fr);gap:6px 10px;padding:8px 10px;background:var(--background);border-radius:6px}.stat[data-v-207de549]{display:flex;flex-direction:column;gap:2px;min-width:0}.stat-label[data-v-207de549]{font-size:10px;color:var(--text-secondary)}.stat-value[data-v-207de549]{font-size:11px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-actions[data-v-207de549]{display:flex;justify-content:flex-end;gap:6px;border-top:1px solid var(--border);padding-top:8px}.device-card .type-badge[data-v-207de549],.device-card .status-badge[data-v-207de549]{padding:1px 6px;font-size:11px}.device-card .btn-icon[data-v-207de549]{width:24px;height:24px}.device-type-icon[data-v-f5b0de81]{display:block}.device-detail-view[data-v-268e4e9e]{height:100%;overflow-y:auto;padding:20px 24px 32px;width:100%;box-sizing:border-box}.page-header[data-v-268e4e9e]{margin-bottom:20px}.loading-state[data-v-268e4e9e],.empty-state[data-v-268e4e9e]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:var(--text-secondary);gap:12px}.spinner[data-v-268e4e9e]{width:32px;height:32px;border:3px solid var(--border-light);border-top-color:var(--primary);border-radius:50%;animation:spin-268e4e9e .8s linear infinite}@keyframes spin-268e4e9e{to{transform:rotate(360deg)}}.device-info-panel[data-v-268e4e9e]{background:var(--surface);border:1px solid var(--border-light);border-radius:10px;padding:20px 24px;margin-bottom:20px}.device-card-panel[data-v-268e4e9e]{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-268e4e9e]{display:flex;gap:16px;align-items:flex-start}.device-avatar[data-v-268e4e9e]{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-268e4e9e]{width:100%;height:100%;object-fit:cover}.hidden-input[data-v-268e4e9e]{display:none}.link-btn-danger[data-v-268e4e9e]{color:var(--status-error);border-color:color-mix(in srgb,var(--status-error) 30%,transparent)}.link-btn-danger[data-v-268e4e9e]:hover{background:color-mix(in srgb,var(--status-error) 10%,transparent);border-color:var(--status-error)}.device-identity[data-v-268e4e9e]{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}.identity-line[data-v-268e4e9e]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.identity-name[data-v-268e4e9e]{margin:0;font-size:20px;font-weight:600;color:var(--text)}.identity-meta[data-v-268e4e9e]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.meta-chip[data-v-268e4e9e]{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-268e4e9e]{font-family:Courier New,monospace;color:var(--primary)}.identity-desc[data-v-268e4e9e]{margin:0;font-size:13px;color:var(--text-secondary)}.device-card-stats[data-v-268e4e9e]{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}.stat-tile[data-v-268e4e9e]{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-268e4e9e]{cursor:pointer;border-style:dashed;color:inherit;font:inherit}.stat-tile-btn[data-v-268e4e9e]:hover{border-color:var(--primary)}.stat-num[data-v-268e4e9e]{font-size:18px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-num-sm[data-v-268e4e9e]{font-size:13px;font-weight:500}.stat-label[data-v-268e4e9e]{font-size:11px;color:var(--text-secondary)}.stat-danger .stat-num[data-v-268e4e9e]{color:var(--status-error)}.device-card-links[data-v-268e4e9e]{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px solid var(--border-light);padding-top:12px}.links-label[data-v-268e4e9e]{font-size:12px;color:var(--text-secondary)}.link-btn[data-v-268e4e9e]{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-268e4e9e]:hover{background:color-mix(in srgb,var(--primary) 10%,transparent);border-color:var(--primary)}.info-header[data-v-268e4e9e]{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px}.info-title[data-v-268e4e9e]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.info-title h2[data-v-268e4e9e]{font-size:20px;font-weight:600;color:var(--text);margin:0;display:flex;align-items:center;gap:8px}.device-code-tag[data-v-268e4e9e]{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-268e4e9e]{display:inline-flex;align-items:center;padding:2px 10px;border-radius:10px;font-size:12px;font-weight:500}.status-online[data-v-268e4e9e]{background:color-mix(in srgb,var(--status-online) 15%,transparent);color:var(--status-online)}.status-offline[data-v-268e4e9e]{background:color-mix(in srgb,var(--text-secondary) 15%,transparent);color:var(--text-secondary)}.status-connecting[data-v-268e4e9e]{background:#93c5fd26;color:var(--status-info)}.status-degraded[data-v-268e4e9e]{background:#facc1526;color:var(--status-warning)}.status-error[data-v-268e4e9e]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.type-badge[data-v-268e4e9e]{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-268e4e9e]{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.info-item[data-v-268e4e9e]{display:flex;flex-direction:column;gap:4px}.info-label[data-v-268e4e9e]{font-size:11px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.info-value[data-v-268e4e9e]{font-size:13px;color:var(--text)}.info-value.mono[data-v-268e4e9e]{font-family:Courier New,monospace;font-size:12px;color:var(--text-secondary)}.text-danger[data-v-268e4e9e]{color:var(--status-error)}.tags-panel[data-v-268e4e9e]{background:var(--surface);border:1px solid var(--border-light);border-radius:10px;padding:20px 24px}.tags-header[data-v-268e4e9e]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.tags-header h3[data-v-268e4e9e]{font-size:16px;font-weight:600;color:var(--text);margin:0}.tags-empty[data-v-268e4e9e]{text-align:center;padding:40px 20px;color:var(--text-secondary);font-size:14px}.tags-table-wrapper[data-v-268e4e9e]{overflow-x:auto}.tags-table[data-v-268e4e9e]{width:100%;border-collapse:collapse}.tags-table th[data-v-268e4e9e]{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-268e4e9e]{padding:10px 12px;font-size:13px;color:var(--text);border-bottom:1px solid var(--background)}.cell-name[data-v-268e4e9e]{font-weight:500}.cell-time[data-v-268e4e9e]{font-size:12px;color:var(--text-secondary);white-space:nowrap}.code[data-v-268e4e9e]{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-268e4e9e]{display:inline-block;padding:1px 8px;border-radius:8px;font-size:12px}.quality-good[data-v-268e4e9e]{background:color-mix(in srgb,var(--status-online) 15%,transparent);color:var(--status-online)}.quality-bad[data-v-268e4e9e]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.btn[data-v-268e4e9e]{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-268e4e9e]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-268e4e9e]{background:var(--primary);color:var(--text)}.btn-primary[data-v-268e4e9e]:hover:not(:disabled){opacity:.9}.btn-secondary[data-v-268e4e9e]{background:var(--border-light);color:var(--text)}.btn-secondary[data-v-268e4e9e]:hover:not(:disabled){background:var(--border)}.btn-sm[data-v-268e4e9e]{padding:5px 10px;font-size:13px}.cell-alarm[data-v-268e4e9e]{white-space:nowrap}.alarm-limit-text[data-v-268e4e9e]{font-family:Courier New,monospace;font-size:12px;color:var(--status-warning);margin-right:8px}.alarm-limit-empty[data-v-268e4e9e]{color:var(--text-secondary);margin-right:8px}.alarm-limit-btn[data-v-268e4e9e]{padding:2px 8px;font-size:12px}.modal-overlay[data-v-268e4e9e]{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-268e4e9e]{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-268e4e9e]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-header h2[data-v-268e4e9e]{font-size:15px;font-weight:600;color:var(--text);margin:0}.modal-close[data-v-268e4e9e]{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-268e4e9e]:hover{color:var(--text);background:var(--border-light)}.modal-body[data-v-268e4e9e]{padding:20px;overflow-y:auto}.modal-footer[data-v-268e4e9e]{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--border)}.checkbox-row[data-v-268e4e9e]{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-268e4e9e]{width:15px;height:15px;accent-color:var(--primary);cursor:pointer}.form-row[data-v-268e4e9e]{display:flex;gap:12px;margin-bottom:12px}.form-group[data-v-268e4e9e]{flex:1;display:flex;flex-direction:column;gap:4px}.form-group label[data-v-268e4e9e]{font-size:12px;color:var(--text-secondary)}.form-input[data-v-268e4e9e]{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-268e4e9e]:focus{border-color:var(--primary)}.form-input[data-v-268e4e9e]:disabled{opacity:.5;cursor:not-allowed}.form-hint[data-v-268e4e9e]{font-size:12px;color:var(--text-secondary);margin:4px 0 0;line-height:1.5}.channel-panel[data-v-268e4e9e]{background:var(--surface);border:1px solid var(--border-light);border-radius:10px;padding:20px 24px;margin-bottom:20px}.channel-header[data-v-268e4e9e]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.channel-header h3[data-v-268e4e9e]{font-size:16px;font-weight:600;color:var(--text);margin:0}.driver-tag[data-v-268e4e9e]{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-268e4e9e]{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.channel-item[data-v-268e4e9e]{display:flex;flex-direction:column;gap:4px}.channel-label[data-v-268e4e9e]{font-size:11px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.channel-value[data-v-268e4e9e]{font-size:13px;color:var(--text);font-family:Courier New,monospace;word-break:break-all}.tree-node[data-v-e07315ba]{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-e07315ba]:hover{background:var(--border-light)}.tree-node.device-node.active[data-v-e07315ba]{background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary)}.group-node[data-v-e07315ba]{font-weight:500}.device-node[data-v-e07315ba]{font-size:12px}.node-icon[data-v-e07315ba]{flex-shrink:0}.group-icon[data-v-e07315ba]{color:var(--status-warning)}.device-icon[data-v-e07315ba]{color:var(--text-secondary)}.device-icon.device-status-online[data-v-e07315ba]{color:var(--status-online)}.device-icon.device-status-offline[data-v-e07315ba]{color:var(--status-offline)}.device-icon.device-status-connecting[data-v-e07315ba]{color:var(--primary)}.device-icon.device-status-degraded[data-v-e07315ba]{color:var(--status-warning)}.device-icon.device-status-error[data-v-e07315ba]{color:var(--status-error)}.chevron[data-v-e07315ba]{flex-shrink:0;transition:transform .2s;color:var(--text-secondary)}.chevron.rotated[data-v-e07315ba]{transform:rotate(90deg)}.chevron-placeholder[data-v-e07315ba]{width:10px;height:10px;flex-shrink:0}.node-label[data-v-e07315ba]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-count[data-v-e07315ba]{font-size:11px;color:var(--text-secondary);background:var(--border-light);padding:1px 6px;border-radius:8px;flex-shrink:0}.group-children[data-v-e07315ba]{border-left:1px solid var(--border)}.status-dot[data-v-e07315ba]{width:6px;height:6px;border-radius:50%;flex-shrink:0}.status-dot.status-online[data-v-e07315ba]{background:var(--status-online)}.status-dot.status-offline[data-v-e07315ba]{background:var(--text-secondary)}.status-dot.status-connecting[data-v-e07315ba]{background:var(--primary)}.status-dot.status-degraded[data-v-e07315ba]{background:var(--status-warning)}.status-dot.status-error[data-v-e07315ba]{background:var(--status-error)}.tree-empty-small[data-v-e07315ba]{padding:8px 16px 8px 48px;font-size:12px;color:var(--text-secondary)}.dialog-overlay[data-v-5645cdd7]{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-5645cdd7 .15s ease}@keyframes fadeIn-5645cdd7{0%{opacity:0}to{opacity:1}}.dialog-container[data-v-5645cdd7]{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-5645cdd7 .2s ease}@keyframes slideUp-5645cdd7{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.dialog-header[data-v-5645cdd7]{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-5645cdd7]{display:flex;align-items:center;gap:8px;min-width:0}.header-icon[data-v-5645cdd7]{color:var(--primary);flex-shrink:0}.dialog-title[data-v-5645cdd7]{font-size:15px;font-weight:600;color:var(--text);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-right[data-v-5645cdd7]{display:flex;align-items:center;gap:12px;flex-shrink:0}.view-toggle[data-v-5645cdd7]{display:flex;background:var(--background);border:1px solid var(--border);border-radius:8px;overflow:hidden}.view-toggle-btn[data-v-5645cdd7]{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-5645cdd7]:hover{color:var(--text)}.view-toggle-btn.active[data-v-5645cdd7]{background:var(--primary);color:var(--button-text)}.dialog-close[data-v-5645cdd7]{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-5645cdd7]:hover{color:var(--text);border-color:var(--text-secondary);background:var(--hover)}.tag-info-bar[data-v-5645cdd7]{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-5645cdd7]{display:flex;align-items:center;gap:6px;flex-shrink:0}.chip-label[data-v-5645cdd7]{font-size:11px;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.3px}.chip-value[data-v-5645cdd7]{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-5645cdd7]{font-family:Courier New,monospace;font-size:11px}.tag-info-divider[data-v-5645cdd7]{width:1px;height:16px;background:var(--border);flex-shrink:0}.query-toolbar[data-v-5645cdd7]{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-5645cdd7]{margin-left:auto}.query-toolbar .form-select[data-v-5645cdd7],.query-toolbar .query-btn[data-v-5645cdd7]{height:28px;padding-top:0;padding-bottom:0;box-sizing:border-box}.preset-row[data-v-5645cdd7]{display:flex;gap:6px;margin-bottom:10px}.preset-chip[data-v-5645cdd7]{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-5645cdd7]:hover{border-color:var(--primary);color:var(--primary);background:color-mix(in srgb,var(--primary) 4%,transparent)}.preset-chip.active[data-v-5645cdd7]{background:var(--primary);border-color:var(--primary);color:var(--button-text)}.range-bar[data-v-5645cdd7]{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-5645cdd7]:focus-within{border-color:var(--primary)}.range-field[data-v-5645cdd7]{flex:1;display:flex;align-items:center;gap:6px;min-width:0}.range-icon[data-v-5645cdd7]{color:var(--text-secondary);flex-shrink:0;margin-left:4px}.range-datetime-input[data-v-5645cdd7]{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-5645cdd7]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6;transition:opacity .15s}.range-datetime-input[data-v-5645cdd7]::-webkit-calendar-picker-indicator:hover{opacity:1}.range-connector[data-v-5645cdd7]{display:flex;align-items:center;justify-content:center;padding:0 4px;color:var(--text-secondary);flex-shrink:0}.query-btn[data-v-5645cdd7]{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-5645cdd7]:hover:not(:disabled){filter:brightness(1.1);box-shadow:0 2px 8px color-mix(in srgb,var(--primary) 30%,transparent)}.query-btn[data-v-5645cdd7]:disabled{opacity:.5;cursor:not-allowed}.interp-field[data-v-5645cdd7]{display:flex;flex-direction:column;gap:4px}.interp-field label[data-v-5645cdd7]{font-size:11px;color:var(--text-secondary);font-weight:500}.form-select[data-v-5645cdd7]{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-5645cdd7]{background:var(--background);color:var(--text)}.form-select[data-v-5645cdd7]:focus{border-color:var(--primary)}.spinner[data-v-5645cdd7]{animation:spin-5645cdd7 .8s linear infinite}@keyframes spin-5645cdd7{to{transform:rotate(360deg)}}.content-area[data-v-5645cdd7]{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.toolbar[data-v-5645cdd7]{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-5645cdd7]{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary)}.record-count[data-v-5645cdd7]{margin-left:auto;font-size:12px;color:var(--text-secondary);white-space:nowrap}.toolbar-actions[data-v-5645cdd7]{display:flex;gap:6px}.tool-btn[data-v-5645cdd7]{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-5645cdd7]:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.tool-btn[data-v-5645cdd7]:disabled{opacity:.5;cursor:not-allowed}.loading-area[data-v-5645cdd7],.empty-area[data-v-5645cdd7]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:52px 20px;gap:14px;flex:1}.empty-icon[data-v-5645cdd7]{color:var(--text-secondary);opacity:.5}.empty-text[data-v-5645cdd7]{color:var(--text-secondary);font-size:14px;margin:0}.trend-view[data-v-5645cdd7]{flex:1;display:flex;flex-direction:column;min-height:0}.trend-chart-area[data-v-5645cdd7]{flex:1;min-height:0;padding:12px 12px 0;display:flex;cursor:grab}.trend-chart-area[data-v-5645cdd7]:hover{cursor:crosshair}.trend-chart-area[data-v-5645cdd7]:active{cursor:grabbing}.trend-canvas[data-v-5645cdd7]{width:100%;height:100%;border-radius:8px;background:var(--surface);border:1px solid var(--border)}.datazoom-slider[data-v-5645cdd7]{flex-shrink:0;height:44px;padding:0 12px 8px;cursor:pointer}.slider-canvas[data-v-5645cdd7]{width:100%;height:36px;border-radius:4px}.table-view[data-v-5645cdd7]{flex:1;overflow:hidden;display:flex;flex-direction:column}.data-table-wrapper[data-v-5645cdd7]{flex:1;overflow-y:auto;padding:0 20px 16px}.history-table[data-v-5645cdd7]{width:100%;border-collapse:collapse;font-size:13px}.history-table th[data-v-5645cdd7]{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-5645cdd7]{transition:background .1s}.history-table td[data-v-5645cdd7]{padding:8px 12px;color:var(--text);border-bottom:1px solid var(--border-light)}.history-table tbody tr[data-v-5645cdd7]:hover{background:var(--hover)}.num-col[data-v-5645cdd7]{text-align:right}.mono[data-v-5645cdd7]{font-family:Courier New,monospace}.td-time[data-v-5645cdd7]{font-size:12px;color:var(--text-secondary)}.idx-col[data-v-5645cdd7]{color:var(--text-secondary);font-size:11px;font-weight:500}.value-badge[data-v-5645cdd7]{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-5645cdd7]{color:var(--text-secondary);background:transparent;font-weight:400;font-style:italic}.value-unit[data-v-5645cdd7]{font-weight:500;font-size:11px;color:var(--text-secondary);margin-left:2px}.th-unit[data-v-5645cdd7]{font-weight:400;font-size:11px;color:var(--text-secondary);text-transform:none;letter-spacing:normal}.tag-detail-overlay[data-v-e2fd5720]{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-e2fd5720]{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-e2fd5720]{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-e2fd5720]{font-size:14px;font-weight:600;color:var(--text);margin:0}.tag-detail-close[data-v-e2fd5720]{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-e2fd5720]:hover{color:var(--text);background:var(--border-light)}.tag-detail-body[data-v-e2fd5720]{flex:1;overflow-y:auto;padding:12px 16px 16px}.current-value-bar[data-v-e2fd5720]{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-e2fd5720]{display:flex;justify-content:space-between;align-items:baseline}.current-value-label[data-v-e2fd5720]{font-size:12px;color:var(--text-secondary)}.current-value-number[data-v-e2fd5720]{font-size:20px;font-weight:700;color:var(--primary)}.current-value-number.value-null[data-v-e2fd5720]{color:var(--text-secondary);font-style:italic;font-size:16px}.current-value-meta[data-v-e2fd5720]{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary)}.quality-dot[data-v-e2fd5720]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.quality-dot.quality-good[data-v-e2fd5720]{background:var(--status-online)}.quality-dot.quality-bad[data-v-e2fd5720]{background:var(--status-error)}.quality-text[data-v-e2fd5720]{text-transform:capitalize}.quality-sep[data-v-e2fd5720]{color:var(--border)}.detail-section[data-v-e2fd5720]{margin-bottom:12px}.detail-section[data-v-e2fd5720]:last-child{margin-bottom:0}.detail-section-title[data-v-e2fd5720]{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 6px}.detail-list[data-v-e2fd5720]{display:flex;flex-direction:column;gap:2px}.detail-row[data-v-e2fd5720]{display:flex;justify-content:space-between;align-items:center;padding:5px 0}.detail-row+.detail-row[data-v-e2fd5720]{border-top:1px solid var(--border-light)}.detail-label[data-v-e2fd5720]{font-size:12px;color:var(--text-secondary);white-space:nowrap;flex-shrink:0}.detail-value[data-v-e2fd5720]{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-e2fd5720]{font-weight:600}.mono[data-v-e2fd5720]{font-family:Consolas,Courier New,monospace;font-size:12px}.type-badge[data-v-e2fd5720]{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-e2fd5720]{display:inline-block;padding:1px 6px;border-radius:3px;font-size:11px;font-weight:500}.enabled-yes[data-v-e2fd5720]{background:var(--status-online-bg, rgba(34, 197, 94, .12));color:var(--status-online)}.enabled-no[data-v-e2fd5720]{background:var(--status-offline-bg, rgba(148, 163, 184, .12));color:var(--text-secondary)}.alarm-high[data-v-e2fd5720]{color:var(--status-error);font-weight:600}.alarm-low[data-v-e2fd5720]{color:var(--status-warning);font-weight:600}.modal-fade-enter-active[data-v-e2fd5720],.modal-fade-leave-active[data-v-e2fd5720]{transition:opacity .15s ease}.modal-fade-enter-active .tag-detail-modal[data-v-e2fd5720],.modal-fade-leave-active .tag-detail-modal[data-v-e2fd5720]{transition:transform .15s ease}.modal-fade-enter-from[data-v-e2fd5720],.modal-fade-leave-to[data-v-e2fd5720]{opacity:0}.modal-fade-enter-from .tag-detail-modal[data-v-e2fd5720],.modal-fade-leave-to .tag-detail-modal[data-v-e2fd5720]{transform:scale(.95)}.detail-hint[data-v-e2fd5720]{padding:6px 0;font-size:12px;color:var(--text-secondary)}.config-group+.config-group[data-v-e2fd5720]{margin-top:8px}.config-group-title[data-v-e2fd5720]{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-e2fd5720]{max-width:70%;white-space:normal;word-break:break-all}.config-warnings[data-v-e2fd5720]{display:flex;flex-direction:column;gap:4px;margin-top:8px}.config-warning[data-v-e2fd5720]{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-e2fd5720]{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-97d915cd]{height:100%;display:flex;overflow:hidden}.sidebar[data-v-97d915cd]{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-97d915cd]{display:flex;align-items:center;gap:8px;padding:12px;flex-shrink:0}.sidebar-search[data-v-97d915cd]{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.search-icon[data-v-97d915cd]{color:var(--text-secondary);flex-shrink:0}.search-input[data-v-97d915cd]{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-97d915cd]:focus{border-color:var(--primary)}.search-input[data-v-97d915cd]::placeholder{color:var(--text-secondary)}.search-clear[data-v-97d915cd]{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-97d915cd]:hover{color:var(--text);background:var(--border-light)}.format-select[data-v-97d915cd]{position:relative;flex-shrink:0}.format-trigger[data-v-97d915cd]{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-97d915cd]:hover{border-color:var(--primary)}.format-caret[data-v-97d915cd]{transition:transform .15s;color:var(--text-secondary)}.format-caret.open[data-v-97d915cd]{transform:rotate(180deg)}.format-backdrop[data-v-97d915cd]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20}.format-menu[data-v-97d915cd]{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-97d915cd]{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-97d915cd]:hover{background:var(--border-light)}.format-option.active[data-v-97d915cd]{color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,transparent)}.btn-refresh[data-v-97d915cd]{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-97d915cd]:hover:not(:disabled){color:var(--primary);border-color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent)}.btn-refresh[data-v-97d915cd]:disabled{opacity:.4;cursor:not-allowed}.btn-refresh .spinning[data-v-97d915cd]{animation:spin-97d915cd .8s linear infinite}@keyframes spin-97d915cd{to{transform:rotate(360deg)}}.sidebar-tree[data-v-97d915cd]{flex:1;overflow-y:auto;overflow-x:auto;padding:4px 0}.tree-empty[data-v-97d915cd]{padding:24px 16px;text-align:center;font-size:13px;color:var(--text-secondary)}.tree-empty-small[data-v-97d915cd]{padding:8px 16px 8px 48px;font-size:12px;color:var(--text-secondary)}.tree-loading[data-v-97d915cd]{padding:8px 16px 8px 36px;font-size:12px;color:var(--text-secondary)}.tree-node[data-v-97d915cd]{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-97d915cd]:hover{background:var(--border-light)}.tree-node.active[data-v-97d915cd]{background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary)}.project-node[data-v-97d915cd]{font-weight:600;padding:7px 12px}.project-icon[data-v-97d915cd]{color:var(--primary);flex-shrink:0}.root-device-node[data-v-97d915cd]{padding-left:40px;font-size:12px}.device-icon[data-v-97d915cd]{color:var(--text-secondary);flex-shrink:0}.device-icon.device-status-online[data-v-97d915cd]{color:var(--status-online)}.device-icon.device-status-offline[data-v-97d915cd]{color:var(--status-offline)}.device-icon.device-status-connecting[data-v-97d915cd]{color:var(--primary)}.device-icon.device-status-degraded[data-v-97d915cd]{color:var(--status-warning)}.device-icon.device-status-error[data-v-97d915cd]{color:var(--status-error)}.status-dot[data-v-97d915cd]{width:6px;height:6px;border-radius:50%;flex-shrink:0}.status-dot.status-online[data-v-97d915cd]{background:var(--status-online)}.status-dot.status-offline[data-v-97d915cd]{background:var(--status-offline)}.status-dot.status-connecting[data-v-97d915cd]{background:var(--primary)}.status-dot.status-degraded[data-v-97d915cd]{background:var(--status-warning)}.status-dot.status-error[data-v-97d915cd]{background:var(--status-error)}.chevron[data-v-97d915cd]{flex-shrink:0;transition:transform .2s;color:var(--text-secondary)}.chevron.rotated[data-v-97d915cd]{transform:rotate(90deg)}.chevron-placeholder[data-v-97d915cd]{width:10px;height:10px;flex-shrink:0}.node-label[data-v-97d915cd]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-count[data-v-97d915cd]{font-size:11px;color:var(--text-secondary);background:var(--border-light);padding:1px 6px;border-radius:8px;flex-shrink:0}.project-children[data-v-97d915cd]{border-left:1px solid var(--border);margin-left:19px}.main-content[data-v-97d915cd]{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.empty-state[data-v-97d915cd]{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-97d915cd]{font-size:18px;color:var(--text);margin:0}.empty-state p[data-v-97d915cd]{margin:0;font-size:14px}.empty-state-small[data-v-97d915cd]{padding:40px 20px;text-align:center;color:var(--text-secondary);font-size:14px}.device-header[data-v-97d915cd]{display:flex;align-items:center;justify-content:space-between;padding:10px 24px 8px;flex-shrink:0}.device-header-left[data-v-97d915cd]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.device-name[data-v-97d915cd]{font-size:18px;font-weight:700;color:var(--text);margin:0}.device-code[data-v-97d915cd]{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-97d915cd]{display:inline-flex;align-items:center;padding:2px 10px;border-radius:10px;font-size:12px;font-weight:500}.status-online[data-v-97d915cd]{background:color-mix(in srgb,var(--status-online) 15%,transparent);color:var(--status-online)}.status-offline[data-v-97d915cd]{background:color-mix(in srgb,var(--status-offline) 15%,transparent);color:var(--status-offline)}.status-connecting[data-v-97d915cd]{background:color-mix(in srgb,var(--primary) 15%,transparent);color:var(--primary)}.status-degraded[data-v-97d915cd]{background:color-mix(in srgb,var(--status-warning) 15%,transparent);color:var(--status-warning)}.status-error[data-v-97d915cd]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.type-badge[data-v-97d915cd]{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-97d915cd]{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-97d915cd]{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-97d915cd]{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-97d915cd]{color:var(--primary);border-color:color-mix(in srgb,currentColor 30%,transparent);background:color-mix(in srgb,currentColor 10%,transparent)}.desc-col[data-v-97d915cd]{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-desc[data-v-97d915cd]{color:var(--text-secondary);font-size:12px}.tab-bar[data-v-97d915cd]{display:flex;gap:0;padding:0 24px;border-bottom:1px solid var(--border);flex-shrink:0}.tab-item[data-v-97d915cd]{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-97d915cd]:hover{color:var(--text)}.tab-item.active[data-v-97d915cd]{color:var(--primary);border-bottom-color:var(--primary)}.tab-content[data-v-97d915cd]{flex:1;overflow-y:auto;padding:20px 24px}.tab-pane[data-v-97d915cd]{max-width:1000px}.tab-pane-full[data-v-97d915cd]{max-width:100%}.tab-pane-header[data-v-97d915cd]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.tab-pane-actions[data-v-97d915cd]{display:flex;align-items:center;gap:12px}.info-section[data-v-97d915cd]{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-97d915cd]:hover{border-color:var(--border);box-shadow:0 2px 8px #0000000a}.info-section-header[data-v-97d915cd]{display:flex;align-items:center;gap:8px;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--border-light)}.section-icon[data-v-97d915cd]{color:var(--primary);flex-shrink:0}.section-title[data-v-97d915cd]{font-size:14px;font-weight:600;color:var(--text);margin:0;flex:1;letter-spacing:.2px}.info-grid[data-v-97d915cd]{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 24px}.info-item[data-v-97d915cd]{display:flex;flex-direction:column;gap:5px;min-width:0}.info-grid>.info-item[data-v-97d915cd]: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-97d915cd]{font-size:11px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.info-value[data-v-97d915cd]{font-size:14px;color:var(--text);word-break:break-word;line-height:1.5}.info-value.mono[data-v-97d915cd]{font-family:Courier New,monospace;font-size:13px;color:var(--text)}.info-value-multiline[data-v-97d915cd]{white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.info-value-empty[data-v-97d915cd]{color:var(--text-secondary);font-style:italic;font-size:13px}.device-value[data-v-97d915cd]{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-97d915cd]{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-97d915cd]{font-style:normal;font-size:11px;font-weight:400;color:var(--primary);opacity:.7}.error-pill[data-v-97d915cd]{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-97d915cd]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error);animation:error-pulse-97d915cd 2s ease-in-out infinite}@keyframes error-pulse-97d915cd{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-97d915cd]{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-97d915cd]{display:inline-flex;align-items:center;gap:8px}.status-time-dot[data-v-97d915cd]{width:8px;height:8px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 2px #0000001a}.status-time-dot.status-online[data-v-97d915cd]{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-97d915cd]{background:var(--status-offline)}.status-time-dot.status-connecting[data-v-97d915cd]{background:var(--primary);animation:pulse-97d915cd 2s infinite}.status-time-dot.status-degraded[data-v-97d915cd]{background:var(--status-warning)}.status-time-dot.status-error[data-v-97d915cd]{background:var(--status-error)}.text-danger[data-v-97d915cd]{color:var(--status-error)}.channel-grid[data-v-97d915cd]{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 16px}.channel-item[data-v-97d915cd]{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-97d915cd]{font-size:11px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.channel-value[data-v-97d915cd]{font-size:13px;color:var(--text);font-family:Courier New,monospace;word-break:break-all}.driver-tag[data-v-97d915cd]{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-97d915cd]{width:100%;border-collapse:collapse;font-size:13px}.tag-data-table th[data-v-97d915cd]{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-97d915cd]{padding:10px 12px;color:var(--text);border-bottom:1px solid var(--border);white-space:nowrap}.tag-name[data-v-97d915cd]{font-weight:500;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-row[data-v-97d915cd]{cursor:pointer;transition:background .1s}.tag-row[data-v-97d915cd]:hover{background:color-mix(in srgb,var(--primary) 6%,transparent)}.tag-row.alarm-row[data-v-97d915cd]{background:color-mix(in srgb,var(--status-error) 6%,transparent);border-left:3px solid var(--status-error)}.tag-row.alarm-row[data-v-97d915cd]:hover{background:color-mix(in srgb,var(--status-error) 10%,transparent)}.value-alarm[data-v-97d915cd]{color:var(--status-error);font-weight:700}.actions-col[data-v-97d915cd]{width:1%;white-space:nowrap;text-align:center}.btn-history[data-v-97d915cd]{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-97d915cd]:hover{background:var(--primary);color:var(--text);border-color:var(--primary)}.tag-row:hover .btn-history[data-v-97d915cd]{border-color:var(--primary)}.tag-address[data-v-97d915cd]{font-family:Courier New,monospace;font-size:12px;color:var(--text-secondary)}.tag-unit[data-v-97d915cd]{font-size:12px;color:var(--text-secondary)}.mono[data-v-97d915cd]{font-family:Courier New,monospace}.tag-value[data-v-97d915cd]{font-weight:600;color:var(--text)}.tag-value.value-null[data-v-97d915cd]{color:var(--text-secondary);font-style:italic}.tag-time[data-v-97d915cd]{font-family:Courier New,monospace;font-size:12px;color:var(--text-secondary)}.num-col[data-v-97d915cd]{text-align:right}.quality-badge[data-v-97d915cd]{display:inline-block;padding:1px 8px;border-radius:8px;font-size:12px}.quality-good[data-v-97d915cd]{background:color-mix(in srgb,var(--status-online) 15%,transparent);color:var(--status-online)}.quality-bad[data-v-97d915cd]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.alarm-rules-table[data-v-97d915cd]{width:100%;border-collapse:collapse;font-size:13px}.alarm-rules-table th[data-v-97d915cd]{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-97d915cd]{padding:10px 12px;color:var(--text);border-bottom:1px solid var(--border)}.rule-name[data-v-97d915cd]{font-weight:500}.level-badge[data-v-97d915cd]{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.level-info[data-v-97d915cd]{background:color-mix(in srgb,var(--primary) 15%,transparent);color:var(--primary)}.level-warning[data-v-97d915cd]{background:color-mix(in srgb,var(--status-warning) 15%,transparent);color:var(--status-warning)}.level-error[data-v-97d915cd],.level-critical[data-v-97d915cd]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.enabled-badge[data-v-97d915cd]{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px}.enabled-yes[data-v-97d915cd]{background:color-mix(in srgb,var(--status-online) 15%,transparent);color:var(--status-online)}.enabled-no[data-v-97d915cd]{background:color-mix(in srgb,var(--status-offline) 15%,transparent);color:var(--text-secondary)}.alarm-count[data-v-97d915cd]{font-size:13px;color:var(--text-secondary)}.ws-status[data-v-97d915cd]{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:4px 10px;border-radius:6px}.ws-dot[data-v-97d915cd]{width:8px;height:8px;border-radius:50%}.ws-connected[data-v-97d915cd]{background:color-mix(in srgb,var(--status-online) 10%,transparent);color:var(--status-online)}.ws-connected .ws-dot[data-v-97d915cd]{background:var(--status-online);animation:pulse-97d915cd 2s infinite}.ws-disconnected[data-v-97d915cd]{background:color-mix(in srgb,var(--status-offline) 10%,transparent);color:var(--text-secondary)}.ws-disconnected .ws-dot[data-v-97d915cd]{background:var(--status-offline)}@keyframes pulse-97d915cd{0%,to{opacity:1}50%{opacity:.5}}.auto-dot[data-v-97d915cd]{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--text-secondary);margin-right:6px}.auto-dot.active[data-v-97d915cd]{background:var(--status-online);animation:pulse-97d915cd 2s infinite}.btn[data-v-97d915cd]{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-97d915cd]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-97d915cd]{background:var(--primary);color:var(--button-text)}.btn-primary[data-v-97d915cd]:hover:not(:disabled){background:var(--button-hover)}.btn-secondary[data-v-97d915cd]{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn-secondary[data-v-97d915cd]:hover:not(:disabled){background:var(--border-light)}.btn-sm[data-v-97d915cd]{padding:6px 12px;font-size:13px}.actions-btn-group[data-v-97d915cd]{display:flex;align-items:center;gap:6px;justify-content:center}.btn-detail[data-v-97d915cd]{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-97d915cd]:hover{background:var(--primary);color:var(--text);border-color:var(--primary)}.btn-write[data-v-97d915cd]{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-97d915cd]:hover{background:var(--primary);color:var(--button-text, #fff);border-color:var(--primary)}.modal-overlay[data-v-97d915cd]{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-97d915cd]{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-97d915cd]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-title[data-v-97d915cd]{font-size:16px;font-weight:600;color:var(--text);margin:0}.modal-close[data-v-97d915cd]{background:none;border:none;font-size:20px;color:var(--text-secondary);cursor:pointer;padding:0 4px;line-height:1}.modal-close[data-v-97d915cd]:hover{color:var(--text)}.modal-body[data-v-97d915cd]{padding:20px;display:flex;flex-direction:column;gap:16px}.modal-footer[data-v-97d915cd]{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--border)}.write-info[data-v-97d915cd]{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-97d915cd]{display:flex;align-items:baseline;gap:8px}.write-info-label[data-v-97d915cd]{font-size:13px;color:var(--text-secondary);min-width:60px;flex-shrink:0}.write-info-value[data-v-97d915cd]{font-size:13px;color:var(--text);word-break:break-all}.form-group[data-v-97d915cd]{display:flex;flex-direction:column;gap:4px}.form-group label[data-v-97d915cd]{font-size:13px;color:var(--text-secondary);font-weight:500}.form-input[data-v-97d915cd]{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-97d915cd]:focus{border-color:var(--primary)}.required[data-v-97d915cd]{color:var(--status-error)}.btn-cancel[data-v-97d915cd]{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-97d915cd]:hover{background:var(--border);color:var(--text)}.mono[data-v-97d915cd]{font-family:Courier New,Consolas,monospace}.error-info[data-v-97d915cd]{display:flex;flex-direction:column;gap:8px}.error-info-row[data-v-97d915cd]{display:flex;justify-content:space-between;align-items:center;padding:6px 0}.error-info-label[data-v-97d915cd]{font-size:13px;color:var(--text-secondary);min-width:80px}.error-info-value[data-v-97d915cd]{font-size:13px;color:var(--text);text-align:right;word-break:break-all}.error-info-divider[data-v-97d915cd]{height:1px;background:var(--border);margin:4px 0}.error-message-card[data-v-97d915cd]{margin-top:8px;padding:12px;background:#dc26260f;border:1px solid rgba(220,38,38,.2);border-radius:6px}.error-message-card-empty[data-v-97d915cd]{background:var(--border-light);border-color:var(--border)}.error-message-title[data-v-97d915cd]{font-size:12px;font-weight:600;color:var(--status-error);margin-bottom:6px}.error-message-content[data-v-97d915cd]{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-97d915cd]{font-size:12px;color:var(--text-secondary)}.error-pill[data-v-97d915cd]{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-97d915cd]{background:#dc26261f;color:var(--status-error)}.error-info-diagnostics[data-v-97d915cd]{margin-top:4px}.diagnostics-title[data-v-97d915cd]{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-97d915cd]{font-size:13px;font-weight:500}.diagnostics-value.circuit-open[data-v-97d915cd]{color:var(--status-error)}.diagnostics-value.circuit-half-open[data-v-97d915cd]{color:var(--status-warning)}.diagnostics-value.circuit-closed[data-v-97d915cd]{color:var(--status-online)}.alarm-data-overlay[data-v-b3389a1d]{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-b3389a1d]{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-b3389a1d]{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-b3389a1d]{display:flex;align-items:center;gap:8px}.alarm-icon[data-v-b3389a1d]{color:var(--status-error);display:flex}.dialog-title[data-v-b3389a1d]{font-size:16px;font-weight:600;color:var(--text);margin:0}.dialog-close[data-v-b3389a1d]{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-b3389a1d]:hover{background:var(--border);color:var(--text)}.alarm-info-bar[data-v-b3389a1d]{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-b3389a1d]{display:flex;align-items:center;gap:6px;padding:0 12px}.chip-label[data-v-b3389a1d]{font-size:12px;color:var(--text-secondary)}.chip-value[data-v-b3389a1d]{font-size:13px;color:var(--text);font-family:monospace}.trigger-value[data-v-b3389a1d]{color:var(--status-error);font-weight:600}.ack-value[data-v-b3389a1d]{color:var(--status-info, #3b82f6)}.recovered-value[data-v-b3389a1d]{color:var(--status-success, #22c55e);font-weight:600}.info-divider[data-v-b3389a1d]{width:1px;height:16px;background:var(--border)}.level-tag[data-v-b3389a1d]{padding:1px 8px;border-radius:3px;font-size:11px;font-weight:600;text-transform:uppercase}.level-info[data-v-b3389a1d]{background:color-mix(in srgb,var(--status-info, #3b82f6) 15%,transparent);color:var(--status-info, #3b82f6)}.level-warning[data-v-b3389a1d]{background:color-mix(in srgb,#f59e0b 15%,transparent);color:#f59e0b}.level-error[data-v-b3389a1d]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.level-critical[data-v-b3389a1d]{background:color-mix(in srgb,var(--status-error) 25%,transparent);color:var(--status-error)}.time-window-control[data-v-b3389a1d]{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-b3389a1d]{display:flex;align-items:center;gap:8px}.window-config label[data-v-b3389a1d]{font-size:12px;color:var(--text-secondary);white-space:nowrap}.form-select-sm[data-v-b3389a1d]{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-b3389a1d]{display:flex;align-items:center;gap:12px}.view-toggle[data-v-b3389a1d]{display:flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}.view-toggle-btn[data-v-b3389a1d]{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-b3389a1d]{background:color-mix(in srgb,var(--primary) 15%,transparent);color:var(--primary)}.view-toggle-btn[data-v-b3389a1d]:hover:not(.active){background:var(--border)}.dialog-body[data-v-b3389a1d]{flex:1;overflow:auto;padding:16px 20px;min-height:300px}.loading-state[data-v-b3389a1d],.empty-state[data-v-b3389a1d]{display:flex;align-items:center;justify-content:center;height:300px;color:var(--text-secondary)}.trend-view[data-v-b3389a1d]{display:flex;flex-direction:column;gap:8px}.chart-area[data-v-b3389a1d]{position:relative;height:400px;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface)}.trend-canvas[data-v-b3389a1d]{width:100%;height:100%;cursor:crosshair}.threshold-legend[data-v-b3389a1d]{display:flex;align-items:center;gap:20px;padding:4px 0;font-size:12px;color:var(--text-secondary)}.legend-item[data-v-b3389a1d]{display:flex;align-items:center;gap:6px}.legend-line[data-v-b3389a1d]{width:20px;height:0;border-top:2px dashed}.upper-line[data-v-b3389a1d]{border-color:var(--status-error)}.lower-line[data-v-b3389a1d]{border-color:#f59e0b}.legend-dot[data-v-b3389a1d]{width:8px;height:8px;border-radius:50%}.alarm-dot[data-v-b3389a1d]{background:var(--status-error)}.ack-dot[data-v-b3389a1d]{background:var(--status-info, #3b82f6)}.recovery-dot[data-v-b3389a1d]{background:var(--status-success, #22c55e)}.table-view[data-v-b3389a1d]{max-height:500px}.data-table-wrapper[data-v-b3389a1d]{max-height:500px;overflow:auto;border:1px solid var(--border);border-radius:8px}.data-table[data-v-b3389a1d]{width:100%;border-collapse:collapse;font-size:13px}.data-table th[data-v-b3389a1d]{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-b3389a1d]{padding:6px 12px;border-bottom:1px solid var(--border);color:var(--text);white-space:nowrap}.data-table .num-col[data-v-b3389a1d]{text-align:right}.data-table .center-col[data-v-b3389a1d]{text-align:center}.data-table .alarm-row[data-v-b3389a1d]{background:color-mix(in srgb,var(--status-error) 8%,transparent)}.data-table .alarm-row td[data-v-b3389a1d]{color:var(--status-error);font-weight:500}.data-table .alarm-row[data-v-b3389a1d]:hover{background:color-mix(in srgb,var(--status-error) 15%,transparent)}.idx-col[data-v-b3389a1d]{width:48px}.alarm-dot-inline[data-v-b3389a1d]{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--status-error);margin-right:4px;vertical-align:middle}.value-badge[data-v-b3389a1d]{font-family:monospace}.alarm-badge[data-v-b3389a1d]{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-b3389a1d]{font-family:monospace;font-size:12px}.alarm-list[data-v-3121869c]{height:100%;display:flex;flex-direction:column;overflow:hidden;padding:16px 20px;box-sizing:border-box}.unified-toolbar[data-v-3121869c]{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-3121869c]{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}.toolbar-right[data-v-3121869c]{display:flex;align-items:center;gap:12px;margin-left:auto}.toolbar-title[data-v-3121869c]{font-size:16px;font-weight:700;color:var(--text);margin:0;white-space:nowrap}.toolbar-item[data-v-3121869c]{display:flex;align-items:center;gap:6px}.toolbar-label[data-v-3121869c]{font-size:12px;color:var(--text-secondary);white-space:nowrap}.toolbar-select[data-v-3121869c],.toolbar-input[data-v-3121869c]{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-3121869c]:focus,.toolbar-input[data-v-3121869c]:focus{outline:none;border-color:var(--primary)}.alarm-summary[data-v-3121869c]{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--status-error);font-weight:500;white-space:nowrap}.active-dot[data-v-3121869c]{width:8px;height:8px;border-radius:50%;background:var(--status-error);animation:pulse-3121869c 2s infinite}@keyframes pulse-3121869c{0%,to{opacity:1}50%{opacity:.4}}.filter-bar[data-v-3121869c]{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-3121869c]{display:flex;align-items:center;gap:6px}.filter-item label[data-v-3121869c]{font-size:12px;color:var(--text-secondary);white-space:nowrap}.filter-select[data-v-3121869c],.filter-input[data-v-3121869c]{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-3121869c]:focus,.filter-input[data-v-3121869c]:focus{outline:none;border-color:var(--primary)}.filter-date[data-v-3121869c]{min-width:140px}.filter-actions[data-v-3121869c]{display:flex;gap:6px}.batch-bar[data-v-3121869c]{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-3121869c]{font-size:13px;color:var(--primary);font-weight:500;margin-right:auto}.records-table-wrapper[data-v-3121869c]{flex:1;min-height:0;overflow:auto;border:1px solid var(--border);border-radius:8px}.records-table[data-v-3121869c]{width:100%;border-collapse:collapse;font-size:13px}.records-table th[data-v-3121869c]{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-3121869c]{padding:10px 12px;border-bottom:1px solid var(--border);color:var(--text)}.records-table tbody tr[data-v-3121869c]:hover{background:var(--surface)}.records-table tbody tr.row-selected[data-v-3121869c]{background:color-mix(in srgb,var(--primary) 8%,var(--background))}.col-check[data-v-3121869c]{width:40px;text-align:center}.col-time[data-v-3121869c]{min-width:160px}.col-rule[data-v-3121869c]{min-width:100px}.col-level[data-v-3121869c]{min-width:80px}.col-type[data-v-3121869c]{min-width:90px}.col-disposition[data-v-3121869c]{min-width:100px}.col-value[data-v-3121869c]{min-width:90px}.col-msg[data-v-3121869c]{min-width:120px}.col-status[data-v-3121869c]{min-width:90px}.col-actions[data-v-3121869c]{min-width:130px}.empty-row[data-v-3121869c]{text-align:center!important;color:var(--text-secondary)!important;padding:40px 12px!important}.records-table input[type=checkbox][data-v-3121869c]{width:15px;height:15px;accent-color:var(--primary);cursor:pointer}.tabs[data-v-3121869c]{display:flex;gap:4px;margin-bottom:20px;border-bottom:1px solid var(--border);padding-bottom:0;flex-shrink:0}.tab[data-v-3121869c]{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-3121869c]:hover{color:var(--text)}.tab.active[data-v-3121869c]{color:var(--status-info);border-bottom-color:var(--primary)}.tab-badge[data-v-3121869c]{background:var(--status-error);color:var(--text);font-size:11px;padding:1px 6px;border-radius:10px;font-weight:600}.tab-content[data-v-3121869c]{flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto}.tab-content[data-v-3121869c]>*{flex-shrink:0}.sub-tabs[data-v-3121869c]{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-3121869c]{display:flex;gap:4px;padding:4px;background:var(--background);border:1px solid var(--border);border-radius:8px}.filter-divider[data-v-3121869c]{width:1px;height:24px;background:var(--border);flex-shrink:0}.sub-tab[data-v-3121869c]{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-3121869c]:hover{color:var(--text);background:var(--surface)}.sub-tab.active[data-v-3121869c]{background:var(--surface);color:var(--primary);font-weight:600;box-shadow:0 1px 3px #00000014}.sub-tab-dot[data-v-3121869c]{width:7px;height:7px;border-radius:50%;background:var(--status-error);animation:pulse-3121869c 2s infinite}.sub-tab-badge[data-v-3121869c]{background:var(--status-error);color:var(--text);font-size:11px;padding:1px 6px;border-radius:10px;font-weight:600}.col-recovered[data-v-3121869c]{min-width:150px}.text-muted[data-v-3121869c]{color:var(--text-secondary);font-size:12px}.recovered-time[data-v-3121869c]{font-size:12px;color:var(--text)}.recovered-value[data-v-3121869c]{font-size:11px;color:var(--status-success);margin-top:2px}.level-badge[data-v-3121869c]{display:inline-block;padding:2px 10px;border-radius:10px;font-size:12px;font-weight:500}.level-info[data-v-3121869c]{background:var(--border);color:var(--text-secondary)}.level-warning[data-v-3121869c]{background:color-mix(in srgb,var(--status-warning) 15%,transparent);color:var(--status-warning)}.level-error[data-v-3121869c]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.level-critical[data-v-3121869c]{background:color-mix(in srgb,var(--status-error) 22%,transparent);color:var(--status-error);font-weight:700}.status-badge[data-v-3121869c]{display:inline-block;padding:2px 10px;border-radius:10px;font-size:12px;font-weight:500}.status-active[data-v-3121869c]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.status-acknowledged[data-v-3121869c]{background:color-mix(in srgb,var(--status-info) 15%,transparent);color:var(--status-info)}.status-cleared[data-v-3121869c]{background:color-mix(in srgb,var(--status-success) 15%,transparent);color:var(--status-success)}.status-shelved[data-v-3121869c]{background:var(--border);color:var(--text-secondary)}.tag-status[data-v-3121869c]{display:inline-block;padding:1px 8px;border-radius:8px;font-size:12px}.tag-status.enabled[data-v-3121869c]{background:color-mix(in srgb,var(--status-success) 15%,transparent);color:var(--status-success)}.tag-status.disabled[data-v-3121869c]{background:var(--border);color:var(--text-secondary)}.row-actions[data-v-3121869c]{display:flex;gap:4px}.stats-grid[data-v-3121869c]{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat-card[data-v-3121869c]{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-3121869c]{border-left-color:var(--status-error)}.stat-card-ack[data-v-3121869c]{border-left-color:var(--status-warning)}.stat-card-clr[data-v-3121869c]{border-left-color:var(--status-success)}.stat-value[data-v-3121869c]{font-size:32px;font-weight:700;color:var(--text);margin-bottom:4px}.stat-label[data-v-3121869c]{font-size:13px;color:var(--text-secondary)}.text-danger[data-v-3121869c]{color:var(--status-error)}.text-warning[data-v-3121869c]{color:var(--status-warning)}.text-success[data-v-3121869c]{color:var(--status-success)}.stats-two-col[data-v-3121869c]{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}.stats-panel[data-v-3121869c]{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:20px 24px}.level-dist[data-v-3121869c]{display:flex;flex-direction:column;gap:10px}.level-dist-row[data-v-3121869c]{display:flex;align-items:center;gap:10px}.level-dist-label[data-v-3121869c]{min-width:52px;font-size:12px;font-weight:600;text-align:center;padding:2px 8px;border-radius:4px}.level-tag-info[data-v-3121869c]{background:color-mix(in srgb,var(--text-secondary) 15%,transparent);color:var(--text-secondary)}.level-tag-warning[data-v-3121869c]{background:color-mix(in srgb,var(--status-warning) 15%,transparent);color:var(--status-warning)}.level-tag-error[data-v-3121869c]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.level-tag-critical[data-v-3121869c]{background:color-mix(in srgb,var(--status-error) 22%,transparent);color:var(--status-error)}.level-dist-bar-wrap[data-v-3121869c]{flex:1;height:8px;background:var(--background);border-radius:4px;overflow:hidden}.level-dist-bar[data-v-3121869c]{height:100%;border-radius:4px;transition:width .4s ease}.level-dist-count[data-v-3121869c]{font-size:13px;color:var(--text);font-weight:600;min-width:28px;text-align:right}.level-dist-pct[data-v-3121869c]{font-size:12px;color:var(--text-secondary);min-width:32px;text-align:right}.top-rules-list[data-v-3121869c]{display:flex;flex-direction:column;gap:8px}.top-rule-row[data-v-3121869c]{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}.top-rule-row[data-v-3121869c]:last-child{border-bottom:none}.top-rule-rank[data-v-3121869c]{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-3121869c]{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-3121869c]{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-3121869c]{background:color-mix(in srgb,var(--status-success) 18%,transparent);color:var(--status-success)}.top-rule-info[data-v-3121869c]{flex:1;min-width:0;display:flex;flex-direction:column}.top-rule-name[data-v-3121869c]{font-size:13px;color:var(--text);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-rule-last[data-v-3121869c]{font-size:11px;color:var(--text-secondary)}.top-rule-count[data-v-3121869c]{font-size:14px;font-weight:700;color:var(--text);flex-shrink:0}.empty-state-small[data-v-3121869c]{display:flex;align-items:center;justify-content:center;padding:30px 20px;color:var(--text-secondary);font-size:13px}.trends-section[data-v-3121869c]{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:20px 24px}.section-title[data-v-3121869c]{font-size:16px;font-weight:600;color:var(--text);margin:0 0 16px}.trends-bar[data-v-3121869c]{display:flex;align-items:flex-end;gap:8px;height:180px;padding-bottom:20px}.trend-bar-wrap[data-v-3121869c]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}.trend-bar-label[data-v-3121869c]{font-size:11px;color:var(--text);margin-bottom:4px}.trend-bar[data-v-3121869c]{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-3121869c]{font-size:10px;color:var(--text-secondary);margin-top:6px}.error-state[data-v-3121869c]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:var(--text-secondary);gap:12px}.empty-state[data-v-3121869c]{display:flex;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-secondary);font-size:14px}.alarm-rule-view[data-v-22f47b4c]{height:100%;overflow-y:auto;padding:16px 20px 32px;box-sizing:border-box}.unified-toolbar[data-v-22f47b4c]{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-22f47b4c]{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}.toolbar-title[data-v-22f47b4c]{font-size:16px;font-weight:700;color:var(--text);margin:0;white-space:nowrap}.toolbar-item[data-v-22f47b4c]{display:flex;align-items:center;gap:6px}.toolbar-label[data-v-22f47b4c]{font-size:12px;color:var(--text-secondary);white-space:nowrap}.toolbar-select[data-v-22f47b4c]{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-22f47b4c]:focus{outline:none;border-color:var(--primary)}.rules-hint-banner[data-v-22f47b4c]{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-22f47b4c]{display:inline-block;padding:2px 10px;border-radius:10px;font-size:12px;font-weight:500}.level-info[data-v-22f47b4c]{background:var(--border);color:var(--text-secondary)}.level-warning[data-v-22f47b4c]{background:color-mix(in srgb,var(--status-warning) 15%,transparent);color:var(--status-warning)}.level-error[data-v-22f47b4c]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.level-critical[data-v-22f47b4c]{background:color-mix(in srgb,var(--status-error) 22%,transparent);color:var(--status-error);font-weight:700}.tag-status[data-v-22f47b4c]{display:inline-block;padding:1px 8px;border-radius:8px;font-size:12px}.tag-status.enabled[data-v-22f47b4c]{background:color-mix(in srgb,var(--status-success) 15%,transparent);color:var(--status-success)}.tag-status.disabled[data-v-22f47b4c]{background:var(--border);color:var(--text-secondary)}[data-v-22f47b4c] .data-row.ai-highlight td{animation:ai-highlight-pulse-22f47b4c 1.2s ease-in-out 2}@keyframes ai-highlight-pulse-22f47b4c{0%,to{background:transparent}50%{background:color-mix(in srgb,var(--primary) 22%,transparent)}}.realtime-alarm-view[data-v-830bbd55]{height:100%;display:flex;flex-direction:column;overflow:hidden;padding:16px}.unified-toolbar[data-v-830bbd55]{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-830bbd55]{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}.toolbar-right[data-v-830bbd55]{display:flex;align-items:center;gap:12px;margin-left:auto}.toolbar-title[data-v-830bbd55]{font-size:16px;font-weight:700;color:var(--text);margin:0;white-space:nowrap}.toolbar-item[data-v-830bbd55]{display:flex;align-items:center;gap:6px}.toolbar-label[data-v-830bbd55]{font-size:12px;color:var(--text-secondary);white-space:nowrap}.toolbar-select[data-v-830bbd55],.toolbar-input[data-v-830bbd55]{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-830bbd55]:focus,.toolbar-input[data-v-830bbd55]:focus{outline:none;border-color:var(--primary)}.alarm-summary[data-v-830bbd55]{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--status-error);font-weight:500;white-space:nowrap}.active-dot[data-v-830bbd55]{width:8px;height:8px;border-radius:50%;background:var(--status-error);animation:pulse-830bbd55 2s infinite}@keyframes pulse-830bbd55{0%,to{opacity:1}50%{opacity:.4}}.auto-refresh-toggle[data-v-830bbd55]{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-830bbd55]{width:15px;height:15px;accent-color:var(--primary);cursor:pointer}.batch-bar[data-v-830bbd55]{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-830bbd55]{font-size:13px;color:var(--primary);font-weight:500;margin-right:auto}.records-table-wrapper[data-v-830bbd55]{flex:1;min-height:0;overflow:auto;border:1px solid var(--border);border-radius:8px}.records-table[data-v-830bbd55]{width:100%;border-collapse:collapse;font-size:13px}.records-table th[data-v-830bbd55]{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-830bbd55]{padding:10px 12px;border-bottom:1px solid var(--border);color:var(--text)}.records-table tbody tr[data-v-830bbd55]:hover{background:var(--surface)}.records-table tbody tr.row-selected[data-v-830bbd55]{background:color-mix(in srgb,var(--primary) 8%,var(--background))}.col-check[data-v-830bbd55]{width:40px;text-align:center}.col-time[data-v-830bbd55]{min-width:160px}.col-level[data-v-830bbd55]{min-width:80px}.col-type[data-v-830bbd55],.col-value[data-v-830bbd55]{min-width:90px}.col-msg[data-v-830bbd55]{min-width:120px}.col-status[data-v-830bbd55]{min-width:90px}.col-actions[data-v-830bbd55]{min-width:130px}.empty-row[data-v-830bbd55]{text-align:center!important;color:var(--text-secondary)!important;padding:40px 12px!important}.records-table input[type=checkbox][data-v-830bbd55]{width:15px;height:15px;accent-color:var(--primary);cursor:pointer}.empty-state[data-v-830bbd55]{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:14px}.empty-desc[data-v-830bbd55]{font-size:12px;color:var(--text-secondary)}.level-badge[data-v-830bbd55]{display:inline-block;padding:2px 10px;border-radius:10px;font-size:12px;font-weight:500}.level-info[data-v-830bbd55]{background:var(--border);color:var(--text-secondary)}.level-warning[data-v-830bbd55]{background:color-mix(in srgb,var(--status-warning) 15%,transparent);color:var(--status-warning)}.level-error[data-v-830bbd55]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.level-critical[data-v-830bbd55]{background:color-mix(in srgb,var(--status-error) 22%,transparent);color:var(--status-error);font-weight:700}.status-badge[data-v-830bbd55]{display:inline-block;padding:2px 10px;border-radius:10px;font-size:12px;font-weight:500}.status-active[data-v-830bbd55]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.status-acknowledged[data-v-830bbd55]{background:color-mix(in srgb,var(--status-info) 15%,transparent);color:var(--status-info)}.status-cleared[data-v-830bbd55]{background:color-mix(in srgb,var(--status-success) 15%,transparent);color:var(--status-success)}.status-shelved[data-v-830bbd55]{background:var(--border);color:var(--text-secondary)}.row-actions[data-v-830bbd55]{display:flex;gap:4px}.error-state[data-v-830bbd55]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:var(--text-secondary);gap:12px}.cron-editor[data-v-0a6cff1a]{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px;font-size:13px}.cron-tabs[data-v-0a6cff1a]{display:flex;gap:4px;margin-bottom:12px;border-bottom:1px solid var(--border);padding-bottom:8px}.cron-tab[data-v-0a6cff1a]{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-0a6cff1a]:hover{color:var(--text);background:var(--border)}.cron-tab.active[data-v-0a6cff1a]{color:var(--primary);background:var(--control-button-hover, var(--surface))}.cron-presets[data-v-0a6cff1a]{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.preset-item[data-v-0a6cff1a]{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-0a6cff1a]:hover,.preset-item.active[data-v-0a6cff1a]{border-color:var(--primary);background:var(--control-button-hover, var(--surface))}.preset-label[data-v-0a6cff1a]{color:var(--text);font-weight:500;font-size:13px}.preset-desc[data-v-0a6cff1a]{color:var(--text-tertiary);font-size:11px;margin-top:2px}.cron-custom[data-v-0a6cff1a]{display:flex;flex-direction:column;gap:8px}.cron-row[data-v-0a6cff1a]{display:flex;align-items:center;gap:10px}.cron-field-label[data-v-0a6cff1a]{width:50px;color:var(--text-secondary);font-size:12px;text-align:right;flex-shrink:0}.cron-select[data-v-0a6cff1a]{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-0a6cff1a]:focus{border-color:var(--primary)}.cron-expression[data-v-0a6cff1a]{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px}.cron-input[data-v-0a6cff1a]{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-0a6cff1a]:focus{border-color:var(--primary)}.cron-input.invalid[data-v-0a6cff1a]{border-color:var(--danger, var(--status-error))}.cron-error[data-v-0a6cff1a]{width:100%;color:var(--danger, var(--status-error));font-size:11px;margin-top:2px}.cron-preview[data-v-0a6cff1a]{margin-top:12px;padding:10px;background:var(--background);border-radius:6px;border:1px solid var(--border)}.preview-row[data-v-0a6cff1a]{display:flex;align-items:center;gap:6px;font-size:12px;margin-bottom:4px}.preview-row[data-v-0a6cff1a]:last-child{margin-bottom:0}.preview-label[data-v-0a6cff1a]{color:var(--text-tertiary);flex-shrink:0}.preview-code[data-v-0a6cff1a]{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-0a6cff1a]{color:var(--text-secondary)}.preview-time[data-v-0a6cff1a]{color:var(--status-success)}.cron-preset-buttons[data-v-0a6cff1a]{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-0a6cff1a]{color:var(--text-tertiary);font-size:12px;margin-right:2px}.quick-btn[data-v-0a6cff1a]{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-0a6cff1a]:hover{border-color:var(--primary);color:var(--text)}.quick-btn.active[data-v-0a6cff1a]{border-color:var(--primary);background:var(--control-button-hover, var(--surface));color:var(--primary)}.event-binding-panel[data-v-ae27913f]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:12px;font-size:13px}.binding-form[data-v-ae27913f]{display:flex;flex-direction:column;gap:10px}.form-group[data-v-ae27913f]{display:flex;flex-direction:column;gap:4px}.form-label[data-v-ae27913f]{color:var(--text-secondary);font-size:12px;font-weight:500}.label-hint[data-v-ae27913f]{font-weight:400;color:var(--text-tertiary)}.form-select[data-v-ae27913f],.form-input[data-v-ae27913f]{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-ae27913f]:focus,.form-input[data-v-ae27913f]:focus{border-color:var(--border-focus, var(--primary))}.form-hint[data-v-ae27913f]{color:var(--text-tertiary);font-size:11px;line-height:1.5}.event-description[data-v-ae27913f]{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-ae27913f]{color:var(--status-info);flex-shrink:0}.event-warning[data-v-ae27913f]{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-51bdc25e]{height:100%;display:flex;overflow:hidden}.left-panel[data-v-51bdc25e]{width:260px;border-right:1px solid var(--border);background:var(--surface);display:flex;flex-direction:column;flex-shrink:0}.panel-header[data-v-51bdc25e]{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border)}.panel-header-actions[data-v-51bdc25e]{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:1}.project-select[data-v-51bdc25e]{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-51bdc25e]:focus{border-color:var(--primary)}.project-select option[data-v-51bdc25e]{background:var(--surface);color:var(--text)}.sidebar-loading[data-v-51bdc25e],.sidebar-empty[data-v-51bdc25e]{padding:24px 16px;color:var(--text-secondary);font-size:13px;text-align:center}.script-nav[data-v-51bdc25e]{overflow-y:auto;flex:1}.script-item[data-v-51bdc25e]{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-51bdc25e]:hover{background:var(--border)}.script-item.active[data-v-51bdc25e]{background:#1a73e81f}.script-item-name[data-v-51bdc25e]{font-size:13px;font-weight:500;color:var(--text);margin-bottom:2px}.script-item-meta[data-v-51bdc25e]{font-size:11px;color:var(--text-secondary);display:flex;align-items:center;gap:4px}.status-dot[data-v-51bdc25e]{width:6px;height:6px;border-radius:50%;display:inline-block}.dot-active[data-v-51bdc25e]{background:var(--status-success)}.dot-draft[data-v-51bdc25e]{background:var(--text-secondary)}.dot-paused[data-v-51bdc25e]{background:var(--status-warning)}.dot-error[data-v-51bdc25e]{background:var(--status-error)}.provenance-badge[data-v-51bdc25e]{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-51bdc25e]{background:color-mix(in srgb,var(--text-secondary) 18%,transparent);color:var(--text-secondary)}.prov-template[data-v-51bdc25e]{background:color-mix(in srgb,var(--primary) 18%,transparent);color:var(--primary)}.prov-ai[data-v-51bdc25e]{background:color-mix(in srgb,#a855f7 20%,transparent);color:#c084fc}.provenance-hint[data-v-51bdc25e]{font-size:11px;color:#c084fc;margin-left:2px}.script-info[data-v-51bdc25e]{padding:12px 16px;border-top:1px solid var(--border)}.info-row[data-v-51bdc25e]{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);margin-bottom:4px}.info-label[data-v-51bdc25e]{color:var(--text-secondary);min-width:36px}.info-desc[data-v-51bdc25e]{margin-top:6px;color:var(--text-secondary)}.right-panel[data-v-51bdc25e]{flex:1;display:flex;flex-direction:column;overflow:hidden}.editor-empty[data-v-51bdc25e]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);gap:8px}.editor-empty h3[data-v-51bdc25e]{font-size:18px;color:var(--text-secondary);margin:0}.editor-empty p[data-v-51bdc25e]{margin:0;font-size:14px}.editor-empty svg[data-v-51bdc25e]{color:var(--border)}.editor-toolbar[data-v-51bdc25e]{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-51bdc25e]{display:flex;align-items:center;gap:8px}.script-name[data-v-51bdc25e]{font-size:14px;font-weight:500;color:var(--text)}.toolbar-right[data-v-51bdc25e]{display:flex;gap:6px}.editor-container[data-v-51bdc25e]{flex:1;overflow:hidden;min-height:160px}.execution-result[data-v-51bdc25e]{border-top:1px solid var(--border);padding:12px 16px;max-height:220px;overflow-y:auto;flex-shrink:0}.result-success[data-v-51bdc25e]{background:color-mix(in srgb,var(--status-online) 15%,transparent)}.result-error[data-v-51bdc25e]{background:color-mix(in srgb,var(--status-error) 15%,transparent)}.result-header[data-v-51bdc25e]{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;margin-bottom:6px}.result-success .result-header[data-v-51bdc25e]{color:var(--status-success)}.result-error .result-header[data-v-51bdc25e]{color:var(--status-error)}.result-duration[data-v-51bdc25e]{font-size:12px;color:var(--text-secondary)}.result-close[data-v-51bdc25e]{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-51bdc25e]:hover{background:var(--border);color:var(--text)}.result-body[data-v-51bdc25e]{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-51bdc25e]{border-top:1px dashed var(--border);margin-top:6px;padding-top:6px}.denied-title[data-v-51bdc25e]{font-size:12px;font-weight:600;color:var(--status-warning);margin-bottom:4px}.denied-list[data-v-51bdc25e]{margin:0;padding-left:16px;list-style:disc}.denied-list li[data-v-51bdc25e]{font-family:Courier New,monospace;font-size:12px;color:var(--text-secondary);margin-bottom:2px}.denied-list code[data-v-51bdc25e]{color:var(--text)}.denied-reason[data-v-51bdc25e]{margin-left:6px;color:var(--status-warning)}.apicall-block[data-v-51bdc25e]{border-top:1px dashed var(--border);margin-top:6px;padding-top:6px}.apicall-title[data-v-51bdc25e]{font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:4px}.apicall-table[data-v-51bdc25e]{width:100%;border-collapse:collapse;font-size:12px}.apicall-table th[data-v-51bdc25e],.apicall-table td[data-v-51bdc25e]{text-align:left;padding:3px 6px;border-bottom:1px solid var(--border);color:var(--text-secondary)}.apicall-table code[data-v-51bdc25e]{color:var(--text)}.apicall-ok td[data-v-51bdc25e]:first-child{color:var(--status-success)}.apicall-suppressed td[data-v-51bdc25e]:first-child{color:var(--status-warning)}.config-section[data-v-51bdc25e]{border-top:1px solid var(--border);flex-shrink:0;background:var(--background)}.config-title[data-v-51bdc25e]{font-size:13px;font-weight:600;color:var(--text)}.config-grid[data-v-51bdc25e]{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;padding:10px 16px;max-height:240px;overflow-y:auto}.section-header[data-v-51bdc25e]{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-51bdc25e]:hover{background:var(--surface-hover, rgba(148, 163, 184, .08))}.collapse-arrow[data-v-51bdc25e]{font-size:12px;color:var(--text-secondary)}.config-row[data-v-51bdc25e]{display:flex;align-items:center;gap:8px}.config-row-wide[data-v-51bdc25e]{grid-column:1 / -1}.config-label[data-v-51bdc25e]{font-size:12px;color:var(--text-secondary);min-width:56px}.config-row .form-input[data-v-51bdc25e]{flex:1;padding:5px 8px;font-size:13px}.config-check[data-v-51bdc25e]{grid-column:1 / -1;gap:16px}.config-check-label[data-v-51bdc25e]{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text);cursor:pointer}.bottom-section[data-v-51bdc25e]{border-top:1px solid var(--border);flex-shrink:0;display:flex;flex-direction:column;background:var(--background)}.bottom-title[data-v-51bdc25e]{font-size:13px;font-weight:600;color:var(--text)}.bottom-content[data-v-51bdc25e]{display:flex;flex-direction:column;max-height:240px;overflow:hidden}.bottom-tabs[data-v-51bdc25e]{display:flex;border-bottom:1px solid var(--border)}.bottom-tab[data-v-51bdc25e]{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-51bdc25e]{color:var(--primary);border-bottom-color:var(--primary)}.inspector-panel[data-v-51bdc25e]{border-top:1px solid var(--border);flex-shrink:0;display:flex;flex-direction:column;background:var(--background)}.inspector-tabs[data-v-51bdc25e]{display:flex;border-bottom:1px solid var(--border)}.inspector-tab[data-v-51bdc25e]{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-51bdc25e]{color:var(--primary);border-bottom-color:var(--primary)}.inspector-toggle[data-v-51bdc25e]{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-51bdc25e]:hover{color:var(--primary)}.collapse-arrow[data-v-51bdc25e]{display:inline-block;font-size:12px;line-height:1;transition:transform .2s ease}.collapse-arrow.rotated[data-v-51bdc25e]{transform:rotate(180deg)}.sidebar-toggle[data-v-51bdc25e]{margin-right:4px;flex-shrink:0}.inspector-body[data-v-51bdc25e]{display:flex;flex-direction:column;max-height:280px;overflow-y:auto;padding:8px 16px 12px}.bottom-body[data-v-51bdc25e]{flex:1;overflow-y:auto;padding:8px 16px}.bottom-empty[data-v-51bdc25e]{color:var(--text-secondary);font-size:13px;text-align:center;padding:24px 0}.history-item[data-v-51bdc25e]{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-51bdc25e]:hover,.history-item.is-expanded[data-v-51bdc25e]{background:var(--surface-raised, var(--surface))}.ex-status[data-v-51bdc25e]{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-51bdc25e]{color:var(--status-success, #16a34a);border-color:var(--status-success, #16a34a)}.ex-status.is-fail[data-v-51bdc25e]{color:var(--status-error, #dc2626);border-color:var(--status-error, #dc2626)}.ex-status.is-running[data-v-51bdc25e]{color:var(--primary);border-color:var(--primary)}.ex-status.is-queued[data-v-51bdc25e]{color:var(--text-secondary)}.ex-status.is-cancelled[data-v-51bdc25e]{color:var(--status-warning, #d97706);border-color:var(--status-warning, #d97706)}.ex-trigger[data-v-51bdc25e]{flex:none;color:var(--text-secondary)}.ex-summary[data-v-51bdc25e]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary)}.ex-summary.is-error[data-v-51bdc25e]{color:var(--status-error, #dc2626)}.ex-meta[data-v-51bdc25e]{flex:none;display:flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:11px}.ex-sep[data-v-51bdc25e]{opacity:.6}.ex-badge[data-v-51bdc25e]{padding:0 5px;border:1px solid var(--border);border-radius:8px;background:var(--surface-raised, var(--surface))}.history-detail[data-v-51bdc25e]{margin:0 0 6px;border:1px solid var(--border);border-radius:4px;background:var(--surface-raised, var(--surface));overflow:hidden}.hd-head[data-v-51bdc25e]{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-51bdc25e]{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-51bdc25e]:hover{color:var(--text);border-color:var(--primary)}.hd-body[data-v-51bdc25e]{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-51bdc25e]{padding:6px 0;border-bottom:1px solid var(--border)}.api-name[data-v-51bdc25e]{font-size:13px;font-weight:500;color:var(--text);font-family:Courier New,monospace}.api-params[data-v-51bdc25e]{color:var(--text-secondary);font-weight:400}.api-desc[data-v-51bdc25e]{font-size:12px;color:var(--text-secondary)}.btn[data-v-51bdc25e]{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-51bdc25e]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-51bdc25e]{background:var(--primary);color:var(--text)}.btn-primary[data-v-51bdc25e]:hover:not(:disabled){background:var(--primary)}.btn-secondary[data-v-51bdc25e]{background:var(--border);color:var(--text)}.btn-secondary[data-v-51bdc25e]:hover:not(:disabled){background:var(--border-light)}.btn-sm[data-v-51bdc25e]{padding:5px 10px;font-size:13px}.btn-icon[data-v-51bdc25e]{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-51bdc25e]:hover{background:color-mix(in srgb,var(--status-error) 12%,transparent);border-color:var(--status-error);color:var(--status-error)}.modal-overlay[data-v-51bdc25e]{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-51bdc25e]{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-51bdc25e]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0}.modal-header h2[data-v-51bdc25e]{font-size:18px;font-weight:600;color:var(--text);margin:0}.modal-close[data-v-51bdc25e]{background:none;border:none;font-size:24px;color:var(--text-secondary);cursor:pointer;padding:0;line-height:1}.modal-close[data-v-51bdc25e]:hover{color:var(--text)}.modal-body[data-v-51bdc25e]{padding:20px 24px}.modal-footer[data-v-51bdc25e]{display:flex;justify-content:flex-end;gap:8px;padding:0 24px 20px}.form-group[data-v-51bdc25e]{margin-bottom:14px}.form-row[data-v-51bdc25e]{display:flex;gap:12px}.form-row .form-group[data-v-51bdc25e]{flex:1}.form-label[data-v-51bdc25e]{display:block;font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.required[data-v-51bdc25e]{color:var(--status-error)}.form-input[data-v-51bdc25e]{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-51bdc25e]::placeholder{color:var(--border)}.form-input[data-v-51bdc25e]:focus{border-color:var(--primary)}.form-select[data-v-51bdc25e]{-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-51bdc25e]{background:var(--surface);color:var(--text)}.form-checks[data-v-51bdc25e]{display:flex;gap:24px}.form-textarea[data-v-51bdc25e]{font-family:Courier New,monospace;resize:vertical}.form-error[data-v-51bdc25e]{color:var(--status-error);font-size:13px;margin:-4px 0 0}.script-template-view[data-v-8ce3a564]{height:100%;display:flex;flex-direction:column;overflow:hidden;background:var(--background)}.template-toolbar[data-v-8ce3a564]{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-8ce3a564]{display:flex;align-items:center;gap:12px}.toolbar-title[data-v-8ce3a564]{font-size:16px;font-weight:600;color:var(--text);margin:0}.toolbar-right[data-v-8ce3a564]{display:flex;align-items:center;gap:8px}.template-content[data-v-8ce3a564]{flex:1;overflow-y:auto;padding:20px}.btn[data-v-8ce3a564]{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-8ce3a564]:hover:not(:disabled){border-color:var(--primary)}.btn[data-v-8ce3a564]:disabled{opacity:.5;cursor:not-allowed}.btn-sm[data-v-8ce3a564]{padding:4px 10px;font-size:13px}.btn-xs[data-v-8ce3a564]{padding:2px 8px;font-size:12px}.btn-primary[data-v-8ce3a564]{background:var(--primary);border-color:var(--primary);color:var(--button-text)}.btn-primary[data-v-8ce3a564]:hover:not(:disabled){background:var(--button-hover);border-color:var(--button-hover)}.btn-error[data-v-8ce3a564]{color:var(--status-error)}.btn-text[data-v-8ce3a564]{background:transparent;border:none}.btn-text[data-v-8ce3a564]:hover:not(:disabled){background:var(--control-button-hover);border:none}.btn-text.btn-primary[data-v-8ce3a564]{background:transparent;border:none;color:var(--primary)}.btn-text.btn-primary[data-v-8ce3a564]:hover:not(:disabled){background:var(--control-button-hover)}.btn-text.btn-error[data-v-8ce3a564]{background:transparent;border:none;color:var(--status-error)}.btn-text.btn-error[data-v-8ce3a564]:hover:not(:disabled){background:var(--control-button-hover)}.input[data-v-8ce3a564]{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-8ce3a564]:focus{border-color:var(--primary)}.input-sm[data-v-8ce3a564]{padding:4px 8px;font-size:13px}textarea.input[data-v-8ce3a564]{resize:vertical;font-family:inherit}.search-input-wrapper[data-v-8ce3a564]{position:relative;display:flex;align-items:center}.search-icon[data-v-8ce3a564]{position:absolute;left:8px;color:var(--text-tertiary);pointer-events:none}.search-input[data-v-8ce3a564]{padding-left:28px}.select[data-v-8ce3a564]{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-8ce3a564]:focus{border-color:var(--primary)}.select-sm[data-v-8ce3a564]{padding:4px 8px;font-size:13px}.select[data-v-8ce3a564]:disabled{opacity:.5;cursor:not-allowed}.card[data-v-8ce3a564]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);transition:box-shadow .2s,border-color .2s}.card[data-v-8ce3a564]:hover{border-color:var(--primary);box-shadow:var(--shadow-card)}.template-card[data-v-8ce3a564]{display:flex;flex-direction:column;height:100%;padding:14px 16px}.card-header[data-v-8ce3a564]{margin-bottom:8px}.card-title-row[data-v-8ce3a564]{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.card-title[data-v-8ce3a564]{font-size:14px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.card-tags[data-v-8ce3a564]{display:flex;gap:4px;flex-wrap:wrap}.card-desc[data-v-8ce3a564]{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-8ce3a564]{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:8px}.card-footer[data-v-8ce3a564]{margin-top:auto;padding-top:8px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:6px}.footer-meta[data-v-8ce3a564]{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--text-secondary)}.meta-item[data-v-8ce3a564]{display:inline-flex;align-items:center;gap:3px}.footer-actions[data-v-8ce3a564]{display:flex;gap:4px;flex-wrap:wrap}.template-grid[data-v-8ce3a564]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.tag[data-v-8ce3a564]{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-8ce3a564]{font-size:11px;padding:1px 6px}.tag--xs[data-v-8ce3a564]{font-size:10px;padding:1px 5px}.tag--bordered[data-v-8ce3a564]{border:1px solid var(--border)}.tag--round[data-v-8ce3a564]{border-radius:999px}.tag--info[data-v-8ce3a564]{color:var(--status-info);background:color-mix(in srgb,var(--status-info) 12%,transparent)}.tag--success[data-v-8ce3a564]{color:var(--status-success);background:color-mix(in srgb,var(--status-success) 12%,transparent)}.tag--warning[data-v-8ce3a564]{color:var(--status-warning);background:color-mix(in srgb,var(--status-warning) 15%,transparent)}.tag--error[data-v-8ce3a564]{color:var(--status-error);background:color-mix(in srgb,var(--status-error) 12%,transparent)}.tag--default[data-v-8ce3a564]{background:var(--background);color:var(--text-secondary)}.loading-state[data-v-8ce3a564]{display:flex;justify-content:center;align-items:center;padding:60px 0}.spinner[data-v-8ce3a564]{width:28px;height:28px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin-8ce3a564 .8s linear infinite}@keyframes spin-8ce3a564{to{transform:rotate(360deg)}}.empty-state[data-v-8ce3a564]{text-align:center;padding:60px 0;color:var(--text-secondary);font-size:14px}.modal-overlay[data-v-8ce3a564]{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-8ce3a564]{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-8ce3a564]{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-8ce3a564]{font-size:16px;font-weight:600;color:var(--text);margin:0}.modal-close[data-v-8ce3a564]{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-8ce3a564]:hover{color:var(--text)}.modal-body[data-v-8ce3a564]{padding:20px;overflow-y:auto;flex:1}.modal-footer[data-v-8ce3a564]{padding:12px 20px;border-top:1px solid var(--border);flex-shrink:0}.code-preview-info[data-v-8ce3a564]{font-size:13px;color:var(--text-secondary);margin-bottom:10px;display:flex;gap:6px}.info-label[data-v-8ce3a564]{color:var(--text-secondary)}.code-block[data-v-8ce3a564]{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-8ce3a564],.edit-form[data-v-8ce3a564]{display:flex;flex-direction:column;gap:12px}.form-row[data-v-8ce3a564]{display:flex;flex-direction:column;gap:4px}.form-row-double[data-v-8ce3a564]{flex-direction:row;gap:12px}.form-col[data-v-8ce3a564]{flex:1;display:flex;flex-direction:column;gap:4px}.form-label[data-v-8ce3a564]{font-size:13px;font-weight:500;color:var(--text-secondary)}.required[data-v-8ce3a564]{color:var(--status-error)}.form-value[data-v-8ce3a564]{font-size:14px;color:var(--text);font-weight:500}.form-error[data-v-8ce3a564]{color:var(--status-error);font-size:13px;margin:0}.code-input[data-v-8ce3a564]{font-family:Courier New,monospace;font-size:12px}.dialog-footer[data-v-8ce3a564]{display:flex;justify-content:flex-end;gap:8px}.variable-selector[data-v-d908690f]{display:flex;gap:16px;flex-wrap:wrap;width:100%}.selector-block[data-v-d908690f]{flex:1;min-width:260px;display:flex;flex-direction:column;gap:6px}.selector-head[data-v-d908690f]{display:flex;align-items:center;gap:8px}.field-label[data-v-d908690f]{font-size:12px;color:var(--text-secondary);white-space:nowrap}.form-select[data-v-d908690f]{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-d908690f]:focus{border-color:var(--primary)}.status-cell[data-v-d908690f]{padding:6px 4px;font-size:12px;color:var(--text-secondary)}.device-select[data-v-d908690f]{min-width:200px}.tag-list[data-v-d908690f]{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-d908690f]{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-d908690f]{color:var(--text);font-size:13px}.tag-item[data-v-d908690f]:hover{background:var(--surface-hover)}.tag-unit[data-v-d908690f]{color:var(--text-secondary);font-size:12px}.selected-block[data-v-d908690f]{flex:1;min-width:260px;display:flex;flex-direction:column;gap:6px}.selected-list[data-v-d908690f]{display:flex;flex-wrap:wrap;gap:6px;max-height:160px;overflow:auto}.selected-chip[data-v-d908690f]{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-d908690f]{border:none;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:14px;padding:0 2px;line-height:1}.chip-remove[data-v-d908690f]:hover{color:var(--status-error)}.project-selector[data-v-7cf3c357]{display:flex;align-items:center;gap:8px}.selector-label[data-v-7cf3c357]{font-size:12px;color:var(--text-secondary);white-space:nowrap}.selector-select[data-v-7cf3c357]{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-7cf3c357]:focus{border-color:var(--primary)}.selector-select--md[data-v-7cf3c357]{height:32px}.reports-page[data-v-3b686487]{min-height:100%;padding:14px 16px}.toolbar[data-v-3b686487]{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-3b686487]{display:flex;flex-direction:row;align-items:center;gap:8px}.field-label[data-v-3b686487]{font-size:12px;color:var(--text-secondary);white-space:nowrap}.toolbar-actions[data-v-3b686487]{display:flex;align-items:center;gap:10px;margin-left:auto}.form-select[data-v-3b686487],.form-input[data-v-3b686487]{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-3b686487]:focus,.form-input[data-v-3b686487]:focus{border-color:var(--primary)}.form-select--sm[data-v-3b686487]{width:120px}.form-input--sm[data-v-3b686487]{width:140px}.form-select[data-v-3b686487]:disabled,.form-input[data-v-3b686487]:disabled{background:var(--background);color:var(--text-secondary);cursor:not-allowed}.date-range[data-v-3b686487]{display:flex;align-items:center;gap:8px}.date-range-separator[data-v-3b686487]{color:var(--text-secondary);font-size:12px}.btn[data-v-3b686487]{height:28px;padding:0 16px;font-size:13px;border:none;border-radius:6px;cursor:pointer;font-family:inherit;transition:opacity .2s}.btn[data-v-3b686487]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-3b686487]{background:var(--primary);color:var(--text)}.btn-primary[data-v-3b686487]:hover:not(:disabled){opacity:.9}.btn-secondary[data-v-3b686487]{background:var(--surface);color:var(--text);border:1px solid var(--border-light)}.btn-secondary[data-v-3b686487]:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.tag[data-v-3b686487]{display:inline-block;padding:2px 10px;font-size:12px;border-radius:12px;line-height:18px}.tag--success[data-v-3b686487]{background:var(--status-success);color:var(--text)}.tag--error[data-v-3b686487]{background:var(--status-error);color:var(--text)}.tag--default[data-v-3b686487]{background:var(--background);color:var(--text-secondary)}.report-meta[data-v-3b686487]{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-3b686487]{display:flex;gap:6px}.meta-label[data-v-3b686487]{color:var(--text-secondary)}.meta-value[data-v-3b686487]{color:var(--text);font-weight:500}.summary-grid[data-v-3b686487]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:24px}.summary-card[data-v-3b686487]{padding:16px 20px;background:var(--surface);border:1px solid var(--border-light);border-radius:10px}.summary-label[data-v-3b686487]{font-size:12px;color:var(--text-secondary);margin-bottom:8px}.summary-value[data-v-3b686487]{font-size:26px;font-weight:700;color:var(--text)}.summary-value--online[data-v-3b686487]{color:var(--status-success)}.summary-value--offline[data-v-3b686487]{color:var(--text-secondary)}.summary-value--alarm[data-v-3b686487]{color:var(--status-error)}.section-title[data-v-3b686487]{font-size:14px;font-weight:600;color:var(--text);margin:14px 0 10px}.charts-grid[data-v-3b686487]{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.chart-card[data-v-3b686487]{background:var(--surface);border:1px solid var(--border-light);border-radius:10px;overflow:hidden}.chart-card.full-width[data-v-3b686487]{grid-column:1 / -1}.chart-card-header[data-v-3b686487]{display:flex;align-items:baseline;gap:10px;padding:14px 20px;border-bottom:1px solid var(--background)}.chart-card-header h3[data-v-3b686487]{font-size:14px;font-weight:600;color:var(--text);margin:0}.chart-body[data-v-3b686487]{padding:12px}.items-table-wrap[data-v-3b686487]{background:var(--surface);border:1px solid var(--border-light);border-radius:10px;overflow:hidden}.items-table[data-v-3b686487]{width:100%;border-collapse:collapse}.items-table th[data-v-3b686487],.items-table td[data-v-3b686487]{padding:10px 16px;text-align:left;border-bottom:1px solid var(--background);font-size:13px}.items-table th[data-v-3b686487]{background:var(--background);color:var(--text-secondary);font-weight:600}.items-table td[data-v-3b686487]{color:var(--text)}.items-table tbody tr:last-child td[data-v-3b686487]{border-bottom:none}.empty-state[data-v-3b686487]{padding:60px 0;text-align:center;color:var(--text-secondary);font-size:14px}.collapsible-panel[data-v-3b686487]{margin-top:4px;border:1px solid var(--border);border-radius:6px;overflow:hidden;flex-shrink:0}.panel-toggle[data-v-3b686487]{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-3b686487]:hover{background:var(--surface-hover)}.toggle-arrow[data-v-3b686487]{font-size:12px;color:var(--text-secondary);width:12px}.panel-badge[data-v-3b686487]{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-3b686487]{padding:4px 12px 12px;border-top:1px solid var(--border)}.business-unit[data-v-3b686487]{color:var(--text-secondary);font-size:12px;margin-left:2px}.business-reports-page[data-v-2b4ace0c]{display:flex;flex-direction:column;height:100%;padding:16px;gap:12px;overflow:auto}.config-panel[data-v-2b4ace0c]{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-2b4ace0c]{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}.params-row[data-v-2b4ace0c]{align-items:flex-end;border-top:1px solid var(--border);padding-top:12px}.param-field[data-v-2b4ace0c]{display:flex;flex-direction:column;gap:4px}.param-actions[data-v-2b4ace0c]{display:flex;gap:8px;margin-left:auto}.field-label[data-v-2b4ace0c]{font-size:12px;color:var(--text-secondary)}.form-input[data-v-2b4ace0c],.form-select[data-v-2b4ace0c]{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-2b4ace0c]{width:190px}.custom-periods[data-v-2b4ace0c]{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--border);padding-top:12px}.custom-head[data-v-2b4ace0c]{display:flex;align-items:center;justify-content:space-between}.custom-period-row[data-v-2b4ace0c]{display:flex;align-items:center;gap:8px}.label-input[data-v-2b4ace0c]{width:140px}.btn[data-v-2b4ace0c]{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-2b4ace0c]:disabled{opacity:.4;cursor:not-allowed}.btn[data-v-2b4ace0c]:hover:not(:disabled){background:var(--surface-hover)}.btn-primary[data-v-2b4ace0c]{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary[data-v-2b4ace0c]:hover:not(:disabled){opacity:.9;background:var(--primary)}.btn-sm[data-v-2b4ace0c]{height:28px;padding:0 8px;font-size:12px}.message-bar[data-v-2b4ace0c]{padding:8px 12px;border-radius:4px;font-size:13px;flex-shrink:0}.message-success[data-v-2b4ace0c]{background:#22c55e1f;color:var(--status-success);border:1px solid rgba(34,197,94,.3)}.message-error[data-v-2b4ace0c]{background:#ef44441f;color:var(--status-error);border:1px solid rgba(239,68,68,.3)}.preview-panel[data-v-2b4ace0c]{border:1px solid var(--border);border-radius:6px;overflow:auto;flex-shrink:0}.preview-meta[data-v-2b4ace0c]{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-2b4ace0c]{color:var(--text-secondary);font-size:12px}.result-panel[data-v-2b4ace0c]{display:flex;flex-direction:column;gap:10px;flex-shrink:0}.result-head[data-v-2b4ace0c]{display:flex;align-items:center;justify-content:space-between}.result-title[data-v-2b4ace0c]{font-size:15px;font-weight:600;color:var(--text);margin:0}.result-range[data-v-2b4ace0c]{font-weight:400;font-size:12px;color:var(--text-secondary);margin-left:8px}.totals-bar[data-v-2b4ace0c]{display:flex;gap:10px;flex-wrap:wrap}.total-card[data-v-2b4ace0c]{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-2b4ace0c]{font-size:12px;color:var(--text-secondary)}.total-value[data-v-2b4ace0c]{font-size:18px;font-weight:600;color:var(--text)}.total-excluded[data-v-2b4ace0c]{font-size:11px;color:var(--status-warning, #f59e0b)}.table-wrap[data-v-2b4ace0c]{border:1px solid var(--border);border-radius:6px;overflow:auto;max-height:420px}.data-table[data-v-2b4ace0c]{width:100%;border-collapse:collapse;font-size:13px}.data-table th[data-v-2b4ace0c]{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-2b4ace0c]{padding:6px 10px;border-bottom:1px solid var(--border);color:var(--text)}.data-table tr:hover td[data-v-2b4ace0c]{background:var(--surface-hover)}.status-cell[data-v-2b4ace0c]{text-align:center;padding:24px 10px;color:var(--text-secondary);font-size:13px}.mono[data-v-2b4ace0c]{font-family:Consolas,Monaco,monospace;font-size:12px}.num-col[data-v-2b4ace0c]{text-align:right}.delta-cell[data-v-2b4ace0c]{font-weight:600}.quality-badge[data-v-2b4ace0c]{display:inline-block;padding:1px 8px;border-radius:10px;font-size:12px;font-weight:500}.quality-good[data-v-2b4ace0c]{background:#22c55e26;color:var(--status-success)}.quality-missing-start[data-v-2b4ace0c],.quality-missing-end[data-v-2b4ace0c]{background:#ef444426;color:var(--status-error)}.quality-extrapolated[data-v-2b4ace0c]{background:#f59e0b26;color:var(--status-warning, #f59e0b)}.quality-counter-reset[data-v-2b4ace0c]{background:#8b5cf626;color:var(--status-info, #8b5cf6)}.view-toggle[data-v-2b4ace0c]{display:inline-flex;border:1px solid var(--border);border-radius:4px;overflow:hidden;margin-left:auto;flex-shrink:0}.view-toggle button[data-v-2b4ace0c]{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-2b4ace0c]{border-left:1px solid var(--border)}.view-toggle button.active[data-v-2b4ace0c]{background:var(--primary);color:#fff}.result-actions[data-v-2b4ace0c]{display:flex;align-items:center;gap:8px}.result-actions .view-toggle[data-v-2b4ace0c]{margin-left:0}.matrix-wrap[data-v-2b4ace0c]{max-height:460px}.matrix-table .matrix-col[data-v-2b4ace0c]{text-align:right;min-width:64px}.matrix-table .row-head[data-v-2b4ace0c]{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-2b4ace0c]{z-index:3}.matrix-table tr:hover td.row-head[data-v-2b4ace0c]{background:var(--surface-hover)}.row-head-device[data-v-2b4ace0c]{display:block;font-size:11px;color:var(--text-secondary)}.row-head-name[data-v-2b4ace0c]{display:block;font-size:12px;font-weight:500;color:var(--text)}.matrix-total-row td[data-v-2b4ace0c]{background:var(--surface-hover);font-weight:600;border-top:1px solid var(--border)}.matrix-total-row td.row-head[data-v-2b4ace0c]{background:var(--surface-hover);color:var(--text)}.total-unit[data-v-2b4ace0c]{font-weight:400;color:var(--text-secondary);margin-left:4px}.cell-abnormal[data-v-2b4ace0c]{color:var(--status-warning, #f59e0b)}.status-block[data-v-2b4ace0c]{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-2b4ace0c]{min-width:180px;max-width:260px;flex:0 1 220px}.collapsible-panel[data-v-2b4ace0c]{margin-top:4px;border:1px solid var(--border);border-radius:6px;overflow:hidden}.panel-toggle[data-v-2b4ace0c]{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-2b4ace0c]:hover{background:var(--surface-hover)}.toggle-arrow[data-v-2b4ace0c]{font-size:12px;color:var(--text-secondary);width:12px}.panel-badge[data-v-2b4ace0c]{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-2b4ace0c]{padding:4px 12px 12px;border-top:1px solid var(--border)}.modal-overlay[data-v-2b4ace0c]{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-2b4ace0c]{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-2b4ace0c]{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border)}.modal-title[data-v-2b4ace0c]{font-size:14px;font-weight:600;color:var(--text)}.modal-close[data-v-2b4ace0c]{border:none;background:none;font-size:20px;line-height:1;color:var(--text-secondary);cursor:pointer;padding:0 4px}.modal-body[data-v-2b4ace0c]{padding:16px}.modal-label[data-v-2b4ace0c]{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:6px}.modal-input[data-v-2b4ace0c]{width:100%}.modal-hint[data-v-2b4ace0c]{margin-top:8px;font-size:12px;color:var(--text-secondary)}.modal-footer[data-v-2b4ace0c]{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--border)}.control-logs-page[data-v-3568fec6]{display:flex;flex-direction:column;height:100%;padding:16px;gap:12px}.toolbar[data-v-3568fec6]{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-3568fec6]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.toolbar-field[data-v-3568fec6]{display:flex;flex-direction:row;align-items:center;gap:8px}.field-label[data-v-3568fec6]{font-size:12px;color:var(--text-secondary);white-space:nowrap}.form-input[data-v-3568fec6],.form-select[data-v-3568fec6]{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-3568fec6]:focus,.form-select[data-v-3568fec6]:focus{border-color:var(--primary)}.form-input[data-v-3568fec6]{width:200px}.form-select[data-v-3568fec6]{width:110px}.table-wrap[data-v-3568fec6]{flex:1;overflow:auto;border:1px solid var(--border);border-radius:6px}.data-table[data-v-3568fec6]{width:100%;border-collapse:collapse;font-size:13px}.data-table th[data-v-3568fec6]{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-3568fec6]{padding:6px 10px;border-bottom:1px solid var(--border);color:var(--text)}.data-table tr:hover td[data-v-3568fec6]{background:var(--surface-hover)}.status-cell[data-v-3568fec6]{text-align:center;padding:32px 10px;color:var(--text-secondary);font-size:13px}.mono[data-v-3568fec6]{font-family:Consolas,Monaco,monospace;font-size:12px}.num-col[data-v-3568fec6]{text-align:right}.result-badge[data-v-3568fec6]{display:inline-block;padding:1px 8px;border-radius:10px;font-size:12px;font-weight:500}.result-success[data-v-3568fec6]{background:#22c55e26;color:var(--status-success)}.result-failed[data-v-3568fec6]{background:#ef444426;color:var(--status-error)}.tag-name[data-v-3568fec6]{font-weight:500}.tag-value[data-v-3568fec6]{color:var(--text-secondary);font-family:Consolas,Monaco,monospace;font-size:12px;margin-left:2px}.value-change[data-v-3568fec6]{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.value-change .prev-value[data-v-3568fec6],.value-change .arrow[data-v-3568fec6]{color:var(--text-secondary)}.value-change .new-value[data-v-3568fec6]{color:var(--text);font-weight:500}.error-msg[data-v-3568fec6]{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-3568fec6]{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-shrink:0;padding-top:4px}.page-summary[data-v-3568fec6]{font-size:12px;color:var(--text-secondary);margin-right:8px}.page-info[data-v-3568fec6]{font-size:13px;color:var(--text);min-width:60px;text-align:center}.btn[data-v-3568fec6]{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-3568fec6]:disabled{opacity:.4;cursor:not-allowed}.btn[data-v-3568fec6]:hover:not(:disabled){background:var(--surface-hover)}.btn-sm[data-v-3568fec6]{height:28px;padding:0 8px;font-size:12px}.btn-outline[data-v-3568fec6]{margin-top:8px}.settings-page[data-v-0d0588fa]{padding:12px 24px 16px;width:100%;box-sizing:border-box}.page-header[data-v-0d0588fa]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.page-title[data-v-0d0588fa]{font-size:22px;font-weight:700;color:var(--text);margin:0}.header-actions[data-v-0d0588fa]{display:flex;align-items:center;gap:10px}.locale-select-wrapper[data-v-0d0588fa]{position:relative}.locale-select[data-v-0d0588fa]{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-0d0588fa]:focus,.locale-select[data-v-0d0588fa]:hover{border-color:var(--primary)}.tab-nav[data-v-0d0588fa]{display:flex;gap:2px;margin-bottom:12px;border-bottom:2px solid var(--border);padding-bottom:0}.tab-btn[data-v-0d0588fa]{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-0d0588fa]:hover{color:var(--text)}.tab-btn.active[data-v-0d0588fa]{color:var(--primary);border-bottom-color:var(--primary)}.tab-content[data-v-0d0588fa]{min-height:300px}.settings-grid[data-v-0d0588fa]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.settings-card[data-v-0d0588fa]{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}.settings-card.full-width[data-v-0d0588fa]{grid-column:1 / -1}.card-header[data-v-0d0588fa]{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-0d0588fa]{font-size:15px;font-weight:600;color:var(--text);margin:0}.card-body[data-v-0d0588fa]{padding:12px 16px}.theme-selector[data-v-0d0588fa]{margin-bottom:12px}.theme-label[data-v-0d0588fa]{display:block;font-size:13px;color:var(--text-secondary);margin-bottom:8px}.theme-select[data-v-0d0588fa]{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-0d0588fa]:focus{border-color:var(--primary)}.theme-preview[data-v-0d0588fa]{background:var(--background);border-radius:8px;padding:12px}.preview-header[data-v-0d0588fa]{font-size:12px;color:var(--text-secondary);margin-bottom:10px}.preview-colors[data-v-0d0588fa]{display:flex;gap:8px;flex-wrap:wrap}.color-dot[data-v-0d0588fa]{width:28px;height:28px;border-radius:50%;border:2px solid var(--border);cursor:pointer;transition:transform .2s}.color-dot[data-v-0d0588fa]:hover{transform:scale(1.1)}.theme-info[data-v-0d0588fa]{display:flex;flex-direction:column;gap:8px}.info-row[data-v-0d0588fa]{display:flex;justify-content:space-between;font-size:13px}.info-label[data-v-0d0588fa]{color:var(--text-secondary)}.info-value[data-v-0d0588fa]{color:var(--text)}.color-value[data-v-0d0588fa]{font-family:Courier New,monospace}.channel-desc[data-v-0d0588fa]{margin:0 0 12px;font-size:13px;color:var(--text-secondary)}.layout-config-form[data-v-0d0588fa]{display:flex;flex-direction:column;gap:20px}.debug-tools-form[data-v-0d0588fa]{display:flex;flex-direction:column;gap:16px}.debug-tools-form .field-hint[data-v-0d0588fa]{margin:-4px 0 4px}.debug-tools-form .btn[data-v-0d0588fa]{align-self:flex-start}.config-field[data-v-0d0588fa]{display:flex;flex-direction:column;gap:8px}.field-label[data-v-0d0588fa]{font-size:14px;color:var(--text);display:flex;align-items:center;gap:6px}.field-label strong[data-v-0d0588fa]{color:var(--primary);font-size:15px}.range-control[data-v-0d0588fa]{display:flex;flex-direction:column;gap:4px}.range-input[data-v-0d0588fa]{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-0d0588fa]::-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-0d0588fa]::-webkit-slider-thumb:hover{transform:scale(1.15)}.range-marks[data-v-0d0588fa]{display:flex;justify-content:space-between;font-size:11px;color:var(--text-secondary);padding:0 2px}.toggle-field[data-v-0d0588fa]{display:flex;align-items:center;justify-content:space-between}.field-hint[data-v-0d0588fa]{margin:4px 0 0;font-size:12px;color:var(--text-secondary)}.toggle-switch[data-v-0d0588fa]{position:relative;display:inline-block;width:42px;height:22px;flex-shrink:0}.toggle-switch input[data-v-0d0588fa]{opacity:0;width:0;height:0}.toggle-slider[data-v-0d0588fa]{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-0d0588fa]: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-0d0588fa]{background-color:var(--primary)}.toggle-switch input:checked+.toggle-slider[data-v-0d0588fa]:before{transform:translate(20px)}.config-panels[data-v-0d0588fa]{display:flex;flex-direction:column;gap:16px}.overview-grid[data-v-0d0588fa]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.stat-card[data-v-0d0588fa]{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px 18px;transition:border-color .15s}.stat-card[data-v-0d0588fa]:hover{border-color:var(--primary)}.stat-card-warning[data-v-0d0588fa]{cursor:pointer;border-color:var(--status-warning)}.stat-card-warning[data-v-0d0588fa]:hover{border-color:var(--status-warning)}.stat-label[data-v-0d0588fa]{font-size:11px;color:var(--text-secondary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.stat-value[data-v-0d0588fa]{font-size:28px;font-weight:700;color:var(--text);line-height:1.2}.section-card[data-v-0d0588fa]{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}.section-warning[data-v-0d0588fa]{border-color:var(--status-warning)}.section-header[data-v-0d0588fa]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border)}.section-title[data-v-0d0588fa]{font-size:14px;font-weight:600;color:var(--text);margin:0}.section-actions[data-v-0d0588fa]{display:flex;align-items:center;gap:10px}.section-count[data-v-0d0588fa]{font-size:11px;color:var(--text-secondary);background:var(--background);padding:2px 8px;border-radius:10px}.pending-count-badge[data-v-0d0588fa]{font-size:12px;color:var(--status-warning);font-weight:500}.filter-bar[data-v-0d0588fa]{display:flex;gap:10px;padding:12px 16px;flex-wrap:wrap;align-items:center}.filter-bar-actions[data-v-0d0588fa]{display:flex;gap:8px;margin-left:auto}.search-input[data-v-0d0588fa]{flex:1;min-width:180px;max-width:320px}.category-select[data-v-0d0588fa]{width:160px}.form-input[data-v-0d0588fa]{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-0d0588fa]:focus{border-color:var(--primary)}.table-wrapper[data-v-0d0588fa]{overflow-x:auto}.config-table[data-v-0d0588fa]{width:100%;border-collapse:collapse;font-size:13px}.config-table th[data-v-0d0588fa],.config-table td[data-v-0d0588fa]{padding:9px 14px;text-align:left;border-bottom:1px solid var(--border)}.config-table th[data-v-0d0588fa]{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-0d0588fa]:hover{background:var(--hover)}.config-table tbody tr:last-child td[data-v-0d0588fa]{border-bottom:none}.mono-text[data-v-0d0588fa]{font-family:Consolas,Monaco,Courier New,monospace;font-size:12px}.col-key[data-v-0d0588fa]{width:auto;white-space:nowrap;font-weight:500}.col-desc[data-v-0d0588fa]{width:auto}.col-value[data-v-0d0588fa]{width:auto;max-width:260px;word-break:break-all}.col-source[data-v-0d0588fa]{width:90px;white-space:nowrap}.col-badges[data-v-0d0588fa]{width:120px;white-space:nowrap}.col-actions[data-v-0d0588fa]{width:80px;text-align:right;white-space:nowrap}.config-desc-text[data-v-0d0588fa]{color:var(--text-secondary);font-size:12px}.restart-badge[data-v-0d0588fa]{display:inline-block;margin-left:4px;color:var(--status-warning);font-size:14px;font-weight:700;cursor:help}.sensitive-badge[data-v-0d0588fa]{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-0d0588fa]{letter-spacing:2px;color:var(--text-secondary)}.icon-btn[data-v-0d0588fa]{background:none;border:none;font-size:11px;color:var(--primary);cursor:pointer;padding:2px 4px;margin-left:4px}.icon-btn[data-v-0d0588fa]:hover{text-decoration:underline}.source-badge[data-v-0d0588fa]{display:inline-block;padding:2px 7px;border-radius:4px;font-size:10px;font-weight:500}.source-env[data-v-0d0588fa]{background:color-mix(in srgb,var(--status-online) 10%,transparent);color:var(--status-success)}.source-db[data-v-0d0588fa]{background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--primary)}.source-default[data-v-0d0588fa]{background:#9ca3af1a;color:var(--text-secondary)}.source-null[data-v-0d0588fa]{background:color-mix(in srgb,var(--status-error) 10%,transparent);color:var(--status-error)}.badge-group[data-v-0d0588fa]{display:flex;gap:4px;flex-wrap:wrap}.config-badge[data-v-0d0588fa]{display:inline-block;padding:2px 5px;border-radius:3px;font-size:10px;font-weight:600;text-transform:uppercase}.badge-restart[data-v-0d0588fa]{background:color-mix(in srgb,var(--status-error) 10%,transparent);color:var(--status-error)}.badge-hot[data-v-0d0588fa]{background:color-mix(in srgb,var(--status-online) 10%,transparent);color:var(--status-success)}.badge-sensitive[data-v-0d0588fa]{background:color-mix(in srgb,var(--status-warning) 10%,transparent);color:var(--status-warning)}.badge-env[data-v-0d0588fa]{background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--primary)}.readonly-text[data-v-0d0588fa]{font-size:12px;color:var(--text-secondary)}.pending-list[data-v-0d0588fa]{padding:12px 16px;display:flex;flex-wrap:wrap;gap:6px}.pending-tag[data-v-0d0588fa]{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-0d0588fa]{padding:28px 16px;text-align:center;color:var(--text-secondary);font-size:13px}.modal-overlay[data-v-0d0588fa]{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-0d0588fa .2s ease}@keyframes fade-in-0d0588fa{0%{opacity:0}to{opacity:1}}.modal-dialog[data-v-0d0588fa]{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-0d0588fa .2s ease}@keyframes scale-in-0d0588fa{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.modal-header[data-v-0d0588fa]{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}.modal-title[data-v-0d0588fa]{font-size:16px;font-weight:600;color:var(--text);margin:0}.modal-close[data-v-0d0588fa]{background:none;border:none;font-size:22px;cursor:pointer;color:var(--text-secondary);padding:0 4px;line-height:1}.modal-close[data-v-0d0588fa]:hover{color:var(--text)}.modal-body[data-v-0d0588fa]{padding:18px}.modal-footer[data-v-0d0588fa]{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid var(--border)}.form-row[data-v-0d0588fa]{margin-bottom:14px}.form-label[data-v-0d0588fa]{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-0d0588fa]{font-size:14px;color:var(--text)}.form-value .form-input[data-v-0d0588fa]{width:100%;box-sizing:border-box}.form-row-checkbox[data-v-0d0588fa]{background:var(--background);padding:10px 12px;border-radius:6px}.checkbox-label[data-v-0d0588fa]{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text);cursor:pointer}.checkbox-label input[data-v-0d0588fa]{cursor:pointer}.checkbox-hint[data-v-0d0588fa]{font-size:12px;color:var(--text-secondary);margin:5px 0 0}.restart-hint[data-v-0d0588fa]{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-0d0588fa]{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-0d0588fa]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-0d0588fa]{background:var(--primary);color:var(--text)}.btn-primary[data-v-0d0588fa]:hover:not(:disabled){filter:brightness(1.1)}.btn-secondary[data-v-0d0588fa]{background:var(--background);color:var(--text);border:1px solid var(--border)}.btn-secondary[data-v-0d0588fa]:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.btn-danger[data-v-0d0588fa]{background:var(--status-error);color:var(--text)}.btn-danger[data-v-0d0588fa]:hover:not(:disabled){filter:brightness(1.1)}.btn-sm[data-v-0d0588fa]{padding:5px 10px;font-size:12px}.system-info-page[data-v-ca0b3fc1]{height:100%;overflow-y:auto;padding:24px;width:100%;max-width:100%;margin:0;box-sizing:border-box}.page-header[data-v-ca0b3fc1]{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.page-title[data-v-ca0b3fc1]{font-size:22px;font-weight:700;color:var(--text);margin:0}.info-card[data-v-ca0b3fc1]{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}.card-header[data-v-ca0b3fc1]{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-ca0b3fc1]{font-size:15px;font-weight:600;color:var(--text);margin:0}.card-body[data-v-ca0b3fc1]{padding:16px 20px}.info-grid[data-v-ca0b3fc1]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}.info-item[data-v-ca0b3fc1]{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-ca0b3fc1]{color:var(--text-secondary)}.info-value[data-v-ca0b3fc1]{font-weight:500;color:var(--text)}.info-link[data-v-ca0b3fc1]{display:flex;align-items:center;gap:4px;color:var(--primary);text-decoration:none}.info-link[data-v-ca0b3fc1]:hover{text-decoration:underline}.btn[data-v-ca0b3fc1]{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-ca0b3fc1]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-ca0b3fc1]{background:var(--border);color:var(--text)}.btn-secondary[data-v-ca0b3fc1]:hover:not(:disabled){background:var(--border)}.btn-sm[data-v-ca0b3fc1]{padding:5px 10px;font-size:13px}.health-page[data-v-79d657f6]{padding:24px;width:100%;max-width:100%;margin:0;box-sizing:border-box}.page-header[data-v-79d657f6]{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.page-title[data-v-79d657f6]{font-size:22px;font-weight:700;color:var(--text);margin:0}.status-banner[data-v-79d657f6]{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-79d657f6]{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-79d657f6]{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-79d657f6]{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-79d657f6]{width:10px;height:10px;border-radius:50%;flex-shrink:0}.status-ok .status-dot[data-v-79d657f6]{background:var(--status-online)}.status-degraded .status-dot[data-v-79d657f6]{background:var(--status-warning)}.status-error .status-dot[data-v-79d657f6]{background:var(--status-error)}.status-uptime[data-v-79d657f6]{margin-left:auto;font-size:13px;opacity:.7;font-weight:400}.section[data-v-79d657f6]{margin-bottom:24px}.section-title[data-v-79d657f6]{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-79d657f6]{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.probe-card[data-v-79d657f6]{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:14px 16px}.probe-card.probe-pass[data-v-79d657f6]{border-left:3px solid var(--status-online)}.probe-card.probe-warn[data-v-79d657f6]{border-left:3px solid var(--status-warning)}.probe-card.probe-error[data-v-79d657f6]{border-left:3px solid var(--status-error)}.probe-header[data-v-79d657f6]{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.probe-name[data-v-79d657f6]{font-size:14px;font-weight:600;color:var(--text)}.probe-badge[data-v-79d657f6]{font-size:11px;padding:2px 8px;border-radius:4px;font-weight:500}.badge-pass[data-v-79d657f6],.badge-normal[data-v-79d657f6]{background:color-mix(in srgb,var(--status-online) 15%,transparent);color:var(--status-online)}.badge-warn[data-v-79d657f6],.badge-warning[data-v-79d657f6]{background:color-mix(in srgb,var(--status-warning) 15%,transparent);color:var(--status-warning)}.badge-error[data-v-79d657f6],.badge-critical[data-v-79d657f6]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.probe-body[data-v-79d657f6]{display:flex;justify-content:space-between;font-size:12px;color:var(--text-secondary)}.probe-latency[data-v-79d657f6]{font-family:monospace}.resources-grid[data-v-79d657f6]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.resource-card[data-v-79d657f6]{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:14px 16px}.disk-card.disk-normal[data-v-79d657f6]{border-left:3px solid var(--status-online)}.disk-card.disk-warning[data-v-79d657f6]{border-left:3px solid var(--status-warning)}.disk-card.disk-critical[data-v-79d657f6]{border-left:3px solid var(--status-error)}.resource-header[data-v-79d657f6]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.resource-label[data-v-79d657f6]{font-size:14px;font-weight:500;color:var(--text)}.resource-value[data-v-79d657f6]{font-size:13px;color:var(--text-secondary);font-family:monospace}.resource-footer[data-v-79d657f6]{display:flex;justify-content:space-between;align-items:center;margin-top:4px}.resource-pct[data-v-79d657f6]{font-size:12px;color:var(--text-secondary)}.resource-threshold[data-v-79d657f6]{font-size:11px;color:var(--text-secondary);opacity:.7}.disk-path[data-v-79d657f6]{font-size:11px;color:var(--text-secondary);margin-bottom:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.disk-path.mono[data-v-79d657f6]{font-family:monospace}.disk-usage-row[data-v-79d657f6]{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:13px}.disk-usage-text[data-v-79d657f6]{color:var(--text);font-family:monospace}.disk-usage-pct[data-v-79d657f6]{font-weight:600;color:var(--text)}.disk-status-badge[data-v-79d657f6]{font-size:11px;padding:2px 8px;border-radius:4px;font-weight:500}.disk-free-row[data-v-79d657f6]{display:flex;justify-content:flex-end;gap:4px;margin-top:4px;font-size:11px}.disk-free-label[data-v-79d657f6]{color:var(--text-secondary)}.disk-free-value[data-v-79d657f6]{color:var(--text);font-family:monospace}.threshold-info[data-v-79d657f6]{margin-top:8px;font-size:12px;color:var(--text-secondary);text-align:right;opacity:.8}.progress-bar[data-v-79d657f6]{height:6px;background:var(--border);border-radius:3px;overflow:hidden}.progress-fill[data-v-79d657f6]{height:100%;border-radius:3px;transition:width .5s ease}.progress-fill.normal[data-v-79d657f6]{background:var(--status-online)}.progress-fill.warning[data-v-79d657f6]{background:var(--status-warning)}.progress-fill.danger[data-v-79d657f6]{background:var(--status-error)}.info-grid[data-v-79d657f6]{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.info-item[data-v-79d657f6]{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-79d657f6]{color:var(--text-secondary)}.info-value[data-v-79d657f6]{font-weight:500;color:var(--text);font-family:monospace}.db-ops-page[data-v-522cedb8]{padding:16px;min-height:100%;width:100%;max-width:100%;margin:0;box-sizing:border-box}.tab-content[data-v-522cedb8]{padding-top:12px}.action-bar[data-v-522cedb8]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.tabs[data-v-522cedb8]{display:flex;gap:4px;padding-bottom:12px;border-bottom:1px solid var(--border)}.tab-btn[data-v-522cedb8]{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-522cedb8]:hover{color:var(--text)}.tab-btn.active[data-v-522cedb8]{color:var(--primary);border-bottom-color:var(--primary);font-weight:500}.stats-bar[data-v-522cedb8]{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-522cedb8]{display:flex;align-items:center;gap:6px;font-size:12px}.stat-label[data-v-522cedb8]{color:var(--text-secondary)}.stat-value[data-v-522cedb8]{color:var(--text);font-weight:600}.stat-value.mono[data-v-522cedb8]{font-family:monospace;font-size:11px;font-weight:500}.card[data-v-522cedb8]{background:var(--surface);border-radius:8px;border:1px solid var(--border);margin-bottom:16px}.card-header[data-v-522cedb8]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border)}.card-header-left[data-v-522cedb8]{display:flex;align-items:center;gap:8px}.card-header-actions[data-v-522cedb8]{display:flex;gap:8px}.card-body[data-v-522cedb8]{padding:16px}.btn[data-v-522cedb8]{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-522cedb8]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-522cedb8]{background:var(--primary);color:var(--text)}.btn-primary[data-v-522cedb8]:hover:not(:disabled){background:color-mix(in srgb,var(--primary) 80%,black)}.btn-secondary[data-v-522cedb8]{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn-secondary[data-v-522cedb8]:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.btn-text[data-v-522cedb8]{background:transparent;color:var(--text-secondary);padding:4px 8px}.btn-text[data-v-522cedb8]:hover{color:var(--text)}.btn-sm[data-v-522cedb8]{padding:5px 12px;font-size:12px}.btn-group[data-v-522cedb8]{display:flex;gap:2px}.project-actions[data-v-522cedb8]{display:flex;gap:6px;flex-wrap:wrap}.btn-icon[data-v-522cedb8]{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-522cedb8]:hover{color:var(--text);background:var(--border-light)}.btn-icon-warning[data-v-522cedb8]: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-522cedb8]:hover{color:var(--status-error);border-color:var(--status-error);background:color-mix(in srgb,var(--status-error) 10%,transparent)}.tag[data-v-522cedb8]{display:inline-flex;align-items:center;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.tag-default[data-v-522cedb8]{background:var(--surface);color:var(--text-secondary);border:1px solid var(--border)}.tag-info[data-v-522cedb8]{background:color-mix(in srgb,var(--primary) 15%,transparent);color:color-mix(in srgb,var(--primary) 70%,transparent)}.tag-success[data-v-522cedb8]{background:color-mix(in srgb,var(--status-online) 15%,transparent);color:color-mix(in srgb,var(--status-online) 70%,transparent)}.tag-warning[data-v-522cedb8]{background:color-mix(in srgb,var(--status-warning) 15%,transparent);color:color-mix(in srgb,var(--status-warning) 70%,transparent)}.tag-error[data-v-522cedb8]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:color-mix(in srgb,var(--status-error) 70%,transparent)}.data-table[data-v-522cedb8]{width:100%;border-collapse:collapse;font-size:13px}.data-table th[data-v-522cedb8]{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-522cedb8]{padding:10px 12px;color:var(--text);border-bottom:1px solid var(--border)}.data-table tr[data-v-522cedb8]:hover{background:var(--border-light)}.data-table tr.selected[data-v-522cedb8]{background:color-mix(in srgb,var(--primary) 8%,transparent)}.col-check[data-v-522cedb8]{width:40px}.empty-cell[data-v-522cedb8]{text-align:center;padding:32px;color:var(--text-secondary)}.error-cell[data-v-522cedb8]{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--status-error)}.error-banner[data-v-522cedb8]{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-522cedb8]{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-522cedb8]{display:flex;gap:12px;padding:8px 16px;border-bottom:1px solid var(--border)}.info-grid[data-v-522cedb8]{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}.info-item[data-v-522cedb8]{display:flex;align-items:center;gap:8px}.info-label[data-v-522cedb8]{flex-shrink:0;color:var(--text-secondary);font-size:13px;min-width:80px}.info-value[data-v-522cedb8]{color:var(--text);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.info-value.mono[data-v-522cedb8]{font-family:monospace;font-size:12px}.info-value.highlight[data-v-522cedb8]{color:var(--status-online);font-weight:600}.check-result[data-v-522cedb8]{display:flex;align-items:center;gap:8px;padding:12px;border-radius:6px;font-size:13px}.check-result.result-ok[data-v-522cedb8]{background:color-mix(in srgb,var(--status-online) 10%,transparent);color:var(--status-online)}.check-result.result-fail[data-v-522cedb8]{background:color-mix(in srgb,var(--status-error) 10%,transparent);color:var(--status-error)}.check-result.check-pending[data-v-522cedb8]{color:var(--text-secondary)}.check-result.result-warn[data-v-522cedb8]{background:color-mix(in srgb,var(--status-warning) 10%,transparent);color:var(--status-warning)}.check-message[data-v-522cedb8]{flex:1}.check-time[data-v-522cedb8]{color:var(--text-secondary);font-size:12px}.loading-overlay[data-v-522cedb8]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:var(--text-secondary);gap:8px}.spinner[data-v-522cedb8]{width:20px;height:20px;border:2px solid var(--border-light);border-top-color:var(--primary);border-radius:50%;animation:spin-522cedb8 .8s linear infinite}@keyframes spin-522cedb8{to{transform:rotate(360deg)}}.modal-overlay[data-v-522cedb8]{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-522cedb8]{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-522cedb8]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-header h2[data-v-522cedb8]{font-size:16px;font-weight:600;color:var(--text);margin:0}.modal-close[data-v-522cedb8]{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-522cedb8]:hover{color:var(--text);background:var(--border-light)}.modal-body[data-v-522cedb8]{padding:20px}.modal-footer[data-v-522cedb8]{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--border)}.form-group[data-v-522cedb8]{margin-bottom:16px}.form-label[data-v-522cedb8]{display:block;font-size:13px;font-weight:500;color:var(--text);margin-bottom:6px}.form-input[data-v-522cedb8]{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-522cedb8]::placeholder{color:var(--text-secondary)}.form-input[data-v-522cedb8]:focus{border-color:var(--primary)}.form-select[data-v-522cedb8]{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-522cedb8]{background:var(--background);color:var(--text)}.toggle[data-v-522cedb8]{width:44px;height:24px;background:var(--border);border-radius:12px;border:none;cursor:pointer;position:relative;transition:background .2s}.toggle.active[data-v-522cedb8]{background:var(--primary)}.toggle-thumb[data-v-522cedb8]{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-522cedb8]{transform:translate(20px)}.input-suffix[data-v-522cedb8]{display:flex;align-items:center;gap:4px}.input-suffix .form-input[data-v-522cedb8]{flex:1}.input-suffix-text[data-v-522cedb8]{font-size:12px;color:var(--text-secondary)}.filter-row[data-v-522cedb8]{display:flex;gap:12px}.setup-hint[data-v-522cedb8]{margin:0 0 12px;font-size:13px;color:var(--text-secondary);line-height:1.5}.error-text[data-v-522cedb8]{color:var(--status-error)}.stats-row[data-v-522cedb8]{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.stat-card[data-v-522cedb8]{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px;text-align:center}.stat-value[data-v-522cedb8]{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-522cedb8]{font-size:12px;color:var(--text-secondary)}.status-dot[data-v-522cedb8]{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0}.status-dot-ok[data-v-522cedb8]{background:var(--status-online)}.status-dot-warn[data-v-522cedb8]{background:var(--status-warning)}.status-dot-err[data-v-522cedb8]{background:var(--status-error)}.card-body hr[data-v-522cedb8]{border:none;border-top:1px solid var(--border);margin:16px 0}.card-header-count[data-v-522cedb8]{font-size:12px;background:var(--border);color:var(--text-secondary);padding:2px 8px;border-radius:10px;margin-left:8px}.card-actions-row[data-v-522cedb8]{display:flex;gap:24px;flex-wrap:wrap}.action-section[data-v-522cedb8]{flex:1;min-width:200px}.health-checking[data-v-522cedb8]{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary);margin-top:12px}.row-highlight td[data-v-522cedb8]{background:var(--border)}.tag-sm[data-v-522cedb8]{font-size:11px;padding:1px 6px;margin-left:6px;vertical-align:middle}.col-proportion[data-v-522cedb8]{min-width:120px}.size-bar-container[data-v-522cedb8]{display:flex;align-items:center;gap:6px}.size-bar-fill[data-v-522cedb8]{height:6px;background:var(--primary);border-radius:3px;min-width:2px;transition:width .3s ease}.size-bar-label[data-v-522cedb8]{font-size:11px;color:var(--text-secondary);white-space:nowrap}.base-services-page[data-v-51376cf0]{height:100%;overflow-y:auto;padding:24px;width:100%;max-width:100%;margin:0;box-sizing:border-box}.page-header[data-v-51376cf0]{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.page-title[data-v-51376cf0]{font-size:22px;font-weight:700;color:var(--text);margin:0}.header-actions[data-v-51376cf0]{display:flex;align-items:center;gap:10px}.services-grid[data-v-51376cf0]{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:16px}.service-card[data-v-51376cf0]{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;display:flex;flex-direction:column}.service-card.status-running[data-v-51376cf0]{border-left:3px solid var(--status-success)}.service-card.status-stopped[data-v-51376cf0]{border-left:3px solid var(--text-secondary)}.service-card.status-error[data-v-51376cf0]{border-left:3px solid var(--status-error)}.service-card.status-unknown[data-v-51376cf0]{border-left:3px solid var(--status-warning)}.card-header[data-v-51376cf0]{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border)}.svc-title[data-v-51376cf0]{display:flex;align-items:baseline;gap:8px}.svc-name[data-v-51376cf0]{font-size:16px;font-weight:600;color:var(--text)}.svc-port[data-v-51376cf0]{font-size:12px;color:var(--text-secondary);font-family:monospace}.status-badge[data-v-51376cf0]{font-size:11px;padding:3px 10px;border-radius:4px;font-weight:500}.badge-running[data-v-51376cf0]{background:#10b98126;color:var(--status-success)}.badge-stopped[data-v-51376cf0]{background:color-mix(in srgb,var(--text-secondary) 15%,transparent);color:var(--text-secondary)}.badge-error[data-v-51376cf0]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.badge-unknown[data-v-51376cf0]{background:color-mix(in srgb,var(--status-warning) 15%,transparent);color:var(--status-warning)}.card-body[data-v-51376cf0]{padding:12px 16px;flex:1}.status-row[data-v-51376cf0]{display:flex;justify-content:space-between;padding:6px 0;font-size:13px;border-bottom:1px dashed var(--border)}.status-row[data-v-51376cf0]:last-of-type{border-bottom:none}.row-label[data-v-51376cf0]{color:var(--text-secondary)}.row-value[data-v-51376cf0]{color:var(--text);font-weight:500}.row-value.mono[data-v-51376cf0]{font-family:monospace}.row-value.ok[data-v-51376cf0]{color:var(--status-success)}.row-value.fail[data-v-51376cf0]{color:var(--status-error)}.file-checks[data-v-51376cf0]{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-51376cf0]{font-size:12px;display:flex;align-items:center;gap:4px;color:var(--text-secondary)}.check-item.ok[data-v-51376cf0]{color:var(--status-success)}.check-item.fail[data-v-51376cf0]{color:var(--status-error)}.check-icon[data-v-51376cf0]{font-weight:700}.influx-setup-status[data-v-51376cf0]{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-51376cf0]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.influx-setup-status.setup-needed[data-v-51376cf0]{background:color-mix(in srgb,var(--status-warning) 10%,transparent);color:var(--status-warning)}.influx-setup-status.setup-needed .setup-dot[data-v-51376cf0]{background:var(--status-warning);animation:setup-pulse-51376cf0 1.5s ease-in-out infinite}.influx-setup-status.setup-ok[data-v-51376cf0]{background:#10b9811a;color:var(--status-success)}.influx-setup-status.setup-ok .setup-dot[data-v-51376cf0]{background:var(--status-success)}.influx-setup-status.setup-unknown[data-v-51376cf0]{background:color-mix(in srgb,var(--text-secondary) 10%,transparent);color:var(--text-secondary)}.influx-setup-status.setup-unknown .setup-dot[data-v-51376cf0]{background:var(--text-secondary)}.setup-warn[data-v-51376cf0]{color:var(--status-warning);font-weight:600}@keyframes setup-pulse-51376cf0{0%,to{opacity:1}50%{opacity:.4}}.card-actions[data-v-51376cf0]{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-51376cf0]{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-51376cf0]:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.sys-btn[data-v-51376cf0]:disabled{opacity:.5;cursor:not-allowed}.sys-btn-primary[data-v-51376cf0]{background:var(--primary);color:var(--text);border-color:var(--primary)}.sys-btn-primary[data-v-51376cf0]:hover:not(:disabled){opacity:.85;color:var(--text)}.sys-btn-warning[data-v-51376cf0]{background:var(--status-warning);color:var(--text);border-color:var(--status-warning)}.sys-btn-warning[data-v-51376cf0]:hover:not(:disabled){opacity:.85;color:var(--text)}.sys-btn-danger[data-v-51376cf0]{background:var(--status-error);color:var(--text);border-color:var(--status-error)}.sys-btn-danger[data-v-51376cf0]:hover:not(:disabled){opacity:.85;color:var(--text)}.sys-btn-sm[data-v-51376cf0]{padding:4px 10px;font-size:12px}.sys-btn-secondary[data-v-51376cf0]{background:var(--surface);color:var(--text)}.empty-state[data-v-51376cf0]{text-align:center;padding:60px 20px;color:var(--text-secondary);font-size:14px}.modal-overlay[data-v-51376cf0]{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-51376cf0 .2s ease}@keyframes mb-fade-in-51376cf0{0%{opacity:0}to{opacity:1}}.modal-dialog[data-v-51376cf0]{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-51376cf0 .2s ease}@keyframes mb-scale-in-51376cf0{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.modal-lg[data-v-51376cf0]{width:800px}.modal-header[data-v-51376cf0]{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--border)}.modal-title[data-v-51376cf0]{font-size:15px;font-weight:600;color:var(--text);margin:0}.modal-close[data-v-51376cf0]{background:none;border:none;font-size:22px;cursor:pointer;color:var(--text-secondary);padding:0 4px;line-height:1}.modal-close[data-v-51376cf0]:hover{color:var(--text)}.modal-body[data-v-51376cf0]{padding:16px 20px;overflow-y:auto;flex:1}.modal-loading[data-v-51376cf0]{text-align:center;padding:40px;color:var(--text-secondary)}.modal-footer[data-v-51376cf0]{display:flex;justify-content:flex-end;gap:10px;padding:12px 20px;border-top:1px solid var(--border)}.form-grid[data-v-51376cf0]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-field-full[data-v-51376cf0]{grid-column:1 / -1}.form-field[data-v-51376cf0]{display:flex;flex-direction:column;gap:4px}.form-label[data-v-51376cf0]{font-size:12px;color:var(--text-secondary);font-weight:500}.form-input[data-v-51376cf0]{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-51376cf0]:focus{border-color:var(--primary)}.form-input[data-v-51376cf0]:disabled{opacity:.6;cursor:not-allowed}.form-checkbox-group[data-v-51376cf0]{display:flex;gap:20px;align-items:center}.checkbox-label[data-v-51376cf0]{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text);cursor:pointer}.config-meta[data-v-51376cf0]{display:flex;justify-content:space-between;margin-bottom:10px;font-size:12px;color:var(--text-secondary)}.config-editor[data-v-51376cf0]{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-51376cf0]:focus{border-color:var(--primary)}.logs-toolbar[data-v-51376cf0]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.limit-select[data-v-51376cf0]{font-size:13px;color:var(--text-secondary);display:flex;align-items:center;gap:6px}.limit-select select[data-v-51376cf0]{padding:3px 8px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text);font-size:13px}.toolbar-actions[data-v-51376cf0]{display:flex;gap:8px}.logs-tab-view[data-v-51376cf0]{display:flex;flex-direction:column;gap:0}.log-tabs[data-v-51376cf0]{display:flex;border-bottom:1px solid var(--border);gap:0;overflow-x:auto;flex-shrink:0}.log-tab-btn[data-v-51376cf0]{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-51376cf0]:hover{color:var(--text)}.log-tab-btn.active[data-v-51376cf0]{color:var(--primary);border-bottom-color:var(--primary)}.tab-filename[data-v-51376cf0]{font-family:Consolas,Monaco,monospace;font-size:12px}.tab-size[data-v-51376cf0]{font-size:11px;color:var(--text-tertiary, #888)}.log-tab-btn.active .tab-size[data-v-51376cf0]{color:var(--primary);opacity:.7}.log-content[data-v-51376cf0]{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-51376cf0]{display:flex;gap:6px}.flag-tag[data-v-51376cf0]{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-51376cf0]{background:color-mix(in srgb,var(--status-online) 15%,transparent);color:var(--status-online)}.flag-tag.flag-guard[data-v-51376cf0]{background:color-mix(in srgb,var(--status-warning) 15%,transparent);color:var(--status-warning)}.ws-monitor-page[data-v-ea711b5f]{flex:1;padding:24px;overflow-y:auto}.page-header[data-v-ea711b5f]{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px}.page-title[data-v-ea711b5f]{font-size:22px;font-weight:700;color:var(--text);margin:0}.header-actions[data-v-ea711b5f]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.auto-refresh-toggle[data-v-ea711b5f]{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary);cursor:pointer}.auto-refresh-toggle input[data-v-ea711b5f]{cursor:pointer}.status-indicator-section[data-v-ea711b5f]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:20px}.status-card[data-v-ea711b5f]{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:14px 16px}.status-header[data-v-ea711b5f]{display:flex;align-items:center;gap:8px;margin-bottom:6px}.status-icon[data-v-ea711b5f]{display:flex;align-items:center;justify-content:center}.status-icon.status-online svg[data-v-ea711b5f]{fill:var(--status-success)}.status-icon.status-offline svg[data-v-ea711b5f]{fill:var(--status-error)}.status-icon.status-warning svg[data-v-ea711b5f]{stroke:var(--status-warning)}.status-icon.status-unknown svg[data-v-ea711b5f]{fill:var(--text-secondary)}.status-label[data-v-ea711b5f]{font-size:12px;color:var(--text-secondary);font-weight:500}.status-value[data-v-ea711b5f]{font-size:14px;font-weight:600}.status-value.status-online[data-v-ea711b5f]{color:var(--status-success)}.status-value.status-offline[data-v-ea711b5f]{color:var(--status-error)}.status-value.status-warning[data-v-ea711b5f]{color:var(--status-warning)}.status-value.status-unknown[data-v-ea711b5f]{color:var(--text-secondary)}.status-detail[data-v-ea711b5f]{font-size:11px;color:var(--text-secondary);margin-top:4px}.reconnect-row[data-v-ea711b5f]{display:flex;align-items:center;gap:8px;margin-top:8px}.reconnect-btn[data-v-ea711b5f]{padding:3px 12px;font-size:11px;color:var(--text);background:var(--primary);border:none;border-radius:4px;cursor:pointer}.reconnect-btn[data-v-ea711b5f]:hover:not(:disabled){opacity:.85}.reconnect-btn[data-v-ea711b5f]:disabled{opacity:.5;cursor:not-allowed}.reconnect-attempts[data-v-ea711b5f]{font-size:11px;color:var(--status-warning, #f59e0b)}.zero-data-hint[data-v-ea711b5f]{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-ea711b5f]{display:flex;align-items:flex-start;padding-top:2px}.hint-content h4[data-v-ea711b5f]{font-size:14px;font-weight:600;color:var(--text);margin:0 0 6px}.hint-content p[data-v-ea711b5f]{font-size:13px;color:var(--text-secondary);margin:0 0 12px}.hint-checklist[data-v-ea711b5f]{list-style:none;padding:0;margin:0}.hint-checklist li[data-v-ea711b5f]{font-size:13px;color:var(--text-secondary);margin-bottom:6px}.hint-checklist li.checked[data-v-ea711b5f]{color:var(--status-success)}.overview-grid[data-v-ea711b5f]{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-bottom:20px}.stat-card[data-v-ea711b5f]{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:18px 20px;transition:border-color .15s ease}.stat-card[data-v-ea711b5f]:hover{border-color:var(--primary)}.stat-label[data-v-ea711b5f]{font-size:12px;color:var(--text-secondary);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.stat-value[data-v-ea711b5f]{font-size:32px;font-weight:700;color:var(--text);line-height:1.2}.stat-extra[data-v-ea711b5f]{font-size:12px;color:var(--text-secondary);margin-top:6px}.section-card[data-v-ea711b5f]{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:16px;overflow:hidden}.section-header[data-v-ea711b5f]{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}.section-title[data-v-ea711b5f]{font-size:15px;font-weight:600;color:var(--text);margin:0}.section-count[data-v-ea711b5f]{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-ea711b5f]{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;padding:18px}.form-row[data-v-ea711b5f]{display:flex;flex-direction:column;gap:6px}.form-label[data-v-ea711b5f]{font-size:13px;color:var(--text-secondary);font-weight:500}.form-input[data-v-ea711b5f]{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-ea711b5f]:focus{border-color:var(--primary)}.table-wrapper[data-v-ea711b5f]{overflow-x:auto}.data-table[data-v-ea711b5f]{width:100%;border-collapse:collapse;font-size:13px}.data-table th[data-v-ea711b5f]{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-ea711b5f]{padding:10px 14px;color:var(--text);border-bottom:1px solid var(--border)}.data-table tbody tr[data-v-ea711b5f]:hover{background:var(--background, rgba(0, 0, 0, .02))}.data-table tbody tr:last-child td[data-v-ea711b5f]{border-bottom:none}.mono-text[data-v-ea711b5f]{font-family:Consolas,Monaco,monospace;font-size:12px}.pagination[data-v-ea711b5f]{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 18px;border-top:1px solid var(--border)}.page-info[data-v-ea711b5f]{font-size:13px;color:var(--text-secondary)}.rate-badge[data-v-ea711b5f]{display:inline-block;padding:2px 10px;border-radius:10px;font-size:12px;font-weight:600;font-family:monospace}.rate-high[data-v-ea711b5f]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.rate-medium[data-v-ea711b5f]{background:color-mix(in srgb,var(--status-warning) 15%,transparent);color:var(--status-warning)}.rate-low[data-v-ea711b5f]{background:#10b98126;color:var(--status-success)}.duration-stats[data-v-ea711b5f]{padding:18px}.duration-row[data-v-ea711b5f]{display:flex;align-items:center;gap:12px;margin-bottom:10px}.duration-label[data-v-ea711b5f]{width:100px;font-size:13px;color:var(--text-secondary);flex-shrink:0}.progress-bar[data-v-ea711b5f]{flex:1;height:8px;background:var(--background, rgba(0, 0, 0, .06));border-radius:4px;overflow:hidden}.progress-fill[data-v-ea711b5f]{height:100%;background:var(--primary);border-radius:4px;transition:width .3s ease;min-width:2px}.duration-value[data-v-ea711b5f]{width:40px;font-size:13px;font-weight:600;color:var(--text);text-align:right}.duration-summary[data-v-ea711b5f]{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-ea711b5f]{border-left:3px solid var(--status-error)}.alert-count[data-v-ea711b5f]{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-ea711b5f]{padding:14px 18px;display:flex;flex-wrap:wrap;gap:8px}.abnormal-tag[data-v-ea711b5f]{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-ea711b5f]{padding:18px}.diagnostic-block[data-v-ea711b5f]{margin-bottom:16px}.diagnostic-block[data-v-ea711b5f]:last-child{margin-bottom:0}.diagnostic-subtitle[data-v-ea711b5f]{font-size:13px;font-weight:600;color:var(--text);margin:0 0 8px}.diagnostic-list[data-v-ea711b5f]{margin:0;padding-left:20px;font-size:13px;color:var(--text-secondary);line-height:1.8}.diagnostic-details[data-v-ea711b5f]{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-ea711b5f]{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-ea711b5f]:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.sys-btn[data-v-ea711b5f]:disabled{opacity:.5;cursor:not-allowed}.sys-btn-primary[data-v-ea711b5f]{background:var(--primary);color:var(--text);border-color:var(--primary)}.sys-btn-primary[data-v-ea711b5f]:hover:not(:disabled){opacity:.85;color:var(--text)}.sys-btn-warning[data-v-ea711b5f]{background:var(--status-warning);color:var(--text);border-color:var(--status-warning)}.sys-btn-warning[data-v-ea711b5f]:hover:not(:disabled){opacity:.85;color:var(--text)}.sys-btn-danger[data-v-ea711b5f]{background:var(--status-error);color:var(--text);border-color:var(--status-error)}.sys-btn-danger[data-v-ea711b5f]:hover:not(:disabled){opacity:.85;color:var(--text)}.sys-btn-sm[data-v-ea711b5f]{padding:4px 10px;font-size:12px}.sys-btn-secondary[data-v-ea711b5f]{background:var(--surface);color:var(--text)}.loading-state[data-v-ea711b5f]{text-align:center;padding:40px;color:var(--text-secondary);font-size:14px}.empty-state[data-v-ea711b5f]{text-align:center;padding:40px 20px;color:var(--text-secondary);font-size:14px}.online-users-page[data-v-64b4b750]{padding:20px 24px}.page-header[data-v-64b4b750]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.page-title[data-v-64b4b750]{margin:0;font-size:20px;font-weight:600;color:var(--text)}.page-desc[data-v-64b4b750]{margin:4px 0 0;font-size:13px;color:var(--text-secondary)}.header-actions[data-v-64b4b750]{display:flex;align-items:center;gap:12px}.auto-refresh-toggle[data-v-64b4b750]{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary);cursor:pointer}.stats-grid[data-v-64b4b750]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:16px}.stat-card[data-v-64b4b750]{padding:14px 16px;border-radius:8px;background:var(--surface);border:1px solid var(--border)}.stat-card.is-warning[data-v-64b4b750]{border-color:var(--status-warning, #f59e0b)}.stat-value[data-v-64b4b750]{font-size:24px;font-weight:700;color:var(--text);line-height:1.2}.stat-label[data-v-64b4b750]{margin-top:4px;font-size:12px;color:var(--text-secondary)}.table-wrapper[data-v-64b4b750]{border-radius:8px;background:var(--surface);border:1px solid var(--border);padding:8px 4px 4px;overflow-x:auto}.data-table[data-v-64b4b750],.detail-table[data-v-64b4b750]{width:100%;border-collapse:collapse;font-size:13px}.data-table th[data-v-64b4b750],.detail-table th[data-v-64b4b750]{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-64b4b750],.detail-table td[data-v-64b4b750]{padding:10px 12px;color:var(--text);border-bottom:1px solid var(--border);vertical-align:middle}.data-table tbody tr[data-v-64b4b750]:hover{background:var(--border-light)}.data-table tr.row-anonymous[data-v-64b4b750]{background:color-mix(in srgb,var(--status-warning, #f59e0b) 6%,transparent)}.col-expand[data-v-64b4b750]{width:32px}.expand-btn[data-v-64b4b750]{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-64b4b750]{display:flex;align-items:center;gap:10px}.avatar[data-v-64b4b750]{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-64b4b750]{background:color-mix(in srgb,var(--status-warning, #f59e0b) 18%,transparent);color:var(--status-warning, #f59e0b)}.user-lines[data-v-64b4b750]{display:flex;flex-direction:column;gap:2px}.user-name[data-v-64b4b750]{font-weight:600;color:var(--text)}.user-sub[data-v-64b4b750]{font-size:11px;color:var(--text-secondary)}.status-pill[data-v-64b4b750]{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;white-space:nowrap}.status-pill.is-online[data-v-64b4b750]{color:var(--status-success, #22c55e);background:color-mix(in srgb,var(--status-success, #22c55e) 14%,transparent)}.status-pill.is-anon[data-v-64b4b750]{color:var(--status-warning, #f59e0b);background:color-mix(in srgb,var(--status-warning, #f59e0b) 14%,transparent)}.source-cell[data-v-64b4b750]{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mono-text[data-v-64b4b750]{font-family:var(--font-mono, monospace);font-size:12px}.detail-row>td[data-v-64b4b750]{padding:0;background:color-mix(in srgb,var(--primary) 4%,transparent)}.detail-table[data-v-64b4b750]{background:transparent}.detail-table th[data-v-64b4b750],.detail-table td[data-v-64b4b750]{padding:8px 12px;font-size:12px}.ua-cell[data-v-64b4b750]{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty-state[data-v-64b4b750],.footer-meta[data-v-64b4b750]{padding:24px 12px;text-align:center;font-size:13px;color:var(--text-secondary)}.footer-meta[data-v-64b4b750]{padding:8px 12px;text-align:right;font-size:12px}.ai-provider-config[data-v-f5757d40]{padding:20px;width:100%;max-width:100%;margin:0;box-sizing:border-box}.page-header[data-v-f5757d40]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.page-header h2[data-v-f5757d40]{margin:0;font-size:18px;color:var(--text)}.header-actions[data-v-f5757d40]{display:flex;gap:8px}.page-desc[data-v-f5757d40]{color:var(--text-secondary);font-size:13px;margin-bottom:20px}.section-title[data-v-f5757d40]{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-f5757d40]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.provider-card[data-v-f5757d40]{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-f5757d40],.provider-card[data-v-f5757d40]:hover{border-color:var(--primary)}.provider-header[data-v-f5757d40]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.provider-info[data-v-f5757d40]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.provider-name[data-v-f5757d40]{font-size:15px;font-weight:600;color:var(--text)}.provider-desc[data-v-f5757d40]{font-size:12px;color:var(--text-secondary);margin-bottom:10px;line-height:1.4}.provider-details[data-v-f5757d40]{display:flex;flex-direction:column;gap:4px;margin-bottom:10px;flex:1}.detail-row[data-v-f5757d40]{display:flex;align-items:flex-start;gap:6px;font-size:12px}.detail-label[data-v-f5757d40]{color:var(--text-secondary);min-width:70px;flex-shrink:0}.detail-value[data-v-f5757d40]{color:var(--text);word-break:break-all}.detail-value.mono[data-v-f5757d40]{font-family:monospace}.test-result.test-success[data-v-f5757d40]{color:var(--status-success)}.test-result.test-failed[data-v-f5757d40]{color:var(--status-error);word-break:break-all}.test-hint[data-v-f5757d40]{color:var(--text-secondary);font-size:12px;line-height:1.5}.provider-footer[data-v-f5757d40]{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:8px;border-top:1px solid var(--border)}.tag[data-v-f5757d40]{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.tag-success[data-v-f5757d40]{background:#22c55e26;color:var(--status-success)}.tag-muted[data-v-f5757d40]{background:var(--elevated, rgba(128, 128, 128, .15));color:var(--text-secondary)}.tag-info[data-v-f5757d40]{background:#3b82f626;color:var(--status-info)}.tag-region[data-v-f5757d40]{background:var(--surface);color:var(--text-secondary);border:1px solid var(--border)}.btn[data-v-f5757d40]{padding:6px 16px;border:none;border-radius:6px;font-size:13px;cursor:pointer;transition:opacity .15s}.btn[data-v-f5757d40]:hover{opacity:.85}.btn[data-v-f5757d40]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-f5757d40]{background:var(--primary);color:var(--text)}.btn-secondary[data-v-f5757d40]{background:var(--elevated);color:var(--text)}.btn-sm[data-v-f5757d40]{padding:4px 12px;font-size:12px}.btn-link[data-v-f5757d40]{background:none;border:none;color:var(--primary);font-size:12px;cursor:pointer;padding:2px 4px;text-decoration:none}.btn-link[data-v-f5757d40]:hover{text-decoration:underline}.btn-link[data-v-f5757d40]:disabled{opacity:.5;cursor:not-allowed;text-decoration:none}.btn-link.btn-danger-link[data-v-f5757d40]{color:var(--status-error)}.btn-icon[data-v-f5757d40]{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-f5757d40]:hover{background:var(--elevated, rgba(255, 255, 255, .08));color:var(--text)}.toggle-switch[data-v-f5757d40]{position:relative;display:inline-block;width:42px;height:22px;flex-shrink:0}.toggle-switch input[data-v-f5757d40]{opacity:0;width:0;height:0}.toggle-slider[data-v-f5757d40]{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-f5757d40]: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-f5757d40]{background-color:var(--primary)}.toggle-switch input:checked+.toggle-slider[data-v-f5757d40]:before{transform:translate(20px)}.modal-overlay[data-v-f5757d40]{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-f5757d40]{background:var(--surface);border:1px solid var(--border);border-radius:10px;max-height:80vh;display:flex;flex-direction:column}.modal-sm[data-v-f5757d40]{width:460px}.modal-header[data-v-f5757d40]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-header h3[data-v-f5757d40]{margin:0;font-size:16px;color:var(--text)}.modal-body[data-v-f5757d40]{padding:20px;overflow-y:auto;flex:1}.modal-footer[data-v-f5757d40]{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--border)}.form-field[data-v-f5757d40]{margin-bottom:14px}.field-label[data-v-f5757d40]{display:block;margin-bottom:4px;font-size:13px;color:var(--text);font-weight:500}.field-hint[data-v-f5757d40]{margin:4px 0 0;font-size:12px;color:var(--text-secondary);line-height:1.4}.form-input[data-v-f5757d40]{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-f5757d40]:focus{outline:none;border-color:var(--primary)}.advanced-settings[data-v-f5757d40]{margin-top:12px;border-top:1px solid var(--border);padding-top:10px}.advanced-summary[data-v-f5757d40]{font-size:13px;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.advanced-summary[data-v-f5757d40]:hover{color:var(--primary)}.advanced-body[data-v-f5757d40]{margin-top:10px}.mcp-page[data-v-ed08b515]{padding:16px 20px;color:var(--text);overflow-y:auto}.page-header[data-v-ed08b515]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.page-title[data-v-ed08b515]{margin:0;font-size:18px;font-weight:600;color:var(--text)}.section[data-v-ed08b515]{margin-bottom:20px}.section-title[data-v-ed08b515]{margin:0 0 10px;font-size:14px;font-weight:600;color:var(--text)}.stat-grid[data-v-ed08b515]{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}.stat-card[data-v-ed08b515]{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-ed08b515]{font-size:12px;color:var(--text-secondary)}.stat-value[data-v-ed08b515]{font-size:16px;font-weight:600}.stat-value.small[data-v-ed08b515]{font-size:12px;font-weight:500;word-break:break-all}.stat-value.ok[data-v-ed08b515]{color:var(--status-online)}.stat-value.muted[data-v-ed08b515]{color:var(--text-secondary)}.level-row[data-v-ed08b515]{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.level-badge[data-v-ed08b515]{padding:2px 8px;font-size:12px;border-radius:10px;white-space:nowrap}.badge-read[data-v-ed08b515]{background:color-mix(in srgb,var(--status-online) 15%,transparent);color:var(--status-online)}.badge-write[data-v-ed08b515]{background:color-mix(in srgb,var(--status-warning) 15%,transparent);color:var(--status-warning)}.badge-destructive[data-v-ed08b515]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.config-row[data-v-ed08b515]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.config-label[data-v-ed08b515]{font-size:13px;color:var(--text-secondary)}.config-meta[data-v-ed08b515]{display:flex;flex-wrap:wrap;gap:18px;margin-top:10px;font-size:12px;color:var(--text-secondary)}.config-hint[data-v-ed08b515]{margin:8px 0 0;font-size:12px;color:var(--text-secondary)}.inline-hint[data-v-ed08b515]{margin:0}.key-table-wrap[data-v-ed08b515]{max-height:240px;margin-top:10px}.key-plaintext[data-v-ed08b515]{margin-top:10px;padding:10px 12px;background:var(--surface);border:1px solid var(--status-warning);border-radius:6px}.key-plaintext-label[data-v-ed08b515]{margin-bottom:6px;font-size:12px;font-weight:600;color:var(--status-warning)}.key-plaintext-row[data-v-ed08b515]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.key-plaintext-value[data-v-ed08b515]{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-ed08b515]{font-size:12px}.switch-result.ok[data-v-ed08b515]{color:var(--status-online)}.switch-result.err[data-v-ed08b515]{color:var(--status-error)}.toolbar[data-v-ed08b515]{display:flex;gap:8px;margin-bottom:10px}.mcp-input[data-v-ed08b515],.mcp-select[data-v-ed08b515]{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-ed08b515]{flex:1;min-width:200px}.table-wrap[data-v-ed08b515]{max-height:460px;overflow:auto;border:1px solid var(--border);border-radius:6px}.mcp-table[data-v-ed08b515]{width:100%;border-collapse:collapse;font-size:13px}.mcp-table th[data-v-ed08b515],.mcp-table td[data-v-ed08b515]{padding:7px 10px;text-align:left;border-bottom:1px solid var(--border)}.mcp-table th[data-v-ed08b515]{position:sticky;top:0;background:var(--surface);font-weight:600;color:var(--text-secondary);z-index:1}.col-num[data-v-ed08b515]{width:72px;text-align:center}.col-level[data-v-ed08b515]{width:110px}.col-ops[data-v-ed08b515]{width:168px}.col-type[data-v-ed08b515]{width:84px;text-align:center}.resource-table-wrap[data-v-ed08b515]{max-height:320px}.type-badge[data-v-ed08b515]{display:inline-block;padding:2px 8px;font-size:11px;border-radius:10px;white-space:nowrap}.type-static[data-v-ed08b515]{background:color-mix(in srgb,var(--status-info) 15%,transparent);color:var(--status-info)}.type-template[data-v-ed08b515]{background:color-mix(in srgb,var(--status-online) 15%,transparent);color:var(--status-online)}.key-ops[data-v-ed08b515]{display:flex;gap:6px;justify-content:center}.cell-name[data-v-ed08b515]{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;white-space:nowrap}.cell-desc[data-v-ed08b515]{color:var(--text-secondary)}.row-dim[data-v-ed08b515]{opacity:.55}.cell-empty[data-v-ed08b515]{padding:20px;text-align:center;color:var(--text-secondary)}.empty-state[data-v-ed08b515]{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-ed08b515]{font-size:12px;opacity:.8}.kb-page[data-v-49d0acd1]{display:flex;flex-direction:column;height:100%;min-height:0}.page-header[data-v-49d0acd1]{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-49d0acd1]{display:flex;align-items:center;gap:8px;margin:0;font-size:18px;font-weight:600;color:var(--text)}.header-icon[data-v-49d0acd1]{color:var(--primary)}.header-actions[data-v-49d0acd1]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.lang-select[data-v-49d0acd1]{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-49d0acd1]{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-49d0acd1]:focus,.lang-select[data-v-49d0acd1]: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-49d0acd1]{display:flex;align-items:center;gap:6px}.search-input[data-v-49d0acd1]{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-49d0acd1]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(var(--primary-rgb, 26, 115, 232),.15)}.btn[data-v-49d0acd1]{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-49d0acd1]{height:28px;padding:0 10px;font-size:12px}.btn-primary[data-v-49d0acd1]{background:var(--primary);color:var(--text)}.btn-primary[data-v-49d0acd1]:hover:not(:disabled){background:var(--primary-dark, var(--primary));filter:brightness(1.1)}.btn-primary[data-v-49d0acd1]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-49d0acd1]{background:var(--surface-alt, rgba(255, 255, 255, .08));color:var(--text);border:1px solid var(--border)}.btn-secondary[data-v-49d0acd1]:hover:not(:disabled){background:var(--surface-hover, rgba(255, 255, 255, .12))}.rag-bar[data-v-49d0acd1]{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-49d0acd1]{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0;font-size:12px;color:var(--text-secondary)}.rag-label[data-v-49d0acd1]{font-weight:600;color:var(--text)}.rag-pill[data-v-49d0acd1]{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-49d0acd1]{background:color-mix(in srgb,var(--primary) 15%,transparent);color:var(--primary)}.rag-pill-warn[data-v-49d0acd1]{background:color-mix(in srgb,var(--status-warning, #e6a23c) 18%,transparent);color:var(--status-warning, #e6a23c)}.rag-pill-busy[data-v-49d0acd1]{background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary);animation:ragPulse-49d0acd1 1.4s ease-in-out infinite}.rag-pill-muted[data-v-49d0acd1]{background:color-mix(in srgb,var(--text-secondary) 15%,transparent);color:var(--text-secondary)}@keyframes ragPulse-49d0acd1{0%,to{opacity:1}50%{opacity:.55}}.rag-meta[data-v-49d0acd1]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.rag-reason[data-v-49d0acd1]{max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--status-warning, #e6a23c)}.rag-actions[data-v-49d0acd1]{display:flex;align-items:center;gap:8px;flex-shrink:0}.mode-switch[data-v-49d0acd1]{display:inline-flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}.mode-btn[data-v-49d0acd1]{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-49d0acd1]{border-left:1px solid var(--border)}.mode-btn.active[data-v-49d0acd1]{background:var(--primary);color:var(--text);font-weight:600}.qa-panel[data-v-49d0acd1]{display:flex;flex-direction:column;height:100%;min-height:0}.qa-head[data-v-49d0acd1]{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-49d0acd1]{font-weight:600;color:var(--text)}.qa-warn[data-v-49d0acd1]{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-49d0acd1]{margin-left:auto}.qa-body[data-v-49d0acd1]{flex:1;overflow-y:auto;padding:16px 20px;min-height:0}.qa-empty[data-v-49d0acd1]{padding:48px 0;text-align:center;color:var(--text-secondary);font-size:14px}.qa-turn[data-v-49d0acd1]{margin-bottom:22px}.qa-question[data-v-49d0acd1]{display:flex;align-items:baseline;gap:8px;margin-bottom:8px;font-size:14px;color:var(--text)}.qa-role[data-v-49d0acd1]{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-49d0acd1]{font-weight:600;line-height:1.5}.qa-answer[data-v-49d0acd1]{border-left:2px solid var(--border);margin-left:2px;padding-left:12px}.qa-loading[data-v-49d0acd1],.qa-error[data-v-49d0acd1]{font-size:13px;padding:6px 0}.qa-loading[data-v-49d0acd1]{color:var(--text-secondary)}.qa-error[data-v-49d0acd1]{color:var(--status-error, #f56c6c)}.qa-stale[data-v-49d0acd1]{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-49d0acd1]{font-size:14px}.qa-meta[data-v-49d0acd1]{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:10px;font-size:11px;color:var(--text-secondary)}.qa-feedback[data-v-49d0acd1]{display:inline-flex;align-items:center;gap:6px}.qa-fb-btn[data-v-49d0acd1]{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-49d0acd1]:hover{border-color:var(--primary);color:var(--primary)}.qa-fb-btn.active[data-v-49d0acd1]{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 14%,transparent);color:var(--primary);font-weight:600}.qa-fb-thanks[data-v-49d0acd1]{color:var(--primary)}.qa-sources[data-v-49d0acd1]{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-49d0acd1]{font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:8px}.qa-source[data-v-49d0acd1]{padding:6px 0;border-top:1px dashed var(--border);font-size:12px;line-height:1.5}.qa-source[data-v-49d0acd1]:first-of-type{border-top:none}.qa-source-idx[data-v-49d0acd1]{color:var(--primary);font-weight:600;margin-right:6px}.qa-source-title[data-v-49d0acd1]{color:var(--text);font-weight:500}.qa-source-path[data-v-49d0acd1]{margin-left:8px;color:var(--text-secondary);font-size:11px}.qa-source-text[data-v-49d0acd1]{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-49d0acd1]{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-49d0acd1]{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-49d0acd1]: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-49d0acd1]{display:flex;flex:1;overflow:hidden;min-height:0}.kb-sidebar[data-v-49d0acd1]{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-49d0acd1]{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-49d0acd1],.search-result-list[data-v-49d0acd1]{flex:1;overflow-y:auto;padding:6px}.empty-hint[data-v-49d0acd1]{padding:20px 14px;text-align:center;color:var(--text-secondary);font-size:13px}.tree-item[data-v-49d0acd1]{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-49d0acd1]:hover{background:#ffffff0f}.tree-folder[data-v-49d0acd1]{font-weight:600}.tree-article.active[data-v-49d0acd1]{background:rgba(var(--primary-rgb, 26, 115, 232),.12);color:var(--primary)}.tree-toggle[data-v-49d0acd1]{width:12px;font-size:10px;color:var(--text-secondary);flex-shrink:0}.tree-dot[data-v-49d0acd1]{width:12px;text-align:center;color:var(--text-secondary);flex-shrink:0}.tree-label[data-v-49d0acd1]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fallback-mini[data-v-49d0acd1]{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-49d0acd1]{opacity:.75;font-style:italic}.search-result-item[data-v-49d0acd1]{padding:8px 10px;border-radius:6px;cursor:pointer;transition:background .1s;border:1px solid transparent}.search-result-item[data-v-49d0acd1]:hover{background:#ffffff0f}.search-result-item.active[data-v-49d0acd1]{background:rgba(var(--primary-rgb, 26, 115, 232),.12);border-color:var(--primary)}.result-title[data-v-49d0acd1]{font-size:13px;font-weight:500;color:var(--text);margin-bottom:4px}.result-snippet[data-v-49d0acd1]{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-49d0acd1]{font-size:11px;color:var(--text-secondary);margin-top:4px;opacity:.7}.kb-content[data-v-49d0acd1]{flex:1;overflow-y:auto;background:var(--background);min-width:0}.content-empty[data-v-49d0acd1]{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);font-size:14px}.article[data-v-49d0acd1]{max-width:880px;margin:0 auto;padding:28px 36px 60px}.article-header[data-v-49d0acd1]{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border)}.article-title[data-v-49d0acd1]{font-size:24px;font-weight:700;color:var(--text);margin:0 0 12px}.article-meta[data-v-49d0acd1]{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--text-secondary)}.badge[data-v-49d0acd1]{display:inline-flex;align-items:center;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.badge-warn[data-v-49d0acd1]{background:color-mix(in srgb,var(--status-warning) 15%,transparent);color:var(--status-warning)}.meta-lang[data-v-49d0acd1],.meta-module[data-v-49d0acd1]{padding:2px 8px;background:var(--surface-alt, rgba(255, 255, 255, .08));border-radius:4px}.markdown-body[data-v-49d0acd1]{font-size:14px;line-height:1.7;color:var(--text)}.markdown-body[data-v-49d0acd1] h1,.markdown-body[data-v-49d0acd1] h2,.markdown-body[data-v-49d0acd1] h3,.markdown-body[data-v-49d0acd1] h4,.markdown-body[data-v-49d0acd1] h5,.markdown-body[data-v-49d0acd1] h6{margin:24px 0 12px;font-weight:600;color:var(--text)}.markdown-body[data-v-49d0acd1] h1{font-size:22px}.markdown-body[data-v-49d0acd1] h2{font-size:19px}.markdown-body[data-v-49d0acd1] h3{font-size:16px}.markdown-body[data-v-49d0acd1] h4{font-size:14px}.markdown-body[data-v-49d0acd1] p{margin:12px 0}.markdown-body[data-v-49d0acd1] ul,.markdown-body[data-v-49d0acd1] ol{margin:12px 0;padding-left:24px}.markdown-body[data-v-49d0acd1] li{margin:4px 0}.markdown-body[data-v-49d0acd1] 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-49d0acd1] 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-49d0acd1] pre code{padding:0;background:none;font-size:13px}.markdown-body[data-v-49d0acd1] 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-49d0acd1] a{color:var(--primary);text-decoration:none}.markdown-body[data-v-49d0acd1] a:hover{text-decoration:underline}.markdown-body[data-v-49d0acd1] img{max-width:100%;height:auto;border-radius:8px;margin:12px 0}.markdown-body[data-v-49d0acd1] hr{margin:24px 0;border:none;border-top:1px solid var(--border)}.article-editor[data-v-49d0acd1]{display:flex;flex-direction:column;gap:12px}.editor-toolbar[data-v-49d0acd1]{display:flex;align-items:center;gap:8px}.saving-hint[data-v-49d0acd1]{font-size:12px;color:var(--text-secondary)}.editor-textarea[data-v-49d0acd1]{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-49d0acd1]: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-49d0acd1]{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-49d0acd1]{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-49d0acd1]{margin:0 0 16px;font-size:16px;color:var(--text)}.dialog-label[data-v-49d0acd1]{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:4px}.dialog-input[data-v-49d0acd1]{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-49d0acd1]{margin-bottom:12px;font-size:13px;color:var(--text)}.dialog-actions[data-v-49d0acd1]{display:flex;justify-content:flex-end;gap:8px}.tree-list[data-v-49d0acd1]::-webkit-scrollbar,.search-result-list[data-v-49d0acd1]::-webkit-scrollbar,.kb-content[data-v-49d0acd1]::-webkit-scrollbar{width:6px}.tree-list[data-v-49d0acd1]::-webkit-scrollbar-track,.search-result-list[data-v-49d0acd1]::-webkit-scrollbar-track,.kb-content[data-v-49d0acd1]::-webkit-scrollbar-track{background:transparent}.tree-list[data-v-49d0acd1]::-webkit-scrollbar-thumb,.search-result-list[data-v-49d0acd1]::-webkit-scrollbar-thumb,.kb-content[data-v-49d0acd1]::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.tree-list[data-v-49d0acd1]::-webkit-scrollbar-thumb:hover,.kb-content[data-v-49d0acd1]::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.gallery-page[data-v-153e5983]{display:flex;flex-direction:column;height:100%;min-height:0}.page-header[data-v-153e5983]{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-153e5983]{display:flex;align-items:center;gap:8px;margin:0;font-size:18px;font-weight:600;color:var(--text)}.header-icon[data-v-153e5983]{color:var(--primary)}.header-actions[data-v-153e5983]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.field-label[data-v-153e5983]{font-size:13px;color:var(--text-secondary)}.search-box[data-v-153e5983]{position:relative;display:flex;align-items:center;width:240px}.search-icon[data-v-153e5983]{position:absolute;left:9px;color:var(--text-secondary);pointer-events:none}.search-input[data-v-153e5983]{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-153e5983]::placeholder{color:var(--text-secondary)}.search-input[data-v-153e5983]:focus{outline:none;border-color:var(--primary)}.search-clear[data-v-153e5983]{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-153e5983]:hover{color:var(--text);background:var(--surface-alt, rgba(255, 255, 255, .08))}.search-summary[data-v-153e5983]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-shrink:0}.search-summary-text[data-v-153e5983]{font-size:13px;color:var(--text-secondary)}.select[data-v-153e5983]{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-153e5983]:focus{outline:none;border-color:var(--primary)}.btn[data-v-153e5983]{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-153e5983]{height:28px;padding:0 10px;font-size:12px}.btn-primary[data-v-153e5983]{background:var(--primary);color:var(--text)}.btn-primary[data-v-153e5983]:hover:not(:disabled){filter:brightness(1.1)}.btn-secondary[data-v-153e5983]{background:var(--surface-alt, rgba(255, 255, 255, .08));color:var(--text);border:1px solid var(--border)}.btn-icon[data-v-153e5983]{border:none;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:13px;padding:2px 6px;border-radius:4px}.btn-danger[data-v-153e5983]:hover{color:var(--status-error);background:color-mix(in srgb,var(--status-error) 10%,transparent)}.gallery-body[data-v-153e5983]{display:flex;flex:1;overflow:hidden;min-height:0}.gallery-sidebar[data-v-153e5983]{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-153e5983]{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-153e5983]{flex:1;overflow-y:auto;padding:6px}.category-item[data-v-153e5983]{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-153e5983]:hover{background:#ffffff0f}.category-item.active[data-v-153e5983]{background:rgba(var(--primary-rgb, 26, 115, 232),.12);color:var(--primary)}.category-name[data-v-153e5983]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-count[data-v-153e5983]{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-153e5983]{padding:20px 14px;text-align:center;color:var(--text-secondary);font-size:13px}.gallery-content[data-v-153e5983]{flex:1;overflow-y:auto;background:var(--background);min-width:0;padding:16px}.content-empty[data-v-153e5983]{display:flex;align-items:center;justify-content:center;min-height:240px;color:var(--text-secondary);font-size:14px}.image-grid[data-v-153e5983]{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}.image-card[data-v-153e5983]{margin:0;background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden;display:flex;flex-direction:column}.image-thumb[data-v-153e5983]{width:100%;height:120px;object-fit:contain;background:color-mix(in srgb,var(--background) 60%,transparent);padding:8px}.image-meta[data-v-153e5983]{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-153e5983]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.image-size[data-v-153e5983]{font-size:11px;opacity:.7}.image-path[data-v-153e5983]{padding:6px 10px 0;font-size:11px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-filename[data-v-153e5983]{flex-basis:100%;font-size:11px;color:var(--text-secondary);opacity:.7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dialog-overlay[data-v-153e5983]{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-153e5983]{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-153e5983]{margin:0 0 16px;font-size:16px;color:var(--text)}.dialog-label[data-v-153e5983]{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:4px}.dialog-input[data-v-153e5983]{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-153e5983]{margin-bottom:12px;font-size:13px;color:var(--text)}.dialog-actions[data-v-153e5983]{display:flex;justify-content:flex-end;gap:8px}.dialog-overlay[data-v-dc3687d2]{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-dc3687d2]{background:var(--surface);border:1px solid var(--border);border-radius:10px;display:flex;flex-direction:column;max-height:88vh}.dialog-lg[data-v-dc3687d2]{width:min(1200px,94vw)}.dialog-header[data-v-dc3687d2]{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}.dialog-title[data-v-dc3687d2]{margin:0;font-size:16px;font-weight:600;color:var(--text)}.dialog-close[data-v-dc3687d2]{border:none;background:transparent;color:var(--text-secondary);font-size:20px;cursor:pointer;line-height:1}.dialog-body[data-v-dc3687d2]{padding:16px 18px;overflow-y:auto}.dialog-footer[data-v-dc3687d2]{display:flex;justify-content:flex-end;gap:10px;padding:12px 18px;border-top:1px solid var(--border)}.form-section[data-v-dc3687d2]{margin-bottom:20px}.form-section-title[data-v-dc3687d2]{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-dc3687d2]{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:10px 16px}.form-item[data-v-dc3687d2]{display:flex;flex-direction:column;gap:4px}.checkbox-item[data-v-dc3687d2]{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text)}.form-item-wide[data-v-dc3687d2]{grid-column:1 / -1}.form-label[data-v-dc3687d2]{font-size:12px;color:var(--text-secondary)}.form-input[data-v-dc3687d2],.cell-input[data-v-dc3687d2]{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-dc3687d2]{width:70px}.section-hint[data-v-dc3687d2]{margin:0 0 8px;font-size:11px;color:var(--text-secondary);line-height:1.6}.table-wrap[data-v-dc3687d2]{overflow-x:auto;border:1px solid var(--border);border-radius:8px}.edit-table[data-v-dc3687d2]{width:100%;border-collapse:collapse;font-size:12px}.edit-table th[data-v-dc3687d2]{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-dc3687d2]{padding:6px 8px;border-bottom:1px solid var(--border);color:var(--text)}.col-center[data-v-dc3687d2]{text-align:center}.empty-cell[data-v-dc3687d2]{text-align:center;color:var(--text-secondary);padding:16px 0}.btn-link[data-v-dc3687d2]{border:none;background:transparent;color:var(--primary);cursor:pointer;font-size:12px;padding:0}.btn-link.danger[data-v-dc3687d2]{color:var(--status-error, #e54d42)}.btn[data-v-dc3687d2]{height:32px;padding:0 14px;border-radius:6px;border:1px solid transparent;cursor:pointer;font-size:13px}.btn-sm[data-v-dc3687d2]{height:26px;padding:0 10px;font-size:12px}.btn-primary[data-v-dc3687d2]{background:var(--primary);color:var(--text-on-primary, #fff)}.btn-primary[data-v-dc3687d2]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-dc3687d2]{background:transparent;color:var(--text);border-color:var(--border)}.dialog-overlay[data-v-a96feb35]{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-a96feb35]{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-a96feb35]{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}.dialog-title[data-v-a96feb35]{margin:0;font-size:16px;font-weight:600;color:var(--text)}.dialog-close[data-v-a96feb35]{border:none;background:transparent;color:var(--text-secondary);font-size:20px;cursor:pointer;line-height:1}.dialog-body[data-v-a96feb35]{padding:16px 18px;overflow-y:auto}.dialog-footer[data-v-a96feb35]{display:flex;justify-content:flex-end;gap:10px;padding:12px 18px;border-top:1px solid var(--border)}.dialog-desc[data-v-a96feb35]{margin:0 0 14px;font-size:13px;color:var(--text-secondary);line-height:1.6}.form-item[data-v-a96feb35]{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.form-label[data-v-a96feb35]{font-size:12px;color:var(--text-secondary)}.form-input[data-v-a96feb35]{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-a96feb35]{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text);margin-bottom:8px}.warning-text[data-v-a96feb35]{margin:12px 0 0;font-size:12px;color:var(--status-warning, #e6a23c);line-height:1.6}.result-summary[data-v-a96feb35]{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-a96feb35]{border-color:var(--status-online, #4caf50)}.result-partial[data-v-a96feb35]{border-color:var(--status-warning, #e6a23c)}.result-failed[data-v-a96feb35]{border-color:var(--status-error, #e54d42)}.sep[data-v-a96feb35]{color:var(--border)}.result-note[data-v-a96feb35]{font-size:12px;color:var(--status-warning, #e6a23c);margin-bottom:10px}.preview-block[data-v-a96feb35]{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.preview-header[data-v-a96feb35]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.preview-title[data-v-a96feb35]{font-size:13px;font-weight:500;color:var(--text)}.preview-summary[data-v-a96feb35]{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:12px;color:var(--text-secondary)}.preview-errors[data-v-a96feb35]{margin:0 0 8px;padding-left:18px;font-size:12px;line-height:1.6;color:var(--status-error, #e54d42)}.preview-warnings[data-v-a96feb35]{margin:0 0 8px;padding-left:18px;font-size:12px;line-height:1.6;color:var(--status-warning, #e6a23c)}.preview-table[data-v-a96feb35]{max-height:220px;overflow:auto}.preview-hint[data-v-a96feb35]{margin:0;font-size:12px;color:var(--text-secondary)}.btn-link[data-v-a96feb35]{border:none;background:transparent;color:var(--primary);cursor:pointer;font-size:12px;padding:0}.btn-link[data-v-a96feb35]:disabled{opacity:.6;cursor:not-allowed}.table-wrap[data-v-a96feb35]{overflow-x:auto;border:1px solid var(--border);border-radius:8px}.result-table[data-v-a96feb35]{width:100%;border-collapse:collapse;font-size:12px}.result-table th[data-v-a96feb35]{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-a96feb35]{padding:7px 10px;border-bottom:1px solid var(--border);color:var(--text)}.col-center[data-v-a96feb35]{text-align:center}.badge[data-v-a96feb35]{padding:2px 8px;border-radius:10px;font-size:11px}.badge-ok[data-v-a96feb35]{background:color-mix(in srgb,var(--status-online, #4caf50) 18%,transparent);color:var(--status-online, #4caf50)}.badge-err[data-v-a96feb35]{background:color-mix(in srgb,var(--status-error, #e54d42) 18%,transparent);color:var(--status-error, #e54d42)}.error-text[data-v-a96feb35]{color:var(--text-secondary);word-break:break-all}.btn[data-v-a96feb35]{height:32px;padding:0 14px;border-radius:6px;border:1px solid transparent;cursor:pointer;font-size:13px}.btn-primary[data-v-a96feb35]{background:var(--primary);color:var(--text-on-primary, #fff)}.btn-primary[data-v-a96feb35]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-a96feb35]{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-9d768cad]{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-9d768cad]{width:260px;flex-shrink:0;display:flex;flex-direction:column;gap:12px;min-height:0}.project-select[data-v-9d768cad]{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-9d768cad]:focus{border-color:var(--primary)}.mode-select[data-v-9d768cad]{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-9d768cad]{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.group-sidebar[data-v-9d768cad]{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-9d768cad]{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-9d768cad]{flex:1;overflow-y:auto;padding:8px}.group-item[data-v-9d768cad]{padding:8px 10px;border-radius:8px;cursor:pointer;border:1px solid transparent;margin-bottom:6px}.group-item[data-v-9d768cad]:hover{background:var(--surface-alt, rgba(255, 255, 255, .05))}.group-item.active[data-v-9d768cad]{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,transparent)}.group-name[data-v-9d768cad]{font-size:13px;font-weight:500;color:var(--text);margin-bottom:2px}.group-meta[data-v-9d768cad]{font-size:11px;color:var(--text-secondary)}.group-empty[data-v-9d768cad]{padding:20px 8px;text-align:center;font-size:12px;color:var(--text-secondary)}.recipe-content[data-v-9d768cad]{flex:1;min-width:0;display:flex;flex-direction:column}.toolbar[data-v-9d768cad]{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}.toolbar-left[data-v-9d768cad],.toolbar-right[data-v-9d768cad]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.group-desc[data-v-9d768cad]{margin:0 0 10px;font-size:12px;color:var(--text-secondary)}.sep[data-v-9d768cad]{margin:0 6px;color:var(--border)}.state-line[data-v-9d768cad]{display:flex;gap:6px;align-items:baseline}.state-label[data-v-9d768cad]{color:var(--text);font-weight:500}.in-use-mark[data-v-9d768cad]{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-9d768cad]{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap}.batch-input[data-v-9d768cad]{min-width:160px;width:auto}.static-value[data-v-9d768cad]{font-size:13px;color:var(--text)}.dialog-hint[data-v-9d768cad]{margin:4px 0 0;font-size:12px;color:var(--text-secondary)}.dialog-wide[data-v-9d768cad]{width:min(900px,94vw)}.table-wrap[data-v-9d768cad]{flex:1;overflow:auto;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.recipe-table[data-v-9d768cad]{width:100%;border-collapse:collapse;font-size:12px}.recipe-table th[data-v-9d768cad]{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-9d768cad]{padding:6px 10px;border-bottom:1px solid var(--border);color:var(--text)}.row-dirty[data-v-9d768cad]{background:color-mix(in srgb,var(--status-warning, #e6a23c) 8%,transparent)}.unit[data-v-9d768cad]{font-size:11px;color:var(--text-secondary)}.col-center[data-v-9d768cad]{text-align:center}.col-number[data-v-9d768cad]{width:70px}.cell-input[data-v-9d768cad]{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-9d768cad]{display:flex;flex-wrap:wrap;gap:6px;min-width:240px}.btn-link[data-v-9d768cad]{border:none;background:transparent;color:var(--primary);cursor:pointer;font-size:12px;padding:0;white-space:nowrap}.btn-link.danger[data-v-9d768cad]{color:var(--status-error, #e54d42)}.badge[data-v-9d768cad]{padding:2px 8px;border-radius:10px;font-size:11px;white-space:nowrap}.badge-draft[data-v-9d768cad]{background:var(--surface-alt, rgba(255, 255, 255, .08));color:var(--text-secondary)}.badge-pending[data-v-9d768cad]{background:color-mix(in srgb,var(--status-warning, #e6a23c) 18%,transparent);color:var(--status-warning, #e6a23c)}.badge-approved[data-v-9d768cad]{background:color-mix(in srgb,var(--primary) 18%,transparent);color:var(--primary)}.badge-active[data-v-9d768cad]{background:color-mix(in srgb,var(--status-online, #4caf50) 18%,transparent);color:var(--status-online, #4caf50)}.badge-archived[data-v-9d768cad]{background:var(--surface-alt, rgba(255, 255, 255, .08));color:var(--text-secondary)}.empty-cell[data-v-9d768cad]{text-align:center;padding:24px 0;color:var(--text-secondary)}.empty-state[data-v-9d768cad]{flex:1;padding:60px 0;text-align:center;color:var(--text-secondary);font-size:14px}.hidden-input[data-v-9d768cad]{display:none}.btn[data-v-9d768cad]{height:32px;padding:0 14px;border-radius:6px;border:1px solid transparent;cursor:pointer;font-size:13px}.btn-sm[data-v-9d768cad]{height:28px;padding:0 10px;font-size:12px}.btn-primary[data-v-9d768cad]{background:var(--primary);color:var(--text-on-primary, #fff)}.btn-primary[data-v-9d768cad]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-9d768cad]{background:transparent;color:var(--text);border-color:var(--border)}.dialog-overlay[data-v-9d768cad]{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-9d768cad]{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-9d768cad]{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}.dialog-title[data-v-9d768cad]{margin:0;font-size:16px;font-weight:600;color:var(--text)}.dialog-close[data-v-9d768cad]{border:none;background:transparent;color:var(--text-secondary);font-size:20px;cursor:pointer;line-height:1}.dialog-body[data-v-9d768cad]{padding:16px 18px;overflow-y:auto}.dialog-footer[data-v-9d768cad]{display:flex;justify-content:flex-end;gap:10px;padding:12px 18px;border-top:1px solid var(--border)}.form-item[data-v-9d768cad]{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.form-label[data-v-9d768cad]{font-size:12px;color:var(--text-secondary)}.required-mark[data-v-9d768cad]{color:var(--status-error, #e54d42)}.terminal-page[data-v-f36702dc]{height:100%;display:flex;flex-direction:column;padding:24px;width:100%;max-width:100%;margin:0;box-sizing:border-box}.page-header[data-v-f36702dc]{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:12px}.page-title-area[data-v-f36702dc]{flex:1}.page-title[data-v-f36702dc]{font-size:22px;font-weight:700;color:var(--text);margin:0 0 4px}.page-subtitle[data-v-f36702dc]{font-size:13px;color:var(--text-secondary);margin:0}.header-actions[data-v-f36702dc]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.connection-status[data-v-f36702dc]{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-f36702dc]{width:8px;height:8px;border-radius:50%;display:inline-block}.status-disconnected .status-dot[data-v-f36702dc]{background:var(--text-secondary)}.status-connecting .status-dot[data-v-f36702dc]{background:var(--status-warning);animation:pulse-f36702dc 1s infinite}.status-connected .status-dot[data-v-f36702dc]{background:var(--status-success)}.status-error .status-dot[data-v-f36702dc]{background:var(--status-error)}@keyframes pulse-f36702dc{0%,to{opacity:1}50%{opacity:.4}}.status-disconnected[data-v-f36702dc]{color:var(--text-secondary)}.status-connecting[data-v-f36702dc]{color:var(--status-warning)}.status-connected[data-v-f36702dc]{color:var(--status-success)}.status-error[data-v-f36702dc]{color:var(--status-error)}.security-info[data-v-f36702dc]{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-f36702dc]{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--status-warning)}.security-icon[data-v-f36702dc]{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-f36702dc]{background:none;border:none;color:var(--primary);cursor:pointer;font-size:12px}.link-btn[data-v-f36702dc]:hover{text-decoration:underline}.whitelist-grid[data-v-f36702dc]{padding:14px 20px;display:flex;flex-wrap:wrap;gap:6px}.whitelist-tag[data-v-f36702dc]{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-f36702dc]{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:16px;overflow:hidden}.section-header[data-v-f36702dc]{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--border)}.section-title[data-v-f36702dc]{font-size:15px;font-weight:600;color:var(--text);margin:0}.terminal-output[data-v-f36702dc]{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-f36702dc]{color:var(--text-secondary);font-style:italic}.terminal-line[data-v-f36702dc]{white-space:pre-wrap;word-break:break-all;margin-bottom:2px}.line-command[data-v-f36702dc]{color:var(--primary)}.line-prompt[data-v-f36702dc]{color:var(--primary);margin-right:4px}.line-output[data-v-f36702dc]{color:var(--text)}.line-error[data-v-f36702dc]{color:var(--status-error)}.line-system[data-v-f36702dc]{color:var(--status-online);font-style:italic}.line-executing[data-v-f36702dc]{color:var(--status-warning);display:flex;align-items:center;gap:8px}.executing-spinner[data-v-f36702dc]{width:12px;height:12px;border:2px solid var(--status-warning);border-top-color:transparent;border-radius:50%;animation:spin-f36702dc .8s linear infinite}@keyframes spin-f36702dc{to{transform:rotate(360deg)}}.command-input-area[data-v-f36702dc]{display:flex;align-items:center;gap:8px;background:var(--background);border-radius:10px;padding:12px 16px;margin-bottom:16px}.input-prompt[data-v-f36702dc]{color:var(--primary);font-size:13px;white-space:nowrap}.command-input[data-v-f36702dc]{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-f36702dc]::placeholder{color:var(--text-secondary)}.command-input[data-v-f36702dc]:disabled{opacity:.5;cursor:not-allowed}.history-section[data-v-f36702dc]{flex-shrink:0}.history-list[data-v-f36702dc]{max-height:200px;overflow-y:auto}.history-item[data-v-f36702dc]{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-f36702dc]:hover{background:var(--bg-hover, rgba(0, 0, 0, .02))}.history-item[data-v-f36702dc]:last-child{border-bottom:none}.history-index[data-v-f36702dc]{color:var(--text-secondary);min-width:28px;text-align:right}.history-cmd[data-v-f36702dc]{flex:1;color:var(--text)}.history-failed .history-cmd[data-v-f36702dc]{color:var(--status-error)}.history-status[data-v-f36702dc]{font-size:11px;padding:2px 8px;border-radius:4px}.history-status.completed[data-v-f36702dc]{background:var(--status-success-bg, rgba(40, 167, 69, .12));color:var(--status-success)}.history-status.blocked[data-v-f36702dc],.history-status.timeout[data-v-f36702dc],.history-status.error[data-v-f36702dc]{background:var(--status-error-bg, rgba(220, 53, 69, .12));color:var(--status-error)}.mono-text[data-v-f36702dc]{font-family:Consolas,Monaco,Courier New,monospace}.dict-page[data-v-cb492528]{height:100%;display:flex;flex-direction:column;overflow:hidden}.page-header[data-v-cb492528]{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-cb492528]{font-size:18px;font-weight:600;color:var(--text);margin:0}.header-actions[data-v-cb492528]{display:flex;align-items:center;gap:10px}.btn[data-v-cb492528]{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-cb492528]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-cb492528]{background:var(--primary);color:var(--text)}.btn-primary[data-v-cb492528]:hover:not(:disabled){background:var(--primary)}.btn-secondary[data-v-cb492528]{background:var(--border);color:var(--text);border:1px solid transparent}.btn-secondary[data-v-cb492528]:hover:not(:disabled){background:var(--border)}.btn-sm[data-v-cb492528]{padding:5px 10px;font-size:13px}.spinning[data-v-cb492528]{animation:spin-cb492528 1s linear infinite}@keyframes spin-cb492528{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dict-body[data-v-cb492528]{display:flex;flex:1;overflow:hidden}.dict-sidebar[data-v-cb492528]{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-cb492528]{padding:8px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.category-list[data-v-cb492528]{flex:1;overflow-y:auto;padding:4px 0}.dict-category-group[data-v-cb492528]{margin-bottom:2px}.category-header[data-v-cb492528]{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-cb492528]:hover{background:#8080800f}.category-header:hover .category-actions[data-v-cb492528]{opacity:1}.folder-icon[data-v-cb492528]{flex-shrink:0;color:var(--text-secondary)}.category-name[data-v-cb492528]{flex:1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-count[data-v-cb492528]{font-size:11px;color:var(--text-secondary);background:var(--background);padding:1px 6px;border-radius:8px;flex-shrink:0}.category-actions[data-v-cb492528]{display:flex;gap:2px;opacity:0;transition:opacity .15s;flex-shrink:0}.category-tables[data-v-cb492528]{padding-left:4px}.table-item[data-v-cb492528]{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-cb492528]:hover{background:#8080800f;color:var(--text)}.table-item:hover .table-actions[data-v-cb492528]{opacity:1}.table-item--active[data-v-cb492528]{background:color-mix(in srgb,var(--primary) 8%,transparent);color:var(--primary);font-weight:500}.table-name[data-v-cb492528]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-actions[data-v-cb492528]{display:flex;gap:2px;opacity:0;transition:opacity .15s;flex-shrink:0}.table-add-row[data-v-cb492528]{padding:2px 12px 2px 32px;margin:0 6px}.btn-text[data-v-cb492528]{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-cb492528]:hover{background:#8080800f;color:var(--primary)}.icon-btn[data-v-cb492528]{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-cb492528]:hover{background:#8080801a;color:var(--text)}.icon-btn--danger[data-v-cb492528]:hover{background:color-mix(in srgb,var(--status-error) 10%,transparent);color:var(--status-error)}.sidebar-empty[data-v-cb492528],.sidebar-error[data-v-cb492528]{padding:24px 16px;text-align:center;font-size:13px}.sidebar-empty[data-v-cb492528]{color:var(--text-secondary)}.sidebar-error[data-v-cb492528]{color:var(--status-error)}.dict-content[data-v-cb492528]{flex:1;overflow-y:auto;padding:24px}.dict-empty[data-v-cb492528]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;color:var(--text-secondary);gap:12px}.dict-error[data-v-cb492528]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;color:var(--status-error);gap:12px}.error-icon[data-v-cb492528]{opacity:.5}.empty-icon[data-v-cb492528]{opacity:.3}.dict-info-bar[data-v-cb492528]{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-cb492528]{display:flex;flex-direction:column;gap:4px}.dict-label[data-v-cb492528]{font-size:18px;font-weight:600;color:var(--text)}.dict-desc[data-v-cb492528]{font-size:13px;color:var(--text-secondary)}.dict-meta[data-v-cb492528]{font-size:12px;color:var(--text-secondary)}.dict-info-actions[data-v-cb492528]{display:flex;align-items:center;gap:8px;flex-shrink:0}.dict-id-badge[data-v-cb492528]{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-cb492528]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.toolbar-title[data-v-cb492528]{font-size:13px;font-weight:500;color:var(--text)}.toolbar-actions[data-v-cb492528]{display:flex;gap:8px}.dict-table-wrap[data-v-cb492528]{border:1px solid var(--border);border-radius:8px;overflow:hidden}.dict-table[data-v-cb492528]{width:100%;border-collapse:collapse}.dict-table th[data-v-cb492528]{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-cb492528]{padding:9px 14px;border-bottom:1px solid var(--border);color:var(--text);font-size:13px}.dict-table tbody tr:last-child td[data-v-cb492528]{border-bottom:none}.dict-table tbody tr:hover td[data-v-cb492528]{background:#80808008}.col-order[data-v-cb492528]{width:50px;text-align:center;color:var(--text-secondary)}.col-value[data-v-cb492528]{width:160px}.col-label[data-v-cb492528]{width:200px}.col-actions[data-v-cb492528]{width:80px;text-align:center;white-space:nowrap}.col-actions .icon-btn[data-v-cb492528]{width:24px;height:24px}.value-tag[data-v-cb492528]{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-cb492528]{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-cb492528]{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-cb492528]{width:680px}.modal-sm[data-v-cb492528]{width:420px}.modal-header[data-v-cb492528]{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-cb492528]{margin:0;font-size:15px;font-weight:600;color:var(--text)}.modal-close[data-v-cb492528]{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-cb492528]:hover{color:var(--status-error);background:color-mix(in srgb,var(--status-error) 8%,transparent)}.modal-body[data-v-cb492528]{padding:16px 20px;overflow-y:auto;flex:1}.modal-footer[data-v-cb492528]{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-cb492528]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid .full-width[data-v-cb492528]{grid-column:1 / -1}.form-group[data-v-cb492528]{display:flex;flex-direction:column;gap:4px}.form-group label[data-v-cb492528]{font-size:12px;font-weight:600;color:var(--text-secondary)}.required[data-v-cb492528]{color:var(--status-error)}.form-input[data-v-cb492528]{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-cb492528]:focus{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 12%,transparent)}.form-input[data-v-cb492528]:disabled{opacity:.5}.form-input[data-v-cb492528]::placeholder{color:var(--text-secondary);opacity:.5}.form-textarea[data-v-cb492528]{resize:vertical;font-family:SF Mono,Fira Code,monospace;font-size:12px;min-height:200px}.form-error[data-v-cb492528]{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-cb492528]{animation:ai-highlight-pulse-cb492528 1.2s ease-in-out 2}@keyframes ai-highlight-pulse-cb492528{0%,to{background:transparent}50%{background:color-mix(in srgb,var(--primary) 22%,transparent)}}.user-list-page[data-v-0f28e3e4]{padding:24px;height:100%;overflow-y:auto}.page-header[data-v-0f28e3e4]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.page-title[data-v-0f28e3e4]{font-size:20px;font-weight:600;color:var(--text);margin:0}.btn-primary[data-v-0f28e3e4]{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-0f28e3e4]:disabled{opacity:.6;cursor:not-allowed}.table-container[data-v-0f28e3e4]{background:var(--surface);border-radius:8px;border:1px solid var(--border);overflow:hidden}.status-badge[data-v-0f28e3e4]{padding:2px 8px;border-radius:4px;font-size:12px}.status-active[data-v-0f28e3e4]{background:color-mix(in srgb,var(--status-online) 15%,transparent);color:var(--status-online)}.status-inactive[data-v-0f28e3e4]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.actions-cell[data-v-0f28e3e4]{display:flex;gap:8px}.btn-action[data-v-0f28e3e4]{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-0f28e3e4]:hover{background:var(--primary);color:var(--text);border-color:var(--primary)}.btn-danger[data-v-0f28e3e4]:hover{background:var(--status-error);border-color:var(--status-error)}.modal-overlay[data-v-0f28e3e4]{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-0f28e3e4]{background:var(--surface);border-radius:12px;width:480px;max-height:80vh;overflow-y:auto;box-shadow:0 8px 32px #0000004d}.modal-header[data-v-0f28e3e4]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-header h3[data-v-0f28e3e4]{margin:0;font-size:16px;color:var(--text)}.btn-close[data-v-0f28e3e4]{background:none;border:none;font-size:20px;color:var(--text-secondary);cursor:pointer}.modal-body[data-v-0f28e3e4]{padding:20px}.form-group[data-v-0f28e3e4]{margin-bottom:14px}.form-group label[data-v-0f28e3e4]{display:block;font-size:13px;color:var(--text-secondary);margin-bottom:4px}.form-input[data-v-0f28e3e4],.form-select[data-v-0f28e3e4]{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-0f28e3e4]:disabled{opacity:.5}.modal-footer[data-v-0f28e3e4]{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--border)}.btn-cancel[data-v-0f28e3e4]{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-77ccf12f]{background:var(--background);border-radius:8px;overflow:hidden}.panel-toolbar[data-v-77ccf12f]{display:flex;align-items:center;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--surface)}.select-all-label[data-v-77ccf12f]{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text);cursor:pointer}.permission-categories[data-v-77ccf12f]{max-height:50vh;overflow-y:auto}.permission-category[data-v-77ccf12f]{border-bottom:1px solid var(--border-light)}.category-header[data-v-77ccf12f]{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;background:var(--surface);transition:background .15s}.category-header[data-v-77ccf12f]:hover{background:var(--background-hover, rgba(0,0,0,.03))}.category-arrow[data-v-77ccf12f]{font-size:12px;color:var(--text-secondary);width:16px}.category-label[data-v-77ccf12f]{font-size:13px;font-weight:600;color:var(--text);flex:1}.category-count[data-v-77ccf12f]{font-size:11px;color:var(--text-secondary)}.category-items[data-v-77ccf12f]{display:grid;grid-template-columns:1fr 1fr;gap:2px;padding:4px 12px 8px 40px;background:var(--background)}.permission-item[data-v-77ccf12f]{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-77ccf12f]:hover{background:var(--surface)}.permission-item.disabled[data-v-77ccf12f]{opacity:.5;cursor:not-allowed}.code-value[data-v-77ccf12f]{font-family:SF Mono,Menlo,monospace;font-size:11px;color:var(--primary);min-width:100px}.code-label[data-v-77ccf12f]{color:var(--text-secondary);white-space:nowrap}.role-menu-panel[data-v-01999e17]{background:var(--background);border-radius:8px;overflow:hidden}.panel-toolbar[data-v-01999e17]{display:flex;align-items:center;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--surface)}.select-all-label[data-v-01999e17]{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text);cursor:pointer}.menu-tree[data-v-01999e17]{max-height:50vh;overflow-y:auto}.tree-empty[data-v-01999e17]{padding:20px;text-align:center;font-size:13px;color:var(--text-secondary)}.tree-node-row[data-v-01999e17]{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-01999e17]:hover{background:var(--background-hover, rgba(0,0,0,.03))}.tree-expand[data-v-01999e17]{width:16px;font-size:12px;color:var(--text-secondary);cursor:pointer;flex-shrink:0}.tree-label[data-v-01999e17]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-path[data-v-01999e17]{font-size:11px;color:var(--text-secondary);font-family:monospace}.tree-subsystem[data-v-01999e17]{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-93dd53df]{background:var(--background);border-radius:8px;overflow:hidden}.panel-toolbar[data-v-93dd53df]{display:flex;align-items:center;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--surface)}.select-all-label[data-v-93dd53df]{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text);cursor:pointer}.button-tree[data-v-93dd53df]{max-height:50vh;overflow-y:auto}.button-menu-group[data-v-93dd53df]{border-bottom:1px solid var(--border-light)}.menu-header[data-v-93dd53df]{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-93dd53df]:hover{background:var(--background-hover, rgba(0,0,0,.03))}.expand-icon[data-v-93dd53df]{width:16px;font-size:12px;color:var(--text-secondary)}.menu-label[data-v-93dd53df]{flex:1}.menu-badge[data-v-93dd53df]{font-size:11px;color:var(--text-secondary);font-weight:400}.menu-buttons[data-v-93dd53df]{padding:4px 12px 8px 32px;background:var(--background);display:grid;grid-template-columns:1fr 1fr;gap:2px}.button-item[data-v-93dd53df]{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-93dd53df]:hover{background:var(--surface)}.button-item.disabled[data-v-93dd53df]{opacity:.5;cursor:not-allowed}.btn-code[data-v-93dd53df]{font-family:SF Mono,Menlo,monospace;font-size:11px;color:var(--primary);min-width:80px}.btn-label[data-v-93dd53df]{color:var(--text-secondary);white-space:nowrap}.no-buttons[data-v-93dd53df]{padding:8px;font-size:12px;color:var(--text-secondary);grid-column:1 / -1;text-align:center}.role-auth-panel[data-v-3febc20e]{background:var(--background);border-radius:8px;overflow:hidden}.auth-tabs[data-v-3febc20e]{display:flex;border-bottom:2px solid var(--border);background:var(--surface)}.auth-tab[data-v-3febc20e]{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-3febc20e]:hover{color:var(--text)}.auth-tab.active[data-v-3febc20e]{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.auth-tab-content[data-v-3febc20e]{padding:12px}.auth-filter[data-v-3febc20e]{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}.filter-label[data-v-3febc20e]{font-size:12px;color:var(--text-secondary);white-space:nowrap}.auth-toolbar[data-v-3febc20e]{display:flex;gap:8px;margin-bottom:12px}.btn-sm[data-v-3febc20e]{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-3febc20e]:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.auth-list[data-v-3febc20e]{max-height:260px;overflow-y:auto;margin-bottom:12px;border:1px solid var(--border);border-radius:6px}.auth-row[data-v-3febc20e]{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border-light)}.auth-row[data-v-3febc20e]:last-child{border-bottom:none}.auth-checkbox[data-v-3febc20e]{display:flex;align-items:center;gap:8px;flex:1;cursor:pointer;min-width:0}.auth-checkbox input[type=checkbox][data-v-3febc20e]{width:15px;height:15px;cursor:pointer;accent-color:var(--primary);flex-shrink:0}.auth-name[data-v-3febc20e]{font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-empty[data-v-3febc20e]{padding:20px;text-align:center;font-size:13px;color:var(--text-secondary)}.permission-select[data-v-3febc20e]{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-3febc20e]{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-3febc20e]{font-size:11px;color:var(--primary);white-space:nowrap;flex-shrink:0;opacity:.8}.auth-actions[data-v-3febc20e]{display:flex;justify-content:flex-end;padding:12px;border-top:1px solid var(--border)}.btn-save[data-v-3febc20e]{padding:8px 20px}.btn-primary[data-v-3febc20e]{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-3febc20e]:disabled{opacity:.6;cursor:not-allowed}.role-list-page[data-v-3d0d5ff2]{padding:24px;height:100%;overflow-y:auto}.page-header[data-v-3d0d5ff2]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.page-title[data-v-3d0d5ff2]{font-size:20px;font-weight:600;color:var(--text);margin:0}.btn-primary[data-v-3d0d5ff2]{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-3d0d5ff2]:disabled{opacity:.6;cursor:not-allowed}.badge-system[data-v-3d0d5ff2],.badge-custom[data-v-3d0d5ff2]{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-3d0d5ff2]{display:flex;gap:8px}.btn-action[data-v-3d0d5ff2]{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-3d0d5ff2]:hover{background:var(--primary);color:var(--text);border-color:var(--primary)}.btn-danger[data-v-3d0d5ff2]:hover{background:var(--status-error);border-color:var(--status-error)}.modal-overlay[data-v-3d0d5ff2]{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-3d0d5ff2]{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-3d0d5ff2]{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-3d0d5ff2]{margin:0;font-size:16px;color:var(--text)}.btn-close[data-v-3d0d5ff2]{background:none;border:none;font-size:20px;color:var(--text-secondary);cursor:pointer}.modal-body[data-v-3d0d5ff2]{padding:0;flex:1;overflow-y:auto;min-height:0}.dialog-tabs[data-v-3d0d5ff2]{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-3d0d5ff2]{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-3d0d5ff2]:hover{color:var(--text)}.dialog-tabs button.active[data-v-3d0d5ff2]{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.tab-content[data-v-3d0d5ff2]{padding:16px 20px}.form-group[data-v-3d0d5ff2]{margin-bottom:14px}.form-group label[data-v-3d0d5ff2]{display:block;font-size:13px;color:var(--text-secondary);margin-bottom:4px}.form-input[data-v-3d0d5ff2]{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-3d0d5ff2]:disabled{opacity:.5}.modal-footer[data-v-3d0d5ff2]{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--border)}.btn-cancel[data-v-3d0d5ff2]{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-2d8b8c76]{padding:24px;height:100%;overflow-y:auto}.page-header[data-v-2d8b8c76]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.page-title[data-v-2d8b8c76]{font-size:20px;font-weight:600;color:var(--text);margin:0}.btn-primary[data-v-2d8b8c76]{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-2d8b8c76]:disabled{opacity:.6;cursor:not-allowed}.table-container[data-v-2d8b8c76]{background:var(--surface);border-radius:8px;border:1px solid var(--border);overflow:hidden}.actions-cell[data-v-2d8b8c76]{display:flex;gap:8px}.btn-action[data-v-2d8b8c76]{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-2d8b8c76]:hover{background:var(--primary);color:var(--text);border-color:var(--primary)}.btn-danger[data-v-2d8b8c76]:hover{background:var(--status-error);border-color:var(--status-error)}.modal-overlay[data-v-2d8b8c76]{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-2d8b8c76]{background:var(--surface);border-radius:12px;width:480px;max-height:80vh;overflow-y:auto;box-shadow:0 8px 32px #0000004d}.modal-header[data-v-2d8b8c76]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-header h3[data-v-2d8b8c76]{margin:0;font-size:16px;color:var(--text)}.btn-close[data-v-2d8b8c76]{background:none;border:none;font-size:20px;color:var(--text-secondary);cursor:pointer}.modal-body[data-v-2d8b8c76]{padding:20px}.form-group[data-v-2d8b8c76]{margin-bottom:14px}.form-group label[data-v-2d8b8c76]{display:block;font-size:13px;color:var(--text-secondary);margin-bottom:4px}.form-input[data-v-2d8b8c76]{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-2d8b8c76]:disabled{opacity:.5}.modal-footer[data-v-2d8b8c76]{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--border)}.btn-cancel[data-v-2d8b8c76]{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-2d3ee349]{padding:24px;height:100%;display:flex;flex-direction:column;overflow:hidden}.page-header[data-v-2d3ee349]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.page-title[data-v-2d3ee349]{font-size:20px;font-weight:600;color:var(--text);margin:0}.header-actions[data-v-2d3ee349]{display:flex;gap:8px}.tree-item-path[data-v-2d3ee349]{font-size:11px;color:var(--text-secondary);font-family:monospace;min-width:60px;text-align:right}.tree-item-order[data-v-2d3ee349]{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-2d3ee349]{display:flex;gap:2px;flex-shrink:0}.btn-order[data-v-2d3ee349]{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-2d3ee349]:hover:not(:disabled){background:var(--primary);color:var(--text);border-color:var(--primary)}.btn-order[data-v-2d3ee349]:disabled{opacity:.3;cursor:not-allowed}.order-hint[data-v-2d3ee349]{font-size:11px;color:var(--text-secondary);font-weight:400;margin-left:6px}.sync-bar[data-v-2d3ee349]{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-2d3ee349]{font-size:12px;color:var(--text-secondary);flex:1}.btn-primary[data-v-2d3ee349]{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-2d3ee349]:disabled{opacity:.6;cursor:not-allowed}.content-panels[data-v-2d3ee349]{display:flex;gap:16px;flex:1;min-height:0;overflow:hidden}.left-panel[data-v-2d3ee349]{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-2d3ee349]{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-2d3ee349]{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-2d3ee349]{flex:1;overflow-y:auto}.tree-item[data-v-2d3ee349]{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-2d3ee349]:hover{background:var(--background-hover, rgba(0,0,0,.03))}.tree-item.active[data-v-2d3ee349]{background:color-mix(in srgb,var(--primary) 10%,transparent);border-left:3px solid var(--primary)}.tree-item.is-detail[data-v-2d3ee349]{opacity:.5;font-style:italic}.tree-item-icon[data-v-2d3ee349]{color:var(--text-secondary);font-size:12px;width:16px}.tree-item-label[data-v-2d3ee349]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-item-id[data-v-2d3ee349]{font-size:11px;color:var(--text-secondary);font-family:monospace}.tree-item-subsystem[data-v-2d3ee349]{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-2d3ee349]{padding:20px;text-align:center;color:var(--text-secondary);font-size:13px}.panel-empty[data-v-2d3ee349]{padding:40px;text-align:center;color:var(--text-secondary);font-size:14px}.edit-form[data-v-2d3ee349]{padding:16px}.form-row[data-v-2d3ee349]{margin-bottom:12px}.form-label[data-v-2d3ee349]{display:block;font-size:13px;font-weight:500;color:var(--text);margin-bottom:4px}.form-input[data-v-2d3ee349]{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-2d3ee349]:disabled{opacity:.5;cursor:not-allowed}.locale-inputs[data-v-2d3ee349]{display:flex;flex-direction:column;gap:8px}.locale-input-item[data-v-2d3ee349]{display:flex;align-items:center;gap:8px}.locale-tag[data-v-2d3ee349]{font-size:11px;color:var(--text-secondary);min-width:48px;text-align:right;flex-shrink:0}.roles-checkbox-group[data-v-2d3ee349]{display:flex;gap:12px;flex-wrap:wrap}.role-checkbox[data-v-2d3ee349]{display:flex;align-items:center;gap:4px;font-size:13px;color:var(--text);cursor:pointer}.form-actions[data-v-2d3ee349]{display:flex;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid var(--border)}.btn-save[data-v-2d3ee349]{padding:7px 16px;background:var(--primary);color:var(--text);border:none;border-radius:6px;cursor:pointer;font-size:13px}.btn-save[data-v-2d3ee349]:disabled{opacity:.6;cursor:not-allowed}.btn-danger[data-v-2d3ee349]{padding:7px 16px;background:var(--status-error);color:var(--text);border:none;border-radius:6px;cursor:pointer;font-size:13px}.btn-danger[data-v-2d3ee349]:disabled{opacity:.6;cursor:not-allowed}.btn-cancel[data-v-2d3ee349]{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-2d3ee349]:disabled{opacity:.6;cursor:not-allowed}.btn-small[data-v-2d3ee349]{padding:4px 10px;background:var(--primary);color:var(--text);border:none;border-radius:4px;cursor:pointer;font-size:12px}.buttons-section[data-v-2d3ee349]{border-top:1px solid var(--border)}.buttons-list[data-v-2d3ee349]{padding:12px 16px;max-height:200px;overflow-y:auto}.button-item[data-v-2d3ee349]{display:flex;align-items:center;gap:6px;padding:6px 0;border-bottom:1px solid var(--border-light)}.button-item[data-v-2d3ee349]:last-child{border-bottom:none}.button-item-fields[data-v-2d3ee349]{display:flex;gap:6px;flex:1;flex-wrap:wrap}.form-input-small[data-v-2d3ee349]{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-2d3ee349]{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-2d3ee349]{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-2d3ee349]:hover{background:color-mix(in srgb,var(--status-error) 10%,transparent);color:var(--status-error)}.buttons-empty[data-v-2d3ee349]{padding:12px;text-align:center;font-size:13px;color:var(--text-secondary)}.notification-channel-page[data-v-1ab52d74]{height:100%;overflow-y:auto;padding:24px;width:100%;max-width:100%;margin:0;box-sizing:border-box}.page-header[data-v-1ab52d74]{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.page-title[data-v-1ab52d74]{font-size:22px;font-weight:700;color:var(--text);margin:0}.btn-nav-settings[data-v-1ab52d74]{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-1ab52d74]:hover{background:var(--border);border-color:var(--primary)}.tab-bar[data-v-1ab52d74]{display:flex;gap:4px;margin-bottom:20px;border-bottom:1px solid var(--border)}.tab-item[data-v-1ab52d74]{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-1ab52d74]:hover{color:var(--text)}.tab-item.active[data-v-1ab52d74]{color:var(--primary);border-bottom-color:var(--primary)}.config-panel[data-v-1ab52d74]{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:24px}.form-section[data-v-1ab52d74]{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.form-field[data-v-1ab52d74]{display:flex;flex-direction:column;gap:6px}.field-label[data-v-1ab52d74]{font-size:13px;font-weight:500;color:var(--text-secondary)}.form-input[data-v-1ab52d74],.form-select[data-v-1ab52d74]{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-1ab52d74]::placeholder{color:var(--text-secondary)}.form-input[data-v-1ab52d74]:focus,.form-select[data-v-1ab52d74]:focus{border-color:var(--primary)}.form-select[data-v-1ab52d74]{-moz-appearance:auto;appearance:auto;-webkit-appearance:auto;cursor:pointer}.form-actions[data-v-1ab52d74]{display:flex;gap:10px;padding-top:4px;grid-column:1 / -1}.save-bar[data-v-1ab52d74]{display:flex;justify-content:flex-end;margin-top:20px}.btn[data-v-1ab52d74]{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-1ab52d74]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-1ab52d74]{background:var(--primary);color:#fff}.btn-primary[data-v-1ab52d74]:hover:not(:disabled){opacity:.9}.btn-secondary[data-v-1ab52d74]{background:var(--surface);border:1px solid var(--border);color:var(--text)}.btn-secondary[data-v-1ab52d74]:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.sr-only[data-v-1ab52d74]{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-6256abd2]{padding:24px 32px;width:100%;max-width:100%;margin:0;box-sizing:border-box}.page-header[data-v-6256abd2]{margin-bottom:24px}.page-title[data-v-6256abd2]{font-size:20px;font-weight:600;color:var(--text);margin:0 0 8px}.page-desc[data-v-6256abd2]{font-size:14px;color:var(--text-secondary);margin:0}.loading-state[data-v-6256abd2]{display:flex;justify-content:center;padding:48px 0}.error-state[data-v-6256abd2]{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-6256abd2]{font-size:20px}.error-text[data-v-6256abd2]{flex:1;font-size:14px}.btn-retry[data-v-6256abd2]{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-6256abd2]:hover{background:var(--border)}.config-table-wrapper[data-v-6256abd2]{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}.config-table[data-v-6256abd2]{width:100%;border-collapse:collapse;font-size:14px}.config-table thead[data-v-6256abd2]{background:#8080800f}.config-table th[data-v-6256abd2]{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-6256abd2]{padding:14px 16px;border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle}.config-table tbody tr:last-child td[data-v-6256abd2]{border-bottom:none}.config-table tbody tr[data-v-6256abd2]:hover{background:#80808008}.config-table tbody tr.row-editing[data-v-6256abd2]{background:#3b82f60a}.cell-name[data-v-6256abd2]{min-width:200px}.config-id[data-v-6256abd2]{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-6256abd2]{font-size:14px;font-weight:500}.module-tag[data-v-6256abd2]{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-6256abd2]{min-width:160px}.interval-value[data-v-6256abd2]{font-variant-numeric:tabular-nums;font-weight:500}.interval-value.muted[data-v-6256abd2]{color:var(--text-secondary);font-weight:400}.edit-group[data-v-6256abd2]{display:flex;align-items:center;gap:6px}.interval-input[data-v-6256abd2]{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-6256abd2]:focus{box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 20%,transparent)}.unit[data-v-6256abd2]{color:var(--text-secondary);font-size:13px}.cell-default[data-v-6256abd2]{min-width:120px}.cell-runtime[data-v-6256abd2]{min-width:100px;text-align:center}.badge[data-v-6256abd2]{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:500;white-space:nowrap}.badge-yes[data-v-6256abd2]{background:color-mix(in srgb,var(--status-online) 10%,transparent);color:var(--status-online)}.badge-no[data-v-6256abd2]{background:color-mix(in srgb,var(--status-error) 8%,transparent);color:var(--status-error)}.cell-desc[data-v-6256abd2]{max-width:240px;font-size:13px;color:var(--text-secondary);line-height:1.4}.cell-actions[data-v-6256abd2]{min-width:140px;white-space:nowrap}.btn-action[data-v-6256abd2]{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-6256abd2]{margin-left:6px}.btn-edit[data-v-6256abd2]:hover{border-color:var(--primary);color:var(--primary)}.btn-save[data-v-6256abd2]{background:var(--primary);border-color:var(--primary);color:var(--text)}.btn-save[data-v-6256abd2]:hover:not(:disabled){background:var(--primary)}.btn-save[data-v-6256abd2]:disabled{opacity:.6;cursor:not-allowed}.btn-cancel[data-v-6256abd2]:hover{border-color:var(--text-secondary)}.btn-reset[data-v-6256abd2]{color:var(--status-error)}.btn-reset[data-v-6256abd2]:hover{border-color:var(--status-error)}.legend[data-v-6256abd2]{display:flex;gap:24px;padding:16px;border-top:1px solid var(--border);background:#80808005}.legend-item[data-v-6256abd2]{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}.legend-badge[data-v-6256abd2]{flex-shrink:0}.scheduled-tasks-page[data-v-41e205e2]{padding:24px 32px;width:100%;max-width:100%;margin:0;box-sizing:border-box}.page-header[data-v-41e205e2]{margin-bottom:24px}.page-title[data-v-41e205e2]{font-size:20px;font-weight:600;color:var(--text);margin:0 0 8px}.page-desc[data-v-41e205e2]{font-size:14px;color:var(--text-secondary);margin:0}.loading-state[data-v-41e205e2]{display:flex;justify-content:center;padding:48px 0}.error-state[data-v-41e205e2]{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-41e205e2]{font-size:20px}.error-text[data-v-41e205e2]{flex:1;font-size:14px}.btn-retry[data-v-41e205e2]{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-41e205e2]:hover{background:var(--border)}.task-table-wrapper[data-v-41e205e2]{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}.task-table[data-v-41e205e2]{width:100%;border-collapse:collapse;font-size:14px}.task-table thead[data-v-41e205e2]{background:#8080800f}.task-table th[data-v-41e205e2]{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-41e205e2]{padding:14px 16px;border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle}.task-table tbody tr:last-child td[data-v-41e205e2]{border-bottom:none}.task-table tbody tr[data-v-41e205e2]:hover{background:#80808008}.task-table tbody tr.row-editing[data-v-41e205e2]{background:#3b82f60a}.cell-name[data-v-41e205e2]{min-width:220px}.task-id[data-v-41e205e2]{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-41e205e2]{font-size:14px;font-weight:500;margin-right:8px}.badge[data-v-41e205e2]{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:500;white-space:nowrap}.badge-running[data-v-41e205e2]{background:color-mix(in srgb,var(--status-online) 10%,transparent);color:var(--status-online)}.badge-managed[data-v-41e205e2]{background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--primary)}.badge-external[data-v-41e205e2]{background:#8080801f;color:var(--text-secondary)}.module-tag[data-v-41e205e2]{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-41e205e2]{min-width:200px}.schedule-type[data-v-41e205e2]{display:inline-block;font-size:12px;color:var(--text-secondary);margin-right:8px}.schedule-value[data-v-41e205e2]{font-variant-numeric:tabular-nums;font-weight:500}.schedule-input[data-v-41e205e2]{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-41e205e2]:focus{box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 20%,transparent)}.task-detail[data-v-41e205e2]{margin-top:4px;font-size:12px;color:var(--text-secondary)}.cell-enabled[data-v-41e205e2]{min-width:90px;text-align:center}.switch[data-v-41e205e2]{position:relative;width:40px;height:22px;border-radius:11px;border:none;background:#8080804d;cursor:pointer;transition:background .2s;padding:0}.switch[data-v-41e205e2]:disabled{opacity:.4;cursor:not-allowed}.switch-on[data-v-41e205e2]{background:var(--primary)}.switch-knob[data-v-41e205e2]{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-41e205e2]{left:20px}.cell-time[data-v-41e205e2]{min-width:150px;font-variant-numeric:tabular-nums;font-size:13px;white-space:nowrap}.cell-last[data-v-41e205e2]{max-width:260px;white-space:normal}.last-time[data-v-41e205e2]{display:block;font-weight:500}.last-time.muted[data-v-41e205e2]{color:var(--text-secondary)}.last-result[data-v-41e205e2]{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-41e205e2]{min-width:170px;white-space:nowrap}.btn-action[data-v-41e205e2]{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-41e205e2]{margin-left:6px}.btn-edit[data-v-41e205e2]:hover{border-color:var(--primary);color:var(--primary)}.btn-save[data-v-41e205e2]{background:var(--primary);border-color:var(--primary);color:var(--text)}.btn-save[data-v-41e205e2]:disabled{opacity:.6;cursor:not-allowed}.btn-cancel[data-v-41e205e2]:hover{border-color:var(--text-secondary)}.btn-run[data-v-41e205e2]:hover:not(:disabled){border-color:var(--status-online);color:var(--status-online)}.btn-run[data-v-41e205e2]:disabled{opacity:.6;cursor:not-allowed}.legend[data-v-41e205e2]{display:flex;gap:24px;padding:16px;border-top:1px solid var(--border);background:#80808005}.legend-item[data-v-41e205e2]{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}.btn-logs[data-v-41e205e2]:hover:not(:disabled){border-color:var(--status-info, var(--primary));color:var(--status-info, var(--primary))}.logs-mask[data-v-41e205e2]{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-41e205e2]{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-41e205e2]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.logs-title[data-v-41e205e2]{font-size:16px;font-weight:600;margin:0;display:flex;align-items:baseline;gap:10px}.logs-subtitle[data-v-41e205e2]{font-size:13px;font-weight:400;color:var(--text-secondary)}.logs-close[data-v-41e205e2]{border:none;background:transparent;font-size:22px;line-height:1;cursor:pointer;color:var(--text-secondary)}.logs-close[data-v-41e205e2]:hover{color:var(--text)}.logs-filters[data-v-41e205e2]{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-41e205e2]{display:flex;align-items:center;gap:8px}.logs-filters select[data-v-41e205e2]{padding:4px 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-size:13px}.logs-loading[data-v-41e205e2],.logs-empty[data-v-41e205e2]{padding:40px;text-align:center;color:var(--text-secondary)}.logs-table[data-v-41e205e2]{width:100%;border-collapse:collapse;font-size:13px;overflow-y:auto}.logs-table thead[data-v-41e205e2]{background:#8080800f}.logs-table th[data-v-41e205e2]{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-41e205e2]{padding:10px 16px;border-bottom:1px solid var(--border);vertical-align:middle}.logs-table tbody tr[data-v-41e205e2]:hover{background:#80808008}.logs-table .cell-result[data-v-41e205e2]{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge-manual[data-v-41e205e2]{background:color-mix(in srgb,var(--status-online) 10%,transparent);color:var(--status-online);margin-right:6px}.badge-scheduled[data-v-41e205e2]{background:#8080801f;color:var(--text-secondary);margin-right:6px}.badge-ok[data-v-41e205e2]{background:color-mix(in srgb,var(--status-online) 12%,transparent);color:var(--status-online)}.badge-fail[data-v-41e205e2]{background:color-mix(in srgb,var(--status-error) 12%,transparent);color:var(--status-error)}.logs-pager[data-v-41e205e2]{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-41e205e2]:disabled{opacity:.5;cursor:not-allowed}.operation-log-page[data-v-daa01801]{padding:16px;height:100%;overflow-y:auto}.toolbar[data-v-daa01801]{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-daa01801]{font-size:15px;font-weight:600;color:var(--text);margin:0;white-space:nowrap}.toolbar-filters[data-v-daa01801]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:1}.toolbar-actions[data-v-daa01801]{display:flex;align-items:center;gap:8px;flex-shrink:0}.filter-select[data-v-daa01801],.filter-input[data-v-daa01801]{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-daa01801]{width:160px}.action-cell[data-v-daa01801]{display:flex;align-items:center;gap:8px}.badge-method[data-v-daa01801]{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-daa01801]{background:color-mix(in srgb,var(--primary) 15%,transparent);color:var(--primary)}.method-POST[data-v-daa01801]{background:color-mix(in srgb,var(--status-online) 15%,transparent);color:var(--status-online)}.method-PUT[data-v-daa01801],.method-PATCH[data-v-daa01801]{background:color-mix(in srgb,var(--status-warning) 15%,transparent);color:var(--status-warning)}.method-DELETE[data-v-daa01801]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.action-url[data-v-daa01801]{font-family:monospace;font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge-status[data-v-daa01801]{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.status-success[data-v-daa01801]{background:color-mix(in srgb,var(--status-online) 15%,transparent);color:var(--status-online)}.status-error[data-v-daa01801]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.user-cell[data-v-daa01801]{display:flex;flex-direction:column;gap:2px}.user-name[data-v-daa01801]{font-size:13px;color:var(--text)}.user-id[data-v-daa01801]{font-size:11px;color:var(--text-secondary);font-family:monospace}.mono[data-v-daa01801]{font-family:monospace;font-size:12px;color:var(--text-secondary)}.sys-btn[data-v-daa01801]{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-daa01801]:hover{border-color:var(--primary)}.sys-btn-sm[data-v-daa01801]{height:28px;padding:0 10px;box-sizing:border-box;font-size:12px}.sys-btn-primary[data-v-daa01801]{background:var(--primary);border-color:var(--primary);color:#fff}.sys-btn-primary[data-v-daa01801]:hover{opacity:.9}.sys-btn-secondary[data-v-daa01801]{background:var(--surface);color:var(--text)}.sys-btn-danger[data-v-daa01801]{background:transparent;border-color:color-mix(in srgb,var(--status-error) 50%,transparent);color:var(--status-error)}.sys-btn-danger[data-v-daa01801]:hover{background:color-mix(in srgb,var(--status-error) 10%,transparent)}.sys-btn[data-v-daa01801]:disabled{opacity:.5;cursor:not-allowed}.modal-overlay[data-v-daa01801]{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-daa01801]{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-daa01801]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-title[data-v-daa01801]{font-size:15px;font-weight:600;color:var(--text);margin:0}.modal-close[data-v-daa01801]{background:none;border:none;font-size:22px;color:var(--text-secondary);cursor:pointer;padding:0;line-height:1}.modal-close[data-v-daa01801]:hover{color:var(--text)}.modal-body[data-v-daa01801]{padding:20px}.modal-prompt[data-v-daa01801]{margin:0 0 12px;font-size:13px;color:var(--text-secondary)}.modal-input[data-v-daa01801]{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-daa01801]{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--border)}.click-hint[data-v-daa01801]{text-align:center;font-size:12px;color:var(--text-secondary);margin-top:8px;opacity:.7}.detail-panel[data-v-daa01801]{margin-top:16px;border:1px solid var(--border);border-radius:8px;background:var(--surface);overflow:hidden}.detail-header[data-v-daa01801]{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-daa01801]{font-size:14px;font-weight:600;color:var(--text);margin:0}.detail-close[data-v-daa01801]{background:none;border:none;font-size:20px;color:var(--text-secondary);cursor:pointer;padding:0;line-height:1}.detail-close[data-v-daa01801]:hover{color:var(--text)}.detail-grid[data-v-daa01801]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:0;padding:0}.detail-item[data-v-daa01801]{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-daa01801]{font-size:11px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.detail-value[data-v-daa01801]{font-size:13px;color:var(--text);word-break:break-all}.detail-ua[data-v-daa01801]{font-size:11px;color:var(--text-secondary);word-break:break-all}.detail-body-section[data-v-daa01801]{padding:12px 16px}.detail-body-code[data-v-daa01801]{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-daa01801]{display:block;margin-top:8px;font-size:12px;color:var(--text-secondary);font-style:italic}.audit-log-page[data-v-2c18b26e]{padding:16px;height:100%;overflow-y:auto}.toolbar[data-v-2c18b26e]{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-2c18b26e]{font-size:15px;font-weight:600;color:var(--text);margin:0;white-space:nowrap}.toolbar-filters[data-v-2c18b26e]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:1}.filter-select[data-v-2c18b26e]{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-2c18b26e]{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-2c18b26e]{padding:2px 8px;border-radius:4px;font-size:12px;white-space:nowrap}.action-grant_role[data-v-2c18b26e]{background:color-mix(in srgb,var(--status-online) 15%,transparent);color:var(--status-online)}.action-revoke_role[data-v-2c18b26e]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.action-update_permissions[data-v-2c18b26e]{background:color-mix(in srgb,var(--primary) 15%,transparent);color:var(--primary)}.action-update_auth[data-v-2c18b26e]{background:color-mix(in srgb,var(--status-warning) 15%,transparent);color:var(--status-warning)}.security-audit-page[data-v-c88ce135]{padding:16px;height:100%;overflow-y:auto}.toolbar[data-v-c88ce135]{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-c88ce135]{font-size:15px;font-weight:600;color:var(--text);margin:0;white-space:nowrap}.toolbar-filters[data-v-c88ce135]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:1}.toolbar-actions[data-v-c88ce135]{display:flex;align-items:center;gap:8px;flex-shrink:0}.filter-select[data-v-c88ce135],.filter-input[data-v-c88ce135]{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-c88ce135]{width:140px}.stats-bar[data-v-c88ce135]{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-c88ce135]{display:flex;align-items:center;gap:6px}.stat-label[data-v-c88ce135]{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.stat-value[data-v-c88ce135]{font-size:14px;font-weight:600;color:var(--text)}.stat-ok[data-v-c88ce135]{color:var(--status-online, #4caf50)}.stat-error[data-v-c88ce135]{color:var(--status-error, #f44336)}.stat-info[data-v-c88ce135]{color:var(--primary, #2196f3)}.stat-warning[data-v-c88ce135]{color:var(--status-warning, #ff9800)}.stat-critical[data-v-c88ce135]{color:var(--status-error, #f44336)}.stat-unknown[data-v-c88ce135]{color:var(--text-secondary, #999)}.badge-severity[data-v-c88ce135]{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.severity-info[data-v-c88ce135]{background:color-mix(in srgb,var(--primary, #2196f3) 15%,transparent);color:var(--primary, #2196f3)}.severity-warning[data-v-c88ce135]{background:color-mix(in srgb,var(--status-warning, #ff9800) 15%,transparent);color:var(--status-warning, #ff9800)}.severity-critical[data-v-c88ce135]{background:color-mix(in srgb,var(--status-error, #f44336) 15%,transparent);color:var(--status-error, #f44336)}.severity-unknown[data-v-c88ce135]{background:color-mix(in srgb,var(--text-secondary, #999) 15%,transparent);color:var(--text-secondary, #999)}.event-type[data-v-c88ce135]{font-family:monospace;font-size:12px;color:var(--text)}.mono[data-v-c88ce135]{font-family:monospace;font-size:12px;color:var(--text-secondary)}.hash-value[data-v-c88ce135]{font-size:10px;word-break:break-all;max-width:280px;display:inline-block}.sys-btn[data-v-c88ce135]{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-c88ce135]:hover{border-color:var(--primary)}.sys-btn-sm[data-v-c88ce135]{height:28px;padding:0 10px;box-sizing:border-box;font-size:12px}.sys-btn-primary[data-v-c88ce135]{background:var(--primary);border-color:var(--primary);color:#fff}.sys-btn-primary[data-v-c88ce135]:hover{opacity:.9}.sys-btn-secondary[data-v-c88ce135]{background:var(--surface);color:var(--text)}.sys-btn[data-v-c88ce135]:disabled{opacity:.5;cursor:not-allowed}.click-hint[data-v-c88ce135]{text-align:center;font-size:12px;color:var(--text-secondary);margin-top:8px;opacity:.7}.detail-panel[data-v-c88ce135]{margin-top:16px;border:1px solid var(--border);border-radius:8px;background:var(--surface);overflow:hidden}.detail-header[data-v-c88ce135]{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-c88ce135]{font-size:14px;font-weight:600;color:var(--text);margin:0}.detail-close[data-v-c88ce135]{background:none;border:none;font-size:20px;color:var(--text-secondary);cursor:pointer;padding:0;line-height:1}.detail-close[data-v-c88ce135]:hover{color:var(--text)}.detail-grid[data-v-c88ce135]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:0;padding:0}.detail-item[data-v-c88ce135]{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-c88ce135]{font-size:11px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.detail-value[data-v-c88ce135]{font-size:13px;color:var(--text);word-break:break-all}.detail-ua[data-v-c88ce135]{font-size:11px;color:var(--text-secondary);word-break:break-all}.detail-body-section[data-v-c88ce135]{padding:12px 16px}.detail-body-code[data-v-c88ce135]{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-c88ce135]{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-c88ce135]{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-c88ce135]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-title[data-v-c88ce135]{font-size:15px;font-weight:600;color:var(--text);margin:0}.modal-close[data-v-c88ce135]{background:none;border:none;font-size:22px;color:var(--text-secondary);cursor:pointer;padding:0;line-height:1}.modal-close[data-v-c88ce135]:hover{color:var(--text)}.modal-body[data-v-c88ce135]{padding:20px}.verify-result[data-v-c88ce135]{display:flex;align-items:flex-start;gap:12px;padding:16px;border-radius:8px;margin-bottom:16px}.verify-ok[data-v-c88ce135]{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-c88ce135]{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-c88ce135]{font-size:28px;line-height:1;flex-shrink:0}.verify-ok .verify-icon[data-v-c88ce135]{color:var(--status-online, #4caf50)}.verify-broken .verify-icon[data-v-c88ce135]{color:var(--status-error, #f44336)}.verify-text[data-v-c88ce135]{flex:1}.verify-status-text[data-v-c88ce135]{font-size:16px;font-weight:600;color:var(--text);margin-bottom:4px}.verify-desc[data-v-c88ce135]{font-size:13px;color:var(--text-secondary);line-height:1.5}.verify-meta[data-v-c88ce135]{display:flex;gap:24px;padding:12px 0}.verify-meta-item[data-v-c88ce135]{display:flex;flex-direction:column;gap:4px}.event-log-page[data-v-a2b7e6a2]{padding:16px;height:100%;overflow-y:auto}.toolbar[data-v-a2b7e6a2]{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-a2b7e6a2]{font-size:15px;font-weight:600;color:var(--text);margin:0;white-space:nowrap}.toolbar-filters[data-v-a2b7e6a2]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:1}.toolbar-actions[data-v-a2b7e6a2]{display:flex;align-items:center;gap:8px;flex-shrink:0}.filter-select[data-v-a2b7e6a2],.filter-input[data-v-a2b7e6a2]{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-a2b7e6a2]{width:150px}.filter-checkbox[data-v-a2b7e6a2]{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-a2b7e6a2]{cursor:pointer;accent-color:var(--primary)}.filter-input-project[data-v-a2b7e6a2]{width:120px}.badge-event-type[data-v-a2b7e6a2]{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;font-family:monospace}.event-type-device[data-v-a2b7e6a2]{background:color-mix(in srgb,var(--primary) 15%,transparent);color:var(--primary)}.event-type-project[data-v-a2b7e6a2]{background:color-mix(in srgb,#9c27b0 15%,transparent);color:#9c27b0}.event-type-alarm[data-v-a2b7e6a2]{background:color-mix(in srgb,var(--status-warning) 15%,transparent);color:var(--status-warning)}.event-type-plugin[data-v-a2b7e6a2]{background:color-mix(in srgb,var(--status-online) 15%,transparent);color:var(--status-online)}.event-type-config[data-v-a2b7e6a2]{background:color-mix(in srgb,#00bcd4 15%,transparent);color:#00bcd4}.event-type-other[data-v-a2b7e6a2]{background:color-mix(in srgb,var(--text-secondary) 15%,transparent);color:var(--text-secondary)}.project-id[data-v-a2b7e6a2]{font-size:12px;color:var(--text-secondary)}.badge-status[data-v-a2b7e6a2]{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.status-emitted[data-v-a2b7e6a2]{background:color-mix(in srgb,var(--text-secondary) 15%,transparent);color:var(--text-secondary)}.status-processing[data-v-a2b7e6a2]{background:color-mix(in srgb,var(--primary) 15%,transparent);color:var(--primary)}.status-processed[data-v-a2b7e6a2]{background:color-mix(in srgb,var(--status-online) 15%,transparent);color:var(--status-online)}.status-partial[data-v-a2b7e6a2]{background:color-mix(in srgb,var(--status-warning) 15%,transparent);color:var(--status-warning)}.status-failed[data-v-a2b7e6a2]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.status-no_subscribers[data-v-a2b7e6a2]{background:color-mix(in srgb,var(--text-secondary) 15%,transparent);color:var(--text-secondary)}.ratio-success[data-v-a2b7e6a2]{color:var(--status-online);font-weight:600}.ratio-partial[data-v-a2b7e6a2]{color:var(--status-warning);font-weight:600}.ratio-failed[data-v-a2b7e6a2]{color:var(--status-error);font-weight:600}.user-cell[data-v-a2b7e6a2]{display:flex;flex-direction:column;gap:2px}.user-name[data-v-a2b7e6a2]{font-size:13px;color:var(--text)}.user-source[data-v-a2b7e6a2]{font-size:11px;color:var(--text-secondary)}.text-secondary[data-v-a2b7e6a2]{color:var(--text-secondary);font-size:12px}.mono[data-v-a2b7e6a2]{font-family:monospace;font-size:12px;color:var(--text-secondary)}.sys-btn[data-v-a2b7e6a2]{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-a2b7e6a2]:hover{border-color:var(--primary)}.sys-btn-sm[data-v-a2b7e6a2]{padding:5px 10px;font-size:12px}.sys-btn-secondary[data-v-a2b7e6a2]{background:var(--surface);color:var(--text)}.click-hint[data-v-a2b7e6a2]{text-align:center;font-size:12px;color:var(--text-secondary);margin-top:8px;opacity:.7}.detail-panel[data-v-a2b7e6a2]{margin-top:16px;border:1px solid var(--border);border-radius:8px;background:var(--surface);overflow:hidden}.detail-header[data-v-a2b7e6a2]{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-a2b7e6a2]{font-size:14px;font-weight:600;color:var(--text);margin:0}.detail-close[data-v-a2b7e6a2]{background:none;border:none;font-size:20px;color:var(--text-secondary);cursor:pointer;padding:0;line-height:1}.detail-close[data-v-a2b7e6a2]:hover{color:var(--text)}.detail-grid[data-v-a2b7e6a2]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:0;padding:0}.detail-item[data-v-a2b7e6a2]{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-a2b7e6a2]{font-size:11px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.detail-value[data-v-a2b7e6a2]{font-size:13px;color:var(--text);word-break:break-all}.detail-error-section[data-v-a2b7e6a2]{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-a2b7e6a2]{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-a2b7e6a2]{padding:12px 16px;border-top:1px solid color-mix(in srgb,var(--border) 50%,transparent)}.detail-section-header[data-v-a2b7e6a2]{display:flex;align-items:center;gap:12px;margin-bottom:8px}.toggle-btn[data-v-a2b7e6a2]{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-a2b7e6a2]:hover{border-color:var(--primary);color:var(--primary)}.subscriber-count[data-v-a2b7e6a2]{font-size:12px;color:var(--text-secondary)}.detail-body-code[data-v-a2b7e6a2]{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-a2b7e6a2]{max-height:120px;overflow-y:auto}.detail-body-code-sm[data-v-a2b7e6a2]{max-height:180px;margin-top:6px;padding:8px 10px;font-size:11px}.detail-body-empty[data-v-a2b7e6a2]{display:block;margin-top:8px;font-size:12px;color:var(--text-secondary);font-style:italic}.subscriber-timeline[data-v-a2b7e6a2]{display:flex;flex-direction:column;gap:8px;margin-top:8px}.subscriber-row[data-v-a2b7e6a2]{padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--background)}.subscriber-row.subscriber-failed[data-v-a2b7e6a2]{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-a2b7e6a2]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.subscriber-name[data-v-a2b7e6a2]{font-size:13px;font-weight:600;color:var(--text);font-family:monospace}.subscriber-duration[data-v-a2b7e6a2]{font-size:12px;color:var(--text-secondary)}.subscriber-error[data-v-a2b7e6a2]{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-a2b7e6a2]{margin-top:6px}.subscriber-time[data-v-a2b7e6a2]{display:flex;gap:16px;margin-top:4px;flex-wrap:wrap}.error-log-page[data-v-8e424284]{padding:16px;height:100%;overflow-y:auto}.toolbar[data-v-8e424284]{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-8e424284]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.toolbar-right[data-v-8e424284]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex-shrink:0}.page-title[data-v-8e424284]{font-size:15px;font-weight:600;color:var(--text);margin:0;white-space:nowrap}.stats-inline[data-v-8e424284]{display:flex;align-items:center;gap:10px}.stat-item[data-v-8e424284]{display:flex;align-items:baseline;gap:4px}.stat-value[data-v-8e424284]{font-size:16px;font-weight:700;color:var(--text)}.stat-label[data-v-8e424284]{font-size:11px;color:var(--text-secondary)}.filter-select[data-v-8e424284],.filter-input[data-v-8e424284]{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-8e424284]{width:180px}.filter-sep[data-v-8e424284]{color:var(--text-secondary);font-size:13px}.badge-level[data-v-8e424284]{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.level-error[data-v-8e424284],.level-fatal[data-v-8e424284]{background:color-mix(in srgb,var(--status-error) 15%,transparent);color:var(--status-error)}.level-warning[data-v-8e424284]{background:color-mix(in srgb,var(--status-warning) 15%,transparent);color:var(--status-warning)}.level-info[data-v-8e424284]{background:color-mix(in srgb,var(--primary) 15%,transparent);color:var(--primary)}.message-cell[data-v-8e424284]{display:flex;flex-direction:column;gap:4px}.message-text[data-v-8e424284]{font-size:13px;color:var(--text);word-break:break-all}.stack-toggle[data-v-8e424284]{background:none;border:none;color:var(--primary);font-size:11px;cursor:pointer;padding:0;align-self:flex-start}.stack-trace[data-v-8e424284]{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-8e424284]{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-8e424284]:hover{border-color:var(--primary)}.sys-btn-sm[data-v-8e424284]{height:28px;padding:0 8px;box-sizing:border-box;font-size:12px}.sys-btn-primary[data-v-8e424284]{background:var(--primary);border-color:var(--primary);color:#fff}.sys-btn-secondary[data-v-8e424284]{background:var(--surface);color:var(--text)}.sys-btn-danger[data-v-8e424284]{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-8e424284]:hover{background:color-mix(in srgb,var(--status-error) 10%,transparent)}.sys-btn[data-v-8e424284]:disabled{opacity:.5;cursor:not-allowed}.modal-overlay[data-v-8e424284]{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-8e424284]{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-8e424284]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-title[data-v-8e424284]{font-size:15px;font-weight:600;color:var(--text);margin:0}.modal-close[data-v-8e424284]{background:none;border:none;font-size:22px;color:var(--text-secondary);cursor:pointer;padding:0;line-height:1}.modal-body[data-v-8e424284]{padding:20px}.modal-prompt[data-v-8e424284]{margin:0 0 12px;font-size:13px;color:var(--text-secondary)}.modal-input[data-v-8e424284]{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-8e424284]{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--border)}.app-log-page[data-v-dfea9457]{padding:16px;height:100%;display:flex;flex-direction:column}.toolbar[data-v-dfea9457]{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-dfea9457]{font-size:15px;font-weight:600;color:var(--text);margin:0;white-space:nowrap}.toolbar-filters[data-v-dfea9457]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:1}.toolbar-actions[data-v-dfea9457]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex-shrink:0}.filter-select[data-v-dfea9457],.filter-input[data-v-dfea9457]{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-dfea9457]{width:140px}.files-bar[data-v-dfea9457]{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap;flex-shrink:0}.files-label[data-v-dfea9457]{font-size:12px;color:var(--text-secondary)}.file-chip[data-v-dfea9457]{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-dfea9457]:hover{border-color:var(--primary);color:var(--primary)}.log-terminal[data-v-dfea9457]{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-dfea9457]{color:var(--text-secondary);text-align:center;padding:40px}.log-line[data-v-dfea9457]{display:flex;gap:8px;padding:1px 0;white-space:nowrap}.log-line[data-v-dfea9457]:hover{background:color-mix(in srgb,var(--primary) 5%,transparent)}.log-time[data-v-dfea9457]{color:var(--text-secondary);flex-shrink:0}.log-level[data-v-dfea9457]{flex-shrink:0;width:50px;font-weight:600;text-transform:uppercase}.level-error[data-v-dfea9457],.level-fatal[data-v-dfea9457]{color:var(--status-error)}.level-warn[data-v-dfea9457],.level-warning[data-v-dfea9457]{color:var(--status-warning)}.level-info[data-v-dfea9457]{color:var(--primary)}.level-debug[data-v-dfea9457]{color:var(--text-secondary)}.log-module[data-v-dfea9457]{color:var(--text-secondary);flex-shrink:0;max-width:150px;overflow:hidden;text-overflow:ellipsis}.log-message[data-v-dfea9457]{color:var(--text);white-space:pre-wrap;word-break:break-all}.log-error .log-message[data-v-dfea9457]{color:var(--status-error)}.sys-btn[data-v-dfea9457]{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-dfea9457]:hover{border-color:var(--primary)}.sys-btn-sm[data-v-dfea9457]{height:28px;padding:0 10px;box-sizing:border-box;font-size:12px}.sys-btn-secondary[data-v-dfea9457]{background:var(--surface);color:var(--text)}.btn-active[data-v-dfea9457]{border-color:var(--status-online);color:var(--status-online)}.dict-selector[data-v-e043da19]{position:relative;font-size:14px;color:var(--text, #333)}.dict-selector--small[data-v-e043da19]{font-size:12px}.dict-selector--large[data-v-e043da19]{font-size:16px}.dict-selector-wrapper[data-v-e043da19]{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-e043da19]{min-height:24px}.dict-selector--large .dict-selector-wrapper[data-v-e043da19]{min-height:40px}.dict-selector-wrapper[data-v-e043da19]:hover{border-color:var(--primary, #1890ff)}.dict-selector-input[data-v-e043da19],.dict-selector-trigger[data-v-e043da19]{flex:1;padding:4px 28px 4px 12px;cursor:pointer;-webkit-user-select:none;user-select:none}.dict-selector-input[data-v-e043da19]{border:none;outline:none;background:transparent;font-size:inherit;color:inherit;cursor:text}.dict-selector-input[data-v-e043da19]:disabled{cursor:not-allowed}.dict-selector-selected[data-v-e043da19]{color:var(--text, #333)}.dict-selector-placeholder[data-v-e043da19]{color:var(--text-secondary, #999)}.dict-selector-clear[data-v-e043da19]{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-e043da19]:hover{color:var(--text, #333);background:#0000000f}.dict-selector-arrow[data-v-e043da19]{position:absolute;right:8px;top:50%;transform:translateY(-50%);color:var(--text-secondary, #999);transition:transform .2s}.dict-selector-arrow.is-open[data-v-e043da19]{transform:translateY(-50%) rotate(180deg)}.dict-selector-panel[data-v-e043da19]{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-e043da19]{overflow-y:auto;flex:1}.dict-selector-option[data-v-e043da19]{padding:8px 12px;cursor:pointer;transition:background .15s;font-size:inherit}.dict-selector-option[data-v-e043da19]:hover{background:#0000000a}.dict-selector-option.is-selected[data-v-e043da19]{color:var(--primary, #1890ff);font-weight:500;background:#1890ff0f}.dict-selector-loading[data-v-e043da19],.dict-selector-empty[data-v-e043da19]{padding:20px 12px;text-align:center;color:var(--text-secondary, #999);font-size:13px}.dict-tag[data-v-b54510d1]{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-b54510d1]{padding:0 6px;font-size:11px;line-height:1.5;border-radius:3px}.dict-badge[data-v-b54510d1]{display:inline-block;width:8px;height:8px;border-radius:50%;vertical-align:middle}.dict-badge--small[data-v-b54510d1]{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-09548fa4]{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-09548fa4]{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-09548fa4]{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-09548fa4]{margin:0;font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.th-header-actions[data-v-09548fa4]{display:flex;align-items:center;gap:10px;flex-shrink:0}.th-view-switch[data-v-09548fa4]{display:flex;border:1px solid var(--border, #dddddd);border-radius:4px;overflow:hidden}.th-view-btn[data-v-09548fa4]{padding:4px 12px;border:none;background:transparent;color:var(--text, #333333);font-size:12px;cursor:pointer}.th-view-btn.active[data-v-09548fa4]{background:var(--primary, #2f7cf6);color:#fff}.th-icon-btn[data-v-09548fa4]{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-09548fa4]:hover{background:var(--control-button-hover, rgba(0, 0, 0, .06))}.th-meta[data-v-09548fa4]{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-09548fa4]{display:inline-flex;align-items:baseline;gap:6px;min-width:0}.th-meta-label[data-v-09548fa4]{color:var(--text-secondary, #8a8a8a)}.th-meta-value[data-v-09548fa4]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.th-query[data-v-09548fa4]{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 16px;border-bottom:1px solid var(--border, #dddddd)}.th-select[data-v-09548fa4]{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-09548fa4] .trp-select,.th-query[data-v-09548fa4] .trp-trigger{height:26px;box-sizing:border-box}.th-btn[data-v-09548fa4]{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-09548fa4]:hover:not(:disabled){border-color:var(--primary, #2f7cf6);color:var(--primary, #2f7cf6)}.th-btn[data-v-09548fa4]:disabled{opacity:.5;cursor:not-allowed}.th-btn.primary[data-v-09548fa4]{border-color:var(--primary, #2f7cf6);background:var(--primary, #2f7cf6);color:#fff}.th-count[data-v-09548fa4]{font-size:12px;color:var(--text-secondary, #8a8a8a)}.th-export[data-v-09548fa4]{display:flex;gap:8px;margin-left:auto}.th-body[data-v-09548fa4]{flex:1;min-height:0;display:flex;flex-direction:column;padding:8px 12px 12px}.th-chart[data-v-09548fa4]{flex:1;min-height:0}.th-table-wrap[data-v-09548fa4]{flex:1;overflow-y:auto;border:1px solid var(--border, #dddddd);border-radius:4px}.th-table[data-v-09548fa4]{width:100%;border-collapse:collapse;font-size:12px}.th-table th[data-v-09548fa4],.th-table td[data-v-09548fa4]{padding:6px 12px;text-align:left;border-bottom:1px solid var(--border, #dddddd)}.th-table th[data-v-09548fa4]{position:sticky;top:0;background:var(--background, #f5f5f5);color:var(--text-secondary, #8a8a8a);font-weight:600}.th-table th.num[data-v-09548fa4],.th-table td.num[data-v-09548fa4]{text-align:right;font-variant-numeric:tabular-nums}.th-state[data-v-09548fa4]{flex:1;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--text-secondary, #8a8a8a)}.th-state.error[data-v-09548fa4]{color:var(--status-error, #d93025)}.mono[data-v-09548fa4]{font-family:Courier New,monospace}.template-library[data-v-a7b42558]{height:100%;display:flex;overflow:hidden}.sidebar[data-v-a7b42558]{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-a7b42558]{font-size:12px;color:var(--text-secondary);background:var(--background);padding:2px 8px;border-radius:10px}.sidebar-toolbar[data-v-a7b42558]{display:flex;align-items:center;gap:4px;padding:8px 12px;border-bottom:1px solid var(--border)}.tb-btn[data-v-a7b42558]{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-a7b42558]:hover{background:#ffffff0a;color:var(--text)}.tb-btn[data-v-a7b42558]:disabled{opacity:.5;cursor:not-allowed}.sidebar-search[data-v-a7b42558]{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-a7b42558]{color:var(--text-secondary);flex-shrink:0}.search-input[data-v-a7b42558]{border:none;background:none;color:var(--text);font-size:12px;outline:none;flex:1;width:100%}.sidebar-loading[data-v-a7b42558]{padding:20px;text-align:center;color:var(--text-secondary);font-size:13px}.industry-tree[data-v-a7b42558]{flex:1;overflow-y:auto;padding:4px 0 8px}.tree-section-label[data-v-a7b42558]{padding:8px 16px 4px;font-size:10px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.tree-node[data-v-a7b42558]{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-a7b42558]:hover{background:#ffffff08;color:var(--text)}.tree-node.active[data-v-a7b42558]{background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--primary);font-weight:500}.root-node[data-v-a7b42558]{font-weight:500;color:var(--text);border-bottom:1px solid var(--border);margin:0 0 4px;padding:8px 16px}.group-node[data-v-a7b42558]{font-weight:500;color:var(--text)}.chevron[data-v-a7b42558]{transition:transform .2s;flex-shrink:0}.chevron.rotated[data-v-a7b42558]{transform:rotate(90deg)}.category-node[data-v-a7b42558]{padding-left:36px;font-size:12px}.category-node svg[data-v-a7b42558]:first-child{color:var(--status-warning)}.template-node[data-v-a7b42558]{padding-left:52px;font-size:12px}.template-node .node-label[data-v-a7b42558]{font-weight:400}.node-label[data-v-a7b42558]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-count[data-v-a7b42558]{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-a7b42558]{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-a7b42558]{padding:8px 16px 8px 52px;font-size:12px;color:var(--text-secondary);font-style:italic}.main-area[data-v-a7b42558]{flex:1;display:flex;flex-direction:column;overflow:hidden}.template-header[data-v-a7b42558]{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-a7b42558]{display:flex;align-items:center;gap:8px;min-width:0}.template-name[data-v-a7b42558]{margin:0;font-size:16px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.template-actions[data-v-a7b42558]{display:flex;gap:4px;flex-shrink:0}.template-meta[data-v-a7b42558]{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-a7b42558]{display:inline-flex;align-items:center;gap:4px;max-width:360px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meta-item svg[data-v-a7b42558]{flex-shrink:0;opacity:.6}.meta-item.description[data-v-a7b42558]{max-width:480px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.version-badge[data-v-a7b42558]{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-a7b42558]{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500;white-space:nowrap;flex-shrink:0}.status-draft[data-v-a7b42558]{background:#6b72801a;color:var(--text-secondary)}.status-published[data-v-a7b42558]{background:color-mix(in srgb,var(--status-online) 10%,transparent);color:var(--status-online)}.status-deprecated[data-v-a7b42558]{background:color-mix(in srgb,var(--status-error) 10%,transparent);color:var(--status-error)}.device-type-badge[data-v-a7b42558]{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-a7b42558]{flex:1;display:flex;flex-direction:column;overflow:hidden}.variables-toolbar[data-v-a7b42558]{display:flex;align-items:center;padding:10px 20px;border-bottom:1px solid var(--border);gap:12px}.variables-title[data-v-a7b42558]{font-size:13px;font-weight:500;color:var(--text);flex-shrink:0}.variable-count[data-v-a7b42558]{color:var(--text-secondary);margin-left:2px}.variables-toolbar-actions[data-v-a7b42558]{display:flex;align-items:center;gap:8px;flex:1}.variables-search[data-v-a7b42558]{display:flex;align-items:center;gap:6px;flex:1;max-width:300px;margin-left:auto}.variables-search svg[data-v-a7b42558]{flex-shrink:0;color:var(--text-secondary);opacity:.5}.search-input[data-v-a7b42558]{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-a7b42558]:focus{border-color:var(--primary)}.search-input[data-v-a7b42558]::placeholder{color:var(--text-secondary);opacity:.6}.table-wrapper[data-v-a7b42558]{flex:1;overflow:auto}.data-table[data-v-a7b42558]{width:100%;border-collapse:collapse}.data-table th[data-v-a7b42558]{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-a7b42558]{padding:7px 16px;font-size:13px;color:var(--text);border-bottom:1px solid var(--border)}.data-table tr:hover td[data-v-a7b42558]{background:#ffffff05}.col-order[data-v-a7b42558]{width:40px;color:var(--text-secondary);text-align:center}.col-name[data-v-a7b42558]{font-weight:500}.col-address code[data-v-a7b42558]{font-size:12px;background:#0000000a;padding:2px 6px;border-radius:3px;color:var(--text)}.col-scanrate[data-v-a7b42558],.col-unit[data-v-a7b42558]{color:var(--text-secondary);font-size:12px}.col-desc[data-v-a7b42558]{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-muted[data-v-a7b42558]{color:var(--text-secondary);font-size:12px}.badge[data-v-a7b42558]{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-a7b42558]{background:color-mix(in srgb,var(--text-secondary) 10%,transparent);color:var(--text-secondary)}.badge-write[data-v-a7b42558]{display:inline-flex;align-items:center;gap:4px;background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary)}.col-direction[data-v-a7b42558]{white-space:nowrap}.col-enabled[data-v-a7b42558]{text-align:center;width:50px}.enabled-dot[data-v-a7b42558]{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-a7b42558]{background:var(--status-success);box-shadow:0 0 4px var(--status-success)}.empty-state[data-v-a7b42558]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-secondary);gap:12px}.empty-state p[data-v-a7b42558]{font-size:14px;margin:0}.empty-variables[data-v-a7b42558]{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-a7b42558]{margin:0;font-size:13px}.tb-btn[title][data-v-a7b42558]:not(:disabled):hover:after,.btn-icon[title][data-v-a7b42558]: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-a7b42558 .15s ease-out}.tb-btn[title][data-v-a7b42558]:not(:disabled):hover:before,.btn-icon[title][data-v-a7b42558]: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-a7b42558{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes spin-a7b42558{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinning[data-v-a7b42558]{animation:spin-a7b42558 1s linear infinite}.modal-overlay[data-v-a7b42558]{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-a7b42558]{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-a7b42558]{width:680px}.modal-sm[data-v-a7b42558]{width:400px}.modal-header[data-v-a7b42558]{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-a7b42558]{margin:0;font-size:14px;font-weight:700;letter-spacing:.3px}.modal-close[data-v-a7b42558]{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-a7b42558]:hover{color:var(--status-error);background:color-mix(in srgb,var(--status-error) 8%,transparent)}.edit-section[data-v-a7b42558]{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-a7b42558]: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-a7b42558]:last-child{margin-bottom:0}.form-hint[data-v-a7b42558]{margin-top:4px;font-size:11px;color:var(--text-tertiary, #8a8f98);line-height:1.5}.form-hint-code[data-v-a7b42558]{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-a7b42558]{margin-top:4px}.slot-row[data-v-a7b42558]{display:grid;grid-template-columns:120px 1fr;gap:8px;align-items:center;margin-bottom:6px}.slot-key[data-v-a7b42558]{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-a7b42558]{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.slot-ref-hint[data-v-a7b42558]{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-a7b42558]{display:flex;flex-wrap:wrap;gap:6px}.cron-preset-btn[data-v-a7b42558]{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-a7b42558]:hover{background:#ffffff0a;color:var(--text)}.cron-preset-btn.active[data-v-a7b42558]{border-color:var(--primary, #3b82f6);color:var(--primary, #3b82f6)}.form-hint-error[data-v-a7b42558]{color:var(--danger, #ef4444)}.calc-schedule-warn[data-v-a7b42558]{color:var(--status-warning, #f59e0b)}.badge-calc[data-v-a7b42558]{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-a7b42558]{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px}.edit-section-title[data-v-a7b42558]{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-a7b42558]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px 16px;align-items:start}.checkbox-label[data-v-a7b42558]{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-a7b42558]: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-a7b42558]{width:14px;height:14px;cursor:pointer;accent-color:var(--primary);flex-shrink:0}.modal-body[data-v-a7b42558]{padding:16px 20px;overflow-y:auto;overflow-x:hidden;flex:1}.modal-footer[data-v-a7b42558]{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-a7b42558]{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-group[data-v-a7b42558]{display:flex;flex-direction:column;gap:4px}.form-group.full-width[data-v-a7b42558]{grid-column:1 / -1}.form-group label[data-v-a7b42558]{font-size:11px;font-weight:600;color:var(--text-secondary);white-space:nowrap;line-height:1.2}.required[data-v-a7b42558]{color:var(--status-error)}.form-input[data-v-a7b42558]{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-a7b42558]: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-a7b42558]:hover:not(:focus){border-color:#80808066}select.form-input[data-v-a7b42558]{cursor:pointer}.form-input[data-v-a7b42558]::placeholder{color:var(--text-secondary);opacity:.5}.form-textarea[data-v-a7b42558]{resize:vertical;font-family:monospace;font-size:12px}.btn[data-v-a7b42558]{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-a7b42558]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-a7b42558]{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-a7b42558]:hover{box-shadow:0 2px 8px color-mix(in srgb,var(--primary) 40%,transparent);transform:translateY(-1px)}.btn-primary[data-v-a7b42558]:active{transform:translateY(0);box-shadow:0 1px 3px color-mix(in srgb,var(--primary) 20%,transparent)}.btn-primary[data-v-a7b42558]:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn-secondary[data-v-a7b42558]{background:#80808014;color:var(--text);border:1px solid rgba(128,128,128,.2)}.btn-secondary[data-v-a7b42558]:hover{background:#80808026;border-color:#8080804d}.btn-sm[data-v-a7b42558]{padding:5px 10px;font-size:12px}.btn-icon[data-v-a7b42558]{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-a7b42558]:hover{background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--primary)}.col-actions[data-v-a7b42558]{width:40px;text-align:center;white-space:nowrap}.context-menu-overlay[data-v-a7b42558]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200}.context-menu-panel[data-v-a7b42558]{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-a7b42558]{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-a7b42558]:hover{background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--primary)}.context-danger[data-v-a7b42558]:hover{background:color-mix(in srgb,var(--status-error) 10%,transparent);color:var(--status-error)}.context-divider[data-v-a7b42558]{height:1px;background:var(--border);margin:4px 8px}.import-result[data-v-a7b42558]{margin-top:12px}.alert[data-v-a7b42558]{padding:10px 14px;border-radius:6px;font-size:13px}.alert-success[data-v-a7b42558]{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-a7b42558]{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-a7b42558]{display:flex;align-items:center;justify-content:space-between;gap:12px}.protocol-config-label[data-v-a7b42558]{display:inline-flex;align-items:center;gap:8px}.protocol-config-actions[data-v-a7b42558]{display:inline-flex;align-items:center;gap:12px}.protocol-config-size[data-v-a7b42558]{margin-top:6px;font-size:12px;text-align:right}.protocol-badge[data-v-a7b42558]{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-a7b42558]{background:none;border:none;padding:0;color:var(--primary);font-size:12px;cursor:pointer}.link-btn[data-v-a7b42558]:hover{text-decoration:underline}.protocol-config-json[data-v-a7b42558]{width:100%;font-family:monospace;font-size:12px;line-height:1.5;resize:vertical;box-sizing:border-box}.protocol-config-degrade[data-v-a7b42558]{color:var(--status-warning)}.field-unsupported[data-v-a7b42558]{margin-left:6px;font-size:11px;font-weight:400;color:var(--text-secondary)}.canvas-template-admin[data-v-83623ba0]{padding:20px;height:100%;display:flex;flex-direction:column}.template-count[data-v-83623ba0]{font-size:13px;color:var(--text-secondary, #999)}.admin-loading[data-v-83623ba0],.admin-empty[data-v-83623ba0]{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-secondary, #999);font-size:14px}.col-icon[data-v-83623ba0]{width:40px;text-align:center}.col-name[data-v-83623ba0]{min-width:160px}.col-category[data-v-83623ba0]{width:100px}.col-size[data-v-83623ba0]{width:120px;white-space:nowrap}.col-source[data-v-83623ba0]{width:80px}.col-graphics[data-v-83623ba0]{width:60px;text-align:center}.col-file[data-v-83623ba0]{min-width:220px}.col-actions[data-v-83623ba0]{width:130px;text-align:center}.tpl-file[data-v-83623ba0]{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-83623ba0]{display:flex;gap:4px;justify-content:center}.tpl-icon[data-v-83623ba0]{font-size:18px}.tpl-name[data-v-83623ba0]{font-weight:500;margin-bottom:2px}.tpl-desc[data-v-83623ba0]{font-size:11px;color:var(--text-secondary, #999);max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tpl-tag[data-v-83623ba0]{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-83623ba0]{display:inline-block;padding:1px 8px;font-size:11px;border-radius:10px;color:#fff}.source-builtin[data-v-83623ba0]{background:#409eff}.source-user[data-v-83623ba0]{background:#67c23a}.source-market[data-v-83623ba0]{background:#e6a23c}.action-btn[data-v-83623ba0]{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-83623ba0]:hover:not(:disabled){border-color:var(--primary, #409EFF);color:var(--primary, #409EFF)}.action-btn[data-v-83623ba0]:disabled{opacity:.35;cursor:not-allowed}.action-btn-edit[data-v-83623ba0]{color:var(--primary, #409EFF);border-color:var(--primary, #409EFF)}.action-btn-edit[data-v-83623ba0]:hover:not(:disabled){background:var(--primary, #409EFF);color:#fff}.action-btn-danger[data-v-83623ba0]:hover:not(:disabled){border-color:var(--status-error, #F56C6C);color:var(--status-error, #F56C6C)}.lted-mask[data-v-207da3eb]{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-207da3eb]{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-207da3eb]{margin:0 0 14px;font-size:16px;color:var(--text, #333)}.lted-modal label[data-v-207da3eb]{display:block;margin:10px 0 4px;font-size:13px;color:var(--text-secondary, #666)}.lted-input[data-v-207da3eb]{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-207da3eb]{display:flex;gap:8px}.lted-color[data-v-207da3eb]{width:48px;padding:2px}.lted-section[data-v-207da3eb]{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-207da3eb]{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-207da3eb]{color:var(--status-error, #cf1322);border-color:#ef444459}.lted-region[data-v-207da3eb]{display:flex;align-items:center;gap:6px;margin-top:8px}.lted-region-name[data-v-207da3eb]{flex:1;min-width:90px}.lted-num[data-v-207da3eb]{width:62px;flex:none}.lted-lock[data-v-207da3eb]{display:flex;align-items:center;gap:3px;margin:0;font-size:12px;white-space:nowrap;color:var(--text-secondary, #666)}.lted-empty[data-v-207da3eb]{padding:8px 0;font-size:12px;color:var(--text-secondary, #999)}.lted-actions[data-v-207da3eb]{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-92bf8138]{min-width:160px}.col-category[data-v-92bf8138],.col-source[data-v-92bf8138]{width:100px}.col-updated[data-v-92bf8138]{width:160px;white-space:nowrap}.col-file[data-v-92bf8138]{min-width:220px}.col-actions[data-v-92bf8138]{width:280px;text-align:right}.tpl-file[data-v-92bf8138]{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-92bf8138]{display:flex;justify-content:flex-end;gap:6px}.tpl-name[data-v-92bf8138]{font-weight:500;margin-bottom:2px}.admin-empty-cell[data-v-92bf8138]{text-align:center;color:var(--text-secondary, #999);padding:40px 0}.wted-mask[data-v-4bfe35e2]{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-4bfe35e2]{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-4bfe35e2]{margin:0 0 14px;font-size:16px;color:var(--text, #333)}.wted-modal label[data-v-4bfe35e2]{display:block;margin:10px 0 4px;font-size:13px;color:var(--text-secondary, #666)}.wted-input[data-v-4bfe35e2]{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-4bfe35e2]{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-4bfe35e2]{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-4bfe35e2]{color:var(--status-error, #cf1322);border-color:#ef444459}.wted-var[data-v-4bfe35e2]{display:flex;align-items:center;gap:6px;margin-top:8px}.wted-var-key[data-v-4bfe35e2]{width:108px;flex:none}.wted-var-label[data-v-4bfe35e2]{flex:1;min-width:90px}.wted-var-type[data-v-4bfe35e2]{width:96px;flex:none}.wted-var-default[data-v-4bfe35e2]{width:108px;flex:none}.wted-empty[data-v-4bfe35e2]{padding:8px 0;font-size:12px;color:var(--text-secondary, #999)}.wted-actions[data-v-4bfe35e2]{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-49b4610e]{min-width:160px}.col-category[data-v-49b4610e],.col-source[data-v-49b4610e]{width:100px}.col-updated[data-v-49b4610e]{width:160px;white-space:nowrap}.col-file[data-v-49b4610e]{min-width:220px}.col-actions[data-v-49b4610e]{width:280px;text-align:right}.tpl-file[data-v-49b4610e]{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-49b4610e]{display:flex;justify-content:flex-end;gap:6px}.tpl-name[data-v-49b4610e]{font-weight:500;margin-bottom:2px}.admin-empty-cell[data-v-49b4610e]{text-align:center;color:var(--text-secondary, #999);padding:40px 0}.plugin-list[data-v-01356346]{height:100%;display:flex;flex-direction:column;overflow:hidden}.page-header[data-v-01356346]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;flex-shrink:0}.header-left[data-v-01356346]{display:flex;align-items:baseline;gap:12px}.header-actions[data-v-01356346]{display:flex;gap:8px}.page-title[data-v-01356346]{font-size:22px;font-weight:700;color:var(--text);margin:0}.plugin-count[data-v-01356346]{font-size:14px;color:var(--text-secondary)}.filter-bar[data-v-01356346]{display:flex;align-items:center;gap:16px;padding:0 24px 16px;flex-shrink:0}.filter-group[data-v-01356346]{display:flex;align-items:center;gap:8px}.filter-label[data-v-01356346]{font-size:13px;color:var(--text-secondary);white-space:nowrap}.filter-select[data-v-01356346]{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-01356346]{background:var(--background);color:var(--text)}.sys-health-status[data-v-01356346]{margin-left:auto}.loading-state[data-v-01356346],.error-state[data-v-01356346],.empty-state[data-v-01356346]{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-01356346]{font-size:18px;color:var(--text);margin:0}.empty-state p[data-v-01356346]{margin:0;font-size:14px}.spinner[data-v-01356346]{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin-01356346 .8s linear infinite}@keyframes spin-01356346{to{transform:rotate(360deg)}}.plugin-grid[data-v-01356346]{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-01356346]{grid-template-columns:repeat(2,1fr)}}@media (max-width: 900px){.plugin-grid[data-v-01356346]{grid-template-columns:1fr}}.plugin-card[data-v-01356346]{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-01356346]:hover{border-color:var(--primary);box-shadow:0 4px 12px #00000026}.card-header[data-v-01356346]{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.card-title-row[data-v-01356346]{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.card-title[data-v-01356346]{font-size:15px;font-weight:600;color:var(--text);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.version-badge[data-v-01356346]{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-01356346]{display:flex;flex-direction:column;gap:10px}.info-grid[data-v-01356346]{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px}.card-info[data-v-01356346]{display:flex;align-items:center;gap:6px;min-width:0}.info-label[data-v-01356346]{font-size:11px;color:var(--text-secondary);flex-shrink:0}.info-value[data-v-01356346]{font-size:12px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-tag[data-v-01356346]{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-01356346]{display:flex;flex-direction:column;gap:6px;padding:8px;background:var(--background);border-radius:8px}.card-metrics[data-v-01356346]{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.metric-item[data-v-01356346]{display:flex;flex-direction:column;align-items:center;gap:2px}.metric-value[data-v-01356346]{font-size:14px;font-weight:600;color:var(--text)}.metric-label[data-v-01356346]{font-size:10px;color:var(--text-secondary);text-align:center}.device-stats-row[data-v-01356346]{display:flex;gap:8px;padding-top:6px;border-top:1px solid var(--border)}.device-stat-item[data-v-01356346]{display:flex;align-items:center;gap:4px;flex:1}.device-stat-label[data-v-01356346]{font-size:11px;color:var(--text-secondary)}.device-stat-value[data-v-01356346]{font-size:13px;font-weight:600;color:var(--text);margin-left:auto}.card-actions[data-v-01356346]{display:flex;align-items:center;gap:6px;padding-top:8px;border-top:1px solid var(--border)}.card-actions .sys-btn[data-v-01356346]{flex-shrink:0}.actions-more[data-v-01356346]{position:relative;margin-left:auto}.more-dropdown[data-v-01356346]{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-01356346]{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-01356346]:last-child{border-bottom:none}.dropdown-item[data-v-01356346]:hover{background:var(--background)}.plugin-detail[data-v-705e7324]{padding:20px 24px 32px;max-width:1000px;margin:0 auto}.page-header[data-v-705e7324]{margin-bottom:20px}.loading-state[data-v-705e7324],.error-state[data-v-705e7324],.empty-state[data-v-705e7324]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:var(--text-secondary);gap:12px}.spinner[data-v-705e7324]{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin-705e7324 .8s linear infinite}@keyframes spin-705e7324{to{transform:rotate(360deg)}}.plugin-info-panel[data-v-705e7324]{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:20px 24px;margin-bottom:20px}.info-header[data-v-705e7324]{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px}.info-title[data-v-705e7324]{display:flex;align-items:center;gap:12px}.info-title h2[data-v-705e7324]{font-size:20px;font-weight:600;color:var(--text);margin:0}.info-actions[data-v-705e7324]{display:flex;gap:8px}.version-badge[data-v-705e7324]{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-705e7324]{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.info-item[data-v-705e7324]{display:flex;flex-direction:column;gap:4px}.info-label[data-v-705e7324]{font-size:11px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.info-value[data-v-705e7324]{font-size:13px;color:var(--text)}.info-value.mono[data-v-705e7324]{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-705e7324]{margin-top:12px;display:flex;flex-direction:column;gap:6px}.tags-list[data-v-705e7324]{display:flex;flex-wrap:wrap;gap:6px}.tag-item[data-v-705e7324]{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-705e7324],.schema-panel[data-v-705e7324],.default-connection-panel[data-v-705e7324],.data-types-panel[data-v-705e7324],.metrics-panel[data-v-705e7324],.config-panel[data-v-705e7324]{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:20px 24px;margin-bottom:20px}.section-title[data-v-705e7324]{font-size:16px;font-weight:600;color:var(--text);margin:0 0 14px}.status-grid[data-v-705e7324]{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.status-item[data-v-705e7324]{display:flex;flex-direction:column;gap:4px}.status-label[data-v-705e7324]{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.status-value[data-v-705e7324]{font-size:16px;font-weight:600;color:var(--text)}.json-block[data-v-705e7324]{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-705e7324]{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.metric-item[data-v-705e7324]{display:flex;flex-direction:column;gap:4px;padding:10px 14px;background:var(--background);border-radius:8px}.metric-label[data-v-705e7324]{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.metric-value[data-v-705e7324]{font-size:18px;font-weight:600;color:var(--text)}.config-grid[data-v-705e7324]{display:flex;flex-direction:column;gap:16px}.config-item[data-v-705e7324]{display:flex;flex-direction:column;gap:8px}.config-label[data-v-705e7324]{font-size:13px;font-weight:500;color:var(--text)}.config-control-row[data-v-705e7324]{display:flex;align-items:center;gap:10px}.config-select[data-v-705e7324]{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-705e7324]:focus{border-color:var(--primary);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.2)}.config-hint[data-v-705e7324]{font-size:11px;color:var(--text-secondary);margin:0;line-height:1.5}.plugin-monitor[data-v-6bd17a10]{padding:20px 24px 32px;max-width:1100px;margin:0 auto}.page-header[data-v-6bd17a10]{display:flex;align-items:center;gap:12px;margin-bottom:20px}.loading-state[data-v-6bd17a10],.error-state[data-v-6bd17a10]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:var(--text-secondary);gap:12px}.spinner[data-v-6bd17a10]{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin-6bd17a10 .8s linear infinite}@keyframes spin-6bd17a10{to{transform:rotate(360deg)}}.info-panel[data-v-6bd17a10],.log-panel[data-v-6bd17a10]{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:20px 24px;margin-bottom:20px}.dashboard-row[data-v-6bd17a10]{display:grid;grid-template-columns:1fr 1.5fr;gap:20px;margin-bottom:20px}.dashboard-row .device-panel[data-v-6bd17a10],.dashboard-row .process-panel[data-v-6bd17a10]{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:20px 24px;margin-bottom:0}.info-header[data-v-6bd17a10]{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px}.info-title[data-v-6bd17a10]{display:flex;align-items:center;gap:12px}.info-title h2[data-v-6bd17a10]{font-size:20px;font-weight:600;color:var(--text);margin:0}.version-badge[data-v-6bd17a10]{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-6bd17a10]{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.info-item[data-v-6bd17a10]{display:flex;flex-direction:column;gap:4px}.info-label[data-v-6bd17a10]{font-size:11px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.info-value[data-v-6bd17a10]{font-size:13px;color:var(--text)}.info-value.mono[data-v-6bd17a10]{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-6bd17a10]{font-size:16px;font-weight:600;color:var(--text);margin:0 0 14px}.device-stats-grid[data-v-6bd17a10]{display:flex;flex-direction:column;gap:10px}.device-stat-card[data-v-6bd17a10]{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-6bd17a10]{border-color:rgba(var(--status-success-rgb),.3)}.device-stat-card.offline[data-v-6bd17a10]{border-color:rgba(var(--text-secondary-rgb),.3)}.device-stat-card.error[data-v-6bd17a10]{border-color:rgba(var(--status-error-rgb),.3)}.device-stat-label[data-v-6bd17a10]{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.device-stat-value[data-v-6bd17a10]{font-size:20px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:8px}.process-info-row[data-v-6bd17a10]{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-6bd17a10]{display:flex;flex-direction:column;gap:4px}.process-info-label[data-v-6bd17a10]{font-size:11px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.process-info-value[data-v-6bd17a10]{font-size:14px;font-weight:600;color:var(--text)}.process-info-value.mono[data-v-6bd17a10]{font-family:Courier New,monospace}.process-grid[data-v-6bd17a10]{display:flex;flex-direction:column;gap:14px}.process-item[data-v-6bd17a10]{display:flex;flex-direction:column;gap:6px}.process-label[data-v-6bd17a10]{font-size:12px;color:var(--text-secondary)}.progress-bar[data-v-6bd17a10]{height:8px;background:var(--background);border-radius:4px;overflow:hidden}.progress-fill[data-v-6bd17a10]{height:100%;border-radius:4px;transition:width .4s ease}.progress-fill.heap[data-v-6bd17a10]{background:var(--primary)}.progress-fill.rss[data-v-6bd17a10]{background:var(--status-info)}.progress-fill.cpu[data-v-6bd17a10]{background:var(--status-warning)}.process-value[data-v-6bd17a10]{font-size:13px;font-weight:500;color:var(--text)}.log-header[data-v-6bd17a10]{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.log-actions[data-v-6bd17a10]{display:flex;gap:8px}.log-tabs[data-v-6bd17a10]{display:flex;gap:4px;margin-bottom:10px;border-bottom:1px solid var(--border)}.log-tab[data-v-6bd17a10]{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-6bd17a10]:hover{color:var(--text)}.log-tab.active[data-v-6bd17a10]{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.log-container[data-v-6bd17a10]{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-6bd17a10]{padding:40px 16px;text-align:center;color:var(--text-secondary)}.log-entry[data-v-6bd17a10]{display:flex;gap:8px;padding:3px 12px;border-bottom:1px solid var(--border);align-items:baseline}.log-entry[data-v-6bd17a10]:hover{background:rgba(var(--primary-rgb),.05)}.log-line-num[data-v-6bd17a10]{color:var(--text-secondary);width:32px;text-align:right;opacity:.6;flex-shrink:0}.log-timestamp[data-v-6bd17a10]{color:var(--text-secondary);width:85px;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-level[data-v-6bd17a10]{width:48px;font-weight:600;flex-shrink:0}.level-info[data-v-6bd17a10]{color:var(--status-info)}.level-warn[data-v-6bd17a10]{color:var(--status-warning)}.level-error[data-v-6bd17a10]{color:var(--status-error)}.level-debug[data-v-6bd17a10]{color:var(--text-secondary)}.log-message[data-v-6bd17a10]{color:var(--text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-path-hint[data-v-6bd17a10]{margin-top:10px;display:flex;gap:8px;font-size:12px}.log-file-label[data-v-6bd17a10]{color:var(--text-secondary);flex-shrink:0}.log-file-path[data-v-6bd17a10]{color:var(--text);opacity:.7;word-break:break-all}.log-file-path.mono[data-v-6bd17a10]{font-family:Courier New,monospace}.pm-preview[data-v-cb396519]{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-cb396519]{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.pm-preview-loading[data-v-cb396519],.pm-preview-fallback[data-v-cb396519]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:8px;text-align:center}.pm-preview-spinner[data-v-cb396519]{width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:pm-preview-spin-cb396519 .8s linear infinite}@keyframes pm-preview-spin-cb396519{to{transform:rotate(360deg)}}.pm-preview-canvas[data-v-cb396519]{display:block}.pm-preview-icon[data-v-cb396519]{max-width:72px;max-height:72px;object-fit:contain}.pm-preview-icon-placeholder[data-v-cb396519]{font-size:28px;color:var(--text-tertiary)}.pm-preview-tip[data-v-cb396519]{font-size:11px;line-height:1.4;color:var(--text-tertiary)}.plugin-manager[data-v-4b40db95]{display:flex;flex-direction:column;height:100%;background-color:var(--background);color:var(--text)}.pm-header[data-v-4b40db95]{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-4b40db95],.pm-header-right[data-v-4b40db95]{display:flex;align-items:center;gap:8px}.pm-title[data-v-4b40db95]{margin:0;font-size:16px;font-weight:600}.pm-mode-badge[data-v-4b40db95]{padding:2px 8px;border-radius:10px;font-size:12px;border:1px solid var(--border)}.pm-mode-badge--pro[data-v-4b40db95]{background-color:var(--primary);color:#fff;border-color:var(--primary)}.pm-mode-badge--dev[data-v-4b40db95]{background-color:var(--surface);color:var(--text-secondary)}.pm-updated[data-v-4b40db95]{font-size:12px;color:var(--text-tertiary)}.pm-warning[data-v-4b40db95]{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-4b40db95]{display:flex;flex:1;min-height:0}.pm-sidebar[data-v-4b40db95]{width:220px;flex-shrink:0;padding:12px;border-right:1px solid var(--border);overflow-y:auto}.pm-section-title[data-v-4b40db95]{font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:8px}.pm-detail-actions[data-v-4b40db95]{display:flex;gap:8px;margin-bottom:10px}.pm-category-list[data-v-4b40db95]{list-style:none;margin:0;padding:0}.pm-primary-group[data-v-4b40db95]{padding:10px 6px 4px}.pm-primary-label[data-v-4b40db95]{font-size:11px;font-weight:600;color:var(--text-secondary, var(--text));opacity:.72;letter-spacing:.4px}.pm-category-item[data-v-4b40db95]{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-4b40db95]{cursor:default;opacity:.62}.pm-category-item[data-v-4b40db95]:hover{background-color:var(--control-button-hover)}.pm-category-item--active[data-v-4b40db95]{background-color:var(--primary);color:#fff}.pm-category-item--active .pm-category-meta[data-v-4b40db95]{color:#fff}.pm-category-meta[data-v-4b40db95]{display:flex;align-items:center;gap:8px;color:var(--text-tertiary);font-size:12px}.pm-main[data-v-4b40db95]{flex:1;min-width:0;padding:12px;overflow-y:auto}.pm-toolbar[data-v-4b40db95]{display:flex;align-items:center;gap:12px;margin-bottom:12px}.pm-input[data-v-4b40db95]{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-4b40db95]{display:flex;align-items:center;gap:4px;font-size:13px;color:var(--text-secondary)}.pm-grid[data-v-4b40db95]{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.pm-card[data-v-4b40db95]{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-4b40db95]:hover{border-color:var(--primary)}.pm-card--selected[data-v-4b40db95]{border-color:var(--primary);box-shadow:var(--shadow-small)}.pm-card--disabled[data-v-4b40db95]{opacity:.55}.pm-card-icon[data-v-4b40db95]{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-4b40db95]{width:100%;height:100%;object-fit:contain}.pm-card-icon-fallback[data-v-4b40db95]{color:var(--text-tertiary);font-size:16px}.pm-card-info[data-v-4b40db95]{flex:1;min-width:0}.pm-card-name[data-v-4b40db95]{font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pm-card-version[data-v-4b40db95]{font-size:11px;color:var(--text-tertiary);margin-top:2px}.pm-badge[data-v-4b40db95]{margin-left:4px;padding:0 4px;border-radius:6px;font-size:10px;border:1px solid var(--border)}.pm-badge--imported[data-v-4b40db95]{color:var(--primary);border-color:var(--primary)}.pm-switch input[data-v-4b40db95]{cursor:pointer}.pm-detail[data-v-4b40db95]{flex-shrink:0;padding:12px;border-left:1px solid var(--border);overflow-y:auto;min-width:0}.pm-splitter[data-v-4b40db95]{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-4b40db95]: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-4b40db95]:hover{background-color:var(--control-button-hover);border-left-color:var(--border)}.pm-splitter[data-v-4b40db95]:hover:after{background-color:var(--text-tertiary)}.pm-splitter[data-v-4b40db95]:active,.pm-splitter[data-v-4b40db95]:focus-visible{background-color:var(--control-button-active, var(--primary));outline:none}.pm-preview-box[data-v-4b40db95]{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.pm-preview-actions[data-v-4b40db95]{display:flex;align-items:center;gap:6px}.pm-scale-input[data-v-4b40db95]{min-width:0;width:64px;padding:4px 6px;font-size:12px}.pm-mono[data-v-4b40db95]{font-family:Consolas,Monaco,monospace;font-size:11px;word-break:break-all}.pm-history-box[data-v-4b40db95]{margin-top:16px}.pm-history-toggle[data-v-4b40db95]{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-4b40db95]:hover{border-color:var(--primary)}.pm-history-caret[data-v-4b40db95]{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-4b40db95]{transform:rotate(180deg)}.pm-history-list[data-v-4b40db95]{list-style:none;margin:6px 0 0;padding:0;max-height:180px;overflow-y:auto}.pm-history-item[data-v-4b40db95]{display:flex;align-items:center;gap:8px;padding:4px 8px;font-size:11px;color:var(--text-secondary)}.pm-history-at[data-v-4b40db95]{color:var(--text-tertiary);flex-shrink:0}.pm-history-action[data-v-4b40db95]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pm-detail-list[data-v-4b40db95]{margin:0;display:grid;grid-template-columns:80px 1fr;gap:6px 8px;font-size:12px}.pm-detail-list dt[data-v-4b40db95]{color:var(--text-secondary)}.pm-detail-list dd[data-v-4b40db95]{margin:0;color:var(--text);word-break:break-all}.pm-version-box[data-v-4b40db95]{margin-top:16px}.pm-loading[data-v-4b40db95],.pm-empty[data-v-4b40db95]{padding:24px;text-align:center;color:var(--text-tertiary);font-size:13px}.pm-hidden-input[data-v-4b40db95]{display:none}.trace-overlay[data-v-17d65b84]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:900}.trace-drawer[data-v-17d65b84]{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-17d65b84]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.drawer-header h3[data-v-17d65b84]{margin:0;font-size:16px;font-weight:600;color:var(--text)}.drawer-close[data-v-17d65b84]{border:none;background:transparent;color:var(--text-secondary);font-size:16px;cursor:pointer;padding:4px 8px;border-radius:4px}.drawer-close[data-v-17d65b84]:hover{background:rgba(var(--primary-rgb),.1);color:var(--text)}.drawer-body[data-v-17d65b84]{flex:1;overflow-y:auto;padding:16px 20px 28px}.drawer-state[data-v-17d65b84]{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-17d65b84]{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-17d65b84]{display:flex;flex-direction:column;gap:2px;min-width:0}.meta-label[data-v-17d65b84]{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.meta-value[data-v-17d65b84]{font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meta-value.trace-id[data-v-17d65b84]{font-size:11px}.final-value[data-v-17d65b84]{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-17d65b84]{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.final-text[data-v-17d65b84]{font-size:18px;font-weight:600;color:var(--primary)}.final-quality[data-v-17d65b84]{font-size:11px;color:var(--text-secondary)}.section-heading[data-v-17d65b84]{margin:18px 0 8px;font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.step-list[data-v-17d65b84]{display:flex;flex-direction:column;gap:8px}.step-row[data-v-17d65b84]{border:1px solid var(--border);border-radius:8px;padding:10px 12px;background:var(--background)}.step-row.is-error[data-v-17d65b84]{border-color:rgba(var(--status-error-rgb),.5)}.step-head[data-v-17d65b84]{display:flex;align-items:center;gap:8px}.step-order[data-v-17d65b84]{width:18px;font-size:11px;color:var(--text-secondary);text-align:center}.step-name[data-v-17d65b84]{font-size:13px;font-weight:600;color:var(--primary)}.step-duration[data-v-17d65b84]{margin-left:auto;font-size:12px;color:var(--text-secondary)}.step-flag.error[data-v-17d65b84]{font-size:11px;font-weight:600;color:var(--status-error)}.step-values[data-v-17d65b84]{margin-top:8px;display:flex;flex-direction:column;gap:3px}.value-item[data-v-17d65b84]{display:flex;align-items:baseline;gap:8px;font-size:12px}.value-label[data-v-17d65b84]{min-width:68px;color:var(--text-secondary)}.value-text[data-v-17d65b84]{color:var(--text);word-break:break-all}.value-item.is-changed .value-text[data-v-17d65b84]{color:var(--status-warning);font-weight:600}.changed-tag[data-v-17d65b84]{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-17d65b84]{font-size:11px;color:var(--text-secondary);word-break:break-all}.step-note[data-v-17d65b84]{margin-top:8px;display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--text)}.note-detail[data-v-17d65b84]{font-size:11px;color:var(--text-secondary);word-break:break-all}.step-error[data-v-17d65b84]{margin-top:8px}.error-line[data-v-17d65b84]{display:flex;align-items:baseline;gap:8px;font-size:12px}.error-code[data-v-17d65b84]{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-17d65b84]{color:var(--status-error);word-break:break-all}.link-btn[data-v-17d65b84]{margin-left:auto;border:none;background:transparent;color:var(--primary);font-size:11px;cursor:pointer;padding:0}.error-detail[data-v-17d65b84]{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-17d65b84]{display:flex;flex-direction:column;gap:2px}.series-row[data-v-17d65b84]{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-17d65b84]:hover{background:rgba(var(--primary-rgb),.06)}.series-row.active[data-v-17d65b84]{border-color:rgba(var(--primary-rgb),.5);background:rgba(var(--primary-rgb),.08)}.series-time[data-v-17d65b84]{color:var(--text-secondary)}.series-value[data-v-17d65b84]{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.series-duration[data-v-17d65b84]{text-align:right;color:var(--text-secondary)}.status-success[data-v-17d65b84]{color:var(--status-success)}.status-filtered[data-v-17d65b84]{color:var(--text-secondary)}.status-error[data-v-17d65b84]{color:var(--status-error)}.mono[data-v-17d65b84]{font-family:Courier New,monospace}.pipeline-metrics[data-v-bb7bc7bc]{padding:20px 24px 32px;max-width:1200px;margin:0 auto}.page-header[data-v-bb7bc7bc]{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.header-title[data-v-bb7bc7bc]{display:flex;align-items:baseline;gap:12px}.header-title h2[data-v-bb7bc7bc]{font-size:20px;font-weight:600;color:var(--text);margin:0}.header-hint[data-v-bb7bc7bc]{font-size:12px;color:var(--text-secondary)}.header-actions[data-v-bb7bc7bc]{display:flex;gap:8px;align-items:center}.scope-label[data-v-bb7bc7bc]{font-size:13px;color:var(--text-secondary);margin-right:2px}.scope-select[data-v-bb7bc7bc]{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-bb7bc7bc]:focus{border-color:var(--primary)}.auto-dot[data-v-bb7bc7bc]{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--text-secondary);margin-right:4px}.auto-dot.active[data-v-bb7bc7bc]{background:var(--status-success);box-shadow:0 0 6px var(--status-success)}.loading-state[data-v-bb7bc7bc],.error-state[data-v-bb7bc7bc]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:var(--text-secondary);gap:12px}.spinner[data-v-bb7bc7bc]{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin-bb7bc7bc .8s linear infinite}@keyframes spin-bb7bc7bc{to{transform:rotate(360deg)}}.metrics-cards[data-v-bb7bc7bc]{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:20px}.metric-card[data-v-bb7bc7bc]{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-bb7bc7bc]{border-color:rgba(var(--status-success-rgb),.3)}.metric-card.error[data-v-bb7bc7bc]{border-color:rgba(var(--status-error-rgb),.3)}.metric-label[data-v-bb7bc7bc]{font-size:11px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.metric-value[data-v-bb7bc7bc]{font-size:22px;font-weight:600;color:var(--text)}.metric-value.mono[data-v-bb7bc7bc]{font-family:Courier New,monospace;font-size:18px}.metric-sub[data-v-bb7bc7bc]{font-size:11px;color:var(--text-secondary)}.metric-card.success .metric-sub[data-v-bb7bc7bc]{color:var(--status-success)}.metric-card.error .metric-sub[data-v-bb7bc7bc]{color:var(--status-error)}.dashboard-row[data-v-bb7bc7bc]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.sub-panel[data-v-bb7bc7bc]{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px 18px}.sub-stats[data-v-bb7bc7bc]{display:flex;gap:16px}.sub-stat-item[data-v-bb7bc7bc]{display:flex;flex-direction:column;gap:4px}.sub-stat-label[data-v-bb7bc7bc]{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.sub-stat-value[data-v-bb7bc7bc]{font-size:18px;font-weight:600;color:var(--text)}.sub-stat-value.error[data-v-bb7bc7bc]{color:var(--status-error)}.panel[data-v-bb7bc7bc]{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:20px 24px;margin-bottom:20px}.panel-header[data-v-bb7bc7bc]{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.panel-hint[data-v-bb7bc7bc]{font-size:12px;color:var(--text-secondary)}.section-title[data-v-bb7bc7bc]{font-size:16px;font-weight:600;color:var(--text);margin:0 0 14px}.data-table[data-v-bb7bc7bc]{width:100%;border-collapse:collapse;font-size:13px}.data-table th[data-v-bb7bc7bc],.data-table td[data-v-bb7bc7bc]{padding:8px 12px;text-align:left;border-bottom:1px solid var(--border)}.data-table th[data-v-bb7bc7bc]{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-bb7bc7bc],.data-table td.num-col[data-v-bb7bc7bc]{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.data-table th.num-col[data-v-bb7bc7bc]:not(:first-child){min-width:76px}.data-table td.mono[data-v-bb7bc7bc]{font-family:Courier New,monospace}.task-id-cell[data-v-bb7bc7bc]{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-table td.p95[data-v-bb7bc7bc]{color:var(--status-warning);font-weight:600}.data-table td.p99[data-v-bb7bc7bc]{color:var(--status-error);font-weight:600}.data-table td.step-name-cell[data-v-bb7bc7bc]{font-weight:500;color:var(--primary)}.data-table td.text-error[data-v-bb7bc7bc]{color:var(--status-error);font-weight:600}.data-table tbody tr[data-v-bb7bc7bc]:hover{background:rgba(var(--primary-rgb),.05)}.flame-chart[data-v-bb7bc7bc]{display:flex;flex-direction:column;gap:4px;max-height:480px;overflow-y:auto}.flame-row[data-v-bb7bc7bc]{display:grid;grid-template-columns:180px 1fr 80px;gap:8px;align-items:center;padding:4px 8px;border-radius:4px}.flame-row[data-v-bb7bc7bc]:hover{background:rgba(var(--primary-rgb),.05)}.flame-row-label[data-v-bb7bc7bc]{display:flex;flex-direction:column;gap:2px;font-size:11px}.flame-time[data-v-bb7bc7bc]{color:var(--text-secondary);font-family:Courier New,monospace}.flame-device[data-v-bb7bc7bc]{color:var(--text);opacity:.7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flame-bars[data-v-bb7bc7bc]{display:flex;height:24px;background:var(--background);border-radius:4px;overflow:hidden}.flame-bar[data-v-bb7bc7bc]{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-bb7bc7bc]:hover{opacity:.85}.flame-bar.is-error[data-v-bb7bc7bc]{background:var(--status-error)}.flame-bar-label[data-v-bb7bc7bc]{pointer-events:none}.flame-total[data-v-bb7bc7bc]{font-size:12px;font-weight:600;color:var(--text);text-align:right}.flame-row.clickable[data-v-bb7bc7bc]{cursor:pointer}.flame-row.locked[data-v-bb7bc7bc]{background:rgba(var(--primary-rgb),.12);outline:1px solid rgba(var(--primary-rgb),.5)}.trace-stats[data-v-bb7bc7bc]{font-size:12px;color:var(--text-secondary);margin-bottom:10px}.trace-search[data-v-bb7bc7bc]{display:flex;gap:8px;margin-bottom:12px}.trace-search-input[data-v-bb7bc7bc]{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-bb7bc7bc]:focus{border-color:var(--primary)}.trace-subheading[data-v-bb7bc7bc]{margin:18px 0 8px;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.trace-list[data-v-bb7bc7bc]{display:flex;flex-direction:column;gap:2px}.trace-row[data-v-bb7bc7bc]{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-bb7bc7bc]:hover{background:rgba(var(--primary-rgb),.06);border-color:rgba(var(--primary-rgb),.3)}.trace-row-main[data-v-bb7bc7bc]{display:flex;flex-direction:column;gap:2px;min-width:0}.trace-row-name[data-v-bb7bc7bc]{font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trace-row-device[data-v-bb7bc7bc]{font-size:11px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trace-row-value[data-v-bb7bc7bc]{text-align:right;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trace-row-status[data-v-bb7bc7bc]{text-align:center}.trace-row-time[data-v-bb7bc7bc]{font-size:11px;color:var(--text-secondary);text-align:right}.trace-row-action[data-v-bb7bc7bc]{font-size:11px;color:var(--primary);text-align:right}.status-success[data-v-bb7bc7bc]{color:var(--status-success)}.status-filtered[data-v-bb7bc7bc]{color:var(--text-secondary)}.status-error[data-v-bb7bc7bc]{color:var(--status-error)}.prometheus-text[data-v-bb7bc7bc]{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-bb7bc7bc]{border-color:rgba(var(--primary-rgb),.4)}.diagnosis-conclusions[data-v-bb7bc7bc]{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;padding:12px;background:var(--background);border-radius:8px}.diagnosis-item[data-v-bb7bc7bc]{font-size:13px;padding:6px 10px;border-radius:4px;border-left:3px solid var(--border)}.diagnosis-item.ok[data-v-bb7bc7bc]{color:var(--status-success);border-left-color:var(--status-success);background:rgba(var(--status-success-rgb),.05)}.diagnosis-item.error[data-v-bb7bc7bc]{color:var(--status-error);border-left-color:var(--status-error);background:rgba(var(--status-error-rgb),.05)}.diagnosis-item.warn[data-v-bb7bc7bc]{color:var(--status-warning);border-left-color:var(--status-warning);background:rgba(var(--status-warning-rgb),.05)}.diagnosis-details[data-v-bb7bc7bc]{display:flex;flex-direction:column;gap:16px}.diagnosis-section h4[data-v-bb7bc7bc]{font-size:13px;font-weight:600;color:var(--text);margin:0 0 8px}.diagnosis-kv[data-v-bb7bc7bc]{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:12px}.diagnosis-kv span[data-v-bb7bc7bc]:nth-child(odd){color:var(--text-secondary)}.diagnosis-kv span[data-v-bb7bc7bc]:nth-child(2n){color:var(--text);font-weight:500}.empty-state[data-v-bb7bc7bc]{padding:40px 16px;text-align:center;color:var(--text-secondary);font-size:13px}.panel-actions[data-v-bb7bc7bc]{display:flex;gap:8px}.offline-cache-stats[data-v-bb7bc7bc]{display:flex;flex-direction:column;gap:14px}.cache-stat-item[data-v-bb7bc7bc]{display:flex;flex-direction:column;gap:6px}.cache-stat-label[data-v-bb7bc7bc]{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.cache-stat-value[data-v-bb7bc7bc]{font-size:16px;font-weight:600;color:var(--text)}.cache-stat-value.mono[data-v-bb7bc7bc]{font-family:Courier New,monospace;font-size:13px}.cache-bar[data-v-bb7bc7bc]{height:6px;background:var(--background);border-radius:3px;overflow:hidden}.cache-bar-fill[data-v-bb7bc7bc]{height:100%;background:var(--primary);border-radius:3px;transition:width .3s}.cache-bar-fill.warning[data-v-bb7bc7bc]{background:var(--status-warning)}.cache-stat-row[data-v-bb7bc7bc]{display:flex;gap:24px}.cache-stat-item-inline[data-v-bb7bc7bc]{display:flex;flex-direction:column;gap:4px}@media (max-width: 1024px){.metrics-cards[data-v-bb7bc7bc]{grid-template-columns:repeat(3,1fr)}.dashboard-row[data-v-bb7bc7bc]{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.metrics-cards[data-v-bb7bc7bc]{grid-template-columns:repeat(2,1fr)}.dashboard-row[data-v-bb7bc7bc]{grid-template-columns:1fr}.flame-row[data-v-bb7bc7bc]{grid-template-columns:120px 1fr 60px}}.alarm-statistics[data-v-1b45f1fa]{padding:20px 24px 32px;max-width:1200px;margin:0 auto}.page-header[data-v-1b45f1fa]{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px}.header-title[data-v-1b45f1fa]{display:flex;align-items:center;gap:12px}.header-title h2[data-v-1b45f1fa]{font-size:20px;font-weight:600;color:var(--text);margin:0}.header-actions[data-v-1b45f1fa]{display:flex;align-items:center;gap:12px}.header-actions .form-select[data-v-1b45f1fa]{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-1b45f1fa]:focus{border-color:var(--primary)}.date-range[data-v-1b45f1fa]{display:flex;align-items:center;gap:6px}.date-label[data-v-1b45f1fa]{font-size:12px;color:var(--text-secondary);white-space:nowrap}.date-input[data-v-1b45f1fa]{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-1b45f1fa]:focus{border-color:var(--primary)}.date-sep[data-v-1b45f1fa]{color:var(--text-secondary);font-size:13px}.loading-state[data-v-1b45f1fa],.error-state[data-v-1b45f1fa]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:var(--text-secondary);gap:12px}.spinner[data-v-1b45f1fa]{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin-1b45f1fa .8s linear infinite}@keyframes spin-1b45f1fa{to{transform:rotate(360deg)}}.metrics-cards[data-v-1b45f1fa]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.metric-card[data-v-1b45f1fa]{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-1b45f1fa]{font-size:11px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.metric-value[data-v-1b45f1fa]{font-size:22px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:4px}.metric-value.mono[data-v-1b45f1fa]{font-family:Courier New,monospace;font-size:18px}.trend-icon[data-v-1b45f1fa]{font-size:20px;line-height:1}.metric-card.trend-up .metric-value[data-v-1b45f1fa]{color:var(--status-error)}.metric-card.trend-down .metric-value[data-v-1b45f1fa]{color:var(--status-success)}.metric-card.trend-stable .metric-value[data-v-1b45f1fa]{color:var(--text-secondary)}.panel[data-v-1b45f1fa]{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:20px 24px;margin-bottom:20px}.section-title[data-v-1b45f1fa]{font-size:16px;font-weight:600;color:var(--text);margin:0 0 14px}.data-table[data-v-1b45f1fa]{width:100%;border-collapse:collapse;font-size:13px}.data-table th[data-v-1b45f1fa],.data-table td[data-v-1b45f1fa]{padding:8px 12px;text-align:left;border-bottom:1px solid var(--border)}.data-table th[data-v-1b45f1fa]{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-1b45f1fa]{text-align:right;font-variant-numeric:tabular-nums}.data-table td.mono[data-v-1b45f1fa]{font-family:Courier New,monospace}.data-table td.rule-name-cell[data-v-1b45f1fa]{font-weight:500;color:var(--primary)}.data-table tbody tr[data-v-1b45f1fa]:hover{background:var(--background)}.level-badge[data-v-1b45f1fa]{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-1b45f1fa]{background:var(--status-error);color:var(--button-text);font-weight:700}.level-badge.level-error[data-v-1b45f1fa]{background:var(--status-error);color:var(--button-text)}.level-badge.level-warning[data-v-1b45f1fa]{background:var(--status-warning);color:var(--text)}.level-badge.level-info[data-v-1b45f1fa]{background:var(--border);color:var(--text-secondary)}.level-bars[data-v-1b45f1fa]{display:flex;flex-direction:column;gap:10px}.level-bar-row[data-v-1b45f1fa]{display:flex;align-items:center;gap:12px}.level-bar-label[data-v-1b45f1fa]{font-size:13px;font-weight:500;min-width:60px}.level-bar-label.level-critical[data-v-1b45f1fa],.level-bar-label.level-error[data-v-1b45f1fa]{color:var(--status-error)}.level-bar-label.level-warning[data-v-1b45f1fa]{color:var(--status-warning)}.level-bar-label.level-info[data-v-1b45f1fa]{color:var(--text-secondary)}.level-bar-track[data-v-1b45f1fa]{flex:1;height:20px;background:var(--background);border-radius:4px;overflow:hidden}.level-bar-fill[data-v-1b45f1fa]{height:100%;border-radius:4px;transition:width .3s;background:var(--primary)}.level-bar-fill.level-critical[data-v-1b45f1fa],.level-bar-fill.level-error[data-v-1b45f1fa]{background:var(--status-error)}.level-bar-fill.level-warning[data-v-1b45f1fa]{background:var(--status-warning)}.level-bar-fill.level-info[data-v-1b45f1fa]{background:var(--text-secondary)}.level-bar-count[data-v-1b45f1fa]{font-size:13px;font-weight:600;color:var(--text);min-width:50px;text-align:right;font-variant-numeric:tabular-nums}.time-chart[data-v-1b45f1fa]{display:flex;flex-direction:column;gap:8px}.time-bars[data-v-1b45f1fa]{display:flex;align-items:flex-end;gap:4px;height:160px;padding-bottom:8px;overflow-x:auto}.time-bar-wrap[data-v-1b45f1fa]{flex:1;min-width:24px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}.time-bar-label[data-v-1b45f1fa]{font-size:11px;color:var(--text);margin-bottom:4px}.time-bar[data-v-1b45f1fa]{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-1b45f1fa]{font-size:10px;color:var(--text-secondary);margin-top:6px}.time-axis-label[data-v-1b45f1fa]{font-size:11px;color:var(--text-secondary);text-align:center;text-transform:uppercase;letter-spacing:.5px}.response-stats[data-v-1b45f1fa]{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.response-stat-item[data-v-1b45f1fa]{display:flex;flex-direction:column;gap:4px;padding:14px 16px;background:var(--background);border-radius:8px}.response-stat-label[data-v-1b45f1fa]{font-size:11px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.response-stat-value[data-v-1b45f1fa]{font-size:20px;font-weight:600;color:var(--text)}.response-stat-value.mono[data-v-1b45f1fa]{font-family:Courier New,monospace;font-size:16px}.empty-state[data-v-1b45f1fa]{padding:40px 16px;text-align:center;color:var(--text-secondary);font-size:13px}@media (max-width: 1024px){.metrics-cards[data-v-1b45f1fa],.response-stats[data-v-1b45f1fa]{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.metrics-cards[data-v-1b45f1fa],.response-stats[data-v-1b45f1fa]{grid-template-columns:1fr}.header-actions[data-v-1b45f1fa],.date-range[data-v-1b45f1fa]{flex-wrap:wrap}}.historical-trend-page[data-v-5db5eb8a]{height:100%;overflow-y:auto;padding:20px 24px;display:flex;flex-direction:column;gap:12px}.query-bar[data-v-5db5eb8a]{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-5db5eb8a]{display:flex;flex-direction:column;gap:4px}.query-bar .form-select[data-v-5db5eb8a],.query-bar .form-input[data-v-5db5eb8a],.query-bar .sys-btn[data-v-5db5eb8a],.query-bar .sys-btn-sm[data-v-5db5eb8a]{height:32px;padding-top:0;padding-bottom:0;box-sizing:border-box}.query-field label[data-v-5db5eb8a]{font-size:12px;color:var(--text-secondary);font-weight:500}.form-select[data-v-5db5eb8a],.form-input[data-v-5db5eb8a]{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-5db5eb8a]:focus,.form-input[data-v-5db5eb8a]:focus{border-color:var(--primary)}.time-range-selector[data-v-5db5eb8a]{display:flex;align-items:center;gap:6px}.time-sep[data-v-5db5eb8a]{color:var(--text-secondary);font-size:13px}.query-actions[data-v-5db5eb8a]{padding-bottom:2px}.query-separator[data-v-5db5eb8a]{width:1px;align-self:stretch;background:var(--border);flex-shrink:0;margin:2px 0}.tag-select-wrapper[data-v-5db5eb8a]{position:relative}.tag-picker-dropdown[data-v-5db5eb8a]{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-5db5eb8a]{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-5db5eb8a]{display:flex;align-items:center;gap:4px;white-space:nowrap}.tag-search-input[data-v-5db5eb8a]{width:120px;padding:3px 8px;font-size:12px}.tag-picker-list[data-v-5db5eb8a]{flex:1;overflow-y:auto;max-height:220px}.tag-option[data-v-5db5eb8a]{display:flex;align-items:center;gap:8px;padding:6px 12px;font-size:13px;cursor:pointer;color:var(--text)}.tag-option[data-v-5db5eb8a]:hover{background:var(--background, rgba(0, 0, 0, .03))}.tag-name[data-v-5db5eb8a]{font-weight:500;flex-shrink:0}.tag-address[data-v-5db5eb8a]{color:var(--text-secondary);font-size:11px;font-family:monospace;overflow:hidden;text-overflow:ellipsis}.tag-empty[data-v-5db5eb8a]{padding:16px;text-align:center;color:var(--text-secondary);font-size:13px}.tag-picker-footer[data-v-5db5eb8a]{padding:8px 10px;border-top:1px solid var(--border);text-align:right}.legend-bar[data-v-5db5eb8a]{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-5db5eb8a]{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-5db5eb8a]{color:var(--text)}.legend-color[data-v-5db5eb8a]{width:14px;height:3px;border-radius:2px}.record-count[data-v-5db5eb8a]{margin-left:auto;font-size:12px;color:var(--text-secondary);white-space:nowrap}.chart-wrapper[data-v-5db5eb8a]{flex:1;display:flex;flex-direction:column;min-height:400px;gap:0}.chart-container[data-v-5db5eb8a]{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-5db5eb8a]:active{cursor:grabbing}.chart-canvas[data-v-5db5eb8a]{width:100%;height:100%;position:absolute;top:0;left:0}.chart-empty[data-v-5db5eb8a]{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);font-size:14px}.datazoom-slider[data-v-5db5eb8a]{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-5db5eb8a]{flex:1;height:50px}.zoom-reset-btn[data-v-5db5eb8a]{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-5db5eb8a]:hover{border-color:var(--primary);color:var(--primary)}.sys-btn[data-v-5db5eb8a]{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-5db5eb8a]:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.sys-btn[data-v-5db5eb8a]:disabled{opacity:.5;cursor:not-allowed}.sys-btn-primary[data-v-5db5eb8a]{background:var(--primary);color:var(--text);border-color:var(--primary)}.sys-btn-primary[data-v-5db5eb8a]:hover:not(:disabled){opacity:.85;color:var(--text)}.sys-btn-secondary[data-v-5db5eb8a]{background:var(--surface);color:var(--text)}.sys-btn-sm[data-v-5db5eb8a]{padding:4px 10px;font-size:12px}.modal-overlay[data-v-5db5eb8a]{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-5db5eb8a .2s ease}@keyframes mb-fade-in-5db5eb8a{0%{opacity:0}to{opacity:1}}.modal-box[data-v-5db5eb8a]{width:400px;border-radius:8px;background:var(--surface);box-shadow:0 8px 30px #00000026;overflow:hidden;animation:mb-scale-in-5db5eb8a .2s ease}@keyframes mb-scale-in-5db5eb8a{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.modal-header[data-v-5db5eb8a]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-title[data-v-5db5eb8a]{font-size:15px;font-weight:600;color:var(--text)}.modal-close[data-v-5db5eb8a]{background:none;border:none;font-size:20px;cursor:pointer;color:var(--text-secondary);padding:0 4px;line-height:1}.modal-close[data-v-5db5eb8a]:hover{color:var(--text)}.modal-body[data-v-5db5eb8a]{padding:20px 24px}.modal-label[data-v-5db5eb8a]{display:block;font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.modal-input[data-v-5db5eb8a]{width:100%;box-sizing:border-box;padding:8px 12px;font-size:14px}.modal-footer[data-v-5db5eb8a]{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--border)}.realtime-trend-page[data-v-45e05ce9]{display:flex;flex-direction:column;height:calc(100vh - 100px);padding:16px 20px;gap:12px;overflow:hidden}.query-bar[data-v-45e05ce9]{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-45e05ce9]{width:1px;align-self:stretch;background:var(--border);flex-shrink:0;margin:2px}.query-field[data-v-45e05ce9]{display:flex;flex-direction:column;gap:6px;min-width:0}.query-field label[data-v-45e05ce9]{font-size:12px;font-weight:500;color:var(--text-secondary);letter-spacing:.02em;white-space:nowrap}.auto-label[data-v-45e05ce9]{display:flex;align-items:center;gap:6px;height:32px;padding:0 2px;cursor:pointer;font-size:13px;color:var(--text)}.form-select[data-v-45e05ce9],.form-input[data-v-45e05ce9]{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-45e05ce9]{height:32px;padding:0 10px;box-sizing:border-box;min-width:120px;cursor:pointer}.form-select[data-v-45e05ce9]:focus,.form-input[data-v-45e05ce9]:focus{border-color:var(--primary)}.tag-select-wrapper[data-v-45e05ce9]{position:relative}.tag-picker-dropdown[data-v-45e05ce9]{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-45e05ce9]{padding:8px 12px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:6px}.tag-search-input[data-v-45e05ce9]{width:100%;box-sizing:border-box}.tag-picker-list[data-v-45e05ce9]{flex:1;overflow-y:auto;padding:6px 12px}.tag-option[data-v-45e05ce9]{display:flex;align-items:center;gap:8px;padding:4px 0;cursor:pointer;font-size:13px}.tag-option input[data-v-45e05ce9]{flex-shrink:0}.tag-name[data-v-45e05ce9]{flex:1;color:var(--text)}.tag-address[data-v-45e05ce9]{font-size:11px;color:var(--text-secondary);font-family:monospace}.tag-empty[data-v-45e05ce9]{font-size:13px;color:var(--text-secondary);padding:12px;text-align:center}.tag-picker-footer[data-v-45e05ce9]{padding:8px 12px;border-top:1px solid var(--border);text-align:right}.chart-wrapper[data-v-45e05ce9]{flex:1;display:flex;flex-direction:column;gap:0;min-height:0}.chart-container[data-v-45e05ce9]{flex:1;position:relative;min-height:200px}.chart-canvas[data-v-45e05ce9]{width:100%;height:100%}.chart-empty[data-v-45e05ce9]{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-45e05ce9]{height:50px;position:relative;flex-shrink:0}.slider-canvas[data-v-45e05ce9]{width:100%;height:100%;cursor:pointer}.zoom-reset-btn[data-v-45e05ce9]{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-45e05ce9]:hover{color:var(--primary)}.legend-bar[data-v-45e05ce9]{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-45e05ce9]{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-45e05ce9]:not(.active){opacity:.4;text-decoration:line-through}.legend-color[data-v-45e05ce9]{width:16px;height:3px;border-radius:2px}.record-count[data-v-45e05ce9]{margin-left:auto;font-size:12px;color:var(--text-secondary)}.query-actions[data-v-45e05ce9]{justify-content:flex-end}.query-bar .sys-btn-sm[data-v-45e05ce9]{height:32px;padding:0 12px}.sys-btn[data-v-45e05ce9]{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-45e05ce9]:disabled{opacity:.4;cursor:not-allowed}.sys-btn-primary[data-v-45e05ce9]{background:var(--primary);color:#fff;border-color:var(--primary)}.sys-btn-secondary[data-v-45e05ce9]{background:var(--surface)}.sys-btn-sm[data-v-45e05ce9]{padding:4px 10px;font-size:12px}.modal-overlay[data-v-45e05ce9]{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-45e05ce9 .2s ease}@keyframes mb-fade-in-45e05ce9{0%{opacity:0}to{opacity:1}}.modal-box[data-v-45e05ce9]{width:400px;border-radius:8px;background:var(--surface);box-shadow:0 8px 30px #00000026;overflow:hidden}.modal-header[data-v-45e05ce9]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-title[data-v-45e05ce9]{font-size:15px;font-weight:600;color:var(--text)}.modal-close[data-v-45e05ce9]{background:none;border:none;font-size:20px;cursor:pointer;color:var(--text-secondary);padding:0 4px;line-height:1}.modal-close[data-v-45e05ce9]:hover{color:var(--text)}.modal-body[data-v-45e05ce9]{padding:20px 24px}.modal-label[data-v-45e05ce9]{display:block;font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.modal-input[data-v-45e05ce9]{width:100%;box-sizing:border-box;padding:8px 12px;font-size:14px}.modal-footer[data-v-45e05ce9]{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--border)}
