:root {
  --gb-verde-escuro: #33502f;
  --gb-verde: #4c7a41;
  --gb-verde-claro: #7fae6c;
  --gb-terra: #8a5a34;
  --gb-creme: #f7f5ef;
}

body {
  background-color: var(--gb-creme);
}

.gb-navbar {
  background: linear-gradient(90deg, var(--gb-verde-escuro), var(--gb-verde));
}

.gb-navbar .nav-link {
  color: rgba(255, 255, 255, .85);
}

.gb-navbar .nav-link.active,
.gb-navbar .nav-link:hover {
  color: #fff;
  font-weight: 600;
}

.gb-login-wrapper {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--gb-verde-escuro), var(--gb-verde-claro));
}

.gb-login-card {
  max-width: 380px;
  width: 100%;
}

.card-kpi {
  border: none;
  border-left: 5px solid var(--gb-verde);
  border-radius: .5rem;
  background: #fff;
}

.card-kpi.kpi-despesa { border-left-color: #b8552f; }
.card-kpi.kpi-proveito { border-left-color: var(--gb-verde); }
.card-kpi.kpi-pastagem { border-left-color: var(--gb-terra); }
.card-kpi.kpi-saldo-neg { border-left-color: #b8552f; }

.card-kpi .kpi-valor {
  font-size: 1.6rem;
  font-weight: 700;
}

.card-kpi .kpi-icone {
  font-size: 1.8rem;
  opacity: .35;
}

.table-hover tbody tr:hover {
  background-color: #eef3ea;
}

.badge-ativo { background-color: var(--gb-verde); }
.badge-vendido { background-color: #6c757d; }
.badge-morto { background-color: #343a40; }

.th-ordenavel a {
  color: inherit;
}
.th-ordenavel a:hover {
  color: var(--gb-verde-escuro);
}

/* --- Impressão de listagens ------------------------------------------- */
.so-impressao { display: none; }

@media print {
  .no-print,
  .gb-navbar,
  footer,
  .alert,
  .btn,
  .pagination { display: none !important; }

  .so-impressao { display: block !important; }

  body { background: #fff !important; }
  main { padding: 0 !important; }
  .card { border: 0 !important; box-shadow: none !important; }
  .table { font-size: 11pt; }
  .table-light, .table-light > th, .table-light > td { background: #eee !important; }
  .table-responsive { overflow: visible !important; }
  a { color: inherit !important; text-decoration: none !important; }
  .badge { border: 1px solid #999; color: #000 !important; background: #fff !important; }
  .th-ordenavel i { display: none; }
  tr { page-break-inside: avoid; }
  thead { display: table-header-group; }
}
