.app-shell {
  display:grid;
  grid-template-columns:230px 1fr;
  min-height:100vh;
}
.sidebar {
  background:#fff;
  border-right:1px solid var(--line);
  padding:32px 22px;
  display:flex;
  flex-direction:column;
  gap:25px;
}
.brand {
  display:flex;
  gap:12px;
  align-items:center;
  font-size:27px;
  font-weight:800;
  letter-spacing:-1px;
}
.brand span {
  font-size:17px;
  letter-spacing:-.5px;
}
.sidebar nav {
  display:grid;
  gap:8px;
}
.sidebar-bottom {
  margin-top:auto;
  padding-top:40px;
}
.content {
  padding:38px;
  min-width:0;
  max-width:1600px;
  width:100%;
  margin:auto;
}
.topbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:30px;
}
.scope {
  padding:8px 14px;
  border-radius:30px;
  background:#e5eae5;
  font-size:13px;
}
.stats {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-bottom:24px;
}
.stats strong {
  display:block;
  font-size:36px;
  letter-spacing:-1px;
  margin-top:8px;
}
.stats span {
  color:var(--muted);
}
.section-heading {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  margin-bottom:20px;
}
.filters {
  display:flex;
  flex-wrap:wrap;
  align-items:end;
  gap:12px;
  margin-bottom:24px;
}
.filters label {
  width:120px;
}
.filters .grow {
  flex:1;
  min-width:180px;
}
.auth-shell {
  min-height:100vh;
  max-width:1060px;
  margin:auto;
  padding:35px;
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:70px;
  align-items:center;
}
.auth-copy .brand {
  margin-bottom:75px;
}
.auth-copy h1 {
  font-size:42px;
}
.password-card {
  max-width:570px;
}
.pagination,.table-footer,.dialog-actions {
  display:flex;
  gap:12px;
  align-items:center;
  justify-content:space-between;
}
.table-footer {
  margin-top:20px;
  flex-wrap:wrap;
}
.pagination {
  justify-content:start;
}
.dialog-actions {
  justify-content:end;
  margin-top:20px;
}
@media(max-width:900px) {
  .app-shell {
    grid-template-columns:1fr;
  }
  .sidebar {
    padding:20px;
    border-right:0;
    border-bottom:1px solid var(--line);
    gap:14px;
  }
  .sidebar nav {
    display:flex;
    flex-wrap:wrap;
  }
  .sidebar .eyebrow {
    display:none;
  }
  .sidebar-bottom {
    margin:0;
    padding:0;
    display:flex;
    align-items:center;
    gap:15px;
    flex-wrap:wrap;
  }
  .sidebar-bottom p {
    margin:0;
  }
  .content {
    padding:20px;
  }
  .topbar {
    align-items:start;
    flex-wrap:wrap;
  }
  .auth-shell {
    grid-template-columns:1fr;
    gap:25px;
    max-width:600px;
  }
  .auth-copy .brand {
    margin-bottom:30px;
  }
}
@media(max-width:520px) {
  .stats {
    gap:8px;
  }
  .stats .card {
    padding:13px;
  }
  .stats strong {
    font-size:29px;
  }
  .section-heading {
    align-items:start;
    flex-direction:column;
  }
  .card {
    padding:18px;
  }
  .auth-copy h1 {
    font-size:32px;
  }
  .filters label {
    flex:1;
    min-width:100px;
  }
  .content {
    padding:16px;
  }
}
