.company-house-hero { display: grid; grid-template-columns: minmax(320px, .9fr) minmax(360px, 1.1fr); gap: 14px; margin-bottom: 14px; }
.company-house-search label { display: block; font-size: 12px; color: var(--fb-dark-secondary); margin: 12px 0 7px; }
.company-house-search .company-house-mock-toggle { display: flex; margin-top: 12px; }
.company-house-signal-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 12px; }
.company-house-signal-grid div { min-height: 82px; padding: 12px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); }
.company-house-signal-grid span, .company-house-signal-grid small { display: block; color: var(--fb-dark-muted); font-size: 12px; }
.company-house-signal-grid strong { display: block; margin-top: 4px; font-size: 16px; line-height: 1.25; }
.companies-house-layout { display: grid; grid-template-columns: minmax(300px, 420px) minmax(0, 1fr); gap: 14px; margin-bottom: 14px; align-items: start; }
.companies-house-result-list { display: grid; gap: 10px; max-height: 640px; overflow: auto; padding-right: 4px; }
.company-result-card { display: grid; gap: 8px; padding: 0; border-radius: 8px; background: rgba(0,0,0,.18); border: 1px solid rgba(255,255,255,.09); overflow: hidden; }
.company-result { display: block; width: 100%; text-align: left; padding: 12px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.09); color: var(--fb-dark-text); cursor: pointer; }
.company-result:hover, .company-result.active { border-color: rgba(143,216,111,.52); background: rgba(123,213,111,.1); }
.company-result strong, .company-result span, .company-result small, .company-result em { display: block; }
.company-result strong { font-size: 15px; line-height: 1.25; }
.company-result span { color: #f0d282; font-size: 12px; margin-top: 4px; }
.company-result small { color: var(--fb-dark-muted); font-size: 11px; line-height: 1.35; margin-top: 5px; }
.company-result b { margin-top: 7px; }
.company-result-card .company-result { border: 0; border-radius: 0; background: transparent; }
.company-result-card .company-result:hover, .company-result-card .company-result.active { background: rgba(123,213,111,.1); }
.company-result-actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 0 10px 10px 12px; color: var(--fb-dark-muted); font-size: 11px; }
.company-result-actions .mini-button { min-height: 30px; }
.company-context-tag-list { display: flex !important; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.company-context-tag { display: inline-flex !important; align-items: center; width: fit-content; min-height: 22px; margin: 0 !important; padding: 0 8px; border-radius: 999px; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.06); color: #d9e5dd !important; font-size: 10px !important; font-weight: 900; line-height: 1; text-transform: uppercase; letter-spacing: .05em; }
.company-context-tag-watch, .company-context-tag-high { border-color: rgba(239,107,107,.38); background: rgba(239,107,107,.14); color: #ffb6b6 !important; }
.company-context-tag-change, .company-context-tag-refresh { border-color: rgba(232,179,79,.36); background: rgba(232,179,79,.14); color: #ffd080 !important; }
.company-context-tag-scan, .company-context-tag-quiet { border-color: rgba(122,167,255,.32); background: rgba(122,167,255,.12); color: #b8ceff !important; }
.company-context-tag-relationship, .company-context-tag-address { border-color: rgba(123,213,111,.34); background: rgba(123,213,111,.12); color: #c5f6bf !important; }
.company-context-tag-type { border-color: rgba(240,107,216,.28); background: rgba(240,107,216,.12); color: #ffc0f3 !important; }
.company-list-settings { margin-top: 12px; padding: 12px; border-radius: 8px; border: 1px solid rgba(255,255,255,.09); background: rgba(0,0,0,.18); }
.company-list-settings summary { cursor: pointer; color: #f2f7f1; font-weight: 900; }
.company-list-settings-grid { display: grid; grid-template-columns: minmax(180px, 240px) repeat(3, minmax(160px, 1fr)); gap: 12px; align-items: end; margin-top: 12px; }
.company-list-settings-grid label > span { display: block; color: var(--fb-dark-secondary); font-size: 12px; margin-bottom: 7px; }
.company-list-settings-grid .check-row { margin: 0; align-items: center; }
.company-list-settings-footer { display: flex; gap: 12px; align-items: center; justify-content: space-between; margin-top: 12px; }
.company-list-settings-footer .context-note { margin: 0; }
.listing-tag-help-modal { width: min(1080px, calc(100vw - 48px)); }
.listing-tag-help-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 16px 0; }
.listing-tag-help-card { padding: 14px; border-radius: 8px; border: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.045); }
.listing-tag-help-card h3 { margin: 12px 0 8px; color: #f2f7f1; font-size: 18px; }
.listing-tag-help-card p { margin: 0 0 10px; color: #d8e3da; }
.listing-tag-help-card small { display: block; color: var(--fb-dark-secondary); line-height: 1.45; }
.result-location-line { display: flex !important; align-items: flex-start; gap: 7px; }
.result-map-pin-icon { position: relative; flex: 0 0 13px; width: 13px; height: 13px; margin-top: 1px; border: 2px solid #a5e88f; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); box-shadow: 0 0 12px rgba(123,213,111,.22); }
.result-map-pin-icon::after { content: ""; position: absolute; width: 4px; height: 4px; left: 2.5px; top: 2.5px; border-radius: 50%; background: #a5e88f; }
.result-person-icon { position: relative; display: inline-block !important; flex: 0 0 14px; width: 14px; height: 14px; margin: 0 5px 0 0 !important; border-radius: 50%; background: linear-gradient(180deg, rgba(245,248,239,.92), rgba(148,165,156,.65)); box-shadow: 0 0 0 1px rgba(255,255,255,.18), 0 7px 14px rgba(0,0,0,.35); vertical-align: -3px; }
.result-person-icon::after { content: ""; position: absolute; left: -3px; right: -3px; bottom: -6px; height: 8px; border-radius: 999px 999px 4px 4px; background: rgba(148,165,156,.42); box-shadow: 0 7px 16px rgba(0,0,0,.26); }
.company-business-badge { display: inline-flex; align-items: center; min-height: 24px; border-radius: 999px; padding: 0 9px; border: 1px solid; font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; }
.company-business-property { color: #a8ff9e; background: rgba(123,213,111,.14); border-color: rgba(123,213,111,.32); }
.company-business-retail { color: #ffd080; background: rgba(232,179,79,.14); border-color: rgba(232,179,79,.32); }
.company-business-construction { color: #b8ceff; background: rgba(122,167,255,.14); border-color: rgba(122,167,255,.32); }
.company-business-finance { color: #ffc0f3; background: rgba(240,107,216,.14); border-color: rgba(240,107,216,.32); }
.company-business-watch { color: #ffb6b6; background: rgba(239,107,107,.14); border-color: rgba(239,107,107,.34); }
.company-business-other { color: #d9e5dd; background: rgba(200,209,201,.12); border-color: rgba(200,209,201,.28); }
.company-transition-badge { display: inline-flex !important; align-items: center; width: fit-content; min-height: 24px; margin-top: 7px; border-radius: 999px; padding: 0 9px; border: 1px solid; font-size: 10px; font-style: normal; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; }
.company-transition-high { color: #ffb6b6; background: rgba(239,107,107,.16); border-color: rgba(239,107,107,.38); box-shadow: 0 0 18px rgba(239,107,107,.18); }
.company-transition-watch { color: #ffd080; background: rgba(232,179,79,.15); border-color: rgba(232,179,79,.36); }
.company-transition-context { color: #b8ceff; background: rgba(122,167,255,.14); border-color: rgba(122,167,255,.32); }
.company-transition-none { color: #aebdb4; background: rgba(200,209,201,.08); border-color: rgba(200,209,201,.18); }
.company-house-map-panel { position: relative; min-height: 520px; overflow: visible; margin-bottom: 14px; padding: 0; }
#fruitbowl-companies-house-map { min-height: 520px; height: 520px; border-radius: 8px; overflow: hidden; background: #101816; z-index: 1; }
.owned-asset-title-map-panel { position: relative; margin-bottom: 14px; overflow: hidden; }
.managed-location-loading { display: flex; align-items: center; gap: 12px; padding: 16px; border-radius: 8px; border: 1px solid rgba(255,255,255,.1); background: rgba(0,0,0,.22); color: var(--fb-dark-text); }
.managed-location-loading strong, .managed-location-loading span { display: block; }
.managed-location-loading span { color: var(--fb-dark-secondary); font-size: 13px; line-height: 1.35; margin-top: 3px; }
.company-network-map-layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(340px, .55fr); gap: 12px; padding: 0 12px 16px; align-items: stretch; }
.company-map-side-list { display: grid; grid-template-rows: auto auto minmax(0, 1fr); min-height: 520px; height: 520px; overflow: hidden; padding: 12px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); }
.company-map-address-scroll { display: grid; align-content: start; gap: 10px; min-height: 0; overflow: auto; padding: 0 6px 18px 0; }
.company-map-address-group { display: grid; gap: 8px; padding: 11px; border-radius: 8px; background: rgba(255,255,255,.035); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #7aa7ff; }
.company-map-address-group.start { border-left-color: #ff4fd8; background: rgba(255,79,216,.08); }
.company-map-address-group span, .company-map-address-group p { display: block; color: var(--fb-dark-muted); font-size: 12px; line-height: 1.35; }
.company-map-address-group strong { display: block; color: var(--fb-dark-text); line-height: 1.2; }
.company-map-address-group p { margin: 0; }
.company-map-address-group button { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 8px; align-items: start; width: 100%; padding: 8px; border-radius: 8px; border: 1px solid rgba(255,255,255,.08); background: rgba(0,0,0,.18); color: var(--fb-dark-text); text-align: left; cursor: pointer; }
.company-map-address-group button:hover, .company-map-address-group button.selected { border-color: rgba(123,213,111,.36); background: rgba(123,213,111,.09); }
.company-map-address-group button.map-point-start { border-color: rgba(255,79,216,.26); background: rgba(255,79,216,.08); }
.company-map-address-group button small { display: block; margin-top: 3px; color: var(--fb-dark-secondary); font-size: 11px; line-height: 1.35; }
.company-map-group-marker { background: transparent; border: 0; }
.company-map-group-marker span { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 999px; color: #07110d; background: var(--marker-color, #c8d1c9); border: 3px solid #f5f8ef; box-shadow: 0 8px 22px rgba(0,0,0,.38), 0 0 0 6px rgba(255,255,255,.22); font-size: 13px; font-weight: 950; }
.company-map-group-marker.start span { box-shadow: 0 8px 24px rgba(0,0,0,.4), 0 0 0 7px rgba(255,79,216,.25); }
.company-map-group-marker:not(.grouped) span::before { content: ""; width: 8px; height: 8px; border-radius: 999px; background: #07110d; }
.company-map-popup-list { margin: 8px 0 0 16px; padding: 0; }
.company-map-popup-list li { margin-bottom: 7px; }
.company-map-address-modal { width: min(780px, calc(100vw - 34px)); max-height: min(82vh, 760px); overflow: hidden; }
.company-map-address-modal .panel-title { margin-bottom: 10px; }
.modal-close-button { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 8px; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.06); color: #dce7df; font-size: 20px; font-weight: 900; cursor: pointer; }
.modal-close-button:hover { border-color: rgba(239,107,107,.48); background: rgba(239,107,107,.12); color: #ffd1d1; }
.company-map-modal-facts { margin: 10px 0 12px; }
.company-map-modal-list { display: grid; gap: 9px; max-height: 390px; overflow: auto; padding: 0 6px 12px 0; }
.company-map-modal-list button { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 10px; align-items: start; width: 100%; padding: 12px; border-radius: 8px; border: 1px solid rgba(255,255,255,.09); background: rgba(0,0,0,.22); color: var(--fb-dark-text); text-align: left; cursor: pointer; }
.company-map-modal-list button:hover, .company-map-modal-list button.selected { border-color: rgba(123,213,111,.38); background: rgba(123,213,111,.09); }
.company-map-modal-list button.map-point-start { border-color: rgba(255,79,216,.36); background: rgba(255,79,216,.1); }
.company-map-modal-list strong, .company-map-modal-list small, .company-map-modal-list em { display: block; }
.company-map-modal-list strong { line-height: 1.2; }
.company-map-modal-list small { margin-top: 4px; color: #f0d282; font-size: 12px; line-height: 1.35; }
.company-map-modal-list em { margin-top: 4px; color: var(--fb-dark-muted); font-style: normal; font-size: 12px; line-height: 1.35; }
#fruitbowl-google-provider-map, #fruitbowl-azure-provider-map, #fruitbowl-os-provider-map, #fruitbowl-price-paid-map, #fruitbowl-price-paid-market-map, #fruitbowl-planning-data-map, #fruitbowl-title-outlines-map, #fruitbowl-building-outlines-map, #fruitbowl-project-sites-map, #fruitbowl-owned-asset-title-map { min-height: 560px; height: 560px; border-radius: 8px; overflow: hidden; background: #101816; z-index: 1; }
.company-marker-start { background: #ff4fd8; }
.company-marker-property { background: #7bd56f; }
.company-marker-retail { background: #e8b34f; }
.company-marker-construction { background: #7aa7ff; }
.company-marker-finance { background: #f06bd8; }
.company-marker-watch { background: #ef6b6b; }
