:root{
  --primary:#2563EB;
  --primary-600:#1D4ED8;
  --primary-50:#EFF6FF;
  --bg:#F8FAFC;
  --bg-light:#F1F5F9;
  --surface:#FFFFFF;
  --border:#E5E7EB;
  --text:#0F172A;
  --muted:#475569;
  --shadow:0 1px 2px rgba(15,23,42,.06);
  --success:#16A34A;
  --info:#0EA5E9;
  --warning:#F59E0B;
  --danger:#EF4444;
}

[data-theme="dark"] {
  --bg:#000000;
  --surface:#121212;
  --border:#262626;
  --text:#F8FAFC;
  --muted:#94A3B8;
  --shadow:0 1px 2px rgba(0,0,0,.5);
  --primary-50:rgba(37,99,235,.15);
  --bg-light: #1a1a1a;
}

[data-theme="dark"] .border,
[data-theme="dark"] .border-top,
[data-theme="dark"] .border-bottom,
[data-theme="dark"] .border-start,
[data-theme="dark"] .border-end {
  border-color: #262626 !important;
}

[data-theme="dark"] .badge.bg-warning.text-dark,
[data-theme="dark"] .bg-warning.text-dark {
  color: #111827 !important;
}

/* Global Dark Mode Overrides - Maximum Aggressiveness */
[data-theme="dark"],
[data-theme="dark"] body,
[data-theme="dark"] .main-content,
[data-theme="dark"] .right_col,
[data-theme="dark"] .container,
[data-theme="dark"] .container-fluid,
[data-theme="dark"] .bg-white,
[data-theme="dark"] .bg-light,
[data-theme="dark"] .bg-body,
[data-theme="dark"] .x_panel,
[data-theme="dark"] .card,
[data-theme="dark"] .panel,
[data-theme="dark"] form,
[data-theme="dark"] section,
[data-theme="dark"] .settings-section,
[data-theme="dark"] .filter-section,
[data-theme="dark"] .modal-content,
[data-theme="dark"] .list-group-item {
  background-color: #000000 !important;
  color: #F8FAFC !important;
}

[data-theme="dark"] .card-body,
[data-theme="dark"] .card-header,
[data-theme="dark"] .card-footer,
[data-theme="dark"] .x_title,
[data-theme="dark"] .x_content,
[data-theme="dark"] .modal-header,
[data-theme="dark"] .modal-body,
[data-theme="dark"] .modal-footer,
[data-theme="dark"] .dropdown-menu,
[data-theme="dark"] .input-group-text,
[data-theme="dark"] .nav-tabs .nav-link.active,
[data-theme="dark"] .well,
[data-theme="dark"] .thumbnail,
[data-theme="dark"] .tile_count .tile_stats_count,
[data-theme="dark"] .tile_stats_count,
[data-theme="dark"] .tile_info td,
[data-theme="dark"] .p-2.bg-white,
[data-theme="dark"] .p-3.bg-white,
[data-theme="dark"] .p-4.bg-white,
[data-theme="dark"] .accordion-item,
[data-theme="dark"] .accordion-button,
[data-theme="dark"] .accordion-body,
[data-theme="dark"] .table thead th {
  background-color: #121212 !important;
  color: #F8FAFC !important;
  border-color: #262626 !important;
}

[data-theme="dark"] .dropdown-item {
  color: #F8FAFC !important;
  background-color: transparent !important;
}

[data-theme="dark"] .dropdown-item i {
  color: #94A3B8 !important; /* Muted icon color */
  margin-right: 10px;
}

[data-theme="dark"] .dropdown-item:hover,
[data-theme="dark"] .dropdown-item:focus {
  background-color: #1a1a1a !important;
  color: #FFFFFF !important;
}

[data-theme="dark"] .dropdown-item:hover i {
  color: #FFFFFF !important;
}

[data-theme="dark"] .dropdown-divider {
  border-top-color: #262626 !important;
}

[data-theme="dark"] .accordion-button:not(.collapsed) {
  background-color: #1a1a1a !important;
  color: var(--primary) !important;
  box-shadow: inset 0 -1px 0 rgba(255,255,255,.1) !important;
}

[data-theme="dark"] .accordion-button::after {
  filter: invert(1) grayscale(1) brightness(2);
}

[data-theme="dark"] .progress {
  background-color: #262626 !important;
}

[data-theme="dark"] .tile_stats_count .count,
[data-theme="dark"] .tile_stats_count .count_top,
[data-theme="dark"] .tile_stats_count .count_bottom,
[data-theme="dark"] .tile_stats_count span {
  color: #FFFFFF !important;
}

[data-theme="dark"] .tile_stats_count .count_top {
  color: #94A3B8 !important; /* Muted color for top label */
}

/* Ensure white text for all headings and labels in dark mode */
[data-theme="dark"] h1, 
[data-theme="dark"] h2, 
[data-theme="dark"] h3, 
[data-theme="dark"] h4, 
[data-theme="dark"] h5, 
[data-theme="dark"] h6,
[data-theme="dark"] .brand-name,
[data-theme="dark"] .user-name,
[data-theme="dark"] label,
[data-theme="dark"] .control-label,
[data-theme="dark"] strong {
  color: #FFFFFF !important;
}

/* Fix for form elements visibility */
[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select,
[data-theme="dark"] textarea {
  background-color: #1a1a1a !important;
  color: #FFFFFF !important;
  border-color: #333333 !important;
}

[data-theme="dark"] .form-control:focus {
  background-color: #000000 !important;
  color: #FFFFFF !important;
  border-color: var(--primary) !important;
}

/* Fix sidebar visibility on mobile */
@media (max-width: 768px) {
  .sidebar {
    display: none;
  }
  .sidebar.show {
    display: flex !important;
    position: fixed;
    top: 0;
    left: 0;
    width: 80% !important;
    max-width: 300px;
    height: 100vh;
    z-index: 9999 !important;
    box-shadow: 20px 0 50px rgba(0,0,0,0.5);
  }
}

[data-theme="dark"] .tile_count {
  background-color: #000000 !important;
  border-bottom: 1px solid #262626 !important;
  padding: 10px 0 !important;
}

[data-theme="dark"] .alert-danger {
  background-color: rgba(239, 68, 68, 0.2) !important;
  color: #FFAAAA !important;
  border: 1px solid rgba(239, 68, 68, 0.3) !important;
}

[data-theme="dark"] .alert-success {
  background-color: rgba(22, 163, 74, 0.2) !important;
  color: #AAFFAA !important;
  border: 1px solid rgba(22, 163, 74, 0.3) !important;
}

[data-theme="dark"] .table,
[data-theme="dark"] .table th,
[data-theme="dark"] .table td,
[data-theme="dark"] .table thead th {
  background-color: #000000 !important;
  color: #F8FAFC !important;
  border-color: #262626 !important;
}

[data-theme="dark"] .table-hover tbody tr:hover {
  background-color: #1a1a1a !important;
}

[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select {
  background-color: #000000 !important;
  color: #FFFFFF !important;
  border-color: #333333 !important;
}

[data-theme="dark"] .form-control:focus,
[data-theme="dark"] .form-select:focus {
  background-color: #0a0a0a !important;
  border-color: var(--primary) !important;
}

[data-theme="dark"] .sidebar,
[data-theme="dark"] .sidebar-menu,
[data-theme="dark"] .sidebar-menu li,
[data-theme="dark"] .sidebar-footer,
[data-theme="dark"] .user-profile-section,
[data-theme="dark"] .submenu {
  background-color: #000000 !important;
  border-color: #262626 !important;
}

[data-theme="dark"] .sidebar-menu a {
  color: #F8FAFC !important;
  background-color: transparent !important;
}

[data-theme="dark"] .sidebar-menu a:hover,
[data-theme="dark"] .sidebar-menu a.active {
  background-color: var(--primary) !important;
  color: #FFFFFF !important;
}

[data-theme="dark"] .sidebar-footer a {
  background-color: transparent !important;
  color: #F8FAFC !important;
  border-color: #262626 !important;
}

[data-theme="dark"] .sidebar-footer a:hover {
  background-color: var(--primary) !important;
  color: #FFFFFF !important;
}

[data-theme="dark"] .user-info .user-name {
  color: #F8FAFC !important;
}

[data-theme="dark"] .user-info .user-role {
  color: #94A3B8 !important;
}

[data-theme="dark"] .top-nav {
  background-color: #000000 !important;
  border-bottom: 1px solid #262626 !important;
}

[data-theme="dark"] hr {
  background-color: #333333 !important;
  opacity: 0.2;
}

[data-theme="dark"] .text-dark,
[data-theme="dark"] .text-secondary,
[data-theme="dark"] .text-muted,
[data-theme="dark"] label,
[data-theme="dark"] p,
[data-theme="dark"] span:not(.badge),
[data-theme="dark"] h1,
[data-theme="dark"] h2,
[data-theme="dark"] h3,
[data-theme="dark"] h4,
[data-theme="dark"] h5,
[data-theme="dark"] h6,
[data-theme="dark"] .card-header h3 {
  color: #F8FAFC !important;
}

/* Optimize performance by removing heavy filters */
[data-theme="dark"] .days-indicator,
[data-theme="dark"] .pppoe-status {
  font-weight: bold;
}

[data-theme="dark"] .breadcrumb {
  background-color: transparent !important;
}

[data-theme="dark"] .sidebar {
  background-color: #121212 !important;
  border-right: 1px solid #262626 !important;
}

[data-theme="dark"] .sidebar-menu a {
  color: #F8FAFC !important;
}

[data-theme="dark"] .sidebar-menu a:hover {
  background-color: rgba(37,99,235,.15) !important;
  color: #2563EB !important;
}

[data-theme="dark"] .top-nav {
  background-color: #121212 !important;
  border-bottom: 1px solid #262626 !important;
  color: #F8FAFC !important;
}

[data-theme="dark"] .main-content,
[data-theme="dark"] .right_col {
  background-color: #000000 !important;
  color: #F8FAFC !important;
}

[data-theme="dark"] .nav-toggle, 
[data-theme="dark"] .nav-brand,
[data-theme="dark"] .brand-name,
[data-theme="dark"] .profile-dropdown {
  color: #F8FAFC !important;
}

body{
  background-color:var(--bg)!important;
  color:var(--text)!important;
}

a{color:var(--primary);}
a:hover{color:var(--primary-600);}

.text-muted,
.text-secondary{
  color:var(--muted)!important;
}

.text-primary{
  color:var(--primary)!important;
}

.text-dark{
  color:var(--text)!important;
}

.text-white{
  color:#fff!important;
}

.bg-primary{
  background-color:var(--primary)!important;
}
.bg-success{
  background-color:var(--success)!important;
}
.bg-info{
  background-color:var(--info)!important;
}
.bg-warning{
  background-color:var(--warning)!important;
}
.bg-danger{
  background-color:var(--danger)!important;
}

h1,h2,h3,h4,h5,h6{
  color:var(--text);
}

.page-subtitle,
.small,
small{
  color:var(--muted)!important;
}

.top-nav{
  background-color:var(--surface);
  color:var(--text);
  border-bottom:1px solid var(--border);
}

.nav-toggle{color:var(--text);}
.nav-toggle:hover{background-color:#F1F5F9;}

.nav-brand{color:var(--text);}
.nav-brand:hover{color:var(--primary);}

.brand-subtitle{color:var(--muted);}
.profile-dropdown{color:var(--text);}
.profile-dropdown:hover{color:var(--primary);}
.profile-img{background-color:#E2E8F0;}

.dropdown-menu{
  background-color:var(--surface)!important;
  border:1px solid var(--border)!important;
  box-shadow:var(--shadow)!important;
}
.dropdown-menu .dropdown-item{
  color:var(--text)!important;
}
.dropdown-menu .dropdown-item:hover{
  background-color:var(--primary-50)!important;
  color:var(--primary)!important;
}

.sidebar{
  background-color:var(--surface);
  border-right:1px solid var(--border);
}

.sidebar-menu li{border-bottom:1px solid var(--border);}
.sidebar-menu a{color:var(--text);}
.sidebar-menu a:hover{background-color:var(--primary-50);color:var(--primary);}
.sidebar-menu a.active{background-color:var(--primary);color:#FFF!important;}
.sidebar-menu a.active *{color:#FFF!important;}
.sidebar-menu a.active .menu-icon{color:#FFF!important;}
.sidebar-menu a.active .menu-text{color:#FFF!important;}
.sidebar-menu a.active .menu-arrow{color:#FFF!important;}

.submenu{background-color:var(--bg);}
.submenu a:hover{background-color:var(--primary);color:#FFF;}
.submenu a.active{background-color:var(--primary);color:#FFF!important;}
.submenu a.active *{color:#FFF!important;}

.sidebar-footer{
  background-color:var(--bg);
  border-top:1px solid var(--border);
}
.sidebar-footer a{color:#334155;}
.sidebar-footer a:hover{background-color:var(--primary);color:#FFF;}

.page-title,.content-card{
  background-color:var(--surface);
  border:1px solid var(--border);
  box-shadow:var(--shadow);
}

.card{
  border-color:var(--border)!important;
  box-shadow:var(--shadow)!important;
}
.card-header{
  background-color:var(--surface)!important;
  border-bottom:1px solid var(--border)!important;
  color:var(--text)!important;
}

[data-theme="dark"] .card-header {
  background-color: #1a1a1a !important;
}

.table{
  color:var(--text);
}
.table th{
  color:var(--text)!important;
}
.table thead th{
  color:var(--text)!important;
  background-color: var(--surface) !important;
}

[data-theme="dark"] .table thead th {
  background-color: #1a1a1a !important;
}

.form-check-input{pointer-events:auto}
.form-check-label{cursor:pointer}

@media (max-width:576px){
  .btn:not(.btn-sm){padding:8px 12px;font-size:13px}
  .btn.btn-lg{padding:10px 14px;font-size:14px}
  .btn-group{width:100%}
  .btn-group .btn{flex:1}
}
.form-label,
label{
  color:var(--text);
}

.form-control,
.form-select{
  background-color:var(--surface);
  border-color:var(--border);
  color:var(--text);
}
.form-control::placeholder{
  color:#94A3B8;
}

.main-content input,
.main-content textarea,
.main-content select,
.main-content .form-control,
.main-content .form-select{
  color:var(--text)!important;
  background-color:var(--surface)!important;
}

.main-content select option{
  color:var(--text);
}

.main-content .form-control::placeholder,
.main-content textarea::placeholder{
  color:#94A3B8!important;
}

.footer{
  background-color:var(--surface);
  border-top:1px solid var(--border);
  color:var(--muted);
}

.btn-primary,
.btn.btn-primary{
  background-color:var(--primary)!important;
  border-color:var(--primary)!important;
}
.btn-primary:hover,
.btn.btn-primary:hover{
  background-color:var(--primary-600)!important;
  border-color:var(--primary-600)!important;
}

.btn-outline-primary{
  color:var(--primary)!important;
  border-color:var(--primary)!important;
}
.btn-outline-primary:hover{
  background-color:var(--primary)!important;
  border-color:var(--primary)!important;
  color:#FFF!important;
}

.badge.bg-primary{background-color:var(--primary)!important;}
.badge.bg-success{background-color:var(--success)!important;}
.badge.bg-info{background-color:var(--info)!important;}
.badge.bg-warning{background-color:var(--warning)!important;}
.badge.bg-danger{background-color:var(--danger)!important;}

.badge-success,
.badge-danger,
.badge-warning,
.badge-info,
.badge-secondary{
  color:#fff!important;
}

.alert-success{background-color:rgba(22,163,74,.08)!important;color:#166534!important;}
.alert-danger{background-color:rgba(239,68,68,.08)!important;color:#991B1B!important;}
.alert-info{background-color:rgba(14,165,233,.08)!important;color:#0C4A6E!important;}
.alert-warning{background-color:rgba(245,158,11,.10)!important;color:#92400E!important;}

[data-theme="dark"] .alert-success { background-color: rgba(34, 197, 94, 0.15) !important; color: #4ade80 !important; border-color: rgba(34, 197, 94, 0.2) !important; }
[data-theme="dark"] .alert-danger { background-color: rgba(239, 68, 68, 0.15) !important; color: #f87171 !important; border-color: rgba(239, 68, 68, 0.2) !important; }
[data-theme="dark"] .alert-info { background-color: rgba(59, 130, 246, 0.15) !important; color: #60a5fa !important; border-color: rgba(59, 130, 246, 0.2) !important; }
[data-theme="dark"] .alert-warning { background-color: rgba(245, 158, 11, 0.15) !important; color: #fbbf24 !important; border-color: rgba(245, 158, 11, 0.2) !important; }
