/* Theme: Dark + Deep Orange Accent */
:root {
  --bg-0: #0b0b0d;
  --bg-1: #0f1114;
  --bg-2: #121418;
  --card: #14171c;
  --muted: #a0a6b0;
  --text: #e9eef5;
  --text-dim: #c7ccd6;
  --border: #1e2229;
  --accent: #d96d00; /* deep vibrant orange */
  --accent-2: #ff7a18;
  --accent-3: #ff9a3d;
  --shadow: rgba(0,0,0,.5);
}

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

/* Generic containers */
.container, .container-fluid, .slim-mainpanel, .slim-body, .content, .slim-pagebody {
  background: transparent !important;
  color: var(--text) !important;
}

/* Cards & panels */
.card, .modal-content, .signin-box, .alert, .dropdown-menu, .panel, .list-group-item {
  background: var(--card) !important;
  color: var(--text) !important;
  border: 1px solid var(--border) !important;
  box-shadow: 0 6px 18px var(--shadow) !important;
}

/* Headers / Topbar */
.slim-header, .navigation, .slim-header.with-sidebar {
  background: var(--bg-1) !important;
  border-bottom: 1px solid var(--border) !important;
}

/* Sidebar */
.slim-sidebar {
  background: var(--bg-1) !important;
  border-right: 1px solid var(--border);
}
.sidebar-label { color: var(--muted) !important; }

.nav.nav-sidebar .sidebar-nav-item .sidebar-nav-link {
  color: var(--text-dim) !important;
  background: transparent !important;
  border-left: 3px solid transparent;
  transition: background .15s ease, color .15s ease, border-left-color .15s ease, transform .15s ease;
}

.nav.nav-sidebar .sidebar-nav-item .sidebar-nav-link:hover {
  color: var(--text) !important;
  background: linear-gradient(90deg, rgba(217,109,0,.12), rgba(217,109,0,0)) !important;
  border-left-color: var(--accent);
  transform: translateX(2px);
}

.nav.nav-sidebar .sidebar-nav-item .sidebar-nav-link.active {
  color: #fff !important;
  background: linear-gradient(90deg, rgba(217,109,0,.18), rgba(217,109,0,0)) !important;
  border-left-color: var(--accent);
  font-weight: 600;
}

/* Buttons */
.btn, button, .button {
  border-radius: 8px !important;
  border: 1px solid transparent !important;
}

.btn-dark, .btn-primary, .btn-info, .btn-warning, .btn-success, .btn-secondary, .button {
  background: var(--accent) !important;
  border-color: var(--accent) !important;
  color: #0a0a0a !important;
  font-weight: 700 !important;
}

.btn-dark:hover, .btn-primary:hover, .btn-info:hover, .btn-warning:hover, .btn-success:hover, .btn-secondary:hover, .button:hover {
  background: var(--accent-2) !important;
  border-color: var(--accent-2) !important;
  color: #070707 !important;
  box-shadow: 0 8px 18px rgba(255, 122, 24, .25) !important;
}

.btn-outline, .btn-outline-dark, .btn-outline-primary {
  background: transparent !important;
  border-color: var(--accent) !important;
  color: var(--accent) !important;
}
.btn-outline:hover, .btn-outline-dark:hover, .btn-outline-primary:hover {
  background: var(--accent) !important;
  color: #0a0a0a !important;
}

/* Inputs */
input, select, textarea {
  background: var(--bg-2) !important;
  color: var(--text) !important;
  border: 1px solid var(--border) !important;
}
input::placeholder, textarea::placeholder { color: var(--muted) !important; }

/* Tables */
.table, table {
  color: var(--text) !important;
}
.table thead th {
  background: var(--bg-2) !important;
  border-bottom: 1px solid var(--border) !important;
}
.table tbody tr {
  background: var(--card) !important;
}
.table tbody tr:hover {
  background: linear-gradient(90deg, rgba(217,109,0,.08), rgba(217,109,0,0)) !important;
}

/* Links */
a, .link { color: var(--accent-3) !important; }
a:hover, .link:hover { color: var(--accent-2) !important; text-decoration: none !important; }

/* Toasts / badges */
.badge, .label {
  background: var(--accent) !important;
  color: #0a0a0a !important;
}

/* Login page specifics */
.signin-wrapper { background: radial-gradient(1200px 600px at 20% 0%, rgba(217,109,0,.15), transparent 60%), var(--bg-0) !important; }
.signin-box { border-radius: 12px !important; }

/* Modals */
.modal-header, .modal-footer { background: var(--bg-2) !important; border-color: var(--border) !important; }
.modal-body { background: var(--card) !important; }

/* DataTables/select2 adjustments (if present) */
.dataTables_wrapper .dataTables_filter input { background: var(--bg-2) !important; }
.select2-container--default .select2-selection--single { background: var(--bg-2) !important; border-color: var(--border) !important; }
.select2-results__option--highlighted { background: var(--accent) !important; color: #0a0a0a !important; }

/* Loader */
#loader { background: var(--bg-0) !important; }

/* Pagination */
.pagination .page-link { background: var(--bg-2) !important; color: var(--text-dim) !important; border-color: var(--border) !important; }
.pagination .page-item.active .page-link { background: var(--accent) !important; color: #0a0a0a !important; border-color: var(--accent) !important; }
.pagination .page-link:hover { background: rgba(217,109,0,.15) !important; color: var(--text) !important; border-color: var(--accent) !important; }

/* DataTables */
.dataTables_wrapper .dataTables_paginate .paginate_button {
  background: var(--bg-2) !important;
  color: var(--text-dim) !important;
  border: 1px solid var(--border) !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
  background: var(--accent) !important;
  color: #0a0a0a !important;
  border-color: var(--accent) !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
  background: rgba(217,109,0,.15) !important;
  color: var(--text) !important;
  border-color: var(--accent) !important;
}
.dataTables_wrapper .dataTables_length select,
.dataTables_wrapper .dataTables_filter input { color: var(--text) !important; }
.dataTables_wrapper .dataTables_info { color: var(--muted) !important; }
.dataTables_wrapper .dataTables_filter label, .dataTables_wrapper .dataTables_length label { color: var(--text-dim) !important; }

/* Select2 dropdowns */
.select2-dropdown { background: var(--bg-2) !important; border-color: var(--border) !important; color: var(--text) !important; }
.select2-results__option { color: var(--text) !important; }
.select2-results__option[aria-selected=true] { background: rgba(217,109,0,.25) !important; color: #fff !important; }
.select2-search__field { background: var(--bg-2) !important; color: var(--text) !important; border-color: var(--border) !important; }

/* Scrollbar (webkit) */
*::-webkit-scrollbar { width: 10px; height: 10px; }
*::-webkit-scrollbar-track { background: var(--bg-1); }
*::-webkit-scrollbar-thumb { background: #2a2f36; border-radius: 8px; border: 2px solid var(--bg-1); }
*::-webkit-scrollbar-thumb:hover { background: #343a43; }

/* Focus states (accessibility) */
input:focus, select:focus, textarea:focus, .form-control:focus, .btn:focus, button:focus, .button:focus {
  outline: 2px solid transparent !important;
  box-shadow: 0 0 0 3px rgba(217,109,0,.35) !important;
  border-color: var(--accent) !important;
}

/* Sidebar icon enhancements */
.nav.nav-sidebar .sidebar-nav-item .sidebar-nav-link img {
  filter: brightness(0.9) saturate(1.15);
  transition: filter .15s ease, transform .15s ease, box-shadow .15s ease;
}
.nav.nav-sidebar .sidebar-nav-item .sidebar-nav-link:hover img,
.nav.nav-sidebar .sidebar-nav-item .sidebar-nav-link.active img {
  filter: brightness(1.15) saturate(1.35);
  transform: translateX(1px);
  box-shadow: 0 0 0 0 rgba(0,0,0,0), 0 0 12px rgba(217,109,0,.25);
}

/* Alerts */
.alert { border: 1px solid var(--border) !important; }
.alert-success { background: rgba(34, 197, 94, .10) !important; border-color: rgba(34, 197, 94, .35) !important; color: #b7f7cc !important; }
.alert-info { background: rgba(59, 130, 246, .10) !important; border-color: rgba(59, 130, 246, .35) !important; color: #c6defe !important; }
.alert-warning { background: rgba(245, 158, 11, .10) !important; border-color: rgba(245, 158, 11, .35) !important; color: #ffe6b8 !important; }
.alert-danger, .alert-error { background: rgba(239, 68, 68, .10) !important; border-color: rgba(239, 68, 68, .35) !important; color: #ffd0d0 !important; }

/* Selection highlight */
::selection { background: var(--accent-2); color: #101010; }
::-moz-selection { background: var(--accent-2); color: #101010; }

/* Hover accents for links in tables/cards */
.card a:hover, .panel a:hover, .list-group-item a:hover { color: var(--accent-2) !important; }
