/* ====== Estilos globais (todas as páginas) ====== */

/* ---- Tema base estilo Codebase (blocos) ---- */
.block {
  background: #fff;
  border: 1px solid var(--bs-border-color, #e9ecef);
}
.block-rounded { border-radius: .5rem; }
.block-header {
  display: flex;
  padding: .75rem 1.25rem;
  border-bottom: 1px solid var(--bs-border-color, #e9ecef);
}
.block-header-default { background: #f8f9fa; }
.block-title { font-size: 1rem; }
.block-content { padding: 1rem 1.25rem; }

.fs-xs { font-size: .75rem; }

/* ---- Auth (login / cadastro) ---- */
.auth-card { max-width: 420px; }
.auth-brand {
  display: flex; align-items: center; justify-content: center; gap: .5rem;
  margin-bottom: 1rem;
}
.auth-brand i { color: var(--bs-warning); font-size: 1.5rem; }

/* ---- Empty state ---- */
.empty-state-icon {
  width: 64px; height: 64px;
  margin: 0 auto;
  display: flex; align-items: center; justify-content: center;
  background: rgba(13,110,253,.08);
  border-radius: 50%;
}

/* HTMX spinner */
.htmx-indicator { display: none; }
.htmx-request .htmx-indicator,
.htmx-request.htmx-indicator { display: inline-block; }

/* ---- Mobile: navbar dropdown + botões globais ---- */
@media (max-width: 575.98px) {
  /* alvo de toque para botões icon-only globais (ex.: voltar em admin) */
  .btn-icon-mobile {
    min-width: 40px; min-height: 40px;
    display: inline-flex; align-items: center; justify-content: center;
  }
  /* click-fix global para botões só-ícone */
  .btn-icon-mobile * { pointer-events: none !important; }
  /* anti-zoom iOS para formulários de auth/admin sem container escopado */
  .form-control, .form-select, textarea.form-control { font-size: 16px; }
}
