#mobileMenu {
  display: none;
  width: 42px;
  height: 42px;
  border: 1px solid #315047;
  border-radius: 9px;
  background: #1c3d34;
  color: #fff;
  font-size: 21px;
  cursor: pointer;
  place-items: center;
}

@media (max-width: 720px) {
  aside { position: sticky; z-index: 20; top: 0; padding: 13px 16px; }
  .brand { width: 100%; }
  .brand > div { flex: 1; }
  #mobileMenu { display: grid; }
  aside nav { display: none; grid-template-columns: 1fr; margin-top: 12px; max-height: calc(100vh - 82px); overflow: auto; }
  body.menu-open aside nav { display: grid; }
  main { padding: 18px 12px; }
  .panel { padding: 16px 12px; }
  .panel-head { align-items: flex-start; gap: 12px; flex-direction: column; }
  .actions { width: 100%; overflow: auto; }
  .actions button { white-space: nowrap; }
  .split { grid-template-columns: 1fr; }
  input, select, button { min-height: 44px; }
  .table-wrap { overscroll-behavior-inline: contain; }
  #notice { top: 76px; left: 12px; right: 12px; max-width: none; }
  header { gap: 12px; }
  header #authButton { max-width: 52%; padding: 9px 10px; }
}

@media (max-width: 420px) {
  .cards { grid-template-columns: 1fr; }
  h1 { font-size: 24px; }
}
