@import url("css/connectivity.css?v=20260526");
@import url("css/price-paid.css?v=20260526");
@import url("css/map-explorer.css?v=20260603-home-breadcrumb");

html, body { margin: 0; min-height: 100%; font-family: Inter, Segoe UI, Arial, sans-serif; background: #08100e; color: #e9f3ec; }
* { box-sizing: border-box; }
* { scrollbar-width: thin; scrollbar-color: rgba(123,213,111,.52) rgba(6,13,12,.72); }
*::-webkit-scrollbar { width: 10px; height: 10px; }
*::-webkit-scrollbar-track { background: rgba(6,13,12,.72); border-radius: 999px; }
*::-webkit-scrollbar-thumb { background: linear-gradient(180deg, rgba(123,213,111,.78), rgba(232,179,79,.68)); border: 2px solid rgba(6,13,12,.86); border-radius: 999px; }
*::-webkit-scrollbar-thumb:hover { background: linear-gradient(180deg, #8de878, #f0c15b); }
*::-webkit-scrollbar-corner { background: #08100e; }
a { color: inherit; }
.shell { min-height: 100vh; display: grid; grid-template-columns: 280px 1fr; background: radial-gradient(circle at top left, rgba(88, 151, 119, .18), transparent 34%), #08100e; }
.sidebar { background: rgba(10, 18, 16, .92); border-right: 1px solid rgba(255,255,255,.08); padding: 22px; position: sticky; top: 0; height: 100vh; backdrop-filter: blur(20px); display: flex; flex-direction: column; min-width: 0; overflow: hidden; }
.brand { display: flex; gap: 14px; align-items: center; margin-bottom: 22px; flex: 0 0 auto; }
.brand-mark { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 8px; background: linear-gradient(135deg, #7bd56f, #e8b34f); color: #07100b; font-weight: 900; box-shadow: 0 0 36px rgba(123,213,111,.22); }
.brand-title { font-size: 24px; font-weight: 800; }
.brand-subtitle { color: #95a79d; font-size: 13px; }
.nav { display: grid; gap: 14px; margin-bottom: 18px; overflow: auto; padding: 2px 5px 4px 0; flex: 1 1 auto; align-content: start; }
.nav-section { display: grid; gap: 5px; padding: 10px; border-radius: 8px; background: rgba(0,0,0,.14); border: 1px solid rgba(255,255,255,.055); }
.nav-section-title { display: flex; align-items: center; gap: 8px; margin: 0 0 4px; color: #e8b34f; font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: .12em; }
.nav-section-title::after { content: ""; height: 1px; flex: 1; background: linear-gradient(90deg, rgba(232,179,79,.34), transparent); }
.nav a { text-decoration: none; padding: 9px 10px; border-radius: 8px; color: #a8b9af; border: 1px solid transparent; font-size: 13px; font-weight: 750; line-height: 1.2; }
.nav a.active, .nav a:hover { background: rgba(255,255,255,.08); color: #fff; border-color: rgba(255,255,255,.08); }
.nav a.active { box-shadow: inset 3px 0 0 #7bd56f; }
.theme-toggle { width: 100%; border-radius: 8px; padding: 11px 14px; margin: 0 0 18px; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.05); color: #e9f3ec; font-weight: 800; cursor: pointer; text-align: left; }
.sidebar-card, .panel, .metric-card { background: rgba(255,255,255,.065); border: 1px solid rgba(255,255,255,.10); border-radius: 8px; box-shadow: 0 18px 60px rgba(0,0,0,.30); backdrop-filter: blur(18px); }
.sidebar-card { padding: 14px; color: #b9c7bf; font-size: 13px; flex: 0 0 auto; }
.sidebar-card p { margin: 8px 0 0; font-size: 12px; line-height: 1.4; }
.content { padding: 24px; min-width: 0; }
.workspace-header, .page-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.header-actions { display: flex; gap: 10px; }
.eyebrow { color: #e8b34f; font-size: 12px; text-transform: uppercase; letter-spacing: .11em; font-weight: 800; }
h1 { margin: 2px 0 0; font-size: 32px; }
h2 { margin: 0; font-size: 18px; }
h3 { font-size: 13px; color: #b9c7bf; margin: 18px 0 8px; text-transform: uppercase; letter-spacing: .08em; }
p { color: #9eb0a6; line-height: 1.55; }
.signal-strip { display: grid; grid-template-columns: repeat(4, minmax(160px, 1fr)); gap: 12px; margin-bottom: 14px; }
.metric-card { padding: 15px; }
.metric-card span, .metric-card small { display: block; color: #94a59c; font-size: 12px; }
.metric-card strong { display: block; font-size: 30px; line-height: 1.1; margin: 4px 0; }
.market-alert-strip { display: grid; grid-template-columns: repeat(3, minmax(220px, 1fr)); gap: 12px; margin: -2px 0 14px; }
.market-alert-card { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center; padding: 13px 14px; border-radius: 8px; background: rgba(0,0,0,.24); border: 1px solid rgba(255,255,255,.1); border-left: 4px solid #e8b34f; box-shadow: 0 12px 32px rgba(0,0,0,.22); }
.market-alert-card span, .market-alert-card small { display: block; color: #94a59c; font-size: 11px; line-height: 1.35; }
.market-alert-card strong { display: block; margin: 2px 0; font-size: 14px; }
.market-alert-card b { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 8px; background: rgba(232,179,79,.16); color: #f0d282; border: 1px solid rgba(232,179,79,.28); }
.alert-high { border-left-color: #ef6b6b !important; }
.alert-watch { border-left-color: #e8b34f !important; }
.alert-context { border-left-color: #7aa7ff !important; }
.alert-composer { margin: -2px 0 14px; }
.alert-composer label { display: block; font-size: 12px; color: #a8b9af; margin: 12px 0 7px; }
.alert-form-grid { display: grid; grid-template-columns: 1.4fr 1fr .7fr .55fr; gap: 10px; align-items: end; }
.map-workspace { display: grid; grid-template-columns: 1fr; gap: 14px; align-items: stretch; position: relative; }
.panel { padding: 16px; min-width: 0; }
.panel-title { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 12px; }
.panel-title span { color: #9eb0a6; font-size: 12px; }
.panel-actions { display: flex; align-items: center; gap: 8px; }
.filter-panel label { display: block; font-size: 12px; color: #a8b9af; margin: 14px 0 7px; }
.filter-drawer { position: fixed; z-index: 1200; top: 20px; bottom: 20px; left: calc(260px + 24px); width: min(420px, calc(100vw - 48px)); overflow: auto; transform: translateX(calc(-100% - 34px)); opacity: 0; pointer-events: none; transition: transform .18s ease, opacity .18s ease; }
.filter-drawer.open { transform: translateX(0); opacity: 1; pointer-events: auto; }
.drawer-scrim { position: fixed; z-index: 1190; inset: 0; border: 0; background: rgba(0,0,0,.42); backdrop-filter: blur(3px); cursor: pointer; }
.drawer-subtitle { color: #e8b34f; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; margin: -4px 0 12px; }
.layer-strip { display: flex; align-items: center; gap: 10px 14px; flex-wrap: wrap; padding: 12px 14px; }
.layer-strip div { margin-right: auto; }
.layer-strip span { display: block; color: #94a59c; font-size: 12px; }
.layer-strip strong { display: block; }
.layer-strip label { display: inline-flex; align-items: center; gap: 7px; color: #cbd8d0; font-size: 12px; white-space: nowrap; }
.layer-strip input { accent-color: #7bd56f; }
.boundary-source-control { margin-left: 0; margin-right: 8px !important; padding: 8px 10px; border-radius: 8px; background: rgba(0,0,0,.2); border: 1px solid rgba(255,255,255,.08); }
.boundary-source-control span, .boundary-source-card p { color: #94a59c; }
.boundary-source-control strong { color: #f0d282; }
.boundary-source-card { margin: 8px 0 14px; padding: 12px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #7aa7ff; }
.boundary-source-card strong { display: block; color: #e9f3ec; margin-bottom: 6px; }
.boundary-source-card p { margin: 0; font-size: 12px; line-height: 1.45; }
.icon-button { width: 34px; height: 34px; border-radius: 8px; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.05); color: #e9f3ec; cursor: pointer; font-weight: 900; }
.compact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.input { width: 100%; border: 1px solid rgba(255,255,255,.14); background: rgba(0,0,0,.25); color: #fff; padding: 11px 12px; border-radius: 8px; outline: none; }
.range { width: 100%; accent-color: #7bd56f; }
.range-value { color: #e8b34f; font-size: 12px; text-align: right; }
.check-row { display: flex !important; align-items: center; gap: 10px; line-height: 1.3; }
.primary-button, .ghost-button { display: inline-flex; align-items: center; justify-content: center; border-radius: 8px; padding: 11px 16px; font-weight: 800; cursor: pointer; text-decoration: none; }
.primary-button { border: 0; background: linear-gradient(135deg, #7bd56f, #e8b34f); color: #07100b; }
.primary-button:disabled { cursor: wait; opacity: .68; filter: saturate(.8); }
.ghost-button { border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.05); color: #e9f3ec; }
.ghost-link-button { display: inline-flex; align-items: center; justify-content: center; min-height: 34px; border-radius: 8px; padding: 0 12px; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.05); color: #e9f3ec; text-decoration: none; font-size: 12px; font-weight: 800; white-space: nowrap; }
.stacked-form { display: grid; gap: 13px; }
.stacked-form label { display: grid; gap: 7px; color: #a8b9af; font-size: 12px; font-weight: 760; }
.stacked-form input,
.stacked-form select,
.stacked-form textarea { width: 100%; min-height: 44px; border: 1px solid rgba(255,255,255,.14); border-radius: 8px; background: rgba(0,0,0,.26); color: #eef7f0; padding: 11px 12px; font: inherit; outline: none; box-shadow: inset 0 0 0 1px rgba(255,255,255,.02); }
.stacked-form textarea { min-height: 112px; resize: vertical; line-height: 1.45; }
.stacked-form input:focus,
.stacked-form select:focus,
.stacked-form textarea:focus { border-color: rgba(123,213,111,.62); box-shadow: 0 0 0 3px rgba(123,213,111,.12); }
.stacked-form option { background: #101816; color: #eef7f0; }
.inline-check { display: flex !important; grid-template-columns: none !important; align-items: center; gap: 10px !important; }
.inline-check input { width: 18px !important; min-height: 18px !important; accent-color: #7bd56f; }
.form-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.form-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 8px; }
.compact-actions { margin-top: 0; gap: 8px; }
.primary-action,
.secondary-action,
.mini-button { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; border-radius: 8px; padding: 0 16px; font-weight: 900; cursor: pointer; border: 1px solid transparent; text-decoration: none; }
.primary-action { background: linear-gradient(135deg, #7bd56f, #e8b34f); color: #07100b; border-color: rgba(255,255,255,.08); }
.secondary-action,
.mini-button { background: rgba(255,255,255,.055); border-color: rgba(255,255,255,.14); color: #e9f3ec; }
.mini-button { min-height: 32px; padding: 0 10px; font-size: 11px; }
.status-message { margin: 0 0 14px; padding: 12px 14px; border-radius: 8px; border: 1px solid rgba(123,213,111,.24); background: rgba(123,213,111,.11); color: #cff7c6; font-weight: 760; }
.status-message.warning { border-color: rgba(239,107,107,.3); background: rgba(239,107,107,.12); color: #ffc6c6; }
.auth-page { min-height: calc(100vh - 48px); display: grid; grid-template-columns: minmax(320px, 480px); justify-content: center; align-content: center; gap: 14px; padding: 32px 0; }
.auth-panel { border-color: rgba(123,213,111,.22); box-shadow: 0 26px 80px rgba(0,0,0,.34), 0 0 60px rgba(123,213,111,.08); }
.auth-panel h1 { font-size: 34px; }
.auth-help-panel { opacity: .9; }
.project-form-panel { border-color: rgba(122,167,255,.2); }
.project-action-list { display: grid; grid-template-columns: 1fr; gap: 10px; margin-top: 14px; }
.project-action-list .secondary-action { width: 100%; }
.project-site-filter-bar { grid-template-columns: repeat(3, minmax(180px, 1fr)) auto; align-items: end; gap: 10px; margin: 0 0 12px; }
.project-detail-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(280px, .75fr) minmax(320px, .85fr); gap: 14px; margin-bottom: 14px; align-items: start; }
.project-member-list { display: grid; gap: 10px; }
.project-member-list div { border: 1px solid rgba(255,255,255,.08); border-radius: 10px; background: rgba(255,255,255,.03); padding: 12px; }
.project-member-list strong, .project-member-list span, .project-member-list small { display: block; }
.project-member-list span, .project-member-list small { color: var(--muted); }
.project-site-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.project-site-card { display: flex; flex-direction: column; gap: 12px; min-height: 100%; border: 1px solid rgba(255,255,255,.09); border-radius: 12px; background: rgba(255,255,255,.035); padding: 16px; }
.project-site-card h3 { margin: 4px 0 6px; font-size: 22px; }
.project-site-card p { color: var(--muted); margin: 0; }
.site-tag-list { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 7px; }
.site-tag-chip { border: 1px solid rgba(123,213,111,.24); border-radius: 999px; background: rgba(123,213,111,.12); color: #cff7c6; padding: 4px 8px; font: inherit; font-size: 11px; font-weight: 850; cursor: pointer; }
.inspire-import-shell { border-color: rgba(122,167,255,.22); }
.import-mode-check { align-self: end; min-height: 44px; margin: 0 !important; }
.inspire-file-buckets { display: flex; flex-wrap: wrap; gap: 6px; margin: 12px 0 14px; padding: 8px; border-radius: 8px; border: 1px solid rgba(255,255,255,.08); background: rgba(0,0,0,.16); }
.inspire-file-buckets button { min-width: 34px; height: 30px; border-radius: 7px; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.06); color: #c8d7cf; font-weight: 850; cursor: pointer; }
.inspire-file-buckets button.active { background: linear-gradient(135deg, #9bd77b, #e4bf58); color: #07130d; border-color: rgba(255,255,255,.22); }
.inspire-file-buckets button:disabled { opacity: .55; cursor: not-allowed; }
.inspire-file-list { display: grid; gap: 10px; }
.inspire-file-group { display: grid; gap: 10px; }
.inspire-file-group + .inspire-file-group { margin-top: 16px; }
.inspire-file-group-header { position: sticky; top: 0; z-index: 2; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 8px 11px; border-radius: 8px; border: 1px solid rgba(255,255,255,.08); background: rgba(7,19,13,.96); box-shadow: 0 10px 24px rgba(0,0,0,.22); }
.inspire-file-group-header strong { color: #f0d282; font-size: 13px; font-weight: 950; letter-spacing: .12em; }
.inspire-file-group-header span { color: #a8b9af; font-size: 12px; }
.inspire-file-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, .42fr) auto; align-items: center; gap: 16px; padding: 14px; border-radius: 8px; border: 1px solid rgba(255,255,255,.10); background: rgba(0,0,0,.22); }
.inspire-file-card.active { border-color: rgba(123,213,111,.35); box-shadow: 0 0 0 1px rgba(123,213,111,.10), 0 16px 38px rgba(0,0,0,.24); }
.inspire-file-main { min-width: 0; }
.inspire-file-main span { display: block; color: #f0d282; font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.inspire-file-main strong { display: block; margin: 4px 0; overflow-wrap: anywhere; }
.inspire-file-main p { margin: 3px 0 0; font-size: 12px; line-height: 1.35; }
.inspire-progress-cell { display: grid; gap: 8px; min-width: 0; }
.inspire-progress-cell small { color: #a8b9af; font-size: 11px; line-height: 1.35; overflow-wrap: anywhere; }
.import-progress-bar { height: 10px; overflow: hidden; border-radius: 999px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.08); }
.import-progress-bar span { display: block; height: 100%; min-width: 0; border-radius: inherit; background: linear-gradient(90deg, #7bd56f, #e8b34f); transition: width .18s ease; }
.inspire-file-actions { display: flex; justify-content: flex-end; }
.modal-scrim { position: fixed; z-index: 2600; inset: 0; display: grid; place-items: center; padding: 22px; background: rgba(0,0,0,.52); backdrop-filter: blur(4px); }
.app-modal { width: min(640px, calc(100vw - 44px)); max-height: calc(100vh - 44px); overflow: auto; background: rgba(6,13,12,.97); border-color: rgba(123,213,111,.24); box-shadow: 0 32px 100px rgba(0,0,0,.68); }
.app-modal-wide { width: min(1040px, calc(100vw - 44px)); }
.project-member-modal-grid { display: grid; grid-template-columns: minmax(280px, .8fr) minmax(360px, 1.2fr); gap: 14px; align-items: start; }
.data-table { width: 100%; border-collapse: collapse; min-width: 760px; }
.data-table th,
.data-table td { padding: 12px 10px; border-bottom: 1px solid rgba(255,255,255,.09); text-align: left; vertical-align: top; }
.data-table th { color: #a8b9af; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; background: rgba(0,0,0,.22); position: sticky; top: 0; z-index: 1; }

.company-tab-bar { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0; padding: 8px; border: 1px solid rgba(255,255,255,.08); border-radius: 10px; background: rgba(0,0,0,.18); }
.company-tab-bar button { min-height: 38px; padding: 0 14px; border-radius: 8px; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.055); color: #c8d7cf; font: inherit; font-weight: 850; cursor: pointer; }
.company-tab-bar button.active { background: linear-gradient(135deg, #9bd77b, #e4bf58); color: #07130d; border-color: rgba(255,255,255,.24); }
.company-tab-bar button:disabled { opacity: .45; cursor: not-allowed; }
.data-table td { color: #e9f3ec; font-size: 13px; }
.table-muted { color: #94a59c; font-size: 12px; line-height: 1.35; }
.table-scroll { max-width: 100%; overflow: auto; border-radius: 8px; border: 1px solid rgba(255,255,255,.08); background: rgba(0,0,0,.14); }
.compact-data-table { min-width: 520px; }
.admin-tile-grid { display: grid; grid-template-columns: repeat(4, minmax(180px, 1fr)); gap: 12px; }
.admin-tile { display: grid; gap: 8px; min-height: 150px; padding: 15px; border-radius: 8px; text-decoration: none; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.09); color: #e9f3ec; transition: transform .16s ease, border-color .16s ease, background .16s ease; }
.admin-tile:hover { transform: translateY(-2px); border-color: rgba(123,213,111,.42); background: rgba(123,213,111,.1); }
.admin-tile span { color: #e8b34f; font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.admin-tile strong { font-size: 18px; line-height: 1.15; }
.admin-tile p { margin: 0; font-size: 12px; line-height: 1.45; }
.dashboard-site-list { display: grid; gap: 10px; }
.dashboard-site-list a { display: grid; gap: 4px; padding: 12px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); text-decoration: none; }
.dashboard-site-list strong { color: #e9f3ec; }
.dashboard-site-list span { color: #9eb0a6; font-size: 12px; }
.primary-button.full { width: 100%; margin-top: 16px; }
.ghost-button.full { width: 100%; margin-top: 10px; }
.drawer-cta { margin-top: 10px; width: 100%; }
.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: #a8b9af; 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: #94a59c; 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 { 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: #e9f3ec; 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: #94a59c; font-size: 11px; line-height: 1.35; margin-top: 5px; }
.company-result b { margin-top: 7px; }
.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; }
.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: #94a59c; font-size: 12px; line-height: 1.35; }
.company-map-address-group strong { display: block; color: #e9f3ec; 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: #e9f3ec; 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: #a8b9af; 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: #e9f3ec; 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: #94a59c; font-style: normal; font-size: 12px; line-height: 1.35; }
#fruitbowl-google-provider-map, #fruitbowl-azure-provider-map, #fruitbowl-price-paid-map, #fruitbowl-price-paid-market-map, #fruitbowl-planning-data-map, #fruitbowl-title-outlines-map, #fruitbowl-project-sites-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; }
.company-profile-panel { min-height: 480px; }
.company-profile-heading { display: flex; justify-content: space-between; gap: 18px; align-items: flex-start; padding: 15px; border-radius: 8px; background: rgba(0,0,0,.24); border: 1px solid rgba(255,255,255,.09); margin-bottom: 12px; }
.company-profile-heading span, .company-profile-heading small { display: block; color: #94a59c; }
.company-profile-heading strong { display: block; font-size: 28px; line-height: 1.1; margin: 4px 0; }
.company-status-badge { display: inline-grid; place-items: center; min-width: 76px; min-height: 42px; padding: 0 12px; border-radius: 8px; border: 1px solid; font-size: 13px; text-transform: uppercase; letter-spacing: .08em; }
.company-status-active { color: #a8ff9e; background: rgba(123,213,111,.14); border-color: rgba(123,213,111,.38); }
.company-status-watch { color: #ffd080; background: rgba(232,179,79,.14); border-color: rgba(232,179,79,.38); }
.entity-status-chip { display: inline-grid !important; grid-template-columns: 10px auto; grid-template-rows: auto auto; column-gap: 7px; row-gap: 1px; align-items: center; width: fit-content; max-width: 100%; margin-top: 7px; padding: 5px 9px; border-radius: 999px; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.055); color: #dce7df; font-size: 11px; line-height: 1.1; text-transform: none; letter-spacing: 0; }
.entity-status-chip > i { grid-row: 1 / span 2; display: block; width: 9px; height: 9px; border-radius: 999px; background: currentColor; box-shadow: 0 0 0 3px rgba(255,255,255,.1); }
.entity-status-chip > span { grid-column: 2; display: block !important; margin: 0 !important; color: inherit !important; font-size: 11px !important; font-weight: 900; line-height: 1.1; }
.entity-status-chip > small { grid-column: 2; display: block !important; margin: 1px 0 0 !important; color: rgba(233,243,236,.72) !important; font-size: 10px !important; line-height: 1.1; }
.entity-status-chip.status-active { color: #a8ff9e; background: rgba(123,213,111,.13); border-color: rgba(123,213,111,.34); }
.entity-status-chip.status-closed { color: #ff9c94; background: rgba(239,107,107,.13); border-color: rgba(239,107,107,.36); }
.entity-status-chip.status-person-current { color: #9fc0ff; background: rgba(122,167,255,.13); border-color: rgba(122,167,255,.34); }
.entity-status-chip.status-person-ended { color: #ffd080; background: rgba(232,179,79,.13); border-color: rgba(232,179,79,.38); }
.companies-house-result-list .entity-status-chip { margin-top: 8px; }
.company-profile-actions .entity-status-chip { margin-top: 0; }
.linked-company-tree-company .entity-status-chip, .relationship-tree-child .entity-status-chip, .relationship-director-company .entity-status-chip { margin: 5px 0 0; }
.status-fact-value { font-size: inherit !important; }
.status-fact-value .entity-status-chip { margin-top: 0; }
.company-profile-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 12px; }
.company-profile-facts strong { font-size: 18px; }
.company-profile-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.company-relationship-chip { display: inline-flex !important; align-items: center; width: fit-content; margin-top: 7px; padding: 4px 8px; border-radius: 999px; color: #a5e88f; background: rgba(123,213,111,.12); border: 1px solid rgba(123,213,111,.28); font-size: 10px; font-style: normal; font-weight: 900; text-transform: uppercase; letter-spacing: .04em; }
.company-profile-sections { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.company-profile-sections article { padding: 13px; border-radius: 8px; background: rgba(0,0,0,.2); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #7aa7ff; }
.company-profile-sections article:nth-child(2) { border-left-color: #e8b34f; }
.company-profile-sections article:nth-child(3) { border-left-color: #7bd56f; }
.company-profile-sections span { display: block; color: #94a59c; font-size: 12px; }
.company-profile-sections strong { display: block; margin: 5px 0; line-height: 1.25; }
.company-profile-sections p { margin: 0; font-size: 12px; line-height: 1.4; }
.company-house-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 12px; }
.company-house-tabs article, .company-filing-grid article { padding: 12px; border-radius: 8px; background: rgba(0,0,0,.2); border: 1px solid rgba(255,255,255,.08); }
.company-house-tabs span, .company-house-tabs p, .company-filing-grid span, .company-filing-grid p { display: block; color: #94a59c; font-size: 12px; line-height: 1.4; }
.company-house-tabs strong, .company-filing-grid strong { display: block; font-size: 24px; margin: 3px 0; }
.company-house-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 14px; }
.company-person-list { display: grid; gap: 10px; max-height: 520px; overflow: auto; padding-right: 4px; }
.company-person-list div { padding: 12px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #7aa7ff; }
.company-person-list div:nth-child(even) { border-left-color: #e8b34f; }
.company-person-list strong, .company-person-list span, .company-person-list small, .company-person-list p { display: block; }
.company-person-list strong { font-size: 15px; }
.company-person-list span { color: #f0d282; font-size: 12px; margin-top: 4px; }
.company-person-list small { color: #a8b9af; font-size: 11px; margin-top: 4px; }
.company-person-list p { margin: 7px 0 0; color: #dce7df; font-size: 12px; line-height: 1.4; }
.identity-line { display: flex !important; align-items: center; gap: 9px; min-width: 0; }
.identity-icon, .flat-icon { position: relative; display: inline-block; flex: 0 0 24px; width: 24px; height: 24px; color: #cfe0d4; }
.identity-icon::before, .identity-icon::after, .flat-icon::before, .flat-icon::after { content: ""; position: absolute; box-sizing: border-box; }
.identity-icon-person, .flat-icon-person { color: #9fc0ff; }
.identity-icon-person::before, .flat-icon-person::before { left: 8px; top: 4px; width: 8px; height: 8px; border: 2px solid currentColor; border-radius: 999px; background: transparent; }
.identity-icon-person::after, .flat-icon-person::after { left: 4px; top: 15px; width: 16px; height: 7px; border: 2px solid currentColor; border-bottom: 0; border-radius: 999px 999px 0 0; background: transparent; }
.identity-icon-business, .flat-icon-business { color: #f0d282; }
.identity-icon-business::before, .flat-icon-business::before { left: 5px; top: 3px; width: 14px; height: 18px; border: 2px solid currentColor; border-radius: 3px; background: transparent; }
.identity-icon-business::after, .flat-icon-business::after { left: 9px; top: 8px; width: 2px; height: 2px; background: currentColor; box-shadow: 5px 0 currentColor, 0 5px currentColor, 5px 5px currentColor, 2.5px 10px currentColor; border-radius: 1px; }
.flat-icon-search { color: #a5e88f; }
.flat-icon-search::before { left: 4px; top: 4px; width: 12px; height: 12px; border: 2px solid currentColor; border-radius: 999px; background: transparent; }
.flat-icon-search::after { left: 15px; top: 15px; width: 7px; height: 2px; background: currentColor; border-radius: 999px; transform: rotate(45deg); transform-origin: left center; }
.company-transition-detail { margin: 14px 0; padding: 12px; display: grid; grid-template-columns: minmax(220px, .9fr) minmax(0, 1.2fr); gap: 12px; border-radius: 8px; background: rgba(232,179,79,.10); border: 1px solid rgba(232,179,79,.22); }
.company-transition-detail p { margin: 8px 0 0; color: #dce7df; font-size: 12px; line-height: 1.45; }
.company-transition-trigger-list { display: grid; gap: 8px; }
.company-transition-trigger-list article { padding: 9px 10px; border-radius: 8px; background: rgba(0,0,0,.18); border: 1px solid rgba(255,255,255,.08); }
.company-transition-trigger-list strong, .company-transition-trigger-list span, .company-transition-trigger-list small { display: block; }
.company-transition-trigger-list strong { font-size: 12px; color: #f2f7f1; }
.company-transition-trigger-list span { color: #f0d282; font-size: 11px; margin-top: 3px; }
.company-transition-trigger-list small { color: #a8b9af; font-size: 11px; line-height: 1.35; margin-top: 3px; }
.company-filing-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 12px; }
.company-network-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.company-network-grid article { padding: 13px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #7aa7ff; }
.company-network-grid article:nth-child(3n+2) { border-left-color: #e8b34f; }
.company-network-grid article:nth-child(3n) { border-left-color: #7bd56f; }
.company-network-grid span, .company-network-grid small, .company-network-grid em { display: block; }
.company-network-grid span { color: #94a59c; font-size: 12px; }
.company-network-grid strong { display: block; margin: 4px 0; font-size: 16px; line-height: 1.25; }
.company-network-grid small { color: #f0d282; font-size: 11px; line-height: 1.35; }
.relationship-trail-panel { margin-bottom: 14px; }
.relationship-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 12px; }
.relationship-step { position: relative; display: inline-flex; align-items: center; gap: 7px; min-height: 36px; padding: 0 11px; border-radius: 999px; color: #e9f3ec; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); text-decoration: none; font-weight: 900; font-size: 12px; }
.relationship-step:not(:last-child)::after { content: ""; position: absolute; right: -9px; width: 8px; height: 2px; background: rgba(255,255,255,.22); }
.relationship-step-current { border-color: rgba(123,213,111,.42); background: rgba(123,213,111,.12); color: #dff8d9; }
.relationship-step-muted { color: #cbd8d0; background: rgba(122,167,255,.10); border-color: rgba(122,167,255,.24); }
.relationship-tree { display: grid; gap: 8px; }
.relationship-tree-root, .relationship-tree-child { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 10px; align-items: start; padding: 10px; border-radius: 8px; background: rgba(0,0,0,.18); border: 1px solid rgba(255,255,255,.08); }
.relationship-tree-child { position: relative; margin-left: 20px; grid-template-columns: 22px 24px minmax(0, 1fr); color: #e9f3ec; text-decoration: none; }
.relationship-tree-child:hover { border-color: rgba(123,213,111,.34); background: rgba(123,213,111,.08); }
.relationship-tree strong, .relationship-tree small { display: block; }
.relationship-tree small { color: #94a59c; font-size: 12px; margin-top: 3px; }
.relationship-director-tree { display: grid; gap: 12px; margin-top: 14px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.08); }
.relationship-tree-section-title { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; color: #dce7df; }
.relationship-tree-section-title strong { display: block; font-size: 15px; }
.relationship-tree-section-title span { color: #94a59c; font-size: 12px; line-height: 1.35; }
.relationship-view-toggle { display: inline-flex; gap: 5px; padding: 4px; border-radius: 999px; background: rgba(0,0,0,.2); border: 1px solid rgba(255,255,255,.08); }
.relationship-view-button { min-height: 30px; padding: 0 10px; border-radius: 999px; border: 1px solid transparent; background: transparent; color: #a8b9af; font-size: 11px; font-weight: 900; cursor: pointer; }
.relationship-view-button:hover { color: #e9f3ec; background: rgba(255,255,255,.06); }
.relationship-view-button.active { color: #07110d; background: linear-gradient(135deg, #9bd77b, #e4c45c); border-color: rgba(255,255,255,.24); }
.tiny-toggle-button { display: inline-grid; place-items: center; min-height: 30px; padding: 0 10px; border-radius: 999px; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.055); color: #dce7df; font-size: 11px; font-weight: 900; cursor: pointer; }
.tiny-toggle-button:hover { border-color: rgba(123,213,111,.38); background: rgba(123,213,111,.1); color: #dff8d9; }
.relationship-director-group { display: grid; gap: 7px; padding: 10px; border-radius: 8px; background: rgba(0,0,0,.16); border: 1px solid rgba(255,255,255,.08); }
.relationship-company-group { border-color: rgba(123,213,111,.18); background: rgba(123,213,111,.045); }
.relationship-director-node { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 10px; align-items: start; padding: 9px; border-radius: 8px; background: rgba(122,167,255,.09); border: 1px solid rgba(122,167,255,.22); }
.relationship-company-node { background: rgba(123,213,111,.08); border-color: rgba(123,213,111,.22); }
.relationship-director-node strong, .relationship-director-node small { display: block; }
.relationship-director-node small { color: #a8b9af; font-size: 12px; margin-top: 3px; }
.relationship-director-companies { display: grid; gap: 7px; margin-left: 28px; }
.relationship-director-company { position: relative; display: grid; grid-template-columns: 22px 24px minmax(0, 1fr); gap: 10px; align-items: start; padding: 9px; border-radius: 8px; color: #e9f3ec; text-decoration: none; background: rgba(232,179,79,.06); border: 1px solid rgba(232,179,79,.20); }
.relationship-director-company:hover { border-color: rgba(123,213,111,.34); background: rgba(123,213,111,.08); }
.relationship-person-link { background: rgba(122,167,255,.055); border-color: rgba(122,167,255,.20); }
.relationship-director-company strong, .relationship-director-company small { display: block; }
.relationship-director-company small { color: #a8b9af; font-size: 12px; margin-top: 3px; line-height: 1.35; }
.relationship-period-line { margin-top: 6px !important; color: #f0d282 !important; font-size: 11px !important; line-height: 1.35 !important; }
.relationship-year-tree { display: grid; gap: 12px; }
.relationship-year-group { display: grid; grid-template-columns: 122px minmax(0, 1fr); gap: 12px; padding: 10px; border-radius: 8px; background: rgba(0,0,0,.16); border: 1px solid rgba(255,255,255,.08); }
.relationship-year-node { display: grid; align-content: start; gap: 4px; padding: 9px; border-radius: 8px; background: rgba(232,179,79,.08); border: 1px solid rgba(232,179,79,.22); }
.relationship-year-node strong { color: #f5f8ef; font-size: 20px; line-height: 1; }
.relationship-year-node small { color: #a8b9af; font-size: 11px; line-height: 1.3; }
.relationship-year-events { display: grid; gap: 7px; }
.relationship-year-events article { display: grid; grid-template-columns: 72px 24px minmax(0, 1fr); gap: 9px; align-items: start; padding: 9px; border-radius: 8px; background: rgba(255,255,255,.035); border: 1px solid rgba(255,255,255,.08); }
.relationship-year-events time { color: #f0d282; font-size: 11px; font-weight: 900; white-space: nowrap; }
.relationship-year-events strong, .relationship-year-events span, .relationship-year-events p { display: block; }
.relationship-year-events strong { color: #f5f8ef; font-size: 13px; line-height: 1.2; }
.relationship-year-events div > span { margin-top: 2px; color: #a8b9af; font-size: 11px; font-weight: 900; }
.relationship-year-events p { margin: 4px 0 0; color: #dce7df; font-size: 11px; line-height: 1.35; }
.map-point-list .map-point-start { border-left-color: #ff4fd8; background: rgba(255,79,216,.09); }
.tree-branch { position: relative; display: block; width: 22px; height: 24px; }
.tree-branch::before { content: ""; position: absolute; left: 8px; top: -12px; bottom: 12px; width: 2px; background: rgba(255,255,255,.18); }
.tree-branch::after { content: ""; position: absolute; left: 8px; top: 11px; width: 14px; height: 2px; background: rgba(255,255,255,.18); }
.linked-company-cell { display: inline-flex; align-items: center; gap: 8px; color: #e9f3ec; text-decoration: none; font-weight: 900; }
.linked-company-cell:hover { color: #a5e88f; }
.linked-company-tree { display: grid; gap: 8px; margin-bottom: 14px; padding: 12px; border-radius: 8px; background: rgba(0,0,0,.18); border: 1px solid rgba(255,255,255,.08); }
.linked-company-tree-root, .linked-company-tree-person, .linked-company-tree-company { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 10px; align-items: start; padding: 10px; border-radius: 8px; background: rgba(255,255,255,.035); border: 1px solid rgba(255,255,255,.08); }
.linked-company-tree-root { border-color: rgba(255,79,216,.36); background: rgba(255,79,216,.08); }
.linked-company-tree-person { grid-template-columns: 22px 24px minmax(0, 1fr); margin-left: 18px; border-color: rgba(122,167,255,.24); background: rgba(122,167,255,.08); }
.linked-company-tree-children { display: grid; gap: 7px; margin: -2px 0 2px 54px; }
.linked-company-tree-company-list { display: grid; gap: 7px; margin: -2px 0 2px 54px; }
.linked-company-tree-company { grid-template-columns: 22px 24px minmax(0, 1fr); color: #e9f3ec; text-decoration: none; border-color: rgba(232,179,79,.20); background: rgba(232,179,79,.06); }
.linked-company-tree-company:hover { border-color: rgba(123,213,111,.34); background: rgba(123,213,111,.08); }
.linked-company-tree strong, .linked-company-tree small { display: block; }
.linked-company-tree small { color: #a8b9af; font-size: 12px; margin-top: 3px; line-height: 1.35; }
.company-network-grid p { margin: 8px 0 0; color: #dce7df; font-size: 12px; line-height: 1.4; }
.company-network-grid em { margin-top: 8px; color: #94a59c; font-style: normal; font-size: 11px; line-height: 1.35; }
.panel-title.compact { margin-top: 16px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.08); }
.panel-title.compact h3 { margin: 0; font-size: 22px; line-height: 1.15; }
.relationship-timeline-section { margin-top: 16px; }
.relationship-timeline { position: relative; display: grid; gap: 10px; margin-top: 10px; padding-left: 18px; }
.relationship-timeline::before { content: ""; position: absolute; left: 7px; top: 8px; bottom: 8px; width: 2px; border-radius: 999px; background: linear-gradient(#7aa7ff, #e8b34f, #7bd56f); opacity: .75; }
.relationship-timeline-month { position: relative; display: grid; gap: 7px; padding: 10px; border-radius: 8px; background: rgba(255,255,255,.025); border: 1px solid rgba(255,255,255,.07); }
.relationship-timeline-month-header { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 0 0 4px; border-bottom: 1px solid rgba(255,255,255,.07); }
.relationship-timeline-month-header strong { color: #f0d282; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }
.relationship-timeline-month-header span { color: #94a59c; font-size: 12px; font-weight: 900; }
.relationship-timeline article { position: relative; display: grid; grid-template-columns: 104px 26px minmax(0, 1fr); gap: 10px; align-items: start; padding: 11px 12px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); }
.relationship-timeline article::before { content: ""; position: absolute; left: -15px; top: 18px; width: 10px; height: 10px; border-radius: 999px; background: #7aa7ff; box-shadow: 0 0 0 4px rgba(122,167,255,.15); }
.relationship-timeline article.timeline-control::before { background: #7bd56f; box-shadow: 0 0 0 4px rgba(123,213,111,.15); }
.relationship-timeline article.timeline-linked::before { background: #d86fd5; box-shadow: 0 0 0 4px rgba(216,111,213,.15); }
.relationship-timeline article.timeline-ended::before { background: #e8b34f; box-shadow: 0 0 0 4px rgba(232,179,79,.17); }
.relationship-timeline time { color: #f0d282; font-size: 12px; font-weight: 900; line-height: 1.25; white-space: nowrap; }
.relationship-timeline strong, .relationship-timeline span, .relationship-timeline p { display: block; }
.relationship-timeline strong { color: #f5f8ef; font-size: 14px; line-height: 1.2; }
.relationship-timeline div > span { margin-top: 3px; color: #a8b9af; font-size: 12px; font-weight: 900; }
.relationship-timeline p { margin: 5px 0 0; color: #dce7df; font-size: 12px; line-height: 1.35; }
.company-network-search { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(220px, .65fr) auto; align-items: end; gap: 12px; margin-bottom: 14px; }
.company-network-search label { display: block; margin-bottom: 7px; color: #a8b9af; font-size: 13px; font-weight: 800; }
.company-network-map-summary { display: grid; gap: 4px; margin: -2px 0 10px; padding: 9px 11px; border-radius: 8px; background: rgba(255,79,216,.08); border: 1px solid rgba(255,79,216,.18); color: #dce7df; font-size: 12px; line-height: 1.4; }
.company-network-map-summary span + span { color: #a8b9af; }
.company-network-map-warning { margin: 0 0 10px; }
.company-network-hero { display: grid; grid-template-columns: 1.25fr .75fr; gap: 14px; margin-bottom: 14px; }
.company-network-key { display: grid; gap: 9px; margin: 12px 0; }
.company-network-key span { display: flex; align-items: center; gap: 8px; color: #dce7df; font-size: 13px; }
.network-line-key, .network-address-key, .network-third-party-key { width: 28px; height: 3px; border-radius: 999px; background: #ff4fd8; display: inline-block; }
.network-start-key { width: 13px; height: 13px; border-radius: 50%; background: #ff4fd8; border: 2px solid #f5f8ef; box-shadow: 0 0 0 4px rgba(255,79,216,.18); display: inline-block; }
.network-address-key { background: #e8b34f; }
.network-third-party-key { background: #d86fd5; }
.company-network-tab-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 14px; }
.company-network-tab-grid article { padding: 14px; border-left: 4px solid #7aa7ff; }
.company-network-tab-grid article:nth-child(2) { border-left-color: #e8b34f; }
.company-network-tab-grid article:nth-child(3) { border-left-color: #d86fd5; }
.company-network-tab-grid span, .company-network-tab-grid strong, .company-network-tab-grid p { display: block; }
.company-network-tab-grid span { color: #f0d282; font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.company-network-tab-grid strong { margin: 5px 0; font-size: 18px; }
.company-network-tab-grid p { margin: 0; color: #a8b9af; font-size: 13px; line-height: 1.45; }
.company-network-tab-bar { display: flex; gap: 8px; flex-wrap: wrap; margin: 0 0 14px; padding: 8px; border-radius: 8px; background: rgba(0,0,0,.18); border: 1px solid rgba(255,255,255,.08); }
.company-network-tab { min-height: 38px; border-radius: 8px; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.04); color: #a8b9af; padding: 0 14px; font-weight: 900; cursor: pointer; }
.company-network-tab.active { color: #f5f8ef; border-color: rgba(123,213,111,.46); background: rgba(123,213,111,.16); box-shadow: inset 0 -2px 0 rgba(123,213,111,.65); }
.company-analysis-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 12px; }
.company-analysis-grid article { display: grid; gap: 7px; padding: 14px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #7aa7ff; }
.company-analysis-grid article:nth-child(3n+2) { border-left-color: #e8b34f; }
.company-analysis-grid article:nth-child(3n) { border-left-color: #d86fd5; }
.company-analysis-grid span, .company-analysis-grid small, .company-analysis-grid em { display: block; color: #94a59c; font-size: 12px; line-height: 1.4; }
.company-analysis-grid strong { display: block; color: #f5f8ef; font-size: 22px; line-height: 1.15; }
.company-analysis-grid p { margin: 0; color: #dce7df; font-size: 13px; line-height: 1.45; }
.company-analysis-grid em { color: #f0d282; font-style: normal; }
.person-connection-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 12px; }
.person-connection-grid.compact { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.person-connection-grid article { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 12px; align-items: start; padding: 14px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #7aa7ff; }
.person-connection-grid article > div { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 9px; align-items: start; }
.person-connection-grid strong, .person-connection-grid small, .person-connection-grid em { display: block; }
.person-connection-grid strong { color: #f5f8ef; font-size: 17px; line-height: 1.2; }
.person-connection-grid small, .person-connection-grid em { color: #94a59c; font-size: 12px; line-height: 1.35; }
.person-connection-grid b { display: grid; place-items: center; min-width: 46px; height: 36px; border-radius: 999px; color: #c8ffb2; background: rgba(123,213,111,.14); border: 1px solid rgba(123,213,111,.34); font-size: 16px; }
.person-connection-grid p { grid-column: 1 / -1; margin: 0; color: #dce7df; font-size: 13px; line-height: 1.45; }
.person-connection-grid em { grid-column: 1 / -1; color: #f0d282; font-style: normal; }
.company-type-mix-summary { grid-column: 1 / -1 !important; display: grid !important; grid-template-columns: minmax(150px, auto) minmax(0, 1fr) !important; gap: 8px !important; align-items: center !important; padding: 0 !important; border: 0 !important; background: transparent !important; }
.company-type-mix-summary > span { display: inline-flex !important; width: fit-content; min-height: 26px; align-items: center; padding: 0 10px; border-radius: 999px; color: #e9f3ec; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.13); font-size: 11px; font-weight: 900; }
.company-type-mix-summary > div { display: flex !important; flex-wrap: wrap; gap: 6px; padding: 0 !important; border: 0 !important; background: transparent !important; }
.company-type-mix-chip { display: inline-flex !important; width: fit-content; align-items: center; min-height: 23px; margin: 0 !important; padding: 0 8px; border-radius: 999px; border: 1px solid; font-size: 10px !important; line-height: 1 !important; font-weight: 900; }
.company-type-mix-chip.type-property { color: #a8ff9e; background: rgba(123,213,111,.12); border-color: rgba(123,213,111,.3); }
.company-type-mix-chip.type-development { color: #b8ceff; background: rgba(122,167,255,.12); border-color: rgba(122,167,255,.3); }
.company-type-mix-chip.type-finance { color: #ffc0f3; background: rgba(240,107,216,.12); border-color: rgba(240,107,216,.3); }
.company-type-mix-chip.type-watch { color: #ffb6b6; background: rgba(239,107,107,.12); border-color: rgba(239,107,107,.32); }
.company-type-mix-chip.type-other { color: #d9e5dd; background: rgba(200,209,201,.1); border-color: rgba(200,209,201,.24); }
.crm-profile-layout { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 14px; margin-bottom: 14px; align-items: start; }
.crm-profile-shell { margin-bottom: 14px; }
.crm-profile-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px; align-items: start; margin-bottom: 14px; }
.crm-profile-heading h2 { margin: 2px 0 4px; font-size: clamp(28px, 3vw, 44px); line-height: 1.05; }
.crm-profile-heading p { margin: 0; color: #a8b9af; font-size: 18px; line-height: 1.45; }
.crm-profile-tabs { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; }
.crm-profile-tabs button { display: grid; gap: 5px; justify-items: start; min-height: 64px; padding: 12px; border: 1px solid rgba(255,255,255,.1); border-radius: 8px; background: rgba(255,255,255,.045); color: #dce9e0; cursor: pointer; }
.crm-profile-tabs button span { font-size: 13px; font-weight: 900; }
.crm-profile-tabs button b { display: inline-grid; place-items: center; min-width: 30px; min-height: 24px; padding: 0 8px; border-radius: 999px; color: #bff1a7; background: rgba(123,213,111,.13); font-size: 12px; }
.crm-profile-tabs button.active { border-color: rgba(123,213,111,.48); background: linear-gradient(135deg, rgba(123,213,111,.18), rgba(216,111,213,.1)); box-shadow: inset 0 0 0 1px rgba(123,213,111,.12); }
.crm-profile-summary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-bottom: 12px; }
.crm-profile-summary-grid div { padding: 12px; border-radius: 8px; border: 1px solid rgba(255,255,255,.08); background: rgba(0,0,0,.2); }
.crm-profile-summary-grid span, .crm-profile-summary-grid strong { display: block; }
.crm-profile-summary-grid span { color: #94a59c; font-size: 12px; font-weight: 850; }
.crm-profile-summary-grid strong { margin-top: 4px; color: #eff8f0; font-size: 28px; line-height: 1; }
.crm-profile-card { padding: 14px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #7aa7ff; }
.crm-profile-card span, .crm-profile-card p { display: block; color: #94a59c; font-size: 13px; line-height: 1.45; }
.crm-profile-card strong { display: block; margin: 5px 0; font-size: 24px; line-height: 1.15; }
.crm-list-filter-panel { margin-bottom: 14px; }
.crm-filter-grid { display: grid; grid-template-columns: minmax(260px, 1.4fr) repeat(3, minmax(160px, .7fr)) auto; gap: 12px; align-items: end; }
.crm-filter-grid label, .crm-note-form label { display: grid; gap: 7px; color: #a8b9af; font-size: 13px; font-weight: 800; }
.crm-kind-pill { display: inline-grid; place-items: center; min-height: 28px; padding: 0 10px; border-radius: 999px; color: #dff8d9; background: rgba(123,213,111,.14); border: 1px solid rgba(123,213,111,.28); font-size: 12px; font-weight: 900; }
.crm-contact-card-list { display: grid; gap: 10px; }
.crm-contact-card { display: grid; grid-template-columns: 46px minmax(0, 1fr) auto; gap: 14px; align-items: start; padding: 14px; border-radius: 8px; background: rgba(0,0,0,.2); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #f0d282; }
.crm-contact-card.person { border-left-color: #7aa7ff; }
.crm-contact-card.business { border-left-color: #f0d282; }
.crm-contact-card.empty { grid-template-columns: minmax(0, 1fr); border-left-color: #94a59c; }
.crm-contact-card:hover { border-color: rgba(123,213,111,.28); background: rgba(123,213,111,.055); }
.crm-contact-icon-shell { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 8px; background: rgba(255,255,255,.045); border: 1px solid rgba(255,255,255,.1); }
.crm-contact-main { display: grid; gap: 10px; min-width: 0; }
.crm-contact-title-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: start; }
.crm-contact-title-row strong, .crm-contact-title-row span { display: block; min-width: 0; }
.crm-contact-title-row strong { color: #eff8f0; font-size: 19px; line-height: 1.15; overflow-wrap: anywhere; }
.crm-contact-title-row span { margin-top: 3px; color: #f0d282; font-size: 13px; line-height: 1.35; overflow-wrap: anywhere; }
.crm-contact-title-row .crm-kind-pill { margin-top: 0; color: #dff8d9; }
.crm-contact-meta-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.crm-contact-meta-grid span { display: grid; gap: 3px; min-width: 0; padding: 9px 10px; border-radius: 8px; background: rgba(255,255,255,.035); border: 1px solid rgba(255,255,255,.07); color: #dce7df; font-size: 12px; line-height: 1.25; overflow-wrap: anywhere; }
.crm-contact-meta-grid b { color: #94a59c; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.crm-contact-note { margin: 0; color: #a8b9af; font-size: 13px; line-height: 1.45; overflow-wrap: anywhere; }
.crm-tag-row { display: flex; flex-wrap: wrap; gap: 7px; margin: 10px 0; }
.crm-tag-row b { display: inline-grid; place-items: center; min-height: 26px; padding: 0 9px; border-radius: 999px; color: #ffe8a6; background: rgba(232,179,79,.12); border: 1px solid rgba(232,179,79,.26); font-size: 11px; }
.crm-research-link-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.crm-research-link-grid a { display: block; padding: 12px; border-radius: 8px; color: #e9f3ec; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #d86fd5; text-decoration: none; }
.crm-research-link-grid a:hover { border-color: rgba(123,213,111,.36); background: rgba(123,213,111,.08); }
.crm-research-link-grid strong, .crm-research-link-grid span { display: block; }
.crm-research-link-grid span { margin-top: 5px; color: #94a59c; font-size: 12px; line-height: 1.4; }
.crm-note-form { display: grid; gap: 12px; }
.crm-note-form textarea { min-height: 120px; resize: vertical; }

@media (max-width: 1100px) {
    .crm-profile-heading { grid-template-columns: 1fr; }
    .crm-profile-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .crm-contact-card { grid-template-columns: 42px minmax(0, 1fr); }
    .crm-contact-card > .ghost-link-button { grid-column: 2; justify-self: start; }
    .crm-contact-meta-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
    .crm-contact-card { grid-template-columns: 1fr; }
    .crm-contact-card > .ghost-link-button { grid-column: 1; }
    .crm-contact-title-row, .crm-contact-meta-grid { grid-template-columns: 1fr; }
}
.crm-signal-list { display: grid; gap: 10px; }
.crm-signal-list article { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; align-items: center; padding: 12px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #e8b34f; }
.crm-signal-list article:nth-child(2n) { border-left-color: #f06bd8; }
.crm-signal-list span, .crm-signal-list p { display: block; color: #94a59c; font-size: 12px; line-height: 1.4; }
.crm-signal-list strong { display: block; font-size: 17px; }
.crm-signal-list p { grid-column: 1 / -1; margin: 0; }
.crm-signal-list b { display: grid; place-items: center; width: 42px; height: 34px; border-radius: 8px; background: rgba(232,179,79,.14); border: 1px solid rgba(232,179,79,.32); color: #ffd080; }
.active-row { background: rgba(123,213,111,.08); }
.help-hero-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 14px; }
.help-flow-grid, .help-section-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.help-flow-grid article, .help-section-grid article, .help-alert-layout article { padding: 14px; border-radius: 8px; background: rgba(0,0,0,.2); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #7aa7ff; }
.help-flow-grid article:nth-child(3n+2), .help-section-grid article:nth-child(3n+2) { border-left-color: #e8b34f; }
.help-flow-grid article:nth-child(3n), .help-section-grid article:nth-child(3n) { border-left-color: #7bd56f; }
.help-flow-grid span, .help-section-grid span, .help-section-grid small { display: block; }
.help-flow-grid span, .help-section-grid span { color: #f0d282; font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.help-flow-grid strong, .help-section-grid strong { display: block; margin: 5px 0; font-size: 17px; }
.help-flow-grid p, .help-section-grid p, .help-section-grid small, .help-alert-layout li, .help-alert-layout dd { color: #a8b9af; font-size: 13px; line-height: 1.45; }
.help-section-grid small { color: #dce7df; }
.help-alert-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.help-alert-layout ul { margin: 8px 0 0; padding-left: 20px; }
.help-code-card { display: flex; gap: 8px; flex-wrap: wrap; margin: 12px 0; }
.help-code-card code { display: inline-flex; align-items: center; min-height: 34px; border-radius: 8px; padding: 0 11px; background: rgba(0,0,0,.28); border: 1px solid rgba(255,255,255,.1); color: #f0d282; }
.document-flow-grid article { border-left-color: #d86fd5; }
.document-api-grid, .document-review-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.document-api-grid article, .document-review-grid article { padding: 14px; border-radius: 8px; background: rgba(0,0,0,.2); border: 1px solid rgba(255,255,255,.08); }
.document-api-grid span, .document-review-grid span { display: block; color: #f0d282; font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.document-api-grid strong, .document-review-grid strong { display: block; margin: 5px 0; font-size: 17px; }
.document-api-grid p, .document-review-grid p, .document-review-grid small { color: #a8b9af; font-size: 13px; line-height: 1.45; }
.document-api-grid a { display: inline-flex; margin-top: 8px; color: #a5e88f; font-weight: 800; text-decoration: none; }
.document-api-grid code { display: block; width: fit-content; margin-top: 6px; padding: 7px 9px; border-radius: 8px; color: #f0d282; background: rgba(0,0,0,.28); border: 1px solid rgba(255,255,255,.1); }
.document-review-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 14px 0; padding: 14px; border-radius: 8px; background: rgba(0,0,0,.18); border: 1px solid rgba(255,255,255,.08); }
.document-review-actions strong, .document-review-actions span { display: block; }
.document-review-actions span { color: #a8b9af; font-size: 13px; line-height: 1.35; margin-top: 3px; }
.document-review-button-stack { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 10px; }
.document-review-button-stack .check-row { margin: 0; white-space: nowrap; }
.document-review-options { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0 0 14px; }
.document-review-options article { padding: 12px; border-radius: 8px; background: rgba(0,0,0,.16); border: 1px solid rgba(255,255,255,.08); }
.document-review-options strong, .document-review-options small { display: block; }
.document-review-options small { color: #94a59c; font-size: 12px; line-height: 1.35; margin-top: 8px; }
.document-option-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 12px; margin-top: 10px; }
.document-option-list .check-row { margin: 0; font-size: 13px; }
.modal-backdrop { position: fixed; inset: 0; z-index: 2000; display: grid; place-items: center; padding: 24px; background: rgba(0,0,0,.68); backdrop-filter: blur(8px); }
.modal-panel { width: min(920px, calc(100vw - 48px)); max-height: calc(100vh - 64px); overflow: auto; padding: 18px; border-radius: 12px; background: #101a15; border: 1px solid rgba(255,255,255,.14); box-shadow: 0 24px 80px rgba(0,0,0,.5); color: #eff8f0; }
.review-history-modal .panel-title { align-items: flex-start; margin-bottom: 12px; }
.review-history-modal .review-history-strip { margin-top: 8px; }
.document-review-table { margin-bottom: 14px; }
.document-review-table td span { display: block; color: #94a59c; font-size: 12px; margin-top: 3px; }
.review-history-strip { display: grid; gap: 8px; margin: 12px 0 14px; padding: 12px; border-radius: 8px; background: rgba(0,0,0,.16); border: 1px solid rgba(255,255,255,.08); }
.review-history-strip article { padding: 10px; border-radius: 8px; background: rgba(0,0,0,.18); border: 1px solid rgba(255,255,255,.08); }
.review-history-strip strong, .review-history-strip span, .review-history-strip small { display: block; }
.review-history-strip span { color: #e5eee8; font-size: 13px; margin-top: 3px; }
.review-history-strip small { color: #94a59c; font-size: 11px; margin-top: 3px; }
.document-findings-summary { margin-top: 14px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.08); }
.document-findings-header { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.document-findings-header strong, .document-findings-header span { display: block; }
.document-findings-header span { color: #a8b9af; font-size: 12px; text-align: right; }
.document-findings-summary article { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 10px; border-radius: 8px; background: rgba(0,0,0,.18); border: 1px solid rgba(255,255,255,.08); margin-top: 8px; }
.document-findings-summary article strong, .document-findings-summary article span, .document-findings-summary article small, .document-findings-summary article em { display: block; }
.document-findings-summary article span { color: #e5eee8; font-size: 13px; line-height: 1.35; margin-top: 3px; }
.document-findings-summary article small { color: #94a59c; font-size: 11px; margin-top: 4px; }
.document-findings-summary article a, .document-review-table a { color: #a5e88f; font-weight: 900; text-decoration: none; }
.document-findings-summary article em { color: #94a59c; font-size: 12px; font-style: normal; line-height: 1.35; margin-top: 4px; }
.crm-context-panel { margin-top: 14px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.08); }
.crm-context-panel article { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 10px; border-radius: 8px; background: rgba(0,0,0,.2); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #d86fd5; margin-top: 8px; }
.crm-context-panel article strong, .crm-context-panel article span, .crm-context-panel article small, .crm-context-panel article p, .crm-context-panel article em { display: block; }
.crm-context-panel article span { color: #f0d282; font-size: 12px; margin-top: 3px; }
.crm-context-panel article small { color: #94a59c; font-size: 11px; line-height: 1.35; margin-top: 3px; }
.crm-context-panel article p { margin: 7px 0 0; color: #dce7df; font-size: 12px; line-height: 1.4; }
.crm-context-panel article em { color: #94a59c; font-size: 11px; line-height: 1.35; margin-top: 5px; font-style: normal; }
.crm-context-panel article a { color: #a5e88f; font-weight: 900; text-decoration: none; }
.feed-message { margin-top: 12px; padding: 10px 12px; border-radius: 8px; background: rgba(123,213,111,.12); border: 1px solid rgba(123,213,111,.24); color: #dff6dc; font-size: 12px; line-height: 1.4; }
.feed-message-error { background: rgba(239,107,107,.12); border-color: rgba(239,107,107,.28); color: #ffd0d0; }
.map-shell { min-height: 760px; overflow: hidden; border-radius: 8px; border: 1px solid rgba(255,255,255,.10); box-shadow: 0 24px 70px rgba(0,0,0,.38); position: relative; background: #101816; }
#fruitbowl-map { height: 100%; min-height: 760px; z-index: 1; }
.fallback-map { position: relative; display: block; overflow: hidden; background: linear-gradient(135deg, #101816, #17231f); }
.fallback-map-canvas { position: absolute; inset: 0; overflow: hidden; background: radial-gradient(circle at 22% 22%, rgba(123,213,111,.16), transparent 30%), radial-gradient(circle at 82% 70%, rgba(232,179,79,.12), transparent 34%), #101816; }
.fallback-map-svg { width: 100%; height: 100%; display: block; }
.fallback-map-notice { position: absolute; z-index: 4; left: 14px; bottom: 14px; max-width: min(460px, calc(100% - 28px)); padding: 11px 13px; border-radius: 8px; background: rgba(6,13,12,.82); border: 1px solid rgba(255,255,255,.12); color: #e9f3ec; backdrop-filter: blur(14px); }
.fallback-map-notice strong, .fallback-map-notice span { display: block; }
.fallback-map-notice span { color: #a8b9af; font-size: 12px; line-height: 1.35; margin-top: 2px; }
.fallback-road { fill: none; stroke: rgba(232,179,79,.46); stroke-width: 18; stroke-linecap: round; }
.fallback-road.secondary { stroke-width: 10; opacity: .72; }
.fallback-water { fill: none; stroke: rgba(89,183,255,.38); stroke-width: 18; stroke-linecap: round; }
.fallback-constraint-shape { opacity: .24; stroke-width: 5; stroke-dasharray: 10 8; }
.fallback-constraint-point { opacity: .9; stroke: #f5f8ef; stroke-width: 2; }
.fallback-parcel { cursor: pointer; opacity: .3; stroke-width: 4; transition: opacity .16s ease, stroke-width .16s ease; }
.fallback-parcel:hover { opacity: .55; stroke-width: 6; }
.fallback-heat { opacity: .26; }
.fallback-owned-marker circle { fill: #59b7ff; stroke: #f5f8ef; stroke-width: 3; }
.fallback-commercial-marker circle { fill: #f06bd8; stroke: #f5f8ef; stroke-width: 3; }
.fallback-strategic-marker circle { fill: #7aa7ff; stroke: #f5f8ef; stroke-width: 3; }
.fallback-power-marker circle { fill: #70e5ff; stroke: #f5f8ef; stroke-width: 3; }
.fallback-power-line-buffer { fill: none; stroke: rgba(112,229,255,.22); stroke-width: 24; stroke-linecap: round; stroke-linejoin: round; }
.fallback-power-line { fill: none; stroke: #70e5ff; stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 14 9; }
.fallback-transport-route-buffer { fill: none; stroke: rgba(3,8,7,.38); stroke-width: 18; stroke-linecap: round; stroke-linejoin: round; }
.fallback-transport-route-a { fill: none; stroke: #f0b44a; stroke-width: 7; stroke-linecap: round; stroke-linejoin: round; }
.fallback-transport-route-b { fill: none; stroke: #7aa7ff; stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 12 8; }
.map-loading-overlay, .preview-loading-overlay { position: absolute; inset: 0; z-index: 640; display: grid; place-items: center; align-content: center; gap: 9px; background: rgba(5,16,13,.62); backdrop-filter: blur(3px); color: #e9f3ec; text-align: center; pointer-events: none; }
.map-loading-overlay strong, .map-loading-overlay small, .preview-loading-overlay strong { display: block; }
.map-loading-overlay small { color: #a8b9af; font-size: 12px; }
.loading-spinner { width: 30px; height: 30px; border-radius: 999px; border: 3px solid rgba(255,255,255,.2); border-top-color: #8fd86f; animation: fruitbowl-spin .8s linear infinite; }
@keyframes fruitbowl-spin { to { transform: rotate(360deg); } }
#fruitbowl-features-map { min-height: 640px; height: 100%; border-radius: 8px; overflow: hidden; background: #101816; z-index: 1; }
#fruitbowl-area-builder-map { min-height: 640px; height: 100%; border-radius: 8px; overflow: hidden; background: #101816; z-index: 1; }
.listed-building-marker { width: 18px !important; height: 18px !important; border-radius: 50%; background: rgba(255,207,107,.34); box-shadow: 0 0 0 3px rgba(255,207,107,.26), 0 0 12px rgba(201,139,0,.55); }
.listed-building-marker span { position: absolute; left: 4px; top: 4px; width: 10px; height: 10px; transform: rotate(45deg); background: #ffcf6b; border: 2px solid #5b3a00; box-sizing: border-box; }
.owned-asset-marker { width: 22px !important; height: 22px !important; }
.owned-asset-marker span { position: absolute; left: 3px; top: 1px; width: 16px; height: 16px; border-radius: 50% 50% 50% 3px; transform: rotate(-45deg); background: #59b7ff; border: 2px solid #f5f8ef; box-shadow: 0 0 0 4px rgba(89,183,255,.24), 0 8px 16px rgba(4,14,20,.45); }
.commercial-anchor-marker { width: 22px !important; height: 22px !important; }
.commercial-anchor-marker span { position: absolute; left: 3px; top: 3px; width: 16px; height: 16px; border-radius: 4px; transform: rotate(45deg); background: #f06bd8; border: 2px solid #f5f8ef; box-shadow: 0 0 0 4px rgba(240,107,216,.24), 0 8px 16px rgba(4,14,20,.45); }
.strategic-anchor-marker { width: 24px !important; height: 24px !important; }
.strategic-anchor-marker span { position: absolute; left: 3px; top: 5px; width: 18px; height: 14px; border-radius: 3px; background: #7aa7ff; border: 2px solid #f5f8ef; box-shadow: 0 0 0 4px rgba(122,167,255,.24), 0 8px 16px rgba(4,14,20,.45); }
.power-feature-marker { width: 30px !important; height: 30px !important; }
.power-feature-marker span { position: absolute; left: 2px; top: 2px; width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; border: 2px solid #f5f8ef; color: #07100b; font-size: 11px; font-weight: 900; box-shadow: 0 0 0 5px rgba(112,229,255,.24), 0 8px 18px rgba(4,14,20,.48); }
.power-feature-pylon span { background: #70e5ff; }
.power-feature-solar span { background: #ffd43b; box-shadow: 0 0 0 5px rgba(255,212,59,.28), 0 8px 18px rgba(4,14,20,.48); }
.power-feature-wind span { background: #b7f27d; box-shadow: 0 0 0 4px rgba(183,242,125,.22), 0 8px 18px rgba(4,14,20,.48); }
.road-feature-marker { width: 34px !important; height: 34px !important; }
.road-feature-marker span { position: absolute; left: 2px; top: 2px; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 8px; border: 2px solid #f8fbf3; color: #07100b; font-size: 15px; font-weight: 950; box-shadow: 0 0 0 5px rgba(8,14,12,.55), 0 9px 22px rgba(0,0,0,.38); }
.road-feature-a span { background: #ffbf36; }
.road-feature-b span { background: #30d5ff; }
.road-feature-mock span { opacity: .78; border-style: dashed; }
.map-toolbar { position: absolute; z-index: 500; left: 14px; right: 14px; top: 14px; display: flex; justify-content: space-between; gap: 14px; padding: 12px 14px; background: rgba(6, 13, 12, .78); border: 1px solid rgba(255,255,255,.12); border-radius: 8px; backdrop-filter: blur(16px); pointer-events: none; }
.map-toolbar strong, .map-toolbar span { display: block; }
.map-toolbar span { color: #a9bbb1; font-size: 12px; }
.legend { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px 10px; max-width: 720px; }
.legend span { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.legend i { display: inline-block; }
.legend-label { color: #f0d282 !important; font-size: 10px !important; text-transform: uppercase; letter-spacing: .08em; margin-left: 6px; }
.legend-parcel { width: 14px; height: 10px; border-radius: 2px; border: 1px solid rgba(255,255,255,.35); }
.legend-line { width: 18px; height: 0; border-top: 3px dashed currentColor; }
.legend-power-line { width: 22px; height: 0; border-top: 4px dashed #70e5ff; box-shadow: 0 0 10px rgba(112,229,255,.35); }
.legend-road-a, .legend-road-b { width: 24px; height: 0; border-top: 5px solid #f0b44a; box-shadow: 0 0 10px rgba(240,180,74,.28); }
.legend-road-b { border-top-style: dashed; border-top-width: 4px; border-top-color: #7aa7ff; box-shadow: 0 0 10px rgba(122,167,255,.28); }
.legend-diamond { width: 10px; height: 10px; transform: rotate(45deg); border: 2px solid currentColor; background: rgba(255,255,255,.28); box-shadow: 0 0 0 3px rgba(255,207,107,.22); }
.legend-owned { width: 12px; height: 12px; border-radius: 50% 50% 50% 2px; transform: rotate(-45deg); background: #59b7ff; border: 2px solid #f5f8ef; box-shadow: 0 0 0 3px rgba(89,183,255,.22); }
.legend-commercial { width: 12px; height: 12px; border-radius: 3px; transform: rotate(45deg); background: #f06bd8; border: 2px solid #f5f8ef; box-shadow: 0 0 0 3px rgba(240,107,216,.22); }
.legend-strategic { width: 14px; height: 11px; border-radius: 3px; background: #7aa7ff; border: 2px solid #f5f8ef; box-shadow: 0 0 0 3px rgba(122,167,255,.22); }
.legend-power, .legend-solar, .legend-wind { width: 14px; height: 14px; border-radius: 50%; display: grid; place-items: center; background: #70e5ff; border: 2px solid #f5f8ef; box-shadow: 0 0 0 3px rgba(112,229,255,.22); }
.legend-solar { background: #ffd43b; box-shadow: 0 0 0 3px rgba(255,212,59,.24); }
.legend-wind { background: #b7f27d; box-shadow: 0 0 0 3px rgba(183,242,125,.22); }
.legend-feature { display: inline-block; width: 12px; height: 12px; border-radius: 50%; border: 2px solid #f5f8ef; box-shadow: 0 0 0 2px rgba(255,255,255,.12); }
.feature-bank { background: #7bd56f; }
.feature-food { background: #e8b34f; }
.feature-leisure { background: #f06bd8; }
.feature-industrial { background: #7aa7ff; }
.feature-brownfield { background: #ff8a1f; box-shadow: 0 0 0 2px rgba(255,255,255,.18), 0 0 14px rgba(255,138,31,.55); }
.feature-power { background: #70e5ff; }
.feature-wind { background: #b7f27d; }
.feature-alert { background: #ef6b6b; }
.legend-high { background: #7bd56f; }
.legend-mid { background: #e8b34f; }
.legend-low { background: #ef6b6b; }
.legend-constraint-green { color: #168a4f; }
.legend-constraint-blue { color: #1976d2; }
.legend-constraint-purple { color: #8d4ee8; }
.legend-constraint-gold { color: #c98b00; }
.detail-panel { overflow: auto; max-height: 760px; }
.detail-drawer { position: fixed; z-index: 1250; top: 20px; right: 20px; bottom: 20px; width: min(560px, calc(100vw - 40px)); max-height: none; transform: translateX(calc(100% + 34px)); opacity: 0; pointer-events: none; transition: transform .2s ease, opacity .2s ease; background: rgba(5, 12, 10, .96); border-color: rgba(143,216,111,.24); box-shadow: 0 28px 90px rgba(0,0,0,.72), inset 0 1px 0 rgba(255,255,255,.08); backdrop-filter: blur(22px); color: #f4fbf5; }
.detail-drawer.open { transform: translateX(0); opacity: 1; pointer-events: auto; }
.detail-drawer .panel-title h2 { color: #f7fff8; text-shadow: 0 1px 8px rgba(0,0,0,.45); }
.detail-drawer .panel-title span { color: #c0cec6; }
.detail-scrim { position: fixed; z-index: 1240; inset: 0; border: 0; background: rgba(0,0,0,.34); backdrop-filter: blur(2px); cursor: pointer; }
.drawer-summary-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.drawer-summary-grid div { background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); border-radius: 8px; padding: 11px; }
.drawer-summary-grid span { color: #94a59c; font-size: 12px; display: block; }
.drawer-summary-grid strong { display: block; font-size: 24px; margin-top: 3px; }
.detail-content { margin-top: 20px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.1); }
.area-action-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 12px 0 16px; }
.area-action-grid .primary-button, .area-action-grid .ghost-link-button { min-height: 42px; }
.parcel-preview-card { position: relative; margin: 12px 0 16px; padding: 12px; border-radius: 8px; background: rgba(0,0,0,.2); border: 1px solid rgba(255,255,255,.09); }
.parcel-preview-card .panel-title { margin-bottom: 8px; }
.parcel-preview-card h3 { margin: 0 0 2px; }
.map-chip { display: inline-flex; align-items: center; min-height: 28px; border-radius: 999px; padding: 0 10px; background: rgba(232,179,79,.16); border: 1px solid rgba(232,179,79,.24); color: #f0d282 !important; font-size: 11px; font-weight: 800; white-space: nowrap; }
.industrial-page-grid, .commercial-value-layout { display: grid; grid-template-columns: minmax(280px, 360px) minmax(0, 1fr); gap: 14px; align-items: start; margin-bottom: 14px; }
.industrial-filter-panel label { display: block; font-size: 12px; color: #a8b9af; margin: 13px 0 7px; }
.industrial-toggle-list { display: grid; gap: 8px; margin: 14px 0; }
.industrial-toggle-list label { display: grid; grid-template-columns: auto 1fr auto; gap: 9px; align-items: center; margin: 0; padding: 9px 10px; border-radius: 8px; background: rgba(0,0,0,.18); border: 1px solid rgba(255,255,255,.08); color: #e9f3ec; font-weight: 850; }
.industrial-toggle-list input { accent-color: #9bd77b; }
.industrial-toggle-list span { color: #94a59c; font-size: 11px; font-weight: 760; }
.industrial-method-card { margin-top: 14px; padding: 12px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #e8b34f; }
.industrial-method-card strong, .industrial-method-card p { display: block; }
.industrial-method-card p { margin: 6px 0 0; font-size: 12px; line-height: 1.45; }
.industrial-map-panel { min-height: 600px; }
.industrial-map-shell { position: relative; min-height: 560px; border-radius: 8px; overflow: hidden; background: #101816; border: 1px solid rgba(255,255,255,.08); }
#fruitbowl-industrial-land-map { min-height: 560px; height: 560px; width: 100%; border-radius: 8px; overflow: hidden; background: #101816; z-index: 1; }
#fruitbowl-infrastructure-network-map { min-height: 620px; height: 620px; width: 100%; border-radius: 8px; overflow: hidden; background: #101816; z-index: 1; }
.infrastructure-page-grid { display: grid; grid-template-columns: minmax(280px, 360px) minmax(0, 1fr); gap: 14px; align-items: start; margin-bottom: 14px; }
.infrastructure-filter-panel label { display: flex; font-size: 12px; color: #a8b9af; margin: 12px 0 7px; }
.infrastructure-filter-panel input[type="checkbox"] { accent-color: #7bd56f; }
.infrastructure-method-card { margin-top: 14px; padding: 12px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #70e5ff; }
.infrastructure-method-card strong, .infrastructure-method-card p { display: block; }
.infrastructure-method-card p { margin: 6px 0 0; font-size: 12px; line-height: 1.45; }
.infrastructure-map-panel { min-height: 680px; }
.infrastructure-map-shell { position: relative; min-height: 620px; border-radius: 8px; overflow: hidden; background: #101816; border: 1px solid rgba(255,255,255,.08); }
.infrastructure-map-legend { position: absolute; z-index: 500; left: 12px; right: 12px; bottom: 12px; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 10px 12px; border-radius: 8px; background: rgba(6,13,12,.82); border: 1px solid rgba(255,255,255,.1); backdrop-filter: blur(12px); }
.infrastructure-map-legend span { display: inline-flex; align-items: center; gap: 7px; color: #dce7df; font-size: 12px; font-weight: 800; }
.infra-legend-line { display: inline-block; width: 26px; height: 0; border-top: 5px solid; }
.infra-motorway { border-color: #ef6b6b; }
.infra-a-road { border-color: #f0b44a; }
.infra-b-road { border-color: #30d5ff; border-top-style: dashed; }
.infra-rail { border-color: #7aa7ff; border-top-style: dashed; }
.infra-relationship { border-color: #d9e2dc; border-top-style: dotted; opacity: .82; }
.infrastructure-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.infrastructure-node-card { display: grid; grid-template-columns: 1fr auto; gap: 10px 14px; padding: 14px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #7aa7ff; }
.infrastructure-node-card span, .infrastructure-node-card p, .infrastructure-node-card dt { color: #94a59c; }
.infrastructure-node-card span { display: block; font-size: 11px; }
.infrastructure-node-card strong { display: block; margin-top: 4px; font-size: 17px; line-height: 1.2; }
.infrastructure-node-card p { margin: 8px 0 0; font-size: 12px; line-height: 1.4; }
.infrastructure-node-card b { display: grid; place-items: center; width: 54px; height: 42px; border-radius: 8px; background: rgba(122,167,255,.14); border: 1px solid rgba(122,167,255,.32); color: #b8ceff; font-size: 20px; }
.infrastructure-node-card dl { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 8px 12px; margin: 2px 0 0; }
.infrastructure-node-card dt, .infrastructure-node-card dd { margin: 0; font-size: 12px; line-height: 1.3; }
.infrastructure-node-card dd { color: #e9f3ec; font-weight: 800; }
.infrastructure-node-road { border-left-color: #f0b44a; }
.infrastructure-node-road b { color: #ffd080; background: rgba(232,179,79,.14); border-color: rgba(232,179,79,.32); }
.infrastructure-node-rail { border-left-color: #7aa7ff; }
.infrastructure-node-power { border-left-color: #70e5ff; }
.infrastructure-node-power b { color: #b9f5ff; background: rgba(112,229,255,.14); border-color: rgba(112,229,255,.32); }
.infrastructure-node-wind { border-left-color: #b7f27d; }
.infrastructure-node-wind b { color: #d7ffc1; background: rgba(183,242,125,.14); border-color: rgba(183,242,125,.32); }
.industrial-svg-map { position: relative; min-height: 520px; border-radius: 8px; overflow: hidden; background: radial-gradient(circle at 40% 25%, rgba(123,213,111,.13), transparent 32%), linear-gradient(135deg, rgba(12,26,22,.96), rgba(6,13,12,.98)); border: 1px solid rgba(255,255,255,.08); }
.industrial-svg-map svg { width: 100%; height: 520px; display: block; }
.industrial-road, .industrial-power-line, .industrial-water { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.industrial-road.road-primary { stroke: rgba(240,180,74,.62); stroke-width: 16; }
.industrial-road.road-secondary { stroke: rgba(122,167,255,.5); stroke-width: 9; stroke-dasharray: 18 12; }
.industrial-power-line { stroke: #70e5ff; stroke-width: 5; stroke-dasharray: 16 10; filter: drop-shadow(0 0 10px rgba(112,229,255,.35)); }
.industrial-water { stroke: rgba(89,183,255,.32); stroke-width: 14; }
.industrial-estate-polygon { stroke-width: 4; opacity: .72; transition: opacity .16s ease, stroke-width .16s ease; }
.industrial-estate-polygon:hover { opacity: .95; stroke-width: 6; }
.estate-high { fill: rgba(123,213,111,.34); stroke: #a5e88f; }
.estate-watch { fill: rgba(232,179,79,.32); stroke: #f0d282; }
.estate-context { fill: rgba(122,167,255,.28); stroke: #9fc0ff; }
.estate-brownfield { fill: rgba(255,138,31,.34); stroke: #ffb15a; filter: drop-shadow(0 0 16px rgba(255,138,31,.32)); }
.industrial-candidate-dot { fill: #f5f8ef; stroke: #07100b; stroke-width: 3; filter: drop-shadow(0 0 12px rgba(255,255,255,.42)); }
.industrial-map-legend { position: absolute; z-index: 500; left: 12px; right: 12px; bottom: 12px; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 10px 12px; border-radius: 8px; background: rgba(6,13,12,.82); border: 1px solid rgba(255,255,255,.1); backdrop-filter: blur(12px); }
.industrial-map-legend span { display: inline-flex; align-items: center; gap: 7px; color: #dce7df; font-size: 12px; font-weight: 800; }
.legend-title-outline { width: 18px; height: 12px; border: 2px solid #f5f8ef; border-radius: 3px; box-shadow: 0 0 0 1px rgba(0,0,0,.35); }
.legend-search-centre { width: 14px; height: 14px; border-radius: 999px; border: 3px solid #f06bd8; background: rgba(240,107,216,.35); }
.industrial-evidence-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr); gap: 14px; margin-bottom: 14px; align-items: start; }
.industrial-live-results { max-height: 640px; overflow: auto; padding-right: 4px; }
.industrial-result-meta { display: grid; grid-template-columns: 120px 1fr; gap: 5px 10px; margin: 8px 0 0; }
.industrial-result-meta dt, .industrial-result-meta dd { margin: 0; font-size: 12px; line-height: 1.35; }
.industrial-result-meta dt { color: #94a59c; }
.industrial-result-meta dd { color: #e9f3ec; font-weight: 850; }
.industrial-context-stack { display: grid; gap: 10px; }
.industrial-context-stack div { padding: 12px; border-radius: 8px; background: rgba(0,0,0,.20); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #7aa7ff; }
.industrial-context-stack div:nth-child(2) { border-left-color: #e8b34f; }
.industrial-context-stack div:nth-child(3) { border-left-color: #f06bd8; }
.industrial-context-stack div:nth-child(4) { border-left-color: #ef6b6b; }
.industrial-context-stack span, .industrial-context-stack p { display: block; color: #94a59c; font-size: 12px; line-height: 1.4; }
.industrial-context-stack strong { display: block; margin: 4px 0; font-size: 20px; line-height: 1.2; }
.industrial-context-stack p { margin: 0; }
.industrial-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.industrial-estate-card { display: grid; grid-template-columns: 1fr auto; gap: 10px 14px; padding: 14px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #7aa7ff; }
.industrial-estate-card span, .industrial-estate-card p, .industrial-estate-card dt { color: #94a59c; }
.industrial-estate-card span { display: block; font-size: 11px; }
.industrial-estate-card strong { display: block; margin-top: 4px; font-size: 17px; line-height: 1.2; }
.industrial-estate-card p { margin: 8px 0 0; font-size: 12px; line-height: 1.4; }
.industrial-estate-card b { display: grid; place-items: center; width: 54px; height: 42px; border-radius: 8px; background: rgba(122,167,255,.14); border: 1px solid rgba(122,167,255,.32); color: #b8ceff; font-size: 20px; }
.industrial-estate-card dl { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 8px 12px; margin: 2px 0 0; }
.industrial-estate-card dt, .industrial-estate-card dd { margin: 0; font-size: 12px; line-height: 1.3; }
.industrial-estate-card dd { color: #e9f3ec; font-weight: 800; }
.opportunity-score-breakdown { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 4px; }
.opportunity-score-breakdown div { padding: 9px; border-radius: 8px; background: rgba(0,0,0,.2); border: 1px solid rgba(255,255,255,.08); }
.opportunity-score-breakdown span, .opportunity-score-breakdown small { display: block; color: #94a59c; font-size: 11px; line-height: 1.25; }
.opportunity-score-breakdown strong { display: block; margin: 2px 0; font-size: 20px; color: #f0d282; }
.industrial-fit-high { border-left-color: #7bd56f; }
.industrial-fit-high b { color: #a8ff9e; background: rgba(123,213,111,.14); border-color: rgba(123,213,111,.32); }
.industrial-fit-watch { border-left-color: #e8b34f; }
.industrial-fit-watch b { color: #ffd080; background: rgba(232,179,79,.14); border-color: rgba(232,179,79,.32); }
.industrial-fit-context { border-left-color: #7aa7ff; }
.value-model-hero { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr); gap: 18px; align-items: center; margin-bottom: 14px; }
.value-formula-card { padding: 16px; border-radius: 8px; background: rgba(0,0,0,.24); border: 1px solid rgba(232,179,79,.22); }
.value-formula-card span, .value-formula-card small { display: block; color: #94a59c; }
.value-formula-card strong { display: block; margin: 6px 0; font-size: 22px; line-height: 1.2; color: #f0d282; }
.value-main { min-width: 0; }
.value-table-wrap { max-height: 520px; overflow: auto; border-radius: 8px; border: 1px solid rgba(255,255,255,.08); }
.value-table { width: 100%; border-collapse: collapse; min-width: 900px; background: rgba(0,0,0,.18); }
.value-table th, .value-table td { padding: 12px; border-bottom: 1px solid rgba(255,255,255,.08); text-align: left; vertical-align: top; }
.value-table th { position: sticky; top: 0; z-index: 1; background: #08100e; color: #a8b9af; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
.value-table td { color: #e9f3ec; font-size: 13px; }
.value-table td span { display: block; margin-top: 3px; color: #94a59c; font-size: 11px; }
.value-table b { display: inline-grid; place-items: center; min-width: 42px; height: 28px; border-radius: 999px; border: 1px solid; }
.value-evidence-row td { padding-top: 0; background: rgba(255,255,255,.025); }
.value-evidence-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.value-evidence-strip span { display: block; padding: 9px; border-radius: 8px; background: rgba(0,0,0,.18); border: 1px solid rgba(255,255,255,.07); color: #a8b9af; font-size: 11px; line-height: 1.35; }
.value-evidence-strip strong { display: block; color: #f0d282; margin-bottom: 3px; }
.value-confidence-high { color: #a8ff9e; background: rgba(123,213,111,.14); border-color: rgba(123,213,111,.32); }
.value-confidence-watch { color: #ffd080; background: rgba(232,179,79,.14); border-color: rgba(232,179,79,.32); }
.value-confidence-context { color: #b8ceff; background: rgba(122,167,255,.14); border-color: rgba(122,167,255,.32); }
.value-factor-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.value-factor-grid article { padding: 13px; border-radius: 8px; background: rgba(0,0,0,.2); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #7bd56f; }
.value-factor-grid article:nth-child(2n) { border-left-color: #e8b34f; }
.value-factor-grid article:nth-child(3n) { border-left-color: #7aa7ff; }
.value-factor-grid span { color: #94a59c; font-size: 11px; display: block; }
.value-factor-grid strong { display: block; margin: 5px 0; line-height: 1.25; }
.value-factor-grid p { margin: 0; font-size: 12px; line-height: 1.4; }
#fruitbowl-parcel-preview-map { height: 210px; width: 100%; border-radius: 8px; overflow: hidden; background: #101816; border: 1px solid rgba(255,255,255,.08); z-index: 1; }
.parcel-timeline { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin: 10px 0 16px; align-items: end; }
.parcel-timeline-point { position: relative; min-height: 118px; padding: 10px; border-radius: 8px; overflow: hidden; background: rgba(0,0,0,.23); border: 1px solid rgba(255,255,255,.09); }
.parcel-timeline-point span, .parcel-timeline-point small { display: block; position: relative; z-index: 2; color: #94a59c; font-size: 11px; line-height: 1.3; }
.parcel-timeline-point strong { display: block; position: relative; z-index: 2; font-size: 22px; margin: 3px 0; }
.parcel-timeline-point i { position: absolute; left: 0; right: 0; bottom: 0; min-height: 10%; opacity: .26; background: #e8b34f; }
.parcel-timeline-point.timeline-high i { background: #7bd56f; }
.parcel-timeline-point.timeline-mid i { background: #d8c86a; }
.parcel-timeline-point.timeline-watch i { background: #e8a24a; }
.parcel-timeline-point.timeline-risk i { background: #ef6b6b; }
.parcel-timeline-point.timeline-muted i { background: #7aa7ff; }
.score-orb { min-width: 70px; height: 70px; border-radius: 8px; display: grid; place-items: center; font-size: 28px; font-weight: 900; border: 1px solid; }
.score-high { background: rgba(123,213,111,.18); color: #a8ff9e; border-color: rgba(123,213,111,.35); }
.score-mid { background: rgba(232,179,79,.18); color: #ffd080; border-color: rgba(232,179,79,.35); }
.score-low { background: rgba(239,107,107,.18); color: #ff9b9b; border-color: rgba(239,107,107,.35); }
.score-section-title { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-top: 14px; }
.score-section-title h3 { margin-bottom: 2px; }
.score-section-title span { color: #94a59c; font-size: 12px; }
.evidence-chip-group { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.evidence-chip { display: inline-grid; grid-template-columns: auto auto; grid-template-areas: "icon count" "icon label"; align-items: center; column-gap: 7px; min-width: 78px; border-radius: 8px; border: 1px solid rgba(255,255,255,.1); background: rgba(0,0,0,.22); color: #e9f3ec; padding: 7px 9px; text-decoration: none; cursor: pointer; }
.evidence-chip span { grid-area: icon; width: 21px; height: 21px; border-radius: 999px; display: grid; place-items: center; font-weight: 900; font-size: 12px; color: #07100b; }
.evidence-chip strong { grid-area: count; line-height: 1; font-size: 18px; }
.evidence-chip small { grid-area: label; color: #94a59c; font-size: 10px; line-height: 1.2; }
.evidence-positive span { background: #7bd56f; }
.evidence-risk span { background: #ef6b6b; }
.score-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 14px 0; }
.score-grid div, .signal-list div { background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); border-radius: 8px; padding: 11px; }
.score-grid span, .signal-list span { color: #94a59c; font-size: 12px; display: block; }
.score-grid strong, .signal-list strong { font-size: 22px; }
.score-denominator { display: inline; margin-left: 2px; color: #94a59c; font-size: 12px; font-weight: 800; }
.score-grid .score-tile { border-left-width: 4px; min-height: 94px; }
.score-tile small { display: block; margin-top: 4px; color: #aab9b1; font-size: 11px; }
.score-tile-excellent { border-left-color: #8de878 !important; }
.score-tile-good { border-left-color: #d8c86a !important; }
.score-tile-moderate { border-left-color: #e8a24a !important; }
.score-tile-bad { border-left-color: #ef6b6b !important; }
.evidence-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 12px 0 16px; }
.evidence-summary div { border-radius: 8px; padding: 12px; background: rgba(0,0,0,.26); border: 1px solid rgba(255,255,255,.1); }
.evidence-summary span, .evidence-summary small { display: block; color: #94a59c; }
.evidence-summary strong { display: block; font-size: 28px; margin: 3px 0; }
.evidence-summary small { font-size: 11px; line-height: 1.35; }
.evidence-preview { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 12px 0 16px; }
.evidence-preview div { border-radius: 8px; padding: 10px; background: rgba(0,0,0,.18); border: 1px solid rgba(255,255,255,.08); }
.evidence-preview span, .evidence-preview small { display: block; color: #94a59c; }
.evidence-preview small { line-height: 1.35; color: #cbd8d0; }
.evidence-box { margin-top: 10px; border: 1px solid rgba(255,255,255,.1); border-radius: 8px; background: rgba(0,0,0,.18); padding: 10px 12px; }
.evidence-box summary { cursor: pointer; font-weight: 800; color: #e9f3ec; }
.evidence-box summary::marker { color: #d8c86a; }
.context-card-grid { display: grid; grid-template-columns: 1fr; gap: 10px; margin: 10px 0 16px; }
.context-card { position: relative; padding: 12px; border-radius: 8px; background: rgba(8,14,13,.72); border: 1px solid rgba(255,255,255,.1); border-left: 4px solid #4aa3ff; }
.context-card:nth-child(2) { border-left-color: #d8c86a; }
.context-card:nth-child(3) { border-left-color: #8de878; }
.context-card:nth-child(4) { border-left-color: #7aa7ff; }
.context-card span, .context-card small, .context-card em { display: block; }
.context-card span { color: #94a59c; font-size: 12px; }
.context-card strong { display: block; margin: 4px 0; font-size: 18px; }
.context-card small { color: #aab9b1; font-size: 11px; line-height: 1.35; }
.context-card em { margin-top: 8px; color: #f0d282; font-style: normal; font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.agent-list, .owned-asset-list, .commercial-anchor-list, .strategic-anchor-list, .market-alert-list { display: grid; gap: 10px; margin: 10px 0 16px; }
.compact-agent-list { margin-bottom: 10px; }
.agent-card, .owned-asset-card, .commercial-anchor-card, .strategic-anchor-card, .market-alert-detail { display: grid; grid-template-columns: 1fr auto; gap: 8px 12px; padding: 12px; border-radius: 8px; background: rgba(0,0,0,.23); border: 1px solid rgba(255,255,255,.09); border-left: 4px solid #d8c86a; }
.owned-asset-card { border-left-color: #59b7ff; }
.commercial-anchor-card { border-left-color: #f06bd8; }
.strategic-anchor-card { border-left-color: #7aa7ff; }
.agent-card strong, .agent-card span, .agent-card small, .agent-card p, .agent-card em, .owned-asset-card strong, .owned-asset-card span, .owned-asset-card small, .owned-asset-card p, .owned-asset-card em, .commercial-anchor-card strong, .commercial-anchor-card span, .commercial-anchor-card small, .commercial-anchor-card p, .commercial-anchor-card em, .strategic-anchor-card strong, .strategic-anchor-card span, .strategic-anchor-card small, .strategic-anchor-card p, .strategic-anchor-card em, .market-alert-detail strong, .market-alert-detail span, .market-alert-detail small, .market-alert-detail p, .market-alert-detail em { display: block; }
.agent-card strong, .owned-asset-card strong, .commercial-anchor-card strong, .strategic-anchor-card strong, .market-alert-detail strong { font-size: 15px; }
.agent-card span, .agent-card small, .owned-asset-card span, .owned-asset-card small, .commercial-anchor-card span, .commercial-anchor-card small, .strategic-anchor-card span, .strategic-anchor-card small, .market-alert-detail span, .market-alert-detail small { color: #94a59c; font-size: 11px; line-height: 1.35; }
.agent-card small, .owned-asset-card small, .commercial-anchor-card small, .strategic-anchor-card small, .market-alert-detail small { color: #f0d282; font-weight: 800; }
.agent-card p, .owned-asset-card p, .commercial-anchor-card p, .strategic-anchor-card p, .market-alert-detail p { grid-column: 1 / -1; margin: 0; color: #dce7df; font-size: 13px; line-height: 1.35; }
.agent-card em, .owned-asset-card em, .commercial-anchor-card em, .strategic-anchor-card em, .market-alert-detail em { grid-column: 1 / -1; color: #94a59c; font-style: normal; font-size: 11px; line-height: 1.35; }
.business-grid .business-filter-panel { grid-column: 1 / -1; }
.business-toggle-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 8px; margin: 10px 0 4px; }
.business-toggle { text-align: left; border-radius: 8px; padding: 10px 11px; border: 1px solid rgba(255,255,255,.1); background: rgba(0,0,0,.22); color: #e9f3ec; cursor: pointer; }
.business-toggle.active, .business-toggle:hover { border-color: rgba(123,213,111,.48); box-shadow: inset 0 0 0 1px rgba(123,213,111,.22); }
.business-toggle span, .business-toggle strong { display: block; }
.business-toggle span { color: #a8b9af; font-size: 11px; }
.business-toggle strong { margin-top: 4px; font-size: 24px; }
.business-signal-group { align-self: start; }
.business-group-heading { display: flex; justify-content: space-between; gap: 14px; margin-bottom: 12px; }
.business-group-heading span { display: block; margin-top: 4px; color: #94a59c; font-size: 12px; line-height: 1.35; }
.business-group-heading > strong { display: grid; place-items: center; min-width: 42px; height: 42px; border-radius: 8px; background: rgba(232,179,79,.16); color: #f0d282; border: 1px solid rgba(232,179,79,.28); }
.business-detail-list { display: grid; gap: 10px; }
.business-detail-card { display: block !important; padding: 0 !important; overflow: hidden; }
.business-detail-card summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px; cursor: pointer; list-style: none; }
.business-detail-card summary::-webkit-details-marker { display: none; }
.business-detail-card summary::after { content: "+"; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 999px; background: rgba(255,255,255,.08); color: #e9f3ec; font-weight: 900; }
.business-detail-card[open] summary::after { content: "-"; }
.business-detail-card summary span, .business-detail-card summary small, .business-detail-card summary strong, .business-detail-card summary b { display: block; }
.business-detail-card summary small { margin-top: 3px; color: #94a59c; font-size: 11px; line-height: 1.35; }
.business-detail-card summary b { margin-left: auto; color: #f0d282; white-space: nowrap; font-size: 11px; }
.business-detail-card .anchor-score-grid, .business-detail-card p, .business-detail-card em { margin: 0 12px 12px; }
.business-anchor-positive { border-left-color: #7bd56f; }
.business-anchor-pressure { border-left-color: #ef6b6b; }
.business-anchor-availability { border-left-color: #e8b34f; }
.business-anchor-student { border-left-color: #f06bd8; }
.business-anchor-context { border-left-color: #7aa7ff; }
.business-signals-hero { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); gap: 16px; align-items: stretch; margin-bottom: 14px; }
.business-signals-hero p { margin-bottom: 0; }
.business-formula-card { display: grid; align-content: center; min-height: 180px; padding: 18px; border-radius: 8px; background: rgba(0,0,0,.24); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #7bd56f; }
.business-formula-card span, .business-formula-card small { display: block; color: #94a59c; }
.business-formula-card strong { display: block; font-size: 26px; line-height: 1.18; margin: 8px 0; }
.business-signal-page-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 14px; }
.business-signal-explainer { border-left: 4px solid #7aa7ff; }
.business-explainer-heading span { display: block; color: #94a59c; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.business-explainer-heading strong { display: block; font-size: 20px; margin-top: 4px; }
.business-impact-list { display: grid; gap: 7px; margin: 12px 0 0; font-size: 13px; }
.business-impact-list dt { color: #f0d282; font-weight: 800; }
.business-impact-list dd { margin: 0 0 4px; color: #cbd8d0; line-height: 1.42; }
.signal-method-grid, .impact-matrix { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.signal-method-grid article, .impact-matrix article { padding: 12px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); }
.signal-method-grid span, .impact-matrix span { display: block; color: #94a59c; font-size: 12px; }
.signal-method-grid strong, .impact-matrix strong { display: block; margin: 4px 0; font-size: 18px; }
.signal-method-grid p, .impact-matrix p { margin: 0; color: #cbd8d0; font-size: 13px; line-height: 1.45; }
.module-weight { display: inline-flex; margin-top: 10px; color: #f0d282; font-size: 11px; font-weight: 800; }
.anchor-score-grid { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.anchor-score-grid span { padding: 8px; border-radius: 8px; background: rgba(255,255,255,.06); color: #aab9b1; }
.anchor-score-grid strong { display: block; margin-top: 2px; font-size: 18px; color: #fff; }
.fruit-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 10px 0 18px; }
.fruit-card { background: rgba(0,0,0,.24); border: 1px solid rgba(255,255,255,.08); border-left-width: 4px; border-radius: 8px; padding: 10px; min-height: 96px; }
.fruit-card span, .fruit-card small { color: #94a59c; display: block; }
.fruit-card span { font-size: 12px; }
.fruit-card strong { display: block; font-size: 20px; margin: 4px 0; }
.fruit-card small { font-size: 11px; line-height: 1.35; }
.fruit-exotic { border-left-color: #8de878; }
.fruit-large { border-left-color: #d8c86a; }
.fruit-standard { border-left-color: #e8a24a; }
.fruit-thin { border-left-color: #ef6b6b; }
.help-dot { display: inline-grid; place-items: center; width: 18px; height: 18px; margin-left: 6px; border-radius: 50%; border: 1px solid rgba(255,255,255,.22); color: #cbd8d0; font-size: 11px; cursor: help; vertical-align: middle; }
.facts { display: grid; grid-template-columns: 118px 1fr; gap: 8px; font-size: 13px; }
.facts dt { color: #93a59b; }
.facts dd { margin: 0; }
.evidence-group-list { display: grid; gap: 10px; }
.evidence-group { padding: 11px; border-radius: 8px; background: rgba(0,0,0,.2); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #7bd56f; }
.evidence-group-risk { border-left-color: #ef6b6b; }
.evidence-group > strong { display: block; margin-bottom: 8px; font-size: 13px; color: #f4faf5; }
.reason-list, .risk-list { padding-left: 0; list-style: none; display: grid; gap: 8px; font-size: 13px; margin: 0; }
.reason-list li, .risk-list li { border-left: 3px solid; padding-left: 9px; line-height: 1.35; }
.reason-list li { color: #c5f6bf; border-color: #7bd56f; }
.risk-list li { color: #ffb0a8; border-color: #ef6b6b; }
.lower-grid { display: grid; grid-template-columns: 1fr; gap: 14px; margin-top: 14px; align-items: start; }
.table-wrap { overflow: auto; max-height: 520px; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 11px; border-bottom: 1px solid rgba(255,255,255,.08); text-align: left; white-space: nowrap; }
th { color: #9eb0a6; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; position: sticky; top: 0; background: rgba(11,17,16,.96); z-index: 2; }
tr.clickable { cursor: pointer; }
tr.clickable:hover, tr.selected-row { background: rgba(255,255,255,.06); }
.score-pill { display: inline-flex; min-width: 58px; justify-content: center; padding: 5px 9px; border-radius: 999px; border: 1px solid; font-weight: 800; }
.bar-row { display: grid; grid-template-columns: 54px 1fr 34px; gap: 10px; align-items: center; margin: 13px 0; font-size: 13px; }
.bar-row div { height: 12px; background: rgba(0,0,0,.28); border-radius: 999px; overflow: hidden; }
.bar-row i { display: block; height: 100%; border-radius: inherit; }
.bar-high { background: #7bd56f; }
.bar-mid { background: #e8b34f; }
.bar-watch { background: #7aa7ff; }
.bar-low { background: #ef6b6b; }
.signal-list { display: grid; gap: 10px; margin-top: 12px; }
.context-note { font-size: 12px; color: #b9c7bf; border-left: 3px solid rgba(232,179,79,.8); padding-left: 10px; margin-top: 12px; }
.prose { max-width: 900px; }
.page-intro { max-width: 860px; margin-bottom: 0; }
.intelligence-hero { display: grid; grid-template-columns: minmax(260px, .8fr) minmax(360px, 1.2fr); gap: 16px; align-items: center; margin-bottom: 14px; }
.intelligence-hero span, .intelligence-hero small { display: block; color: #94a59c; }
.intelligence-hero strong { display: block; font-size: 38px; line-height: 1.08; margin: 4px 0; }
.tab-strip { display: flex; gap: 8px; flex-wrap: wrap; margin: 0 0 14px; }
.tab-button { border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.05); color: #a8b9af; border-radius: 8px; padding: 10px 14px; font-weight: 800; cursor: pointer; }
.tab-button.active, .tab-button:hover { color: #07100b; background: linear-gradient(135deg, #7bd56f, #e8b34f); border-color: transparent; }
.intel-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; align-items: start; margin-bottom: 14px; }
.feature-explainer { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 14px; }
.feature-explainer p { margin-bottom: 0; }
.features-workspace { display: grid; grid-template-columns: 340px minmax(0, 1fr); gap: 14px; align-items: stretch; margin-bottom: 14px; }
.features-panel { align-self: stretch; }
.features-panel label { display: block; font-size: 12px; color: #a8b9af; margin: 14px 0 7px; }
.feature-search-row { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.feature-filter-list { display: grid; gap: 2px; margin-bottom: 14px; }
.transport-status { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 12px 0; }
.transport-status div:first-child { grid-column: 1 / -1; }
.transport-status div { padding: 9px; border-radius: 8px; background: rgba(0,0,0,.2); border: 1px solid rgba(255,255,255,.08); }
.transport-status span { display: block; color: #94a59c; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.transport-status strong { display: block; margin-top: 3px; color: #eef8f0; font-size: 14px; line-height: 1.25; }
.feature-map-shell { padding: 12px; }
.feature-map-toolbar { position: relative; margin-bottom: 10px; background: rgba(9,16,13,.78); border: 1px solid rgba(255,255,255,.12); border-radius: 8px; }
.feature-point-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 10px; }
.feature-point-card { display: grid; grid-template-columns: 1fr auto; gap: 7px 10px; padding: 12px; border-radius: 8px; background: rgba(0,0,0,.23); border: 1px solid rgba(255,255,255,.09); border-left: 4px solid #c8d1c9; }
.feature-point-card strong, .feature-point-card span, .feature-point-card small, .feature-point-card p, .feature-point-card em { display: block; }
.feature-point-card span, .feature-point-card small, .feature-point-card em { color: #94a59c; }
.feature-point-card b { font-size: 22px; }
.feature-point-card p, .feature-point-card em { grid-column: 1 / -1; margin: 0; font-size: 12px; line-height: 1.35; }
.feature-card-bank { border-left-color: #7bd56f; }
.feature-card-food { border-left-color: #e8b34f; }
.feature-card-leisure { border-left-color: #f06bd8; }
.feature-card-industrial { border-left-color: #7aa7ff; }
.feature-card-brownfield { border-left-color: #ff8a1f; box-shadow: inset 0 0 0 1px rgba(255,138,31,.12), 0 0 22px rgba(255,138,31,.10); }
.feature-card-transport { border-left-color: #f0b44a; }
.feature-card-power { border-left-color: #70e5ff; }
.feature-card-wind { border-left-color: #b7f27d; }
.feature-card-alert { border-left-color: #ef6b6b; }
.location-intel-hero { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(330px, .8fr); gap: 14px; margin-bottom: 14px; align-items: stretch; }
.location-intel-hero span, .location-intel-hero p { color: #94a59c; }
.location-intel-hero strong { display: block; font-size: 34px; line-height: 1.1; margin: 5px 0 8px; }
.location-intel-form label { display: block; font-size: 12px; color: #a8b9af; margin: 12px 0 7px; }
.location-workspace { display: grid; grid-template-columns: 390px minmax(0, 1fr); gap: 14px; align-items: stretch; margin-bottom: 14px; }
.location-map-panel { padding: 12px; min-height: 680px; }
#fruitbowl-location-intelligence-map { min-height: 610px; height: 100%; border-radius: 8px; overflow: hidden; background: #101816; z-index: 1; }
.location-intel-stack { display: grid; gap: 9px; margin-top: 12px; }
.location-source-card { padding: 11px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #7aa7ff; }
.location-source-card span, .location-source-card small { display: block; color: #94a59c; font-size: 11px; line-height: 1.35; }
.location-source-card strong { display: block; margin: 3px 0; font-size: 14px; }
.location-source-card p { margin: 0 0 6px; color: #cbd8d0; font-size: 12px; line-height: 1.35; }
.location-source-live { border-left-color: #7bd56f; }
.location-source-licence { border-left-color: #f06bd8; }
.location-source-lookup { border-left-color: #e8b34f; }
.location-source-mixed { border-left-color: #7aa7ff; }
.location-source-internal { border-left-color: #70e5ff; }
.location-pipeline-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
.location-pipeline-grid article { padding: 12px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #7aa7ff; }
.location-pipeline-grid span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 8px; background: rgba(122,167,255,.18); color: #cfe0ff; border: 1px solid rgba(122,167,255,.32); font-weight: 900; margin-bottom: 9px; }
.location-pipeline-grid strong { display: block; margin-bottom: 5px; }
.location-pipeline-grid p { margin: 0; color: #cbd8d0; font-size: 12px; line-height: 1.38; }
.location-table-wrap { max-height: 480px; }
.location-source-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.location-data-source-card { padding: 13px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #7aa7ff; }
.location-data-source-card span, .location-data-source-card a { display: block; color: #94a59c; font-size: 12px; }
.location-data-source-card strong { display: block; margin: 4px 0; font-size: 18px; }
.location-data-source-card p { margin: 0 0 10px; color: #cbd8d0; font-size: 12px; line-height: 1.4; }
.location-data-source-card .facts { gap: 7px; font-size: 12px; }
.location-data-source-card .facts dt { color: #f0d282; }
.location-data-source-card a { color: #c5f6bf; margin-top: 10px; }
.live-layer-control-panel { margin-bottom: 14px; }
.live-layer-controls { display: grid; grid-template-columns: minmax(220px, 1.1fr) 140px 190px 230px auto; gap: 12px; align-items: end; }
.live-layer-controls label { display: grid; gap: 7px; color: #a8b9af; font-size: 12px; }
.live-layer-controls .live-check { display: flex; align-items: center; min-height: 46px; margin: 0; }
.live-layer-summary-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 14px; }
.live-layer-summary-grid article { padding: 14px; }
.live-layer-summary-grid span, .live-layer-summary-grid p { color: #94a59c; }
.live-layer-summary-grid strong { display: block; margin: 4px 0; font-size: 20px; }
.live-layer-summary-grid p { margin: 0; font-size: 13px; }
.live-layer-table { max-height: 360px; }
.provider-hero { display: grid; grid-template-columns: minmax(320px, .85fr) minmax(420px, 1.15fr); gap: 14px; margin-bottom: 14px; }
.provider-control-panel label { display: block; font-size: 12px; color: #a8b9af; margin: 12px 0 7px; }
.provider-control-grid { display: grid; grid-template-columns: 1fr 150px; gap: 10px; }
.provider-feature-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.provider-feature-grid div { min-height: 104px; padding: 13px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #7aa7ff; }
.provider-feature-grid div:nth-child(2) { border-left-color: #7bd56f; }
.provider-feature-grid div:nth-child(3) { border-left-color: #e8b34f; }
.provider-feature-grid div:nth-child(4) { border-left-color: #f06bd8; }
.provider-feature-grid span, .provider-feature-grid p { display: block; color: #94a59c; font-size: 12px; line-height: 1.4; }
.provider-feature-grid strong { display: block; margin: 4px 0; font-size: 18px; line-height: 1.25; }
.provider-feature-grid p { margin: 0; }
.provider-workspace { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 440px); gap: 14px; margin-bottom: 14px; align-items: start; }
.provider-map-panel { padding: 0; overflow: hidden; }
.provider-result-panel { max-height: 640px; overflow: auto; }
.provider-result-list { display: grid; gap: 10px; }
.provider-result-list article { padding: 12px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.09); border-left: 4px solid #7aa7ff; }
.provider-result-list article[data-provider-result-id] { cursor: pointer; transition: border-color .15s ease, background .15s ease, transform .15s ease; }
.provider-result-list article[data-provider-result-id]:hover { transform: translateY(-1px); border-color: rgba(123,213,111,.35); }
.provider-result-list article.active { border-color: rgba(123,213,111,.45); border-left-color: #7bd56f; background: rgba(123,213,111,.10); }
.provider-result-list article.warning { border-color: rgba(232,179,79,.34); border-left-color: #e8b34f; background: rgba(232,179,79,.08); }
.provider-result-list span, .provider-result-list p { display: block; color: #94a59c; font-size: 12px; line-height: 1.4; }
.provider-result-list strong { display: block; margin: 4px 0; font-size: 17px; line-height: 1.25; }
.provider-result-list p { margin: 0 0 9px; }
.provider-result-list a { display: inline-flex; margin-top: 8px; color: #a5e88f; font-size: 12px; font-weight: 800; text-decoration: none; }
.provider-result-list .ghost-button { min-height: 34px; padding: 7px 11px; font-size: 12px; }
.business-sync-group { margin-bottom: 14px; }
.business-sync-category-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.business-sync-card { display: grid; gap: 10px; padding: 13px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.09); border-left: 4px solid #7aa7ff; }
.business-sync-card:nth-child(3n+2) { border-left-color: #7bd56f; }
.business-sync-card:nth-child(3n+3) { border-left-color: #e8b34f; }
.business-sync-card.business-sync-other { border-left-color: #c9c9c9; background: rgba(255,255,255,.05); }
.business-sync-card-header { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; }
.business-sync-card-header span:not(.score-pill), .business-sync-card small { display: block; color: #94a59c; font-size: 12px; line-height: 1.4; }
.business-sync-card-header strong { display: block; margin-top: 3px; font-size: 18px; line-height: 1.22; }
.business-sync-card p { margin: 0; color: #cbd8d0; font-size: 13px; line-height: 1.45; }
.business-sync-provider-list { display: grid; gap: 6px; }
.business-sync-provider-list div { display: grid; grid-template-columns: 132px minmax(0, 1fr) auto; gap: 8px; align-items: center; padding: 8px; border-radius: 8px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.07); }
.business-sync-provider-list b, .business-sync-provider-list span, .business-sync-provider-list em { min-width: 0; font-size: 12px; line-height: 1.3; }
.business-sync-provider-list b { color: #eff8f1; }
.business-sync-provider-list span { color: #a8b9af; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.business-sync-provider-list em { color: #e8d37a; font-style: normal; font-weight: 800; }
.business-mapping-manager { margin-bottom: 14px; }
.business-mapping-layout { display: grid; grid-template-columns: minmax(300px, 380px) minmax(0, 1fr); gap: 14px; align-items: start; }
.business-mapping-form, .business-mapping-table-panel { padding: 13px; border-radius: 8px; background: rgba(0,0,0,.18); border: 1px solid rgba(255,255,255,.08); }
.business-mapping-form h3, .business-mapping-table-panel h3 { margin: 0; font-size: 18px; }
.business-mapping-form label { display: block; margin: 12px 0 6px; color: #a8b9af; font-size: 12px; }
.business-mapping-form .check-row { display: flex; align-items: center; gap: 8px; margin: 12px 0; color: #dbe7df; }
.compact-title { align-items: center; gap: 12px; }
.compact-select { max-width: 240px; }
.business-mapping-table-wrap { max-height: 620px; }
.business-mapping-table { min-width: 1120px; }
.business-mapping-table th:nth-child(1) { min-width: 150px; }
.business-mapping-table th:nth-child(2) { min-width: 260px; }
.business-mapping-table th:nth-child(3) { min-width: 240px; }
.table-input { min-height: 38px; padding: 8px 10px; font-size: 13px; }
.muted-input { margin-top: 6px; color: #a8b9af; }
.narrow-input { max-width: 90px; }
.ghost-button.active { border-color: rgba(123,213,111,.62); color: #dff6d9; background: rgba(123,213,111,.14); }
.business-reconcile-panel { margin-bottom: 14px; }
.business-reconcile-layout { display: grid; grid-template-columns: minmax(300px, 380px) minmax(0, 1fr); gap: 14px; align-items: start; }
.business-reconcile-results { display: grid; gap: 12px; padding: 13px; border-radius: 8px; background: rgba(0,0,0,.18); border: 1px solid rgba(255,255,255,.08); }
.reconcile-textarea { min-height: 170px; resize: vertical; font-family: inherit; line-height: 1.45; }
.business-reconcile-table-wrap { max-height: 360px; }
.provider-raw-json { max-height: 320px; overflow: auto; margin: 0; padding: 12px; border-radius: 8px; background: rgba(0,0,0,.35); color: #cbd8d0; white-space: pre-wrap; word-break: break-word; font-size: 12px; line-height: 1.45; }
.planning-example-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.planning-example-grid article { padding: 13px; border-radius: 8px; background: rgba(0,0,0,.2); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #7aa7ff; }
.planning-example-grid article:nth-child(2) { border-left-color: #e8b34f; }
.planning-example-grid article:nth-child(3) { border-left-color: #7bd56f; }
.planning-example-grid article:nth-child(4) { border-left-color: #f06bd8; }
.planning-example-grid span, .planning-example-grid p, .planning-example-grid small { display: block; color: #94a59c; font-size: 12px; line-height: 1.4; }
.planning-example-grid strong { display: block; margin: 4px 0; font-size: 16px; line-height: 1.25; }
.planning-example-grid p { margin: 0 0 10px; }
.planning-layer-section-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.planning-layer-card { padding: 14px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); border-left: 5px solid #7aa7ff; }
.planning-layer-heading { display: grid; gap: 4px; margin-bottom: 8px; }
.planning-layer-heading span { color: #94a59c; font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.planning-layer-heading strong { font-size: 18px; line-height: 1.2; }
.planning-layer-card p { margin: 0 0 10px; color: #cbd8d0; font-size: 12px; line-height: 1.42; }
.planning-layer-card .facts { gap: 7px; font-size: 12px; }
.planning-layer-card .facts dt { color: #f0d282; }
.planning-layer-greenbelt { border-left-color: #54d56f; box-shadow: inset 0 0 0 1px rgba(84,213,111,.10); }
.planning-layer-brownfield { border-left-color: #ff9f43; box-shadow: inset 0 0 0 1px rgba(255,159,67,.12); }
.planning-layer-environment { border-left-color: #70e5ff; box-shadow: inset 0 0 0 1px rgba(112,229,255,.10); }
.planning-layer-heritage { border-left-color: #b789ff; box-shadow: inset 0 0 0 1px rgba(183,137,255,.10); }
.planning-layer-local { border-left-color: #e8b34f; box-shadow: inset 0 0 0 1px rgba(232,179,79,.10); }
.planning-layer-pressure { border-left-color: #ef6b6b; box-shadow: inset 0 0 0 1px rgba(239,107,107,.10); }
.planning-cost-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 12px; }
.planning-cost-card { padding: 14px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); border-left: 5px solid #7aa7ff; }
.planning-cost-card span { display: block; color: #94a59c; font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.planning-cost-card strong { display: block; margin: 5px 0; font-size: 18px; line-height: 1.2; }
.planning-cost-card p { margin: 0 0 10px; color: #cbd8d0; font-size: 12px; line-height: 1.42; }
.planning-cost-card .facts { gap: 7px; font-size: 12px; }
.planning-cost-card .facts dt { color: #f0d282; }
.planning-cost-size { border-left-color: #7bd56f; }
.planning-cost-value { border-left-color: #e8b34f; }
.planning-cost-adjusted { border-left-color: #ef6b6b; }
.planning-cost-strategy { border-left-color: #7aa7ff; }
.planning-cost-source-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin-bottom: 12px; }
.planning-cost-source-card { padding: 13px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); border-left: 5px solid #7aa7ff; }
.planning-cost-source-head { display: grid; gap: 4px; margin-bottom: 8px; }
.planning-cost-source-head span { color: #94a59c; font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.planning-cost-source-head strong { font-size: 16px; line-height: 1.2; }
.planning-cost-source-card p { margin: 0 0 10px; color: #cbd8d0; font-size: 12px; line-height: 1.42; }
.planning-cost-source-card code { color: #f0d282; white-space: normal; word-break: break-word; }
.planning-cost-source-card .facts { gap: 7px; font-size: 12px; }
.planning-cost-source-card .facts dt { color: #f0d282; }
.planning-cost-source-live { border-left-color: #7bd56f; }
.planning-cost-source-paid { border-left-color: #e8b34f; }
.planning-cost-source-context { border-left-color: #70e5ff; }
.planning-cost-source-internal { border-left-color: #b789ff; }
.planning-cost-source-risk { border-left-color: #ef6b6b; }
.planning-cost-model { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.planning-cost-model article { padding: 13px; border-radius: 8px; background: rgba(0,0,0,.2); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #7aa7ff; }
.planning-cost-model article:nth-child(2) { border-left-color: #e8b34f; }
.planning-cost-model span { display: block; color: #94a59c; font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.planning-cost-model strong { display: block; margin: 4px 0 10px; font-size: 16px; }
.source-live { border-color: rgba(123,213,111,.7); background: rgba(123,213,111,.18); color: #c5f6bf; }
.source-mock { border-color: rgba(232,179,79,.72); background: rgba(232,179,79,.16); color: #f0d282; }
.profile-workspace { display: grid; grid-template-columns: 360px minmax(0, 1fr); gap: 14px; align-items: stretch; margin-bottom: 14px; }
.profile-control-panel label { display: block; font-size: 12px; color: #a8b9af; margin: 14px 0 7px; }
.profile-control-panel .check-row { margin-top: 14px; }
.profile-map-shell { padding: 12px; min-height: 520px; }
#fruitbowl-area-profile-map { height: 455px; border-radius: 8px; overflow: hidden; background: #07100b; }
.legend-profile-outline { width: 22px; height: 12px; border: 2px dashed #7bd56f; background: rgba(123,213,111,.14); }
.legend-profile-census, .legend-profile-market, .legend-profile-rural, .legend-profile-title { width: 16px; height: 12px; border-radius: 3px; border: 1px solid rgba(255,255,255,.42); }
.legend-profile-census { background: rgba(123,213,111,.42); }
.legend-profile-market { background: rgba(232,179,79,.42); }
.legend-profile-rural { background: rgba(122,167,255,.42); }
.legend-profile-title { background: rgba(240,107,216,.42); }
.profile-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, .75fr) minmax(320px, .9fr); gap: 14px; margin-bottom: 14px; align-items: start; }
.profile-bar-row i { background: linear-gradient(90deg, #7bd56f, #e8b34f); }
.area-profile-facts { grid-template-columns: 150px 1fr; }
.profile-region-key { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 10px; }
.profile-region-card { padding: 10px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #9fb2a8; }
.profile-region-card span, .profile-region-card small { display: block; color: #94a59c; font-size: 11px; line-height: 1.35; }
.profile-region-card strong { display: block; margin: 3px 0; font-size: 13px; }
.profile-region-card p { margin: 0 0 6px; font-size: 11px; line-height: 1.32; color: #cbd8d0; }
.profile-region-census { border-left-color: #7bd56f; }
.profile-region-market { border-left-color: #e8b34f; }
.profile-region-rural { border-left-color: #7aa7ff; }
.profile-region-title { border-left-color: #f06bd8; }
.profile-region-label { pointer-events: none; }
.profile-region-label span { display: inline-flex; align-items: center; min-height: 24px; padding: 0 9px; transform: translate(-50%, -50%); border-radius: 999px; background: rgba(5, 12, 10, .82); border: 1px solid var(--profile-region); color: #f6fff8; box-shadow: 0 8px 18px rgba(0,0,0,.34); font-size: 11px; font-weight: 900; white-space: nowrap; text-shadow: 0 1px 4px rgba(0,0,0,.55); }
.profile-polygon-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.profile-polygon-card { padding: 12px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #8d4ee8; }
.profile-polygon-card span, .profile-polygon-card p { display: block; color: #94a59c; font-size: 12px; line-height: 1.38; }
.profile-polygon-card strong { display: block; margin: 4px 0 6px; font-size: 20px; }
.profile-polygon-card p { margin: 0; color: #cbd8d0; }
.profile-polygon-flood { border-left-color: #1976d2; }
.profile-polygon-green { border-left-color: #168a4f; }
.profile-polygon-gold { border-left-color: #c98b00; }
.profile-polygon-purple { border-left-color: #8d4ee8; }
.profile-signal-list { display: grid; gap: 10px; }
.profile-signal-list article { padding: 12px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #7aa7ff; }
.profile-signal-list span, .profile-signal-list small { display: block; color: #94a59c; font-size: 12px; }
.profile-signal-list strong { display: block; margin: 4px 0; }
.profile-signal-list p { margin: 0 0 7px; font-size: 12px; line-height: 1.4; }
.profile-evidence-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.profile-evidence-card { padding: 13px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #7aa7ff; }
.profile-evidence-card p { margin: 0 0 10px; font-size: 12px; line-height: 1.42; }
.profile-evidence-card .facts { gap: 7px; font-size: 12px; }
.profile-evidence-card .facts dt { color: #f0d282; }
.profile-evidence-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; margin-bottom: 8px; }
.profile-evidence-heading span { display: inline-flex; align-items: center; min-height: 22px; padding: 0 8px; border-radius: 999px; background: rgba(122,167,255,.16); color: #cfe0ff; border: 1px solid rgba(122,167,255,.28); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; white-space: nowrap; }
.profile-evidence-heading strong { display: block; font-size: 15px; line-height: 1.25; }
.profile-evidence-live { border-left-color: #7bd56f; }
.profile-evidence-live .profile-evidence-heading span { background: rgba(123,213,111,.16); border-color: rgba(123,213,111,.32); color: #c5f6bf; }
.profile-evidence-paid, .profile-evidence-mixed { border-left-color: #e8b34f; }
.profile-evidence-paid .profile-evidence-heading span, .profile-evidence-mixed .profile-evidence-heading span { background: rgba(232,179,79,.16); border-color: rgba(232,179,79,.32); color: #f0d282; }
.profile-evidence-model { border-left-color: #f06bd8; }
.profile-evidence-model .profile-evidence-heading span { background: rgba(240,107,216,.15); border-color: rgba(240,107,216,.28); color: #ffc8f3; }
.source-catalogue-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); gap: 10px; }
.source-catalogue-grid article { padding: 13px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #7bd56f; }
.source-catalogue-grid .profile-source-live { border-left-color: #7bd56f; box-shadow: inset 0 0 0 1px rgba(123,213,111,.12); }
.source-catalogue-grid .profile-source-paid { border-left-color: #e8b34f; }
.source-catalogue-grid span, .source-catalogue-grid small, .source-catalogue-grid a { display: block; color: #94a59c; font-size: 12px; }
.source-catalogue-grid strong { display: block; margin: 4px 0; }
.source-catalogue-grid p { margin: 0 0 8px; font-size: 12px; line-height: 1.42; }
.source-catalogue-grid a { color: #c5f6bf; }
.area-principle-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 14px; }
.area-principle-grid article { padding: 14px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #7aa7ff; }
.area-principle-grid article:nth-child(2) { border-left-color: #7bd56f; }
.area-principle-grid article:nth-child(3) { border-left-color: #e8b34f; }
.area-principle-grid span { display: block; color: #94a59c; font-size: 12px; }
.area-principle-grid strong { display: block; margin: 5px 0; font-size: 18px; }
.area-principle-grid p { margin: 0; font-size: 13px; line-height: 1.45; }
.area-meta-panel { margin-bottom: 14px; }
.area-meta-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.source-meta-grid { margin-top: 10px; }
.area-meta-grid article { padding: 12px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #7aa7ff; }
.source-meta-grid article { border-left-color: #e8b34f; }
.area-meta-grid span, .area-meta-grid small { display: block; color: #94a59c; font-size: 12px; line-height: 1.35; }
.area-meta-grid strong { display: block; margin: 4px 0; font-size: 16px; }
.area-meta-grid p { margin: 0 0 8px; font-size: 12px; line-height: 1.4; }
.area-builder-layout { display: grid; grid-template-columns: 390px minmax(0, 1fr); gap: 14px; align-items: stretch; margin-bottom: 14px; }
.area-builder-form { align-self: stretch; }
.area-builder-form label { display: block; font-size: 12px; color: #a8b9af; margin: 14px 0 7px; }
.area-builder-form .check-row { margin-top: 14px; }
.area-builder-map-panel { position: relative; padding: 12px; min-height: 690px; }
.area-builder-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 14px; margin-bottom: 14px; }
.opportunity-config-layout { display: grid; grid-template-columns: 420px minmax(0, 1fr); gap: 14px; align-items: start; margin-bottom: 14px; }
.opportunity-config-form { position: sticky; top: 18px; }
.opportunity-config-main { display: grid; gap: 14px; min-width: 0; }
.area-field-list { grid-template-columns: 150px 1fr; }
.formula-card { padding: 16px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #7bd56f; }
.formula-card span { display: block; color: #94a59c; font-size: 12px; }
.formula-card strong { display: block; margin: 5px 0 8px; font-size: 24px; }
.formula-card p { margin: 0; font-size: 13px; line-height: 1.45; }
.area-signal-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.area-signal-card { display: grid; grid-template-columns: 1fr auto; gap: 8px 12px; padding: 12px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #7bd56f; }
.area-signal-negative { border-left-color: #ef6b6b; }
.area-signal-card span, .area-signal-card small, .area-signal-card em { display: block; color: #94a59c; }
.area-signal-card strong { display: block; margin: 3px 0; }
.area-signal-card b { font-size: 26px; color: #f7fff8; }
.area-signal-card p, .area-signal-card em { grid-column: 1 / -1; margin: 0; font-size: 12px; line-height: 1.4; }
.area-signal-card em { color: #f0d282; font-style: normal; }
.geometry-textarea { min-height: 110px; font-family: Consolas, monospace; font-size: 12px; }
.strategy-layout { display: grid; grid-template-columns: 330px minmax(0, 1fr); gap: 14px; align-items: start; }
.strategy-controls { position: sticky; top: 18px; }
.strategy-controls label { display: block; font-size: 12px; color: #a8b9af; margin: 14px 0 7px; }
.strategy-main { display: grid; gap: 14px; }
.strategy-note { margin-top: 14px; padding: 12px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); }
.strategy-note p { margin: 6px 0 0; }
.strategy-profile-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.strategy-profile-card { text-align: left; border-radius: 8px; padding: 12px; border: 1px solid rgba(255,255,255,.1); background: rgba(0,0,0,.22); color: #e9f3ec; cursor: pointer; }
.strategy-profile-card.active, .strategy-profile-card:hover { border-color: rgba(123,213,111,.45); box-shadow: inset 0 0 0 1px rgba(123,213,111,.22); }
.strategy-profile-card span, .strategy-profile-card small { display: block; color: #94a59c; }
.strategy-profile-card strong { display: block; font-size: 22px; margin: 6px 0; }
.strategy-builder-profile-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.strategy-builder-profile-grid .strategy-profile-card { cursor: default; }
.strategy-rule-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.strategy-rule-grid div { padding: 11px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); color: #cbd8d0; font-size: 13px; line-height: 1.35; }
.battery-explainer { border-color: rgba(122,167,255,.24); }
.battery-flow-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 10px; }
.battery-flow-grid article { padding: 12px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); }
.battery-flow-grid span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 8px; background: rgba(122,167,255,.18); color: #bcd1ff; border: 1px solid rgba(122,167,255,.34); font-weight: 900; margin-bottom: 9px; }
.battery-flow-grid strong, .battery-flow-grid p { display: block; }
.battery-flow-grid p { margin: 6px 0 0; font-size: 12px; line-height: 1.45; }
.battery-signal-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.battery-signal-grid article { padding: 12px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #7aa7ff; }
.battery-signal-grid span { display: block; color: #94a59c; font-size: 12px; }
.battery-signal-grid strong { display: block; margin: 4px 0; font-size: 18px; }
.battery-signal-grid p { margin: 0; color: #cbd8d0; font-size: 12px; line-height: 1.45; }
.battery-signal-critical { border-left-color: #7aa7ff !important; }
.battery-signal-good { border-left-color: #7bd56f !important; }
.battery-signal-risk { border-left-color: #ef6b6b !important; }
.strategy-table-wrap { overflow: auto; max-height: 430px; }
.strategy-candidate-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.strategy-results-panel { margin-top: 14px; }
.strategy-results-panel .panel-title { align-items: center; }
.strategy-results-grid { grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); }
.view-toggle { display: inline-flex; gap: 4px; padding: 4px; border-radius: 8px; background: rgba(0,0,0,.24); border: 1px solid rgba(255,255,255,.1); }
.view-toggle button { min-width: 68px; border: 0; border-radius: 6px; padding: 8px 11px; background: transparent; color: #a8b9af; font-weight: 800; cursor: pointer; }
.view-toggle button.active, .view-toggle button:hover { background: linear-gradient(135deg, #7bd56f, #e8b34f); color: #07100b; }
.strategy-empty-state { display: grid; gap: 8px; padding: 18px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #e8b34f; }
.strategy-empty-state strong { display: block; font-size: 20px; }
.strategy-empty-state p { margin: 0; }
.strategy-empty-state .primary-button { justify-self: start; margin-top: 4px; }
.strategy-evidence { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 12px; }
.strategy-evidence div { padding: 10px; border-radius: 8px; background: rgba(0,0,0,.18); border: 1px solid rgba(255,255,255,.08); }
.strategy-evidence strong { display: block; margin-bottom: 6px; }
.strategy-evidence ul { margin: 0; padding-left: 18px; color: #cbd8d0; font-size: 12px; line-height: 1.4; }
.regional-scan-layout { display: grid; grid-template-columns: 330px minmax(0, 1fr); gap: 14px; align-items: start; }
.regional-scan-controls { position: sticky; top: 18px; }
.regional-scan-controls label { display: block; font-size: 12px; color: #a8b9af; margin: 14px 0 7px; }
.regional-scan-main { display: grid; gap: 14px; }
.regional-map-grid { display: grid; grid-template-columns: minmax(380px, 1.05fr) minmax(340px, .95fr); gap: 18px; align-items: center; }
.regional-map-canvas { position: relative; width: min(100%, 560px); aspect-ratio: 420 / 560; margin: 0 auto; border-radius: 8px; background: radial-gradient(circle at 50% 30%, rgba(123,213,111,.12), transparent 38%), linear-gradient(145deg, rgba(15,28,24,.96), rgba(7,14,12,.96)); border: 1px solid rgba(255,255,255,.1); box-shadow: inset 0 0 0 1px rgba(255,255,255,.03), 0 24px 50px rgba(0,0,0,.24); overflow: hidden; }
.regional-map-canvas::before { content: ""; position: absolute; inset: 16px; border-radius: 8px; background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); background-size: 36px 36px; mask-image: radial-gradient(circle at 50% 50%, #000 54%, transparent 76%); pointer-events: none; }
.regional-uk-map { position: absolute; inset: 0; width: 100%; height: 100%; }
.scan-basemap-land { fill: rgba(234, 241, 228, .09); stroke: rgba(234, 241, 228, .18); stroke-width: 10; stroke-linejoin: round; }
.scan-basemap-road { fill: none; stroke-linecap: round; opacity: .78; }
.scan-basemap-road.road-primary { stroke: rgba(232, 179, 79, .58); stroke-width: 7; }
.scan-basemap-road.road-secondary { stroke: rgba(122, 167, 255, .35); stroke-width: 4; stroke-dasharray: 8 8; }
.scan-basemap-city { fill: rgba(237,247,239,.82); stroke: rgba(17,31,26,.7); stroke-width: 2; }
.scan-basemap-port { fill: rgba(122,167,255,.9); stroke: rgba(17,31,26,.7); stroke-width: 2; }
.scan-region { cursor: pointer; stroke: rgba(255,255,255,.46); stroke-width: 2.5; opacity: .82; transition: opacity .15s ease, filter .15s ease, stroke-width .15s ease; }
.scan-region:hover, .scan-region.active { opacity: .98; stroke: #f1f8ef; stroke-width: 5; filter: drop-shadow(0 0 14px rgba(169,229,140,.58)); }
.scan-region-tag { position: absolute; transform: translate(-50%, -50%); z-index: 2; border: 1px solid rgba(255,255,255,.2); border-radius: 8px; padding: 5px 8px; min-width: 82px; background: rgba(8,16,13,.76); color: #edf7ef; box-shadow: 0 10px 24px rgba(0,0,0,.24); cursor: pointer; text-align: center; backdrop-filter: blur(10px); }
.scan-region-tag span { display: block; font-size: 14px; font-weight: 900; letter-spacing: .08em; }
.scan-region-tag small { display: block; margin-top: 1px; color: #b6c6bc; font-size: 10px; line-height: 1.1; }
.scan-region-tag.active { border-color: rgba(157,229,139,.75); background: rgba(34,60,35,.88); box-shadow: 0 0 0 2px rgba(157,229,139,.22), 0 16px 28px rgba(0,0,0,.3); }
.scan-region-cool { fill: rgba(119, 166, 255, .50); background: rgba(119, 166, 255, .72); }
.scan-region-blue { fill: rgba(78, 169, 220, .55); background: rgba(78, 169, 220, .72); }
.scan-region-green { fill: rgba(118, 207, 143, .55); background: rgba(118, 207, 143, .72); }
.scan-region-gold { fill: rgba(232, 179, 79, .62); background: rgba(232, 179, 79, .78); }
.scan-region-teal { fill: rgba(82, 194, 178, .55); background: rgba(82, 194, 178, .72); }
.scan-region-orange { fill: rgba(231, 138, 75, .60); background: rgba(231, 138, 75, .78); }
.scan-region-red { fill: rgba(230, 111, 104, .62); background: rgba(230, 111, 104, .78); }
.scan-region-purple { fill: rgba(174, 132, 226, .58); background: rgba(174, 132, 226, .72); }
.regional-map-summary h3 { margin: 0 0 8px; font-size: 30px; }
.regional-map-summary p { color: #cbd8d0; line-height: 1.5; }
.region-selector-strip { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 14px; }
.region-selector-card { display: grid; grid-template-columns: 12px 48px minmax(0, 1fr); gap: 8px; align-items: center; padding: 9px; border-radius: 8px; border: 1px solid rgba(255,255,255,.08); background: rgba(0,0,0,.2); color: #e9f3ec; cursor: pointer; text-align: left; }
.region-selector-card:hover, .region-selector-card.active { border-color: rgba(157,229,139,.5); box-shadow: inset 0 0 0 1px rgba(157,229,139,.16); }
.region-selector-card i { width: 12px; height: 24px; border-radius: 999px; border: 1px solid rgba(255,255,255,.28); }
.region-selector-card span { color: #f0d282; font-size: 12px; font-weight: 900; letter-spacing: .08em; }
.region-selector-card strong { font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.scan-grid { display: grid; gap: 8px; min-height: 300px; }
.scan-cell { min-height: 62px; border-radius: 8px; border: 1px solid rgba(255,255,255,.10); background: rgba(0,0,0,.24); color: #edf7ef; cursor: pointer; display: grid; place-items: center; transition: transform .15s ease, box-shadow .15s ease, background .15s ease; }
.scan-cell:hover { transform: translateY(-1px); box-shadow: 0 12px 22px rgba(0,0,0,.22); }
.scan-cell strong { display: block; font-size: 12px; color: #9daf9f; }
.scan-cell em { display: block; max-width: 92%; color: #cbd8d0; font-size: 10px; font-style: normal; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.scan-cell span { display: block; font-size: 20px; font-weight: 900; }
.scan-cell.score-high { border-color: rgba(157,229,139,.5); background: rgba(80, 133, 74, .28); }
.scan-cell.score-mid { border-color: rgba(232,179,79,.46); background: rgba(148, 111, 39, .22); }
.scan-cell.score-low { border-color: rgba(230,111,104,.4); background: rgba(117, 54, 51, .22); }
.scan-cell.scanning { outline: 3px solid rgba(122,167,255,.65); animation: scanPulse 1s ease-in-out infinite; }
.scan-cell.reviewed { opacity: .58; }
.scan-cell.matched { box-shadow: inset 0 0 0 2px rgba(232,179,79,.42); }
.scan-cell.saved { box-shadow: inset 0 0 0 3px rgba(157,229,139,.62), 0 0 20px rgba(157,229,139,.2); }
.scan-cell-detail { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .7fr); gap: 14px; margin-top: 14px; padding: 14px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); }
.scan-cell-detail h3 { margin: 4px 0 8px; }
.scan-cell-detail p { margin: 0; color: #cbd8d0; line-height: 1.45; }
@keyframes scanPulse { 0%, 100% { filter: brightness(1); } 50% { filter: brightness(1.35); } }
.candidate-actions, .table-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 12px; }
.table-actions { margin-top: 0; }
.query-concept-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.query-concept-grid article { padding: 12px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); }
.query-concept-grid span { display: block; color: #94a59c; font-size: 12px; }
.query-concept-grid strong { display: block; margin: 4px 0; }
.query-concept-grid p { margin: 0; color: #cbd8d0; font-size: 13px; line-height: 1.45; }
.api-config-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 14px; }
.api-config-card { padding: 14px; border-radius: 8px; background: rgba(0,0,0,.24); border: 1px solid rgba(255,255,255,.08); box-shadow: 0 16px 34px rgba(0,0,0,.16); }
.api-config-card-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.api-config-card-header span:not(.score-pill) { display: block; color: #94a59c; font-size: 12px; }
.api-config-card-header strong { display: block; margin-top: 4px; font-size: 18px; }
.api-config-card p { margin: 0 0 12px; color: #dbe8df; font-size: 14px; line-height: 1.45; }
.api-config-card dl { display: grid; gap: 6px; margin: 0; }
.api-config-card dt { color: #98a8a0; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.api-config-card dd { margin: 0; color: #cbd8d0; font-size: 13px; line-height: 1.4; }
.api-config-card code { color: #f0d282; white-space: normal; word-break: break-word; }
.api-config-card a { display: inline-block; margin-top: 12px; color: #bbed9f; font-weight: 800; }
.api-config-example { display: grid; grid-template-columns: minmax(220px, .8fr) minmax(0, 1.2fr); gap: 14px; align-items: start; margin-top: 16px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.08); }
.api-config-example h3 { margin: 0 0 6px; font-size: 22px; }
.api-config-example p { margin: 0; color: #aebbb4; line-height: 1.45; }
.theme-light .api-config-card { background: rgba(246,249,244,.86); border-color: rgba(18,35,27,.12); box-shadow: 0 16px 32px rgba(41,62,48,.08); }
.theme-light .api-config-card p, .theme-light .api-config-card dd { color: #315044; }
.theme-light .api-config-example { border-top-color: rgba(18,35,27,.12); }
.open-data-workspace { align-items: stretch; }
.open-data-grid { margin: 12px 0; }
.open-data-list { max-height: 420px; overflow: auto; }
.open-data-list article small { display: block; color: #9fb0a7; line-height: 1.35; }
.open-data-table { max-height: 430px; }
.action-plan-hero { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(340px, .75fr); gap: 16px; align-items: stretch; margin-bottom: 14px; }
.action-plan-hero strong { display: block; font-size: 38px; line-height: 1.08; margin: 4px 0 8px; }
.action-plan-hero p { margin-bottom: 0; }
.action-plan-selector { display: grid; align-content: start; gap: 10px; padding: 14px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); }
.action-plan-selector label { color: #a8b9af; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.action-plan-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-bottom: 14px; align-items: start; }
.action-trigger-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.action-trigger-grid article { min-height: 132px; padding: 12px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #7aa7ff; }
.action-trigger-grid span { display: block; color: #94a59c; font-size: 12px; }
.action-trigger-grid strong { display: block; font-size: 30px; line-height: 1; margin: 7px 0; }
.action-trigger-grid strong small { font-size: 13px; color: #94a59c; margin-left: 2px; }
.action-trigger-grid p { margin: 0; color: #cbd8d0; font-size: 12px; line-height: 1.42; }
.trigger-excellent { border-left-color: #7bd56f !important; box-shadow: inset 0 0 0 1px rgba(123,213,111,.14); }
.trigger-good { border-left-color: #a9cf73 !important; }
.trigger-watch { border-left-color: #e8b34f !important; }
.trigger-risk { border-left-color: #ef6b6b !important; }
.action-step-list { display: grid; gap: 10px; }
.action-step-card { display: grid; grid-template-columns: 38px 1fr; gap: 12px; padding: 12px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #7aa7ff; }
.action-step-card > span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 8px; background: rgba(122,167,255,.18); color: #cfe0ff; border: 1px solid rgba(122,167,255,.32); font-weight: 900; }
.action-step-card strong { display: block; margin-bottom: 4px; }
.action-step-card p { margin: 0; color: #cbd8d0; font-size: 13px; line-height: 1.45; }
.action-step-meta { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.action-step-meta small { display: inline-flex; align-items: center; min-height: 24px; padding: 0 8px; border-radius: 999px; background: rgba(255,255,255,.06); color: #a8b9af; font-weight: 800; }
.action-step-power { border-left-color: #7aa7ff; }
.action-step-site { border-left-color: #7bd56f; }
.action-step-contact { border-left-color: #e8b34f; }
.action-contact-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 0; }
.action-gate-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 10px; }
.action-gate-grid article { padding: 12px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #7aa7ff; }
.action-gate-grid span { display: block; color: #94a59c; font-size: 12px; }
.action-gate-grid strong { display: block; margin: 4px 0; font-size: 20px; }
.action-gate-grid p { margin: 0; color: #cbd8d0; font-size: 13px; line-height: 1.45; }
.gate-go { border-left-color: #7bd56f !important; }
.gate-hold { border-left-color: #e8b34f !important; }
.gate-stop { border-left-color: #ef6b6b !important; }
.exec-summary-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(250px, 330px); gap: 16px; align-items: stretch; margin-bottom: 14px; }
.exec-summary-hero h2 { font-size: 34px; margin-top: 6px; }
.exec-summary-hero p { margin-bottom: 0; }
.exec-score-card { display: grid; align-content: center; justify-items: start; gap: 7px; padding: 18px; border-radius: 8px; border: 1px solid rgba(255,255,255,.1); }
.exec-score-card span, .exec-score-card small { color: #94a59c; }
.exec-score-card strong { font-size: 54px; line-height: 1; }
.exec-score-card strong small { font-size: 18px; margin-left: 3px; }
.summary-metric-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; margin-bottom: 14px; }
.exec-summary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; align-items: start; margin-bottom: 14px; }
.exec-coverage-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.exec-coverage-grid div { padding: 12px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); }
.exec-coverage-grid span { display: block; color: #94a59c; font-size: 12px; }
.exec-coverage-grid strong { display: block; margin-top: 4px; font-size: 18px; }
.exec-score-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.exec-score-grid p { margin: 8px 0 0; color: #cbd8d0; font-size: 12px; line-height: 1.4; }
.document-pack-list { display: grid; gap: 10px; }
.document-pack-list a { display: block; padding: 12px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); text-decoration: none; }
.document-pack-list a:hover { border-color: rgba(123,213,111,.36); background: rgba(123,213,111,.08); }
.document-pack-list strong, .document-pack-list span { display: block; }
.document-pack-list span { margin-top: 4px; color: #94a59c; font-size: 12px; }
.alert-model-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 14px; }
.alert-model-card { position: relative; overflow: hidden; }
.alert-model-card > span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 8px; background: linear-gradient(135deg, #7bd56f, #e8b34f); color: #07100b; font-weight: 900; margin-bottom: 12px; }
.alert-model-card p, .alert-model-card small { display: block; margin: 8px 0 0; color: #a8b9af; line-height: 1.45; }
.flow-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 10px 0 14px; }
.flow-grid article { padding: 12px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); }
.flow-grid strong { display: block; margin-bottom: 6px; }
.flow-grid p { margin: 0; font-size: 12px; line-height: 1.45; }
.builder-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr); gap: 14px; margin: 14px 0; align-items: start; }
.intake-form-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.intake-form-grid label { display: grid; gap: 7px; color: #a8b9af; font-size: 12px; }
.intake-wide { grid-column: 1 / -1; }
.workflow-strip { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.workflow-strip span { display: inline-flex; min-height: 30px; align-items: center; border-radius: 999px; padding: 0 11px; color: #e9f3ec; background: rgba(123,213,111,.13); border: 1px solid rgba(123,213,111,.26); font-size: 12px; font-weight: 800; }
.type-card-list { display: grid; gap: 10px; }
.type-card-list article { padding: 12px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #7aa7ff; }
.type-card-list strong, .type-card-list span { display: block; }
.type-card-list span { color: #94a59c; font-size: 12px; margin: 4px 0; }
.type-card-list p { margin: 0; color: #cbd8d0; font-size: 12px; line-height: 1.45; }
.severity-list { display: grid; gap: 10px; }
.severity-list article { padding: 12px; border-radius: 8px; border: 1px solid rgba(255,255,255,.09); border-left: 4px solid #7aa7ff; background: rgba(0,0,0,.22); }
.severity-list strong, .severity-list span { display: block; }
.severity-list span { color: #94a59c; font-size: 12px; margin: 4px 0 7px; }
.severity-list p { margin: 0; font-size: 13px; color: #dce7df; }
.severity-action { border-left-color: #ef6b6b !important; }
.severity-watch { border-left-color: #e8b34f !important; }
.severity-info { border-left-color: #7aa7ff !important; }
.deep-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); gap: 14px; margin-bottom: 14px; align-items: start; }
.cost-table-wrap { max-height: none; }
.cost-table th, .cost-table td { white-space: normal; vertical-align: top; }
.cost-table td:first-child { min-width: 150px; }
.cost-table td:nth-child(2) { min-width: 210px; }
.cost-table td:last-child { min-width: 240px; white-space: normal; }
.cost-badge { display: inline-flex; align-items: center; min-height: 26px; padding: 0 9px; border-radius: 999px; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.06); color: #e9f3ec; font-size: 12px; font-weight: 900; line-height: 1.25; }
.cost-badge-free { border-color: rgba(123,213,111,.42); background: rgba(123,213,111,.16); color: #c5f6bf; }
.cost-badge-lookup { border-color: rgba(232,179,79,.48); background: rgba(232,179,79,.16); color: #f0d282; }
.cost-badge-monthly { border-color: rgba(122,167,255,.48); background: rgba(122,167,255,.16); color: #d8e5ff; }
.cost-badge-licence { border-color: rgba(240,107,216,.4); background: rgba(240,107,216,.14); color: #ffc8f3; }
.load-budget { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.load-budget div, .timeline-card, .ml-card { background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); border-radius: 8px; padding: 12px; }
.load-budget span, .load-budget small, .timeline-card span, .timeline-card small, .ml-card span, .ml-card small { display: block; color: #94a59c; font-size: 12px; line-height: 1.4; }
.load-budget strong, .timeline-card strong, .ml-card strong { display: block; font-size: 24px; margin: 4px 0; }
.timeline-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 12px; }
.mini-bars, .feature-bar { display: grid; gap: 8px; margin-top: 12px; }
.mini-bars label, .feature-bar label { color: #b9c7bf; font-size: 11px; display: grid; gap: 6px; min-width: 0; }
.mini-bars label::after, .feature-bar::after { display: none; }
.mini-bars i, .feature-bar i { display: block; height: 8px; max-width: 100%; border-radius: 999px; background: linear-gradient(90deg, #7bd56f, #e8b34f); position: relative; z-index: 1; }
.ml-screen { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.ml-card { min-height: 150px; border-left: 4px solid #7aa7ff; }
.feature-bar i { background: linear-gradient(90deg, #7aa7ff, #7bd56f); }
.roadmap-list { margin: 0; padding-left: 22px; color: #cbd8d0; line-height: 1.6; }
.roadmap-list li { margin-bottom: 10px; }
.leaflet-popup-content-wrapper, .leaflet-popup-tip { background: #0d1714; color: #e9f3ec; border: 1px solid rgba(255,255,255,.12); }
.theme-light { background: #f3f6f0; color: #13211b; }
.theme-light * { scrollbar-color: rgba(57,115,78,.58) rgba(225,234,226,.9); }
.theme-light *::-webkit-scrollbar-track { background: rgba(225,234,226,.9); }
.theme-light *::-webkit-scrollbar-thumb { background: linear-gradient(180deg, rgba(92,150,85,.78), rgba(209,158,58,.72)); border-color: rgba(246,249,244,.94); }
.theme-light.shell { background: radial-gradient(circle at top left, rgba(123, 179, 111, .24), transparent 34%), #f3f6f0; }
.theme-light .sidebar { background: rgba(255,255,255,.9); border-right-color: rgba(17,37,28,.12); }
.theme-light .brand-subtitle, .theme-light p, .theme-light .metric-card span, .theme-light .metric-card small, .theme-light .market-alert-card span, .theme-light .market-alert-card small, .theme-light .panel-title span, .theme-light h3, .theme-light .filter-panel label, .theme-light .facts dt, .theme-light .context-card span, .theme-light .context-card small, .theme-light .fruit-card span, .theme-light .fruit-card small, .theme-light .score-section-title span, .theme-light .score-grid span, .theme-light .signal-list span, .theme-light .evidence-summary span, .theme-light .evidence-summary small, .theme-light .evidence-preview span, .theme-light .evidence-chip small, .theme-light .load-budget span, .theme-light .load-budget small, .theme-light .timeline-card span, .theme-light .timeline-card small, .theme-light .ml-card span, .theme-light .ml-card small { color: #5d6e64; }
.theme-light .sidebar-card, .theme-light .panel, .theme-light .metric-card { background: rgba(255,255,255,.82); border-color: rgba(17,37,28,.12); box-shadow: 0 18px 50px rgba(48,66,55,.16); }
.theme-light .nav-section { background: rgba(18,35,27,.035); border-color: rgba(18,35,27,.08); }
.theme-light .nav-section-title { color: #8c6a1f; }
.theme-light .nav-section-title::after { background: linear-gradient(90deg, rgba(140,106,31,.28), transparent); }
.theme-light .nav a { color: #47584f; }
.theme-light .nav a.active, .theme-light .nav a:hover { background: rgba(21,88,58,.08); color: #12221a; border-color: rgba(21,88,58,.12); }
.theme-light .theme-toggle, .theme-light .ghost-button, .theme-light .ghost-link-button, .theme-light .icon-button, .theme-light .tab-button { background: rgba(18,35,27,.04); border-color: rgba(18,35,27,.16); color: #13211b; }
.theme-light .stacked-form input,
.theme-light .stacked-form select,
.theme-light .stacked-form textarea { background: rgba(255,255,255,.72); border-color: rgba(18,35,27,.16); color: #13211b; }
.theme-light .stacked-form option { background: #ffffff; color: #13211b; }
.theme-light .secondary-action,
.theme-light .mini-button { background: rgba(18,35,27,.04); border-color: rgba(18,35,27,.16); color: #13211b; }
.theme-light .table-scroll { background: rgba(255,255,255,.5); border-color: rgba(18,35,27,.12); }
.theme-light .data-table th { background: rgba(18,35,27,.06); color: #536158; }
.theme-light .data-table td { color: #13211b; border-bottom-color: rgba(18,35,27,.1); }
.theme-light .admin-tile,
.theme-light .dashboard-site-list a { background: rgba(18,35,27,.04); border-color: rgba(18,35,27,.12); color: #13211b; }
.theme-light .admin-tile strong,
.theme-light .dashboard-site-list strong { color: #13211b; }
.theme-light .input { background: rgba(255,255,255,.86); border-color: rgba(18,35,27,.16); color: #13211b; }
.theme-light .map-shell { border-color: rgba(18,35,27,.16); box-shadow: 0 22px 55px rgba(48,66,55,.18); }
.theme-light .map-toolbar { background: rgba(255,255,255,.86); border-color: rgba(18,35,27,.14); color: #13211b; }
.theme-light .map-toolbar span { color: #53665c; }
.theme-light .detail-drawer { background: rgba(255,255,255,.96); border-color: rgba(18,35,27,.16); color: #13211b; box-shadow: 0 28px 70px rgba(48,66,55,.24); }
.theme-light .detail-drawer .panel-title h2 { color: #13211b; text-shadow: none; }
.theme-light .detail-drawer .panel-title span { color: #53665c; }
.theme-light .score-grid div, .theme-light .signal-list div, .theme-light .drawer-summary-grid div, .theme-light .evidence-summary div, .theme-light .evidence-preview div, .theme-light .evidence-chip, .theme-light .evidence-box, .theme-light .evidence-group, .theme-light .boundary-source-card, .theme-light .boundary-source-control, .theme-light .business-toggle, .theme-light .business-formula-card, .theme-light .signal-method-grid article, .theme-light .impact-matrix article, .theme-light .fruit-card, .theme-light .load-budget div, .theme-light .timeline-card, .theme-light .ml-card, .theme-light .parcel-preview-card, .theme-light .parcel-timeline-point, .theme-light .agent-card, .theme-light .owned-asset-card, .theme-light .commercial-anchor-card, .theme-light .strategic-anchor-card, .theme-light .market-alert-card, .theme-light .market-alert-detail, .theme-light .feature-point-card, .theme-light .transport-status div, .theme-light .business-sync-card, .theme-light .business-mapping-form, .theme-light .business-mapping-table-panel, .theme-light .business-reconcile-results, .theme-light .help-flow-grid article, .theme-light .help-section-grid article, .theme-light .help-alert-layout article, .theme-light .document-api-grid article, .theme-light .document-review-grid article, .theme-light .document-review-actions, .theme-light .document-review-options article, .theme-light .review-history-strip, .theme-light .review-history-strip article, .theme-light .document-findings-summary article, .theme-light .crm-context-panel article, .theme-light .area-principle-grid article, .theme-light .area-meta-grid article, .theme-light .formula-card, .theme-light .area-signal-card, .theme-light .strategy-note, .theme-light .strategy-profile-card, .theme-light .strategy-rule-grid div, .theme-light .strategy-evidence div, .theme-light .strategy-empty-state, .theme-light .scan-cell-detail, .theme-light .query-concept-grid article, .theme-light .planning-layer-card, .theme-light .planning-cost-card, .theme-light .planning-cost-source-card, .theme-light .planning-cost-model article, .theme-light .battery-flow-grid article, .theme-light .battery-signal-grid article, .theme-light .flow-grid article, .theme-light .severity-list article, .theme-light .type-card-list article, .theme-light .action-plan-selector, .theme-light .action-trigger-grid article, .theme-light .action-step-card, .theme-light .action-gate-grid article, .theme-light .exec-score-card, .theme-light .exec-coverage-grid div, .theme-light .document-pack-list a { background: rgba(246,249,244,.86); border-color: rgba(18,35,27,.12); }
.theme-light .regional-map-canvas, .theme-light .scan-cell, .theme-light .region-selector-card { background: rgba(246,249,244,.86); border-color: rgba(18,35,27,.12); }
.theme-light .scan-region-tag { background: rgba(255,255,255,.82); color: #183226; border-color: rgba(18,35,27,.16); }
.theme-light .scan-region-tag small { color: #53665d; }
.theme-light .regional-map-summary p, .theme-light .scan-cell-detail p { color: #315044; }
.theme-light .business-toggle { color: #13211b; }
.theme-light .site-tag-chip { background: rgba(21,88,58,.08); border-color: rgba(21,88,58,.18); color: #214b33; }
.theme-light .view-toggle { background: rgba(18,35,27,.05); border-color: rgba(18,35,27,.12); }
.theme-light .view-toggle button { color: #53665c; }
.theme-light .view-toggle button.active, .theme-light .view-toggle button:hover { color: #07100b; }
.theme-light .map-loading-overlay, .theme-light .preview-loading-overlay { background: rgba(246,249,244,.68); color: #13211b; }
.theme-light .agent-card p, .theme-light .owned-asset-card p, .theme-light .commercial-anchor-card p, .theme-light .strategic-anchor-card p, .theme-light .market-alert-detail p, .theme-light .crm-context-panel article p { color: #20332a; }
.theme-light .anchor-score-grid span { background: rgba(18,35,27,.05); }
.theme-light .anchor-score-grid strong { color: #13211b; }
.theme-light .context-card { background: rgba(246,249,244,.92); border-color: rgba(18,35,27,.12); }
.theme-light th { background: rgba(239,244,236,.98); color: #53665c; border-bottom-color: rgba(18,35,27,.12); }
.theme-light td { border-bottom-color: rgba(18,35,27,.1); }
.theme-light tr.clickable:hover, .theme-light tr.selected-row { background: rgba(21,88,58,.08); }
.theme-light .leaflet-popup-content-wrapper, .theme-light .leaflet-popup-tip { background: #fff; color: #13211b; border-color: rgba(18,35,27,.12); }
@media (max-width: 1500px) { .deep-grid { grid-template-columns: 1fr; } .detail-panel { max-height: none; } }
@media (max-width: 1200px) { .summary-metric-grid, .exec-score-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 900px) { .project-site-filter-bar, .project-detail-grid, .project-site-card-grid { grid-template-columns: 1fr; } }
@media (max-width: 900px) { .shell { grid-template-columns: 1fr; } .sidebar { position: relative; height: auto; } .signal-strip, .market-alert-strip, .alert-form-grid { grid-template-columns: 1fr 1fr; } .workspace-header, .map-toolbar { flex-direction: column; align-items: stretch; } .filter-drawer { left: 14px; top: 14px; bottom: 14px; width: calc(100vw - 28px); } .detail-drawer { top: 14px; right: 14px; bottom: 14px; width: calc(100vw - 28px); } .deep-grid, .ml-screen, .intelligence-hero, .intel-grid, .feature-explainer, .features-workspace, .business-sync-category-grid, .business-mapping-layout, .business-reconcile-layout, .location-intel-hero, .location-workspace, .location-pipeline-grid, .location-source-grid, .provider-hero, .provider-workspace, .provider-control-grid, .provider-feature-grid, .planning-example-grid, .planning-layer-section-grid, .planning-cost-grid, .planning-cost-source-grid, .planning-cost-model, .company-house-hero, .companies-house-layout, .company-profile-sections, .company-house-tabs, .company-house-detail-grid, .company-filing-grid, .company-network-grid, .company-network-search, .company-network-hero, .company-network-tab-grid, .company-network-map-layout, .crm-profile-layout, .crm-filter-grid, .crm-research-link-grid, .help-hero-grid, .help-flow-grid, .help-section-grid, .help-alert-layout, .document-api-grid, .document-review-grid, .document-review-options, .area-principle-grid, .area-meta-grid, .area-builder-layout, .area-builder-grid, .opportunity-config-layout, .area-signal-grid, .profile-workspace, .profile-grid, .profile-evidence-grid, .profile-region-key, .profile-polygon-grid, .strategy-layout, .regional-scan-layout, .regional-map-grid, .scan-cell-detail, .strategy-profile-grid, .strategy-rule-grid, .battery-flow-grid, .battery-signal-grid, .strategy-candidate-grid, .query-concept-grid, .api-config-grid, .api-config-example, .business-signals-hero, .business-signal-page-grid, .signal-method-grid, .impact-matrix, .alert-model-grid, .flow-grid, .builder-layout, .intake-form-grid, .action-plan-hero, .action-plan-grid, .action-trigger-grid, .action-contact-grid, .exec-summary-hero, .exec-summary-grid, .industrial-page-grid, .industrial-evidence-grid { grid-template-columns: 1fr; } .strategy-controls, .regional-scan-controls { position: relative; top: auto; } }
@media (max-width: 620px) { .content { padding: 14px; } .signal-strip, .market-alert-strip, .alert-form-grid, .compact-grid, .drawer-summary-grid, .company-house-signal-grid, .company-profile-facts, .load-budget, .anchor-score-grid, .summary-metric-grid, .exec-coverage-grid, .exec-score-grid, .document-option-list { grid-template-columns: 1fr; } .document-review-actions, .document-review-button-stack { align-items: stretch; flex-direction: column; } .parcel-timeline { grid-template-columns: 1fr 1fr; } h1 { font-size: 26px; } .exec-summary-hero h2 { font-size: 26px; } }

