/* Phone and small tablet layout for the operations workspace. */
.calendar-swipe { display: none; }
@media (max-width: 760px) {
  body, main, #app, .maintenance-section, .workspace, .panel { min-width: 0; }
  .workspace, .maintenance-workspace { grid-template-columns: minmax(0, 1fr); }
  .maintenance-workspace > .panel { min-width: 0; }
  .section-head, .calendar-panel > .panel-head, .maintenance-section > .section-head {
    align-items: stretch;
    flex-direction: column;
    gap: 12px;
  }
  .fleet-actions { width: 100%; justify-content: stretch; }
  .fleet-actions button { min-height: 44px; flex: 1; }
  .calendar-controls {
    width: 100%;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) 44px;
    gap: 8px;
  }
  .calendar-controls > button { width: 44px; height: 44px; }
  .calendar-controls strong { min-width: 0; font-size: 12px; white-space: nowrap; }
  .view-switch { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; }
  .view-switch button { width: 100%; min-height: 42px; font-size: 12px; }
  .legend { gap: 8px 12px; margin: 13px 0 9px; padding: 9px 10px; }
  .calendar { max-width: 100%; overflow: hidden; }
  .calendar-controls .calendar-new { grid-column: 1 / -1; width: 100%; min-height: 44px; }
  .fleet-bar { align-items: stretch; flex-direction: column; }
  .app-nav button { min-height: 44px; }
  .maintenance-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .maintenance-card { min-width: 0; }
  .maintenance-section > .section-head button { min-height: 44px; align-self: stretch; }
  .range-popover { max-height: calc(100dvh - 24px); overflow-y: auto; }
  .range-day { height: 40px; }
  .block-dialog[open], .unit-dialog[open] { max-height: calc(100dvh - 16px); }
  .toast { right: 12px; bottom: 12px; max-width: calc(100vw - 24px); }
}

@media (max-width: 540px) {
  main { padding: 12px 12px 48px; }
  .site-header { height: 64px; padding: 0 13px; }
  .brand strong { font-size: 16px; }
  .brand small { font-size: 8px; }
  .hero { min-height: 0; padding: 22px 18px; gap: 17px; }
  .hero h1 { font-size: 27px; line-height: 1.12; }
  .hero p { font-size: 13px; line-height: 1.45; }
  .hero-actions { justify-content: flex-start; flex-wrap: wrap; }
  .hero-actions .light { min-height: 44px; }
  .stats { gap: 9px; margin: 14px 0 26px; }
  .stat { min-height: 102px; padding: 14px 12px 12px 15px; }
  .stat small { display: block; max-width: calc(100% - 20px); font-size: 11px; line-height: 1.3; }
  .stat strong { font-size: 27px; margin-top: 8px; }
  .stat .symbol { right: 10px; top: 10px; padding: 5px; font-size: 14px; }
  .fleet { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .unit-card { min-height: 132px; }
  .unit-main { display: grid; grid-template-columns: 120px minmax(0, 1fr); min-height: 132px; }
  .unit-image { height: 132px; }
  .unit-body { padding: 12px 10px 34px; min-width: 0; }
  .unit-body strong { white-space: normal; font-size: 13px; line-height: 1.25; }
  .unit-body small { font-size: 10px; line-height: 1.3; margin: 5px 0 8px; max-height: 27px; overflow: hidden; }
  .unit-status { font-size: 10px; padding: 5px 7px; }
  .unit-edit { top: auto; bottom: 8px; right: 9px; min-height: 30px; }
  .cal-dow span, .cal-num { font-size: 10px; }
  .cal-board[data-view="semana"] .cal-week { min-height: 320px; }
  .panel { padding: 15px; }
  .panel h2, .section-head h2 { font-size: 19px; }
  .two { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .calendar-editor > .two { grid-template-columns: minmax(0, 1fr); }
  .calendar-editor .date-editor .two { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .booking-summary { margin-top: 12px; }
  .calendar-editor .form-actions { gap: 8px; }
  .calendar-editor .form-actions .secondary { min-height: 44px; }
  .maintenance-summary { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .maintenance-card { min-height: 66px; }
  .maintenance-card img { width: 56px; height: 48px; }
  .maintenance-card strong { font-size: 13px; }
  .maintenance-card small { font-size: 11px; }
  .maintenance-settings-grid, .tire-grid { grid-template-columns: minmax(0, 1fr); }
  .tire-void { margin-left: 0; }
  .movement-row strong, .listitem strong { overflow-wrap: anywhere; }
  .bot-panel form { grid-template-columns: minmax(0, 1fr); }
  .bot-panel form .primary { width: 100%; }
  .settings { margin: 12px auto; }
  .settings > .panel-head { align-items: stretch; flex-direction: column; }
  .settings > .panel-head button { min-height: 44px; }
}

@media (max-width: 360px) {
  main { padding-inline: 9px; }
  .hero { padding: 19px 16px; }
  .stat small { font-size: 10px; }
  .unit-main { grid-template-columns: 104px minmax(0, 1fr); }
  .calendar-controls strong { font-size: 11px; }
}
