/* ════════════════════════════════════════════════════════════════
 * 6. 모달 (숫자 키패드 / 확인 다이얼로그) — 공용 컴포넌트
 * ════════════════════════════════════════════════════════════════ */
.modal-overlay {
  position: fixed; inset: 0; z-index: 500;
  background: rgba(17,19,24,0.32); backdrop-filter: var(--blur);
  display: flex; align-items: center; justify-content: center; padding: 16px;
}
.modal-dialog {
  background: var(--bg-panel-deep); border: 1px solid var(--border-base); border-radius: var(--radius-xl);
  box-shadow: var(--shadow-float); padding: 16px; width: 100%; max-width: 280px;
  display: flex; flex-direction: column; gap: 8px; color: var(--text-base);
}
.modal-keypad-display {
  background: var(--bg-item); border: 1px solid var(--border-base); border-radius: var(--radius-sm);
  color: var(--text-accent); font-size: 20px; text-align: right; padding: 10px 12px; min-height: 20px;
  letter-spacing: 1px; word-break: break-all;
}
.modal-keypad-hint { color: var(--text-dim); font-size: 10px; text-align: right; }
.modal-keypad-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin-top: 4px; }
.modal-keypad-actions { display: grid; grid-template-columns: repeat(2, 1fr); gap: 6px; }
.modal-keypad-key {
  background: var(--bg-item); border: 1px solid var(--border-base); color: var(--text-base);
  border-radius: var(--radius-sm); padding: 12px 0; font-size: 15px; cursor: pointer;
  touch-action: manipulation; user-select: none; transition: background 0.12s, border-color 0.12s;
}
.modal-keypad-key:hover { background: var(--btn-h); border-color: var(--border-active); }
.modal-keypad-key:active { transform: scale(0.94); }
.modal-keypad-key-sign { color: var(--text-accent); font-weight: 700; letter-spacing: 0; }
.modal-message { font-size: 12px; line-height: 1.5; color: var(--text-base); white-space: pre-line; padding: 4px 0 8px; }
.modal-footer { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin-top: 4px; }
.modal-btn {
  background: #fff; border: 1px solid var(--border-base); color: var(--text-base);
  padding: 8px; border-radius: var(--radius-md); cursor: pointer; font-size: 12px; font-weight: 700;
  touch-action: manipulation; transition: background 0.12s, border-color 0.12s;
}
.modal-btn:hover { background: var(--btn-h); border-color: var(--border-active); }
.modal-btn-accent { background: var(--text-accent); border-color: var(--text-accent); color: #fff; }
.modal-btn-accent:hover { background: #1e40af; }
.modal-btn-danger { background: var(--danger-text); border-color: var(--danger-text); color: #fff; }
.modal-btn-danger:hover { filter: brightness(0.92); }
