/* Mobile agenda only. The desktop dispatch board remains unchanged. */
.mobile-schedule { display: none; }
@media (max-width: 700px), (max-width: 1100px) and (pointer: coarse) {
  .schedule-page .dispatch-toolbar, .schedule-page .dispatch-weather-credit { display: none !important; }
  .mobile-schedule-views { display: flex; gap: 4px; background: #e4efe9; padding: 4px; border-radius: 12px; }
  .mobile-schedule-views button { flex: 1; min-height: 44px; border: 0; border-radius: 9px; background: transparent; color: #28594d; font: inherit; font-size: 14px; font-weight: 700; }
  .mobile-schedule-views button[aria-pressed="true"] { background: #007653; color: white; }
  .mobile-schedule-week-picker { display: flex; align-items: center; gap: 10px; margin-top: 12px; font-size: 14px; }
  .mobile-schedule-week-picker input { min-height: 44px; min-width: 0; padding: 8px; border: 1px solid #bdd8ce; border-radius: 8px; font-size: 16px; }
  .mobile-schedule-completed { margin-top: 10px; }
  .mobile-schedule-completed summary { min-height: 44px; padding: 12px 0; color: #286551; font-size: 14px; font-weight: 700; cursor: pointer; }
  .mobile-schedule-status { border-radius: 6px; padding: 4px 7px; font-size: 14px; background: #edf1f4; color: #43566a; }
  .mobile-schedule-status.status-scheduled { background: #e3f1ff; color: #155e99; }
  .mobile-schedule-status.status-in_progress { background: #fff0cc; color: #835500; }
  .mobile-schedule-status.status-completed { background: #d9f2e4; color: #176544; }
  .schedule-page .dispatch-board, .schedule-page .dispatch-outstanding-strip, .schedule-page .my-jobs-mobile { display: none !important; }
  .schedule-page .mobile-schedule { display: block; width: 100%; min-width: 0; padding-bottom: 24px; }
  .schedule-page .module-title-row { margin-bottom: 12px; }
  .schedule-page .module-title-row h1 { font-size: 25px; }
  .schedule-page .dispatch-toolbar { display: flex; flex-wrap: wrap; gap: 10px; padding: 12px; height: auto; }
  .schedule-page .dispatch-toolbar > strong { width: 100%; text-align: center; }
  .schedule-page .dispatch-toolbar-right { flex-wrap: wrap; min-width: 0; }
  .schedule-page .dispatch-toolbar button, .schedule-page .dispatch-toolbar input { min-height: 44px; }
  .mobile-schedule-filter { display: flex; align-items: end; gap: 10px; padding: 14px 0; }
  .mobile-schedule-filter label { flex: 1; min-width: 0; display: grid; gap: 6px; font-size: 12px; font-weight: 700; color: #42655d; }
  .mobile-schedule-filter select { width: 100%; min-height: 46px; padding: 10px; background: white; border: 1px solid #bdd8ce; border-radius: 10px; color: #073c45; font: inherit; font-size: 16px; }
  .mobile-schedule-filter > button { min-height: 46px; padding: 10px 12px; border: 1px solid #bdd8ce; border-radius: 10px; background: #fff; color: #006b4a; font-weight: 700; }
  .mobile-schedule-day { margin: 0 0 18px; }
  .mobile-schedule-day h3 { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin: 0 0 8px; padding: 9px 0; font-size: 15px; color: #073c45; }
  .mobile-schedule-day h3 > span:last-child { border-radius: 20px; background: #e0f1e9; padding: 4px 9px; font-size: 12px; }
  .schedule-page .mobile-schedule-card { display: flex; flex-direction: column; width: 100%; gap: 5px; margin: 0 0 8px; padding: 11px; border: 1px solid #cce0d9; border-left: 4px solid #00a77c; border-radius: 12px; background: #fff; color: #073c45; text-align: left; font: inherit; cursor: pointer; box-shadow: 0 2px 5px #073c4505; white-space: normal; }
  .schedule-page .mobile-schedule-card.is-fault { border-left-color: #e94e70; }
  .schedule-page .mobile-schedule-card.is-completed { background: #edf7f2; }
  .mobile-schedule-card-top, .mobile-schedule-card-bottom { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 6px; }
  .mobile-schedule-card-top { font-size: 14px; }
  .mobile-schedule-kind { font-size: 11px; padding: 4px 8px; background: #edf5f2; border-radius: 6px; }
  .mobile-schedule-customer { font-size: 17px; line-height: 1.4; overflow-wrap: anywhere; }
  .mobile-schedule-description { font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; color: #526d69; }
  .mobile-schedule-card-bottom { border-top: 1px solid #edf3ef; padding-top: 9px; font-size: 12px; color: #526d69; }
  .mobile-schedule-open { font-size: 12px; font-weight: 700; color: #007553; }
  .mobile-schedule-empty { margin: 0; padding: 15px; border: 1px dashed #c9dcd5; border-radius: 10px; color: #657d75; font-size: 13px; background: #f7fbf9; }
  .mobile-schedule-outstanding { margin-bottom: 15px; border: 1px solid #e6c883; border-radius: 10px; background: #fffbef; padding: 12px; }
  .mobile-schedule-outstanding summary { min-height: 44px; color: #93542b; font-size: 14px; font-weight: 700; cursor: pointer; }
  .mobile-schedule-outstanding summary small { display: block; margin-top: 5px; font-weight: 400; }
  .mobile-schedule-outstanding > div { margin-top: 10px; }
  .mobile-schedule-overdue-date { color: #a74c30; font-size: 12px; }
  .mobile-schedule button:focus-visible, .mobile-schedule select:focus-visible, .mobile-schedule summary:focus-visible { outline: 3px solid #00a77c; outline-offset: 3px; }
  .dispatch-modal { max-height: 94dvh !important; }
}
