:root{
  --bg-main:#0f172a;
  --bg-card:#020617;
  --bg-elevated:#020617;
  --bg-chip:#111827;
  --text-main:#e5e7eb;
  --text-muted:#9ca3af;
  --border-soft:#1f2937;
  --accent:#22c55e;
  --accent-strong:#16a34a;
  --accent-soft:rgba(34,197,94,.12);
  --danger:#ef4444;
  --row-hover:rgba(31,41,55,.9);
  --row-alert:rgba(34,197,94,.12);
  --row-alert-hover:rgba(34,197,94,.22);
}
[data-theme="light"]{
  --bg-main:#f3f4f6;
  --bg-card:#ffffff;
  --bg-elevated:#ffffff;
  --bg-chip:#e5e7eb;
  --text-main:#111827;
  --text-muted:#6b7280;
  --border-soft:#d1d5db;
  --accent:#16a34a;
  --accent-strong:#15803d;
  --accent-soft:rgba(34,197,94,.12);
  --danger:#b91c1c;
  --row-hover:#e5e7eb;
  --row-alert:rgba(34,197,94,.16);
  --row-alert-hover:rgba(22,163,74,.18);
}
*{box-sizing:border-box;margin:0;padding:0}
body{
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:var(--bg-main);
  color:var(--text-main);
  padding:16px;
  transition:background .25s ease,color .25s ease;
}
.app-container{max-width:1200px;margin:0 auto}
.topbar{
  display:flex;justify-content:space-between;align-items:center;
  margin-bottom:20px;gap:12px;
}
.topbar-left h1{font-size:1.7rem;margin-bottom:4px}
.topbar-left p{color:var(--text-muted);font-size:.9rem}
.topbar-right{display:flex;align-items:center;gap:8px}
.icon-btn{
  border-radius:999px;border:1px solid var(--border-soft);
  padding:6px 10px;font-size:.9rem;cursor:pointer;
  background:var(--bg-card);color:var(--text-main);
}
.icon-btn:hover{border-color:var(--accent);}
.summary-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:12px;margin-bottom:20px;
}
.card{
  background:radial-gradient(circle at top left,#1e293b,var(--bg-card));
  border-radius:18px;padding:14px 16px;
  border:1px solid rgba(148,163,184,.4);
  display:flex;flex-direction:column;gap:6px;
}
[data-theme="light"] .card{
  background:var(--bg-card);
  border:1px solid var(--border-soft);
}
.card-title{font-size:.9rem;color:var(--text-muted)}
.card-value{font-size:1.5rem;font-weight:600}
.card-footer{font-size:.75rem;color:var(--text-muted)}
.section-header{
  display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;
}
.section-header h2{font-size:1.1rem}
.section-header span{font-size:.8rem;color:var(--text-muted)}
.tabs{
  display:inline-flex;background:var(--bg-card);border-radius:999px;
  padding:4px;border:1px solid var(--border-soft);margin-bottom:6px;
}
.tab-button{
  border:none;background:transparent;color:var(--text-muted);
  padding:6px 16px;border-radius:999px;font-size:.9rem;cursor:pointer;
}
.tab-button.tab-active{
  background:linear-gradient(to right,var(--accent),var(--accent-strong));
  color:#020617;font-weight:600;
}
.subtabs{
  display:inline-flex;background:var(--bg-elevated);border-radius:999px;
  padding:3px 4px;border:1px solid var(--border-soft);
  margin-bottom:12px;gap:4px;
}
.subtab-button{
  border:none;background:transparent;color:var(--text-muted);
  padding:4px 10px;border-radius:999px;font-size:.78rem;cursor:pointer;
}
.subtab-button.subtab-active{
  background:var(--bg-chip);color:var(--text-main);font-weight:500;
}
.filters{
  display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px;align-items:center;
}
.filter-group{display:flex;flex-direction:column;gap:4px}
.filter-group label{font-size:.75rem;color:var(--text-muted)}
input[type=text],input[type=email],input[type=date],select{
  background:var(--bg-card);border:1px solid var(--border-soft);
  border-radius:999px;padding:6px 10px;color:var(--text-main);
  font-size:.85rem;min-width:140px;
}
input:focus,select:focus{outline:1px solid var(--accent);border-color:var(--accent)}
.main-search{flex:1;min-width:220px}
.secondary-btn{
  border-radius:999px;border:1px solid var(--border-soft);
  padding:6px 10px;font-size:.8rem;cursor:pointer;
  background:var(--bg-card);color:var(--text-main);
}
.secondary-btn:hover{border-color:var(--accent)}
.link-btn{
  border:none;background:transparent;color:var(--accent);
  font-size:.8rem;cursor:pointer;margin-top:18px;text-decoration:underline;
}
.advanced-filters{
  background:var(--bg-card);border-radius:12px;border:1px solid var(--border-soft);
  padding:8px 10px;margin-bottom:10px;display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;
}
.advanced-filters.hidden{display:none}
.table-wrapper{
  background:var(--bg-card);border-radius:16px;border:1px solid var(--border-soft);
  padding:8px;overflow-x:auto;margin-bottom:16px;
}
.table-toolbar{
  display:flex;justify-content:space-between;align-items:center;
  margin-bottom:6px;gap:8px;flex-wrap:wrap;
}
.page-size-group{display:flex;flex-direction:column;gap:2px;font-size:.78rem;color:var(--text-muted)}
.page-size-group select{min-width:80px}
.export-group{display:flex;gap:6px}
table{width:100%;border-collapse:collapse;font-size:.82rem}
thead{background:var(--bg-card)}
th,td{
  padding:6px 8px;border-bottom:1px solid #111827;white-space:nowrap;
}
[data-theme="light"] th,[data-theme="light"] td{border-bottom:1px solid var(--border-soft)}
th{text-align:left;color:var(--text-muted);font-weight:500;font-size:.78rem}
tbody tr{transition:background .15s ease,box-shadow .15s ease}
tbody tr:hover{
  background:var(--row-hover);
  box-shadow:0 0 0 1px rgba(148,163,184,.4);
}
.row-alert{
  background:var(--row-alert);
  box-shadow:inset 2px 0 0 var(--accent);
}
.row-alert:hover{background:var(--row-alert-hover)}
.pagination{
  display:flex;justify-content:space-between;align-items:center;
  margin-top:8px;font-size:.8rem;color:var(--text-muted);gap:8px;flex-wrap:wrap;
}
.pag-btn{
  border-radius:999px;border:1px solid var(--border-soft);
  padding:4px 10px;font-size:.8rem;background:var(--bg-card);
  color:var(--text-main);cursor:pointer;
}
.pag-btn[disabled]{opacity:.4;cursor:not-allowed}
.charts-section{
  background:var(--bg-card);border-radius:16px;border:1px solid var(--border-soft);
  padding:12px 10px 14px;margin-bottom:18px;
}
.charts-header{
  display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;
}
.charts-header h3{font-size:1.05rem}
.charts-header span{font-size:.8rem;color:var(--text-muted)}
.charts-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:10px;
}
.chart-card{
  background:var(--bg-elevated);border-radius:12px;border:1px solid var(--border-soft);
  padding:8px 10px;
}
.chart-card h4{font-size:.9rem;margin-bottom:4px;color:var(--text-muted)}
.forms-section{
  margin-top:4px;background:var(--bg-card);border-radius:16px;
  border:1px solid var(--border-soft);padding:14px 12px 16px;
}
.forms-header{
  display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;
}
.forms-header h3{font-size:1.05rem}
.forms-header span{font-size:.78rem;color:var(--text-muted);max-width:60%}
.forms-tabs{
  display:inline-flex;gap:6px;background:var(--bg-card);
  border-radius:999px;padding:4px;border:1px solid var(--border-soft);
  margin-bottom:10px;
}
.form-tab{
  border:none;background:transparent;color:var(--text-muted);
  padding:4px 12px;border-radius:999px;font-size:.8rem;cursor:pointer;
}
.form-tab.form-tab-active{
  background:linear-gradient(to right,var(--accent),var(--accent-strong));
  color:#020617;font-weight:600;
}
.form-panel{margin-top:6px;display:block}
.form-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:8px 10px;margin-bottom:10px;
}
.form-field{display:flex;flex-direction:column;gap:4px}
.form-field label{font-size:.78rem;color:var(--text-muted)}
.primary-btn{
  border-radius:999px;border:none;padding:6px 12px;
  font-size:.9rem;font-weight:600;cursor:pointer;
  background:linear-gradient(to right,var(--accent),var(--accent-strong));color:#020617;margin-top:2px;
}
.primary-btn:hover{filter:brightness(1.03)}
.form-message{font-size:.78rem;color:var(--text-muted);margin-top:4px}
@media (max-width:640px){
  body{padding:12px}
  .topbar{flex-direction:column;align-items:flex-start}
  .filters{flex-direction:column;align-items:stretch}
  .filter-group{width:100%}
  .forms-header span{max-width:100%}
}
.secondary-btn {
  background: #1f2937;
  border: 1px solid #374151;
  color: #e5e7eb;
  padding: 8px 14px;
  border-radius: 8px;
  cursor: pointer;
  transition: 0.2s;
}

.secondary-btn:hover {
  background: #111827;
  border-color: #4b5563;
}

.table-wrapper table td {
  padding: 8px 12px;
}

#lista-pdfs a {
  text-decoration: none;
  font-size: 13px;
}
/* Patch CSS para style.css */
.secondary-btn {
  background: #1f2937;
  border: 1px solid #374151;
  color: #e5e7eb;
  padding: 8px 14px;
  border-radius: 8px;
  cursor: pointer;
  transition: 0.2s;
}

.secondary-btn:hover {
  background: #111827;
  border-color: #4b5563;
}

.table-wrapper table td {
  padding: 8px 12px;
}

#lista-pdfs a {
  text-decoration: none;
  font-size: 13px;
}
.secondary-btn {
  background: #1f2937;
  border: 1px solid #374151;
  color: #e5e7eb;
  padding: 8px 14px;
  border-radius: 8px;
  cursor: pointer;
  transition: 0.2s;
}

.secondary-btn:hover {
  background: #111827;
  border-color: #4b5563;
}

.table-wrapper table td {
  padding: 8px 12px;
}

#lista-pdfs a {
  text-decoration: none;
  font-size: 13px;
}
/* Ajuste da área de ações no topo (index + relatórios) */
.topbar-right {
  display: flex;
  align-items: center;
  gap: 12px;
}

/* Botão azul "Voltar ao Painel de Relacionamento" */
.back-btn {
  background: #2563eb;
}

.back-btn:hover {
  background: #1d4ed8;
}

/* Lista de PDFs bonitinha */
.pdf-list {
  margin-top: 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.pdf-card {
  display: flex;
  align-items: center;
  padding: 10px 14px;
  border-radius: 10px;
  background: #111827;
  border: 1px solid #1f2937;
  cursor: pointer;
  transition: 0.2s;
}

.pdf-card:hover {
  background: #020617;
  border-color: #374151;
}

.pdf-icon {
  font-size: 20px;
  margin-right: 10px;
}

.pdf-title {
  font-weight: 600;
  font-size: 14px;
}

.pdf-meta {
  font-size: 12px;
  opacity: 0.7;
}
/* Topbar: botões alinhados à direita */
.topbar-right {
  display: flex;
  align-items: center;
  gap: 12px;
}

/* Botão azul padrão (voltar, abrir painel etc.) */
.primary-btn {
  background: #2563eb;
  color: #f9fafb;
  border: none;
  padding: 8px 16px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: 0.2s;
}

.primary-btn:hover {
  background: #1d4ed8;
}

/* Botão cinza padrão (secundário) */
.secondary-btn {
  background: #111827;
  border: 1px solid #374151;
  color: #e5e7eb;
  padding: 8px 14px;
  border-radius: 999px;
  font-size: 14px;
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: 0.2s;
}

.secondary-btn:hover {
  background: #020617;
  border-color: #4b5563;
}
/* --- BOTÕES PADRONIZADOS DO TOPO --- */
.topbar-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 10px;
}

.btn-action {
  padding: 10px 18px;
  background: #1f2937;
  border: 1px solid #334155;
  color: #e2e8f0;
  border-radius: 8px;
  cursor: pointer;
  font-size: 14px;
  transition: 0.2s;
}

.btn-action:hover {
  background: #334155;
  border-color: #475569;
}

.btn-primary {
  padding: 10px 18px;
  background: #2563eb;
  color: white !important;
  border-radius: 8px;
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.2s;
}

.btn-primary:hover {
  background: #1d4ed8;
}.topbar-right .secondary-btn,
.topbar-right .primary-btn {
  padding: 8px 16px;
  font-size: 14px;
  font-weight: 600;
  border-radius: 8px;
  cursor: pointer;
  white-space: nowrap;
}

.secondary-btn {
  background: #1e293b;
  color: #e2e8f0;
  border: 1px solid #334155;
}

.secondary-btn:hover {
  background: #334155;
}

.primary-btn {
  background: #2563eb;
  color: white;
  border: none;
}

.primary-btn:hover {
  background: #1d4ed8;
}







