/* Portal WB - Frontend (Dark) */
.pwb-frontend{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Inter,Arial,sans-serif;
  color:#e5e7eb;
  background:#0b0f14;
  padding:18px;
  border-radius:16px;
}

/* Headings / emphasis */
.pwb-frontend h1,
.pwb-frontend h2,
.pwb-frontend h3,
.pwb-frontend strong{
  color:#ffffff;
  font-weight:800;
}

.pwb-frontend a{
  color:#38bdf8;
  font-weight:800;
  text-decoration:none;
}
.pwb-frontend a:hover{ text-decoration:underline; }

.pwb-box,
.pwb-card{
  background:#0f172a;
  border:1px solid #1f2937;
  border-radius:14px;
  padding:14px 16px;
  box-shadow:0 6px 18px rgba(0,0,0,.35);
  color:#e5e7eb;
}

.pwb-hero{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}

.pwb-muted{
  color:#94a3b8;
  font-size:12px;
  font-weight:700;
}

.pwb-grid-2{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:14px;
}

.pwb-tablewrap{overflow-x:auto;}

.pwb-table{
  width:100%;
  border-collapse:collapse;
  font-size:13px;
  margin-top:10px;
}

.pwb-table th,
.pwb-table td{
  border:1px solid #1f2937;
  padding:8px 10px;
  text-align:left;
  color:#e5e7eb;
}

.pwb-table th{
  background:#111827;
  color:#ffffff;
  font-weight:900;
}

.pwb-table td{
  background:#0b1220;
  font-weight:700;
}

.pwb-badge{
  display:inline-block;
  padding:2px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.2px;
}

/* Status badges (contraste alto em fundo escuro) */
.pwb-status-ativo,.pwb-status-paga{background:#064e3b;color:#d1fae5;}
.pwb-status-aberta{background:#0c4a6e;color:#e0f2fe;}
.pwb-status-vencida,.pwb-status-cancelado,.pwb-status-cancelada{background:#7f1d1d;color:#fee2e2;}
.pwb-status-suspenso{background:#78350f;color:#fef3c7;}

@media (max-width:900px){
  .pwb-grid-2{grid-template-columns:1fr;}
}


/* --- Patch: remover barra horizontal nas tabelas --- */
.pwb-tablewrap{ overflow-x:hidden !important; }
.pwb-table{ table-layout:fixed; width:100%; }
.pwb-table th, .pwb-table td{
  white-space:normal;
  word-break:break-word;
  overflow-wrap:anywhere;
  padding:6px 8px;
  font-size:12px;
}
/* evita que links forcem largura */
.pwb-table a{ display:inline-block; max-width:100%; }

