.oj-toast{

    position:fixed;

    top:30px;

    right:30px;

    min-width:320px;

    background:#111827;

    color:#fff;

    border-radius:14px;

    padding:18px 22px;

    display:flex;

    align-items:center;

    gap:14px;

    box-shadow:0 18px 45px rgba(0,0,0,.18);

    opacity:0;

    visibility:hidden;

    transform:translateY(-20px);

    transition:all .3s ease;

    z-index:999999;

}

.oj-toast.show{

    opacity:1;

    visibility:visible;

    transform:translateY(0);

}

.oj-toast-icon{

    font-size:22px;

    color:#22C55E;

}

.oj-toast.error .oj-toast-icon{

    color:#EF4444;

}

/* ==========================================
   Loading Overlay
========================================== */

#oj-loading{

    position:fixed;

    inset:0;

    background:rgba(15,23,42,.45);

    backdrop-filter:blur(4px);

    display:none;

    align-items:center;

    justify-content:center;

    z-index:9999999;

}

#oj-loading.show{

    display:flex;

}

.oj-loading-box{

    background:#fff;

    border-radius:18px;

    padding:35px;

    width:320px;

    text-align:center;

    box-shadow:0 25px 60px rgba(0,0,0,.18);

}

.oj-spinner{

    width:58px;

    height:58px;

    margin:0 auto 20px;

    border:5px solid #ECECEC;

    border-top:5px solid #FF6B00;

    border-radius:50%;

    animation:ojSpin .8s linear infinite;

}

@keyframes ojSpin{

    from{

        transform:rotate(0deg);

    }

    to{

        transform:rotate(360deg);

    }

}