.fsc-pv{ --fsc-accent:#7c3aed; --fsc-accent2:#22c55e; }
.fsc-pv-grid{ display:grid; grid-template-columns: 380px 1fr; gap: var(--fsc-gap); }
@media (max-width: 960px){ .fsc-pv-grid{ grid-template-columns: 1fr; } }

.fsc-pv-panel, .fsc-pv-card{
  background: var(--fsc-bg2);
  border: 1px solid var(--fsc-border);
  border-radius: var(--fsc-radius);
  box-shadow: var(--fsc-shadow);
  padding: 14px;
}
.fsc-pv-fields{ display:grid; grid-template-columns: 1fr; gap: 10px; }
.fsc-pv-field span{ display:block; font-size: 12px; color: var(--fsc-muted); margin-bottom:6px; }
.fsc-pv-field input, .fsc-pv-field select{
  width:100%;
  border:1px solid var(--fsc-border);
  border-radius: var(--fsc-input-radius);
  padding: 10px 10px;
  background: var(--fsc-bg);
  color: var(--fsc-text);
  outline:none;
}
.fsc-pv-actions{ display:flex; gap:10px; margin-top: 12px; align-items:center; }
.fsc-btn{
  height: var(--fsc-btn-height);
  padding: 0 14px;
  border-radius: var(--fsc-btn-radius);
  border:1px solid var(--fsc-border);
  background: #fff;
  color: var(--fsc-text);
  font-size: var(--fsc-btn-font-size);
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  user-select:none;
}
.fsc-btn-primary{
  background: var(--fsc-accent);
  border-color: rgba(0,0,0,.05);
  color: #fff;
}
.fsc-btn-ghost{ background: transparent; }

.fsc-pv-kpis{ margin-top: 14px; display:grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
@media (max-width: 520px){ .fsc-pv-kpis{ grid-template-columns: 1fr; } }
.fsc-pv-kpi{
  border:1px solid var(--fsc-border);
  border-radius: var(--fsc-radius);
  padding: 10px 12px;
  background: rgba(124,58,237,.05);
}
.fsc-pv-kpi .k{ font-size: 12px; color: var(--fsc-muted); }
.fsc-pv-kpi .v{ margin-top: 4px; font-size: 18px; font-weight: 700; color: var(--fsc-text); }

.fsc-pv-viz{ display:grid; gap: var(--fsc-gap); }
.fsc-pv-card-title{ font-weight: 700; margin-bottom: 10px; color: var(--fsc-text); }
.fsc-pv-chart{ width:100%; height:auto; display:block; border-radius: var(--fsc-radius); background: linear-gradient(180deg, rgba(124,58,237,.08), rgba(34,197,94,.04)); border:1px solid var(--fsc-border); }
.fsc-pv-table-wrap{ overflow:auto; border:1px solid var(--fsc-border); border-radius: var(--fsc-radius); }
.fsc-pv-table{ width:100%; border-collapse: collapse; min-width: 680px; }
.fsc-pv-table th, .fsc-pv-table td{ padding: 10px 10px; border-bottom: 1px solid var(--fsc-border); text-align: right; white-space: nowrap; }
.fsc-pv-table th:first-child, .fsc-pv-table td:first-child{ text-align:left; }
.fsc-pv-table thead th{ position: sticky; top: 0; background: #fff; z-index: 1; }
.fsc-pv-table tbody tr:nth-child(odd){ background: rgba(0,0,0,.015); }
