/* Avisos embebidos de CobraPay: no dependen de Bootstrap ni de SweetAlert. */
.cp-notify-root { position: fixed; z-index: 2147483000; inset: 0; pointer-events: none; font-family: Overpass, Arial, sans-serif; }
.cp-notify-toasts { position: fixed; top: 1rem; right: 1rem; width: min(25rem, calc(100vw - 2rem)); display: flex; flex-direction: column; gap: .7rem; }
.cp-notify-toast, .cp-notify-banner { display: flex; align-items: flex-start; gap: .7rem; color: #fff; background: #1d2939; border-radius: .65rem; box-shadow: 0 .75rem 1.8rem rgba(16,24,40,.26); padding: .85rem 1rem; pointer-events: auto; animation: cp-notify-entra .18s ease-out; }
.cp-notify-toast.cp-notify-success, .cp-notify-banner.cp-notify-success { background: #12715b; }
.cp-notify-toast.cp-notify-error, .cp-notify-banner.cp-notify-error { background: #b42318; }
.cp-notify-toast.cp-notify-warning, .cp-notify-banner.cp-notify-warning { background: #a15c00; }
.cp-notify-toast.cp-notify-info, .cp-notify-banner.cp-notify-info, .cp-notify-toast.cp-notify-question { background: #175cd3; }
.cp-notify-icono, .cp-notify-modal-icono { flex: 0 0 auto; width: 1.5rem; height: 1.5rem; display: inline-flex; align-items: center; justify-content: center; border: 2px solid currentColor; border-radius: 50%; font-weight: 800; line-height: 1; }
.cp-notify-cuerpo { min-width: 0; flex: 1; display: grid; gap: .18rem; font-size: .9rem; line-height: 1.35; }
.cp-notify-cuerpo strong { font-weight: 700; }
.cp-notify-cuerpo span { font-size: .82rem; opacity: .95; white-space: pre-line; }
.cp-notify-cerrar { border: 0; background: transparent; color: inherit; padding: 0; cursor: pointer; font-size: 1.45rem; line-height: 1; opacity: .85; }
.cp-notify-cerrar:hover, .cp-notify-cerrar:focus { opacity: 1; }
.cp-notify-saliendo { opacity: 0; transform: translateX(1rem); transition: opacity .16s ease, transform .16s ease; }
.cp-notify-banners { position: fixed; top: 0; left: 50%; transform: translateX(-50%); width: min(62rem, calc(100vw - 2rem)); display: grid; gap: .5rem; }
.cp-notify-banner { border-radius: 0 0 .65rem .65rem; justify-content: space-between; }
.cp-notify-modal-fondo { position: fixed; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(16,24,40,.64); padding: 1rem; pointer-events: auto; animation: cp-notify-fondo .16s ease-out; }
.cp-notify-modal { width: min(30rem, 100%); max-height: calc(100vh - 2rem); overflow: auto; background: #fff; color: #1d2939; border-radius: .8rem; box-shadow: 0 1.25rem 3rem rgba(16,24,40,.34); padding: 1.6rem; text-align: center; animation: cp-notify-modal-entra .18s ease-out; }
.cp-notify-modal-icono { width: 2.8rem; height: 2.8rem; margin: 0 auto .8rem; font-size: 1.35rem; color: #175cd3; }
.cp-notify-modal.cp-notify-success .cp-notify-modal-icono { color: #12715b; }
.cp-notify-modal.cp-notify-error .cp-notify-modal-icono { color: #b42318; }
.cp-notify-modal.cp-notify-warning .cp-notify-modal-icono { color: #a15c00; }
.cp-notify-modal h2 { margin: 0; font-size: 1.25rem; font-weight: 750; }
.cp-notify-modal-texto { margin: .75rem 0 0; color: #475467; line-height: 1.45; white-space: pre-line; }
.cp-notify-entrada { display: block; width: 100%; min-height: 2.5rem; box-sizing: border-box; margin-top: 1rem; padding: .65rem .75rem; border: 1px solid #98a2b3; border-radius: .45rem; color: #1d2939; font: inherit; resize: vertical; }
.cp-notify-entrada:focus { outline: 3px solid rgba(23,92,211,.22); border-color: #175cd3; }
.cp-notify-error-entrada { margin: .45rem 0 0; color: #b42318; font-size: .84rem; text-align: left; }
.cp-notify-acciones { display: flex; justify-content: center; gap: .65rem; margin-top: 1.35rem; }
.cp-notify-boton { min-width: 7.5rem; border: 0; border-radius: .45rem; padding: .65rem 1rem; cursor: pointer; font: inherit; font-weight: 700; }
.cp-notify-primario { color: #fff; background: #175cd3; }
.cp-notify-secundario { color: #344054; background: #eaecf0; }
.cp-notify-boton:focus { outline: 3px solid rgba(23,92,211,.28); outline-offset: 2px; }
.cp-notify-cargando .cp-notify-modal-icono { color: transparent; border-color: #175cd3; border-right-color: transparent; animation: cp-notify-gira .75s linear infinite; }
.cp-notify-modal-saliendo { opacity: 0; transition: opacity .15s ease; }
@keyframes cp-notify-entra { from { opacity: 0; transform: translateY(-.5rem); } to { opacity: 1; transform: translateY(0); } }
@keyframes cp-notify-fondo { from { opacity: 0; } to { opacity: 1; } }
@keyframes cp-notify-modal-entra { from { opacity: 0; transform: scale(.97); } to { opacity: 1; transform: scale(1); } }
@keyframes cp-notify-gira { to { transform: rotate(360deg); } }
@media (max-width: 575px) { .cp-notify-toasts { top: .75rem; right: .75rem; width: calc(100vw - 1.5rem); } .cp-notify-modal { padding: 1.25rem; } }
