.sidebar { width:var(--sidebar-w); min-height:100vh; background:#1a1a1a; display:flex; flex-direction:column; position:fixed; left:0; top:0; bottom:0; z-index:100; transition:transform var(--transition); }
.sidebar-logo { padding:20px 20px 16px; border-bottom:1px solid rgba(255,255,255,.08); display:flex; align-items:center; gap:10px; }
.sidebar-logo .logo-mark { width:32px; height:32px; background:var(--accent); border-radius:6px; display:flex; align-items:center; justify-content:center; font-size:16px; font-weight:700; color:#fff; flex-shrink:0; }
.sidebar-logo .logo-name { font-size:15px; font-weight:600; color:#fff; }
.sidebar-logo .logo-badge { font-size:10px; background:rgba(255,255,255,.12); color:#aaa; padding:2px 6px; border-radius:4px; margin-left:auto; }
.sidebar-section { padding:12px 12px 4px; }
.sidebar-section-label { font-size:10px; font-weight:600; text-transform:uppercase; letter-spacing:.08em; color:#666; padding:0 8px; margin-bottom:4px; }
.sidebar-nav a { display:flex; align-items:center; gap:10px; padding:8px 10px; border-radius:6px; color:#b0b0b0; text-decoration:none; font-size:13.5px; font-weight:500; transition:all var(--transition); margin-bottom:1px; }
.sidebar-nav a i { font-size:16px; flex-shrink:0; }
.sidebar-nav a:hover { background:rgba(255,255,255,.07); color:#fff; }
.sidebar-nav a.active { background:rgba(0,128,96,.2); color:#4daf91; }
.sidebar-footer { margin-top:auto; padding:12px; border-top:1px solid rgba(255,255,255,.08); }
.sidebar-user { display:flex; align-items:center; gap:10px; padding:8px 10px; border-radius:6px; }
.sidebar-avatar-sm { width:28px; height:28px; border-radius:50%; background:var(--accent); display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:600; color:#fff; }
.sidebar-user-name { font-size:12px; font-weight:600; color:#e5e5e5; }
.sidebar-user-role { font-size:10px; color:#666; }
.sidebar-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,.4); z-index:99; }
.mobile-toggle { display:none; background:none; border:none; color:var(--text-primary); font-size:20px; cursor:pointer; padding:4px; }

@media (max-width:900px) {
    .sidebar { transform:translateX(-100%); }
    .sidebar.open { transform:translateX(0); }
    .sidebar-overlay.show { display:block; }
    .app-main { margin-left:0; }
    .mobile-toggle { display:flex; }
}