/* ===== Estilos gerais ===== */

.smpt-meta-row {
  display: flex;
  gap: 16px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}
.smpt-meta-col {
  flex: 1 1 220px;
}
.smpt-meta-col label {
  font-weight: 600;
  display: block;
  margin-bottom: 2px;
}
.smpt-meta-col input[type="text"],
.smpt-meta-col input[type="number"],
.smpt-meta-col input[type="date"],
.smpt-meta-col select,
.smpt-meta-col textarea {
  width: 100%;
}

/* ===== Portal financeiro (shortcode [portal_transparencia]) ===== */

.smpt-portal-wrap {
  margin: 2rem 0;
  font-size: 14px;
}

.smpt-cards {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.smpt-card {
  flex: 1 1 180px;
  padding: 1rem;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
  background: #f8fafc;
}

.smpt-card h4 {
  margin: 0 0 0.25rem;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  opacity: 0.7;
}

.smpt-card .smpt-card-value {
  font-size: 18px;
  font-weight: 700;
}

.smpt-filtros form {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.smpt-filtros input[type="text"],
.smpt-filtros input[type="number"],
.smpt-filtros select {
  min-width: 120px;
  padding: 0.25rem 0.5rem;
  font-size: 13px;
}

.smpt-filtros button {
  padding: 0.3rem 0.8rem;
  font-size: 13px;
}

.smpt-print-btn {
  margin-bottom: 0.5rem;
  text-align: right;
}
.smpt-print-btn button {
  padding: 0.3rem 0.8rem;
  font-size: 12px;
}

.smpt-table-wrap {
  width: 100%;
  overflow: auto;
}

table.smpt-tabela {
  width: 100%;
  border-collapse: collapse;
  margin-top: 0.5rem;
}

table.smpt-tabela th,
table.smpt-tabela td {
  border-bottom: 1px solid #e2e8f0;
  padding: 0.4rem 0.5rem;
  text-align: left;
  white-space: nowrap;
  font-size: 12px;
}

table.smpt-tabela th {
  background: #f1f5f9;
}

.smpt-pagination {
  margin-top: 1rem;
  display: flex;
  gap: 0.25rem;
  flex-wrap: wrap;
}

.smpt-pagination a,
.smpt-pagination span {
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
  border: 1px solid #cbd5f5;
  font-size: 12px;
  text-decoration: none;
}

.smpt-pagination .current {
  background: #1d4ed8;
  color: #fff;
  border-color: #1d4ed8;
}

/* ===== Subportal de convênios ([portal_transparencia_convenios]) ===== */

.smpt-conv-wrap {
  margin: 2rem 0;
  font-size: 14px;
}

.smpt-conv-cards {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.smpt-conv-card {
  flex: 1 1 220px;
  padding: 1rem;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
  background: #f8fafc;
}

.smpt-conv-card h4 {
  margin: 0 0 0.25rem;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  opacity: 0.7;
}

.smpt-conv-card .smpt-card-value {
  font-size: 18px;
  font-weight: 700;
}

.smpt-conv-print-btn {
  text-align: right;
  margin-bottom: 0.5rem;
}

.smpt-conv-print-btn button {
  padding: 0.3rem 0.8rem;
  font-size: 12px;
}

.smpt-conv-filtros form {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.smpt-conv-filtros input[type="text"],
.smpt-conv-filtros input[type="number"],
.smpt-conv-filtros select {
  padding: 0.25rem 0.5rem;
  font-size: 13px;
  min-width: 140px;
}

.smpt-conv-filtros button {
  padding: 0.3rem 0.8rem;
  font-size: 13px;
}

.smpt-conv-table-wrap {
  width: 100%;
  overflow: auto;
}

table.smpt-conv-tabela {
  width: 100%;
  border-collapse: collapse;
  margin-top: 0.5rem;
}

table.smpt-conv-tabela th,
table.smpt-conv-tabela td {
  border-bottom: 1px solid #e2e8f0;
  padding: 0.4rem 0.5rem;
  font-size: 12px;
  white-space: nowrap;
}

table.smpt-conv-tabela th {
  background: #f1f5f9;
  text-align: left;
}

.smpt-conv-pagination {
  margin-top: 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
}

.smpt-conv-pagination a,
.smpt-conv-pagination span {
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
  border: 1px solid #cbd5f5;
  font-size: 12px;
  text-decoration: none;
}

.smpt-conv-pagination .current {
  background: #1d4ed8;
  color: #fff;
  border-color: #1d4ed8;
}

/* ===== Telas admin do plugin (painel interno) ===== */

.smpt-admin-wrap {
  font-size: 14px;
}

.smpt-admin-cards {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 1rem;
  margin-bottom: 1.5rem;
}

.smpt-admin-card {
  flex: 1 1 180px;
  padding: 1rem;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
  background: #f8fafc;
}

.smpt-admin-card h3 {
  margin: 0 0 0.25rem;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  opacity: 0.7;
}

.smpt-admin-card .smpt-card-value {
  font-size: 18px;
  font-weight: 700;
}

.smpt-admin-table-wrap {
  margin-top: 1rem;
}

.smpt-admin-table {
  width: 100%;
  border-collapse: collapse;
}

.smpt-admin-table th,
.smpt-admin-table td {
  border-bottom: 1px solid #e2e8f0;
  padding: 0.4rem 0.5rem;
  text-align: left;
  font-size: 12px;
  white-space: nowrap;
}

.smpt-admin-table th {
  background: #f1f5f9;
}

/* ===== Impressão (PDF) ===== */

@media print {
  .smpt-filtros,
  .smpt-pagination,
  .smpt-print-btn,
  .smpt-conv-filtros,
  .smpt-conv-pagination,
  .smpt-conv-print-btn {
    display: none !important;
  }

  .smpt-card,
  .smpt-conv-card,
  .smpt-admin-card {
    page-break-inside: avoid;
  }
}

/* Área dos gráficos no portal de transparência */

/* Paleta Cotolengo (aproximada) */
#smpt-portal-transparencia {
    --cot-burgundy: #8c1431;   /* vinho / vermelho da marca */
    --cot-gold:     #f3b52b;   /* amarelo */
    --cot-orange:   #e67e22;   /* laranja */
    --cot-cream:    #fff7f0;   /* fundo clarinho */
    --cot-green:    #2e7d32;   /* verde para receitas */
    --cot-gray:     #555555;
}

/* Área dos gráficos */
.smpt-charts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
    margin: 1.5rem 0 2rem;
    align-items: stretch;
}

/* Terceiro gráfico (categorias) ocupa a linha inteira */
.smpt-charts .smpt-chart-box:nth-child(3) {
    grid-column: 1 / -1;
}

.smpt-chart-box {
    background: var(--cot-cream);
    border-radius: 14px;
    padding: 1.2rem 1.4rem;
    box-shadow: 0 8px 18px rgba(0,0,0,0.04);
    border: 1px solid rgba(0,0,0,0.03);
}

.smpt-chart-box h4 {
    margin: 0 0 .75rem;
    font-size: 14px;
    font-weight: 600;
    color: var(--cot-burgundy);
}

/* Canvas adaptável */
.smpt-chart-box canvas {
    width: 100% !important;
    height: 450px !important;
}

/* Mobile: uma coluna só */
@media (max-width: 768px) {
    .smpt-charts {
        grid-template-columns: 1fr;
    }
    .smpt-charts .smpt-chart-box:nth-child(3) {
        grid-column: auto;
    }
}
