.swal2-container.login-session-container {
    padding: 24px 14px;
    background: rgba(7, 17, 34, 0.65) !important;
}
.swal2-popup.login-session-popup {
    width: 440px;
    max-width: 100%;
    padding: 32px 34px 20px;
    border: 1px solid #2c4669;
    border-radius: 21px;
    background: #072149;
    color: #fff;
    box-shadow: none;
    font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}
.login-session-popup .swal2-image.login-session-logo {
    display: block;
    width: 126px;
    height: 68px;
    object-fit: contain;
    margin: 0 auto 23px;
}
.login-session-popup .swal2-title.login-session-title {
    padding: 0;
    color: #fff;
    font-size: 27px;
    line-height: 1.2;
    font-weight: 600;
}
.login-session-status {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding-bottom: 26px;
    border-bottom: 1px solid #2c4669;
    color: #bdcce1;
    font-size: 11px;
    line-height: 16px;
    font-weight: 600;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}
.login-session-heading { display: block; max-width: 330px; margin: 26px auto 0; letter-spacing: -1px; }
.login-session-status svg, .login-session-footer svg {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.login-session-popup .swal2-html-container.login-session-content {
    margin: 14px 0 0;
    color: #dce7f7;
    font-size: 14px;
    line-height: 24px;
}
.login-session-content p { margin: 0 0 10px; }
.login-session-content p:last-child { margin-bottom: 0; }
.login-session-content .login-session-activity { color: #bdcce1; font-size: 12px; }
.login-session-popup .swal2-actions.login-session-actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
    margin: 28px 0 0;
}
.login-session-actions button {
    width: 100%;
    min-height: 46px;
    margin: 0;
    padding: 11px 14px;
    border: 1px solid #2c4669;
    border-radius: 9px;
    font: inherit;
    font-size: 14px;
    line-height: 22px;
    cursor: pointer;
}
/* SweetAlert define display:inline-block no botão; o conteúdo tem seu próprio alinhamento. */
.login-session-button-content {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    max-width: 100%;
    vertical-align: middle;
}
.login-session-actions button svg { width: 18px; height: 18px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.login-session-actions .login-session-confirm { background: #fff; color: #072149; border-color: #fff; font-weight: 600; }
.login-session-actions .login-session-confirm:hover { background: #e8eff9; }
.login-session-actions .login-session-cancel { background: transparent; color: #dce7f7; }
.login-session-actions .login-session-cancel:hover { background: #123059; }
.login-session-actions button:focus-visible { outline: 3px solid #bdcce1; outline-offset: 3px; }
.login-session-popup .swal2-footer.login-session-footer {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    margin: 26px 0 0;
    padding: 20px 0 0;
    border-top: 1px solid #2c4669;
    color: #dce7f7;
    font-size: 11px;
    line-height: 18px;
}
.login-session-footer svg { color: #bdcce1; }
@media (max-width: 380px) {
    .swal2-popup.login-session-popup { padding-right: 22px; padding-left: 22px; }
    .login-session-popup .swal2-title.login-session-title { font-size: 25px; }
}
@media (prefers-reduced-motion: reduce) {
    .login-session-popup { animation: none !important; }
}
