.login-page[data-v-a76bb063]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem}.login-container[data-v-a76bb063]{width:100%;max-width:28rem}.login-card[data-v-a76bb063]{background:#fff;border-radius:1rem;padding:2.5rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.login-header[data-v-a76bb063]{text-align:center;margin-bottom:2rem}.login-header h1[data-v-a76bb063]{font-size:1.875rem;font-weight:700;color:#1a202c;margin-bottom:.5rem}.login-header p[data-v-a76bb063]{color:#718096;font-size:.875rem}.alert[data-v-a76bb063]{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:.5rem;margin-bottom:1.5rem;font-size:.875rem}.alert-error[data-v-a76bb063]{background-color:#fee;color:#c53030;border:1px solid #fc8181}.alert-icon[data-v-a76bb063]{width:1.25rem;height:1.25rem;flex-shrink:0}.alert-close[data-v-a76bb063]{margin-left:auto;background:none;border:none;cursor:pointer;padding:0;width:1rem;height:1rem;color:inherit;opacity:.7}.alert-close[data-v-a76bb063]:hover{opacity:1}.alert-close svg[data-v-a76bb063]{width:100%;height:100%}.login-form[data-v-a76bb063]{display:flex;flex-direction:column;gap:1.25rem}.form-group[data-v-a76bb063]{display:flex;flex-direction:column;gap:.5rem}.form-label[data-v-a76bb063]{font-size:.875rem;font-weight:500;color:#2d3748}.required[data-v-a76bb063]{color:#e53e3e}.form-input[data-v-a76bb063]{width:100%;padding:.625rem .875rem;border:1px solid #e2e8f0;border-radius:.5rem;font-size:.875rem;transition:all .2s}.form-input[data-v-a76bb063]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-input[data-v-a76bb063]:disabled{background-color:#f7fafc;cursor:not-allowed}.input-error[data-v-a76bb063]{border-color:#fc8181}.input-error[data-v-a76bb063]:focus{border-color:#fc8181;box-shadow:0 0 0 3px #fc81811a}.error-message[data-v-a76bb063]{font-size:.75rem;color:#e53e3e;margin-top:-.25rem}.form-row[data-v-a76bb063]{display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.checkbox-label[data-v-a76bb063]{display:flex;align-items:center;gap:.5rem;cursor:pointer;color:#4a5568}.checkbox[data-v-a76bb063]{width:1rem;height:1rem;cursor:pointer}.link[data-v-a76bb063]{color:#667eea;text-decoration:none;font-weight:500}.link[data-v-a76bb063]:hover{text-decoration:underline}.btn[data-v-a76bb063]{padding:.625rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border:none;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn[data-v-a76bb063]:disabled{opacity:.6;cursor:not-allowed}.btn-primary[data-v-a76bb063]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary[data-v-a76bb063]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.btn-block[data-v-a76bb063]{width:100%}.btn-outline[data-v-a76bb063]{background:#fff;border:1px solid #e2e8f0;color:#2d3748}.btn-outline[data-v-a76bb063]:hover:not(:disabled){background:#f7fafc}.spinner[data-v-a76bb063]{width:1rem;height:1rem;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin-a76bb063 .6s linear infinite}@keyframes spin-a76bb063{to{transform:rotate(360deg)}}.divider[data-v-a76bb063]{position:relative;text-align:center;margin:1.5rem 0}.divider[data-v-a76bb063]:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#e2e8f0}.divider span[data-v-a76bb063]{position:relative;background:#fff;padding:0 1rem;font-size:.75rem;color:#718096}.sample-users[data-v-a76bb063]{display:flex;flex-direction:column;gap:.75rem}.sample-users-title[data-v-a76bb063]{font-size:.75rem;color:#718096;text-align:center;margin:0}.sample-users-grid[data-v-a76bb063]{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.sample-user-btn[data-v-a76bb063]{flex-direction:column;padding:.875rem .5rem;text-align:left;align-items:flex-start}.sample-user-btn[data-v-a76bb063]:hover:not(:disabled){background:#f7fafc;border-color:#667eea}.user-info[data-v-a76bb063]{display:flex;flex-direction:column;gap:.125rem;width:100%}.user-role[data-v-a76bb063]{font-weight:600;color:#2d3748;font-size:.875rem}.user-email[data-v-a76bb063]{font-size:.75rem;color:#718096;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon[data-v-a76bb063]{width:1.25rem;height:1.25rem;flex-shrink:0}.login-footer[data-v-a76bb063]{text-align:center;margin-top:1.5rem;font-size:.875rem;color:#718096}.user-menu-wrapper[data-v-99e929c5]{position:relative}.user-avatar[data-v-99e929c5]{width:36px;height:36px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;gap:4px;font-weight:600;cursor:pointer;transition:background .2s;padding:0 8px;min-width:36px}.user-avatar[data-v-99e929c5]:hover{background:#ffffff4d}.chevron-icon[data-v-99e929c5]{transition:transform .2s}.chevron-icon.open[data-v-99e929c5]{transform:rotate(180deg)}.user-dropdown[data-v-99e929c5]{position:absolute;top:calc(100% + 12px);right:0;background:#fff;border-radius:12px;box-shadow:0 10px 40px #00000026;min-width:280px;overflow:hidden;z-index:1000}.user-dropdown-header[data-v-99e929c5]{display:flex;align-items:center;gap:12px;padding:16px;background:#f7fafc}.user-dropdown-avatar[data-v-99e929c5]{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:18px;flex-shrink:0}.user-dropdown-info[data-v-99e929c5]{flex:1;min-width:0}.user-dropdown-name[data-v-99e929c5]{font-size:15px;font-weight:600;color:#1a202c;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-dropdown-email[data-v-99e929c5]{font-size:13px;color:#718096;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-divider[data-v-99e929c5]{height:1px;background:#e2e8f0}.user-dropdown-items[data-v-99e929c5]{padding:8px 0}.dropdown-item[data-v-99e929c5]{width:100%;display:flex;align-items:center;gap:12px;padding:12px 16px;background:none;border:none;color:#2d3748;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s;text-align:left}.dropdown-item[data-v-99e929c5]:hover{background:#f7fafc}.dropdown-icon[data-v-99e929c5]{width:20px;height:20px;color:#718096;flex-shrink:0}.dropdown-item:hover .dropdown-icon[data-v-99e929c5]{color:#667eea}.user-dropdown-footer[data-v-99e929c5]{padding:8px 0}.logout-item[data-v-99e929c5]{color:#dc2626}.logout-item[data-v-99e929c5]:hover{background:#fee2e2}.logout-item .dropdown-icon[data-v-99e929c5]{color:#dc2626}.logout-item:hover .dropdown-icon[data-v-99e929c5]{color:#991b1b}.dropdown-enter-active[data-v-99e929c5],.dropdown-leave-active[data-v-99e929c5]{transition:all .2s ease}.dropdown-enter-from[data-v-99e929c5],.dropdown-leave-to[data-v-99e929c5]{opacity:0;transform:translateY(-10px)}.language-switcher[data-v-bc47c903]{position:relative}.language-button[data-v-bc47c903]{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--color-surface);border:1px solid var(--color-border-primary);border-radius:6px;cursor:pointer;font-size:14px;color:var(--color-text-primary);transition:all .2s}.language-button[data-v-bc47c903]:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover)}.flag[data-v-bc47c903]{font-size:16px;line-height:1}.language-code[data-v-bc47c903]{font-weight:600;font-size:12px}.language-button svg[data-v-bc47c903]{transition:transform .2s}.language-dropdown[data-v-bc47c903]{position:absolute;top:calc(100% + 4px);right:0;min-width:180px;background:var(--color-surface);border:1px solid var(--color-border-primary);border-radius:6px;box-shadow:var(--shadow-lg);overflow:hidden;z-index:1000}.language-option[data-v-bc47c903]{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;background:none;border:none;cursor:pointer;font-size:14px;color:var(--color-text-primary);transition:background .2s;text-align:left}.language-option[data-v-bc47c903]:hover{background:var(--color-surface-hover)}.language-option.active[data-v-bc47c903]{background:var(--color-surface-active);color:var(--color-primary);font-weight:600}.language-name[data-v-bc47c903]{flex:1}.check-icon[data-v-bc47c903]{width:16px;height:16px;flex-shrink:0;stroke:var(--color-primary)}.dropdown-enter-active[data-v-bc47c903],.dropdown-leave-active[data-v-bc47c903]{transition:all .2s ease}.dropdown-enter-from[data-v-bc47c903],.dropdown-leave-to[data-v-bc47c903]{opacity:0;transform:translateY(-8px)}.system-state-indicator[data-v-0105bce2]{display:flex;align-items:center;height:100%}.state-box[data-v-0105bce2]{display:flex;align-items:center;justify-content:center;padding:0 var(--spacing-md);height:100%;min-width:80px;transition:background-color var(--transition-fast);cursor:default}.state-text[data-v-0105bce2]{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-inverse);text-transform:uppercase;letter-spacing:.5px}.state-box[data-v-0105bce2]:has(.state-text:contains("Error")){animation:pulse-error-0105bce2 2s infinite}@keyframes pulse-error-0105bce2{0%,to{opacity:1}50%{opacity:.85}}.system-time-item[data-v-ffe8a8eb]{display:flex;align-items:center;height:100%;padding:0 var(--spacing-md);background:#0000001a;-webkit-user-select:none;user-select:none}.time-container[data-v-ffe8a8eb]{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.date-text[data-v-ffe8a8eb]{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-inverse);opacity:.85;line-height:1.2}.time-text[data-v-ffe8a8eb]{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-inverse);font-family:var(--font-family-mono);letter-spacing:.5px;line-height:1.2}@media (max-width: 768px){.date-text[data-v-ffe8a8eb]{display:none}.time-container[data-v-ffe8a8eb]{align-items:center}}.header[data-v-71012b59]{height:var(--header-height);background:var(--color-primary-gradient);color:var(--color-text-inverse);display:flex;align-items:center;padding:0;padding-left:var(--spacing-lg);box-shadow:var(--shadow-md);z-index:var(--z-index-sticky)}.header-content[data-v-71012b59]{display:flex;align-items:center;justify-content:space-between;width:100%;height:100%}.header-left[data-v-71012b59]{display:flex;align-items:center;gap:var(--spacing-md);height:100%}.menu-btn[data-v-71012b59]{background:none;border:none;color:var(--color-text-inverse);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--border-radius-md);transition:background var(--transition-fast);display:flex;align-items:center;justify-content:center}.menu-btn[data-v-71012b59]:hover{background:#ffffff1a}.menu-btn[data-v-71012b59]:active{background:#ffffff26}.system-branding[data-v-71012b59]{display:flex;align-items:center;gap:var(--spacing-sm)}.system-icon[data-v-71012b59]{width:32px;height:32px;flex-shrink:0;stroke:var(--color-text-inverse);filter:drop-shadow(0 1px 2px rgba(0,0,0,.2))}.header-title[data-v-71012b59]{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-inverse);white-space:nowrap;margin:0}.header-right[data-v-71012b59]{display:flex;align-items:center;height:100%;gap:0}.header-actions[data-v-71012b59]{display:flex;align-items:center;gap:var(--spacing-xs);padding:0 var(--spacing-md);height:100%}.header-system-info[data-v-71012b59]{display:flex;align-items:stretch;height:100%;margin-left:var(--spacing-md)}.icon-btn[data-v-71012b59]{background:none;border:none;color:var(--color-text-inverse);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--border-radius-md);transition:background var(--transition-fast);position:relative;display:flex;align-items:center;justify-content:center}.icon-btn[data-v-71012b59]:hover{background:#ffffff1a}.icon-btn[data-v-71012b59]:active{background:#ffffff26}.theme-toggle[data-v-71012b59]{transition:transform var(--transition-fast),background var(--transition-fast)}.theme-toggle[data-v-71012b59]:hover{transform:rotate(15deg)}.theme-toggle[data-v-71012b59]:active{transform:rotate(30deg)}.notification-badge[data-v-71012b59]{position:absolute;top:4px;right:4px;background:var(--color-error);color:var(--color-text-inverse);font-size:10px;font-weight:var(--font-weight-semibold);padding:2px 5px;border-radius:var(--border-radius-full);min-width:16px;text-align:center;line-height:1}.menu-item-wrapper[data-v-0be5e247]{margin-bottom:2px}.menu-item[data-v-0be5e247]{display:flex;align-items:center;gap:var(--spacing-sm);padding:10px var(--spacing-md);border-radius:var(--border-radius-md);cursor:pointer;transition:background var(--transition-fast);position:relative;min-height:40px;color:var(--color-text-primary)}.menu-item[data-v-0be5e247]:hover{background:var(--color-surface-hover)}.menu-item.active[data-v-0be5e247]{background:var(--color-primary);color:var(--color-text-inverse)}.menu-item.has-children[data-v-0be5e247]{padding-left:var(--spacing-sm)}.expand-btn[data-v-0be5e247]{background:none;border:none;color:var(--color-text-tertiary);cursor:pointer;padding:2px;display:flex;align-items:center;justify-content:center;transition:transform var(--transition-fast);flex-shrink:0}.expand-icon[data-v-0be5e247]{transition:transform var(--transition-fast)}.expand-icon.expanded[data-v-0be5e247]{transform:rotate(90deg)}.item-icon[data-v-0be5e247]{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.nav-icon[data-v-0be5e247]{width:20px;height:20px;color:currentColor}.color-badge[data-v-0be5e247]{width:10px;height:10px;border-radius:var(--border-radius-full)}.item-label[data-v-0be5e247]{flex:1;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-actions[data-v-0be5e247]{display:none;gap:var(--spacing-xs);align-items:center}.menu-item:hover .item-actions[data-v-0be5e247]{display:flex}.action-btn[data-v-0be5e247]{background:none;border:none;color:var(--color-text-tertiary);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--border-radius-sm);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.action-btn[data-v-0be5e247]:hover{background:var(--color-surface-active);color:var(--color-text-primary)}.remove-btn[data-v-0be5e247]:hover{background:#ef44441a;color:var(--color-error)}.children[data-v-0be5e247]{overflow:hidden}.expand-enter-active[data-v-0be5e247],.expand-leave-active[data-v-0be5e247]{transition:all var(--transition-base) ease}.expand-enter-from[data-v-0be5e247],.expand-leave-to[data-v-0be5e247]{opacity:0;max-height:0}.expand-enter-to[data-v-0be5e247],.expand-leave-from[data-v-0be5e247]{opacity:1;max-height:1000px}.sidebar[data-v-6b08976d]{width:var(--sidebar-width);background:var(--color-surface);color:var(--color-text-primary);transition:transform var(--transition-base),width var(--transition-base);overflow-y:auto;box-shadow:var(--shadow-md);border-right:var(--border-width) solid var(--color-border-primary)}.sidebar.collapsed[data-v-6b08976d]{transform:translate(calc(-1 * var(--sidebar-width)));width:var(--sidebar-collapsed-width)}.sidebar-nav[data-v-6b08976d]{padding:var(--spacing-md) 0}.nav-section[data-v-6b08976d]{margin-bottom:var(--spacing-lg)}.section-header[data-v-6b08976d]{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-lg);margin-bottom:var(--spacing-xs)}.section-title[data-v-6b08976d]{font-size:var(--font-size-xs);text-transform:uppercase;color:var(--color-text-tertiary);font-weight:var(--font-weight-semibold);letter-spacing:.5px}.add-btn[data-v-6b08976d]{background:none;border:none;color:var(--color-text-tertiary);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--border-radius-sm);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.add-btn[data-v-6b08976d]:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.add-btn[data-v-6b08976d]:active{background:var(--color-surface-active)}.dialog-overlay[data-v-21e7f0fd]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-index-modal);padding:var(--spacing-lg);overflow-y:auto}.dialog-container[data-v-21e7f0fd]{background:var(--color-bg-elevated);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-2xl);max-width:600px;width:100%;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column}.dialog-header[data-v-21e7f0fd]{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-lg);border-bottom:var(--border-width) solid var(--color-border-primary)}.dialog-header-icon[data-v-21e7f0fd]{width:48px;height:48px;border-radius:var(--border-radius-full);display:flex;align-items:center;justify-content:center;flex-shrink:0}.dialog-header-icon svg[data-v-21e7f0fd]{width:24px;height:24px}.dialog-header-content[data-v-21e7f0fd]{flex:1;min-width:0}.dialog-title[data-v-21e7f0fd]{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0;line-height:var(--line-height-tight)}.dialog-meta[data-v-21e7f0fd]{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.meta-badge[data-v-21e7f0fd]{display:inline-block;padding:2px var(--spacing-xs);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px}.meta-badge.type-error[data-v-21e7f0fd]{background:#ef44441a;color:#dc2626}.meta-badge.type-warning[data-v-21e7f0fd]{background:#f59e0b1a;color:#d97706}.meta-badge.type-info[data-v-21e7f0fd]{background:#2563eb1a;color:#2563eb}.meta-badge.type-success[data-v-21e7f0fd]{background:#10b9811a;color:#059669}.meta-system[data-v-21e7f0fd]{font-size:var(--font-size-xs);color:var(--color-text-tertiary);font-weight:var(--font-weight-medium)}.meta-time[data-v-21e7f0fd]{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.dialog-close-btn[data-v-21e7f0fd]{background:none;border:none;cursor:pointer;padding:var(--spacing-xs);color:var(--color-text-tertiary);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-sm);flex-shrink:0}.dialog-close-btn[data-v-21e7f0fd]:hover{color:var(--color-text-primary);background:var(--color-surface-hover)}.dialog-close-btn svg[data-v-21e7f0fd]{width:20px;height:20px}.dialog-body[data-v-21e7f0fd]{flex:1;padding:var(--spacing-lg);overflow-y:auto}.section[data-v-21e7f0fd]{margin-bottom:var(--spacing-lg)}.section[data-v-21e7f0fd]:last-child{margin-bottom:0}.section-title[data-v-21e7f0fd]{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 var(--spacing-sm) 0}.section-content[data-v-21e7f0fd]{font-size:var(--font-size-base);color:var(--color-text-primary);line-height:var(--line-height-relaxed);margin:0;white-space:pre-wrap;word-break:break-word}.detail-grid[data-v-21e7f0fd]{display:grid;gap:var(--spacing-md)}.detail-item[data-v-21e7f0fd]{display:flex;flex-direction:column;gap:var(--spacing-xs)}.detail-label[data-v-21e7f0fd]{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.detail-value[data-v-21e7f0fd]{font-size:var(--font-size-sm);color:var(--color-text-primary);word-break:break-word}.detail-value.mono[data-v-21e7f0fd]{font-family:var(--font-family-mono);font-size:var(--font-size-xs);background:var(--color-bg-secondary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);display:inline-block}.type-badge[data-v-21e7f0fd]{display:inline-block;padding:4px var(--spacing-sm);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:capitalize}.type-badge.type-error[data-v-21e7f0fd]{background:#ef44441a;color:#dc2626}.type-badge.type-warning[data-v-21e7f0fd]{background:#f59e0b1a;color:#d97706}.type-badge.type-info[data-v-21e7f0fd]{background:#2563eb1a;color:#2563eb}.type-badge.type-success[data-v-21e7f0fd]{background:#10b9811a;color:#059669}.status-read[data-v-21e7f0fd],.status-unread[data-v-21e7f0fd]{display:inline-block;padding:4px var(--spacing-sm);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.status-read[data-v-21e7f0fd]{background:var(--color-bg-secondary);color:var(--color-text-tertiary)}.status-unread[data-v-21e7f0fd]{background:#2563eb1a;color:#2563eb}.state-badge[data-v-21e7f0fd]{display:inline-block;padding:4px 10px;border-radius:12px;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.state-badge.state-pending[data-v-21e7f0fd]{background:#fef3c7;color:#92400e}.state-badge.state-processing[data-v-21e7f0fd]{background:#dbeafe;color:#1e40af}.state-badge.state-processed[data-v-21e7f0fd]{background:#d1fae5;color:#065f46}.state-badge.state-false-alarm[data-v-21e7f0fd]{background:#e5e7eb;color:#374151}.dialog-footer[data-v-21e7f0fd]{display:flex;justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-lg);border-top:var(--border-width) solid var(--color-border-primary)}.btn-secondary[data-v-21e7f0fd],.btn-primary[data-v-21e7f0fd]{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);border:none}.btn-secondary[data-v-21e7f0fd]{background:var(--color-bg-secondary);color:var(--color-text-primary)}.btn-secondary[data-v-21e7f0fd]:hover{background:var(--color-surface-hover)}.btn-primary[data-v-21e7f0fd]{background:var(--color-primary);color:#fff}.btn-primary[data-v-21e7f0fd]:hover{opacity:.9}.dialog-enter-active[data-v-21e7f0fd]{transition:all .3s cubic-bezier(.16,1,.3,1)}.dialog-leave-active[data-v-21e7f0fd]{transition:all .2s cubic-bezier(.4,0,1,1)}.dialog-enter-from[data-v-21e7f0fd],.dialog-leave-to[data-v-21e7f0fd]{opacity:0}.dialog-enter-from .dialog-container[data-v-21e7f0fd],.dialog-leave-to .dialog-container[data-v-21e7f0fd]{transform:scale(.95) translateY(-20px)}@media (max-width: 768px){.dialog-overlay[data-v-21e7f0fd]{padding:var(--spacing-sm)}.dialog-container[data-v-21e7f0fd]{max-height:95vh}.dialog-header[data-v-21e7f0fd],.dialog-body[data-v-21e7f0fd],.dialog-footer[data-v-21e7f0fd]{padding:var(--spacing-md)}.dialog-title[data-v-21e7f0fd]{font-size:var(--font-size-base)}}.right-sidebar[data-v-46595cfd]{position:fixed;right:0;top:var(--header-height);height:calc(100vh - var(--header-height));width:var(--notification-sidebar-width);background:var(--color-bg-elevated);box-shadow:var(--shadow-lg);transition:transform var(--transition-base);overflow-y:auto;display:flex;flex-direction:column;z-index:var(--z-index-modal)}.right-sidebar.closed[data-v-46595cfd]{transform:translate(var(--notification-sidebar-width))}.right-sidebar-header[data-v-46595cfd]{padding:var(--spacing-md) var(--spacing-lg);border-bottom:var(--border-width) solid var(--color-border-primary);background:var(--color-bg-elevated);position:sticky;top:0;z-index:1}.header-top[data-v-46595cfd]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.right-sidebar-title[data-v-46595cfd]{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.group-toggle[data-v-46595cfd]{display:flex;gap:var(--spacing-xs);background:var(--color-bg-secondary);padding:var(--spacing-xs);border-radius:var(--border-radius-md)}.toggle-btn[data-v-46595cfd]{flex:1;background:transparent;border:none;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);cursor:pointer;border-radius:var(--border-radius-sm);transition:all var(--transition-fast);white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs)}.toggle-btn svg[data-v-46595cfd]{width:14px;height:14px;flex-shrink:0}.toggle-btn[data-v-46595cfd]:hover:not(.active){color:var(--color-text-primary);background:var(--color-surface-hover)}.toggle-btn.active[data-v-46595cfd]{background:var(--color-bg-elevated);color:var(--color-primary);box-shadow:var(--shadow-sm);font-weight:var(--font-weight-semibold)}.close-btn[data-v-46595cfd]{background:none;border:none;cursor:pointer;padding:var(--spacing-xs);color:var(--color-text-tertiary);transition:color var(--transition-fast);display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-sm)}.close-btn[data-v-46595cfd]:hover{color:var(--color-text-primary);background:var(--color-surface-hover)}.close-btn svg[data-v-46595cfd]{width:20px;height:20px}.notifications-list[data-v-46595cfd]{flex:1;overflow-y:auto}.notification-group[data-v-46595cfd]{margin-bottom:var(--spacing-sm)}.group-header[data-v-46595cfd]{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-bg-secondary);color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em;position:sticky;top:0;z-index:1}.group-header.clickable[data-v-46595cfd]{cursor:pointer;transition:background var(--transition-fast);-webkit-user-select:none;user-select:none}.group-header.clickable[data-v-46595cfd]:hover{background:var(--color-surface-hover)}.group-header svg[data-v-46595cfd]{width:14px;height:14px;flex-shrink:0}.chevron-icon[data-v-46595cfd]{transition:transform var(--transition-fast)}.chevron-icon.collapsed[data-v-46595cfd]{transform:rotate(-90deg)}.group-title[data-v-46595cfd]{flex:1}.group-count[data-v-46595cfd]{background:var(--color-bg-elevated);color:var(--color-text-tertiary);padding:2px var(--spacing-xs);border-radius:var(--border-radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);min-width:20px;text-align:center}.group-header.level-error[data-v-46595cfd]{background:#ef44441a;color:#dc2626}.group-header.level-error .group-count[data-v-46595cfd]{background:#ef444433;color:#991b1b}.group-header.level-warning[data-v-46595cfd]{background:#f59e0b1a;color:#d97706}.group-header.level-warning .group-count[data-v-46595cfd]{background:#f59e0b33;color:#92400e}.group-header.level-info[data-v-46595cfd]{background:#2563eb1a;color:#2563eb}.group-header.level-info .group-count[data-v-46595cfd]{background:#2563eb33;color:#1e40af}.group-header.level-success[data-v-46595cfd]{background:#10b9811a;color:#059669}.group-header.level-success .group-count[data-v-46595cfd]{background:#10b98133;color:#047857}.notification-item[data-v-46595cfd]{padding:var(--spacing-md) var(--spacing-lg);border-bottom:var(--border-width) solid var(--color-border-primary);cursor:pointer;transition:background var(--transition-fast);background:var(--color-bg-elevated)}.notification-item[data-v-46595cfd]:hover{background:var(--color-surface-hover)}.notification-item.unread[data-v-46595cfd]{background:var(--color-bg-secondary)}.notification-item.unread[data-v-46595cfd]:hover{background:var(--color-surface-hover)}.notification-header[data-v-46595cfd]{display:flex;align-items:flex-start;gap:var(--spacing-md)}.notification-icon[data-v-46595cfd]{width:36px;height:36px;border-radius:var(--border-radius-full);display:flex;align-items:center;justify-content:center;flex-shrink:0}.notification-icon svg[data-v-46595cfd]{width:16px;height:16px}.notification-content[data-v-46595cfd]{flex:1;min-width:0}.notification-title[data-v-46595cfd]{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.notification-message[data-v-46595cfd]{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-normal);margin-bottom:var(--spacing-xs);word-wrap:break-word}.notification-time[data-v-46595cfd]{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.unread-indicator[data-v-46595cfd]{width:8px;height:8px;border-radius:var(--border-radius-full);background:var(--color-primary);flex-shrink:0;margin-top:4px}.notifications-empty[data-v-46595cfd]{padding:var(--spacing-2xl) var(--spacing-lg);text-align:center;color:var(--color-text-tertiary);flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.notifications-empty svg[data-v-46595cfd]{width:48px;height:48px;margin-bottom:var(--spacing-md);opacity:.5}.notifications-empty p[data-v-46595cfd]{font-size:var(--font-size-sm)}.mark-all-read[data-v-46595cfd]{padding:var(--spacing-md) var(--spacing-lg);border-top:var(--border-width) solid var(--color-border-primary);text-align:center;background:var(--color-bg-elevated);position:sticky;bottom:0}.mark-all-read button[data-v-46595cfd]{background:none;border:none;color:var(--color-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md);transition:background var(--transition-fast)}.mark-all-read button[data-v-46595cfd]:hover{background:var(--color-surface-hover)}@media (max-width: 768px){.right-sidebar[data-v-46595cfd]{width:100%;max-width:400px}.right-sidebar.closed[data-v-46595cfd]{transform:translate(100%)}}.notification-badge[data-v-3b4ceaff]{position:fixed;top:calc(var(--header-height) + var(--spacing-md));right:var(--spacing-md);max-width:400px;min-width:300px;background:var(--color-bg-elevated);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);padding:var(--spacing-md);display:flex;align-items:flex-start;gap:var(--spacing-md);cursor:pointer;transition:transform var(--transition-base),opacity var(--transition-base);z-index:var(--z-index-tooltip);border-left:4px solid}.notification-badge[data-v-3b4ceaff]:hover{transform:translate(-4px)}.notification-badge-icon[data-v-3b4ceaff]{width:36px;height:36px;border-radius:var(--border-radius-full);display:flex;align-items:center;justify-content:center;flex-shrink:0}.notification-badge-icon svg[data-v-3b4ceaff]{width:20px;height:20px}.notification-badge-content[data-v-3b4ceaff]{flex:1;min-width:0}.notification-badge-title[data-v-3b4ceaff]{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-xs);line-height:var(--line-height-tight)}.notification-badge-message[data-v-3b4ceaff]{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-normal);margin-bottom:var(--spacing-xs)}.notification-badge-system[data-v-3b4ceaff]{font-size:var(--font-size-xs);color:var(--color-text-tertiary);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.05em}.notification-badge-close[data-v-3b4ceaff]{background:none;border:none;cursor:pointer;padding:var(--spacing-xs);color:var(--color-text-tertiary);transition:color var(--transition-fast);display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-sm);flex-shrink:0}.notification-badge-close[data-v-3b4ceaff]:hover{color:var(--color-text-primary);background:var(--color-surface-hover)}.notification-badge-close svg[data-v-3b4ceaff]{width:16px;height:16px}.notification-error[data-v-3b4ceaff]{border-left-color:#ef4444}.notification-error .notification-badge-icon[data-v-3b4ceaff]{background:#ef44441a;color:#ef4444}.notification-warning[data-v-3b4ceaff]{border-left-color:#f59e0b}.notification-warning .notification-badge-icon[data-v-3b4ceaff]{background:#f59e0b1a;color:#f59e0b}.notification-info[data-v-3b4ceaff]{border-left-color:#2563eb}.notification-info .notification-badge-icon[data-v-3b4ceaff]{background:#2563eb1a;color:#2563eb}.notification-success[data-v-3b4ceaff]{border-left-color:#10b981}.notification-success .notification-badge-icon[data-v-3b4ceaff]{background:#10b9811a;color:#10b981}.notification-slide-enter-active[data-v-3b4ceaff]{transition:all .3s cubic-bezier(.16,1,.3,1)}.notification-slide-leave-active[data-v-3b4ceaff]{transition:all .2s cubic-bezier(.4,0,1,1)}.notification-slide-enter-from[data-v-3b4ceaff]{transform:translate(100%);opacity:0}.notification-slide-leave-to[data-v-3b4ceaff]{transform:translateY(-8px);opacity:0}@media (max-width: 768px){.notification-badge[data-v-3b4ceaff]{top:var(--spacing-sm);right:var(--spacing-sm);left:var(--spacing-sm);max-width:none;min-width:auto}}.modal-overlay[data-v-5750c755]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-container[data-v-5750c755]{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;width:100%;max-width:500px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-header[data-v-5750c755]{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid #e2e8f0}.modal-title[data-v-5750c755]{font-size:20px;font-weight:700;color:#1a202c}.close-button[data-v-5750c755]{background:none;border:none;color:#718096;cursor:pointer;padding:4px;border-radius:6px;transition:all .2s}.close-button[data-v-5750c755]:hover{background:#f7fafc;color:#1a202c}.modal-body[data-v-5750c755]{padding:24px;overflow-y:auto}.form-group[data-v-5750c755]{margin-bottom:20px}.form-label[data-v-5750c755]{display:block;font-size:14px;font-weight:600;color:#374151;margin-bottom:8px}.password-input-wrapper[data-v-5750c755]{position:relative}.form-input[data-v-5750c755]{width:100%;padding:12px 40px 12px 16px;border:2px solid #e2e8f0;border-radius:8px;font-size:15px;transition:all .2s}.form-input[data-v-5750c755]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-input[data-v-5750c755]:disabled{background:#f7fafc;cursor:not-allowed}.toggle-password[data-v-5750c755]{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:#718096;cursor:pointer;padding:4px;border-radius:4px;transition:color .2s}.toggle-password[data-v-5750c755]:hover{color:#667eea}.password-strength[data-v-5750c755]{margin-top:8px}.strength-bar[data-v-5750c755]{height:4px;background:#e2e8f0;border-radius:2px;overflow:hidden;margin-bottom:4px}.strength-fill[data-v-5750c755]{height:100%;transition:width .3s,background .3s}.strength-fill.weak[data-v-5750c755]{background:#ef4444}.strength-fill.medium[data-v-5750c755]{background:#f59e0b}.strength-fill.good[data-v-5750c755]{background:#3b82f6}.strength-fill.strong[data-v-5750c755]{background:#10b981}.strength-text[data-v-5750c755]{font-size:12px;font-weight:600}.strength-text.weak[data-v-5750c755]{color:#ef4444}.strength-text.medium[data-v-5750c755]{color:#f59e0b}.strength-text.good[data-v-5750c755]{color:#3b82f6}.strength-text.strong[data-v-5750c755]{color:#10b981}.error-message[data-v-5750c755]{background:#fee2e2;color:#dc2626;padding:12px;border-radius:8px;font-size:14px;margin-bottom:16px;border:1px solid #fecaca}.success-message[data-v-5750c755]{background:#d1fae5;color:#065f46;padding:12px;border-radius:8px;font-size:14px;margin-bottom:16px;border:1px solid #a7f3d0}.modal-footer[data-v-5750c755]{display:flex;gap:12px;justify-content:flex-end;padding-top:16px;border-top:1px solid #e2e8f0}.btn-secondary[data-v-5750c755],.btn-primary[data-v-5750c755]{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;border:none}.btn-secondary[data-v-5750c755]{background:#f7fafc;color:#4a5568}.btn-secondary[data-v-5750c755]:hover:not(:disabled){background:#e2e8f0}.btn-primary[data-v-5750c755]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary[data-v-5750c755]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.btn-secondary[data-v-5750c755]:disabled,.btn-primary[data-v-5750c755]:disabled{opacity:.6;cursor:not-allowed}.loading-spinner[data-v-5750c755]{display:flex;align-items:center;gap:8px}.spinner[data-v-5750c755]{width:16px;height:16px;animation:spin-5750c755 1s linear infinite}@keyframes spin-5750c755{to{transform:rotate(360deg)}}.spinner-circle[data-v-5750c755]{stroke-dasharray:60;stroke-dashoffset:45}.modal-enter-active[data-v-5750c755],.modal-leave-active[data-v-5750c755]{transition:opacity .3s ease}.modal-enter-active .modal-container[data-v-5750c755],.modal-leave-active .modal-container[data-v-5750c755]{transition:transform .3s ease}.modal-enter-from[data-v-5750c755],.modal-leave-to[data-v-5750c755]{opacity:0}.modal-enter-from .modal-container[data-v-5750c755],.modal-leave-to .modal-container[data-v-5750c755]{transform:scale(.9)}.impeller.rotating[data-v-a24a0386]{animation:rotate-a24a0386 2s linear infinite;transform-origin:center}@keyframes rotate-a24a0386{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.status-indicator[data-v-a24a0386]{animation:pulse-a24a0386 1s ease-in-out infinite}@keyframes pulse-a24a0386{0%,to{opacity:1}50%{opacity:.5}}.liquid-fill[data-v-cb7e3c5f]{animation:shimmer-cb7e3c5f 3s ease-in-out infinite}@keyframes shimmer-cb7e3c5f{0%,to{opacity:.7}50%{opacity:.8}}#app{height:100vh;width:100vw;display:flex;flex-direction:column;background-color:var(--color-bg-primary)}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;width:100vw;background-color:var(--color-bg-primary)}.loading-spinner{width:48px;height:48px;border:4px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-screen p{margin-top:16px;color:var(--color-text-secondary);font-size:14px}.main-layout{display:flex;flex:1;overflow:hidden}svg{width:100%;height:100%}.page-content{flex:1;background-color:var(--color-bg-secondary);overflow-y:auto;transition:margin-right var(--transition-base)}.page-content.with-notification{margin-right:var(--notification-sidebar-width)}.system-card[data-v-84a7671a]{background:var(--color-bg-primary);border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;transition:transform .2s,box-shadow .2s;border:var(--border-width) solid var(--color-border-primary)}.system-card[data-v-84a7671a]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.system-header[data-v-84a7671a]{display:flex;gap:16px;margin-bottom:16px}.system-icon[data-v-84a7671a]{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.system-info[data-v-84a7671a]{flex:1;display:flex;flex-direction:column;gap:8px}.system-name[data-v-84a7671a]{font-size:16px;font-weight:600;color:var(--color-text-primary)}.system-status-badge[data-v-84a7671a]{display:inline-flex;align-items:center;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;width:fit-content}.system-description[data-v-84a7671a]{font-size:14px;color:var(--color-text-secondary);margin-bottom:16px;line-height:1.5}.system-metrics[data-v-84a7671a]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:16px;background:var(--color-bg-secondary);border-radius:8px;margin-bottom:12px}.metric-item[data-v-84a7671a]{display:flex;flex-direction:column;gap:4px}.metric-label[data-v-84a7671a]{font-size:12px;color:var(--color-text-secondary);font-weight:500}.metric-value[data-v-84a7671a]{font-size:18px;font-weight:700;color:var(--color-text-primary)}.metric-value.active[data-v-84a7671a]{color:#10b981}.metric-value.warning[data-v-84a7671a]{color:#f59e0b}.metric-value.error[data-v-84a7671a]{color:#ef4444}.system-footer[data-v-84a7671a]{padding-top:12px;border-top:var(--border-width) solid var(--color-border-primary)}.last-update[data-v-84a7671a]{font-size:12px;color:var(--color-text-tertiary)}.page-container[data-v-2dfe7fe7]{padding:32px;height:100%;overflow-y:auto}.page-header[data-v-2dfe7fe7]{margin-bottom:32px}.page-title[data-v-2dfe7fe7]{font-size:28px;font-weight:700;color:var(--color-text-primary);margin-bottom:8px}.page-subtitle[data-v-2dfe7fe7]{font-size:16px;color:var(--color-text-secondary)}.stats-grid[data-v-2dfe7fe7]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-bottom:32px}.stat-card[data-v-2dfe7fe7]{background:var(--color-bg-primary);border:var(--border-width) solid var(--color-border-primary);border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;transition:transform .2s,box-shadow .2s}.stat-card[data-v-2dfe7fe7]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.stat-card-header[data-v-2dfe7fe7]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.stat-label[data-v-2dfe7fe7]{font-size:14px;color:var(--color-text-secondary);font-weight:500}.stat-icon[data-v-2dfe7fe7]{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center}.stat-value[data-v-2dfe7fe7]{font-size:32px;font-weight:700;color:var(--color-text-primary);margin-bottom:8px}.stat-change[data-v-2dfe7fe7]{font-size:13px;color:var(--color-text-tertiary)}.systems-section[data-v-2dfe7fe7]{margin-bottom:32px}.section-title[data-v-2dfe7fe7]{font-size:20px;font-weight:600;color:var(--color-text-primary);margin-bottom:20px}.systems-grid[data-v-2dfe7fe7]{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px}.content-card[data-v-2dfe7fe7]{background:var(--color-bg-primary);border:var(--border-width) solid var(--color-border-primary);border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a}.card-title[data-v-2dfe7fe7]{font-size:18px;font-weight:600;color:var(--color-text-primary);margin-bottom:16px}.activity-item[data-v-2dfe7fe7]{display:flex;gap:16px;padding:16px;background:var(--color-bg-secondary);border-radius:8px;margin-bottom:12px}.activity-icon[data-v-2dfe7fe7]{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.activity-content[data-v-2dfe7fe7]{flex:1}.activity-title[data-v-2dfe7fe7]{font-size:14px;font-weight:600;color:var(--color-text-primary);margin-bottom:4px}.activity-desc[data-v-2dfe7fe7]{font-size:13px;color:var(--color-text-secondary);margin-bottom:4px}.activity-time[data-v-2dfe7fe7]{font-size:12px;color:var(--color-text-tertiary)}.a-table[data-v-5de2459e]{width:100%;display:flex;flex-direction:column}.table-container[data-v-5de2459e]{width:100%;background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:8px;overflow:hidden;display:flex;flex-direction:column}.table-header-wrapper[data-v-5de2459e]{position:sticky;top:0;z-index:10;background:var(--color-bg-secondary);border-bottom:2px solid var(--color-border-primary)}.table-header[data-v-5de2459e]{display:grid;gap:12px;padding:14px 16px;background:var(--color-bg-secondary);font-size:13px;font-weight:600;color:var(--color-text-secondary);min-width:max-content;overflow-x:auto}.table-header[data-v-5de2459e]::-webkit-scrollbar{height:0;display:none}.table-content-wrapper[data-v-5de2459e]{width:100%;overflow-y:auto;overflow-x:hidden;max-height:600px}.table-content-wrapper[data-v-5de2459e]::-webkit-scrollbar{width:8px}.table-content-wrapper[data-v-5de2459e]::-webkit-scrollbar-track{background:var(--color-bg-secondary);border-radius:4px}.table-content-wrapper[data-v-5de2459e]::-webkit-scrollbar-thumb{background:var(--color-border-secondary);border-radius:4px}.table-content-wrapper[data-v-5de2459e]::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.table-wrapper[data-v-5de2459e]{width:100%;overflow-x:auto;overflow-y:visible}.table-wrapper[data-v-5de2459e]::-webkit-scrollbar{height:8px}.table-wrapper[data-v-5de2459e]::-webkit-scrollbar-track{background:var(--color-bg-secondary);border-radius:4px}.table-wrapper[data-v-5de2459e]::-webkit-scrollbar-thumb{background:var(--color-border-secondary);border-radius:4px}.table-wrapper[data-v-5de2459e]::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.col-header[data-v-5de2459e]{display:flex;align-items:center;gap:6px}.col-header.sortable[data-v-5de2459e]{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--transition-fast)}.col-header.sortable[data-v-5de2459e]:hover{color:var(--color-text-primary)}.sort-arrow[data-v-5de2459e]{width:12px;height:12px;flex-shrink:0;transition:transform var(--transition-fast);color:var(--color-primary)}.sort-arrow.sort-desc[data-v-5de2459e]{transform:rotate(180deg)}.table-body[data-v-5de2459e]{width:100%;min-width:max-content}.table-row-wrapper[data-v-5de2459e]{border-bottom:1px solid var(--color-border-primary)}.table-row-wrapper[data-v-5de2459e]:last-child{border-bottom:none}.table-row[data-v-5de2459e]{display:grid;gap:12px;padding:16px;font-size:14px;color:var(--color-text-primary);transition:background .2s}.table-row.hoverable[data-v-5de2459e]:hover,.table-row.expanded[data-v-5de2459e]{background:var(--color-surface-hover)}.col-expand[data-v-5de2459e]{display:flex;align-items:center;justify-content:center}.btn-expand[data-v-5de2459e]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:1px solid var(--color-border-primary);border-radius:4px;cursor:pointer;color:var(--color-text-secondary);transition:all .2s}.btn-expand[data-v-5de2459e]:hover{background:var(--color-surface-active);color:var(--color-text-primary);border-color:var(--color-border-hover)}.btn-expand svg[data-v-5de2459e]{transition:transform .2s}.col-cell[data-v-5de2459e]{display:flex;align-items:center;overflow:hidden}.col-number[data-v-5de2459e]{color:var(--color-text-tertiary);font-size:13px;font-weight:500}.col-expand-header[data-v-5de2459e]{width:40px}.expanded-row[data-v-5de2459e]{padding:20px 24px;background:var(--color-bg-secondary);border-top:1px solid var(--color-border-primary);animation:slideDown-5de2459e .2s ease-out}@keyframes slideDown-5de2459e{0%{opacity:0;max-height:0}to{opacity:1;max-height:1000px}}.expanded-content[data-v-5de2459e]{color:var(--color-text-secondary);font-size:14px}.empty-state[data-v-5de2459e]{padding:60px 20px;text-align:center}.empty-content[data-v-5de2459e]{display:flex;flex-direction:column;align-items:center;gap:16px}.empty-icon[data-v-5de2459e]{width:48px;height:48px;color:var(--color-text-tertiary)}.empty-content p[data-v-5de2459e]{color:var(--color-text-secondary);font-size:14px;margin:0}.table-pagination[data-v-5de2459e]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border:1px solid var(--color-border-primary);border-top:none;border-radius:0 0 8px 8px;background:var(--color-bg-secondary);gap:16px;flex-wrap:wrap;min-height:60px}.pagination-left[data-v-5de2459e]{display:flex;align-items:center}.pagination-info[data-v-5de2459e]{font-size:13px;color:var(--color-text-secondary)}.pagination-right[data-v-5de2459e]{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.page-size-selector[data-v-5de2459e]{display:flex;align-items:center;gap:8px}.page-size-selector label[data-v-5de2459e]{font-size:13px;color:var(--color-text-secondary);white-space:nowrap}.page-size-select[data-v-5de2459e]{padding:6px 28px 6px 10px;border:1px solid var(--color-border-primary);border-radius:4px;background:var(--color-surface);color:var(--color-text-primary);font-size:13px;cursor:pointer;transition:all .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23718096' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.page-size-select[data-v-5de2459e]:hover{border-color:var(--color-border-secondary)}.page-size-select[data-v-5de2459e]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.pagination-controls[data-v-5de2459e]{display:flex;align-items:center;gap:8px}.btn-page[data-v-5de2459e]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid var(--color-border-primary);border-radius:4px;cursor:pointer;color:var(--color-text-secondary);transition:all .2s}.btn-page[data-v-5de2459e]:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text-primary);border-color:var(--color-border-secondary)}.btn-page[data-v-5de2459e]:disabled{opacity:.4;cursor:not-allowed}.page-numbers[data-v-5de2459e]{display:flex;gap:4px}.btn-page-number[data-v-5de2459e]{display:flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 8px;background:transparent;border:1px solid var(--color-border-primary);border-radius:4px;cursor:pointer;color:var(--color-text-secondary);font-size:13px;font-weight:500;transition:all .2s}.btn-page-number[data-v-5de2459e]:hover{background:var(--color-surface-hover);color:var(--color-text-primary);border-color:var(--color-border-secondary)}.btn-page-number.active[data-v-5de2459e]{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}@media (max-width: 768px){.table-pagination[data-v-5de2459e]{flex-direction:column;align-items:flex-start}.pagination-right[data-v-5de2459e]{width:100%;justify-content:space-between}}.dialog-overlay[data-v-401f3cf7]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.dialog[data-v-401f3cf7]{background:var(--color-surface);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);width:90%;max-width:700px;max-height:90vh;display:flex;flex-direction:column;border:var(--border-width) solid var(--color-border-primary)}.dialog-header[data-v-401f3cf7]{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg);border-bottom:var(--border-width) solid var(--color-border-primary)}.dialog-header h3[data-v-401f3cf7]{margin:0;font-size:18px;font-weight:600;color:var(--color-text-primary)}.btn-close[data-v-401f3cf7]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--color-text-tertiary);cursor:pointer;border-radius:var(--border-radius-sm);transition:all var(--transition-fast)}.btn-close[data-v-401f3cf7]:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.dialog-content[data-v-401f3cf7]{flex:1;overflow-y:auto;padding:var(--spacing-lg)}.form-row[data-v-401f3cf7]{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.form-group[data-v-401f3cf7]{margin-bottom:var(--spacing-lg)}.form-label[data-v-401f3cf7]{display:block;margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.form-label.required[data-v-401f3cf7]:after{content:" *";color:#ef4444}.form-input[data-v-401f3cf7],.form-select[data-v-401f3cf7]{width:100%;padding:8px 12px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-bg-primary);transition:all var(--transition-fast)}.form-input[data-v-401f3cf7]:focus,.form-select[data-v-401f3cf7]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.form-select[data-v-401f3cf7]{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23718096' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.input-error[data-v-401f3cf7]{border-color:#ef4444}.error-message[data-v-401f3cf7]{display:block;margin-top:var(--spacing-xs);font-size:12px;color:#ef4444}.help-text[data-v-401f3cf7]{display:block;margin-top:var(--spacing-xs);font-size:12px;color:var(--color-text-tertiary);font-style:italic}.checkbox-label[data-v-401f3cf7]{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-primary)}.form-checkbox[data-v-401f3cf7]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-primary)}.dialog-footer[data-v-401f3cf7]{display:flex;gap:var(--spacing-md);justify-content:flex-end;padding:var(--spacing-lg);border-top:var(--border-width) solid var(--color-border-primary)}.btn-primary[data-v-401f3cf7],.btn-secondary[data-v-401f3cf7]{padding:8px 16px;border:none;border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.btn-primary[data-v-401f3cf7]{background:var(--color-primary);color:#fff}.btn-primary[data-v-401f3cf7]:hover:not(:disabled){background:#5a6fd8;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-primary[data-v-401f3cf7]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-401f3cf7]{background:var(--color-surface-hover);color:var(--color-text-primary);border:var(--border-width) solid var(--color-border-primary)}.btn-secondary[data-v-401f3cf7]:hover{background:var(--color-border-secondary)}.user-page[data-v-3ff7a491]{width:100%;height:100%;padding:0;background:var(--color-bg-primary)}.page-card[data-v-3ff7a491]{width:100%;height:100%;background:var(--color-surface);border-radius:8px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;overflow:hidden}.page-header[data-v-3ff7a491]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border-primary)}.header-content h1[data-v-3ff7a491]{font-size:24px;font-weight:700;color:var(--color-text-primary);margin:0 0 4px}.subtitle[data-v-3ff7a491]{font-size:14px;color:var(--color-text-tertiary);margin:0}.tabs[data-v-3ff7a491]{display:flex;gap:var(--spacing-xs);padding:0 var(--spacing-lg);border-bottom:var(--border-width) solid var(--color-border-primary);background:var(--color-bg-secondary)}.tab[data-v-3ff7a491]{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;flex-shrink:0}.tab[data-v-3ff7a491]:hover{color:var(--color-text-primary);background:var(--color-surface-hover)}.tab.active[data-v-3ff7a491]{color:var(--color-primary);border-bottom-color:var(--color-primary);background:var(--color-surface)}.tab-content[data-v-3ff7a491]{flex:1;overflow:auto;padding:0}.tab-section[data-v-3ff7a491]{display:flex;flex-direction:column;gap:var(--spacing-lg);height:100%;padding:var(--spacing-lg)}.filters-bar[data-v-3ff7a491]{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-secondary);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-md)}.filter-group[data-v-3ff7a491]{display:flex;align-items:center;gap:var(--spacing-sm);position:relative}.filter-group.search-group[data-v-3ff7a491]{flex:1;max-width:500px}.filter-group label[data-v-3ff7a491]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);white-space:nowrap}.filter-input[data-v-3ff7a491]{padding:6px 12px 6px 36px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);width:100%;transition:all var(--transition-fast)}.filter-group:has(.filter-input) svg[data-v-3ff7a491]{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--color-text-tertiary);pointer-events:none;z-index:1}.filter-input[data-v-3ff7a491]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.filter-select[data-v-3ff7a491]{padding:6px 32px 6px 12px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);cursor:pointer;transition:all var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23718096' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.filter-select[data-v-3ff7a491]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.btn-filter-reset[data-v-3ff7a491]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);cursor:pointer;color:var(--color-text-tertiary);transition:all var(--transition-fast);flex-shrink:0}.btn-filter-reset[data-v-3ff7a491]:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text-primary);border-color:var(--color-border-secondary)}.btn-filter-reset[data-v-3ff7a491]:disabled{opacity:.5;cursor:not-allowed}.rotating[data-v-3ff7a491]{animation:spin-3ff7a491 1s linear infinite}@keyframes spin-3ff7a491{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-add-icon[data-v-3ff7a491]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin-left:auto;background:var(--color-primary);color:#fff;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.btn-add-icon[data-v-3ff7a491]:hover{background:#5a6fd8;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.data-table[data-v-3ff7a491]{flex:1;overflow:auto}.action-buttons-icon[data-v-3ff7a491]{display:flex;gap:6px;justify-content:flex-end}.btn-action-icon[data-v-3ff7a491]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.btn-action-icon[data-v-3ff7a491]:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-action-icon.btn-edit[data-v-3ff7a491]{background:#3b82f6;color:#fff}.btn-action-icon.btn-edit[data-v-3ff7a491]:hover{background:#2563eb}.btn-action-icon.btn-delete[data-v-3ff7a491]{background:#ef4444;color:#fff}.btn-action-icon.btn-delete[data-v-3ff7a491]:hover{background:#dc2626}.expanded-content[data-v-3ff7a491]{padding:0}.expanded-content h4[data-v-3ff7a491]{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0 0 16px}.user-info-grid[data-v-3ff7a491]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.user-info-row[data-v-3ff7a491]{display:flex;gap:12px;padding:12px;background:var(--color-surface);border:1px solid var(--color-border-primary);border-radius:6px;font-size:13px}.user-info-row .label[data-v-3ff7a491]{font-weight:600;color:var(--color-text-secondary);min-width:100px}.user-info-row .value[data-v-3ff7a491]{color:var(--color-text-primary);flex:1}.user-cell[data-v-3ff7a491]{display:flex;align-items:center;gap:12px}.user-avatar[data-v-3ff7a491]{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:13px;flex-shrink:0}.role-badge[data-v-3ff7a491]{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;text-transform:capitalize}.role-badge.role-admin[data-v-3ff7a491]{background:#fee2e2;color:#991b1b}.role-badge.role-editor[data-v-3ff7a491]{background:#dbeafe;color:#1e40af}.role-badge.role-viewer[data-v-3ff7a491]{background:#f3e8ff;color:#6b21a8}.status-badge[data-v-3ff7a491]{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;text-transform:capitalize}.status-badge.status-active[data-v-3ff7a491]{background:#d1fae5;color:#065f46}.status-badge.status-inactive[data-v-3ff7a491]{background:#fee2e2;color:#991b1b}.search-filter[data-v-2d79a0a8]{position:relative;display:flex;align-items:center;width:100%}.search-icon[data-v-2d79a0a8]{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--color-text-tertiary);pointer-events:none;z-index:1}.search-input[data-v-2d79a0a8]{width:100%;padding:8px 32px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);transition:all var(--transition-fast);background:var(--color-surface);color:var(--color-text-primary);height:36px}.search-input[data-v-2d79a0a8]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.search-input[data-v-2d79a0a8]:disabled{background-color:var(--color-surface-disabled);color:var(--color-text-disabled);cursor:not-allowed}.clear-btn[data-v-2d79a0a8]{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:4px;color:var(--color-text-tertiary);border-radius:var(--border-radius-sm);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;width:20px;height:20px}.clear-btn[data-v-2d79a0a8]:hover:not(:disabled){color:var(--color-text-secondary);background:var(--color-surface-hover)}.clear-btn[data-v-2d79a0a8]:disabled{cursor:not-allowed;opacity:.5}.dialog-overlay[data-v-b28358f8]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.dialog[data-v-b28358f8]{background:var(--color-surface);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);width:90%;max-width:900px;max-height:90vh;display:flex;flex-direction:column;border:var(--border-width) solid var(--color-border-primary)}.dialog-header[data-v-b28358f8]{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg);border-bottom:var(--border-width) solid var(--color-border-primary)}.dialog-header h3[data-v-b28358f8]{margin:0;font-size:18px;font-weight:600;color:var(--color-text-primary)}.btn-close[data-v-b28358f8]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--color-text-tertiary);cursor:pointer;border-radius:var(--border-radius-sm);transition:all var(--transition-fast)}.btn-close[data-v-b28358f8]:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.dialog-content[data-v-b28358f8]{flex:1;overflow-y:auto;padding:var(--spacing-lg)}.form-section[data-v-b28358f8]{margin-bottom:var(--spacing-xl)}.form-section[data-v-b28358f8]:last-child{margin-bottom:0}.form-group[data-v-b28358f8]{margin-bottom:var(--spacing-lg)}.form-label[data-v-b28358f8]{display:block;margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.form-label.required[data-v-b28358f8]:after{content:" *";color:var(--color-error)}.form-input[data-v-b28358f8],.form-textarea[data-v-b28358f8]{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);transition:all var(--transition-fast);background:var(--color-surface);color:var(--color-text-primary)}.form-input[data-v-b28358f8]:focus,.form-textarea[data-v-b28358f8]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.form-input[data-v-b28358f8]:disabled,.form-textarea[data-v-b28358f8]:disabled{background-color:var(--color-surface-disabled);color:var(--color-text-disabled);cursor:not-allowed}.input-error[data-v-b28358f8]{border-color:var(--color-error)}.input-error[data-v-b28358f8]:focus{border-color:var(--color-error);box-shadow:0 0 0 3px var(--color-error-light)}.form-help[data-v-b28358f8]{display:block;font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-top:var(--spacing-xs)}.error-message[data-v-b28358f8]{display:block;font-size:var(--font-size-xs);color:var(--color-error);margin-top:var(--spacing-xs)}.form-textarea[data-v-b28358f8]{resize:vertical;min-height:80px;font-family:inherit}.permissions-header[data-v-b28358f8]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.permissions-actions[data-v-b28358f8]{display:flex;gap:var(--spacing-md)}.btn-text[data-v-b28358f8]{background:none;border:none;color:var(--color-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);transition:all var(--transition-fast)}.btn-text[data-v-b28358f8]:hover{background:var(--color-primary-light)}.permissions-grid[data-v-b28358f8]{margin-top:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-md);max-height:400px;overflow-y:auto;padding:var(--spacing-md);background:var(--color-surface-secondary);border-radius:var(--border-radius-md);border:var(--border-width) solid var(--color-border-secondary)}.permission-category[data-v-b28358f8]{background:var(--color-surface);border-radius:var(--border-radius-md);border:var(--border-width) solid var(--color-border-secondary);overflow:hidden;flex-shrink:0}.category-header[data-v-b28358f8]{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);cursor:pointer;background:var(--color-surface-secondary);transition:background var(--transition-fast);-webkit-user-select:none;user-select:none}.category-header[data-v-b28358f8]:hover{background:var(--color-surface-hover)}.category-header.has-content[data-v-b28358f8]{border-bottom:var(--border-width) solid var(--color-border-secondary)}.category-title-row[data-v-b28358f8]{display:flex;align-items:center;gap:var(--spacing-sm);flex:1}.collapse-icon[data-v-b28358f8]{color:var(--color-text-secondary);transition:transform var(--transition-normal);flex-shrink:0;width:12px;height:12px}.collapse-icon.collapsed[data-v-b28358f8]{transform:rotate(-90deg)}.category-title[data-v-b28358f8]{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin:0;display:flex;align-items:center;gap:var(--spacing-xs)}.category-count[data-v-b28358f8]{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-tertiary)}.category-actions[data-v-b28358f8]{display:flex;gap:var(--spacing-xs)}.btn-category-action[data-v-b28358f8]{background:none;border:none;cursor:pointer;padding:var(--spacing-xs);color:var(--color-text-tertiary);border-radius:var(--border-radius-sm);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.btn-category-action[data-v-b28358f8]:hover{color:var(--color-primary);background:var(--color-primary-light)}.permission-list[data-v-b28358f8]{display:flex;flex-direction:column;gap:2px;padding:var(--spacing-sm);background:var(--color-surface)}.permission-item[data-v-b28358f8]{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-sm);border-radius:var(--border-radius-sm);cursor:pointer;transition:background var(--transition-fast);min-height:40px}.permission-item[data-v-b28358f8]:hover{background:var(--color-surface-hover)}.permission-checkbox[data-v-b28358f8]{flex-shrink:0;width:16px;height:16px;cursor:pointer;accent-color:var(--color-primary);margin-top:2px}.permission-info[data-v-b28358f8]{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.permission-name[data-v-b28358f8]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);line-height:1.4;word-wrap:break-word;overflow-wrap:break-word}.permission-code[data-v-b28358f8]{font-size:var(--font-size-xs);font-family:var(--font-family-mono, "Monaco", "Courier New", monospace);color:var(--color-text-tertiary);line-height:1.4;word-wrap:break-word;overflow-wrap:break-word}.no-results[data-v-b28358f8]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xxl) var(--spacing-lg);color:var(--color-text-tertiary);text-align:center}.no-results svg[data-v-b28358f8]{margin-bottom:var(--spacing-md);opacity:.5}.no-results p[data-v-b28358f8]{margin:0;font-size:var(--font-size-sm)}.selected-count[data-v-b28358f8]{margin-top:var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-tertiary);text-align:right}.dialog-footer[data-v-b28358f8]{display:flex;justify-content:flex-end;gap:var(--spacing-md);padding:var(--spacing-lg);border-top:var(--border-width) solid var(--color-border-primary);background:var(--color-surface-secondary)}.btn[data-v-b28358f8]{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);border:none}.btn-cancel[data-v-b28358f8]{background:var(--color-surface);border:var(--border-width) solid var(--color-border-primary);color:var(--color-text-secondary)}.btn-cancel[data-v-b28358f8]:hover{background:var(--color-surface-hover);border-color:var(--color-border-secondary)}.btn-primary[data-v-b28358f8]{background:var(--color-primary);color:var(--color-on-primary);border:var(--border-width) solid transparent}.btn-primary[data-v-b28358f8]:hover:not(:disabled){background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary[data-v-b28358f8]:disabled{background:var(--color-surface-disabled);color:var(--color-text-disabled);cursor:not-allowed;opacity:.6}.user-page[data-v-90257e36]{width:100%;height:100%;padding:0;background:var(--color-bg-primary)}.page-card[data-v-90257e36]{width:100%;height:100%;background:var(--color-surface);border-radius:8px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;overflow:hidden}.page-header[data-v-90257e36]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border-primary)}.header-content h1[data-v-90257e36]{font-size:24px;font-weight:700;color:var(--color-text-primary);margin:0 0 4px}.subtitle[data-v-90257e36]{font-size:14px;color:var(--color-text-tertiary);margin:0}.tabs[data-v-90257e36]{display:flex;gap:var(--spacing-xs);padding:0 var(--spacing-lg);border-bottom:var(--border-width) solid var(--color-border-primary);background:var(--color-bg-secondary)}.tab[data-v-90257e36]{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;flex-shrink:0}.tab[data-v-90257e36]:hover{color:var(--color-text-primary);background:var(--color-surface-hover)}.tab.active[data-v-90257e36]{color:var(--color-primary);border-bottom-color:var(--color-primary);background:var(--color-surface)}.tab-content[data-v-90257e36]{flex:1;overflow:auto;padding:0}.tab-section[data-v-90257e36]{display:flex;flex-direction:column;gap:var(--spacing-lg);height:100%;padding:var(--spacing-lg)}.filters-bar[data-v-90257e36]{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-secondary);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-md)}.filter-group[data-v-90257e36]{display:flex;align-items:center;gap:var(--spacing-sm);position:relative}.filter-group.search-group[data-v-90257e36]{flex:1;max-width:500px}.filter-group label[data-v-90257e36]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);white-space:nowrap}.filter-input[data-v-90257e36]{padding:6px 12px 6px 36px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);width:100%;transition:all var(--transition-fast)}.filter-group:has(.filter-input) svg[data-v-90257e36]{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--color-text-tertiary);pointer-events:none;z-index:1}.filter-input[data-v-90257e36]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.filter-select[data-v-90257e36]{padding:6px 32px 6px 12px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);cursor:pointer;transition:all var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23718096' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.filter-select[data-v-90257e36]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.btn-filter-reset[data-v-90257e36]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);cursor:pointer;color:var(--color-text-tertiary);transition:all var(--transition-fast);flex-shrink:0}.btn-filter-reset[data-v-90257e36]:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text-primary);border-color:var(--color-border-secondary)}.btn-filter-reset[data-v-90257e36]:disabled{opacity:.5;cursor:not-allowed}.rotating[data-v-90257e36]{animation:spin-90257e36 1s linear infinite}@keyframes spin-90257e36{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-add-icon[data-v-90257e36]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin-left:auto;background:var(--color-primary);color:#fff;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.btn-add-icon[data-v-90257e36]:hover{background:#5a6fd8;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.data-table[data-v-90257e36]{flex:1;overflow:auto}.action-buttons-icon[data-v-90257e36]{display:flex;gap:6px;justify-content:flex-end}.btn-action-icon[data-v-90257e36]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.btn-action-icon[data-v-90257e36]:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-action-icon.btn-edit[data-v-90257e36]{background:#3b82f6;color:#fff}.btn-action-icon.btn-edit[data-v-90257e36]:hover{background:#2563eb}.btn-action-icon.btn-delete[data-v-90257e36]{background:#ef4444;color:#fff}.btn-action-icon.btn-delete[data-v-90257e36]:hover{background:#dc2626}.expanded-content[data-v-90257e36]{padding:0}.expanded-content h4[data-v-90257e36]{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0 0 16px}.user-info-grid[data-v-90257e36]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.user-info-row[data-v-90257e36]{display:flex;gap:12px;padding:12px;background:var(--color-surface);border:1px solid var(--color-border-primary);border-radius:6px;font-size:13px}.user-info-row .label[data-v-90257e36]{font-weight:600;color:var(--color-text-secondary);min-width:100px}.user-info-row .value[data-v-90257e36]{color:var(--color-text-primary);flex:1}.count-badge[data-v-90257e36]{display:inline-block;padding:4px 10px;background:var(--color-badge-bg, #dbeafe);color:var(--color-badge-text, #1e40af);border-radius:12px;font-size:12px;font-weight:600}.system-badge[data-v-90257e36]{display:inline-block;padding:4px 10px;background:var(--color-warning-bg, #fef3c7);color:var(--color-warning-text, #92400e);border-radius:6px;font-size:12px;font-weight:600}.custom-badge[data-v-90257e36]{display:inline-block;padding:4px 10px;background:var(--color-info-bg, #dbeafe);color:var(--color-info-text, #1e40af);border-radius:6px;font-size:12px;font-weight:600}.permission-tags[data-v-90257e36]{display:flex;flex-wrap:wrap;gap:6px}.permission-tag[data-v-90257e36]{display:inline-block;padding:4px 10px;background:var(--color-permission-bg, #f3e8ff);color:var(--color-permission-text, #6b21a8);border-radius:6px;font-size:12px;font-weight:500}.text-muted[data-v-90257e36]{color:var(--color-text-tertiary, #9ca3af);font-style:italic}.btn-action-icon[data-v-90257e36]:disabled{opacity:.5;cursor:not-allowed}.btn-action-icon[data-v-90257e36]:disabled:hover{background:transparent;transform:none}.dialog-overlay[data-v-d61d84a6]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.dialog[data-v-d61d84a6]{background:var(--color-bg-primary, white);border-radius:var(--border-radius-lg, 12px);width:90%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg, 0 20px 25px -5px rgba(0, 0, 0, .1))}.dialog-header[data-v-d61d84a6]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border-light, #e5e7eb)}.dialog-header h3[data-v-d61d84a6]{margin:0;font-size:18px;font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary, #111827)}.btn-close[data-v-d61d84a6]{background:none;border:none;cursor:pointer;padding:4px;color:var(--color-text-secondary, #6b7280);transition:color var(--transition-fast, .15s);border-radius:var(--border-radius-sm, 6px)}.btn-close[data-v-d61d84a6]:hover{color:var(--color-text-primary, #111827);background:var(--color-bg-hover, #f3f4f6)}.dialog-content[data-v-d61d84a6]{padding:24px;overflow-y:auto;flex:1}.form-section[data-v-d61d84a6]{margin-bottom:20px}.form-section[data-v-d61d84a6]:last-child{margin-bottom:0}.form-row[data-v-d61d84a6]{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.form-group[data-v-d61d84a6]{margin-bottom:16px}.form-label[data-v-d61d84a6]{display:block;font-size:14px;font-weight:var(--font-weight-medium, 500);color:var(--color-text-primary, #374151);margin-bottom:6px}.form-label.required[data-v-d61d84a6]:after{content:" *";color:var(--color-error, #ef4444)}.form-input[data-v-d61d84a6],.form-select[data-v-d61d84a6],.form-textarea[data-v-d61d84a6]{width:100%;padding:8px 12px;border:1px solid var(--color-border, #d1d5db);border-radius:var(--border-radius-sm, 6px);font-size:14px;transition:all var(--transition-fast, .15s);background:var(--color-bg-primary, white);color:var(--color-text-primary, #111827)}.form-input[data-v-d61d84a6]:focus,.form-select[data-v-d61d84a6]:focus,.form-textarea[data-v-d61d84a6]:focus{outline:none;border-color:var(--color-primary, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}.form-input[data-v-d61d84a6]:disabled,.code-input[data-v-d61d84a6]{background-color:var(--color-bg-disabled, #f3f4f6);color:var(--color-text-secondary, #6b7280);cursor:not-allowed}.input-error[data-v-d61d84a6]{border-color:var(--color-error, #ef4444)}.input-error[data-v-d61d84a6]:focus{border-color:var(--color-error, #ef4444);box-shadow:0 0 0 3px #ef44441a}.form-help[data-v-d61d84a6]{display:block;font-size:12px;color:var(--color-text-secondary, #6b7280);margin-top:4px}.error-message[data-v-d61d84a6]{display:block;font-size:12px;color:var(--color-error, #ef4444);margin-top:4px}.code-display[data-v-d61d84a6]{padding:8px 12px;background-color:var(--color-bg-secondary, #f3f4f6);border:1px solid var(--color-border, #d1d5db);border-radius:var(--border-radius-sm, 6px);font-family:var(--font-family-mono, "Monaco", "Courier New", monospace);font-size:14px;color:var(--color-text-primary, #111827)}.form-textarea[data-v-d61d84a6]{resize:vertical;min-height:80px}.dialog-footer[data-v-d61d84a6]{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--color-border-light, #e5e7eb)}.btn[data-v-d61d84a6]{padding:8px 16px;border-radius:var(--border-radius-sm, 6px);font-size:14px;font-weight:var(--font-weight-medium, 500);cursor:pointer;transition:all var(--transition-fast, .15s);border:none}.btn-cancel[data-v-d61d84a6]{background:var(--color-bg-primary, white);border:1px solid var(--color-border, #d1d5db);color:var(--color-text-primary, #374151)}.btn-cancel[data-v-d61d84a6]:hover{background:var(--color-bg-hover, #f9fafb);border-color:var(--color-border-dark, #9ca3af)}.btn-primary[data-v-d61d84a6]{background:var(--color-primary, #3b82f6);color:#fff}.btn-primary[data-v-d61d84a6]:hover:not(:disabled){background:var(--color-primary-dark, #2563eb);transform:translateY(-1px);box-shadow:var(--shadow-sm, 0 1px 2px 0 rgba(0, 0, 0, .05))}.btn-primary[data-v-d61d84a6]:disabled{background:var(--color-bg-disabled, #9ca3af);cursor:not-allowed;opacity:.6}.user-page[data-v-72fce288]{width:100%;height:100%;padding:0;background:var(--color-bg-primary)}.page-card[data-v-72fce288]{width:100%;height:100%;background:var(--color-surface);border-radius:8px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;overflow:hidden}.page-header[data-v-72fce288]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border-primary)}.header-content h1[data-v-72fce288]{font-size:24px;font-weight:700;color:var(--color-text-primary);margin:0 0 4px}.subtitle[data-v-72fce288]{font-size:14px;color:var(--color-text-tertiary);margin:0}.tabs[data-v-72fce288]{display:flex;gap:var(--spacing-xs);padding:0 var(--spacing-lg);border-bottom:var(--border-width) solid var(--color-border-primary);background:var(--color-bg-secondary)}.tab[data-v-72fce288]{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;flex-shrink:0}.tab[data-v-72fce288]:hover{color:var(--color-text-primary);background:var(--color-surface-hover)}.tab.active[data-v-72fce288]{color:var(--color-primary);border-bottom-color:var(--color-primary);background:var(--color-surface)}.tab-content[data-v-72fce288]{flex:1;overflow:auto;padding:0}.tab-section[data-v-72fce288]{display:flex;flex-direction:column;gap:var(--spacing-lg);height:100%;padding:var(--spacing-lg)}.filters-bar[data-v-72fce288]{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-secondary);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-md)}.filter-group[data-v-72fce288]{display:flex;align-items:center;gap:var(--spacing-sm);position:relative}.filter-group.search-group[data-v-72fce288]{flex:1;max-width:500px}.filter-group label[data-v-72fce288]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);white-space:nowrap}.filter-input[data-v-72fce288]{padding:6px 12px 6px 36px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);width:100%;transition:all var(--transition-fast)}.filter-group:has(.filter-input) svg[data-v-72fce288]{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--color-text-tertiary);pointer-events:none;z-index:1}.filter-input[data-v-72fce288]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.filter-select[data-v-72fce288]{padding:6px 32px 6px 12px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);cursor:pointer;transition:all var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23718096' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.filter-select[data-v-72fce288]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.btn-filter-reset[data-v-72fce288]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);cursor:pointer;color:var(--color-text-tertiary);transition:all var(--transition-fast);flex-shrink:0}.btn-filter-reset[data-v-72fce288]:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text-primary);border-color:var(--color-border-secondary)}.btn-filter-reset[data-v-72fce288]:disabled{opacity:.5;cursor:not-allowed}.rotating[data-v-72fce288]{animation:spin-72fce288 1s linear infinite}@keyframes spin-72fce288{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-add-icon[data-v-72fce288]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin-left:auto;background:var(--color-primary);color:#fff;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.btn-add-icon[data-v-72fce288]:hover{background:#5a6fd8;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.data-table[data-v-72fce288]{flex:1;overflow:auto}.action-buttons-icon[data-v-72fce288]{display:flex;gap:6px;justify-content:flex-end}.btn-action-icon[data-v-72fce288]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.btn-action-icon[data-v-72fce288]:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-action-icon.btn-edit[data-v-72fce288]{background:#3b82f6;color:#fff}.btn-action-icon.btn-edit[data-v-72fce288]:hover{background:#2563eb}.btn-action-icon.btn-delete[data-v-72fce288]{background:#ef4444;color:#fff}.btn-action-icon.btn-delete[data-v-72fce288]:hover{background:#dc2626}.expanded-content[data-v-72fce288]{padding:0}.expanded-content h4[data-v-72fce288]{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0 0 16px}.user-info-grid[data-v-72fce288]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.user-info-row[data-v-72fce288]{display:flex;gap:12px;padding:12px;background:var(--color-surface);border:1px solid var(--color-border-primary);border-radius:6px;font-size:13px}.user-info-row .label[data-v-72fce288]{font-weight:600;color:var(--color-text-secondary);min-width:100px}.user-info-row .value[data-v-72fce288]{color:var(--color-text-primary);flex:1}.permission-code[data-v-72fce288]{font-family:var(--font-family-mono);font-size:12px;background:#f1f5f9;padding:4px 8px;border-radius:4px;color:#334155}.group-badge[data-v-72fce288]{display:inline-block;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;text-transform:uppercase}.group-badge.group-system[data-v-72fce288]{background:#fee2e2;color:#991b1b}.group-badge.group-user[data-v-72fce288]{background:#dbeafe;color:#1e40af}.group-badge.group-bms[data-v-72fce288]{background:#d1fae5;color:#065f46}.group-badge.group-dcim[data-v-72fce288]{background:#fef3c7;color:#92400e}.group-badge.group-hvac[data-v-72fce288]{background:#f3e8ff;color:#6b21a8}.group-badge.group-report[data-v-72fce288]{background:#e0e7ff;color:#3730a3}.group-badge.group-data[data-v-72fce288]{background:#fce7f3;color:#831843}.category-badge[data-v-72fce288]{display:inline-block;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:500}.category-badge.category-user-management[data-v-72fce288]{background:#dbeafe;color:#1e40af}.category-badge.category-system[data-v-72fce288]{background:#fee2e2;color:#991b1b}.category-badge.category-device-management[data-v-72fce288]{background:#d1fae5;color:#065f46}.category-badge.category-operations[data-v-72fce288]{background:#fef3c7;color:#92400e}.category-badge.category-infrastructure[data-v-72fce288]{background:#f3e8ff;color:#6b21a8}.category-badge.category-asset-management[data-v-72fce288]{background:#e0e7ff;color:#3730a3}.category-badge.category-hvac[data-v-72fce288]{background:#fce7f3;color:#831843}.category-badge.category-reporting[data-v-72fce288]{background:#fff7ed;color:#9a3412}.category-badge.category-data-management[data-v-72fce288]{background:#ecfdf5;color:#047857}.no-category[data-v-72fce288]{color:#9ca3af;font-size:12px}.description-text[data-v-72fce288]{color:#6b7280;font-size:13px}.user-page[data-v-a48b892d]{width:100%;height:100%;padding:0;background:var(--color-bg-primary)}.page-card[data-v-a48b892d]{width:100%;height:100%;background:var(--color-surface);border-radius:8px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;overflow:hidden}.page-header[data-v-a48b892d]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border-primary)}.header-content h1[data-v-a48b892d]{font-size:24px;font-weight:700;color:var(--color-text-primary);margin:0 0 4px}.subtitle[data-v-a48b892d]{font-size:14px;color:var(--color-text-tertiary);margin:0}.tabs[data-v-a48b892d]{display:flex;gap:var(--spacing-xs);padding:0 var(--spacing-lg);border-bottom:var(--border-width) solid var(--color-border-primary);background:var(--color-bg-secondary)}.tab[data-v-a48b892d]{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;flex-shrink:0}.tab[data-v-a48b892d]:hover{color:var(--color-text-primary);background:var(--color-surface-hover)}.tab.active[data-v-a48b892d]{color:var(--color-primary);border-bottom-color:var(--color-primary);background:var(--color-surface)}.tab-content[data-v-a48b892d]{flex:1;overflow:auto;padding:0}.tab-section[data-v-a48b892d]{display:flex;flex-direction:column;gap:var(--spacing-lg);height:100%;padding:var(--spacing-lg)}.filters-bar[data-v-a48b892d]{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-secondary);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-md)}.filter-group[data-v-a48b892d]{display:flex;align-items:center;gap:var(--spacing-sm);position:relative}.filter-group.search-group[data-v-a48b892d]{flex:1;max-width:500px}.filter-group label[data-v-a48b892d]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);white-space:nowrap}.filter-input[data-v-a48b892d]{padding:6px 12px 6px 36px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);width:100%;transition:all var(--transition-fast)}.filter-group:has(.filter-input) svg[data-v-a48b892d]{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--color-text-tertiary);pointer-events:none;z-index:1}.filter-input[data-v-a48b892d]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.filter-select[data-v-a48b892d]{padding:6px 32px 6px 12px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);cursor:pointer;transition:all var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23718096' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.filter-select[data-v-a48b892d]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.btn-filter-reset[data-v-a48b892d]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);cursor:pointer;color:var(--color-text-tertiary);transition:all var(--transition-fast);flex-shrink:0}.btn-filter-reset[data-v-a48b892d]:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text-primary);border-color:var(--color-border-secondary)}.btn-filter-reset[data-v-a48b892d]:disabled{opacity:.5;cursor:not-allowed}.rotating[data-v-a48b892d]{animation:spin-a48b892d 1s linear infinite}@keyframes spin-a48b892d{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-add-icon[data-v-a48b892d]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin-left:auto;background:var(--color-primary);color:#fff;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.btn-add-icon[data-v-a48b892d]:hover{background:#5a6fd8;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.data-table[data-v-a48b892d]{flex:1;overflow:auto}.action-buttons-icon[data-v-a48b892d]{display:flex;gap:6px;justify-content:flex-end}.btn-action-icon[data-v-a48b892d]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.btn-action-icon[data-v-a48b892d]:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-action-icon.btn-edit[data-v-a48b892d]{background:#3b82f6;color:#fff}.btn-action-icon.btn-edit[data-v-a48b892d]:hover{background:#2563eb}.btn-action-icon.btn-delete[data-v-a48b892d]{background:#ef4444;color:#fff}.btn-action-icon.btn-delete[data-v-a48b892d]:hover{background:#dc2626}.expanded-content[data-v-a48b892d]{padding:0}.expanded-content h4[data-v-a48b892d]{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0 0 16px}.user-info-grid[data-v-a48b892d]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.user-info-row[data-v-a48b892d]{display:flex;gap:12px;padding:12px;background:var(--color-surface);border:1px solid var(--color-border-primary);border-radius:6px;font-size:13px}.user-info-row .label[data-v-a48b892d]{font-weight:600;color:var(--color-text-secondary);min-width:100px}.user-info-row .value[data-v-a48b892d]{color:var(--color-text-primary);flex:1}.page-container[data-v-16f3eaff]{padding:32px;height:100%;overflow-y:auto;background:var(--color-bg-primary);transition:background-color var(--transition-base)}.page-header[data-v-16f3eaff]{margin-bottom:32px}.page-title[data-v-16f3eaff]{font-size:28px;font-weight:700;color:var(--color-text-primary);margin-bottom:8px}.page-subtitle[data-v-16f3eaff]{font-size:16px;color:var(--color-text-secondary)}.settings-grid[data-v-16f3eaff]{display:flex;flex-direction:column;gap:24px;margin-bottom:32px}.settings-section[data-v-16f3eaff]{background:var(--color-surface);border-radius:12px;padding:24px;box-shadow:var(--shadow-sm);border:var(--border-width) solid var(--color-border-primary);transition:background-color var(--transition-base)}.section-title[data-v-16f3eaff]{font-size:18px;font-weight:600;color:var(--color-text-primary);margin-bottom:20px;padding-bottom:12px;border-bottom:var(--border-width) solid var(--color-border-secondary)}.setting-item[data-v-16f3eaff]{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:var(--border-width) solid var(--color-border-tertiary)}.setting-item[data-v-16f3eaff]:last-child{border-bottom:none}.setting-info[data-v-16f3eaff]{flex:1}.setting-label[data-v-16f3eaff]{font-size:14px;font-weight:600;color:var(--color-text-primary);margin-bottom:4px}.setting-description[data-v-16f3eaff]{font-size:13px;color:var(--color-text-secondary)}.setting-input[data-v-16f3eaff],.setting-select[data-v-16f3eaff]{padding:8px 12px;border:var(--border-width) solid var(--color-border-primary);border-radius:8px;font-size:14px;min-width:200px;transition:border-color .2s,background-color var(--transition-base);background:var(--color-bg-primary);color:var(--color-text-primary)}.setting-input[data-v-16f3eaff]:focus,.setting-select[data-v-16f3eaff]:focus{outline:none;border-color:var(--color-primary)}.theme-options[data-v-16f3eaff]{display:flex;gap:8px}.theme-btn[data-v-16f3eaff]{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--color-bg-secondary);border:var(--border-width) solid var(--color-border-primary);border-radius:8px;color:var(--color-text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.theme-btn[data-v-16f3eaff]:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover)}.theme-btn.active[data-v-16f3eaff]{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse)}.toggle-switch[data-v-16f3eaff]{position:relative;display:inline-block;width:48px;height:24px}.toggle-switch input[data-v-16f3eaff]{opacity:0;width:0;height:0}.toggle-slider[data-v-16f3eaff]{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--color-border-primary);transition:.3s;border-radius:24px}.toggle-slider[data-v-16f3eaff]:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:var(--color-surface);transition:.3s;border-radius:50%}input:checked+.toggle-slider[data-v-16f3eaff]{background-color:var(--color-primary)}input:checked+.toggle-slider[data-v-16f3eaff]:before{transform:translate(24px)}.settings-footer[data-v-16f3eaff]{display:flex;justify-content:flex-end;gap:12px;padding:20px;background:var(--color-surface);border-radius:12px;box-shadow:var(--shadow-sm);border:var(--border-width) solid var(--color-border-primary);transition:background-color var(--transition-base)}.btn-secondary[data-v-16f3eaff],.btn-primary[data-v-16f3eaff]{padding:10px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;border:none}.btn-secondary[data-v-16f3eaff]{background:var(--color-bg-secondary);color:var(--color-text-primary);border:var(--border-width) solid var(--color-border-primary)}.btn-secondary[data-v-16f3eaff]:hover{background:var(--color-surface-hover)}.btn-primary[data-v-16f3eaff]{background:var(--color-primary);color:var(--color-text-inverse)}.btn-primary[data-v-16f3eaff]:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);background:var(--color-primary-hover)}.component-palette[data-v-6d12eb7d]{width:60px;background:var(--color-bg-tertiary);border-right:var(--border-width) solid var(--color-border-secondary);display:flex;flex-direction:column;height:100%;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overflow-y:auto;overflow-x:hidden}.palette-search[data-v-6d12eb7d]{padding:8px;border-bottom:var(--border-width) solid var(--color-border-secondary)}.search-input[data-v-6d12eb7d]{width:100%;padding:4px 8px;background:var(--color-bg-secondary);border:var(--border-width) solid var(--color-border-secondary);border-radius:4px;color:var(--color-text-primary);font-size:12px}.search-input[data-v-6d12eb7d]:focus{outline:none;border-color:var(--color-primary)}.palette-section[data-v-6d12eb7d]{border-bottom:var(--border-width) solid var(--color-border-secondary)}.section-header[data-v-6d12eb7d]{padding:8px;font-size:10px;font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px;background:var(--color-bg-tertiary);position:sticky;top:0;z-index:1}.palette-items[data-v-6d12eb7d]{display:flex;flex-direction:column;gap:8px;padding:8px}.palette-item[data-v-6d12eb7d]{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--color-bg-secondary);border:2px solid var(--color-border-secondary);border-radius:8px;cursor:grab;transition:all .2s;-webkit-user-select:none;user-select:none}.palette-item[data-v-6d12eb7d]:hover{background:var(--color-surface-hover);border-color:var(--color-primary);transform:scale(1.1);box-shadow:0 4px 12px #3b82f64d}.palette-item[data-v-6d12eb7d]:active{cursor:grabbing;transform:scale(1.05)}.palette-item.is-dragging[data-v-6d12eb7d]{opacity:.5;transform:scale(.95)}.item-icon[data-v-6d12eb7d]{font-size:24px;line-height:1}.empty-state[data-v-6d12eb7d]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;color:var(--color-text-tertiary)}.empty-icon[data-v-6d12eb7d]{font-size:32px;margin-bottom:8px}.empty-text[data-v-6d12eb7d]{font-size:12px}.component-palette[data-v-6d12eb7d]::-webkit-scrollbar{width:4px}.component-palette[data-v-6d12eb7d]::-webkit-scrollbar-track{background:var(--color-bg-tertiary)}.component-palette[data-v-6d12eb7d]::-webkit-scrollbar-thumb{background:var(--color-border-secondary);border-radius:2px}.component-palette[data-v-6d12eb7d]::-webkit-scrollbar-thumb:hover{background:var(--color-border-primary)}.connection-points[data-v-84644cc5]{pointer-events:none}.connection-point[data-v-84644cc5]{transition:opacity .2s}.connection-point:hover .connection-label[data-v-84644cc5]{opacity:1}.connection-label[data-v-84644cc5]{opacity:0;transition:opacity .2s;font-weight:600;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000}.connection-point.connected circle[data-v-84644cc5]{animation:pulse-84644cc5 1.5s ease-in-out infinite}@keyframes pulse-84644cc5{0%,to{opacity:1}50%{opacity:.6}}.is-selected[data-v-0ace808e]{cursor:move}.is-locked[data-v-0ace808e]{cursor:not-allowed}.resize-handles[data-v-0ace808e]{pointer-events:all}.resize-handle[data-v-0ace808e]{cursor:pointer}.resize-handle.nw[data-v-0ace808e]{cursor:nw-resize}.resize-handle.ne[data-v-0ace808e]{cursor:ne-resize}.resize-handle.se[data-v-0ace808e]{cursor:se-resize}.resize-handle.sw[data-v-0ace808e]{cursor:sw-resize}.resize-handle.n[data-v-0ace808e]{cursor:n-resize}.resize-handle.s[data-v-0ace808e]{cursor:s-resize}.resize-handle.e[data-v-0ace808e]{cursor:e-resize}.resize-handle.w[data-v-0ace808e]{cursor:w-resize}.toolbar-overlay[data-v-37cc6144]{position:absolute;top:16px;left:50%;transform:translate(-50%);display:flex;gap:16px;padding:8px 12px;background:var(--color-bg-tertiary);border:var(--border-width) solid var(--color-border-secondary);border-radius:8px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 12px #0000004d;z-index:100}.toolbar-group[data-v-37cc6144]{display:flex;align-items:center;gap:4px;padding:0 8px;border-right:var(--border-width) solid var(--color-border-secondary)}.toolbar-group[data-v-37cc6144]:last-child{border-right:none}.file-menu-container[data-v-37cc6144]{position:relative}.file-menu[data-v-37cc6144]{position:absolute;top:100%;left:0;margin-top:8px;background:var(--color-bg-tertiary);border:var(--border-width) solid var(--color-border-secondary);border-radius:8px;box-shadow:0 8px 24px #00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);min-width:200px;z-index:1000;overflow:hidden}.menu-item[data-v-37cc6144]{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;background:transparent;border:none;color:var(--color-text-primary);cursor:pointer;transition:background .2s;text-align:left;font-size:14px;border-bottom:var(--border-width) solid var(--color-border-secondary)}.menu-item[data-v-37cc6144]:last-child{border-bottom:none}.menu-item[data-v-37cc6144]:hover{background:var(--color-surface-hover)}.menu-icon[data-v-37cc6144]{font-size:18px;width:24px;text-align:center}.menu-text[data-v-37cc6144]{flex:1;font-weight:600}.menu-hint[data-v-37cc6144]{font-size:11px;color:var(--color-text-tertiary)}.dropdown-enter-active[data-v-37cc6144],.dropdown-leave-active[data-v-37cc6144]{transition:opacity .2s,transform .2s}.dropdown-enter-from[data-v-37cc6144],.dropdown-leave-to[data-v-37cc6144]{opacity:0;transform:translateY(-8px)}.toolbar-btn[data-v-37cc6144]{display:flex;align-items:center;justify-content:center;gap:4px;min-width:36px;height:36px;padding:0 8px;background:var(--color-bg-secondary);border:var(--border-width) solid var(--color-border-secondary);border-radius:6px;color:var(--color-text-primary);font-size:18px;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.toolbar-btn[data-v-37cc6144]:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-border-primary);transform:translateY(-1px);box-shadow:0 2px 8px #0000004d}.toolbar-btn[data-v-37cc6144]:active:not(:disabled){transform:translateY(0);box-shadow:none}.toolbar-btn.disabled[data-v-37cc6144]{opacity:.4;cursor:not-allowed}.toolbar-btn.active[data-v-37cc6144]{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.toolbar-btn.active[data-v-37cc6144]:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-icon[data-v-37cc6144]{font-size:16px;line-height:1}.btn-label[data-v-37cc6144]{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.zoom-display[data-v-37cc6144]{min-width:48px;text-align:center;font-size:13px;font-weight:600;color:var(--color-primary);-webkit-user-select:none;user-select:none}@media (max-width: 768px){.toolbar-overlay[data-v-37cc6144]{left:8px;right:8px;transform:none;width:auto}.btn-label[data-v-37cc6144]{display:none}.toolbar-btn[data-v-37cc6144]{min-width:32px;height:32px;padding:0 6px}}.diagram-minimap[data-v-044330a9]{position:absolute;bottom:60px;right:16px;background:var(--color-surface);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-md);box-shadow:var(--shadow-md);cursor:pointer;z-index:100;transition:all var(--transition-base)}.diagram-minimap[data-v-044330a9]:hover{box-shadow:var(--shadow-lg)}.diagram-minimap.is-dragging[data-v-044330a9]{cursor:grabbing}.minimap-svg[data-v-044330a9]{display:block;border-radius:var(--border-radius-md)}.viewport-indicator[data-v-044330a9]{cursor:grab;pointer-events:all}.viewport-indicator[data-v-044330a9]:active{cursor:grabbing}.diagram-canvas[data-v-5a89ae89]{flex:1;background:var(--diagram-bg-canvas);position:relative;overflow:hidden;cursor:default}.diagram-canvas.is-panning[data-v-5a89ae89]{cursor:grabbing}.canvas-svg[data-v-5a89ae89]{width:100%;height:100%;display:block}.canvas-info[data-v-5a89ae89]{position:absolute;top:16px;right:16px;display:flex;flex-direction:column;gap:8px;padding:8px 12px;background:var(--color-bg-tertiary);border:var(--border-width) solid var(--color-border-secondary);border-radius:6px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none;opacity:.6}.info-item[data-v-5a89ae89]{display:flex;gap:6px;font-size:12px}.info-label[data-v-5a89ae89]{color:var(--color-text-tertiary)}.info-value[data-v-5a89ae89]{color:var(--color-primary);font-weight:600}.status-on[data-v-5a89ae89]{color:#22c55e}.status-off[data-v-5a89ae89]{color:#ef4444}.canvas-help[data-v-5a89ae89]{position:absolute;bottom:60px;left:16px;display:flex;flex-direction:column;gap:4px;padding:8px 12px;background:var(--color-bg-tertiary);border:var(--border-width) solid var(--color-border-secondary);border-radius:6px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none;max-height:calc(100% - 120px);overflow-y:auto;opacity:.6;z-index:100}.help-item[data-v-5a89ae89]{font-size:11px;color:var(--color-text-tertiary);white-space:nowrap}.mode-indicator[data-v-5a89ae89]{font-size:12px;font-weight:700;padding:4px 8px;border-radius:4px;margin-bottom:4px}.edit-mode[data-v-5a89ae89]{background:#3b82f633;color:#3b82f6;border:1px solid #3b82f6}.view-mode[data-v-5a89ae89]{background:#22c55e33;color:#22c55e;border:1px solid #22c55e}.origin-marker[data-v-5a89ae89]{pointer-events:none}.properties-panel[data-v-1b31918c]{width:280px;background:var(--color-bg-tertiary);border-left:var(--border-width) solid var(--color-border-secondary);display:flex;flex-direction:column;height:100%}.panel-header[data-v-1b31918c]{padding:16px;background:var(--color-bg-secondary);border-bottom:var(--border-width) solid var(--color-border-secondary);font-weight:600;font-size:14px;color:var(--color-text-primary)}.panel-content[data-v-1b31918c]{flex:1;overflow-y:auto;padding:16px}.panel-empty[data-v-1b31918c],.panel-info[data-v-1b31918c]{text-align:center;color:var(--color-text-tertiary);padding:24px;font-size:13px}.panel-form[data-v-1b31918c]{display:flex;flex-direction:column;gap:12px}.form-section[data-v-1b31918c]{font-weight:600;font-size:12px;color:var(--color-primary);margin-top:16px;margin-bottom:8px;padding-bottom:4px;border-bottom:var(--border-width) solid var(--color-border-secondary);text-transform:uppercase}.form-group[data-v-1b31918c]{display:flex;flex-direction:column;gap:4px}.form-row[data-v-1b31918c]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.form-group label[data-v-1b31918c]{font-size:12px;font-weight:500;color:var(--color-text-secondary)}.form-group input[type=text][data-v-1b31918c],.form-group input[type=number][data-v-1b31918c],.form-group select[data-v-1b31918c]{padding:6px 8px;background:var(--color-bg-primary);border:var(--border-width) solid var(--color-border-secondary);border-radius:4px;color:var(--color-text-primary);font-size:13px;font-family:inherit}.form-group input[type=color][data-v-1b31918c]{height:36px;padding:2px;background:var(--color-bg-primary);border:var(--border-width) solid var(--color-border-secondary);border-radius:4px;cursor:pointer}.form-group input[type=range][data-v-1b31918c]{width:100%}.range-value[data-v-1b31918c]{font-size:12px;color:var(--color-primary);font-weight:500}.form-group input[data-v-1b31918c]:disabled{opacity:.5;cursor:not-allowed}.checkbox-label[data-v-1b31918c]{display:flex;align-items:center;gap:8px;color:var(--color-text-secondary);font-size:13px;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox][data-v-1b31918c]{width:16px;height:16px;cursor:pointer}.panel-content[data-v-1b31918c]::-webkit-scrollbar{width:8px}.panel-content[data-v-1b31918c]::-webkit-scrollbar-track{background:var(--color-bg-primary)}.panel-content[data-v-1b31918c]::-webkit-scrollbar-thumb{background:var(--color-border-secondary);border-radius:4px}.panel-content[data-v-1b31918c]::-webkit-scrollbar-thumb:hover{background:var(--color-border-primary)}.app[data-v-3bb9327e]{display:flex;flex-direction:column;height:100vh;background:var(--diagram-bg-canvas);color:var(--diagram-text-canvas)}.app-content[data-v-3bb9327e]{display:flex;flex:1;overflow:hidden;position:relative}.slide-enter-active[data-v-3bb9327e],.slide-leave-active[data-v-3bb9327e]{transition:transform var(--transition-base) ease,opacity var(--transition-base) ease}.slide-enter-from[data-v-3bb9327e],.slide-leave-to[data-v-3bb9327e]{transform:translate(100%);opacity:0}.slide-enter-to[data-v-3bb9327e],.slide-leave-from[data-v-3bb9327e]{transform:translate(0);opacity:1}.camera-view-toolbar[data-v-b7e6ac47]{position:absolute;top:var(--spacing-lg);right:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-xs);background:var(--color-surface);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-md);padding:var(--spacing-sm);box-shadow:var(--shadow-lg);z-index:100;opacity:.7;transition:opacity var(--transition-fast)}.camera-view-toolbar[data-v-b7e6ac47]:hover{opacity:1}.toolbar-btn[data-v-b7e6ac47]{width:36px;height:36px;background:transparent;border:none;border-radius:var(--border-radius-sm);color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.toolbar-btn[data-v-b7e6ac47]:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.toolbar-btn[data-v-b7e6ac47]:active{background:var(--color-surface-active)}.toolbar-btn-active[data-v-b7e6ac47]{background:var(--color-primary);color:#fff}.toolbar-btn-active[data-v-b7e6ac47]:hover{background:var(--color-primary-hover);color:#fff}.minimap-container[data-v-c73869b9]{position:absolute;bottom:var(--spacing-lg);right:var(--spacing-lg);background:var(--color-surface);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-md);padding:var(--spacing-sm);box-shadow:var(--shadow-lg);z-index:100}.minimap-canvas[data-v-c73869b9]{display:block;cursor:pointer;border-radius:var(--border-radius-sm);overflow:hidden}.minimap-canvas[data-v-c73869b9]:active{cursor:grabbing}.transform-toolbar[data-v-ea6d3233]{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;gap:var(--spacing-md);background:var(--color-surface);border-top:var(--border-width) solid var(--color-border-primary);padding:var(--spacing-sm) var(--spacing-lg);box-shadow:0 -2px 8px #0000001a;z-index:100;opacity:.95;transition:opacity var(--transition-fast)}.transform-toolbar[data-v-ea6d3233]:hover{opacity:1}.toolbar-section[data-v-ea6d3233]{display:flex;align-items:center;gap:var(--spacing-sm)}.toolbar-header[data-v-ea6d3233]{padding-right:var(--spacing-md);border-right:var(--border-width) solid var(--color-border-secondary)}.model-name[data-v-ea6d3233]{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.section-label[data-v-ea6d3233]{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.control-group-horizontal[data-v-ea6d3233]{display:flex;align-items:center;gap:var(--spacing-xs)}.control-field[data-v-ea6d3233]{display:flex;align-items:center;gap:4px}.field-label[data-v-ea6d3233]{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);min-width:12px}.field-input[data-v-ea6d3233]{width:60px;padding:4px 6px;background:var(--color-surface-hover);border:var(--border-width) solid var(--color-border-secondary);border-radius:var(--border-radius-sm);color:var(--color-text-primary);font-size:var(--font-size-xs);font-family:var(--font-family-mono);text-align:center;transition:all var(--transition-fast)}.field-input[data-v-ea6d3233]:hover{border-color:var(--color-border-primary)}.field-input[data-v-ea6d3233]:focus{outline:none;border-color:var(--color-primary);background:var(--color-surface)}.field-unit[data-v-ea6d3233]{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.toolbar-actions[data-v-ea6d3233]{margin-left:auto;padding-left:var(--spacing-md);border-left:var(--border-width) solid var(--color-border-secondary);gap:var(--spacing-xs)}.btn[data-v-ea6d3233]{padding:6px 16px;border:none;border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast)}.btn-apply[data-v-ea6d3233]{background:var(--color-primary);color:#fff}.btn-apply[data-v-ea6d3233]:hover{background:var(--color-primary-hover, #0056b3);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-apply[data-v-ea6d3233]:active{transform:translateY(0)}.btn-reset[data-v-ea6d3233]{background:var(--color-surface-hover);color:var(--color-text-secondary);border:var(--border-width) solid var(--color-border-primary)}.btn-reset[data-v-ea6d3233]:hover{background:var(--color-surface-active);color:var(--color-text-primary)}.btn-reset[data-v-ea6d3233]:active{background:var(--color-surface-hover)}@media (max-width: 1024px){.transform-toolbar[data-v-ea6d3233]{gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md)}.model-name[data-v-ea6d3233]{max-width:100px}.field-input[data-v-ea6d3233]{width:50px}}.component-palette[data-v-5dc937c7]{position:absolute;left:var(--spacing-lg);bottom:var(--spacing-lg);background:var(--color-surface);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-md);padding:var(--spacing-sm);box-shadow:var(--shadow-lg);z-index:1000;transition:all var(--transition-normal);opacity:.7}.component-palette[data-v-5dc937c7]:hover{opacity:1}.palette-icons[data-v-5dc937c7]{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs)}.palette-icon-btn[data-v-5dc937c7]{width:36px;height:36px;background:transparent;border:none;border-radius:var(--border-radius-sm);color:var(--color-text-secondary);cursor:grab;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);position:relative;flex-shrink:0}.palette-icon-btn[data-v-5dc937c7]:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text-primary)}.palette-icon-btn[data-v-5dc937c7]:active:not(.toggle-btn){cursor:grabbing;background:var(--color-surface-active)}.palette-icon-btn.toggle-btn[data-v-5dc937c7]{background:var(--color-primary);color:var(--color-text-inverse);cursor:pointer}.palette-icon-btn.toggle-btn[data-v-5dc937c7]:hover{background:var(--color-primary-dark);color:var(--color-text-inverse)}.palette-divider[data-v-5dc937c7]{width:24px;height:1px;background:var(--color-border-primary);flex-shrink:0}.component-icon[data-v-7f02cdb8]{position:absolute;border-radius:50%;background:#fffffff2;border-style:solid;display:flex;align-items:center;justify-content:center;cursor:move;-webkit-user-select:none;user-select:none;transform:translate(-50%,-50%);transition:box-shadow .2s,transform .1s;box-shadow:0 2px 4px #0000001a}.component-icon[data-v-7f02cdb8]:hover{box-shadow:0 4px 8px #0003;z-index:10}.component-icon.selected[data-v-7f02cdb8]{box-shadow:0 0 0 3px #2196f34d,0 4px 8px #0003;z-index:11}.icon-svg[data-v-7f02cdb8]{display:flex;align-items:center;justify-content:center;pointer-events:none;color:#333}.icon-svg[data-v-7f02cdb8] svg{width:100%;height:100%;display:block}.icon-svg[data-v-7f02cdb8] svg path,.icon-svg[data-v-7f02cdb8] svg circle{stroke:#333;fill:none}.dialog-overlay[data-v-cef619cc]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.dialog-content[data-v-cef619cc]{background:var(--color-surface);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);width:90%;max-width:500px;max-height:90vh;display:flex;flex-direction:column}.dialog-header[data-v-cef619cc]{padding:var(--spacing-lg);border-bottom:var(--border-width) solid var(--color-border-primary);display:flex;align-items:center;justify-content:space-between}.dialog-header h3[data-v-cef619cc]{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.close-btn[data-v-cef619cc]{background:transparent;border:none;padding:var(--spacing-xs);cursor:pointer;color:var(--color-text-secondary);border-radius:var(--border-radius-sm);display:flex;align-items:center;justify-content:center}.close-btn[data-v-cef619cc]:hover{background:var(--color-background-hover);color:var(--color-text-primary)}.dialog-body[data-v-cef619cc]{padding:var(--spacing-lg);overflow-y:auto;flex:1}.form-group[data-v-cef619cc]{margin-bottom:var(--spacing-md)}.form-group[data-v-cef619cc]:last-child{margin-bottom:0}.form-group label[data-v-cef619cc]{display:block;margin-bottom:var(--spacing-xs);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.form-group input[data-v-cef619cc],.form-group select[data-v-cef619cc]{width:100%;padding:var(--spacing-sm);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-md);font-size:var(--font-size-md);background:var(--color-background);color:var(--color-text-primary)}.form-group input[data-v-cef619cc]:focus,.form-group select[data-v-cef619cc]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.dialog-footer[data-v-cef619cc]{padding:var(--spacing-lg);border-top:var(--border-width) solid var(--color-border-primary);display:flex;gap:var(--spacing-sm);justify-content:flex-end}.btn[data-v-cef619cc]{padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--border-radius-md);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s}.btn-secondary[data-v-cef619cc]{background:var(--color-background-hover);color:var(--color-text-primary)}.btn-secondary[data-v-cef619cc]:hover{background:var(--color-border-primary)}.btn-primary[data-v-cef619cc]{background:var(--color-primary);color:#fff}.btn-primary[data-v-cef619cc]:hover{opacity:.9}.radial-menu[data-v-90cbae0c]{position:fixed;z-index:9999;animation:menuFadeIn-90cbae0c .2s ease-out}@keyframes menuFadeIn-90cbae0c{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.center-circle[data-v-90cbae0c]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;background:var(--color-surface);border:2px solid var(--color-border-primary);border-radius:50%;box-shadow:var(--shadow-md);z-index:1}.menu-item[data-v-90cbae0c]{position:absolute;top:50%;left:50%;display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin-left:-24px;margin-top:-24px;background:var(--color-surface);border:var(--border-width) solid var(--color-border-primary);border-radius:50%;cursor:pointer;font-size:22px;color:var(--color-text-primary);box-shadow:var(--shadow-lg);transition:all .2s ease;z-index:2;animation:itemPop-90cbae0c .3s ease-out backwards}@keyframes itemPop-90cbae0c{0%{opacity:0;transform:translate(0) scale(.5)}to{opacity:1;transform:translate(var(--item-x),var(--item-y)) scale(1)}}.menu-item[data-v-90cbae0c]:hover:not(.disabled),.menu-item.hovered[data-v-90cbae0c]{background-color:var(--color-primary);color:#fff;transform:scale(1.15);box-shadow:var(--shadow-xl);z-index:3}.menu-item.disabled[data-v-90cbae0c]{opacity:.4;cursor:not-allowed}.menu-icon[data-v-90cbae0c]{display:flex;align-items:center;justify-content:center;pointer-events:none}.tooltip[data-v-90cbae0c]{position:absolute;top:50%;left:50%;transform:translate(-50%,calc(-50% - 70px));background:var(--color-surface);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);white-space:nowrap;box-shadow:var(--shadow-lg);z-index:10000;pointer-events:none;animation:tooltipFadeIn-90cbae0c .15s ease-out}.tooltip[data-v-90cbae0c]:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--color-border-primary)}@keyframes tooltipFadeIn-90cbae0c{0%{opacity:0;transform:translate(-50%,calc(-50% - 75px))}to{opacity:1;transform:translate(-50%,calc(-50% - 70px))}}.canvas-3d-container[data-v-04590604]{width:100%;height:100%;position:relative;overflow:hidden;background:var(--color-surface)}.canvas-3d[data-v-04590604]{width:100%;height:100%;background:transparent}.components-layer[data-v-04590604]{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:50}.components-layer[data-v-04590604]>*{pointer-events:auto}.zoom-display[data-v-04590604]{position:absolute;top:var(--spacing-lg);left:50%;transform:translate(-50%);background:var(--color-surface);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-md);padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);box-shadow:var(--shadow-lg);z-index:100;pointer-events:none}.loading-overlay[data-v-04590604],.error-overlay[data-v-04590604]{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000000b3;color:#fff;pointer-events:none}.loading-spinner[data-v-04590604]{width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;animation:spin-04590604 1s linear infinite;margin-bottom:1rem}@keyframes spin-04590604{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-overlay[data-v-04590604]{background:#dc2626e6}.dialog-overlay[data-v-7417f598]{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dialog[data-v-7417f598]{background:#2a2a2a;border-radius:12px;width:90%;max-width:500px;box-shadow:0 20px 60px #00000080;animation:slideIn-7417f598 .3s ease}@keyframes slideIn-7417f598{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.dialog-header[data-v-7417f598]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.1)}.dialog-header h3[data-v-7417f598]{margin:0;font-size:20px;font-weight:600;color:#fff}.close-btn[data-v-7417f598]{background:none;border:none;color:#999;font-size:24px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.close-btn[data-v-7417f598]:hover{background:#ffffff1a;color:#fff}.dialog-body[data-v-7417f598]{padding:24px;max-height:60vh;overflow-y:auto}.form-group[data-v-7417f598]{margin-bottom:20px}.form-group[data-v-7417f598]:last-child{margin-bottom:0}.form-group label[data-v-7417f598]{display:block;margin-bottom:8px;color:#ccc;font-size:14px;font-weight:500}.form-group input[data-v-7417f598]{width:100%;padding:10px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:14px;transition:all .2s}.form-group input[data-v-7417f598]:focus{outline:none;border-color:#3b82f6;background:#ffffff14}.form-group input.error[data-v-7417f598]{border-color:#ef4444}.form-group small[data-v-7417f598]{display:block;margin-top:6px;color:#888;font-size:12px}.error-message[data-v-7417f598]{display:block;margin-top:6px;color:#ef4444;font-size:12px}.dialog-footer[data-v-7417f598]{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid rgba(255,255,255,.1)}.btn[data-v-7417f598]{padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary[data-v-7417f598]{background:#ffffff1a;color:#fff}.btn-secondary[data-v-7417f598]:hover{background:#ffffff26}.btn-primary[data-v-7417f598]{background:#3b82f6;color:#fff}.btn-primary[data-v-7417f598]:hover{background:#2563eb}.dialog-overlay[data-v-055afeb9]{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dialog[data-v-055afeb9]{background:#2a2a2a;border-radius:12px;width:90%;max-width:600px;box-shadow:0 20px 60px #00000080;animation:slideIn-055afeb9 .3s ease}@keyframes slideIn-055afeb9{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.dialog-header[data-v-055afeb9]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.1)}.dialog-header h3[data-v-055afeb9]{margin:0;font-size:20px;font-weight:600;color:#fff}.close-btn[data-v-055afeb9]{background:none;border:none;color:#999;font-size:24px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.close-btn[data-v-055afeb9]:hover{background:#ffffff1a;color:#fff}.dialog-body[data-v-055afeb9]{padding:24px;max-height:60vh;overflow-y:auto}.form-group[data-v-055afeb9]{margin-bottom:20px}.form-group[data-v-055afeb9]:last-child{margin-bottom:0}.form-group label[data-v-055afeb9]{display:block;margin-bottom:8px;color:#ccc;font-size:14px;font-weight:500}.form-group input[data-v-055afeb9],.form-group select[data-v-055afeb9]{width:100%;padding:10px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:14px;transition:all .2s}.form-group input[data-v-055afeb9]:focus,.form-group select[data-v-055afeb9]:focus{outline:none;border-color:#3b82f6;background:#ffffff14}.form-group input.error[data-v-055afeb9],.form-group select.error[data-v-055afeb9]{border-color:#ef4444}.color-input[data-v-055afeb9]{display:flex;gap:12px;align-items:center}.color-input input[type=color][data-v-055afeb9]{width:60px;height:44px;padding:4px;cursor:pointer}.color-text[data-v-055afeb9]{flex:1}.slider[data-v-055afeb9]{width:100%;height:6px;border-radius:3px;background:#ffffff1a;outline:none;cursor:pointer}.error-message[data-v-055afeb9]{display:block;margin-top:6px;color:#ef4444;font-size:12px}.dialog-footer[data-v-055afeb9]{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid rgba(255,255,255,.1)}.btn[data-v-055afeb9]{padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn[data-v-055afeb9]:disabled{opacity:.4;cursor:not-allowed}.btn-secondary[data-v-055afeb9]{background:#ffffff1a;color:#fff}.btn-secondary[data-v-055afeb9]:hover:not(:disabled){background:#ffffff26}.btn-primary[data-v-055afeb9]{background:#3b82f6;color:#fff}.btn-primary[data-v-055afeb9]:hover:not(:disabled){background:#2563eb}.drawing-panel[data-v-055afeb9]{position:fixed;bottom:20px;right:20px;background:#1e1e1efa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;box-shadow:0 8px 32px #00000080;z-index:1500;width:320px;transition:all .3s ease;border:2px solid #10b981}.drawing-panel.minimized[data-v-055afeb9]{width:250px}.panel-header[data-v-055afeb9]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#10b98133;border-radius:10px 10px 0 0;cursor:pointer;-webkit-user-select:none;user-select:none}.panel-header[data-v-055afeb9]:hover{background:#10b9814d}.panel-title[data-v-055afeb9]{display:flex;align-items:center;gap:8px;font-weight:600;color:#fff;font-size:14px}.status-indicator[data-v-055afeb9]{width:8px;height:8px;background:#10b981;border-radius:50%;animation:pulse-055afeb9 2s infinite}@keyframes pulse-055afeb9{0%,to{opacity:1}50%{opacity:.5}}.minimize-btn[data-v-055afeb9]{background:none;border:none;color:#fff;font-size:12px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background .2s}.minimize-btn[data-v-055afeb9]:hover{background:#ffffff1a}.panel-body[data-v-055afeb9]{padding:16px;display:flex;flex-direction:column;gap:12px}.info-box-compact[data-v-055afeb9]{background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:6px;padding:10px;font-size:12px;color:#3b82f6}.info-box-compact p[data-v-055afeb9]{margin:4px 0}.stats-row[data-v-055afeb9]{display:flex;gap:12px}.stat-item[data-v-055afeb9]{flex:1;display:flex;flex-direction:column;gap:4px}.stat-label[data-v-055afeb9]{font-size:11px;color:#888;text-transform:uppercase}.stat-value[data-v-055afeb9]{font-size:14px;color:#fff;font-weight:600}.color-preview-small[data-v-055afeb9]{width:24px;height:24px;border-radius:4px;border:1px solid rgba(255,255,255,.2)}.points-compact[data-v-055afeb9]{background:#0000004d;border-radius:6px;padding:8px;min-height:60px;max-height:100px;overflow-y:auto}.empty-state-compact[data-v-055afeb9]{color:#666;font-size:12px;text-align:center;padding:16px}.points-grid[data-v-055afeb9]{display:flex;flex-direction:column;gap:4px}.point-chip[data-v-055afeb9]{background:#ffffff0d;padding:4px 8px;border-radius:4px;font-size:11px;color:#ccc;font-family:var(--font-family-mono)}.action-buttons[data-v-055afeb9]{display:flex;gap:8px}.btn-compact[data-v-055afeb9]{flex:1;padding:8px 12px;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.btn-compact[data-v-055afeb9]:disabled{opacity:.4;cursor:not-allowed}.btn-danger[data-v-055afeb9]{background:#ef444433;color:#ef4444}.btn-danger[data-v-055afeb9]:hover:not(:disabled){background:#ef444466}.btn-success[data-v-055afeb9]{background:#10b98133;color:#10b981}.btn-success[data-v-055afeb9]:hover:not(:disabled){background:#10b98166}.btn-cancel[data-v-055afeb9]{width:100%;background:#ffffff1a;color:#fff}.btn-cancel[data-v-055afeb9]:hover{background:#ffffff26}.dialog-overlay[data-v-bd6d8d3c]{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dialog[data-v-bd6d8d3c]{background:#2a2a2a;border-radius:12px;width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080;animation:slideIn-bd6d8d3c .3s ease}@keyframes slideIn-bd6d8d3c{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.dialog-header[data-v-bd6d8d3c]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.1)}.dialog-header h3[data-v-bd6d8d3c]{margin:0;font-size:20px;font-weight:600;color:#fff}.close-btn[data-v-bd6d8d3c]{background:none;border:none;color:#999;font-size:24px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.close-btn[data-v-bd6d8d3c]:hover{background:#ffffff1a;color:#fff}.dialog-body[data-v-bd6d8d3c]{padding:24px;overflow-y:auto;flex:1}.current-camera[data-v-bd6d8d3c]{background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:8px;padding:16px;margin-bottom:24px}.current-camera h4[data-v-bd6d8d3c]{margin:0 0 12px;color:#3b82f6;font-size:16px}.camera-info[data-v-bd6d8d3c]{margin-bottom:16px}.info-row[data-v-bd6d8d3c]{display:flex;justify-content:space-between;padding:6px 0;font-size:14px}.info-row .label[data-v-bd6d8d3c]{color:#888;font-weight:500}.info-row .value[data-v-bd6d8d3c]{color:#fff;font-family:var(--font-family-mono)}.presets-section h4[data-v-bd6d8d3c]{margin:0 0 16px;color:#ccc;font-size:16px}.empty-state[data-v-bd6d8d3c]{text-align:center;padding:40px 20px;color:#666}.empty-state p[data-v-bd6d8d3c]{margin:8px 0}.presets-list[data-v-bd6d8d3c]{display:flex;flex-direction:column;gap:12px}.preset-item[data-v-bd6d8d3c]{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:16px;cursor:pointer;transition:all .2s}.preset-item[data-v-bd6d8d3c]:hover{background:#ffffff14;border-color:#3b82f6;transform:translate(4px)}.preset-header[data-v-bd6d8d3c]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.preset-name[data-v-bd6d8d3c]{font-weight:600;color:#fff;font-size:16px}.delete-btn[data-v-bd6d8d3c]{background:#ef444433;border:none;padding:6px 10px;border-radius:6px;cursor:pointer;transition:all .2s;font-size:14px}.delete-btn[data-v-bd6d8d3c]:hover{background:#ef444466;transform:scale(1.1)}.preset-details[data-v-bd6d8d3c]{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.detail-item[data-v-bd6d8d3c]{display:flex;gap:8px;font-size:13px}.detail-label[data-v-bd6d8d3c]{color:#888;min-width:50px}.detail-value[data-v-bd6d8d3c]{color:#ccc;font-family:var(--font-family-mono)}.preset-date[data-v-bd6d8d3c]{font-size:12px;color:#666;margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.05)}.form-group[data-v-bd6d8d3c]{margin-bottom:20px}.form-group label[data-v-bd6d8d3c]{display:block;margin-bottom:8px;color:#ccc;font-size:14px;font-weight:500}.form-group input[data-v-bd6d8d3c]{width:100%;padding:10px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:14px;transition:all .2s}.form-group input[data-v-bd6d8d3c]:focus{outline:none;border-color:#3b82f6;background:#ffffff14}.form-group input.error[data-v-bd6d8d3c]{border-color:#ef4444}.error-message[data-v-bd6d8d3c]{display:block;margin-top:6px;color:#ef4444;font-size:12px}.preview-box[data-v-bd6d8d3c]{background:#0000004d;border-radius:8px;padding:16px}.preview-box h4[data-v-bd6d8d3c]{margin:0 0 12px;color:#ccc;font-size:14px}.dialog-footer[data-v-bd6d8d3c]{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid rgba(255,255,255,.1)}.btn[data-v-bd6d8d3c]{padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-block[data-v-bd6d8d3c]{width:100%}.btn-secondary[data-v-bd6d8d3c]{background:#ffffff1a;color:#fff}.btn-secondary[data-v-bd6d8d3c]:hover{background:#ffffff26}.btn-primary[data-v-bd6d8d3c]{background:#3b82f6;color:#fff}.btn-primary[data-v-bd6d8d3c]:hover{background:#2563eb}.mode-control-toolbar[data-v-f130448c]{position:absolute;top:calc(var(--spacing-lg) + 36px + 8px);left:var(--spacing-lg);background:var(--color-surface);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-md);padding:var(--spacing-sm);box-shadow:var(--shadow-lg);z-index:1000;transition:all var(--transition-normal);opacity:.7}.mode-control-toolbar[data-v-f130448c]:hover{opacity:1}.toolbar-icons[data-v-f130448c]{display:flex;flex-direction:row;align-items:center;gap:var(--spacing-xs)}.toolbar-icon-btn[data-v-f130448c]{width:36px;height:36px;background:transparent;border:none;border-radius:var(--border-radius-sm);color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);position:relative;flex-shrink:0}.toolbar-icon-btn[data-v-f130448c]:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text-primary)}.toolbar-icon-btn[data-v-f130448c]:active:not(:disabled){background:var(--color-surface-active)}.toolbar-icon-btn[data-v-f130448c]:disabled{opacity:.4;cursor:not-allowed}.toolbar-icon-btn.mode-btn.active[data-v-f130448c],.toolbar-icon-btn.toggle-btn[data-v-f130448c]{background:var(--color-primary);color:var(--color-text-inverse)}.toolbar-icon-btn.toggle-btn[data-v-f130448c]:hover{background:var(--color-primary-dark);color:var(--color-text-inverse)}.toolbar-icon-btn.danger[data-v-f130448c]:hover:not(:disabled){background:var(--color-error);color:var(--color-text-inverse)}.toolbar-divider[data-v-f130448c]{width:1px;height:24px;background:var(--color-border-primary);flex-shrink:0}.mode-switcher[data-v-f130448c]{flex-shrink:0}.mode-switcher-track[data-v-f130448c]{position:relative;width:80px;height:36px;background:var(--color-surface-hover);border-radius:var(--border-radius-full);cursor:pointer;display:flex;align-items:center;padding:2px;transition:all var(--transition-fast);border:var(--border-width) solid var(--color-border-primary)}.mode-switcher-track[data-v-f130448c]:hover{background:var(--color-surface-active)}.mode-switcher-thumb[data-v-f130448c]{position:absolute;width:32px;height:32px;background:var(--color-primary);border-radius:var(--border-radius-full);display:flex;align-items:center;justify-content:center;color:var(--color-text-inverse);transition:all var(--transition-normal);box-shadow:var(--shadow-sm);left:2px}.mode-switcher-thumb.is-3d[data-v-f130448c],.mode-switcher-thumb.is-edit[data-v-f130448c]{left:calc(100% - 34px)}.mode-label[data-v-f130448c]{position:absolute;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);transition:all var(--transition-fast);pointer-events:none}.mode-switcher-thumb:not(.is-3d):not(.is-edit)~.mode-label[data-v-f130448c]{right:8px}.mode-switcher-thumb.is-3d~.mode-label[data-v-f130448c],.mode-switcher-thumb.is-edit~.mode-label[data-v-f130448c]{left:8px}.layer-dropdown-container[data-v-f130448c]{position:relative;display:flex;align-items:center}.layer-dropdown[data-v-f130448c]{position:absolute;top:calc(100% + 8px);left:0;min-width:240px;background:var(--color-surface);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);z-index:1001;overflow:hidden}.layer-dropdown-header[data-v-f130448c]{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface-hover);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);border-bottom:var(--border-width) solid var(--color-border-primary)}.layer-dropdown-content[data-v-f130448c]{max-height:300px;overflow-y:auto;padding:var(--spacing-xs)}.layer-item[data-v-f130448c]{padding:var(--spacing-xs);border-radius:var(--border-radius-sm);transition:background var(--transition-fast)}.layer-item[data-v-f130448c]:hover{background:var(--color-surface-hover)}.layer-checkbox[data-v-f130448c]{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;-webkit-user-select:none;user-select:none}.layer-checkbox input[type=checkbox][data-v-f130448c]{width:16px;height:16px;cursor:pointer;accent-color:var(--color-primary)}.layer-name[data-v-f130448c]{flex:1;font-size:var(--font-size-sm);color:var(--color-text-primary)}.layer-badge[data-v-f130448c]{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);background:var(--color-surface-active);padding:2px 6px;border-radius:var(--border-radius-sm)}.zone-tree-node[data-v-8bccbb05]{width:100%}.zone-node-item[data-v-8bccbb05]{padding:var(--spacing-sm) var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;transition:all var(--transition-fast);border-radius:var(--border-radius-sm);margin:1px 0;min-height:36px;position:relative}.zone-node-item[data-v-8bccbb05]:hover{background:var(--color-surface-hover)}.zone-node-item.selected[data-v-8bccbb05]{background:var(--color-primary);color:var(--color-text-inverse)}.zone-node-item.selected .zone-code[data-v-8bccbb05]{background:#fff3;color:var(--color-text-inverse)}.zone-node-item.selected .zone-name[data-v-8bccbb05]{color:var(--color-text-inverse)}.expand-icon[data-v-8bccbb05]{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-text-secondary);transition:all var(--transition-fast)}.expand-icon svg[data-v-8bccbb05]{transition:transform var(--transition-fast)}.expand-icon.expanded svg[data-v-8bccbb05]{transform:rotate(90deg)}.zone-node-item:hover .expand-icon[data-v-8bccbb05]{color:var(--color-text-primary)}.zone-node-item.selected .expand-icon[data-v-8bccbb05]{color:var(--color-text-inverse)}.expand-placeholder[data-v-8bccbb05]{width:20px;height:20px;flex-shrink:0}.zone-code[data-v-8bccbb05]{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-primary);background:var(--color-surface-active);padding:3px 8px;border-radius:var(--border-radius-sm);flex-shrink:0;line-height:1.2;min-width:60px;text-align:center}.zone-name[data-v-8bccbb05]{flex:1;font-size:var(--font-size-sm);color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.4;font-weight:var(--font-weight-medium)}.zone-children[data-v-8bccbb05]{width:100%}.zone-layer-toolbar[data-v-66cc1155]{position:absolute;top:var(--spacing-lg);left:var(--spacing-lg);display:flex;gap:var(--spacing-sm);z-index:1001;transition:opacity var(--transition-fast)}.zone-layer-toolbar[data-v-66cc1155]:hover{opacity:1!important}.zone-dropdown-container[data-v-66cc1155],.layer-dropdown-container[data-v-66cc1155]{position:relative}.combobox[data-v-66cc1155]{min-width:200px;height:36px;background:var(--color-surface);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-md);padding:0 var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-md);-webkit-user-select:none;user-select:none;opacity:.6}.zone-layer-toolbar:hover .combobox[data-v-66cc1155],.combobox[data-v-66cc1155]:hover{opacity:1}.combobox[data-v-66cc1155]:hover{background:var(--color-surface-hover);border-color:var(--color-primary);box-shadow:var(--shadow-lg)}.combobox-label[data-v-66cc1155]{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);white-space:nowrap}.combobox-value[data-v-66cc1155]{flex:1;font-size:var(--font-size-sm);color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.combobox-arrow[data-v-66cc1155]{color:var(--color-text-secondary);transition:transform var(--transition-fast);flex-shrink:0;width:16px;height:16px;display:flex;align-items:center;justify-content:center}.combobox-arrow.rotated[data-v-66cc1155]{transform:rotate(180deg)}.dropdown[data-v-66cc1155]{position:absolute;top:calc(100% + 8px);left:0;min-width:100%;max-width:400px;background:var(--color-surface);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);z-index:1001;overflow:hidden;animation:dropdownFadeIn-66cc1155 .2s ease-out}@keyframes dropdownFadeIn-66cc1155{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-header[data-v-66cc1155]{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface-hover);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);border-bottom:var(--border-width) solid var(--color-border-primary);display:flex;align-items:center;justify-content:space-between}.toggle-all-btn[data-v-66cc1155]{padding:2px 8px;background:var(--color-primary);color:var(--color-text-inverse);border:none;border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast)}.toggle-all-btn[data-v-66cc1155]:hover{background:var(--color-primary-dark)}.dropdown-content[data-v-66cc1155]{max-height:350px;overflow-y:auto;padding:0}.dropdown-item[data-v-66cc1155]{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-sm);cursor:pointer;transition:background var(--transition-fast);display:flex;align-items:center;gap:var(--spacing-sm)}.dropdown-item[data-v-66cc1155]:hover{background:var(--color-surface-hover)}.dropdown-item.selected[data-v-66cc1155]{background:var(--color-primary);color:var(--color-text-inverse)}.dropdown-item.selected .zone-code[data-v-66cc1155],.dropdown-item.selected .zone-name[data-v-66cc1155]{color:var(--color-text-inverse)}.dropdown-item.checkbox-item[data-v-66cc1155]{padding-left:var(--spacing-sm)}.dropdown-item input[type=checkbox][data-v-66cc1155]{width:16px;height:16px;cursor:pointer;accent-color:var(--color-primary);flex-shrink:0}.zone-code[data-v-66cc1155],.layer-code[data-v-66cc1155]{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-primary);background:var(--color-surface-active);padding:3px 8px;border-radius:var(--border-radius-sm);flex-shrink:0;line-height:1.2}.zone-name[data-v-66cc1155],.layer-name[data-v-66cc1155]{flex:1;font-size:var(--font-size-sm);color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.4}.zone-tree-node .zone-code[data-v-66cc1155]{min-width:60px;text-align:center}.zone-tree-node .zone-name[data-v-66cc1155]{font-weight:var(--font-weight-medium)}.dropdown-empty[data-v-66cc1155]{padding:var(--spacing-lg);text-align:center;font-size:var(--font-size-sm);color:var(--color-text-secondary);font-style:italic}.dropdown-content[data-v-66cc1155]::-webkit-scrollbar{width:8px}.dropdown-content[data-v-66cc1155]::-webkit-scrollbar-track{background:var(--color-surface);border-radius:var(--border-radius-sm)}.dropdown-content[data-v-66cc1155]::-webkit-scrollbar-thumb{background:var(--color-border-primary);border-radius:var(--border-radius-sm)}.dropdown-content[data-v-66cc1155]::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}.search-box[data-v-66cc1155]{padding:var(--spacing-sm) var(--spacing-md);border-bottom:var(--border-width) solid var(--color-border-primary);display:flex;align-items:center;gap:var(--spacing-xs);background:var(--color-surface)}.search-icon[data-v-66cc1155]{color:var(--color-text-secondary);flex-shrink:0;width:16px;height:16px}.search-input[data-v-66cc1155]{flex:1;border:none;background:transparent;color:var(--color-text-primary);font-size:var(--font-size-sm);outline:none;padding:4px 0}.search-input[data-v-66cc1155]::placeholder{color:var(--color-text-secondary)}.search-clear[data-v-66cc1155]{background:transparent;border:none;color:var(--color-text-secondary);cursor:pointer;padding:2px;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-sm);transition:all var(--transition-fast);flex-shrink:0}.search-clear svg[data-v-66cc1155]{width:14px;height:14px}.search-clear[data-v-66cc1155]:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.zone-tree-node[data-v-66cc1155]{width:100%}.zone-node-item[data-v-66cc1155]{padding:var(--spacing-sm) var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;transition:all var(--transition-fast);border-radius:var(--border-radius-sm);margin:1px 0;min-height:36px;position:relative}.zone-node-item[data-v-66cc1155]:hover{background:var(--color-surface-hover)}.zone-node-item.selected[data-v-66cc1155]{background:var(--color-primary);color:var(--color-text-inverse)}.zone-node-item.selected .zone-code[data-v-66cc1155]{background:#fff3;color:var(--color-text-inverse)}.zone-node-item.selected .zone-name[data-v-66cc1155]{color:var(--color-text-inverse)}.expand-btn[data-v-66cc1155]{width:18px;height:18px;padding:0;background:transparent;border:none;color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-sm);transition:all var(--transition-fast);flex-shrink:0;margin-right:2px}.expand-btn[data-v-66cc1155]:hover{background:var(--color-surface-active);color:var(--color-text-primary)}.expand-btn svg[data-v-66cc1155]{transition:transform var(--transition-fast)}.zone-node-item.selected .expand-btn[data-v-66cc1155]{color:var(--color-text-inverse)}.zone-node-item.selected .expand-btn[data-v-66cc1155]:hover{background:#fff3}.expand-placeholder[data-v-66cc1155]{width:18px;height:18px;flex-shrink:0;margin-right:2px}.zone-children[data-v-66cc1155]{width:100%}.zone-dropdown[data-v-66cc1155]{min-width:380px;max-width:450px}.zone-dropdown .dropdown-content[data-v-66cc1155]{padding:var(--spacing-xs) var(--spacing-sm)}.zone-dropdown .zone-node-item[data-v-66cc1155]{padding:var(--spacing-sm) var(--spacing-md);margin:0;border-radius:var(--border-radius-sm)}.zone-dropdown .zone-node-item[data-v-66cc1155]:first-child{margin-top:0}.zone-dropdown .zone-node-item[data-v-66cc1155]:last-child{margin-bottom:0}.app-container[data-v-22aacefe]{width:100%;height:100%;display:flex;position:relative;background:var(--floor-bg-viewport);overflow:hidden}.canvas-area[data-v-22aacefe]{flex:1;position:relative;width:100%;height:100%;overflow:hidden}.base-node[data-v-eee1bbab]{background:#fff;border:2px solid;border-radius:8px;min-width:220px;max-width:280px;box-shadow:0 4px 6px #0000001a;transition:all .3s}.base-node.edit-mode[data-v-eee1bbab]{min-width:250px}.base-node.expanded[data-v-eee1bbab]{min-width:240px}.node-header[data-v-eee1bbab]{color:#fff;padding:8px 12px;border-radius:6px 6px 0 0;display:flex;align-items:center;justify-content:space-between;font-weight:600}.header-left[data-v-eee1bbab]{display:flex;align-items:center;gap:8px}.header-icon[data-v-eee1bbab] svg{width:16px;height:16px;stroke:currentColor}.node-title[data-v-eee1bbab]{font-size:13px;font-weight:600;letter-spacing:.5px}.header-actions[data-v-eee1bbab]{display:flex;align-items:center;gap:4px}.icon-button[data-v-eee1bbab]{background:#fff3;border:none;border-radius:4px;padding:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.icon-button[data-v-eee1bbab]:hover{background:#ffffff4d}.icon-button svg[data-v-eee1bbab]{color:#fff}.node-content[data-v-eee1bbab]{padding:10px 12px}.info-row[data-v-eee1bbab]{display:flex;justify-content:space-between;margin-bottom:6px;font-size:12px}.info-row[data-v-eee1bbab]:last-child{margin-bottom:0}.info-label[data-v-eee1bbab]{color:#6b7280;font-weight:500}.info-value[data-v-eee1bbab]{color:#1f2937;font-weight:600;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-content-expanded[data-v-eee1bbab]{padding:12px}.view-mode[data-v-eee1bbab]{display:flex;flex-direction:column;gap:8px}.field-view[data-v-eee1bbab]{display:flex;flex-direction:column;gap:2px}.field-view label[data-v-eee1bbab]{font-size:11px;color:#6b7280;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.field-view span[data-v-eee1bbab]{font-size:13px;color:#1f2937;font-weight:500}.badge[data-v-eee1bbab]{display:inline-block;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.edit-mode-content[data-v-eee1bbab]{display:flex;flex-direction:column;gap:10px}.field[data-v-eee1bbab]{display:flex;flex-direction:column;gap:4px}.field label[data-v-eee1bbab]{font-size:11px;color:#6b7280;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.field input[data-v-eee1bbab],.field select[data-v-eee1bbab]{padding:6px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:13px;background:#fff;transition:all .2s}.field input[data-v-eee1bbab]:focus,.field select[data-v-eee1bbab]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.field input[readonly][data-v-eee1bbab]{background:#f3f4f6;cursor:not-allowed}.field select[data-v-eee1bbab]{cursor:pointer;font-weight:500}.mode-badge[data-v-eee1bbab]{display:inline-block;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background:#dbeafe;color:#1e40af}.mode-display[data-v-eee1bbab]{font-size:13px;color:#1f2937;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.event-type-badge[data-v-eee1bbab]{display:inline-block;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.type-alarm[data-v-eee1bbab]{background:#fee2e2;color:#991b1b}.type-warning[data-v-eee1bbab]{background:#fef3c7;color:#92400e}.type-info[data-v-eee1bbab]{background:#dbeafe;color:#1e40af}.type-error[data-v-eee1bbab]{background:#fecaca;color:#7f1d1d}.type-critical[data-v-eee1bbab]{background:#fca5a5;color:#450a0a}.type-normal[data-v-eee1bbab]{background:#d1fae5;color:#065f46}.type-emergency[data-v-eee1bbab]{background:#fecdd3;color:#881337}.type-fault[data-v-eee1bbab]{background:#fed7aa;color:#9a3412}.type-notification[data-v-eee1bbab]{background:#bfdbfe;color:#1e40af}.type-status[data-v-eee1bbab]{background:#e0e7ff;color:#3730a3}.device-type-badge[data-v-eee1bbab],.action-badge[data-v-eee1bbab]{display:inline-block;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background:#ddd6fe;color:#5b21b6}.count-display[data-v-1107a863]{text-align:center;padding:12px;background:#f8fafc;border-radius:6px}.count-label[data-v-1107a863]{font-size:11px;color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.count-value[data-v-1107a863]{font-size:28px;font-weight:700;color:#8b5cf6}.field[data-v-1107a863]{display:flex;flex-direction:column;gap:4px}.field label[data-v-1107a863]{font-size:12px;font-weight:500;color:#64748b}.field input[data-v-1107a863]{padding:6px 8px;border:1px solid #cbd5e1;border-radius:4px;font-size:13px;transition:border-color .2s}.field input[data-v-1107a863]:focus{outline:none;border-color:#8b5cf6}.logic-display[data-v-ad1e68fd]{text-align:center;padding:12px;background:#fef3c7;border-radius:6px}.logic-symbol[data-v-ad1e68fd]{font-size:24px;font-weight:700;color:#d97706;margin-bottom:4px}.logic-description[data-v-ad1e68fd]{font-size:11px;color:#92400e}.output-status[data-v-ad1e68fd]{padding:6px 12px;text-align:center;border-radius:4px;font-size:12px;font-weight:600;background:#fee2e2;color:#dc2626;transition:all .3s}.output-status.active[data-v-ad1e68fd]{background:#d1fae5;color:#059669}.inputs-info[data-v-ad1e68fd]{font-size:11px;color:#64748b;text-align:center}.logic-display[data-v-ad2d64be]{text-align:center;padding:12px;background:#cffafe;border-radius:6px}.logic-symbol[data-v-ad2d64be]{font-size:24px;font-weight:700;color:#0891b2;margin-bottom:4px}.logic-description[data-v-ad2d64be]{font-size:11px;color:#164e63}.output-status[data-v-ad2d64be]{padding:6px 12px;text-align:center;border-radius:4px;font-size:12px;font-weight:600;background:#fee2e2;color:#dc2626;transition:all .3s}.output-status.active[data-v-ad2d64be]{background:#d1fae5;color:#059669}.inputs-info[data-v-ad2d64be]{font-size:11px;color:#64748b;text-align:center}.notification-display[data-v-597be047]{text-align:center;padding:12px;background:#f0f9ff;border-radius:6px;display:flex;align-items:center;gap:8px}.notification-icon[data-v-597be047]{font-size:24px}.notification-info[data-v-597be047]{flex:1;text-align:left}.action-label[data-v-597be047]{font-size:13px;font-weight:600;color:#0369a1}.field[data-v-597be047]{display:flex;flex-direction:column;gap:4px}.field label[data-v-597be047]{font-size:12px;font-weight:500;color:#64748b}.field select[data-v-597be047],.field textarea[data-v-597be047]{padding:6px 8px;border:1px solid #cbd5e1;border-radius:4px;font-size:13px;transition:border-color .2s;font-family:inherit}.field select[data-v-597be047]:focus,.field textarea[data-v-597be047]:focus{outline:none;border-color:#0ea5e9}.field textarea[data-v-597be047]{resize:vertical;min-height:60px}.node-palette[data-v-8bb80853]{position:absolute;top:16px;left:16px;background:#fff;border:1px solid #e2e8f0;padding:12px;width:80px;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;gap:12px;z-index:10;transition:all .3s ease}.node-palette.collapsed[data-v-8bb80853]{width:48px;padding:8px}.palette-header[data-v-8bb80853]{display:flex;align-items:center;justify-content:center;padding-bottom:8px;border-bottom:1px solid #e2e8f0;transition:border-color .3s}.node-palette.collapsed .palette-header[data-v-8bb80853]{padding-bottom:0;border-bottom:none}.toggle-button[data-v-8bb80853]{background:transparent;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s;color:#64748b}.toggle-button[data-v-8bb80853]:hover{background:#f1f5f9;color:#1e293b}.palette-items[data-v-8bb80853]{display:flex;flex-direction:column;gap:8px;align-items:center}.palette-item[data-v-8bb80853]{position:relative;display:flex;align-items:center;justify-content:center;width:56px;height:56px;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;cursor:grab;transition:all .2s;-webkit-user-select:none;user-select:none}.palette-item[data-v-8bb80853]:hover{background:#f1f5f9;border-color:#3b82f6;transform:scale(1.1);box-shadow:0 4px 12px #3b82f64d}.palette-item:hover .tooltip[data-v-8bb80853]{opacity:1;visibility:visible;transform:translate(0)}.palette-item[data-v-8bb80853]:active{cursor:grabbing;transform:scale(1.05)}.item-icon[data-v-8bb80853]{font-size:32px;line-height:1;color:#1e293b;font-weight:700}.tooltip[data-v-8bb80853]{position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%) translate(-10px);background:#1e293b;color:#fff;padding:8px 12px;border-radius:6px;font-size:13px;font-weight:500;white-space:nowrap;opacity:0;visibility:hidden;transition:all .2s;pointer-events:none;z-index:1000;box-shadow:0 4px 6px #0003}.tooltip[data-v-8bb80853]:before{content:"";position:absolute;right:100%;top:50%;transform:translateY(-50%);border:6px solid transparent;border-right-color:#1e293b}.node-palette.dark[data-v-8bb80853]{background:#1e293b;border-color:#334155}.node-palette.dark .palette-header[data-v-8bb80853]{border-bottom-color:#334155}.node-palette.dark .palette-header h3[data-v-8bb80853]{color:#f1f5f9}.node-palette.dark .toggle-button[data-v-8bb80853]{color:#94a3b8}.node-palette.dark .toggle-button[data-v-8bb80853]:hover{background:#334155;color:#f1f5f9}.node-palette.dark .palette-item[data-v-8bb80853]{background:#334155;border-color:#475569}.node-palette.dark .palette-item[data-v-8bb80853]:hover{background:#475569;border-color:#60a5fa;box-shadow:0 4px 12px #60a5fa4d}.node-palette.dark .tooltip[data-v-8bb80853]{background:#f1f5f9;color:#1e293b}.node-palette.dark .tooltip[data-v-8bb80853]:before{border-right-color:#f1f5f9}.node-palette.dark .item-icon[data-v-8bb80853]{color:#f1f5f9}.toolbar[data-v-788cde42]{position:absolute;top:16px;right:16px;display:flex;gap:8px;z-index:10;background:#fff;padding:8px;border-radius:8px;box-shadow:0 2px 8px #0000001a;transition:all .3s ease}.toolbar.minimized[data-v-788cde42]{padding:8px}.toolbar-button[data-v-788cde42]{display:flex;align-items:center;justify-content:center;padding:10px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;cursor:pointer;transition:all .2s;font-size:14px;min-width:40px;min-height:40px}.minimize-button .icon[data-v-788cde42]{font-size:18px;font-weight:700}.toolbar-button[data-v-788cde42]:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1;transform:translateY(-1px)}.toolbar-button[data-v-788cde42]:active:not(:disabled){transform:translateY(0)}.toolbar-button[data-v-788cde42]:disabled{opacity:.5;cursor:not-allowed}.toolbar-button.active[data-v-788cde42]{background:#eff6ff;border-color:#3b82f6}.toolbar-button.danger[data-v-788cde42]:not(:disabled){border-color:#fecaca;background:#fef2f2}.toolbar-button.danger[data-v-788cde42]:hover:not(:disabled){background:#fee2e2;border-color:#fca5a5}.icon[data-v-788cde42]{font-size:18px;line-height:1}.toolbar-divider[data-v-788cde42]{width:1px;background:#e2e8f0;margin:4px 0}.toolbar.dark[data-v-788cde42]{background:#1e293b;border-color:#334155}.toolbar.dark .toolbar-button[data-v-788cde42]{background:#2d3748;border-color:#475569;color:#f1f5f9}.toolbar.dark .toolbar-button[data-v-788cde42]:hover:not(:disabled){background:#374151;border-color:#64748b}.toolbar.dark .toolbar-button.active[data-v-788cde42]{background:#1e3a5f;border-color:#60a5fa}.toolbar.dark .toolbar-button.danger[data-v-788cde42]:not(:disabled){background:#3f1f1f;border-color:#7f1d1d}.toolbar.dark .toolbar-button.danger[data-v-788cde42]:hover:not(:disabled){background:#4c1d1d;border-color:#991b1b}.toolbar.dark .toolbar-divider[data-v-788cde42]{background:#475569}.arrow-marker[data-v-22826a5d]{display:flex;align-items:center;justify-content:center;z-index:10}.context-menu[data-v-2150fa2c]{position:fixed;background:var(--color-surface);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);padding:4px;min-width:180px;z-index:9999;animation:fadeIn-2150fa2c .15s ease-out}@keyframes fadeIn-2150fa2c{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.menu-item[data-v-2150fa2c]{display:flex;align-items:center;gap:12px;padding:8px 12px;cursor:pointer;border-radius:var(--border-radius-sm);transition:background-color .2s;font-size:14px;color:var(--color-text-primary)}.menu-item[data-v-2150fa2c]:hover:not(.disabled){background-color:var(--color-surface-hover)}.menu-item.disabled[data-v-2150fa2c]{opacity:.5;cursor:not-allowed}.menu-icon[data-v-2150fa2c]{font-size:16px;width:20px;display:flex;align-items:center;justify-content:center}.menu-label[data-v-2150fa2c]{flex:1}.flow-editor[data-v-89c14ec5]{width:100%;height:100%;overflow:hidden;transition:background-color var(--transition-base)}.flow-container[data-v-89c14ec5]{width:100%;height:100%;position:relative;background-color:var(--color-bg-secondary);transition:background-color var(--transition-base)}.flow-container[data-v-89c14ec5] .vue-flow,.flow-container[data-v-89c14ec5] .vue-flow__container,.flow-container[data-v-89c14ec5] .vue-flow__viewport{width:100%;height:100%}[data-v-89c14ec5] .vue-flow__pane{position:absolute!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;height:100%!important}[data-v-89c14ec5] .vue-flow__renderer,[data-v-89c14ec5] .vue-flow__transformationpane{width:100%;height:100%}.light-theme .flow-container[data-v-89c14ec5]{background-color:var(--color-bg-secondary)}.dark-theme .flow-container[data-v-89c14ec5]{background-color:var(--color-bg-primary)}.deletion-hint[data-v-89c14ec5]{position:absolute;bottom:var(--spacing-lg);left:50%;transform:translate(-50%);background:#3b82f6f2;color:var(--color-text-inverse);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);box-shadow:var(--shadow-lg);z-index:var(--z-index-tooltip);animation:slideUp-89c14ec5 .3s ease-out}@keyframes slideUp-89c14ec5{0%{opacity:0;transform:translate(-50%) translateY(var(--spacing-lg))}to{opacity:1;transform:translate(-50%) translateY(0)}}.deletion-hint kbd[data-v-89c14ec5]{background:#fff3;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);font-family:var(--font-family-mono);font-weight:var(--font-weight-semibold);margin:0 var(--spacing-xs)}[data-v-89c14ec5] .vue-flow__background{position:absolute!important;top:0!important;left:0!important;width:100%!important;height:100%!important;transition:background-color var(--transition-base)}.light-theme[data-v-89c14ec5] .vue-flow__background{background-color:var(--color-bg-secondary)}.dark-theme[data-v-89c14ec5] .vue-flow__background{background-color:var(--color-bg-primary)}[data-v-89c14ec5] .vue-flow__background-pattern{position:absolute!important;top:0!important;left:0!important;width:100%!important;height:100%!important}[data-v-89c14ec5] .vue-flow__background-pattern svg{display:block!important;width:100%!important;height:100%!important}[data-v-89c14ec5] .vue-flow__edge{cursor:pointer;transition:all var(--transition-fast)}[data-v-89c14ec5] .vue-flow__edge:hover{filter:brightness(1.2)}[data-v-89c14ec5] .vue-flow__edge.selected{filter:drop-shadow(0 0 4px rgba(59,130,246,.8))}[data-v-89c14ec5] .vue-flow__edge-path{transition:stroke var(--transition-base);stroke-width:2px}[data-v-89c14ec5] .vue-flow__edge{color:var(--color-text-secondary)}[data-v-89c14ec5] .vue-flow__edge[style*=stroke]{color:inherit}[data-v-89c14ec5] .vue-flow__edge path.vue-flow__edge-path{stroke:currentColor}[data-v-89c14ec5] .vue-flow__connection-path{stroke:var(--color-primary);stroke-width:2px}[data-v-89c14ec5] .vue-flow__handle{width:10px!important;height:10px!important;border-radius:50%;border:2px solid var(--color-surface);background:var(--color-primary);transition:all var(--transition-fast)}[data-v-89c14ec5] .vue-flow__handle:hover{box-shadow:0 0 0 3px #3b82f633;border-color:var(--color-primary)}[data-v-89c14ec5] .vue-flow__handle.connecting{box-shadow:0 0 0 4px #3b82f64d;border-color:var(--color-primary)}[data-v-89c14ec5] .vue-flow__handle.valid{background:#10b981}[data-v-89c14ec5] .vue-flow__handle.invalid{background:#ef4444}[data-v-89c14ec5] .vue-flow__handle-left{left:-5px!important}[data-v-89c14ec5] .vue-flow__handle-right{right:-5px!important}[data-v-89c14ec5] .vue-flow__handle-top{top:-5px!important}[data-v-89c14ec5] .vue-flow__handle-bottom{bottom:-5px!important}[data-v-89c14ec5] .vue-flow__minimap{background-color:#fffffff2;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-md);box-shadow:var(--shadow-md);transition:background-color var(--transition-base),border-color var(--transition-base);position:absolute!important;bottom:20px!important;right:20px!important;width:200px!important;height:150px!important}.dark-theme[data-v-89c14ec5] .vue-flow__minimap{background-color:var(--color-surface);border-color:var(--color-border-primary)}[data-v-89c14ec5] .vue-flow__minimap-mask{fill:#3b82f626;stroke:var(--color-primary);stroke-width:2;cursor:grab}[data-v-89c14ec5] .vue-flow__minimap-mask:active{cursor:grabbing}[data-v-89c14ec5] .vue-flow__minimap-node{fill:var(--color-primary);stroke:none}[data-v-89c14ec5] .vue-flow__controls{transition:background-color var(--transition-base);position:absolute!important;bottom:20px!important;left:20px!important;box-shadow:var(--shadow-md);border-radius:var(--border-radius-md);background:var(--color-surface);border:var(--border-width) solid var(--color-border-primary);padding:2px!important;display:flex!important;flex-direction:column!important;gap:0!important}[data-v-89c14ec5] .vue-flow__controls-button{width:24px!important;height:24px!important;border:none!important;background-color:var(--color-surface);color:var(--color-text-primary);transition:all var(--transition-fast);display:flex!important;align-items:center!important;justify-content:center!important;border-radius:var(--border-radius-sm);cursor:pointer;padding:4px!important;margin:2px!important}[data-v-89c14ec5] .vue-flow__controls-button:hover{background-color:var(--color-surface-hover)}[data-v-89c14ec5] .vue-flow__controls-button svg{width:14px!important;height:14px!important;max-width:14px!important;max-height:14px!important}.dark-theme[data-v-89c14ec5] .vue-flow__controls{background-color:var(--color-surface);border-color:var(--color-border-primary)}.dark-theme[data-v-89c14ec5] .vue-flow__controls-button{background-color:var(--color-surface);color:var(--color-text-primary)}.dark-theme[data-v-89c14ec5] .vue-flow__controls-button:hover{background-color:var(--color-surface-hover)}.dark-theme[data-v-89c14ec5] .base-node{background:var(--color-surface);box-shadow:var(--shadow-md)}[data-v-89c14ec5] .vue-flow__node.selected{box-shadow:0 0 0 3px #3b82f680!important}.dark-theme[data-v-89c14ec5] .vue-flow__node.selected{box-shadow:0 0 0 3px #3b82f6b3!important}.dark-theme[data-v-89c14ec5] .node-content,.dark-theme[data-v-89c14ec5] .node-content-expanded,.dark-theme[data-v-89c14ec5] .info-value,.dark-theme[data-v-89c14ec5] .count-value{color:var(--color-text-primary)}.dark-theme[data-v-89c14ec5] .field input,.dark-theme[data-v-89c14ec5] .field select{background:var(--color-surface-hover);border-color:var(--color-border-primary);color:var(--color-text-primary)}.dark-theme[data-v-89c14ec5] .info-label{color:var(--color-text-tertiary)}.dark-theme[data-v-89c14ec5] .info-value{color:var(--color-text-primary)}.dark-theme[data-v-89c14ec5] .field-view label{color:var(--color-text-tertiary)}.dark-theme[data-v-89c14ec5] .field-view span{color:var(--color-text-primary)}.dark-theme[data-v-89c14ec5] .count-display{background:var(--color-surface-hover)}.dark-theme[data-v-89c14ec5] .count-label{color:var(--color-text-tertiary)}.dark-theme[data-v-89c14ec5] .count-value{color:var(--color-text-primary)}.dark-theme[data-v-89c14ec5] .logic-display{background:var(--color-surface-hover)}.dark-theme[data-v-89c14ec5] .logic-symbol{color:var(--color-text-primary)}.dark-theme[data-v-89c14ec5] .logic-description{color:var(--color-text-tertiary)}.dark-theme[data-v-89c14ec5] .output-status{background:var(--color-surface-hover);color:var(--color-text-secondary)}.dark-theme[data-v-89c14ec5] .output-status.active{background:#065f46;color:#6ee7b7}.dark-theme[data-v-89c14ec5] .inputs-info{color:var(--color-text-tertiary)}.dark-theme[data-v-89c14ec5] .mode-badge{background:#1e40af;color:#dbeafe}.dark-theme[data-v-89c14ec5] .action-badge,.dark-theme[data-v-89c14ec5] .device-type-badge{background:#5b21b6;color:#ddd6fe}.dark-theme[data-v-89c14ec5] .event-type-badge{color:#1f2937}.dark-theme[data-v-89c14ec5] .event-type-badge.type-alarm{background:#fca5a5;color:#7f1d1d}.dark-theme[data-v-89c14ec5] .event-type-badge.type-warning{background:#fcd34d;color:#78350f}.dark-theme[data-v-89c14ec5] .event-type-badge.type-info{background:#93c5fd;color:#1e3a8a}.dark-theme[data-v-89c14ec5] .event-type-badge.type-error{background:#f87171;color:#7f1d1d}.dark-theme[data-v-89c14ec5] .event-type-badge.type-critical{background:#ef4444;color:#450a0a}.dark-theme[data-v-89c14ec5] .event-type-badge.type-normal{background:#6ee7b7;color:#064e3b}.dark-theme[data-v-89c14ec5] .event-type-badge.type-emergency{background:#fb7185;color:#881337}.dark-theme[data-v-89c14ec5] .event-type-badge.type-fault{background:#fb923c;color:#7c2d12}.dark-theme[data-v-89c14ec5] .event-type-badge.type-notification{background:#60a5fa;color:#1e3a8a}.dark-theme[data-v-89c14ec5] .event-type-badge.type-status{background:#818cf8;color:#312e81}.dark-theme[data-v-89c14ec5] .expand-button{background:var(--color-surface-hover);border-color:var(--color-border-primary);color:var(--color-text-secondary)}.dark-theme[data-v-89c14ec5] .expand-button:hover{background:var(--color-surface-active)}.vue-flow{position:relative;width:100%;height:100%;overflow:hidden;z-index:0;direction:ltr}.vue-flow__container{position:absolute;height:100%;width:100%;left:0;top:0}.vue-flow__pane{z-index:1}.vue-flow__pane.draggable{cursor:grab}.vue-flow__pane.selection{cursor:pointer}.vue-flow__pane.dragging{cursor:grabbing}.vue-flow__transformationpane{transform-origin:0 0;z-index:2;pointer-events:none}.vue-flow__viewport{z-index:4;overflow:clip}.vue-flow__selection{z-index:6}.vue-flow__edge-labels{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vue-flow__nodesselection-rect:focus,.vue-flow__nodesselection-rect:focus-visible{outline:none}.vue-flow .vue-flow__edges{pointer-events:none;overflow:visible}.vue-flow__edge-path,.vue-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.vue-flow__edge{pointer-events:visibleStroke;cursor:pointer}.vue-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.vue-flow__edge.animated path.vue-flow__edge-interaction{stroke-dasharray:none;animation:none}.vue-flow__edge.inactive{pointer-events:none}.vue-flow__edge.selected,.vue-flow__edge:focus,.vue-flow__edge:focus-visible{outline:none}.vue-flow__edge.selected .vue-flow__edge-path,.vue-flow__edge:focus .vue-flow__edge-path,.vue-flow__edge:focus-visible .vue-flow__edge-path{stroke:#555}.vue-flow__edge-textwrapper{pointer-events:all}.vue-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vue-flow__connection{pointer-events:none}.vue-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.vue-flow__connectionline{z-index:1001}.vue-flow__nodes{pointer-events:none;transform-origin:0 0}.vue-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.vue-flow__node.draggable{cursor:grab;pointer-events:all}.vue-flow__node.draggable.dragging{cursor:grabbing}.vue-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.vue-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.vue-flow__nodesselection-rect.dragging{cursor:grabbing}.vue-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px}.vue-flow__handle.connectable{pointer-events:all;cursor:crosshair}.vue-flow__handle-bottom{left:50%;bottom:0;transform:translate(-50%,50%)}.vue-flow__handle-top{left:50%;top:0;transform:translate(-50%,-50%)}.vue-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.vue-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.vue-flow__edgeupdater{cursor:move;pointer-events:all}.vue-flow__panel{position:absolute;z-index:5;margin:15px}.vue-flow__panel.top{top:0}.vue-flow__panel.bottom{bottom:0}.vue-flow__panel.left{left:0}.vue-flow__panel.right{right:0}.vue-flow__panel.center{left:50%;transform:translate(-50%)}@keyframes dashdraw{0%{stroke-dashoffset:10}}:root{--vf-node-bg: #fff;--vf-node-text: #222;--vf-connection-path: #b1b1b7;--vf-handle: #555}.vue-flow__edge.updating .vue-flow__edge-path{stroke:#777}.vue-flow__edge-text{font-size:10px}.vue-flow__edge-textbg{fill:#fff}.vue-flow__connection-path{stroke:var(--vf-connection-path)}.vue-flow__node{cursor:grab}.vue-flow__node.selectable:focus,.vue-flow__node.selectable:focus-visible{outline:none}.vue-flow__node-default,.vue-flow__node-input,.vue-flow__node-output{padding:10px;border-radius:3px;width:150px;font-size:12px;text-align:center;border-width:1px;border-style:solid;color:var(--vf-node-text);background-color:var(--vf-node-bg);border-color:var(--vf-node-color)}.vue-flow__node-default.selected,.vue-flow__node-default.selected:hover,.vue-flow__node-input.selected,.vue-flow__node-input.selected:hover,.vue-flow__node-output.selected,.vue-flow__node-output.selected:hover{box-shadow:0 0 0 .5px var(--vf-box-shadow)}.vue-flow__node-default.selected,.vue-flow__node-default:focus,.vue-flow__node-default:focus-visible,.vue-flow__node-input.selected,.vue-flow__node-input:focus,.vue-flow__node-input:focus-visible,.vue-flow__node-output.selected,.vue-flow__node-output:focus,.vue-flow__node-output:focus-visible{outline:none;border:1px solid #555}.vue-flow__node-default .vue-flow__handle,.vue-flow__node-input .vue-flow__handle,.vue-flow__node-output .vue-flow__handle{background:var(--vf-handle)}.vue-flow__node-default.selectable:hover,.vue-flow__node-input.selectable:hover,.vue-flow__node-output.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.vue-flow__node-input{--vf-node-color: var(--vf-node-color, #0041d0);--vf-handle: var(--vf-node-color, #0041d0);--vf-box-shadow: var(--vf-node-color, #0041d0);background:var(--vf-node-bg);border-color:var(--vf-node-color, #0041d0)}.vue-flow__node-input.selected,.vue-flow__node-input:focus,.vue-flow__node-input:focus-visible{outline:none;border:1px solid var(--vf-node-color, #0041d0)}.vue-flow__node-default{--vf-handle: var(--vf-node-color, #1a192b);--vf-box-shadow: var(--vf-node-color, #1a192b);background:var(--vf-node-bg);border-color:var(--vf-node-color, #1a192b)}.vue-flow__node-default.selected,.vue-flow__node-default:focus,.vue-flow__node-default:focus-visible{outline:none;border:1px solid var(--vf-node-color, #1a192b)}.vue-flow__node-output{--vf-handle: var(--vf-node-color, #ff0072);--vf-box-shadow: var(--vf-node-color, #ff0072);background:var(--vf-node-bg);border-color:var(--vf-node-color, #ff0072)}.vue-flow__node-output.selected,.vue-flow__node-output:focus,.vue-flow__node-output:focus-visible{outline:none;border:1px solid var(--vf-node-color, #ff0072)}.vue-flow__nodesselection-rect,.vue-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.vue-flow__nodesselection-rect:focus,.vue-flow__nodesselection-rect:focus-visible,.vue-flow__selection:focus,.vue-flow__selection:focus-visible{outline:none}.vue-flow__handle{width:6px;height:6px;background:var(--vf-handle);border:1px solid #fff;border-radius:100%}body.flow-page-active .vue-flow svg{width:auto!important;height:auto!important}body.flow-page-active svg.system-icon,body.flow-page-active .system-icon,body.flow-page-active .header .system-icon,body.flow-page-active header .system-icon,body.flow-page-active .system-branding .system-icon{width:24px!important;height:24px!important;max-width:24px!important;max-height:24px!important}body.flow-page-active .header button svg,body.flow-page-active header button svg{width:20px!important;height:20px!important}body.flow-page-active .right-sidebar .close-btn svg,body.flow-page-active .right-sidebar .group-header svg,body.flow-page-active .right-sidebar .toggle-btn svg{width:14px!important;height:14px!important}body.flow-page-active .right-sidebar .notification-icon svg{width:16px!important;height:16px!important}body.flow-page-active .right-sidebar .notifications-empty svg{width:48px!important;height:48px!important}body.flow-page-active .notification-badge .notification-badge-icon svg{width:20px!important;height:20px!important}body.flow-page-active .notification-badge .notification-badge-close svg{width:16px!important;height:16px!important}body.flow-page-active .language-switcher svg,body.flow-page-active .user-dropdown-menu svg{width:16px!important;height:16px!important}.flow-page-wrapper[data-v-83a47828]{width:100%;height:100%;position:relative;overflow:hidden;background:var(--flow-bg-canvas);transition:background var(--transition-base);display:flex;flex-direction:column}.flow-page-wrapper[data-v-83a47828] *{box-sizing:border-box}.flow-header[data-v-83a47828]{display:flex;align-items:center;gap:16px;padding:12px 20px;background:var(--color-surface);border-bottom:1px solid var(--color-border-primary);z-index:10}.btn-back[data-v-83a47828]{display:flex;align-items:center;gap:8px;padding:8px 16px;background:transparent;border:1px solid var(--color-border-primary);border-radius:6px;color:var(--color-text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-back[data-v-83a47828]:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover)}.title-container[data-v-83a47828]{display:flex;align-items:center;gap:8px;flex:1}.flow-title[data-v-83a47828]{font-size:18px;font-weight:600;color:var(--color-text-primary);margin:0}.changed-indicator[data-v-83a47828]{color:#f59e0b;font-size:20px;animation:pulse-83a47828 2s infinite}@keyframes pulse-83a47828{0%,to{opacity:1}50%{opacity:.5}}.btn-edit-info[data-v-83a47828]{display:flex;align-items:center;gap:8px;padding:8px 16px;background:transparent;border:1px solid var(--color-border-primary);border-radius:6px;color:var(--color-text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-edit-info[data-v-83a47828]:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover)}.btn-save[data-v-83a47828]{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#10b981;border:none;border-radius:6px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-save[data-v-83a47828]:hover{background:#059669}.flow-page-wrapper[data-v-83a47828] .flow-editor{width:100%;flex:1;overflow:hidden}.flow-page-wrapper[data-v-83a47828] .flow-container{width:100%;height:100%;position:relative}.flow-page-wrapper[data-v-83a47828] .vue-flow{width:100%;height:100%}.modal-overlay[data-v-83a47828]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-83a47828]{background:var(--color-surface);border-radius:8px;width:90%;max-width:500px;max-height:90vh;overflow:auto}.modal-header[data-v-83a47828]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border-primary)}.modal-header h2[data-v-83a47828]{font-size:20px;font-weight:600;color:var(--color-text-primary);margin:0}.btn-close[data-v-83a47828]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:4px;cursor:pointer;color:var(--color-text-tertiary);transition:all .2s}.btn-close[data-v-83a47828]:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.modal-body[data-v-83a47828]{padding:24px}.form-group[data-v-83a47828]{margin-bottom:20px}.form-group[data-v-83a47828]:last-child{margin-bottom:0}.form-group label[data-v-83a47828]{display:block;font-size:14px;font-weight:500;color:var(--color-text-primary);margin-bottom:8px}.form-group input[data-v-83a47828],.form-group textarea[data-v-83a47828]{width:100%;padding:10px 12px;border:1px solid var(--color-border-primary);border-radius:6px;font-size:14px;color:var(--color-text-primary);background:var(--color-bg-primary);transition:all .2s}.form-group input[data-v-83a47828]:focus,.form-group textarea[data-v-83a47828]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group textarea[data-v-83a47828]{resize:vertical;font-family:inherit}.modal-footer[data-v-83a47828]{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid var(--color-border-primary)}.btn-secondary[data-v-83a47828]{padding:10px 20px;background:var(--color-surface-hover);color:var(--color-text-primary);border:1px solid var(--color-border-primary);border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary[data-v-83a47828]:hover{background:var(--color-surface-active)}.btn-primary[data-v-83a47828]{padding:10px 20px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary[data-v-83a47828]:hover{background:#2563eb}.flow-manager-page[data-v-f8290e8f]{width:100%;height:100%;padding:0;background:var(--color-bg-primary)}.page-card[data-v-f8290e8f]{width:100%;height:100%;background:var(--color-surface);border-radius:8px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;overflow:hidden}.page-header[data-v-f8290e8f]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border-primary)}.header-content h1[data-v-f8290e8f]{font-size:24px;font-weight:700;color:var(--color-text-primary);margin:0 0 4px}.subtitle[data-v-f8290e8f]{font-size:14px;color:var(--color-text-tertiary);margin:0}.btn-primary[data-v-f8290e8f]{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:8px 16px;background:var(--color-primary);color:var(--color-text-inverse);border:none;border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast)}.btn-primary[data-v-f8290e8f]:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary.btn-icon-only[data-v-f8290e8f]{padding:8px;width:36px;height:36px;justify-content:center}.tabs[data-v-f8290e8f]{display:flex;gap:var(--spacing-xs);padding:0 var(--spacing-lg);border-bottom:var(--border-width) solid var(--color-border-primary);background:var(--color-bg-secondary)}.tab[data-v-f8290e8f]{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;flex-shrink:0}.tab[data-v-f8290e8f]:hover{color:var(--color-text-primary);background:var(--color-surface-hover)}.tab.active[data-v-f8290e8f]{color:var(--color-primary);border-bottom-color:var(--color-primary);background:var(--color-surface)}.tab-content[data-v-f8290e8f]{flex:1;overflow:auto;padding:0}.flows-section[data-v-f8290e8f],.history-section[data-v-f8290e8f]{display:flex;flex-direction:column;gap:var(--spacing-lg);height:100%;padding:var(--spacing-lg)}.filters-bar[data-v-f8290e8f]{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-secondary);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-md)}.filter-group[data-v-f8290e8f]{display:flex;align-items:center;gap:var(--spacing-sm);position:relative}.filter-group label[data-v-f8290e8f]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);white-space:nowrap}.filter-input[data-v-f8290e8f]{padding:6px 12px 6px 36px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);min-width:200px;transition:all var(--transition-fast)}.filter-group[data-v-f8290e8f]:first-child{flex:1;max-width:400px}.filter-group:has(.filter-input) svg[data-v-f8290e8f]{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--color-text-tertiary);pointer-events:none;z-index:1}.filter-input[data-v-f8290e8f]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.filter-select[data-v-f8290e8f]{padding:6px 32px 6px 12px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);cursor:pointer;transition:all var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23718096' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.filter-select[data-v-f8290e8f]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.btn-filter-reset[data-v-f8290e8f]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);cursor:pointer;color:var(--color-text-tertiary);transition:all var(--transition-fast);flex-shrink:0}.btn-filter-reset[data-v-f8290e8f]:hover{background:var(--color-surface-hover);color:var(--color-text-primary);border-color:var(--color-border-secondary)}.flows-grid[data-v-f8290e8f]{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.flow-card[data-v-f8290e8f]{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:8px;padding:20px;transition:all .2s}.flow-card[data-v-f8290e8f]:hover{box-shadow:var(--shadow-md);border-color:var(--color-border-hover)}.flow-card-header[data-v-f8290e8f]{display:flex;justify-content:space-between;align-items:start;margin-bottom:12px}.flow-card-header h3[data-v-f8290e8f]{font-size:18px;font-weight:600;color:var(--color-text-primary);margin:0}.flow-actions[data-v-f8290e8f]{display:flex;gap:8px}.btn-icon[data-v-f8290e8f]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);color:var(--color-text-tertiary);padding:6px}.btn-icon[data-v-f8290e8f]:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.flow-description[data-v-f8290e8f]{font-size:14px;color:var(--color-text-secondary);margin:0 0 16px;line-height:1.5}.flow-stats[data-v-f8290e8f]{display:flex;gap:16px;margin-bottom:16px;padding:12px 0;border-top:1px solid var(--color-border-primary);border-bottom:1px solid var(--color-border-primary)}.stat[data-v-f8290e8f]{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--color-text-tertiary)}.stat svg[data-v-f8290e8f]{color:var(--color-text-tertiary)}.flow-footer[data-v-f8290e8f]{display:flex;justify-content:space-between;align-items:center}.date[data-v-f8290e8f]{font-size:12px;color:var(--color-text-tertiary)}.history-list[data-v-f8290e8f]{width:100%}.history-table[data-v-f8290e8f]{width:100%;background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:8px;overflow:hidden}.table-header[data-v-f8290e8f]{display:grid;grid-template-columns:40px 2fr 1fr 1.5fr 1fr 1fr 2fr;gap:12px;padding:12px 16px;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-primary);font-size:13px;font-weight:600;color:var(--color-text-secondary)}.table-header>div[data-v-f8290e8f]{display:flex;align-items:center;gap:6px}.table-header .sortable[data-v-f8290e8f]{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--transition-fast);position:relative}.table-header .sortable[data-v-f8290e8f]:hover{color:var(--color-text-primary)}.table-header .sort-arrow[data-v-f8290e8f]{width:12px;height:12px;flex-shrink:0;transition:transform var(--transition-fast);color:var(--color-primary)}.table-header .sort-arrow.sort-desc[data-v-f8290e8f]{transform:rotate(180deg)}.table-row-wrapper[data-v-f8290e8f]{border-bottom:1px solid var(--color-border-primary)}.table-row-wrapper[data-v-f8290e8f]:last-child{border-bottom:none}.table-row[data-v-f8290e8f]{display:grid;grid-template-columns:40px 2fr 1fr 1.5fr 1fr 1fr 2fr;gap:12px;padding:16px;font-size:14px;color:var(--color-text-primary);transition:background .2s}.table-row[data-v-f8290e8f]:hover,.table-row.expanded[data-v-f8290e8f]{background:var(--color-surface-hover)}.col-expand[data-v-f8290e8f]{display:flex;align-items:center;justify-content:center}.btn-expand[data-v-f8290e8f]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:1px solid var(--color-border-primary);border-radius:4px;cursor:pointer;color:var(--color-text-secondary);transition:all .2s}.btn-expand[data-v-f8290e8f]:hover{background:var(--color-surface-active);color:var(--color-text-primary);border-color:var(--color-border-hover)}.btn-expand svg[data-v-f8290e8f]{transition:transform .2s}.col-flow[data-v-f8290e8f],.col-trigger[data-v-f8290e8f],.col-message[data-v-f8290e8f]{overflow:hidden}.col-flow[data-v-f8290e8f]{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col-trigger[data-v-f8290e8f],.col-message[data-v-f8290e8f],.col-time[data-v-f8290e8f],.col-duration[data-v-f8290e8f]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col-status[data-v-f8290e8f]{display:flex;align-items:center}.status-badge[data-v-f8290e8f]{display:inline-block;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.success[data-v-f8290e8f]{background:#d1fae5;color:#065f46}.status-badge.failed[data-v-f8290e8f]{background:#fee2e2;color:#dc2626}.status-badge.running[data-v-f8290e8f]{background:#dbeafe;color:#1e40af}.error-message[data-v-f8290e8f]{color:#dc2626;font-size:13px}.success-message[data-v-f8290e8f]{color:#059669;font-size:13px}.info-message[data-v-f8290e8f]{color:#2563eb;font-size:13px}.modal-overlay[data-v-f8290e8f]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-f8290e8f]{background:var(--color-surface);border-radius:8px;width:90%;max-width:500px;max-height:90vh;overflow:auto}.modal-small[data-v-f8290e8f]{max-width:400px}.modal-header[data-v-f8290e8f]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border-primary)}.modal-header h2[data-v-f8290e8f]{font-size:20px;font-weight:600;color:var(--color-text-primary);margin:0}.btn-close[data-v-f8290e8f]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:4px;cursor:pointer;color:var(--color-text-tertiary);transition:all .2s}.btn-close[data-v-f8290e8f]:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.modal-body[data-v-f8290e8f]{padding:24px}.form-group[data-v-f8290e8f]{margin-bottom:20px}.form-group[data-v-f8290e8f]:last-child{margin-bottom:0}.form-group label[data-v-f8290e8f]{display:block;font-size:14px;font-weight:500;color:var(--color-text-primary);margin-bottom:8px}.form-group input[data-v-f8290e8f],.form-group textarea[data-v-f8290e8f]{width:100%;padding:10px 12px;border:1px solid var(--color-border-primary);border-radius:6px;font-size:14px;color:var(--color-text-primary);background:var(--color-bg-primary);transition:all .2s}.form-group input[data-v-f8290e8f]:focus,.form-group textarea[data-v-f8290e8f]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group textarea[data-v-f8290e8f]{resize:vertical;font-family:inherit}.warning[data-v-f8290e8f]{color:#dc2626;font-size:14px}.modal-footer[data-v-f8290e8f]{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid var(--color-border-primary)}.btn-secondary[data-v-f8290e8f]{padding:8px 16px;background:var(--color-surface-hover);color:var(--color-text-primary);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast)}.btn-secondary[data-v-f8290e8f]:hover{background:var(--color-surface-active);border-color:var(--color-border-secondary)}.btn-danger[data-v-f8290e8f]{padding:8px 16px;background:var(--color-error);color:var(--color-text-inverse);border:none;border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast)}.btn-danger[data-v-f8290e8f]:hover{background:var(--color-error-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.details-section[data-v-f8290e8f]{padding:20px 24px;background:var(--color-bg-secondary);border-top:1px solid var(--color-border-primary);animation:slideDown-f8290e8f .2s ease-out}@keyframes slideDown-f8290e8f{0%{opacity:0;max-height:0}to{opacity:1;max-height:800px}}.full-flow-info[data-v-f8290e8f]{background:var(--color-surface);border:1px solid var(--color-border-primary);border-radius:6px;padding:16px;margin-bottom:16px}.info-row[data-v-f8290e8f]{display:flex;gap:12px;padding:8px 0;border-bottom:1px solid var(--color-border-primary);font-size:13px}.info-row[data-v-f8290e8f]:last-child{border-bottom:none}.info-label[data-v-f8290e8f]{font-weight:600;color:var(--color-text-secondary);min-width:120px;flex-shrink:0}.info-value[data-v-f8290e8f]{color:var(--color-text-primary);flex:1;word-break:break-word}.error-text[data-v-f8290e8f]{color:#dc2626}.details-header[data-v-f8290e8f]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.details-header h4[data-v-f8290e8f]{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0}.details-stats[data-v-f8290e8f]{display:flex;gap:24px}.stat-item[data-v-f8290e8f]{font-size:13px;color:var(--color-text-secondary)}.stat-item strong[data-v-f8290e8f]{color:var(--color-text-primary);font-weight:600}.logs-section[data-v-f8290e8f]{margin-top:16px}.logs-section h5[data-v-f8290e8f]{font-size:14px;font-weight:600;color:var(--color-text-primary);margin:0 0 12px}.logs-list[data-v-f8290e8f]{background:var(--color-surface);border:1px solid var(--color-border-primary);border-radius:6px;overflow:hidden}.log-entry[data-v-f8290e8f]{display:grid;grid-template-columns:100px 200px 1fr 80px;gap:12px;padding:12px 16px;border-bottom:1px solid var(--color-border-primary);font-size:13px;transition:background .2s}.log-entry[data-v-f8290e8f]:last-child{border-bottom:none}.log-entry[data-v-f8290e8f]:hover{background:var(--color-surface-hover)}.log-entry.log-error[data-v-f8290e8f]{background:#fef2f2;border-left:3px solid #dc2626}.log-entry.log-warning[data-v-f8290e8f]{background:#fffbeb;border-left:3px solid #f59e0b}.log-entry.log-info[data-v-f8290e8f]{background:transparent;border-left:3px solid transparent}.log-time[data-v-f8290e8f]{font-family:var(--font-family-mono);color:var(--color-text-tertiary);font-size:12px}.log-node[data-v-f8290e8f]{display:flex;flex-direction:column;gap:2px}.log-node-id[data-v-f8290e8f]{font-family:var(--font-family-mono);color:var(--color-text-tertiary);font-size:11px}.log-node-name[data-v-f8290e8f]{color:var(--color-text-secondary);font-weight:500;font-size:12px}.log-message[data-v-f8290e8f]{color:var(--color-text-primary);line-height:1.5}.log-level[data-v-f8290e8f]{display:flex;align-items:center;justify-content:flex-end}.level-badge[data-v-f8290e8f]{display:inline-block;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.level-badge.level-info[data-v-f8290e8f]{background:#dbeafe;color:#1e40af}.level-badge.level-warning[data-v-f8290e8f]{background:#fef3c7;color:#92400e}.level-badge.level-error[data-v-f8290e8f]{background:#fee2e2;color:#991b1b}.forensic-page[data-v-1863b32f]{width:100%;height:100%;padding:0;background:var(--color-bg-primary)}.page-card[data-v-1863b32f]{width:100%;height:100%;background:var(--color-surface);border-radius:8px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;overflow:hidden}.page-header[data-v-1863b32f]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border-primary)}.header-content h1[data-v-1863b32f]{font-size:24px;font-weight:700;color:var(--color-text-primary);margin:0 0 4px}.subtitle[data-v-1863b32f]{font-size:14px;color:var(--color-text-tertiary);margin:0}.tabs[data-v-1863b32f]{display:flex;gap:var(--spacing-xs);padding:0 var(--spacing-lg);border-bottom:var(--border-width) solid var(--color-border-primary);background:var(--color-bg-secondary)}.tab[data-v-1863b32f]{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;flex-shrink:0}.tab[data-v-1863b32f]:hover{color:var(--color-text-primary);background:var(--color-surface-hover)}.tab.active[data-v-1863b32f]{color:var(--color-primary);border-bottom-color:var(--color-primary);background:var(--color-surface)}.tab-content[data-v-1863b32f]{flex:1;overflow:auto;padding:0}.history-section[data-v-1863b32f],.investigate-section[data-v-1863b32f]{display:flex;flex-direction:column;gap:var(--spacing-lg);height:100%;padding:var(--spacing-lg)}.filters-bar[data-v-1863b32f]{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-secondary);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-md)}.filter-group[data-v-1863b32f]{display:flex;align-items:center;gap:var(--spacing-sm);position:relative}.filter-group label[data-v-1863b32f]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);white-space:nowrap}.filter-input[data-v-1863b32f]{padding:6px 12px 6px 36px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);min-width:300px;transition:all var(--transition-fast)}.filter-group[data-v-1863b32f]:first-child{flex:1;max-width:500px}.filter-group:has(.filter-input) svg[data-v-1863b32f]{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--color-text-tertiary);pointer-events:none;z-index:1}.filter-input[data-v-1863b32f]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.filter-select[data-v-1863b32f]{padding:6px 32px 6px 12px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);cursor:pointer;transition:all var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23718096' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.filter-select[data-v-1863b32f]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.btn-filter-reset[data-v-1863b32f]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);cursor:pointer;color:var(--color-text-tertiary);transition:all var(--transition-fast);flex-shrink:0}.btn-filter-reset[data-v-1863b32f]:hover{background:var(--color-surface-hover);color:var(--color-text-primary);border-color:var(--color-border-secondary)}.history-list[data-v-1863b32f]{width:100%}.event-id-badge[data-v-1863b32f]{font-family:var(--font-family-mono);font-size:12px;font-weight:600;color:var(--color-primary);padding:4px 8px;background:var(--color-bg-secondary);border-radius:4px;display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zone-info[data-v-1863b32f],.system-info[data-v-1863b32f],.device-info[data-v-1863b32f]{display:flex;flex-direction:column;gap:2px;min-width:0}.zone-code[data-v-1863b32f],.system-id[data-v-1863b32f],.device-id[data-v-1863b32f]{font-family:var(--font-family-mono);color:var(--color-text-tertiary);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zone-name[data-v-1863b32f],.system-name[data-v-1863b32f],.device-name[data-v-1863b32f]{color:var(--color-text-primary);font-weight:500;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-badge[data-v-1863b32f]{display:inline-block;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.critical[data-v-1863b32f]{background:#fee2e2;color:#991b1b}.status-badge.alarm[data-v-1863b32f],.status-badge.warning[data-v-1863b32f]{background:#fef3c7;color:#92400e}.status-badge.error[data-v-1863b32f]{background:#fee2e2;color:#dc2626}.status-badge.info[data-v-1863b32f]{background:#dbeafe;color:#1e40af}.col-actions[data-v-1863b32f]{display:flex;gap:8px;align-items:center}.state-badge[data-v-1863b32f]{display:inline-block;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.state-badge.pending[data-v-1863b32f]{background:#fef3c7;color:#92400e}.state-badge.processing[data-v-1863b32f]{background:#dbeafe;color:#1e40af}.state-badge.processed[data-v-1863b32f]{background:#d1fae5;color:#065f46}.state-badge.false-alarm[data-v-1863b32f]{background:#e5e7eb;color:#374151}.btn-action[data-v-1863b32f]{padding:6px 12px;border:none;border-radius:var(--border-radius-sm);font-size:12px;font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn-action[data-v-1863b32f]:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-action[data-v-1863b32f]:active{transform:translateY(0)}.btn-process[data-v-1863b32f]{background:#3b82f6;color:#fff}.btn-process[data-v-1863b32f]:hover{background:#2563eb}.btn-false-alarm[data-v-1863b32f]{background:#6b7280;color:#fff}.btn-false-alarm[data-v-1863b32f]:hover{background:#4b5563}.btn-done[data-v-1863b32f]{background:#10b981;color:#fff}.btn-done[data-v-1863b32f]:hover{background:#059669}.details-section[data-v-1863b32f]{padding:0}.details-header[data-v-1863b32f]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.details-header h4[data-v-1863b32f]{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0}.full-event-info[data-v-1863b32f]{background:var(--color-surface);border:1px solid var(--color-border-primary);border-radius:6px;padding:16px;margin-bottom:16px}.info-row[data-v-1863b32f]{display:flex;gap:12px;padding:8px 0;border-bottom:1px solid var(--color-border-primary);font-size:13px}.info-row[data-v-1863b32f]:last-child{border-bottom:none}.info-label[data-v-1863b32f]{font-weight:600;color:var(--color-text-secondary);min-width:100px;flex-shrink:0}.info-value[data-v-1863b32f]{color:var(--color-text-primary);flex:1;word-break:break-word}.extra-data-section[data-v-1863b32f]{margin-top:0}.extra-data-section h5[data-v-1863b32f]{font-size:14px;font-weight:600;color:var(--color-text-primary);margin:0 0 12px}.data-grid[data-v-1863b32f]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;background:var(--color-surface);border:1px solid var(--color-border-primary);border-radius:6px;padding:16px}.data-entry[data-v-1863b32f]{display:flex;gap:8px;padding:8px 12px;background:var(--color-bg-primary);border-radius:4px;font-size:13px}.data-key[data-v-1863b32f]{font-weight:600;color:var(--color-text-secondary);min-width:120px;text-transform:capitalize}.data-value[data-v-1863b32f]{color:var(--color-text-primary);flex:1}.value-true[data-v-1863b32f]{color:#059669;font-weight:500}.value-false[data-v-1863b32f]{color:#dc2626;font-weight:500}.value-number[data-v-1863b32f]{font-family:var(--font-family-mono);color:var(--color-primary)}.value-array[data-v-1863b32f],.value-string[data-v-1863b32f]{color:var(--color-text-primary)}.empty-state[data-v-1863b32f]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);gap:var(--spacing-md);color:var(--color-text-secondary);text-align:center}.empty-icon[data-v-1863b32f]{width:64px;height:64px;color:var(--color-text-tertiary)}.empty-state h3[data-v-1863b32f]{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.empty-state p[data-v-1863b32f]{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.feature-list[data-v-1863b32f]{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:var(--spacing-md) 0 0 0;font-weight:var(--font-weight-semibold)}.empty-state ul[data-v-1863b32f]{list-style:none;padding:0;margin:var(--spacing-sm) 0 0 0;display:flex;flex-direction:column;gap:var(--spacing-xs)}.empty-state li[data-v-1863b32f]{font-size:var(--font-size-sm);color:var(--color-text-tertiary);display:flex;align-items:center;gap:var(--spacing-xs)}.empty-state li[data-v-1863b32f]:before{content:"•";color:var(--color-primary);font-weight:700;font-size:var(--font-size-lg)}.stats-grid[data-v-bfeb21f3]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-bottom:32px}.stat-card[data-v-bfeb21f3]{background:var(--color-bg-primary);border:var(--border-width) solid var(--color-border-primary);border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;transition:transform .2s,box-shadow .2s}.stat-card[data-v-bfeb21f3]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.stat-card-header[data-v-bfeb21f3]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.stat-label[data-v-bfeb21f3]{font-size:14px;color:var(--color-text-secondary);font-weight:500}.stat-icon[data-v-bfeb21f3]{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center}.stat-icon-blue[data-v-bfeb21f3]{background:#dbeafe;color:#2563eb}.stat-icon-green[data-v-bfeb21f3]{background:#d1fae5;color:#10b981}.stat-icon-amber[data-v-bfeb21f3]{background:#fef3c7;color:#f59e0b}.stat-icon-purple[data-v-bfeb21f3]{background:#e9d5ff;color:#9333ea}.stat-value[data-v-bfeb21f3]{font-size:32px;font-weight:700;color:var(--color-text-primary);margin-bottom:8px}.stat-change[data-v-bfeb21f3]{font-size:13px;color:var(--color-text-tertiary)}.filters-bar[data-v-bfeb21f3]{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-secondary);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-md)}.filter-group[data-v-bfeb21f3]{display:flex;align-items:center;gap:var(--spacing-sm);position:relative}.filter-group.search-group[data-v-bfeb21f3]{flex:1;max-width:500px}.filter-group label[data-v-bfeb21f3]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);white-space:nowrap}.filter-input[data-v-bfeb21f3]{padding:6px 12px 6px 36px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);width:100%;transition:all var(--transition-fast)}.filter-group:has(.filter-input) svg[data-v-bfeb21f3]{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--color-text-tertiary);pointer-events:none;z-index:1}.filter-input[data-v-bfeb21f3]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.filter-select[data-v-bfeb21f3]{padding:6px 32px 6px 12px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);cursor:pointer;transition:all var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23718096' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.filter-select[data-v-bfeb21f3]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.btn-filter-reset[data-v-bfeb21f3]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);cursor:pointer;color:var(--color-text-tertiary);transition:all var(--transition-fast);flex-shrink:0}.btn-filter-reset[data-v-bfeb21f3]:hover{background:var(--color-surface-hover);color:var(--color-text-primary);border-color:var(--color-border-secondary)}.filters-bar .btn-add-icon[data-v-bfeb21f3]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin-left:auto;background:var(--color-primary);color:#fff;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.filters-bar .btn-add-icon[data-v-bfeb21f3]:hover{background:#5a6fd8;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.data-table[data-v-bfeb21f3]{flex:1;overflow:auto}.action-buttons-icon[data-v-bfeb21f3]{display:flex;gap:6px;justify-content:flex-end}.btn-action-icon[data-v-bfeb21f3]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.btn-action-icon[data-v-bfeb21f3]:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-action-icon.btn-edit[data-v-bfeb21f3]{background:#3b82f6;color:#fff}.btn-action-icon.btn-edit[data-v-bfeb21f3]:hover{background:#2563eb}.btn-action-icon.btn-delete[data-v-bfeb21f3]{background:#ef4444;color:#fff}.btn-action-icon.btn-delete[data-v-bfeb21f3]:hover{background:#dc2626}.status-badge[data-v-bfeb21f3]{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;text-transform:capitalize}.type-badge[data-v-bfeb21f3]{padding:4px 10px;background:#e0e7ff;color:#4338ca;border-radius:6px;font-size:11px;font-weight:600;text-transform:uppercase;display:inline-block}.empty-state[data-v-bfeb21f3]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#9ca3af}.empty-state svg[data-v-bfeb21f3]{margin-bottom:16px}.empty-state p[data-v-bfeb21f3]{font-size:16px;font-weight:500}.placeholder-content[data-v-bfeb21f3]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:60px 20px;color:var(--color-text-tertiary)}.placeholder-content svg[data-v-bfeb21f3]{width:80px;height:80px;margin-bottom:24px;opacity:.5}.placeholder-content h3[data-v-bfeb21f3]{font-size:20px;font-weight:600;color:var(--color-text-secondary);margin:0 0 12px}.placeholder-content p[data-v-bfeb21f3]{font-size:14px;color:var(--color-text-tertiary);margin:0;text-align:center;max-width:400px}.overview-content[data-v-bfeb21f3]{display:flex;flex-direction:column;gap:32px}.quick-overview h3[data-v-bfeb21f3]{font-size:18px;font-weight:600;color:var(--color-text-primary);margin:0 0 8px}.quick-overview>p[data-v-bfeb21f3]{font-size:14px;color:var(--color-text-secondary);margin:0 0 24px;line-height:1.6}.overview-cards[data-v-bfeb21f3]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.overview-card[data-v-bfeb21f3]{display:flex;gap:16px;padding:20px;background:var(--color-surface);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-md);transition:all var(--transition-fast)}.overview-card[data-v-bfeb21f3]:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.overview-icon[data-v-bfeb21f3]{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--color-primary-light);color:var(--color-primary);border-radius:var(--border-radius-md)}.overview-info h4[data-v-bfeb21f3]{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0 0 8px}.overview-info p[data-v-bfeb21f3]{font-size:13px;color:var(--color-text-tertiary);margin:0;line-height:1.5}.stats-grid[data-v-7b2d5295]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-bottom:32px}.stat-card[data-v-7b2d5295]{background:var(--color-bg-primary);border:var(--border-width) solid var(--color-border-primary);border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;transition:transform .2s,box-shadow .2s}.stat-card[data-v-7b2d5295]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.stat-card-header[data-v-7b2d5295]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.stat-label[data-v-7b2d5295]{font-size:14px;color:var(--color-text-secondary);font-weight:500}.stat-icon[data-v-7b2d5295]{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center}.stat-icon-blue[data-v-7b2d5295]{background:#dbeafe;color:#2563eb}.stat-icon-green[data-v-7b2d5295]{background:#d1fae5;color:#10b981}.stat-icon-amber[data-v-7b2d5295]{background:#fef3c7;color:#f59e0b}.stat-icon-purple[data-v-7b2d5295]{background:#e9d5ff;color:#9333ea}.stat-value[data-v-7b2d5295]{font-size:32px;font-weight:700;color:var(--color-text-primary);margin-bottom:8px}.stat-change[data-v-7b2d5295]{font-size:13px;color:var(--color-text-tertiary)}.filters-bar[data-v-7b2d5295]{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-secondary);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-md)}.filter-group[data-v-7b2d5295]{display:flex;align-items:center;gap:var(--spacing-sm);position:relative}.filter-group.search-group[data-v-7b2d5295]{flex:1;max-width:500px}.filter-group label[data-v-7b2d5295]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);white-space:nowrap}.filter-input[data-v-7b2d5295]{padding:6px 12px 6px 36px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);width:100%;transition:all var(--transition-fast)}.filter-group:has(.filter-input) svg[data-v-7b2d5295]{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--color-text-tertiary);pointer-events:none;z-index:1}.filter-input[data-v-7b2d5295]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.filter-select[data-v-7b2d5295]{padding:6px 32px 6px 12px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);cursor:pointer;transition:all var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23718096' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.filter-select[data-v-7b2d5295]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.btn-filter-reset[data-v-7b2d5295]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);cursor:pointer;color:var(--color-text-tertiary);transition:all var(--transition-fast);flex-shrink:0}.btn-filter-reset[data-v-7b2d5295]:hover{background:var(--color-surface-hover);color:var(--color-text-primary);border-color:var(--color-border-secondary)}.filters-bar .btn-add-icon[data-v-7b2d5295]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin-left:auto;background:var(--color-primary);color:#fff;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.filters-bar .btn-add-icon[data-v-7b2d5295]:hover{background:#5a6fd8;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.data-table[data-v-7b2d5295]{flex:1;overflow:auto}.action-buttons-icon[data-v-7b2d5295]{display:flex;gap:6px;justify-content:flex-end}.btn-action-icon[data-v-7b2d5295]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.btn-action-icon[data-v-7b2d5295]:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-action-icon.btn-edit[data-v-7b2d5295]{background:#3b82f6;color:#fff}.btn-action-icon.btn-edit[data-v-7b2d5295]:hover{background:#2563eb}.btn-action-icon.btn-delete[data-v-7b2d5295]{background:#ef4444;color:#fff}.btn-action-icon.btn-delete[data-v-7b2d5295]:hover{background:#dc2626}.status-badge[data-v-7b2d5295]{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;text-transform:capitalize}.type-badge[data-v-7b2d5295]{padding:4px 10px;background:#e0e7ff;color:#4338ca;border-radius:6px;font-size:11px;font-weight:600;text-transform:uppercase;display:inline-block}.empty-state[data-v-7b2d5295]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#9ca3af}.empty-state svg[data-v-7b2d5295]{margin-bottom:16px}.empty-state p[data-v-7b2d5295]{font-size:16px;font-weight:500}.placeholder-content[data-v-7b2d5295]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:60px 20px;color:var(--color-text-tertiary)}.placeholder-content svg[data-v-7b2d5295]{width:80px;height:80px;margin-bottom:24px;opacity:.5}.placeholder-content h3[data-v-7b2d5295]{font-size:20px;font-weight:600;color:var(--color-text-secondary);margin:0 0 12px}.placeholder-content p[data-v-7b2d5295]{font-size:14px;color:var(--color-text-tertiary);margin:0;text-align:center;max-width:400px}.assets-content[data-v-7b2d5295]{display:flex;flex-direction:column;gap:var(--spacing-lg);height:100%}.filters-section[data-v-7b2d5295]{flex-shrink:0}.filter-row-single[data-v-7b2d5295]{display:flex;align-items:center;gap:12px;padding:16px;background:var(--color-bg-secondary);border-radius:8px;flex-wrap:wrap}.search-box-inline[data-v-7b2d5295]{position:relative;flex:1;min-width:250px}.search-box-inline .search-icon[data-v-7b2d5295]{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--color-text-tertiary);pointer-events:none}.search-input-inline[data-v-7b2d5295]{width:100%;padding:8px 12px 8px 38px;border:1px solid var(--color-border-primary);border-radius:6px;font-size:14px;color:var(--color-text-primary);background:var(--color-bg-primary);transition:all .2s}.search-input-inline[data-v-7b2d5295]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.filter-group-inline[data-v-7b2d5295]{display:flex;align-items:center;gap:8px}.filter-label-inline[data-v-7b2d5295]{font-size:13px;font-weight:500;color:var(--color-text-secondary);white-space:nowrap}.filter-input-inline[data-v-7b2d5295]{padding:6px 10px;border:1px solid var(--color-border-primary);border-radius:6px;font-size:13px;color:var(--color-text-primary);background:var(--color-bg-primary);width:100px;transition:all .2s}.filter-input-inline[data-v-7b2d5295]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.btn-filter[data-v-7b2d5295]{padding:6px 16px;background:var(--color-primary);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-filter[data-v-7b2d5295]:hover{background:var(--color-primary-dark);transform:translateY(-1px)}.btn-filter-clear[data-v-7b2d5295]{padding:6px 16px;background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border-primary);border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-filter-clear[data-v-7b2d5295]:hover{background:var(--color-bg-tertiary);border-color:var(--color-border-secondary);color:var(--color-text-primary)}.btn-add-inline[data-v-7b2d5295]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;margin-left:auto;background:var(--color-primary);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:all .2s}.btn-add-inline[data-v-7b2d5295]:hover{background:var(--color-primary-dark);transform:translateY(-1px)}.combobox-wrapper[data-v-7b2d5295]{position:relative}.custom-combobox[data-v-7b2d5295]{position:relative;min-width:180px}.combobox-toggle[data-v-7b2d5295]{display:flex;align-items:center;justify-content:space-between;width:100%;padding:6px 10px 6px 12px;border:1px solid var(--color-border-primary);border-radius:6px;font-size:13px;color:var(--color-text-primary);background:var(--color-bg-primary);cursor:pointer;transition:all .2s;gap:12px;min-height:32px}.combobox-toggle[data-v-7b2d5295]:hover{border-color:var(--color-primary);background:var(--color-bg-secondary)}.combobox-value[data-v-7b2d5295]{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.arrow-icon[data-v-7b2d5295]{flex-shrink:0;width:14px;height:14px;transition:transform .2s;color:var(--color-text-secondary)}.arrow-icon.rotated[data-v-7b2d5295]{transform:rotate(180deg)}.combobox-dropdown[data-v-7b2d5295]{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:250px;overflow-y:auto;background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:1000;padding:4px}.combobox-option[data-v-7b2d5295]{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;border-radius:4px;transition:background-color .2s;font-size:13px;color:var(--color-text-primary)}.combobox-option[data-v-7b2d5295]:hover{background:var(--color-bg-secondary)}.combobox-option input[type=checkbox][data-v-7b2d5295]{cursor:pointer;width:16px;height:16px;margin:0}.asset-table[data-v-7b2d5295]{flex:1;overflow:auto;background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:8px}.table-header[data-v-7b2d5295]{display:grid;grid-template-columns:110px 200px 150px 150px 130px 150px 120px 150px 160px 150px 120px 100px;gap:12px;padding:12px 16px;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-primary);font-size:13px;font-weight:600;color:var(--color-text-secondary);position:sticky;top:0;z-index:1}.table-header>div[data-v-7b2d5295]{display:flex;align-items:center;gap:6px}.table-header .sortable[data-v-7b2d5295]{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--transition-fast)}.table-header .sortable[data-v-7b2d5295]:hover{color:var(--color-text-primary)}.table-header .sort-arrow[data-v-7b2d5295]{width:12px;height:12px;transition:transform var(--transition-fast);color:var(--color-primary)}.table-header .sort-arrow.sort-desc[data-v-7b2d5295]{transform:rotate(180deg)}.table-row-wrapper[data-v-7b2d5295]{border-bottom:1px solid var(--color-border-primary)}.table-row-wrapper[data-v-7b2d5295]:last-child{border-bottom:none}.table-row[data-v-7b2d5295]{display:grid;grid-template-columns:110px 200px 150px 150px 130px 150px 120px 150px 160px 150px 120px 100px;gap:12px;padding:16px;font-size:14px;color:var(--color-text-primary);transition:background .2s}.table-row[data-v-7b2d5295]:hover{background:var(--color-surface-hover)}.font-semibold[data-v-7b2d5295]{font-weight:600;color:var(--color-text-primary)}.asset-id-badge[data-v-7b2d5295]{padding:4px 8px;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:4px;font-size:12px;font-weight:600;color:var(--color-text-secondary);display:inline-block}.maintenance-badge[data-v-7b2d5295]{font-size:13px}.pagination[data-v-7b2d5295]{display:flex;align-items:center;justify-content:center;gap:8px;padding:20px 0;flex-shrink:0}.pagination-btn[data-v-7b2d5295]{padding:8px 12px;border:1px solid var(--color-border-primary);border-radius:6px;background:var(--color-bg-primary);color:var(--color-text-primary);font-size:14px;cursor:pointer;transition:all .2s;min-width:40px;display:flex;align-items:center;justify-content:center}.pagination-btn[data-v-7b2d5295]:hover:not(:disabled){background:var(--color-bg-secondary);border-color:var(--color-primary)}.pagination-btn.active[data-v-7b2d5295]{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.pagination-btn[data-v-7b2d5295]:disabled{opacity:.5;cursor:not-allowed}.pagination-info[data-v-7b2d5295]{margin-left:16px;padding-left:16px;border-left:1px solid var(--color-border-primary);font-size:14px;color:var(--color-text-secondary)}.modal-overlay[data-v-7b2d5295]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-7b2d5295]{background:var(--color-surface);border-radius:8px;width:90%;max-width:600px;max-height:90vh;overflow:auto}.modal-small[data-v-7b2d5295]{max-width:400px}.modal-header[data-v-7b2d5295]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border-primary)}.modal-header h2[data-v-7b2d5295]{font-size:20px;font-weight:600;color:var(--color-text-primary);margin:0}.btn-close[data-v-7b2d5295]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:4px;cursor:pointer;color:var(--color-text-tertiary);transition:all .2s}.btn-close[data-v-7b2d5295]:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.modal-body[data-v-7b2d5295]{padding:24px}.form-grid[data-v-7b2d5295]{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.form-group[data-v-7b2d5295]{display:flex;flex-direction:column;gap:8px}.form-group label[data-v-7b2d5295]{font-size:14px;font-weight:500;color:var(--color-text-primary)}.form-group input[data-v-7b2d5295],.form-group select[data-v-7b2d5295]{width:100%;padding:10px 12px;border:1px solid var(--color-border-primary);border-radius:6px;font-size:14px;color:var(--color-text-primary);background:var(--color-bg-primary);transition:all .2s}.form-group input[data-v-7b2d5295]:focus,.form-group select[data-v-7b2d5295]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.warning[data-v-7b2d5295]{color:#dc2626;font-size:14px;margin-top:8px}.modal-footer[data-v-7b2d5295]{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid var(--color-border-primary)}.btn-secondary[data-v-7b2d5295]{padding:8px 16px;background:var(--color-surface-hover);color:var(--color-text-primary);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast)}.btn-secondary[data-v-7b2d5295]:hover{background:var(--color-surface-active);border-color:var(--color-border-secondary)}.btn-primary[data-v-7b2d5295]{padding:8px 16px;background:var(--color-primary);color:var(--color-text-inverse);border:none;border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast)}.btn-primary[data-v-7b2d5295]:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-danger[data-v-7b2d5295]{padding:8px 16px;background:var(--color-error);color:var(--color-text-inverse);border:none;border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast)}.btn-danger[data-v-7b2d5295]:hover{background:var(--color-error-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.stats-grid[data-v-f957ec3f]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-bottom:32px}.stat-card[data-v-f957ec3f]{background:var(--color-bg-primary);border:var(--border-width) solid var(--color-border-primary);border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;transition:transform .2s,box-shadow .2s}.stat-card[data-v-f957ec3f]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.stat-card-header[data-v-f957ec3f]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.stat-label[data-v-f957ec3f]{font-size:14px;color:var(--color-text-secondary);font-weight:500}.stat-icon[data-v-f957ec3f]{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center}.stat-icon-blue[data-v-f957ec3f]{background:#dbeafe;color:#2563eb}.stat-icon-green[data-v-f957ec3f]{background:#d1fae5;color:#10b981}.stat-icon-amber[data-v-f957ec3f]{background:#fef3c7;color:#f59e0b}.stat-icon-purple[data-v-f957ec3f]{background:#e9d5ff;color:#9333ea}.stat-value[data-v-f957ec3f]{font-size:32px;font-weight:700;color:var(--color-text-primary);margin-bottom:8px}.stat-change[data-v-f957ec3f]{font-size:13px;color:var(--color-text-tertiary)}.filters-bar[data-v-f957ec3f]{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-secondary);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-md)}.filter-group[data-v-f957ec3f]{display:flex;align-items:center;gap:var(--spacing-sm);position:relative}.filter-group.search-group[data-v-f957ec3f]{flex:1;max-width:500px}.filter-group label[data-v-f957ec3f]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);white-space:nowrap}.filter-input[data-v-f957ec3f]{padding:6px 12px 6px 36px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);width:100%;transition:all var(--transition-fast)}.filter-group:has(.filter-input) svg[data-v-f957ec3f]{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--color-text-tertiary);pointer-events:none;z-index:1}.filter-input[data-v-f957ec3f]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.filter-select[data-v-f957ec3f]{padding:6px 32px 6px 12px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);cursor:pointer;transition:all var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23718096' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.filter-select[data-v-f957ec3f]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.btn-filter-reset[data-v-f957ec3f]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);cursor:pointer;color:var(--color-text-tertiary);transition:all var(--transition-fast);flex-shrink:0}.btn-filter-reset[data-v-f957ec3f]:hover{background:var(--color-surface-hover);color:var(--color-text-primary);border-color:var(--color-border-secondary)}.filters-bar .btn-add-icon[data-v-f957ec3f]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin-left:auto;background:var(--color-primary);color:#fff;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.filters-bar .btn-add-icon[data-v-f957ec3f]:hover{background:#5a6fd8;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.data-table[data-v-f957ec3f]{flex:1;overflow:auto}.action-buttons-icon[data-v-f957ec3f]{display:flex;gap:6px;justify-content:flex-end}.btn-action-icon[data-v-f957ec3f]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.btn-action-icon[data-v-f957ec3f]:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-action-icon.btn-edit[data-v-f957ec3f]{background:#3b82f6;color:#fff}.btn-action-icon.btn-edit[data-v-f957ec3f]:hover{background:#2563eb}.btn-action-icon.btn-delete[data-v-f957ec3f]{background:#ef4444;color:#fff}.btn-action-icon.btn-delete[data-v-f957ec3f]:hover{background:#dc2626}.status-badge[data-v-f957ec3f]{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;text-transform:capitalize}.type-badge[data-v-f957ec3f]{padding:4px 10px;background:#e0e7ff;color:#4338ca;border-radius:6px;font-size:11px;font-weight:600;text-transform:uppercase;display:inline-block}.empty-state[data-v-f957ec3f]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#9ca3af}.empty-state svg[data-v-f957ec3f]{margin-bottom:16px}.empty-state p[data-v-f957ec3f]{font-size:16px;font-weight:500}.placeholder-content[data-v-f957ec3f]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:60px 20px;color:var(--color-text-tertiary)}.placeholder-content svg[data-v-f957ec3f]{width:80px;height:80px;margin-bottom:24px;opacity:.5}.placeholder-content h3[data-v-f957ec3f]{font-size:20px;font-weight:600;color:var(--color-text-secondary);margin:0 0 12px}.placeholder-content p[data-v-f957ec3f]{font-size:14px;color:var(--color-text-tertiary);margin:0;text-align:center;max-width:400px}.maintenance-content[data-v-f957ec3f]{display:flex;flex-direction:column;gap:var(--spacing-lg);height:100%}.history-table[data-v-f957ec3f]{flex:1;overflow:auto;background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:8px}.table-header[data-v-f957ec3f]{display:grid;grid-template-columns:100px 180px 140px 180px 1fr 140px 160px 100px 140px;gap:12px;padding:12px 16px;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-primary);font-size:13px;font-weight:600;color:var(--color-text-secondary);position:sticky;top:0;z-index:1}.table-header>div[data-v-f957ec3f]{display:flex;align-items:center;gap:6px}.table-header .sortable[data-v-f957ec3f]{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--transition-fast)}.table-header .sortable[data-v-f957ec3f]:hover{color:var(--color-text-primary)}.table-header .sort-arrow[data-v-f957ec3f]{width:12px;height:12px;transition:transform var(--transition-fast);color:var(--color-primary)}.table-header .sort-arrow.sort-desc[data-v-f957ec3f]{transform:rotate(180deg)}.table-row-wrapper[data-v-f957ec3f]{border-bottom:1px solid var(--color-border-primary)}.table-row-wrapper[data-v-f957ec3f]:last-child{border-bottom:none}.table-row[data-v-f957ec3f]{display:grid;grid-template-columns:100px 180px 140px 180px 1fr 140px 160px 100px 140px;gap:12px;padding:16px;font-size:14px;color:var(--color-text-primary);transition:background .2s}.table-row[data-v-f957ec3f]:hover{background:var(--color-surface-hover)}.font-semibold[data-v-f957ec3f]{font-weight:600;color:var(--color-text-primary)}.operation-id-badge[data-v-f957ec3f]{padding:4px 8px;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:4px;font-size:12px;font-weight:600;color:var(--color-text-secondary);display:inline-block}.operation-badge[data-v-f957ec3f]{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;display:inline-block}.col-description[data-v-f957ec3f],.col-notes[data-v-f957ec3f]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cost-value[data-v-f957ec3f]{font-weight:600;color:#059669}.text-gray[data-v-f957ec3f]{color:var(--color-text-tertiary)}.stats-grid[data-v-29f72d69]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-bottom:32px}.stat-card[data-v-29f72d69]{background:var(--color-bg-primary);border:var(--border-width) solid var(--color-border-primary);border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;transition:transform .2s,box-shadow .2s}.stat-card[data-v-29f72d69]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.stat-card-header[data-v-29f72d69]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.stat-label[data-v-29f72d69]{font-size:14px;color:var(--color-text-secondary);font-weight:500}.stat-icon[data-v-29f72d69]{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center}.stat-icon-blue[data-v-29f72d69]{background:#dbeafe;color:#2563eb}.stat-icon-green[data-v-29f72d69]{background:#d1fae5;color:#10b981}.stat-icon-amber[data-v-29f72d69]{background:#fef3c7;color:#f59e0b}.stat-icon-purple[data-v-29f72d69]{background:#e9d5ff;color:#9333ea}.stat-value[data-v-29f72d69]{font-size:32px;font-weight:700;color:var(--color-text-primary);margin-bottom:8px}.stat-change[data-v-29f72d69]{font-size:13px;color:var(--color-text-tertiary)}.filters-bar[data-v-29f72d69]{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-secondary);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-md)}.filter-group[data-v-29f72d69]{display:flex;align-items:center;gap:var(--spacing-sm);position:relative}.filter-group.search-group[data-v-29f72d69]{flex:1;max-width:500px}.filter-group label[data-v-29f72d69]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);white-space:nowrap}.filter-input[data-v-29f72d69]{padding:6px 12px 6px 36px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);width:100%;transition:all var(--transition-fast)}.filter-group:has(.filter-input) svg[data-v-29f72d69]{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--color-text-tertiary);pointer-events:none;z-index:1}.filter-input[data-v-29f72d69]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.filter-select[data-v-29f72d69]{padding:6px 32px 6px 12px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);cursor:pointer;transition:all var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23718096' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.filter-select[data-v-29f72d69]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.btn-filter-reset[data-v-29f72d69]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);cursor:pointer;color:var(--color-text-tertiary);transition:all var(--transition-fast);flex-shrink:0}.btn-filter-reset[data-v-29f72d69]:hover{background:var(--color-surface-hover);color:var(--color-text-primary);border-color:var(--color-border-secondary)}.filters-bar .btn-add-icon[data-v-29f72d69]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin-left:auto;background:var(--color-primary);color:#fff;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.filters-bar .btn-add-icon[data-v-29f72d69]:hover{background:#5a6fd8;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.data-table[data-v-29f72d69]{flex:1;overflow:auto}.action-buttons-icon[data-v-29f72d69]{display:flex;gap:6px;justify-content:flex-end}.btn-action-icon[data-v-29f72d69]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.btn-action-icon[data-v-29f72d69]:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-action-icon.btn-edit[data-v-29f72d69]{background:#3b82f6;color:#fff}.btn-action-icon.btn-edit[data-v-29f72d69]:hover{background:#2563eb}.btn-action-icon.btn-delete[data-v-29f72d69]{background:#ef4444;color:#fff}.btn-action-icon.btn-delete[data-v-29f72d69]:hover{background:#dc2626}.status-badge[data-v-29f72d69]{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;text-transform:capitalize}.type-badge[data-v-29f72d69]{padding:4px 10px;background:#e0e7ff;color:#4338ca;border-radius:6px;font-size:11px;font-weight:600;text-transform:uppercase;display:inline-block}.empty-state[data-v-29f72d69]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#9ca3af}.empty-state svg[data-v-29f72d69]{margin-bottom:16px}.empty-state p[data-v-29f72d69]{font-size:16px;font-weight:500}.placeholder-content[data-v-29f72d69]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:60px 20px;color:var(--color-text-tertiary)}.placeholder-content svg[data-v-29f72d69]{width:80px;height:80px;margin-bottom:24px;opacity:.5}.placeholder-content h3[data-v-29f72d69]{font-size:20px;font-weight:600;color:var(--color-text-secondary);margin:0 0 12px}.placeholder-content p[data-v-29f72d69]{font-size:14px;color:var(--color-text-tertiary);margin:0;text-align:center;max-width:400px}.tickets-content[data-v-29f72d69]{display:flex;flex-direction:column;height:100%}.stats-grid[data-v-477cfbbb]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-bottom:32px}.stat-card[data-v-477cfbbb]{background:var(--color-bg-primary);border:var(--border-width) solid var(--color-border-primary);border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;transition:transform .2s,box-shadow .2s}.stat-card[data-v-477cfbbb]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.stat-card-header[data-v-477cfbbb]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.stat-label[data-v-477cfbbb]{font-size:14px;color:var(--color-text-secondary);font-weight:500}.stat-icon[data-v-477cfbbb]{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center}.stat-icon-blue[data-v-477cfbbb]{background:#dbeafe;color:#2563eb}.stat-icon-green[data-v-477cfbbb]{background:#d1fae5;color:#10b981}.stat-icon-amber[data-v-477cfbbb]{background:#fef3c7;color:#f59e0b}.stat-icon-purple[data-v-477cfbbb]{background:#e9d5ff;color:#9333ea}.stat-value[data-v-477cfbbb]{font-size:32px;font-weight:700;color:var(--color-text-primary);margin-bottom:8px}.stat-change[data-v-477cfbbb]{font-size:13px;color:var(--color-text-tertiary)}.filters-bar[data-v-477cfbbb]{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-secondary);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-md)}.filter-group[data-v-477cfbbb]{display:flex;align-items:center;gap:var(--spacing-sm);position:relative}.filter-group.search-group[data-v-477cfbbb]{flex:1;max-width:500px}.filter-group label[data-v-477cfbbb]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);white-space:nowrap}.filter-input[data-v-477cfbbb]{padding:6px 12px 6px 36px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);width:100%;transition:all var(--transition-fast)}.filter-group:has(.filter-input) svg[data-v-477cfbbb]{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--color-text-tertiary);pointer-events:none;z-index:1}.filter-input[data-v-477cfbbb]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.filter-select[data-v-477cfbbb]{padding:6px 32px 6px 12px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);cursor:pointer;transition:all var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23718096' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.filter-select[data-v-477cfbbb]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.btn-filter-reset[data-v-477cfbbb]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);cursor:pointer;color:var(--color-text-tertiary);transition:all var(--transition-fast);flex-shrink:0}.btn-filter-reset[data-v-477cfbbb]:hover{background:var(--color-surface-hover);color:var(--color-text-primary);border-color:var(--color-border-secondary)}.filters-bar .btn-add-icon[data-v-477cfbbb]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin-left:auto;background:var(--color-primary);color:#fff;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.filters-bar .btn-add-icon[data-v-477cfbbb]:hover{background:#5a6fd8;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.data-table[data-v-477cfbbb]{flex:1;overflow:auto}.action-buttons-icon[data-v-477cfbbb]{display:flex;gap:6px;justify-content:flex-end}.btn-action-icon[data-v-477cfbbb]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.btn-action-icon[data-v-477cfbbb]:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-action-icon.btn-edit[data-v-477cfbbb]{background:#3b82f6;color:#fff}.btn-action-icon.btn-edit[data-v-477cfbbb]:hover{background:#2563eb}.btn-action-icon.btn-delete[data-v-477cfbbb]{background:#ef4444;color:#fff}.btn-action-icon.btn-delete[data-v-477cfbbb]:hover{background:#dc2626}.status-badge[data-v-477cfbbb]{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;text-transform:capitalize}.type-badge[data-v-477cfbbb]{padding:4px 10px;background:#e0e7ff;color:#4338ca;border-radius:6px;font-size:11px;font-weight:600;text-transform:uppercase;display:inline-block}.empty-state[data-v-477cfbbb]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#9ca3af}.empty-state svg[data-v-477cfbbb]{margin-bottom:16px}.empty-state p[data-v-477cfbbb]{font-size:16px;font-weight:500}.placeholder-content[data-v-477cfbbb]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:60px 20px;color:var(--color-text-tertiary)}.placeholder-content svg[data-v-477cfbbb]{width:80px;height:80px;margin-bottom:24px;opacity:.5}.placeholder-content h3[data-v-477cfbbb]{font-size:20px;font-weight:600;color:var(--color-text-secondary);margin:0 0 12px}.placeholder-content p[data-v-477cfbbb]{font-size:14px;color:var(--color-text-tertiary);margin:0;text-align:center;max-width:400px}.notifications-content[data-v-477cfbbb]{display:flex;flex-direction:column;height:100%}.stats-grid[data-v-735b7640]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-bottom:32px}.stat-card[data-v-735b7640]{background:var(--color-bg-primary);border:var(--border-width) solid var(--color-border-primary);border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;transition:transform .2s,box-shadow .2s}.stat-card[data-v-735b7640]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.stat-card-header[data-v-735b7640]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.stat-label[data-v-735b7640]{font-size:14px;color:var(--color-text-secondary);font-weight:500}.stat-icon[data-v-735b7640]{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center}.stat-icon-blue[data-v-735b7640]{background:#dbeafe;color:#2563eb}.stat-icon-green[data-v-735b7640]{background:#d1fae5;color:#10b981}.stat-icon-amber[data-v-735b7640]{background:#fef3c7;color:#f59e0b}.stat-icon-purple[data-v-735b7640]{background:#e9d5ff;color:#9333ea}.stat-value[data-v-735b7640]{font-size:32px;font-weight:700;color:var(--color-text-primary);margin-bottom:8px}.stat-change[data-v-735b7640]{font-size:13px;color:var(--color-text-tertiary)}.filters-bar[data-v-735b7640]{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-secondary);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-md)}.filter-group[data-v-735b7640]{display:flex;align-items:center;gap:var(--spacing-sm);position:relative}.filter-group.search-group[data-v-735b7640]{flex:1;max-width:500px}.filter-group label[data-v-735b7640]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);white-space:nowrap}.filter-input[data-v-735b7640]{padding:6px 12px 6px 36px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);width:100%;transition:all var(--transition-fast)}.filter-group:has(.filter-input) svg[data-v-735b7640]{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--color-text-tertiary);pointer-events:none;z-index:1}.filter-input[data-v-735b7640]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.filter-select[data-v-735b7640]{padding:6px 32px 6px 12px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);cursor:pointer;transition:all var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23718096' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.filter-select[data-v-735b7640]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.btn-filter-reset[data-v-735b7640]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);cursor:pointer;color:var(--color-text-tertiary);transition:all var(--transition-fast);flex-shrink:0}.btn-filter-reset[data-v-735b7640]:hover{background:var(--color-surface-hover);color:var(--color-text-primary);border-color:var(--color-border-secondary)}.filters-bar .btn-add-icon[data-v-735b7640]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin-left:auto;background:var(--color-primary);color:#fff;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.filters-bar .btn-add-icon[data-v-735b7640]:hover{background:#5a6fd8;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.data-table[data-v-735b7640]{flex:1;overflow:auto}.action-buttons-icon[data-v-735b7640]{display:flex;gap:6px;justify-content:flex-end}.btn-action-icon[data-v-735b7640]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.btn-action-icon[data-v-735b7640]:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-action-icon.btn-edit[data-v-735b7640]{background:#3b82f6;color:#fff}.btn-action-icon.btn-edit[data-v-735b7640]:hover{background:#2563eb}.btn-action-icon.btn-delete[data-v-735b7640]{background:#ef4444;color:#fff}.btn-action-icon.btn-delete[data-v-735b7640]:hover{background:#dc2626}.status-badge[data-v-735b7640]{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;text-transform:capitalize}.type-badge[data-v-735b7640]{padding:4px 10px;background:#e0e7ff;color:#4338ca;border-radius:6px;font-size:11px;font-weight:600;text-transform:uppercase;display:inline-block}.empty-state[data-v-735b7640]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#9ca3af}.empty-state svg[data-v-735b7640]{margin-bottom:16px}.empty-state p[data-v-735b7640]{font-size:16px;font-weight:500}.placeholder-content[data-v-735b7640]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:60px 20px;color:var(--color-text-tertiary)}.placeholder-content svg[data-v-735b7640]{width:80px;height:80px;margin-bottom:24px;opacity:.5}.placeholder-content h3[data-v-735b7640]{font-size:20px;font-weight:600;color:var(--color-text-secondary);margin:0 0 12px}.placeholder-content p[data-v-735b7640]{font-size:14px;color:var(--color-text-tertiary);margin:0;text-align:center;max-width:400px}.asset-page[data-v-735b7640]{width:100%;height:100%;padding:0;background:var(--color-bg-primary)}.page-card[data-v-735b7640]{width:100%;height:100%;background:var(--color-surface);border-radius:8px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;overflow:hidden}.page-header[data-v-735b7640]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border-primary)}.header-content h1[data-v-735b7640]{font-size:24px;font-weight:700;color:var(--color-text-primary);margin:0 0 4px}.subtitle[data-v-735b7640]{font-size:14px;color:var(--color-text-tertiary);margin:0}.tabs[data-v-735b7640]{display:flex;gap:var(--spacing-xs);padding:0 var(--spacing-lg);border-bottom:var(--border-width) solid var(--color-border-primary);background:var(--color-bg-secondary)}.tab[data-v-735b7640]{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;flex-shrink:0}.tab[data-v-735b7640]:hover{color:var(--color-text-primary);background:var(--color-surface-hover)}.tab.active[data-v-735b7640]{color:var(--color-primary);border-bottom-color:var(--color-primary);background:var(--color-surface)}.tab-content[data-v-735b7640]{flex:1;overflow:auto;padding:0}.tab-section[data-v-735b7640]{display:flex;flex-direction:column;gap:var(--spacing-lg);height:100%;padding:var(--spacing-lg)}.page-container[data-v-5f3474db]{padding:32px;height:100%;overflow-y:auto;background:var(--color-bg-primary);transition:background-color var(--transition-base)}.page-header[data-v-5f3474db]{margin-bottom:32px}.page-title[data-v-5f3474db]{font-size:28px;font-weight:700;color:var(--color-text-primary);margin-bottom:8px}.page-subtitle[data-v-5f3474db]{font-size:16px;color:var(--color-text-secondary)}.stats-grid[data-v-5f3474db]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-bottom:32px}.stat-card[data-v-5f3474db]{background:var(--color-surface);border-radius:12px;padding:24px;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s,background-color var(--transition-base);border:var(--border-width) solid var(--color-border-secondary)}.stat-card[data-v-5f3474db]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-card-header[data-v-5f3474db]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.stat-label[data-v-5f3474db]{font-size:14px;color:var(--color-text-secondary);font-weight:500}.stat-icon[data-v-5f3474db]{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center}.stat-value[data-v-5f3474db]{font-size:32px;font-weight:700;color:var(--color-text-primary);margin-bottom:8px}.stat-change[data-v-5f3474db]{font-size:13px;color:var(--color-text-tertiary)}.section[data-v-5f3474db]{margin-bottom:32px}.section-header[data-v-5f3474db]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-title[data-v-5f3474db]{font-size:20px;font-weight:600;color:var(--color-text-primary)}.search-box[data-v-5f3474db]{position:relative;width:300px}.search-icon[data-v-5f3474db]{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--color-text-tertiary)}.search-input[data-v-5f3474db]{width:100%;padding:10px 12px 10px 40px;border:var(--border-width) solid var(--color-border-primary);border-radius:8px;font-size:14px;outline:none;transition:border-color .2s,background-color var(--transition-base);background:var(--color-surface);color:var(--color-text-primary)}.search-input[data-v-5f3474db]:focus{border-color:var(--color-primary)}.templates-grid[data-v-5f3474db]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.template-card[data-v-5f3474db]{background:var(--color-surface);border-radius:12px;padding:20px;box-shadow:var(--shadow-sm);border:var(--border-width) solid var(--color-border-primary);display:flex;gap:16px;transition:transform .2s,box-shadow .2s,background-color var(--transition-base);cursor:pointer}.template-card[data-v-5f3474db]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);background:var(--color-surface-hover)}.template-icon[data-v-5f3474db]{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.template-info[data-v-5f3474db]{flex:1}.template-name[data-v-5f3474db]{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0 0 8px}.template-description[data-v-5f3474db]{font-size:13px;color:var(--color-text-secondary);margin:0 0 12px;line-height:1.4}.template-formats[data-v-5f3474db]{display:flex;gap:6px;flex-wrap:wrap}.format-badge[data-v-5f3474db]{padding:4px 10px;background:var(--color-bg-secondary);color:var(--color-text-secondary);border-radius:12px;font-size:11px;font-weight:600}.reports-list[data-v-5f3474db]{display:flex;flex-direction:column;gap:12px}.report-item[data-v-5f3474db]{background:var(--color-surface);border-radius:12px;padding:20px;box-shadow:var(--shadow-sm);border:var(--border-width) solid var(--color-border-primary);display:flex;justify-content:space-between;align-items:center;transition:box-shadow .2s,background-color var(--transition-base)}.report-item[data-v-5f3474db]:hover{box-shadow:var(--shadow-md);background:var(--color-surface-hover)}.report-main[data-v-5f3474db]{display:flex;gap:16px;flex:1}.report-icon[data-v-5f3474db]{width:40px;height:40px;background:var(--color-bg-secondary);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-text-secondary)}.report-details[data-v-5f3474db]{flex:1}.report-title-row[data-v-5f3474db]{display:flex;align-items:center;gap:12px;margin-bottom:8px}.report-name[data-v-5f3474db]{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0}.status-badge[data-v-5f3474db]{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.report-meta[data-v-5f3474db]{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-text-secondary);margin-bottom:4px}.meta-item[data-v-5f3474db]{white-space:nowrap}.meta-divider[data-v-5f3474db]{color:var(--color-border-primary)}.report-user[data-v-5f3474db]{font-size:12px;color:var(--color-text-tertiary)}.report-actions[data-v-5f3474db]{display:flex;gap:8px}.action-btn[data-v-5f3474db]{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--color-primary);color:var(--color-text-inverse);border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s,transform .2s}.action-btn[data-v-5f3474db]:hover{background:var(--color-primary-hover);transform:translateY(-1px)}.empty-state[data-v-5f3474db]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--color-text-tertiary)}.empty-state svg[data-v-5f3474db]{margin-bottom:16px}.empty-state p[data-v-5f3474db]{font-size:16px;font-weight:500}.consumption-view[data-v-28b0f3a2]{width:100%}.chart-controls[data-v-28b0f3a2]{display:flex;gap:16px;margin-bottom:24px;padding:16px;background:var(--color-bg-secondary);border-radius:6px}.control-group[data-v-28b0f3a2]{display:flex;align-items:center;gap:8px}.control-group label[data-v-28b0f3a2]{font-size:14px;font-weight:500;color:var(--color-text-secondary)}.control-group select[data-v-28b0f3a2]{padding:8px 12px;border:1px solid var(--color-border-primary);border-radius:4px;background:var(--color-bg-primary);color:var(--color-text-primary);font-size:14px;cursor:pointer}.consumption-chart[data-v-28b0f3a2]{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:8px;padding:24px}.consumption-chart h3[data-v-28b0f3a2]{margin:0 0 20px;font-size:18px;font-weight:600;color:var(--color-text-primary)}.chart-placeholder[data-v-28b0f3a2]{min-height:300px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-secondary);border-radius:6px;margin-bottom:20px}.simple-chart[data-v-28b0f3a2]{display:flex;align-items:flex-end;gap:4px;height:280px;width:100%;padding:20px}.chart-bar[data-v-28b0f3a2]{flex:1;min-height:4px;background:linear-gradient(to top,var(--color-primary),var(--color-primary-light));border-radius:2px 2px 0 0;transition:all .2s;cursor:pointer}.chart-bar[data-v-28b0f3a2]:hover{opacity:.8}.loading-state[data-v-28b0f3a2]{color:var(--color-text-secondary);font-size:14px}.chart-summary[data-v-28b0f3a2]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.summary-item[data-v-28b0f3a2]{display:flex;flex-direction:column;gap:6px;padding:16px;background:var(--color-bg-secondary);border-radius:6px}.summary-item span[data-v-28b0f3a2]{font-size:13px;color:var(--color-text-secondary)}.summary-item strong[data-v-28b0f3a2]{font-size:18px;font-weight:600;color:var(--color-text-primary)}.enhanced-table[data-v-2b6b91c9]{display:flex;flex-direction:column;width:100%;background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:8px;overflow:hidden}.table-controls[data-v-2b6b91c9]{display:flex;gap:12px;align-items:center;padding:12px 16px;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-primary)}.search-box[data-v-2b6b91c9]{position:relative;flex:1;max-width:400px}.search-icon[data-v-2b6b91c9]{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--color-text-tertiary);pointer-events:none}.search-input[data-v-2b6b91c9]{width:100%;padding:6px 12px 6px 36px;background:var(--color-surface);border:1px solid var(--color-border-primary);border-radius:4px;color:var(--color-text-primary);font-size:14px;transition:all var(--transition-fast)}.search-input[data-v-2b6b91c9]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.clear-search[data-v-2b6b91c9]{position:absolute;right:8px;top:50%;transform:translateY(-50%);padding:4px;background:transparent;border:none;color:var(--color-text-tertiary);cursor:pointer;border-radius:4px;transition:all var(--transition-base)}.clear-search[data-v-2b6b91c9]:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.clear-search svg[data-v-2b6b91c9]{width:16px;height:16px}.table-container[data-v-2b6b91c9]{background:var(--color-bg-primary)}.table-header[data-v-2b6b91c9]{display:grid;gap:12px;padding:12px 16px;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-primary);font-weight:600;font-size:13px;color:var(--color-text-secondary)}.table-header>div[data-v-2b6b91c9]{display:flex;align-items:center;gap:6px}.sortable[data-v-2b6b91c9]{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--transition-base)}.sortable[data-v-2b6b91c9]:hover{color:var(--color-text-primary)}.sort-arrow[data-v-2b6b91c9]{width:12px;height:12px;transition:transform var(--transition-base)}.sort-arrow.sort-desc[data-v-2b6b91c9]{transform:rotate(180deg)}.table-body[data-v-2b6b91c9]{background:var(--color-bg-primary)}.table-row-wrapper[data-v-2b6b91c9]{border-bottom:1px solid var(--color-border-primary)}.table-row-wrapper[data-v-2b6b91c9]:last-child{border-bottom:none}.table-row[data-v-2b6b91c9]{display:grid;gap:12px;padding:16px;transition:background var(--transition-base)}.table-row[data-v-2b6b91c9]:hover{background:var(--color-surface-hover)}.table-row.expanded[data-v-2b6b91c9]{background:var(--color-surface-hover);border-bottom:1px solid var(--color-border-primary)}.table-row>div[data-v-2b6b91c9]{display:flex;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col-expand[data-v-2b6b91c9]{display:flex;align-items:center;justify-content:center}.btn-expand[data-v-2b6b91c9]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:1px solid var(--color-border-primary);border-radius:4px;color:var(--color-text-secondary);cursor:pointer;transition:all .2s}.btn-expand[data-v-2b6b91c9]:hover{background:var(--color-surface-active);color:var(--color-text-primary);border-color:var(--color-border-hover)}.btn-expand svg[data-v-2b6b91c9]{width:16px;height:16px;transition:transform .2s}.details-section[data-v-2b6b91c9]{padding:20px;background:var(--color-bg-secondary);border-top:1px solid var(--color-border-primary);animation:slideDown-2b6b91c9 .2s ease-out}@keyframes slideDown-2b6b91c9{0%{opacity:0;max-height:0}to{opacity:1;max-height:1000px}}.empty-state[data-v-2b6b91c9]{padding:48px 20px;text-align:center;color:var(--color-text-tertiary);font-size:14px}.pagination[data-v-2b6b91c9]{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;background:var(--color-bg-secondary);border-top:1px solid var(--color-border-primary)}.pagination-btn[data-v-2b6b91c9]{padding:8px;background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:6px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-base)}.pagination-btn[data-v-2b6b91c9]:hover:not(:disabled){background:var(--color-bg-tertiary);border-color:var(--color-primary);color:var(--color-primary)}.pagination-btn[data-v-2b6b91c9]:disabled{opacity:.4;cursor:not-allowed}.pagination-btn svg[data-v-2b6b91c9]{width:16px;height:16px;display:block}.pagination-info[data-v-2b6b91c9]{padding:0 16px;font-size:14px;color:var(--color-text-secondary);min-width:200px;text-align:center}.anomalies-view[data-v-55e1e4c9]{width:100%}.anomalies-header[data-v-55e1e4c9]{margin-bottom:20px}.anomalies-header h3[data-v-55e1e4c9]{font-size:20px;font-weight:600;color:var(--color-text-primary);margin:0}.severity-badge[data-v-55e1e4c9]{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase}.severity-badge.critical[data-v-55e1e4c9]{background:#fee;color:#c00}.severity-badge.high[data-v-55e1e4c9]{background:#ffeaa7;color:#d63031}.severity-badge.medium[data-v-55e1e4c9]{background:#fff3cd;color:#856404}.severity-badge.low[data-v-55e1e4c9]{background:#d1ecf1;color:#0c5460}.anomaly-type-badge[data-v-55e1e4c9]{display:inline-block;padding:4px 10px;background:var(--color-bg-secondary);border-radius:4px;font-size:13px;color:var(--color-text-primary);text-transform:capitalize}.deviation-value[data-v-55e1e4c9]{font-weight:600;color:var(--color-danger)}.status-badge[data-v-55e1e4c9]{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase}.status-badge.acknowledged[data-v-55e1e4c9]{background:#d4edda;color:#155724}.status-badge.pending[data-v-55e1e4c9]{background:#fff3cd;color:#856404}.anomaly-details-expanded[data-v-55e1e4c9]{padding:24px;background:var(--color-bg-secondary)}.details-header[data-v-55e1e4c9]{margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid var(--color-border-primary)}.details-header h4[data-v-55e1e4c9]{margin:0;font-size:18px;font-weight:600;color:var(--color-text-primary)}.details-grid[data-v-55e1e4c9]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.detail-section[data-v-55e1e4c9]{background:var(--color-bg-primary);padding:16px;border-radius:6px}.detail-section h5[data-v-55e1e4c9]{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase}.detail-item[data-v-55e1e4c9]{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.detail-item[data-v-55e1e4c9]:last-child{margin-bottom:0}.detail-item .label[data-v-55e1e4c9]{font-size:13px;font-weight:500;color:var(--color-text-secondary)}.detail-item .value[data-v-55e1e4c9]{font-size:14px;color:var(--color-text-primary)}.btn-primary[data-v-55e1e4c9]{padding:10px 20px;background:var(--color-primary);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .2s}.btn-primary[data-v-55e1e4c9]:hover{opacity:.9}.filter-select[data-v-55e1e4c9]{padding:8px 12px;border:1px solid var(--color-border-primary);border-radius:4px;background:var(--color-bg-primary);color:var(--color-text-primary);font-size:14px;cursor:pointer}.filter-checkbox[data-v-55e1e4c9]{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--color-text-primary);cursor:pointer}.filter-checkbox input[data-v-55e1e4c9]{cursor:pointer}.forecast-view[data-v-1979db5c]{width:100%}.chart-controls[data-v-1979db5c]{display:flex;gap:16px;margin-bottom:24px;padding:16px;background:var(--color-bg-secondary);border-radius:6px}.control-group[data-v-1979db5c]{display:flex;align-items:center;gap:8px}.control-group label[data-v-1979db5c]{font-size:14px;font-weight:500;color:var(--color-text-secondary)}.control-group select[data-v-1979db5c]{padding:8px 12px;border:1px solid var(--color-border-primary);border-radius:4px;background:var(--color-bg-primary);color:var(--color-text-primary);font-size:14px;cursor:pointer}.forecast-content[data-v-1979db5c]{display:flex;flex-direction:column;gap:24px}.forecast-summary[data-v-1979db5c]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.summary-card[data-v-1979db5c]{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:8px;padding:24px}.summary-card h4[data-v-1979db5c]{margin:0 0 12px;font-size:14px;font-weight:500;color:var(--color-text-secondary);text-transform:uppercase}.summary-value[data-v-1979db5c]{font-size:28px;font-weight:700;color:var(--color-text-primary);margin-bottom:8px}.summary-meta[data-v-1979db5c]{font-size:13px;color:var(--color-text-tertiary);text-transform:capitalize}.forecast-chart[data-v-1979db5c]{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:8px;padding:24px}.forecast-chart h3[data-v-1979db5c]{margin:0 0 20px;font-size:18px;font-weight:600;color:var(--color-text-primary)}.chart-placeholder[data-v-1979db5c]{min-height:300px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-secondary);border-radius:6px;padding:20px}.simple-chart[data-v-1979db5c]{display:flex;align-items:flex-end;gap:4px;height:280px;width:100%}.chart-bar[data-v-1979db5c]{flex:1;min-height:4px;border-radius:2px 2px 0 0;transition:all .2s;cursor:pointer}.chart-bar.forecast[data-v-1979db5c]{background:linear-gradient(to top,var(--color-info),var(--color-info-light))}.chart-bar[data-v-1979db5c]:hover{opacity:.8}.loading-state[data-v-1979db5c]{display:flex;align-items:center;justify-content:center;min-height:300px;color:var(--color-text-secondary);font-size:14px}.forecast-factors[data-v-1979db5c]{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:8px;padding:24px}.forecast-factors h4[data-v-1979db5c]{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--color-text-primary)}.factors-grid[data-v-1979db5c]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.factor-item[data-v-1979db5c]{display:flex;flex-direction:column;gap:6px;padding:16px;background:var(--color-bg-secondary);border-radius:6px}.factor-item span[data-v-1979db5c]{font-size:13px;color:var(--color-text-secondary)}.factor-item strong[data-v-1979db5c]{font-size:18px;font-weight:600;color:var(--color-text-primary)}.energy-management-page[data-v-e60c092e]{width:100%;height:100%;padding:0;background:var(--color-bg-primary)}.page-card[data-v-e60c092e]{width:100%;height:100%;background:var(--color-surface);border-radius:8px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;overflow:hidden}.page-header[data-v-e60c092e]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border-primary)}.header-content h1[data-v-e60c092e]{font-size:24px;font-weight:700;color:var(--color-text-primary);margin:0 0 4px}.subtitle[data-v-e60c092e]{font-size:14px;color:var(--color-text-tertiary);margin:0}.stats-grid[data-v-e60c092e]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;padding:24px;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-primary)}.stat-card[data-v-e60c092e]{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:8px;padding:20px;display:flex;gap:16px;align-items:flex-start}.stat-icon[data-v-e60c092e]{width:48px;height:48px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon svg[data-v-e60c092e]{width:24px;height:24px}.stat-icon.consumption[data-v-e60c092e]{background:#fef3c7;color:#f59e0b}.stat-icon.cost[data-v-e60c092e]{background:#dbeafe;color:#3b82f6}.stat-icon.efficiency[data-v-e60c092e]{background:#d1fae5;color:#10b981}.stat-icon.anomalies[data-v-e60c092e]{background:#fee2e2;color:#ef4444}.stat-content[data-v-e60c092e]{flex:1;display:flex;flex-direction:column;gap:4px}.stat-label[data-v-e60c092e]{font-size:13px;color:var(--color-text-secondary);font-weight:500}.stat-value[data-v-e60c092e]{font-size:24px;font-weight:700;color:var(--color-text-primary)}.stat-trend[data-v-e60c092e]{font-size:12px;color:var(--color-text-tertiary)}.stat-trend.positive[data-v-e60c092e]{color:#10b981}.stat-trend.negative[data-v-e60c092e]{color:#ef4444}.content-tabs[data-v-e60c092e]{display:flex;gap:8px;padding:16px 24px 0;background:var(--color-bg-secondary);border-bottom:2px solid var(--color-border-primary)}.tab-button[data-v-e60c092e]{padding:12px 24px;background:transparent;border:none;border-bottom:3px solid transparent;color:var(--color-text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;position:relative;top:2px}.tab-button[data-v-e60c092e]:hover{color:var(--color-text-primary);background:var(--color-bg-tertiary)}.tab-button.active[data-v-e60c092e]{color:var(--color-primary);border-bottom-color:var(--color-primary);background:var(--color-bg-primary)}.tab-content[data-v-e60c092e]{flex:1;overflow-y:auto;padding:24px;background:var(--color-bg-primary)}.devices-tab[data-v-e60c092e]{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:8px;padding:48px;text-align:center;min-height:400px;display:flex;flex-direction:column;align-items:center;justify-content:center}.devices-header[data-v-e60c092e]{margin-bottom:32px}.devices-header h3[data-v-e60c092e]{font-size:24px;font-weight:600;color:var(--color-text-primary);margin:0 0 12px}.subtitle-info[data-v-e60c092e]{font-size:15px;color:var(--color-text-secondary);margin:0;max-width:500px}.devices-action .btn-primary[data-v-e60c092e]{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;font-size:15px;background:var(--color-primary);color:#fff;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:opacity .2s}.devices-action .btn-primary[data-v-e60c092e]:hover{opacity:.9}.devices-action .btn-primary svg[data-v-e60c092e]{width:16px;height:16px}.modal-overlay[data-v-7d43aceb]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-container[data-v-7d43aceb]{background:var(--color-bg-primary);border-radius:12px;box-shadow:var(--shadow-lg);width:90%;max-width:700px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-header[data-v-7d43aceb]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border)}.modal-header h2[data-v-7d43aceb]{font-size:20px;font-weight:600;color:var(--color-text-primary);margin:0}.btn-close[data-v-7d43aceb]{background:none;border:none;font-size:28px;color:var(--color-text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.btn-close[data-v-7d43aceb]:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.modal-body[data-v-7d43aceb]{padding:24px;overflow-y:auto}.form-section[data-v-7d43aceb]{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--color-border)}.form-section[data-v-7d43aceb]:last-of-type{border-bottom:none}.form-section h3[data-v-7d43aceb]{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0 0 16px}.form-row[data-v-7d43aceb]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:16px}.form-group[data-v-7d43aceb]{display:flex;flex-direction:column}.form-group label[data-v-7d43aceb]{font-size:14px;font-weight:500;color:var(--color-text-secondary);margin-bottom:6px}.form-group input[data-v-7d43aceb],.form-group select[data-v-7d43aceb]{padding:10px 12px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);color:var(--color-text-primary);font-size:14px;transition:border-color .2s}.form-group input[data-v-7d43aceb]:focus,.form-group select[data-v-7d43aceb]:focus{outline:none;border-color:var(--color-primary)}.modal-footer[data-v-7d43aceb]{display:flex;justify-content:flex-end;gap:12px;padding-top:20px;margin-top:20px;border-top:1px solid var(--color-border)}.btn-primary[data-v-7d43aceb],.btn-secondary[data-v-7d43aceb]{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary[data-v-7d43aceb]{background:var(--color-primary);color:#fff}.btn-primary[data-v-7d43aceb]:hover:not(:disabled){opacity:.9}.btn-primary[data-v-7d43aceb]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-7d43aceb]{background:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary[data-v-7d43aceb]:hover{background:var(--color-bg-hover)}.dialog-overlay[data-v-d113519b]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1001}.dialog-container[data-v-d113519b]{background:var(--color-bg-primary);border-radius:12px;box-shadow:var(--shadow-lg);width:90%;max-width:500px;overflow:hidden}.dialog-header[data-v-d113519b]{padding:20px 24px;border-bottom:1px solid var(--color-border)}.dialog-header h3[data-v-d113519b]{font-size:18px;font-weight:600;color:var(--color-text-primary);margin:0}.dialog-body[data-v-d113519b]{padding:24px}.dialog-body p[data-v-d113519b]{font-size:14px;color:var(--color-text-secondary);margin:0;line-height:1.6}.dialog-footer[data-v-d113519b]{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--color-border);background:var(--color-bg-secondary)}.btn-secondary[data-v-d113519b],.btn-danger[data-v-d113519b]{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary[data-v-d113519b]{background:var(--color-bg-primary);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary[data-v-d113519b]:hover{background:var(--color-bg-hover)}.btn-danger[data-v-d113519b]{background:#dc3545;color:#fff}.btn-danger[data-v-d113519b]:hover{background:#c82333}.power-devices-page[data-v-03badb0c]{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-lg);min-height:100vh;background:var(--color-bg-secondary)}.page-card[data-v-03badb0c]{background:var(--color-bg-primary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm)}.page-header[data-v-03badb0c]{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xl);border-bottom:1px solid var(--color-border-primary)}.header-content h1[data-v-03badb0c]{font-size:28px;font-weight:700;color:var(--color-text-primary);margin:0 0 4px}.subtitle[data-v-03badb0c]{color:var(--color-text-secondary);font-size:14px;margin:0}.btn-primary[data-v-03badb0c]{padding:10px 20px;background:var(--color-primary);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .2s}.btn-primary[data-v-03badb0c]:hover{opacity:.9}.devices-table[data-v-03badb0c]{padding:24px}table[data-v-03badb0c]{width:100%;border-collapse:collapse}thead[data-v-03badb0c]{background:var(--color-bg-secondary)}th[data-v-03badb0c]{text-align:left;padding:12px;font-size:13px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}td[data-v-03badb0c]{padding:16px 12px;border-bottom:1px solid var(--color-border-primary);font-size:14px;color:var(--color-text-primary)}tr[data-v-03badb0c]:hover{background:var(--color-bg-hover)}.status-badge[data-v-03badb0c]{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;text-transform:capitalize}.status-badge.active[data-v-03badb0c]{background:#d4edda;color:#155724}.status-badge.inactive[data-v-03badb0c]{background:#e2e3e5;color:#383d41}.status-badge.error[data-v-03badb0c]{background:#f8d7da;color:#721c24}.actions[data-v-03badb0c]{display:flex;gap:8px}.btn-icon[data-v-03badb0c]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:4px;background:var(--color-bg-secondary);color:var(--color-text-secondary);cursor:pointer;transition:all .2s}.btn-icon[data-v-03badb0c]:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.btn-icon.btn-danger[data-v-03badb0c]:hover{background:#dc3545;color:#fff}.empty-state[data-v-03badb0c],.loading-state[data-v-03badb0c]{padding:60px 20px;text-align:center}.empty-state p[data-v-03badb0c],.loading-state p[data-v-03badb0c]{color:var(--color-text-secondary);font-size:14px;margin-bottom:16px}.stat-card[data-v-beef15a8]{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:8px;padding:20px;display:flex;gap:16px;align-items:flex-start}.stat-icon[data-v-beef15a8]{width:48px;height:48px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon svg[data-v-beef15a8]{width:24px;height:24px}.stat-icon.data-halls[data-v-beef15a8]{background:#dbeafe;color:#3b82f6}.stat-icon.racks[data-v-beef15a8]{background:#e0e7ff;color:#6366f1}.stat-icon.power[data-v-beef15a8]{background:#fef3c7;color:#f59e0b}.stat-icon.customers[data-v-beef15a8]{background:#d1fae5;color:#10b981}.stat-content[data-v-beef15a8]{flex:1}.stat-label[data-v-beef15a8]{font-size:13px;color:var(--color-text-secondary);margin-bottom:4px}.stat-value[data-v-beef15a8]{font-size:24px;font-weight:600;color:var(--color-text-primary);margin-bottom:4px}.stat-meta[data-v-beef15a8]{font-size:12px;color:var(--color-text-secondary)}.data-hall-card[data-v-bb9c67e5]{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:8px;padding:20px}.card-header[data-v-bb9c67e5]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--color-border)}.hall-info h4[data-v-bb9c67e5]{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0 0 4px}.hall-code[data-v-bb9c67e5]{font-size:12px;color:var(--color-text-secondary);font-family:monospace}.card-body[data-v-bb9c67e5]{display:flex;flex-direction:column;gap:8px}.info-row[data-v-bb9c67e5]{display:flex;justify-content:space-between;font-size:14px}.info-row .label[data-v-bb9c67e5]{color:var(--color-text-secondary)}.info-row .value[data-v-bb9c67e5]{color:var(--color-text-primary);font-weight:500}.status-badge[data-v-bb9c67e5]{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;text-transform:capitalize}.status-badge.active[data-v-bb9c67e5],.status-badge.online[data-v-bb9c67e5],.status-badge.up[data-v-bb9c67e5]{background:#d1fae5;color:#065f46}.status-badge.maintenance[data-v-bb9c67e5],.status-badge.offline[data-v-bb9c67e5]{background:#fee2e2;color:#991b1b}.asset-card[data-v-f1d17e1b]{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:8px;padding:20px}.asset-header[data-v-f1d17e1b]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--color-border)}.asset-info h4[data-v-f1d17e1b]{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0 0 4px}.asset-tag[data-v-f1d17e1b]{font-size:12px;color:var(--color-text-secondary);font-family:monospace}.asset-body[data-v-f1d17e1b]{display:flex;flex-direction:column;gap:8px}.info-row[data-v-f1d17e1b]{display:flex;justify-content:space-between;font-size:14px}.info-row .label[data-v-f1d17e1b]{color:var(--color-text-secondary)}.info-row .value[data-v-f1d17e1b]{color:var(--color-text-primary);font-weight:500}.status-badge[data-v-f1d17e1b]{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;text-transform:capitalize}.status-badge.active[data-v-f1d17e1b],.status-badge.online[data-v-f1d17e1b],.status-badge.up[data-v-f1d17e1b]{background:#d1fae5;color:#065f46}.status-badge.maintenance[data-v-f1d17e1b],.status-badge.offline[data-v-f1d17e1b]{background:#fee2e2;color:#991b1b}.connection-card[data-v-abbbbb84]{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:8px;padding:20px;display:flex;justify-content:space-between;align-items:center}.connection-flow[data-v-abbbbb84]{flex:1;display:flex;align-items:center;gap:16px}.connection-node[data-v-abbbbb84]{padding:12px;background:var(--color-bg-secondary);border-radius:8px;min-width:150px}.node-type[data-v-abbbbb84]{font-size:11px;color:var(--color-text-secondary);text-transform:uppercase;margin-bottom:4px}.node-name[data-v-abbbbb84]{font-size:14px;font-weight:600;color:var(--color-text-primary);margin-bottom:2px}.node-port[data-v-abbbbb84]{font-size:12px;color:var(--color-text-secondary);font-family:monospace}.connection-line[data-v-abbbbb84]{flex:1;position:relative}.connection-line svg[data-v-abbbbb84]{width:100%;height:2px;color:var(--color-border)}.connection-info[data-v-abbbbb84]{position:absolute;top:-20px;left:50%;transform:translate(-50%);background:var(--color-bg-primary);padding:4px 8px;border-radius:4px;font-size:11px;color:var(--color-text-secondary);white-space:nowrap;text-align:center}.connection-status[data-v-abbbbb84]{padding:6px 12px;border-radius:12px;font-size:12px;font-weight:500;text-transform:capitalize}.connection-status.active[data-v-abbbbb84]{background:#d1fae5;color:#065f46}.connection-status.inactive[data-v-abbbbb84]{background:#fee2e2;color:#991b1b}.connection-card[data-v-d7451389]{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:8px;padding:20px;display:flex;justify-content:space-between;align-items:center}.connection-flow[data-v-d7451389]{flex:1;display:flex;align-items:center;gap:16px}.connection-node[data-v-d7451389]{padding:12px;background:var(--color-bg-secondary);border-radius:8px;min-width:150px}.node-name[data-v-d7451389]{font-size:14px;font-weight:600;color:var(--color-text-primary);margin-bottom:2px}.node-port[data-v-d7451389]{font-size:12px;color:var(--color-text-secondary);font-family:monospace}.connection-line[data-v-d7451389]{flex:1;position:relative}.connection-line svg[data-v-d7451389]{width:100%;height:2px;color:var(--color-border)}.connection-info[data-v-d7451389]{position:absolute;top:-20px;left:50%;transform:translate(-50%);background:var(--color-bg-primary);padding:4px 8px;border-radius:4px;font-size:11px;color:var(--color-text-secondary);white-space:nowrap;text-align:center}.connection-status[data-v-d7451389]{padding:6px 12px;border-radius:12px;font-size:12px;font-weight:500;text-transform:capitalize}.connection-status.active[data-v-d7451389],.connection-status.up[data-v-d7451389]{background:#d1fae5;color:#065f46}.connection-status.inactive[data-v-d7451389],.connection-status.down[data-v-d7451389]{background:#fee2e2;color:#991b1b}.modal-overlay[data-v-7b6a8e9d]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-container[data-v-7b6a8e9d]{background:var(--color-bg-primary);border-radius:12px;box-shadow:var(--shadow-lg);width:90%;max-width:600px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-header[data-v-7b6a8e9d]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border)}.modal-header h2[data-v-7b6a8e9d]{font-size:20px;font-weight:600;color:var(--color-text-primary);margin:0}.btn-close[data-v-7b6a8e9d]{background:none;border:none;font-size:28px;color:var(--color-text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.btn-close[data-v-7b6a8e9d]:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.modal-body[data-v-7b6a8e9d]{padding:24px;overflow-y:auto}.form-row[data-v-7b6a8e9d]{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.form-group[data-v-7b6a8e9d]{display:flex;flex-direction:column}.form-group label[data-v-7b6a8e9d]{font-size:14px;font-weight:500;color:var(--color-text-secondary);margin-bottom:6px}.form-group input[data-v-7b6a8e9d],.form-group select[data-v-7b6a8e9d]{padding:10px 12px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);color:var(--color-text-primary);font-size:14px;transition:border-color .2s}.form-group input[data-v-7b6a8e9d]:focus,.form-group select[data-v-7b6a8e9d]:focus{outline:none;border-color:var(--color-primary)}.modal-footer[data-v-7b6a8e9d]{display:flex;justify-content:flex-end;gap:12px;padding-top:20px;margin-top:20px;border-top:1px solid var(--color-border)}.btn-primary[data-v-7b6a8e9d],.btn-secondary[data-v-7b6a8e9d]{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary[data-v-7b6a8e9d]{background:var(--color-primary);color:#fff}.btn-primary[data-v-7b6a8e9d]:hover:not(:disabled){opacity:.9}.btn-primary[data-v-7b6a8e9d]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-7b6a8e9d]{background:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary[data-v-7b6a8e9d]:hover{background:var(--color-bg-hover)}.modal-overlay[data-v-49c0524a]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-container[data-v-49c0524a]{background:var(--color-bg-primary);border-radius:12px;box-shadow:var(--shadow-lg);width:90%;max-width:700px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-header[data-v-49c0524a]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border)}.modal-header h2[data-v-49c0524a]{font-size:20px;font-weight:600;color:var(--color-text-primary);margin:0}.btn-close[data-v-49c0524a]{background:none;border:none;font-size:28px;color:var(--color-text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.btn-close[data-v-49c0524a]:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.modal-body[data-v-49c0524a]{padding:24px;overflow-y:auto}.form-section[data-v-49c0524a]{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--color-border)}.form-section[data-v-49c0524a]:last-of-type{border-bottom:none}.form-section h3[data-v-49c0524a]{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0 0 16px}.form-row[data-v-49c0524a]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:16px}.form-group[data-v-49c0524a]{display:flex;flex-direction:column}.form-group label[data-v-49c0524a]{font-size:14px;font-weight:500;color:var(--color-text-secondary);margin-bottom:6px}.form-group input[data-v-49c0524a],.form-group select[data-v-49c0524a]{padding:10px 12px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);color:var(--color-text-primary);font-size:14px;transition:border-color .2s}.form-group input[data-v-49c0524a]:focus,.form-group select[data-v-49c0524a]:focus{outline:none;border-color:var(--color-primary)}.modal-footer[data-v-49c0524a]{display:flex;justify-content:flex-end;gap:12px;padding-top:20px;margin-top:20px;border-top:1px solid var(--color-border)}.btn-primary[data-v-49c0524a],.btn-secondary[data-v-49c0524a]{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary[data-v-49c0524a]{background:var(--color-primary);color:#fff}.btn-primary[data-v-49c0524a]:hover:not(:disabled){opacity:.9}.btn-primary[data-v-49c0524a]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-49c0524a]{background:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary[data-v-49c0524a]:hover{background:var(--color-bg-hover)}.modal-overlay[data-v-15b23965]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-container[data-v-15b23965]{background:var(--color-bg-primary);border-radius:12px;box-shadow:var(--shadow-lg);width:90%;max-width:800px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-header[data-v-15b23965]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border)}.modal-header h2[data-v-15b23965]{font-size:20px;font-weight:600;color:var(--color-text-primary);margin:0}.btn-close[data-v-15b23965]{background:none;border:none;font-size:28px;color:var(--color-text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.btn-close[data-v-15b23965]:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.modal-body[data-v-15b23965]{padding:24px;overflow-y:auto}.form-section[data-v-15b23965]{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--color-border)}.form-section[data-v-15b23965]:last-of-type{border-bottom:none}.form-section h3[data-v-15b23965]{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0 0 16px}.form-row[data-v-15b23965]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:16px}.form-group[data-v-15b23965]{display:flex;flex-direction:column}.form-group label[data-v-15b23965]{font-size:14px;font-weight:500;color:var(--color-text-secondary);margin-bottom:6px}.checkbox-label[data-v-15b23965]{display:flex;align-items:center;gap:8px;cursor:pointer}.checkbox-label input[type=checkbox][data-v-15b23965]{width:18px;height:18px;cursor:pointer}.form-group input[data-v-15b23965]:not([type=checkbox]),.form-group select[data-v-15b23965]{padding:10px 12px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);color:var(--color-text-primary);font-size:14px;transition:border-color .2s}.form-group input[data-v-15b23965]:focus,.form-group select[data-v-15b23965]:focus{outline:none;border-color:var(--color-primary)}.modal-footer[data-v-15b23965]{display:flex;justify-content:flex-end;gap:12px;padding-top:20px;margin-top:20px;border-top:1px solid var(--color-border)}.btn-primary[data-v-15b23965],.btn-secondary[data-v-15b23965]{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary[data-v-15b23965]{background:var(--color-primary);color:#fff}.btn-primary[data-v-15b23965]:hover:not(:disabled){opacity:.9}.btn-primary[data-v-15b23965]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-15b23965]{background:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary[data-v-15b23965]:hover{background:var(--color-bg-hover)}.modal-overlay[data-v-eb68a251]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-container[data-v-eb68a251]{background:var(--color-bg-primary);border-radius:12px;box-shadow:var(--shadow-lg);width:90%;max-width:700px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-header[data-v-eb68a251]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border)}.modal-header h2[data-v-eb68a251]{font-size:20px;font-weight:600;color:var(--color-text-primary);margin:0}.btn-close[data-v-eb68a251]{background:none;border:none;font-size:28px;color:var(--color-text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.btn-close[data-v-eb68a251]:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.modal-body[data-v-eb68a251]{padding:24px;overflow-y:auto}.form-section[data-v-eb68a251]{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--color-border)}.form-section[data-v-eb68a251]:last-of-type{border-bottom:none}.form-section h3[data-v-eb68a251]{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0 0 16px}.form-row[data-v-eb68a251]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:16px}.form-group[data-v-eb68a251]{display:flex;flex-direction:column}.form-group.full-width[data-v-eb68a251]{grid-column:1 / -1}.form-group label[data-v-eb68a251]{font-size:14px;font-weight:500;color:var(--color-text-secondary);margin-bottom:6px}.form-group input[data-v-eb68a251],.form-group select[data-v-eb68a251],.form-group textarea[data-v-eb68a251]{padding:10px 12px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);color:var(--color-text-primary);font-size:14px;font-family:inherit;transition:border-color .2s}.form-group textarea[data-v-eb68a251]{resize:vertical;min-height:60px}.form-group input[data-v-eb68a251]:focus,.form-group select[data-v-eb68a251]:focus,.form-group textarea[data-v-eb68a251]:focus{outline:none;border-color:var(--color-primary)}.modal-footer[data-v-eb68a251]{display:flex;justify-content:flex-end;gap:12px;padding-top:20px;margin-top:20px;border-top:1px solid var(--color-border)}.btn-primary[data-v-eb68a251],.btn-secondary[data-v-eb68a251]{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary[data-v-eb68a251]{background:var(--color-primary);color:#fff}.btn-primary[data-v-eb68a251]:hover:not(:disabled){opacity:.9}.btn-primary[data-v-eb68a251]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-eb68a251]{background:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary[data-v-eb68a251]:hover{background:var(--color-bg-hover)}.dialog-overlay[data-v-7e34f712]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1001}.dialog-container[data-v-7e34f712]{background:var(--color-bg-primary);border-radius:12px;box-shadow:var(--shadow-lg);width:90%;max-width:500px;overflow:hidden}.dialog-header[data-v-7e34f712]{padding:20px 24px;border-bottom:1px solid var(--color-border)}.dialog-header h3[data-v-7e34f712]{font-size:18px;font-weight:600;color:var(--color-text-primary);margin:0}.dialog-body[data-v-7e34f712]{padding:24px}.dialog-body p[data-v-7e34f712]{font-size:14px;color:var(--color-text-secondary);margin:0;line-height:1.6}.dialog-footer[data-v-7e34f712]{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--color-border);background:var(--color-bg-secondary)}.btn-secondary[data-v-7e34f712],.btn-danger[data-v-7e34f712]{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary[data-v-7e34f712]{background:var(--color-bg-primary);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary[data-v-7e34f712]:hover{background:var(--color-bg-hover)}.btn-danger[data-v-7e34f712]{background:#dc3545;color:#fff}.btn-danger[data-v-7e34f712]:hover{background:#c82333}.dcim-overview-page[data-v-8031ddd8]{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-lg);min-height:100vh;background:var(--color-bg-secondary)}.page-card[data-v-8031ddd8]{background:var(--color-bg-primary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm)}.page-header[data-v-8031ddd8]{padding:var(--spacing-xl);border-bottom:1px solid var(--color-border-primary)}.header-content h1[data-v-8031ddd8]{font-size:28px;font-weight:700;color:var(--color-text-primary);margin:0 0 4px}.subtitle[data-v-8031ddd8]{color:var(--color-text-secondary);font-size:14px;margin:0}.stats-grid[data-v-8031ddd8]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;padding:24px;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-primary)}.nav-cards-section[data-v-8031ddd8]{padding:24px}.nav-cards-section h2[data-v-8031ddd8]{font-size:20px;font-weight:600;color:var(--color-text-primary);margin:0 0 20px}.nav-cards-grid[data-v-8031ddd8]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.nav-card[data-v-8031ddd8]{display:flex;align-items:center;gap:16px;padding:20px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:12px;text-decoration:none;transition:all .2s;cursor:pointer}.nav-card[data-v-8031ddd8]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-primary)}.nav-card-icon[data-v-8031ddd8]{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:12px;flex-shrink:0}.nav-card-icon svg[data-v-8031ddd8]{width:28px;height:28px;stroke-width:2}.nav-card-icon.data-halls[data-v-8031ddd8]{background:#3b82f61a;color:#3b82f6}.nav-card-icon.racks[data-v-8031ddd8]{background:#10b9811a;color:#10b981}.nav-card-icon.servers[data-v-8031ddd8]{background:#8b5cf61a;color:#8b5cf6}.nav-card-icon.assets[data-v-8031ddd8]{background:#f59e0b1a;color:#f59e0b}.nav-card-icon.connections[data-v-8031ddd8]{background:#ef44441a;color:#ef4444}.nav-card-icon.customers[data-v-8031ddd8]{background:#ec48991a;color:#ec4899}.nav-card-content h3[data-v-8031ddd8]{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0 0 4px}.nav-card-content p[data-v-8031ddd8]{font-size:13px;color:var(--color-text-secondary);margin:0}.data-halls-page[data-v-031156e9]{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-lg);min-height:100vh;background:var(--color-bg-secondary)}.page-card[data-v-031156e9]{background:var(--color-bg-primary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm)}.page-header[data-v-031156e9]{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xl);border-bottom:1px solid var(--color-border-primary)}.header-content h1[data-v-031156e9]{font-size:28px;font-weight:700;color:var(--color-text-primary);margin:0 0 4px}.subtitle[data-v-031156e9]{color:var(--color-text-secondary);font-size:14px;margin:0}.btn-primary[data-v-031156e9]{padding:10px 20px;background:var(--color-primary);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .2s}.btn-primary[data-v-031156e9]:hover{opacity:.9}.data-halls-grid[data-v-031156e9]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;padding:24px}.empty-state[data-v-031156e9]{padding:60px 20px;text-align:center}.empty-state p[data-v-031156e9]{color:var(--color-text-secondary);font-size:14px}.racks-page[data-v-b43ae669]{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-lg);min-height:100vh;background:var(--color-bg-secondary)}.page-card[data-v-b43ae669]{background:var(--color-bg-primary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm)}.page-header[data-v-b43ae669]{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xl);border-bottom:1px solid var(--color-border-primary)}.header-content h1[data-v-b43ae669]{font-size:28px;font-weight:700;color:var(--color-text-primary);margin:0 0 4px}.subtitle[data-v-b43ae669]{color:var(--color-text-secondary);font-size:14px;margin:0}.btn-primary[data-v-b43ae669]{padding:10px 20px;background:var(--color-primary);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .2s}.btn-primary[data-v-b43ae669]:hover{opacity:.9}.filter-select[data-v-b43ae669]{padding:8px 12px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg-secondary);color:var(--color-text-primary);font-size:14px}.customer-badge[data-v-b43ae669]{padding:4px 8px;background:var(--color-bg-secondary);border-radius:6px;font-size:12px;font-weight:500}.text-muted[data-v-b43ae669]{color:var(--color-text-secondary);font-style:italic}.occupancy-bar-container[data-v-b43ae669]{display:flex;align-items:center;gap:12px}.occupancy-bar[data-v-b43ae669]{flex:1;height:8px;background:var(--color-bg-secondary);border-radius:4px;overflow:hidden}.occupancy-fill[data-v-b43ae669]{height:100%;background:var(--color-primary);border-radius:4px;transition:width .3s}.occupancy-text[data-v-b43ae669]{font-size:12px;color:var(--color-text-secondary);white-space:nowrap}.status-badge[data-v-b43ae669]{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;text-transform:capitalize}.status-badge.active[data-v-b43ae669],.status-badge.online[data-v-b43ae669]{background:#d1fae5;color:#065f46}.status-badge.maintenance[data-v-b43ae669],.status-badge.offline[data-v-b43ae669]{background:#fee2e2;color:#991b1b}.rack-details[data-v-b43ae669]{padding:20px;background:var(--color-bg-secondary);border-radius:8px}.details-header[data-v-b43ae669]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--color-border)}.details-header h4[data-v-b43ae669]{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0}.btn-secondary[data-v-b43ae669]{padding:8px 16px;background:var(--color-bg-primary);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary[data-v-b43ae669]:hover{background:var(--color-bg-hover);border-color:var(--color-primary)}.details-grid[data-v-b43ae669]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.detail-section[data-v-b43ae669]{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:8px;padding:16px}.detail-section h5[data-v-b43ae669]{font-size:14px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;margin:0 0 12px;letter-spacing:.5px}.detail-item[data-v-b43ae669]{display:flex;justify-content:space-between;align-items:flex-start;padding:8px 0;font-size:14px;border-bottom:1px solid var(--color-border)}.detail-item[data-v-b43ae669]:last-child{border-bottom:none}.detail-item .label[data-v-b43ae669]{color:var(--color-text-secondary);font-weight:500;min-width:140px}.detail-item .value[data-v-b43ae669]{color:var(--color-text-primary);text-align:right;flex:1}.servers-page[data-v-fe71f931]{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-lg);min-height:100vh;background:var(--color-bg-secondary)}.page-card[data-v-fe71f931]{background:var(--color-bg-primary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm)}.page-header[data-v-fe71f931]{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xl);border-bottom:1px solid var(--color-border-primary)}.header-content h1[data-v-fe71f931]{font-size:28px;font-weight:700;color:var(--color-text-primary);margin:0 0 4px}.subtitle[data-v-fe71f931]{color:var(--color-text-secondary);font-size:14px;margin:0}.btn-primary[data-v-fe71f931]{padding:10px 20px;background:var(--color-primary);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .2s}.btn-primary[data-v-fe71f931]:hover{opacity:.9}.filter-select[data-v-fe71f931]{padding:8px 12px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg-secondary);color:var(--color-text-primary);font-size:14px}.cpu-info[data-v-fe71f931],.location-info[data-v-fe71f931]{display:flex;flex-direction:column;gap:4px}.cpu-info small[data-v-fe71f931],.location-info small[data-v-fe71f931]{font-size:11px;color:var(--color-text-secondary)}.text-muted[data-v-fe71f931]{color:var(--color-text-secondary);font-style:italic}.status-badge[data-v-fe71f931]{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;text-transform:capitalize}.status-badge.active[data-v-fe71f931],.status-badge.online[data-v-fe71f931]{background:#d1fae5;color:#065f46}.status-badge.maintenance[data-v-fe71f931],.status-badge.offline[data-v-fe71f931]{background:#fee2e2;color:#991b1b}.server-details[data-v-fe71f931]{padding:20px;background:var(--color-bg-secondary);border-radius:8px}.details-header[data-v-fe71f931]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--color-border)}.details-header h4[data-v-fe71f931]{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0}.btn-secondary[data-v-fe71f931]{padding:8px 16px;background:var(--color-bg-primary);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary[data-v-fe71f931]:hover{background:var(--color-bg-hover);border-color:var(--color-primary)}.details-grid[data-v-fe71f931]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.detail-section[data-v-fe71f931]{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:8px;padding:16px}.detail-section h5[data-v-fe71f931]{font-size:14px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;margin:0 0 12px;letter-spacing:.5px}.detail-item[data-v-fe71f931]{display:flex;justify-content:space-between;align-items:flex-start;padding:8px 0;font-size:14px;border-bottom:1px solid var(--color-border)}.detail-item[data-v-fe71f931]:last-child{border-bottom:none}.detail-item .label[data-v-fe71f931]{color:var(--color-text-secondary);font-weight:500;min-width:140px}.detail-item .value[data-v-fe71f931]{color:var(--color-text-primary);text-align:right;flex:1}.assets-page[data-v-92fbab58]{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-lg);min-height:100vh;background:var(--color-bg-secondary)}.page-card[data-v-92fbab58]{background:var(--color-bg-primary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm)}.page-header[data-v-92fbab58]{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xl);border-bottom:1px solid var(--color-border-primary)}.header-content h1[data-v-92fbab58]{font-size:28px;font-weight:700;color:var(--color-text-primary);margin:0 0 4px}.subtitle[data-v-92fbab58]{color:var(--color-text-secondary);font-size:14px;margin:0}.header-actions[data-v-92fbab58]{display:flex;align-items:center;gap:12px}.filter-select[data-v-92fbab58]{padding:8px 12px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg-secondary);color:var(--color-text-primary);font-size:14px}.btn-primary[data-v-92fbab58]{padding:10px 20px;background:var(--color-primary);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .2s}.btn-primary[data-v-92fbab58]:hover{opacity:.9}.assets-grid[data-v-92fbab58]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;padding:24px}.empty-state[data-v-92fbab58]{padding:60px 20px;text-align:center}.empty-state p[data-v-92fbab58]{color:var(--color-text-secondary);font-size:14px}.connections-page[data-v-93728ccc]{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-lg);min-height:100vh;background:var(--color-bg-secondary)}.page-card[data-v-93728ccc]{background:var(--color-bg-primary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm)}.page-header[data-v-93728ccc]{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xl);border-bottom:1px solid var(--color-border-primary)}.header-content h1[data-v-93728ccc]{font-size:28px;font-weight:700;color:var(--color-text-primary);margin:0 0 4px}.subtitle[data-v-93728ccc]{color:var(--color-text-secondary);font-size:14px;margin:0}.connections-type-tabs[data-v-93728ccc]{display:flex;gap:12px;padding:24px 24px 0}.connections-type-tabs button[data-v-93728ccc]{padding:10px 20px;background:var(--color-bg-secondary);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.connections-type-tabs button[data-v-93728ccc]:hover{background:var(--color-bg-hover)}.connections-type-tabs button.active[data-v-93728ccc]{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.power-connections[data-v-93728ccc],.network-connections[data-v-93728ccc]{padding:24px}.section-header[data-v-93728ccc]{margin-bottom:20px}.section-header h3[data-v-93728ccc]{font-size:18px;font-weight:600;color:var(--color-text-primary);margin:0}.connections-list[data-v-93728ccc]{display:flex;flex-direction:column;gap:16px}.empty-state[data-v-93728ccc]{padding:60px 20px;text-align:center}.empty-state p[data-v-93728ccc]{color:var(--color-text-secondary);font-size:14px}.customers-page[data-v-99b46c6e]{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-lg);min-height:100vh;background:var(--color-bg-secondary)}.page-card[data-v-99b46c6e]{background:var(--color-bg-primary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm)}.page-header[data-v-99b46c6e]{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xl);border-bottom:1px solid var(--color-border-primary)}.header-content h1[data-v-99b46c6e]{font-size:28px;font-weight:700;color:var(--color-text-primary);margin:0 0 4px}.subtitle[data-v-99b46c6e]{color:var(--color-text-secondary);font-size:14px;margin:0}.btn-primary[data-v-99b46c6e]{padding:10px 20px;background:var(--color-primary);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .2s}.btn-primary[data-v-99b46c6e]:hover{opacity:.9}.billing-badge[data-v-99b46c6e]{padding:4px 8px;background:var(--color-bg-secondary);border-radius:6px;font-size:12px;text-transform:capitalize}.status-badge[data-v-99b46c6e]{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;text-transform:capitalize}.status-badge.active[data-v-99b46c6e]{background:#d1fae5;color:#065f46}.status-badge.inactive[data-v-99b46c6e]{background:#fee2e2;color:#991b1b}.customer-details[data-v-99b46c6e]{padding:20px;background:var(--color-bg-secondary);border-radius:8px}.details-header[data-v-99b46c6e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--color-border)}.details-header h4[data-v-99b46c6e]{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0}.btn-secondary[data-v-99b46c6e]{padding:8px 16px;background:var(--color-bg-primary);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary[data-v-99b46c6e]:hover{background:var(--color-bg-hover);border-color:var(--color-primary)}.details-grid[data-v-99b46c6e]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.detail-section[data-v-99b46c6e]{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:8px;padding:16px}.detail-section h5[data-v-99b46c6e]{font-size:14px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;margin:0 0 12px;letter-spacing:.5px}.detail-item[data-v-99b46c6e]{display:flex;justify-content:space-between;align-items:flex-start;padding:8px 0;font-size:14px;border-bottom:1px solid var(--color-border)}.detail-item[data-v-99b46c6e]:last-child{border-bottom:none}.detail-item .label[data-v-99b46c6e]{color:var(--color-text-secondary);font-weight:500;min-width:140px}.detail-item .value[data-v-99b46c6e]{color:var(--color-text-primary);text-align:right;flex:1}.overview-content[data-v-7757fc6d]{display:flex;flex-direction:column;gap:var(--spacing-lg);height:100%}.stats-grid[data-v-7757fc6d]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px}.stat-card[data-v-7757fc6d]{background:var(--color-bg-primary);border:var(--border-width) solid var(--color-border-secondary);border-radius:12px;padding:20px;display:flex;gap:16px;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s,background-color var(--transition-base)}.stat-card[data-v-7757fc6d]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);background:var(--color-bg-tertiary)}.stat-icon[data-v-7757fc6d]{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-info[data-v-7757fc6d]{flex:1;display:flex;flex-direction:column;gap:4px}.stat-label[data-v-7757fc6d]{font-size:14px;color:var(--color-text-secondary);font-weight:500}.stat-value[data-v-7757fc6d]{font-size:28px;font-weight:700;color:var(--color-text-primary)}.stat-change[data-v-7757fc6d]{font-size:13px;color:var(--color-text-tertiary)}.system-section[data-v-7757fc6d]{margin-bottom:32px}.section-title[data-v-7757fc6d]{font-size:20px;font-weight:600;color:var(--color-text-primary);margin:0 0 20px}.systems-grid[data-v-7757fc6d]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.system-card[data-v-7757fc6d]{background:var(--color-bg-primary);border:var(--border-width) solid var(--color-border-primary);border-radius:12px;padding:20px;transition:transform .2s,box-shadow .2s,background-color var(--transition-base)}.system-card[data-v-7757fc6d]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);background:var(--color-bg-tertiary)}.system-header[data-v-7757fc6d]{display:flex;gap:12px;margin-bottom:16px;padding-bottom:16px;border-bottom:var(--border-width) solid var(--color-border-secondary)}.system-icon[data-v-7757fc6d]{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.system-info[data-v-7757fc6d]{flex:1;display:flex;flex-direction:column;gap:4px}.system-name[data-v-7757fc6d]{font-size:16px;font-weight:600;color:var(--color-text-primary)}.system-status[data-v-7757fc6d]{font-size:13px;font-weight:500;padding:2px 8px;border-radius:4px;width:fit-content}.system-status.online[data-v-7757fc6d]{background:#d1fae5;color:#10b981}.system-metrics[data-v-7757fc6d]{display:flex;flex-direction:column;gap:10px}.metric[data-v-7757fc6d]{display:flex;justify-content:space-between;align-items:center;font-size:14px}.metric-label[data-v-7757fc6d]{color:var(--color-text-secondary)}.metric-value[data-v-7757fc6d]{font-weight:600;color:var(--color-text-primary)}.schematic-content[data-v-5a771f03]{display:flex;flex-direction:column;height:100%}.placeholder-content[data-v-5a771f03]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:60px 20px;color:var(--color-text-tertiary)}.placeholder-content svg[data-v-5a771f03]{width:80px;height:80px;margin-bottom:24px;opacity:.5}.placeholder-content h3[data-v-5a771f03]{font-size:20px;font-weight:600;color:var(--color-text-secondary);margin:0 0 12px}.placeholder-content p[data-v-5a771f03]{font-size:14px;color:var(--color-text-tertiary);margin:0;text-align:center;max-width:400px}.summary-content[data-v-2639baee]{display:flex;flex-direction:column;height:100%}.placeholder-content[data-v-2639baee]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:60px 20px;color:var(--color-text-tertiary)}.placeholder-content svg[data-v-2639baee]{width:80px;height:80px;margin-bottom:24px;opacity:.5}.placeholder-content h3[data-v-2639baee]{font-size:20px;font-weight:600;color:var(--color-text-secondary);margin:0 0 12px}.placeholder-content p[data-v-2639baee]{font-size:14px;color:var(--color-text-tertiary);margin:0;text-align:center;max-width:400px}.manual-content[data-v-811ad757]{display:flex;flex-direction:column;height:100%}.placeholder-content[data-v-811ad757]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:60px 20px;color:var(--color-text-tertiary)}.placeholder-content svg[data-v-811ad757]{width:80px;height:80px;margin-bottom:24px;opacity:.5}.placeholder-content h3[data-v-811ad757]{font-size:20px;font-weight:600;color:var(--color-text-secondary);margin:0 0 12px}.placeholder-content p[data-v-811ad757]{font-size:14px;color:var(--color-text-tertiary);margin:0;text-align:center;max-width:400px}.detail-content[data-v-fdffe227]{display:flex;flex-direction:column;height:100%;gap:16px;padding:20px}.chiller-selector[data-v-fdffe227]{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--color-surface);border-radius:var(--border-radius-md);border:1px solid var(--color-border-primary)}.chiller-selector label[data-v-fdffe227]{font-weight:600;color:var(--color-text-primary);font-size:14px}.chiller-select[data-v-fdffe227]{padding:8px 12px;background:var(--color-bg-primary);color:var(--color-text-primary);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:14px;cursor:pointer;min-width:150px}.illustration-container[data-v-fdffe227]{flex:1;position:relative;display:flex;gap:0;min-height:400px}.summary-panel-wrapper[data-v-fdffe227]{width:420px;flex-shrink:0;background:var(--color-surface);border-right:1px solid var(--color-border-primary);border-radius:var(--border-radius-lg) 0 0 var(--border-radius-lg);display:flex;flex-direction:column;overflow:hidden;transition:width .4s cubic-bezier(.4,0,.2,1),margin-right .4s cubic-bezier(.4,0,.2,1);position:relative}.summary-panel-wrapper.collapsed[data-v-fdffe227]{width:0;margin-right:0;border-right:none}.summary-toggle[data-v-fdffe227]{position:absolute;left:420px;top:50%;transform:translateY(-50%);width:40px;height:80px;background:var(--color-surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--color-border-primary);border-left:none;border-radius:0 var(--border-radius-md) var(--border-radius-md) 0;color:var(--color-text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:2px 0 12px #0000001a;transition:left .4s cubic-bezier(.4,0,.2,1),background .3s ease,color .3s ease,box-shadow .3s ease;z-index:11}.summary-toggle.collapsed[data-v-fdffe227]{left:0}.summary-toggle[data-v-fdffe227]:hover{background:var(--color-primary);color:#fff;box-shadow:2px 0 16px #10b9814d}.chiller-image[data-v-fdffe227]{flex:1;background:var(--color-bg-primary);border-radius:0 var(--border-radius-lg) var(--border-radius-lg) 0;border:1px solid var(--color-border-primary);border-left:none;padding:20px;display:flex;justify-content:center;align-items:center;position:relative;min-width:0;transition:border-radius .4s cubic-bezier(.4,0,.2,1),border-left .4s cubic-bezier(.4,0,.2,1)}.summary-panel-wrapper.collapsed~.chiller-image[data-v-fdffe227]{border-radius:var(--border-radius-lg);border-left:1px solid var(--color-border-primary)}.chiller-img[data-v-fdffe227]{max-width:100%;max-height:500px;object-fit:contain}.summary-toggle svg[data-v-fdffe227]{transition:transform .3s ease}.summary-panel[data-v-fdffe227]{flex:1;background:transparent;display:flex;flex-direction:column;overflow:hidden}.panel-header[data-v-fdffe227]{background:linear-gradient(135deg,#10b981,#059669);padding:16px 20px;text-align:center;flex-shrink:0;box-shadow:0 2px 8px #0003}.panel-header h2[data-v-fdffe227]{margin:0;font-size:16px;font-weight:700;color:#fff;letter-spacing:1.5px;text-shadow:0 2px 4px rgba(0,0,0,.3)}.metrics-list[data-v-fdffe227]{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;padding:20px;overflow-y:auto;flex:1}.metrics-list[data-v-fdffe227]::-webkit-scrollbar{width:6px}.metrics-list[data-v-fdffe227]::-webkit-scrollbar-track{background:var(--color-bg-secondary)}.metrics-list[data-v-fdffe227]::-webkit-scrollbar-thumb{background:var(--color-border-primary);border-radius:3px}.metrics-list[data-v-fdffe227]::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}.metric-row[data-v-fdffe227]{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;font-size:13px;border-radius:6px;transition:background .2s ease;min-height:32px}.metric-row[data-v-fdffe227]:hover{background:var(--color-surface-hover)}.metric-label[data-v-fdffe227]{font-weight:600;color:var(--color-text-primary);font-size:13px;letter-spacing:.2px}.metric-value[data-v-fdffe227]{color:var(--color-text-primary);font-family:Courier New,monospace;font-size:13px;font-weight:500;letter-spacing:.3px}.metric-divider[data-v-fdffe227]{grid-column:1 / -1;height:1px;background:var(--color-border-primary);margin:8px 0;opacity:.5}@media (max-width: 1024px){.summary-panel-wrapper[data-v-fdffe227]{width:360px}.summary-toggle[data-v-fdffe227]{left:360px}.summary-toggle.collapsed[data-v-fdffe227]{left:0}.metrics-list[data-v-fdffe227]{grid-template-columns:1fr;gap:0}}@media (max-width: 768px){.chiller-image[data-v-fdffe227]{padding:12px}.chiller-img[data-v-fdffe227]{max-height:350px}.summary-panel-wrapper[data-v-fdffe227]{width:300px}.summary-toggle[data-v-fdffe227]{left:300px}.summary-toggle.collapsed[data-v-fdffe227]{left:0}}.chiller-page[data-v-f3308833]{width:100%;height:100%;padding:0;background:var(--color-bg-primary)}.page-card[data-v-f3308833]{width:100%;height:100%;background:var(--color-surface);border-radius:8px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;overflow:hidden}.page-header[data-v-f3308833]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border-primary)}.header-content h1[data-v-f3308833]{font-size:24px;font-weight:700;color:var(--color-text-primary);margin:0 0 4px}.subtitle[data-v-f3308833]{font-size:14px;color:var(--color-text-tertiary);margin:0}.tabs[data-v-f3308833]{display:flex;gap:var(--spacing-xs);padding:0 var(--spacing-lg);border-bottom:var(--border-width) solid var(--color-border-primary);background:var(--color-bg-secondary)}.tab[data-v-f3308833]{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;flex-shrink:0}.tab[data-v-f3308833]:hover{color:var(--color-text-primary);background:var(--color-surface-hover)}.tab.active[data-v-f3308833]{color:var(--color-primary);border-bottom-color:var(--color-primary);background:var(--color-surface)}.tab-content[data-v-f3308833]{flex:1;overflow:auto;padding:0}.tab-section[data-v-f3308833]{display:flex;flex-direction:column;gap:var(--spacing-lg);height:100%;padding:var(--spacing-lg)}.overview-content[data-v-aa073cbe]{display:flex;flex-direction:column;gap:32px}.stats-grid[data-v-aa073cbe]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px}.stat-card[data-v-aa073cbe]{background:var(--color-bg-primary);border:var(--border-width) solid var(--color-border-secondary);border-radius:12px;padding:20px;display:flex;gap:16px;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s,background-color var(--transition-base)}.stat-card[data-v-aa073cbe]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);background:var(--color-bg-tertiary)}.stat-icon[data-v-aa073cbe]{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-info[data-v-aa073cbe]{flex:1;display:flex;flex-direction:column;gap:4px}.stat-label[data-v-aa073cbe]{font-size:14px;color:var(--color-text-secondary);font-weight:500}.stat-value[data-v-aa073cbe]{font-size:28px;font-weight:700;color:var(--color-text-primary)}.stat-change[data-v-aa073cbe]{font-size:13px;color:var(--color-text-tertiary)}.system-section[data-v-aa073cbe]{display:flex;flex-direction:column;gap:20px}.section-title[data-v-aa073cbe]{font-size:20px;font-weight:600;color:var(--color-text-primary);margin:0}.systems-grid[data-v-aa073cbe]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.system-card[data-v-aa073cbe]{background:var(--color-bg-primary);border:var(--border-width) solid var(--color-border-primary);border-radius:12px;padding:20px;transition:transform .2s,box-shadow .2s,background-color var(--transition-base)}.system-card[data-v-aa073cbe]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);background:var(--color-bg-tertiary)}.system-header[data-v-aa073cbe]{display:flex;gap:12px;margin-bottom:16px;padding-bottom:16px;border-bottom:var(--border-width) solid var(--color-border-secondary)}.system-icon[data-v-aa073cbe]{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.system-info[data-v-aa073cbe]{flex:1;display:flex;flex-direction:column;gap:4px}.system-name[data-v-aa073cbe]{font-size:16px;font-weight:600;color:var(--color-text-primary)}.system-status[data-v-aa073cbe]{font-size:13px;font-weight:500;padding:2px 8px;border-radius:4px;width:fit-content}.system-status.online[data-v-aa073cbe]{background:#d1fae5;color:#10b981}.system-status.warning[data-v-aa073cbe]{background:#fef3c7;color:#f59e0b}.system-metrics[data-v-aa073cbe]{display:flex;flex-direction:column;gap:10px}.metric[data-v-aa073cbe]{display:flex;justify-content:space-between;align-items:center;font-size:14px}.metric-label[data-v-aa073cbe]{color:var(--color-text-secondary)}.metric-value[data-v-aa073cbe]{font-weight:600;color:var(--color-text-primary)}.detail-content[data-v-f106078d]{display:flex;flex-direction:column;height:100%}.placeholder-content[data-v-f106078d]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:60px 20px;color:var(--color-text-tertiary)}.placeholder-content svg[data-v-f106078d]{width:80px;height:80px;margin-bottom:24px;opacity:.5}.placeholder-content h3[data-v-f106078d]{font-size:20px;font-weight:600;color:var(--color-text-secondary);margin:0 0 12px}.placeholder-content p[data-v-f106078d]{font-size:14px;color:var(--color-text-tertiary);margin:0;text-align:center;max-width:400px}.ahu-page[data-v-6ef814b5]{width:100%;height:100%;padding:0;background:var(--color-bg-primary)}.page-card[data-v-6ef814b5]{width:100%;height:100%;background:var(--color-surface);border-radius:8px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;overflow:hidden}.page-header[data-v-6ef814b5]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border-primary)}.header-content h1[data-v-6ef814b5]{font-size:24px;font-weight:700;color:var(--color-text-primary);margin:0 0 4px}.subtitle[data-v-6ef814b5]{font-size:14px;color:var(--color-text-tertiary);margin:0}.tabs[data-v-6ef814b5]{display:flex;gap:4px;padding:0 24px;border-bottom:1px solid var(--color-border-primary);background:var(--color-bg-secondary)}.tab[data-v-6ef814b5]{display:flex;align-items:center;gap:8px;padding:12px 20px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.tab[data-v-6ef814b5]:hover{color:var(--color-text-primary);background:var(--color-surface-hover)}.tab.active[data-v-6ef814b5]{color:var(--color-primary);border-bottom-color:var(--color-primary);background:var(--color-surface)}.tab svg[data-v-6ef814b5]{flex-shrink:0;width:24px;height:24px}.tab-content[data-v-6ef814b5]{flex:1;overflow:auto;padding:0}.tab-section[data-v-6ef814b5]{display:flex;flex-direction:column;gap:24px;height:100%;padding:24px}.system-page[data-v-fdac2d1e]{padding:32px;height:100%;overflow-y:auto;transition:background-color var(--transition-base)}.page-header[data-v-fdac2d1e]{margin-bottom:32px}.header-content[data-v-fdac2d1e]{display:flex;flex-direction:column;gap:8px}.page-title[data-v-fdac2d1e]{font-size:32px;font-weight:700;color:var(--color-text-primary);margin:0}.page-subtitle[data-v-fdac2d1e]{font-size:16px;color:var(--color-text-secondary);margin:0}.stats-grid[data-v-fdac2d1e]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-bottom:32px}.stat-card[data-v-fdac2d1e]{background:var(--color-bg-primary);border:var(--border-width) solid var(--color-border-secondary);border-radius:12px;padding:20px;display:flex;gap:16px;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s,background-color var(--transition-base)}.stat-card[data-v-fdac2d1e]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);background:var(--color-bg-tertiary)}.stat-icon[data-v-fdac2d1e]{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-info[data-v-fdac2d1e]{flex:1;display:flex;flex-direction:column;gap:4px}.stat-label[data-v-fdac2d1e]{font-size:14px;color:var(--color-text-secondary);font-weight:500}.stat-value[data-v-fdac2d1e]{font-size:28px;font-weight:700;color:var(--color-text-primary)}.stat-change[data-v-fdac2d1e]{font-size:13px;color:var(--color-text-tertiary)}.system-section[data-v-fdac2d1e]{margin-bottom:32px}.section-title[data-v-fdac2d1e]{font-size:20px;font-weight:600;color:var(--color-text-primary);margin:0 0 20px}.systems-grid[data-v-fdac2d1e]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.system-card[data-v-fdac2d1e]{background:var(--color-bg-primary);border:var(--border-width) solid var(--color-border-primary);border-radius:12px;padding:20px;transition:transform .2s,box-shadow .2s,background-color var(--transition-base)}.system-card[data-v-fdac2d1e]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);background:var(--color-bg-tertiary)}.system-header[data-v-fdac2d1e]{display:flex;gap:12px;margin-bottom:16px;padding-bottom:16px;border-bottom:var(--border-width) solid var(--color-border-secondary)}.system-icon[data-v-fdac2d1e]{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.system-info[data-v-fdac2d1e]{flex:1;display:flex;flex-direction:column;gap:4px}.system-name[data-v-fdac2d1e]{font-size:16px;font-weight:600;color:var(--color-text-primary)}.system-status[data-v-fdac2d1e]{font-size:13px;font-weight:500;padding:2px 8px;border-radius:4px;width:fit-content}.system-status.online[data-v-fdac2d1e]{background:#d1fae5;color:#10b981}.system-status.offline[data-v-fdac2d1e]{background:#fecaca;color:#ef4444}.system-metrics[data-v-fdac2d1e]{display:flex;flex-direction:column;gap:10px}.metric[data-v-fdac2d1e]{display:flex;justify-content:space-between;align-items:center;font-size:14px}.metric-label[data-v-fdac2d1e]{color:var(--color-text-secondary)}.metric-value[data-v-fdac2d1e]{font-weight:600;color:var(--color-text-primary)}.overview-content[data-v-d908cadc]{display:flex;flex-direction:column;gap:var(--spacing-lg);height:100%}.stats-grid[data-v-d908cadc]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px}.stat-card[data-v-d908cadc]{background:var(--color-bg-primary);border:var(--border-width) solid var(--color-border-secondary);border-radius:12px;padding:20px;display:flex;gap:16px;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s,background-color var(--transition-base)}.stat-card[data-v-d908cadc]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);background:var(--color-bg-tertiary)}.stat-icon[data-v-d908cadc]{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-info[data-v-d908cadc]{flex:1;display:flex;flex-direction:column;gap:4px}.stat-label[data-v-d908cadc]{font-size:14px;color:var(--color-text-secondary);font-weight:500}.stat-value[data-v-d908cadc]{font-size:28px;font-weight:700;color:var(--color-text-primary)}.stat-change[data-v-d908cadc]{font-size:13px;color:var(--color-text-tertiary)}.system-section[data-v-d908cadc]{margin-bottom:32px}.section-title[data-v-d908cadc]{font-size:20px;font-weight:600;color:var(--color-text-primary);margin:0 0 20px}.systems-grid[data-v-d908cadc]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.system-card[data-v-d908cadc]{background:var(--color-bg-primary);border:var(--border-width) solid var(--color-border-primary);border-radius:12px;padding:20px;transition:transform .2s,box-shadow .2s,background-color var(--transition-base)}.system-card[data-v-d908cadc]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);background:var(--color-bg-tertiary)}.system-header[data-v-d908cadc]{display:flex;gap:12px;margin-bottom:16px;padding-bottom:16px;border-bottom:var(--border-width) solid var(--color-border-secondary)}.system-icon[data-v-d908cadc]{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.system-info[data-v-d908cadc]{flex:1;display:flex;flex-direction:column;gap:4px}.system-name[data-v-d908cadc]{font-size:16px;font-weight:600;color:var(--color-text-primary)}.system-status[data-v-d908cadc]{font-size:13px;font-weight:500;padding:2px 8px;border-radius:4px;width:fit-content}.system-status.standby[data-v-d908cadc]{background:#dbeafe;color:#2563eb}.system-metrics[data-v-d908cadc]{display:flex;flex-direction:column;gap:10px}.metric[data-v-d908cadc]{display:flex;justify-content:space-between;align-items:center;font-size:14px}.metric-label[data-v-d908cadc]{color:var(--color-text-secondary)}.metric-value[data-v-d908cadc]{font-weight:600;color:var(--color-text-primary)}.detail-content[data-v-9c2fe86a]{display:flex;flex-direction:column;gap:var(--spacing-lg);height:100%}.generator-selector[data-v-9c2fe86a]{display:flex;align-items:center;gap:12px;padding:16px;background:var(--color-bg-primary);border-radius:var(--border-radius-md);border:1px solid var(--color-border-primary)}.generator-selector label[data-v-9c2fe86a]{font-size:14px;font-weight:600;color:var(--color-text-primary)}.generator-select[data-v-9c2fe86a]{padding:8px 16px;border:1px solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:14px;color:var(--color-text-primary);background:var(--color-surface);cursor:pointer;min-width:150px}.illustration-container[data-v-9c2fe86a]{flex:1;position:relative;display:flex;gap:0;min-height:400px}.summary-panel-wrapper[data-v-9c2fe86a]{width:420px;flex-shrink:0;background:var(--color-surface);border-right:1px solid var(--color-border-primary);border-radius:var(--border-radius-lg) 0 0 var(--border-radius-lg);display:flex;flex-direction:column;overflow:hidden;transition:width .4s cubic-bezier(.4,0,.2,1),margin-right .4s cubic-bezier(.4,0,.2,1);position:relative}.summary-panel-wrapper.collapsed[data-v-9c2fe86a]{width:0;margin-right:0;border-right:none}.summary-toggle[data-v-9c2fe86a]{position:absolute;left:420px;top:50%;transform:translateY(-50%);width:40px;height:80px;background:var(--color-surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--color-border-primary);border-left:none;border-radius:0 var(--border-radius-md) var(--border-radius-md) 0;color:var(--color-text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:2px 0 12px #0000001a;transition:left .4s cubic-bezier(.4,0,.2,1),background .3s ease,color .3s ease,box-shadow .3s ease;z-index:11}.summary-toggle.collapsed[data-v-9c2fe86a]{left:0}.summary-toggle[data-v-9c2fe86a]:hover{background:var(--color-primary);color:#fff;box-shadow:2px 0 16px #10b9814d}.generator-image[data-v-9c2fe86a]{flex:1;background:var(--color-bg-primary);border-radius:0 var(--border-radius-lg) var(--border-radius-lg) 0;border:1px solid var(--color-border-primary);border-left:none;padding:20px;display:flex;justify-content:center;align-items:center;position:relative;min-width:0;transition:border-radius .4s cubic-bezier(.4,0,.2,1),border-left .4s cubic-bezier(.4,0,.2,1)}.summary-panel-wrapper.collapsed~.generator-image[data-v-9c2fe86a]{border-radius:var(--border-radius-lg);border-left:1px solid var(--color-border-primary)}.gen-img[data-v-9c2fe86a]{max-width:100%;max-height:500px;object-fit:contain}.summary-toggle svg[data-v-9c2fe86a]{transition:transform .3s ease}.summary-panel[data-v-9c2fe86a]{flex:1;background:transparent;display:flex;flex-direction:column;overflow:hidden}.panel-header[data-v-9c2fe86a]{background:linear-gradient(135deg,#10b981,#059669);padding:16px 20px;text-align:center;flex-shrink:0;box-shadow:0 2px 8px #0003}.panel-header h2[data-v-9c2fe86a]{margin:0;font-size:16px;font-weight:700;color:#fff;letter-spacing:1.5px;text-shadow:0 2px 4px rgba(0,0,0,.3)}.metrics-list[data-v-9c2fe86a]{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;padding:20px;overflow-y:auto;flex:1}.metrics-list[data-v-9c2fe86a]::-webkit-scrollbar{width:6px}.metrics-list[data-v-9c2fe86a]::-webkit-scrollbar-track{background:var(--color-bg-secondary)}.metrics-list[data-v-9c2fe86a]::-webkit-scrollbar-thumb{background:var(--color-border-primary);border-radius:3px}.metrics-list[data-v-9c2fe86a]::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}.metric-row[data-v-9c2fe86a]{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;font-size:13px;border-radius:6px;transition:background .2s ease;min-height:32px}.metric-row[data-v-9c2fe86a]:hover{background:var(--color-surface-hover)}.metric-label[data-v-9c2fe86a]{font-weight:600;color:var(--color-text-primary);font-size:13px;letter-spacing:.2px}.metric-value[data-v-9c2fe86a]{color:var(--color-text-primary);font-family:Courier New,monospace;font-size:13px;font-weight:500;letter-spacing:.3px}.metric-divider[data-v-9c2fe86a]{grid-column:1 / -1;height:1px;background:var(--color-border-primary);margin:8px 0;opacity:.5}.oil-tank-overlay[data-v-9c2fe86a]{position:absolute;bottom:30px;right:30px;display:flex;flex-direction:column;align-items:center;gap:8px;background:#000000bf;padding:12px 16px;border-radius:var(--border-radius-md);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:2px solid var(--color-border-primary);box-shadow:var(--shadow-lg)}.tank-label[data-v-9c2fe86a]{font-size:11px;font-weight:700;color:#fff;letter-spacing:1px;margin-bottom:4px}.tank-container[data-v-9c2fe86a]{width:60px;height:120px;background:var(--color-bg-secondary);border:2px solid var(--color-border-primary);border-radius:6px;position:relative;overflow:hidden;box-shadow:inset 0 2px 8px #0000004d}.tank-fill[data-v-9c2fe86a]{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,#10b981,#34d399);transition:height .5s ease;display:flex;align-items:center;justify-content:center;min-height:24px}.tank-percentage[data-v-9c2fe86a]{font-size:12px;font-weight:700;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.5);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);white-space:nowrap}@media (max-width: 1024px){.summary-panel-wrapper[data-v-9c2fe86a]{width:360px}.summary-toggle[data-v-9c2fe86a]{left:360px}.summary-toggle.collapsed[data-v-9c2fe86a]{left:0}.metrics-list[data-v-9c2fe86a]{grid-template-columns:1fr;gap:0}}@media (max-width: 768px){.generator-image[data-v-9c2fe86a]{padding:12px}.gen-img[data-v-9c2fe86a]{max-height:350px}.summary-panel-wrapper[data-v-9c2fe86a]{width:300px}.summary-toggle[data-v-9c2fe86a]{left:300px}.summary-toggle.collapsed[data-v-9c2fe86a]{left:0}.oil-tank-overlay[data-v-9c2fe86a]{bottom:20px;right:20px;padding:8px 12px}.tank-container[data-v-9c2fe86a]{width:50px;height:100px}}.generator-page[data-v-6c02c0c9]{width:100%;height:100%;padding:0;background:var(--color-bg-primary)}.page-card[data-v-6c02c0c9]{width:100%;height:100%;background:var(--color-surface);border-radius:8px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;overflow:hidden}.page-header[data-v-6c02c0c9]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border-primary)}.header-content h1[data-v-6c02c0c9]{font-size:24px;font-weight:700;color:var(--color-text-primary);margin:0 0 4px}.subtitle[data-v-6c02c0c9]{font-size:14px;color:var(--color-text-tertiary);margin:0}.tabs[data-v-6c02c0c9]{display:flex;gap:var(--spacing-xs);padding:0 var(--spacing-lg);border-bottom:var(--border-width) solid var(--color-border-primary);background:var(--color-bg-secondary)}.tab[data-v-6c02c0c9]{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;flex-shrink:0}.tab[data-v-6c02c0c9]:hover{color:var(--color-text-primary);background:var(--color-surface-hover)}.tab.active[data-v-6c02c0c9]{color:var(--color-primary);border-bottom-color:var(--color-primary);background:var(--color-surface)}.tab-content[data-v-6c02c0c9]{flex:1;overflow:auto;padding:0}.tab-section[data-v-6c02c0c9]{display:flex;flex-direction:column;gap:var(--spacing-lg);height:100%;padding:var(--spacing-lg)}.system-page[data-v-6930b8e5]{padding:32px;height:100%;overflow-y:auto;transition:background-color var(--transition-base)}.page-header[data-v-6930b8e5]{margin-bottom:32px}.header-content[data-v-6930b8e5]{display:flex;flex-direction:column;gap:8px}.page-title[data-v-6930b8e5]{font-size:32px;font-weight:700;color:var(--color-text-primary);margin:0}.page-subtitle[data-v-6930b8e5]{font-size:16px;color:var(--color-text-secondary);margin:0}.stats-grid[data-v-6930b8e5]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-bottom:32px}.stat-card[data-v-6930b8e5]{background:var(--color-bg-primary);border:var(--border-width) solid var(--color-border-secondary);border-radius:12px;padding:20px;display:flex;gap:16px;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s,background-color var(--transition-base)}.stat-card[data-v-6930b8e5]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);background:var(--color-bg-tertiary)}.stat-icon[data-v-6930b8e5]{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-info[data-v-6930b8e5]{flex:1;display:flex;flex-direction:column;gap:4px}.stat-label[data-v-6930b8e5]{font-size:14px;color:var(--color-text-secondary);font-weight:500}.stat-value[data-v-6930b8e5]{font-size:28px;font-weight:700;color:var(--color-text-primary)}.stat-change[data-v-6930b8e5]{font-size:13px;color:var(--color-text-tertiary)}.system-section[data-v-6930b8e5]{margin-bottom:32px}.section-title[data-v-6930b8e5]{font-size:20px;font-weight:600;color:var(--color-text-primary);margin:0 0 20px}.systems-grid[data-v-6930b8e5]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.system-card[data-v-6930b8e5]{background:var(--color-bg-primary);border:var(--border-width) solid var(--color-border-primary);border-radius:12px;padding:20px;transition:transform .2s,box-shadow .2s,background-color var(--transition-base)}.system-card[data-v-6930b8e5]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);background:var(--color-bg-tertiary)}.system-header[data-v-6930b8e5]{display:flex;gap:12px;margin-bottom:16px;padding-bottom:16px;border-bottom:var(--border-width) solid var(--color-border-secondary)}.system-icon[data-v-6930b8e5]{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.system-info[data-v-6930b8e5]{flex:1;display:flex;flex-direction:column;gap:4px}.system-name[data-v-6930b8e5]{font-size:16px;font-weight:600;color:var(--color-text-primary)}.system-status[data-v-6930b8e5]{font-size:13px;font-weight:500;padding:2px 8px;border-radius:4px;width:fit-content}.system-status.online[data-v-6930b8e5]{background:#d1fae5;color:#10b981}.system-status.standby[data-v-6930b8e5]{background:#dbeafe;color:#2563eb}.system-metrics[data-v-6930b8e5]{display:flex;flex-direction:column;gap:10px}.metric[data-v-6930b8e5]{display:flex;justify-content:space-between;align-items:center;font-size:14px}.metric-label[data-v-6930b8e5]{color:var(--color-text-secondary)}.metric-value[data-v-6930b8e5]{font-weight:600;color:var(--color-text-primary)}.system-page[data-v-92ea728c]{padding:32px;height:100%;overflow-y:auto;transition:background-color var(--transition-base)}.page-header[data-v-92ea728c]{margin-bottom:32px}.header-content[data-v-92ea728c]{display:flex;flex-direction:column;gap:8px}.page-title[data-v-92ea728c]{font-size:32px;font-weight:700;color:var(--color-text-primary);margin:0}.page-subtitle[data-v-92ea728c]{font-size:16px;color:var(--color-text-secondary);margin:0}.stats-grid[data-v-92ea728c]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-bottom:32px}.stat-card[data-v-92ea728c]{background:var(--color-bg-primary);border:var(--border-width) solid var(--color-border-secondary);border-radius:12px;padding:20px;display:flex;gap:16px;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s,background-color var(--transition-base)}.stat-card[data-v-92ea728c]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);background:var(--color-bg-tertiary)}.stat-icon[data-v-92ea728c]{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-info[data-v-92ea728c]{flex:1;display:flex;flex-direction:column;gap:4px}.stat-label[data-v-92ea728c]{font-size:14px;color:var(--color-text-secondary);font-weight:500}.stat-value[data-v-92ea728c]{font-size:28px;font-weight:700;color:var(--color-text-primary)}.stat-change[data-v-92ea728c]{font-size:13px;color:var(--color-text-tertiary)}.system-section[data-v-92ea728c]{margin-bottom:32px}.section-title[data-v-92ea728c]{font-size:20px;font-weight:600;color:var(--color-text-primary);margin:0 0 20px}.systems-grid[data-v-92ea728c]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.system-card[data-v-92ea728c]{background:var(--color-bg-primary);border:var(--border-width) solid var(--color-border-primary);border-radius:12px;padding:20px;transition:transform .2s,box-shadow .2s,background-color var(--transition-base)}.system-card[data-v-92ea728c]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);background:var(--color-bg-tertiary)}.system-header[data-v-92ea728c]{display:flex;gap:12px;margin-bottom:16px;padding-bottom:16px;border-bottom:var(--border-width) solid var(--color-border-secondary)}.system-icon[data-v-92ea728c]{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.system-info[data-v-92ea728c]{flex:1;display:flex;flex-direction:column;gap:4px}.system-name[data-v-92ea728c]{font-size:16px;font-weight:600;color:var(--color-text-primary)}.system-status[data-v-92ea728c]{font-size:13px;font-weight:500;padding:2px 8px;border-radius:4px;width:fit-content}.system-status.online[data-v-92ea728c]{background:#d1fae5;color:#10b981}.system-status.offline[data-v-92ea728c]{background:#fecaca;color:#ef4444}.system-metrics[data-v-92ea728c]{display:flex;flex-direction:column;gap:10px}.metric[data-v-92ea728c]{display:flex;justify-content:space-between;align-items:center;font-size:14px}.metric-label[data-v-92ea728c]{color:var(--color-text-secondary)}.metric-value[data-v-92ea728c]{font-weight:600;color:var(--color-text-primary)}.system-page[data-v-cf92a5a6]{padding:32px;height:100%;overflow-y:auto;transition:background-color var(--transition-base)}.page-header[data-v-cf92a5a6]{margin-bottom:32px}.header-content[data-v-cf92a5a6]{display:flex;flex-direction:column;gap:8px}.page-title[data-v-cf92a5a6]{font-size:32px;font-weight:700;color:var(--color-text-primary);margin:0}.page-subtitle[data-v-cf92a5a6]{font-size:16px;color:var(--color-text-secondary);margin:0}.stats-grid[data-v-cf92a5a6]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-bottom:32px}.stat-card[data-v-cf92a5a6]{background:var(--color-bg-primary);border:var(--border-width) solid var(--color-border-secondary);border-radius:12px;padding:20px;display:flex;gap:16px;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s,background-color var(--transition-base)}.stat-card[data-v-cf92a5a6]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);background:var(--color-bg-tertiary)}.stat-icon[data-v-cf92a5a6]{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-info[data-v-cf92a5a6]{flex:1;display:flex;flex-direction:column;gap:4px}.stat-label[data-v-cf92a5a6]{font-size:14px;color:var(--color-text-secondary);font-weight:500}.stat-value[data-v-cf92a5a6]{font-size:28px;font-weight:700;color:var(--color-text-primary)}.stat-change[data-v-cf92a5a6]{font-size:13px;color:var(--color-text-tertiary)}.system-section[data-v-cf92a5a6]{margin-bottom:32px}.section-title[data-v-cf92a5a6]{font-size:20px;font-weight:600;color:var(--color-text-primary);margin:0 0 20px}.systems-grid[data-v-cf92a5a6]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.system-card[data-v-cf92a5a6]{background:var(--color-bg-primary);border:var(--border-width) solid var(--color-border-primary);border-radius:12px;padding:20px;transition:transform .2s,box-shadow .2s,background-color var(--transition-base)}.system-card[data-v-cf92a5a6]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);background:var(--color-bg-tertiary)}.system-header[data-v-cf92a5a6]{display:flex;gap:12px;margin-bottom:16px;padding-bottom:16px;border-bottom:var(--border-width) solid var(--color-border-secondary)}.system-icon[data-v-cf92a5a6]{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.system-info[data-v-cf92a5a6]{flex:1;display:flex;flex-direction:column;gap:4px}.system-name[data-v-cf92a5a6]{font-size:16px;font-weight:600;color:var(--color-text-primary)}.system-status[data-v-cf92a5a6]{font-size:13px;font-weight:500;padding:2px 8px;border-radius:4px;width:fit-content}.system-status.online[data-v-cf92a5a6]{background:#d1fae5;color:#10b981}.system-metrics[data-v-cf92a5a6]{display:flex;flex-direction:column;gap:10px}.metric[data-v-cf92a5a6]{display:flex;justify-content:space-between;align-items:center;font-size:14px}.metric-label[data-v-cf92a5a6]{color:var(--color-text-secondary)}.metric-value[data-v-cf92a5a6]{font-weight:600;color:var(--color-text-primary)}.stats-grid[data-v-fa6fd24a]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-bottom:32px}.stat-card[data-v-fa6fd24a]{background:var(--color-bg-primary);border-radius:var(--border-radius-lg);padding:24px;display:flex;gap:16px;box-shadow:var(--shadow-sm);transition:all .3s;border:1px solid var(--color-border-primary)}.stat-card[data-v-fa6fd24a]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);background:var(--color-bg-tertiary)}.stat-icon[data-v-fa6fd24a]{width:48px;height:48px;border-radius:var(--border-radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon svg[data-v-fa6fd24a]{width:24px;height:24px}.stat-info[data-v-fa6fd24a]{display:flex;flex-direction:column;gap:4px}.stat-label[data-v-fa6fd24a]{font-size:14px;color:var(--color-text-secondary);font-weight:500}.stat-value[data-v-fa6fd24a]{font-size:32px;font-weight:700;color:var(--color-text-primary);line-height:1}.stat-change[data-v-fa6fd24a]{font-size:12px;color:var(--color-text-tertiary)}.filters-bar[data-v-fa6fd24a]{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-secondary);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-md);flex-wrap:wrap}.filter-group[data-v-fa6fd24a]{display:flex;align-items:center;gap:var(--spacing-sm);position:relative}.filter-group.search-group[data-v-fa6fd24a]{flex:1;max-width:500px}.filter-group label[data-v-fa6fd24a]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);white-space:nowrap}.filter-input[data-v-fa6fd24a]{padding:6px 12px 6px 36px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);width:100%;transition:all var(--transition-fast);min-width:300px}.filter-group:has(.filter-input) svg[data-v-fa6fd24a]{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--color-text-tertiary);pointer-events:none;z-index:1}.filter-input[data-v-fa6fd24a]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.filter-select[data-v-fa6fd24a]{padding:6px 32px 6px 12px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);cursor:pointer;transition:all var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23718096' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.filter-select[data-v-fa6fd24a]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.btn-filter-action[data-v-fa6fd24a]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);cursor:pointer;color:var(--color-text-tertiary);transition:all var(--transition-fast);flex-shrink:0}.btn-filter-action[data-v-fa6fd24a]:hover{background:var(--color-surface-hover);color:var(--color-text-primary);border-color:var(--color-border-secondary)}.filters-bar .btn-add-icon[data-v-fa6fd24a]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin-left:auto;background:var(--color-primary);color:#fff;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.filters-bar .btn-add-icon[data-v-fa6fd24a]:hover{background:#5a6fd8;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.priority-badge[data-v-fa6fd24a]{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:capitalize}.priority-low[data-v-fa6fd24a]{background:#d1fae5;color:#10b981}.priority-medium[data-v-fa6fd24a]{background:#fef3c7;color:#f59e0b}.priority-high[data-v-fa6fd24a]{background:#fecaca;color:#ef4444}.priority-critical[data-v-fa6fd24a]{background:#fee2e2;color:#dc2626}.status-badge[data-v-fa6fd24a]{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:capitalize}.status-active[data-v-fa6fd24a]{background:#d1fae5;color:#10b981}.status-inactive[data-v-fa6fd24a]{background:#e5e7eb;color:#6b7280}.status-failed[data-v-fa6fd24a]{background:#fecaca;color:#ef4444}.status-running[data-v-fa6fd24a]{background:#dbeafe;color:#3b82f6}.status-completed[data-v-fa6fd24a]{background:#d1fae5;color:#10b981}.actions[data-v-fa6fd24a]{display:flex;gap:8px}.btn-action[data-v-fa6fd24a]{padding:6px;background:none;border:1px solid var(--color-border-primary);border-radius:var(--border-radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:all .2s}.btn-action svg[data-v-fa6fd24a]{width:16px;height:16px}.btn-action[data-v-fa6fd24a]:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.btn-action[data-v-fa6fd24a]:disabled{opacity:.5;cursor:not-allowed}.btn-run[data-v-fa6fd24a]:hover:not(:disabled){border-color:#3b82f6;color:#3b82f6}.btn-toggle[data-v-fa6fd24a]:hover{border-color:#f59e0b;color:#f59e0b}.btn-edit[data-v-fa6fd24a]:hover{border-color:#10b981;color:#10b981}.btn-delete[data-v-fa6fd24a]:hover{border-color:#ef4444;color:#ef4444}.empty-state[data-v-fa6fd24a]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#9ca3af;text-align:center}.empty-state svg[data-v-fa6fd24a]{margin-bottom:16px}.empty-state p[data-v-fa6fd24a]{font-size:16px;font-weight:500}.empty-icon[data-v-fa6fd24a]{width:64px;height:64px;color:var(--color-text-tertiary);margin-bottom:16px}.empty-title[data-v-fa6fd24a]{font-size:20px;font-weight:600;color:var(--color-text-primary);margin:0 0 8px}.empty-subtitle[data-v-fa6fd24a]{font-size:14px;color:var(--color-text-secondary);margin:0 0 24px}.btn-primary[data-v-fa6fd24a]{display:flex;align-items:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:var(--border-radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #3b82f633}.btn-primary[data-v-fa6fd24a]:hover{box-shadow:0 4px 12px #3b82f64d;transform:translateY(-2px)}.btn-icon[data-v-fa6fd24a]{width:16px;height:16px}.task-type[data-v-fa6fd24a]{text-transform:capitalize;font-weight:500}.frequency[data-v-fa6fd24a]{text-transform:capitalize}.datetime[data-v-fa6fd24a]{font-size:13px;color:var(--color-text-secondary)}.last-run[data-v-fa6fd24a]{display:flex;flex-direction:column;gap:4px}.placeholder-content[data-v-fa6fd24a]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:60px 20px;color:var(--color-text-tertiary)}.placeholder-content svg[data-v-fa6fd24a]{width:80px;height:80px;margin-bottom:24px;opacity:.5}.placeholder-content h3[data-v-fa6fd24a]{font-size:20px;font-weight:600;color:var(--color-text-secondary);margin:0 0 12px}.placeholder-content p[data-v-fa6fd24a]{font-size:14px;color:var(--color-text-tertiary);margin:0;text-align:center;max-width:400px}.overview-content[data-v-fa6fd24a]{display:flex;flex-direction:column;gap:32px}.quick-overview h3[data-v-fa6fd24a]{font-size:18px;font-weight:600;color:var(--color-text-primary);margin:0 0 8px}.quick-overview>p[data-v-fa6fd24a]{font-size:14px;color:var(--color-text-secondary);margin:0 0 24px;line-height:1.6}.overview-cards[data-v-fa6fd24a]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.overview-card[data-v-fa6fd24a]{display:flex;gap:16px;padding:20px;background:var(--color-surface);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-md);transition:all var(--transition-fast)}.overview-card[data-v-fa6fd24a]:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.overview-icon[data-v-fa6fd24a]{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--color-primary-light);color:var(--color-primary);border-radius:var(--border-radius-md)}.overview-info h4[data-v-fa6fd24a]{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0 0 8px}.overview-info p[data-v-fa6fd24a]{font-size:13px;color:var(--color-text-tertiary);margin:0;line-height:1.5}.modal-overlay[data-v-926ffc42]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-container[data-v-926ffc42]{background:var(--color-bg-primary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-2xl);max-width:700px;width:100%;max-height:90vh;display:flex;flex-direction:column}.modal-header[data-v-926ffc42]{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid var(--color-border-primary)}.modal-header h2[data-v-926ffc42]{font-size:24px;font-weight:700;color:var(--color-text-primary);margin:0}.btn-close[data-v-926ffc42]{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:4px;border-radius:6px;transition:all .2s}.btn-close[data-v-926ffc42]:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.modal-body[data-v-926ffc42]{padding:24px;overflow-y:auto}.form-section[data-v-926ffc42]{margin-bottom:32px}.form-section[data-v-926ffc42]:last-of-type{margin-bottom:0}.form-section h3[data-v-926ffc42]{font-size:18px;font-weight:600;color:var(--color-text-primary);margin:0 0 16px}.form-group[data-v-926ffc42]{margin-bottom:20px}.form-row[data-v-926ffc42]{display:grid;grid-template-columns:1fr 1fr;gap:16px}label[data-v-926ffc42]{display:block;font-size:14px;font-weight:500;color:var(--color-text-primary);margin-bottom:8px}label.required[data-v-926ffc42]:after{content:" *";color:#ef4444}input[type=text][data-v-926ffc42],input[type=number][data-v-926ffc42],input[type=time][data-v-926ffc42],input[type=datetime-local][data-v-926ffc42],select[data-v-926ffc42],textarea[data-v-926ffc42]{width:100%;padding:10px 12px;border:1px solid var(--color-border-primary);border-radius:var(--border-radius-md);font-size:14px;color:var(--color-text-primary);background:var(--color-bg-primary);transition:all .2s}input[data-v-926ffc42]:focus,select[data-v-926ffc42]:focus,textarea[data-v-926ffc42]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}input.error[data-v-926ffc42],select.error[data-v-926ffc42]{border-color:#ef4444}.error-message[data-v-926ffc42]{display:block;color:#ef4444;font-size:12px;margin-top:4px}textarea[data-v-926ffc42]{resize:vertical;font-family:inherit}.days-selector[data-v-926ffc42]{display:flex;gap:8px;flex-wrap:wrap}.day-button[data-v-926ffc42]{padding:8px 16px;border:1px solid var(--color-border-primary);border-radius:var(--border-radius-md);background:var(--color-bg-primary);color:var(--color-text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.day-button[data-v-926ffc42]:hover{background:var(--color-bg-secondary);border-color:var(--color-primary)}.day-button.selected[data-v-926ffc42]{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.checkbox-label[data-v-926ffc42]{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox][data-v-926ffc42]{width:auto;cursor:pointer}.modal-footer[data-v-926ffc42]{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid var(--color-border-primary)}.btn-primary[data-v-926ffc42],.btn-secondary[data-v-926ffc42]{padding:10px 20px;border-radius:var(--border-radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;border:none}.btn-primary[data-v-926ffc42]{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 2px 4px #3b82f633}.btn-primary[data-v-926ffc42]:hover{box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.btn-secondary[data-v-926ffc42]{background:var(--color-bg-primary);color:var(--color-text-primary);border:1px solid var(--color-border-primary)}.btn-secondary[data-v-926ffc42]:hover{background:var(--color-bg-secondary)}.section-description[data-v-926ffc42]{font-size:13px;color:var(--color-text-secondary);margin-bottom:16px;line-height:1.5}.device-action-form[data-v-926ffc42]{padding:16px;background:var(--color-bg-secondary);border-radius:var(--border-radius-md);margin-bottom:20px}.help-text[data-v-926ffc42]{display:block;font-size:12px;color:var(--color-text-secondary);margin-top:4px}.loading-text[data-v-926ffc42]{font-size:13px;color:var(--color-text-secondary);margin:4px 0}.action-description[data-v-926ffc42]{margin-top:8px;font-size:13px;line-height:1.4;color:var(--color-text-secondary)}.btn-add-action[data-v-926ffc42]{display:flex;align-items:center;gap:6px;padding:8px 16px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:var(--border-radius-md);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;margin-top:12px}.btn-add-action[data-v-926ffc42]:hover{box-shadow:0 2px 8px #10b9814d;transform:translateY(-1px)}.btn-add-action svg[data-v-926ffc42]{width:14px;height:14px}.device-actions-list[data-v-926ffc42]{margin-top:20px}.device-actions-list h4[data-v-926ffc42]{font-size:15px;font-weight:600;color:var(--color-text-primary);margin:0 0 12px}.action-item[data-v-926ffc42]{display:flex;justify-content:space-between;align-items:flex-start;padding:12px;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-md);margin-bottom:8px;transition:all .2s}.action-item[data-v-926ffc42]:hover{border-color:var(--color-primary);background:var(--color-bg-primary)}.action-details[data-v-926ffc42]{flex:1;display:flex;flex-direction:column;gap:6px}.action-device[data-v-926ffc42]{font-size:14px;color:var(--color-text-primary)}.action-type[data-v-926ffc42]{font-size:13px;color:var(--color-text-secondary)}.action-payload[data-v-926ffc42]{font-size:12px;color:var(--color-text-secondary)}.action-payload code[data-v-926ffc42]{background:var(--color-bg-primary);padding:2px 6px;border-radius:4px;font-family:monospace;font-size:11px}.badge[data-v-926ffc42]{display:inline-block;padding:2px 8px;background:var(--color-primary);color:#fff;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase}.btn-remove-action[data-v-926ffc42]{background:none;border:none;color:#ef4444;cursor:pointer;padding:4px;border-radius:6px;transition:all .2s;flex-shrink:0}.btn-remove-action[data-v-926ffc42]:hover{background:#ef44441a}.schedule-details[data-v-38697d01]{padding:24px;background:var(--color-bg-primary)}.details-grid[data-v-38697d01]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.details-section[data-v-38697d01]{background:var(--color-bg-secondary);padding:20px;border-radius:var(--border-radius-md);border:1px solid var(--color-border-primary)}.details-section.full-width[data-v-38697d01]{grid-column:1 / -1}.section-title[data-v-38697d01]{margin:0 0 16px;font-size:14px;font-weight:600;color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.5px}.info-grid[data-v-38697d01]{display:flex;flex-direction:column;gap:12px}.info-item[data-v-38697d01]{display:flex;gap:8px}.info-label[data-v-38697d01]{font-size:13px;color:var(--color-text-secondary);min-width:120px;flex-shrink:0}.info-value[data-v-38697d01]{font-size:13px;color:var(--color-text-primary);font-weight:500;word-break:break-word}.task-type[data-v-38697d01]{text-transform:capitalize}.priority-badge[data-v-38697d01]{padding:4px 12px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.priority-low[data-v-38697d01]{background:#dbeafe;color:#1e40af}.priority-medium[data-v-38697d01]{background:#fef3c7;color:#b45309}.priority-high[data-v-38697d01]{background:#fed7aa;color:#c2410c}.priority-critical[data-v-38697d01]{background:#fecaca;color:#b91c1c}.status-badge[data-v-38697d01]{padding:4px 12px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-active[data-v-38697d01]{background:#d1fae5;color:#065f46}.status-inactive[data-v-38697d01]{background:#f3f4f6;color:#6b7280}.status-running[data-v-38697d01]{background:#dbeafe;color:#1e40af}.status-failed[data-v-38697d01]{background:#fecaca;color:#b91c1c}.device-actions-list[data-v-38697d01]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.device-action-card[data-v-38697d01]{background:var(--color-bg-primary);padding:16px;border-radius:var(--border-radius-md);border:1px solid var(--color-border-primary)}.action-header[data-v-38697d01]{display:flex;align-items:center;gap:12px;margin-bottom:12px}.action-icon[data-v-38697d01]{width:32px;height:32px;color:var(--color-primary);flex-shrink:0}.action-device[data-v-38697d01]{font-size:14px;font-weight:600;color:var(--color-text-primary)}.action-type[data-v-38697d01]{font-size:12px;color:var(--color-text-secondary);text-transform:capitalize}.action-payload[data-v-38697d01]{margin-top:12px;padding-top:12px;border-top:1px solid var(--color-border-primary)}.payload-label[data-v-38697d01]{font-size:12px;color:var(--color-text-secondary);font-weight:600;display:block;margin-bottom:8px}.payload-content[data-v-38697d01]{background:var(--color-bg-tertiary);padding:12px;border-radius:4px;font-size:12px;font-family:Courier New,monospace;color:var(--color-text-primary);overflow-x:auto;margin:0}.parameters-content[data-v-38697d01]{background:var(--color-bg-tertiary);padding:16px;border-radius:var(--border-radius-md);font-size:13px;font-family:Courier New,monospace;color:var(--color-text-primary);overflow-x:auto;margin:0}.tags-list[data-v-38697d01]{display:flex;flex-wrap:wrap;gap:8px}.tag[data-v-38697d01]{padding:6px 12px;background:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);border-radius:16px;font-size:12px;color:var(--color-text-primary);font-weight:500}.stats-grid[data-v-fdd02f40]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-bottom:32px}.stat-card[data-v-fdd02f40]{background:var(--color-bg-primary);border-radius:var(--border-radius-lg);padding:24px;display:flex;gap:16px;box-shadow:var(--shadow-sm);transition:all .3s;border:1px solid var(--color-border-primary)}.stat-card[data-v-fdd02f40]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);background:var(--color-bg-tertiary)}.stat-icon[data-v-fdd02f40]{width:48px;height:48px;border-radius:var(--border-radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon svg[data-v-fdd02f40]{width:24px;height:24px}.stat-info[data-v-fdd02f40]{display:flex;flex-direction:column;gap:4px}.stat-label[data-v-fdd02f40]{font-size:14px;color:var(--color-text-secondary);font-weight:500}.stat-value[data-v-fdd02f40]{font-size:32px;font-weight:700;color:var(--color-text-primary);line-height:1}.stat-change[data-v-fdd02f40]{font-size:12px;color:var(--color-text-tertiary)}.filters-bar[data-v-fdd02f40]{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-secondary);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-md);flex-wrap:wrap}.filter-group[data-v-fdd02f40]{display:flex;align-items:center;gap:var(--spacing-sm);position:relative}.filter-group.search-group[data-v-fdd02f40]{flex:1;max-width:500px}.filter-group label[data-v-fdd02f40]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);white-space:nowrap}.filter-input[data-v-fdd02f40]{padding:6px 12px 6px 36px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);width:100%;transition:all var(--transition-fast);min-width:300px}.filter-group:has(.filter-input) svg[data-v-fdd02f40]{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--color-text-tertiary);pointer-events:none;z-index:1}.filter-input[data-v-fdd02f40]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.filter-select[data-v-fdd02f40]{padding:6px 32px 6px 12px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);cursor:pointer;transition:all var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23718096' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.filter-select[data-v-fdd02f40]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.btn-filter-action[data-v-fdd02f40]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);cursor:pointer;color:var(--color-text-tertiary);transition:all var(--transition-fast);flex-shrink:0}.btn-filter-action[data-v-fdd02f40]:hover{background:var(--color-surface-hover);color:var(--color-text-primary);border-color:var(--color-border-secondary)}.filters-bar .btn-add-icon[data-v-fdd02f40]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin-left:auto;background:var(--color-primary);color:#fff;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.filters-bar .btn-add-icon[data-v-fdd02f40]:hover{background:#5a6fd8;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.priority-badge[data-v-fdd02f40]{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:capitalize}.priority-low[data-v-fdd02f40]{background:#d1fae5;color:#10b981}.priority-medium[data-v-fdd02f40]{background:#fef3c7;color:#f59e0b}.priority-high[data-v-fdd02f40]{background:#fecaca;color:#ef4444}.priority-critical[data-v-fdd02f40]{background:#fee2e2;color:#dc2626}.status-badge[data-v-fdd02f40]{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:capitalize}.status-active[data-v-fdd02f40]{background:#d1fae5;color:#10b981}.status-inactive[data-v-fdd02f40]{background:#e5e7eb;color:#6b7280}.status-failed[data-v-fdd02f40]{background:#fecaca;color:#ef4444}.status-running[data-v-fdd02f40]{background:#dbeafe;color:#3b82f6}.status-completed[data-v-fdd02f40]{background:#d1fae5;color:#10b981}.actions[data-v-fdd02f40]{display:flex;gap:8px}.btn-action[data-v-fdd02f40]{padding:6px;background:none;border:1px solid var(--color-border-primary);border-radius:var(--border-radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:all .2s}.btn-action svg[data-v-fdd02f40]{width:16px;height:16px}.btn-action[data-v-fdd02f40]:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.btn-action[data-v-fdd02f40]:disabled{opacity:.5;cursor:not-allowed}.btn-run[data-v-fdd02f40]:hover:not(:disabled){border-color:#3b82f6;color:#3b82f6}.btn-toggle[data-v-fdd02f40]:hover{border-color:#f59e0b;color:#f59e0b}.btn-edit[data-v-fdd02f40]:hover{border-color:#10b981;color:#10b981}.btn-delete[data-v-fdd02f40]:hover{border-color:#ef4444;color:#ef4444}.empty-state[data-v-fdd02f40]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#9ca3af;text-align:center}.empty-state svg[data-v-fdd02f40]{margin-bottom:16px}.empty-state p[data-v-fdd02f40]{font-size:16px;font-weight:500}.empty-icon[data-v-fdd02f40]{width:64px;height:64px;color:var(--color-text-tertiary);margin-bottom:16px}.empty-title[data-v-fdd02f40]{font-size:20px;font-weight:600;color:var(--color-text-primary);margin:0 0 8px}.empty-subtitle[data-v-fdd02f40]{font-size:14px;color:var(--color-text-secondary);margin:0 0 24px}.btn-primary[data-v-fdd02f40]{display:flex;align-items:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:var(--border-radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #3b82f633}.btn-primary[data-v-fdd02f40]:hover{box-shadow:0 4px 12px #3b82f64d;transform:translateY(-2px)}.btn-icon[data-v-fdd02f40]{width:16px;height:16px}.task-type[data-v-fdd02f40]{text-transform:capitalize;font-weight:500}.frequency[data-v-fdd02f40]{text-transform:capitalize}.datetime[data-v-fdd02f40]{font-size:13px;color:var(--color-text-secondary)}.last-run[data-v-fdd02f40]{display:flex;flex-direction:column;gap:4px}.placeholder-content[data-v-fdd02f40]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:60px 20px;color:var(--color-text-tertiary)}.placeholder-content svg[data-v-fdd02f40]{width:80px;height:80px;margin-bottom:24px;opacity:.5}.placeholder-content h3[data-v-fdd02f40]{font-size:20px;font-weight:600;color:var(--color-text-secondary);margin:0 0 12px}.placeholder-content p[data-v-fdd02f40]{font-size:14px;color:var(--color-text-tertiary);margin:0;text-align:center;max-width:400px}.grid-view[data-v-fdd02f40]{width:100%;height:100%;border-radius:var(--border-radius-lg);overflow:auto}.calendar-view[data-v-624b0f09]{display:flex;flex-direction:column;gap:20px;height:100%}.calendar-header[data-v-624b0f09]{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--color-surface);border-radius:var(--border-radius-md);border:1px solid var(--color-border-primary)}.header-controls[data-v-624b0f09]{display:flex;align-items:center;gap:16px}.month-title[data-v-624b0f09]{font-size:20px;font-weight:600;color:var(--color-text-primary);margin:0;min-width:200px;text-align:center}.header-actions[data-v-624b0f09]{display:flex;gap:8px;align-items:center}.nav-button[data-v-624b0f09],.today-button[data-v-624b0f09],.toggle-panel-button[data-v-624b0f09]{padding:8px 16px;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-sm);color:var(--color-text-primary);cursor:pointer;transition:all .2s;font-size:13px;font-weight:500}.nav-button[data-v-624b0f09]{padding:8px;display:flex;align-items:center;justify-content:center}.toggle-panel-button[data-v-624b0f09]{display:flex;align-items:center;gap:6px}.toggle-panel-button svg[data-v-624b0f09]{width:18px;height:18px}.nav-button[data-v-624b0f09]:hover,.today-button[data-v-624b0f09]:hover,.toggle-panel-button[data-v-624b0f09]:hover{background:var(--color-surface-hover);border-color:var(--color-primary)}.calendar-grid-container[data-v-624b0f09]{flex:1;background:var(--color-surface);border-radius:var(--border-radius-md);border:1px solid var(--color-border-primary);overflow:auto;display:flex;flex-direction:column}.day-headers[data-v-624b0f09]{display:grid;grid-template-columns:repeat(7,1fr);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-primary)}.day-header[data-v-624b0f09]{padding:12px;text-align:center;font-weight:600;font-size:13px;color:var(--color-text-secondary);text-transform:uppercase}.calendar-grid[data-v-624b0f09]{display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(6,1fr);flex:1;min-height:600px}.calendar-day[data-v-624b0f09]{min-height:120px;padding:8px;border-right:1px solid var(--color-border-secondary);border-bottom:1px solid var(--color-border-secondary);cursor:pointer;transition:background .2s;display:flex;flex-direction:column;gap:6px;overflow:hidden}.calendar-day[data-v-624b0f09]:nth-child(7n){border-right:none}.calendar-day[data-v-624b0f09]:hover{background:var(--color-surface-hover)}.calendar-day.other-month[data-v-624b0f09]{background:var(--color-bg-secondary);opacity:.5}.calendar-day.today[data-v-624b0f09]{background:#dbeafe}.calendar-day.selected[data-v-624b0f09]{background:#bfdbfe;border:2px solid var(--color-primary)}.day-number[data-v-624b0f09]{font-size:14px;font-weight:600;color:var(--color-text-primary);margin-bottom:4px}.day-schedules[data-v-624b0f09]{display:flex;flex-direction:column;gap:4px;flex:1;overflow:hidden}.schedule-indicator[data-v-624b0f09]{padding:4px 6px;border-radius:4px;font-size:11px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.priority-low[data-v-624b0f09]{background:#dbeafe;color:#3b82f6}.priority-medium[data-v-624b0f09]{background:#fef3c7;color:#f59e0b}.priority-high[data-v-624b0f09]{background:#fed7aa;color:#ea580c}.priority-critical[data-v-624b0f09]{background:#fecaca;color:#dc2626}.more-indicator[data-v-624b0f09]{font-size:10px;color:var(--color-text-tertiary);padding:2px 4px}.selected-day-panel[data-v-624b0f09]{background:var(--color-surface);border-radius:var(--border-radius-md);border:1px solid var(--color-border-primary);padding:16px;max-height:300px;display:flex;flex-direction:column}.panel-header[data-v-624b0f09]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--color-border-secondary)}.panel-header-content[data-v-624b0f09]{display:flex;flex-direction:column;gap:4px}.panel-header h3[data-v-624b0f09]{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0}.schedule-count[data-v-624b0f09]{font-size:13px;color:var(--color-text-tertiary)}.close-panel-button[data-v-624b0f09]{padding:6px;background:transparent;border:1px solid var(--color-border-secondary);border-radius:var(--border-radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.close-panel-button[data-v-624b0f09]:hover{background:var(--color-surface-hover);border-color:var(--color-border-primary);color:var(--color-text-primary)}.schedule-list[data-v-624b0f09]{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.schedule-item[data-v-624b0f09]{display:flex;justify-content:space-between;align-items:center;padding:12px;background:var(--color-bg-secondary);border-radius:var(--border-radius-sm);border:1px solid var(--color-border-secondary)}.schedule-info[data-v-624b0f09]{flex:1;display:flex;flex-direction:column;gap:6px}.schedule-header[data-v-624b0f09]{display:flex;align-items:center;gap:8px}.schedule-name[data-v-624b0f09]{font-weight:600;color:var(--color-text-primary);font-size:14px}.priority-badge[data-v-624b0f09]{padding:2px 6px;border-radius:3px;font-size:11px;font-weight:500;text-transform:capitalize}.schedule-details[data-v-624b0f09]{display:flex;gap:12px;font-size:12px;color:var(--color-text-tertiary)}.schedule-time[data-v-624b0f09]{font-weight:500}.schedule-type[data-v-624b0f09]{text-transform:capitalize}.schedule-actions[data-v-624b0f09]{display:flex;gap:6px}.btn-action-small[data-v-624b0f09]{display:inline-flex;align-items:center;justify-content:center;padding:6px;border:none;border-radius:4px;cursor:pointer;transition:all .2s}.btn-action-small[data-v-624b0f09]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-624b0f09]{background:#3b82f6;color:#fff}.btn-primary[data-v-624b0f09]:hover:not(:disabled){background:#2563eb}.btn-secondary[data-v-624b0f09]{background:#6b7280;color:#fff}.btn-secondary[data-v-624b0f09]:hover:not(:disabled){background:#4b5563}.btn-success[data-v-624b0f09]{background:#10b981;color:#fff}.btn-success[data-v-624b0f09]:hover:not(:disabled){background:#059669}.btn-warning[data-v-624b0f09]{background:#f59e0b;color:#fff}.btn-warning[data-v-624b0f09]:hover:not(:disabled){background:#d97706}.no-schedules[data-v-624b0f09]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:var(--color-text-tertiary)}.no-schedules svg[data-v-624b0f09]{opacity:.3;margin-bottom:12px}.no-schedules p[data-v-624b0f09]{margin:0;font-size:14px}.schedules-content[data-v-1dc7ab09]{display:flex;flex-direction:column;gap:20px;height:100%}.filters-bar[data-v-1dc7ab09]{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:16px;background:var(--color-surface);border-radius:var(--border-radius-md);border:1px solid var(--color-border-primary)}.view-switcher[data-v-1dc7ab09]{display:flex;gap:4px;padding:4px;background:var(--color-bg-secondary);border-radius:var(--border-radius-sm);border:1px solid var(--color-border-secondary)}.view-button[data-v-1dc7ab09]{display:flex;align-items:center;gap:6px;padding:6px 12px;background:transparent;border:none;border-radius:var(--border-radius-sm);color:var(--color-text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.view-button[data-v-1dc7ab09]:hover{color:var(--color-text-primary);background:var(--color-surface-hover)}.view-button.active[data-v-1dc7ab09]{background:var(--color-primary);color:#fff}.view-button svg[data-v-1dc7ab09]{width:16px;height:16px}.filter-group[data-v-1dc7ab09]{display:flex;align-items:center;gap:8px}.filter-group svg[data-v-1dc7ab09]{color:var(--color-text-tertiary)}.filter-group label[data-v-1dc7ab09]{font-size:13px;color:var(--color-text-secondary);font-weight:500}.filter-input[data-v-1dc7ab09]{padding:8px 12px;background:var(--color-bg-primary);border:1px solid var(--color-border-secondary);border-radius:var(--border-radius-sm);color:var(--color-text-primary);font-size:13px;min-width:200px}.filter-select[data-v-1dc7ab09]{padding:8px 12px;background:var(--color-bg-primary);border:1px solid var(--color-border-secondary);border-radius:var(--border-radius-sm);color:var(--color-text-primary);font-size:13px;cursor:pointer}.spacer[data-v-1dc7ab09]{flex:1}.btn-filter-action[data-v-1dc7ab09]{padding:8px;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-sm);color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-filter-action[data-v-1dc7ab09]:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.view-content[data-v-1dc7ab09]{flex:1;overflow:hidden;display:flex;flex-direction:column}.stats-grid[data-v-3c28486f]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-bottom:32px}.stat-card[data-v-3c28486f]{background:var(--color-bg-primary);border-radius:var(--border-radius-lg);padding:24px;display:flex;gap:16px;box-shadow:var(--shadow-sm);transition:all .3s;border:1px solid var(--color-border-primary)}.stat-icon[data-v-3c28486f]{width:48px;height:48px;border-radius:var(--border-radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon svg[data-v-3c28486f]{width:24px;height:24px}.stat-info[data-v-3c28486f]{display:flex;flex-direction:column;gap:4px}.stat-label[data-v-3c28486f]{font-size:14px;color:var(--color-text-secondary);font-weight:500}.stat-change[data-v-3c28486f]{font-size:12px;color:var(--color-text-tertiary)}.filters-bar[data-v-3c28486f]{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-secondary);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-md);flex-wrap:wrap}.filter-group[data-v-3c28486f]{display:flex;align-items:center;gap:var(--spacing-sm);position:relative}.filter-group.search-group[data-v-3c28486f]{flex:1;max-width:500px}.filter-group label[data-v-3c28486f]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);white-space:nowrap}.filter-input[data-v-3c28486f]{padding:6px 12px 6px 36px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);width:100%;transition:all var(--transition-fast);min-width:300px}.filter-group:has(.filter-input) svg[data-v-3c28486f]{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--color-text-tertiary);pointer-events:none;z-index:1}.filter-input[data-v-3c28486f]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.filter-select[data-v-3c28486f]{padding:6px 32px 6px 12px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);cursor:pointer;transition:all var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23718096' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.filter-select[data-v-3c28486f]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.btn-filter-action[data-v-3c28486f]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);cursor:pointer;color:var(--color-text-tertiary);transition:all var(--transition-fast);flex-shrink:0}.btn-filter-action[data-v-3c28486f]:hover{background:var(--color-surface-hover);color:var(--color-text-primary);border-color:var(--color-border-secondary)}.filters-bar .btn-add-icon[data-v-3c28486f]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin-left:auto;background:var(--color-primary);color:#fff;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.filters-bar .btn-add-icon[data-v-3c28486f]:hover{background:#5a6fd8;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.priority-badge[data-v-3c28486f]{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:capitalize}.priority-low[data-v-3c28486f]{background:#d1fae5;color:#10b981}.priority-medium[data-v-3c28486f]{background:#fef3c7;color:#f59e0b}.priority-high[data-v-3c28486f]{background:#fecaca;color:#ef4444}.priority-critical[data-v-3c28486f]{background:#fee2e2;color:#dc2626}.status-badge[data-v-3c28486f]{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:capitalize}.status-active[data-v-3c28486f]{background:#d1fae5;color:#10b981}.status-inactive[data-v-3c28486f]{background:#e5e7eb;color:#6b7280}.status-failed[data-v-3c28486f]{background:#fecaca;color:#ef4444}.status-running[data-v-3c28486f]{background:#dbeafe;color:#3b82f6}.status-completed[data-v-3c28486f]{background:#d1fae5;color:#10b981}.actions[data-v-3c28486f]{display:flex;gap:8px}.btn-action[data-v-3c28486f]{padding:6px;background:none;border:1px solid var(--color-border-primary);border-radius:var(--border-radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:all .2s}.btn-action svg[data-v-3c28486f]{width:16px;height:16px}.btn-action[data-v-3c28486f]:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.btn-action[data-v-3c28486f]:disabled{opacity:.5;cursor:not-allowed}.btn-run[data-v-3c28486f]:hover:not(:disabled){border-color:#3b82f6;color:#3b82f6}.btn-toggle[data-v-3c28486f]:hover{border-color:#f59e0b;color:#f59e0b}.btn-edit[data-v-3c28486f]:hover{border-color:#10b981;color:#10b981}.btn-delete[data-v-3c28486f]:hover{border-color:#ef4444;color:#ef4444}.empty-state[data-v-3c28486f]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#9ca3af;text-align:center}.empty-state svg[data-v-3c28486f]{margin-bottom:16px}.empty-state p[data-v-3c28486f]{font-size:16px;font-weight:500}.empty-icon[data-v-3c28486f]{width:64px;height:64px;color:var(--color-text-tertiary);margin-bottom:16px}.empty-title[data-v-3c28486f]{font-size:20px;font-weight:600;color:var(--color-text-primary);margin:0 0 8px}.empty-subtitle[data-v-3c28486f]{font-size:14px;color:var(--color-text-secondary);margin:0 0 24px}.btn-primary[data-v-3c28486f]{display:flex;align-items:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:var(--border-radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #3b82f633}.btn-primary[data-v-3c28486f]:hover{box-shadow:0 4px 12px #3b82f64d;transform:translateY(-2px)}.btn-icon[data-v-3c28486f]{width:16px;height:16px}.task-type[data-v-3c28486f]{text-transform:capitalize;font-weight:500}.frequency[data-v-3c28486f]{text-transform:capitalize}.datetime[data-v-3c28486f]{font-size:13px;color:var(--color-text-secondary)}.last-run[data-v-3c28486f]{display:flex;flex-direction:column;gap:4px}.placeholder-content[data-v-3c28486f]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:60px 20px;color:var(--color-text-tertiary)}.placeholder-content svg[data-v-3c28486f]{width:80px;height:80px;margin-bottom:24px;opacity:.5}.placeholder-content h3[data-v-3c28486f]{font-size:20px;font-weight:600;color:var(--color-text-secondary);margin:0 0 12px}.placeholder-content p[data-v-3c28486f]{font-size:14px;color:var(--color-text-tertiary);margin:0;text-align:center;max-width:400px}.history-content[data-v-3c28486f]{display:flex;flex-direction:column;gap:var(--spacing-lg);height:100%}.history-table[data-v-3c28486f]{flex:1;overflow:auto;border-radius:var(--border-radius-lg)}.stats-summary[data-v-3c28486f]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.stat-card[data-v-3c28486f]{background:var(--color-bg-primary);border-radius:var(--border-radius-lg);padding:20px;display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadow-sm);transition:all .3s;border:1px solid var(--color-border-primary)}.stat-card[data-v-3c28486f]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);background:var(--color-bg-tertiary)}.stat-label[data-v-3c28486f]{font-size:12px;color:var(--color-text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.stat-value[data-v-3c28486f]{font-size:32px;font-weight:700;color:var(--color-text-primary);line-height:1}.stat-success[data-v-3c28486f]{color:#10b981}.stat-failed[data-v-3c28486f]{color:#ef4444}.stat-running[data-v-3c28486f]{color:#3b82f6}.schedule-name[data-v-3c28486f]{font-weight:500;color:var(--color-text-primary)}.duration[data-v-3c28486f]{font-size:13px;color:var(--color-text-secondary)}.status-pending[data-v-3c28486f]{background:#fef3c7;color:#f59e0b}.status-cancelled[data-v-3c28486f]{background:#e5e7eb;color:#6b7280}.error-message[data-v-3c28486f]{font-size:12px;color:#ef4444;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.no-error[data-v-3c28486f],.no-data[data-v-3c28486f]{color:var(--color-text-tertiary)}.date-input[data-v-3c28486f]{max-width:150px;padding:6px 12px}.stats-grid[data-v-a025ff7c]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-bottom:32px}.stat-card[data-v-a025ff7c]{background:var(--color-bg-primary);border-radius:var(--border-radius-lg);padding:24px;display:flex;gap:16px;box-shadow:var(--shadow-sm);transition:all .3s;border:1px solid var(--color-border-primary)}.stat-card[data-v-a025ff7c]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);background:var(--color-bg-tertiary)}.stat-icon[data-v-a025ff7c]{width:48px;height:48px;border-radius:var(--border-radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon svg[data-v-a025ff7c]{width:24px;height:24px}.stat-info[data-v-a025ff7c]{display:flex;flex-direction:column;gap:4px}.stat-label[data-v-a025ff7c]{font-size:14px;color:var(--color-text-secondary);font-weight:500}.stat-value[data-v-a025ff7c]{font-size:32px;font-weight:700;color:var(--color-text-primary);line-height:1}.stat-change[data-v-a025ff7c]{font-size:12px;color:var(--color-text-tertiary)}.filters-bar[data-v-a025ff7c]{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-secondary);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-md);flex-wrap:wrap}.filter-group[data-v-a025ff7c]{display:flex;align-items:center;gap:var(--spacing-sm);position:relative}.filter-group.search-group[data-v-a025ff7c]{flex:1;max-width:500px}.filter-group label[data-v-a025ff7c]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);white-space:nowrap}.filter-input[data-v-a025ff7c]{padding:6px 12px 6px 36px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);width:100%;transition:all var(--transition-fast);min-width:300px}.filter-group:has(.filter-input) svg[data-v-a025ff7c]{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--color-text-tertiary);pointer-events:none;z-index:1}.filter-input[data-v-a025ff7c]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.filter-select[data-v-a025ff7c]{padding:6px 32px 6px 12px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);cursor:pointer;transition:all var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23718096' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.filter-select[data-v-a025ff7c]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.btn-filter-action[data-v-a025ff7c]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);cursor:pointer;color:var(--color-text-tertiary);transition:all var(--transition-fast);flex-shrink:0}.btn-filter-action[data-v-a025ff7c]:hover{background:var(--color-surface-hover);color:var(--color-text-primary);border-color:var(--color-border-secondary)}.filters-bar .btn-add-icon[data-v-a025ff7c]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin-left:auto;background:var(--color-primary);color:#fff;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.filters-bar .btn-add-icon[data-v-a025ff7c]:hover{background:#5a6fd8;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.priority-badge[data-v-a025ff7c]{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:capitalize}.priority-low[data-v-a025ff7c]{background:#d1fae5;color:#10b981}.priority-medium[data-v-a025ff7c]{background:#fef3c7;color:#f59e0b}.priority-high[data-v-a025ff7c]{background:#fecaca;color:#ef4444}.priority-critical[data-v-a025ff7c]{background:#fee2e2;color:#dc2626}.status-badge[data-v-a025ff7c]{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:capitalize}.status-active[data-v-a025ff7c]{background:#d1fae5;color:#10b981}.status-inactive[data-v-a025ff7c]{background:#e5e7eb;color:#6b7280}.status-failed[data-v-a025ff7c]{background:#fecaca;color:#ef4444}.status-running[data-v-a025ff7c]{background:#dbeafe;color:#3b82f6}.status-completed[data-v-a025ff7c]{background:#d1fae5;color:#10b981}.actions[data-v-a025ff7c]{display:flex;gap:8px}.btn-action[data-v-a025ff7c]{padding:6px;background:none;border:1px solid var(--color-border-primary);border-radius:var(--border-radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:all .2s}.btn-action svg[data-v-a025ff7c]{width:16px;height:16px}.btn-action[data-v-a025ff7c]:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.btn-action[data-v-a025ff7c]:disabled{opacity:.5;cursor:not-allowed}.btn-run[data-v-a025ff7c]:hover:not(:disabled){border-color:#3b82f6;color:#3b82f6}.btn-toggle[data-v-a025ff7c]:hover{border-color:#f59e0b;color:#f59e0b}.btn-edit[data-v-a025ff7c]:hover{border-color:#10b981;color:#10b981}.btn-delete[data-v-a025ff7c]:hover{border-color:#ef4444;color:#ef4444}.empty-state[data-v-a025ff7c]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#9ca3af;text-align:center}.empty-state svg[data-v-a025ff7c]{margin-bottom:16px}.empty-state p[data-v-a025ff7c]{font-size:16px;font-weight:500}.empty-icon[data-v-a025ff7c]{width:64px;height:64px;color:var(--color-text-tertiary);margin-bottom:16px}.empty-title[data-v-a025ff7c]{font-size:20px;font-weight:600;color:var(--color-text-primary);margin:0 0 8px}.empty-subtitle[data-v-a025ff7c]{font-size:14px;color:var(--color-text-secondary);margin:0 0 24px}.btn-primary[data-v-a025ff7c]{display:flex;align-items:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:var(--border-radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #3b82f633}.btn-primary[data-v-a025ff7c]:hover{box-shadow:0 4px 12px #3b82f64d;transform:translateY(-2px)}.btn-icon[data-v-a025ff7c]{width:16px;height:16px}.task-type[data-v-a025ff7c]{text-transform:capitalize;font-weight:500}.frequency[data-v-a025ff7c]{text-transform:capitalize}.datetime[data-v-a025ff7c]{font-size:13px;color:var(--color-text-secondary)}.last-run[data-v-a025ff7c]{display:flex;flex-direction:column;gap:4px}.placeholder-content[data-v-a025ff7c]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:60px 20px;color:var(--color-text-tertiary)}.placeholder-content svg[data-v-a025ff7c]{width:80px;height:80px;margin-bottom:24px;opacity:.5}.placeholder-content h3[data-v-a025ff7c]{font-size:20px;font-weight:600;color:var(--color-text-secondary);margin:0 0 12px}.placeholder-content p[data-v-a025ff7c]{font-size:14px;color:var(--color-text-tertiary);margin:0;text-align:center;max-width:400px}.schedule-page[data-v-a025ff7c]{width:100%;height:100%;padding:0;background:var(--color-bg-primary)}.page-card[data-v-a025ff7c]{width:100%;height:100%;background:var(--color-surface);border-radius:8px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;overflow:hidden}.page-header[data-v-a025ff7c]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border-primary)}.header-content h1[data-v-a025ff7c]{font-size:24px;font-weight:700;color:var(--color-text-primary);margin:0 0 4px}.subtitle[data-v-a025ff7c]{font-size:14px;color:var(--color-text-tertiary);margin:0}.tabs[data-v-a025ff7c]{display:flex;gap:var(--spacing-xs);padding:0 var(--spacing-lg);border-bottom:var(--border-width) solid var(--color-border-primary);background:var(--color-bg-secondary)}.tab[data-v-a025ff7c]{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;flex-shrink:0}.tab[data-v-a025ff7c]:hover{color:var(--color-text-primary);background:var(--color-surface-hover)}.tab.active[data-v-a025ff7c]{color:var(--color-primary);border-bottom-color:var(--color-primary);background:var(--color-surface)}.tab-content[data-v-a025ff7c]{flex:1;overflow:auto;padding:0}.tab-section[data-v-a025ff7c]{display:flex;flex-direction:column;gap:var(--spacing-lg);height:100%;padding:var(--spacing-lg)}.stats-grid[data-v-724c0db9]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-bottom:32px}.stat-card[data-v-724c0db9]{background:var(--color-bg-primary);border-radius:var(--border-radius-lg);padding:24px;display:flex;gap:16px;box-shadow:var(--shadow-sm);transition:all .3s;border:1px solid var(--color-border-primary)}.stat-card[data-v-724c0db9]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);background:var(--color-bg-tertiary)}.stat-icon[data-v-724c0db9]{width:48px;height:48px;border-radius:var(--border-radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon svg[data-v-724c0db9]{width:24px;height:24px}.stat-info[data-v-724c0db9]{display:flex;flex-direction:column;gap:4px}.stat-label[data-v-724c0db9]{font-size:14px;color:var(--color-text-secondary);font-weight:500}.stat-value[data-v-724c0db9]{font-size:32px;font-weight:700;color:var(--color-text-primary);line-height:1}.stat-change[data-v-724c0db9]{font-size:12px;color:var(--color-text-tertiary)}.filters-bar[data-v-724c0db9]{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-secondary);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-md);flex-wrap:wrap}.filter-group[data-v-724c0db9]{display:flex;align-items:center;gap:var(--spacing-sm);position:relative}.filter-group.search-group[data-v-724c0db9]{flex:1;max-width:500px}.filter-group label[data-v-724c0db9]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);white-space:nowrap}.filter-input[data-v-724c0db9]{padding:6px 12px 6px 36px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);width:100%;transition:all var(--transition-fast);min-width:300px}.filter-group:has(.filter-input) svg[data-v-724c0db9]{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--color-text-tertiary);pointer-events:none;z-index:1}.filter-input[data-v-724c0db9]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.filter-select[data-v-724c0db9]{padding:6px 32px 6px 12px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);cursor:pointer;transition:all var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23718096' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.filter-select[data-v-724c0db9]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.btn-filter-action[data-v-724c0db9]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);cursor:pointer;color:var(--color-text-tertiary);transition:all var(--transition-fast);flex-shrink:0}.btn-filter-action[data-v-724c0db9]:hover{background:var(--color-surface-hover);color:var(--color-text-primary);border-color:var(--color-border-secondary)}.filters-bar .btn-add-icon[data-v-724c0db9]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin-left:auto;background:var(--color-primary);color:#fff;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.filters-bar .btn-add-icon[data-v-724c0db9]:hover{background:#5a6fd8;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.priority-badge[data-v-724c0db9]{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:capitalize}.priority-low[data-v-724c0db9]{background:#d1fae5;color:#10b981}.priority-medium[data-v-724c0db9]{background:#fef3c7;color:#f59e0b}.priority-high[data-v-724c0db9]{background:#fecaca;color:#ef4444}.priority-critical[data-v-724c0db9]{background:#fee2e2;color:#dc2626}.status-badge[data-v-724c0db9]{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:capitalize}.status-active[data-v-724c0db9]{background:#d1fae5;color:#10b981}.status-inactive[data-v-724c0db9]{background:#e5e7eb;color:#6b7280}.status-success[data-v-724c0db9]{background:#d1fae5;color:#10b981}.status-failed[data-v-724c0db9]{background:#fecaca;color:#ef4444}.status-partial[data-v-724c0db9]{background:#fef3c7;color:#f59e0b}.actions[data-v-724c0db9]{display:flex;gap:8px}.btn-action[data-v-724c0db9]{padding:6px;background:none;border:1px solid var(--color-border-primary);border-radius:var(--border-radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:all .2s}.btn-action svg[data-v-724c0db9]{width:16px;height:16px}.btn-action[data-v-724c0db9]:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.btn-action[data-v-724c0db9]:disabled{opacity:.5;cursor:not-allowed}.btn-trigger[data-v-724c0db9]:hover:not(:disabled){border-color:#3b82f6;color:#3b82f6}.btn-toggle[data-v-724c0db9]:hover{border-color:#f59e0b;color:#f59e0b}.btn-edit[data-v-724c0db9]:hover{border-color:#10b981;color:#10b981}.btn-delete[data-v-724c0db9]:hover{border-color:#ef4444;color:#ef4444}.empty-state[data-v-724c0db9]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#9ca3af;text-align:center}.empty-state svg[data-v-724c0db9]{margin-bottom:16px}.empty-state p[data-v-724c0db9]{font-size:16px;font-weight:500}.empty-icon[data-v-724c0db9]{width:64px;height:64px;color:var(--color-text-tertiary);margin-bottom:16px}.empty-title[data-v-724c0db9]{font-size:20px;font-weight:600;color:var(--color-text-primary);margin:0 0 8px}.empty-subtitle[data-v-724c0db9]{font-size:14px;color:var(--color-text-secondary);margin:0 0 24px}.btn-primary[data-v-724c0db9]{display:flex;align-items:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:var(--border-radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #3b82f633}.btn-primary[data-v-724c0db9]:hover{box-shadow:0 4px 12px #3b82f64d;transform:translateY(-2px)}.btn-icon[data-v-724c0db9]{width:16px;height:16px}.datetime[data-v-724c0db9]{font-size:13px;color:var(--color-text-secondary)}.trigger-count[data-v-724c0db9]{font-size:13px;color:var(--color-text-secondary);font-weight:500}.placeholder-content[data-v-724c0db9]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:60px 20px;color:var(--color-text-tertiary)}.placeholder-content svg[data-v-724c0db9]{width:80px;height:80px;margin-bottom:24px;opacity:.5}.placeholder-content h3[data-v-724c0db9]{font-size:20px;font-weight:600;color:var(--color-text-secondary);margin:0 0 12px}.placeholder-content p[data-v-724c0db9]{font-size:14px;color:var(--color-text-tertiary);margin:0;text-align:center;max-width:400px}.overview-content[data-v-724c0db9]{display:flex;flex-direction:column;gap:32px}.quick-overview h3[data-v-724c0db9]{font-size:18px;font-weight:600;color:var(--color-text-primary);margin:0 0 8px}.quick-overview>p[data-v-724c0db9]{font-size:14px;color:var(--color-text-secondary);margin:0 0 24px;line-height:1.6}.overview-cards[data-v-724c0db9]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.overview-card[data-v-724c0db9]{display:flex;gap:16px;padding:20px;background:var(--color-surface);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-md);transition:all var(--transition-fast)}.overview-card[data-v-724c0db9]:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.overview-icon[data-v-724c0db9]{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--color-primary-light);color:var(--color-primary);border-radius:var(--border-radius-md)}.overview-info h4[data-v-724c0db9]{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0 0 8px}.overview-info p[data-v-724c0db9]{font-size:13px;color:var(--color-text-tertiary);margin:0;line-height:1.5}.modal-overlay[data-v-301314c5]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-container[data-v-301314c5]{background:#1e1e1e;border:1px solid #333;border-radius:8px;width:100%;max-width:1000px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080}.modal-header[data-v-301314c5]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #333;background:#252525}.modal-header h2[data-v-301314c5]{margin:0;font-size:20px;font-weight:600;color:#f0f0f0}.btn-close[data-v-301314c5]{background:none;border:none;color:#999;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.btn-close[data-v-301314c5]:hover{background:#333;color:#fff}.btn-close svg[data-v-301314c5]{width:20px;height:20px}.tabs-header[data-v-301314c5]{display:flex;border-bottom:1px solid #333;background:#252525;padding:0 24px}.tab-button[data-v-301314c5]{padding:12px 20px;border:none;background:none;color:#999;font-size:14px;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s}.tab-button[data-v-301314c5]:hover{color:#fff}.tab-button.active[data-v-301314c5]{color:#fff;border-bottom-color:var(--color-primary, #3b82f6)}.modal-body[data-v-301314c5]{flex:1;overflow-y:auto;padding:24px;background:#1e1e1e}.tab-content[data-v-301314c5]{display:flex;flex-direction:column;gap:20px}.tab-header[data-v-301314c5]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.tab-description[data-v-301314c5]{margin:0;color:#999;font-size:14px}.form-group[data-v-301314c5]{margin-bottom:16px}.form-group label[data-v-301314c5]{display:block;margin-bottom:6px;font-size:14px;font-weight:500;color:#e0e0e0}.form-control[data-v-301314c5]{width:100%;padding:8px 12px;border:1px solid #444;border-radius:4px;background:#2a2a2a;color:#e0e0e0;font-size:14px;transition:all .2s}.form-control[data-v-301314c5]:focus{outline:none;border-color:var(--color-primary, #3b82f6)}.form-control.error[data-v-301314c5]{border-color:#ef4444}.form-row[data-v-301314c5]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.required[data-v-301314c5]{color:#ef4444}.error-message[data-v-301314c5]{display:block;margin-top:4px;font-size:13px;color:#ef4444}.mb-3[data-v-301314c5]{margin-bottom:12px}.checkbox-label[data-v-301314c5]{display:flex;align-items:center;gap:8px;cursor:pointer}.checkbox-label input[type=checkbox][data-v-301314c5]{cursor:pointer}.builder-form[data-v-301314c5]{padding:20px;background:#252525;border:1px solid #333;border-radius:6px;margin-bottom:20px}.events-grid[data-v-301314c5],.actions-grid[data-v-301314c5]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-top:16px}.event-card[data-v-301314c5],.action-card[data-v-301314c5]{padding:16px;border:1px solid #444;border-radius:6px;background:#2a2a2a;cursor:pointer;text-align:left;transition:all .2s}.event-card[data-v-301314c5]:hover,.action-card[data-v-301314c5]:hover{border-color:var(--color-primary, #3b82f6);background:#333;transform:translateY(-2px)}.event-card-header[data-v-301314c5],.action-card-header[data-v-301314c5]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.event-card-name[data-v-301314c5],.action-card-name[data-v-301314c5]{font-size:14px;font-weight:600;color:#f0f0f0}.severity-badge[data-v-301314c5],.action-type-badge[data-v-301314c5]{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.severity-badge.info[data-v-301314c5],.severity-badge.low[data-v-301314c5]{background:#3b82f6;color:#fff}.severity-badge.warning[data-v-301314c5],.severity-badge.medium[data-v-301314c5]{background:#f59e0b;color:#fff}.severity-badge.error[data-v-301314c5],.severity-badge.high[data-v-301314c5],.severity-badge.critical[data-v-301314c5]{background:#ef4444;color:#fff}.action-type-badge[data-v-301314c5]{background:#8b5cf6;color:#fff}.event-card-code[data-v-301314c5],.action-card-code[data-v-301314c5]{font-size:12px;color:#999;font-family:Courier New,monospace;margin-bottom:8px}.event-card-description[data-v-301314c5],.action-card-description[data-v-301314c5]{margin:0;font-size:13px;color:#ccc;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.empty-message[data-v-301314c5]{padding:40px;text-align:center;color:#999;font-size:14px;grid-column:1 / -1}.loading-message[data-v-301314c5]{padding:40px;text-align:center;color:#66b3ff;font-size:14px;grid-column:1 / -1;font-style:italic}.table-section[data-v-301314c5]{margin-top:20px}.action-buttons[data-v-301314c5]{display:flex;align-items:center;gap:4px}.btn-action[data-v-301314c5]{padding:6px;background:#2a2a2a;border:1px solid #444;border-radius:4px;cursor:pointer;color:#e0e0e0;transition:all .2s;display:flex;align-items:center;justify-content:center}.btn-action[data-v-301314c5]:hover:not(:disabled){background:#333;border-color:var(--color-primary, #3b82f6)}.btn-action[data-v-301314c5]:disabled{opacity:.3;cursor:not-allowed}.btn-action svg[data-v-301314c5]{width:16px;height:16px}.payload-form[data-v-301314c5]{background:#252525;border:1px solid #333;border-radius:8px;padding:20px;margin-top:20px}.payload-header[data-v-301314c5]{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #333}.payload-header h4[data-v-301314c5]{margin:0 0 8px;font-size:16px;font-weight:600;color:#f0f0f0}.payload-description[data-v-301314c5]{margin:0;font-size:13px;color:#999}.payload-fields[data-v-301314c5]{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.payload-fields .form-group[data-v-301314c5]{margin:0}.section-label[data-v-301314c5]{display:block;margin-bottom:12px;font-size:14px;font-weight:600;color:#e0e0e0}.payload-entry[data-v-301314c5]{margin-bottom:12px}.payload-entry-fields[data-v-301314c5]{display:flex;gap:8px;align-items:flex-start}.payload-entry-fields .form-group[data-v-301314c5]{flex:0 0 auto}.payload-entry-fields .form-group[data-v-301314c5]:first-child{flex:1 1 200px;min-width:150px}.payload-entry-fields .type-select[data-v-301314c5]{width:110px}.payload-entry-fields .flex-grow[data-v-301314c5]{flex:2 1 250px;min-width:150px}.btn-icon[data-v-301314c5]{background:none;border:1px solid #444;border-radius:4px;padding:8px;cursor:pointer;color:#e0e0e0;transition:all .2s;display:flex;align-items:center;justify-content:center;height:38px;width:38px}.btn-icon[data-v-301314c5]:hover{background:#333;border-color:#666}.btn-delete-entry[data-v-301314c5]{color:#ef4444;border-color:#ef4444}.btn-delete-entry[data-v-301314c5]:hover{background:#ef44441a;border-color:#ef4444}.btn-icon svg[data-v-301314c5]{width:16px;height:16px}.btn-add-entry[data-v-301314c5]{display:flex;align-items:center;gap:6px;font-size:13px;padding:8px 16px}.btn-add-entry svg[data-v-301314c5]{flex-shrink:0}.payload-actions[data-v-301314c5]{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid #333}.payload-display[data-v-301314c5]{max-width:200px}.payload-code[data-v-301314c5]{display:block;font-family:Courier New,monospace;font-size:11px;color:#66b3ff;background:#1a1a1a;padding:4px 8px;border-radius:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty-payload[data-v-301314c5]{color:#666;font-style:italic}.btn-move[data-v-301314c5]{font-size:14px;font-weight:700}.btn-edit[data-v-301314c5]{color:#3b82f6}.btn-edit[data-v-301314c5]:hover:not(:disabled){border-color:#3b82f6}.btn-delete[data-v-301314c5]{color:#ef4444}.btn-delete[data-v-301314c5]:hover:not(:disabled){background:#ef44441a;border-color:#ef4444}.modal-footer[data-v-301314c5]{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #333;background:#252525}.btn[data-v-301314c5]{padding:8px 16px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:6px}.btn-primary[data-v-301314c5]{background:var(--color-primary, #3b82f6);color:#fff}.btn-primary[data-v-301314c5]:hover:not(:disabled){background:var(--color-primary-dark, #2563eb)}.btn-primary svg[data-v-301314c5]{width:16px;height:16px}.btn-secondary[data-v-301314c5]{background:#2a2a2a;color:#e0e0e0;border:1px solid #444}.btn-secondary[data-v-301314c5]:hover:not(:disabled){background:#333;border-color:#555}.btn[data-v-301314c5]:disabled{opacity:.6;cursor:not-allowed}.scene-details[data-v-32fa9f72]{padding:24px;background:var(--color-bg-secondary);border-top:1px solid var(--color-border-primary)}.details-section[data-v-32fa9f72]{margin-bottom:24px}.details-section[data-v-32fa9f72]:last-child{margin-bottom:0}.section-title[data-v-32fa9f72]{font-size:14px;font-weight:600;color:var(--color-text-primary);margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px}.details-grid[data-v-32fa9f72]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.detail-item[data-v-32fa9f72]{display:flex;flex-direction:column;gap:4px}.detail-label[data-v-32fa9f72]{font-size:12px;color:var(--color-text-secondary);font-weight:500}.detail-value[data-v-32fa9f72]{font-size:14px;color:var(--color-text-primary);font-weight:500}.conditions-list[data-v-32fa9f72]{display:flex;flex-direction:column;gap:12px}.condition-item[data-v-32fa9f72]{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-md);padding:12px}.condition-header[data-v-32fa9f72]{display:flex;align-items:center;gap:8px;margin-bottom:8px}.condition-index[data-v-32fa9f72]{background:var(--color-primary);color:#fff;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600}.condition-name[data-v-32fa9f72]{font-size:14px;font-weight:600;color:var(--color-text-primary)}.condition-details[data-v-32fa9f72]{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:8px}.condition-meta[data-v-32fa9f72]{font-size:12px;color:var(--color-text-secondary)}.condition-meta strong[data-v-32fa9f72]{color:var(--color-text-primary)}.condition-params[data-v-32fa9f72]{font-size:12px;color:var(--color-text-secondary);margin-top:8px}.condition-params code[data-v-32fa9f72]{display:block;margin-top:4px;padding:8px;background:var(--color-bg-secondary);border-radius:4px;font-family:monospace;font-size:11px;overflow-x:auto}.actions-list[data-v-32fa9f72]{display:flex;flex-direction:column;gap:12px}.action-item[data-v-32fa9f72]{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-md);padding:12px}.action-header[data-v-32fa9f72]{display:flex;align-items:center;gap:8px;margin-bottom:8px}.action-order[data-v-32fa9f72]{background:#f59e0b;color:#fff;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600}.action-name[data-v-32fa9f72]{font-size:14px;font-weight:600;color:var(--color-text-primary)}.action-details[data-v-32fa9f72]{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:8px}.action-meta[data-v-32fa9f72]{font-size:12px;color:var(--color-text-secondary)}.action-meta strong[data-v-32fa9f72]{color:var(--color-text-primary)}.action-payload[data-v-32fa9f72]{font-size:12px;color:var(--color-text-secondary);margin-top:8px}.action-payload code[data-v-32fa9f72]{display:block;margin-top:4px;padding:8px;background:var(--color-bg-secondary);border-radius:4px;font-family:monospace;font-size:11px;overflow-x:auto}.empty-list[data-v-32fa9f72]{padding:16px;text-align:center;color:var(--color-text-tertiary);font-size:13px;font-style:italic}.stats-grid[data-v-c8257d87]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-bottom:32px}.stat-card[data-v-c8257d87]{background:var(--color-bg-primary);border-radius:var(--border-radius-lg);padding:24px;display:flex;gap:16px;box-shadow:var(--shadow-sm);transition:all .3s;border:1px solid var(--color-border-primary)}.stat-card[data-v-c8257d87]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);background:var(--color-bg-tertiary)}.stat-icon[data-v-c8257d87]{width:48px;height:48px;border-radius:var(--border-radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon svg[data-v-c8257d87]{width:24px;height:24px}.stat-info[data-v-c8257d87]{display:flex;flex-direction:column;gap:4px}.stat-label[data-v-c8257d87]{font-size:14px;color:var(--color-text-secondary);font-weight:500}.stat-value[data-v-c8257d87]{font-size:32px;font-weight:700;color:var(--color-text-primary);line-height:1}.stat-change[data-v-c8257d87]{font-size:12px;color:var(--color-text-tertiary)}.filters-bar[data-v-c8257d87]{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-secondary);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-md);flex-wrap:wrap}.filter-group[data-v-c8257d87]{display:flex;align-items:center;gap:var(--spacing-sm);position:relative}.filter-group.search-group[data-v-c8257d87]{flex:1;max-width:500px}.filter-group label[data-v-c8257d87]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);white-space:nowrap}.filter-input[data-v-c8257d87]{padding:6px 12px 6px 36px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);width:100%;transition:all var(--transition-fast);min-width:300px}.filter-group:has(.filter-input) svg[data-v-c8257d87]{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--color-text-tertiary);pointer-events:none;z-index:1}.filter-input[data-v-c8257d87]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.filter-select[data-v-c8257d87]{padding:6px 32px 6px 12px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);cursor:pointer;transition:all var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23718096' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.filter-select[data-v-c8257d87]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.btn-filter-action[data-v-c8257d87]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);cursor:pointer;color:var(--color-text-tertiary);transition:all var(--transition-fast);flex-shrink:0}.btn-filter-action[data-v-c8257d87]:hover{background:var(--color-surface-hover);color:var(--color-text-primary);border-color:var(--color-border-secondary)}.filters-bar .btn-add-icon[data-v-c8257d87]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin-left:auto;background:var(--color-primary);color:#fff;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.filters-bar .btn-add-icon[data-v-c8257d87]:hover{background:#5a6fd8;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.priority-badge[data-v-c8257d87]{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:capitalize}.priority-low[data-v-c8257d87]{background:#d1fae5;color:#10b981}.priority-medium[data-v-c8257d87]{background:#fef3c7;color:#f59e0b}.priority-high[data-v-c8257d87]{background:#fecaca;color:#ef4444}.priority-critical[data-v-c8257d87]{background:#fee2e2;color:#dc2626}.status-badge[data-v-c8257d87]{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:capitalize}.status-active[data-v-c8257d87]{background:#d1fae5;color:#10b981}.status-inactive[data-v-c8257d87]{background:#e5e7eb;color:#6b7280}.status-success[data-v-c8257d87]{background:#d1fae5;color:#10b981}.status-failed[data-v-c8257d87]{background:#fecaca;color:#ef4444}.status-partial[data-v-c8257d87]{background:#fef3c7;color:#f59e0b}.actions[data-v-c8257d87]{display:flex;gap:8px}.btn-action[data-v-c8257d87]{padding:6px;background:none;border:1px solid var(--color-border-primary);border-radius:var(--border-radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:all .2s}.btn-action svg[data-v-c8257d87]{width:16px;height:16px}.btn-action[data-v-c8257d87]:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.btn-action[data-v-c8257d87]:disabled{opacity:.5;cursor:not-allowed}.btn-trigger[data-v-c8257d87]:hover:not(:disabled){border-color:#3b82f6;color:#3b82f6}.btn-toggle[data-v-c8257d87]:hover{border-color:#f59e0b;color:#f59e0b}.btn-edit[data-v-c8257d87]:hover{border-color:#10b981;color:#10b981}.btn-delete[data-v-c8257d87]:hover{border-color:#ef4444;color:#ef4444}.empty-state[data-v-c8257d87]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#9ca3af;text-align:center}.empty-state svg[data-v-c8257d87]{margin-bottom:16px}.empty-state p[data-v-c8257d87]{font-size:16px;font-weight:500}.empty-icon[data-v-c8257d87]{width:64px;height:64px;color:var(--color-text-tertiary);margin-bottom:16px}.empty-title[data-v-c8257d87]{font-size:20px;font-weight:600;color:var(--color-text-primary);margin:0 0 8px}.empty-subtitle[data-v-c8257d87]{font-size:14px;color:var(--color-text-secondary);margin:0 0 24px}.btn-primary[data-v-c8257d87]{display:flex;align-items:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:var(--border-radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #3b82f633}.btn-primary[data-v-c8257d87]:hover{box-shadow:0 4px 12px #3b82f64d;transform:translateY(-2px)}.btn-icon[data-v-c8257d87]{width:16px;height:16px}.datetime[data-v-c8257d87]{font-size:13px;color:var(--color-text-secondary)}.trigger-count[data-v-c8257d87]{font-size:13px;color:var(--color-text-secondary);font-weight:500}.placeholder-content[data-v-c8257d87]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:60px 20px;color:var(--color-text-tertiary)}.placeholder-content svg[data-v-c8257d87]{width:80px;height:80px;margin-bottom:24px;opacity:.5}.placeholder-content h3[data-v-c8257d87]{font-size:20px;font-weight:600;color:var(--color-text-secondary);margin:0 0 12px}.placeholder-content p[data-v-c8257d87]{font-size:14px;color:var(--color-text-tertiary);margin:0;text-align:center;max-width:400px}.scenes-content[data-v-c8257d87]{display:flex;flex-direction:column;gap:var(--spacing-lg);height:100%}.scenes-table[data-v-c8257d87]{flex:1;overflow:auto;border-radius:var(--border-radius-lg)}.description-text[data-v-c8257d87]{font-size:13px;color:var(--color-text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.stats-grid[data-v-d988c634]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-bottom:32px}.stat-card[data-v-d988c634]{background:var(--color-bg-primary);border-radius:var(--border-radius-lg);padding:24px;display:flex;gap:16px;box-shadow:var(--shadow-sm);transition:all .3s;border:1px solid var(--color-border-primary)}.stat-icon[data-v-d988c634]{width:48px;height:48px;border-radius:var(--border-radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon svg[data-v-d988c634]{width:24px;height:24px}.stat-info[data-v-d988c634]{display:flex;flex-direction:column;gap:4px}.stat-label[data-v-d988c634]{font-size:14px;color:var(--color-text-secondary);font-weight:500}.stat-change[data-v-d988c634]{font-size:12px;color:var(--color-text-tertiary)}.filters-bar[data-v-d988c634]{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-secondary);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-md);flex-wrap:wrap}.filter-group[data-v-d988c634]{display:flex;align-items:center;gap:var(--spacing-sm);position:relative}.filter-group.search-group[data-v-d988c634]{flex:1;max-width:500px}.filter-group label[data-v-d988c634]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);white-space:nowrap}.filter-input[data-v-d988c634]{padding:6px 12px 6px 36px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);width:100%;transition:all var(--transition-fast);min-width:300px}.filter-group:has(.filter-input) svg[data-v-d988c634]{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--color-text-tertiary);pointer-events:none;z-index:1}.filter-input[data-v-d988c634]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.filter-select[data-v-d988c634]{padding:6px 32px 6px 12px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);cursor:pointer;transition:all var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23718096' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.filter-select[data-v-d988c634]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.btn-filter-action[data-v-d988c634]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);cursor:pointer;color:var(--color-text-tertiary);transition:all var(--transition-fast);flex-shrink:0}.btn-filter-action[data-v-d988c634]:hover{background:var(--color-surface-hover);color:var(--color-text-primary);border-color:var(--color-border-secondary)}.filters-bar .btn-add-icon[data-v-d988c634]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin-left:auto;background:var(--color-primary);color:#fff;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.filters-bar .btn-add-icon[data-v-d988c634]:hover{background:#5a6fd8;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.priority-badge[data-v-d988c634]{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:capitalize}.priority-low[data-v-d988c634]{background:#d1fae5;color:#10b981}.priority-medium[data-v-d988c634]{background:#fef3c7;color:#f59e0b}.priority-high[data-v-d988c634]{background:#fecaca;color:#ef4444}.priority-critical[data-v-d988c634]{background:#fee2e2;color:#dc2626}.status-badge[data-v-d988c634]{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:capitalize}.status-active[data-v-d988c634]{background:#d1fae5;color:#10b981}.status-inactive[data-v-d988c634]{background:#e5e7eb;color:#6b7280}.status-success[data-v-d988c634]{background:#d1fae5;color:#10b981}.status-failed[data-v-d988c634]{background:#fecaca;color:#ef4444}.status-partial[data-v-d988c634]{background:#fef3c7;color:#f59e0b}.actions[data-v-d988c634]{display:flex;gap:8px}.btn-action[data-v-d988c634]{padding:6px;background:none;border:1px solid var(--color-border-primary);border-radius:var(--border-radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:all .2s}.btn-action svg[data-v-d988c634]{width:16px;height:16px}.btn-action[data-v-d988c634]:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.btn-action[data-v-d988c634]:disabled{opacity:.5;cursor:not-allowed}.btn-trigger[data-v-d988c634]:hover:not(:disabled){border-color:#3b82f6;color:#3b82f6}.btn-toggle[data-v-d988c634]:hover{border-color:#f59e0b;color:#f59e0b}.btn-edit[data-v-d988c634]:hover{border-color:#10b981;color:#10b981}.btn-delete[data-v-d988c634]:hover{border-color:#ef4444;color:#ef4444}.empty-state[data-v-d988c634]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#9ca3af;text-align:center}.empty-state svg[data-v-d988c634]{margin-bottom:16px}.empty-state p[data-v-d988c634]{font-size:16px;font-weight:500}.empty-icon[data-v-d988c634]{width:64px;height:64px;color:var(--color-text-tertiary);margin-bottom:16px}.empty-title[data-v-d988c634]{font-size:20px;font-weight:600;color:var(--color-text-primary);margin:0 0 8px}.empty-subtitle[data-v-d988c634]{font-size:14px;color:var(--color-text-secondary);margin:0 0 24px}.btn-primary[data-v-d988c634]{display:flex;align-items:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:var(--border-radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #3b82f633}.btn-primary[data-v-d988c634]:hover{box-shadow:0 4px 12px #3b82f64d;transform:translateY(-2px)}.btn-icon[data-v-d988c634]{width:16px;height:16px}.datetime[data-v-d988c634]{font-size:13px;color:var(--color-text-secondary)}.trigger-count[data-v-d988c634]{font-size:13px;color:var(--color-text-secondary);font-weight:500}.placeholder-content[data-v-d988c634]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:60px 20px;color:var(--color-text-tertiary)}.placeholder-content svg[data-v-d988c634]{width:80px;height:80px;margin-bottom:24px;opacity:.5}.placeholder-content h3[data-v-d988c634]{font-size:20px;font-weight:600;color:var(--color-text-secondary);margin:0 0 12px}.placeholder-content p[data-v-d988c634]{font-size:14px;color:var(--color-text-tertiary);margin:0;text-align:center;max-width:400px}.history-content[data-v-d988c634]{display:flex;flex-direction:column;gap:var(--spacing-lg);height:100%}.history-table[data-v-d988c634]{flex:1;overflow:auto;border-radius:var(--border-radius-lg)}.stats-summary[data-v-d988c634]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.stat-card[data-v-d988c634]{background:var(--color-bg-primary);border-radius:var(--border-radius-lg);padding:20px;display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadow-sm);transition:all .3s;border:1px solid var(--color-border-primary)}.stat-card[data-v-d988c634]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);background:var(--color-bg-tertiary)}.stat-label[data-v-d988c634]{font-size:12px;color:var(--color-text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.stat-value[data-v-d988c634]{font-size:32px;font-weight:700;color:var(--color-text-primary);line-height:1}.stat-success[data-v-d988c634]{color:#10b981}.stat-failed[data-v-d988c634]{color:#ef4444}.scene-name[data-v-d988c634]{font-weight:500;color:var(--color-text-primary)}.execution-time[data-v-d988c634],.action-count[data-v-d988c634]{font-size:13px;color:var(--color-text-secondary)}.failed-count[data-v-d988c634]{font-size:13px;color:var(--color-text-tertiary)}.failed-count.has-failures[data-v-d988c634]{color:#ef4444;font-weight:600}.triggered-by-badge[data-v-d988c634]{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:capitalize}.triggered-manual[data-v-d988c634]{background:#dbeafe;color:#3b82f6}.triggered-automatic[data-v-d988c634]{background:#f3e8ff;color:#a855f7}.error-message[data-v-d988c634]{font-size:12px;color:#ef4444;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.no-error[data-v-d988c634]{color:var(--color-text-tertiary)}.date-input[data-v-d988c634]{max-width:150px;padding:6px 12px}.stats-grid[data-v-d540ac7f]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-bottom:32px}.stat-card[data-v-d540ac7f]{background:var(--color-bg-primary);border-radius:var(--border-radius-lg);padding:24px;display:flex;gap:16px;box-shadow:var(--shadow-sm);transition:all .3s;border:1px solid var(--color-border-primary)}.stat-card[data-v-d540ac7f]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);background:var(--color-bg-tertiary)}.stat-icon[data-v-d540ac7f]{width:48px;height:48px;border-radius:var(--border-radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon svg[data-v-d540ac7f]{width:24px;height:24px}.stat-info[data-v-d540ac7f]{display:flex;flex-direction:column;gap:4px}.stat-label[data-v-d540ac7f]{font-size:14px;color:var(--color-text-secondary);font-weight:500}.stat-value[data-v-d540ac7f]{font-size:32px;font-weight:700;color:var(--color-text-primary);line-height:1}.stat-change[data-v-d540ac7f]{font-size:12px;color:var(--color-text-tertiary)}.filters-bar[data-v-d540ac7f]{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-secondary);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-md);flex-wrap:wrap}.filter-group[data-v-d540ac7f]{display:flex;align-items:center;gap:var(--spacing-sm);position:relative}.filter-group.search-group[data-v-d540ac7f]{flex:1;max-width:500px}.filter-group label[data-v-d540ac7f]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);white-space:nowrap}.filter-input[data-v-d540ac7f]{padding:6px 12px 6px 36px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);width:100%;transition:all var(--transition-fast);min-width:300px}.filter-group:has(.filter-input) svg[data-v-d540ac7f]{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--color-text-tertiary);pointer-events:none;z-index:1}.filter-input[data-v-d540ac7f]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.filter-select[data-v-d540ac7f]{padding:6px 32px 6px 12px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);cursor:pointer;transition:all var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23718096' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.filter-select[data-v-d540ac7f]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.btn-filter-action[data-v-d540ac7f]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);cursor:pointer;color:var(--color-text-tertiary);transition:all var(--transition-fast);flex-shrink:0}.btn-filter-action[data-v-d540ac7f]:hover{background:var(--color-surface-hover);color:var(--color-text-primary);border-color:var(--color-border-secondary)}.filters-bar .btn-add-icon[data-v-d540ac7f]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin-left:auto;background:var(--color-primary);color:#fff;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.filters-bar .btn-add-icon[data-v-d540ac7f]:hover{background:#5a6fd8;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.priority-badge[data-v-d540ac7f]{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:capitalize}.priority-low[data-v-d540ac7f]{background:#d1fae5;color:#10b981}.priority-medium[data-v-d540ac7f]{background:#fef3c7;color:#f59e0b}.priority-high[data-v-d540ac7f]{background:#fecaca;color:#ef4444}.priority-critical[data-v-d540ac7f]{background:#fee2e2;color:#dc2626}.status-badge[data-v-d540ac7f]{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:capitalize}.status-active[data-v-d540ac7f]{background:#d1fae5;color:#10b981}.status-inactive[data-v-d540ac7f]{background:#e5e7eb;color:#6b7280}.status-success[data-v-d540ac7f]{background:#d1fae5;color:#10b981}.status-failed[data-v-d540ac7f]{background:#fecaca;color:#ef4444}.status-partial[data-v-d540ac7f]{background:#fef3c7;color:#f59e0b}.actions[data-v-d540ac7f]{display:flex;gap:8px}.btn-action[data-v-d540ac7f]{padding:6px;background:none;border:1px solid var(--color-border-primary);border-radius:var(--border-radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:all .2s}.btn-action svg[data-v-d540ac7f]{width:16px;height:16px}.btn-action[data-v-d540ac7f]:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.btn-action[data-v-d540ac7f]:disabled{opacity:.5;cursor:not-allowed}.btn-trigger[data-v-d540ac7f]:hover:not(:disabled){border-color:#3b82f6;color:#3b82f6}.btn-toggle[data-v-d540ac7f]:hover{border-color:#f59e0b;color:#f59e0b}.btn-edit[data-v-d540ac7f]:hover{border-color:#10b981;color:#10b981}.btn-delete[data-v-d540ac7f]:hover{border-color:#ef4444;color:#ef4444}.empty-state[data-v-d540ac7f]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#9ca3af;text-align:center}.empty-state svg[data-v-d540ac7f]{margin-bottom:16px}.empty-state p[data-v-d540ac7f]{font-size:16px;font-weight:500}.empty-icon[data-v-d540ac7f]{width:64px;height:64px;color:var(--color-text-tertiary);margin-bottom:16px}.empty-title[data-v-d540ac7f]{font-size:20px;font-weight:600;color:var(--color-text-primary);margin:0 0 8px}.empty-subtitle[data-v-d540ac7f]{font-size:14px;color:var(--color-text-secondary);margin:0 0 24px}.btn-primary[data-v-d540ac7f]{display:flex;align-items:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:var(--border-radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #3b82f633}.btn-primary[data-v-d540ac7f]:hover{box-shadow:0 4px 12px #3b82f64d;transform:translateY(-2px)}.btn-icon[data-v-d540ac7f]{width:16px;height:16px}.datetime[data-v-d540ac7f]{font-size:13px;color:var(--color-text-secondary)}.trigger-count[data-v-d540ac7f]{font-size:13px;color:var(--color-text-secondary);font-weight:500}.placeholder-content[data-v-d540ac7f]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:60px 20px;color:var(--color-text-tertiary)}.placeholder-content svg[data-v-d540ac7f]{width:80px;height:80px;margin-bottom:24px;opacity:.5}.placeholder-content h3[data-v-d540ac7f]{font-size:20px;font-weight:600;color:var(--color-text-secondary);margin:0 0 12px}.placeholder-content p[data-v-d540ac7f]{font-size:14px;color:var(--color-text-tertiary);margin:0;text-align:center;max-width:400px}.scene-page[data-v-d540ac7f]{width:100%;height:100%;padding:0;background:var(--color-bg-primary)}.page-card[data-v-d540ac7f]{width:100%;height:100%;background:var(--color-surface);border-radius:8px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;overflow:hidden}.page-header[data-v-d540ac7f]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border-primary)}.header-content h1[data-v-d540ac7f]{font-size:24px;font-weight:700;color:var(--color-text-primary);margin:0 0 4px}.subtitle[data-v-d540ac7f]{font-size:14px;color:var(--color-text-tertiary);margin:0}.tabs[data-v-d540ac7f]{display:flex;gap:var(--spacing-xs);padding:0 var(--spacing-lg);border-bottom:var(--border-width) solid var(--color-border-primary);background:var(--color-bg-secondary)}.tab[data-v-d540ac7f]{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;flex-shrink:0}.tab[data-v-d540ac7f]:hover{color:var(--color-text-primary);background:var(--color-surface-hover)}.tab.active[data-v-d540ac7f]{color:var(--color-primary);border-bottom-color:var(--color-primary);background:var(--color-surface)}.tab-content[data-v-d540ac7f]{flex:1;overflow:auto;padding:0}.tab-section[data-v-d540ac7f]{display:flex;flex-direction:column;gap:var(--spacing-lg);height:100%;padding:var(--spacing-lg)}.function-buttons[data-v-7e064dbf]{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.btn-function[data-v-7e064dbf]{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.btn-function[data-v-7e064dbf]:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-add[data-v-7e064dbf]{background:var(--color-primary);color:#fff}.btn-add[data-v-7e064dbf]:hover{background:#5a6fd8}.filters-bar[data-v-7e064dbf]{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-secondary);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-md)}.filter-group[data-v-7e064dbf]{display:flex;align-items:center;gap:var(--spacing-sm);position:relative}.filter-group.search-group[data-v-7e064dbf]{flex:1;max-width:500px}.filter-group label[data-v-7e064dbf]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);white-space:nowrap}.filter-input[data-v-7e064dbf]{padding:6px 12px 6px 36px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);width:100%;transition:all var(--transition-fast)}.filter-group:has(.filter-input) svg[data-v-7e064dbf]{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--color-text-tertiary);pointer-events:none;z-index:1}.filter-input[data-v-7e064dbf]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.filter-select[data-v-7e064dbf]{padding:6px 32px 6px 12px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);cursor:pointer;transition:all var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23718096' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.filter-select[data-v-7e064dbf]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.btn-filter-reset[data-v-7e064dbf]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);cursor:pointer;color:var(--color-text-tertiary);transition:all var(--transition-fast);flex-shrink:0}.btn-filter-reset[data-v-7e064dbf]:hover{background:var(--color-surface-hover);color:var(--color-text-primary);border-color:var(--color-border-secondary)}.filters-bar .btn-add-icon[data-v-7e064dbf]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin-left:auto;background:var(--color-primary);color:#fff;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.filters-bar .btn-add-icon[data-v-7e064dbf]:hover{background:#5a6fd8;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.data-table[data-v-7e064dbf]{flex:1;overflow:auto}.data-table[data-v-7e064dbf] .col-actions,.data-table[data-v-7e064dbf] .col-manage{position:sticky;right:0;background:var(--color-bg-primary);z-index:1}.data-table[data-v-7e064dbf] .table-row:hover .col-actions,.data-table[data-v-7e064dbf] .table-row:hover .col-manage,.data-table[data-v-7e064dbf] .table-row.expanded .col-actions,.data-table[data-v-7e064dbf] .table-row.expanded .col-manage{background:var(--color-surface-hover)}.data-table[data-v-7e064dbf] .col-header.col-actions,.data-table[data-v-7e064dbf] .col-header.col-manage{background:var(--color-bg-secondary);z-index:2}.action-buttons[data-v-7e064dbf]{display:flex;gap:8px}.btn-action[data-v-7e064dbf]{padding:6px 12px;border:none;border-radius:var(--border-radius-sm);font-size:12px;font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn-action[data-v-7e064dbf]:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-edit[data-v-7e064dbf]{background:#3b82f6;color:#fff}.btn-edit[data-v-7e064dbf]:hover{background:#2563eb}.btn-delete[data-v-7e064dbf]{background:#ef4444;color:#fff}.btn-delete[data-v-7e064dbf]:hover{background:#dc2626}.btn-manage[data-v-7e064dbf]{background:#10b981;color:#fff}.btn-manage[data-v-7e064dbf]:hover{background:#059669}.action-buttons-icon[data-v-7e064dbf]{display:flex;gap:6px;justify-content:flex-end}.btn-action-icon[data-v-7e064dbf]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.btn-action-icon[data-v-7e064dbf]:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-action-icon.btn-edit[data-v-7e064dbf]{background:#3b82f6;color:#fff}.btn-action-icon.btn-edit[data-v-7e064dbf]:hover{background:#2563eb}.btn-action-icon.btn-delete[data-v-7e064dbf]{background:#ef4444;color:#fff}.btn-action-icon.btn-delete[data-v-7e064dbf]:hover{background:#dc2626}.btn-action-icon.btn-manage[data-v-7e064dbf]{background:#10b981;color:#fff}.btn-action-icon.btn-manage[data-v-7e064dbf]:hover{background:#059669}.device-count-badge[data-v-7e064dbf]{display:inline-block;padding:4px 10px;background:#dbeafe;color:#1e40af;border-radius:12px;font-size:12px;font-weight:600}.count-badge[data-v-7e064dbf]{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}.count-badge.events[data-v-7e064dbf]{background:#fef3c7;color:#92400e}.count-badge.actions[data-v-7e064dbf]{background:#d1fae5;color:#065f46}.zone-info[data-v-7e064dbf]{display:flex;flex-direction:column;gap:2px}.zone-code[data-v-7e064dbf]{font-family:var(--font-family-mono);color:var(--color-text-tertiary);font-size:11px}.zone-name[data-v-7e064dbf]{color:var(--color-text-primary);font-weight:500;font-size:13px}.expanded-content[data-v-7e064dbf]{padding:0}.expanded-content h4[data-v-7e064dbf]{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0 0 16px}.expanded-content h5[data-v-7e064dbf]{font-size:14px;font-weight:600;color:var(--color-text-primary);margin:0 0 12px}.network-grid[data-v-7e064dbf]{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:16px}.network-section[data-v-7e064dbf]{background:var(--color-surface);border:1px solid var(--color-border-primary);border-radius:6px;padding:16px}.network-detail[data-v-7e064dbf]{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--color-border-primary);font-size:13px}.network-detail[data-v-7e064dbf]:last-child{border-bottom:none}.network-detail .label[data-v-7e064dbf]{font-weight:600;color:var(--color-text-secondary)}.network-detail .value[data-v-7e064dbf]{font-family:var(--font-family-mono);color:var(--color-text-primary)}.device-info-row[data-v-7e064dbf]{display:flex;gap:12px;padding:12px;background:var(--color-surface);border:1px solid var(--color-border-primary);border-radius:6px;font-size:13px}.device-info-row .label[data-v-7e064dbf]{font-weight:600;color:var(--color-text-secondary);min-width:100px}.device-info-row .value[data-v-7e064dbf]{color:var(--color-text-primary);flex:1}.dialog-overlay[data-v-7e064dbf]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.dialog-container[data-v-7e064dbf]{background:var(--color-surface);border-radius:8px;width:90%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 4px 6px #0000001a}.dialog-header[data-v-7e064dbf]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border)}.dialog-header h2[data-v-7e064dbf]{margin:0;font-size:20px;font-weight:600}.btn-close[data-v-7e064dbf]{background:none;border:none;cursor:pointer;padding:4px;color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.btn-close[data-v-7e064dbf]:hover{background-color:var(--color-hover)}.dialog-body[data-v-7e064dbf]{flex:1;overflow-y:auto;padding:24px}.form-section[data-v-7e064dbf]{margin-bottom:24px}.form-section[data-v-7e064dbf]:last-child{margin-bottom:0}.form-section h3[data-v-7e064dbf]{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--color-text-primary)}.form-grid[data-v-7e064dbf]{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.form-group[data-v-7e064dbf]{display:flex;flex-direction:column}.form-group.full-width[data-v-7e064dbf]{grid-column:1 / -1}.form-group label[data-v-7e064dbf]{margin-bottom:6px;font-size:14px;font-weight:500;color:var(--color-text-primary)}.form-group label.required[data-v-7e064dbf]:after{content:" *";color:#ef4444}.form-group input[data-v-7e064dbf],.form-group select[data-v-7e064dbf],.form-group textarea[data-v-7e064dbf]{padding:8px 12px;border:1px solid var(--color-border);border-radius:4px;font-size:14px;background:var(--color-surface);color:var(--color-text-primary);transition:border-color .2s}.form-group input[data-v-7e064dbf]:focus,.form-group select[data-v-7e064dbf]:focus,.form-group textarea[data-v-7e064dbf]:focus{outline:none;border-color:var(--color-primary)}.form-group input.error[data-v-7e064dbf],.form-group textarea.error[data-v-7e064dbf]{border-color:#ef4444}.error-message[data-v-7e064dbf]{margin-top:4px;font-size:12px;color:#ef4444}.dialog-footer[data-v-7e064dbf]{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--color-border)}.btn[data-v-7e064dbf]{padding:8px 16px;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn-primary[data-v-7e064dbf]{background-color:var(--color-primary);color:#fff}.btn-primary[data-v-7e064dbf]:hover{background-color:var(--color-primary-dark)}.btn-secondary[data-v-7e064dbf]{background-color:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary[data-v-7e064dbf]:hover{background-color:var(--color-hover)}.function-buttons[data-v-39052bcd]{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.btn-function[data-v-39052bcd]{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.btn-function[data-v-39052bcd]:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-add[data-v-39052bcd]{background:var(--color-primary);color:#fff}.btn-add[data-v-39052bcd]:hover{background:#5a6fd8}.filters-bar[data-v-39052bcd]{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-secondary);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-md)}.filter-group[data-v-39052bcd]{display:flex;align-items:center;gap:var(--spacing-sm);position:relative}.filter-group.search-group[data-v-39052bcd]{flex:1;max-width:500px}.filter-group label[data-v-39052bcd]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);white-space:nowrap}.filter-input[data-v-39052bcd]{padding:6px 12px 6px 36px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);width:100%;transition:all var(--transition-fast)}.filter-group:has(.filter-input) svg[data-v-39052bcd]{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--color-text-tertiary);pointer-events:none;z-index:1}.filter-input[data-v-39052bcd]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.filter-select[data-v-39052bcd]{padding:6px 32px 6px 12px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);cursor:pointer;transition:all var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23718096' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.filter-select[data-v-39052bcd]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.btn-filter-reset[data-v-39052bcd]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);cursor:pointer;color:var(--color-text-tertiary);transition:all var(--transition-fast);flex-shrink:0}.btn-filter-reset[data-v-39052bcd]:hover{background:var(--color-surface-hover);color:var(--color-text-primary);border-color:var(--color-border-secondary)}.filters-bar .btn-add-icon[data-v-39052bcd]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin-left:auto;background:var(--color-primary);color:#fff;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.filters-bar .btn-add-icon[data-v-39052bcd]:hover{background:#5a6fd8;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.data-table[data-v-39052bcd]{flex:1;overflow:auto}.data-table[data-v-39052bcd] .col-actions,.data-table[data-v-39052bcd] .col-manage{position:sticky;right:0;background:var(--color-bg-primary);z-index:1}.data-table[data-v-39052bcd] .table-row:hover .col-actions,.data-table[data-v-39052bcd] .table-row:hover .col-manage,.data-table[data-v-39052bcd] .table-row.expanded .col-actions,.data-table[data-v-39052bcd] .table-row.expanded .col-manage{background:var(--color-surface-hover)}.data-table[data-v-39052bcd] .col-header.col-actions,.data-table[data-v-39052bcd] .col-header.col-manage{background:var(--color-bg-secondary);z-index:2}.action-buttons[data-v-39052bcd]{display:flex;gap:8px}.btn-action[data-v-39052bcd]{padding:6px 12px;border:none;border-radius:var(--border-radius-sm);font-size:12px;font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn-action[data-v-39052bcd]:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-edit[data-v-39052bcd]{background:#3b82f6;color:#fff}.btn-edit[data-v-39052bcd]:hover{background:#2563eb}.btn-delete[data-v-39052bcd]{background:#ef4444;color:#fff}.btn-delete[data-v-39052bcd]:hover{background:#dc2626}.btn-manage[data-v-39052bcd]{background:#10b981;color:#fff}.btn-manage[data-v-39052bcd]:hover{background:#059669}.action-buttons-icon[data-v-39052bcd]{display:flex;gap:6px;justify-content:flex-end}.btn-action-icon[data-v-39052bcd]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.btn-action-icon[data-v-39052bcd]:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-action-icon.btn-edit[data-v-39052bcd]{background:#3b82f6;color:#fff}.btn-action-icon.btn-edit[data-v-39052bcd]:hover{background:#2563eb}.btn-action-icon.btn-delete[data-v-39052bcd]{background:#ef4444;color:#fff}.btn-action-icon.btn-delete[data-v-39052bcd]:hover{background:#dc2626}.btn-action-icon.btn-manage[data-v-39052bcd]{background:#10b981;color:#fff}.btn-action-icon.btn-manage[data-v-39052bcd]:hover{background:#059669}.device-count-badge[data-v-39052bcd]{display:inline-block;padding:4px 10px;background:#dbeafe;color:#1e40af;border-radius:12px;font-size:12px;font-weight:600}.count-badge[data-v-39052bcd]{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}.count-badge.events[data-v-39052bcd]{background:#fef3c7;color:#92400e}.count-badge.actions[data-v-39052bcd]{background:#d1fae5;color:#065f46}.zone-code[data-v-39052bcd]{font-family:var(--font-family-mono);color:var(--color-text-tertiary);font-size:11px}.zone-name[data-v-39052bcd]{color:var(--color-text-primary);font-weight:500;font-size:13px}.expanded-content[data-v-39052bcd]{padding:0}.expanded-content h4[data-v-39052bcd]{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0 0 16px}.expanded-content h5[data-v-39052bcd]{font-size:14px;font-weight:600;color:var(--color-text-primary);margin:0 0 12px}.network-grid[data-v-39052bcd]{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:16px}.network-section[data-v-39052bcd]{background:var(--color-surface);border:1px solid var(--color-border-primary);border-radius:6px;padding:16px}.network-detail[data-v-39052bcd]{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--color-border-primary);font-size:13px}.network-detail[data-v-39052bcd]:last-child{border-bottom:none}.network-detail .label[data-v-39052bcd]{font-weight:600;color:var(--color-text-secondary)}.network-detail .value[data-v-39052bcd]{font-family:var(--font-family-mono);color:var(--color-text-primary)}.device-info-row[data-v-39052bcd]{display:flex;gap:12px;padding:12px;background:var(--color-surface);border:1px solid var(--color-border-primary);border-radius:6px;font-size:13px}.device-info-row .label[data-v-39052bcd]{font-weight:600;color:var(--color-text-secondary);min-width:100px}.device-info-row .value[data-v-39052bcd]{color:var(--color-text-primary);flex:1}.status-badge[data-v-39052bcd]{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;text-transform:capitalize}.status-active[data-v-39052bcd]{background-color:#10b981;color:#fff}.status-inactive[data-v-39052bcd]{background-color:#6b7280;color:#fff}.status-maintenance[data-v-39052bcd]{background-color:#f59e0b;color:#fff}.status-error[data-v-39052bcd]{background-color:#ef4444;color:#fff}.zone-info[data-v-39052bcd]{display:flex;flex-direction:column;gap:2px}.zone-code[data-v-39052bcd]{font-weight:600;color:var(--color-text-primary)}.zone-name[data-v-39052bcd]{font-size:12px;color:var(--color-text-secondary)}.function-buttons[data-v-34ec030c]{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.btn-function[data-v-34ec030c]{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.btn-function[data-v-34ec030c]:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-add[data-v-34ec030c]{background:var(--color-primary);color:#fff}.btn-add[data-v-34ec030c]:hover{background:#5a6fd8}.filters-bar[data-v-34ec030c]{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-secondary);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-md)}.filter-group[data-v-34ec030c]{display:flex;align-items:center;gap:var(--spacing-sm);position:relative}.filter-group.search-group[data-v-34ec030c]{flex:1;max-width:500px}.filter-group label[data-v-34ec030c]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);white-space:nowrap}.filter-input[data-v-34ec030c]{padding:6px 12px 6px 36px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);width:100%;transition:all var(--transition-fast)}.filter-group:has(.filter-input) svg[data-v-34ec030c]{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--color-text-tertiary);pointer-events:none;z-index:1}.filter-input[data-v-34ec030c]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.filter-select[data-v-34ec030c]{padding:6px 32px 6px 12px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);cursor:pointer;transition:all var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23718096' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.filter-select[data-v-34ec030c]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.btn-filter-reset[data-v-34ec030c]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);cursor:pointer;color:var(--color-text-tertiary);transition:all var(--transition-fast);flex-shrink:0}.btn-filter-reset[data-v-34ec030c]:hover{background:var(--color-surface-hover);color:var(--color-text-primary);border-color:var(--color-border-secondary)}.filters-bar .btn-add-icon[data-v-34ec030c]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin-left:auto;background:var(--color-primary);color:#fff;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.filters-bar .btn-add-icon[data-v-34ec030c]:hover{background:#5a6fd8;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.data-table[data-v-34ec030c]{flex:1;overflow:auto}.data-table[data-v-34ec030c] .col-actions,.data-table[data-v-34ec030c] .col-manage{position:sticky;right:0;background:var(--color-bg-primary);z-index:1}.data-table[data-v-34ec030c] .table-row:hover .col-actions,.data-table[data-v-34ec030c] .table-row:hover .col-manage,.data-table[data-v-34ec030c] .table-row.expanded .col-actions,.data-table[data-v-34ec030c] .table-row.expanded .col-manage{background:var(--color-surface-hover)}.data-table[data-v-34ec030c] .col-header.col-actions,.data-table[data-v-34ec030c] .col-header.col-manage{background:var(--color-bg-secondary);z-index:2}.action-buttons[data-v-34ec030c]{display:flex;gap:8px}.btn-action[data-v-34ec030c]{padding:6px 12px;border:none;border-radius:var(--border-radius-sm);font-size:12px;font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn-action[data-v-34ec030c]:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-edit[data-v-34ec030c]{background:#3b82f6;color:#fff}.btn-edit[data-v-34ec030c]:hover{background:#2563eb}.btn-delete[data-v-34ec030c]{background:#ef4444;color:#fff}.btn-delete[data-v-34ec030c]:hover{background:#dc2626}.btn-manage[data-v-34ec030c]{background:#10b981;color:#fff}.btn-manage[data-v-34ec030c]:hover{background:#059669}.action-buttons-icon[data-v-34ec030c]{display:flex;gap:6px;justify-content:flex-end}.btn-action-icon[data-v-34ec030c]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.btn-action-icon[data-v-34ec030c]:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-action-icon.btn-edit[data-v-34ec030c]{background:#3b82f6;color:#fff}.btn-action-icon.btn-edit[data-v-34ec030c]:hover{background:#2563eb}.btn-action-icon.btn-delete[data-v-34ec030c]{background:#ef4444;color:#fff}.btn-action-icon.btn-delete[data-v-34ec030c]:hover{background:#dc2626}.btn-action-icon.btn-manage[data-v-34ec030c]{background:#10b981;color:#fff}.btn-action-icon.btn-manage[data-v-34ec030c]:hover{background:#059669}.device-count-badge[data-v-34ec030c]{display:inline-block;padding:4px 10px;background:#dbeafe;color:#1e40af;border-radius:12px;font-size:12px;font-weight:600}.count-badge[data-v-34ec030c]{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}.count-badge.events[data-v-34ec030c]{background:#fef3c7;color:#92400e}.count-badge.actions[data-v-34ec030c]{background:#d1fae5;color:#065f46}.zone-info[data-v-34ec030c]{display:flex;flex-direction:column;gap:2px}.zone-code[data-v-34ec030c]{font-family:var(--font-family-mono);color:var(--color-text-tertiary);font-size:11px}.zone-name[data-v-34ec030c]{color:var(--color-text-primary);font-weight:500;font-size:13px}.expanded-content[data-v-34ec030c]{padding:0}.expanded-content h4[data-v-34ec030c]{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0 0 16px}.expanded-content h5[data-v-34ec030c]{font-size:14px;font-weight:600;color:var(--color-text-primary);margin:0 0 12px}.network-grid[data-v-34ec030c]{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:16px}.network-section[data-v-34ec030c]{background:var(--color-surface);border:1px solid var(--color-border-primary);border-radius:6px;padding:16px}.network-detail[data-v-34ec030c]{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--color-border-primary);font-size:13px}.network-detail[data-v-34ec030c]:last-child{border-bottom:none}.network-detail .label[data-v-34ec030c]{font-weight:600;color:var(--color-text-secondary)}.network-detail .value[data-v-34ec030c]{font-family:var(--font-family-mono);color:var(--color-text-primary)}.device-info-row[data-v-34ec030c]{display:flex;gap:12px;padding:12px;background:var(--color-surface);border:1px solid var(--color-border-primary);border-radius:6px;font-size:13px}.device-info-row .label[data-v-34ec030c]{font-weight:600;color:var(--color-text-secondary);min-width:100px}.device-info-row .value[data-v-34ec030c]{color:var(--color-text-primary);flex:1}.detail-container[data-v-34ec030c]{padding:16px;background:var(--color-bg-secondary);border-radius:6px}.detail-container h4[data-v-34ec030c]{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0 0 16px}.detail-container h5[data-v-34ec030c]{font-size:14px;font-weight:600;color:var(--color-text-primary);margin:0 0 12px}.detail-grid[data-v-34ec030c]{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:16px}.detail-section[data-v-34ec030c]{background:var(--color-surface);border:1px solid var(--color-border-primary);border-radius:6px;padding:16px}.detail-row[data-v-34ec030c]{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--color-border-primary);font-size:13px}.detail-row[data-v-34ec030c]:last-child{border-bottom:none}.detail-row .label[data-v-34ec030c]{font-weight:600;color:var(--color-text-secondary);min-width:140px}.detail-row .value[data-v-34ec030c]{color:var(--color-text-primary);text-align:right}.device-count-badge[data-v-34ec030c]{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;background:#dbeafe;color:#1e40af;border:1px solid #93c5fd;min-width:32px;text-align:center}.status-badge[data-v-34ec030c]{display:inline-block;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase}.status-badge.active[data-v-34ec030c]{background:#d1fae5;color:#065f46}.status-badge.inactive[data-v-34ec030c]{background:#fee2e2;color:#991b1b}.status-badge.maintenance[data-v-34ec030c]{background:#fef3c7;color:#92400e}.status-badge.offline[data-v-34ec030c]{background:#f3f4f6;color:#4b5563}.detail-full-row[data-v-34ec030c]{display:flex;gap:12px;padding:12px;background:var(--color-surface);border:1px solid var(--color-border-primary);border-radius:6px;font-size:13px;margin-bottom:12px}.detail-full-row[data-v-34ec030c]:last-child{margin-bottom:0}.detail-full-row .label[data-v-34ec030c]{font-weight:600;color:var(--color-text-secondary);min-width:120px}.detail-full-row .value[data-v-34ec030c]{color:var(--color-text-primary);flex:1}.specifications-section[data-v-34ec030c]{margin-top:16px}.specifications-section h5[data-v-34ec030c]{font-size:14px;font-weight:600;color:var(--color-text-primary);margin:0 0 12px}.specifications-content[data-v-34ec030c]{background:var(--color-surface);border:1px solid var(--color-border-primary);border-radius:6px;padding:16px;overflow-x:auto}.specifications-content pre[data-v-34ec030c]{margin:0;font-family:var(--font-family-mono, "Courier New", monospace);font-size:12px;color:var(--color-text-primary);line-height:1.5}.dialog-overlay[data-v-c2a528bf]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.dialog[data-v-c2a528bf]{background:var(--color-surface);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);width:90%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;border:var(--border-width) solid var(--color-border-primary)}.dialog-header[data-v-c2a528bf]{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg);border-bottom:var(--border-width) solid var(--color-border-primary)}.dialog-header h3[data-v-c2a528bf]{margin:0;font-size:18px;font-weight:600;color:var(--color-text-primary)}.btn-close[data-v-c2a528bf]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--color-text-tertiary);cursor:pointer;border-radius:var(--border-radius-sm);transition:all var(--transition-fast)}.btn-close[data-v-c2a528bf]:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.dialog-content[data-v-c2a528bf]{flex:1;overflow-y:auto;padding:var(--spacing-lg)}.form-group[data-v-c2a528bf]{margin-bottom:var(--spacing-lg)}.form-label[data-v-c2a528bf]{display:block;margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.form-label.required[data-v-c2a528bf]:after{content:" *";color:#ef4444}.form-input[data-v-c2a528bf],.form-select[data-v-c2a528bf],.form-textarea[data-v-c2a528bf]{width:100%;padding:8px 12px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-bg-primary);transition:all var(--transition-fast)}.form-input[data-v-c2a528bf]:focus,.form-select[data-v-c2a528bf]:focus,.form-textarea[data-v-c2a528bf]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.form-select[data-v-c2a528bf]{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23718096' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.form-textarea[data-v-c2a528bf]{resize:vertical;min-height:60px;font-family:inherit}.form-code[data-v-c2a528bf]{font-family:var(--font-family-mono, "Courier New", monospace);font-size:13px}.input-error[data-v-c2a528bf]{border-color:#ef4444}.error-message[data-v-c2a528bf]{display:block;margin-top:var(--spacing-xs);font-size:12px;color:#ef4444}.help-text[data-v-c2a528bf]{display:block;margin-top:var(--spacing-xs);font-size:12px;color:var(--color-text-tertiary);font-style:italic}.dialog-footer[data-v-c2a528bf]{display:flex;gap:var(--spacing-md);justify-content:flex-end;padding:var(--spacing-lg);border-top:var(--border-width) solid var(--color-border-primary)}.btn-primary[data-v-c2a528bf],.btn-secondary[data-v-c2a528bf]{padding:8px 16px;border:none;border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.btn-primary[data-v-c2a528bf]{background:var(--color-primary);color:#fff}.btn-primary[data-v-c2a528bf]:hover:not(:disabled){background:#5a6fd8;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-primary[data-v-c2a528bf]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-c2a528bf]{background:var(--color-surface-hover);color:var(--color-text-primary);border:var(--border-width) solid var(--color-border-primary)}.btn-secondary[data-v-c2a528bf]:hover{background:var(--color-border-secondary)}.function-buttons[data-v-39755275]{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.btn-function[data-v-39755275]{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.btn-function[data-v-39755275]:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-add[data-v-39755275]{background:var(--color-primary);color:#fff}.btn-add[data-v-39755275]:hover{background:#5a6fd8}.filters-bar[data-v-39755275]{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-secondary);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-md)}.filter-group[data-v-39755275]{display:flex;align-items:center;gap:var(--spacing-sm);position:relative}.filter-group.search-group[data-v-39755275]{flex:1;max-width:500px}.filter-group label[data-v-39755275]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);white-space:nowrap}.filter-input[data-v-39755275]{padding:6px 12px 6px 36px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);width:100%;transition:all var(--transition-fast)}.filter-group:has(.filter-input) svg[data-v-39755275]{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--color-text-tertiary);pointer-events:none;z-index:1}.filter-input[data-v-39755275]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.filter-select[data-v-39755275]{padding:6px 32px 6px 12px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);cursor:pointer;transition:all var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23718096' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.filter-select[data-v-39755275]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.btn-filter-reset[data-v-39755275]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);cursor:pointer;color:var(--color-text-tertiary);transition:all var(--transition-fast);flex-shrink:0}.btn-filter-reset[data-v-39755275]:hover{background:var(--color-surface-hover);color:var(--color-text-primary);border-color:var(--color-border-secondary)}.filters-bar .btn-add-icon[data-v-39755275]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin-left:auto;background:var(--color-primary);color:#fff;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.filters-bar .btn-add-icon[data-v-39755275]:hover{background:#5a6fd8;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.data-table[data-v-39755275]{flex:1;overflow:auto}.data-table[data-v-39755275] .col-actions,.data-table[data-v-39755275] .col-manage{position:sticky;right:0;background:var(--color-bg-primary);z-index:1}.data-table[data-v-39755275] .table-row:hover .col-actions,.data-table[data-v-39755275] .table-row:hover .col-manage,.data-table[data-v-39755275] .table-row.expanded .col-actions,.data-table[data-v-39755275] .table-row.expanded .col-manage{background:var(--color-surface-hover)}.data-table[data-v-39755275] .col-header.col-actions,.data-table[data-v-39755275] .col-header.col-manage{background:var(--color-bg-secondary);z-index:2}.action-buttons[data-v-39755275]{display:flex;gap:8px}.btn-action[data-v-39755275]{padding:6px 12px;border:none;border-radius:var(--border-radius-sm);font-size:12px;font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn-action[data-v-39755275]:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-edit[data-v-39755275]{background:#3b82f6;color:#fff}.btn-edit[data-v-39755275]:hover{background:#2563eb}.btn-delete[data-v-39755275]{background:#ef4444;color:#fff}.btn-delete[data-v-39755275]:hover{background:#dc2626}.btn-manage[data-v-39755275]{background:#10b981;color:#fff}.btn-manage[data-v-39755275]:hover{background:#059669}.action-buttons-icon[data-v-39755275]{display:flex;gap:6px;justify-content:flex-end}.btn-action-icon[data-v-39755275]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.btn-action-icon[data-v-39755275]:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-action-icon.btn-edit[data-v-39755275]{background:#3b82f6;color:#fff}.btn-action-icon.btn-edit[data-v-39755275]:hover{background:#2563eb}.btn-action-icon.btn-delete[data-v-39755275]{background:#ef4444;color:#fff}.btn-action-icon.btn-delete[data-v-39755275]:hover{background:#dc2626}.btn-action-icon.btn-manage[data-v-39755275]{background:#10b981;color:#fff}.btn-action-icon.btn-manage[data-v-39755275]:hover{background:#059669}.device-count-badge[data-v-39755275]{display:inline-block;padding:4px 10px;background:#dbeafe;color:#1e40af;border-radius:12px;font-size:12px;font-weight:600}.count-badge[data-v-39755275]{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}.count-badge.events[data-v-39755275]{background:#fef3c7;color:#92400e}.count-badge.actions[data-v-39755275]{background:#d1fae5;color:#065f46}.zone-info[data-v-39755275]{display:flex;flex-direction:column;gap:2px}.zone-code[data-v-39755275]{font-family:var(--font-family-mono);color:var(--color-text-tertiary);font-size:11px}.zone-name[data-v-39755275]{color:var(--color-text-primary);font-weight:500;font-size:13px}.expanded-content[data-v-39755275]{padding:0}.expanded-content h4[data-v-39755275]{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0 0 16px}.expanded-content h5[data-v-39755275]{font-size:14px;font-weight:600;color:var(--color-text-primary);margin:0 0 12px}.network-grid[data-v-39755275]{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:16px}.network-section[data-v-39755275]{background:var(--color-surface);border:1px solid var(--color-border-primary);border-radius:6px;padding:16px}.network-detail[data-v-39755275]{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--color-border-primary);font-size:13px}.network-detail[data-v-39755275]:last-child{border-bottom:none}.network-detail .label[data-v-39755275]{font-weight:600;color:var(--color-text-secondary)}.network-detail .value[data-v-39755275]{font-family:var(--font-family-mono);color:var(--color-text-primary)}.device-info-row[data-v-39755275]{display:flex;gap:12px;padding:12px;background:var(--color-surface);border:1px solid var(--color-border-primary);border-radius:6px;font-size:13px}.device-info-row .label[data-v-39755275]{font-weight:600;color:var(--color-text-secondary);min-width:100px}.device-info-row .value[data-v-39755275]{color:var(--color-text-primary);flex:1}.function-buttons[data-v-f05156b5]{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.btn-function[data-v-f05156b5]{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.btn-function[data-v-f05156b5]:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-add[data-v-f05156b5]{background:var(--color-primary);color:#fff}.btn-add[data-v-f05156b5]:hover{background:#5a6fd8}.filters-bar[data-v-f05156b5]{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-secondary);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-md)}.filter-group[data-v-f05156b5]{display:flex;align-items:center;gap:var(--spacing-sm);position:relative}.filter-group.search-group[data-v-f05156b5]{flex:1;max-width:500px}.filter-group label[data-v-f05156b5]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);white-space:nowrap}.filter-input[data-v-f05156b5]{padding:6px 12px 6px 36px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);width:100%;transition:all var(--transition-fast)}.filter-group:has(.filter-input) svg[data-v-f05156b5]{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--color-text-tertiary);pointer-events:none;z-index:1}.filter-input[data-v-f05156b5]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.filter-select[data-v-f05156b5]{padding:6px 32px 6px 12px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);cursor:pointer;transition:all var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23718096' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.filter-select[data-v-f05156b5]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.btn-filter-reset[data-v-f05156b5]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);cursor:pointer;color:var(--color-text-tertiary);transition:all var(--transition-fast);flex-shrink:0}.btn-filter-reset[data-v-f05156b5]:hover{background:var(--color-surface-hover);color:var(--color-text-primary);border-color:var(--color-border-secondary)}.filters-bar .btn-add-icon[data-v-f05156b5]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin-left:auto;background:var(--color-primary);color:#fff;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.filters-bar .btn-add-icon[data-v-f05156b5]:hover{background:#5a6fd8;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.data-table[data-v-f05156b5]{flex:1;overflow:auto}.data-table[data-v-f05156b5] .col-actions,.data-table[data-v-f05156b5] .col-manage{position:sticky;right:0;background:var(--color-bg-primary);z-index:1}.data-table[data-v-f05156b5] .table-row:hover .col-actions,.data-table[data-v-f05156b5] .table-row:hover .col-manage,.data-table[data-v-f05156b5] .table-row.expanded .col-actions,.data-table[data-v-f05156b5] .table-row.expanded .col-manage{background:var(--color-surface-hover)}.data-table[data-v-f05156b5] .col-header.col-actions,.data-table[data-v-f05156b5] .col-header.col-manage{background:var(--color-bg-secondary);z-index:2}.action-buttons[data-v-f05156b5]{display:flex;gap:8px}.btn-action[data-v-f05156b5]{padding:6px 12px;border:none;border-radius:var(--border-radius-sm);font-size:12px;font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn-action[data-v-f05156b5]:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-edit[data-v-f05156b5]{background:#3b82f6;color:#fff}.btn-edit[data-v-f05156b5]:hover{background:#2563eb}.btn-delete[data-v-f05156b5]{background:#ef4444;color:#fff}.btn-delete[data-v-f05156b5]:hover{background:#dc2626}.btn-manage[data-v-f05156b5]{background:#10b981;color:#fff}.btn-manage[data-v-f05156b5]:hover{background:#059669}.action-buttons-icon[data-v-f05156b5]{display:flex;gap:6px;justify-content:flex-end}.btn-action-icon[data-v-f05156b5]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.btn-action-icon[data-v-f05156b5]:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-action-icon.btn-edit[data-v-f05156b5]{background:#3b82f6;color:#fff}.btn-action-icon.btn-edit[data-v-f05156b5]:hover{background:#2563eb}.btn-action-icon.btn-delete[data-v-f05156b5]{background:#ef4444;color:#fff}.btn-action-icon.btn-delete[data-v-f05156b5]:hover{background:#dc2626}.btn-action-icon.btn-manage[data-v-f05156b5]{background:#10b981;color:#fff}.btn-action-icon.btn-manage[data-v-f05156b5]:hover{background:#059669}.device-count-badge[data-v-f05156b5]{display:inline-block;padding:4px 10px;background:#dbeafe;color:#1e40af;border-radius:12px;font-size:12px;font-weight:600}.count-badge[data-v-f05156b5]{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}.count-badge.events[data-v-f05156b5]{background:#fef3c7;color:#92400e}.count-badge.actions[data-v-f05156b5]{background:#d1fae5;color:#065f46}.zone-info[data-v-f05156b5]{display:flex;flex-direction:column;gap:2px}.zone-code[data-v-f05156b5]{font-family:var(--font-family-mono);color:var(--color-text-tertiary);font-size:11px}.zone-name[data-v-f05156b5]{color:var(--color-text-primary);font-weight:500;font-size:13px}.expanded-content[data-v-f05156b5]{padding:0}.expanded-content h4[data-v-f05156b5]{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0 0 16px}.expanded-content h5[data-v-f05156b5]{font-size:14px;font-weight:600;color:var(--color-text-primary);margin:0 0 12px}.network-grid[data-v-f05156b5]{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:16px}.network-section[data-v-f05156b5]{background:var(--color-surface);border:1px solid var(--color-border-primary);border-radius:6px;padding:16px}.network-detail[data-v-f05156b5]{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--color-border-primary);font-size:13px}.network-detail[data-v-f05156b5]:last-child{border-bottom:none}.network-detail .label[data-v-f05156b5]{font-weight:600;color:var(--color-text-secondary)}.network-detail .value[data-v-f05156b5]{font-family:var(--font-family-mono);color:var(--color-text-primary)}.device-info-row[data-v-f05156b5]{display:flex;gap:12px;padding:12px;background:var(--color-surface);border:1px solid var(--color-border-primary);border-radius:6px;font-size:13px}.device-info-row .label[data-v-f05156b5]{font-weight:600;color:var(--color-text-secondary);min-width:100px}.device-info-row .value[data-v-f05156b5]{color:var(--color-text-primary);flex:1}.detail-container[data-v-f05156b5]{padding:16px;background:var(--color-bg-secondary);border-radius:6px}.detail-container h4[data-v-f05156b5]{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0 0 16px}.detail-container h5[data-v-f05156b5]{font-size:14px;font-weight:600;color:var(--color-text-primary);margin:0 0 12px}.detail-grid[data-v-f05156b5]{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:16px}.detail-section[data-v-f05156b5]{background:var(--color-surface);border:1px solid var(--color-border-primary);border-radius:6px;padding:16px}.detail-row[data-v-f05156b5]{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--color-border-primary);font-size:13px}.detail-row[data-v-f05156b5]:last-child{border-bottom:none}.detail-row .label[data-v-f05156b5]{font-weight:600;color:var(--color-text-secondary);min-width:140px}.detail-row .value[data-v-f05156b5]{color:var(--color-text-primary);text-align:right}.count-with-button[data-v-f05156b5]{display:flex;align-items:center;gap:8px}.count-badge[data-v-f05156b5]{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;background:var(--color-bg-primary);border:1px solid var(--color-border-primary);min-width:32px;text-align:center}.count-badge.events[data-v-f05156b5]{background:#dbeafe;color:#1e40af;border-color:#93c5fd}.count-badge.actions[data-v-f05156b5]{background:#e0e7ff;color:#3730a3;border-color:#c7d2fe}.btn-manage[data-v-f05156b5]{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid var(--color-border-primary);background:var(--color-surface);color:var(--color-primary);border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.btn-manage[data-v-f05156b5]:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary);transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.btn-manage svg[data-v-f05156b5]{flex-shrink:0}.section-header[data-v-f05156b5]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.detail-full-row[data-v-f05156b5]{display:flex;gap:12px;padding:12px;background:var(--color-surface);border:1px solid var(--color-border-primary);border-radius:6px;font-size:13px}.detail-full-row .label[data-v-f05156b5]{font-weight:600;color:var(--color-text-secondary);min-width:100px}.detail-full-row .value[data-v-f05156b5]{color:var(--color-text-primary);flex:1}.list-section[data-v-f05156b5]{margin-top:16px}.list-section h5[data-v-f05156b5]{font-size:14px;font-weight:600;color:var(--color-text-primary);margin:0 0 12px}.list-container[data-v-f05156b5]{background:var(--color-surface);border:1px solid var(--color-border-primary);border-radius:6px;padding:8px}.list-item[data-v-f05156b5]{padding:12px;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:4px;margin-bottom:8px}.list-item[data-v-f05156b5]:last-child{margin-bottom:0}.list-item-header[data-v-f05156b5]{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.list-item-name[data-v-f05156b5]{font-weight:600;font-size:13px;color:var(--color-text-primary)}.list-item-type[data-v-f05156b5]{font-family:var(--font-family-mono);font-size:11px;color:var(--color-text-tertiary);margin:4px 0 6px;padding:4px 8px;background:var(--color-bg-primary);border-radius:4px;display:inline-block}.list-item-description[data-v-f05156b5]{font-size:12px;color:var(--color-text-secondary);margin:0;line-height:1.5}.severity-badge[data-v-f05156b5]{display:inline-block;padding:3px 8px;border-radius:10px;font-size:11px;font-weight:600;text-transform:uppercase}.severity-badge.info[data-v-f05156b5]{background:#dbeafe;color:#1e40af}.severity-badge.warning[data-v-f05156b5]{background:#fef3c7;color:#92400e}.severity-badge.error[data-v-f05156b5]{background:#fee2e2;color:#991b1b}.severity-badge.critical[data-v-f05156b5]{background:#fecaca;color:#7f1d1d}.action-type-badge[data-v-f05156b5]{display:inline-block;padding:3px 8px;border-radius:10px;font-size:11px;font-weight:600;text-transform:uppercase}.action-type-badge.command[data-v-f05156b5]{background:#e0e7ff;color:#3730a3}.action-type-badge.script[data-v-f05156b5]{background:#ddd6fe;color:#5b21b6}.action-type-badge.notification[data-v-f05156b5]{background:#d1fae5;color:#065f46}.dialog-overlay[data-v-483cdbd3]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.dialog[data-v-483cdbd3]{background:var(--color-surface);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);width:90%;max-width:500px;max-height:90vh;display:flex;flex-direction:column;border:var(--border-width) solid var(--color-border-primary)}.dialog-header[data-v-483cdbd3]{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg);border-bottom:var(--border-width) solid var(--color-border-primary)}.dialog-header h3[data-v-483cdbd3]{margin:0;font-size:18px;font-weight:600;color:var(--color-text-primary)}.btn-close[data-v-483cdbd3]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--color-text-tertiary);cursor:pointer;border-radius:var(--border-radius-sm);transition:all var(--transition-fast)}.btn-close[data-v-483cdbd3]:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.dialog-content[data-v-483cdbd3]{flex:1;overflow-y:auto;padding:var(--spacing-lg)}.form-group[data-v-483cdbd3]{margin-bottom:var(--spacing-lg)}.form-label[data-v-483cdbd3]{display:block;margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.form-label.required[data-v-483cdbd3]:after{content:" *";color:#ef4444}.form-input[data-v-483cdbd3],.form-select[data-v-483cdbd3],.form-textarea[data-v-483cdbd3]{width:100%;padding:8px 12px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-bg-primary);transition:all var(--transition-fast)}.form-input[data-v-483cdbd3]:focus,.form-select[data-v-483cdbd3]:focus,.form-textarea[data-v-483cdbd3]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.form-select[data-v-483cdbd3]{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23718096' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.form-textarea[data-v-483cdbd3]{resize:vertical;min-height:80px;font-family:inherit}.input-error[data-v-483cdbd3]{border-color:#ef4444}.error-message[data-v-483cdbd3]{display:block;margin-top:var(--spacing-xs);font-size:12px;color:#ef4444}.dialog-footer[data-v-483cdbd3]{display:flex;gap:var(--spacing-md);justify-content:flex-end;padding:var(--spacing-lg);border-top:var(--border-width) solid var(--color-border-primary)}.btn-primary[data-v-483cdbd3],.btn-secondary[data-v-483cdbd3]{padding:8px 16px;border:none;border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.btn-primary[data-v-483cdbd3]{background:var(--color-primary);color:#fff}.btn-primary[data-v-483cdbd3]:hover:not(:disabled){background:#5a6fd8;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-primary[data-v-483cdbd3]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-483cdbd3]{background:var(--color-surface-hover);color:var(--color-text-primary);border:var(--border-width) solid var(--color-border-primary)}.btn-secondary[data-v-483cdbd3]:hover{background:var(--color-border-secondary)}.dialog-overlay[data-v-40f9cdbb]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.dialog[data-v-40f9cdbb]{background:var(--color-surface);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);width:90%;max-width:900px;max-height:90vh;display:flex;flex-direction:column;border:var(--border-width) solid var(--color-border-primary)}.dialog-header[data-v-40f9cdbb]{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg);border-bottom:var(--border-width) solid var(--color-border-primary)}.dialog-header h3[data-v-40f9cdbb]{margin:0;font-size:18px;font-weight:600;color:var(--color-text-primary)}.btn-close[data-v-40f9cdbb]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--color-text-tertiary);cursor:pointer;border-radius:var(--border-radius-sm);transition:all var(--transition-fast)}.btn-close[data-v-40f9cdbb]:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.tabs[data-v-40f9cdbb]{display:flex;gap:4px;padding:8px 16px;background:var(--color-bg-secondary);border-bottom:var(--border-width) solid var(--color-border-primary)}.tab[data-v-40f9cdbb]{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border:none;background:transparent;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s ease;border-radius:var(--border-radius-sm);position:relative;white-space:nowrap}.tab[data-v-40f9cdbb]:hover:not(.active){background:#667eea14;color:var(--color-primary)}.tab.active[data-v-40f9cdbb]{background:var(--color-primary);color:#fff;box-shadow:0 2px 4px #667eea4d}.tab svg[data-v-40f9cdbb]{flex-shrink:0;width:16px;height:16px}.dialog-content[data-v-40f9cdbb]{flex:1;overflow-y:auto;padding:var(--spacing-lg);min-height:400px}.tab-content[data-v-40f9cdbb]{animation:fadeIn-40f9cdbb .2s ease-in}@keyframes fadeIn-40f9cdbb{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.add-section[data-v-40f9cdbb]{margin-bottom:var(--spacing-md);display:flex;justify-content:flex-end}.btn-add[data-v-40f9cdbb]{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:none;background:linear-gradient(135deg,var(--color-primary) 0%,#5a6fd8 100%);color:#fff;border-radius:var(--border-radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast);box-shadow:0 4px 10px #5a6fd840}.btn-add[data-v-40f9cdbb]:hover{transform:translateY(-1px) scale(1.01);box-shadow:0 6px 14px #5a6fd859}.btn-add svg[data-v-40f9cdbb]{width:14px;height:14px}.form-card[data-v-40f9cdbb]{background:var(--color-bg-secondary);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);padding:var(--spacing-md);margin-bottom:var(--spacing-lg)}.form-card h4[data-v-40f9cdbb]{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.form-row[data-v-40f9cdbb]{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.form-group[data-v-40f9cdbb]{margin-bottom:var(--spacing-md)}.form-label[data-v-40f9cdbb]{display:block;margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.form-label.required[data-v-40f9cdbb]:after{content:" *";color:#ef4444}.form-input[data-v-40f9cdbb],.form-textarea[data-v-40f9cdbb]{width:100%;padding:8px 12px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-bg-primary);transition:all var(--transition-fast)}.form-input[data-v-40f9cdbb]:focus,.form-textarea[data-v-40f9cdbb]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.form-textarea[data-v-40f9cdbb]{resize:vertical;min-height:60px;font-family:inherit}.input-error[data-v-40f9cdbb]{border-color:#ef4444}.error-message[data-v-40f9cdbb]{display:block;margin-top:var(--spacing-xs);font-size:12px;color:#ef4444}.form-actions[data-v-40f9cdbb]{display:flex;gap:var(--spacing-sm);justify-content:flex-end;margin-top:var(--spacing-md);margin-bottom:0}.data-table[data-v-40f9cdbb]{min-height:200px}.key-badge[data-v-40f9cdbb]{padding:2px 8px;background:var(--color-bg-primary);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-family:Courier New,monospace;font-size:12px;color:var(--color-primary)}.action-buttons[data-v-40f9cdbb]{display:flex;gap:4px;justify-content:center}.btn-icon[data-v-40f9cdbb]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;cursor:pointer;border-radius:var(--border-radius-sm);transition:all var(--transition-fast)}.btn-icon.btn-edit[data-v-40f9cdbb]{color:var(--color-text-tertiary)}.btn-icon.btn-edit[data-v-40f9cdbb]:hover{background:#e0f2fe;color:#0369a1}.btn-icon.btn-delete[data-v-40f9cdbb]{color:var(--color-text-tertiary)}.btn-icon.btn-delete[data-v-40f9cdbb]:hover{background:#fee;color:#ef4444}.empty-state[data-v-40f9cdbb]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);text-align:center;color:var(--color-text-tertiary)}.empty-state svg[data-v-40f9cdbb]{margin-bottom:var(--spacing-md);opacity:.5}.empty-state p[data-v-40f9cdbb]{margin:0;font-size:var(--font-size-sm)}.loading-state[data-v-40f9cdbb]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);color:var(--color-text-tertiary)}.spinner[data-v-40f9cdbb]{width:32px;height:32px;border:3px solid var(--color-border-primary);border-top-color:var(--color-primary);border-radius:50%;animation:spin-40f9cdbb 1s linear infinite;margin-bottom:var(--spacing-md)}@keyframes spin-40f9cdbb{to{transform:rotate(360deg)}}.loading-state p[data-v-40f9cdbb]{margin:0;font-size:var(--font-size-sm)}.dialog-footer[data-v-40f9cdbb]{display:flex;gap:var(--spacing-md);justify-content:flex-end;padding:var(--spacing-lg);border-top:var(--border-width) solid var(--color-border-primary)}.btn-primary[data-v-40f9cdbb],.btn-secondary[data-v-40f9cdbb]{padding:8px 16px;border:none;border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.btn-sm[data-v-40f9cdbb]{padding:6px 12px;font-size:13px}.btn-primary[data-v-40f9cdbb]{background:var(--color-primary);color:#fff}.btn-primary[data-v-40f9cdbb]:hover:not(:disabled){background:#5a6fd8;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-primary[data-v-40f9cdbb]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-40f9cdbb]{background:var(--color-surface-hover);color:var(--color-text-primary);border:var(--border-width) solid var(--color-border-primary)}.btn-secondary[data-v-40f9cdbb]:hover{background:var(--color-border-secondary)}.function-buttons[data-v-cb000a89]{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.btn-function[data-v-cb000a89]{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.btn-function[data-v-cb000a89]:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-add[data-v-cb000a89]{background:var(--color-primary);color:#fff}.btn-add[data-v-cb000a89]:hover{background:#5a6fd8}.filters-bar[data-v-cb000a89]{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-secondary);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-md)}.filter-group[data-v-cb000a89]{display:flex;align-items:center;gap:var(--spacing-sm);position:relative}.filter-group.search-group[data-v-cb000a89]{flex:1;max-width:500px}.filter-group label[data-v-cb000a89]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);white-space:nowrap}.filter-input[data-v-cb000a89]{padding:6px 12px 6px 36px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);width:100%;transition:all var(--transition-fast)}.filter-group:has(.filter-input) svg[data-v-cb000a89]{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--color-text-tertiary);pointer-events:none;z-index:1}.filter-input[data-v-cb000a89]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.filter-select[data-v-cb000a89]{padding:6px 32px 6px 12px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);cursor:pointer;transition:all var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23718096' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.filter-select[data-v-cb000a89]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.btn-filter-reset[data-v-cb000a89]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);cursor:pointer;color:var(--color-text-tertiary);transition:all var(--transition-fast);flex-shrink:0}.btn-filter-reset[data-v-cb000a89]:hover{background:var(--color-surface-hover);color:var(--color-text-primary);border-color:var(--color-border-secondary)}.filters-bar .btn-add-icon[data-v-cb000a89]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin-left:auto;background:var(--color-primary);color:#fff;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.filters-bar .btn-add-icon[data-v-cb000a89]:hover{background:#5a6fd8;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.data-table[data-v-cb000a89]{flex:1;overflow:auto}.data-table[data-v-cb000a89] .col-actions,.data-table[data-v-cb000a89] .col-manage{position:sticky;right:0;background:var(--color-bg-primary);z-index:1}.data-table[data-v-cb000a89] .table-row:hover .col-actions,.data-table[data-v-cb000a89] .table-row:hover .col-manage,.data-table[data-v-cb000a89] .table-row.expanded .col-actions,.data-table[data-v-cb000a89] .table-row.expanded .col-manage{background:var(--color-surface-hover)}.data-table[data-v-cb000a89] .col-header.col-actions,.data-table[data-v-cb000a89] .col-header.col-manage{background:var(--color-bg-secondary);z-index:2}.action-buttons[data-v-cb000a89]{display:flex;gap:8px}.btn-action[data-v-cb000a89]{padding:6px 12px;border:none;border-radius:var(--border-radius-sm);font-size:12px;font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn-action[data-v-cb000a89]:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-edit[data-v-cb000a89]{background:#3b82f6;color:#fff}.btn-edit[data-v-cb000a89]:hover{background:#2563eb}.btn-delete[data-v-cb000a89]{background:#ef4444;color:#fff}.btn-delete[data-v-cb000a89]:hover{background:#dc2626}.btn-manage[data-v-cb000a89]{background:#10b981;color:#fff}.btn-manage[data-v-cb000a89]:hover{background:#059669}.action-buttons-icon[data-v-cb000a89]{display:flex;gap:6px;justify-content:flex-end}.btn-action-icon[data-v-cb000a89]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.btn-action-icon[data-v-cb000a89]:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-action-icon.btn-edit[data-v-cb000a89]{background:#3b82f6;color:#fff}.btn-action-icon.btn-edit[data-v-cb000a89]:hover{background:#2563eb}.btn-action-icon.btn-delete[data-v-cb000a89]{background:#ef4444;color:#fff}.btn-action-icon.btn-delete[data-v-cb000a89]:hover{background:#dc2626}.btn-action-icon.btn-manage[data-v-cb000a89]{background:#10b981;color:#fff}.btn-action-icon.btn-manage[data-v-cb000a89]:hover{background:#059669}.device-count-badge[data-v-cb000a89]{display:inline-block;padding:4px 10px;background:#dbeafe;color:#1e40af;border-radius:12px;font-size:12px;font-weight:600}.count-badge[data-v-cb000a89]{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}.count-badge.events[data-v-cb000a89]{background:#fef3c7;color:#92400e}.count-badge.actions[data-v-cb000a89]{background:#d1fae5;color:#065f46}.zone-info[data-v-cb000a89]{display:flex;flex-direction:column;gap:2px}.zone-code[data-v-cb000a89]{font-family:var(--font-family-mono);color:var(--color-text-tertiary);font-size:11px}.zone-name[data-v-cb000a89]{color:var(--color-text-primary);font-weight:500;font-size:13px}.expanded-content[data-v-cb000a89]{padding:0}.expanded-content h4[data-v-cb000a89]{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0 0 16px}.expanded-content h5[data-v-cb000a89]{font-size:14px;font-weight:600;color:var(--color-text-primary);margin:0 0 12px}.network-grid[data-v-cb000a89]{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:16px}.network-section[data-v-cb000a89]{background:var(--color-surface);border:1px solid var(--color-border-primary);border-radius:6px;padding:16px}.network-detail[data-v-cb000a89]{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--color-border-primary);font-size:13px}.network-detail[data-v-cb000a89]:last-child{border-bottom:none}.network-detail .label[data-v-cb000a89]{font-weight:600;color:var(--color-text-secondary)}.network-detail .value[data-v-cb000a89]{font-family:var(--font-family-mono);color:var(--color-text-primary)}.device-info-row[data-v-cb000a89]{display:flex;gap:12px;padding:12px;background:var(--color-surface);border:1px solid var(--color-border-primary);border-radius:6px;font-size:13px}.device-info-row .label[data-v-cb000a89]{font-weight:600;color:var(--color-text-secondary);min-width:100px}.device-info-row .value[data-v-cb000a89]{color:var(--color-text-primary);flex:1}.dialog-overlay[data-v-8b8abc55]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.dialog[data-v-8b8abc55]{background:var(--color-surface);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);width:90%;max-width:900px;max-height:90vh;display:flex;flex-direction:column;border:var(--border-width) solid var(--color-border-primary)}.dialog-header[data-v-8b8abc55]{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg);border-bottom:var(--border-width) solid var(--color-border-primary)}.dialog-header h3[data-v-8b8abc55]{margin:0;font-size:18px;font-weight:600;color:var(--color-text-primary)}.btn-close[data-v-8b8abc55]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--color-text-tertiary);cursor:pointer;border-radius:var(--border-radius-sm);transition:all var(--transition-fast)}.btn-close[data-v-8b8abc55]:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.dialog-content[data-v-8b8abc55]{flex:1;overflow-y:auto;padding:var(--spacing-lg)}.section-title[data-v-8b8abc55]{margin-top:var(--spacing-lg);margin-bottom:var(--spacing-md);font-size:14px;font-weight:600;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border-primary);padding-bottom:var(--spacing-xs)}.form-row[data-v-8b8abc55]{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.form-group[data-v-8b8abc55]{margin-bottom:var(--spacing-lg)}.form-label[data-v-8b8abc55]{display:block;margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.form-label.required[data-v-8b8abc55]:after{content:" *";color:#ef4444}.form-input[data-v-8b8abc55],.form-select[data-v-8b8abc55],.form-textarea[data-v-8b8abc55]{width:100%;padding:8px 12px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-bg-primary);transition:all var(--transition-fast)}.form-input[data-v-8b8abc55]:focus,.form-select[data-v-8b8abc55]:focus,.form-textarea[data-v-8b8abc55]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.form-select[data-v-8b8abc55]{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23718096' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.form-textarea[data-v-8b8abc55]{resize:vertical;min-height:60px;font-family:inherit}.form-code[data-v-8b8abc55]{font-family:var(--font-family-mono, "Courier New", monospace);font-size:13px}.input-error[data-v-8b8abc55]{border-color:#ef4444}.error-message[data-v-8b8abc55]{display:block;margin-top:var(--spacing-xs);font-size:12px;color:#ef4444}.help-text[data-v-8b8abc55]{display:block;margin-top:var(--spacing-xs);font-size:12px;color:var(--color-text-tertiary);font-style:italic}.dialog-footer[data-v-8b8abc55]{display:flex;gap:var(--spacing-md);justify-content:flex-end;padding:var(--spacing-lg);border-top:var(--border-width) solid var(--color-border-primary)}.btn-primary[data-v-8b8abc55],.btn-secondary[data-v-8b8abc55]{padding:8px 16px;border:none;border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.btn-primary[data-v-8b8abc55]{background:var(--color-primary);color:#fff}.btn-primary[data-v-8b8abc55]:hover:not(:disabled){background:#5a6fd8;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-primary[data-v-8b8abc55]:disabled{opacity:.5;cursor:not-allowed}.btn-secondary[data-v-8b8abc55]{background:var(--color-surface-hover);color:var(--color-text-primary);border:var(--border-width) solid var(--color-border-primary)}.btn-secondary[data-v-8b8abc55]:hover{background:var(--color-border-secondary)}.function-buttons[data-v-de7bc96c]{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.btn-function[data-v-de7bc96c]{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.btn-function[data-v-de7bc96c]:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-add[data-v-de7bc96c]{background:var(--color-primary);color:#fff}.btn-add[data-v-de7bc96c]:hover{background:#5a6fd8}.filters-bar[data-v-de7bc96c]{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-secondary);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-md)}.filter-group[data-v-de7bc96c]{display:flex;align-items:center;gap:var(--spacing-sm);position:relative}.filter-group.search-group[data-v-de7bc96c]{flex:1;max-width:500px}.filter-group label[data-v-de7bc96c]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);white-space:nowrap}.filter-input[data-v-de7bc96c]{padding:6px 12px 6px 36px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);width:100%;transition:all var(--transition-fast)}.filter-group:has(.filter-input) svg[data-v-de7bc96c]{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--color-text-tertiary);pointer-events:none;z-index:1}.filter-input[data-v-de7bc96c]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.filter-select[data-v-de7bc96c]{padding:6px 32px 6px 12px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);cursor:pointer;transition:all var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23718096' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.filter-select[data-v-de7bc96c]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.btn-filter-reset[data-v-de7bc96c]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);cursor:pointer;color:var(--color-text-tertiary);transition:all var(--transition-fast);flex-shrink:0}.btn-filter-reset[data-v-de7bc96c]:hover{background:var(--color-surface-hover);color:var(--color-text-primary);border-color:var(--color-border-secondary)}.filters-bar .btn-add-icon[data-v-de7bc96c]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin-left:auto;background:var(--color-primary);color:#fff;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.filters-bar .btn-add-icon[data-v-de7bc96c]:hover{background:#5a6fd8;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.data-table[data-v-de7bc96c]{flex:1;overflow:auto}.data-table[data-v-de7bc96c] .col-actions,.data-table[data-v-de7bc96c] .col-manage{position:sticky;right:0;background:var(--color-bg-primary);z-index:1}.data-table[data-v-de7bc96c] .table-row:hover .col-actions,.data-table[data-v-de7bc96c] .table-row:hover .col-manage,.data-table[data-v-de7bc96c] .table-row.expanded .col-actions,.data-table[data-v-de7bc96c] .table-row.expanded .col-manage{background:var(--color-surface-hover)}.data-table[data-v-de7bc96c] .col-header.col-actions,.data-table[data-v-de7bc96c] .col-header.col-manage{background:var(--color-bg-secondary);z-index:2}.action-buttons[data-v-de7bc96c]{display:flex;gap:8px}.btn-action[data-v-de7bc96c]{padding:6px 12px;border:none;border-radius:var(--border-radius-sm);font-size:12px;font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn-action[data-v-de7bc96c]:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-edit[data-v-de7bc96c]{background:#3b82f6;color:#fff}.btn-edit[data-v-de7bc96c]:hover{background:#2563eb}.btn-delete[data-v-de7bc96c]{background:#ef4444;color:#fff}.btn-delete[data-v-de7bc96c]:hover{background:#dc2626}.btn-manage[data-v-de7bc96c]{background:#10b981;color:#fff}.btn-manage[data-v-de7bc96c]:hover{background:#059669}.action-buttons-icon[data-v-de7bc96c]{display:flex;gap:6px;justify-content:flex-end}.btn-action-icon[data-v-de7bc96c]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.btn-action-icon[data-v-de7bc96c]:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-action-icon.btn-edit[data-v-de7bc96c]{background:#3b82f6;color:#fff}.btn-action-icon.btn-edit[data-v-de7bc96c]:hover{background:#2563eb}.btn-action-icon.btn-delete[data-v-de7bc96c]{background:#ef4444;color:#fff}.btn-action-icon.btn-delete[data-v-de7bc96c]:hover{background:#dc2626}.btn-action-icon.btn-manage[data-v-de7bc96c]{background:#10b981;color:#fff}.btn-action-icon.btn-manage[data-v-de7bc96c]:hover{background:#059669}.device-count-badge[data-v-de7bc96c]{display:inline-block;padding:4px 10px;background:#dbeafe;color:#1e40af;border-radius:12px;font-size:12px;font-weight:600}.count-badge[data-v-de7bc96c]{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}.count-badge.events[data-v-de7bc96c]{background:#fef3c7;color:#92400e}.count-badge.actions[data-v-de7bc96c]{background:#d1fae5;color:#065f46}.zone-info[data-v-de7bc96c]{display:flex;flex-direction:column;gap:2px}.zone-code[data-v-de7bc96c]{font-family:var(--font-family-mono);color:var(--color-text-tertiary);font-size:11px}.zone-name[data-v-de7bc96c]{color:var(--color-text-primary);font-weight:500;font-size:13px}.expanded-content[data-v-de7bc96c]{padding:0}.expanded-content h4[data-v-de7bc96c]{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0 0 16px}.expanded-content h5[data-v-de7bc96c]{font-size:14px;font-weight:600;color:var(--color-text-primary);margin:0 0 12px}.network-grid[data-v-de7bc96c]{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:16px}.network-section[data-v-de7bc96c]{background:var(--color-surface);border:1px solid var(--color-border-primary);border-radius:6px;padding:16px}.network-detail[data-v-de7bc96c]{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--color-border-primary);font-size:13px}.network-detail[data-v-de7bc96c]:last-child{border-bottom:none}.network-detail .label[data-v-de7bc96c]{font-weight:600;color:var(--color-text-secondary)}.network-detail .value[data-v-de7bc96c]{font-family:var(--font-family-mono);color:var(--color-text-primary)}.device-info-row[data-v-de7bc96c]{display:flex;gap:12px;padding:12px;background:var(--color-surface);border:1px solid var(--color-border-primary);border-radius:6px;font-size:13px}.device-info-row .label[data-v-de7bc96c]{font-weight:600;color:var(--color-text-secondary);min-width:100px}.device-info-row .value[data-v-de7bc96c]{color:var(--color-text-primary);flex:1}.status-badge[data-v-de7bc96c]{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;text-transform:capitalize}.status-online[data-v-de7bc96c]{background-color:#10b981;color:#fff}.status-offline[data-v-de7bc96c]{background-color:#6b7280;color:#fff}.status-error[data-v-de7bc96c]{background-color:#ef4444;color:#fff}.function-buttons[data-v-4f09d1af]{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.btn-function[data-v-4f09d1af]{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.btn-function[data-v-4f09d1af]:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-add[data-v-4f09d1af]{background:var(--color-primary);color:#fff}.btn-add[data-v-4f09d1af]:hover{background:#5a6fd8}.filters-bar[data-v-4f09d1af]{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-secondary);border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-md)}.filter-group[data-v-4f09d1af]{display:flex;align-items:center;gap:var(--spacing-sm);position:relative}.filter-group.search-group[data-v-4f09d1af]{flex:1;max-width:500px}.filter-group label[data-v-4f09d1af]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);white-space:nowrap}.filter-input[data-v-4f09d1af]{padding:6px 12px 6px 36px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);width:100%;transition:all var(--transition-fast)}.filter-group:has(.filter-input) svg[data-v-4f09d1af]{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--color-text-tertiary);pointer-events:none;z-index:1}.filter-input[data-v-4f09d1af]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.filter-select[data-v-4f09d1af]{padding:6px 32px 6px 12px;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);cursor:pointer;transition:all var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23718096' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.filter-select[data-v-4f09d1af]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.btn-filter-reset[data-v-4f09d1af]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:var(--border-width) solid var(--color-border-primary);border-radius:var(--border-radius-sm);cursor:pointer;color:var(--color-text-tertiary);transition:all var(--transition-fast);flex-shrink:0}.btn-filter-reset[data-v-4f09d1af]:hover{background:var(--color-surface-hover);color:var(--color-text-primary);border-color:var(--color-border-secondary)}.filters-bar .btn-add-icon[data-v-4f09d1af]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin-left:auto;background:var(--color-primary);color:#fff;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.filters-bar .btn-add-icon[data-v-4f09d1af]:hover{background:#5a6fd8;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.data-table[data-v-4f09d1af]{flex:1;overflow:auto}.data-table[data-v-4f09d1af] .col-actions,.data-table[data-v-4f09d1af] .col-manage{position:sticky;right:0;background:var(--color-bg-primary);z-index:1}.data-table[data-v-4f09d1af] .table-row:hover .col-actions,.data-table[data-v-4f09d1af] .table-row:hover .col-manage,.data-table[data-v-4f09d1af] .table-row.expanded .col-actions,.data-table[data-v-4f09d1af] .table-row.expanded .col-manage{background:var(--color-surface-hover)}.data-table[data-v-4f09d1af] .col-header.col-actions,.data-table[data-v-4f09d1af] .col-header.col-manage{background:var(--color-bg-secondary);z-index:2}.action-buttons[data-v-4f09d1af]{display:flex;gap:8px}.btn-action[data-v-4f09d1af]{padding:6px 12px;border:none;border-radius:var(--border-radius-sm);font-size:12px;font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn-action[data-v-4f09d1af]:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-edit[data-v-4f09d1af]{background:#3b82f6;color:#fff}.btn-edit[data-v-4f09d1af]:hover{background:#2563eb}.btn-delete[data-v-4f09d1af]{background:#ef4444;color:#fff}.btn-delete[data-v-4f09d1af]:hover{background:#dc2626}.btn-manage[data-v-4f09d1af]{background:#10b981;color:#fff}.btn-manage[data-v-4f09d1af]:hover{background:#059669}.action-buttons-icon[data-v-4f09d1af]{display:flex;gap:6px;justify-content:flex-end}.btn-action-icon[data-v-4f09d1af]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.btn-action-icon[data-v-4f09d1af]:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-action-icon.btn-edit[data-v-4f09d1af]{background:#3b82f6;color:#fff}.btn-action-icon.btn-edit[data-v-4f09d1af]:hover{background:#2563eb}.btn-action-icon.btn-delete[data-v-4f09d1af]{background:#ef4444;color:#fff}.btn-action-icon.btn-delete[data-v-4f09d1af]:hover{background:#dc2626}.btn-action-icon.btn-manage[data-v-4f09d1af]{background:#10b981;color:#fff}.btn-action-icon.btn-manage[data-v-4f09d1af]:hover{background:#059669}.device-count-badge[data-v-4f09d1af]{display:inline-block;padding:4px 10px;background:#dbeafe;color:#1e40af;border-radius:12px;font-size:12px;font-weight:600}.count-badge[data-v-4f09d1af]{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}.count-badge.events[data-v-4f09d1af]{background:#fef3c7;color:#92400e}.count-badge.actions[data-v-4f09d1af]{background:#d1fae5;color:#065f46}.zone-info[data-v-4f09d1af]{display:flex;flex-direction:column;gap:2px}.zone-code[data-v-4f09d1af]{font-family:var(--font-family-mono);color:var(--color-text-tertiary);font-size:11px}.zone-name[data-v-4f09d1af]{color:var(--color-text-primary);font-weight:500;font-size:13px}.expanded-content[data-v-4f09d1af]{padding:0}.expanded-content h4[data-v-4f09d1af]{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0 0 16px}.expanded-content h5[data-v-4f09d1af]{font-size:14px;font-weight:600;color:var(--color-text-primary);margin:0 0 12px}.network-grid[data-v-4f09d1af]{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:16px}.network-section[data-v-4f09d1af]{background:var(--color-surface);border:1px solid var(--color-border-primary);border-radius:6px;padding:16px}.network-detail[data-v-4f09d1af]{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--color-border-primary);font-size:13px}.network-detail[data-v-4f09d1af]:last-child{border-bottom:none}.network-detail .label[data-v-4f09d1af]{font-weight:600;color:var(--color-text-secondary)}.network-detail .value[data-v-4f09d1af]{font-family:var(--font-family-mono);color:var(--color-text-primary)}.device-info-row[data-v-4f09d1af]{display:flex;gap:12px;padding:12px;background:var(--color-surface);border:1px solid var(--color-border-primary);border-radius:6px;font-size:13px}.device-info-row .label[data-v-4f09d1af]{font-weight:600;color:var(--color-text-secondary);min-width:100px}.device-info-row .value[data-v-4f09d1af]{color:var(--color-text-primary);flex:1}.device-page[data-v-4f09d1af]{width:100%;height:100%;padding:0;background:var(--color-bg-primary)}.page-card[data-v-4f09d1af]{width:100%;height:100%;background:var(--color-surface);border-radius:8px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;overflow:hidden}.page-header[data-v-4f09d1af]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border-primary)}.header-content h1[data-v-4f09d1af]{font-size:24px;font-weight:700;color:var(--color-text-primary);margin:0 0 4px}.subtitle[data-v-4f09d1af]{font-size:14px;color:var(--color-text-tertiary);margin:0}.tabs[data-v-4f09d1af]{display:flex;gap:var(--spacing-xs);padding:0 var(--spacing-lg);border-bottom:var(--border-width) solid var(--color-border-primary);background:var(--color-bg-secondary)}.tab[data-v-4f09d1af]{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;flex-shrink:0}.tab[data-v-4f09d1af]:hover{color:var(--color-text-primary);background:var(--color-surface-hover)}.tab.active[data-v-4f09d1af]{color:var(--color-primary);border-bottom-color:var(--color-primary);background:var(--color-surface)}.tab-content[data-v-4f09d1af]{flex:1;overflow:auto;padding:0}.tab-section[data-v-4f09d1af]{display:flex;flex-direction:column;gap:var(--spacing-lg);height:100%;padding:var(--spacing-lg)}:root{--color-primary: #667eea;--color-primary-dark: #5a67d8;--color-primary-light: #7c8ef5;--color-primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--color-secondary: #764ba2;--color-secondary-dark: #6b4294;--color-secondary-light: #8559b0;--color-bg-primary: #ffffff;--color-bg-secondary: #f7fafc;--color-bg-tertiary: #edf2f7;--color-bg-elevated: #ffffff;--color-bg-overlay: rgba(0, 0, 0, .5);--color-surface: #ffffff;--color-surface-hover: #f7fafc;--color-surface-active: #edf2f7;--color-text-primary: #1a202c;--color-text-secondary: #4a5568;--color-text-tertiary: #718096;--color-text-disabled: #a0aec0;--color-text-inverse: #ffffff;--color-border-primary: #e2e8f0;--color-border-secondary: #cbd5e0;--color-border-focus: #667eea;--color-success: #48bb78;--color-success-light: #9ae6b4;--color-success-dark: #38a169;--color-warning: #ed8936;--color-warning-light: #fbd38d;--color-warning-dark: #dd6b20;--color-error: #ef4444;--color-error-light: #fc8181;--color-error-dark: #c53030;--color-info: #4299e1;--color-info-light: #90cdf4;--color-info-dark: #3182ce;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--font-family-base: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--font-family-mono: "IBM Plex Mono", "Monaco", "Courier New", monospace;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 30px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--border-width: 1px;--border-width-thick: 2px;--border-radius-sm: 4px;--border-radius-md: 8px;--border-radius-lg: 12px;--border-radius-xl: 16px;--border-radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .35s ease;--z-index-dropdown: 1000;--z-index-sticky: 1020;--z-index-fixed: 1030;--z-index-modal-backdrop: 1040;--z-index-modal: 1050;--z-index-popover: 1060;--z-index-tooltip: 1070;--header-height: 48px;--sidebar-width: 280px;--sidebar-collapsed-width: 0px;--notification-sidebar-width: 380px;--diagram-bg-canvas: #f8f9fa;--diagram-text-canvas: #1a202c;--diagram-grid-color: #d0d5dd;--diagram-grid-axis-color: #667eea;--diagram-selection-stroke: #667eea;--diagram-selection-fill: rgba(102, 126, 234, .1)}[data-theme=dark],.dark-theme{--color-bg-primary: #1a202c;--color-bg-secondary: #2d3748;--color-bg-tertiary: #374151;--color-bg-elevated: #2d3748;--color-bg-overlay: rgba(0, 0, 0, .7);--color-surface: #2d3748;--color-surface-hover: #374151;--color-surface-active: #4a5568;--color-text-primary: #f7fafc;--color-text-secondary: #e2e8f0;--color-text-tertiary: #cbd5e0;--color-text-disabled: #718096;--color-text-inverse: #1a202c;--color-border-primary: #4a5568;--color-border-secondary: #718096;--color-border-focus: #7c8ef5;--color-success: #68d391;--color-success-light: #9ae6b4;--color-success-dark: #48bb78;--color-warning: #f6ad55;--color-warning-light: #fbd38d;--color-warning-dark: #ed8936;--color-error: #fc8181;--color-error-light: #feb2b2;--color-error-dark: #ef4444;--color-info: #63b3ed;--color-info-light: #90cdf4;--color-info-dark: #4299e1;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -1px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -2px rgba(0, 0, 0, .3);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .4), 0 10px 10px -5px rgba(0, 0, 0, .3);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .5);--diagram-bg-canvas: #1e293b;--diagram-text-canvas: #f1f5f9;--diagram-grid-color: #334155;--diagram-grid-axis-color: #7c8ef5;--diagram-selection-stroke: #7c8ef5;--diagram-selection-fill: rgba(124, 142, 245, .15)}*{margin:0;padding:0;box-sizing:border-box}html,body{font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-primary);overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{transition:background-color var(--transition-base),color var(--transition-base)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-border-secondary);border-radius:var(--border-radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}*:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}::selection{background-color:var(--color-primary-light);color:var(--color-text-inverse)}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.bg-primary{background-color:var(--color-bg-primary)}.bg-secondary{background-color:var(--color-bg-secondary)}.surface{background-color:var(--color-surface)}.border{border:var(--border-width) solid var(--color-border-primary)}.rounded{border-radius:var(--border-radius-md)}.shadow{box-shadow:var(--shadow-md)}.transition{transition:all var(--transition-base)}:root{--flow-bg-canvas: var(--color-bg-secondary);--flow-bg-node: var(--color-surface);--flow-bg-toolbar: var(--color-surface);--flow-bg-palette: var(--color-surface);--flow-border-node: var(--color-border-primary);--flow-border-active: var(--color-primary);--flow-border-hover: var(--color-primary-light);--flow-text-primary: var(--color-text-primary);--flow-text-secondary: var(--color-text-secondary);--flow-text-inverse: var(--color-text-inverse);--flow-grid-minor: #e2e8f0;--flow-grid-snap: #cbd5e1;--flow-grid-dots: #94a3b8;--flow-handle-source: #3b82f6;--flow-handle-target: #10b981;--flow-edge-default: var(--color-border-secondary);--flow-edge-active: var(--color-primary);--flow-edge-hover: var(--color-primary-light);--flow-node-device: #8b5cf6;--flow-node-system: #3b82f6;--flow-node-logic: #f59e0b;--flow-node-count: #10b981;--flow-state-active: var(--color-primary);--flow-state-running: var(--color-success);--flow-state-error: var(--color-error);--flow-state-warning: var(--color-warning);--flow-shadow-node: var(--shadow-md);--flow-shadow-node-hover: var(--shadow-lg);--flow-shadow-toolbar: var(--shadow-md)}[data-theme=dark]{--flow-grid-minor: #475569;--flow-grid-snap: #334155;--flow-grid-dots: #64748b;--flow-handle-source: #60a5fa;--flow-handle-target: #34d399;--flow-edge-default: #475569}.flow-page-wrapper{width:100%;height:100%;background:var(--flow-bg-canvas);position:relative;overflow:hidden}body.flow-page-active svg{width:auto!important;height:auto!important}.flow-page-wrapper .vue-flow__handle-right,.flow-page-wrapper .vue-flow__handle.source{background:var(--flow-handle-source)!important;border:2px solid var(--flow-bg-node)!important;width:12px!important;height:12px!important;border-radius:50%!important;cursor:crosshair!important;z-index:100!important;transition:box-shadow var(--transition-fast)!important}.flow-page-wrapper .vue-flow__handle-left,.flow-page-wrapper .vue-flow__handle.target{background:var(--flow-handle-target)!important;border:2px solid var(--flow-bg-node)!important;width:12px!important;height:12px!important;border-radius:50%!important;cursor:crosshair!important;z-index:100!important;transition:box-shadow var(--transition-fast)!important}.flow-page-wrapper .vue-flow__handle:hover{box-shadow:0 0 0 4px var(--flow-bg-canvas),0 0 0 6px var(--flow-border-hover)!important}.flow-page-wrapper .vue-flow__handle.connecting,.flow-page-wrapper .vue-flow__handle.connectable{box-shadow:0 0 0 4px var(--flow-bg-canvas),0 0 0 6px var(--flow-state-active)!important}.flow-page-wrapper .vue-flow__edge-path{stroke:var(--flow-edge-default)!important;stroke-width:2px!important;transition:stroke var(--transition-fast)!important}.flow-page-wrapper .vue-flow__edge:hover .vue-flow__edge-path{stroke:var(--flow-edge-hover)!important;stroke-width:3px!important}.flow-page-wrapper .vue-flow__edge.selected .vue-flow__edge-path{stroke:var(--flow-edge-active)!important;stroke-width:3px!important}.flow-page-wrapper .vue-flow__edge-textbg{fill:var(--flow-bg-node)!important}.flow-page-wrapper .vue-flow__edge-text{fill:var(--flow-text-primary)!important;font-size:var(--font-size-xs)!important}.flow-node-base{background:var(--flow-bg-node);border:2px solid var(--flow-border-node);border-radius:var(--border-radius-lg);padding:var(--spacing-md);min-width:160px;box-shadow:var(--flow-shadow-node);transition:all var(--transition-fast)}.flow-node-base:hover{box-shadow:var(--flow-shadow-node-hover);border-color:var(--flow-border-hover)}.flow-node-base.selected{border-color:var(--flow-border-active);box-shadow:0 0 0 3px var(--flow-border-active)}.flow-node-header{display:flex;align-items:center;gap:var(--spacing-sm);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--flow-border-node);margin-bottom:var(--spacing-sm)}.flow-node-icon{width:20px;height:20px;color:var(--flow-text-secondary)}.flow-node-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--flow-text-primary);flex:1}.flow-node-body{color:var(--flow-text-secondary);font-size:var(--font-size-xs)}.flow-node-device{border-color:var(--flow-node-device)}.flow-node-system{border-color:var(--flow-node-system)}.flow-node-logic{border-color:var(--flow-node-logic)}.flow-node-count{border-color:var(--flow-node-count)}.flow-toolbar{position:absolute;top:var(--spacing-md);left:50%;transform:translate(-50%);background:var(--flow-bg-toolbar);border:1px solid var(--flow-border-node);border-radius:var(--border-radius-xl);padding:var(--spacing-sm);display:flex;gap:var(--spacing-xs);box-shadow:var(--flow-shadow-toolbar);z-index:var(--z-index-fixed)}.flow-toolbar-button{background:transparent;border:none;color:var(--flow-text-primary);padding:var(--spacing-sm);border-radius:var(--border-radius-md);cursor:pointer;display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);transition:all var(--transition-fast)}.flow-toolbar-button:hover{background:var(--color-surface-hover)}.flow-toolbar-button.active{background:var(--flow-state-active);color:var(--flow-text-inverse)}.flow-palette{position:absolute;left:var(--spacing-md);top:var(--spacing-md);width:240px;max-height:calc(100% - var(--spacing-lg) * 2);background:var(--flow-bg-palette);border:1px solid var(--flow-border-node);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;display:flex;flex-direction:column;z-index:var(--z-index-dropdown)}.flow-palette-header{padding:var(--spacing-md);border-bottom:1px solid var(--flow-border-node);font-weight:var(--font-weight-semibold);color:var(--flow-text-primary)}.flow-palette-content{flex:1;overflow-y:auto;padding:var(--spacing-sm)}.flow-palette-item{background:var(--color-surface-hover);border:1px solid var(--flow-border-node);border-radius:var(--border-radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-sm);cursor:grab;transition:all var(--transition-fast)}.flow-palette-item:hover{background:var(--color-surface-active);border-color:var(--flow-border-hover);transform:translate(4px)}.flow-palette-item:active{cursor:grabbing}.vue-flow__minimap{background:var(--flow-bg-node)!important;border:1px solid var(--flow-border-node)!important;border-radius:var(--border-radius-md)!important}.vue-flow__minimap-node{fill:var(--flow-text-secondary)!important;stroke:var(--flow-border-node)!important}.vue-flow__controls{background:var(--flow-bg-toolbar)!important;border:1px solid var(--flow-border-node)!important;border-radius:var(--border-radius-md)!important;box-shadow:var(--shadow-md)!important}.vue-flow__controls-button{background:transparent!important;color:var(--flow-text-primary)!important;border-bottom:1px solid var(--flow-border-node)!important;transition:all var(--transition-fast)!important}.vue-flow__controls-button:hover{background:var(--color-surface-hover)!important}.vue-flow__controls-button:last-child{border-bottom:none!important}.flow-fade-enter-active,.flow-fade-leave-active{transition:opacity var(--transition-base)}.flow-fade-enter-from,.flow-fade-leave-to{opacity:0}@media (max-width: 768px){.flow-palette{width:200px}.flow-toolbar{left:var(--spacing-md);transform:none}}:root{--diagram-bg-canvas: #ffffff;--diagram-bg-panel: var(--color-surface);--diagram-bg-palette: var(--color-surface);--diagram-bg-toolbar: var(--color-surface);--diagram-border-element: var(--color-border-primary);--diagram-border-selected: var(--color-primary);--diagram-border-hover: var(--color-primary-light);--diagram-border-panel: var(--color-border-primary);--diagram-text-primary: var(--color-text-primary);--diagram-text-secondary: var(--color-text-secondary);--diagram-text-inverse: var(--color-text-inverse);--diagram-text-canvas: #1a1a1a;--diagram-grid-color: rgba(0, 0, 0, .1);--diagram-grid-axis-color: #667eea;--diagram-grid-snap: rgba(102, 126, 234, .3);--diagram-element-line: #3b82f6;--diagram-element-shape: #8b5cf6;--diagram-element-text: #1a1a1a;--diagram-element-pipe: #64748b;--diagram-element-pump: #3b82f6;--diagram-element-tank: #0ea5e9;--diagram-element-valve: #f59e0b;--diagram-connection-point: #10b981;--diagram-connection-active: #34d399;--diagram-connection-hover: #6ee7b7;--diagram-state-active: var(--color-primary);--diagram-state-running: var(--color-success);--diagram-state-stopped: var(--color-error);--diagram-state-warning: var(--color-warning);--diagram-state-idle: var(--color-text-tertiary);--diagram-selection-fill: rgba(102, 126, 234, .1);--diagram-selection-stroke: var(--color-primary);--diagram-resize-handle: var(--color-primary);--diagram-resize-handle-hover: var(--color-primary-light);--diagram-shadow-element: 0 2px 8px rgba(0, 0, 0, .3);--diagram-shadow-panel: var(--shadow-lg);--diagram-shadow-toolbar: var(--shadow-md)}[data-theme=dark]{--diagram-bg-canvas: #0f0f0f;--diagram-text-canvas: #ffffff;--diagram-element-text: #ffffff;--diagram-grid-color: rgba(255, 255, 255, .15);--diagram-grid-axis-color: #667eea;--diagram-connection-point: #34d399;--diagram-connection-active: #6ee7b7}[data-theme=light]{--diagram-bg-canvas: #ffffff;--diagram-text-canvas: #1a1a1a;--diagram-element-text: #1a1a1a;--diagram-grid-color: rgba(0, 0, 0, .1);--diagram-grid-axis-color: #667eea}.app{display:flex;flex-direction:column;height:100vh;background:var(--diagram-bg-canvas);color:var(--diagram-text-canvas)}.app-content{display:flex;flex:1;overflow:hidden;position:relative}.diagram-canvas{flex:1;position:relative;background:var(--diagram-bg-canvas);overflow:hidden;cursor:crosshair}.diagram-canvas.mode-pan{cursor:grab}.diagram-canvas.mode-pan:active{cursor:grabbing}.diagram-canvas.mode-view{cursor:default}.diagram-canvas-grid{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.diagram-grid-line-major{stroke:var(--diagram-grid-major);stroke-width:1}.diagram-grid-line-minor{stroke:var(--diagram-grid-minor);stroke-width:.5}.diagram-grid-dot{fill:var(--diagram-grid-minor)}.diagram-element{cursor:move;transition:filter var(--transition-fast)}.diagram-element:hover{filter:brightness(1.1)}.diagram-element.selected{filter:brightness(1.2)}.diagram-element.dragging{opacity:.7;cursor:grabbing}.diagram-selection-box{fill:var(--diagram-selection-fill);stroke:var(--diagram-selection-stroke);stroke-width:2;stroke-dasharray:5,5;pointer-events:none}.diagram-resize-handle{fill:var(--diagram-resize-handle);stroke:var(--diagram-bg-canvas);stroke-width:2;cursor:pointer;transition:fill var(--transition-fast)}.diagram-resize-handle:hover{fill:var(--diagram-resize-handle-hover)}.diagram-resize-handle.nw{cursor:nw-resize}.diagram-resize-handle.ne{cursor:ne-resize}.diagram-resize-handle.sw{cursor:sw-resize}.diagram-resize-handle.se{cursor:se-resize}.diagram-resize-handle.n{cursor:n-resize}.diagram-resize-handle.s{cursor:s-resize}.diagram-resize-handle.e{cursor:e-resize}.diagram-resize-handle.w{cursor:w-resize}.diagram-connection-point{fill:var(--diagram-connection-point);stroke:var(--diagram-bg-canvas);stroke-width:2;cursor:crosshair;transition:all var(--transition-fast)}.diagram-connection-point:hover{fill:var(--diagram-connection-hover);r:6}.diagram-connection-point.active{fill:var(--diagram-connection-active);r:7;animation:diagram-pulse 1s infinite}@keyframes diagram-pulse{0%,to{opacity:1}50%{opacity:.5}}.diagram-palette{width:240px;background:var(--diagram-bg-palette);border-right:1px solid var(--diagram-border-panel);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--diagram-shadow-panel)}.diagram-palette-header{padding:var(--spacing-md);background:var(--color-surface-hover);border-bottom:1px solid var(--diagram-border-panel);font-weight:var(--font-weight-semibold);color:var(--diagram-text-primary);font-size:var(--font-size-base)}.diagram-palette-content{flex:1;overflow-y:auto;padding:var(--spacing-sm)}.diagram-palette-section{margin-bottom:var(--spacing-lg)}.diagram-palette-section-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--diagram-text-secondary);text-transform:uppercase;letter-spacing:.5px;padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-xs)}.diagram-palette-item{background:var(--color-surface-hover);border:1px solid var(--diagram-border-element);border-radius:var(--border-radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-sm);cursor:grab;display:flex;align-items:center;gap:var(--spacing-sm);transition:all var(--transition-fast)}.diagram-palette-item:hover{background:var(--color-surface-active);border-color:var(--diagram-border-hover);transform:translate(4px);box-shadow:var(--shadow-md)}.diagram-palette-item:active{cursor:grabbing;transform:translate(2px)}.diagram-palette-item-icon{width:24px;height:24px;color:var(--diagram-text-secondary)}.diagram-palette-item-label{flex:1;font-size:var(--font-size-sm);color:var(--diagram-text-primary)}.diagram-properties{width:320px;background:var(--diagram-bg-panel);border-left:1px solid var(--diagram-border-panel);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--diagram-shadow-panel)}.diagram-properties-header{padding:var(--spacing-md);background:var(--color-surface-hover);border-bottom:1px solid var(--diagram-border-panel);font-weight:var(--font-weight-semibold);color:var(--diagram-text-primary);display:flex;align-items:center;justify-content:space-between}.diagram-properties-content{flex:1;overflow-y:auto;padding:var(--spacing-md)}.diagram-property-group{margin-bottom:var(--spacing-lg)}.diagram-property-group-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--diagram-text-primary);margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--diagram-border-panel)}.diagram-property-row{margin-bottom:var(--spacing-md)}.diagram-property-label{display:block;font-size:var(--font-size-xs);color:var(--diagram-text-secondary);margin-bottom:var(--spacing-xs);font-weight:var(--font-weight-medium)}.diagram-property-input{width:100%;background:var(--color-bg-primary);color:var(--diagram-text-primary);border:1px solid var(--diagram-border-element);border-radius:var(--border-radius-md);padding:var(--spacing-sm);font-size:var(--font-size-sm);transition:border-color var(--transition-fast)}.diagram-property-input:focus{outline:none;border-color:var(--diagram-border-selected)}.diagram-property-input:disabled{opacity:.5;cursor:not-allowed}.diagram-toolbar{position:absolute;top:var(--spacing-md);left:50%;transform:translate(-50%);background:var(--diagram-bg-toolbar);border:1px solid var(--diagram-border-panel);border-radius:var(--border-radius-xl);padding:var(--spacing-sm);display:flex;gap:var(--spacing-xs);box-shadow:var(--diagram-shadow-toolbar);z-index:var(--z-index-fixed)}.diagram-toolbar-separator{width:1px;background:var(--diagram-border-panel);margin:0 var(--spacing-xs)}.diagram-toolbar-button{background:transparent;border:none;color:var(--diagram-text-primary);padding:var(--spacing-sm);border-radius:var(--border-radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;width:36px;height:36px;transition:all var(--transition-fast)}.diagram-toolbar-button:hover{background:var(--color-surface-hover)}.diagram-toolbar-button.active{background:var(--diagram-state-active);color:var(--diagram-text-inverse)}.diagram-toolbar-button:disabled{opacity:.4;cursor:not-allowed}.diagram-toolbar-button-icon{width:20px;height:20px}.diagram-pipe{stroke:var(--diagram-element-pipe);fill:none;stroke-width:4;transition:stroke var(--transition-fast)}.diagram-pipe.active{stroke:var(--diagram-state-running);animation:diagram-flow 2s linear infinite}@keyframes diagram-flow{0%{stroke-dashoffset:0}to{stroke-dashoffset:20}}.diagram-pump{fill:var(--diagram-element-pump);transition:all var(--transition-fast)}.diagram-pump.running{fill:var(--diagram-state-running);animation:diagram-rotate 2s linear infinite}@keyframes diagram-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.diagram-tank{fill:var(--diagram-element-tank);stroke:var(--diagram-border-element);stroke-width:2}.diagram-tank-level{fill:var(--diagram-state-active);transition:height var(--transition-slow)}.diagram-valve{fill:var(--diagram-element-valve);transition:all var(--transition-fast)}.diagram-valve.open{fill:var(--diagram-state-running)}.diagram-valve.closed{fill:var(--diagram-state-stopped)}@media (max-width: 1024px){.diagram-palette{width:200px}.diagram-properties{width:280px}}@media (max-width: 768px){.diagram-palette,.diagram-properties{position:absolute;height:100%;z-index:var(--z-index-modal)}}:root{--floor-bg-viewport: #0a0a0a;--floor-bg-panel: var(--color-surface);--floor-bg-toolbar: var(--color-surface);--floor-bg-sidebar: var(--color-surface);--floor-border-panel: var(--color-border-primary);--floor-border-active: var(--color-primary);--floor-border-hover: var(--color-primary-light);--floor-text-primary: var(--color-text-primary);--floor-text-secondary: var(--color-text-secondary);--floor-text-inverse: var(--color-text-inverse);--floor-text-overlay: #ffffff;--floor-grid-major: rgba(255, 255, 255, .15);--floor-grid-minor: rgba(255, 255, 255, .08);--floor-grid-axis-x: #ef4444;--floor-grid-axis-y: #10b981;--floor-grid-axis-z: #3b82f6;--floor-model-selected: #667eea;--floor-model-hover: #7c8ef5;--floor-model-default: #94a3b8;--floor-model-outline: rgba(102, 126, 234, .5);--floor-layer-active: var(--color-primary);--floor-layer-visible: var(--color-success);--floor-layer-hidden: var(--color-text-disabled);--floor-layer-locked: var(--color-warning);--floor-zone-default: rgba(59, 130, 246, .2);--floor-zone-hover: rgba(59, 130, 246, .3);--floor-zone-selected: rgba(102, 126, 234, .4);--floor-zone-border: #3b82f6;--floor-state-active: var(--color-primary);--floor-state-loading: var(--color-info);--floor-state-error: var(--color-error);--floor-state-success: var(--color-success);--floor-camera-orbit: #3b82f6;--floor-camera-pan: #10b981;--floor-camera-zoom: #8b5cf6;--floor-shadow-panel: var(--shadow-lg);--floor-shadow-toolbar: var(--shadow-md);--floor-shadow-model: 0 4px 16px rgba(0, 0, 0, .5)}[data-theme=dark]{--floor-bg-viewport: #000000;--floor-grid-major: rgba(255, 255, 255, .2);--floor-grid-minor: rgba(255, 255, 255, .1);--floor-zone-default: rgba(59, 130, 246, .25);--floor-zone-hover: rgba(59, 130, 246, .35)}[data-theme=light]{--floor-bg-viewport: #0a0a0a}.app-container{width:100%;height:100%;display:flex;position:relative;background:var(--floor-bg-viewport);overflow:hidden}.canvas-area{flex:1;position:relative;background:var(--floor-bg-viewport);overflow:hidden}.canvas-2d,.canvas-3d{width:100%;height:100%;position:relative;background:var(--floor-bg-viewport)}.canvas-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--floor-text-overlay);font-size:var(--font-size-lg);text-align:center;z-index:var(--z-index-fixed)}.canvas-loading-spinner{width:48px;height:48px;border:4px solid var(--floor-border-panel);border-top-color:var(--floor-state-loading);border-radius:50%;animation:floor-spin 1s linear infinite;margin:0 auto var(--spacing-md)}@keyframes floor-spin{to{transform:rotate(360deg)}}.canvas-message{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--floor-bg-panel);color:var(--floor-text-primary);padding:var(--spacing-xl) var(--spacing-2xl);border-radius:var(--border-radius-lg);box-shadow:var(--floor-shadow-panel);text-align:center;max-width:400px;z-index:var(--z-index-fixed)}.floor-toolbar{position:absolute;top:var(--spacing-md);left:50%;transform:translate(-50%);background:var(--floor-bg-toolbar);border:1px solid var(--floor-border-panel);border-radius:var(--border-radius-xl);padding:var(--spacing-sm);display:flex;gap:var(--spacing-xs);box-shadow:var(--floor-shadow-toolbar);z-index:var(--z-index-fixed)}.floor-toolbar-group{display:flex;gap:var(--spacing-xs);padding:0 var(--spacing-xs);border-right:1px solid var(--floor-border-panel)}.floor-toolbar-group:last-child{border-right:none;padding-right:0}.floor-toolbar-button{background:transparent;border:none;color:var(--floor-text-primary);padding:var(--spacing-sm);border-radius:var(--border-radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);min-width:36px;height:36px;transition:all var(--transition-fast);position:relative}.floor-toolbar-button:hover{background:var(--color-surface-hover)}.floor-toolbar-button.active{background:var(--floor-state-active);color:var(--floor-text-inverse)}.floor-toolbar-button:disabled{opacity:.4;cursor:not-allowed}.floor-toolbar-button-icon{width:20px;height:20px}.floor-toolbar-button-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.floor-toolbar-badge{position:absolute;top:2px;right:2px;background:var(--color-error);color:var(--floor-text-inverse);font-size:10px;font-weight:var(--font-weight-bold);padding:2px 4px;border-radius:var(--border-radius-full);min-width:16px;text-align:center}.floor-sidebar{width:280px;background:var(--floor-bg-sidebar);border-left:1px solid var(--floor-border-panel);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--floor-shadow-panel);position:absolute;right:0;top:0;height:100%;z-index:var(--z-index-dropdown)}.floor-sidebar.collapsed{width:0;border:none;box-shadow:none}.floor-sidebar-header{padding:var(--spacing-md);background:var(--color-surface-hover);border-bottom:1px solid var(--floor-border-panel);display:flex;align-items:center;justify-content:space-between}.floor-sidebar-title{font-weight:var(--font-weight-semibold);color:var(--floor-text-primary);font-size:var(--font-size-base)}.floor-sidebar-close{background:transparent;border:none;color:var(--floor-text-secondary);padding:var(--spacing-xs);border-radius:var(--border-radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.floor-sidebar-close:hover{background:var(--color-surface-active);color:var(--floor-text-primary)}.floor-sidebar-content{flex:1;overflow-y:auto;padding:var(--spacing-sm)}.floor-list-item{background:var(--color-surface-hover);border:1px solid var(--floor-border-panel);border-radius:var(--border-radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-sm);cursor:pointer;transition:all var(--transition-fast)}.floor-list-item:hover{background:var(--color-surface-active);border-color:var(--floor-border-hover);transform:translate(-2px)}.floor-list-item.selected{border-color:var(--floor-border-active);background:var(--floor-state-active);color:var(--floor-text-inverse)}.floor-list-item.disabled{opacity:.5;cursor:not-allowed}.floor-list-item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-xs)}.floor-list-item-name{font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);color:var(--floor-text-primary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.floor-list-item.selected .floor-list-item-name{color:var(--floor-text-inverse)}.floor-list-item-actions{display:flex;gap:var(--spacing-xs)}.floor-list-item-action{background:transparent;border:none;color:var(--floor-text-secondary);padding:var(--spacing-xs);border-radius:var(--border-radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;width:24px;height:24px;transition:all var(--transition-fast)}.floor-list-item-action:hover{background:var(--color-surface-active);color:var(--floor-text-primary)}.floor-list-item.selected .floor-list-item-action{color:var(--floor-text-inverse)}.floor-list-item-action.active{color:var(--floor-state-success)}.floor-list-item-meta{font-size:var(--font-size-xs);color:var(--floor-text-secondary);display:flex;gap:var(--spacing-md)}.floor-list-item.selected .floor-list-item-meta{color:#fffc}.floor-gizmo{position:absolute;pointer-events:none}.floor-gizmo-axis{stroke-width:2;stroke-linecap:round}.floor-gizmo-axis-x{stroke:var(--floor-grid-axis-x)}.floor-gizmo-axis-y{stroke:var(--floor-grid-axis-y)}.floor-gizmo-axis-z{stroke:var(--floor-grid-axis-z)}.floor-gizmo-label{font-size:12px;font-weight:var(--font-weight-bold);fill:var(--floor-text-overlay)}.floor-zone{fill:var(--floor-zone-default);stroke:var(--floor-zone-border);stroke-width:2;cursor:pointer;transition:all var(--transition-fast)}.floor-zone:hover{fill:var(--floor-zone-hover);stroke-width:3}.floor-zone.selected{fill:var(--floor-zone-selected);stroke:var(--floor-border-active);stroke-width:3}.floor-zone-label{fill:var(--floor-text-overlay);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);pointer-events:none;text-anchor:middle;text-shadow:0 1px 3px rgba(0,0,0,.5)}.floor-dialog{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--floor-bg-panel);border:1px solid var(--floor-border-panel);border-radius:var(--border-radius-lg);box-shadow:var(--floor-shadow-panel);padding:var(--spacing-xl);min-width:400px;max-width:600px;z-index:var(--z-index-modal)}.floor-dialog-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--color-bg-overlay);z-index:calc(var(--z-index-modal) - 1)}.floor-dialog-header{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--floor-border-panel)}.floor-dialog-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--floor-text-primary)}.floor-dialog-content{margin-bottom:var(--spacing-lg)}.floor-dialog-footer{display:flex;gap:var(--spacing-sm);justify-content:flex-end;padding-top:var(--spacing-md);border-top:1px solid var(--floor-border-panel)}.floor-dialog-button{padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--border-radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.floor-dialog-button-primary{background:var(--floor-state-active);color:var(--floor-text-inverse)}.floor-dialog-button-primary:hover{background:var(--color-primary-dark)}.floor-dialog-button-secondary{background:var(--color-surface-hover);color:var(--floor-text-primary)}.floor-dialog-button-secondary:hover{background:var(--color-surface-active)}.floor-camera-controls{position:absolute;bottom:var(--spacing-md);right:var(--spacing-md);background:var(--floor-bg-toolbar);border:1px solid var(--floor-border-panel);border-radius:var(--border-radius-lg);padding:var(--spacing-sm);box-shadow:var(--floor-shadow-toolbar);z-index:var(--z-index-fixed)}.floor-camera-info{font-size:var(--font-size-xs);color:var(--floor-text-secondary);padding:var(--spacing-xs) var(--spacing-sm);text-align:center}.fade-enter-active,.fade-leave-active{transition:opacity var(--transition-base)}.fade-enter-from,.fade-leave-to{opacity:0}.slide-enter-active,.slide-leave-active{transition:transform var(--transition-base),opacity var(--transition-base)}.slide-enter-from,.slide-leave-to{transform:translate(100%);opacity:0}@media (max-width: 1024px){.floor-sidebar{width:240px}.floor-toolbar{left:var(--spacing-md);transform:none;flex-direction:column}.floor-toolbar-group{border-right:none;border-bottom:1px solid var(--floor-border-panel);padding:var(--spacing-xs) 0}}@media (max-width: 768px){.floor-sidebar{width:100%;max-width:320px}.floor-dialog{min-width:auto;width:calc(100% - var(--spacing-lg) * 2)}}
