.internal-trade-workspace {
  display: grid;
  width: 100%;
  min-width: 0;
  gap: 12px;
  color: var(--text, #172033);
}
.prospect-internal-trade-entry {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  width: 100%;
  padding: 13px 15px;
  border: 1px solid #b9cde0;
  border-left: 5px solid #2e75b6;
  border-radius: 9px;
  background: #f8fbfe;
}
.prospect-internal-trade-entry h4 { margin: 0 0 4px; color: #1f4e79; font-size: 17px; }
.prospect-internal-trade-entry p { margin: 0; color: #374151; font-size: 13px; font-weight: 700; line-height: 1.5; }
.prospect-internal-trade-entry button { flex: none; }
.internal-trade-workspace *,
.internal-trade-workspace *::before,
.internal-trade-workspace *::after { box-sizing: border-box; }
.internal-trade-workspace button,
.internal-trade-workspace input,
.internal-trade-workspace select { font: inherit; }
.internal-trade-workspace button {
  min-height: 44px;
  padding: 8px 13px;
  border: 1px solid #7f9fbe;
  border-radius: 6px;
  background: #fff;
  color: #1f4e79;
  font-weight: 800;
  cursor: pointer;
}
.internal-trade-workspace button:hover:not(:disabled) { border-color: #163b5c; background: #edf4fb; }
.internal-trade-workspace button:focus-visible,
.internal-trade-workspace input:focus-visible,
.internal-trade-workspace select:focus-visible { outline: 3px solid #163b5c; outline-offset: 2px; }
.internal-trade-workspace button:disabled { border-color: #aeb9c5; background: #e5e7eb; color: #4b5563; cursor: not-allowed; }
.internal-trade-primary { border-color: #1f4e79 !important; background: #1f4e79 !important; color: #fff !important; }
.internal-trade-primary:hover:not(:disabled) { border-color: #163b5c !important; background: #163b5c !important; }
.internal-trade-primary:disabled,
.internal-trade-primary:disabled:hover { border-color: #9ca3af !important; background: #e5e7eb !important; color: #4b5563 !important; }
.internal-trade-heading,
.internal-trade-upload,
.internal-trade-list,
.internal-trade-detail,
.internal-trade-empty,
.internal-trade-error-panel,
.internal-trade-boundary,
.internal-trade-save-receipt {
  width: 100%;
  min-width: 0;
  border: 1px solid #c8d6e4;
  border-radius: 9px;
  background: #fff;
  box-shadow: 0 4px 14px rgba(23, 59, 92, .04);
}
.internal-trade-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 15px 17px;
  border-top: 4px solid #2e75b6;
}
.internal-trade-heading p { margin: 0 0 4px; color: #52606d; font-size: 12px; font-weight: 700; }
.internal-trade-heading h4 { margin: 0; color: #1f4e79; font-size: 21px; }
.internal-trade-heading span { display: block; margin-top: 6px; color: #374151; font-weight: 700; line-height: 1.5; }
.internal-trade-heading button { flex: none; }
.internal-trade-heading-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.internal-tonnage-period-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; margin-top: 13px; }
.internal-tonnage-coverage { grid-column: 1 / -1; display: flex !important; align-items: center; gap: 8px; min-height: 44px; padding: 10px 11px; border: 1px solid #b9cde0; border-radius: 6px; background: #f3f8fd; color: #1f4e79 !important; }
.internal-tonnage-coverage input[type="checkbox"] { flex: none; width: 18px; min-width: 18px; height: 18px; min-height: 18px; margin: 0; padding: 0; accent-color: #1f4e79; }
.internal-trade-boundary {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 15px;
  padding: 11px 14px;
  border-left: 5px solid #2e75b6;
  background: #f3f8fd;
}
.internal-trade-boundary strong { color: #1f4e79; }
.internal-trade-boundary span { color: #374151; font-size: 13px; font-weight: 700; line-height: 1.55; }
.internal-trade-upload,
.internal-trade-list,
.internal-trade-detail { padding: 15px; }
.internal-trade-upload > div:first-child h5,
.internal-trade-section-heading h5,
.internal-trade-detail-heading h5,
.internal-trade-issues h6 { margin: 0 0 4px; color: #1f4e79; font-size: 17px; }
.internal-trade-upload > div:first-child p,
.internal-trade-section-heading p,
.internal-trade-detail-heading p,
.internal-trade-issues p { margin: 0; color: #52606d; font-size: 13px; font-weight: 700; line-height: 1.5; }
.internal-trade-file-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; margin-top: 13px; }
.internal-trade-workspace label { display: grid; min-width: 0; gap: 6px; color: #374151; font-size: 13px; font-weight: 800; }
.internal-trade-workspace input:not([type="file"]):not([type="checkbox"]),
.internal-trade-workspace select {
  width: 100%;
  min-height: 44px;
  padding: 7px 9px;
  border: 1px solid #aebfd0;
  border-radius: 6px;
  background: #fff;
  color: #111827;
  font-weight: 600;
}
.internal-trade-workspace input::placeholder { color: #6b7280; font-weight: 400; }
.internal-trade-workspace input[type="file"] { width: 100%; min-height: 44px; padding: 7px; border: 1px dashed #6f95b9; border-radius: 6px; background: #f8fbfe; color: #172033; }
.internal-trade-workspace label small { color: #1f4e79; overflow-wrap: anywhere; }
.internal-trade-upload > .internal-trade-primary { margin-top: 13px; }
.internal-trade-readonly { margin: 0; padding: 10px 12px; border: 1px solid #b9cde0; border-radius: 7px; background: #eaf2fb; color: #1f4e79; font-weight: 800; }
.internal-trade-save-receipt { display: flex; flex-wrap: wrap; gap: 7px 13px; padding: 11px 14px; border-left: 5px solid #006100; background: #effbf1; color: #064b06; font-weight: 700; line-height: 1.5; }
.internal-trade-save-receipt strong { color: #005400; }
.internal-trade-error,
.internal-trade-error-panel { color: #790008; }
.internal-trade-error { margin: 0; padding: 10px 12px; border: 1px solid #c96369; border-radius: 7px; background: #fff4f5; font-weight: 800; line-height: 1.55; }
.internal-trade-error-panel { padding: 15px; border-color: #c96369; border-left: 5px solid #9c0006; background: #fff4f5; }
.internal-trade-error-panel strong { font-size: 17px; }
.internal-trade-error-panel p { margin: 7px 0 12px; line-height: 1.55; }
.internal-trade-error-panel button { border-color: #9c0006; color: #790008; }
.internal-trade-error-panel button:hover:not(:disabled) { background: #9c0006; color: #fff; }
.internal-trade-loading { padding: 22px; border: 1px solid #b9cde0; border-radius: 8px; background: #f3f8fd; color: #1f4e79; font-weight: 800; text-align: center; }
.internal-trade-empty { padding: 26px 17px; text-align: center; }
.internal-trade-empty strong { color: #1f4e79; font-size: 17px; }
.internal-trade-empty p { margin: 7px 0 0; color: #52606d; font-weight: 700; line-height: 1.55; }
.internal-trade-section-heading,
.internal-trade-detail-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.internal-trade-section-heading > span { color: #52606d; font-size: 12px; font-weight: 700; text-align: right; }
.internal-trade-analysis-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); gap: 10px; margin-top: 13px; }
.internal-trade-analysis-card { display: grid; align-content: start; gap: 9px; min-width: 0; padding: 12px; border: 1px solid #c8d6e4; border-left: 5px solid #2e75b6; border-radius: 7px; background: #fff; }
.internal-trade-analysis-card > div { display: grid; gap: 4px; }
.internal-trade-analysis-card span { color: #52606d; font-size: 12px; font-weight: 800; }
.internal-trade-analysis-card strong { color: #1f4e79; font-size: 15px; overflow-wrap: anywhere; }
.internal-trade-analysis-card p { min-height: 39px; margin: 0; color: #374151; font-size: 13px; font-weight: 700; line-height: 1.5; }
.internal-trade-analysis-card button { justify-self: start; min-height: 38px; }
.internal-trade-pager { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; margin-top: 13px; color: #52606d; font-size: 13px; font-weight: 700; }
.internal-trade-pager button { min-height: 38px; }
.internal-trade-detail { border-top: 4px solid #1f4e79; }
.internal-trade-summary-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin: 13px 0; }
.internal-trade-summary-grid > span,
.internal-trade-metrics > span { display: grid; min-width: 0; gap: 4px; padding: 9px 10px; border: 1px solid #c8d6e4; border-top: 3px solid #2e75b6; border-radius: 6px; background: #f8fbfe; }
.internal-trade-summary-grid small,
.internal-trade-metrics small { color: #52606d; font-size: 11px; font-weight: 800; }
.internal-trade-summary-grid strong,
.internal-trade-metrics strong { color: #1f4e79; font-size: 16px; overflow-wrap: anywhere; }
.internal-trade-source-details { margin: 12px 0; padding: 9px 11px; border: 1px solid #c8d6e4; border-radius: 6px; background: #f8fbfe; }
.internal-trade-source-details summary { color: #1f4e79; font-weight: 800; cursor: pointer; }
.internal-trade-source-details dl { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 6px 12px; margin: 10px 0 0; }
.internal-trade-source-details dt { color: #52606d; font-weight: 700; }
.internal-trade-source-details dd { min-width: 0; margin: 0; color: #172033; overflow-wrap: anywhere; }
.internal-trade-row-filters { display: grid; grid-template-columns: minmax(220px, 2fr) minmax(150px, 1fr) max-content; align-items: end; gap: 10px; padding: 12px; border: 1px solid #c8d6e4; border-radius: 7px; background: #f8fbfe; }
.internal-trade-row-filters > div { display: flex; flex-wrap: wrap; gap: 8px; }
.internal-tonnage-row-filters { grid-template-columns: minmax(180px, 2fr) minmax(135px, 1fr) minmax(135px, 1fr) max-content; }
.internal-tonnage-ranking { min-width: 0; margin-top: 12px; border: 1px solid #c8d6e4; border-radius: 7px; overflow: hidden; }
.internal-tonnage-ranking-header,
.internal-tonnage-ranking-row { display: grid; grid-template-columns: 72px minmax(150px, 2fr) repeat(3, minmax(112px, 1fr)); min-width: 0; }
.internal-tonnage-ranking-header { background: #eaf2fb; color: #1f4e79; font-size: 12px; font-weight: 800; }
.internal-tonnage-ranking-header > .internal-tonnage-ranking-cell { padding: 10px; }
.internal-tonnage-ranking-row { align-items: stretch; border-top: 1px solid #d7e2ed; background: #fff; }
.internal-tonnage-ranking-row:first-of-type { border-top: 0; }
.internal-tonnage-ranking-cell { display: grid; min-width: 0; align-content: center; gap: 3px; padding: 11px 10px; color: #172033; overflow-wrap: anywhere; }
.internal-tonnage-ranking-cell + .internal-tonnage-ranking-cell { border-left: 1px solid #e1e8ef; }
.internal-tonnage-ranking-cell small { display: none; color: #52606d; font-size: 11px; font-weight: 800; }
.internal-tonnage-ranking-cell strong { color: #1f4e79; font-size: 15px; line-height: 1.4; overflow-wrap: anywhere; }
.internal-tonnage-rank strong { font-size: 17px; }
.internal-tonnage-row-details { grid-column: 1 / -1; padding: 0 10px 10px; border-top: 1px dashed #d7e2ed; color: #374151; }
.internal-tonnage-row-details summary { padding-top: 9px; color: #1f4e79; font-size: 13px; font-weight: 800; cursor: pointer; }
.internal-tonnage-row-details p { margin: 8px 0 0; line-height: 1.5; }
.internal-tonnage-row-details .internal-trade-partial-note { margin-top: 8px; }
.internal-contact-brief-open { align-self: start; min-height: 38px !important; margin-top: 3px; padding: 6px 9px !important; border-color: #1f4e79 !important; background: #1f4e79 !important; color: #fff !important; font-size: 13px; }
.internal-contact-brief-open:hover:not(:disabled) { border-color: #163b5c !important; background: #163b5c !important; }
.internal-contact-brief-state { margin: 12px 0; scroll-margin-top: 80px; }
.internal-contact-brief-state button { display: block; margin: 10px auto 0; }
.internal-contact-brief { display: grid; min-width: 0; gap: 11px; margin: 12px 0; padding: 13px; border: 1px solid #7f9fbe; border-top: 4px solid #1f4e79; border-radius: 8px; background: #f8fbfe; scroll-margin-top: 8px; }
.internal-contact-brief-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.internal-contact-brief-heading > div { min-width: 0; }
.internal-contact-brief-heading p { margin: 0 0 4px; color: #52606d; font-size: 12px; font-weight: 800; }
.internal-contact-brief-heading h6,
.internal-contact-brief-contacts h6,
.internal-contact-brief-history h6 { margin: 0; color: #1f4e79; font-size: 17px; line-height: 1.4; overflow-wrap: anywhere; white-space: pre-wrap; }
.internal-contact-brief-heading span { display: block; margin-top: 4px; color: #374151; font-size: 13px; font-weight: 700; line-height: 1.5; }
.internal-contact-brief-heading button { flex: none; }
.internal-contact-brief-contacts,
.internal-contact-brief-history { min-width: 0; padding: 11px; border: 1px solid #c8d6e4; border-radius: 7px; background: #fff; }
.internal-contact-brief-contacts > div p,
.internal-contact-brief-history > div p { margin: 5px 0 0; color: #374151; font-size: 13px; font-weight: 700; line-height: 1.5; }
.internal-contact-brief-contacts dl,
.internal-contact-brief-source-fields dl { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 7px 12px; margin: 11px 0 0; }
.internal-contact-brief-contacts dt,
.internal-contact-brief-source-fields dt { color: #52606d; font-size: 13px; font-weight: 800; }
.internal-contact-brief-contacts dd,
.internal-contact-brief-source-fields dd { min-width: 0; margin: 0; color: #172033; font-weight: 700; line-height: 1.5; overflow-wrap: anywhere; white-space: pre-wrap; }
.internal-contact-brief-phones,
.internal-contact-brief-history ul { display: grid; gap: 7px; margin: 11px 0 0; padding: 0; list-style: none; }
.internal-contact-brief-phones li { display: grid; grid-template-columns: minmax(88px, max-content) minmax(0, 1fr) max-content; align-items: center; gap: 8px; padding: 8px 9px; border: 1px solid #d3dfeb; border-radius: 5px; background: #f8fbfe; }
.internal-contact-brief-phones strong { color: #1f4e79; font-size: 13px; }
.internal-contact-brief-phones a,
.internal-contact-brief-phones span { min-width: 0; color: #172033; font-weight: 800; overflow-wrap: anywhere; white-space: pre-wrap; }
.internal-contact-brief-phones a { color: #1f4e79; text-decoration-thickness: 2px; }
.internal-contact-brief-phones em { padding: 3px 6px; border-radius: 4px; font-size: 12px; font-style: normal; font-weight: 800; line-height: 1.4; }
.internal-contact-brief-phone-format_valid_unverified { background: #eaf2fb; color: #1f4e79; }
.internal-contact-brief-phone-missing { background: #e5e7eb; color: #374151; }
.internal-contact-brief-phone-needs_review { background: #ffeb9c; color: #6a4600; }
.internal-contact-brief-history ul li { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 8px 9px; border: 1px solid #d3dfeb; border-radius: 5px; background: #f8fbfe; }
.internal-contact-brief-history ul strong { color: #1f4e79; overflow-wrap: anywhere; }
.internal-contact-brief-history ul span { color: #374151; font-size: 13px; font-weight: 700; line-height: 1.5; text-align: right; overflow-wrap: anywhere; }
.internal-contact-brief-empty-history,
.internal-contact-brief-history-note { margin: 10px 0 0; color: #374151; font-size: 13px; font-weight: 700; line-height: 1.55; }
.internal-contact-brief-source-fields { padding: 10px 11px; border: 1px solid #c8d6e4; border-radius: 6px; background: #fff; }
.internal-contact-brief-source-fields summary { color: #1f4e79; font-weight: 800; cursor: pointer; }
.internal-contact-brief-source-fields p { margin: 10px 0 0; color: #374151; font-size: 13px; font-weight: 700; line-height: 1.5; }
.internal-contact-brief-navigation { display: grid; grid-template-columns: max-content minmax(0, 1fr) max-content; align-items: center; gap: 9px; padding-top: 1px; }
.internal-contact-brief-navigation span { color: #374151; font-size: 13px; font-weight: 700; line-height: 1.5; text-align: center; }
.internal-trade-partial-note { margin: 12px 0; padding: 10px 12px; border: 1px solid #d4a246; border-left: 5px solid #9c6500; border-radius: 6px; background: #fff8df; color: #684300; font-weight: 800; line-height: 1.55; }
.internal-trade-row-list { display: grid; gap: 10px; margin-top: 12px; }
.internal-trade-row-card { min-width: 0; padding: 13px; border: 1px solid #c8d6e4; border-left: 5px solid #2e75b6; border-radius: 7px; background: #fff; }
.internal-trade-row-card header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.internal-trade-row-card header > div { min-width: 0; }
.internal-trade-row-card header span { color: #52606d; font-size: 12px; font-weight: 800; }
.internal-trade-row-card h6 { margin: 4px 0; color: #1f4e79; font-size: 17px; overflow-wrap: anywhere; white-space: pre-wrap; }
.internal-trade-row-card header small { color: #374151; font-size: 13px; font-weight: 700; }
.internal-trade-row-card header > strong { flex: none; padding: 4px 8px; border-radius: 5px; font-size: 13px; }
.internal-trade-status-matched { background: #c6efce; color: #006100; }
.internal-trade-status-unmatched { background: #eaf2fb; color: #1f4e79; }
.internal-trade-status-needs_review { background: #ffeb9c; color: #6a4600; }
.internal-trade-no-metric { margin: 12px 0 0; color: #374151; font-weight: 700; line-height: 1.55; }
.internal-trade-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 12px; }
.internal-trade-categories { margin-top: 12px; padding: 11px 12px; border: 1px solid #c8d6e4; border-radius: 6px; background: #f8fbfe; }
.internal-trade-categories > strong { color: #1f4e79; }
.internal-trade-categories ul { display: grid; gap: 6px; margin: 9px 0 0; padding: 0; list-style: none; }
.internal-trade-categories li { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 7px 8px; border: 1px solid #d3dfeb; border-radius: 5px; background: #fff; color: #374151; font-size: 13px; font-weight: 700; }
.internal-trade-categories li span:last-child { text-align: right; }
.internal-trade-row-issues { margin: 10px 0 0; color: #684300; font-weight: 800; line-height: 1.5; }
.internal-trade-issues { margin-top: 14px; padding: 13px; border: 1px solid #b9cde0; border-radius: 7px; background: #f3f8fd; }
.internal-trade-issues ol { display: grid; gap: 7px; margin: 11px 0 0; padding: 0; list-style: none; }
.internal-trade-issues li { display: flex; justify-content: space-between; gap: 12px; padding: 8px 9px; border: 1px solid #c8d6e4; border-radius: 5px; background: #fff; color: #374151; font-size: 13px; }
.internal-trade-issues li strong { color: #1f4e79; }
.internal-trade-issues li span { overflow-wrap: anywhere; text-align: right; }

@media (max-width: 1259px) and (min-width: 761px) {
  .internal-trade-summary-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .internal-trade-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .internal-trade-row-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .internal-trade-workspace { gap: 10px; }
  /* Saved images precede the long upload form only on a narrow first view. */
  .internal-trade-heading { order: 1; }
  .internal-trade-list { order: 2; }
  .internal-trade-boundary { order: 3; }
  .internal-trade-upload,
  .internal-trade-readonly,
  .internal-trade-save-receipt,
  .internal-trade-error,
  .internal-trade-error-panel,
  .internal-trade-loading,
  .internal-trade-empty,
  .internal-trade-detail { order: 4; }
  /* Keep the focused top edge visible after fractional root-scroll rounding. */
  .internal-tonnage-workspace .internal-trade-detail { scroll-margin-top: 1px; }
  .prospect-internal-trade-entry { align-items: stretch; flex-direction: column; padding: 13px 12px; }
  .prospect-internal-trade-entry button { width: 100%; }
  .internal-trade-workspace button { min-height: 44px; }
  .internal-trade-heading,
  .internal-trade-section-heading,
  .internal-trade-detail-heading { align-items: stretch; flex-direction: column; }
  .internal-trade-heading-actions { display: grid; grid-template-columns: 1fr; }
  .internal-trade-heading-actions button { width: 100%; }
  .internal-trade-heading { padding: 14px 12px; }
  .internal-trade-heading h4 { font-size: 20px; }
  .internal-trade-heading button { width: 100%; }
  .internal-trade-upload,
  .internal-trade-list,
  .internal-trade-detail { padding: 13px 12px; }
  .internal-trade-file-grid,
  .internal-tonnage-period-grid,
  .internal-trade-row-filters,
  .internal-trade-summary-grid,
  .internal-trade-metrics { grid-template-columns: 1fr; }
  .internal-tonnage-ranking-header { display: none; }
  .internal-tonnage-ranking-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; }
  .internal-tonnage-ranking-cell { min-height: 58px; padding: 9px 10px; }
  .internal-tonnage-ranking-cell small { display: block; }
  .internal-tonnage-ranking-cell + .internal-tonnage-ranking-cell { border-left: 0; }
  .internal-tonnage-ranking-cell:nth-child(even) { border-left: 1px solid #e1e8ef; }
  .internal-tonnage-company { grid-column: 1 / -1; border-bottom: 1px solid #e1e8ef; }
  .internal-tonnage-company + .internal-tonnage-ranking-cell { border-left: 0; }
  .internal-tonnage-row-details { grid-column: 1 / -1; }
  .internal-tonnage-coverage { grid-column: auto; }
  .internal-trade-upload > .internal-trade-primary { width: 100%; }
  .internal-trade-section-heading > span { text-align: left; }
  .internal-trade-analysis-grid { grid-template-columns: 1fr; }
  .internal-trade-analysis-card button { width: 100%; }
  .internal-trade-row-filters > div { display: grid; grid-template-columns: 1fr; }
  .internal-trade-row-filters > div button { width: 100%; }
  .internal-trade-row-card header { align-items: stretch; flex-direction: column; }
  .internal-trade-row-card header > strong { width: max-content; }
  .internal-trade-categories li,
  .internal-trade-issues li { align-items: stretch; flex-direction: column; }
  .internal-trade-categories li span:last-child,
  .internal-trade-issues li span { text-align: left; }
  .internal-trade-pager { justify-content: stretch; }
  .internal-trade-pager span { width: 100%; }
  .internal-trade-pager button { flex: 1; }
  /* Keep the first customer's metrics visible after opening a mobile ranking. */
  .internal-tonnage-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; margin: 5px 0; }
  .internal-tonnage-summary-grid > span { display: flex; align-items: baseline; justify-content: space-between; gap: 6px; padding: 4px 8px; }
  .internal-tonnage-summary-grid > span:first-child { grid-column: 1 / -1; }
  .internal-tonnage-summary-grid small { font-size: 12px; }
  .internal-tonnage-row-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 9px; }
  .internal-tonnage-row-filters > label:first-child,
  .internal-tonnage-row-filters > div { grid-column: 1 / -1; }
  .internal-tonnage-row-filters > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .internal-tonnage-ranking-cell { min-height: 50px; padding: 7px 8px; }
  .internal-tonnage-ranking-cell small { font-size: 12px; }
  .internal-tonnage-company { grid-column: auto; border-bottom: 0; }
  .internal-contact-brief-open { min-height: 44px !important; width: 100%; }
  .internal-contact-brief-heading { align-items: stretch; flex-direction: column; }
  .internal-contact-brief-heading button { width: 100%; }
  .internal-contact-brief-contacts dl,
  .internal-contact-brief-source-fields dl { grid-template-columns: 1fr; gap: 3px; }
  .internal-contact-brief-contacts dd { margin-bottom: 6px; }
  .internal-contact-brief-phones li { grid-template-columns: 1fr; gap: 4px; }
  .internal-contact-brief-phones em { justify-self: start; }
  .internal-contact-brief-history ul li { align-items: stretch; flex-direction: column; gap: 4px; }
  .internal-contact-brief-history ul span { text-align: left; }
  .internal-contact-brief-navigation { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .internal-contact-brief-navigation span { grid-column: 1 / -1; grid-row: 1; text-align: left; }
  .internal-contact-brief-navigation button { width: 100%; }
  .internal-tonnage-ranking-cell:nth-child(5) { grid-column: 1 / -1; border-top: 1px solid #e1e8ef; }
  .internal-tonnage-row-details summary { display: flex; align-items: center; min-height: 44px; padding-top: 0; }
  .internal-tonnage-row-details summary::before { content: '▸'; margin-right: 6px; }
  .internal-tonnage-row-details[open] summary::before { content: '▾'; }
}
