.aa-ma-modal,
.aa-ma-modal *{box-sizing:border-box}

.aa-ma-modal{
    position:fixed;
    inset:0;
    z-index:2147483646;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:18px;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .18s ease,visibility .18s ease;
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}

.aa-ma-modal.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}

.aa-ma-modal__backdrop{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    margin:0;
    padding:0;
    border:0;
    border-radius:0;
    background:rgba(15,23,42,.56);
    cursor:default;
}

.aa-ma-modal__dialog{
    position:relative;
    width:min(520px,100%);
    max-height:calc(100vh - 36px);
    overflow:auto;
    padding:26px;
    border:1px solid #dfe3e8;
    border-radius:22px;
    background:#fff;
    color:#222;
    box-shadow:0 28px 70px rgba(15,23,42,.28);
}

.aa-ma-modal__dialog h2{
    margin:0 42px 8px 0;
    padding:0;
    color:#222;
    font-size:24px;
    line-height:1.2;
    font-weight:750;
    text-transform:none;
}

.aa-ma-modal__subtitle{
    margin:0 0 20px;
    color:#59616d;
    font-size:14px;
    line-height:1.5;
}

.aa-ma-modal__close{
    position:absolute;
    top:14px;
    right:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    width:36px;
    height:36px;
    margin:0;
    padding:0;
    border:1px solid #dde1e6;
    border-radius:50%;
    background:#f4f5f7;
    color:#333;
    font-size:24px;
    line-height:1;
    cursor:pointer;
}

.aa-ma-modal__field{
    display:block;
    margin:0 0 14px;
}

.aa-ma-modal__field>span{
    display:block;
    margin:0 0 6px;
    color:#30343a;
    font-size:13px;
    font-weight:700;
}

.aa-ma-modal__field input,
.aa-ma-modal__field textarea{
    display:block;
    width:100%;
    min-height:44px;
    margin:0;
    padding:10px 12px;
    border:1px solid #cfd5dc;
    border-radius:11px;
    background:#fff;
    color:#222;
    box-shadow:none;
    font:inherit;
    font-size:16px;
    line-height:1.4;
    resize:vertical;
}

.aa-ma-modal__field input:focus,
.aa-ma-modal__field textarea:focus{
    outline:2px solid rgba(31,165,74,.22);
    border-color:#1fa54a;
}

.aa-ma-modal__status{
    min-height:22px;
    margin:4px 0 8px;
    color:#8a2630;
    font-size:13px;
    line-height:1.4;
}

.aa-ma-modal__actions{
    display:flex;
    justify-content:flex-end;
    gap:10px;
    margin-top:8px;
}

.aa-ma-modal__cancel,
.aa-ma-modal__submit{
    min-height:42px;
    margin:0;
    padding:10px 16px;
    border:0;
    border-radius:12px;
    font:inherit;
    font-size:14px;
    font-weight:750;
    line-height:1.15;
    cursor:pointer;
}

.aa-ma-modal__cancel{
    background:#eef0f3;
    color:#30343a;
}

.aa-ma-modal__submit{
    background:#1fa54a;
    color:#fff;
}

.aa-ma-modal__submit:disabled{
    opacity:.62;
    cursor:wait;
}

html.aa-ma-modal-open,
html.aa-ma-modal-open body{
    overflow:hidden;
}

@media(max-width:560px){
    .aa-ma-modal{align-items:flex-end;padding:10px}
    .aa-ma-modal__dialog{width:100%;max-height:calc(100vh - 20px);padding:22px 18px 18px;border-radius:20px}
    .aa-ma-modal__dialog h2{font-size:21px}
    .aa-ma-modal__actions{flex-direction:column-reverse}
    .aa-ma-modal__cancel,.aa-ma-modal__submit{width:100%}
}
