/* ============================================
   MODULE DOCUMENTS — bibliothèque de fichiers (admin)
   Classes isolées (pas dans main.css), variables thème réutilisées.
   ============================================ */

.docs-dropzone {
  border: 2px dashed var(--border-color, #cbd5e1);
  border-radius: 12px;
  padding: 32px 20px;
  text-align: center;
  cursor: pointer;
  transition: border-color .15s ease, background .15s ease;
  color: var(--text-muted, #64748b);
  background: var(--card-bg, rgba(255, 255, 255, .03));
}
.docs-dropzone:hover,
.docs-dropzone:focus-visible {
  border-color: var(--accent, #6366f1);
  outline: none;
}
.docs-dropzone.docs-dragover {
  border-color: var(--accent, #6366f1);
  background: color-mix(in srgb, var(--accent, #6366f1) 12%, transparent);
}
.docs-dropzone i {
  font-size: 2rem;
  display: block;
  margin-bottom: 10px;
  color: var(--accent, #6366f1);
}
.docs-dropzone p { margin: 4px 0; }
.docs-dropzone small { opacity: .75; }

.docs-upload-queue {
  list-style: none;
  padding: 0;
  margin: 12px 0 0;
}
.docs-upload-queue li {
  padding: 6px 10px;
  border-radius: 8px;
  font-size: .9rem;
  background: var(--card-bg, rgba(255, 255, 255, .03));
  margin-bottom: 4px;
}

.docs-toolbar {
  display: flex;
  gap: 10px;
  align-items: center;
  margin: 18px 0 12px;
  flex-wrap: wrap;
}
.docs-toolbar input[type="search"] {
  flex: 1;
  min-width: 200px;
  padding: 8px 12px;
  border-radius: 8px;
  border: 1px solid var(--border-color, #cbd5e1);
  background: var(--input-bg, transparent);
  color: inherit;
}

.docs-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .92rem;
}
.docs-table th,
.docs-table td {
  text-align: left;
  padding: 10px 12px;
  border-bottom: 1px solid var(--border-color, #e2e8f0);
  vertical-align: middle;
}
.docs-table th {
  font-weight: 600;
  color: var(--text-muted, #64748b);
}
.docs-table tbody tr:hover {
  background: color-mix(in srgb, var(--accent, #6366f1) 6%, transparent);
}
.docs-table td i.fas { margin-right: 6px; color: var(--accent, #6366f1); }
.docs-table tr.docs-missing { opacity: .55; }
.docs-table tr.docs-missing em { font-style: italic; color: var(--danger, #ef4444); }

.docs-empty {
  text-align: center;
  color: var(--text-muted, #64748b);
  padding: 40px 20px;
}

/* btn-danger n'existe pas dans main.css (gap pré-existant, aussi utilisé par inventaire) —
   on le définit ici a minima pour les icônes d'action de suppression. */
.docs-table .btn-icon {
  background: none;
  border: none;
  cursor: pointer;
  padding: 6px 8px;
  border-radius: 6px;
  color: var(--text-muted, #64748b);
  text-decoration: none;
}
.docs-table .btn-icon:hover { background: color-mix(in srgb, currentColor 12%, transparent); }
.docs-table .btn-icon.btn-danger { color: var(--danger, #ef4444); }
