
/* =========================================================
   Collapsible admin categories + collapsible team ranks
   + dark mode readability fixes
   ========================================================= */

/* ---------- Admin category groups ---------- */

.admin-nav-group{
    display:block;
}

.admin-nav-group-toggle{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    border:0;
    background:transparent;
    color:#89bfd8;
    padding:13px 7px 6px;
    font-size:9px;
    font-weight:bold;
    letter-spacing:1.2px;
    text-transform:uppercase;
    cursor:pointer;
    text-align:left;
}

.admin-nav-group-toggle:hover{
    color:#c9ebfa;
}

.admin-nav-group-toggle .group-chevron{
    font-size:13px;
    transition:transform .18s ease;
}

.admin-nav-group-content{
    display:grid;
    gap:2px;
}

.admin-nav-group.is-collapsed .admin-nav-group-content{
    display:none;
}

.admin-nav-group.is-collapsed .group-chevron{
    transform:rotate(-90deg);
}

/* Keep category buttons visible in compact sidebar */
body.admin-sidebar-collapsed .admin-nav-group-toggle{
    justify-content:center;
    padding:10px 4px 4px;
    font-size:0;
}

body.admin-sidebar-collapsed .admin-nav-group-toggle::before{
    content:"•••";
    font-size:13px;
    color:#89bfd8;
}

body.admin-sidebar-collapsed .admin-nav-group-toggle .group-chevron{
    display:none;
}

/* ---------- Team rank collapsible sections ---------- */

.dynamic-rank-section{
    position:relative;
}

.dynamic-rank-heading{
    cursor:pointer;
    user-select:none;
}

.dynamic-rank-heading::after{
    content:"−";
    display:flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    margin-left:auto;
    flex:0 0 auto;
    border:2px solid var(--rank-color,#1876a3);
    border-radius:7px;
    background:var(--theme-surface-2,#eef7fb);
    color:var(--rank-color,#1876a3);
    font-size:22px;
    font-weight:bold;
}

.dynamic-rank-section.is-collapsed .dynamic-rank-heading::after{
    content:"+";
}

.dynamic-rank-section.is-collapsed .optimized-team-grid{
    display:none;
}

.dynamic-rank-section.is-collapsed .dynamic-rank-heading{
    margin-bottom:0;
}

.rank-collapse-note{
    display:block;
    margin-top:5px;
    font-size:10px;
    color:var(--theme-muted,#687b85);
}

/* ---------- Dark mode fixes for team page ---------- */

html[data-theme="dark"] .team-rank-navigation,
html[data-resolved-theme="dark"] .team-rank-navigation{
    background:var(--uv3-card,#172934)!important;
    border-color:var(--uv3-border,#3c6071)!important;
    box-shadow:0 4px 0 var(--uv3-shadow,#071218)!important;
}

html[data-theme="dark"] .team-rank-navigation a,
html[data-resolved-theme="dark"] .team-rank-navigation a{
    background:var(--uv3-soft,#1d3441)!important;
    color:var(--uv3-text,#eaf6fb)!important;
    border-color:var(--uv3-border,#3c6071)!important;
}

html[data-theme="dark"] .team-rank-navigation a span,
html[data-resolved-theme="dark"] .team-rank-navigation a span{
    color:#fff!important;
}

html[data-theme="dark"] .optimized-team-facts span,
html[data-resolved-theme="dark"] .optimized-team-facts span,
html[data-theme="dark"] .team-facts span,
html[data-resolved-theme="dark"] .team-facts span{
    background:var(--uv3-soft,#1d3441)!important;
    color:var(--uv3-text,#eaf6fb)!important;
    border-color:var(--uv3-border,#3c6071)!important;
}

html[data-theme="dark"] .optimized-team-facts span *,
html[data-resolved-theme="dark"] .optimized-team-facts span *{
    color:inherit!important;
}

html[data-theme="dark"] .custom-rank-badge,
html[data-resolved-theme="dark"] .custom-rank-badge{
    background:color-mix(in srgb,var(--rank-color,#1876a3),#101820 60%)!important;
    color:#f7fbfd!important;
    border-color:color-mix(in srgb,var(--rank-color,#1876a3),#fff 18%)!important;
}

html[data-theme="dark"] .dynamic-rank-heading,
html[data-resolved-theme="dark"] .dynamic-rank-heading{
    background:var(--uv3-card,#172934)!important;
    color:var(--uv3-text,#eaf6fb)!important;
    border-color:var(--uv3-border,#3c6071)!important;
}

html[data-theme="dark"] .dynamic-rank-heading::after,
html[data-resolved-theme="dark"] .dynamic-rank-heading::after{
    background:var(--uv3-soft,#1d3441)!important;
    color:#fff!important;
}

html[data-theme="dark"] .view-profile-button,
html[data-resolved-theme="dark"] .view-profile-button{
    color:#69c8ef!important;
    border-color:var(--uv3-border,#3c6071)!important;
}

/* Ensure tiny text in white/light pills stays readable */
html[data-theme="dark"] .optimized-team-facts span,
html[data-resolved-theme="dark"] .optimized-team-facts span{
    opacity:1!important;
    text-shadow:none!important;
}

/* ---------- Mobile ---------- */

@media(max-width:900px){
    .admin-nav-group-toggle{
        padding-left:10px;
        padding-right:10px;
    }
}

@media(max-width:700px){
    .dynamic-rank-heading{
        position:relative;
        padding-right:55px!important;
    }

    .dynamic-rank-heading::after{
        position:absolute;
        right:12px;
        top:12px;
    }
}
