.sensitive-confirmation-overlay {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  background: rgba(23, 35, 58, .42);
}
.sensitive-confirmation {
  width: min(620px, 100%);
  max-height: calc(100dvh - 32px);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 24px;
  border: 1px solid var(--color-border-strong, #ccd8e5);
  border-radius: var(--radius-surface, 12px);
  background: var(--color-surface, #fff);
  color: var(--color-ink, #17233a);
  overflow-wrap: anywhere;
}
.sensitive-confirmation h2 { margin: 12px 0; font-size: 22px; }
.sensitive-risk-badge { display: inline-block; margin: 0; padding: 4px 10px; border-radius: var(--radius-control, 8px); font-size: 13px; font-weight: 600; }
.sensitive-risk-badge.is-a, .sensitive-risk-badge.is-b { color: var(--color-danger, #a9473d); background: var(--color-danger-subtle, #fff0ef); }
.sensitive-risk-badge.is-c, .sensitive-risk-badge.is-d { color: var(--color-info, #1d5aa6); background: var(--color-info-subtle, #e7f0ff); }
.sensitive-confirmation-subject { font-weight: 600; }
.sensitive-confirmation-details { padding-inline-start: 22px; line-height: 1.7; }
.sensitive-confirmation-details li + li { margin-top: 8px; }
.sensitive-confirmation-identity { padding: 12px; border: 1px solid var(--color-border-soft, #e7edf2); border-radius: var(--radius-control, 8px); }
.sensitive-confirmation-identity label { display: block; }
.sensitive-confirmation-identity input { display: block; width: 100%; min-width: 0; margin: 8px 0; }
.sensitive-confirmation-status { min-height: 1.5em; color: var(--color-muted, #617087); font-size: 13px; }
.sensitive-confirmation-actions { position: sticky; bottom: -24px; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; padding: 12px 0 0; background: var(--color-surface, #fff); }
.sensitive-confirmation-actions button { min-height: 40px; }
.sensitive-confirmation-embedded { width: 100%; margin-block: 16px; }
.sensitive-confirmation-embedded .sensitive-confirmation { width: 100%; max-height: none; overflow: visible; }
.sensitive-confirmation-embedded .sensitive-confirmation-actions { position: static; }
.sensitive-confirmation-embedded .sensitive-confirmation { padding: 12px 0; border: 0; border-radius: 0; background: transparent; }
.sensitive-confirmation-embedded .sensitive-confirmation h2 { font-size: 16px; }
.sensitive-confirmation-embedded .sensitive-confirmation-details { margin-block: 8px; line-height: 1.5; }
.sensitive-confirmation-embedded .sensitive-confirmation-status:empty { display: none; }
.contract-party-signature-modal.is-confirming-signature-pending { display: block; overflow-y: auto; }
@media (max-width: 480px), (max-height: 460px) {
  .sensitive-confirmation-overlay { padding: 8px; }
  .sensitive-confirmation { max-height: calc(100dvh - 16px); padding: 16px; }
  .sensitive-confirmation-actions { bottom: -16px; }
}

.app-dialog-inline-error { color: var(--color-danger, #a9473d); line-height: 1.6; overflow-wrap: anywhere; }
.contract-party-signature-modal.is-confirming-signature { display: block; overflow-y: auto; }
.is-confirming-signature > .contract-party-signature-canvas-wrap,
.is-confirming-signature > .contract-party-signature-tip,
.is-confirming-signature > .contract-party-signature-actions { display: none; }

/* Opt-in top-layer confirmation for the receipt/payment workflow only. */
dialog.sensitive-confirmation-overlay.is-standalone {
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  box-sizing: border-box;
  margin: 0;
  border: 0;
}
dialog.sensitive-confirmation-overlay.is-standalone::backdrop { background: transparent; }
