/* =============================================================================
   Dialogos (SweetAlert2) con el aspecto del resto de la app: compactos, mismo azul de cabeceras (#344767),
   botones de esquina casi recta, en mayusculas y negrita (como «Volver» / «Guardar» de los formularios).
   Se activa con app-astra-dialogos.js (anade las clases astra-swal* a todos los dialogos).
   Paleta: azul #344767 · rojo #ff4d5f · verde #44c17a · gris #6e7c91 · ambar #e8a33d
   ============================================================================= */

.astra-swal.swal2-popup {
    font-family: 'Segoe UI', Arial, sans-serif;
    max-width: 94vw;
    padding: 1.15rem 1.25rem 1rem;
    border: 1px solid #d9e1ee;
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(33, 59, 99, .22);
}

/* Franja fina de color arriba segun el tipo de aviso (navegadores sin :has la ignoran) */
.astra-swal.swal2-popup:has(.swal2-icon.swal2-warning) { border-top: 3px solid #e8a33d; }
.astra-swal.swal2-popup:has(.swal2-icon.swal2-error)   { border-top: 3px solid #ff4d5f; }
.astra-swal.swal2-popup:has(.swal2-icon.swal2-success) { border-top: 3px solid #44c17a; }
.astra-swal.swal2-popup:has(.swal2-icon.swal2-question),
.astra-swal.swal2-popup:has(.swal2-icon.swal2-info)    { border-top: 3px solid #344767; }

/* Icono mas pequeno (en 11.x todo el icono esta dimensionado en em) y con los colores de la app */
.astra-swal .swal2-icon {
    font-size: .68em;
    margin: .15rem auto .6rem;
}
.astra-swal .swal2-icon.swal2-warning  { border-color: #f3cf9a; color: #e8a33d; }
.astra-swal .swal2-icon.swal2-error    { border-color: #ffb3bb; color: #ff4d5f; }
.astra-swal .swal2-icon.swal2-error [class^=swal2-x-mark-line] { background-color: #ff4d5f; }
.astra-swal .swal2-icon.swal2-question,
.astra-swal .swal2-icon.swal2-info     { border-color: #c3cde0; color: #344767; }
.astra-swal .swal2-icon.swal2-success  { border-color: #44c17a; color: #44c17a; }
.astra-swal .swal2-icon.swal2-success [class^=swal2-success-line] { background-color: #44c17a; }
.astra-swal .swal2-icon.swal2-success .swal2-success-ring { border-color: rgba(68, 193, 122, .3); }

.astra-swal .swal2-title {
    margin: 0 0 .3rem;
    padding: 0 .4rem;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: .2px;
    color: #2f456d;
}

.astra-swal .swal2-html-container {
    margin: .2rem .4rem 0;
    padding: 0;
    font-size: .86rem;
    line-height: 1.45;
    color: #5b6b82;
}
.astra-swal .swal2-html-container strong { color: #2f456d; }

.astra-swal .swal2-actions {
    margin: 1.1rem 0 0;
    gap: 10px;
}

.astra-swal .astra-swal-btn {
    min-width: 120px;
    height: 32px;
    margin: 0;
    padding: 0 16px;
    border: 0;
    border-radius: 2px;
    font-family: inherit;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .06rem;
    text-transform: uppercase;
    color: #ffffff;
    cursor: pointer;
    transition: filter .15s ease, box-shadow .15s ease;
}
.astra-swal .astra-swal-ok     { background: #344767; }
.astra-swal .astra-swal-deny   { background: #ff4d5f; }
.astra-swal .astra-swal-cancel { background: #6e7c91; }
/* Confirmar una accion destructiva: se anade la clase astra-swal-danger al boton de confirmar */
.astra-swal .astra-swal-ok.astra-swal-danger { background: #ff4d5f; }

.astra-swal .astra-swal-btn:hover { filter: brightness(1.12); }
.astra-swal .astra-swal-btn:focus { outline: 0; box-shadow: 0 0 0 3px rgba(52, 71, 103, .28); }
.astra-swal .astra-swal-deny:focus,
.astra-swal .astra-swal-ok.astra-swal-danger:focus { box-shadow: 0 0 0 3px rgba(255, 77, 95, .30); }

.astra-swal .swal2-loader { border-color: #344767 transparent #344767 transparent; }

/* =============================================================================
   Avisos emergentes (bootstrap-notify, $.notify; ver app-astra-avisos.js): tarjeta blanca con franja de color a la
   izquierda e icono, el mismo azul, bordes y sombra que los dialogos y los formularios.
   ============================================================================= */
.astra-toast {
    display: flex !important;   /* el plugin pone display:inline-block en linea */
    align-items: flex-start;
    gap: 10px;
    width: 340px;
    max-width: 92vw;
    padding: 10px 10px 10px 12px;
    background: #ffffff;
    border: 1px solid #d9e1ee;
    border-left: 4px solid #344767;
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(33, 59, 99, .22);
    font-family: 'Segoe UI', Arial, sans-serif;
    color: #3f4a5d;
}
.astra-toast-success { border-left-color: #44c17a; }
.astra-toast-danger  { border-left-color: #ff4d5f; }
.astra-toast-warning { border-left-color: #e8a33d; }
.astra-toast-info    { border-left-color: #344767; }

.astra-toast .astra-toast-i {
    flex: 0 0 auto;
    margin-top: 1px;
    font-size: 1rem;
    line-height: 1.3;
    color: #344767;
}
.astra-toast .astra-toast-i::before { content: "\f05a"; }                       /* info */
.astra-toast-success .astra-toast-i { color: #44c17a; }
.astra-toast-success .astra-toast-i::before { content: "\f058"; }               /* check */
.astra-toast-danger .astra-toast-i { color: #ff4d5f; }
.astra-toast-danger .astra-toast-i::before { content: "\f057"; }                /* x */
.astra-toast-warning .astra-toast-i { color: #e8a33d; }
.astra-toast-warning .astra-toast-i::before { content: "\f071"; }               /* triangulo */

.astra-toast .astra-toast-msg {
    flex: 1 1 auto;
    min-width: 0;
    font-size: .84rem;
    line-height: 1.4;
    color: #3f4a5d;
    word-break: break-word;
}
.astra-toast .astra-toast-close {
    position: static !important;   /* el plugin lo pone en absoluto: aqui va en la fila, a la derecha */
    z-index: auto !important;
    flex: 0 0 auto;
    margin: -2px 0 0;
    padding: 0 4px;
    border: 0;
    background: transparent;
    color: #8392ab;
    font-size: 1.15rem;
    line-height: 1.2;
    cursor: pointer;
}
.astra-toast .astra-toast-close:hover { color: #344767; }
