/* Ajustements ponctuels qui completent Tailwind (charge via CDN dans les layouts). */

summary::-webkit-details-marker {
    display: none;
}

::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-thumb {
    background-color: var(--c-border);
    border-radius: 9999px;
}

/* ==========================================================================
   Theme "console" — remplace la palette claire Tailwind par une esthetique
   terminal (fond noir, monospace, liens soulignes, bordures en pointilles).
   Approche : surcharger directement les classes utilitaires Tailwind deja
   utilisees dans les templates (charge via CDN en <script>, donc pas de
   fichier de config buildable) plutot que reecrire chaque vue.
   ========================================================================== */

:root {
    --c-bg: #050505;
    --c-bg-card: #0c0c0e;
    --c-bg-card-alt: #18181b;
    --c-border: #2a2a2e;
    --c-border-subtle: #1c1c1f;
    --c-text-primary: #e4e4e7;
    --c-text-secondary: #a1a1aa;
    --c-text-tertiary: #6b6b70;
    --c-text-quaternary: #4b4b50;
    --c-accent: #f4f4f5;
    --c-accent-contrast: #0a0a0a;
    --c-accent-hover: #d4d4d8;
}

html, body {
    background-color: var(--c-bg) !important;
}

.font-sans {
    font-family: ui-monospace, 'SF Mono', 'Cascadia Code', 'Fira Code', Consolas, 'Liberation Mono', monospace !important;
}

/* Coins carres plutot qu'arrondis, bordures en pointilles : esprit terminal. */
.rounded-xl, .rounded-lg, .rounded-md { border-radius: 2px !important; }
.border, .border-slate-200, .border-slate-300, .border-t, .border-b, .border-r, .border-l {
    border-style: dashed !important;
}

/* Fonds */
.bg-slate-50 { background-color: var(--c-bg) !important; }
.bg-white { background-color: var(--c-bg-card) !important; }
.bg-slate-100 { background-color: var(--c-bg-card-alt) !important; }
.bg-slate-300 { background-color: #52525b !important; }
.bg-slate-400 { background-color: #71717a !important; }

/* Bordures neutres */
.border-slate-100, .divide-slate-100 > :not([hidden]) ~ :not([hidden]) { border-color: var(--c-border-subtle) !important; }
.border-slate-200, .border-slate-300 { border-color: var(--c-border) !important; }
.ring-white { --tw-ring-color: var(--c-bg-card) !important; }

/* Textes */
.text-slate-900 { color: var(--c-text-primary) !important; }
.text-slate-700, .text-slate-600 { color: var(--c-text-secondary) !important; }
.text-slate-500 { color: var(--c-text-tertiary) !important; }
.text-slate-400, .text-slate-300, .text-slate-200 { color: var(--c-text-quaternary) !important; }
.hover\:text-slate-700:hover, .hover\:text-slate-600:hover, .hover\:text-slate-900:hover { color: var(--c-text-primary) !important; }
.hover\:bg-slate-50:hover, .hover\:bg-slate-100:hover { background-color: var(--c-bg-card-alt) !important; }
.hover\:bg-slate-800:hover { background-color: #232327 !important; }

/* Accent primaire (remplace indigo) : monochrome, liens soulignes, boutons en video inversee. */
.text-indigo-600, .text-indigo-500, .text-indigo-700, .text-indigo-800 { color: var(--c-text-primary) !important; }
a.text-indigo-600, a.text-indigo-500, a.text-indigo-700, button.text-indigo-600 {
    text-decoration: underline;
    text-underline-offset: 2px;
}
.hover\:text-indigo-500:hover, .hover\:text-indigo-600:hover { color: var(--c-accent) !important; }

.bg-indigo-600, .bg-indigo-500 {
    background-color: var(--c-accent) !important;
    color: var(--c-accent-contrast) !important;
}
.bg-indigo-600 *, .bg-indigo-500 * { color: var(--c-accent-contrast) !important; }
.hover\:bg-indigo-500:hover { background-color: var(--c-accent-hover) !important; }

.bg-indigo-100, .bg-indigo-50 { background-color: var(--c-bg-card-alt) !important; }
.border-indigo-500, .border-indigo-100, .border-indigo-200, .border-indigo-600, .border-indigo-400 {
    border-color: var(--c-text-tertiary) !important;
}
.focus\:border-indigo-500:focus { border-color: var(--c-text-secondary) !important; }
.ring-indigo-500, .focus\:ring-indigo-500:focus { --tw-ring-color: var(--c-accent) !important; }

/* Statuts (succes/erreur/avertissement) : teintes assombries, toujours lisibles sur fond noir. */
.bg-emerald-100, .bg-emerald-50 { background-color: rgba(16, 185, 129, 0.15) !important; }
.text-emerald-600, .text-emerald-700, .text-emerald-800 { color: #34d399 !important; }
.border-emerald-100, .border-emerald-200 { border-color: rgba(16, 185, 129, 0.35) !important; }
.hover\:text-emerald-700:hover { color: #6ee7b7 !important; }
.hover\:bg-emerald-500:hover { background-color: #10b981 !important; }

.bg-rose-100, .bg-rose-50 { background-color: rgba(244, 63, 94, 0.15) !important; }
.text-rose-500, .text-rose-600, .text-rose-700, .text-rose-800 { color: #fb7185 !important; }
.border-rose-200, .border-rose-300 { border-color: rgba(244, 63, 94, 0.35) !important; }
.hover\:text-rose-600:hover, .hover\:text-rose-700:hover { color: #fda4af !important; }
.hover\:bg-rose-50:hover { background-color: rgba(244, 63, 94, 0.12) !important; }

.bg-amber-100, .bg-amber-50 { background-color: rgba(245, 158, 11, 0.15) !important; }
.text-amber-600, .text-amber-700, .text-amber-800 { color: #fbbf24 !important; }
.border-amber-100, .border-amber-200 { border-color: rgba(245, 158, 11, 0.35) !important; }

/* Champs de formulaire : aucune classe Tailwind de fond dans les templates (fond blanc
   natif du navigateur par defaut), a surcharger explicitement pour le theme sombre. */
input, select, textarea {
    background-color: var(--c-bg-card-alt) !important;
    color: var(--c-text-primary) !important;
    border-color: var(--c-border) !important;
}
input::placeholder, textarea::placeholder {
    color: var(--c-text-tertiary) !important;
}
input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus {
    -webkit-text-fill-color: var(--c-text-primary) !important;
    -webkit-box-shadow: 0 0 0 1000px var(--c-bg-card-alt) inset !important;
}

/* Elements deja sombres dans le theme clair (sidebar admin, blocs de code) : inchanges. */
