:root{
  --blue:#00abea;
  --yellow:#ffcc44;
  --black:#111;
}
*{font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;}
.bg-brand{background: linear-gradient(90deg, var(--blue), #0096cc);}
.btn-brand{
  background: var(--yellow);
  color: #111;
  border: 0;
  font-weight: 700;
  box-shadow: 0 10px 20px rgba(17,17,17,.12);
}
.btn-brand:hover{filter:brightness(.98); transform: translateY(-1px);}
.badge-brand{background: var(--blue);}
.card-soft{
  border:0;
  border-radius: 18px;
  box-shadow: 0 10px 30px rgba(17,17,17,.08);
}
.hero{
  background: radial-gradient(1000px 300px at 30% 20%, rgba(255,204,68,.75), transparent 60%),
              radial-gradient(900px 380px at 70% 10%, rgba(0,171,234,.35), transparent 60%),
              #fff;
  border-radius: 24px;
  padding: 28px;
  border: 1px solid rgba(17,17,17,.06);
}
.kpi{
  border: 1px dashed rgba(17,17,17,.18);
  border-radius: 16px;
  padding: 14px 16px;
}
.form-control, .form-select{
  border-radius: 14px;
}
.table thead th{
  background: rgba(0,171,234,.08);
}
.voucher{
  border: 2px dashed rgba(17,17,17,.25);
  border-radius: 18px;
  padding: 18px;
}
.voucher .code{
  letter-spacing: 2px;
  font-weight: 800;
  font-size: 20px;
}


/* Simple table (div-based) */
.table{
  margin-top:12px;
  border:1px solid rgba(17,17,17,.10);
  border-radius:18px;
  overflow:hidden;
  background:#fff;
}
.table .tr{
  display:grid;
  grid-template-columns: 1.2fr 1fr .8fr .8fr;
  gap:10px;
  padding:12px 14px;
  border-bottom:1px solid rgba(17,17,17,.08);
  align-items:center;
}
.table .tr.th{
  background: rgba(0,171,234,.10);
  font-weight:800;
}
.table .tr:last-child{border-bottom:none;}
.table .empty{padding:14px;color:rgba(17,17,17,.75);}

.pill{
  display:inline-block;
  padding:6px 10px;
  border-radius:999px;
  font-weight:800;
  font-size:12px;
  letter-spacing:.2px;
}
.pill-matriculado{background:rgba(0,171,234,.14); color:#045a79;}
.pill-pendente{background:rgba(255,204,68,.35); color:#6a4b00;}
.pill-nao_matriculado{background:rgba(17,17,17,.10); color:#111;}
.pill-gerado{background:rgba(0,171,234,.14); color:#045a79;}
.pill-usado{background:rgba(17,17,17,.10); color:#111;}
.pill-cancelado{background:rgba(17,17,17,.10); color:#111;}

.btn-mini{
  display:inline-block;
  padding:8px 10px;
  border-radius:12px;
  font-weight:800;
  text-decoration:none;
  background:rgba(0,171,234,.12);
  color:#045a79;
}
.btn-mini:hover{filter:brightness(.95);}

@media (max-width:820px){
  .table .tr{grid-template-columns:1fr; gap:6px;}
}

.table.vouchers .tr{
  grid-template-columns: 1fr .8fr .8fr .7fr .8fr;
}
@media (max-width:820px){
  .table.vouchers .tr{grid-template-columns:1fr;}
}
