html[data-page="interactive-company-search"] .shell { padding-block: 3rem 5rem; }
html[data-page="interactive-company-search"] .page-header h1 { margin-bottom: .75rem; }
html[data-page="interactive-company-search"] .lede { max-width: 850px; }
html[data-page="interactive-company-search"] .selection-header { margin-bottom: 1rem; }
html[data-page="interactive-company-search"] .selection-header h2 { margin: 0; font-size: 1.3rem; }
.company-search-bar { display: flex; align-items: start; gap: .75rem; margin-top: .35rem; }
.company-search-input { flex: 1; min-width: 0; }
#company-input { width: 100%; }
#search-help { margin: .6rem 0 0; }
#advanced-filters { border-top: 1px solid var(--border); margin-top: 1.25rem; padding-top: 1.25rem; }
.company-filter { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 1.2fr) auto; gap: .5rem; margin-bottom: .75rem; align-items: end; }
.company-filter label { min-width: 0; display: grid; gap: .25rem; font-size: .85rem; }
.company-filter select, .company-filter input { width: 100%; }
.company-status-row { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-top: 1rem; }
.company-status-row p { margin: 0; }
html[data-page="interactive-company-search"] .status.error { color: #b42318; }
#company-results { margin-top: 1rem; }
.company-table-wrap { max-width: 100%; overflow-x: auto; }
.company-table-wrap table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.company-table-wrap th, .company-table-wrap td { padding: .65rem; border-bottom: 1px solid var(--border); text-align: left; vertical-align: top; }
.company-table-wrap th { color: var(--text-light); font-weight: 500; }
.company-table-wrap td:first-child { white-space: nowrap; }
.company-table-wrap button { padding: 0; border: 0; background: transparent; color: var(--accent); text-align: left; text-decoration: underline; }
#more-companies, #more-connections { margin-top: .75rem; }
#profile-status { margin-block: 1.5rem; }
.company-profile-header { padding-bottom: 1.5rem; }
.company-cik { margin: 0 0 .4rem; color: var(--text-light); font-weight: 700; }
#profile-name { margin: 0 0 1.25rem; overflow-wrap: anywhere; }
.company-history h3 { font-size: 1rem; margin-bottom: .5rem; }
.company-history ul { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; padding: 0; margin: 0; list-style: none; color: var(--text-light); font-size: .9rem; }
.company-history .current-name { color: var(--text); }
.company-profile-columns { display: grid; grid-template-columns: minmax(240px, 1fr) minmax(0, 2fr); gap: 1.5rem; align-items: start; }
.company-metadata h3 { margin-bottom: 1rem; }
#profile-metadata { margin: 0; font-size: .9rem; }
#profile-metadata div { border-bottom: 1px solid var(--border); padding: .6rem 0; }
#profile-metadata div:last-child { border: 0; }
#profile-metadata dt { color: var(--text-light); font-size: .8rem; }
#profile-metadata dd { margin: .15rem 0 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.company-network { min-width: 0; }
.company-network h3 { margin: 0; }
.company-network .note { margin-block: 1rem; }
.company-graph-controls { display: flex; gap: .35rem; }
.company-graph-controls button { padding: .35rem .65rem; }
#company-graph-stage { border: 1px solid var(--border); border-radius: 8px; background: var(--bg); overflow: hidden; }
#company-graph { position: relative; width: 100%; height: 520px; overflow: hidden; }
.company-legend { display: flex; flex-wrap: wrap; gap: .5rem 1rem; padding: 0; list-style: none; font-size: .8rem; max-height: 140px; overflow-y: auto; }
.company-legend li { display: inline-flex; align-items: center; gap: .4rem; }
.company-legend i { width: 10px; height: 10px; border-radius: 50%; flex: none; }
.company-network summary { cursor: pointer; font-size: .9rem; font-weight: 700; margin-block: 1rem; }
@media (max-width: 900px) {
    .company-profile-columns { grid-template-columns: 1fr; }
    .company-metadata { order: 1; }
    #profile-metadata { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1rem; }
}
@media (max-width: 600px) {
    html[data-page="interactive-company-search"] .main-content > .shell { width: calc(100% - 2rem); padding-top: 2rem; }
    html[data-page="interactive-company-search"] .selection, .company-network, .company-metadata { padding: 1rem; }
    .company-filter { grid-template-columns: 1fr 1fr; }
    .company-filter label:first-child { grid-column: 1 / -1; }
    .company-filter .filter-remove { justify-self: start; }
    .company-network .graph-section-header { flex-wrap: wrap; }
    #company-graph { height: 400px; }
    #profile-metadata { grid-template-columns: 1fr; }
}
