/*
 * Thème sombre TechPlus.
 * Activé par data-bs-theme="dark" sur <html> (voir le script en tête de templates/base.html).
 * Bootstrap 5.3 gère ses propres composants ; ce fichier adapte les couleurs écrites en dur
 * dans style.css et dans les <style> des pages. Chargé en dernier dans <head>.
 */
[data-bs-theme="dark"] {
    color-scheme: dark;
    /* Palette */
    --tp-bg: #0b1220;
    --tp-surface: #111a2b;
    --tp-surface-2: #172238;
    --tp-border: #26344d;
    --tp-text: #e2e8f0;
    --tp-text-strong: #f8fafc;
    --tp-muted: #94a3b8;
    --tp-accent: #2dd4bf;        /* sarcelle clair : lisible sur fond sombre */
    --tp-accent-soft: rgba(45, 212, 191, .14);

    /* Variables Bootstrap */
    --bs-body-bg: var(--tp-bg);
    --bs-body-color: var(--tp-text);
    --bs-emphasis-color: var(--tp-text-strong);
    --bs-secondary-color: var(--tp-muted);
    --bs-secondary-bg: var(--tp-surface-2);
    --bs-tertiary-bg: var(--tp-surface);
    --bs-border-color: var(--tp-border);
    --bs-border-color-translucent: rgba(148, 163, 184, .18);
    --bs-link-color: var(--tp-accent);
    --bs-link-hover-color: #5eead4;
    --bs-link-color-rgb: 45, 212, 191;
    --bs-link-hover-color-rgb: 94, 234, 212;

    /* Variables de l'application (style.css) */
    --light-color: var(--tp-bg);
}

/* Fond général */
[data-bs-theme="dark"] body,
[data-bs-theme="dark"] body#app-body { background-color: var(--tp-bg); color: var(--tp-text); }

/* Barre de navigation */
[data-bs-theme="dark"] .navbar-techplus { background: var(--tp-surface); border-bottom-color: var(--tp-border); box-shadow: 0 1px 4px rgba(0,0,0,.4); }
[data-bs-theme="dark"] .navbar-techplus .nav-link { color: var(--tp-text) !important; }
[data-bs-theme="dark"] .navbar-techplus .nav-link:hover { color: var(--tp-accent) !important; }
[data-bs-theme="dark"] .nav-search-input { background: var(--tp-surface-2); border-color: var(--tp-border); color: var(--tp-text); }
[data-bs-theme="dark"] .nav-search-input:focus { background: var(--tp-surface-2); }
/* Logo : le texte gris foncé devient clair, la croix garde sa teinte sarcelle */
[data-bs-theme="dark"] .navbar-brand img { filter: invert(1) hue-rotate(180deg) brightness(1.1); }
[data-bs-theme="dark"] .navbar-toggler-icon { filter: invert(1); }
@media (max-width: 768px) {
    [data-bs-theme="dark"] .navbar-nav { background-color: var(--tp-surface); }
    [data-bs-theme="dark"] .navbar-nav .nav-link { color: var(--tp-text) !important; }
}

/* Cartes, modales, listes */
[data-bs-theme="dark"] .card { --bs-card-bg: var(--tp-surface); --bs-card-cap-bg: transparent; background-color: var(--tp-surface); border-color: var(--tp-border); box-shadow: 0 .15rem 1.25rem rgba(0,0,0,.35); }
[data-bs-theme="dark"] .card-header { border-bottom-color: var(--tp-border); }
[data-bs-theme="dark"] .card-footer { background-color: transparent; border-top-color: var(--tp-border); }
[data-bs-theme="dark"] .modal-content { background-color: var(--tp-surface); }
[data-bs-theme="dark"] .modal-header,
[data-bs-theme="dark"] .modal-footer { border-color: var(--tp-border); }
[data-bs-theme="dark"] .list-group { --bs-list-group-bg: var(--tp-surface); --bs-list-group-border-color: var(--tp-border); --bs-list-group-color: var(--tp-text); --bs-list-group-action-hover-bg: var(--tp-surface-2); }
[data-bs-theme="dark"] .dropdown-menu { --bs-dropdown-bg: var(--tp-surface); --bs-dropdown-border-color: var(--tp-border); --bs-dropdown-link-color: var(--tp-text); --bs-dropdown-link-hover-bg: var(--tp-surface-2); --bs-dropdown-link-hover-color: var(--tp-text-strong); }
[data-bs-theme="dark"] .toast { --bs-toast-bg: var(--tp-surface); }

/* Formulaires */
[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .form-select { background-color: var(--tp-surface-2); border-color: var(--tp-border); color: var(--tp-text); }
[data-bs-theme="dark"] .form-control:focus,
[data-bs-theme="dark"] .form-select:focus { background-color: var(--tp-surface-2); color: var(--tp-text-strong); border-color: var(--tp-accent); box-shadow: 0 0 0 .2rem var(--tp-accent-soft); }
[data-bs-theme="dark"] .form-control::placeholder { color: #64748b; }
[data-bs-theme="dark"] .form-control:disabled,
[data-bs-theme="dark"] .form-control[readonly],
[data-bs-theme="dark"] .form-select:disabled { background-color: #0f1726; color: var(--tp-muted); }
[data-bs-theme="dark"] .input-group-text { background-color: var(--tp-surface); border-color: var(--tp-border); color: var(--tp-muted); }
[data-bs-theme="dark"] .form-check-input { background-color: var(--tp-surface-2); border-color: #475569; }
[data-bs-theme="dark"] .form-check-input:checked { background-color: #0f766e; border-color: #0f766e; }
[data-bs-theme="dark"] .form-text { color: var(--tp-muted); }

/* Tableaux : l'en-tête sarcelle est conservé, le corps passe sur la surface sombre */
[data-bs-theme="dark"] .table { --bs-table-bg: transparent; --bs-table-color: var(--tp-text); --bs-table-border-color: var(--tp-border); --bs-table-striped-bg: rgba(255,255,255,.03); --bs-table-hover-bg: var(--tp-accent-soft); --bs-table-hover-color: var(--tp-text-strong); }
[data-bs-theme="dark"] .table thead th { background-color: #0b4f4a; color: #fff; }
[data-bs-theme="dark"] .table-light { --bs-table-bg: var(--tp-surface-2); --bs-table-color: var(--tp-text); --bs-table-border-color: var(--tp-border); }
[data-bs-theme="dark"] .table tbody tr:hover { background-color: var(--tp-accent-soft); }

/* Utilitaires Bootstrap écrits pour le clair */
[data-bs-theme="dark"] .bg-white { background-color: var(--tp-surface) !important; }
[data-bs-theme="dark"] .bg-light { background-color: var(--tp-surface-2) !important; }
[data-bs-theme="dark"] .text-dark:not(.bg-warning):not(.bg-info):not(.bg-warning-subtle):not(.bg-info-subtle):not(.btn-warning) { color: var(--tp-text) !important; }
[data-bs-theme="dark"] .text-muted { color: var(--tp-muted) !important; }
[data-bs-theme="dark"] .text-primary { color: var(--tp-accent) !important; }
[data-bs-theme="dark"] .text-success { color: #4ade80 !important; }
[data-bs-theme="dark"] .text-danger { color: #f87171 !important; }
[data-bs-theme="dark"] .text-info { color: #38bdf8 !important; }
[data-bs-theme="dark"] .text-warning { color: #fbbf24 !important; }
[data-bs-theme="dark"] .border,
[data-bs-theme="dark"] .border-top,
[data-bs-theme="dark"] .border-bottom { border-color: var(--tp-border) !important; }
[data-bs-theme="dark"] .border-warning { border-color: #b45309 !important; }
[data-bs-theme="dark"] hr { border-color: var(--tp-border); opacity: 1; }
[data-bs-theme="dark"] .bg-warning-subtle { background-color: rgba(251, 191, 36, .14) !important; }
[data-bs-theme="dark"] .alert-info { --bs-alert-bg: rgba(56, 189, 248, .12); --bs-alert-color: #bae6fd; --bs-alert-border-color: transparent; }
[data-bs-theme="dark"] .alert-warning { --bs-alert-bg: rgba(251, 191, 36, .13); --bs-alert-color: #fde68a; --bs-alert-border-color: transparent; }
[data-bs-theme="dark"] .alert-success { --bs-alert-bg: rgba(74, 222, 128, .12); --bs-alert-color: #bbf7d0; --bs-alert-border-color: transparent; }
[data-bs-theme="dark"] .alert-danger { --bs-alert-bg: rgba(248, 113, 113, .13); --bs-alert-color: #fecaca; --bs-alert-border-color: transparent; }
[data-bs-theme="dark"] .alert-secondary { --bs-alert-bg: var(--tp-surface-2); --bs-alert-color: var(--tp-text); }

/* Boutons contour : couleurs plus claires pour rester lisibles */
[data-bs-theme="dark"] .btn-outline-primary { --bs-btn-color: var(--tp-accent); --bs-btn-border-color: #14b8a6; --bs-btn-hover-bg: #0f766e; --bs-btn-hover-border-color: #0f766e; --bs-btn-hover-color: #fff; --bs-btn-active-bg: #0f766e; }
[data-bs-theme="dark"] .btn-outline-secondary { --bs-btn-color: #cbd5e1; --bs-btn-border-color: #475569; --bs-btn-hover-bg: #334155; --bs-btn-hover-border-color: #475569; --bs-btn-hover-color: #fff; }
[data-bs-theme="dark"] .btn-outline-dark { --bs-btn-color: #e2e8f0; --bs-btn-border-color: #64748b; --bs-btn-hover-bg: #334155; --bs-btn-hover-color: #fff; }
[data-bs-theme="dark"] .btn-light { --bs-btn-bg: var(--tp-surface-2); --bs-btn-border-color: var(--tp-border); --bs-btn-color: var(--tp-text); --bs-btn-hover-bg: #22314d; --bs-btn-hover-color: #fff; }
[data-bs-theme="dark"] .btn-secondary { --bs-btn-bg: #475569; --bs-btn-border-color: #475569; --bs-btn-hover-bg: #64748b; }
[data-bs-theme="dark"] .btn-link { --bs-btn-color: var(--tp-accent); }
[data-bs-theme="dark"] .badge.bg-light { background-color: var(--tp-surface-2) !important; color: var(--tp-text) !important; }

/* Pagination, barres de défilement */
[data-bs-theme="dark"] .pagination .page-link { background-color: var(--tp-surface); border-color: var(--tp-border); color: var(--tp-accent); }
[data-bs-theme="dark"] .pagination .page-item.active .page-link { background-color: #0f766e; border-color: #0f766e; color: #fff; }
[data-bs-theme="dark"] .pagination .page-item.disabled .page-link { background-color: var(--tp-surface); color: #475569; }
[data-bs-theme="dark"] ::-webkit-scrollbar-track { background: var(--tp-surface); }
[data-bs-theme="dark"] ::-webkit-scrollbar-thumb { background: #1f6f69; }

/* Composants de l'application (base.html / style.css) */
[data-bs-theme="dark"] .search-input .search-icon,
[data-bs-theme="dark"] .nav-search-wrapper .bi-search { color: var(--tp-muted); }
[data-bs-theme="dark"] #scrollBtns button { background: rgba(148,163,184,.3); }
[data-bs-theme="dark"] .modal-close-guard .card { background-color: var(--tp-surface); }

/* ===== Page d'accueil (dashboard.html) ===== */
[data-bs-theme="dark"] .dash-header h1,
[data-bs-theme="dark"] .stat-value,
[data-bs-theme="dark"] .section-title,
[data-bs-theme="dark"] .card-title,
[data-bs-theme="dark"] .list-title,
[data-bs-theme="dark"] .list-amount,
[data-bs-theme="dark"] .finance-value { color: var(--tp-text-strong); }
[data-bs-theme="dark"] .stat-value.green { color: #4ade80; }
[data-bs-theme="dark"] .stat-value.red { color: #f87171; }
[data-bs-theme="dark"] .stat-value.amber { color: #fbbf24; }
[data-bs-theme="dark"] .stat-value.blue,
[data-bs-theme="dark"] .section-title i,
[data-bs-theme="dark"] .card-link { color: var(--tp-accent); }
[data-bs-theme="dark"] .stat-label,
[data-bs-theme="dark"] .list-desc,
[data-bs-theme="dark"] .finance-label { color: var(--tp-muted); }
[data-bs-theme="dark"] .stat-sub,
[data-bs-theme="dark"] .list-date,
[data-bs-theme="dark"] .empty { color: #64748b; }
[data-bs-theme="dark"] .refresh-btn,
[data-bs-theme="dark"] .stat-card,
[data-bs-theme="dark"] .finance-card,
[data-bs-theme="dark"] .quick-btn.sec { background: var(--tp-surface); border-color: var(--tp-border); color: var(--tp-text); }
[data-bs-theme="dark"] .finance-card.green { border-left-color: #22c55e; }
[data-bs-theme="dark"] .finance-card.red { border-left-color: #ef4444; }
[data-bs-theme="dark"] .finance-card.purple { border-left-color: #a78bfa; }
[data-bs-theme="dark"] .list-item { border-bottom-color: var(--tp-border); }
[data-bs-theme="dark"] .list-icon.blue { background: rgba(59,130,246,.18); color: #93c5fd; }
[data-bs-theme="dark"] .list-icon.green { background: rgba(34,197,94,.18); color: #86efac; }
[data-bs-theme="dark"] .list-icon.red { background: rgba(239,68,68,.18); color: #fca5a5; }
[data-bs-theme="dark"] .list-icon.amber { background: rgba(245,158,11,.18); color: #fcd34d; }
[data-bs-theme="dark"] .list-icon.purple { background: rgba(139,92,246,.2); color: #c4b5fd; }
[data-bs-theme="dark"] .badge.paid { background: rgba(34,197,94,.18); color: #86efac; }
[data-bs-theme="dark"] .badge.pending { background: rgba(245,158,11,.18); color: #fcd34d; }
[data-bs-theme="dark"] .badge.cancelled { background: rgba(239,68,68,.18); color: #fca5a5; }
[data-bs-theme="dark"] .spinner { border-color: var(--tp-border); border-top-color: var(--tp-accent); }

/* ===== Arrivages / Ventes en gros (cartes indicateurs, listes de recherche, puces IMEI) ===== */
[data-bs-theme="dark"] .arrival-kpi,
[data-bs-theme="dark"] .ws-kpi { background: var(--tp-surface); border-color: var(--tp-border); }
[data-bs-theme="dark"] .supplier-search .supplier-results,
[data-bs-theme="dark"] .ws-search .ws-results { background: var(--tp-surface); border-color: var(--tp-border); }
[data-bs-theme="dark"] .supplier-search .supplier-results button,
[data-bs-theme="dark"] .ws-search .ws-results button { color: var(--tp-text); }
[data-bs-theme="dark"] .supplier-search .supplier-results button:hover,
[data-bs-theme="dark"] .supplier-search .supplier-results button.active,
[data-bs-theme="dark"] .ws-search .ws-results button:hover,
[data-bs-theme="dark"] .ws-search .ws-results button.active { background: var(--tp-surface-2); }
[data-bs-theme="dark"] .imei-chip { background: var(--tp-surface-2); border-color: var(--tp-border); color: var(--tp-text); }

/* Boutons contour désactivés */
[data-bs-theme="dark"] .btn-outline-primary { --bs-btn-disabled-color: #5b8f89; --bs-btn-disabled-border-color: #2c4a55; }
[data-bs-theme="dark"] .btn-outline-secondary { --bs-btn-disabled-color: #64748b; --bs-btn-disabled-border-color: #334155; }

/* ===== Guide ===== */
[data-bs-theme="dark"] .guide-sidebar { background: var(--tp-surface); border: 1px solid var(--tp-border); }
