/* Keep statement entry controls inside the editor; only the line grid scrolls horizontally. */
.sales-entry-modal { min-width: 0; overflow-x: hidden; }
.sales-entry-modal .sales-entry-form,
.sales-entry-modal .sales-info-panel,
.sales-entry-modal .sales-grid-wrap { min-width: 0; max-width: 100%; }
.sales-entry-modal .sales-grid-wrap { width: 100%; overflow-x: auto; overscroll-behavior-x: contain; }
.sales-entry-modal .sales-field :is(input, select, textarea) { min-width: 0; max-width: 100%; }
.sales-entry-modal .sales-date-control { grid-template-columns: minmax(0, 1.2fr) 8px minmax(0, .8fr) 8px minmax(0, .8fr) 40px; }
.sales-entry-modal .sales-money-input { width: 100%; min-width: 0; }
.sales-entry-modal .sales-entry-grid input[type="number"] {
  width: 100%; min-width: 0; max-width: 100%; appearance: textfield; -moz-appearance: textfield;
}
.sales-entry-modal .sales-entry-grid input[type="number"]::-webkit-inner-spin-button,
.sales-entry-modal .sales-entry-grid input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.sales-entry-modal .sales-entry-grid input:focus { outline: 0; box-shadow: inset 0 0 0 2px rgb(0 148 157 / 35%); }
@media (min-width: 769px) {
  .sales-entry-modal { width: min(1260px, calc(100vw - 48px)); max-width: calc(100vw - 48px); }
  .sales-entry-modal .sales-info-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 769px) and (max-width: 900px) {
  .sales-entry-modal .sales-info-panel { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 768px) {
  .sales-entry-modal .sales-date-field,
  body.mw-mobile #app .sales-entry-modal .sales-date-field { grid-template-columns: minmax(0, 1fr) !important; }
}
