/* =============================================================
   TRADES (dark mode)
   ============================================================= */

[data-theme="dark"] .trades-page .trade-lock-summary {
  background: var(--card-bg) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .trades-page details summary {
  color: var(--text-primary) !important;
}

/* Counter-offer boxes in trades.html use inline light backgrounds */
[data-theme="dark"] .trades-page form[action*="trade_action"] div[style*="background:#f8f9fa"],
[data-theme="dark"] .trades-page form[action*="trade_action"] div[style*="background: #f8f9fa"],
[data-theme="dark"] .trades-page form[action*="trade_action"] div[style*="background:#fafafa"],
[data-theme="dark"] .trades-page form[action*="trade_action"] div[style*="background: #fafafa"] {
  background: var(--bg-secondary) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

/* =============================================================
   TRADE NEW (dark mode)
   ============================================================= */

[data-theme="dark"] .trade-new-page .trade-header-card {
  background: var(--card-bg) !important;
}

[data-theme="dark"] .trade-new-page .trade-section-card {
  background: var(--card-bg) !important;
  border-color: var(--border-color) !important;
}

[data-theme="dark"] .trade-new-page .trade-players-box,
[data-theme="dark"] .trade-new-page .trade-picks-box,
[data-theme="dark"] .trade-new-page .cap-projection-card {
  background: var(--bg-secondary) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .trade-new-page h1,
[data-theme="dark"] .trade-new-page h6,
[data-theme="dark"] .trade-new-page label {
  color: var(--text-primary) !important;
}

/* Trade/new: primary submit button should feel clickable and not overly dark */
.trade-new-page .btn-trade-primary {
  cursor: pointer;
}

.trade-new-page .btn-trade-primary:disabled,
.trade-new-page .btn-trade-primary[disabled] {
  cursor: not-allowed;
}

[data-theme="dark"] .trade-new-page .btn-trade-primary {
  background: linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%) !important;
  color: var(--text-inverse) !important;
}

[data-theme="dark"] .trade-new-page .btn-trade-primary:hover:not(:disabled) {
  filter: brightness(1.06);
}

[data-theme="dark"] .trade-new-page .btn-trade-primary:focus {
  box-shadow: 0 0 0 3px rgba(0, 212, 255, 0.25) !important;
  outline: none !important;
}

/* =============================================================
   DOMPAGE (premium suggestions)
   ============================================================= */

/* Default (light mode): preserve existing "success" panel styling */
#suggestions-container .dw-premium-suggestion-player {
  background: #e8f5e9;
  border-radius: 8px;
  border-left: 4px solid #4caf50;
}

#suggestions-container .dw-premium-suggestion-player-title {
  color: #4caf50;
  font-weight: 700;
  margin-bottom: 12px;
}

/* Dark mode: avoid pale/green blocks; use theme surfaces */
[data-theme="dark"] #suggestions-container .dw-premium-suggestion-player {
  background: var(--bg-tertiary) !important;
  border-left-color: var(--success) !important;
}

[data-theme="dark"] #suggestions-container .dw-premium-suggestion-player-title {
  color: var(--success) !important;
}

[data-theme="dark"] #suggestions-container .dw-premium-suggestion-player .text-muted {
  color: var(--text-secondary) !important;
}

[data-theme="dark"] #suggestions-container .dw-premium-suggestion-player .text-success {
  color: var(--success) !important;
}

/* Fallback for cached/legacy inline styles (pre-class refactor) */
[data-theme="dark"] #suggestions-container div[style*="#e8f5e9"],
[data-theme="dark"] #suggestions-container div[style*="#4caf50"],
[data-theme="dark"] #suggestions-container .card-body .p-3.mb-3 {
  background: var(--bg-tertiary) !important;
  border-left: 4px solid var(--success) !important;
  border-radius: 8px !important;
}

[data-theme="dark"] #suggestions-container h6[style*="#4caf50"],
[data-theme="dark"] #suggestions-container h6[style*="color: #4caf50"],
[data-theme="dark"] #suggestions-container h6[style*="color:#4caf50"] {
  color: var(--success) !important;
}

/* =============================================================
   DOMPAGE (dark mode readability)
   ============================================================= */

/* dompage.html defines a light gradient banner in an inline <style> block;
   override it in dark mode so the text stays readable. */
[data-theme="dark"] .main-content .announcement-banner {
  background: var(--bg-secondary) !important;
  border: 1px solid var(--border-color) !important;
  border-left: 4px solid var(--accent-primary) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .main-content .announcement-banner .text-muted {
  color: var(--text-secondary) !important;
}

[data-theme="dark"] .main-content .announcement-banner a {
  color: var(--accent-primary) !important;
}

[data-theme="dark"] .main-content .announcement-banner .annc-close {
  color: var(--text-secondary) !important;
}

[data-theme="dark"] .main-content .announcement-banner .annc-close:hover {
  color: var(--text-primary) !important;
}

/* Ensure the primary submit button keeps visible text in dark mode */
[data-theme="dark"] .main-content .btn-dompage-primary {
  background: linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%) !important;
  color: var(--bg-primary) !important;
}

[data-theme="dark"] .main-content .btn-dompage-primary:hover:not(:disabled) {
  filter: brightness(1.06);
}

/* =============================================================
   ANALYTICS /analytics/teams (dark mode)
   ============================================================= */

[data-theme="dark"] .analytics-teams-page .nav-tabs {
  border-bottom-color: var(--border-color) !important;
}

[data-theme="dark"] .analytics-teams-page .nav-tabs .nav-link {
  color: var(--text-secondary) !important;
}

[data-theme="dark"] .analytics-teams-page .nav-tabs .nav-link.active {
  color: var(--accent-primary) !important;
}

/* Table surfaces + text */
[data-theme="dark"] .analytics-teams-page #teams-table {
  background: var(--card-bg) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .analytics-teams-page #teams-table thead,
[data-theme="dark"] .analytics-teams-page #teams-table thead tr,
[data-theme="dark"] .analytics-teams-page #teams-table thead th {
  background: var(--bg-secondary) !important;
  border-bottom-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

/* Fix sortable hover highlight (was light gray) */
[data-theme="dark"] .analytics-teams-page #teams-table th.sortable:hover {
  background: var(--bg-tertiary) !important;
}

/* Fix tbody base + striped + hover highlight */
[data-theme="dark"] .analytics-teams-page #teams-table tbody,
[data-theme="dark"] .analytics-teams-page #teams-table tbody tr,
[data-theme="dark"] .analytics-teams-page #teams-table tbody td {
  background: transparent !important;
  color: var(--text-primary) !important;
  border-color: var(--border-color) !important;
}

[data-theme="dark"] .analytics-teams-page #teams-table.table-hover tbody tr:hover {
  background: rgba(0, 212, 255, 0.10) !important;
}

[data-theme="dark"] .analytics-teams-page #teams-table.table-striped tbody tr:nth-of-type(odd) {
  background: rgba(255, 255, 255, 0.03) !important;
}

/* Trend row highlights (were pale gradients) */
[data-theme="dark"] .analytics-teams-page #teams-table tr.hot-team {
  background: rgba(245, 158, 11, 0.12) !important;
}

[data-theme="dark"] .analytics-teams-page #teams-table tr.cold-team {
  background: rgba(59, 130, 246, 0.10) !important;
}

/* Points column color in dark mode (avoid bright blue on dark text issues) */
[data-theme="dark"] .analytics-teams-page #teams-table td[style*="color: #0099ff"],
[data-theme="dark"] .analytics-teams-page #teams-table td[style*="color:#0099ff"] {
  color: var(--accent-primary) !important;
}

/* =============================================================
   ADMIN /admin/pool_manage (dark mode)
   ============================================================= */

[data-theme="dark"] .admin-pool-manage-page .admin-section-card {
  background: var(--card-bg) !important;
  border-color: var(--border-color) !important;
}

[data-theme="dark"] .admin-pool-manage-page .admin-card-header {
  background: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
  border-bottom-color: var(--accent-primary) !important;
}

[data-theme="dark"] .admin-pool-manage-page .admin-feature-row {
  background: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .admin-pool-manage-page .admin-feature-row:hover {
  background: var(--bg-tertiary) !important;
}

[data-theme="dark"] .admin-pool-manage-page .admin-feature-row strong {
  color: var(--text-primary) !important;
}

[data-theme="dark"] .admin-pool-manage-page .admin-header-card a.btn.btn-light {
  background: var(--bg-secondary) !important;
  color: var(--accent-primary) !important;
  border: 1px solid var(--border-color) !important;
}

[data-theme="dark"] .admin-pool-manage-page .alert.alert-info {
  background: var(--bg-secondary) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .admin-pool-manage-page .alert.alert-info .badge,
[data-theme="dark"] .admin-pool-manage-page .alert.alert-info .text-dark {
  color: var(--text-primary) !important;
}

/* Backup table: template uses inline light thead + th colors */
[data-theme="dark"] .admin-pool-manage-page table thead[style*="#f8f9fa"],
[data-theme="dark"] .admin-pool-manage-page table thead[style*="background: #f8f9fa"],
[data-theme="dark"] .admin-pool-manage-page table thead[style*="background:#f8f9fa"] {
  background: var(--bg-secondary) !important;
}

[data-theme="dark"] .admin-pool-manage-page table thead th {
  color: var(--text-primary) !important;
  border-bottom-color: var(--border-color) !important;
}

[data-theme="dark"] .admin-pool-manage-page code {
  background: var(--bg-tertiary) !important;
  color: var(--text-primary) !important;
  border: 1px solid var(--border-color) !important;
}

[data-theme="dark"] .admin-pool-manage-page .table,
[data-theme="dark"] .admin-pool-manage-page .table td,
[data-theme="dark"] .admin-pool-manage-page .table th {
  color: var(--text-primary) !important;
  border-color: var(--border-color) !important;
}

[data-theme="dark"] .admin-pool-manage-page .thead-light th {
  background: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
}

/* =============================================================
   ADMIN /admin/dompages (dark mode)
   ============================================================= */

[data-theme="dark"] .admin-dompages-page .dompages-admin {
  background: var(--card-bg) !important;
  border-color: var(--border-color) !important;
  box-shadow: var(--shadow-md) !important;
}

[data-theme="dark"] .admin-dompages-page .dompages-table-wrap,
[data-theme="dark"] .admin-dompages-page .dompages-table {
  background: var(--card-bg) !important;
  border-color: var(--border-color) !important;
}

[data-theme="dark"] .admin-dompages-page .dompages-table thead th {
  background: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
  border-bottom-color: var(--accent-primary) !important;
}

[data-theme="dark"] .admin-dompages-page .dompages-table tbody td {
  color: var(--text-primary) !important;
  border-color: var(--border-color) !important;
}

/* Group header row (Bootstrap .table-active is too light in dark mode) */
[data-theme="dark"] .admin-dompages-page .table-active {
  background: var(--bg-secondary) !important;
  color: var(--text-primary) !important;
}

/* Mobile layout in template hardcodes light surfaces */
[data-theme="dark"] .admin-dompages-page .dompages-table tbody tr {
  background: var(--card-bg) !important;
  border-color: var(--border-color) !important;
}

[data-theme="dark"] .admin-dompages-page .dompages-table tbody td::before {
  color: var(--text-secondary) !important;
}

/* Badge colors: avoid pale gradients */
[data-theme="dark"] .admin-dompages-page .dompages-table .badge-dom-pending {
  background: rgba(245, 158, 11, 0.18) !important;
  color: var(--warning) !important;
}

[data-theme="dark"] .admin-dompages-page .dompages-table .badge-dom-approved {
  background: rgba(16, 185, 129, 0.18) !important;
  color: var(--success) !important;
}

[data-theme="dark"] .admin-dompages-page .dompages-table .badge-dom-rejected {
  background: rgba(239, 68, 68, 0.18) !important;
  color: var(--error) !important;
}

[data-theme="dark"] .admin-dompages-page .dompages-table .badge-dom-half {
  background: rgba(0, 212, 255, 0.16) !important;
  color: var(--accent-primary) !important;
}
/* ===== CORRECTIONS CRITIQUES - À CHARGER EN DERNIER ===== */
/* Fixes définitifs pour hamburger et recherche de joueurs */

/* OVERRIDE TOTAL DES VARIABLES CSS PROBLÉMATIQUES */
* {
  --dd-primary: #1a365d !important;
  --dd-secondary: #2d3748 !important;
  --dd-accent: #c53030 !important;
  --dd-text-primary: #2d3748 !important;
  --dd-text-secondary: #718096 !important;
  --dd-text-light: #ffffff !important;
}

/* HAMBURGER MENU - Corrections absolues */
.navbar-toggler {
  background-color: #ffffff !important;
  border: 2px solid #1a365d !important;
  border-radius: 8px !important;
  padding: 0.75rem !important;
  width: 50px !important;
  height: 50px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: none !important;
  outline: none !important;
}

.navbar-toggler:hover,
.navbar-toggler:focus,
.navbar-toggler:active {
  background-color: #edf2f7 !important;
  border-color: #1a365d !important;
  box-shadow: none !important;
  outline: none !important;
}

.navbar-toggler-icon {
  background-image: none !important;
  background: #1a365d !important;
  width: 24px !important;
  height: 3px !important;
  border-radius: 2px !important;
  position: relative !important;
  transition: all 0.3s ease !important;
}

.navbar-toggler-icon::before,
.navbar-toggler-icon::after {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  width: 24px !important;
  height: 3px !important;
  background: #1a365d !important;
  border-radius: 2px !important;
  transition: all 0.3s ease !important;
}

.navbar-toggler-icon::before {
  top: -8px !important;
}

.navbar-toggler-icon::after {
  top: 8px !important;
}

.navbar-toggler:hover .navbar-toggler-icon,
.navbar-toggler:hover .navbar-toggler-icon::before,
.navbar-toggler:hover .navbar-toggler-icon::after {
  background: #c53030 !important;
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon {
  background: transparent !important;
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon::before {
  transform: rotate(45deg) !important;
  top: 0 !important;
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon::after {
  transform: rotate(-45deg) !important;
  top: 0 !important;
}

/* Responsive hamburger */
@media (max-width: 991.98px) {
  .navbar-toggler {
    display: flex !important;
  }
}

@media (min-width: 992px) {
  .navbar-toggler {
    display: none !important;
  }
}

/* PAGE CHECK_PLAYER - Corrections spécifiques */
/* Force l'affichage correct sur toute la page check_player */
body.page-check-player {
  background-color: #f8f9fa !important;
  color: #2d3748 !important;
}

.player-header h2,
.player-header .h4,
.page-header h2,
.page-header .h4 {
  color: #ffffff !important;
  background: transparent !important;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8) !important;
  font-weight: bold !important;
  z-index: 10 !important;
  position: relative !important;
}

.player-header .text-muted,
.page-header .text-muted {
  color: #f7fafc !important;
  background: transparent !important;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8) !important;
  z-index: 10 !important;
  position: relative !important;
}

.player-header .badge,
.page-header .badge {
  background-color: #e2e8f0 !important;
  color: #2d3748 !important;
  border: 1px solid #cbd5e0 !important;
  text-shadow: none !important;
  z-index: 10 !important;
  position: relative !important;
}

.player-header .badge-secondary {
  background-color: #718096 !important;
  color: #ffffff !important;
}

.player-header .badge-info {
  background-color: #3182ce !important;
  color: #ffffff !important;
}

/* Force l'affichage du header même avec des styles conflictuels */
.page-header,
.player-header {
  position: relative !important;
  z-index: 5 !important;
}

/* BOUTON PUCKPEDIA dans le header */
.player-header .btn,
.page-header .btn,
.player-header .btn-outline-primary,
.page-header .btn-outline-primary {
  background-color: #ffffff !important;
  color: #1a365d !important;
  border: 2px solid #1a365d !important;
  border-radius: 6px !important;
  padding: 0.375rem 0.75rem !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  display: inline-block !important;
  z-index: 15 !important;
  position: relative !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
  transition: all 0.3s ease !important;
}

.player-header .btn:hover,
.page-header .btn:hover,
.player-header .btn-outline-primary:hover,
.page-header .btn-outline-primary:hover {
  background-color: #1a365d !important;
  color: #ffffff !important;
  border-color: #1a365d !important;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2) !important;
  text-decoration: none !important;
}

.player-header .btn:focus,
.page-header .btn:focus,
.player-header .btn-outline-primary:focus,
.page-header .btn-outline-primary:focus {
  background-color: #ffffff !important;
  color: #1a365d !important;
  border-color: #1a365d !important;
  box-shadow: 0 0 0 3px rgba(26, 54, 93, 0.2) !important;
  outline: none !important;
}

/* Info PuckPedia slug */
.player-header .small.text-muted,
.page-header .small.text-muted {
  color: #f7fafc !important;
  background: transparent !important;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8) !important;
  font-size: 0.75rem !important;
}

/* POOL CLAIM SECTION - Corrections pour dropdowns */
.form-control,
.form-control-sm,
select.form-control,
select.form-control-sm {
  background-color: #ffffff !important;
  color: #2d3748 !important;
  border: 2px solid #e2e8f0 !important;
  border-radius: 6px !important;
  padding: 0.375rem 0.75rem !important;
  font-size: 0.875rem !important;
  line-height: 1.5 !important;
  font-weight: normal !important;
  box-shadow: none !important;
  transition: border-color 0.3s ease !important;
}

/* États focus pour les selects */
.form-control:focus,
.form-control-sm:focus,
select.form-control:focus,
select.form-control-sm:focus {
  background-color: #ffffff !important;
  color: #2d3748 !important;
  border-color: #1a365d !important;
  box-shadow: 0 0 0 3px rgba(26, 54, 93, 0.1) !important;
  outline: none !important;
}

/* Options dans les selects */
select.form-control option,
select.form-control-sm option {
  background-color: #ffffff !important;
  color: #2d3748 !important;
  padding: 0.5rem !important;
}

/* DARK MODE: ne pas forcer le fond blanc sur tout le site */
[data-theme="dark"] .form-control,
[data-theme="dark"] .form-control-sm,
[data-theme="dark"] select.form-control,
[data-theme="dark"] select.form-control-sm {
  background-color: var(--input-bg) !important;
  color: var(--text-primary) !important;
  border-color: var(--input-border) !important;
}

[data-theme="dark"] .form-control:focus,
[data-theme="dark"] .form-control-sm:focus,
[data-theme="dark"] select.form-control:focus,
[data-theme="dark"] select.form-control-sm:focus {
  background-color: var(--input-bg) !important;
  color: var(--text-primary) !important;
  border-color: var(--accent-primary) !important;
  box-shadow: 0 0 0 3px var(--accent-glow) !important;
}

[data-theme="dark"] select.form-control option,
[data-theme="dark"] select.form-control-sm option {
  background-color: var(--card-bg) !important;
  color: var(--text-primary) !important;
}

/* Labels dans Pool Claim */
.form-group label,
label.mb-1 {
  color: #2d3748 !important;
  background: transparent !important;
  font-weight: 600 !important;
  font-size: 0.875rem !important;
  text-shadow: none !important;
}

[data-theme="dark"] .form-group label,
[data-theme="dark"] label.mb-1 {
  color: var(--text-secondary) !important;
}

/* Boutons dans Pool Claim */
.btn-primary.btn-sm {
  background-color: #1a365d !important;
  border-color: #1a365d !important;
  color: #ffffff !important;
  font-weight: 600 !important;
}

.btn-primary.btn-sm:hover {
  background-color: #2c5282 !important;
  border-color: #2c5282 !important;
}

/* Alertes */
.alert-info {
  background-color: #ebf8ff !important;
  border-color: #90cdf4 !important;
  color: #1a365d !important;
}

[data-theme="dark"] .alert-info {
  background: var(--card-bg) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .alert-info a {
  color: var(--accent-primary) !important;
}

[data-theme="dark"] .alert-info .badge,
[data-theme="dark"] .alert-info .badge-secondary {
  background-color: rgba(255, 255, 255, 0.10) !important;
  color: var(--text-primary) !important;
  border: 1px solid var(--border-color) !important;
}

/* Flash messages (ex: changement de langue) - less intense in dark mode */
[data-theme="dark"] .flash-stack .alert {
  background: var(--card-bg) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .flash-stack .alert-success {
  background: rgba(34, 197, 94, 0.12) !important;
  border-color: rgba(34, 197, 94, 0.30) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .flash-stack .alert-success a {
  color: var(--text-primary) !important;
  text-decoration: underline;
}

[data-theme="dark"] .flash-stack .alert .close {
  color: var(--text-secondary) !important;
  opacity: 0.9 !important;
}

[data-theme="dark"] .flash-stack .alert .close:hover,
[data-theme="dark"] .flash-stack .alert .close:focus {
  color: var(--text-primary) !important;
  opacity: 1 !important;
}

/* ===== PLAY-BY-PLAY (dark mode readability) ===== */
/* Date picker: keep the input readable, and nudge the native picker to a readable scheme */
[data-theme="dark"] .pbp-page input[type="date"].form-control {
  /* Slightly lighter than the default input bg to avoid looking “too dark” */
  background-color: var(--bg-tertiary) !important;
  color: var(--text-primary) !important;
  border-color: var(--input-border) !important;
  /* Ask the browser/OS for a dark native date picker */
  color-scheme: dark;
  accent-color: var(--accent-primary);
}

/* Calendar icon visibility (Chrome/Safari/WebKit) */
[data-theme="dark"] .pbp-page input[type="date"].form-control::-webkit-calendar-picker-indicator {
  filter: invert(1) brightness(1.15);
  opacity: 0.85;
}

[data-theme="dark"] .pbp-page input[type="date"].form-control:focus {
  border-color: var(--accent-primary) !important;
  box-shadow: 0 0 0 3px var(--accent-glow) !important;
}

[data-theme="dark"] .pbp-page .pbp-controls label {
  color: var(--text-secondary) !important;
}

/* Jumbotron scoreboard: override the inline light theme styles */
[data-theme="dark"] .pbp-page .jumbotron-scoreboard {
  background: var(--card-bg) !important;
  border: 1px solid var(--border-color) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.55) !important;
}

[data-theme="dark"] .pbp-page .jumbotron-scoreboard::before {
  background: linear-gradient(90deg, transparent, var(--border-color), transparent) !important;
}

[data-theme="dark"] .pbp-page .jumbo-team-name,
[data-theme="dark"] .pbp-page .jumbo-team-score,
[data-theme="dark"] .pbp-page .jumbo-time {
  color: var(--text-primary) !important;
}

[data-theme="dark"] .pbp-page .jumbo-clock {
  background: var(--bg-secondary) !important;
  border-color: var(--border-color) !important;
  box-shadow: none !important;
}

[data-theme="dark"] .pbp-page .jumbo-period {
  background: var(--bg-secondary) !important;
  border-color: var(--border-color) !important;
}

[data-theme="dark"] .pbp-page .jumbo-period-text,
[data-theme="dark"] .pbp-page .jumbo-updated {
  color: var(--text-secondary) !important;
}

[data-theme="dark"] .pbp-page .jumbo-state {
  color: var(--accent-primary) !important;
}

/* Highlights + Timeline: override the inline light palette from play_by_play.html */
[data-theme="dark"] .pbp-page .pbp-highlights,
[data-theme="dark"] .pbp-page .pbp-events {
  background: var(--card-bg) !important;
  border: 1px solid var(--border-color) !important;
}

[data-theme="dark"] .pbp-page .pbp-highlights .card-body,
[data-theme="dark"] .pbp-page .pbp-events .card-body {
  background: var(--card-bg) !important;
}

[data-theme="dark"] .pbp-page .pbp-highlights-empty,
[data-theme="dark"] .pbp-page .pbp-empty {
  color: var(--text-muted) !important;
}

/* Highlight items */
[data-theme="dark"] .pbp-page .pbp-highlight-item {
  border-bottom: 1px solid var(--border-color) !important;
}

[data-theme="dark"] .pbp-page .pbp-highlight-header {
  color: var(--text-primary) !important;
}

[data-theme="dark"] .pbp-page .pbp-highlight-header .text-muted {
  color: var(--text-muted) !important;
}

[data-theme="dark"] .pbp-page .pbp-highlight-body {
  color: var(--text-secondary) !important;
}

[data-theme="dark"] .pbp-page .pbp-highlight-note {
  color: var(--text-muted) !important;
}

[data-theme="dark"] .pbp-page .pbp-highlight-item.goal {
  border-left-color: var(--success) !important;
  background: rgba(16, 185, 129, 0.10) !important;
}

[data-theme="dark"] .pbp-page .pbp-highlight-item.penalty {
  border-left-color: var(--error) !important;
  background: rgba(239, 68, 68, 0.10) !important;
}

[data-theme="dark"] .pbp-page .pbp-highlight-item[data-category="big-save"],
[data-theme="dark"] .pbp-page .pbp-highlight-item.big-save {
  border-left-color: var(--accent-primary) !important;
  background: rgba(0, 212, 255, 0.08) !important;
}

/* Rink graphic: avoid the bright white slab */
[data-theme="dark"] .pbp-page .pbp-highlight-rink {
  background-color: var(--bg-secondary) !important;
  border-color: var(--border-color) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.06) !important;
}

/* Timeline events */
[data-theme="dark"] .pbp-page .pbp-timeline .pbp-event {
  border-bottom: 1px solid var(--border-color) !important;
}

[data-theme="dark"] .pbp-page .pbp-event-time,
[data-theme="dark"] .pbp-page .pbp-event-period {
  color: var(--text-muted) !important;
}

[data-theme="dark"] .pbp-page .pbp-event-title {
  color: var(--text-primary) !important;
}

[data-theme="dark"] .pbp-page .pbp-event-description,
[data-theme="dark"] .pbp-page .pbp-event-participants {
  color: var(--text-secondary) !important;
}

[data-theme="dark"] .pbp-page .pbp-event-meta {
  color: var(--text-muted) !important;
}

[data-theme="dark"] .pbp-page .pbp-event.is-highlight {
  background: rgba(245, 158, 11, 0.10) !important;
  border-left-color: rgba(245, 158, 11, 0.75) !important;
}

/* Badges inside timeline/highlights: avoid bright whites */
[data-theme="dark"] .pbp-page .badge-light {
  background: rgba(255, 255, 255, 0.10) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .pbp-page .badge-secondary {
  background: rgba(255, 255, 255, 0.12) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .pbp-page .badge-dark {
  background: rgba(0, 0, 0, 0.35) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .pbp-page .pbp-event-participants .pbp-player-link {
  color: var(--accent-primary) !important;
}

/* Container du form Pool Claim */
.border.rounded.p-2.mb-2.bg-light {
  background-color: #f7fafc !important;
  border-color: #e2e8f0 !important;
  border-width: 2px !important;
}

[data-theme="dark"] .border.rounded.p-2.mb-2.bg-light {
  background-color: var(--card-bg) !important;
  border-color: var(--border-color) !important;
}

/* Titres sections */
h6.mt-2.mb-2 {
  color: #2d3748 !important;
  font-weight: bold !important;
  background: transparent !important;
  text-shadow: none !important;
}

/* RECHERCHE JOUEURS - Corrections absolues */
/* Tous les champs de texte pour les joueurs */
input[type="text"],
input[type="search"],
.form-control,
input.form-control,
input[id*="player"],
input[name*="player"],
input[placeholder*="taper"],
input[placeholder*="filtrer"],
input[list="players"],
#playerFilter,
#add_player_name,
#must_player,
#excl_player,
input[name="player_name"] {
  background-color: #ffffff !important;
  color: #2d3748 !important;
  border: 2px solid #e2e8f0 !important;
  border-radius: 8px !important;
  padding: 0.75rem 1rem !important;
  font-size: 1rem !important;
  line-height: 1.5 !important;
  font-weight: normal !important;
  box-shadow: none !important;
  transition: border-color 0.3s ease !important;
}

/* États focus */
input[type="text"]:focus,
input[type="search"]:focus,
.form-control:focus,
input.form-control:focus,
input[id*="player"]:focus,
input[name*="player"]:focus,
input[placeholder*="taper"]:focus,
input[placeholder*="filtrer"]:focus,
input[list="players"]:focus,
#playerFilter:focus,
#add_player_name:focus,
#must_player:focus,
#excl_player:focus,
input[name="player_name"]:focus {
  background-color: #ffffff !important;
  color: #2d3748 !important;
  border-color: #1a365d !important;
  box-shadow: 0 0 0 3px rgba(26, 54, 93, 0.1) !important;
  outline: none !important;
}

/* États hover */
input[type="text"]:hover,
input[type="search"]:hover,
.form-control:hover,
input.form-control:hover,
input[id*="player"]:hover,
input[name*="player"]:hover,
input[placeholder*="taper"]:hover,
input[placeholder*="filtrer"]:hover,
input[list="players"]:hover,
#playerFilter:hover,
#add_player_name:hover,
#must_player:hover,
#excl_player:hover,
input[name="player_name"]:hover {
  border-color: #3182ce !important;
}

/* Placeholders */
input[type="text"]::placeholder,
input[type="search"]::placeholder,
.form-control::placeholder,
input.form-control::placeholder,
input[id*="player"]::placeholder,
input[name*="player"]::placeholder,
input[placeholder*="taper"]::placeholder,
input[placeholder*="filtrer"]::placeholder,
input[list="players"]::placeholder,
#playerFilter::placeholder,
#add_player_name::placeholder,
#must_player::placeholder,
#excl_player::placeholder,
input[name="player_name"]::placeholder {
  color: #718096 !important;
  opacity: 1 !important;
  font-style: italic !important;
}

/* États désactivés */
input[type="text"]:disabled,
input[type="search"]:disabled,
.form-control:disabled,
input.form-control:disabled,
input[id*="player"]:disabled,
input[name*="player"]:disabled,
input[placeholder*="taper"]:disabled,
input[placeholder*="filtrer"]:disabled,
input[list="players"]:disabled,
#playerFilter:disabled,
#add_player_name:disabled,
#must_player:disabled,
#excl_player:disabled,
input[name="player_name"]:disabled {
  background-color: #f1f5f9 !important;
  color: #718096 !important;
  border-color: #e2e8f0 !important;
  cursor: not-allowed !important;
  opacity: 0.6 !important;
}

/* AUTOCOMPLÉTION ET DATALIST */
input[list]::-webkit-list-button {
  color: #1a365d !important;
  opacity: 1 !important;
}

datalist {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
}

option {
  background: #ffffff !important;
  color: #2d3748 !important;
  padding: 0.5rem !important;
}

/* MODALS */
.modal .form-control {
  background-color: #ffffff !important;
  color: #2d3748 !important;
  border: 2px solid #e2e8f0 !important;
}

.modal .form-control:focus {
  background-color: #ffffff !important;
  color: #2d3748 !important;
  border-color: #1a365d !important;
  box-shadow: 0 0 0 3px rgba(26, 54, 93, 0.1) !important;
}

/* INPUT GROUPS */
.input-group .form-control {
  background-color: #ffffff !important;
  color: #2d3748 !important;
  border: 2px solid #e2e8f0 !important;
}

.input-group .form-control:focus {
  background-color: #ffffff !important;
  color: #2d3748 !important;
  border-color: #1a365d !important;
  box-shadow: 0 0 0 3px rgba(26, 54, 93, 0.1) !important;
  z-index: 3 !important;
}

/* Bootstrap override priority */
.form-control.is-valid,
.form-control.is-invalid {
  background-color: #ffffff !important;
  color: #2d3748 !important;
}

.form-control.is-valid:focus,
.form-control.is-invalid:focus {
  background-color: #ffffff !important;
  color: #2d3748 !important;
  box-shadow: 0 0 0 3px rgba(26, 54, 93, 0.1) !important;
}

/* DARK MODE (high priority): override the forced white "RECHERCHE JOUEURS" rules above */
[data-theme="dark"] input[type="text"],
[data-theme="dark"] input[type="search"],
[data-theme="dark"] .form-control,
[data-theme="dark"] input.form-control,
[data-theme="dark"] input[id*="player"],
[data-theme="dark"] input[name*="player"],
[data-theme="dark"] input[placeholder*="taper"],
[data-theme="dark"] input[placeholder*="filtrer"],
[data-theme="dark"] input[list="players"],
[data-theme="dark"] #playerFilter,
[data-theme="dark"] #add_player_name,
[data-theme="dark"] #must_player,
[data-theme="dark"] #excl_player,
[data-theme="dark"] input[name="player_name"],
[data-theme="dark"] textarea.form-control,
[data-theme="dark"] select.form-control {
  background-color: var(--input-bg) !important;
  color: var(--text-primary) !important;
  border-color: var(--input-border) !important;
}

[data-theme="dark"] input[type="text"]:focus,
[data-theme="dark"] input[type="search"]:focus,
[data-theme="dark"] .form-control:focus,
[data-theme="dark"] input.form-control:focus,
[data-theme="dark"] #playerFilter:focus,
[data-theme="dark"] #add_player_name:focus,
[data-theme="dark"] select.form-control:focus {
  background-color: var(--input-bg) !important;
  color: var(--text-primary) !important;
  border-color: var(--accent-primary) !important;
  box-shadow: 0 0 0 3px var(--accent-glow) !important;
}

[data-theme="dark"] input[type="text"]::placeholder,
[data-theme="dark"] input[type="search"]::placeholder,
[data-theme="dark"] .form-control::placeholder,
[data-theme="dark"] #add_player_name::placeholder {
  color: var(--text-muted) !important;
  font-style: normal !important;
}

[data-theme="dark"] datalist,
[data-theme="dark"] option {
  background: var(--card-bg) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .ui-autocomplete-mobile {
  background-color: var(--card-bg) !important;
  border-color: var(--border-color) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.55) !important;
}

[data-theme="dark"] .ui-autocomplete-mobile .ui-menu-item-wrapper {
  color: var(--text-primary) !important;
  border-bottom: 1px solid var(--border-color) !important;
}

/* ===== ADMIN CONSOLE - Styles pour la console ===== */
pre.console-output {
  background: #111 !important;
  color: #eee !important;
  padding: 1rem !important;
  font-size: 0.75rem !important;
  max-height: 480px !important;
  overflow: auto !important;
  border-radius: 4px !important;
  white-space: pre-wrap !important;
  word-break: break-word !important;
}

.badge-action {
  font-size: 0.6rem !important;
}

.json-key {
  color: #9cdcfe !important;
}

.json-string {
  color: #ce9178 !important;
}

.json-number {
  color: #b5cea8 !important;
}

.json-bool {
  color: #569cd6 !important;
}

.json-null {
  color: #569cd6 !important;
  font-style: italic !important;
}

/* ===== ROSTER SALARY - Style pour prix barrés avec rabais ===== */
.salary-discount {
  position: relative;
  display: inline-block;
}

.salary-original {
  text-decoration: line-through !important;
  color: #6c757d !important;
  font-size: 0.9em !important;
}

.salary-discounted {
  font-weight: bold !important;
  color: #28a745 !important;
  margin-left: 0.25rem !important;
}

/* ===== ROSTER ACTIONS - Style pour actions restreintes ===== */
.roster-action-locked {
  color: #6c757d !important;
  cursor: not-allowed !important;
  opacity: 0.6 !important;
}

.roster-action-locked:hover {
  color: #495057 !important;
}

/* ===== MOBILE AUTOCOMPLETE FIXES ===== */
/* Amélioration pour l'autocomplétion mobile jQuery UI */

.ui-autocomplete-mobile {
  max-height: 200px !important;
  overflow-y: auto !important;
  background-color: #ffffff !important;
  border: 1px solid #dee2e6 !important;
  border-radius: 0.375rem !important;
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
  z-index: 9999 !important;
}

.ui-autocomplete-mobile .ui-menu-item {
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
}

.ui-autocomplete-mobile .ui-menu-item-wrapper {
  display: block !important;
  padding: 0.75rem 1rem !important;
  min-height: 44px !important; /* iOS recommended touch target */
  line-height: 1.5 !important;
  color: #495057 !important;
  text-decoration: none !important;
  border-bottom: 1px solid #f8f9fa !important;
  cursor: pointer !important;
  font-size: 16px !important; /* Prevent zoom on iOS */
  -webkit-tap-highlight-color: transparent !important;
  touch-action: manipulation !important;
}

.ui-autocomplete-mobile .ui-menu-item-wrapper:hover,
.ui-autocomplete-mobile .ui-menu-item-wrapper:focus,
.ui-autocomplete-mobile .ui-state-active {
  background-color: #007bff !important;
  color: #ffffff !important;
}

.ui-autocomplete-mobile .ui-menu-item:last-child .ui-menu-item-wrapper {
  border-bottom: none !important;
}

/* Améliorations pour les champs de saisie avec autocomplétion */
input[type="text"]#in_name {
  font-size: 16px !important; /* Prevent zoom on iOS */
  min-height: 44px !important;
  touch-action: manipulation !important;
}

/* Mobile responsive fixes */
@media (max-width: 768px) {
  .ui-autocomplete-mobile {
    max-width: calc(100vw - 2rem) !important;
    margin: 0 1rem !important;
  }
  
  .ui-autocomplete-mobile .ui-menu-item-wrapper {
    font-size: 16px !important;
    padding: 1rem !important;
    min-height: 48px !important;
  }
}

/* ===== DISPLAY NAME SIZE FIXES ===== */
/* S'assurer que les display names sont juste un peu plus petits que les noms des joueurs */

/* Display names dans les badges */
.badge small {
  font-size: 0.85em !important;  /* Juste un peu plus petit */
  font-weight: normal !important;
}

.badge.small {
  font-size: 0.85em !important;  /* Juste un peu plus petit */
  padding: 0.25rem 0.4rem !important;
}

/* Dans les tableaux, s'assurer que les liens des joueurs restent prioritaires */
table td a {
  font-size: inherit !important;
  font-weight: 500 !important;
}

/* Display names dans tous les badges de tableaux */
table td .badge {
  font-size: 0.85em !important;  /* Juste un peu plus petit que le nom */
  vertical-align: middle !important;
  margin-left: 0.25rem !important;
}

/* Display names à l'intérieur des badges */
table td .badge small {
  font-size: 1em !important;  /* Taille normale dans le badge déjà réduit */
}

/* Pour top300 et players spécifiquement */
.top300-table .badge,
.table .badge {
  font-size: 0.85em !important;  /* Juste un peu plus petit, mais lisible */
}

/* ===== USER NAME BADGES FIXES ===== */
/* Corrections spécifiques pour les badges des noms d'utilisateurs */
table td .badge-owner-mine,
table td .badge-owner-other {
  font-size: 0.7rem !important;    /* Plus petit que le nom du joueur */
  font-weight: normal !important;   /* Pas en gras */
  text-transform: none !important;  /* Pas en majuscules */
  padding: 0.2rem 0.4rem !important; /* Padding réduit */
  vertical-align: middle !important;
}

/* S'assurer que les noms des joueurs restent la référence de taille */
table td a {
  font-size: inherit !important;
  font-weight: 500 !important;
}

/* ===== PLAYER NAME SIZE HARMONY ===== */
/* Harmoniser la taille des noms de joueurs avec les en-têtes de colonnes */
#skaters-table tbody td:nth-child(2) a,
#goalies-table tbody td:nth-child(2) a,
.table tbody td:nth-child(2) a {
  font-size: 0.875rem !important;  /* Même taille que les en-têtes th */
  font-weight: 500 !important;
}

/* ===== RÉTABLIR COULEUR BANNIÈRE JOUEUR ===== */
/* Restauré après refactor du wrapper interne qui avait fait disparaître la perception du fond */
.player-header {
  background: linear-gradient(135deg, #1a365d 0%, #2d3748 100%) !important;
  border: 2px solid #1a365d !important;
  border-radius: 12px !important;
  padding: 1rem 1.25rem !important;
  box-shadow: 0 4px 10px rgba(0,0,0,0.25) !important;
}

.player-header > .d-flex { width:100% !important; }