/* ==========================
   THEME / DARK MODE FIXES
========================== */

.is-noselect {
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}

:root[data-bs-theme="dark"] {
  --bs-link-color: #66b3ff;
  --bs-link-hover-color: #a3d4ff;
}

:root[data-bs-theme="dark"] .card {
  background: rgba(8, 12, 20, 0.6);
  border: 1px solid rgba(0, 174, 255, 0.18);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.35);
  backdrop-filter: blur(8px);
}

:root[data-bs-theme="dark"] .card-header {
  background: linear-gradient(120deg, rgba(13, 110, 253, 0.2), rgba(0, 174, 255, 0.08));
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  color: #e6edf3;
  letter-spacing: 0.2px;
}

:root[data-bs-theme="dark"] .card-body {
  color: #e6edf3;
}

:root[data-bs-theme="dark"] .form-control::placeholder {
  color: #bdbdbd;
}

:root[data-bs-theme="dark"] .form-control:focus,
:root[data-bs-theme="dark"] .btn:focus {
  box-shadow: 0 0 0 .2rem rgba(var(--bs-primary-rgb), .25);
}

:root[data-bs-theme="dark"] .table thead.table-light th {
  background-color: var(--bs-tertiary-bg) !important;
  color: var(--bs-body-color) !important;
}

:root[data-bs-theme="dark"] .table-striped tbody tr:nth-of-type(odd) > * {
  --bs-table-accent-bg: rgba(255,255,255,.03);
}

:root[data-bs-theme="dark"] .table {
  color: #e6edf3;
  --bs-table-color: #e6edf3;
  --bs-table-bg: rgba(8, 12, 20, 0.35);
  --bs-table-border-color: rgba(255, 255, 255, 0.08);
}

:root[data-bs-theme="dark"] .table > :not(caption) > * > * {
  background-color: rgba(8, 12, 20, 0.35);
  border-color: rgba(255, 255, 255, 0.08);
}

:root[data-bs-theme="dark"] .table th {
  font-weight: 600;
  letter-spacing: 0.2px;
}

:root[data-bs-theme="dark"] .list-group-item {
  background: rgba(8, 12, 20, 0.4);
  border-color: rgba(255, 255, 255, 0.08);
  color: #e6edf3;
}

:root[data-bs-theme="dark"] .form-select,
:root[data-bs-theme="dark"] .form-control {
  background-color: rgba(8, 12, 20, 0.6);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #e6edf3;
}

:root[data-bs-theme="dark"] .form-select:hover,
:root[data-bs-theme="dark"] .form-control:hover {
  border-color: #00b6ff;
  background-color: rgba(0, 0, 0, 0.5);
  color: rgba(255, 255, 255, 0.7);
}

:root[data-bs-theme="dark"] .form-select:focus,
:root[data-bs-theme="dark"] .form-control:focus {
  border-color: #00aeff;
  box-shadow: 0 0 0 .2rem rgba(0, 174, 255, 0.15);
  outline: 0;
}

:root[data-bs-theme="dark"] .badge {
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 0 8px rgba(0, 174, 255, 0.18);
  letter-spacing: 0.2px;
  font-weight: 600;
}

:root[data-bs-theme="dark"] .badge.bg-success {
  background: linear-gradient(135deg, rgba(0, 128, 0, 0.6), rgba(0, 174, 255, 0.05));
  color: #b6ffb6;
  border-color: rgba(0, 255, 0, 0.3);
}

:root[data-bs-theme="dark"] .badge.bg-warning {
  background: linear-gradient(135deg, rgba(255, 193, 7, 0.8), rgba(255, 165, 0, 0.15));
  color: #1f1300;
  border-color: rgba(255, 193, 7, 0.35);
}

:root[data-bs-theme="dark"] .badge.bg-secondary {
  background: rgba(255, 255, 255, 0.08);
  color: #d8d8d8;
  border-color: rgba(255, 255, 255, 0.12);
}

/* =============================
   Contacts page – custom panel
   ============================= */
.contacts-page {
  --contacts-border: rgba(255, 255, 255, 0.08);
  --contacts-bg: rgba(0, 0, 0, 0.3);
  --contacts-hover: linear-gradient(90deg, rgba(13, 110, 253, 0.01) 0%, rgba(13, 110, 253, 0.25) 50%, rgba(13, 110, 253, 0.01) 100%);
  --contacts-header-bg: rgb(9, 85, 135, 0.1);
}

.contacts-page .card,
.contacts-page .card-header,
.contacts-page .card-body,
.contacts-page .card-footer {
  background: transparent !important;
  background-color: transparent !important;
  border: none;
  box-shadow: none;
}

.contacts-page .card {
  border: 1px solid var(--contacts-border);
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
  backdrop-filter: blur(6px);
}

.contacts-page .card-header {
  background: var(--contacts-header-bg) !important;
  border-bottom: 1px solid var(--contacts-border);
  color: #e6edf3;
  font-weight: 600;
  letter-spacing: 0.3px;
}

.contacts-page .card-body {
  color: #e6edf3;
}

.contacts-table {
  margin-bottom: 0;
  color: #e6edf3;
  border: 1px solid var(--contacts-border);
  border-radius: 10px;
  overflow: hidden;
  background: transparent;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
}

.contacts-table thead th {
  background: var(--contacts-header-bg) !important;
  border-color: var(--contacts-border);
  color: #cfe8ff;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  font-size: 13px;
}

.contacts-table tbody tr {
  background: transparent;
  border-bottom: 1px solid var(--contacts-border);
  transition: background-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.contacts-table tbody tr:nth-of-type(odd) {
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.012) 0%, rgba(255, 255, 255, 0.04) 100%);
}

.contacts-table tbody tr:hover {
  background: var(--contacts-hover) !important;
  color: #00b6ff;
  box-shadow: inset 0 0 12px rgba(13, 110, 253, 0.25);
}

.contacts-table tbody tr:nth-of-type(even):not(:hover) {
  background: rgba(255, 255, 255, 0.02);
}

.contacts-table tbody tr:nth-of-type(even) td {
  background-color: rgba(0, 0, 0, 0.35) !important;
}

.contacts-table tbody tr:hover td { color: #00b6ff; }

.contacts-table td, .contacts-table th {
  vertical-align: middle;
  border-color: var(--contacts-border);
}

.contacts-table td {
  background: transparent !important;
  background-color: rgba(0, 0, 0, 0.3) !important;
  border: none !important;
}

.contacts-table .badge {
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 0 6px rgba(0, 174, 255, 0.18);
}

.contacts-list .list-group-item {
  background: transparent;
  border-color: var(--contacts-border);
  color: #e6edf3;
  transition: background-color 160ms ease, color 160ms ease;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.2);
}

.contacts-list .list-group-item:hover {
  background: var(--contacts-hover) !important;
  color: #00b6ff;
}

.contacts-page .btn-outline-danger.btn-sm {
  border-color: rgba(255, 70, 70, 0.6);
  color: #ff6b6b;
}

.contacts-page .btn-outline-danger.btn-sm:hover,
.contacts-page .btn-outline-danger.btn-sm:focus {
  background: rgba(255, 70, 70, 0.12);
  border-color: rgba(255, 120, 120, 0.8);
  color: #ffc6c6;
}
