/* ─── DataTable Styles ─── */
:root {
    --dt-accent: #FF6B00;
    --dt-accent-glow: rgba(255,107,0,0.1);
    --dt-primary: #0F2B46;
    --dt-border: #E2E8F0;
    --dt-border2: #CBD5E1;
    --dt-surface: #FFFFFF;
    --dt-text: #0F172A;
    --dt-text2: #475569;
    --dt-text3: #94A3B8;
    --dt-radius: 10px;
}
.dt-wrapper { }
.dt-toolbar { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:16px; flex-wrap:wrap; }
.dt-toolbar-right { display:flex; align-items:center; gap:12px; }
.dt-search { position:relative; flex:1; min-width:240px; max-width:420px; }
.dt-search i { position:absolute; left:14px; top:50%; transform:translateY(-50%); color:var(--dt-text3); font-size:0.85rem; }
.dt-search input { width:100%; padding:11px 14px 11px 42px; border:2px solid var(--dt-border); border-radius:var(--dt-radius); font-size:0.9rem; font-family:inherit; outline:none; transition:all 0.2s; background:var(--dt-surface); }
.dt-search input:focus { border-color:var(--dt-accent); box-shadow:0 0 0 3px var(--dt-accent-glow); }
.dt-count { font-size:0.8rem; color:var(--dt-text2); font-weight:600; background:#F1F5F9; padding:7px 14px; border-radius:50px; white-space:nowrap; }
.dt-export-btn { padding:9px 18px; background:var(--dt-primary); color:#fff; border:none; border-radius:8px; font-size:0.8rem; font-weight:700; cursor:pointer; display:flex; align-items:center; gap:6px; transition:all 0.2s; font-family:inherit; }
.dt-export-btn:hover { background:#1E3A5F; transform:translateY(-1px); }
.dt-table-wrap { overflow-x:auto; border-radius:var(--dt-radius); border:1px solid var(--dt-border); background:var(--dt-surface); box-shadow:0 1px 3px rgba(0,0,0,0.04); }
.dt-table { width:100%; border-collapse:collapse; font-size:0.88rem; }
.dt-table thead { background:#F8FAFC; }
.dt-table th { padding:13px 14px; text-align:left; font-size:0.72rem; font-weight:700; color:var(--dt-text3); text-transform:uppercase; letter-spacing:0.5px; border-bottom:2px solid var(--dt-border); white-space:nowrap; }
.dt-table th.dt-sortable { cursor:pointer; user-select:none; position:relative; padding-right:26px; transition:color 0.15s; }
.dt-table th.dt-sortable:hover { color:var(--dt-accent); }
.dt-table th.dt-sortable::after { content:'\f0dc'; font-family:'Font Awesome 6 Free'; font-weight:900; position:absolute; right:8px; top:50%; transform:translateY(-50%); font-size:0.6rem; color:var(--dt-border2); }
.dt-table th.dt-sorted[data-dir="asc"]::after { content:'\f0de'; color:var(--dt-accent); }
.dt-table th.dt-sorted[data-dir="desc"]::after { content:'\f0dd'; color:var(--dt-accent); }
.dt-table td { padding:12px 14px; border-bottom:1px solid #F1F5F9; color:var(--dt-text); }
.dt-table tbody tr { transition:background 0.12s; }
.dt-table tbody tr:hover { background:#FFF7ED; }
.dt-table tbody tr:last-child td { border-bottom:none; }
.dt-filter-row th { padding:6px 6px 10px; background:#F8FAFC; border-bottom:2px solid var(--dt-border); }
.dt-filter-row th.dt-col-filter input { width:100%; padding:6px 10px; border:1.5px solid var(--dt-border); border-radius:6px; font-size:0.8rem; font-family:inherit; outline:none; background:#fff; transition:border-color 0.15s; }
.dt-filter-row th.dt-col-filter input:focus { border-color:var(--dt-accent); box-shadow:0 0 0 2px var(--dt-accent-glow); }
.dt-filter-row th.dt-col-filter input::placeholder { color:#CBD5E1; }

/* ─── Column Dropdown (multi-select + tri) ─── */
.dt-dropdown-wrap { position:relative; }
.dt-dd-btn { width:100%; padding:8px 30px 8px 12px; border:1.5px solid var(--dt-border); border-radius:8px; font-size:0.82rem; font-family:inherit; background:#fff; cursor:pointer; text-align:left; color:var(--dt-text3); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; position:relative; appearance:none; -webkit-appearance:none; }
.dt-dd-btn::after { content:'\f078'; font-family:'Font Awesome 6 Free'; font-weight:900; font-size:0.55rem; color:var(--dt-text3); position:absolute; right:10px; top:50%; transform:translateY(-50%); pointer-events:none; }
.dt-dd-btn:hover { border-color:var(--dt-accent); }
.dt-dd-btn.has-filter { border-color:var(--dt-accent); background:#FFF7ED; color:var(--dt-accent); font-weight:700; }
.dt-dropdown { display:none; position:absolute; top:calc(100% + 4px); left:0; z-index:100; background:#fff; border:1px solid var(--dt-border); border-radius:12px; box-shadow:0 10px 30px rgba(0,0,0,.12); min-width:220px; overflow:hidden; }
.dt-dropdown.open { display:block; }

/* Header: TOUT | AUCUN */
.dt-dd-header { display:flex; justify-content:space-between; padding:12px 14px; border-bottom:1px solid #F1F5F9; }
.dt-dd-header button { background:none; border:none; font-size:0.88rem; font-weight:800; cursor:pointer; font-family:inherit; padding:4px 8px; border-radius:4px; letter-spacing:.3px; }
.dt-dd-header button:hover { background:#F1F5F9; }
.dt-dd-all { color:#3B5BDB; }
.dt-dd-all span { font-weight:600; color:#3B5BDB; }
.dt-dd-none { color:#475569; font-weight:700; }

/* Search inside dropdown */
.dt-dd-search { width:calc(100% - 24px); margin:8px 12px; padding:8px 12px; border:1.5px solid var(--dt-border); border-radius:8px; font-size:0.82rem; font-family:inherit; outline:none; }
.dt-dd-search:focus { border-color:var(--dt-accent); }

/* Options list */
.dt-dd-list { max-height:240px; overflow-y:auto; padding:4px 0; }
.dt-dd-item { display:flex; align-items:center; justify-content:space-between; padding:10px 14px; font-size:0.92rem; cursor:pointer; font-weight:600; color:var(--dt-text); }
.dt-dd-item:hover { background:#F8FAFC; }
.dt-dd-item input[type=checkbox] { appearance:none; -webkit-appearance:none; width:22px; height:22px; border:none; cursor:pointer; flex-shrink:0; position:relative; order:2; }
.dt-dd-item input[type=checkbox]:checked::after { content:'\2713'; color:#4F7DF3; font-size:1.1rem; font-weight:900; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); }
.dt-dd-item span { flex:1; order:1; }

/* Sort section */
.dt-dd-sort { border-top:1px solid #F1F5F9; padding:6px 0; }
.dt-dd-sort button { display:flex; align-items:center; gap:8px; width:100%; padding:10px 14px; border:none; background:none; font-size:0.85rem; font-weight:600; color:var(--dt-text2); cursor:pointer; font-family:inherit; }
.dt-dd-sort button:hover { background:#F8FAFC; }
.dt-dd-sort button.active { color:var(--dt-accent); font-weight:700; }
.dt-dd-sort button i { width:16px; text-align:center; font-size:0.78rem; }

/* Scrollbar inside dropdown */
.dt-dd-list::-webkit-scrollbar { width:6px; }
.dt-dd-list::-webkit-scrollbar-track { background:transparent; }
.dt-dd-list::-webkit-scrollbar-thumb { background:var(--dt-border); border-radius:3px; }
.dt-dd-list::-webkit-scrollbar-thumb:hover { background:var(--dt-text3); }

.dt-no-results { text-align:center; padding:40px; color:var(--dt-text3); font-size:0.95rem; }
.dt-no-results i { margin-right:8px; }
.dt-reset-btn { padding:9px 16px; background:#EF4444; color:#fff; border:none; border-radius:8px; font-size:0.8rem; font-weight:700; cursor:pointer; display:flex; align-items:center; gap:6px; transition:all 0.2s; font-family:inherit; }
.dt-reset-btn:hover { background:#DC2626; }
.dt-empty { text-align:center; padding:60px 20px; color:var(--dt-text3); }
.dt-empty i { font-size:2.5rem; margin-bottom:16px; display:block; }
.dt-empty p { font-size:1rem; font-weight:500; }
.dt-pagination { display:flex; justify-content:space-between; align-items:center; margin-top:16px; flex-wrap:wrap; gap:12px; }
.dt-page-info { font-size:0.82rem; color:var(--dt-text2); font-weight:500; }
.dt-page-btns { display:flex; gap:4px; }
.dt-page-btns button { width:36px; height:36px; border:1px solid var(--dt-border); background:var(--dt-surface); border-radius:8px; cursor:pointer; font-size:0.85rem; font-weight:600; color:var(--dt-text2); display:flex; align-items:center; justify-content:center; transition:all 0.15s; font-family:inherit; }
.dt-page-btns button:hover:not(:disabled) { background:#F8FAFC; border-color:var(--dt-border2); }
.dt-page-btns button.active { background:var(--dt-accent); color:#fff; border-color:var(--dt-accent); }
.dt-page-btns button:disabled { opacity:0.4; cursor:default; }

/* ─── Habillage Intersport : en-tête bleu nuit (#111E64) ─── */
.dt-table thead { background:#111E64; }
.dt-table th { color:#fff; }
.dt-table th.dt-sortable:hover { color:#dfe4ff; }
.dt-table th.dt-sortable::after { color:rgba(255,255,255,.45); }
.dt-table th.dt-sorted[data-dir="asc"]::after,
.dt-table th.dt-sorted[data-dir="desc"]::after { color:#fff; }
.dt-filter-row th { background:#111E64; border-bottom:2px solid #0b1450; }
/* Filtre par période (colonne Date) : deux petits champs Du / Au */
.dt-daterange { display:flex; gap:4px; }
.dt-daterange input[type="date"] {
    flex:1; min-width:0; padding:5px 6px; border:1.5px solid var(--dt-border); border-radius:6px;
    font-size:0.72rem; font-family:inherit; background:#fff; color:#334155; outline:none;
}
.dt-daterange input[type="date"]:focus { border-color:var(--dt-accent); box-shadow:0 0 0 2px var(--dt-accent-glow); }
