/* ================================================================
   THEME SHIM — Ajustements automatiques pour la transition
   dark → light. Chargé en DERNIER pour corriger les vestiges
   des CSS page-par-page conçus pour le thème sombre original.
   ================================================================ */

/* ── Remplacer les ombres dark-theme héritées par des ombres douces ── */
.hr-sc-card,
.hr-card,
.staff-card,
.part-card,
.ps-card,
.rec-card,
.cert-card,
.cert-template-card,
.ann-card,
.db-card,
.sc-container,
.doc-card,
.onboarding-card,
.settings-card {
    box-shadow: var(--shadow-xs) !important;
}

.hr-sc-card:hover,
.hr-card:hover,
.staff-card:hover,
.part-card:hover,
.ps-card:hover,
.rec-card:hover,
.cert-card:hover,
.cert-template-card:hover,
.ann-card:hover,
.db-card:hover,
.doc-card:hover,
.onboarding-card:hover,
.settings-card:hover {
    box-shadow: var(--shadow-sm) !important;
}

/* ── Backdrop des modales — plus doux sur clair ───────────── */
[class*="modal-overlay"]:not(.panel-modal-overlay),
[class*="overlay"][id*="modal"] {
    background: rgba(41, 41, 41, 0.45) !important;
}

/* ── Liens par défaut plus visibles sur clair ─────────────── */
a:not([class]):not([href^="#"]) {
    color: var(--dark);
    text-decoration: underline;
    text-decoration-color: rgba(41, 41, 41, 0.25);
    text-underline-offset: 2px;
    transition: text-decoration-color var(--transition);
}

a:not([class]):not([href^="#"]):hover {
    text-decoration-color: var(--dark);
}

/* ── Code / pre (pour lisibilité) ─────────────────────────── */
code:not([class]) {
    font-family: var(--font-mono);
    background: var(--bg-elevated);
    color: var(--text-primary);
    padding: 0.1rem 0.4rem;
    border-radius: 4px;
    font-size: 0.88em;
    border: 1px solid var(--border-subtle);
}

pre:not([class]) {
    font-family: var(--font-mono);
    background: var(--bg-elevated);
    color: var(--text-primary);
    padding: 1rem;
    border-radius: var(--radius);
    border: 1px solid var(--border-subtle);
    overflow-x: auto;
}

/* ── Tooltips natifs ancrés dark — préservés ──────────────── */
/* (géré déjà dans hr.css par hardcoding, laissez tel quel) */

/* ── Sélection de texte ───────────────────────────────────── */
::selection {
    background: var(--dark);
    color: var(--beige);
}

/* ── Scrollbars firefox ───────────────────────────────────── */
html {
    scrollbar-width: thin;
    scrollbar-color: var(--border-light) transparent;
}

/* ── Statuts badges inline (fallback couleurs) ────────────── */
[class*="db-status-"],
[class*="status-"]:not(.badge) {
    text-transform: capitalize;
}

.db-status-active, .status-active { color: var(--success); font-weight: 600; }
.db-status-pending, .status-pending { color: var(--warning); font-weight: 600; }
.db-status-cancelled, .status-cancelled, .status-rejected { color: var(--error); font-weight: 600; }
.db-status-completed, .status-completed, .status-approved { color: var(--success); font-weight: 600; }

/* ════════════════════════════════════════════════════════════════
   AVATARS PAR INITIALES — forcer un fond sombre pour rester lisibles
   (les initiales étaient blanches/beiges à l'origine sur dark-theme)
   ════════════════════════════════════════════════════════════════ */
.ps-hero-initial,
.db-hero-initials,
.user-avatar,
.staff-card-avatar span,
.hr-member-avatar span,
.sc-member-avatar span,
.sc-profile-avatar span,
.ann-author-avatar,
.rec-applicant-avatar span {
    background: var(--dark) !important;
    color: var(--beige) !important;
}

/* Bannière dark personnelle (intentionnel) reste bien contrastée */
.ps-hero-banner,
.staff-profile-banner {
    background: linear-gradient(135deg, var(--dark) 0%, #3a3632 40%, #4a4540 70%, var(--dark) 100%);
}

/* ════════════════════════════════════════════════════════════════
   TEXTES BEIGE sur FOND CLAIR — rendre lisibles
   (hors sidebar et hors éléments intentionnellement sombres)
   ════════════════════════════════════════════════════════════════ */
.app-body .content-area [style*="color: var(--beige)"]:not(.sidebar *):not([class*="hero"] *):not([class*="banner"] *) {
    color: var(--text-primary) !important;
}

/* ════════════════════════════════════════════════════════════════
   INPUTS génériques — s'assurer d'une bordure visible
   ════════════════════════════════════════════════════════════════ */
.app-body input[type="text"],
.app-body input[type="email"],
.app-body input[type="password"],
.app-body input[type="date"],
.app-body input[type="number"],
.app-body input[type="tel"],
.app-body input[type="url"],
.app-body input[type="search"],
.app-body input[type="datetime-local"],
.app-body select,
.app-body textarea {
    background: var(--bg-surface) !important;
    color: var(--text-primary) !important;
    border-color: var(--border) !important;
}

.app-body input:focus,
.app-body select:focus,
.app-body textarea:focus {
    border-color: var(--dark) !important;
    box-shadow: 0 0 0 3px rgba(41, 41, 41, 0.08) !important;
}
