.dashboard-page{width:100%;min-width:0;}
.dashboard-page .service-grid{min-width:0;}

.dashboard-banner{
    position:relative;
    width:100%;
    aspect-ratio:16/9;
    margin-bottom:20px;
    overflow:hidden;
    border-radius:28px;
    border:1px solid var(--border-glass);
    background:#0a0d14;
    box-shadow:var(--shadow-main);
    isolation:isolate;
}
.dashboard-banner-track{
    display:flex;
    width:200%;
    height:100%;
    transform:translateX(0);
    transition:transform .72s cubic-bezier(.76,0,.24,1);
    will-change:transform;
}
.dashboard-banner-slide{
    position:relative;
    display:block;
    flex:0 0 50%;
    width:50%;
    height:100%;
    overflow:hidden;
}
.dashboard-banner-slide::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(6,7,10,.04),transparent 45%,rgba(6,7,10,.08));
    pointer-events:none;
}
.dashboard-banner-slide img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}
.dashboard-banner-dots{
    position:absolute;
    left:50%;
    bottom:12px;
    z-index:3;
    display:flex;
    gap:6px;
    padding:5px 8px;
    border-radius:999px;
    background:rgba(5,7,11,.5);
    border:1px solid rgba(255,255,255,.1);
    backdrop-filter:blur(10px);
    transform:translateX(-50%);
}
.dashboard-banner-dot{
    width:6px;
    height:6px;
    border-radius:50%;
    background:rgba(255,255,255,.42);
    transition:all .25s ease;
}
.dashboard-banner-dot.active{
    width:18px;
    border-radius:999px;
    background:var(--gold-bright);
    box-shadow:0 0 10px rgba(255,190,59,.45);
}
.admin-join-btn{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    width:100%;
    height:48px;
    margin-top:12px;
    padding:0 16px;
    border-radius:16px;
    background:linear-gradient(135deg,#1d4ed8 0%,#2563eb 48%,#10b981 100%);
    border:1px solid rgba(255,255,255,.22);
    color:#fff;
    font-size:13px;
    font-weight:800;
    letter-spacing:.02em;
    box-shadow:0 12px 28px rgba(37,99,235,.2);
    transition:all .25s ease;
}
.admin-join-btn:hover{
    filter:brightness(1.08);
    transform:translateY(-2px);
    box-shadow:0 16px 34px rgba(37,99,235,.3);
}
.admin-join-btn:active{
    transform:scale(.985);
}
.admin-join-btn>i:first-child{
    font-size:17px;
}
.admin-join-arrow{
    position:absolute;
    right:14px;
    font-size:22px;
    opacity:.8;
}

@media(max-width:640px){
    .dashboard-banner{
        border-radius:20px;
        margin-bottom:16px;
    }
    .dashboard-banner-dots{
        bottom:9px;
    }
    .admin-join-btn{
        height:48px;
        border-radius:15px;
    }
}
