.estimate-approval-staff { padding-block: 20px; border-block: 1px solid var(--line); margin-block: 20px; }
.estimate-approval-staff h3 { font-size: 16px; margin: 0 0 12px; }
.estimate-send-fields { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); gap: 16px; }
.estimate-approval-staff label, .estimate-decision-form label { display: grid; gap: 8px; min-width: 0; }
.estimate-approval-staff [hidden], #customerEstimatePanel [hidden] { display: none !important; }
.estimate-version-list, .estimate-team-delivery ul { list-style: none; padding: 0; margin: 0; }
.estimate-version-list > li, .estimate-team-delivery li { border-top: 1px solid var(--line); padding: 16px 0; overflow-wrap: anywhere; }
.estimate-version-list p, .estimate-team-delivery p { margin: 6px 0; font-size: 12px; }
.estimate-version-heading, .estimate-review-heading { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; }
.estimate-version-heading strong { font-size: 14px; }
.estimate-state { display: inline-block; font-size: 12px; font-weight: 700; padding: 5px 8px; border-radius: 4px; color: var(--blue); background: var(--surface-muted); }
.estimate-state[data-state="Approved"] { color: var(--green); }
.estimate-state[data-state="Changes requested"], .estimate-state[data-state="Expired"] { color: var(--red); }
.estimate-history-downloads { display: flex; flex-wrap: wrap; gap: 10px 20px; font-size: 13px; margin-top: 10px; }
.estimate-history-downloads a { color: var(--green); font-weight: 600; }
.estimate-comment, .estimate-decision-record p { white-space: pre-wrap; overflow-wrap: anywhere; }
.estimate-delivery-warning { color: var(--red); }
.estimate-current-state { font-size: 13px; line-height: 1.6; }
.estimate-team-delivery { border-top: 1px solid var(--line); margin-top: 8px; padding-top: 12px; }
.estimate-team-delivery summary { cursor: pointer; font-size: 13px; font-weight: 600; }
#estimateApprovalLinkPanel { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 12px; margin-block: 16px; }
.estimate-approval-staff > .button-row { margin-block: 16px 24px; }
.estimate-decision-form, .estimate-decision-record { margin-top: 24px; border-top: 1px solid var(--line); padding-top: 24px; }
.estimate-decision-form { display: grid; gap: 16px; }
.estimate-decision-form :is(h2, p) { margin: 0; }
.estimate-review-heading h2 { margin: 0; font-size: 20px; min-width: 0; }
.estimate-downloads { margin-block: 16px; }
@media (max-width: 640px) {
  .estimate-send-fields, #estimateApprovalLinkPanel { grid-template-columns: minmax(0, 1fr); }
  .estimate-review-heading { align-items: flex-start; }
  .estimate-review-heading h2 { font-size: 18px; }
}
