/* Premium High-Contrast Theme for Top10Live PHP Admin - Fixed */
:root {
  --bg-dark-navy: #0F172A;
  --bg-main: #0B0F19;
  --bg-card: #1E293B;
  --bg-input: #0F172A;
  --accent-red: #E50914;
  --accent-red-hover: #FF2E3B;
  --accent-gold: #F59E0B;
  --accent-green: #10B981;
  --text-bright: #FFFFFF;
  --text-main: #F1F5F9;
  --text-muted: #CBD5E1;
  --border-color: #334155;
  --border-bright: #475569;
}

body {
  background-color: var(--bg-main);
  color: var(--text-main);
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  font-size: 15px;
  line-height: 1.5;
}

/* Global text readability on dark background */
h1, h2, h3, h4, h5, h6, p, span, div, li, td, th, label {
  color: inherit;
}
main { color: var(--text-main); }
a { color: #7DD3FC; }
a:hover { color: #BAE6FD; }
small, .small { color: var(--text-muted) !important; }
code {
  background-color: #020617 !important;
  color: #FBBF24 !important;
  padding: 2px 6px;
  border-radius: 5px;
  border: 1px solid var(--border-color);
  font-size: 0.85em;
  word-break: break-all;
}

/* Header Navbar */
.navbar-dark-custom {
  background-color: var(--bg-dark-navy);
  border-bottom: 2px solid var(--border-color);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}

.navbar-brand {
  color: #FF3B3F !important;
  font-size: 1.35rem;
  letter-spacing: 0.5px;
}

/* Sidebar Navigation */
.sidebar-custom {
  background-color: var(--bg-dark-navy);
  min-height: calc(100vh - 58px);
  border-right: 2px solid var(--border-color);
}

.sidebar-custom .nav-link {
  color: #E2E8F0;
  font-weight: 500;
  padding: 12px 18px;
  border-radius: 8px;
  margin-bottom: 6px;
  transition: all 0.2s ease-in-out;
}

.sidebar-custom .nav-link i {
  color: var(--accent-gold);
  width: 24px;
}

.sidebar-custom .nav-link:hover {
  background-color: rgba(229, 9, 20, 0.15);
  color: #FFFFFF;
}

.sidebar-custom .nav-link.active {
  background-color: var(--accent-red);
  color: #FFFFFF !important;
  font-weight: 700;
  box-shadow: 0 4px 10px rgba(229, 9, 20, 0.4);
}

.sidebar-custom .nav-link.active i {
  color: #FFFFFF;
}

/* Cards & Containers */
.card, .card-custom {
  background-color: var(--bg-card) !important;
  border: 1px solid var(--border-bright) !important;
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
  color: var(--text-main) !important;
}

.card-custom h1, .card-custom h2, .card-custom h3, .card-custom h4, .card-custom h5,
.card h1, .card h2, .card h3, .card h4, .card h5,
.modal-content h1, .modal-content h2, .modal-content h3, .modal-content h4, .modal-content h5 {
  color: var(--text-bright) !important;
}
.card-title, .card-text, .card-body { color: var(--text-main) !important; }

/* Buttons - higher contrast outlines */
.btn-danger-custom {
  background-color: var(--accent-red);
  border: none;
  color: #FFFFFF !important;
  font-weight: 600;
  padding: 8px 18px;
  border-radius: 8px;
  transition: background-color 0.2s;
}

.btn-danger-custom:hover, .btn-danger-custom:focus {
  background-color: var(--accent-red-hover);
  color: #fff !important;
  box-shadow: 0 0 12px rgba(229, 9, 20, 0.5);
}

.btn-outline-light {
  color: #FFFFFF !important;
  border-color: #94A3B8 !important;
  border-width: 1.5px;
}
.btn-outline-light:hover { background-color: #F1F5F9 !important; color: #0F172A !important; }
.btn-outline-info { color: #22D3EE !important; border-color: #22D3EE !important; border-width: 1.5px; }
.btn-outline-info:hover { background-color: #22D3EE !important; color: #06202A !important; }
.btn-outline-danger { color: #FF6B74 !important; border-color: #FF6B74 !important; border-width: 1.5px; }
.btn-outline-danger:hover { background-color: var(--accent-red) !important; color: #fff !important; }
.btn-outline-warning { color: #FBBF24 !important; border-color: #FBBF24 !important; border-width: 1.5px; }
.btn-outline-warning:hover { background-color: #FBBF24 !important; color: #1a1000 !important; }
.btn-secondary { background-color: #475569 !important; border-color: #475569 !important; color: #fff !important; font-weight: 600; }
.btn-secondary:hover { background-color: #64748B !important; color: #fff !important; }

/* Status Badges - ensure readable text */
.badge { font-weight: 700; letter-spacing: 0.3px; }
.badge-online {
  background-color: var(--accent-green);
  color: #FFFFFF;
  font-weight: 700;
  border-radius: 20px;
}

.badge-update {
  background-color: var(--accent-red);
  color: #FFFFFF;
  font-weight: 700;
}
.bg-secondary { background-color: #64748B !important; color: #FFFFFF !important; }
.bg-success { color: #fff !important; }
.bg-danger { color: #fff !important; }
.bg-info { color: #06202A !important; }
.bg-warning { color: #1a1000 !important; }

/* Form Controls & Inputs (High Contrast) - single source of truth */
.form-control, .form-select,
.form-control:focus, .form-select:focus,
.form-control.bg-dark, .form-control.bg-secondary,
.form-control.text-light, .form-control.border-secondary, .form-control.border-0 {
  background-color: var(--bg-input) !important;
  background-image: none !important;
  color: var(--text-bright) !important;
  border: 1.5px solid var(--border-bright) !important;
  border-radius: 8px;
  padding: 10px 14px;
}

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

.form-control:focus, .form-select:focus {
  border-color: var(--accent-gold) !important;
  box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.25) !important;
  color: #fff !important;
}

/* FIX: dropdown options were white-on-white (invisible). Force dark list. */
.form-select option, select.form-control option {
  background-color: #0F172A !important;
  color: #FFFFFF !important;
}

.form-label, .form-check-label {
  color: #F8FAFC !important;
  font-weight: 600;
  margin-bottom: 6px;
}
.form-check-input {
  background-color: #0F172A;
  border: 1.5px solid #94A3B8;
  width: 1.1em;
  height: 1.1em;
}
.form-check-input:checked { background-color: var(--accent-red); border-color: var(--accent-red); }
.form-text, .form-check-label, .col-form-label { color: #E2E8F0 !important; }
input[type="number"]::-webkit-inner-spin-button { opacity: 1; }

/* Tables (High Contrast) - override Bootstrap 5.3 CSS variables */
.table, .table-dark-custom {
  --bs-table-bg: #1E293B;
  --bs-table-color: #F1F5F9;
  --bs-table-border-color: #334155;
  --bs-table-striped-bg: #243449;
  --bs-table-striped-color: #fff;
  --bs-table-hover-bg: rgba(255, 255, 255, 0.07);
  --bs-table-hover-color: #fff;
  background-color: var(--bg-card) !important;
  color: var(--text-main) !important;
  margin-bottom: 0;
}

.table-dark-custom th, .table th {
  background-color: #0F172A !important;
  color: var(--text-bright) !important;
  border-bottom: 2px solid var(--border-bright) !important;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 13px;
  letter-spacing: 0.5px;
  padding: 14px 16px;
}

.table-dark-custom td, .table td {
  border-color: var(--border-color) !important;
  vertical-align: middle;
  padding: 12px 16px;
  color: #F1F5F9 !important;
  background-color: transparent !important;
}

.table-dark-custom tr:hover td, .table tr:hover td {
  background-color: rgba(255, 255, 255, 0.05) !important;
  color: #fff !important;
}
.table-responsive { border-radius: 8px; }

/* Text Overrides for Clear Contrast */
.text-muted {
  color: #CBD5E1 !important;
}
small.text-muted, .text-break { color: #CBD5E1 !important; }

.text-light {
  color: #FFFFFF !important;
}
.text-warning { color: #FBBF24 !important; }
.text-danger { color: #FF6B74 !important; }
.text-success { color: #34D399 !important; }
.text-info { color: #22D3EE !important; }
.fw-bold, strong { color: inherit; }
td.fw-bold, .fw-bold { color: #FFFFFF !important; }

/* Thumbnails */
.channel-logo-thumb {
  width: 48px;
  height: 48px;
  object-fit: contain;
  background-color: #FFFFFF;
  padding: 4px;
  border-radius: 8px;
  border: 1px solid var(--border-bright);
}

/* Modals - force all inner text visible */
.modal-content, .modal-content.bg-dark {
  background-color: #1E293B !important;
  border: 2px solid var(--border-bright) !important;
  color: var(--text-bright) !important;
}
.modal-content .modal-body, .modal-content .modal-body div,
.modal-content p, .modal-content span, .modal-content small {
  color: #F1F5F9 !important;
}
.modal-content .form-label { color: #fff !important; }

.modal-header, .modal-footer {
  border-color: var(--border-color) !important;
}
.modal-title { color: #FF6B74 !important; }

/* Alerts keep light bg + dark text (readable), never white-on-light */
.alert { font-weight: 500; border-width: 1.5px; }
.alert-success { background-color: #D1E7DD !important; color: #0F5132 !important; border-color: #0F5132; }
.alert-danger { background-color: #F8D7DA !important; color: #842029 !important; border-color: #842029; }
.alert-warning { background-color: #FFF3CD !important; color: #664D03 !important; }
.alert-info { background-color: #CFF4FC !important; color: #055160 !important; }

/* Dropdown */
.dropdown-menu-dark, .dropdown-menu {
  background-color: #0F172A !important;
  border: 1px solid var(--border-bright) !important;
}
.dropdown-menu-dark .dropdown-item, .dropdown-menu .dropdown-item { color: #F1F5F9 !important; }
.dropdown-menu-dark .dropdown-item:hover, .dropdown-menu .dropdown-item:hover {
  background-color: rgba(229, 9, 20, 0.2) !important; color: #fff !important;
}
.dropdown-item.text-danger { color: #FF6B74 !important; }

/* Footer */
footer, footer small, footer.text-muted { color: #94A3B8 !important; }

/* Login page fix */
.min-vh-100 .card { color: var(--text-main) !important; }
