.dashboard-shell{
    display:grid;
    grid-template-columns: 260px 1fr;
    gap: 1rem;
    align-items:start;
}

.dashboard-sidebar{
    position: sticky;
    top: 1rem;
    height: calc(100vh - 2rem);
    background: #fff;
    border: 1px solid rgba(0,0,0,.06);
    border-radius: .75rem;
    box-shadow: 0 8px 24px rgba(0,0,0,.04);
    overflow: hidden; /* keeps rounded corners */
}
.dashboard-sidebar .sidebar-inner{
    display:flex;
    flex-direction:column;
    height:100%;
}
.sidebar-title{
    padding: .9rem 1rem;
    border-bottom: 1px solid rgba(0,0,0,.06);
    background: linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,0));
}
.sidebar-title-text{
    font-weight: 700;
    letter-spacing: .2px;
}

.tabs-list{
    display:flex;
    flex-direction:column;
    padding: .5rem;
    gap: .35rem;
    overflow:auto;
    scrollbar-width: thin;
    scrollbar-color: #cbd5e1 transparent;
}
.tabs-list::-webkit-scrollbar{ width:8px; }
.tabs-list::-webkit-scrollbar-thumb{ background:#cbd5e1; border-radius:6px; }


.tab-trigger{
    display:flex;
    align-items:center;
    gap:.5rem;
    width:100%;
    text-align:left;
    padding:.6rem .75rem;
    border:1px solid transparent;
    border-radius:.5rem;
    background:#fff;
    color:#374151;
    font-weight:600;
    transition: border-color .15s ease, background .15s ease, color .15s ease, box-shadow .15s ease;
}
.tab-trigger:hover{
    background:#f8fafc;
    border-color:#e5e7eb;
}
.tab-trigger.active{
    background:#eef5ff;
    color:#0d6efd;
    border-color:#cfe2ff;
    box-shadow: 0 1px 0 rgba(13,110,253,.06) inset;
}
.badge-alert{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:20px;
    height:20px;
    padding:0 .4rem;
    border-radius:999px;
    background:#ef4444;
    color:#fff;
    font-size:.75rem;
    line-height:1;
}

/* Sidebar footer */
.sidebar-footer{
    margin-top:auto;
    padding: .75rem;
    border-top: 1px solid rgba(0,0,0,.06);
    background: #fff;
}

/* Main column */
.dashboard-main{
    min-width:0; /* prevent overflow */
}

/* Progress spacing refinement for new layout */
#tab-loading-bar{ margin-top: .25rem; }


@media (max-width: 991.98px){
    .dashboard-shell{
        grid-template-columns: 1fr;
    }
    .dashboard-sidebar{
        position: static;
        height:auto;
    }
    .tabs-list{
        flex-direction: row;
        overflow-x: auto;
        padding:.5rem;
        gap:.5rem;
    }
    .tab-trigger{
        white-space: nowrap;
    }
}

