@media (max-width: 1000px) {
  .app-shell { grid-template-columns: 78px minmax(0, 1fr); }
  .sidebar { padding-right: 10px; padding-left: 10px; }
  .brand { justify-content: center; padding: 0; }
  .brand-copy, .school-space, .admin-profile div, .nav-link span { display: none; }
  .nav-link { justify-content: center; padding: 0; }
  .admin-profile { justify-content: center; padding-right: 0; padding-left: 0; }
  .dashboard-grid-main, .dashboard-grid-secondary { grid-template-columns: 1fr; }
  .operations-layout { grid-template-columns: 1fr; }
  .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grade-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .welcome-summary { width: 210px; }
}

@media (max-width: 760px) {
  body { height: auto; overflow: auto; }
  .entry-view { min-height: 100vh; padding: 14px; }
  .login-layout { min-height: 0; grid-template-columns: 1fr; }
  .login-brand { padding: 20px 22px; }
  .login-brand strong { font-size: 17px; }
  .login-panel { padding: 30px 22px 34px; }
  .entry-panel { padding: 28px 20px; }
  .app-shell { min-height: 100vh; height: auto; display: block; }
  .workspace { min-height: 100vh; grid-template-rows: 56px minmax(0, 1fr); }
  .sidebar { position: fixed; right: 0; bottom: 0; left: 0; z-index: 20; width: auto; height: 64px; min-height: 64px; display: block; padding: 0; border-top: 1px solid var(--line); background: #fff; }
  .brand, .school-space, .admin-profile { display: none; }
  .side-nav { height: 100%; grid-template-columns: repeat(10, minmax(56px, 1fr)); gap: 0; overflow-x: auto; }
  .nav-link { height: 64px; display: grid; place-items: center; align-content: center; gap: 3px; border-radius: 0; }
  .nav-link span { display: block; font-size: 10px; }
  .nav-link .icon { width: 19px; height: 19px; }
  .topbar { padding: 0 14px; }
  .topbar-title span, .global-search, .sync-status, .topbar-actions .button { display: none; }
  .settings-menu { top: 49px; right: 14px; }
  .content { padding: 14px 14px 82px; overflow: visible; }
  .page-heading { min-height: auto; align-items: flex-start; margin-bottom: 15px; }
  .page-heading p { max-width: 440px; }
  .school-welcome { min-height: 0; padding: 20px; }
  .school-welcome h2 { font-size: 22px; }
  .welcome-summary { display: none; }
  .heading-actions { flex: none; }
  .heading-actions .button { width: 39px; padding: 0; }
  .heading-actions .button .icon { margin: 0; }
  .heading-actions .button { font-size: 0; }
  h1 { font-size: 20px; }
  .stats-grid { gap: 9px; }
  .stat-card { min-height: 104px; padding: 13px; }
  .stat-card > strong { font-size: 25px; }
  .panel-heading { padding-right: 12px; padding-left: 12px; }
  .bar-chart { gap: 8px; padding-right: 0; padding-left: 0; }
  .chart-column { min-width: 28px; }
  .chart-label { font-size: 10px; }
  .ranking-list { padding-right: 13px; padding-left: 13px; }
  .grade-grid { grid-template-columns: 1fr; }
  .filter-bar { align-items: stretch; }
  .inline-field { align-items: stretch; flex-direction: column; }
  .inline-field select, .inline-field input { width: 100%; min-width: 0; }
  .search-field { width: 100%; }
  .filter-bar select { flex: 1; }
  .result-count { display: flex; align-items: center; margin-left: 0; }
  .table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  table { min-width: 760px; }
  th, td { padding: 11px 12px; }
  .global-alert { grid-template-columns: auto minmax(0, 1fr); }
  .global-alert .button { grid-column: 1 / -1; width: 100%; }
  .class-picker > div { grid-template-columns: 1fr; }
  .form-grid { grid-template-columns: 1fr; }
  .field-wide { grid-column: auto; }
  .modal { align-items: flex-end; padding: 0; }
  .dialog { width: 100%; max-height: 92vh; border-radius: 8px 8px 0 0; }
  .modal-compact { align-items: center; padding: 16px; }
  .modal-compact .dialog { border-radius: 8px; }
  .toast { bottom: 78px; }
}

@media (max-width: 460px) {
  .page-heading { gap: 10px; }
  .page-heading p { font-size: 12px; }
  .stats-grid { grid-template-columns: 1fr 1fr; }
  .stat-card { min-width: 0; }
  .stat-top span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .legend { display: none; }
  .compact-item { padding-right: 12px; padding-left: 12px; }
  .compact-copy { max-width: 200px; }
}
