.v2-model-proforma-overlay {
  position: fixed;
  inset: 0;
  z-index: 100050;
  display: flex;
  flex-direction: column;
  background: var(--v2-bg-page);
  opacity: 0;
  visibility: hidden;
  transition: opacity .2s ease, visibility .2s ease;
}

.v2-model-proforma-overlay.open {
  opacity: 1;
  visibility: visible;
}

.v2-proforma-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 24px;
  border-bottom: 1px solid var(--v2-border-color);
  background: var(--v2-bg-card);
}

.v2-proforma-title-wrap h2 {
  margin: 0;
  font-size: 1.1rem;
}

.v2-proforma-subtitle {
  margin-top: 4px;
  font-size: .8125rem;
  color: var(--v2-text-secondary);
}

.v2-proforma-body {
  display: flex;
  flex: 1;
  min-height: 0;
}

.v2-proforma-stepper {
  width: 220px;
  border-right: 1px solid var(--v2-border-color);
  background: var(--v2-bg-card);
  padding: 16px 0;
}

.v2-proforma-step {
  display: block;
  width: 100%;
  text-align: left;
  border: 0;
  background: transparent;
  color: var(--v2-text-primary);
  font-size: .875rem;
  padding: 10px 18px;
  cursor: pointer;
}

.v2-proforma-step:hover {
  background: var(--v2-bg-elevated);
}

.v2-proforma-step.active {
  background: var(--v2-accent-bg, rgba(59,130,246,.08));
  border-left: 3px solid var(--v2-primary);
  padding-left: 15px;
  font-weight: 600;
}

.v2-proforma-workspace {
  flex: 1;
  overflow: auto;
  padding: 24px;
}

.v2-proforma-workspace h3 {
  margin: 0 0 10px;
}

.v2-proforma-workspace .description {
  margin: 0 0 14px;
  color: var(--v2-text-secondary);
  font-size: .875rem;
}

.v2-proforma-toolbar {
  display: flex;
  gap: 8px;
  margin-bottom: 10px;
}

.v2-proforma-date-selector {
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.v2-proforma-date-selector label {
  font-size: .8125rem;
  color: var(--v2-text-secondary);
}

.v2-proforma-date-selector select {
  min-width: 180px;
  padding: 6px 10px;
  border: 1px solid var(--v2-border-color);
  border-radius: 6px;
  background: var(--v2-bg-card);
  color: var(--v2-text-primary);
}

.v2-proforma-grid {
  height: 360px;
  border-radius: var(--v2-border-radius);
  overflow: hidden;
}

.v2-proforma-actionbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 24px;
  border-top: 1px solid var(--v2-border-color);
  background: var(--v2-bg-card);
}

.v2-proforma-actionbar .left,
.v2-proforma-actionbar .right {
  display: flex;
  gap: 8px;
}

.v2-proforma-metrics {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.v2-proforma-metric-col {
  border: 1px solid var(--v2-border-color);
  border-radius: var(--v2-border-radius);
  background: var(--v2-bg-card);
  padding: 14px;
}

.v2-proforma-metric-col h4 {
  margin: 0 0 10px;
}

.v2-proforma-metric-row {
  display: flex;
  justify-content: space-between;
  padding: 6px 0;
  border-bottom: 1px solid var(--v2-border-color);
  font-size: .875rem;
}

.v2-proforma-metric-row:last-child {
  border-bottom: 0;
}

.v2-proforma-diff-table-wrap {
  margin-top: 16px;
  border: 1px solid var(--v2-border-color);
  border-radius: var(--v2-border-radius);
  overflow: auto;
  background: var(--v2-bg-card);
}

.v2-proforma-diff-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .8125rem;
}

.v2-proforma-diff-table th,
.v2-proforma-diff-table td {
  border-bottom: 1px solid var(--v2-border-color);
  padding: 8px 10px;
  text-align: left;
}

.v2-proforma-diff-table .up {
  color: #059669;
  font-weight: 600;
}

.v2-proforma-diff-table .down {
  color: #dc2626;
  font-weight: 600;
}

.v2-proforma-empty {
  border: 1px dashed var(--v2-border-color);
  border-radius: var(--v2-border-radius);
  padding: 24px;
  color: var(--v2-text-secondary);
  font-size: .875rem;
}

.v2-proforma-review-status {
  margin-top: 12px;
  color: var(--v2-text-secondary);
  font-size: .8125rem;
}

.v2-proforma-summary-chips {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}

.v2-proforma-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 14px;
  font-size: .75rem;
  font-weight: 600;
}

.v2-proforma-chip.added { background: rgba(16,185,129,.12); color: #059669; }
.v2-proforma-chip.removed { background: rgba(239,68,68,.12); color: #dc2626; }
.v2-proforma-chip.changed { background: rgba(37,99,235,.12); color: #2563eb; }

.v2-proforma-chart-wrap {
  margin-top: 12px;
  border: 1px solid var(--v2-border-color);
  border-radius: var(--v2-border-radius);
  background: var(--v2-bg-card);
  padding: 12px;
}

.v2-proforma-chart-wrap h4 {
  margin: 0 0 10px 0;
  font-size: .875rem;
}

.v2-proforma-diff-legend {
  margin-top: 12px;
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  color: var(--v2-text-secondary);
  font-size: .75rem;
}

/* ======================================================================
   Inline Pro Forma Tab (inside Edit Workspace)
   ====================================================================== */

.v2-proforma-inline-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
  flex-wrap: wrap;
  gap: 12px;
}

.v2-proforma-inline-header h3 {
  margin: 0;
}

.v2-proforma-sub-tabs {
  display: flex;
  gap: 4px;
  background: var(--v2-bg-elevated, #f1f5f9);
  border-radius: 8px;
  padding: 3px;
}

.v2-proforma-sub-tab {
  border: 0;
  background: transparent;
  color: var(--v2-text-secondary);
  font-size: .8125rem;
  font-weight: 500;
  padding: 6px 14px;
  border-radius: 6px;
  cursor: pointer;
  transition: background .15s, color .15s;
}

.v2-proforma-sub-tab:hover {
  background: var(--v2-bg-card);
  color: var(--v2-text-primary);
}

.v2-proforma-sub-tab.active {
  background: var(--v2-bg-card);
  color: var(--v2-primary);
  font-weight: 600;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .08);
}

.v2-proforma-info-bar {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 10px 14px;
  background: var(--v2-bg-elevated, #f8fafc);
  border-radius: 8px;
  font-size: .8125rem;
  color: var(--v2-text-secondary);
}

.v2-proforma-scenario-badge {
  font-size: .75rem;
  padding: 2px 8px;
  border-radius: 10px;
  background: rgba(5, 150, 105, .1);
  color: #059669;
  font-weight: 500;
}
.v2-proforma-scenario-badge.draft {
  background: rgba(245, 158, 11, .1);
  color: #D97706;
}

.v2-proforma-review-section {
  max-width: 600px;
}

/* ======================================================================
   Library Tab Toggle (Models | Pro Formas)
   ====================================================================== */

.v2-library-tab-toggle {
  display: flex;
  gap: 4px;
  background: var(--v2-bg-elevated, #f1f5f9);
  border-radius: 8px;
  padding: 3px;
  margin-bottom: 14px;
  width: fit-content;
}

.v2-library-tab {
  border: 0;
  background: transparent;
  color: var(--v2-text-secondary);
  font-size: .875rem;
  font-weight: 500;
  padding: 7px 18px;
  border-radius: 6px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: background .15s, color .15s;
}

.v2-library-tab:hover {
  background: var(--v2-bg-card);
  color: var(--v2-text-primary);
}

.v2-library-tab.active {
  background: var(--v2-bg-card);
  color: var(--v2-primary);
  font-weight: 600;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .08);
}

/* ── Dark theme ── */
.dark-theme .v2-library-tab-toggle {
  background: #161b26;
}
.dark-theme .v2-library-tab {
  color: #8b92a5;
}
.dark-theme .v2-library-tab:hover {
  background: #1a2030;
  color: #e6e9f0;
}
.dark-theme .v2-library-tab.active {
  background: #111520;
  color: var(--v2-accent, #0964A0);
  box-shadow: 0 1px 3px rgba(0,0,0,0.25);
}
