/* r19: lightweight interaction and mobile polish. */
.status-bar.success { background: #e9f7ef; border-color: #b9e2c8; color: #1d6d41; }
.source-trace { display: block; margin-top: 4px; color: #718091; font-size: 12px; line-height: 1.45; }
.batch-row small { line-height: 1.5; }
.table td small { display: block; }
@media (max-width: 760px) {
  .main { min-width: 0; }
  .topbar { gap: 10px; align-items: flex-end; }
  .top-actions { flex-wrap: wrap; justify-content: flex-end; }
  .top-actions .month-picker { min-width: 142px; }
  .cards { grid-template-columns: 1fr 1fr; gap: 10px; }
  .split-grid { grid-template-columns: 1fr; gap: 12px; }
  .metric { padding: 14px; min-height: 116px; }
  .metric b { font-size: 22px; }
  .filters { grid-template-columns: 1fr; }
  .filter-actions { justify-content: stretch; }
  .filter-actions button { width: 100%; }
  .table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .table { min-width: 760px; }
  .table-card { padding: 12px; }
  .section-head { align-items: flex-start; gap: 12px; }
  .head-actions { flex-wrap: wrap; }
  .button-link, button, .status-select { min-height: 42px; }
  .preview-grid, .diff-grid, .comparison-grid, .status-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 430px) {
  .cards, .preview-grid, .diff-grid, .comparison-grid, .status-grid { grid-template-columns: 1fr; }
  .topbar h2 { font-size: 24px; }
  .brand strong { font-size: 18px; }
}
