
.artbuild-plugin.abp-nav-os,
.artbuild-plugin.abp-nav-os *,
.artbuild-plugin.abp-nav-quick,
.artbuild-plugin.abp-nav-quick *{box-sizing:border-box}

.abp-nav-global{
    position:relative;
    z-index:9999;
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}

.abp-nav-toggle{
    position:fixed;
    right:22px;
    bottom:98px;
    width:56px;
    height:56px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:18px;
    background:linear-gradient(135deg,#071b2b,#0b2d46);
    box-shadow:0 18px 50px rgba(0,0,0,.24);
    cursor:pointer;
    z-index:10001;
}

.abp-nav-toggle span{
    width:24px;
    height:2px;
    border-radius:999px;
    background:#fff;
}

.abp-nav-rail{
    position:fixed;
    top:92px;
    left:18px;
    width:270px;
    max-height:calc(100vh - 120px);
    overflow:auto;
    padding:16px;
    border-radius:26px;
    background:
        radial-gradient(circle at top left,rgba(31,111,255,.22),transparent 34%),
        linear-gradient(135deg,#071b2b,#061827);
    border:1px solid rgba(255,255,255,.09);
    box-shadow:0 24px 70px rgba(0,0,0,.28);
    transform:translateX(-115%);
    transition:transform .2s ease;
    z-index:10000;
}

.abp-nav-os.is-open .abp-nav-rail{
    transform:translateX(0);
}

.abp-nav-brand{
    padding:14px;
    margin-bottom:10px;
    border-radius:18px;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.08);
}

.abp-nav-brand strong{
    display:block;
    color:#fff;
    font-size:20px;
    font-weight:950;
    letter-spacing:-.02em;
}

.abp-nav-brand span{
    display:block;
    margin-top:3px;
    color:#f2c94c;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.12em;
}

.abp-nav-links{
    display:grid;
    gap:8px;
}

.abp-nav-link{
    position:relative;
    display:grid;
    grid-template-columns:38px minmax(0,1fr) auto;
    align-items:center;
    gap:10px;
    min-height:54px;
    padding:9px 12px;
    border-radius:18px;
    background:rgba(255,255,255,.055);
    border:1px solid rgba(255,255,255,.08);
    color:#fff!important;
    text-decoration:none!important;
    transition:transform .16s ease, background .16s ease, border-color .16s ease;
}

.abp-nav-link:hover,
.abp-nav-link.is-current{
    transform:translateY(-1px);
    background:rgba(31,111,255,.16);
    border-color:rgba(31,111,255,.30);
}

.abp-nav-highlight{
    background:linear-gradient(135deg,#f2b705,#f59e0b);
    color:#071b2b!important;
}

.abp-nav-highlight .abp-nav-icon{
    background:rgba(7,27,43,.12);
    color:#071b2b;
}

.abp-nav-icon{
    width:38px;
    height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:14px;
    background:rgba(255,255,255,.08);
    color:#fff;
    font-size:18px;
    font-weight:950;
}

.abp-nav-label{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:13px;
    font-weight:900;
}

.abp-nav-count{
    min-width:24px;
    height:24px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 7px;
    border-radius:999px;
    background:#ff4f3f;
    color:#fff;
    font-size:11px;
    font-weight:950;
}

.abp-nav-role{
    margin-top:12px;
    padding:12px;
    border-radius:20px;
    background:rgba(2,12,22,.42);
    border:1px solid rgba(255,255,255,.08);
}

.abp-nav-role-title{
    display:block;
    margin-bottom:8px;
    color:#7db6ff;
    font-size:12px;
    font-weight:950;
    text-transform:uppercase;
    letter-spacing:.06em;
}

.abp-nav-role-links{
    display:grid;
    gap:8px;
}

.abp-nav-role-links a{
    display:flex;
    gap:8px;
    align-items:center;
    padding:9px 10px;
    border-radius:14px;
    background:rgba(255,255,255,.05);
    color:rgba(255,255,255,.78)!important;
    text-decoration:none!important;
    font-size:12px;
    font-weight:900;
}

.abp-nav-role-links span{
    color:#f2c94c;
    font-weight:950;
}

.abp-nav-mobile{
    position:fixed;
    left:50%;
    bottom:16px;
    transform:translateX(-50%);
    width:min(680px,calc(100vw - 28px));
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:8px;
    padding:10px;
    border-radius:28px;
    background:
        radial-gradient(circle at top left,rgba(31,111,255,.18),transparent 34%),
        linear-gradient(135deg,#071b2b,#061827);
    border:1px solid rgba(255,255,255,.10);
    box-shadow:0 24px 70px rgba(0,0,0,.32);
    z-index:9998;
}

.abp-nav-mobile .abp-nav-link{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    min-height:64px;
    padding:8px;
    border-radius:20px;
    text-align:center;
}

.abp-nav-mobile .abp-nav-icon{
    width:28px;
    height:28px;
    border-radius:11px;
    font-size:16px;
}

.abp-nav-mobile .abp-nav-label{
    width:100%;
    font-size:11px;
}

.abp-nav-mobile .abp-nav-count{
    position:absolute;
    top:4px;
    right:8px;
}

.abp-nav-inline .abp-nav-toggle,
.abp-nav-inline .abp-nav-mobile{
    display:none;
}

.abp-nav-inline .abp-nav-rail{
    position:relative;
    top:auto;
    left:auto;
    width:100%;
    max-height:none;
    transform:none;
}

.abp-nav-quick{
    max-width:1180px;
    margin:0 auto;
    padding:24px;
    color:#fff;
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}

.abp-nav-quick-panel{
    padding:24px;
    border-radius:28px;
    background:
        radial-gradient(circle at top left,rgba(31,111,255,.22),transparent 34%),
        linear-gradient(135deg,#071b2b,#061827);
    border:1px solid rgba(255,255,255,.09);
    box-shadow:0 24px 70px rgba(0,0,0,.18);
}

.abp-nav-kicker{
    display:inline-flex;
    padding:8px 13px;
    border-radius:999px;
    background:rgba(31,111,255,.12);
    color:#7db6ff;
    font-size:12px;
    font-weight:900;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.abp-nav-quick-panel h2{
    margin:14px 0 16px;
    color:#fff;
    font-size:clamp(30px,4vw,46px);
    line-height:.98;
    font-weight:950;
    letter-spacing:-.04em;
}

.abp-nav-quick-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}

.abp-nav-quick-grid a{
    display:grid;
    gap:10px;
    padding:18px;
    border-radius:20px;
    background:rgba(255,255,255,.055);
    border:1px solid rgba(255,255,255,.08);
    color:#fff!important;
    text-decoration:none!important;
}

.abp-nav-quick-grid span{
    width:44px;
    height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:16px;
    background:rgba(31,111,255,.16);
    color:#7db6ff;
    font-size:22px;
    font-weight:950;
}

.abp-nav-quick-grid strong{
    font-size:16px;
    font-weight:950;
}

@media(min-width:1200px){
    body.abp-nav-has-global{
        padding-left:0;
    }
}

@media(max-width:760px){
    .abp-nav-rail{
        top:80px;
        left:14px;
        width:calc(100vw - 28px);
        max-height:calc(100vh - 180px);
    }

    .abp-nav-toggle{
        right:18px;
        bottom:98px;
    }

    .abp-nav-quick{
        padding:18px;
    }

    .abp-nav-quick-grid{
        grid-template-columns:1fr;
    }
}
