/* ── Hero ─────────────────────────────────────────────────── */
.painel-hero {
  border-radius: 1.25rem;
  padding: 2rem 2rem;
  margin-bottom: 1.5rem;
  position: relative;
  overflow: hidden;
  color: #fff;
}
.painel-hero h1 { font-weight: 700; margin: 0; font-size: 1.75rem; }
.painel-hero p  { color: rgba(255,255,255,.65); margin: .35rem 0 0; font-size: .95rem; }
.painel-hero .hero-icon {
  position: absolute;
  right: 1.5rem; top: 50%;
  transform: translateY(-50%);
  font-size: 5rem;
  opacity: .12;
  pointer-events: none;
}

.painel-hero-juiz        { background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%); }
.painel-hero-veterinario { background: linear-gradient(135deg, #134e1b 0%, #1b5e20 50%, #2e7d32 100%); }
.painel-hero-categoria   { background: linear-gradient(135deg, #4a1a6e 0%, #6a1b9a 50%, #8e24aa 100%); }
.painel-hero-gestor      { background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%); }

/* ── Tabela ───────────────────────────────────────────────── */
.painel-table {
  border-collapse: separate;
  border-spacing: 0;
}
.painel-table thead th {
  font-size: .78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--bs-secondary-color);
  border-bottom: 2px solid var(--bs-border-color);
  padding: .75rem 1rem;
  white-space: nowrap;
}
.painel-table tbody tr {
  transition: background .15s;
}
.painel-table tbody tr:hover {
  background: color-mix(in srgb, var(--bs-primary) 5%, var(--bs-body-bg));
}
.painel-table td {
  padding: .85rem 1rem;
  vertical-align: middle;
  border-bottom: 1px solid var(--bs-border-color-translucent);
}

/* ── Avatar ───────────────────────────────────────────────── */
.user-avatar {
  width: 40px; height: 40px;
  border-radius: 50%;
  object-fit: cover;
}
.user-avatar-placeholder {
  width: 40px; height: 40px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-weight: 700; font-size: .9rem; color: #fff;
  flex-shrink: 0;
}

/* ── Badge de certificação / CRMV ─────────────────────────── */
.badge-credencial {
  font-size: .75rem;
  padding: .3em .7em;
  border-radius: 2rem;
  font-weight: 600;
  background: color-mix(in srgb, var(--bs-primary) 12%, var(--bs-body-bg));
  color: var(--bs-primary);
  border: 1px solid color-mix(in srgb, var(--bs-primary) 25%, transparent);
}
.badge-credencial-vazio {
  background: var(--bs-secondary-bg);
  color: var(--bs-secondary-color);
  border-color: var(--bs-border-color);
}

/* ── Empty state ──────────────────────────────────────────── */
.painel-empty {
  text-align: center;
  padding: 4rem 1rem;
}
.painel-empty .empty-icon {
  font-size: 4rem;
  display: block;
  margin-bottom: 1rem;
  opacity: .3;
}

/* ── Form card ────────────────────────────────────────────── */
.painel-form-card {
  max-width: 640px;
  margin: 0 auto;
}

/* ── Usuario Picker ───────────────────────────────────────── */
.usuario-picker { position: relative; }

.usuario-results-dropdown {
  position: absolute;
  z-index: 1000;
  width: 100%;
  background: var(--bs-body-bg);
  border: 1px solid var(--bs-border-color);
  border-top: none;
  border-radius: 0 0 .5rem .5rem;
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
  max-height: 280px;
  overflow-y: auto;
}
.usuario-results-dropdown .result-item {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .65rem 1rem;
  cursor: pointer;
  border-bottom: 1px solid var(--bs-border-color-translucent);
  transition: background .12s;
}
.usuario-results-dropdown .result-item:last-child { border-bottom: none; }
.usuario-results-dropdown .result-item:hover { background: color-mix(in srgb, var(--bs-primary) 8%, var(--bs-body-bg)); }
.usuario-results-dropdown .result-empty {
  padding: 1.25rem 1rem;
  text-align: center;
  color: var(--bs-secondary-color);
  font-size: .875rem;
}
