:root {
  --cor-fonte:#e5e7eb;
  --cor-menu:#111827;
  --cor-menu-header:#0b1220;
  --cor-menu-hover:#1f2937;
  --cor-menu-active:#0ea5e9;
  --cor-card-bg:#ffffff;
  --cor-link:#111827;
  --cor-botao:#2563eb;
}

/* ====== Base ====== */
body {
  background:#f4f6f8;
  color:#1f2937;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:.95rem;
  line-height:1.5;
}
.navbar { min-height:56px; }

/* ====== Cards/inputs/botões ====== */
.card{
  background:var(--cor-card-bg);
  border-radius:.75rem;
  box-shadow:0 6px 18px rgba(0,0,0,.06);
  border:1px solid #e5e7eb;
  margin-bottom:1rem;
}
.card h5,.card h6{ margin-bottom:.75rem; }

.btn{
  border-radius:.5rem;
  font-weight:500;
  padding:.4rem .9rem;
}
.btn-primary,.btn-success,.btn-info{ background:var(--cor-botao); border-color:var(--cor-botao); }
.btn-primary:hover,.btn-success:hover,.btn-info:hover{ opacity:.9; }

.table{ font-size:.9rem; }
.table thead{ background:#f8fafc; font-weight:600; }
.table td,.table th{ vertical-align:middle; }

input.form-control,select.form-select,textarea.form-control{
  border-radius:.5rem;
  border:1px solid #d1d5db;
  font-size:.9rem;
  padding:.45rem .75rem;
}

footer{
  text-align:center;
  font-size:.8rem;
  color:#6b7280;
  padding:1rem 0;
  margin-top:2rem;
  border-top:1px solid #e5e7eb;
}

/* ====== OFFCANVAS (Menu lateral novo) ====== */
.offcanvas.custom-menu {
  width: 320px;
  max-width: 90vw;
  background: var(--cor-menu);
  color: var(--cor-fonte);
  border-right: 1px solid rgba(255,255,255,.06);
}
.offcanvas.custom-menu .offcanvas-header {
  background: var(--cor-menu-header);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.offcanvas.custom-menu .offcanvas-title {
  color:#cfd5df;
  letter-spacing:.2px;
}
.offcanvas.custom-menu .btn-close { filter: invert(1); opacity:.8; }
.offcanvas.custom-menu .btn-close:hover { opacity:1; }

/* Itens do menu */
.offcanvas.custom-menu .nav-link{
  color:#cfd5df!important;
  padding:.6rem .85rem;
  border-radius:.5rem;
  transition:background .15s ease, color .15s ease;
  display:flex; align-items:center; gap:.5rem;
}
.offcanvas.custom-menu .nav-link:hover{
  background: var(--cor-menu-hover);
  color:#fff!important;
  text-decoration:none;
}
.offcanvas.custom-menu .nav-link.active{
  background: rgba(14,165,233,.18);
  color:#fff!important;
  position:relative;
}
.offcanvas.custom-menu .nav-link.active::before{
  content:"";
  position:absolute; left:-12px; top:8px; bottom:8px;
  width:3px; border-radius:2px; background: var(--cor-menu-active);
}
.offcanvas.custom-menu hr{ border-color: rgba(255,255,255,.1); }

/* ====== Fallback manual (se Bootstrap JS faltar) ====== */
.offcanvas.offcanvas-start.offcanvas-manual-open {
  visibility: visible;
  transform: none;
  transition: transform .3s ease-in-out;
  box-shadow: 0 0 0 9999px rgba(0,0,0,.5);
  z-index: 1050;
}
.offcanvas.offcanvas-start { z-index: 1050; }

/* ====== Ajustes do conteúdo fora do menu ====== */
main.container { color:#1f2937; }

/* ===================================================================== */
/*  AÇÕES DA LISTA DE CLIENTES                                           */
/* ===================================================================== */
.acoes-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  grid-auto-rows: 1fr;
  gap:.5rem;
  min-width: 210px;
}
.acoes-grid .btn{
  width:100%;
  padding:.35rem .6rem;
  font-size:.875rem;
  line-height:1.25rem;
}
.acoes-grid .btn svg{ width:16px; height:16px; margin-right:.35rem; }
.acoes-grid .full-row{ grid-column: 1 / -1; }

.btn-action-sm{ padding:.3rem .5rem!important; font-size:.82rem!important; }

@media (max-width: 380px){
  .acoes-grid{ grid-template-columns: 1fr; min-width: 0; }
}

/* ============================ */
/*  PÚBLICO: /pages/indicar.php */
/* ============================ */
.landing-wrap{ max-width: 720px; margin: 0 auto; }
.landing-title{ font-weight: 700; letter-spacing:.2px; }
.indicador-badge{
  display:inline-block; padding:.4rem .6rem; border-radius:.5rem;
  background:#f8fafc; border:1px solid #e5e7eb; color:#374151;
}
.form-hint{ color:#6b7280; font-size:.85rem; }


/* ============================ */
/*  Cards de métricas (coloridos)  */
/* ============================ */
.card.metric-yellow{ background:#facc15 !important; color:#111827 !important; border:0; }
.card.metric-green { background:#16a34a !important; color:#ffffff !important; border:0; }
.card.metric-blue  { background:#2563eb !important; color:#ffffff !important; border:0; }

.card.metric-yellow h6,
.card.metric-green h6,
.card.metric-blue h6{ color:inherit; opacity:.9; }
