.app-shell.sidebar-collapsed { grid-template-columns: 64px minmax(0, 1fr); }
.sidebar { position: relative; }
.sidebar-toggle { position: absolute; top: 50%; right: 6px; transform: translateY(-50%); z-index: 4; width: 20px; height: 20px; display: grid; place-items: center; padding: 0; border: 1px solid #4a4665; background: #2b2940; color: #eeeef5; border-radius: 50%; font-size: .95rem; line-height: 1; font-weight: 800; }
.sidebar-toggle span { display: block; font-size: 1rem; line-height: 1; transform: translateX(-1px); }
.sidebar-toggle b { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.sidebar.collapsed { padding-left: 8px; padding-right: 8px; }
.sidebar.collapsed .sidebar-toggle span { transform: rotate(180deg); }
.sidebar.collapsed .nav-group p, .sidebar.collapsed .simulation-box { display: none; }
.sidebar.collapsed .nav-group button { font-size: 0; text-align: center; padding: 0; }
.sidebar.collapsed .nav-group button::before { content: attr(data-icon); font-size: 1rem; }
@media (max-width: 720px) {
  .app-shell.sidebar-collapsed { display: block; }
  .sidebar-toggle { display: none; }
}
