#companies-panel, .company-dialog { min-width: 0; }
#companies-panel > * + *, #company-detail > * + *, .company-dialog > * + * { margin-top: 16px; }
#companies-panel .company-toolbar, .company-dialog .company-toolbar { display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: end; gap: 12px; padding: 0; }
#companies-panel label, .company-dialog label { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
#companies-panel .company-toolbar label:first-child, .company-dialog .company-toolbar label:first-child { flex: 1 1 240px; max-width: 40rem; }
#companies-panel input, #companies-panel select, .company-dialog input, .company-dialog select { width: 100%; max-width: 40rem; min-width: 0; }
#companies-panel .company-member-form, .company-dialog .company-member-form { display: flex; flex-direction: column; align-items: stretch; gap: 16px; }
#companies-panel .company-member-form > button, .company-dialog .company-member-form > button { align-self: start; }
#companies-panel .company-member-form .company-collection { max-width: 64rem; }
#company-detail > .management-form { max-width: 80rem; }
#company-rename { display: flex; flex-wrap: wrap; align-items: end; gap: 16px; }
#company-rename label { flex: 1 1 260px; }
#company-detail { scroll-margin-top: 80px; }
#companies-panel .company-collection > * + *, .company-dialog .company-collection > * + * { margin-top: 12px; }
#companies-panel td small { display: block; overflow-wrap: anywhere; }
#companies-panel .section-actions, .company-dialog .section-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
#companies-panel td .section-actions { min-width: 12rem; }
/* Keep focus from narrowing a row and moving its buttons during pointerdown. */
#companies-panel tbody tr:focus-within { border-left: 0; }
.company-dialog { width: min(64rem, calc(100vw - 32px)); max-height: calc(100vh - 32px); overflow: auto; }
@media (max-width: 900px) {
  #companies-panel .management-form, #companies-panel fieldset { display: flex; flex-direction: column; gap: 16px; }
  #companies-panel .company-toolbar, .company-dialog .company-toolbar { align-items: stretch; }
  #companies-panel .company-toolbar label:first-child, .company-dialog .company-toolbar label:first-child { flex-basis: 100%; }
}
