/* Shared confirm modal — replaces the native browser confirm() dialog
   across the app. Paired with /public/js/confirm-modal.js, which injects
   the markup these rules target and wires up the open/close/confirm logic.
   Include both on any page using a [data-confirm] trigger. */
.confirm-overlay { display: none; position: fixed; inset: 0; background: rgba(15,32,39,0.55); align-items: center; justify-content: center; z-index: 2000; padding: 20px; }
.confirm-overlay.open { display: flex; }
.confirm-modal { background: #fff; border-radius: 16px; padding: 26px; max-width: 360px; width: 100%; text-align: center; box-shadow: 0 16px 48px rgba(0,0,0,0.25); font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
.confirm-modal-icon { width: 46px; height: 46px; border-radius: 50%; background: #f6efe7; color: #A67C52; display: flex; align-items: center; justify-content: center; font-size: 18px; margin: 0 auto 14px; }
.confirm-modal.danger .confirm-modal-icon { background: #fef2f2; color: #dc2626; }
.confirm-modal h3 { font-size: 17px; font-weight: 800; margin: 0 0 8px; color: #0F2027; }
.confirm-modal p { font-size: 13px; color: #6b7280; margin: 0 0 22px; line-height: 1.5; }
.confirm-modal-actions { display: flex; gap: 10px; }
.confirm-modal-actions button { flex: 1; padding: 11px; border-radius: 999px; font-weight: 700; font-size: 14px; border: none; cursor: pointer; font-family: inherit; }
.confirm-modal-cancel { background: #f3f4f6; color: #0F2027; }
.confirm-modal-cancel:hover { background: #e5e7eb; }
.confirm-modal-ok { background: #A67C52; color: #fff; }
.confirm-modal-ok:hover { background: #8e6843; }
.confirm-modal-ok:disabled { opacity: .5; cursor: default; }
.confirm-modal.danger .confirm-modal-ok { background: #dc2626; }
.confirm-modal.danger .confirm-modal-ok:hover { background: #b91c1c; }
