.proposal-hero { display: grid; grid-template-columns: 1fr auto; align-items: start; gap: 1rem; padding: 1.35rem; border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface); }.commercial-totals { display: flex; gap: .5rem; }.commercial-total { min-width: 145px; padding: .8rem; border: 1px solid var(--border); border-radius: 8px; background: var(--surface-muted); }.commercial-total span,.commercial-total strong { display: block; }.commercial-total span { color: var(--muted); font-size: .7rem; }.commercial-total strong { margin-top: .2rem; font-size: 1.2rem; }.evidence-note { border-left: 3px solid var(--info); }.recommendation-card { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(230px,.7fr); gap: 1rem; margin: .8rem 0; padding: 1rem; border: 1px solid var(--border); border-radius: 9px; background: var(--surface); }.evidence-block,.recommendation-block,.terms-block { padding: .75rem; border-radius: 7px; }.evidence-block { background: color-mix(in srgb,var(--info) 7%,var(--surface)); }.recommendation-block { background: color-mix(in srgb,var(--brand) 7%,var(--surface)); }.terms-block { margin-top: .55rem; border: 1px solid var(--border); }.frozen-banner { display: flex; align-items: center; gap: .8rem; margin-bottom: 1rem; padding: .85rem 1rem; border: 1px solid color-mix(in srgb,var(--success) 35%,var(--border)); border-radius: 8px; background: color-mix(in srgb,var(--success) 8%,var(--surface)); }.lock-mark { font-size: 1.2rem; }.version-row { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 1rem; padding: .8rem 0; border-top: 1px solid var(--border); }

/* Gate 7B — proposal commercial lifecycle */
.commercial-workflow-panel {
  margin-top: 1rem;
}

.commercial-state-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .8rem;
  margin: 1rem 0;
}

.commercial-state-grid .panel {
  margin: 0;
}

.commercial-state-grid strong {
  display: block;
  margin-top: .2rem;
  font-size: 1rem;
}

.commercial-danger {
  border-color: color-mix(in srgb, var(--danger) 45%, var(--border));
  background: color-mix(in srgb, var(--danger) 10%, var(--surface));
  color: var(--danger);
}

.status-internal_review {
  color: var(--warning);
}

.status-approved,
.status-accepted {
  border-color: color-mix(in srgb, var(--success) 35%, var(--border));
  color: var(--success);
}

.status-sent {
  color: var(--info);
}

.status-declined {
  border-color: color-mix(in srgb, var(--danger) 35%, var(--border));
  color: var(--danger);
}

.status-expired,
.status-superseded {
  color: var(--muted);
}

@media (max-width: 900px) {
  .commercial-state-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .commercial-state-grid {
    grid-template-columns: 1fr;
  }
}

/* Gate 8A — client document preview */
.document-preview-action {
  justify-content: flex-end;
  margin: -0.35rem 0 1rem;
}
