/* Sidebar — dark theme, collapsible */
.sidebar {
    position: fixed; top: 0; left: 0; bottom: 0; width: 240px;
    background: #0a1628; display: flex; flex-direction: column;
    z-index: 100; transition: width 0.2s;
    overflow: visible;
}
.sidebar.collapsed { width: 62px; }
.sidebar.collapsed .sidebar-label,
.sidebar.collapsed .sidebar-brand-text,
.sidebar.collapsed .sidebar-section-label,
.sidebar.collapsed .sidebar-chevron { display: none; }

.sidebar-brand {
    display: flex; align-items: center; gap: 10px;
    padding: 14px 16px; border-bottom: 1px solid rgba(255,255,255,0.06);
}
.sidebar-brand-text { color: #fff; font-family: 'Exo 2', sans-serif; font-weight: 700; font-size: 18px; }

.sidebar-nav { flex: 1; overflow-y: auto; padding: 8px 0; }
.sidebar-section { margin-bottom: 4px; }
.sidebar-section-label {
    color: #4a5e7a; font-size: 10px; font-weight: 700; letter-spacing: 1px;
    padding: 12px 16px 6px; text-transform: uppercase;
}

.sidebar-item {
    display: flex; align-items: center; gap: 10px; padding: 8px 16px;
    color: #7a8ba5; text-decoration: none; font-size: 14px; cursor: pointer;
    transition: color 0.15s, background 0.15s; border-left: 3px solid transparent;
}
.sidebar-item:hover { color: #e2e8f0; background: rgba(255,255,255,0.04); }
.sidebar-item.active {
    color: #ffffff !important; background: rgba(0,137,123,0.12);
    border-left-color: #00897B; font-weight: 600;
}
.sidebar-icon { width: 18px; height: 18px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; }
.sidebar-chevron { margin-left: auto; color: #4a5e7a; font-size: 14px; }

.sidebar-toggle {
    padding: 12px; border: none; background: none; color: #4a5e7a; cursor: pointer;
    border-top: 1px solid rgba(255,255,255,0.06); display: flex; justify-content: center;
}
.sidebar-toggle:hover { color: #e2e8f0; }

/* Popout Panels */
.sidebar-popout {
    display: none; position: fixed; left: 240px; top: 60px;
    width: 220px; background: #0f1d35; border-radius: 0 8px 8px 0;
    box-shadow: 4px 4px 16px rgba(0,0,0,0.3); padding: 8px 0; z-index: 101;
}
.sidebar.collapsed .sidebar-popout { left: 62px; }
.sidebar-popout.visible { display: block; }

.popout-header {
    color: #fff; font-size: 13px; font-weight: 700; padding: 10px 16px 8px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
}
.popout-link {
    display: block; padding: 8px 16px; color: #7a8ba5; text-decoration: none;
    font-size: 13px; transition: color 0.15s, background 0.15s;
}
.popout-link:hover { color: #e2e8f0; background: rgba(255,255,255,0.04); }
