@media (max-width: 860px) {
  .app-header {
    align-items: center;
  }

  .page-title {
    align-items: flex-start;
    flex-direction: column;
  }

  .crud-layout {
    grid-template-columns: 1fr;
  }

  .grid {
    gap: 12px;
  }

  .span-4,
  .span-8 {
    grid-column: span 12;
  }

  .hero,
  .page {
    padding: 18px 16px;
  }

  table {
    min-width: 520px;
  }

  .stat {
    font-size: 28px;
  }
}

@media (max-width: 520px) {
  .app-header,
  .hero,
  .page {
    padding-left: 14px;
    padding-right: 14px;
  }

  .card {
    border-radius: 18px;
    padding: 16px;
  }

  .button,
  button:not(.nav-toggle):not(.font-scale-btn):not(.share-btn) {
    width: 100%;
  }

  .actions {
    width: 100%;
  }

  .nav-toggle {
    width: auto;
  }

  .font-scale {
    order: 3;
    width: 100%;
    justify-content: center;
    margin-top: 4px;
  }

  .share-bar {
    width: 100%;
  }

  .share-bar .share-btn {
    flex: 1 1 auto;
    min-width: 0;
  }

  .card-head {
    flex-direction: column;
  }

  th,
  td {
    padding: 8px 6px;
    font-size: 13px;
  }
}
