html, body { overflow-x: hidden; }

.comparison-value { display: grid; gap: 4px; min-width: 0; text-align: right; }
.comparison-value > small { display: none; }
.comparison-value strong { font-size: 15px; }

@media (max-width: 619px) {
  .page { padding-top: 24px; padding-bottom: 98px; }
  h1, .page-heading h1, .movement-hero h1, .receive-header h1 { font-size: 31px; line-height: 1.08; }
  h2 { font-size: 20px; }

  .auth-wrap { display: block; padding-top: 12px; }
  .auth-intro { padding: 4px 2px 0; }
  .auth-panel { margin-top: 18px; }

  .action-grid { grid-template-columns: 1fr; }
  .action-card { grid-template-columns: 28px minmax(0, 1fr) auto; padding: 14px; }
  .action-card h2 { font-size: 18px; }

  .page-heading { gap: 12px; margin-bottom: 16px; }
  .page-heading p { max-width: none; }

  .dispatch-form, .receive-form { gap: 10px; }
  .dispatch-panel, .receive-panel, .movement-card { border-left-width: 3px; }
  .dispatch-section-head, .receive-intro { gap: 11px; }
  .quality-actions .secondary-button { width: 100%; justify-content: center; }
  .quality-actions .live-total { width: 100%; }
  .quality-row input, .receive-input input { font-size: 18px; }

  .movement-hero, .receive-header { gap: 14px; margin-bottom: 18px; }
  .movement-total, .receive-total {
    width: 100%;
    min-width: 0;
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 7px;
    align-items: baseline;
    padding: 13px 14px;
  }
  .movement-total span, .movement-total small { margin: 0; }
  .movement-total strong { margin: 0; font-size: 24px; }

  .arrival-card { padding: 15px; }
  .arrival-top { gap: 10px; }
  .arrival-card h2 { font-size: 18px; }
  .arrival-open { max-width: 130px; text-align: right; line-height: 1.3; }

  .receive-row {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px 12px;
    padding: 14px 0;
  }
  .receive-quality { grid-column: 1; }
  .receive-sent { grid-column: 2; text-align: right; }
  .receive-input { grid-column: 1 / -1; }
  .receive-diff {
    grid-column: 1 / -1;
    min-height: auto;
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding-top: 3px;
    text-align: left;
  }
  .receive-diff small { margin: 0; }

  .comparison-head { display: none; }
  .comparison-item {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    padding: 14px 0;
  }
  .comparison-quality { grid-column: 1 / -1; font-size: 15px; }
  .comparison-value { text-align: left; }
  .comparison-value > small {
    display: block;
    margin-bottom: 2px;
    color: var(--faint);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
  }
  .comparison-value strong { font-size: 15px; white-space: nowrap; }
  .difference-value { text-align: right; }

  .closed-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .closed-summary > div { padding: 10px 7px; }
  .closed-summary strong { font-size: 11px; }

  .detail-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .detail-actions .primary-button { width: 100%; }
  .detail-actions > :first-child:last-child { grid-column: 1 / -1; }

  .ledger-filter-grid { gap: 0; }
  .ledger-summary { gap: 7px; }
  .ledger-summary article { padding: 12px; }
  .ledger-row { gap: 11px 9px; padding: 14px; }
  .ledger-route strong { font-size: 14px; }

  .data-panel { background: transparent; border: 0; }
  .table-row {
    margin-bottom: 8px;
    border: 1px solid var(--line);
    border-radius: 9px;
    background: var(--paper);
  }
  .table-row:last-child { border-bottom: 1px solid var(--line); }

  .form-layout { gap: 10px; }
  .mini-panel { padding: 16px; }
}

@media (min-width: 620px) {
  .comparison-value > small { display: none; }
  .comparison-value strong { font-size: 15px; }
}
