:root {
  --brand: #0ea5e9;
  --brand-2: #22c55e;
  --muted: #6b7280;
}

/* NOVIDADE: Estilos para o "sticky footer" */
html, body {
  height: 100%;
}
body {
  display: flex;
  flex-direction: column;
  background: #f6f8fb; 
}
.main-content {
  flex: 1 0 auto; /* Permite que o conteúdo principal ocupe todo o espaço */
  padding-top: 1rem;
}

/* ... seus estilos existentes abaixo ... */

.navbar-brand img { 
  height: 42px; 
  margin-right: 10px; 
}
.app-hero {
  background: linear-gradient(135deg, #e0f2fe 0%, #f0fdf4 100%);
  border: 1px solid #e6eef7;
  border-radius: 18px;
  padding: 20px 22px;
}
.kpi-card {
  border: 1px solid #e8edf3;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(17, 24, 39, 0.05);
}
.kpi-icon {
  width: 42px; 
  height: 42px; 
  border-radius: 12px;
  display: inline-flex; 
  align-items: center; 
  justify-content: center;
  background: #eff6ff; 
  color: #0ea5e9;
}
.quick-btn {
  border-radius: 14px !important;
  padding: 10px 14px !important;
  border: 1px solid #e8edf3 !important;
}
.btn-success.quick-btn {
    background-color: var(--brand-2) !important;
    color: #fff !important;
    border-color: var(--brand-2) !important;
}
.quick-btn:hover { 
  background: #f8fafc !important; 
}
.table-rounded { 
  border-radius: 12px; 
  overflow: hidden; 
}
.badge-soft {
  background: #eef2ff; 
  color: #3730a3; 
  border: 1px solid #e0e7ff;
}
footer .container p { 
  line-height: 1.1; 
}