/* 관리자와 회원상세에서 함께 쓰는 처리 확인창. */
dialog.river-confirm-dialog {
  box-sizing: border-box;
  width: min(560px, calc(100vw - 32px));
  max-width: calc(100vw - 32px);
  max-height: calc(100dvh - 32px);
  padding: 0;
  overflow: auto;
  color: var(--color-text);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
}
.river-confirm-dialog::backdrop { background: var(--color-backdrop); }
.river-confirm-dialog .river-confirm-form { display: block; padding: 0; margin: 0; }
.river-confirm-header { position: relative; padding: 30px 52px 12px; text-align: center; }
.river-confirm-header h2 { margin: 0; font-size: 24px; line-height: 1.4; color: var(--color-primary); }
.river-confirm-close { position: absolute; right: 12px; top: 12px; width: 36px; height: 36px; border: 0; border-radius: var(--radius-sm); background: transparent; color: var(--color-primary); font-size: 28px; cursor: pointer; }
.river-confirm-close:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 2px; }
.river-confirm-body { padding: 12px 32px 24px; }
.river-confirm-amount { display: grid; gap: 10px; padding: 12px 0 6px; text-align: center; }
.river-confirm-amount > span { color: var(--color-text-muted); font-size: 14px; }
.river-confirm-amount > strong { color: var(--color-primary); font-size: clamp(30px, 6vw, 48px); line-height: 1.25; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.river-confirm-identity { margin: 12px 0 24px; text-align: center; font-size: 16px; overflow-wrap: anywhere; }
.river-confirm-details { margin: 20px 0 0; padding: 0 18px; border: 1px solid var(--color-border); border-radius: var(--radius-md); }
.river-confirm-details > div { display: grid; grid-template-columns: minmax(76px, 1fr) minmax(0, 2fr); gap: 16px; align-items: center; padding: 15px 0; }
.river-confirm-details > div + div { border-top: 1px solid var(--color-border); }
.river-confirm-details dt { font-weight: 600; font-size: 14px; }
.river-confirm-details dd { margin: 0; text-align: right; font-size: 15px; overflow-wrap: anywhere; white-space: pre-line; }
.river-confirm-dialog .action-dialog-summary { display: block; margin: 20px 0 0; padding: 0; border: 0; background: transparent; }
.river-confirm-summary { margin: 0; text-align: center; color: var(--color-text-muted); font-size: 14px; line-height: 1.7; white-space: pre-line; overflow-wrap: anywhere; }
.river-confirm-required { margin-top: 18px; }
.river-confirm-actions { display: flex; justify-content: flex-end; gap: 10px; padding: 18px 24px; border-top: 1px solid var(--color-border); }
.river-confirm-actions .button { min-width: 100px; min-height: 42px; justify-content: center; }
@media (max-width: 480px) {
  .river-confirm-header { padding: 26px 44px 8px; }
  .river-confirm-header h2 { font-size: 21px; }
  .river-confirm-body { padding: 12px 18px 20px; }
  .river-confirm-details { padding: 0 12px; }
  .river-confirm-details > div { gap: 10px; }
  .river-confirm-actions { padding: 16px 18px; }
  .river-confirm-actions .button { flex: 1; min-width: 0; }
}

/* 관리자 입출금 메모는 팝업에서 조회해 표의 행 높이를 유지한다. */
.river-confirm-note { margin-top: 18px; }
.river-confirm-note textarea { width: 100%; box-sizing: border-box; resize: vertical; min-height: 84px; }
.river-money-memo-dialog { width: min(480px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); box-sizing: border-box; overflow-y: auto; }
.river-money-memo-content { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.6; text-align: left; }
body table th.river-money-memo-cell,
body table td.river-money-memo-cell { width: 64px; min-width: 64px; max-width: 64px; padding-left: 4px; padding-right: 4px; text-align: center; white-space: nowrap; vertical-align: middle; }
body table .river-money-memo-cell .button { min-width: 0; width: 48px; padding-left: 4px; padding-right: 4px; white-space: nowrap; }
