.app-shell { display: grid; grid-template-columns: var(--sidebar-width) minmax(0, 1fr); min-height: 100vh; }
.sidebar {
  background: var(--color-primary-dark);
  color: #fff;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  padding: var(--space-lg);
  position: sticky;
  top: 0;
}
.workspace { min-width: 0; }
.topbar {
  align-items: center;
  background: var(--color-surface);
  border-bottom: 1px solid var(--color-border);
  display: flex;
  height: 4.75rem;
  justify-content: space-between;
  padding: 0 var(--space-xl);
}
.topbar__context { color: var(--color-muted); font-size: 0.75rem; }
.topbar__title { color: var(--color-primary-dark); font-weight: 650; }
.report-page { margin: 0 auto; max-width: 105rem; padding: var(--space-xl); }
.report-heading { align-items: end; border-bottom: 3px solid var(--color-primary-dark); display: flex; gap: var(--space-lg); justify-content: space-between; padding-bottom: var(--space-lg); }
.report-heading h1 { color: var(--color-primary); margin-top: var(--space-xs); }
.report-heading__description { color: var(--color-muted); margin-top: var(--space-sm); max-width: 48rem; }
.report-grid { display: grid; gap: var(--space-lg); grid-template-columns: minmax(18rem, 0.72fr) minmax(34rem, 1.5fr); margin-top: var(--space-lg); }
.login-body { background: var(--color-surface); }
.login-shell { display: grid; grid-template-columns: minmax(24rem, 0.9fr) minmax(28rem, 1.1fr); min-height: 100vh; }
.login-intro { background: var(--color-primary-dark); color: #fff; display: flex; flex-direction: column; justify-content: space-between; padding: clamp(2rem, 5vw, 5rem); }
.login-intro h1 { color: #fff; font-size: clamp(2.5rem, 5vw, 4.75rem); margin: var(--space-md) 0 var(--space-lg); }
.login-intro > div > p:last-child { color: #d9e1f2; font-size: 1.125rem; max-width: 34rem; }
.login-form-area { align-items: center; display: flex; justify-content: center; padding: var(--space-xl); }
.login-form-wrap { max-width: 27rem; width: 100%; }
.mobile-only { display: none; }
@media (max-width: 1024px) {
  .app-shell { grid-template-columns: 13.5rem minmax(0, 1fr); }
  .report-page, .topbar { padding-left: var(--space-lg); padding-right: var(--space-lg); }
  .report-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .app-shell { display: block; }
  .sidebar { bottom: 0; left: 0; position: fixed; top: 0; transform: translateX(-105%); transition: transform 160ms ease; width: min(86vw, 18rem); z-index: 20; }
  .sidebar.is-open { transform: translateX(0); }
  .mobile-only { display: inline-grid; }
  .topbar { height: auto; min-height: 4.5rem; padding: var(--space-sm) var(--space-md); }
  .topbar > div:nth-child(2) { display: none; }
  .user-menu__identity { display: none; }
  .report-page { padding: var(--space-lg) var(--space-md); }
  .report-heading { align-items: start; flex-direction: column; }
  .login-shell { display: block; }
  .login-intro { min-height: 17rem; padding: var(--space-xl); }
  .login-intro > div > p:last-child, .login-intro__security { display: none; }
  .login-form-area { padding: var(--space-xl) var(--space-lg); }
}
