/* Shared mobile layout for the operations shell. */
@media (max-width: 700px) {
  html,
  body {
    min-width: 0;
    overflow-x: hidden;
  }

  .main-content {
    width: 100%;
    min-width: 0;
    margin-left: 0;
    padding: 22px 14px 48px;
  }

  .sidebar {
    width: min(86vw, 300px);
    padding: 24px 18px;
  }

  .topbar {
    align-items: stretch;
    gap: 14px;
    margin-bottom: 24px;
  }

  .topbar h1 {
    margin-top: 6px;
    font-size: 29px;
    overflow-wrap: anywhere;
  }

  .top-actions {
    justify-content: space-between;
    gap: 10px;
  }

  .hero,
  .usage-hero,
  .stock-hero,
  .supply-hero,
  .pob-hero,
  .vendor-review-hero {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 24px 20px;
  }

  .hero h2,
  .usage-hero h2,
  .stock-hero h2,
  .supply-hero h2,
  .pob-hero h2,
  .vendor-review-hero h2 {
    max-width: none;
    font-size: 27px;
  }

  .hero-mark,
  .usage-hero-mark,
  .stock-hero-mark,
  .supply-hero-mark,
  .pob-hero-mark,
  .vendor-review-hero-mark {
    justify-self: start;
    width: 56px;
    height: 56px;
  }

  .panel {
    padding: 18px;
  }

  .panel-header {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .panel-header > * {
    max-width: 100%;
  }

  .form-grid,
  .usage-details-grid,
  .table-tools,
  .filter-bar,
  .form-actions {
    grid-template-columns: 1fr !important;
  }

  .form-field.full {
    grid-column: auto;
  }

  .form-actions,
  .form-actions .btn,
  .panel-header .btn {
    width: 100%;
  }

  .usage-lines-heading,
  .line-items-heading,
  .table-header,
  .table-controls {
    align-items: stretch;
    flex-direction: column;
  }

  .usage-lines-heading .btn,
  .line-items-heading .btn,
  .table-header .btn,
  .table-controls .btn {
    width: 100%;
  }

  .table-panel,
  .table-wrap,
  .usage-table-wrap,
  .results,
  .responsive-table {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .table {
    min-width: 680px;
  }

  .table-tools input,
  .table-tools select,
  .filter-bar input,
  .filter-bar select {
    width: 100%;
  }

  .vendor-review-header,
  .vendor-company,
  .vendor-actions,
  .vendor-actions form,
  .vendor-order-meta,
  .vendor-order-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .vendor-company {
    gap: 8px;
  }

  .vendor-actions .btn,
  .vendor-actions form,
  .vendor-actions form .btn,
  .vendor-order-actions .btn {
    width: 100%;
  }

  .vendor-review-hero .vendor-queue-stats {
    display: grid;
    grid-template-columns: 1fr;
  }

  .vendor-prices-wrap,
  .vendor-orders-panel .table-scroll,
  .purchase-order-table-wrap,
  .po-items-table-wrap,
  .collection-order-table-wrap {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .vendor-prices,
  .purchase-order-table,
  .po-items-table,
  .collection-lines,
  .po-lines {
    min-width: 680px;
  }

  .vendor-review-card .panel-header,
  .vendor-review-card .panel-header > div,
  .vendor-review-card .vendor-actions {
    width: 100%;
  }

  .vendor-dashboard .hero,
  .vendor-portal-page .hero {
    margin-bottom: 18px;
  }

  .modal,
  .usage-day-modal {
    padding: 12px;
  }

  .modal-dialog,
  .usage-day-modal-dialog {
    max-height: 90vh;
    border-radius: 10px;
  }

  .usage-day-modal-header,
  .usage-day-modal-body {
    padding-left: 16px;
    padding-right: 16px;
  }
}

@media (max-width: 420px) {
  .main-content {
    padding-left: 10px;
    padding-right: 10px;
  }

  .topbar h1 {
    font-size: 26px;
  }

  .hero,
  .usage-hero,
  .stock-hero,
  .supply-hero,
  .pob-hero,
  .vendor-review-hero {
    padding: 20px 16px;
  }

  .panel {
    padding: 15px;
  }

  .date-pill {
    padding: 8px 10px;
  }
}
