
/* Textes utilitaires (scoped — n'affecte pas les héros gradient) */
[data-theme="dark"] .light-surface-page .text-muted,
[data-theme="dark"] .light-surface-page .form-text,
[data-theme="dark"] .light-surface-page small.text-muted {
    color: var(--surface-text-muted) !important;
}

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

[data-theme="dark"] .light-surface-page .form-label,
[data-theme="dark"] .light-surface-page .form-check-label {
    color: var(--surface-text-secondary) !important;
}

/* Champs de formulaire */
[data-theme="dark"] .light-surface-page .form-control,
[data-theme="dark"] .light-surface-page .form-select,
[data-theme="dark"] .light-surface-page textarea.form-control,
[data-theme="dark"] .light-surface-page input[type="text"],
[data-theme="dark"] .light-surface-page input[type="email"],
[data-theme="dark"] .light-surface-page input[type="password"],
[data-theme="dark"] .light-surface-page input[type="number"],
[data-theme="dark"] .light-surface-page input[type="date"],
[data-theme="dark"] .light-surface-page input[type="datetime-local"],
[data-theme="dark"] .light-surface-page input[type="search"],
[data-theme="dark"] .light-surface-page input[type="tel"],
[data-theme="dark"] .light-surface-page input[type="url"],
[data-theme="dark"] .light-surface-page select {
    background-color: var(--surface-input) !important;
    color: var(--surface-text) !important;
    border-color: var(--surface-border) !important;
}

[data-theme="dark"] .light-surface-page .form-control:focus,
[data-theme="dark"] .light-surface-page .form-select:focus {
    background-color: var(--surface-input) !important;
    color: var(--surface-text) !important;
    border-color: var(--primary) !important;
}

[data-theme="dark"] .light-surface-page .form-control::placeholder {
    color: var(--surface-placeholder) !important;
    opacity: 1;
}

[data-theme="dark"] .light-surface-page option {
    background-color: var(--surface-input);
    color: var(--surface-text);
}

/* Cartes & panneaux neutres */
[data-theme="dark"] .light-surface-page .card:not([class*="bg-"]):not(.border-0),
[data-theme="dark"] .light-surface-page .card-body {
    background-color: var(--surface-card);
    color: var(--surface-text);
    border-color: var(--surface-border);
}

[data-theme="dark"] .light-surface-page .card-header:not([class*="bg-"]):not([style*="gradient"]) {
    background-color: var(--surface-card-soft) !important;
    color: var(--surface-text) !important;
    border-color: var(--surface-border) !important;
}

[data-theme="dark"] .light-surface-page .alert-light {
    background-color: var(--surface-card-soft) !important;
    color: var(--surface-text-secondary) !important;
    border-color: var(--surface-border) !important;
}

[data-theme="dark"] .light-surface-page .table,
[data-theme="dark"] .light-surface-page .table td,
[data-theme="dark"] .light-surface-page .table th {
    color: var(--surface-text);
    border-color: var(--surface-border);
}

[data-theme="dark"] .light-surface-page .table-light,
[data-theme="dark"] .light-surface-page .table thead th {
    background-color: var(--surface-card-soft) !important;
    color: var(--surface-text) !important;
}

[data-theme="dark"] .light-surface-page .btn-outline-secondary {
    color: var(--surface-text-secondary) !important;
    border-color: var(--surface-border) !important;
    background-color: transparent !important;
}

[data-theme="dark"] .light-surface-page .btn-outline-secondary:hover {
    color: var(--surface-text) !important;
    background-color: var(--surface-card-soft) !important;
}

[data-theme="dark"] .light-surface-page .page-link {
    background-color: var(--surface-card) !important;
    color: var(--surface-text) !important;
    border-color: var(--surface-border) !important;
}

/* --- Recruitment (.rec-premium) --- */
[data-theme="dark"] .light-surface-page .rec-premium .stat-card,
[data-theme="dark"] .light-surface-page .rec-premium .kpi-card,
[data-theme="dark"] .light-surface-page .rec-premium .card-recruitment,
[data-theme="dark"] .light-surface-page .rec-premium .section-card,
[data-theme="dark"] .light-surface-page .rec-premium .sidebar-recruitment,
[data-theme="dark"] .light-surface-page .rec-premium .action-card,
[data-theme="dark"] .light-surface-page .rec-premium .portal-card,
[data-theme="dark"] .light-surface-page .offre-section,
[data-theme="dark"] .light-surface-page .offre-side-card,
[data-theme="dark"] .light-surface-page .check-premium {
    background-color: var(--surface-card) !important;
    border-color: var(--surface-border) !important;
    color: var(--surface-text);
}

[data-theme="dark"] .light-surface-page .rec-premium .stat-card .stat-value,
[data-theme="dark"] .light-surface-page .rec-premium .kpi-value,
[data-theme="dark"] .light-surface-page .rec-premium .card-recruitment .card-header,
[data-theme="dark"] .light-surface-page .rec-premium .metric-tile .metric-value,
[data-theme="dark"] .light-surface-page .offre-side-card h6 {
    color: var(--surface-text) !important;
}

[data-theme="dark"] .light-surface-page .rec-premium .stat-card .stat-label,
[data-theme="dark"] .light-surface-page .rec-premium .kpi-label,
[data-theme="dark"] .light-surface-page .rec-premium .kpi-sub,
[data-theme="dark"] .light-surface-page .rec-premium .table-recruitment tbody td {
    color: var(--surface-text-secondary) !important;
}

[data-theme="dark"] .light-surface-page .rec-premium .table-recruitment thead th {
    background-color: var(--surface-card-soft) !important;
    color: var(--surface-text) !important;
    border-color: var(--surface-border) !important;
}

[data-theme="dark"] .light-surface-page .rec-premium .table-recruitment tbody tr:hover {
    background-color: var(--surface-card-soft) !important;
}

[data-theme="dark"] .light-surface-page .offre-tabs .nav-link:not(.active) {
    background-color: var(--surface-card) !important;
    color: var(--surface-text-secondary) !important;
    border-color: var(--surface-border) !important;
}

[data-theme="dark"] .light-surface-page .offre-kpi .item {
    background: var(--surface-card-soft) !important;
    border-color: var(--surface-border) !important;
}

[data-theme="dark"] .light-surface-page .offre-tip {
    background-color: rgba(79, 70, 229, 0.12) !important;
    border-color: rgba(129, 140, 248, 0.35) !important;
    color: #c7d2fe !important;
}

/* --- Comptabilité --- */
[data-theme="dark"] .light-surface-page .etat-kpi,
[data-theme="dark"] .light-surface-page .etat-panel,
[data-theme="dark"] .light-surface-page .cr-section,
[data-theme="dark"] .light-surface-page .assoc-section {
    background-color: var(--surface-card) !important;
    border-color: var(--surface-border) !important;
    color: var(--surface-text);
}

/* --- Workflows --- */
[data-theme="dark"] .light-surface-page .workflows-sidebar,
[data-theme="dark"] .light-surface-page .workflows-card {
    background-color: var(--surface-card) !important;
    border-color: var(--surface-border) !important;
    color: var(--surface-text);
}

[data-theme="dark"] .light-surface-page .workflows-sidebar h5,
[data-theme="dark"] .light-surface-page .workflows-card-header h5 {
    color: var(--surface-text) !important;
}

/* --- Analytics module --- */
[data-theme="dark"] .light-surface-page .analytics-sidebar,
[data-theme="dark"] .light-surface-page .analytics-card {
    background-color: var(--surface-card) !important;
    border-color: var(--surface-border) !important;
    color: var(--surface-text);
}

/* --- Médical --- */
[data-theme="dark"] .light-surface-page .med-kpi,
[data-theme="dark"] .light-surface-page .med-card,
[data-theme="dark"] .light-surface-page .med-sidenav {
    background-color: var(--surface-card) !important;
    border-color: var(--surface-border) !important;
    color: var(--surface-text);
}

[data-theme="dark"] .light-surface-page .med-card-h {
    background-color: var(--surface-card-soft) !important;
    color: var(--surface-text) !important;
    border-color: var(--surface-border) !important;
}

/* --- Expatriation ---
   Surfaces claires forcées + texte sombre lisible (évite fond sombre + encre noire). */
[data-theme="dark"] .light-surface-page.exp-wrap,
[data-theme="dark"] .light-surface-page .exp-wrap {
  color: #0f172a;
}
[data-theme="dark"] .light-surface-page .exp-kpi-card,
[data-theme="dark"] .light-surface-page .exp-card,
[data-theme="dark"] .light-surface-page .exp-sidenav,
[data-theme="dark"] .light-surface-page .exp-panel,
[data-theme="dark"] .light-surface-page .exp-filter,
[data-theme="dark"] .light-surface-page .exp-proc-card,
[data-theme="dark"] .light-surface-page .exp-progress-wrap,
[data-theme="dark"] .light-surface-page .exp-confirm,
[data-theme="dark"] .light-surface-page .exp-form-row,
[data-theme="dark"] .light-surface-page .exp-meta-item {
    background-color: #ffffff !important;
    border-color: #e2e8f0 !important;
    color: #0f172a !important;
}
[data-theme="dark"] .light-surface-page .exp-card-header,
[data-theme="dark"] .light-surface-page .exp-panel-head,
[data-theme="dark"] .light-surface-page .exp-proc-card .exp-proc-foot,
[data-theme="dark"] .light-surface-page .exp-sidenav-head {
    background-color: #f8fafc !important;
    color: #0f172a !important;
    border-color: #e2e8f0 !important;
}
[data-theme="dark"] .light-surface-page .exp-kpi-label,
[data-theme="dark"] .light-surface-page .exp-kpi-sub,
[data-theme="dark"] .light-surface-page .exp-empty,
[data-theme="dark"] .light-surface-page .exp-meta-item .label,
[data-theme="dark"] .light-surface-page .exp-dl dt,
[data-theme="dark"] .light-surface-page .exp-sidenav .nav-item-exp:not(.active) {
    color: #475569 !important;
}
[data-theme="dark"] .light-surface-page .exp-kpi-value,
[data-theme="dark"] .light-surface-page .exp-meta-item .value,
[data-theme="dark"] .light-surface-page .exp-dl dd,
[data-theme="dark"] .light-surface-page .exp-empty h6,
[data-theme="dark"] .light-surface-page .exp-sidenav .nav-item-exp.active {
    color: #0f172a !important;
}
[data-theme="dark"] .light-surface-page .exp-table tbody td {
    color: #0f172a !important;
    border-color: #f1f5f9 !important;
}
[data-theme="dark"] .light-surface-page .exp-wrap .text-muted,
[data-theme="dark"] .light-surface-page .exp-wrap .text-secondary,
[data-theme="dark"] .light-surface-page .exp-wrap .form-text {
    color: #475569 !important;
}

/* --- Bons de sortie --- */
[data-theme="dark"] .light-surface-page .bs-card,
[data-theme="dark"] .light-surface-page .bs-glass-panel {
    background-color: var(--surface-card) !important;
    border-color: var(--surface-border) !important;
    color: var(--surface-text);
}

/* Préférence système (sans data-theme explicite) */
@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) .light-surface-page .text-muted,
    :root:not([data-theme="light"]) .light-surface-page .form-text,
    :root:not([data-theme="light"]) .light-surface-page small.text-muted {
        color: var(--surface-text-muted) !important;
    }

    :root:not([data-theme="light"]) .light-surface-page .text-secondary {
        color: var(--surface-text-secondary) !important;
    }

    :root:not([data-theme="light"]) .light-surface-page .form-label,
    :root:not([data-theme="light"]) .light-surface-page .form-check-label {
        color: var(--surface-text-secondary) !important;
    }

    :root:not([data-theme="light"]) .light-surface-page .form-control,
    :root:not([data-theme="light"]) .light-surface-page .form-select,
    :root:not([data-theme="light"]) .light-surface-page textarea.form-control,
    :root:not([data-theme="light"]) .light-surface-page input[type="text"],
    :root:not([data-theme="light"]) .light-surface-page input[type="email"],
    :root:not([data-theme="light"]) .light-surface-page input[type="password"],
    :root:not([data-theme="light"]) .light-surface-page input[type="number"],
    :root:not([data-theme="light"]) .light-surface-page input[type="date"],
    :root:not([data-theme="light"]) .light-surface-page input[type="datetime-local"],
    :root:not([data-theme="light"]) .light-surface-page input[type="search"],
    :root:not([data-theme="light"]) .light-surface-page input[type="tel"],
    :root:not([data-theme="light"]) .light-surface-page input[type="url"],
    :root:not([data-theme="light"]) .light-surface-page select {
        background-color: var(--surface-input) !important;
        color: var(--surface-text) !important;
        border-color: var(--surface-border) !important;
    }

    :root:not([data-theme="light"]) .light-surface-page .form-control:focus,
    :root:not([data-theme="light"]) .light-surface-page .form-select:focus {
        background-color: var(--surface-input) !important;
        color: var(--surface-text) !important;
        border-color: var(--primary) !important;
    }

    :root:not([data-theme="light"]) .light-surface-page .form-control::placeholder {
        color: var(--surface-placeholder) !important;
        opacity: 1;
    }

    :root:not([data-theme="light"]) .light-surface-page .rec-premium .stat-card,
    :root:not([data-theme="light"]) .light-surface-page .rec-premium .kpi-card,
    :root:not([data-theme="light"]) .light-surface-page .rec-premium .card-recruitment,
    :root:not([data-theme="light"]) .light-surface-page .rec-premium .section-card,
    :root:not([data-theme="light"]) .light-surface-page .rec-premium .sidebar-recruitment,
    :root:not([data-theme="light"]) .light-surface-page .rec-premium .action-card,
    :root:not([data-theme="light"]) .light-surface-page .rec-premium .portal-card,
    :root:not([data-theme="light"]) .light-surface-page .offre-section,
    :root:not([data-theme="light"]) .light-surface-page .offre-side-card,
    :root:not([data-theme="light"]) .light-surface-page .check-premium,
    :root:not([data-theme="light"]) .light-surface-page .etat-kpi,
    :root:not([data-theme="light"]) .light-surface-page .etat-panel,
    :root:not([data-theme="light"]) .light-surface-page .workflows-sidebar,
    :root:not([data-theme="light"]) .light-surface-page .workflows-card,
    :root:not([data-theme="light"]) .light-surface-page .analytics-sidebar,
    :root:not([data-theme="light"]) .light-surface-page .med-kpi,
    :root:not([data-theme="light"]) .light-surface-page .med-card,
    :root:not([data-theme="light"]) .light-surface-page .exp-kpi-card,
    :root:not([data-theme="light"]) .light-surface-page .exp-card,
    :root:not([data-theme="light"]) .light-surface-page .exp-sidenav,
    :root:not([data-theme="light"]) .light-surface-page .exp-panel,
    :root:not([data-theme="light"]) .light-surface-page .exp-filter,
    :root:not([data-theme="light"]) .light-surface-page .exp-proc-card,
    :root:not([data-theme="light"]) .light-surface-page .bs-card {
        background-color: #ffffff !important;
        border-color: #e2e8f0 !important;
        color: #0f172a !important;
    }
    :root:not([data-theme="light"]) .light-surface-page .exp-wrap .text-muted,
    :root:not([data-theme="light"]) .light-surface-page .exp-wrap .text-secondary {
        color: #475569 !important;
    }
}
