/* ═══════════════════════════════════════════════════════════════════════════
   CVConverter — CSS spécifique à l'application.
   Chargé APRÈS fokus-base.css (le socle partagé).

   Règles (cf. ~/claude-workspace/fokus-ui/DESIGN.md) :
   - Aucune couleur, police ou rayon en valeur littérale : uniquement var(--token).
   - Ne jamais redéfinir une classe du socle (.btn, .card, .badge, .data-table…).
     Préfixer les classes propres à cette app : .cv-
   - Un composant générique manquant s'ajoute au socle, pas ici.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Liste des templates (panneau gauche de la page de conversion) ────────── */
.cv-template-list { display: flex; flex-direction: column; gap: .375rem; }

.cv-template {
  display: flex; align-items: center; gap: .625rem;
  padding: .55rem .7rem;
  border: 1.5px solid var(--border);
  border-radius: var(--radius);
  background: var(--card);
  cursor: pointer;
  transition: border-color .15s, background .15s;
}
.cv-template:hover,
.cv-template.is-selected {
  border-color: var(--primary);
  background: var(--primary-light);
}

.cv-template__icon {
  width: 1.75rem; height: 1.75rem; flex-shrink: 0;
  border-radius: var(--radius);
  background: var(--primary-light);
  color: var(--primary-strong);
  display: flex; align-items: center; justify-content: center;
}
.cv-template__body { flex: 1; min-width: 0; }
.cv-template__name {
  font-weight: 600; font-size: .875rem;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.cv-template__meta { font-size: .6875rem; color: var(--text-muted); }

.cv-template__del {
  background: none; border: none;
  color: var(--text-muted); font-size: .875rem;
  padding: .1rem .25rem; opacity: .5;
}
.cv-template__del:hover { opacity: 1; color: var(--danger); }

/* ── Formulaire d'ajout de template (replié par défaut) ───────────────────── */
.cv-template-form {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: .875rem;
  margin-bottom: .875rem;
  background: var(--bg);
}

/* ── Détail d'erreur de conversion (page historique) ──────────────────────── */
.cv-error-link {
  background: none; border: none; padding: 0;
  font-size: .75rem; color: var(--danger);
  text-decoration: underline; cursor: pointer;
}
.cv-error-link:hover { opacity: .8; }

.cv-error-detail {
  font-size: .875rem;
  color: var(--text);
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: .75rem .875rem;
  overflow-wrap: break-word;
}

/* ── Cartes de répertoire disque (page d'administration) ──────────────────── */
.cv-disk-card {
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: .875rem 1rem;
}
.cv-disk-card__header {
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: .625rem;
}
.cv-disk-card__title { font-weight: 600; font-size: .875rem; }
.cv-disk-card__size  { font-size: .875rem; color: var(--text-muted); }

.cv-disk-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 700px) { .cv-disk-grid { grid-template-columns: 1fr; } }
