/* ==========================================
   PORTAL
========================================== */

.sidebar{
   display:flex;
flex-direction:column;

background:#08111F;

padding:16px 18px;

border-right:1px solid var(--border);

}

.hero{

margin-bottom:0;

}

.hero h1{

font-size:26px;

font-weight:700;

margin-top:4px;

}

.hero p{

margin-top:2px;

color:var(--text-secondary);

font-size:14px;

}

/* ==========================================
   KPI CARDS
========================================== */

.stats-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:14px;

    margin-top:0;

}

.stat-card{

    padding:16px 18px;

}

.stat-card h3{

    font-size:15px;

    margin-bottom:8px;

}

.stat-card span{

    color:var(--text-secondary);

    font-size:13px;

}

@media(max-width:1000px){

.stats-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:650px){

.stats-grid{

grid-template-columns:1fr;

}

}
/* ===========================
SIDEBAR NAVIGATION
=========================== */

.sidebar-nav{

    display:flex;

    flex-direction:column;

    gap:2px;

    margin-top:0;

}

.sidebar-nav a{

    color:var(--text-secondary);

    padding:9px 14px;

    border-radius:10px;

    transition:var(--transition);

    font-weight:500;

    font-size:14px;

    display:flex;

    align-items:center;

}

.nav-icon{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    width:20px;

    margin-right:12px;

    font-size:15px;

    flex-shrink:0;

}

.sidebar-nav a:hover{

    background:var(--bg-card);

    color:white;

}

.sidebar-nav .active{

    background:var(--primary);

    color:white;

}

/* ===========================
   Operational Dashboards
=========================== */

.dashboard-section{
    margin-top:0;
}

.section-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:10px;
}

.section-header h2{
    font-size:17px;
    color:#fff;
}

.section-header a{
    color:#4DA3FF;
    text-decoration:none;
    font-weight:600;
    font-size:14px;
}

.dashboard-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
}

.dashboard-card{
    background:#182233;
    border:1px solid rgba(255,255,255,.08);
    border-radius:16px;
    padding:22px;
    transition:.25s;
}

.dashboard-card:hover{
    transform:translateY(-6px);
    border-color:#3b82f6;
    box-shadow:0 20px 40px rgba(0,0,0,.35);
}

.dashboard-icon{
    width:42px;
    height:42px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:18px;
    color:#fff;
    margin-bottom:10px;
}

.blue{
    background:#1e3a8a;
}

.purple{
    background:#5b21b6;
}

.orange{
    background:#9a4b06;
}

.dashboard-card h3{
    color:white;
    font-size:16px;
    margin-bottom:3px;
}

.dashboard-card p{
    color:#9ca3af;
    font-size:12px;
    min-height:auto;
}

.dashboard-footer{
    margin-top:14px;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.status-live{
    color:#22c55e;
    font-weight:600;
    font-size:13px;
}

.open-btn{
    background:#2563eb;
    color:white;
    border:none;
    padding:8px 14px;
    border-radius:8px;
    cursor:pointer;
    font-weight:600;
    font-size:13px;
    margin-top:10px;
    display:inline-block;
}

.purple-btn{
    background:#7c3aed;
}

.orange-btn{
    background:#ea580c;
}

/* ===========================
TOP BAR
=========================== */

.topbar{

margin-bottom:0;

}

.search-box{

display:flex;

align-items:center;

gap:12px;

background:#182233;

padding:10px 16px;

border-radius:12px;

width:320px;

flex-shrink:0;

border:1px solid rgba(255,255,255,.08);

}

.search-box input{

background:none;

border:none;

outline:none;

width:100%;

font-size:15px;

color:white;

}

.search-box kbd{

background:#263245;

padding:5px 10px;

border-radius:8px;

color:#9ca3af;

font-size:12px;

white-space:nowrap;

flex-shrink:0;

}

.topbar-right{

display:flex;

align-items:center;

gap:18px;

}

.icon-btn{

width:40px;

height:40px;

min-width:40px;

flex-shrink:0;

border:none;

background:#182233;

border-radius:50%;

font-size:16px;

cursor:pointer;

color:white;

display:flex;

align-items:center;

justify-content:center;

}

.user-avatar{

width:40px;

height:40px;

min-width:40px;

flex-shrink:0;

border-radius:50%;

background:#7c3aed;

display:flex;

align-items:center;

justify-content:center;

font-weight:bold;

color:white;

font-size:14px;

}