/* YS-MOBILE-FINAL-POLISH-HOTFIX-20260922-V6 */
@media screen and (max-width: 767.98px) {
  /* Reserve the complete height of the fixed mobile header so the workspace
     tabs cannot rise into and clip its controls. */
  .layout.mobile .global-header-shell {
    height: 70px !important;
    min-height: 70px !important;
    flex: 0 0 70px !important;
  }
  .layout.mobile .global-header-shell .topbar,
  .layout.mobile .global-header-shell .topbar-inner {
    height: 70px !important;
    min-height: 70px !important;
  }
  .layout.mobile .global-header-shell .ant-header-fixedHeader {
    top: 0 !important;
    z-index: 20 !important;
  }

  /* Mobile pages must not scroll underneath the global tab strip. Keep the
     strip in normal flow so every page starts below the visible tabs. */
  .layout.mobile .tab-layout-tabs.ant-tabs {
    position: relative !important;
    top: auto !important;
  }

  /* A range picker cannot fit two desktop calendars on a phone. Keep one
     month visible so every date remains readable and tappable. */
  .ant-calendar-picker-container {
    left: 50% !important;
    right: auto !important;
    width: calc(100vw - 40px) !important;
    max-width: 420px !important;
    transform: translateX(-50%) !important;
    z-index: 1050 !important;
  }
  .ant-calendar-picker-container .ant-calendar-range {
    width: 100% !important;
    min-width: 0 !important;
    overflow: hidden;
  }
  .ant-calendar-picker-container .ant-calendar-range-part.ant-calendar-range-left {
    width: 100% !important;
  }
  .ant-calendar-picker-container .ant-calendar-range-part.ant-calendar-range-right,
  .ant-calendar-picker-container .ant-calendar-range-middle {
    display: none !important;
  }
  .ant-calendar-picker-container .ant-calendar-range-part .ant-calendar {
    width: 100% !important;
    min-width: 0 !important;
  }
  .ant-calendar-picker-container .ant-calendar-range-part .ant-calendar-header {
    padding: 0 4px;
  }
  .ant-calendar-picker-container .ant-calendar-range-part .ant-calendar-body {
    padding: 8px 2px;
  }
  .ant-calendar-picker-container .ant-calendar-range-part .ant-calendar-table {
    width: 100%;
    table-layout: fixed;
  }
  .ant-calendar-picker-container .ant-calendar-range-part .ant-calendar-column-header,
  .ant-calendar-picker-container .ant-calendar-range-part .ant-calendar-cell {
    padding: 0;
  }

  /* Keep all metric choices available without letting the last button overflow. */
  .sales-flow-team-chart .sales-flow-metric {
    align-items: center;
    overflow-x: auto;
    scrollbar-width: thin;
  }
  .sales-flow-team-chart .sales-flow-metric-label {
    flex: 0 0 auto;
    padding-top: 0;
    white-space: nowrap;
  }
  .sales-flow-team-chart .sales-flow-metric .ant-radio-group {
    display: inline-flex !important;
    flex: 0 0 auto;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
  }
  .sales-flow-team-chart .sales-flow-metric .ant-radio-button-wrapper {
    flex: 0 0 auto;
    padding: 0 8px !important;
    font-size: 12px !important;
    line-height: 32px !important;
  }

  /* Let compact summary values wrap instead of truncating at the card edge. */
  .mic-performance .summary-card .ant-statistic-content {
    max-width: 100%;
    overflow: visible;
    font-size: 17px;
    line-height: 1.25;
    text-overflow: clip;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  .mic-performance .summary-card .ant-statistic-content-value,
  .mic-performance .summary-card .ant-statistic-content-prefix,
  .mic-performance .summary-card .ant-statistic-content-suffix {
    white-space: normal;
    overflow-wrap: anywhere;
  }

  /* Keep pagination controls in a reachable row; jump controls expose page 5+. */
  .layout.mobile .ant-pagination {
    display: flex !important;
    flex-wrap: nowrap;
    justify-content: flex-end;
    align-items: center;
    gap: 0;
    white-space: normal;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .layout.mobile .ant-pagination-total-text {
    display: none;
  }
  .layout.mobile .ant-pagination-jump-prev,
  .layout.mobile .ant-pagination-jump-next {
    display: inline-block !important;
    flex: 0 0 auto;
  }
  .layout.mobile .ant-pagination-item {
    flex: 0 0 auto;
  }
  .layout.mobile .ant-pagination-prev,
  .layout.mobile .ant-pagination-next,
  .layout.mobile .ant-pagination-item {
    min-width: 36px;
    height: 40px;
    margin: 0 2px;
    line-height: 38px;
  }
  .layout.mobile .ant-pagination-jump-prev,
  .layout.mobile .ant-pagination-jump-next {
    min-width: 28px;
    height: 40px;
    margin: 0 1px;
    line-height: 40px;
  }
  .layout.mobile .ant-pagination-options {
    display: none;
  }

  /* Keep the first form row below the sticky tab strip on narrow screens. */
  .layout.mobile .tab-layout-content {
    padding-top: 6px !important;
  }

  .hospital-flow-modal .ant-table-pagination {
    display: flex !important;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 6px;
    width: 100%;
    margin: 12px 0 0 !important;
    padding: 0 4px;
    text-align: left !important;
  }
  .hospital-flow-modal .ant-table-pagination > li {
    float: none !important;
    margin-top: 0;
    margin-bottom: 0;
  }
  .hospital-flow-modal .ant-table-pagination .ant-pagination-options {
    margin-left: auto;
  }
  .hospital-flow-modal .ant-table-pagination .ant-pagination-total-text {
    margin-right: 0;
  }
}
