:root{
    --bpmn-swal-primary:var(--bpmn-primary, #526a7a);
    --bpmn-swal-primary-dark:var(--bpmn-primary-dark, #354c5b);
    --bpmn-swal-accent:var(--bpmn-modal-accent, #9cc0d7);
    --bpmn-swal-surface:var(--bpmn-surface, #eef3f6);
    --bpmn-swal-panel:var(--bpmn-panel, #f8fafb);
    --bpmn-swal-border:var(--bpmn-border, #d5e0e6);
    --bpmn-swal-ink:var(--bpmn-ink, #24313a);
    --bpmn-swal-muted:var(--bpmn-muted, #6e7f89);
    --bpmn-swal-danger:#b5525b;
}

/* SweetAlert is the common notification surface across the editor and public viewer. */
.swal2-container{
    z-index:2100;
    font-family:Rubik, Arial, sans-serif;
}
.swal2-container.swal2-backdrop-show{
    background:rgba(36, 49, 58, 0.48);
}
.swal2-popup{
    color:var(--bpmn-swal-ink);
    font-family:Rubik, Arial, sans-serif;
}
.swal2-popup:not(.swal2-toast){
    width:min(440px, calc(100vw - 32px));
    padding:0 0 18px;
    overflow:hidden;
    border:1px solid var(--bpmn-swal-border);
    border-radius:7px;
    background:#ffffff;
    box-shadow:0 24px 70px rgba(36, 49, 58, 0.24), 0 4px 16px rgba(36, 49, 58, 0.12);
    font-size:14px;
}
.swal2-popup:not(.swal2-toast)::before{
    display:block;
    width:100%;
    height:7px;
    grid-column:1 / -1;
    background:linear-gradient(90deg, var(--bpmn-swal-primary-dark), var(--bpmn-swal-primary) 62%, var(--bpmn-swal-accent));
    content:"";
}
.swal2-popup:not(.swal2-toast) .swal2-title{
    padding:14px 22px 0;
    color:var(--bpmn-swal-ink);
    font-size:17px;
    font-weight:500;
    letter-spacing:0.01em;
}
.swal2-popup:not(.swal2-toast) .swal2-html-container{
    margin:10px 22px 0;
    color:var(--bpmn-swal-muted);
    font-size:14px;
    line-height:1.55;
}
.swal2-popup:not(.swal2-toast) .swal2-icon{
    width:4em;
    height:4em;
    margin:18px auto 2px;
}
.swal2-popup:not(.swal2-toast) .swal2-actions{
    gap:8px;
    margin:18px 22px 0;
}
.swal2-popup .swal2-input,
.swal2-popup .swal2-select,
.swal2-popup .swal2-textarea{
    border:1px solid var(--bpmn-swal-border);
    border-radius:6px;
    color:var(--bpmn-swal-ink);
    font:400 14px Rubik, Arial, sans-serif;
    box-shadow:none;
}
.swal2-popup .swal2-input:focus,
.swal2-popup .swal2-select:focus,
.swal2-popup .swal2-textarea:focus{
    border-color:var(--bpmn-swal-accent);
    box-shadow:0 0 0 0.2rem rgba(156, 192, 215, 0.28);
}
.swal2-popup .swal2-validation-message{
    margin:12px 22px 0;
    border-radius:6px;
    background:#f7eeee;
    color:#7f343b;
    font-size:13px;
}
.swal2-popup .swal2-actions button{
    min-height:36px;
    margin:0;
    padding:7px 14px;
    border:1px solid transparent;
    border-radius:6px;
    font:500 14px Rubik, Arial, sans-serif;
    box-shadow:none;
    transition:background-color 120ms ease, border-color 120ms ease, color 120ms ease, box-shadow 120ms ease;
}
.swal2-popup .swal2-actions .swal2-confirm{
    border-color:var(--bpmn-swal-primary);
    background:var(--bpmn-swal-primary);
    color:#ffffff;
}
.swal2-popup .swal2-actions .swal2-confirm:hover{
    border-color:var(--bpmn-swal-primary-dark);
    background:var(--bpmn-swal-primary-dark);
}
.swal2-popup .swal2-actions .swal2-cancel{
    border-color:var(--bpmn-swal-border);
    background:var(--bpmn-swal-surface);
    color:var(--bpmn-swal-ink);
}
.swal2-popup .swal2-actions .swal2-cancel:hover{
    border-color:var(--bpmn-swal-accent);
    background:#ffffff;
    color:var(--bpmn-swal-primary-dark);
}
.swal2-popup .swal2-actions .swal2-deny{
    border-color:var(--bpmn-swal-danger);
    background:var(--bpmn-swal-danger);
    color:#ffffff;
}
.swal2-popup .swal2-actions .bpmn-swal-danger-action{
    border-color:var(--bpmn-swal-danger);
    background:var(--bpmn-swal-danger);
    color:#ffffff;
}
.swal2-popup .swal2-actions .bpmn-swal-danger-action:hover{
    border-color:#8f3f47;
    background:#8f3f47;
}
.swal2-popup .swal2-actions button:focus{
    box-shadow:0 0 0 0.2rem rgba(156, 192, 215, 0.34);
}
.swal2-popup .swal2-close{
    color:var(--bpmn-swal-muted);
}
.swal2-popup .swal2-close:hover,
.swal2-popup .swal2-close:focus{
    color:var(--bpmn-swal-primary-dark);
}

.swal2-popup.swal2-toast{
    width:min(390px, calc(100vw - 24px));
    padding:11px 13px;
    border:1px solid var(--bpmn-swal-border);
    border-left:4px solid var(--bpmn-swal-accent);
    border-radius:7px;
    background:#ffffff;
    color:var(--bpmn-swal-ink);
    box-shadow:0 14px 34px rgba(36, 49, 58, 0.18), 0 3px 10px rgba(36, 49, 58, 0.10);
}
.swal2-popup.swal2-toast:has(.swal2-error){
    border-left-color:var(--bpmn-swal-danger);
}
.swal2-popup.swal2-toast:has(.swal2-success){
    border-left-color:var(--bpmn-swal-primary);
}
.swal2-popup.swal2-toast:has(.swal2-warning){
    border-left-color:#9b7b39;
}
.swal2-popup.swal2-toast .swal2-icon{
    width:1.75em;
    min-width:1.75em;
    height:1.75em;
    margin:0 9px 0 0;
}
.swal2-popup.swal2-toast .swal2-title{
    margin:0;
    padding:0;
    color:var(--bpmn-swal-ink);
    font-size:14px;
    font-weight:500;
    line-height:1.4;
}
.swal2-popup.swal2-toast .swal2-html-container{
    margin:2px 0 0;
    padding:0;
    color:var(--bpmn-swal-muted);
    font-size:13px;
    line-height:1.4;
}
.swal2-popup.swal2-toast .swal2-timer-progress-bar{
    background:var(--bpmn-swal-accent);
}

@media (max-width:575px){
    .swal2-container.swal2-top-start,
    .swal2-container.swal2-top-end{
        padding:8px;
    }
    .swal2-popup:not(.swal2-toast) .swal2-title{
        padding-right:16px;
        padding-left:16px;
    }
    .swal2-popup:not(.swal2-toast) .swal2-html-container,
    .swal2-popup:not(.swal2-toast) .swal2-actions{
        margin-right:16px;
        margin-left:16px;
    }
}
