:root {
  --cor-fundo: #0B1120;
  --cor-painel: #131B2E;
  --cor-painel-alt: #0F1729;
  --cor-borda: #22304A;
  --cor-texto: #E4E9F2;
  --cor-texto-suave: #7C8AA5;
  --cor-acento: #29D9C4;
  --cor-acento-forte: #FF5D3A;
  --cor-aviso: #FFB454;

  --fonte-titulo: 'Sora', sans-serif;
  --fonte-corpo: 'Inter', sans-serif;
  --fonte-mono: 'IBM Plex Mono', monospace;
}

body {
  background-color: var(--cor-fundo);
  color: var(--cor-texto);
  font-family: var(--fonte-corpo);
  min-height: 100vh;
}

.marca-eyebrow {
  font-family: var(--fonte-mono);
  font-size: 0.75rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--cor-acento);
}

.marca-titulo {
  font-family: var(--fonte-titulo);
  font-weight: 800;
  letter-spacing: -0.02em;
}

.marca-subtitulo {
  color: var(--cor-texto-suave);
  font-size: 0.95rem;
}

.painel {
  background-color: color-mix(in srgb, var(--cor-painel) 20%, transparent); /*var(--cor-painel);*/
  border: 1px solid var(--cor-borda);
  border-radius: 0.75rem;
}

.btn-acento {
  background-color: var(--cor-acento);
  border-color: var(--cor-acento);
  color: #06251F;
  font-weight: 600;
}

.btn-acento:hover {
  background-color: #24bfad;
  border-color: #24bfad;
  color: #06251F;
}

.form-select,
.form-control {
  background-color: var(--cor-painel-alt) !important;
  border-color: var(--cor-borda) !important;
  color: var(--cor-texto) !important;
}

.btn .bi {
  margin-right: 0.4rem;
}

.nav-pills .nav-link .bi {
  margin-right: 0.35rem;
}

.status-badge {
  font-family: var(--fonte-mono);
  font-size: 0.78rem;
  letter-spacing: 0.02em;
  border: 1px solid transparent;
  transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.status-badge--info {
  background-color: var(--cor-painel-alt);
  border-color: var(--cor-borda);
  color: var(--cor-texto-suave);
}

.status-badge--warning {
  background-color: rgba(255, 180, 84, 0.14);
  border-color: var(--cor-aviso);
  color: var(--cor-aviso);
  box-shadow: 0 0 12px rgba(255, 180, 84, 0.25);
}

.status-badge--error {
  background-color: rgba(255, 93, 58, 0.14);
  border-color: var(--cor-acento-forte);
  color: var(--cor-acento-forte);
  box-shadow: 0 0 12px rgba(255, 93, 58, 0.3);
}

.status-badge--success {
  background-color: rgba(41, 217, 196, 0.14);
  border-color: var(--cor-acento);
  color: var(--cor-acento);
  box-shadow: 0 0 12px rgba(41, 217, 196, 0.25);
}

@keyframes status-badge-pulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.08); }
  100% { transform: scale(1); }
}

.status-badge--pulse {
  animation: status-badge-pulse 0.4s ease;
}

@media (prefers-reduced-motion: reduce) {
  .status-badge--pulse {
    animation: none;
  }
}
