/* ════════════════════════════════════════════════════ ERP 공용 확인/경고 창 브라우저 기본 confirm()/alert() 은 제목에 도메인이 찍히고 위치·모양을 바꿀 수 없다. 화면 정중앙에 같은 모양으로 띄우기 위해 직접 그린다(erp-dialog.js). ════════════════════════════════════════════════════ */ .erp-dialog-backdrop { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; /* 화면 정중앙 */ justify-content: center; padding: var(--sp-16, 16px); background: rgba(10, 10, 10, 0.45); font-family: var(--font-geist, system-ui, sans-serif); animation: erp-dialog-fade 0.12s ease-out; } .erp-dialog { width: 100%; max-width: 420px; background: var(--color-canvas-white, #fff); border-radius: var(--r-card, 14px); box-shadow: 0 18px 48px rgba(0, 0, 0, 0.28); overflow: hidden; text-align: center; /* 제목·본문·버튼 모두 가운데 정렬 */ animation: erp-dialog-pop 0.12s ease-out; } .erp-dialog-title { margin: 0; padding: var(--sp-12, 12px) var(--sp-20, 20px); border-bottom: 1px solid var(--color-subtle-ash, #e5e5e5); background: var(--color-ghost-gray, #f2f2f2); font-size: var(--text-body, 14px); font-weight: 600; letter-spacing: var(--tracking-heading, -0.45px); color: var(--color-rich-black, #0a0a0a); } /* 아이콘은 글 왼쪽에 고정하고, 글 묶음만 가운데 정렬한다. */ .erp-dialog-body { display: flex; align-items: center; justify-content: center; gap: var(--sp-12, 12px); padding: var(--sp-24, 24px) var(--sp-20, 20px); } .erp-dialog-icon { flex: 0 0 auto; line-height: 0; color: var(--color-callout-red, #c22b10); } /* 확인(질문)용은 붉은 경고색 대신 차분한 검정으로 */ .erp-dialog-ask .erp-dialog-icon { color: var(--color-rich-black, #0a0a0a); } .erp-dialog-message { margin: 0; font-size: var(--text-body, 14px); line-height: var(--leading-body, 1.43); color: var(--color-rich-black, #0a0a0a); /* 메시지의 줄바꿈(\n)을 그대로 살린다 */ white-space: pre-line; word-break: break-word; } .erp-dialog-actions { display: flex; justify-content: center; gap: var(--sp-8, 8px); padding: 0 var(--sp-20, 20px) var(--sp-20, 20px); } .erp-dialog-actions .erp-btn { min-width: 88px; padding: 9px 18px; font-size: var(--text-body, 14px); } @keyframes erp-dialog-fade { from { opacity: 0; } to { opacity: 1; } } @keyframes erp-dialog-pop { from { opacity: 0; transform: translateY(6px) scale(0.98); } to { opacity: 1; transform: none; } } @media (prefers-reduced-motion: reduce) { .erp-dialog-backdrop, .erp-dialog { animation: none; } }