/* =========================================================
   TRAZION MENSAJES V1
   Mensajes suaves + SweetAlert corporativo
   ========================================================= */

/* Base de mensajes dentro de las páginas */
.alert:not(.note-editor *):not(.swal2-container *),
.callout:not(.note-editor *) {
    position: relative;
    padding: 14px 17px !important;
    border: 0 !important;
    border-left: 4px solid #64748b !important;
    border-radius: 9px !important;
    background: #f8fafc !important;
    color: #344054 !important;
    line-height: 1.45;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06) !important;
}

.alert:not(.note-editor *) i,
.callout:not(.note-editor *) i {
    margin-right: 7px;
}

/* Información */
.alert-info:not(.note-editor *),
.callout-info:not(.note-editor *) {
    border-left-color: #2563eb !important;
    background: #eff6ff !important;
    color: #1e3a5f !important;
}

/* Éxito */
.alert-success:not(.note-editor *),
.callout-success:not(.note-editor *) {
    border-left-color: #16a34a !important;
    background: #f0fdf4 !important;
    color: #14532d !important;
}

/* Advertencia real */
.alert-warning:not(.note-editor *),
.callout-warning:not(.note-editor *) {
    border-left-color: #d99a00 !important;
    background: #fffbeb !important;
    color: #713f12 !important;
}

/* Error o bloqueo */
.alert-danger:not(.note-editor *),
.callout-danger:not(.note-editor *) {
    border-left-color: #ef3340 !important;
    background: #fff1f2 !important;
    color: #881337 !important;
}

/* Mensajes neutrales y de ayuda */
.alert-light:not(.note-editor *),
.alert-secondary:not(.note-editor *) {
    border-left-color: #64748b !important;
    background: #f8fafc !important;
    color: #475569 !important;
}

/* Botón cerrar */
.alert .close {
    color: currentColor !important;
    text-shadow: none;
    opacity: 0.65;
}

.alert .close:hover {
    opacity: 1;
}

/* SweetAlert: mismo lenguaje visual */
.swal2-container {
    z-index: 10060 !important;
}

.swal2-popup {
    width: min(430px, calc(100vw - 30px)) !important;
    padding: 28px 26px 23px !important;
    border: 0 !important;
    border-radius: 16px !important;
    box-shadow:
        0 28px 70px rgba(15, 23, 42, 0.28),
        0 10px 25px rgba(15, 23, 42, 0.16) !important;
}

.swal2-title {
    color: #172033 !important;
    font-size: 1.5rem !important;
    font-weight: 750 !important;
    line-height: 1.25 !important;
}

.swal2-content,
.swal2-html-container {
    color: #566176 !important;
    font-size: 0.98rem !important;
    line-height: 1.5 !important;
}

.swal2-actions {
    gap: 10px !important;
    margin-top: 21px !important;
}

.swal2-actions button {
    min-width: 108px;
    min-height: 42px;
    margin: 0 !important;
    padding: 10px 18px !important;
    border-radius: 8px !important;
    font-weight: 700 !important;
}

.swal2-confirm {
    border-color: #2563eb !important;
    background:
        linear-gradient(
            135deg,
            #0f172a 0%,
            #1d4ed8 100%
        ) !important;
    color: #ffffff !important;
    box-shadow: 0 7px 16px rgba(37, 99, 235, 0.24) !important;
}

.swal2-cancel {
    border: 1px solid #cbd5e1 !important;
    background: #ffffff !important;
    color: #344054 !important;
    box-shadow: none !important;
}

/* SweetAlert clásico */
.swal-modal {
    border-radius: 16px !important;
    box-shadow:
        0 28px 70px rgba(15, 23, 42, 0.28) !important;
}

.swal-button--confirm {
    border-radius: 8px !important;
    background:
        linear-gradient(
            135deg,
            #0f172a 0%,
            #1d4ed8 100%
        ) !important;
    font-weight: 700 !important;
}

.swal-button--cancel {
    border-radius: 8px !important;
    background: #ffffff !important;
    color: #344054 !important;
}

@media (max-width: 575.98px) {
    .alert:not(.note-editor *),
    .callout:not(.note-editor *) {
        padding: 13px 14px !important;
    }

    .swal2-popup {
        padding: 24px 19px 20px !important;
        border-radius: 13px !important;
    }
}