/* Notaê — ajustes sobre o Bootstrap 5 */

:root {
  --notae-brand: #0d6efd;
}

body {
  min-height: 100vh;
}

.navbar-brand.fw-bold {
  letter-spacing: .5px;
}

/* Badges de status das notas */
.status-badge {
  font-size: .78rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .3px;
}
.status-processando_autorizacao,
.status-processando_cancelamento { background-color: #ffc107; color: #212529; }
.status-autorizado               { background-color: #198754; color: #fff; }
.status-cancelado,
.status-denegado                 { background-color: #6c757d; color: #fff; }
.status-erro_autorizacao,
.status-erro_cancelamento        { background-color: #dc3545; color: #fff; }
.status-nao_encontrado           { background-color: #adb5bd; color: #212529; }

/* Cards de contagem no painel */
.kpi-card .kpi-num { font-size: 2rem; font-weight: 700; line-height: 1; }
.kpi-card .kpi-lbl { font-size: .8rem; text-transform: uppercase; letter-spacing: .5px; }

/* Tabela de itens da nota */
table.itens-nota input { min-width: 0; }

/* Login */
.login-wrap { max-width: 420px; margin: 8vh auto; }

/* Landing */
.hero {
  padding: 4.5rem 0 4rem;
  background:
    radial-gradient(1100px 380px at 12% -15%, rgba(79, 140, 255, .20), transparent 60%),
    radial-gradient(900px 480px at 105% -5%, rgba(102, 16, 242, .14), transparent 55%),
    #f6f8fc;
  border-bottom: 1px solid #e7ecf3;
}
.hero h1 { font-weight: 800; letter-spacing: -.02em; }
.hero .brand-logo { height: 56px; width: auto; }
.hero .dev-tag {
  font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
  color: var(--notae-brand);
  font-weight: 700;
}

.navbar .brand-logo-nav { height: 30px; width: auto; display: block; }

.doc-type-card {
  border: 1px solid #e6ebf2;
  transition: transform .12s ease, box-shadow .12s ease;
}
.doc-type-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 .5rem 1.5rem rgba(20, 40, 80, .10) !important;
}

/* JSON de erro / retorno */
pre.json-box {
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: .375rem;
  padding: 1rem;
  max-height: 420px;
  overflow: auto;
  font-size: .82rem;
}

@media print {
  .navbar, footer, .btn, .no-print { display: none !important; }
  main.container { margin: 0 !important; }
}
