.ec-toast-region{position:fixed;top:92px;right:22px;z-index:12000;display:flex;flex-direction:column;gap:12px;width:min(390px,calc(100vw - 32px));pointer-events:none}.ec-toast{pointer-events:auto;display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:start;background:#fff;border:1px solid #e7e9f2;border-left:5px solid #2a2185;border-radius:14px;box-shadow:0 14px 38px rgba(25,30,55,.18);padding:14px 14px 14px 12px;animation:ecToastIn .25s ease}.ec-toast.success{border-left-color:#16a34a}.ec-toast.error{border-left-color:#dc2626}.ec-toast.warning{border-left-color:#f59e0b}.ec-toast.info{border-left-color:#2563eb}.ec-toast-icon{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;background:#eef2ff;color:#2a2185}.ec-toast.success .ec-toast-icon{background:#ecfdf3;color:#15803d}.ec-toast.error .ec-toast-icon{background:#fef2f2;color:#dc2626}.ec-toast.warning .ec-toast-icon{background:#fff7ed;color:#d97706}.ec-toast.info .ec-toast-icon{background:#eff6ff;color:#2563eb}.ec-toast-copy h3{margin:1px 0 4px;font-size:15px;line-height:1.3;color:#17172c}.ec-toast-copy p{margin:0;font-size:13.5px;line-height:1.45;color:#606477}.ec-toast-close{border:0;background:transparent;color:#7b8092;font-size:20px;padding:2px;cursor:pointer}.ec-toast.is-leaving{animation:ecToastOut .2s ease forwards}.ec-confirm-overlay{
    position:fixed !important;
    top:0 !important;
    right:0 !important;
    bottom:0 !important;
    left:0 !important;
    z-index:12500;
    display:flex;
    align-items:center;
    justify-content:center;
    width:100vw !important;
    height:100vh !important;
    height:100dvh !important;
    margin:0 !important;
    padding:24px;
    overflow:auto;
    box-sizing:border-box;
    background:rgba(15,20,42,.58);
    -webkit-backdrop-filter:blur(6px);
    backdrop-filter:blur(6px);
}

.ec-confirm-overlay[hidden]{display:none}

.ec-confirm-modal{
    position:relative;
    width:min(460px,100%);
    max-height:calc(100vh - 48px);
    max-height:calc(100dvh - 48px);
    margin:0;
    flex:0 0 auto;
    overflow:auto;
    box-sizing:border-box;
    background:linear-gradient(180deg,#ffffff 0%,#fbfbfe 100%);
    border:1px solid rgba(42,33,133,.12);
    border-radius:22px;
    box-shadow:0 30px 80px rgba(10,15,35,.28),0 8px 24px rgba(42,33,133,.10);
    padding:32px 30px 28px;
    text-align:center;
    isolation:isolate;
    animation:ecModalIn .22s cubic-bezier(.2,.8,.2,1);
}

.ec-confirm-modal::before{
    content:"";
    position:absolute;
    top:0;
    left:26px;
    right:26px;
    height:4px;
    border-radius:0 0 999px 999px;
    background:linear-gradient(90deg,#2a2185,#5b4fd6);
}

.ec-confirm-modal[data-type="approve"]::before{background:linear-gradient(90deg,#15803d,#22c55e)}
.ec-confirm-modal[data-type="reject"]::before,
.ec-confirm-modal[data-type="deactivate"]::before{background:linear-gradient(90deg,#b91c1c,#ef4444)}

.ec-confirm-close{
    position:absolute;
    top:14px;
    right:14px;
    width:36px;
    height:36px;
    min-width:36px;
    min-height:36px;
    padding:0;
    border:1px solid #e6e8f0;
    border-radius:50%;
    background:#f7f8fb;
    color:#666b7d;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:20px;
    line-height:1;
    cursor:pointer;
    transition:background .18s ease,color .18s ease,transform .18s ease,border-color .18s ease;
}

.ec-confirm-close:hover{background:#eef0f6;color:#24283a;border-color:#d9dce7;transform:rotate(3deg)}
.ec-confirm-close:focus-visible{outline:3px solid rgba(42,33,133,.18);outline-offset:2px}

.ec-confirm-icon{
    width:66px;
    height:66px;
    margin:4px auto 18px;
    border-radius:20px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:34px;
    background:linear-gradient(145deg,#f0efff,#e7e4ff);
    color:#2a2185;
    box-shadow:inset 0 0 0 1px rgba(42,33,133,.08),0 9px 22px rgba(42,33,133,.10);
}

.ec-confirm-modal[data-type="approve"] .ec-confirm-icon{
    background:linear-gradient(145deg,#ecfdf3,#dcfce7);
    color:#15803d;
    box-shadow:inset 0 0 0 1px rgba(21,128,61,.08),0 9px 22px rgba(21,128,61,.09);
}

.ec-confirm-modal[data-type="reject"] .ec-confirm-icon,
.ec-confirm-modal[data-type="deactivate"] .ec-confirm-icon{
    background:linear-gradient(145deg,#fff1f2,#fee2e2);
    color:#dc2626;
    box-shadow:inset 0 0 0 1px rgba(220,38,38,.08),0 9px 22px rgba(220,38,38,.09);
}

.ec-confirm-modal h2{
    margin:0 38px 10px;
    color:#1b1f32;
    font-size:22px;
    line-height:1.3;
    font-weight:750;
    letter-spacing:-.2px;
}

.ec-confirm-modal p{
    margin:0 auto 26px;
    max-width:370px;
    color:#64697b;
    font-size:14.5px;
    line-height:1.65;
}

.ec-confirm-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    width:100%;
    padding-top:18px;
    border-top:1px solid #eceef4;
}

.ec-confirm-actions button{
    width:100%;
    min-width:0;
    min-height:44px;
    padding:10px 16px;
    border-radius:11px;
    font-weight:700;
    font-size:14px;
    line-height:1.2;
    cursor:pointer;
    transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease;
}

.ec-confirm-actions button:hover{transform:translateY(-1px)}
.ec-confirm-actions button:active{transform:translateY(0)}
.ec-confirm-actions button:focus-visible{outline:3px solid rgba(42,33,133,.18);outline-offset:2px}

.ec-confirm-cancel{
    background:#fff;
    color:#42475a;
    border:1px solid #dfe2ea;
    box-shadow:0 2px 6px rgba(20,25,45,.04);
}
.ec-confirm-cancel:hover{background:#f7f8fb;border-color:#d2d6e1}

.ec-confirm-submit{
    background:linear-gradient(135deg,#2a2185,#4b3fc2);
    color:#fff;
    border:1px solid #2a2185;
    box-shadow:0 8px 18px rgba(42,33,133,.18);
}
.ec-confirm-submit:hover{box-shadow:0 10px 22px rgba(42,33,133,.24)}

.ec-confirm-modal[data-type="approve"] .ec-confirm-submit{
    background:linear-gradient(135deg,#15803d,#22a653);
    border-color:#15803d;
    box-shadow:0 8px 18px rgba(21,128,61,.18);
}
.ec-confirm-modal[data-type="approve"] .ec-confirm-submit:hover{box-shadow:0 10px 22px rgba(21,128,61,.24)}

.ec-confirm-modal[data-type="reject"] .ec-confirm-submit,
.ec-confirm-modal[data-type="deactivate"] .ec-confirm-submit{
    background:linear-gradient(135deg,#b91c1c,#dc2626);
    border-color:#b91c1c;
    box-shadow:0 8px 18px rgba(185,28,28,.18);
}
.ec-confirm-modal[data-type="reject"] .ec-confirm-submit:hover,
.ec-confirm-modal[data-type="deactivate"] .ec-confirm-submit:hover{box-shadow:0 10px 22px rgba(185,28,28,.24)}

@keyframes ecToastIn{from{opacity:0;transform:translateY(-8px) translateX(10px)}to{opacity:1;transform:none}}
@keyframes ecToastOut{to{opacity:0;transform:translateX(18px)}}
@keyframes ecModalIn{from{opacity:0;transform:scale(.96) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}

@media(max-width:768px){
    .ec-toast-region{top:78px;right:16px;left:16px;width:auto}
    .ec-confirm-overlay{padding:20px}
    .ec-confirm-modal{
        width:min(430px,100%);
        max-height:calc(100vh - 40px);
        max-height:calc(100dvh - 40px);
        padding:30px 24px 24px;
        border-radius:20px;
    }
    .ec-confirm-icon{width:62px;height:62px;font-size:31px;border-radius:18px}
    .ec-confirm-modal h2{font-size:21px}
}

@media(max-width:480px){
    .ec-toast{grid-template-columns:36px 1fr auto;padding:12px 10px}
    .ec-toast-icon{width:34px;height:34px;font-size:19px}
    .ec-confirm-overlay{padding:14px}
    .ec-confirm-modal{
        width:100%;
        max-height:calc(100vh - 28px);
        max-height:calc(100dvh - 28px);
        padding:28px 18px 18px;
        border-radius:18px;
    }
    .ec-confirm-modal::before{left:20px;right:20px}
    .ec-confirm-close{top:12px;right:12px;width:34px;height:34px;min-width:34px;min-height:34px}
    .ec-confirm-icon{width:58px;height:58px;margin-bottom:16px;font-size:29px;border-radius:17px}
    .ec-confirm-modal h2{margin:0 32px 9px;font-size:19px}
    .ec-confirm-modal p{margin-bottom:22px;font-size:14px;line-height:1.6}
    .ec-confirm-actions{grid-template-columns:1fr;gap:9px;padding-top:15px}
    .ec-confirm-submit{grid-row:1}
    .ec-confirm-cancel{grid-row:2}
    .ec-confirm-actions button{min-height:43px;font-size:13.5px}
}

@media(prefers-reduced-motion:reduce){
    .ec-toast,.ec-toast.is-leaving,.ec-confirm-modal{animation:none}
    .ec-confirm-actions button,.ec-confirm-close{transition:none}
}
