/* ==========================================================================
   uoa.css — Design System Dr Lavignac · Unité Ostéo-Articulaire Bordeaux
   --------------------------------------------------------------------------
   Inclure dans le <head> de chaque nouvel outil :
     <link rel="stylesheet" href="/assets/uoa.css">
   Toutes les classes sont préfixées « uoa- » pour éviter les collisions
   avec les CSS existants des outils legacy.
   ========================================================================== */

/* ---------- Design tokens ---------- */
:root {
  /* Couleurs — palette officielle (héritée du hub) */
  --uoa-ink:          #1a1d2e;
  --uoa-ink-soft:     #6b7084;
  --uoa-ink-faint:    #9b9eb0;
  --uoa-cream:        #f6f4f0;
  --uoa-cream-2:      #ede9e0;
  --uoa-surface:      #ffffff;
  --uoa-accent:       #2a6b7c;
  --uoa-accent-glow:  #3a8b9c;
  --uoa-accent-light: #e8f2f4;
  --uoa-warm:         #c9a87c;
  --uoa-warm-light:   #f5ede2;
  --uoa-success:      #2d8a56;
  --uoa-success-light:#e6f5ec;
  --uoa-warning:      #d4870e;
  --uoa-warning-light:#fef3e2;
  --uoa-danger:       #d9534f;
  --uoa-danger-light: #fce4ec;
  --uoa-border:       #e5e2da;
  --uoa-border-soft:  #efebe2;

  /* Typo */
  --uoa-font-display: 'Cormorant Garamond', Georgia, serif;
  --uoa-font-body:    'DM Sans', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;

  /* Espacements */
  --uoa-sp-1: .25rem;
  --uoa-sp-2: .5rem;
  --uoa-sp-3: .75rem;
  --uoa-sp-4: 1rem;
  --uoa-sp-5: 1.5rem;
  --uoa-sp-6: 2rem;
  --uoa-sp-7: 3rem;

  /* Radius */
  --uoa-radius-sm: 8px;
  --uoa-radius:    12px;
  --uoa-radius-lg: 16px;
  --uoa-radius-xl: 20px;

  /* Ombres */
  --uoa-shadow-sm:   0 1px 3px rgba(26,29,46,.06);
  --uoa-shadow:      0 2px 20px rgba(26,29,46,.06);
  --uoa-shadow-hover:0 8px 40px rgba(42,107,124,.12);
  --uoa-shadow-modal:0 24px 80px rgba(26,29,46,.18);

  /* Transitions */
  --uoa-transition: .25s cubic-bezier(.25,.46,.45,.94);
}

/* ---------- Police d'écriture ---------- */
/* Note : le tag <link> Google Fonts doit être inclus séparément dans le <head> :
   <link href="https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=DM+Sans:wght@300;400;500;600&display=swap" rel="stylesheet"> */

/* ---------- Reset léger ---------- */
.uoa, .uoa * { box-sizing: border-box; }

/* ---------- Layout primitives ---------- */
.uoa-page {
  background: var(--uoa-cream);
  color: var(--uoa-ink);
  font-family: var(--uoa-font-body);
  min-height: 100vh;
  padding: var(--uoa-sp-6) var(--uoa-sp-5);
}
.uoa-container { max-width: 1100px; margin: 0 auto; }
.uoa-container--narrow { max-width: 720px; margin: 0 auto; }
.uoa-stack > * + * { margin-top: var(--uoa-sp-4); }
.uoa-stack-lg > * + * { margin-top: var(--uoa-sp-6); }
.uoa-row { display: flex; align-items: center; gap: var(--uoa-sp-3); flex-wrap: wrap; }
.uoa-row--between { display: flex; align-items: center; justify-content: space-between; gap: var(--uoa-sp-3); flex-wrap: wrap; }

/* ---------- Typographie ---------- */
.uoa-h1, .uoa-h2, .uoa-h3 { font-family: var(--uoa-font-display); font-weight: 600; letter-spacing: -.01em; line-height: 1.2; }
.uoa-h1 { font-size: clamp(1.8rem, 4vw, 2.4rem); }
.uoa-h2 { font-size: 1.4rem; }
.uoa-h3 { font-size: 1.15rem; }
.uoa-subtitle { color: var(--uoa-ink-soft); font-size: .95rem; }
.uoa-eyebrow { font-size: .72rem; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; color: var(--uoa-ink-faint); }
.uoa-muted { color: var(--uoa-ink-soft); }
.uoa-faint { color: var(--uoa-ink-faint); }

/* ---------- Card ---------- */
.uoa-card {
  background: var(--uoa-surface);
  border: 1px solid rgba(42,107,124,.06);
  border-radius: var(--uoa-radius-lg);
  padding: var(--uoa-sp-5);
  box-shadow: var(--uoa-shadow);
}
.uoa-card--interactive {
  cursor: pointer;
  transition: transform var(--uoa-transition), box-shadow var(--uoa-transition);
}
.uoa-card--interactive:hover { transform: translateY(-2px); box-shadow: var(--uoa-shadow-hover); }
.uoa-card-header { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--uoa-sp-3); margin-bottom: var(--uoa-sp-3); }

/* ---------- Buttons ---------- */
.uoa-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--uoa-sp-2);
  padding: .65rem 1.1rem; border-radius: 10px; border: none;
  font-family: var(--uoa-font-body); font-size: .88rem; font-weight: 500;
  cursor: pointer; transition: all var(--uoa-transition);
  text-decoration: none; line-height: 1.2;
}
.uoa-btn--primary {
  background: linear-gradient(135deg, var(--uoa-accent), var(--uoa-accent-glow));
  color: #fff; box-shadow: 0 4px 16px rgba(42,107,124,.25);
}
.uoa-btn--primary:hover { box-shadow: 0 6px 24px rgba(42,107,124,.35); transform: translateY(-1px); }
.uoa-btn--secondary { background: #f0f0f4; color: var(--uoa-ink-soft); }
.uoa-btn--secondary:hover { background: #e4e4eb; }
.uoa-btn--ghost { background: transparent; color: var(--uoa-accent); padding: .4rem .7rem; }
.uoa-btn--ghost:hover { background: var(--uoa-accent-light); }
.uoa-btn--danger { background: var(--uoa-danger); color: #fff; }
.uoa-btn--danger:hover { background: #c44743; }
.uoa-btn--sm { padding: .35rem .7rem; font-size: .78rem; border-radius: 8px; }
.uoa-btn:disabled { opacity: .5; cursor: not-allowed; }
.uoa-btn svg { width: 16px; height: 16px; stroke: currentColor; stroke-width: 2; fill: none; stroke-linecap: round; stroke-linejoin: round; }

/* ---------- Form fields ---------- */
.uoa-field { display: block; }
.uoa-field-label {
  display: block; font-size: .75rem; font-weight: 500;
  color: var(--uoa-ink-soft); margin-bottom: var(--uoa-sp-1);
  letter-spacing: .04em; text-transform: uppercase;
}
.uoa-field-input, .uoa-field-textarea, .uoa-field-select {
  width: 100%; padding: .65rem .85rem;
  border: 1.5px solid var(--uoa-border); border-radius: 10px;
  font-family: var(--uoa-font-body); font-size: .9rem;
  color: var(--uoa-ink); background: #fafafa;
  outline: none; transition: border-color var(--uoa-transition), background var(--uoa-transition), box-shadow var(--uoa-transition);
}
.uoa-field-textarea { resize: vertical; min-height: 80px; }
.uoa-field-input:focus, .uoa-field-textarea:focus, .uoa-field-select:focus {
  border-color: var(--uoa-accent); background: var(--uoa-surface);
  box-shadow: 0 0 0 3px rgba(42,107,124,.1);
}
.uoa-field-input.uoa-error, .uoa-field-textarea.uoa-error { border-color: var(--uoa-danger); }
.uoa-field-help { font-size: .75rem; color: var(--uoa-ink-faint); margin-top: var(--uoa-sp-1); }
.uoa-field-error { font-size: .75rem; color: var(--uoa-danger); margin-top: var(--uoa-sp-1); display: none; }
.uoa-field-error.show { display: block; }

/* ---------- Badges ---------- */
.uoa-badge {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 2px 8px; border-radius: 999px;
  font-size: .7rem; font-weight: 600;
  background: var(--uoa-accent-light); color: var(--uoa-accent);
}
.uoa-badge--success { background: var(--uoa-success-light); color: var(--uoa-success); }
.uoa-badge--warning { background: var(--uoa-warning-light); color: var(--uoa-warning); }
.uoa-badge--danger  { background: var(--uoa-danger-light);  color: var(--uoa-danger); }
.uoa-badge--neutral { background: #ecedef; color: var(--uoa-ink-soft); }

/* ---------- Divider ---------- */
.uoa-divider {
  width: 48px; height: 2px; margin: var(--uoa-sp-5) auto;
  background: linear-gradient(90deg, var(--uoa-warm), var(--uoa-accent));
  border-radius: 2px;
}

/* ---------- Header standardisé (toutes les pages d'outils) ----------
   Pattern unique : bandeau gradient teal en haut de page avec titre +
   sous-titre + actions à droite. À utiliser sur tous les outils v2/admin
   pour une cohérence visuelle parfaite. */
.uoa-app-header {
  padding: 14px 24px;
  background: linear-gradient(135deg, var(--uoa-accent), var(--uoa-accent-glow));
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  position: relative;
  z-index: 5;
}
.uoa-app-header::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse 60% 80% at 10% 0%, rgba(255,255,255,.08), transparent 60%);
  pointer-events: none;
}
.uoa-app-header > * { position: relative; z-index: 1; }
.uoa-app-header__title h1 {
  font-family: var(--uoa-font-display);
  font-size: clamp(1.2rem, 2.5vw, 1.5rem);
  font-weight: 600; margin: 0; color: #fff; letter-spacing: -.005em;
}
.uoa-app-header__title p {
  font-size: .85rem; opacity: .88; margin: 2px 0 0; font-weight: 400;
}
.uoa-app-header__actions {
  display: flex; gap: 8px; flex-wrap: wrap; align-items: center;
}
/* Boutons dans le header : inversés (fond blanc, texte accent) */
.uoa-app-header .uoa-btn {
  background: #fff; color: var(--uoa-accent); border: none;
  box-shadow: 0 2px 8px rgba(0,0,0,.08);
}
.uoa-app-header .uoa-btn:hover {
  background: var(--uoa-accent-light); transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0,0,0,.12);
}
.uoa-app-header .uoa-btn--ghost {
  background: rgba(255,255,255,.15); color: #fff; backdrop-filter: blur(4px);
  border: 1px solid rgba(255,255,255,.2);
}
.uoa-app-header .uoa-btn--ghost:hover {
  background: rgba(255,255,255,.25);
}
.uoa-app-header__eyebrow {
  font-size: .65rem; font-weight: 600; text-transform: uppercase;
  letter-spacing: .12em; color: rgba(255,255,255,.7); margin-bottom: 2px;
}

@media (max-width: 640px) {
  .uoa-app-header { padding: 12px 16px; }
  .uoa-app-header__title h1 { font-size: 1.1rem; }
}

/* ---------- Stats card (composant dashboard) ---------- */
.uoa-stat {
  background: var(--uoa-surface);
  border-radius: var(--uoa-radius);
  padding: 1.1rem 1.25rem;
  border: 1px solid rgba(42,107,124,.06);
  box-shadow: var(--uoa-shadow-sm);
  position: relative;
  overflow: hidden;
  transition: transform var(--uoa-transition), box-shadow var(--uoa-transition);
}
.uoa-stat:hover { transform: translateY(-2px); box-shadow: var(--uoa-shadow); }
.uoa-stat::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, var(--uoa-c, var(--uoa-accent)), transparent);
  opacity: .6;
}
.uoa-stat__label {
  font-size: .7rem; font-weight: 600; text-transform: uppercase;
  letter-spacing: .08em; color: var(--uoa-ink-faint); margin-bottom: .3rem;
  display: flex; align-items: center; gap: 6px;
}
.uoa-stat__value {
  font-family: var(--uoa-font-display);
  font-size: 2rem; font-weight: 600; line-height: 1;
  color: var(--uoa-c, var(--uoa-ink));
  font-variant-numeric: tabular-nums;
}
.uoa-stat__hint {
  font-size: .75rem; color: var(--uoa-ink-soft); margin-top: .35rem;
}
.uoa-stat--success { --uoa-c: var(--uoa-success); }
.uoa-stat--warning { --uoa-c: var(--uoa-warning); }
.uoa-stat--danger  { --uoa-c: var(--uoa-danger); }
.uoa-stat--accent  { --uoa-c: var(--uoa-accent); }
.uoa-stat--warm    { --uoa-c: var(--uoa-warm); }
.uoa-stat__icon {
  position: absolute; top: 1rem; right: 1.1rem;
  width: 32px; height: 32px; opacity: .12; color: var(--uoa-c, var(--uoa-accent));
}
.uoa-stat__icon svg { width: 100%; height: 100%; stroke: currentColor; fill: none; stroke-width: 1.5; }

/* ---------- Empty state ---------- */
.uoa-empty {
  padding: var(--uoa-sp-7) var(--uoa-sp-5);
  text-align: center; color: var(--uoa-ink-soft);
}
.uoa-empty__icon { font-size: 42px; opacity: .35; margin-bottom: var(--uoa-sp-3); }
.uoa-empty__title { font-family: var(--uoa-font-display); font-weight: 600; font-size: 1.15rem; color: var(--uoa-ink); margin-bottom: var(--uoa-sp-1); }
.uoa-empty__body { font-size: .88rem; max-width: 360px; margin: 0 auto; line-height: 1.5; }

/* ---------- Modale (overlay) ---------- */
.uoa-modal-overlay {
  position: fixed; inset: 0;
  background: rgba(26,29,46,.45); backdrop-filter: blur(6px);
  z-index: 10000; display: flex; align-items: center; justify-content: center;
  opacity: 0; pointer-events: none; transition: opacity .3s; padding: var(--uoa-sp-5);
}
.uoa-modal-overlay.uoa-open { opacity: 1; pointer-events: all; }
.uoa-modal {
  background: var(--uoa-surface); border-radius: var(--uoa-radius-xl);
  padding: var(--uoa-sp-6) var(--uoa-sp-5);
  width: 100%; max-width: 440px; max-height: 90vh; overflow-y: auto;
  box-shadow: var(--uoa-shadow-modal);
  transform: translateY(20px) scale(.97); transition: transform .35s cubic-bezier(.25,.46,.45,.94);
}
.uoa-modal-overlay.uoa-open .uoa-modal { transform: translateY(0) scale(1); }
.uoa-modal-title {
  font-family: var(--uoa-font-display); font-weight: 600;
  font-size: 1.3rem; margin-bottom: var(--uoa-sp-4);
  display: flex; align-items: center; gap: var(--uoa-sp-2);
}
.uoa-modal-title .uoa-modal-title__dot {
  width: 8px; height: 8px; border-radius: 50%; background: var(--uoa-accent);
}
.uoa-modal-actions { display: flex; gap: var(--uoa-sp-3); margin-top: var(--uoa-sp-5); }
.uoa-modal-actions .uoa-btn { flex: 1; }

/* ---------- Toast ---------- */
.uoa-toast {
  position: fixed; bottom: var(--uoa-sp-6); left: 50%;
  transform: translateX(-50%) translateY(20px);
  background: var(--uoa-ink); color: #fff;
  padding: .65rem 1.3rem; border-radius: 10px;
  font-size: .83rem; font-weight: 500;
  display: flex; align-items: center; gap: var(--uoa-sp-2);
  opacity: 0; pointer-events: none; transition: all .35s;
  z-index: 20000; max-width: calc(100vw - 32px);
}
.uoa-toast.uoa-show { opacity: 1; transform: translateX(-50%) translateY(0); }
.uoa-toast--error { background: #5a1d1d; }
.uoa-toast svg { width: 15px; height: 15px; stroke: #6ed6a0; stroke-width: 2; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.uoa-toast--error svg { stroke: #ff8a80; }

/* ---------- Loader inline ---------- */
.uoa-spinner {
  display: inline-block; width: 16px; height: 16px;
  border: 2px solid rgba(42,107,124,.18);
  border-top-color: var(--uoa-accent);
  border-radius: 50%; animation: uoa-spin .9s linear infinite;
}
@keyframes uoa-spin { to { transform: rotate(360deg); } }

/* ---------- Responsive helpers ---------- */
@media (max-width: 640px) {
  .uoa-page { padding: var(--uoa-sp-4) var(--uoa-sp-3); }
  .uoa-modal { padding: var(--uoa-sp-5) var(--uoa-sp-4); }
}

/* ---------- Print-friendly ---------- */
@media print {
  .uoa-no-print, .uoa-toast, .uoa-modal-overlay, .uoa-bb { display: none !important; }
  .uoa-page { padding: 0; background: #fff; }
  .uoa-card { box-shadow: none; border: 1px solid #ddd; page-break-inside: avoid; }
}

/* ==========================================================================
   ACCESSIBILITÉ (Phase 4)
   ========================================================================== */

/* Focus visible — anneau de couleur sur tous les éléments interactifs.
   Plus visible que le focus système par défaut, surtout au clavier. */
.uoa *:focus-visible,
.uoa-btn:focus-visible,
.uoa-field-input:focus-visible,
.uoa-field-textarea:focus-visible,
.uoa-field-select:focus-visible {
  outline: 2px solid var(--uoa-accent);
  outline-offset: 2px;
}
.uoa-btn:focus:not(:focus-visible) { outline: none; }

/* Skip link — saute directement au contenu principal pour les utilisateurs
   au clavier ou lecteur d'écran. Caché visuellement sauf au focus. */
.uoa-skip-link {
  position: absolute; top: -100px; left: 0;
  background: var(--uoa-ink); color: #fff;
  padding: 12px 20px; border-radius: 0 0 8px 0;
  font-family: var(--uoa-font-body); font-size: .9rem; font-weight: 500;
  text-decoration: none; z-index: 30000;
  transition: top .15s;
}
.uoa-skip-link:focus { top: 0; }

/* Screen-reader only — visible uniquement pour les lecteurs d'écran. */
.uoa-sr-only {
  position: absolute !important;
  width: 1px !important; height: 1px !important;
  padding: 0 !important; margin: -1px !important;
  overflow: hidden !important; clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important; border: 0 !important;
}

/* Contraste amélioré pour les textes faints — WCAG AA exige 4.5:1.
   #9b9eb0 sur #f6f4f0 = 2.8:1 (échec). #6b7084 sur #f6f4f0 = 5.6:1 (OK). */
.uoa-faint { color: #757a8c; /* Au lieu de #9b9eb0 */ }

/* Réduire les animations pour les utilisateurs qui le demandent */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Mode sombre prêt à activer (à compléter plus tard si demandé) */
@media (prefers-color-scheme: dark) {
  /* Volontairement vide pour le moment — le design reste clair par défaut.
     Décommenter et personnaliser pour activer un mode sombre. */
}

/* ============================================================ */
/* === Enrichissement de praticiens (kit ZIP + import merge) === */
/* ============================================================ */

/* Bouton enrichir dans les barres de sélection */
.uoa-enrichir-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}
.uoa-enrichir-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Modale "Générer le kit" */
.uoa-modal-enrich .uoa-enrich-summary p {
  margin: 0.4rem 0;
}
.uoa-modal-enrich .uoa-enrich-summary .uoa-warn {
  color: #b8541a;
  background: #fff4ed;
  border-left: 3px solid #e07a3a;
  padding: 0.5rem 0.75rem;
  border-radius: 4px;
  font-size: 0.92em;
}
.uoa-modal-enrich .uoa-enrich-summary .uoa-info {
  color: #2a6b7c;
  font-size: 0.9em;
}
.uoa-modal-enrich .uoa-enrich-steps ol {
  margin: 0.75rem 0 0.25rem;
  padding-left: 1.5rem;
  line-height: 1.7;
}
.uoa-modal-enrich .uoa-enrich-steps code {
  background: #f5f1eb;
  padding: 0.1rem 0.4rem;
  border-radius: 3px;
  font-family: 'Courier New', monospace;
  font-size: 0.9em;
}

/* Modale "Prévisualisation de l'import" */
.uoa-modal-preview .uoa-preview-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.75rem;
  margin: 0.5rem 0 1rem;
}
.uoa-modal-preview .uoa-preview-stats .uoa-stat {
  background: #f5f1eb;
  padding: 0.75rem;
  border-radius: 6px;
  text-align: center;
}
.uoa-modal-preview .uoa-preview-stats .uoa-stat strong {
  display: block;
  font-size: 1.6rem;
  color: #2a6b7c;
  line-height: 1.1;
}
.uoa-modal-preview .uoa-preview-stats .uoa-stat span {
  display: block;
  font-weight: 500;
  font-size: 0.9rem;
  margin-top: 0.2rem;
}
.uoa-modal-preview .uoa-preview-stats .uoa-stat em {
  display: block;
  font-size: 0.78rem;
  opacity: 0.7;
  font-style: normal;
  margin-top: 0.15rem;
}
.uoa-modal-preview .uoa-stat-warn { background: #fff4ed; }
.uoa-modal-preview .uoa-stat-warn strong { color: #b8541a; }
.uoa-modal-preview .uoa-stat-info { background: #edf5f5; }

.uoa-policy-section {
  margin: 0.75rem 0;
  padding: 0.75rem;
  background: #fafaf7;
  border-radius: 6px;
}
.uoa-policy-radio {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  margin-top: 0.5rem;
}
.uoa-policy-radio label {
  cursor: pointer;
  padding: 0.3rem;
}

.uoa-preview-details {
  margin: 0.75rem 0;
  border: 1px solid #e0dcd5;
  border-radius: 6px;
  padding: 0.5rem 0.75rem;
}
.uoa-preview-details summary {
  cursor: pointer;
  font-weight: 500;
  padding: 0.3rem 0;
}
.uoa-conflicts-list {
  max-height: 320px;
  overflow-y: auto;
}
.uoa-conflict-row {
  padding: 0.5rem 0.4rem;
  border-bottom: 1px solid #eee;
}
.uoa-conflict-row:last-child { border-bottom: none; }
.uoa-conflict-header {
  font-size: 0.85em;
  opacity: 0.7;
  margin-bottom: 0.3rem;
}
.uoa-conflict-field {
  margin: 0.4rem 0;
  padding-left: 0.75rem;
  border-left: 2px solid #f0eae0;
}
.uoa-conflict-label {
  font-weight: 600;
  font-size: 0.9rem;
  margin-bottom: 0.2rem;
}
.uoa-conflict-values {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  font-size: 0.88rem;
}
.uoa-conflict-values code {
  background: #fff;
  padding: 0.1rem 0.35rem;
  border-radius: 3px;
  border: 1px solid #e0dcd5;
  font-size: 0.95em;
  word-break: break-all;
}

.uoa-orphans-list {
  max-height: 200px;
  overflow-y: auto;
  margin: 0.4rem 0 0.3rem;
  padding-left: 1.25rem;
  font-size: 0.9rem;
}
.uoa-info-mini {
  font-size: 0.85em;
  opacity: 0.7;
  margin: 0;
}

/* Table sauvegardes (admin) */
.uoa-backups-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 1rem;
  font-size: 0.92rem;
}
.uoa-backups-table th,
.uoa-backups-table td {
  padding: 0.5rem 0.75rem;
  text-align: left;
  border-bottom: 1px solid #ece7df;
}
.uoa-backups-table th {
  background: #faf7f1;
  font-weight: 600;
}
.uoa-backups-table code {
  font-size: 0.85em;
  word-break: break-all;
}
.uoa-btn-mini {
  padding: 0.25rem 0.75rem;
  font-size: 0.85rem;
  border-radius: 4px;
  border: 1px solid #2a6b7c;
  background: white;
  color: #2a6b7c;
  cursor: pointer;
  font-family: inherit;
}
.uoa-btn-mini:hover {
  background: #2a6b7c;
  color: white;
}
