.app-shell { display: grid; grid-template-columns: minmax(0, 1fr); }
.app-sidebar[hidden], .sidebar-backdrop[hidden] { display: none !important; }
.sidebar-open-button, .sidebar-collapse-button {
  display: inline-flex; min-height: 44px; align-items: center; gap: .5rem; padding: .5rem .75rem;
  border: 1px solid var(--ui-border, #dce3ed); border-radius: .75rem; font-size: .875rem; font-weight: 600;
}
.sidebar-open-button { float: left; margin-right: 1rem; background: var(--ui-surface, white); color: var(--ui-text, #172033); }
.sidebar-collapse-button { width: 100%; justify-content: space-between; margin-bottom: .75rem; border-color: #ffffff30; color: inherit; background: #ffffff08; }
.sidebar-open-button:focus-visible, .sidebar-collapse-button:focus-visible { outline: 2px solid var(--tenant-accent, #087e95); outline-offset: 2px; }
/* Keep tablet workspaces full-width; match sidebar_controller.js. */
@media (min-width: 1200px) {
  .app-shell { grid-template-columns: 224px minmax(0, 1fr); }
  .app-shell.sidebar-collapsed { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 1199.98px) {
  .app-sidebar { position: fixed; inset: 0 auto 0 0; width: min(20rem, 86vw); z-index: 151; overflow-y: auto; overscroll-behavior: contain; }
  .app-shell:not(.sidebar-drawer-open) .app-sidebar { display: none; }
  .sidebar-backdrop { position: fixed; inset: 0; z-index: 150; background: #0008; }
  .sidebar-drawer-open .app-sidebar { animation: sidebar-enter 160ms ease-out; }
}
@keyframes sidebar-enter { from { transform: translateX(-16px); opacity: 0; } to { transform: translateX(0); opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .sidebar-drawer-open .app-sidebar { animation: none; } }
.app-body[data-reveal-enabled-value="false"] .sidebar-drawer-open .app-sidebar { animation: none; }
