:root {
  --bg: #0b1220;
  --bg-elevado: #121b2e;
  --borda: #223049;
  --texto: #e8edf5;
  --texto-fraco: #8fa0bd;
  --acento: #22d3ee;
  --acento-forte: #06b6d4;
  --sucesso: #34d399;
  --alerta: #fbbf24;
  --perigo: #f87171;
}

body {
  background-color: var(--bg);
  color: var(--texto);
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

a { color: var(--acento); text-decoration: none; }
a:hover { color: var(--acento-forte); }

.navbar-loja {
  background-color: var(--bg-elevado);
  border-bottom: 1px solid var(--borda);
}
.navbar-loja .navbar-brand {
  font-weight: 700;
  letter-spacing: .5px;
  color: var(--texto);
}
.navbar-loja .navbar-brand span { color: var(--acento); }
.navbar-loja .nav-link { color: var(--texto-fraco) !important; }
.navbar-loja .nav-link:hover { color: var(--texto) !important; }

.hero-loja {
  background: radial-gradient(circle at top right, rgba(34,211,238,.12), transparent 60%);
  border-bottom: 1px solid var(--borda);
  padding: 3rem 0 2rem;
}
.hero-loja h1 { font-weight: 800; }
.hero-loja .badge-sinal {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  background: rgba(52,211,153,.12);
  color: var(--sucesso);
  border: 1px solid rgba(52,211,153,.3);
  padding: .35rem .75rem;
  border-radius: 999px;
  font-size: .8rem;
  font-weight: 600;
}
.badge-sinal .ponto {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--sucesso);
  box-shadow: 0 0 8px var(--sucesso);
}

.card-produto {
  background-color: var(--bg-elevado);
  border: 1px solid var(--borda);
  border-radius: 14px;
  transition: transform .15s ease, border-color .15s ease;
  height: 100%;
}
.card-produto:hover {
  transform: translateY(-4px);
  border-color: var(--acento);
}
.card-produto .tipo-tag {
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--texto-fraco);
}
.card-produto .gb-num {
  font-size: 2.2rem;
  font-weight: 800;
  color: var(--texto);
  line-height: 1;
}
.card-produto .gb-num small {
  font-size: 1rem;
  font-weight: 600;
  color: var(--texto-fraco);
}
.card-produto .preco {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--acento);
}
.card-produto .detalhe-dia {
  font-size: .82rem;
  color: var(--texto-fraco);
}

.btn-acento {
  background-color: var(--acento);
  border-color: var(--acento);
  color: #05222b;
  font-weight: 600;
}
.btn-acento:hover {
  background-color: var(--acento-forte);
  border-color: var(--acento-forte);
  color: #05222b;
}

.painel-card {
  background-color: var(--bg-elevado);
  border: 1px solid var(--borda);
  border-radius: 12px;
}

.form-control, .form-select {
  background-color: #0e1626;
  border: 1px solid var(--borda);
  color: var(--texto);
}
.form-control:focus, .form-select:focus {
  background-color: #0e1626;
  border-color: var(--acento);
  color: var(--texto);
  box-shadow: 0 0 0 .2rem rgba(34,211,238,.15);
}
.form-control::placeholder { color: var(--texto-fraco); }

.table-dark-custom {
  --bs-table-bg: var(--bg-elevado);
  --bs-table-color: var(--texto);
  --bs-table-border-color: var(--borda);
}

.status-badge { font-size: .75rem; padding: .35em .7em; border-radius: 999px; }
.status-pendente_pagamento, .status-pendente { background: rgba(251,191,36,.15); color: var(--alerta); }
.status-pago, .status-enviado { background: rgba(52,211,153,.15); color: var(--sucesso); }
.status-em_andamento { background: rgba(34,211,238,.15); color: var(--acento); }
.status-concluido { background: rgba(52,211,153,.15); color: var(--sucesso); }
.status-cancelado, .status-erro { background: rgba(248,113,113,.15); color: var(--perigo); }
.status-teste { background: rgba(139,148,166,.15); color: var(--texto-fraco); }

footer.rodape-loja {
  border-top: 1px solid var(--borda);
  color: var(--texto-fraco);
  font-size: .85rem;
}

.modal-content {
  background-color: var(--bg-elevado);
  border: 1px solid var(--borda);
  color: var(--texto);
}
.modal-header, .modal-footer { border-color: var(--borda); }
