/* Mobile-only improvements; desktop styling is unchanged. */
@media screen and (max-width: 767px) {
  html { overflow-x: auto; }
  body { min-width: 0; overflow-x: auto; -webkit-text-size-adjust: 100%; }
  #content { min-width: 0; }
  .content-panel, .centered-panel, .panel, .tabs-panel { box-sizing: border-box; max-width: 100%; }
  .centered-panel, .tabs-panel { margin-left: 0; margin-right: 0; }
  .content-panel { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .content-panel > .panel, .content-panel > .centered-panel { width: max-content; min-width: min(100%, 360px); max-width: none; }
  .content-panel input, .content-panel select, .content-panel textarea { max-width: none; }
  #calendar { width: 100%; min-width: 0; box-sizing: border-box; }
  .calendar-scroll { width: 100%; max-width: 100%; overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; }
  .calendar-scroll > .calendar-table { width: max-content !important; min-width: 100%; table-layout: auto; margin-left: 0; margin-right: 0; }
  .calendar-scroll .calendar-date-col { min-width: 0; }
  .calendar-scroll .calendar-date-table { width: max-content; min-width: 100%; }
  .calendar-scroll .calendar-date-table .calendar-square-row td:not(.calendar-time-col),
  .calendar-scroll .calendar-date-table .calendar-core-row td:not(.calendar-time-col) { min-width: 88px; }
  .calendar-scroll .calendar-time-col { min-width: 106px; position: sticky; left: 0; z-index: 2; background: #fff; }
  .calendar-scroll .calendar-cell { white-space: nowrap; }
  #calendar-toolbar { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
}
