/* --- Admin Console Layout Improvements --- */
.admin-console-header h2 { font-weight: 600; }
.admin-console-grid .card { box-shadow: 0 1px 2px rgba(0,0,0,0.04); }
.admin-console-output-card { min-height: 420px; display: flex; flex-direction: column; }
.admin-console-output-card .card-body { flex: 1 1 auto; overflow: hidden; }
.console-output { background: #111; color: #e4e4e4; font-family: monospace; font-size: 0.8rem; padding: 8px 10px; border-radius: 4px; margin: 0; max-height: 420px; overflow: auto; line-height: 1.25; white-space: pre-wrap; word-break: break-word; }
.console-output:focus { outline: 2px solid #3b82f6; outline-offset: 2px; }

.live-update-highlight {
  animation: liveUpdateFlash 2s ease-out;
}

@keyframes liveUpdateFlash {
  0% {
    box-shadow: 0 0 0 rgba(76, 175, 80, 0.4);
  }
  50% {
    box-shadow: 0 0 25px rgba(76, 175, 80, 0.3);
  }
  100% {
    box-shadow: none;
  }
}
.admin-return-bar { font-size: 0.85rem; }
.admin-return-bar a { text-decoration: none; }
@media (max-width: 991.98px){
  .admin-console-output-card { min-height: 300px; }
  .console-output { max-height: 300px; }
}
/* Unified DraftDuel styles */
:root{
  --dw-bg:#f8f9fa;
  --dw-text:#111827;
  --dw-muted:#6B7280;
  --dw-border:#e9ecef;
  --dw-surface:#ffffff;
  --dw-primary:#0d6efd;
  --dw-radius:12px;
  --dw-container:1200px;
  --dw-space-1:4px; --dw-space-2:8px; --dw-space-3:12px; --dw-space-4:16px; --dw-space-5:24px; --dw-space-6:32px; --dw-space-7:48px; --dw-space-8:64px;
}
body { background:var(--dw-bg); color:var(--dw-text); font-family: system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif; }
html { text-size-adjust:100%; }
/* Fluid type for headings */
h1{ font-size:clamp(1.75rem, 2vw + 1rem, 2.875rem); line-height:1.2; }
h2{ font-size:clamp(1.5rem, 1.5vw + 1rem, 2rem); line-height:1.25; }
h3{ font-size:clamp(1.25rem, 1vw + 1rem, 1.5rem); line-height:1.3; }
body:focus-within { scroll-behavior:smooth; }
.navbar-brand { font-weight:600; }
.dw-nav { font-size:.9rem; }
.dw-logo { width:34px; height:34px; object-fit:cover; border-radius:4px; }
.dw-tabs .nav-link { padding:.55rem .85rem; font-weight:500; border-radius:4px; }
.dw-tabs .nav-link:hover { background:#f1f3f5; }
.dw-tabs .nav-link.active { background:#0d6efd; color:#fff !important; }
.dw-search { margin-left: .5rem; }
.dw-actions .nav-link { padding:.4rem .65rem; }
.dw-actions { gap:.25rem; }
@media (max-width: 991.98px){
  .dw-nav .navbar-collapse { align-items:center; }
  .dw-actions { margin-left:auto; }
}
@media (max-width: 991.98px){
  .dw-nav .navbar-nav.mr-auto { display:none !important; }
}
.page-header { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; margin-bottom:1rem; }
.page-header h2 { font-size:1.25rem; margin:0; font-weight:600; }
.card { border-radius:var(--dw-radius); box-shadow:0 4px 14px rgba(0,0,0,0.06); }
.table-sm th, .table-sm td { padding:.4rem .5rem; }
.flash-stack .alert { border-radius:8px; box-shadow:0 2px 6px rgba(0,0,0,0.08); }
.footer { font-size:.75rem; }
.badge { font-weight:500; }
.player-link, a.player-link { text-decoration:none; }
a.player-link:hover { text-decoration:underline; }
.table thead th { white-space:nowrap; }
.btn { border-radius:6px; }
button, .btn, .nav-link { min-height:44px; }
input.form-control, select.form-control, textarea.form-control,
input[type="text"], input[type="search"], input[type="email"], input[type="number"], select, textarea {
  min-height: 44px;
  padding: .5rem .75rem;
}
/* Top300 table specific sizing (desktop baseline) */
.top300-table .col-name { width:40%; max-width:520px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.top300-table .col-rank { width:40px; max-width:40px; }
.top300-table .col-pos { width:55px; max-width:55px; }
.top300-table .col-team { width:60px; max-width:65px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.top300-table .col-salary { width:85px; max-width:95px; white-space:nowrap; }
.top300-table .col-avg { width:55px; max-width:60px; white-space:nowrap; }
@media (max-width: 1399.98px){
  /* Large but not ultra-wide: let name breathe more */
  .top300-table .col-name { width:45%; }
}
@media (max-width: 1199.98px){
  /* Tablets landscape: push more width to name, shrink aux cols */
  .top300-table .col-name { width:55%; max-width:none; }
  .top300-table .col-pos { width:50px; }
  .top300-table .col-team { width:55px; }
  .top300-table .col-salary { width:80px; }
  .top300-table .col-avg { width:50px; }
}
@media (max-width: 991.98px){
  /* Tablets portrait / small landscape: keep everything on one line if possible */
  .top300-table .col-name { width:65%; }
  .top300-table .col-salary { display:none; }
  .top300-table .col-avg { display:none; }
}
@media (max-width: 767.98px){
  /* Mobile: name gets nearly full width, secondary columns hidden already */
  .top300-table .col-name { width:100%; white-space:normal; overflow:visible; text-overflow:clip; }
}
@media (max-width: 575.98px){
  .top300-table .col-name { width:auto; }
}
/* Responsive tweaks */
@media (max-width: 767.98px){
  .card:not(.season-user-card):not(.season-summary-card) { padding:1rem !important; }
  .navbar-brand { font-size:1rem; }
  .dw-logo { width:28px; height:28px; }

  /* Current season: keep player-count + salary on one line (mobile) */
  #dashboard-season-container .user-header-bar > div:last-child {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    font-size: 0.85rem;
    line-height: 1.2;
  }

  #dashboard-season-container .user-header-bar > div:last-child > div {
    margin: 0;
  }
}
/* Elite page */

/* Footer language selector alignment */
.footer-line {
  gap: 0.35rem;
}

.footer .language-selector {
  display: inline-flex;
  align-items: center;
}

.footer .language-selector .dropdown-toggle {
  min-height: 0;
  padding: 0.2rem 0.45rem;
  font-size: 0.75rem;
  line-height: 1.2;
}

.footer .language-selector .dropdown-item {
  font-size: 0.85rem;
  padding: 0.4rem 0.75rem;
  min-height: 0;
}

.footer .language-selector .dropdown-menu {
  min-width: 140px;
}

.footer .language-selector .dropdown-toggle .fa-globe {
  margin-right: 0.25rem !important;
  font-size: 0.75rem;
}
.elite-page .table-sm td, .elite-page .table-sm th { padding:.45rem .5rem; font-size:.78rem; vertical-align:middle; }
.elite-page .player-list span { margin-right:6px; display:inline-block; }
.elite-page .player-list a { text-decoration:none; }
.elite-page .player-list a:hover { text-decoration:underline; }
.elite-page .agg-col { font-weight:700; }
.elite-page .metric { font-weight:600; }
.elite-page .mini-bar { height:6px; border-radius:3px; overflow:hidden; background:#e9ecef; margin-top:4px; }
.elite-page .mini-bar > div { height:100%; float:left; }
.elite-page .bar-f { background:#0d6efd; }
.elite-page .bar-d { background:#20c997; }
.elite-page .bar-g { background:#ffc107; }
.elite-page .legend small { margin-right:14px; }
.elite-page .wrap { white-space:nowrap; }
.elite-page .small-note { font-size:.7rem; color:#666; }
.elite-page .draft-star { color:#ff9800; font-weight:700; margin-right:2px; }
/* Elite responsive tweaks */
@media (max-width: 991.98px){
  .elite-page .table thead th:nth-child(5),
  .elite-page .table thead th:nth-child(6) { display:none; }
  .elite-page .table tbody td:nth-child(5),
  .elite-page .table tbody td:nth-child(6) { display:none; }
  .elite-page .table thead th:nth-child(8) { min-width:100px; }
  .elite-page .player-list span { display:block; margin-bottom:2px; }
}
@media (max-width: 575.98px){
  .elite-page .table thead th:nth-child(3),
  .elite-page .table thead th:nth-child(4) { display:none; }
  .elite-page .table tbody td:nth-child(3),
  .elite-page .table tbody td:nth-child(4) { display:none; }
  .elite-page .table thead th:nth-child(7) { position:sticky; left:0; background:#fff; }
}
/* Roster table (team_verbose) horizontal scroll improvement */
.table-responsive { -webkit-overflow-scrolling: touch; }
/* Safe default: make wide tables scroll on small screens - DÉSACTIVÉ (masquer colonnes au lieu)
@media (max-width: 767.98px){
  table.table { display:block; width:100%; overflow-x:auto; border-collapse:separate; border-spacing:0; }
  table.table thead, table.table tbody, table.table tfoot { width:100%; }
}
*/
/* Compact table variant */
.table-narrow.table { font-size:.72rem; }
.table-compact table.table-narrow th, .table-compact table.table-narrow td { padding:.25rem .4rem; }
@media (max-width: 575.98px){
  .table-narrow.table { font-size:.65rem; }
}
/* Player page */
.player-headshot, .player-team-logo { border-radius:8px; object-fit:cover; }
@media (max-width: 767.98px){
  .player-headshot { width:90px !important; height:90px !important; }
  .player-team-logo { width:60px !important; height:60px !important; }
}

/* Left sidebar layout */
.left-sidebar { background: #ffffff; border-right: 1px solid #e9ecef; height: 100%; position: sticky; top: 80px; max-height: calc(100vh - 80px); overflow-y: auto; }
.left-sidebar .nav-link { color: #333; padding: .45rem .6rem; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; line-height: 1.2; }
.left-sidebar .nav-link.active { background: transparent; color: #0d6efd; font-weight:600; }
.left-sidebar .sidebar-search input { border-radius: 8px; }
.left-sidebar .nav .text-uppercase { letter-spacing: .04em; font-size: .68rem !important; margin-top:.5rem; margin-bottom:.25rem; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }
.left-sidebar .nav-section-header { cursor:pointer; user-select:none; display:block; padding:.25rem 0; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }
.left-sidebar .nav-section-header:focus-visible { background:#f1f3f5; border-radius:6px; }
.main-content { padding: 1rem 1.25rem; }
/* Centered player detail wrapper */
@media (max-width: 767.98px){
  .left-sidebar { display:none; }
  .main-content { padding: .75rem; padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px)); }
}

/* Focus accessibility */
:focus-visible { outline:2px solid #0d6efd; outline-offset:2px; }
a.nav-link:focus-visible { background:#e7f1ff; }

/* Clamp utilities for read-more */
.clamp-3 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; }
.clamp-5 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 5; line-clamp: 5; overflow: hidden; }
.clamp-expanded { -webkit-line-clamp: initial !important; line-clamp: initial !important; display: block !important; overflow: visible !important; }
/* Subtle fade to signal more content */
.clamp-fade { position: relative; }
.clamp-fade::after { content:""; position:absolute; left:0; right:0; bottom:0; height:2.2em; background:linear-gradient(to bottom, rgba(255,255,255,0), var(--fade-bg, #ffffff)); pointer-events:none; }
.clamp-expanded.clamp-fade::after { display:none; }
.readmore-toggle { margin-top:.25rem; }

/* Mega-menu dropdowns (desktop/tablet) */
/* (deprecated by off-canvas) kept minimal for compatibility */
.dw-mega .dropdown-menu.dw-mega-menu { padding: .5rem .75rem; min-width: 20rem; }
.dw-mega .dropdown-item { padding: .35rem .25rem; font-size: .95rem; line-height: 1.25; }
.dw-mega-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); column-gap: 1rem; row-gap: .25rem; }

/* Off-canvas side panel */
.dw-panel-backdrop { position: fixed; inset: 0; background: rgba(0,0,0,.35); z-index: 1040; }
.dw-panel { position: fixed; top: 0; right: 0; bottom: 0; width: 320px; max-width: 90vw; background: #ffffff; color:#111; box-shadow: -2px 0 18px rgba(0,0,0,.08); transform: translateX(100%); transition: transform .24s ease; z-index: 1041; display: flex; flex-direction: column; }
.dw-panel:not(.open) { pointer-events: none; }
.dw-panel-backdrop[hidden] { display: none !important; pointer-events: none !important; }
.dw-panel.open { transform: translateX(0); }
.dw-panel-header { padding: .85rem 1rem; border-bottom: 1px solid #e9ecef; background:#ffffff; color:#111; }
.dw-panel-header .close{ color:#111; text-shadow:none; opacity:.7; }
.dw-panel-header .close:hover{ opacity:1; }
.dw-panel-body { padding: .75rem 1rem 1.25rem; overflow: auto; }
.dw-panel-body .small strong { text-transform: none; }
.dw-panel .list-group-item { background:#fff; color:#495057; border-color: #e9ecef; padding:.9rem 1rem; }
.dw-panel .list-group-item:hover { background:#f8f9fa; }
.dw-panel .nav a { color:#495057; padding:.9rem 0; border-bottom:1px solid #e9ecef; text-decoration:none; }
.dw-panel .nav a:last-child { border-bottom:0; }
.dw-panel .nav .dropdown-item { background:transparent; }
.dw-panel-open { position: fixed; overflow: hidden; width: 100%; }

/* Bottom mobile nav */
.dw-bottom-nav { position:fixed; bottom:0; left:0; right:0; background:#ffffff; border-top:1px solid #dee2e6; display:flex; justify-content:space-around; padding:0 .25rem; z-index:1040; box-shadow:0 -2px 6px rgba(0,0,0,0.06); }
.dw-bottom-nav .bn-item { flex:1 1 0; text-align:center; padding:.55rem .25rem; font-size:.75rem; font-weight:600; text-decoration:none; color:#495057; background:none; border:0; }
.dw-bottom-nav .bn-item.active { color:#0d6efd; }
.dw-bottom-nav .bn-item:focus-visible { background:#f1f6ff; }
@media (min-width: 768px){ .dw-bottom-nav { display:none; } }
/* Account for device safe-area */
.dw-bottom-nav{ padding-bottom: calc(env(safe-area-inset-bottom, 0px) + .25rem); }

/* More panel overlay */
#bn-more-panel { position:fixed; inset:0; background:rgba(0,0,0,0.35); z-index:1041; display:flex; align-items:flex-end; }
#bn-more-panel .inner { background:#fff; border-top-left-radius:14px; border-top-right-radius:14px; width:100%; max-height:70vh; overflow:auto; box-shadow:0 -4px 12px rgba(0,0,0,0.15); }
#bn-more-panel.open .inner { animation:slideUp .25s ease; }
@media (max-width: 767.98px){
  #bn-more-panel .inner .input-group input { border-radius: 8px; }
}
@keyframes slideUp { from { transform:translateY(25px); opacity:0;} to { transform:translateY(0); opacity:1;} }

/* Skeleton loader */
.skeleton-block { position:relative; overflow:hidden; background:#e9ecef; border-radius:6px; min-height:12px; }
.skeleton-block.sm { min-height:10px; }
.skeleton-block.lg { min-height:18px; }
.skeleton-block::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.6) 50%,rgba(255,255,255,0) 100%); transform:translateX(-100%); animation:skl 1.25s infinite; }
@keyframes skl { to { transform:translateX(100%); } }
.skeleton-table { width:100%; border-collapse:collapse; }
.skeleton-table td, .skeleton-table th { padding:.4rem .5rem; border-top:1px solid #dee2e6; }
.skeleton-fade-in { animation:fadeIn .25s ease; }
@keyframes fadeIn { from {opacity:0;} to {opacity:1;} }

/* Dropdown inside collapsed mobile nav scrollability */
.dw-tabs .dropdown-menu ul.nav { padding-left:0; }
.dw-tabs .dropdown-menu li.nav-item { list-style:none; }

/* Visually hidden utility for skip link */
.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0;
}
.sr-only.sr-only-focusable:active,
.sr-only.sr-only-focusable:focus{
  position:static; width:auto; height:auto; margin:0; overflow:visible; clip:auto; background:#fff3cd; padding:.25rem .5rem; border-radius:4px;
}

/* Ownership badges: keep turquoise for mine, specific blue for others */
.badge-owner-mine { background-color: #17a2b8; color:#fff; } /* Bootstrap info cyan */
.badge-owner-other { background-color: #0d6efd; color:#fff; } /* Match bottom nav active blue */

/* Ensure links in card headers remain readable on themed backgrounds */
.card-header a {
  color: inherit;
  text-decoration: underline;
}

.card-header a:hover,
.card-header a:focus {
  color: inherit;
  text-decoration: underline;
  opacity: 0.85;
}

.card-header a:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.85);
  outline-offset: 2px;
}

.card-header .text-muted {
  color: #fff !important;
  opacity: 0.9;
}

/* ===================== Dompage & Admin Dompages Design ===================== */
/* Palette dérivée (tokens déjà définis via :root) + états supplémentaires */
:root {
  --dw-dom-pending-bg: #fffef6;
  --dw-dom-pending-accent: #f59f00; /* amber */
  --dw-dom-approved-bg: #f4fff7;
  --dw-dom-approved-accent: #2b8a3e; /* green */
  --dw-dom-rejected-bg: #fff5f5;
  --dw-dom-rejected-accent: #c92a2a; /* red */
  --dw-dom-half-accent: #0dcaf0; /* cyan info */
  --dw-annc-info-bg: #e8f4ff;
  --dw-annc-info-border: #3b82f6;
  --dw-annc-warning-bg: #fff8e1;
  --dw-annc-warning-border: #f59f00;
  --dw-annc-danger-bg: #ffe8e8;
  --dw-annc-danger-border: #d32f2f;
}

/* Admin header gradient unifié */
.dompages-admin-header, .dompage-user-header {
  background: linear-gradient(90deg,var(--dw-primary),#2563eb);
  color:#fff;
  border-radius:12px;
  padding:.75rem 1rem;
  box-shadow:0 3px 10px rgba(0,0,0,.12);
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
}
.dompages-admin-header h3, .dompage-user-header h3 { font-size:1.1rem; margin:0; font-weight:600; }

.admin-trade-card {
  border: 0;
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.12);
  overflow: hidden;
  background: #fff;
}
.admin-trade-card .card-header {
  background: linear-gradient(120deg, #0f172a, #1d4ed8);
  color: #fff;
  border: 0;
  padding: 1.1rem 1.5rem;
}
.admin-trade-card .card-header h5 {
  font-weight: 600;
  font-size: 1.05rem;
  color: inherit;
}
.admin-trade-card .card-header small {
  color: rgba(255, 255, 255, 0.85);
}
.badge-trade-status {
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
  border-radius: 999px;
  padding: .35rem .95rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .04em;
  font-size: .68rem;
}
.admin-trade-card .card-body {
  padding: 1.5rem 1.75rem;
  background: #fff;
}
.admin-trade-card .list-group-item {
  background: transparent;
.admin-trade-card .card-body {
  color: #0f172a;
}
.admin-trade-card .card-body .text-muted {
  color: rgba(148, 163, 184, 0.85) !important;
}
.admin-trade-card .card-body .text-primary,
.admin-trade-card .card-body .text-success,
.admin-trade-card .card-body .text-dark {
  color: #0f172a !important;
}
.admin-trade-card .card-body a,
.admin-trade-card .card-body li,
.admin-trade-card .card-body strong,
.admin-trade-card .card-body span,
.admin-trade-card .card-body em {
  color: #fff;
}
.admin-trade-card .card-body .list-group-item {
  color: #fff;
}
.admin-trade-card .card-body {
  background: linear-gradient(135deg, rgba(15, 23, 42, 0.92), rgba(29, 78, 216, 0.92));
  border: 0;
}
.admin-trade-card .card-body h6,
.admin-trade-card .card-body h6 span,
.admin-trade-card .card-body label,
.admin-trade-card .card-body small,
.admin-trade-card .card-body input,
.admin-trade-card .card-body button,
.admin-trade-card .card-body em,
.admin-trade-card .card-body .badge,
.admin-trade-card .card-body .alert,
.admin-trade-card .card-body .form-label,
.admin-trade-card .card-body .btn {
  color: #fff !important;
}
.admin-trade-card .card-body input,
.admin-trade-card .card-body textarea,
.admin-trade-card .card-body select {
  background: rgba(15, 23, 42, 0.45);
  border: 1px solid rgba(148, 163, 184, 0.35);
  color: #fff;
}
.admin-trade-card .card-body input::placeholder,
.admin-trade-card .card-body textarea::placeholder {
  color: rgba(226, 232, 240, 0.7);
}
.admin-trade-card .card-body .btn-primary,
.admin-trade-card .card-body .btn-success,
.admin-trade-card .card-body .btn-danger {
  color: #fff;
}
.admin-trade-info {
  background: linear-gradient(135deg, rgba(37, 99, 235, 0.3), rgba(14, 116, 144, 0.3));
  border: 1px solid rgba(37, 99, 235, 0.35);
  color: var(--text-primary);
}
.admin-trade-card .card-body {
  padding: 1.5rem 1.75rem;
}
.admin-trade-card .list-group-item {
  background: transparent;
  border: 0;
  padding: .4rem 0;
}
}
.admin-trade-info {
  background: linear-gradient(135deg, rgba(37, 99, 235, 0.12), rgba(14, 116, 144, 0.12));
  border: 1px solid rgba(37, 99, 235, 0.2);
  color: var(--text-primary);
}
.trade-user-title {
  font-size: .85rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: .85rem;
  display: flex;
  align-items: center;
  gap: .45rem;
}
.trade-user-title i {
  font-size: .9rem;
}
.trade-user-title span {
  display: inline-block;
}
.trade-user-title.trade-user-from {
  color: #1d4ed8;
}
.trade-user-title.trade-user-to {
  color: #047857;
}
.admin-trade-message {
  background: #f8fafc;
  border: 1px dashed rgba(148, 163, 184, 0.4);
  border-radius: 10px;
  padding: .85rem 1rem;
  color: #0f172a;
}

/* Dompages table row states */
.dompages-table .dompage-row-pending { background: var(--dw-dom-pending-bg); }
.dompages-table .dompage-row-pending:hover { background:#fff9e6; }
.dompages-table .dompage-row-approved { background: var(--dw-dom-approved-bg); }
.dompages-table .dompage-row-rejected { background: var(--dw-dom-rejected-bg); }
.dompages-table .dompage-row-half td:first-child { position:relative; }
.dompages-table .dompage-row-half td:first-child:before {
  content:"50%";
  position:absolute; left:-6px; top:50%; transform:translateY(-50%);
  background: var(--dw-dom-half-accent);
  color:#042c34; font-size:.55rem; font-weight:600; padding:2px 5px; border-radius:4px;
  box-shadow:0 0 0 1px rgba(0,0,0,.06);
}

/* Status badge enhancements (optional override of bootstrap) */
.badge-dom-pending { background:var(--dw-dom-pending-accent); color:#fff; }
.badge-dom-approved { background:var(--dw-dom-approved-accent); color:#fff; }
.badge-dom-rejected { background:var(--dw-dom-rejected-accent); color:#fff; }
.badge-dom-half { background:var(--dw-dom-half-accent); color:#042c34; }

/* Pending list items on page utilisateur */
.dompage-pending-list { list-style:none; margin:0; padding:0; }
.dompage-pending-list li { background:#fff; border:1px solid var(--dw-border); border-radius:8px; padding:.4rem .6rem; margin-bottom:.35rem; font-size:.75rem; display:flex; align-items:center; flex-wrap:wrap; }
.dompage-pending-list li strong { font-weight:600; }
.dompage-pending-list li .dom-half { background:var(--dw-dom-half-accent); color:#042c34; padding:2px 5px; border-radius:4px; font-size:.55rem; margin-left:.5rem; }
.dompage-pending-list li .dom-date { color:var(--dw-muted); margin-left:.5rem; font-size:.65rem; }

/* Announcement banner (réutilisable) */
.announcement-banner { border:1px solid; border-radius:12px; padding:.75rem 1rem; display:flex; align-items:flex-start; gap:.75rem; font-size:.85rem; position:relative; }
.announcement-banner .annc-icon { font-size:1.1rem; line-height:1; margin-top:2px; }
.announcement-banner .annc-close { position:absolute; top:8px; right:10px; background:none; border:0; color:#444; font-size:1rem; cursor:pointer; }
.announcement-banner.info { background:var(--dw-annc-info-bg); border-color:var(--dw-annc-info-border); }
.announcement-banner.warning { background:var(--dw-annc-warning-bg); border-color:var(--dw-annc-warning-border); }
.announcement-banner.danger { background:var(--dw-annc-danger-bg); border-color:var(--dw-annc-danger-border); }
.announcement-banner strong { font-weight:600; }
.announcement-banner a { text-decoration:underline; }
.announcement-banner a:hover { opacity:.85; }
@media (max-width: 575.98px){
  .announcement-banner { font-size:.78rem; padding:.6rem .75rem; }
  .announcement-banner .annc-icon { font-size:1rem; }
}

/* Utility: subtle fade for disabled option 50% */
.option-disabled { opacity:.5; cursor:not-allowed; }


