.abb-browser { min-width: 0; }
.abb-browser .microcom-detail, .abb-browser .microcom-remote-stage { min-width: 0; }
.abb-browser .microcom-client-status-summary { min-width: 0; }
.abb-browser .microcom-client-rail { min-width: 0; padding: 17px 10px; background: var(--surface-3); }
.abb-browser .microcom-client-rail h3 { margin: 0 0 12px; font-size: 14px; }
.abb-browser .microcom-client-list { margin-top: 10px; }
.abb-browser .microcom-client-status-summary dd { white-space: normal; display: block; overflow-wrap: anywhere; font-size: 11px; }
.abb-browser .microcom-remote-stage { padding: 17px 16px; }
.abb-browser .microcom-remote-heading { padding: 0 0 16px; margin-bottom: 14px; }
.abb-browser .microcom-remote-status-summary dd { font-size: 11px; }
.abb-browser .microcom-remote-identity { min-width: 0; }
.abb-browser .microcom-client-identity h3 { overflow-wrap: anywhere; }
.abb-browser .microcom-remote-identity p { margin: 4px 0; }
.abb-path { overflow-wrap: anywhere; font-family: var(--font-mono, monospace); font-size: 11px; }
.abb-browser .table-wrap { overflow-x: auto; }
.abb-browser table { min-width: 650px; }
.abb-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; }
#abbEditor .abb-route-preview { white-space: pre-wrap; overflow-wrap: anywhere; margin: 12px 0; padding: 12px; border-left: 2px solid var(--teal); background: var(--surface-2); font-size: 11px; }
#abbEditor .field { margin-bottom: 12px; }
#abbSignals .field-help { display: block; }
#abbSignals td > label { display: inline-flex; align-items: center; gap: 8px; margin: 0; }
#abbSignals input[type="checkbox"] { width: 16px; height: 16px; min-height: 16px; margin: 0; flex: 0 0 16px; }
@media (min-width: 701px) {
  #abbWorkspace:not([hidden]) { display: flex; min-height: 0; flex: 1 1 auto; flex-direction: column; overflow: hidden; }
  #abbWorkspace > .microcom-command-bar, #abbSelection > header, #abbSelection > nav, .abb-footer { flex: 0 0 auto; }
  #abbWorkspace > .abb-browser { min-height: 0; grid-template-rows: minmax(0, 1fr); flex: 1 1 auto; }
  .abb-browser .microcom-client-rail { min-height: 0; overflow: auto; }
  #abbSelection:not([hidden]) { display: flex; height: 100%; min-height: 0; flex-direction: column; }
  #abbSelection > [data-abb-panel]:not([hidden]) { min-height: 0; flex: 1 1 auto; overflow: hidden; }
  #abbSelection > [data-abb-panel="summary"]:not([hidden]), #abbSelection > [data-abb-panel="trace"]:not([hidden]) { display: flex; flex-direction: column; }
  #abbSelection > [data-abb-panel] > .table-wrap { min-height: 0; flex: 1 1 auto; overflow: auto; }
  .abb-browser .microcom-remote-stage { min-height: 0; overflow: hidden; }
  #abbDeviceDetail:not([hidden]) { display: flex; height: 100%; min-height: 0; flex-direction: column; }
  #abbDeviceDetail > .table-wrap { min-height: 0; overflow: auto; flex: 1 1 auto; }
  #abbDeviceDetail > :not(.table-wrap) { flex: 0 0 auto; }
}
@media (max-width: 800px) {
  .abb-browser { grid-template-columns: minmax(0, 1fr); }
  .abb-browser .microcom-remotes-layout { grid-template-columns: minmax(0, 1fr); }
  .abb-browser .microcom-client-status-summary, .abb-browser .microcom-remote-status-summary { display: flex; flex-wrap: wrap; gap: 16px; }
  .abb-browser .microcom-client-heading, .abb-browser .microcom-remote-heading { flex-wrap: wrap; }
  .abb-browser .microcom-client-tabs { flex-wrap: wrap; }
}
