:root {
  --lpx-content-text-rgb: 148,163,184;
  --lpx-content-bg-rgb: 11,13,20;
  --lpx-primary-rgb: 59,130,246;
  --lpx-secondary-rgb: 6,182,212;
  --lpx-brand-rgb: 96,165,250;
  --lpx-success-rgb: 34,197,94;
  --lpx-info-rgb: 6,182,212;
  --lpx-warning-rgb: 245,158,11;
  --lpx-danger-rgb: 239,68,68;
  --lpx-light-rgb: 28,31,46;
  --lpx-dark-rgb: 241,245,249;
  --lpx-navbar-color-rgb: 19,21,31;
  --lpx-navbar-text-color-rgb: 100,116,139;
  --lpx-navbar-active-text-color-rgb: 241,245,249;
  --lpx-text-white-rgb: 255,255,255;
  --lpx-logo-reverse: var(--logo-reverse);
  --lpx-primary: #3b82f6;
  --lpx-secondary: #06b6d4;
  --lpx-success: #22c55e;
  --lpx-info: #06b6d4;
  --lpx-warning: #f59e0b;
  --lpx-danger: #ef4444;
  --lpx-brand: #60a5fa;
  --lpx-brand-text: #fff;
  --lpx-container-active-text: #fff;
  --lpx-text-white: #fff;
  --lpx-radius: 0.625rem;
  --lpx-logo-icon: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMCAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzQ4NF8xODYwNikiPgo8cGF0aCBkPSJNMTQuODMxNCAyLjM4MjUzZS0wNkMxMy43Mzc2IC0wLjAwMDg4NTcxNSAxMi42NTc5IDAuMjQ2NTE5IDExLjY3MzcgMC43MjM1NzJDMTAuNjg5NCAxLjIwMDYzIDkuODI2MTkgMS44OTQ4OCA5LjE0OTE3IDIuNzU0MDNDMTAuMzg3OCAzLjAyMzUgMTEuNTU2NCAzLjU0OTEzIDEyLjU3OTkgNC4yOTcxNkMxMy42MDMzIDUuMDQ1MTggMTQuNDU5IDUuOTk5MDQgMTUuMDkxOSA3LjA5NzQ2QzE1LjcyNDggOC4xOTU4OSAxNi4xMjA5IDkuNDE0NTcgMTYuMjU0OCAxMC42NzUyQzE2LjM4ODggMTEuOTM1OSAxNi4yNTc1IDEzLjIxMDYgMTUuODY5NSAxNC40MTc1QzE3LjY4MjIgMTQuMTU1MSAxOS4zMjgyIDEzLjIxNTggMjAuNDc2NSAxMS43ODg4QzIxLjYyNDcgMTAuMzYxNyAyMi4xODk5IDguNTUyNjYgMjIuMDU4NCA2LjcyNTY3QzIxLjkyNjggNC44OTg2NyAyMS4xMDgzIDMuMTg5MjkgMTkuNzY3NCAxLjk0MTQ2QzE4LjQyNjYgMC42OTM2MzUgMTYuNjYzIC00LjIzMjYxZS0wNSAxNC44MzE0IDIuMzgyNTNlLTA2VjIuMzgyNTNlLTA2WiIgZmlsbD0iI0I1MTc5RSIvPgo8cGF0aCBkPSJNMjguNzAzMiA3LjkzMzgyQzI4LjE1MDcgNi45ODkxMiAyNy4zOTEgNi4xODIxIDI2LjQ4MTUgNS41NzM1MUMyNS41NzE5IDQuOTY0OTMgMjQuNTM2MSA0LjU3MDY0IDIzLjQ1MjIgNC40MjAzNUMyMy44NDU2IDUuNjI1MjkgMjMuOTgyNyA2Ljg5OTIyIDIzLjg1NDcgOC4xNjAzMUMyMy43MjY2IDkuNDIxMzkgMjMuMzM2MiAxMC42NDE3IDIyLjcwODYgMTEuNzQzQzIyLjA4MSAxMi44NDQyIDIxLjIyOTkgMTMuODAyIDIwLjIxMDIgMTQuNTU0OEMxOS4xOTA0IDE1LjMwNzYgMTguMDI0NSAxNS44Mzg3IDE2Ljc4NzQgMTYuMTE0MUMxNy45Mjk5IDE3LjU0NTEgMTkuNTcxOCAxOC40OTA1IDIxLjM4MyAxOC43NkMyMy4xOTQxIDE5LjAyOTUgMjUuMDQwMiAxOC42MDMyIDI2LjU0OTggMTcuNTY2OUMyOC4wNTk1IDE2LjUzMDUgMjkuMTIwOCAxNC45NjA5IDI5LjUyMDMgMTMuMTczOEMyOS45MTk4IDExLjM4NjYgMjkuNjI3OCA5LjUxNDQ2IDI4LjcwMzIgNy45MzM4MloiIGZpbGw9IiM3MjA5QjciLz4KPHBhdGggZD0iTTI4LjY4OTIgMjQuMDI1N0MyOS4yMzk5IDIzLjA4MDcgMjkuNTY5IDIyLjAyMyAyOS42NTE3IDIwLjkzMjJDMjkuNzM0NSAxOS44NDE1IDI5LjU2ODcgMTguNzQ2MyAyOS4xNjY4IDE3LjcyODlDMjguMzExIDE4LjY2NDIgMjcuMjY5MSAxOS40MSAyNi4xMDggMTkuOTE4NkMyNC45NDY4IDIwLjQyNzIgMjMuNjkyMiAyMC42ODcyIDIyLjQyNDYgMjAuNjgyQzIxLjE1NyAyMC42NzY3IDE5LjkwNDUgMjAuNDA2NCAxOC43NDc2IDE5Ljg4ODJDMTcuNTkwNyAxOS4zNzAxIDE2LjU1NDkgMTguNjE1NyAxNS43MDY5IDE3LjY3MzRDMTUuMDIzNiAxOS4zNzIgMTUuMDA4NiAyMS4yNjYzIDE1LjY2NDkgMjIuOTc1NUMxNi4zMjEyIDI0LjY4NDYgMTcuNjAwMSAyNi4wODIgMTkuMjQ0NiAyNi44ODY3QzIwLjg4OSAyNy42OTEzIDIyLjc3NyAyNy44NDM1IDI0LjUyOTEgMjcuMzEyOEMyNi4yODEzIDI2Ljc4MjEgMjcuNzY3NSAyNS42MDc3IDI4LjY4OTIgMjQuMDI1N1YyNC4wMjU3WiIgZmlsbD0iIzQzNjFFRSIvPgo8cGF0aCBkPSJNNi43MTQzOSAyMC42OTYxQzQuMzMwMDMgMjAuNTYxNSAyLjA5NTM2IDE5LjQ5MDMgMC40OTY5MyAxNy43MTU4QzAuMTAxNzI3IDE4LjcyNyAtMC4wNjExMDM4IDE5LjgxNDIgMC4wMjA0ODA2IDIwLjg5NjhDMC4xMDIwNjUgMjEuOTc5NSAwLjQyNTk3OCAyMy4wMyAwLjk2ODI2IDIzLjk3MDVDMS41MTA1NCAyNC45MTExIDIuMjU3MzIgMjUuNzE3NyAzLjE1MzM2IDI2LjMzMDdDNC4wNDk0IDI2Ljk0MzcgNS4wNzE3NyAyNy4zNDc0IDYuMTQ0ODUgMjcuNTExOUM1LjQ0MDEgMjUuMjUyNSA1LjY0NDQzIDIyLjgwNzIgNi43MTQzOSAyMC42OTYxVjIwLjY5NjFaIiBmaWxsPSIjNENDOUYwIi8+CjxwYXRoIGQ9Ik03LjI0OTYxIDE4Ljg1NzFDMTEuMjUxMiAxOC44NTcxIDE0LjQ5NTEgMTUuNjEyOSAxNC40OTUxIDExLjYxMUMxNC40OTUxIDcuNjA5MDYgMTEuMjUxMiA0LjM2NDg3IDcuMjQ5NjEgNC4zNjQ4N0MzLjI0ODA1IDQuMzY0ODcgMC4wMDQxNTAzOSA3LjYwOTA2IDAuMDA0MTUwMzkgMTEuNjExQzAuMDA0MTUwMzkgMTUuNjEyOSAzLjI0ODA1IDE4Ljg1NzEgNy4yNDk2MSAxOC44NTcxWiIgZmlsbD0iI0Y3MjU4NSIvPgo8cGF0aCBkPSJNMTMuMzY2MyAyMC4zNjA4QzEzLjM3MTYgMTkuNTY5MSAxMy40ODAyIDE4Ljc4MTQgMTMuNjg5NCAxOC4wMTc4QzEyLjM5MTUgMTkuMzMxOSAxMC43MjMzIDIwLjIxOCA4LjkwNzkyIDIwLjU1NzdDNy43ODc2MSAyMi4wOTMxIDcuMzE1NTYgMjQuMDA3MyA3LjU5MzU3IDI1Ljg4NzZDNy44NzE1OCAyNy43Njc5IDguODc3MzggMjkuNDYzNSAxMC4zOTQxIDMwLjYwODlDMTEuOTEwOCAzMS43NTQzIDEzLjgxNjggMzIuMjU3NyAxNS43MDEyIDMyLjAxMDVDMTcuNTg1NiAzMS43NjMzIDE5LjI5NzMgMzAuNzg1MyAyMC40NjczIDI5LjI4NzRDMTguNDQyMSAyOC44MzQ3IDE2LjYzMjkgMjcuNzAyMSAxNS4zNDA5IDI2LjA3NzlDMTQuMDQ4OSAyNC40NTM4IDEzLjM1MjEgMjIuNDM2MiAxMy4zNjYzIDIwLjM2MDhWMjAuMzYwOFoiIGZpbGw9IiM0ODk1RUYiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF80ODRfMTg2MDYiPgo8cmVjdCB3aWR0aD0iMjkuNjk2OCIgaGVpZ2h0PSIzMiIgZmlsbD0id2hpdGUiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K");
  --lpx-light: #1c1f2e;
  --lpx-dark: #f1f5f9;
  --lpx-breadcrumb-text-color: #64748b;
  --lpx-breadcrumb-active-text-color: #f1f5f9;
  --lpx-navbar-color: #13151f;
  --lpx-navbar-text-color: #64748b;
  --lpx-navbar-active-text-color: #f1f5f9;
  --lpx-navbar-active-bg-color: #252836;
  --lpx-card-bg: #13151f;
  --lpx-card-title-text-color: #f1f5f9;
  --lpx-content-bg: #0b0d14;
  --lpx-content-text: #94a3b8;
  --lpx-border-color: #1c1f2e;
  --lpx-shadow: 0 4px 24px 0 rgba(0, 0, 0, 0.4);
}

/* ============================================================
   Component overrides - broadcast tech palette
   ============================================================ */

/* -- Card -- */
.lpx-theme-dark .card {
  --bs-card-bg: #13151f;
  --bs-card-border-color: #1c1f2e;
  --bs-card-border-width: 1px;
  --bs-card-border-radius: 0.75rem;
  --bs-card-inner-border-radius: calc(0.75rem - 1px);
  --bs-card-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.35);
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.lpx-theme-dark .card:hover {
  --bs-card-border-color: #252836;
  --bs-card-box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
}

/* -- Navbar / Header -- */
.lpx-theme-dark .lpx-topbar-container {
  background: rgba(19, 21, 31, 0.92) !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid #2a2d3e;
}

/* -- Sidebar -- */
.lpx-theme-dark .lpx-sidebar {
  background: #13151f !important;
  border-right: 1px solid #2a2d3e !important;
}

/* -- Buttons: primary -- */
.lpx-theme-dark .btn-primary {
  background-color: #2563eb;
  border-color: #2563eb;
  color: #ffffff;
  border-radius: 0.5rem;
  font-weight: 600;
  transition: all 0.2s ease;
  box-shadow: 0 1px 4px rgba(37, 99, 235, 0.25);
}

.lpx-theme-dark .btn-primary:hover {
  background-color: #1d4ed8;
  border-color: #1d4ed8;
  color: #ffffff;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(37, 99, 235, 0.35);
}

.lpx-theme-dark .btn-primary:active {
  background-color: #1e40af;
  border-color: #1e40af;
  color: #ffffff;
  transform: none;
  box-shadow: none;
}

/* -- Buttons: secondary -- */
.lpx-theme-dark .btn-secondary {
  background-color: transparent;
  border-color: #2a2d3e;
  color: #94a3b8;
  border-radius: 0.5rem;
  font-weight: 600;
  transition: all 0.2s ease;
}

.lpx-theme-dark .btn-secondary:hover {
  background-color: #252836;
  border-color: #3b82f6;
  color: #f1f5f9;
}

/* -- Table -- */
.lpx-theme-dark .table {
  --bs-table-bg: transparent;
  --bs-table-border-color: #2a2d3e;
  --bs-table-hover-bg: #252836;
  --bs-table-color: #94a3b8;
}

.lpx-theme-dark .table thead th {
  background: #1c1f2e;
  color: #64748b;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border-bottom: 1px solid #2a2d3e;
}

/* -- Form inputs -- */
.lpx-theme-dark .form-control,
.lpx-theme-dark .form-select {
  background-color: #1c1f2e;
  border-color: #2a2d3e;
  color: #f1f5f9;
  border-radius: 0.5rem;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.lpx-theme-dark .form-control:focus,
.lpx-theme-dark .form-select:focus {
  background-color: #252836;
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.2);
  color: #f1f5f9;
}

/* -- Badge -- */
.lpx-theme-dark .badge.bg-primary {
  background-color: rgba(59, 130, 246, 0.15) !important;
  color: #60a5fa;
  border: 1px solid rgba(59, 130, 246, 0.3);
  font-weight: 600;
}

/* -- Modal -- */
.lpx-theme-dark .modal-content {
  background-color: #1c1f2e;
  border: 1px solid #2a2d3e;
  border-radius: 0.875rem;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.6);
}

.lpx-theme-dark .modal-header {
  border-bottom-color: #2a2d3e;
}

.lpx-theme-dark .modal-footer {
  border-top-color: #2a2d3e;
}

/* -- Dropdown -- */
.lpx-theme-dark .dropdown-menu {
  background-color: #1c1f2e;
  border: 1px solid #2a2d3e;
  border-radius: 0.625rem;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
}

.lpx-theme-dark .dropdown-item {
  color: #94a3b8;
  border-radius: 0.375rem;
  transition: all 0.15s ease;
}

.lpx-theme-dark .dropdown-item:hover {
  background-color: #252836;
  color: #f1f5f9;
}

/* -- Footer -- */
.lpx-theme-dark .lpx-footbar-container {
  background: #13151f;
  border-top: 1px solid #2a2d3e;
}

.lpx-theme-dark .lpx-footbar-copyright {
  color: #64748b;
  font-size: 0.8rem;
}

.lpx-theme-dark .lpx-footbar-copyright a {
  color: #60a5fa;
  text-decoration: none;
  transition: color 0.2s ease;
}

.lpx-theme-dark .lpx-footbar-copyright a:hover {
  color: #93c5fd;
}

/* -- Scrollbar -- */
body.lpx-theme-dark {
  scrollbar-color: #333650 #0b0d14;
}

body.lpx-theme-dark ::-webkit-scrollbar,
body.lpx-theme-dark::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}

body.lpx-theme-dark ::-webkit-scrollbar-track,
body.lpx-theme-dark::-webkit-scrollbar-track {
  background: #0b0d14;
}

body.lpx-theme-dark ::-webkit-scrollbar-thumb,
body.lpx-theme-dark::-webkit-scrollbar-thumb {
  background: #333650;
  border-radius: 3px;
}

body.lpx-theme-dark ::-webkit-scrollbar-thumb:hover,
body.lpx-theme-dark::-webkit-scrollbar-thumb:hover {
  background: #3b82f6;
}

/* Perfect-scrollbar - dark */
body.lpx-theme-dark .ps__thumb-x,
body.lpx-theme-dark .ps__thumb-y {
  background-color: #333650;
}

body.lpx-theme-dark .ps__rail-x:hover > .ps__thumb-x,
body.lpx-theme-dark .ps__rail-x:focus > .ps__thumb-x,
body.lpx-theme-dark .ps__rail-x.ps--clicking .ps__thumb-x,
body.lpx-theme-dark .ps__rail-y:hover > .ps__thumb-y,
body.lpx-theme-dark .ps__rail-y:focus > .ps__thumb-y,
body.lpx-theme-dark .ps__rail-y.ps--clicking .ps__thumb-y {
  background-color: #3b82f6;
}

body.lpx-theme-dark .ps .ps__rail-x:hover,
body.lpx-theme-dark .ps .ps__rail-y:hover,
body.lpx-theme-dark .ps .ps__rail-x:focus,
body.lpx-theme-dark .ps .ps__rail-y:focus {
  background-color: #1c1f2e;
}

/* -- Breadcrumb -- */
.lpx-theme-dark .breadcrumb-item + .breadcrumb-item::before {
  color: #2a2d3e;
}

/* -- Alert -- */
.lpx-theme-dark .alert-primary {
  background-color: rgba(59, 130, 246, 0.1);
  border-color: rgba(59, 130, 246, 0.3);
  color: #60a5fa;
}

.lpx-theme-dark .alert-success {
  background-color: rgba(34, 197, 94, 0.1);
  border-color: rgba(34, 197, 94, 0.3);
  color: #4ade80;
}

.lpx-theme-dark .alert-warning {
  background-color: rgba(245, 158, 11, 0.1);
  border-color: rgba(245, 158, 11, 0.3);
  color: #fbbf24;
}

.lpx-theme-dark .alert-danger {
  background-color: rgba(239, 68, 68, 0.1);
  border-color: rgba(239, 68, 68, 0.3);
  color: #f87171;
}

/* -- Pagination -- */
.lpx-theme-dark .page-link {
  background-color: #1c1f2e;
  border-color: #2a2d3e;
  color: #94a3b8;
  border-radius: 0.375rem;
  transition: all 0.2s ease;
}

.lpx-theme-dark .page-link:hover {
  background-color: #252836;
  border-color: #3b82f6;
  color: #f1f5f9;
}

.lpx-theme-dark .page-item.active .page-link {
  background-color: #3b82f6;
  border-color: #3b82f6;
  color: #fff;
}
