/*
 * STOPGAP — utilitaires manquants pour /admin/score-cv
 * Le build Tailwind (npm run build:css) est stale : ce fichier patche les
 * classes utilisées par la page score-cv qui ne sont pas dans tailwind-built.css.
 * >>> Supprimable dès que `npm run build:css` a été relancé. <<<
 */

/* --- Donut / hero --- */
.h-44 { height: 11rem; }
.w-44 { width: 11rem; }
.-rotate-90 { transform: rotate(-90deg); }
.text-5xl { font-size: 3rem; line-height: 1; }
.text-3xl { font-size: 1.875rem; line-height: 2.25rem; }
.h-2 { height: .5rem; }
.h-9 { height: 2.25rem; } .w-9 { width: 2.25rem; }
.h-7 { height: 1.75rem; } .w-7 { width: 1.75rem; }
.h-5 { height: 1.25rem; } .w-5 { width: 1.25rem; }
.h-4 { height: 1rem; } .w-4 { width: 1rem; }
.h-10 { height: 2.5rem; } .w-10 { width: 2.5rem; }
.h-12 { height: 3rem; }
.h-16 { height: 4rem; } .w-16 { width: 4rem; }
.h-32 { height: 8rem; }
.w-14 { width: 3.5rem; }
.w-20 { width: 5rem; }
.w-1\.5 { width: .375rem; }
.max-h-96 { max-height: 24rem; }
.gap-2\.5 { gap: .625rem; }
.gap-8 { gap: 2rem; }
.tracking-widest { letter-spacing: .1em; }
.tabular-nums { font-variant-numeric: tabular-nums; }
.font-extrabold { font-weight: 800; }
.leading-5 { line-height: 1.25rem; }
.leading-6 { line-height: 1.5rem; }
.whitespace-pre-wrap { white-space: pre-wrap; }
.line-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.text-\[10px\] { font-size: 10px; line-height: 1; }
.py-0\.5 { padding-top: .125rem; padding-bottom: .125rem; }
.rounded-r-xl { border-top-right-radius: .75rem; border-bottom-right-radius: .75rem; }
.rounded-r-lg { border-top-right-radius: .5rem; border-bottom-right-radius: .5rem; }
.border-dashed { border-style: dashed; }

/* --- Couleurs de texte (palette Tailwind standard) --- */
.text-slate-100 { color: #f1f5f9; }
.text-slate-300 { color: #cbd5e1; }
.text-slate-800 { color: #1e293b; }
.text-amber-500 { color: #f59e0b; }
.text-amber-600 { color: #d97706; }
.text-amber-700 { color: #b45309; }
.text-rose-500 { color: #f43f5e; }
.text-rose-600 { color: #e11d48; }
.text-rose-700 { color: #be123c; }
.text-rose-800 { color: #9f1239; }
.text-emerald-600 { color: #059669; }
.text-emerald-700 { color: #047857; }
.text-blue-50 { color: #eff6ff; }
.text-blue-600 { color: #2563eb; }
.text-blue-700 { color: #1d4ed8; }

/* --- Fond --- */
.bg-emerald-50 { background-color: #ecfdf5; }
.bg-emerald-100 { background-color: #d1fae5; }
.bg-emerald-500 { background-color: #10b981; }
.bg-amber-50 { background-color: #fffbeb; }
.bg-amber-100 { background-color: #fef3c7; }
.bg-amber-500 { background-color: #f59e0b; }
.bg-rose-50 { background-color: #fff1f2; }
.bg-rose-100 { background-color: #ffe4e6; }
.bg-rose-500 { background-color: #f43f5e; }
.bg-blue-50 { background-color: #eff6ff; }
.bg-blue-100 { background-color: #dbeafe; }
.bg-blue-500 { background-color: #3b82f6; }
.bg-orange-500 { background-color: #f97316; }
.bg-slate-900 { background-color: #0f172a; }
.bg-slate-900\/60 { background-color: rgb(15 23 42 / .6); }
.bg-slate-50\/80 { background-color: rgb(248 250 252 / .8); }
.bg-slate-50\/50 { background-color: rgb(248 250 252 / .5); }
.bg-slate-50\/40 { background-color: rgb(248 250 252 / .4); }
.bg-blue-50\/40 { background-color: rgb(239 246 255 / .4); }
.bg-blue-50\/50 { background-color: rgb(239 246 255 / .5); }

/* --- Bordures --- */
.border-rose-200 { border-color: #fecdd3; }
.border-blue-400 { border-color: #60a5fa; }
.border-blue-500 { border-color: #3b82f6; }

/* --- Gradients (combos explicites, indépendants du moteur v4) --- */
.bg-gradient-to-br.from-slate-700 { background-image: linear-gradient(to bottom right, #334155, #0f172a); }
.bg-gradient-to-br.from-slate-100 { background-image: linear-gradient(to bottom right, #f1f5f9, #e2e8f0); }
.bg-gradient-to-br.from-emerald-50 { background-image: linear-gradient(to bottom right, #ecfdf5, #d1fae5); }
.bg-gradient-to-br.from-amber-50 { background-image: linear-gradient(to bottom right, #fffbeb, #fef3c7); }
.bg-gradient-to-br.from-rose-50 { background-image: linear-gradient(to bottom right, #fff1f2, #ffe4e6); }

/* --- Responsive (breakpoints v4 : sm 40rem, md 48rem, lg 64rem, xl 80rem) --- */
@media (min-width: 40rem) {
  .sm\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sm\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 48rem) {
  .md\:grid-cols-\[200px_1fr\] { grid-template-columns: 200px 1fr; }
  .md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .md\:block { display: block; }
}
@media (min-width: 64rem) {
  .lg\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lg\:grid-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .lg\:col-span-3 { grid-column: span 3 / span 3; }
  .lg\:grid-cols-\[minmax\(0\2c 1fr\)_minmax\(280px\2c 420px\)\] { grid-template-columns: minmax(0, 1fr) minmax(280px, 420px); }
}
@media (min-width: 80rem) {
  .xl\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* --- Transitions & états --- */
.transition-all { transition-property: all; transition-duration: 150ms; }
.duration-700 { transition-duration: 700ms; }
.duration-1000 { transition-duration: 1000ms; }
.hover\:bg-slate-50:hover { background-color: #f8fafc; }
.hover\:bg-slate-700:hover { background-color: #334155; }
.hover\:bg-orange-600:hover { background-color: #ea580c; }
.hover\:border-slate-200:hover { border-color: #e2e8f0; }
.hover\:shadow-md:hover { box-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1); }
.disabled\:opacity-50:disabled { opacity: .5; }
.disabled\:cursor-not-allowed:disabled { cursor: not-allowed; }