:root {
    --adasi-alert-primary: var(--md-primary, #1f5fa6);
    --adasi-alert-on-primary: var(--md-on-primary, #ffffff);
    --adasi-alert-primary-hover: #174a85;
    --adasi-alert-primary-container: var(--md-primary-container, #b9e3ff);
    --adasi-alert-on-primary-container: var(--md-on-primary-container, #001e59);
    --adasi-alert-danger: var(--md-error, #b12b21);
    --adasi-alert-on-danger: var(--md-on-error, #ffffff);
    --adasi-alert-danger-hover: #8f211b;
    --adasi-alert-danger-container: var(--md-error-container, #ffb79b);
    --adasi-alert-on-danger-container: var(--md-on-error-container, #590000);
    --adasi-alert-success: var(--md-success, #198754);
    --adasi-alert-on-success: var(--md-on-success, #ffffff);
    --adasi-alert-success-hover: #146c43;
    --adasi-alert-success-container: var(--md-success-container, #e1f3ea);
    --adasi-alert-on-success-container: var(--md-on-success-container, #14532d);
    --adasi-alert-warning: var(--md-warning, #b7791f);
    --adasi-alert-warning-container: var(--md-warning-container, #fbf0dd);
    --adasi-alert-on-warning-container: var(--md-on-warning-container, #5f3d08);
    --adasi-alert-info: var(--md-info, #1f5fa6);
    --adasi-alert-surface: var(--md-surface, #ffffff);
    --adasi-alert-surface-container: var(--md-surface-container, #f1f5f9);
    --adasi-alert-surface-container-high: var(--md-surface-container-high, #e9edf2);
    --adasi-alert-text: var(--md-on-surface, #1e293b);
    --adasi-alert-muted: var(--md-on-surface-variant, #607085);
    --adasi-alert-outline: var(--md-outline, #cbd5e1);
    --adasi-alert-border: var(--md-outline-variant, #e2e8f0);
    --adasi-alert-focus: rgba(var(--md-primary-rgb, 31, 95, 166), 0.24);
    --adasi-alert-shape-sm: var(--md-shape-sm, 0.5rem);
    --adasi-alert-shape-md: var(--md-shape-md, 0.75rem);
    --adasi-alert-shape-lg: var(--md-shape-lg, 1rem);
    --adasi-alert-elevation-3: var(--md-elevation-3, 0 18px 45px rgba(15, 23, 42, 0.16));
}

.swal2-container.adasi-alert-container {
    background: rgba(15, 23, 42, 0.48);
    backdrop-filter: blur(2px);
    padding: 1rem;
}

.swal2-popup.adasi-alert-popup {
    background: var(--adasi-alert-surface);
    border: 1px solid var(--adasi-alert-border);
    border-radius: var(--adasi-alert-shape-lg);
    box-shadow: var(--adasi-alert-elevation-3);
    color: var(--adasi-alert-text);
    font-family: 'Inter', sans-serif;
    max-width: calc(100vw - 2rem);
    padding: 1.75rem;
    width: 27.5rem;
}

.swal2-title.adasi-alert-title {
    color: var(--adasi-alert-text);
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.35;
    padding: 0;
}

.swal2-html-container.adasi-alert-content {
    color: var(--adasi-alert-muted);
    font-size: 0.925rem;
    line-height: 1.6;
    margin: 0.65rem 0 0;
    overflow-wrap: anywhere;
}

.swal2-icon.adasi-alert-icon {
    align-items: center;
    background: var(--adasi-alert-primary-container);
    border: 0;
    display: flex;
    height: 3.5rem;
    justify-content: center;
    margin: 0 auto 1.15rem;
    width: 3.5rem;
}

.adasi-alert-icon .adasi-alert-icon-glyph {
    font-size: 1.65rem;
    line-height: 1;
}

.swal2-icon.adasi-alert-icon.swal2-success {
    background: var(--adasi-alert-success-container);
    color: var(--adasi-alert-on-success-container);
}

.swal2-icon.adasi-alert-icon.swal2-error {
    background: var(--adasi-alert-danger-container);
    color: var(--adasi-alert-on-danger-container);
}

.swal2-icon.adasi-alert-icon.swal2-warning {
    background: var(--adasi-alert-warning-container);
    color: var(--adasi-alert-on-warning-container);
}

.swal2-icon.adasi-alert-icon.swal2-info,
.swal2-icon.adasi-alert-icon.swal2-question {
    background: var(--adasi-alert-primary-container);
    color: var(--adasi-alert-on-primary-container);
}

.adasi-alert-icon .swal2-success-ring,
.adasi-alert-icon .swal2-success-fix,
.adasi-alert-icon .swal2-success-circular-line-left,
.adasi-alert-icon .swal2-success-circular-line-right,
.adasi-alert-icon .swal2-success-line-tip,
.adasi-alert-icon .swal2-success-line-long,
.adasi-alert-icon .swal2-x-mark {
    display: none;
}

.adasi-alert-icon .adasi-alert-icon-glyph {
    display: inline-block;
}

.swal2-actions.adasi-alert-actions {
    gap: 0.65rem;
    margin: 1.5rem 0 0;
    width: 100%;
}

.adasi-alert-btn {
    align-items: center;
    border: 1px solid transparent;
    border-radius: var(--adasi-alert-shape-sm);
    display: inline-flex;
    font-size: 0.9rem;
    font-weight: 600;
    justify-content: center;
    margin: 0;
    min-height: 2.75rem;
    min-width: 7rem;
    padding: 0.65rem 1rem;
    transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.adasi-alert-btn:focus-visible,
.swal2-close.adasi-alert-close:focus-visible,
.swal2-input.adasi-alert-input:focus,
.swal2-textarea.adasi-alert-input:focus {
    box-shadow: 0 0 0 0.25rem var(--adasi-alert-focus) !important;
    outline: 0;
}

.adasi-alert-btn:active {
    transform: translateY(1px);
}

.adasi-alert-btn--primary {
    background: var(--adasi-alert-primary);
    color: var(--adasi-alert-on-primary);
}

.adasi-alert-btn--primary:hover {
    background: var(--adasi-alert-primary-hover);
}

.adasi-alert-btn--success {
    background: var(--adasi-alert-success);
    color: var(--adasi-alert-on-success);
}

.adasi-alert-btn--success:hover {
    background: var(--adasi-alert-success-hover);
}

.adasi-alert-btn--danger {
    background: var(--adasi-alert-danger);
    color: var(--adasi-alert-on-danger);
}

.adasi-alert-btn--danger:hover {
    background: var(--adasi-alert-danger-hover);
}

.adasi-alert-btn--secondary {
    background: var(--adasi-alert-surface);
    border-color: var(--adasi-alert-outline);
    color: var(--adasi-alert-text);
}

.adasi-alert-btn--secondary:hover {
    background: var(--adasi-alert-surface-container-high);
    border-color: var(--adasi-alert-outline);
}

.swal2-input.adasi-alert-input,
.swal2-textarea.adasi-alert-input {
    border: 1px solid var(--adasi-alert-outline);
    border-radius: var(--adasi-alert-shape-sm);
    box-shadow: none;
    color: var(--adasi-alert-text);
    font-family: 'Inter', sans-serif;
    font-size: 0.925rem;
    margin: 1rem 0 0;
    width: 100%;
}

.swal2-textarea.adasi-alert-input {
    min-height: 7rem;
    resize: vertical;
}

.swal2-validation-message.adasi-alert-validation {
    background: var(--adasi-alert-danger-container);
    border-radius: var(--adasi-alert-shape-sm);
    color: var(--adasi-alert-on-danger-container);
    font-size: 0.825rem;
    margin-top: 0.75rem;
}

.swal2-close.adasi-alert-close {
    border-radius: 50%;
    color: var(--adasi-alert-muted);
    height: 2.75rem;
    width: 2.75rem;
}

.adasi-alert-show {
    animation: adasiAlertIn 200ms cubic-bezier(0.16, 1, 0.3, 1) both;
}

.adasi-alert-hide {
    animation: adasiAlertOut 160ms ease both;
}

@keyframes adasiAlertIn {
    from {
        opacity: 0;
        transform: translateY(0.75rem) scale(0.98);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes adasiAlertOut {
    to {
        opacity: 0;
        transform: translateY(0.35rem) scale(0.985);
    }
}

@media (max-width: 575.98px) {
    .swal2-popup.adasi-alert-popup {
        border-radius: 0.875rem;
        padding: 1.35rem;
    }

    .adasi-alert-actions {
        flex-direction: column-reverse;
    }

    .adasi-alert-btn {
        width: 100%;
    }

    .swal2-container.swal2-top-end {
        align-items: center;
        justify-content: flex-start;
    }
}

@media (prefers-reduced-motion: reduce) {
    .adasi-alert-show,
    .adasi-alert-hide {
        animation: none;
    }

    .adasi-alert-btn {
        transition: none;
    }
}
