/* Purple FLEX v2 theme — overrides flex-theme + style.css variables */
html[data-theme="flex"] body.panel-v2,
body.panel-v2 {
  --bg-primary: #06060F;
  --bg-secondary: #0D0D1A;
  --bg-tertiary: #131325;
  --bg-hover: #1A1A30;
  --border-color: rgba(139, 92, 246, 0.15);
  --border-light: rgba(139, 92, 246, 0.28);
  --text-primary: #F1F5F9;
  --text-secondary: #94A3B8;
  --text-muted: #475569;
  --accent-primary: #8B5CF6;
  --accent-secondary: #06B6D4;
  --accent-glow: rgba(139, 92, 246, 0.35);
  --success: #10B981;
  --warning: #F59E0B;
  --danger: #F43F5E;
  --online: #10B981;
  --offline: #F43F5E;
  --sidebar-width: 240px;
  --header-height: 60px;
  background: #06060F !important;
  color: #F1F5F9 !important;
}

body.panel-v2 .shell {
  display: flex !important;
  height: 100vh !important;
  overflow: hidden !important;
  background: #06060F !important;
}

body.panel-v2 .sidebar {
  display: flex !important;
  flex-direction: column !important;
  position: fixed !important;
  top: 60px !important;
  left: 0 !important;
  bottom: 0 !important;
  width: var(--sidebar-width, 240px) !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  background: rgba(10, 10, 22, 0.82) !important;
  align-items: stretch !important;
  border-right: 1px solid rgba(139, 92, 246, 0.22) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  z-index: 120 !important;
  transform: translateX(-110%) !important;
  transition: transform .25s ease;
  backdrop-filter: blur(18px) saturate(1.2);
  -webkit-backdrop-filter: blur(18px) saturate(1.2);
  pointer-events: none !important;
  visibility: hidden !important;
}

body.panel-v2 .sidebar.open {
  transform: translateX(0) !important;
  pointer-events: auto !important;
  visibility: visible !important;
}

body.panel-v2 .sidebar:hover {
  width: var(--sidebar-width, 240px) !important;
}

body.panel-v2 .main {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin-left: 0 !important;
  overflow: hidden !important;
}

body.panel-v2 .topbar {
  display: flex !important;
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  width: 100% !important;
  height: 60px !important;
  margin: 0 !important;
  padding: 0 28px !important;
  background: rgba(6, 6, 15, 0.85) !important;
  border-bottom: 1px solid rgba(139, 92, 246, 0.15) !important;
  backdrop-filter: blur(12px) !important;
}

body.panel-v2 .page,
body.panel-v2 main.page,
body.panel-v2 #page-content {
  flex: 1 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  margin: 0 !important;
  /* Без постоянного sidebar нужен нормальный gutter страницы */
  padding: 28px 32px 40px !important;
  background: #06060F !important;
  box-sizing: border-box !important;
}

body.panel-v2 .nav-btn {
  display: flex !important;
}

body.panel-v2 .sidebar-header,
body.panel-v2 .sidebar-nav,
body.panel-v2 .sidebar .nav-item {
  display: none !important;
}

body.panel-v2 .stat-card,
body.panel-v2 .settings-card,
body.panel-v2 .table-container,
body.panel-v2 .device-card {
  border-color: rgba(139, 92, 246, 0.12) !important;
}

body.panel-v2 .btn-primary {
  background: linear-gradient(135deg, #8B5CF6, #6D28D9) !important;
  border-color: transparent !important;
  color: #fff !important;
}

body.panel-v2 .btn-primary:hover {
  filter: brightness(1.08);
}

body.panel-v2 .filter-btn.active,
body.panel-v2 .nav-btn.active {
  background: rgba(139, 92, 246, 0.2) !important;
  color: #C4B5FD !important;
  border-color: rgba(139, 92, 246, 0.4) !important;
}

body.panel-v2 .main {
  position: relative;
  background: var(--pv-bg, #06060F);
}
body.panel-v2 .main::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(139,92,246,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(139,92,246,.025) 1px, transparent 1px);
  background-size: 48px 48px;
  pointer-events: none;
  z-index: 0;
}
body.panel-v2 .main::after {
  content: '';
  position: absolute;
  top: -200px;
  right: -200px;
  width: 600px;
  height: 600px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(139,92,246,.07) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}
body.panel-v2 .pv-search.search-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  background: var(--pv-s2, #131325);
  border: 1px solid var(--pv-border);
  border-radius: 10px;
  padding: 8px 14px;
  width: min(280px, 40vw);
  margin-left: 8px;
}
body.panel-v2 .pv-search input {
  background: none;
  border: none;
  outline: none;
  color: var(--pv-t1);
  font-size: 13px;
  font-family: inherit;
  width: 100%;
}
body.panel-v2 .pv-search input::placeholder { color: var(--pv-t3); }
body.panel-v2 .pv-search svg { width: 15px; height: 15px; color: var(--pv-t3); flex-shrink: 0; }
