@media (max-width: 800px) {
  .card { padding: 12px; margin-bottom: 10px; }
  .top { padding-top: 12px; padding-bottom: 12px; }
  .map { display: none !important; }
  .top { padding: 18px 14px; }
  .top h1 { font-size: 22px; }
  .top .button { padding: 8px 10px; font-size: 13px; }
  .card { padding: 15px; }
  .compact-form input[type=color] { width: 100%; min-height: 38px; padding: 2px; }
  .compact-form input[name=name], .compact-form .button { grid-column: 1 / -1; }
  .date-label input { width: 100%; margin-top: 5px; }
  .teacher-line { gap: 5px; }
  .teacher-line > span:nth-child(2), .teacher-line > span:nth-child(3) { font-size: 12px; }
  .teacher-line > form { grid-column: 2; grid-row: 1 / span 2; }
  .history-row { padding: 12px 0; }
  .schedule { min-width: 0; }
}
