.module-shell { display: flex; height: 100%; min-height: 0; }
.sidebar { width: 220px; flex-shrink: 0; background: #fff; border-right: 1px solid #e0e0e0; display: flex; flex-direction: column; overflow-y: auto; transition: width 0.2s; }
.sidebar-collapsed .sidebar { width: 48px; }
.sidebar-collapsed .nav-label, .sidebar-collapsed .nav-group-label, .sidebar-collapsed .sidebar-title { display: none; }
.sidebar-header { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; border-bottom: 1px solid #e0e0e0; font-weight: 600; color: #1a73e8; }
.sidebar-toggle { background: none; border: none; cursor: pointer; font-size: 18px; color: #5f6368; }
.nav-group { padding: 8px 0; }
.nav-group-label { display: block; padding: 4px 16px; font-size: 11px; font-weight: 600; color: #9aa0a6; text-transform: uppercase; letter-spacing: 0.08em; }
.nav-item { display: flex; align-items: center; gap: 10px; padding: 8px 16px; color: #3c4043; background: none; border: none; cursor: pointer; width: 100%; text-align: left; font-size: 14px; border-radius: 0 24px 24px 0; margin-right: 8px; transition: background 0.15s; &:hover { background: #f1f3f4; } &.active { background: #e8f0fe; color: #1a73e8; font-weight: 500; } }
.nav-icon { font-size: 16px; width: 20px; text-align: center; }
.module-content { flex: 1; overflow-y: auto; padding: 16px; background: #f8f9fa; }
