.fcbf-toast-stack{
    position:fixed;
    top:20px;
    right:20px;
    z-index:99999;
    display:grid;
    gap:12px;
    width:min(360px, calc(100vw - 24px));
}

.fcbf-toast{
    position:relative;
    overflow:hidden;
    display:grid;
    grid-template-columns:48px minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
    padding:14px 14px 14px 12px;
    border-radius:18px;
    border:1px solid rgba(255,255,255,.10);
    background:
        radial-gradient(circle at top right, rgba(255,255,255,.05), transparent 30%),
        linear-gradient(180deg, rgba(7,18,35,.98), rgba(6,14,28,.98));
    box-shadow:0 18px 40px rgba(0,0,0,.35);
    color:#fff;
    transform:translateY(-8px);
    opacity:0;
    transition:opacity .18s ease, transform .18s ease;
}

.fcbf-toast.is-visible{
    opacity:1;
    transform:translateY(0);
}

.fcbf-toast::before{
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    width:4px;
    background:#60a5fa;
}

.fcbf-toast--success::before{background:#22c55e}
.fcbf-toast--error::before{background:#ef4444}
.fcbf-toast--warning::before{background:#f59e0b}
.fcbf-toast--info::before{background:#38bdf8}

.fcbf-toast__icon{
    width:48px;
    height:48px;
    border-radius:14px;
    display:grid;
    place-items:center;
    font-size:22px;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.08);
}

.fcbf-toast--success .fcbf-toast__icon{background:rgba(34,197,94,.14)}
.fcbf-toast--error .fcbf-toast__icon{background:rgba(239,68,68,.14)}
.fcbf-toast--warning .fcbf-toast__icon{background:rgba(245,158,11,.14)}
.fcbf-toast--info .fcbf-toast__icon{background:rgba(56,189,248,.14)}

.fcbf-toast__body{
    display:grid;
    gap:4px;
}

.fcbf-toast__title{
    margin:0;
    font-size:15px;
    line-height:1.2;
    font-weight:900;
    color:#fff;
}

.fcbf-toast__message{
    margin:0;
    color:#d3e4ff;
    font-size:13px;
    line-height:1.45;
}

.fcbf-toast__close{
    border:0;
    background:transparent;
    color:#9fb6d8;
    font-size:20px;
    line-height:1;
    cursor:pointer;
    padding:4px;
}

.fcbf-dialog{
    position:fixed;
    inset:0;
    z-index:100000;
    display:none;
    align-items:center;
    justify-content:center;
    padding:18px;
    background:rgba(2,8,18,.66);
    backdrop-filter:blur(7px);
}

.fcbf-dialog.is-open{
    display:flex;
}

.fcbf-dialog__panel{
    width:min(560px, 100%);
    border-radius:24px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.10);
    background:
        radial-gradient(circle at top right, rgba(255,204,77,.14), transparent 30%),
        radial-gradient(circle at bottom left, rgba(34,197,94,.10), transparent 28%),
        linear-gradient(180deg, rgba(7,18,35,.99), rgba(6,14,28,.99));
    box-shadow:0 26px 60px rgba(0,0,0,.48);
}

.fcbf-dialog__head{
    display:flex;
    align-items:flex-start;
    gap:14px;
    padding:22px 22px 14px;
    border-bottom:1px solid rgba(255,255,255,.06);
}

.fcbf-dialog__badge{
    width:54px;
    height:54px;
    border-radius:18px;
    display:grid;
    place-items:center;
    font-size:24px;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.08);
    flex:0 0 auto;
}

.fcbf-dialog__title{
    margin:0 0 6px;
    color:#fff;
    font-size:26px;
    line-height:1.05;
    font-weight:900;
}

.fcbf-dialog__subtitle{
    margin:0;
    color:#bcd1ef;
    font-size:14px;
    line-height:1.5;
}

.fcbf-dialog__body{
    padding:18px 22px 22px;
    color:#e7f0ff;
    font-size:15px;
    line-height:1.6;
}

.fcbf-dialog__actions{
    display:flex;
    justify-content:flex-end;
    gap:10px;
    flex-wrap:wrap;
    padding:0 22px 22px;
}

.fcbf-dialog__button{
    min-height:46px;
    padding:12px 18px;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.10);
    cursor:pointer;
    font-weight:900;
    font-size:14px;
}

.fcbf-dialog__button--cancel{
    background:#13233d;
    color:#dce9ff;
}

.fcbf-dialog__button--confirm{
    background:linear-gradient(135deg, #22c55e, #16a34a);
    color:#041109;
    border:0;
}

.fcbf-dialog--danger .fcbf-dialog__button--confirm{
    background:linear-gradient(135deg, #ef4444, #b91c1c);
    color:#fff;
}

.fcbf-dialog--warning .fcbf-dialog__button--confirm{
    background:linear-gradient(135deg, #f59e0b, #d97706);
    color:#201000;
}

.fcbf-dialog--info .fcbf-dialog__button--confirm{
    background:linear-gradient(135deg, #38bdf8, #2563eb);
    color:#fff;
}

@media (max-width: 640px){
    .fcbf-toast-stack{
        left:12px;
        right:12px;
        top:12px;
        width:auto;
    }

    .fcbf-toast{
        grid-template-columns:42px minmax(0,1fr) auto;
        padding:12px;
    }

    .fcbf-toast__icon{
        width:42px;
        height:42px;
        font-size:20px;
    }

    .fcbf-dialog__head,
    .fcbf-dialog__body,
    .fcbf-dialog__actions{
        padding-left:16px;
        padding-right:16px;
    }

    .fcbf-dialog__title{
        font-size:22px;
    }

    .fcbf-dialog__actions{
        justify-content:stretch;
    }

    .fcbf-dialog__button{
        width:100%;
    }
}
