/* Mobile-only refinements. Desktop layout is intentionally untouched. */
@media (max-width: 650px) {
  body { overflow-x: hidden; }
  .lh-app-header { position: sticky; top: 0; z-index: 20; }
  .lh-header-inner { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; padding: 11px 14px 0; }
  .lh-brand { min-width: 0; }
  .lh-brand-logo { width: min(168px, 58vw); height: auto; }
  .lh-user { grid-column: 2; grid-row: 1; align-self: center; }
  .lh-user > span { display: none; }
  .lh-avatar { min-width: 40px; min-height: 40px; }
  .lh-avatar[aria-label="Sign in or create account"] { min-width: 84px; min-height: 40px; padding: 0 11px; font-size: 12px; }
  .lh-nav { grid-column: 1 / -1; grid-row: 2; width: calc(100% + 28px); margin: 0 -14px; padding: 5px 12px 8px; display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; }
  .lh-nav::-webkit-scrollbar { display: none; }
  .lh-nav button { flex: 0 0 auto; min-height: 40px; padding: 9px 11px; white-space: nowrap; font-size: 12px; }
  .lh-nav button svg { width: 15px; height: 15px; }
  .lh-main { padding: 0 12px 28px; }
  .student-heading { padding: 18px 2px 12px; }
  .student-heading h1 { font-size: 25px; }
  .student-heading .student-date { font-size: 12px; }
  .lh-calhead { align-items: stretch; flex-direction: column; gap: 12px; }
  .lh-month-controls { justify-content: space-between; width: 100%; }
  .lh-month-controls h2 { font-size: 15px; }
  .lh-calendar-actions { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; }
  .lh-calendar-actions .lh-course-filter select { width: 100%; min-height: 42px; }
  .lh-calendar-actions #lh-new { min-height: 42px; padding-inline: 12px; white-space: nowrap; }
  .lh-calendar { padding: 12px; border-radius: 16px; }
  .student-calendar-scroll { margin-inline: -12px; padding-inline: 12px; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; }
  .student-calendar-scroll .lh-week, .student-calendar-scroll .lh-days { min-width: 680px; }
  .lh-day { min-height: 104px; padding: 8px 6px; }
  .lh-day-event { min-height: 30px; padding: 5px 6px; font-size: 11px; }
  .lh-imports { margin-top: 14px; }
  .lh-import-methods { grid-template-columns: 1fr 1fr; gap: 8px; }
  .lh-import-method { min-height: 84px; padding: 12px 8px; }
  .lh-import-grid { display: block; }
  .lh-import-form { padding: 14px; }
  .lh-import-form input, .lh-import-form select, .lh-import-form textarea { min-height: 44px; font-size: 16px; }
  .lh-task-dialog, .lh-event-dialog, .lh-plan-dialog { width: calc(100vw - 24px); max-width: none; max-height: calc(100dvh - 24px); margin: auto; padding: 20px 16px; border-radius: 20px; }
  .lh-task-dialog input, .lh-task-dialog select, .lh-task-dialog textarea { font-size: 16px; }
  .lh-task-actions { position: sticky; bottom: -20px; margin-inline: -16px; padding: 12px 16px 0; background: inherit; }
  .welcome-cards { gap: 12px; }
  .la-welcome { width: calc(100vw - 20px); max-height: calc(100dvh - 20px); padding: 24px 16px; }
  .la-welcome .welcome-close { top: 12px; right: 12px; }
  .welcome-heading { padding-right: 40px; }
  .la-welcome h2 { font-size: 28px; }
  .welcome-cards article { padding: 18px 16px; }
  .welcome-cards ol { margin-bottom: 18px; }
  .la-welcome footer { margin-top: 16px; }
  .lh-study-flow, .focus-main { min-width: 0; }
  .lh-choice { min-height: 108px; padding: 16px; }
  .tutor-zone { min-height: calc(100dvh - 150px); }
  .tutor-course { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 8px; }
  .tutor-course select { min-width: 0; min-height: 44px; font-size: 16px; }
  #tutor-course-hint { grid-column: 1 / -1; }
  #tutor-input { min-height: 92px; font-size: 16px; }
  .tutor-send-row { gap: 8px; align-items: center; }
  .tutor-send-row small { font-size: 10px; }
  .tutor-send-row button { min-height: 44px; }
  .lh-user-drawer { width: min(100vw, 420px); }
  .lh-user-drawer nav button { min-height: 48px; }
  .lh-notes-empty { padding-inline: 2px; }
  #notes-search { min-height: 44px; font-size: 16px; }
  #note-add { min-height: 44px; white-space: nowrap; }
}
