@import url("https://fonts.googleapis.com/css2?family=Inter+Tight:wght@600&family=JetBrains+Mono:wght@500&display=swap");

.app-frame.data-hub-product-active .sidebar nav button.active:not(#cardinal-data-hub-nav) { color: var(--muted) !important; background: transparent !important; border-color: transparent !important; box-shadow: none !important; }
.app-frame.data-hub-product-active .workspace-scroll > :not(#cardinal-data-hub-root) { display: none !important; }
.app-frame.data-hub-product-active .workspace-scroll { overflow: visible; background: var(--navy-0); }
.cardinal-landing-proof body { overflow: hidden; }
.cardinal-landing-proof #cardinal-consent,
.cardinal-landing-proof .app-frame > .sidebar,
.cardinal-landing-proof .app-frame > .workspace > .page-header { display: none !important; }
.cardinal-landing-proof .app-frame,
.cardinal-landing-proof .cardinal-minimal-preview .app-frame {
  display: block !important;
  min-height: 100vh !important;
  background: var(--navy-0) !important;
  zoom: 1 !important;
}
.cardinal-landing-proof .app-frame > .workspace {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 100vh !important;
}
.cardinal-landing-proof .workspace-scroll {
  height: 100vh !important;
  min-height: 100vh !important;
  overflow: hidden !important;
}
.cardinal-landing-proof #cardinal-data-hub-root {
  min-height: 100vh;
}
.cardinal-landing-proof .data-hub-control-area { top: 0; }
.cardinal-landing-proof .hub-point-universe { fill: #6385a0; }
#cardinal-data-hub-root { --fs-label: 11px; --fs-data: 12px; --fs-panel: 13px; --fs-aux: 13px; --fs-body: 15px; --fs-card: 16px; --fs-page: 24px; --ctl-h: calc(32px * var(--minimal-density-inverse, 1)); --ctl-h-sm: calc(28px * var(--minimal-density-inverse, 1)); --ctl-icon: calc(28px * var(--minimal-density-inverse, 1)); --ctl-row: calc(36px * var(--minimal-density-inverse, 1)); --ctl-primary: calc(34px * var(--minimal-density-inverse, 1)); min-height: 100%; color: var(--text); font-family: var(--mono); }
#cardinal-data-hub-root * { box-sizing: border-box; }
#cardinal-data-hub-root button,
#cardinal-data-hub-root input { font: inherit; }
:where(#cardinal-data-hub-root) button { min-width: var(--ctl-icon); min-height: var(--ctl-icon); }
.data-hub-content :is(button,input,[role="button"]):focus-visible,
.data-hub-control-area :is(button,input,[role="button"]):focus-visible { outline: 2px solid var(--aqua) !important; outline-offset: 1px; }

.data-hub-product { min-height: 100%; background: linear-gradient(145deg, color-mix(in srgb, var(--aqua-dark) 8%, transparent), transparent 30%), var(--navy-0); }
.data-hub-product-head { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 54px; padding: 8px 14px; border-bottom: 1px solid var(--line); background: var(--navy-1); }
.data-hub-heading { display: flex; align-items: baseline; gap: 11px; }
.data-hub-heading > span { color: var(--faint); font: 700 var(--fs-label)/1 var(--mono); letter-spacing: .12em; }
.data-hub-product-head h1 { margin: 0; color: var(--text); font: 680 var(--fs-page)/1 var(--sans); }
.data-hub-product-head dl { display: flex; gap: 18px; margin: 0; }
.data-hub-product-head dl div { display: grid; gap: 4px; min-width: 120px; }
.data-hub-product-head dt,
.hub-eyebrow,
.hub-section-head > div > span { color: var(--faint); font: 700 var(--fs-label)/1 var(--mono); letter-spacing: .13em; text-transform: uppercase; }
.data-hub-product-head dd { margin: 0; color: var(--text); font: 650 var(--fs-data)/1 var(--mono); overflow-wrap: anywhere; }

.data-hub-control-area { position: sticky; z-index: 70; top: 68px; padding: 6px 11px 5px; border-bottom: 1px solid var(--line); background: color-mix(in srgb, var(--navy-1) 97%, transparent); backdrop-filter: blur(12px); }
.data-hub-toolbar-row { position: relative; z-index: 40; display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 30px; overflow: visible; }
.data-hub-controls,
.data-hub-toolbar-actions { display: flex; align-items: center; gap: 5px; min-width: 0; overflow: visible; }
.data-hub-controls { display: flex; flex: 1 1 auto; flex-wrap: nowrap; gap: 4px; }
.data-hub-controls > * { flex: 0 0 auto; min-width: 0; }
.data-hub-toolbar-actions { flex: 0 0 auto; margin-left: auto; gap: 5px; }
.hub-toolbar-dropdown { position: relative; width: max-content; max-width: 100%; min-width: 0; }
.hub-toolbar-dropdown.filter-universum { flex: 0 0 290px; width: 290px; max-width: 290px; }
.hub-toolbar-dropdown[data-dropdown="group-mode"] { flex: 0 0 250px; width: 250px; max-width: 250px; }
.hub-toolbar-dropdown.data-hub-group-choice { flex: 0 0 275px; width: 275px; max-width: 275px; }
.data-hub-controls > .hub-mark-control { flex: 0 0 190px; width: 190px; max-width: 190px; }
#cardinal-data-hub-root .hub-toolbar-dropdown > .filter-control { display: grid; grid-template-columns: max-content minmax(0, 1fr) 11px; align-items: center; gap: 8px; width: 100%; max-width: 100%; height: var(--ctl-h); min-height: var(--ctl-h); padding: 0 9px; border: 1px solid var(--line); border-radius: 1px; background: var(--navy-2); color: var(--text); cursor: pointer; text-align: left; }
#cardinal-data-hub-root .hub-toolbar-dropdown > .filter-control > span { display: inline-flex; align-items: center; color: var(--faint); font: 700 9.5px/1 var(--mono); letter-spacing: .12em; white-space: nowrap; }
#cardinal-data-hub-root .hub-toolbar-dropdown > .filter-control > b { min-width: 0; overflow: hidden; color: var(--text); font: 650 12px/1 var(--sans); text-overflow: ellipsis; white-space: nowrap; }
#cardinal-data-hub-root .hub-toolbar-dropdown > .filter-control > i { color: var(--faint); font: normal 700 11px/1 var(--mono); text-align: right; }
#cardinal-data-hub-root .hub-toolbar-dropdown.open > .filter-control,
#cardinal-data-hub-root .hub-toolbar-dropdown > .filter-control:focus-visible { border-color: var(--aqua); }
#cardinal-data-hub-root .hub-toolbar-dropdown > .filter-control:hover { border-color: var(--line-strong); }
.hub-dropdown-panel { position: absolute; z-index: 90; top: calc(100% - 1px); left: 0; display: grid; width: max-content; min-width: 100%; max-width: min(420px, 92vw); max-height: min(420px, 60vh); overflow: auto; border: 1px solid var(--line-strong); border-radius: 1px; background: var(--navy-0); box-shadow: 0 20px 48px #0009; }
.toolbar-dropdown-panel.align-right,
.hub-dropdown-panel.align-right { right: 0 !important; left: auto !important; }
.hub-dropdown-panel[hidden] { display: none; }
.hub-dropdown-note { max-width: 420px; padding: 9px 10px; border-bottom: 1px solid var(--line); color: var(--muted); font: 10.5px/1.4 var(--sans); }
.hub-dropdown-panel > button { display: grid; grid-template-columns: minmax(max-content, 1fr) max-content 17px; align-items: center; column-gap: 14px; min-height: var(--ctl-row); padding: 0 10px; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--text); cursor: pointer; text-align: left; }
.hub-dropdown-panel > button:last-child { border-bottom: 0; }
.hub-dropdown-panel > button:hover,
.hub-dropdown-panel > button:focus-visible { outline: 0; background: var(--navy-2); }
.hub-dropdown-panel > button.active { background: transparent; box-shadow: none; }
.hub-dropdown-panel > button span { overflow: visible; font: 650 12px/1.2 var(--sans); text-overflow: clip; white-space: nowrap; }
.hub-dropdown-panel > button small { color: var(--faint); font: 600 10.5px/1 var(--mono); white-space: nowrap; }
.hub-dropdown-panel > button i { color: var(--aqua); font: normal 700 11px/1 var(--mono); }
.data-hub-universe-note { display: flex; justify-content: space-between; gap: 18px; margin: 5px 1px 0; color: var(--faint); font: 600 var(--fs-label)/1.25 var(--mono); }
.data-hub-universe-note em { margin-left: 0; color: var(--muted); font-style: normal; }
.data-hub-universe-note span { white-space: nowrap; }
.hub-mark-empty { margin: 4px 1px 0; color: var(--muted); font: 600 var(--fs-label)/1.35 var(--mono); }
.hub-mark-empty button { padding: 0; border: 0; background: transparent; color: var(--aqua); cursor: pointer; text-decoration: underline; }
.hub-mark-control { z-index: 50; display: block; min-width: 0 !important; }
.hub-mark-trigger { height: var(--ctl-h) !important; min-height: var(--ctl-h) !important; }
.hub-mark-trigger { gap: 5px !important; padding-inline: 7px !important; }
.hub-mark-trigger > span { font-size: 9px !important; letter-spacing: .08em !important; }
.hub-mark-trigger > b { font-size: 11px !important; }
.hub-mark-clear { position: static; width: var(--ctl-icon); height: var(--ctl-icon); min-width: var(--ctl-icon); min-height: var(--ctl-icon); padding: 0; border: 1px solid var(--line); background: var(--navy-2); color: var(--muted); cursor: pointer; font-size: 13px; }
.hub-mark-clear:hover,
.hub-mark-clear:focus-visible { border-color: var(--aqua); color: var(--aqua); outline: 0; }
.hub-mark-control.open .hub-mark-trigger,
.hub-mark-trigger:hover { border-color: var(--aqua); }
.hub-mark-menu { position: absolute; z-index: 40; top: calc(100% + 5px); right: 0; display: grid; width: min(calc(440px * var(--minimal-density-inverse, 1)), calc(100vw - 24px)); max-width: min(calc(440px * var(--minimal-density-inverse, 1)), calc(100vw - 24px)); padding: 0; border: 1px solid var(--line-strong); background: color-mix(in srgb, var(--navy-0) 98%, black); box-shadow: 0 22px 56px #000a; }
.hub-mark-menu[hidden] { display: none; }
.hub-mark-menu-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; min-height: 62px; padding: 13px 14px 11px; border-bottom: 1px solid var(--line-strong); background: var(--navy-2); }
.hub-mark-menu-head > div { display: grid; gap: 4px; }
.hub-mark-menu-head span { color: var(--text); font: 750 11.5px/1.15 var(--mono); letter-spacing: .1em; }
.hub-mark-menu-head small { color: var(--muted); font: 10px/1.35 var(--sans); }
.hub-mark-menu-head > button { width: var(--ctl-icon); height: var(--ctl-icon); padding: 0; border: 1px solid var(--line); background: var(--navy-1); color: var(--muted); cursor: pointer; font: 700 13px/1 var(--mono); }
.hub-mark-menu-head > button:hover { border-color: var(--aqua); color: var(--aqua); }
.hub-mark-section { display: grid; gap: 9px; padding: 11px 13px 12px; border-bottom: 1px solid var(--line); }
.hub-mark-section > header { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.hub-mark-section > header b { color: var(--text); font: 700 9px/1 var(--mono); letter-spacing: .11em; }
.hub-mark-section > header small { color: var(--faint); font: 9px/1.2 var(--mono); }
.hub-mark-source-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.hub-mark-source-card { display: grid; grid-template-columns: 17px minmax(0, 1fr); align-items: center; gap: 7px; min-height: 48px; padding: 7px 8px; border: 1px solid var(--line); background: var(--navy-1); color: var(--muted); cursor: pointer; text-align: left; }
.hub-mark-source-card:hover { border-color: var(--line-strong); background: var(--navy-2); }
.hub-mark-source-card:disabled,
.hub-mark-source-card[aria-disabled="true"] { cursor: default; opacity: .55; }
.hub-mark-source-card:disabled:hover { border-color: var(--line); background: var(--navy-1); }
.hub-mark-source-card > i { display: grid; place-items: center; width: 16px; height: 16px; border: 1px solid var(--line-strong); color: transparent; font: normal 750 9px/1 var(--mono); }
.hub-mark-source-card > span { display: grid; gap: 3px; min-width: 0; }
.hub-mark-source-card b { overflow: hidden; color: var(--text); font: 650 10px/1.15 var(--sans); text-overflow: ellipsis; white-space: nowrap; }
.hub-mark-source-card small { color: var(--faint); font: 9px/1 var(--mono); }
.hub-mark-source-card.active { border-color: color-mix(in srgb, var(--aqua) 70%, var(--line)); background: color-mix(in srgb, var(--aqua) 8%, var(--navy-1)); }
.hub-mark-source-card.active > i { border-color: var(--aqua); background: var(--aqua); color: var(--navy-0); }
.hub-mark-menu input { width: 100%; min-width: 0; height: 32px; padding: 0 9px; border: 1px solid var(--line); border-radius: 0; outline: 0; background: var(--navy-2); color: var(--text); font: 10.5px/1 var(--mono); }
.hub-mark-menu input:focus { border-color: var(--aqua); }
.hub-mark-suggestions { grid-column: 1 / -1; display: grid; max-height: min(288px, 36vh); overflow: auto; border: 1px solid var(--line-strong); background: var(--navy-0); box-shadow: 0 12px 30px #0007; }
.hub-mark-suggestions[hidden] { display: none; }
.hub-mark-suggestions > button { display: grid; grid-template-columns: minmax(0, 1fr) var(--ctl-icon); align-items: center; gap: 10px; width: 100%; min-height: var(--ctl-row); padding: 0 8px 0 10px; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--text); cursor: pointer; text-align: left; }
.hub-mark-suggestions > button:last-child { border-bottom: 0; }
.hub-mark-suggestions > button:hover,
.hub-mark-suggestions > button:focus-visible { background: var(--navy-2); }
.hub-mark-suggestions > button.selected { background: color-mix(in srgb, var(--aqua) 7%, var(--navy-1)); }
.hub-mark-suggestions > button > span { display: grid; gap: 2px; min-width: 0; }
.hub-mark-suggestions > button b { overflow: hidden; font: 650 12px/1.15 var(--sans); text-overflow: ellipsis; white-space: nowrap; }
.hub-mark-suggestions > button small { overflow: hidden; color: var(--faint); font: 10.5px/1.15 var(--mono); text-overflow: ellipsis; white-space: nowrap; }
.hub-mark-suggestions > button i { color: var(--aqua); font: normal 700 13px/1 var(--mono); text-align: center; }
.hub-mark-no-results { grid-column: 1 / -1; margin: 0; padding: 11px 10px; color: var(--muted); font: 10.5px/1.35 var(--sans); }
.hub-mark-menu > footer { display: flex; justify-content: space-between; align-items: center; gap: 10px; min-height: 48px; padding: 8px 12px; background: var(--navy-2); color: var(--muted); font: 9.5px/1 var(--mono); }
.hub-mark-menu > footer > span b { color: var(--text); }
.hub-mark-menu > footer > div { display: flex; align-items: center; gap: 6px; }
.hub-mark-menu > footer button { min-height: var(--ctl-h-sm); padding: 0 9px; border: 1px solid var(--line-strong); background: transparent; color: var(--muted); cursor: pointer; font: 700 11px/1 var(--mono); }
.hub-mark-menu > footer button:hover { border-color: var(--aqua); color: var(--aqua); }
.hub-mark-menu > footer .hub-mark-done { min-width: 54px; border-color: var(--line-strong); background: transparent; color: var(--muted); }
.hub-mark-menu > footer .hub-mark-done:hover { border-color: var(--aqua); background: var(--navy-2); color: var(--aqua); }
.hub-cross-chip { display: grid; grid-template-columns: max-content minmax(120px, 1fr) 12px; grid-template-rows: 1fr; align-items: center; gap: 7px; width: min(360px, 100%); min-height: var(--ctl-h); padding: 0 10px; border: 1px solid var(--aqua); background: color-mix(in srgb, var(--aqua) 8%, var(--navy-2)); color: var(--text); cursor: pointer; text-align: left; }
.hub-cross-chip > span { color: var(--aqua); font: 700 9.6px var(--mono); letter-spacing: .09em; }
.hub-cross-chip > b { min-width: 0; overflow: hidden; font: 650 10.6px var(--mono); text-overflow: ellipsis; white-space: nowrap; }
.hub-cross-chip > i { color: var(--aqua); font: normal 700 12px var(--mono); text-align: right; }
.hub-cross-chip > em { display: none; }
.data-hub-content { padding: 14px 15px 15px; }

.data-hub-overview-layout { display: grid; grid-template-columns: minmax(0, 1fr) var(--hub-rail-width, 300px); gap: 14px; align-items: start; }
.data-hub-overview-layout > aside { position: sticky; top: 62px; align-self: start; }
.data-hub-overview-layout > .data-hub-company-panel { position: sticky; top: 62px; align-self: start; grid-template-rows: auto auto auto; max-height: none; }
.data-hub-overview-layout > .data-hub-company-panel .hub-company-panel-scroll { min-height: auto; overflow: visible; }
.data-hub-team-analytics { min-width: 0; }
.hub-section-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; padding: 6px 10px; border-bottom: 1px solid var(--line); }
.hub-section-head h2 { margin: 3px 0 1px; color: var(--text); font: 700 var(--fs-data)/1 var(--mono); }
.hub-section-head p { margin: 0; color: var(--muted); font: 600 var(--fs-label)/1 var(--mono); }
.hub-section-head > button,
.data-hub-report-rail > header button { border: 0; background: transparent; color: var(--aqua); cursor: pointer; font: 700 var(--fs-label)/1 var(--mono); letter-spacing: .04em; text-transform: uppercase; }
.data-hub-report-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; background: transparent; }
.hub-section-actions { position: relative; display: flex; align-items: center; gap: 9px; }
.hub-edit-control { z-index: 75; width: auto; min-width: 0 !important; }
.hub-toolbar-meta { color: var(--faint); font: 600 9px/1 var(--mono); white-space: nowrap; }
.hub-edit-trigger { height: var(--ctl-h); min-height: var(--ctl-h); padding: 0 10px; border: 1px solid var(--line); border-radius: 0; background: var(--navy-2); color: var(--muted); cursor: pointer; font: 650 12px/1 var(--sans); letter-spacing: 0; white-space: nowrap; }
.hub-edit-trigger:hover,
.hub-edit-control.open .hub-edit-trigger { background: var(--navy-2); border-color: var(--line-strong); color: var(--text); }
.hub-toolbar-action { min-height: var(--ctl-h); padding: 0 10px; border: 1px solid var(--line-strong); border-radius: 0; background: var(--navy-2); color: var(--aqua); cursor: pointer; font: 650 12px/1 var(--sans); letter-spacing: 0; white-space: nowrap; }
.hub-toolbar-action:hover { color: #5aa0c6; }
.hub-export-dialog { width: min(1120px, calc(100vw - 28px)); max-width: none; max-height: calc(100dvh - 28px); padding: 0; overflow: hidden; border: 1px solid var(--line-strong); border-radius: 2px; background: var(--navy-0); color: var(--text); box-shadow: 0 28px 90px #000c; }
.hub-export-dialog::backdrop { background: rgba(3, 9, 15, .78); backdrop-filter: blur(4px); }
.hub-export-shell { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; max-height: calc(100dvh - 30px); }
.hub-export-shell > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding: 17px 19px 15px; border-bottom: 1px solid var(--line); background: #081722; }
.hub-export-shell > header > div { display: grid; gap: 5px; }
.hub-export-shell > header span { color: var(--aqua); font: 700 9px/1 var(--mono); letter-spacing: .14em; }
.hub-export-shell > header h2 { margin: 0; color: var(--text); font: 680 22px/1.05 var(--sans); }
.hub-export-shell > header p { margin: 0; color: var(--muted); font: 600 11px/1.4 var(--sans); }
.hub-export-shell > header > button { display: grid; place-items: center; width: 32px; height: 32px; padding: 0; border: 1px solid var(--line-strong); background: transparent; color: var(--muted); cursor: pointer; font: 600 18px/1 var(--sans); }
.hub-export-shell > header > button:hover { border-color: var(--aqua); color: var(--text); }
.hub-export-body { display: grid; grid-template-columns: minmax(0, 1fr) 340px; min-height: 0; overflow: auto; }
.hub-export-preview { min-width: 0; min-height: 0; padding: 18px; border-right: 1px solid var(--line); background: #06101a; align-content: center; display: grid; gap: 9px; }
.hub-export-preview canvas { display: block; width: 100%; max-height: min(62dvh, 650px); object-fit: contain; border: 1px solid #29485e; background: #07111d; box-shadow: 0 18px 48px #0008; }
.hub-export-preview > span { color: var(--faint); font: 650 9px/1 var(--mono); text-align: right; }
.hub-export-body > aside { display: grid; align-content: start; gap: 13px; max-height: 68dvh; padding: 16px; overflow: auto; background: var(--navy-1); }
.hub-export-body fieldset { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; min-width: 0; margin: 0; padding: 0; border: 0; }
.hub-export-body legend { grid-column: 1 / -1; width: 100%; margin-bottom: 7px; color: var(--faint); font: 700 8px/1 var(--mono); letter-spacing: .13em; }
.hub-export-body fieldset button { min-width: 0; min-height: 40px; padding: 8px 9px; border: 1px solid var(--line); border-radius: 2px; background: var(--navy-0); color: var(--muted); cursor: pointer; font: 650 11px/1.15 var(--sans); text-align: left; }
.hub-export-body fieldset button:hover { border-color: var(--line-strong); color: var(--text); }
.hub-export-body fieldset button[aria-pressed="true"] { border-color: var(--aqua); background: color-mix(in srgb, var(--aqua) 10%, var(--navy-0)); color: var(--text); box-shadow: inset 2px 0 var(--aqua); }
.hub-export-body fieldset button b,.hub-export-body fieldset button small { display: block; }
.hub-export-body fieldset button b { font: 700 11px/1 var(--sans); }
.hub-export-body fieldset button small { margin-top: 4px; color: var(--faint); font: 600 8px/1.25 var(--mono); }
.hub-export-body .hub-export-theme-options,
.hub-export-body .hub-export-format-options,
.hub-export-body .hub-export-tag-size-options,
.hub-export-body .hub-export-axis-size-options,
.hub-export-body .hub-export-axis-color-options { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hub-export-body .hub-export-tag-style-options { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.hub-export-body .hub-export-background-options { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.hub-export-presets { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; margin-top: 2px; padding-top: 13px; border-top: 1px solid var(--line); }
.hub-export-presets > header { grid-column: 1 / -1; display: grid; gap: 4px; margin-bottom: 3px; }
.hub-export-presets > header span { color: var(--aqua); font: 700 8px/1 var(--mono); letter-spacing: .12em; }
.hub-export-presets > header small { color: var(--faint); font: 600 9px/1.3 var(--sans); }
.hub-export-presets > button { display: grid; gap: 4px; min-height: 47px; padding: 8px 9px; border: 1px solid var(--line); background: var(--navy-0); color: var(--muted); cursor: pointer; text-align: left; }
.hub-export-presets > button:first-of-type { grid-column: 1 / -1; }
.hub-export-presets > button[data-export-preset="chart-dark-landscape"] { grid-column: 1 / -1; }
.hub-export-presets > button:hover { border-color: var(--line-strong); color: var(--text); }
.hub-export-presets > button[aria-pressed="true"] { border-color: var(--aqua); background: color-mix(in srgb, var(--aqua) 10%, var(--navy-0)); color: var(--text); box-shadow: inset 2px 0 var(--aqua); }
.hub-export-presets > button b { font: 700 10px/1.15 var(--sans); }
.hub-export-presets > button small { color: var(--faint); font: 600 8px/1.25 var(--mono); }
.hub-export-variant-note { display: grid; gap: 5px; margin-top: 2px; padding: 11px; border: 1px solid var(--line); background: #091a27; }
.hub-export-variant-note span { color: var(--aqua); font: 700 8px/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.hub-export-variant-note b { color: var(--text); font: 700 12px/1.2 var(--sans); }
.hub-export-variant-note small { color: var(--muted); font: 600 10px/1.35 var(--sans); }
.hub-export-shell > footer { display: flex; justify-content: flex-end; gap: 8px; padding: 11px 16px; border-top: 1px solid var(--line); background: #081722; }
.hub-export-shell > footer button { min-height: 36px; padding: 0 14px; border: 1px solid var(--line-strong); border-radius: 2px; cursor: pointer; font: 700 11px/1 var(--sans); }
.hub-export-cancel { background: transparent; color: var(--muted); }
.hub-export-download { min-width: 146px; background: var(--aqua); color: #06111a; }
.hub-export-download:disabled { cursor: wait; opacity: .55; }
@media (max-width: 760px) {
  .hub-export-body { grid-template-columns: minmax(0, 1fr); }
  .hub-export-preview { border-right: 0; border-bottom: 1px solid var(--line); }
  .hub-export-preview canvas { max-height: 50dvh; }
}
.hub-back-overview { min-height: var(--ctl-h); padding: 0 10px; border: 1px solid var(--line-strong); background: var(--navy-2); color: var(--aqua); cursor: pointer; font: 700 11px/1 var(--mono); letter-spacing: .06em; }
.hub-back-overview:hover { border-color: var(--aqua); background: color-mix(in srgb, var(--aqua) 8%, var(--navy-2)); }
.hub-edit-menu { right: 0; left: auto; display: block; width: min(620px, calc(100vw - 24px)); max-height: min(60vh, 420px); overflow: auto; }
.hub-edit-menu[hidden] { display: none; }
.hub-edit-menu > header { position: sticky; z-index: 2; top: 0; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px; border-bottom: 1px solid var(--line); background: var(--navy-2); }
.hub-edit-menu > header div { display: grid; gap: 3px; }
.hub-edit-menu > header b { font: 700 11px var(--mono); }
.hub-edit-menu > header small { color: var(--faint); font: 10px var(--mono); }
.hub-edit-menu > header button { min-height: var(--ctl-h-sm); padding: 0 9px; border: 1px solid var(--line); background: var(--navy-1); color: var(--aqua); font: 700 11px var(--mono); }
.hub-edit-menu > section { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 7px; border-bottom: 1px solid var(--line); }
.hub-edit-menu > section > span { grid-column: 1 / -1; padding: 5px 6px 7px; color: var(--faint); font: 700 9px var(--mono); letter-spacing: .11em; }
.hub-edit-menu > section > button { display: grid; grid-template-columns: 18px minmax(0, 1fr); align-items: center; gap: 8px; min-height: 42px; padding: 6px 7px; border: 0; border-top: 1px solid color-mix(in srgb, var(--line) 72%, transparent); background: transparent; color: var(--muted); text-align: left; cursor: pointer; }
.hub-edit-menu > section > button:hover,
.hub-edit-menu > section > button.active { background: var(--navy-2); color: var(--text); }
.hub-edit-menu > section > button > span { display: grid; gap: 3px; }
.hub-edit-menu > section > button b { font: 700 10.7px var(--mono); }
.hub-edit-menu > section > button small { color: var(--faint); font: 10px var(--mono); }
.hub-edit-menu > section > button > i { display: grid; place-items: center; width: 17px; height: 17px; border: 1px solid var(--line-strong); color: transparent; font: normal 700 10px var(--mono); }
.hub-edit-menu > section > button.active > i { border-color: var(--aqua); background: var(--aqua); color: var(--navy-0); }

.hub-profile-grid-cell { min-width: 0; }
.hub-profile-panel-card { --profile-card-height: auto; }
.hub-profile-panel-card > header { min-height: 45px; }
.hub-card-title.hub-profile-card-title { grid-template-columns: minmax(0, 1fr) var(--ctl-icon); }
.hub-profile-card-title .hub-card-favorite.active { color: var(--aqua); }
.hub-profile-source-control { min-width: 230px; }
.hub-profile-source-trigger { min-height: 33px; }
.hub-profile-source-trigger b { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hub-profile-reference-dropdown { min-width: 205px; }
.hub-profile-reference-menu { right: 0; left: auto; }
.hub-profile-source-menu,
.hub-profile-reference-menu { grid-template-columns: minmax(0, 1fr); width: min(400px, calc(100vw - 32px)); max-height: min(68vh, 560px); overflow: auto; }
.hub-profile-source-menu > header,
.hub-profile-reference-menu > header,
.hub-profile-company-search,
.hub-profile-company-results { grid-column: 1 / -1; }
.hub-profile-source-menu > header,
.hub-profile-reference-menu > header { display: grid; gap: 3px; padding: 9px 10px; border-bottom: 1px solid var(--line); }
.hub-profile-source-menu > header span,
.hub-profile-reference-menu > header span { color: var(--text); font: 700 10.7px var(--mono); }
.hub-profile-source-menu > header small,
.hub-profile-reference-menu > header small { color: var(--faint); font: 10px var(--mono); }
.hub-profile-source-menu > button,
.hub-profile-reference-menu > button,
.hub-profile-company-results > button { display: grid; grid-template-columns: minmax(0, 1fr) 17px; align-items: center; gap: 8px; width: 100%; min-height: 43px; padding: 7px 9px; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--muted); text-align: left; }
.hub-profile-source-menu > button:hover,
.hub-profile-source-menu > button.active,
.hub-profile-reference-menu > button:hover,
.hub-profile-reference-menu > button.active,
.hub-profile-company-results > button:hover,
.hub-profile-company-results > button.active { background: var(--navy-2); color: var(--text); }
.hub-profile-source-menu > button:disabled,
.hub-profile-reference-menu > button:disabled { cursor: default; opacity: .48; }
.hub-profile-source-menu button span,
.hub-profile-reference-menu button span { display: grid; gap: 3px; min-width: 0; }
.hub-profile-source-menu button b,
.hub-profile-reference-menu button b { overflow: hidden; font: 650 10.7px var(--mono); text-overflow: ellipsis; white-space: nowrap; }
.hub-profile-source-menu button small,
.hub-profile-reference-menu button small { color: var(--faint); font: 10px var(--mono); }
.hub-profile-source-menu button i,
.hub-profile-reference-menu button i { color: var(--aqua); font: normal 700 10px var(--mono); text-align: right; }
.hub-profile-company-search { position: sticky; z-index: 2; top: 0; display: grid; gap: 8px; padding: 12px 10px; border-top: 1px solid var(--line-strong); background: color-mix(in srgb, var(--navy-2) 52%, var(--navy-1)); }
.hub-profile-company-search > header { display: grid; gap: 3px; }
.hub-profile-company-search > header span { color: var(--text); font: 700 9.5px var(--mono); letter-spacing: .1em; }
.hub-profile-company-search > header small { color: var(--faint); font: 9.5px/1.35 var(--sans); }
.hub-profile-company-search > label { display: grid; grid-template-columns: 25px minmax(0, 1fr); align-items: center; min-height: 34px; border: 1px solid var(--line-strong); background: var(--navy-0); }
.hub-profile-company-search > label:focus-within { border-color: var(--aqua); box-shadow: 0 0 0 1px color-mix(in srgb, var(--aqua) 22%, transparent); }
.hub-profile-company-search > label i { color: var(--aqua); font: normal 16px/1 var(--sans); text-align: center; }
.hub-profile-company-search input { min-width: 0; height: 32px; padding: 0 8px 0 0; border: 0; outline: 0; background: transparent; color: var(--text); font: 10.7px var(--mono); }
.hub-profile-company-search > p { margin: 0; color: var(--faint); font: 9px/1.3 var(--sans); }
.hub-profile-company-results { max-height: 220px; overflow: auto; }
.hub-profile-company-results[hidden] { display: none; }
.hub-profile-company-results > button[hidden] { display: none; }
.hub-profile-panel-body { min-height: 0; aspect-ratio: 1.78 / 1; overflow: hidden; background: color-mix(in srgb, var(--navy-2) 58%, var(--navy-1)); }
.hub-profile-panel-body > [data-profile-chart] { height: 100%; min-height: 0; }
.hub-profile-panel-card.mini .cardinal-factor-profile,
.hub-profile-panel-card.mini .cardinal-factor-profile svg { width: 100%; height: 100%; }
.hub-profile-panel-card.focus { width: 100%; --profile-square: clamp(580px, calc(100vw - 570px), 780px); }
.hub-profile-panel-card.focus .hub-profile-panel-body { display: grid; place-items: center; min-height: var(--profile-square); height: var(--profile-square); aspect-ratio: auto; }
.hub-profile-panel-card.focus .cardinal-factor-profile { display: grid; place-items: center; width: var(--profile-square); height: var(--profile-square); max-width: 780px; max-height: 780px; }
.hub-profile-panel-card.focus .cardinal-factor-profile svg { width: 100%; height: 100%; max-width: 780px; max-height: 780px; }
.hub-profile-panel-footer { display: grid; gap: 1px; padding: 0 !important; background: var(--line); }
.hub-profile-panel-footer > p { min-width: 0; overflow: hidden; padding: 5px 9px; background: var(--navy-1); text-overflow: ellipsis; white-space: nowrap; }
.hub-profile-empty { display: grid; place-items: center; align-content: center; gap: 14px; min-height: 285px; padding: 28px; background: color-mix(in srgb, var(--navy-2) 58%, var(--navy-1)); text-align: center; }
.hub-profile-empty strong { max-width: 520px; font: 700 13px/1.45 var(--mono); }
.hub-profile-empty > div { display: flex; flex-wrap: wrap; justify-content: center; gap: 7px; }
.hub-profile-empty button { min-height: 31px; padding: 0 10px; border: 1px solid var(--line-strong); background: var(--navy-1); color: var(--aqua); cursor: pointer; font: 700 10.7px var(--mono); }
.hub-quality-driver-list { display: grid; align-content: center; gap: 2px; height: 100%; padding: 9px 12px; }
.hub-quality-driver-row { display: grid; grid-template-columns: minmax(118px, 1.2fr) minmax(90px, 1.6fr) 28px 34px; align-items: center; gap: 8px; min-height: 35px; border-bottom: 1px solid var(--line); }
.hub-quality-driver-row > span { min-width: 0; overflow: hidden; color: var(--muted); font: 650 var(--fs-data)/1.1 var(--sans); text-overflow: ellipsis; white-space: nowrap; }
.hub-quality-driver-row > i { position: relative; display: block; height: 6px; background: var(--navy-3); }
.hub-quality-driver-row > i > b { position: absolute; inset: 0 auto 0 0; width: var(--value); background: var(--factor); }
.hub-quality-driver-row > i > em { position: absolute; top: -4px; left: var(--reference); width: 1px; height: 14px; background: var(--text); }
.hub-quality-driver-row > strong { color: var(--text); font: 700 var(--fs-data)/1 var(--mono); text-align: right; }
.hub-quality-driver-row > small { color: var(--faint); font: 650 var(--fs-label)/1 var(--mono); text-align: right; }
.hub-quality-driver-row > small.positive { color: #78b8a3; }
.hub-quality-driver-row > small.negative { color: #c98b72; }
.hub-quality-driver-row.missing { opacity: .58; }
.cardinal-factor-profile { position: relative; }
.cardinal-factor-profile svg { display: block; width: 100%; height: 285px; }
.factor-profile-incomplete { display: grid; align-content: center; gap: 4px; height: 100%; padding: 12px 15px; }
.factor-profile-incomplete-row { display: grid; grid-template-columns: minmax(96px, 1fr) minmax(110px, 1.6fr) 30px; align-items: center; gap: 9px; min-height: 30px; color: var(--muted); font: 650 var(--fs-data)/1 var(--sans); }
.factor-profile-incomplete-row > i { position: relative; display: block; height: 6px; background: var(--navy-3); }
.factor-profile-incomplete-row > i > b { position: absolute; inset: 0 auto 0 0; width: var(--profile-value); background: var(--profile-color); }
.factor-profile-incomplete-row > i > em { position: absolute; top: -4px; left: var(--profile-reference); width: 1px; height: 14px; background: var(--text); }
.factor-profile-incomplete-row > strong { color: var(--text); font: 700 var(--fs-data)/1 var(--mono); text-align: right; }
.factor-profile-incomplete-row.missing { opacity: .58; }
.factor-profile-incomplete-row.missing > i > b,
.factor-profile-incomplete-row.reference-missing > i > em { display: none; }
.factor-profile-incomplete > p { margin: 5px 0 0; color: var(--faint); font: 600 var(--fs-label)/1.3 var(--sans); }
.factor-profile-field { fill: color-mix(in srgb, var(--navy-3) 58%, var(--navy-1)); stroke: var(--line-strong); stroke-width: 1; }
.factor-profile-ring { fill: color-mix(in srgb, var(--aqua-dark) 8%, transparent); stroke: color-mix(in srgb, var(--line-strong) 82%, transparent); stroke-width: 1; vector-effect: non-scaling-stroke; }
.factor-profile-ring.level-75 { fill: color-mix(in srgb, var(--aqua-dark) 12%, transparent); }
.factor-profile-ring.level-50 { fill: color-mix(in srgb, var(--aqua-dark) 16%, transparent); }
.factor-profile-ring.level-25 { fill: color-mix(in srgb, var(--aqua-dark) 22%, transparent); }
.factor-profile-quartile-band { fill: #1c3348; fill-opacity: .82; stroke: none; pointer-events: none; }
.factor-profile-spoke { stroke: var(--line-strong); stroke-width: 1; vector-effect: non-scaling-stroke; }
.factor-profile-reference { fill: color-mix(in srgb, #c6d1d9 7%, transparent); stroke: #a6b4bf; stroke-width: 1.25; stroke-dasharray: 5 4; opacity: .78; vector-effect: non-scaling-stroke; transition: opacity .22s ease, stroke-width .22s ease; }
.factor-profile-entity { fill: color-mix(in srgb, var(--aqua) 29%, transparent); stroke: var(--aqua); stroke-width: 1.25; filter: drop-shadow(0 0 9px rgba(75,145,184,.16)); vector-effect: non-scaling-stroke; transition: fill .28s ease, filter .28s ease, stroke-width .28s ease; }
.factor-profile-edge { stroke-width: 2.2; vector-effect: non-scaling-stroke; pointer-events: none; transition: opacity .22s ease, stroke-width .22s ease; }
.cardinal-factor-profile:hover .factor-profile-entity { fill: color-mix(in srgb, var(--aqua) 37%, transparent); filter: drop-shadow(0 0 16px rgba(75,145,184,.28)); stroke-width: 1.75; }
.cardinal-factor-profile:hover .factor-profile-reference { opacity: .96; }
.cardinal-factor-profile:hover .factor-profile-edge { stroke-width: 2.7; }
.factor-profile-label { fill: var(--profile-axis-color, var(--muted)); font: 700 10px var(--mono); }
.factor-profile-value { fill: var(--text); font-size: var(--fs-label); }
.factor-profile-hit { fill: transparent; pointer-events: all; cursor: crosshair; }
.factor-profile-vertex { stroke: var(--navy-0); stroke-width: 1.5; vector-effect: non-scaling-stroke; pointer-events: none; transform-box: fill-box; transform-origin: center; transition: r .18s ease, filter .18s ease, stroke-width .18s ease; }
.factor-profile-reference-link { stroke: var(--profile-axis-color); stroke-width: 1.45; stroke-dasharray: 3 4; stroke-dashoffset: 0; opacity: 0; pointer-events: none; vector-effect: non-scaling-stroke; transition: opacity .16s ease; }
.factor-profile-reference-vertex { fill: var(--navy-0); stroke: #c8d2d9; stroke-width: 1.35; opacity: 0; pointer-events: none; vector-effect: non-scaling-stroke; transition: opacity .16s ease, r .18s ease; }
.factor-profile-axis.interactive { cursor: pointer; outline: none; }
.factor-profile-axis.interactive:hover .factor-profile-label,
.factor-profile-axis.interactive:focus .factor-profile-label { fill: var(--profile-axis-color); }
.factor-profile-axis:hover .factor-profile-reference-link,
.factor-profile-axis:focus .factor-profile-reference-link { opacity: .95; } /* static dashed link (UI audit, 4 Oct 2026) */
.factor-profile-axis:hover .factor-profile-reference-vertex,
.factor-profile-axis:focus .factor-profile-reference-vertex { opacity: 1; r: 4.2; }
.factor-profile-axis:hover .factor-profile-vertex,
.factor-profile-axis:focus .factor-profile-vertex { r: 5.8; stroke-width: 2.2; }
@media (prefers-reduced-motion: reduce) {
  .factor-profile-reference-link { animation: none !important; }
  .factor-profile-entity,
  .factor-profile-edge,
  .factor-profile-reference,
  .factor-profile-vertex,
  .factor-profile-reference-vertex { transition: none; }
}
.factor-profile-brand-name { fill: #eef3f7; font-family: var(--sans); font-size: 22px; font-weight: 600; letter-spacing: -.025em; }
.factor-profile-brand-market { fill: #6d8295; font-family: var(--sans); font-size: 9px; font-weight: 500; letter-spacing: .23em; }
.factor-profile-tooltip { position: absolute; z-index: 8; display: grid; gap: 4px; min-width: 170px; padding: 9px 10px; border: 1px solid var(--line-strong); background: color-mix(in srgb, var(--navy-0) 94%, transparent); box-shadow: 0 10px 24px rgba(0, 0, 0, .28); color: var(--muted); pointer-events: none; font: 650 10px/1.25 var(--mono); }
.factor-profile-tooltip[hidden] { display: none; }
.factor-profile-tooltip strong { color: var(--text); font-size: 11px; }
.factor-profile-tooltip b { font-size: 10px; }
.factor-profile-tooltip .positive { color: #78b8a3; }
.factor-profile-tooltip .negative { color: #d16f6f; }
.hub-profile-delta-list { display: grid; margin-top: 9px; border-top: 1px solid var(--line); }
.hub-profile-delta-list > header,
.hub-profile-delta-list > div { display: grid; grid-template-columns: minmax(0, 1fr) 42px 48px 58px; align-items: center; gap: 7px; min-height: 31px; border-bottom: 1px solid var(--line); font: 650 9.5px var(--mono); }
.hub-profile-delta-list > header { min-height: 27px; color: var(--faint); font-size: var(--fs-label); letter-spacing: .06em; }
.hub-profile-delta-list > div { border-left: 2px solid var(--factor); padding-left: 7px; }
.hub-profile-delta-list span i { overflow: hidden; color: var(--muted); font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.hub-profile-delta-list b,
.hub-profile-delta-list > div > i,
.hub-profile-delta-list em { color: var(--text); font-style: normal; text-align: right; }
.hub-profile-delta-list .positive { color: #78b8a3; }
.hub-profile-delta-list .negative { color: #d16f6f; }
.factor-profile-single { display: grid; grid-template-columns: 120px minmax(0, 1fr) 35px 90px; align-items: center; gap: 10px; min-height: 285px; padding: 30px 12%; color: var(--muted); font: 700 11px var(--mono); }
.factor-profile-single > div { position: relative; height: 8px; background: var(--navy-3); }
.factor-profile-single > div b { display: block; height: 100%; background: var(--profile-color); }
.factor-profile-single > div i { position: absolute; top: -5px; width: 1px; height: 18px; background: var(--text); }
.factor-profile-single strong { color: var(--text); font-size: 14px; text-align: right; }
.factor-profile-single small { color: var(--faint); font-size: 10px; }
.builder-shared-factor-profile { min-height: 285px; border: 1px solid var(--line); background: var(--navy-0); }
.builder-shared-factor-profile svg { display: block; width: 100%; height: 285px; }

.hub-report-card { position: relative; min-width: 0; border: 1px solid var(--line); background: var(--navy-1); }
.hub-report-card::before { content: none; }
.hub-report-card > header { min-height: 45px; padding: 7px 9px 5px; border-bottom: 1px solid var(--line); }
.hub-report-card.mini > header { display: grid; align-content: center; min-height: 54px; padding: 6px 8px 5px; }
.hub-report-card.mini > header[role="button"] { cursor: pointer; outline: none; }
.hub-report-card.mini > header[role="button"]:focus-visible { box-shadow: inset 0 0 0 1px var(--aqua); }
.hub-card-title { display: grid; grid-template-columns: minmax(0, 1fr) var(--ctl-icon); grid-template-areas: "title expand" "meta meta"; gap: 4px 7px; align-items: center; }
.hub-card-title h3 { grid-area: title; margin: 0; overflow: hidden; color: var(--text); font: 700 var(--fs-panel)/1.15 var(--mono); letter-spacing: .015em; text-overflow: ellipsis; white-space: nowrap; }
.hub-report-card.mini .hub-card-title { grid-template-areas: "title expand"; row-gap: 0; }
.hub-card-title > span { grid-area: meta; overflow: hidden; color: var(--faint); font: 650 var(--fs-label)/1 var(--mono); text-overflow: ellipsis; white-space: nowrap; }
.hub-card-title button { display: grid; place-items: center; width: var(--ctl-icon); height: var(--ctl-icon); padding: 0; border: 0; background: transparent; color: var(--faint); cursor: pointer; font: 700 12px/1 var(--mono); }
.hub-card-expand,
.hub-card-expand-button { grid-area: expand; display: grid !important; place-items: center; width: var(--ctl-icon) !important; height: var(--ctl-icon) !important; min-width: var(--ctl-icon) !important; min-height: var(--ctl-icon) !important; padding: 0 !important; border: 1px solid var(--line-strong) !important; background: var(--navy-2) !important; color: var(--muted) !important; font: normal 700 12px/1 var(--mono) !important; transition: border-color 120ms ease, color 120ms ease, background 120ms ease; }
.hub-report-card:hover .hub-card-title button,
.hub-report-card:hover .hub-card-expand,
.hub-report-card:hover .hub-card-expand-button { border-color: var(--aqua) !important; background: color-mix(in srgb, var(--aqua) 10%, var(--navy-2)) !important; color: var(--aqua) !important; }
.hub-profile-panel-card > header[role="button"] { cursor: pointer; outline: none; }
.hub-profile-panel-card > header[role="button"]:focus-visible { box-shadow: inset 0 0 0 1px var(--aqua); }
.hub-plane-question { margin: 3px 0 0; color: var(--muted); font: 520 var(--fs-label)/1.25 var(--sans); }
.hub-chart { position: relative; min-height: 0; overflow: hidden; background: color-mix(in srgb, var(--navy-2) 58%, var(--navy-1)); }
.hub-report-card.mini .hub-chart { aspect-ratio: 1.78 / 1; }
.hub-report-card.focus .hub-chart { height: auto; min-height: 0; aspect-ratio: 760 / 440; }
.hub-plot,
.hub-plot svg { display: block; width: 100%; height: 100%; }
.hub-report-card.mini .hub-plot svg { position: absolute; inset: 0; }
.hub-report-card > footer { min-height: 28px; padding: 5px 9px; border-top: 1px solid var(--line); }
.hub-report-card > footer p { margin: 0; color: var(--muted); font: 520 var(--fs-label)/1.3 var(--sans); }
.hub-report-card > footer.hub-verdict { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: baseline; gap: 7px; min-height: 40px; padding-block: 6px; }
.hub-report-card.mini > footer.hub-verdict { gap: 6px; min-height: 34px; padding: 4px 8px; }
.hub-report-card.mini .hub-verdict-state { font-size: 8.5px; line-height: 1.1; letter-spacing: .09em; }
.hub-report-card.mini .hub-verdict p { font-size: 10.5px; line-height: 1.28; }
.hub-verdict-state { color: var(--aqua); font: 700 var(--fs-label)/1.2 var(--mono); letter-spacing: .11em; white-space: nowrap; }
.hub-verdict p { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; }
.hub-verdict-observation { color: var(--text); }
.hub-verdict-consequence { color: var(--faint); }
.hub-verdict.thin .hub-verdict-state,
.hub-verdict.thin .hub-verdict-observation { color: var(--aqua); }
.hub-report-card.focus > footer.hub-verdict { min-height: 54px; gap: 11px; padding: 9px 12px; }
.hub-report-card.focus > footer.hub-verdict p { font-size: var(--fs-aux); line-height: 1.45; }
.hub-report-card.focus .hub-verdict-state { font-size: var(--fs-label); }
.hub-plot-axes line { stroke: var(--line); stroke-width: 1; vector-effect: non-scaling-stroke; }
.hub-reference-lines line { stroke: var(--line-strong); stroke-width: 1.25; stroke-dasharray: 3 4; vector-effect: non-scaling-stroke; }
.hub-market-line { stroke: var(--aqua); stroke-width: 1.2; stroke-dasharray: 6 4; opacity: .8; vector-effect: non-scaling-stroke; }
.hub-market-label { fill: var(--aqua); font: 700 8.6px var(--mono); letter-spacing: .04em; }
.hub-report-card.context-plane > footer p { color: var(--faint); }
.hub-hover-crosshair[hidden] { display: none; }
.hub-hover-crosshair line { stroke: var(--text); stroke-width: .6; opacity: .45; vector-effect: non-scaling-stroke; }
.hub-points circle { pointer-events: none; vector-effect: non-scaling-stroke; }
.hub-point-universe { fill: #55677a; fill-opacity: 1; stroke: none; }
.hub-point-cross-selected { fill: #55677a; fill-opacity: 1; stroke: none; }
.hub-point-dim { fill: #55677a; fill-opacity: .35; stroke: none; }
.hub-point-marked-overview { fill: var(--aqua); fill-opacity: 1; stroke: var(--navy-0); stroke-width: 1; }
.hub-point-watchlist { fill: none; stroke: var(--aqua); stroke-width: 1.5; }
.hub-point-holding { fill: var(--aqua); fill-opacity: 1; stroke: var(--navy-0); stroke-width: 1.5; }
.hub-hit-overlay { fill: transparent; pointer-events: all; cursor: crosshair; }
.hub-brush-active,
.hub-brush-preview { fill: color-mix(in srgb, var(--aqua) 12%, transparent); stroke: var(--aqua); stroke-width: 1.4; stroke-dasharray: 4 3; pointer-events: none; vector-effect: non-scaling-stroke; }
.hub-brush-preview[hidden] { display: none; }
.hub-hover-visual { pointer-events: none; }
.hub-hover-visual[hidden] { display: none; }
.hub-hover-cross,
.hub-hover-leader { stroke: var(--text); stroke-width: 1; opacity: .48; stroke-dasharray: 3 4; vector-effect: non-scaling-stroke; }
.hub-hover-leader { stroke-dasharray: none; opacity: .72; }
.hub-point-hover { fill: var(--aqua); stroke: var(--text); stroke-width: 2; pointer-events: none; vector-effect: non-scaling-stroke; }
.hub-quadrant-label { fill: color-mix(in srgb, var(--faint) 84%, transparent); font: 700 8.6px var(--mono); letter-spacing: .025em; }
.hub-quadrant-label.strong,
.hub-quadrant-label.mixed,
.hub-quadrant-label.weak { fill: color-mix(in srgb, var(--faint) 84%, transparent); }
.hub-quadrant-count { fill: var(--muted); font: 650 9.6px var(--mono); }
.hub-edge-tick { fill: color-mix(in srgb, var(--faint) 72%, transparent); font: 600 8.8px var(--mono); }
.hub-edge-tick.focus { font-size: 10px; }
.hub-axis-title { font: 700 11.6px var(--mono); letter-spacing: .06em; }
.hub-report-card.focus .hub-quadrant-label { font-size: var(--fs-label); }
.hub-report-card.focus .hub-axis-title { font-size: 13px; }
.hub-name-banner { cursor: pointer; outline: none; }
.hub-name-banner line { stroke: var(--aqua); stroke-width: 1; opacity: .35; pointer-events: none; vector-effect: non-scaling-stroke; }
.hub-name-banner rect { vector-effect: non-scaling-stroke; }
.hub-name-banner text { fill: var(--text); font: 650 11px var(--mono); pointer-events: none; }
.hub-name-banner rect { fill: var(--navy-0); fill-opacity: .98; stroke: var(--aqua); stroke-width: 1; }
.hub-name-banner:hover rect,
.hub-name-banner:focus rect,
.hub-name-banner.selected rect { fill: var(--aqua); stroke: var(--aqua); stroke-width: 1; }
.hub-name-banner:hover text,
.hub-name-banner:focus text,
.hub-name-banner.selected text { fill: var(--navy-0); }
.hub-plot:has(.hub-name-banner:hover) .hub-name-banner.selected:not(:hover) rect { fill: var(--navy-0); }
.hub-plot:has(.hub-name-banner:hover) .hub-name-banner.selected:not(:hover) text { fill: var(--text); }
.hub-tooltip { position: absolute; z-index: 5; width: min(170px, calc(100% - 16px)); padding: 8px 10px; border: 1px solid var(--aqua); background: color-mix(in srgb, var(--navy-0) 97%, black); box-shadow: 0 12px 35px #0008; pointer-events: none; }
.hub-tooltip strong,
.hub-tooltip small,
.hub-tooltip span { display: block; }
.hub-tooltip strong { overflow: hidden; color: var(--text); font: 700 12.8px/1.15 var(--mono); text-overflow: ellipsis; white-space: nowrap; }
.hub-tooltip > small { margin: 3px 0 7px; overflow: hidden; color: var(--faint); font: 10.7px/1.15 var(--mono); text-overflow: ellipsis; white-space: nowrap; }
.hub-tooltip-axis { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: 6px; margin-top: 5px; }
.hub-tooltip-axis i { overflow: hidden; color: var(--muted); font: normal 11.7px/1.1 var(--mono); text-overflow: ellipsis; white-space: nowrap; }
.hub-tooltip-axis b { color: var(--text); font: 700 11.7px/1.1 var(--mono); white-space: nowrap; }
.hub-tooltip-axis em { color: var(--faint); font: normal 10.7px/1.1 var(--mono); }
.hub-tooltip-foot { margin-top: 7px !important; padding-top: 5px; border-top: 1px solid var(--line); color: var(--faint) !important; font: 700 10.5px/1 var(--mono) !important; letter-spacing: .08em; }

.data-hub-report-rail { display: grid; align-content: start; gap: 12px; }
.data-hub-report-rail > header { display: flex; align-items: center; justify-content: space-between; min-height: 33px; padding: 0 4px; }
.hub-views-rail { gap: 7px; padding: 9px; border: 1px solid var(--line); background: var(--navy-1); }
.hub-views-rail > header { min-height: 26px; padding: 0 1px 5px; }
.hub-rail-save { min-height: var(--ctl-h-sm); padding: 0 9px; }
.hub-views-rail > section { display: grid; gap: 6px; }
.hub-rail-empty { margin: 0; padding: 8px 9px; border: 1px solid var(--line); color: var(--faint); font: 10px/1.4 var(--mono); }
.hub-rail-group { display: block; margin-top: 5px; padding: 10px 1px 0; border-top: 1px solid var(--line); color: var(--faint); font: 700 9px var(--mono); letter-spacing: .13em; }
.hub-saved-view { display: grid; gap: 3px; width: 100%; min-height: 50px; padding: 8px 9px; border: 1px solid var(--line); background: var(--navy-2); color: var(--text); cursor: pointer; text-align: left; }
.hub-saved-view:hover { border-color: var(--line-strong); background: color-mix(in srgb, var(--aqua) 5%, var(--navy-2)); }
.hub-saved-view b { overflow: hidden; font: 650 10.7px/1.25 var(--sans); text-overflow: ellipsis; white-space: nowrap; }
.hub-saved-view small { color: var(--faint); font: 9.6px/1.35 var(--mono); }
.hub-saved-view-row { display: grid; grid-template-columns: minmax(0, 1fr) 43px var(--ctl-icon); align-items: stretch; }
.hub-saved-view-row .hub-saved-view { min-width: 0; }
.hub-rename-view,
.hub-remove-view { display: grid; place-items: center; min-width: 0 !important; min-height: 0 !important; padding: 0; border: 1px solid var(--line); border-left: 0; background: var(--navy-1); color: var(--faint); cursor: pointer; font: 700 8px/1 var(--mono); }
.hub-remove-view { width: var(--ctl-icon); font-size: 13px; }
.hub-rename-view:hover,
.hub-rename-view:focus-visible { border-color: var(--aqua); color: var(--aqua); outline: none; }
.hub-remove-view:hover,
.hub-remove-view:focus-visible { border-color: var(--aqua); color: var(--aqua); outline: none; }
.hub-saved-view-rename { display: grid; gap: 7px; padding: 8px; border: 1px solid var(--aqua); background: var(--navy-2); }
.hub-saved-view-rename label { display: grid; gap: 5px; }
.hub-saved-view-rename label span { color: var(--faint); font: 700 8.5px/1 var(--mono); letter-spacing: .1em; }
.hub-saved-view-rename input { width: 100%; min-width: 0; height: var(--ctl-h); padding: 0 7px; border: 1px solid var(--line-strong); background: var(--navy-0); color: var(--text); font: 650 10.5px/1 var(--sans); outline: 0; }
.hub-saved-view-rename input:focus { border-color: var(--aqua); }
.hub-saved-view-rename > div { display: flex; justify-content: flex-end; gap: 5px; }
.hub-saved-view-rename button { min-height: var(--ctl-h-sm); padding: 0 7px; border: 1px solid var(--line-strong); background: transparent; color: var(--muted); cursor: pointer; font: 700 8.5px/1 var(--mono); }
.hub-saved-view-rename button[type="submit"] { border-color: var(--aqua); color: var(--aqua); }
.hub-rail-save:disabled { cursor: not-allowed; opacity: .45; }
.hub-cohort-block dl { margin: 0; }
.hub-cohort-block dl div { display: flex; justify-content: space-between; gap: 8px; padding: 5px 1px; color: var(--muted); font: 10px var(--mono); }
.hub-cohort-block dt { min-width: 0; }
.hub-cohort-block dd { margin: 0; color: var(--text); text-align: right; }
.hub-report-row { display: grid; grid-template-columns: 25px minmax(0, 1fr) 12px; gap: 8px; align-items: center; min-height: 61px; padding: 8px 9px; border: 1px solid var(--line); background: var(--navy-1); color: var(--text); text-align: left; cursor: pointer; }
.hub-report-row:hover { border-color: var(--line-strong); background: var(--navy-2); }
.hub-report-row.extra { display: none; }
.data-hub-report-rail.expanded .hub-report-row.extra { display: grid; }
.hub-report-row > b { color: var(--aqua); font: 700 var(--fs-label)/1 var(--mono); }
.hub-report-row span strong,
.hub-report-row span small { display: block; }
.hub-report-row span strong { margin-bottom: 4px; font: 700 var(--fs-data)/1 var(--mono); }
.hub-report-row span small { color: var(--muted); font: 520 var(--fs-label)/1.35 var(--sans); }
.hub-report-row > i { color: var(--faint); font-style: normal; font-size: var(--fs-body); }
.hub-pinned { margin-top: 2px; padding: 11px; border: 1px solid var(--line); background: var(--navy-1); }
.hub-pinned > p { margin: 7px 0 0; color: var(--muted); font-size: var(--fs-label); line-height: 1.4; }
.hub-pinned > div { display: grid; margin-top: 7px; }
.hub-pinned > div button { display: flex; justify-content: space-between; gap: 8px; padding: 7px 0; border: 0; border-top: 1px solid var(--line); background: transparent; color: var(--text); cursor: pointer; text-align: left; font-size: var(--fs-label); }
.hub-pinned > div small { color: var(--faint); }

.hub-legend-universe { width: 6px !important; height: 6px !important; background: #55677a; }
.hub-legend-watch { border: 1.5px solid var(--aqua); }
.hub-legend-holding { border: 1px solid var(--navy-0); background: var(--aqua); }

.data-hub-cross-rail { display: grid; align-content: start; min-width: 0; border: 1px solid var(--line); background: var(--navy-1); }
.data-hub-cross-rail > header { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 46px; padding: 0 12px; border-bottom: 1px solid var(--line); }
.data-hub-cross-rail > header button,
.hub-cross-empty button { border: 0; background: transparent; color: var(--aqua); cursor: pointer; font: 700 9.5px var(--mono); letter-spacing: .04em; }
.data-hub-cross-rail > header button:disabled { color: var(--faint); cursor: default; }
.hub-cross-guide { margin: 0; padding: 12px 12px 4px; color: var(--muted); font: 11px/1.5 var(--sans); }
.hub-constraint-list { display: grid; gap: 6px; padding: 8px 12px 12px; }
.hub-constraint-chip { display: grid; grid-template-columns: minmax(0, 1fr) auto 14px; align-items: center; gap: 6px; min-height: 32px; padding: 5px 7px; border: 1px solid var(--line); background: var(--navy-2); color: var(--text); font: 9.7px var(--mono); }
.hub-constraint-chip.binding { border-color: var(--aqua); }
.hub-constraint-chip b { color: var(--faint); font-weight: 650; }
.hub-constraint-chip.binding b { color: var(--aqua); }
.hub-constraint-chip button { width: 14px; height: 18px; padding: 0; border: 0; background: transparent; color: var(--faint); cursor: pointer; font: 700 12px var(--mono); }
.data-hub-cross-rail > .hub-rail-group { margin: 0 12px; padding-top: 12px; }
.hub-ranked-head,
.hub-ranked-row { display: grid; grid-template-columns: minmax(0, 1fr) 34px 34px; gap: 8px; align-items: center; }
.hub-ranked-head { min-height: 32px; padding: 0 12px; border-bottom: 1px solid var(--line); color: var(--faint); font: 700 9px var(--mono); letter-spacing: .09em; }
.hub-ranked-head i { font-style: normal; text-align: right; }
.hub-ranked-list { display: grid; max-height: min(42vh, 430px); overflow: auto; }
.hub-ranked-row { min-height: 62px; padding: 10px 12px; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--text); cursor: pointer; text-align: left; }
.hub-ranked-row:hover { background: var(--navy-2); }
.hub-ranked-row:focus-visible { outline: 2px solid var(--aqua); outline-offset: -2px; }
.hub-ranked-row span { min-width: 0; }
.hub-ranked-company { display: flex; align-items: flex-start; gap: 8px; }
.hub-ranked-company > .hub-company-flag { margin-top: 2px; }
.hub-ranked-row b,
.hub-ranked-row small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hub-ranked-row b { font: 600 12px/1.35 var(--sans); white-space: normal; overflow-wrap: anywhere; }
.hub-ranked-row small { margin-top: 3px; color: var(--faint); font: 9.5px var(--mono); }
.hub-ranked-row > i { color: var(--text); font: normal 650 10px var(--mono); text-align: right; }
.data-hub-cross-rail > footer { padding: 10px 12px; color: var(--faint); font: 10px/1.5 var(--sans); }
.hub-cross-empty { display: grid; gap: 9px; padding: 13px 11px; }
.hub-cross-empty strong { font: 700 11px/1.35 var(--mono); }
.hub-cross-empty p { margin: 0; color: var(--muted); font: 10.5px/1.45 var(--sans); }
.hub-cross-empty button { justify-self: start; padding: 0; }
.hub-cross-actions { display: grid; gap: 6px; padding: 9px; border-top: 1px solid var(--line); }
.hub-cross-actions button { min-height: 34px; padding: 0 10px; border: 1px solid var(--line-strong); border-radius: 5px; background: var(--navy-2); color: var(--aqua); cursor: pointer; font: 650 10.5px var(--sans); letter-spacing: 0; text-align: left; }
.hub-cross-actions button[data-open-builder] { border-color: #7eb5cc; background: #7eb5cc; color: #06121b; }
.hub-cross-actions button:disabled { color: var(--faint); cursor: default; }

.data-hub-focus-layout { display: grid; grid-template-columns: minmax(0, 1fr) var(--hub-rail-width, 300px); gap: 14px; align-items: start; }
.data-hub-focus-layout > section { min-width: 0; border: 1px solid var(--line); background: var(--navy-1); }
.data-hub-focus-layout > .data-hub-company-panel { position: sticky; top: 62px; align-self: start; grid-template-rows: auto auto auto; max-height: none; }
.data-hub-focus-layout > .data-hub-company-panel .hub-company-panel-scroll { min-height: auto; overflow: visible; }
.data-hub-profile-focus-layout { display: block; }
.data-hub-profile-focus-layout > section { display: grid; align-items: stretch; min-width: 0; }

.hub-profile-focus-card { min-width: 0; border: 1px solid var(--line-strong); background: var(--navy-1); }
.hub-profile-focus-card > header { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 64px; padding: 9px 12px; border-bottom: 1px solid var(--line); }
.hub-profile-focus-title { display: grid; gap: 2px; min-width: 220px; }
.hub-profile-focus-title > span { color: var(--aqua); font: 700 8.8px var(--mono); letter-spacing: .11em; }
.hub-profile-focus-title h2 { margin: 0; color: var(--text); font: 700 15px var(--mono); letter-spacing: .05em; }
.hub-profile-focus-title small { overflow: hidden; color: var(--faint); font: 9.5px var(--mono); text-overflow: ellipsis; white-space: nowrap; }
.hub-profile-focus-controls { display: flex; align-items: stretch; justify-content: flex-end; gap: 7px; min-width: 0; }
.hub-profile-focus-controls .hub-profile-source-control { min-width: 260px; }
.hub-profile-focus-controls .hub-profile-reference-dropdown { min-width: 205px; }
.hub-profile-focus-controls .hub-profile-source-trigger { min-height: 34px; height: 100%; }
.hub-profile-reference-control,
.hub-profile-factor-chip { display: grid; grid-template-columns: auto minmax(0, auto) auto; align-items: center; gap: 8px; min-height: 34px; padding: 0 10px; border: 1px solid var(--line-strong); background: var(--navy-2); color: var(--text); font-family: var(--mono); white-space: nowrap; }
.hub-profile-reference-control span,
.hub-profile-factor-chip span { color: var(--faint); font-size: var(--fs-label); letter-spacing: .09em; }
.hub-profile-reference-control b,
.hub-profile-factor-chip b { overflow: visible; font-size: 10px; text-overflow: clip; }
.hub-profile-factor-chip { border-color: var(--aqua); cursor: pointer; }
.hub-profile-factor-chip i { color: var(--aqua); font: normal 700 14px var(--mono); }
.hub-profile-focus-body { display: grid; grid-template-columns: minmax(430px, 540px) minmax(0, 1fr); min-height: 510px; }
.hub-profile-focus-body.has-polygon { grid-template-columns: minmax(220px, 285px) minmax(500px, 1fr); }
.hub-profile-focus-body.deviation-only { grid-template-columns: minmax(0, 1fr); }
.hub-profile-focus-card.rows-only .hub-profile-focus-body { grid-template-columns: minmax(0, 1fr); min-height: 380px; }
.hub-profile-focus-summary { display: grid; align-content: start; gap: 10px; min-width: 0; padding: 28px 22px; border-right: 1px solid var(--line); background: color-mix(in srgb, var(--navy-0) 35%, var(--navy-1)); }
.hub-profile-focus-summary > span { color: var(--aqua); font: 750 8.5px var(--mono); letter-spacing: .14em; }
.hub-profile-focus-summary h3 { margin: 0; color: var(--text); font: 700 22px/1.05 var(--sans); letter-spacing: -.025em; }
.hub-profile-focus-summary > p { margin: 2px 0 8px; color: var(--muted); font: 12px/1.55 var(--sans); }
.hub-profile-ai-analysis { display: grid; border-top: 1px solid var(--line); }
.hub-profile-ai-analysis article { display: grid; gap: 6px; padding: 13px 0 14px 10px; border-bottom: 1px solid var(--line); border-left: 2px solid var(--line-strong); }
.hub-profile-ai-analysis article.strength { border-left-color: var(--aqua); }
.hub-profile-ai-analysis article.balance { border-left-color: var(--momentum); }
.hub-profile-ai-analysis article.guardrail { border-left-color: var(--faint); }
.hub-profile-ai-analysis article small { color: var(--faint); font: 700 8px var(--mono); letter-spacing: .1em; }
.hub-profile-ai-analysis article.strength small { color: var(--aqua); }
.hub-profile-ai-analysis article.balance small { color: var(--momentum); }
.hub-profile-ai-analysis article p { margin: 0; color: var(--muted); font: 11px/1.5 var(--sans); }
.hub-profile-focus-polygon { display: grid; place-items: center; min-width: 0; border-right: 1px solid var(--line); background: color-mix(in srgb, var(--navy-2) 45%, var(--navy-1)); }
.hub-profile-focus-polygon > div,
.hub-profile-focus-polygon .cardinal-factor-profile,
.hub-profile-focus-polygon svg { width: min(100%, 535px); height: auto; max-width: 535px; aspect-ratio: 1; }
.hub-profile-focus-polygon svg { overflow: visible; }
.hub-profile-focus-body.deviation-only .hub-profile-focus-polygon { border-right: 0; }
.hub-profile-focus-body.has-polygon .hub-profile-focus-polygon { border-right: 0; }
.hub-profile-focus-body.deviation-only .hub-profile-focus-polygon > div,
.hub-profile-focus-body.deviation-only .hub-profile-focus-polygon .cardinal-factor-profile { width: min(100%, 900px); height: 100%; max-width: 900px; aspect-ratio: auto; }
.hub-profile-focus-rows { min-width: 0; padding: 12px 13px 16px; }
.hub-profile-focus-body.has-polygon .hub-profile-focus-rows { grid-column: 1 / -1; border-top: 1px solid var(--line); }
.hub-factor-explorer,
.hub-profile-family-map { grid-column: 1 / -1; padding: 14px 14px 16px; border-top: 1px solid var(--line); background: color-mix(in srgb, var(--navy-0) 30%, var(--navy-1)); }
.hub-factor-explorer > header,
.hub-profile-family-map > header { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: 11px; }
.hub-factor-explorer > header > div { display: grid; gap: 4px; }
.hub-factor-explorer > header span,
.hub-profile-family-map > header span { color: var(--aqua); font: 750 8.5px var(--mono); letter-spacing: .13em; }
.hub-factor-explorer > header b { color: var(--text); font: 650 11px var(--sans); }
.hub-factor-explorer > header small,
.hub-profile-family-map > header small { color: var(--faint); font: 600 8.5px var(--mono); }
.hub-factor-explorer > div { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); border: 1px solid var(--line); }
.hub-factor-explorer button { position: relative; display: grid; grid-template-columns: 25px minmax(0, 1fr) auto; align-items: center; gap: 8px; min-width: 0; min-height: 59px; padding: 8px 9px 12px; border: 0; border-right: 1px solid var(--line); background: transparent; color: var(--muted); cursor: pointer; text-align: left; }
.hub-factor-explorer button:last-child { border-right: 0; }
.hub-factor-explorer button:hover,
.hub-factor-explorer button:focus-visible,
.hub-factor-explorer button.active { background: color-mix(in srgb, var(--factor) 9%, var(--navy-2)); outline: none; }
.hub-factor-explorer button > i { display: grid; place-items: center; width: 25px; height: 25px; border: 1px solid color-mix(in srgb, var(--factor) 65%, var(--line)); color: var(--factor); font: normal 800 10px var(--mono); }
.hub-factor-explorer button.active > i { background: var(--factor); color: var(--navy-0); }
.hub-factor-explorer button > span { display: grid; gap: 3px; min-width: 0; }
.hub-factor-explorer button > span b { overflow: hidden; color: var(--text); font: 650 9.5px var(--sans); text-overflow: ellipsis; white-space: nowrap; }
.hub-factor-explorer button > span small { color: var(--faint); font: 600 8px var(--mono); }
.hub-factor-explorer button > em { font: normal 700 9px var(--mono); }
.hub-factor-explorer button > strong { position: absolute; inset: auto 8px 5px; height: 2px; background: var(--navy-3); }
.hub-factor-explorer button > strong u { display: block; width: var(--score); height: 100%; background: var(--factor); text-decoration: none; transition: width .3s ease; }
.hub-profile-family-map > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.hub-profile-family { display: grid; gap: 9px; padding: 13px 14px; border: 1px solid color-mix(in srgb, var(--factor) 35%, var(--line)); background: color-mix(in srgb, var(--factor) 6%, var(--navy-2)); }
.hub-profile-family header { display: flex; align-items: center; gap: 10px; }
.hub-profile-family header > i { display: grid; place-items: center; width: 28px; height: 28px; background: var(--factor); color: var(--navy-0); font: normal 850 11px var(--mono); }
.hub-profile-family header > span { display: grid; gap: 2px; }
.hub-profile-family header b { color: var(--text); font: 700 11px var(--sans); }
.hub-profile-family header small { color: var(--faint); font: 600 8.5px var(--mono); }
.hub-profile-family p { margin: 0; color: var(--muted); font: 9px/1.45 var(--mono); }
.hub-profile-bullet-heading { display: flex; justify-content: space-between; gap: 12px; padding: 1px 0 9px; color: var(--aqua); font: 700 9px var(--mono); letter-spacing: .1em; }
.hub-profile-bullet-heading small { color: var(--faint); font: 8.7px var(--mono); letter-spacing: .06em; }
.hub-profile-bullets { display: grid; }
.hub-profile-bullets > header,
.hub-profile-bullet-row { display: grid; grid-template-columns: minmax(100px, 1fr) minmax(105px, 1.65fr) 40px 54px 48px 76px; align-items: center; gap: 5px; min-width: 0; }
.hub-profile-bullets > header { min-height: 25px; border-bottom: 1px solid var(--line); color: var(--faint); font: 700 7.8px var(--mono); letter-spacing: .06em; }
.hub-profile-bullets > header i { font-style: normal; }
.hub-profile-bullets > header b,
.hub-profile-bullets > header em,
.hub-profile-bullets > header strong,
.hub-profile-bullets > header small { font: inherit; text-align: right; }
.hub-profile-bullet-row { width: 100%; min-height: 50px; padding: 0; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--muted); text-align: left; }
button.hub-profile-bullet-row { cursor: pointer; }
button.hub-profile-bullet-row:hover,
button.hub-profile-bullet-row:focus-visible { background: color-mix(in srgb, var(--aqua) 8%, transparent); outline: none; }
.hub-profile-bullet-row.drift,
.hub-profile-bullet-row.breach { background: color-mix(in srgb, var(--aqua) 5%, transparent); }
.hub-profile-bullet-row.missing { opacity: .58; }
.hub-profile-bullet-row.missing .hub-profile-bullet-track > b,
.hub-profile-bullet-row.reference-missing .hub-profile-bullet-track > strong { display: none; }
.hub-profile-bullet-name { display: grid; grid-template-columns: 22px minmax(0, 1fr) 10px; align-items: center; gap: 8px; min-width: 0; }
.hub-profile-bullet-name > i { display: grid; place-items: center; width: 22px; height: 22px; background: var(--factor); color: var(--navy-0); font: normal 800 9px var(--mono); }
.hub-profile-bullet-name > b { overflow: visible; color: var(--text); font: 650 10px/1.15 var(--mono); white-space: normal; overflow-wrap: anywhere; }
.hub-profile-bullet-name > em { color: var(--aqua); font: normal 700 13px var(--mono); }
.hub-profile-bullet-track { position: relative; display: block; height: 18px; }
.hub-profile-bullet-track > i { position: absolute; top: 8px; left: var(--p05); width: calc(var(--p95) - var(--p05)); height: 2px; background: var(--navy-3); }
.hub-profile-bullet-track > em { position: absolute; top: 5px; left: var(--p25); width: calc(var(--p75) - var(--p25)); height: 8px; background: #203a51; font-style: normal; }
.hub-profile-bullet-track > b { position: absolute; top: 7px; left: 0; width: var(--value); height: 4px; background: var(--factor); opacity: .9; }
.hub-profile-bullet-track > strong { position: absolute; top: 2px; left: var(--reference); width: 2px; height: 14px; background: #a7b7c4; transform: translateX(-1px); }
.hub-profile-bullet-value { color: var(--text); font: 700 12px var(--mono); text-align: right; }
.hub-profile-bullet-reference,
.hub-profile-bullet-delta,
.hub-profile-bullet-class { font: 650 9.5px var(--mono); text-align: right; white-space: nowrap; }
.hub-profile-bullet-reference { color: var(--faint); }
.hub-profile-bullet-delta { color: var(--muted); }
.hub-profile-bullet-row.intent .hub-profile-bullet-class,
.hub-profile-bullet-row.descriptive .hub-profile-bullet-class { color: var(--faint); }
.hub-profile-bullet-row.drift .hub-profile-bullet-class { color: var(--aqua); }
.hub-profile-bullet-row.breach .hub-profile-bullet-class { color: #d16f6f; }
.hub-profile-no-data { margin: 28px 0; color: var(--faint); font: 10px var(--mono); }
.hub-profile-focus-card > footer { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 18px; min-height: 74px; padding: 10px 14px; border-top: 1px solid var(--line); }
.hub-profile-focus-card > footer > div:first-child { display: grid; gap: 6px; }
.hub-profile-focus-card > footer > div:first-child span { color: var(--aqua); font: 700 8.5px var(--mono); letter-spacing: .12em; }
.hub-profile-focus-card > footer p { margin: 0; color: var(--text); font: 11px/1.45 var(--sans); }
.hub-profile-key { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 13px; color: var(--faint); font: 8.7px var(--mono); white-space: nowrap; }
.hub-profile-key span { display: flex; align-items: center; gap: 5px; }
.hub-profile-key i { display: inline-block; width: 18px; height: 7px; }
.hub-profile-key .quartile { background: #203a51; }
.hub-profile-key .range { height: 2px; background: var(--navy-3); }
.hub-profile-key .reference { width: 2px; height: 12px; background: #a7b7c4; }
.data-hub-analysis-rail { display: grid; gap: 7px; }
.hub-back { min-height: 28px; padding: 0 8px; border: 1px solid var(--line); background: var(--navy-1); color: var(--aqua); cursor: pointer; font: 700 var(--fs-label)/1 var(--mono); letter-spacing: .04em; text-align: left; text-transform: uppercase; }
.hub-back:hover { border-color: var(--line-strong); background: var(--navy-2); }
.data-hub-analysis-rail > section,
.hub-profile-rail > section,
.hub-reports-layout > aside { padding: 12px; border: 1px solid var(--line); background: var(--navy-1); }
.data-hub-analysis-rail h3,
.hub-reports-layout > aside h3 { margin: 8px 0 5px; font: 700 var(--fs-aux)/1 var(--mono); }
.data-hub-analysis-rail p,
.hub-reports-layout > aside p { margin: 0; color: var(--muted); font: 520 var(--fs-data)/1.5 var(--sans); }
.data-hub-analysis-rail dl { margin: 8px 0 0; }
.data-hub-analysis-rail dl div { display: flex; justify-content: space-between; gap: 8px; padding: 7px 0; border-top: 1px solid var(--line); }
.data-hub-analysis-rail dt { color: var(--muted); font-size: var(--fs-label); }
.data-hub-analysis-rail dd { margin: 0; color: var(--text); font: 650 var(--fs-label)/1 var(--mono); text-align: right; }
.hub-method-note { margin-top: 8px !important; color: var(--faint) !important; font-size: var(--fs-label) !important; }
.data-hub-group-list { display: grid; margin-top: 8px; }
.data-hub-group-list button { display: flex; justify-content: space-between; gap: 8px; min-height: 29px; padding: 0; border: 0; border-top: 1px solid var(--line); background: transparent; color: var(--muted); cursor: pointer; text-align: left; font-size: var(--fs-label); }
.data-hub-group-list button.active { color: var(--aqua); }
.data-hub-group-list b { font: 700 var(--fs-label)/1 var(--mono); }
.hub-action,
.hub-pin { min-height: 32px; padding: 0 10px; border: 1px solid var(--aqua); border-radius: 2px; background: color-mix(in srgb, var(--aqua-dark) 72%, var(--navy-1)); color: var(--text); cursor: pointer; font: 700 var(--fs-label)/1 var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.hub-pin.active { border-color: #78b8a3; color: #78b8a3; }

.hub-profile-picker { display: flex; align-items: end; gap: 12px; padding: 10px 12px; border: 1px solid var(--line); background: var(--navy-1); }
.hub-profile-picker label { display: grid; gap: 5px; }
.hub-profile-picker select { min-width: 320px; }
.hub-profile-picker small { margin-bottom: 8px; color: var(--faint); font: 600 var(--fs-label)/1 var(--mono); }
.hub-profile-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 9px; margin-top: 9px; }
.hub-profile-card { border: 1px solid var(--line); background: var(--navy-1); }
.hub-profile-card > header { display: flex; justify-content: space-between; gap: 14px; padding: 15px; border-bottom: 1px solid var(--line); }
.hub-profile-card h2 { margin: 7px 0 3px; font-size: var(--fs-card); }
.hub-profile-card header p { margin: 0; color: var(--muted); font-size: var(--fs-data); }
.hub-profile-card > footer { padding: 10px 15px; border-top: 1px solid var(--line); color: var(--faint); font: 600 var(--fs-label)/1 var(--mono); text-transform: uppercase; }
.hub-factor-list { display: grid; gap: 13px; padding: 20px 17px; }
.hub-factor-row { display: grid; grid-template-columns: 135px minmax(90px, 1fr) 30px; gap: 9px; align-items: center; }
.hub-factor-row > span { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: var(--fs-data); }
.hub-factor-row > span i { display: grid; place-items: center; width: 22px; height: 22px; border: 1px solid var(--factor); color: var(--factor); font: normal 700 var(--fs-label)/1 var(--mono); }
.hub-factor-row > div { position: relative; height: 5px; background: var(--navy-3, #183044); }
.hub-factor-row > div b { display: block; height: 100%; background: var(--factor); }
.hub-factor-row > div em { position: absolute; top: -4px; width: 1px; height: 13px; background: white; }
.hub-factor-row > strong { font: 700 var(--fs-data)/1 var(--mono); text-align: right; }
.hub-profile-rail { display: grid; align-content: start; gap: 7px; }
.hub-profile-rail > section > p { margin: 8px 0 0; color: var(--muted); font: 520 10.7px/1.5 var(--sans); }
.hub-sleeve-list { display: grid; margin-top: 8px; }
.hub-sleeve-list > div { display: flex; justify-content: space-between; gap: 8px; padding: 7px 0; border-top: 1px solid var(--line); color: var(--muted); font-size: var(--fs-label); }
.hub-sleeve-list strong { color: var(--text); font: 700 var(--fs-label)/1 var(--mono); }
.hub-profile-sleeves > header,
.hub-profile-sleeves > div { display: grid; grid-template-columns: minmax(0, 1fr) 42px 42px; align-items: center; gap: 8px; }
.hub-profile-sleeves > header { padding: 7px 0 5px; color: var(--faint); font: 700 9px var(--mono); }
.hub-profile-sleeves > header b,
.hub-profile-sleeves > header i,
.hub-profile-sleeves > div strong,
.hub-profile-sleeves > div em { font-style: normal; text-align: right; }
.hub-profile-sleeves > div span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hub-profile-sleeves > div em { color: var(--faint); font: 650 var(--fs-label)/1 var(--mono); }

.hub-reports-layout { display: grid; grid-template-columns: minmax(0, 1fr) 285px; gap: 9px; align-items: start; }
.hub-reports-layout > section { border: 1px solid var(--line); background: var(--navy-1); }
.hub-findings-list { display: grid; }
.hub-findings-list > button { display: grid; grid-template-columns: 30px minmax(0, 1fr) 18px; gap: 10px; align-items: center; min-height: 70px; padding: 10px 12px; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--text); cursor: pointer; text-align: left; }
.hub-findings-list > button:hover { background: var(--navy-2); }
.hub-findings-list > button > b { color: var(--aqua); font: 700 var(--fs-data)/1 var(--mono); }
.hub-findings-list strong,
.hub-findings-list small { display: block; }
.hub-findings-list strong { margin-bottom: 4px; font-size: var(--fs-aux); }
.hub-findings-list small { color: var(--muted); font-size: var(--fs-label); line-height: 1.4; }
.hub-findings-list i { color: var(--faint); font-style: normal; }
.hub-reports-layout > aside .hub-action { margin-top: 12px; }

.data-hub-company-panel { position: sticky; top: 8px; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; align-self: start; width: 100%; min-width: 0; max-height: calc(100dvh - 200px); overflow: hidden; border: 1px solid var(--line-strong); background: var(--navy-0); }
.data-hub-company-panel > header { position: relative; padding: 10px 28px 8px 10px; border-bottom: 1px solid var(--line); background: var(--navy-1); }
.data-hub-company-panel > header h2 { display: -webkit-box; margin: 6px 0 3px; overflow: hidden; color: var(--text); font: 700 13px/1.2 var(--mono); overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.data-hub-company-panel > header p { margin: 0; overflow: hidden; color: var(--muted); font: 10.5px/1.25 var(--mono); text-overflow: ellipsis; white-space: nowrap; }
.data-hub-company-panel [data-close-panel] { position: absolute; top: 7px; right: 8px; width: var(--ctl-icon); height: var(--ctl-icon); padding: 0; border: 0; background: transparent; color: var(--text); cursor: pointer; font-size: 18px; }
.hub-company-panel-scroll { min-height: 0; overflow: auto; overscroll-behavior: contain; }
.hub-company-panel-scroll > section { padding: 8px; border-bottom: 1px solid var(--line); background: var(--navy-1); }
.data-hub-company-panel .hub-factor-list { gap: 3px; padding: 7px 0 0; }
.data-hub-company-panel .hub-factor-row { grid-template-columns: 128px minmax(48px, 1fr) 22px; gap: 4px; min-height: 22px; }
.data-hub-company-panel .hub-factor-row > span { display: block; min-width: 0; overflow: visible; font: 600 9.5px/1.05 var(--sans); overflow-wrap: anywhere; text-overflow: clip; white-space: normal; }
.data-hub-company-panel .hub-company-pillar-row > span { min-width: 0; text-overflow: clip; }
.data-hub-company-panel .hub-factor-row > strong { font-size: var(--fs-label); }
.data-hub-company-panel .hub-sleeve-list > div { padding: 7px 0; font-size: var(--fs-label); }
.data-hub-company-panel .hub-sleeve-list strong { font-size: var(--fs-label); }
.hub-audit-table { display: grid; margin-top: 8px; }
.hub-audit-table > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px; padding: 7px 0; border-top: 1px solid var(--line); }
.hub-audit-table > div > span { min-width: 0; }
.hub-audit-table b,
.hub-audit-table small { display: block; }
.hub-audit-table b { overflow: hidden; color: var(--muted); font: 650 10.5px/1.25 var(--mono); text-overflow: ellipsis; white-space: nowrap; }
.hub-audit-table small { margin-top: 2px; color: var(--faint); font: 10px/1 var(--mono); }
.hub-audit-table strong { color: var(--text); font: 700 10.5px/1 var(--mono); text-align: right; }
.data-hub-company-panel > footer { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; padding: 6px 8px; border-top: 1px solid var(--line); background: var(--navy-1); }
.data-hub-company-panel > footer > button:last-child { grid-column: 1 / -1; min-height: 28px; border: 0; background: transparent; color: var(--aqua); cursor: pointer; font: 700 10.5px var(--mono); }
.data-hub-company-panel > footer.hub-shared-actions { display: block; padding: 0; background: var(--navy-1); }
.hub-shared-actions > header { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; min-height: 48px; padding: 9px 10px 8px; border-bottom: 1px solid var(--line); }
.hub-shared-actions > header strong { min-width: 0; color: var(--text); font: 650 11px/1.2 var(--sans); overflow-wrap: anywhere; }
.hub-shared-actions > header span { order: -1; color: var(--faint); font: 700 8.5px/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.hub-shared-actions > div { display: grid; gap: 5px; padding: 8px; }
.hub-shared-action { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; min-height: 38px; padding: 7px 9px; border: 1px solid var(--line-strong); background: var(--navy-0); color: var(--text); cursor: pointer; font: 600 10.5px/1.2 var(--sans); text-align: left; transition: border-color 140ms ease, background-color 140ms ease, color 140ms ease, transform 120ms ease; }
.hub-shared-action > span { display: inline-flex; align-items: center; min-width: 0; }
.hub-shared-action > span > i { flex: 0 0 17px; color: var(--aqua); font: 750 12px/1 var(--mono); font-style: normal; }
.hub-shared-action > b { flex: 0 0 auto; color: var(--aqua); font: 650 13px/1 var(--mono); }
.hub-shared-action:hover:not(:disabled),
.hub-shared-action:focus-visible { border-color: var(--aqua); background: color-mix(in srgb, var(--aqua) 7%, var(--navy-0)); outline: none; }
.hub-shared-action:active:not(:disabled) { transform: scale(.985); }
.hub-shared-action.active { border-color: color-mix(in srgb, var(--aqua) 68%, var(--line-strong)); background: color-mix(in srgb, var(--aqua) 8%, var(--navy-0)); color: var(--text); }
.hub-shared-action:disabled { cursor: not-allowed; opacity: .43; }
.hub-shared-action-note { margin: 0 8px 8px; padding: 8px 9px; border-left: 3px solid var(--line-strong); background: var(--navy-2); color: var(--muted); font: 9.5px/1.4 var(--sans); }
.hub-shared-action-note.ready { border-left-color: var(--aqua); color: var(--text); }

.signals-view .rq-row.cardinal-review-impact-target { position: relative; z-index: 2; outline: 1px solid var(--aqua); outline-offset: -1px; background: color-mix(in srgb, var(--aqua) 9%, var(--navy-1)); animation: hub-review-impact-focus 900ms ease-out 2; }
@keyframes hub-review-impact-focus { 0%, 100% { box-shadow: inset 3px 0 0 var(--aqua), 0 0 0 rgba(85, 167, 160, 0); } 50% { box-shadow: inset 3px 0 0 var(--aqua), 0 0 18px rgba(85, 167, 160, .24); } }

.data-hub-loading { display: grid; place-items: center; min-height: calc(100dvh - 40px); padding: 24px; color: var(--text); background: var(--navy-0); }
.data-hub-loading-card { display: grid; justify-items: center; width: min(300px, 100%); text-align: center; }
.data-hub-loading-logo { box-sizing: content-box; margin: 0; }
.data-hub-loading strong { margin-top: 12px; color: #dce7ec; font: 550 15px/1.2 var(--sans); letter-spacing: -.01em; }
.data-hub-loading-progress { position: relative; width: min(190px, 58vw); height: 2px; margin-top: 18px; overflow: hidden; background: #243541; }
.data-hub-loading-progress::after { content: ""; position: absolute; left: 0; width: 28%; height: 100%; background: #a6becd; transform: translateX(-110%); animation: hub-cardinal-load 2.4s linear infinite; }
.data-hub-error,
.hub-empty { margin: 15px; padding: 14px; border: 1px solid var(--line-strong); color: var(--text); }
.data-hub-error { display: grid; justify-items: start; gap: 7px; max-width: 460px; }
.data-hub-error strong { font: 650 14px/1.25 var(--sans); }
.data-hub-error span { color: var(--muted); font: 500 12px/1.45 var(--sans); }
.data-hub-error button { min-height: 34px; margin-top: 3px; padding: 0 12px; border: 1px solid var(--line-strong); color: var(--text); background: var(--navy-2); font: 650 11px/1 var(--sans); cursor: pointer; }
.data-hub-error button:hover { border-color: var(--aqua); }
@keyframes hub-cardinal-load { to { transform: translateX(370%); } }

/* R5 legibility floor at the desktop density scale (.94 at 1600px). */
.data-hub-heading > span,
.data-hub-product-head dt,
.data-hub-product-head dd,
.hub-eyebrow,
.hub-section-head > div > span,
.data-hub-universe-note,
.hub-mark-empty,
.hub-section-head p,
.hub-section-head > button,
.data-hub-report-rail > header button,
.hub-card-title > span,
.hub-card-title button,
.hub-plane-question,
.hub-report-card > footer p,
.hub-report-row > b,
.hub-report-row span strong,
.hub-report-row span small,
.hub-pinned > p,
.hub-pinned > div button,
.hub-back,
.data-hub-analysis-rail p,
.data-hub-analysis-rail dt,
.data-hub-analysis-rail dd,
.hub-method-note,
.data-hub-group-list button,
.data-hub-group-list b,
.hub-action,
.hub-pin,
.hub-profile-picker small,
.hub-profile-card header p,
.hub-profile-card > footer,
.hub-factor-row > span,
.hub-factor-row > span i,
.hub-factor-row > strong,
.hub-sleeve-list > div,
.hub-sleeve-list strong,
.hub-findings-list > button > b,
.hub-findings-list small,
.hub-shared-action,
.hub-shared-action-note,
.hub-tooltip-foot,
.data-hub-company-panel > header p,
.data-hub-company-panel .hub-factor-row > span,
.data-hub-company-panel .hub-factor-row > span i,
.data-hub-company-panel .hub-factor-row > strong,
.data-hub-company-panel .hub-sleeve-list > div,
.data-hub-company-panel .hub-sleeve-list strong,
.hub-audit-table b,
.hub-audit-table small,
.hub-audit-table strong,
.data-hub-company-panel > footer > button:last-child,
.data-hub-loading small { font-size: var(--fs-label) !important; }

.hub-section-head h2,
.hub-card-title h3 { font-size: var(--fs-data); }

/* Data Hub R15 audit consolidation */
.data-hub-filter-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-top: 6px; }
.data-hub-filter-row .hub-cross-chip { width: min(620px, 100%); }
.hub-dropdown-panel { max-height: calc(var(--ctl-row) * 8 + 1px); overscroll-behavior: contain; mask-image: none; }
.hub-dropdown-divider { padding: 12px 10px 6px; border-top: 1px solid var(--line-strong); color: var(--faint); font: 700 var(--fs-label)/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.hub-dropdown-toggle { color: var(--muted) !important; }

.hub-mark-control { position: relative; }
.hub-mark-control.open { z-index: 100; }
.hub-edit-control { position: static; }
.hub-mark-menu { top: calc(100% - 1px); right: auto !important; bottom: auto; left: 0 !important; width: min(460px, calc(100vw - 24px)); max-width: min(460px, calc(100vw - 24px)); max-height: calc(100dvh - 116px); overflow: auto; }
.hub-mark-rail { position: sticky; top: 62px; right: auto !important; left: auto !important; display: flex; flex-direction: column; width: 100%; max-width: none; height: calc(100dvh - 82px); max-height: calc(100dvh - 82px); overflow: hidden; border-color: var(--line); background: var(--navy-1); box-shadow: none; }
.data-hub-overview-layout:has(> .hub-mark-rail) { grid-template-columns: minmax(0, 1fr) var(--hub-rail-width, 300px); }
.hub-mark-rail-scroll { min-height: 0; overflow: auto; overscroll-behavior: contain; }
.hub-mark-menu-head { min-height: 66px; padding: 12px 14px; }
.hub-mark-menu-head h4 { margin: 0; font: 700 var(--fs-card)/1.15 var(--sans); }
.hub-mark-menu-head p { margin: 4px 0 0; color: var(--muted); font: 600 var(--fs-data)/1.35 var(--sans); }
.hub-mark-search { padding: 12px 14px 0; }
.hub-mark-search > label { display: grid; grid-template-columns: 18px minmax(0, 1fr) auto; align-items: center; gap: 7px; min-height: 38px; padding: 0 10px; border: 1px solid var(--line-strong); background: var(--navy-2); }
.hub-mark-search > label:focus-within { border-color: var(--aqua); }
.hub-mark-search > label > span { color: var(--aqua); font-size: var(--fs-card); }
.hub-mark-search > label > small { color: var(--faint); font: 600 var(--fs-label)/1 var(--mono); }
.hub-mark-search input { height: 36px; padding: 0; border: 0; background: transparent; color: var(--text); font: 600 var(--fs-data)/1 var(--sans); outline: 0; }
.hub-mark-suggestions { display: grid; max-height: calc(var(--ctl-row) * 6); overflow: auto; border: 1px solid var(--line-strong); border-top: 0; background: var(--navy-1); box-shadow: none; }
.hub-mark-suggestions > button { min-height: var(--ctl-row); }
.hub-mark-suggestions > button.active,
.hub-mark-suggestions > button:focus-visible { background: var(--navy-2); }
.hub-mark-outside-banner { display: grid; gap: 8px; margin: 10px 14px 0; padding: 10px; border: 1px solid color-mix(in srgb, var(--aqua) 55%, var(--line)); background: color-mix(in srgb, var(--aqua) 8%, var(--navy-1)); }
.hub-mark-outside-banner p { margin: 0; color: var(--text); font: 600 var(--fs-data)/1.4 var(--sans); }
.hub-mark-outside-banner div { display: flex; flex-wrap: wrap; gap: 6px; }
.hub-mark-outside-banner button,
.hub-mark-reset,
.hub-mark-list-more { min-height: var(--ctl-h-sm); padding: 0 8px; border: 1px solid var(--line-strong); background: transparent; color: var(--aqua); cursor: pointer; font: 650 var(--fs-label)/1 var(--sans); }
.hub-mark-list { display: grid; gap: 6px; padding: 12px 14px; border-bottom: 1px solid var(--line); }
.hub-mark-list > header { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.hub-mark-list > header > b,
.hub-mark-sources > b { color: var(--faint); font: 700 var(--fs-label)/1 var(--mono); letter-spacing: .1em; }
.hub-mark-list-rows { display: grid; }
.hub-mark-list-row { display: grid; grid-template-columns: 7px minmax(0, 1fr) auto auto var(--ctl-icon); align-items: center; gap: 8px; min-height: 36px; border-top: 1px solid var(--line); }
.hub-mark-rail .hub-mark-list-row { grid-template-columns: 7px minmax(0, 1fr) auto var(--ctl-icon); gap: 6px; }
.hub-mark-rail .hub-mark-list-row > em { display: none; }
.hub-mark-list-row > i { width: 7px; height: 7px; border: 1px solid var(--aqua); border-radius: 50%; }
.hub-mark-list-row.drawn > i { background: var(--aqua); }
.hub-mark-list-row > span { display: grid; gap: 2px; min-width: 0; }
.hub-mark-list-row b { overflow: hidden; color: var(--text); font: 650 var(--fs-data)/1.1 var(--sans); text-overflow: ellipsis; white-space: nowrap; }
.hub-mark-list-row small { overflow: hidden; color: var(--faint); font: 600 var(--fs-label)/1 var(--sans); text-overflow: ellipsis; white-space: nowrap; }
.hub-mark-list-row code { color: var(--muted); font: 650 var(--fs-label)/1 var(--mono); }
.hub-mark-list-row em { color: var(--faint); font: normal 650 var(--fs-label)/1 var(--sans); }
.hub-mark-list-row > button { border: 0; background: transparent; color: var(--faint); cursor: pointer; font-size: var(--fs-aux); }
.hub-mark-list-empty { margin: 8px 0; color: var(--muted); font: 600 var(--fs-data)/1.4 var(--sans); }
.hub-mark-list-more { justify-self: start; border: 0; padding-inline: 0; }
.hub-mark-list-more span { margin-left: 8px; color: var(--muted); }
.hub-mark-sources { display: grid; gap: 9px; padding: 12px 14px; border-bottom: 1px solid var(--line); }
.hub-mark-sources > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.hub-mark-rail .hub-mark-sources > div { display: grid; }
.hub-mark-rail .hub-mark-source-pill { grid-template-columns: auto minmax(0, 1fr) auto; width: 100%; }
.hub-mark-source-pill { display: inline-grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 5px; min-width: 0; min-height: var(--ctl-h); padding: 0 7px; border: 1px solid var(--line); background: var(--navy-1); color: var(--muted); font: 650 10px/1 var(--sans); }
.hub-mark-source-pill > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hub-mark-source-pill.active { border-color: var(--aqua); color: var(--text); }
.hub-mark-source-pill i { color: var(--aqua); font-style: normal; }
.hub-mark-source-pill b { color: var(--faint); font: 700 var(--fs-label)/1 var(--mono); }
.hub-mark-source-pill.empty { border-style: dashed; opacity: .8; }
.hub-mark-source-pill.loading { min-width: 98px; }
.hub-mark-sources > .hub-mark-dimension-grid { position: relative; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hub-mark-dimension { position: static; min-width: 0; }
.hub-mark-dimension > button { display: grid; grid-template-columns: minmax(0, 1fr) auto 10px; align-items: center; gap: 6px; width: 100%; min-height: var(--ctl-h); padding: 0 8px; border: 1px solid var(--line); background: var(--navy-1); color: var(--text); cursor: pointer; text-align: left; }
.hub-mark-dimension > button:hover,
.hub-mark-dimension.open > button { border-color: var(--aqua); }
.hub-mark-dimension > button span { overflow: hidden; font: 650 10px/1 var(--sans); text-overflow: ellipsis; white-space: nowrap; }
.hub-mark-dimension > button b { color: var(--faint); font: 700 9px/1 var(--mono); white-space: nowrap; }
.hub-mark-dimension > button i { color: var(--faint); font: normal 700 9px/1 var(--mono); }
.hub-mark-dimension-options { position: absolute; z-index: 8; top: calc(100% + 4px); right: 0; left: 0; display: grid; max-height: min(260px, 42dvh); overflow: auto; border: 1px solid var(--line-strong); background: var(--navy-0); box-shadow: 0 16px 38px #0009; }
.hub-mark-dimension-options[hidden] { display: none; }
.hub-mark-dimension-options > button { display: grid; grid-template-columns: minmax(0, 1fr) auto 16px; align-items: center; gap: 8px; min-height: var(--ctl-row); padding: 0 9px; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--text); cursor: pointer; text-align: left; }
.hub-mark-dimension-options > button:last-child { border-bottom: 0; }
.hub-mark-dimension-options > button:hover,
.hub-mark-dimension-options > button:focus-visible { background: var(--navy-2); }
.hub-mark-dimension-options > button span { overflow: hidden; font: 650 var(--fs-data)/1.2 var(--sans); text-overflow: ellipsis; white-space: nowrap; }
.hub-mark-dimension-options > button small { color: var(--faint); font: 600 var(--fs-label)/1 var(--mono); }
.hub-mark-dimension-options > button i { color: var(--aqua); font: normal 700 var(--fs-label)/1 var(--mono); }
.hub-mark-menu:not(.hub-mark-rail) > footer { position: sticky; bottom: 0; z-index: 2; }
.hub-mark-rail-scroll > footer { position: static; min-height: 38px; border-top: 1px solid var(--line); }
.hub-rail-views { position: relative; flex: 0 0 auto; border-top: 1px solid var(--line-strong); background: var(--navy-1); }
.hub-rail-views > summary { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 8px; min-height: 42px; padding: 0 12px; color: var(--text); cursor: pointer; list-style: none; }
.hub-rail-views > summary::-webkit-details-marker { display: none; }
.hub-rail-views > summary span { color: var(--aqua); font: 700 var(--fs-label)/1 var(--mono); letter-spacing: .1em; }
.hub-rail-views > summary small { overflow: hidden; color: var(--faint); font: 600 var(--fs-label)/1 var(--sans); text-overflow: ellipsis; white-space: nowrap; }
.hub-rail-views > summary i { color: var(--faint); font: normal 700 var(--fs-label)/1 var(--mono); transition: transform 120ms ease; }
.hub-rail-views[open] > summary i { transform: rotate(180deg); }
.hub-rail-views-body { display: grid; gap: 7px; padding: 9px; border-top: 1px solid var(--line); }
.hub-rail-views:not([open]) > .hub-rail-views-body { display: none; }
.hub-rail-views[open] > .hub-rail-views-body { position: absolute; right: -1px; bottom: 100%; left: -1px; z-index: 6; max-height: calc(100dvh * var(--minimal-density-inverse, 1) - 245px); overflow: auto; border: 1px solid var(--line-strong); background: var(--navy-1); box-shadow: 0 -18px 42px #0008; }
.hub-rail-views-body > header { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: var(--faint); font: 700 var(--fs-label)/1 var(--mono); }
.hub-rail-views-body > section { display: grid; gap: 6px; }

.hub-edit-menu { top: calc(100% + 5px); right: 0 !important; left: auto !important; width: min(560px, calc(100vw - 24px)); }
.hub-edit-menu > section { grid-template-columns: minmax(0, 1fr); }
.hub-edit-menu > section > button { grid-template-columns: 18px minmax(0, 1fr); cursor: pointer; }
.hub-edit-menu > section > button > i:first-child { grid-column: 1; grid-row: 1; }
.hub-edit-menu > section > button > span { grid-column: 2; grid-row: 1; }

.hub-grid-context { display: flex; justify-content: space-between; gap: 12px; margin: 0 0 8px; color: var(--faint); font: 600 var(--fs-label)/1.4 var(--sans); }
.hub-filter-summary { margin: 0; color: var(--aqua); }
.hub-reference-lines .hub-reference-x { stroke: color-mix(in srgb, var(--x-color) 58%, #4a6b85); }
.hub-reference-lines .hub-reference-y { stroke: color-mix(in srgb, var(--y-color) 58%, #4a6b85); }
.hub-range-band-track { fill: var(--line-strong); }
.hub-range-band-group { fill: var(--aqua); }
.hub-point-universe { fill: #55677a; fill-opacity: 1; }
.hub-point-cross-selected { fill: #55677a; fill-opacity: 1; }
.hub-point-dim { fill: #55677a; fill-opacity: .35; }
.hub-point-marked-overview { fill: var(--aqua); fill-opacity: 1; stroke: var(--navy-0); stroke-width: 1; }
.hub-point-ghost { fill: transparent; stroke: var(--aqua); stroke-width: 1.5; stroke-dasharray: 2 2; }
.hub-quadrant-count-plate { fill: color-mix(in srgb, var(--navy-2) 94%, black); stroke: var(--line); stroke-width: 1; }
.hub-quadrant-count { fill: var(--text); font: 700 var(--fs-label)/1 var(--sans); }
.hub-axis-title,
.hub-report-card.focus .hub-axis-title { font: 600 var(--fs-label)/1 var(--sans); letter-spacing: 0; }
.hub-tooltip { width: max-content; min-width: 220px; max-width: min(280px, calc(100% - 16px)); }
.hub-tooltip strong { font: 700 var(--fs-aux)/1.15 var(--sans); }
.hub-tooltip > small { font: 600 var(--fs-label)/1.15 var(--sans); }
.hub-tooltip-axis { grid-template-columns: minmax(110px, 1fr) auto auto; }
.hub-tooltip-axis i { font: 600 var(--fs-data)/1.2 var(--sans); }
.hub-tooltip-axis b { font: 700 var(--fs-data)/1.2 var(--mono); }
.hub-tooltip-axis em { font: 600 var(--fs-label)/1.2 var(--sans); }
.hub-tooltip-foot { font: 650 var(--fs-label)/1.25 var(--sans) !important; letter-spacing: 0; }
.hub-report-card.mini .hub-tooltip { width: max-content; min-width: 154px; max-width: min(200px, calc(100% - 16px)); padding: 7px 8px; }
.hub-report-card.mini .hub-tooltip strong { font: 700 11px/1.15 var(--sans); }
.hub-report-card.mini .hub-tooltip > small { margin: 2px 0 5px; font: 600 9px/1.15 var(--mono); }
.hub-report-card.mini .hub-tooltip-axis { grid-template-columns: minmax(0, 1fr) auto; gap: 4px 6px; margin-top: 4px; }
.hub-report-card.mini .hub-tooltip-axis i,
.hub-report-card.mini .hub-tooltip-axis b { font-size: 9.5px; line-height: 1.15; }
.hub-report-card.mini .hub-tooltip-axis em { grid-column: 1 / -1; color: var(--faint); font: 600 8.5px/1.1 var(--sans); }

.hub-profile-panel-card.factor { --x-color: var(--profit); }
.hub-profile-panel-card.factor .hub-profile-panel-body { aspect-ratio: 1.78 / 1; background: color-mix(in srgb, var(--navy-2) 58%, var(--navy-1)); }
.cardinal-factor-profile.deviation { height: 100%; min-height: 250px; padding: 12px 14px 8px; }
.factor-profile-deviation { display: grid; grid-template-rows: repeat(6, minmax(28px, 1fr)) auto; gap: 4px; height: 100%; }
.factor-profile-deviation-row { display: grid; grid-template-columns: minmax(118px, 1fr) minmax(150px, 2fr) 34px; align-items: center; gap: 10px; min-height: 30px; padding: 0; border: 0; background: transparent; color: var(--text); text-align: left; }
button.factor-profile-deviation-row { cursor: pointer; }
button.factor-profile-deviation-row:hover { background: color-mix(in srgb, var(--x-color) 7%, transparent); }
.factor-profile-deviation-label { display: grid; gap: 1px; min-width: 0; }
.factor-profile-deviation-label b { overflow: hidden; font: 650 var(--fs-data)/1.1 var(--sans); text-overflow: ellipsis; white-space: nowrap; }
.factor-profile-deviation-label small { color: var(--faint); font: 600 var(--fs-label)/1 var(--mono); }
.factor-profile-deviation-track { position: relative; display: block; height: 9px; background: var(--navy-3); }
.factor-profile-deviation-row.above { --deviation-color: var(--quality); }
.factor-profile-deviation-row.below { --deviation-color: var(--aqua); }
.factor-profile-deviation-track::before { content: ""; position: absolute; inset: 0 auto 0 var(--profile-delta-start); width: var(--profile-delta-width); background: color-mix(in srgb, var(--deviation-color) 78%, transparent); }
.factor-profile-deviation-track > i { position: absolute; inset: -4px auto -4px var(--profile-reference); width: 2px; background: var(--text); opacity: .75; }
.factor-profile-deviation-track > em { position: absolute; top: 50%; left: var(--profile-value); width: 8px; height: 8px; border: 2px solid var(--navy-0); border-radius: 50%; background: var(--deviation-color); transform: translate(-50%, -50%); }
.factor-profile-deviation-track > b { position: absolute; inset: 0 auto 0 50%; width: 1px; background: var(--line-strong); }
.factor-profile-deviation-row > strong { color: var(--deviation-color); font: 700 var(--fs-data)/1 var(--mono); font-variant-numeric: tabular-nums; text-align: right; }
.factor-profile-deviation-scale { display: grid; grid-template-columns: repeat(5, 1fr); margin-left: calc(33.333% + 6px); color: var(--faint); font: 600 var(--fs-label)/1 var(--mono); }
.factor-profile-deviation-scale span { text-align: center; }
.factor-profile-deviation-scale span:first-child { text-align: left; }
.factor-profile-deviation-scale span:last-child { text-align: right; }

#cardinal-data-hub-root * { font-size: var(--fs-label); }
#cardinal-data-hub-root .hub-ranked-company b { font-size: 12px; }
#cardinal-data-hub-root .hub-ranked-company small { font-size: 10px; }
#cardinal-data-hub-root .hub-ranked-row > i { font-size: 11px; }
#cardinal-data-hub-root .hub-cross-guide { font-size: 11px; }
#cardinal-data-hub-root :is(.hub-section-head h2, .hub-profile-focus-title h2) { font-size: var(--fs-card); }
#cardinal-data-hub-root .hub-card-title h3 { font-size: var(--fs-panel); }
#cardinal-data-hub-root .hub-report-card.focus .hub-axis-title { font-size: 13px; }
#cardinal-data-hub-root :is(.hub-plane-question, .hub-dropdown-panel > button span) { font-size: var(--fs-body); }
#cardinal-data-hub-root :is(.hub-card-title > span, .hub-report-card > footer p, .hub-report-row span small, .hub-method-note, .hub-profile-card > footer, .hub-tooltip strong) { font-size: var(--fs-aux); }
#cardinal-data-hub-root .hub-report-card.mini .hub-plane-question { font-size: 10.7px; line-height: 1.25; }
#cardinal-data-hub-root .hub-report-card.mini .hub-card-title h3 { font-size: 12px; }
#cardinal-data-hub-root .hub-report-card.mini .hub-verdict-state { font-size: 8.5px !important; }
#cardinal-data-hub-root .hub-report-card.mini > footer.hub-verdict p { font-size: 10.5px !important; line-height: 1.28; }
#cardinal-data-hub-root .hub-report-card.mini .hub-tooltip strong { font-size: 11px; }
#cardinal-data-hub-root .data-hub-company-panel .hub-company-pillar-row > span { font-size: 9.5px !important; line-height: 1.05; }
#cardinal-data-hub-root .hub-mark-source-pill { gap: 3px; padding-inline: 5px; }
#cardinal-data-hub-root .hub-mark-source-pill > span { font-size: 9px; }
#cardinal-data-hub-root .hub-mark-source-pill :is(i, b) { font-size: 8.5px; }

@media (max-width: 1180px) {
  .hub-profile-focus-card > header { align-items: stretch; flex-direction: column; }
  .hub-profile-focus-controls { justify-content: flex-start; flex-wrap: wrap; }
  .hub-profile-focus-body { grid-template-columns: minmax(330px, 410px) minmax(0, 1fr); }
  .hub-profile-bullets > header,
  .hub-profile-bullet-row { grid-template-columns: minmax(105px, 1fr) minmax(112px, 1.7fr) 40px 54px 48px 76px; gap: 5px; }
}

@media (max-width: 900px) {
  .data-hub-overview-layout,
  .data-hub-focus-layout,
  .data-hub-profile-focus-layout,
  .hub-profile-layout,
  .hub-reports-layout { grid-template-columns: minmax(0, 1fr); }
  .data-hub-report-grid { grid-template-columns: minmax(0, 1fr); }
  .data-hub-toolbar-row { flex-wrap: wrap; }
  .data-hub-controls { flex-wrap: wrap; }
  .data-hub-toolbar-actions { width: 100%; justify-content: flex-end; }
  .data-hub-report-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .data-hub-report-rail > header,
  .hub-pinned { grid-column: 1 / -1; }
  .data-hub-analysis-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .data-hub-analysis-rail > .hub-action { grid-column: 1 / -1; }
  .hub-profile-panel-card.focus { --profile-square: min(720px, calc(100vw - 30px)); }
  .hub-profile-focus-body { grid-template-columns: minmax(0, 1fr); }
  .hub-profile-focus-body.has-polygon { grid-template-columns: minmax(0, 1fr); }
  .hub-profile-focus-summary { border-right: 0; border-bottom: 1px solid var(--line); }
  .hub-profile-focus-body.has-polygon .hub-profile-focus-rows { grid-column: 1; }
  .hub-profile-focus-polygon { border-right: 0; border-bottom: 1px solid var(--line); }
  .hub-profile-focus-card > footer { grid-template-columns: minmax(0, 1fr); }
  .hub-profile-key { justify-content: flex-start; }
  .hub-factor-explorer > div { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .hub-factor-explorer button:nth-child(3) { border-right: 0; }
  .hub-factor-explorer button:nth-child(-n+3) { border-bottom: 1px solid var(--line); }
}

@media (max-width: 700px) {
  .data-hub-product-head { display: grid; padding: 12px; }
  .data-hub-product-head dl { gap: 12px; }
  .data-hub-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; align-items: stretch; }
  .data-hub-controls > .hub-toolbar-dropdown,
  .data-hub-controls > .hub-mark-control { width: 100%; max-width: none; min-width: 0; }
  .data-hub-controls .data-hub-group-choice { grid-column: 1 / -1; min-width: 0; }
  .data-hub-controls .hub-cross-chip { grid-column: 1 / -1; width: 100%; }
  .hub-mark-control { width: auto; }
  .hub-mark-menu { position: absolute; inset: calc(100% - 1px) auto auto 0 !important; width: min(460px, calc(100vw - 24px)); max-width: min(460px, calc(100vw - 24px)); max-height: calc(100dvh - 210px); }
  .hub-mark-rail { right: auto; left: auto; width: 100%; max-width: none; }
  .data-hub-universe-note { display: grid; gap: 3px; margin-top: 7px; }
  .data-hub-content { padding: 7px; }
  .data-hub-report-grid { grid-template-columns: minmax(0, 1fr); }
  .hub-report-card.focus .hub-chart { height: clamp(360px, 110vw, 470px); min-height: 360px; aspect-ratio: auto; }
  .hub-factor-explorer > div,
  .hub-profile-family-map > div { grid-template-columns: minmax(0, 1fr); }
  .hub-factor-explorer button { border-right: 0; border-bottom: 1px solid var(--line); }
  .hub-factor-explorer button:last-child { border-bottom: 0; }
  .data-hub-report-rail,
  .data-hub-analysis-rail { grid-template-columns: minmax(0, 1fr); }
  .data-hub-overview-layout > .data-hub-report-rail,
  .data-hub-overview-layout > .data-hub-cross-rail,
  .data-hub-overview-layout > .data-hub-company-panel { grid-row: 2; }
  .data-hub-overview-layout > .data-hub-team-analytics { grid-row: 1; }
  .data-hub-company-panel { position: static; top: auto; width: 100%; max-height: 70dvh; }
  .hub-profile-picker { display: grid; }
  .hub-profile-picker select { width: 100%; min-width: 0; }
  .hub-card-title.hub-profile-card-title { grid-template-columns: minmax(0, 1fr) var(--ctl-icon); }
  .hub-report-card:not(.hub-profile-panel-card) .hub-card-title { grid-template-columns: minmax(0, 1fr) 14px; grid-template-areas: "title expand" "meta meta"; row-gap: 3px; }
  .hub-report-card:not(.hub-profile-panel-card) .hub-card-title h3 { grid-area: title; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .hub-report-card:not(.hub-profile-panel-card) .hub-card-title > span { grid-area: meta; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .hub-report-card:not(.hub-profile-panel-card) .hub-card-title > button { grid-area: expand; }
  .hub-report-card:not(.hub-profile-panel-card) .hub-card-title > .hub-card-expand { grid-area: expand; }
  .hub-profile-panel-card.focus { --profile-square: min(620px, calc(100vw - 22px)); }
  .hub-factor-row { grid-template-columns: 105px minmax(70px, 1fr) 28px; }
  .hub-profile-focus-controls { display: grid; grid-template-columns: minmax(0, 1fr); }
  .hub-profile-focus-controls .hub-profile-source-control,
  .hub-profile-focus-controls .hub-profile-reference-dropdown { width: 100%; min-width: 0; }
  .hub-profile-reference-control,
  .hub-profile-factor-chip { min-width: 0; white-space: normal; }
  .hub-profile-focus-rows { overflow-x: auto; padding: 10px; }
  .hub-profile-bullets { min-width: 650px; }
}

/* Light-mode exceptions for Data Hub layers that intentionally use fixed ink. */
html[data-cardinal-theme="light"] .data-hub-product {
  background: linear-gradient(145deg, rgb(45 118 155 / 6%), transparent 30%), var(--navy-0);
}

html[data-cardinal-theme="light"] :is(
  .hub-dropdown-panel,
  .hub-mark-menu,
  .hub-mark-suggestions,
  .hub-mark-dimension-options,
  .hub-rail-views[open] > .hub-rail-views-body,
  .factor-profile-tooltip,
  .hub-tooltip
) {
  background: rgb(255 255 255 / 98%) !important;
  border-color: var(--line-strong) !important;
  color: var(--text);
  box-shadow: 0 18px 46px rgb(42 64 75 / 17%) !important;
}

html[data-cardinal-theme="light"] .hub-export-dialog {
  background: var(--navy-1);
  border-color: var(--line-strong);
  box-shadow: 0 28px 90px rgb(31 47 57 / 28%);
}

html[data-cardinal-theme="light"] .hub-export-dialog::backdrop {
  background: rgb(31 47 57 / 32%);
  backdrop-filter: blur(9px) saturate(.9);
}

html[data-cardinal-theme="light"] :is(.hub-export-shell > header, .hub-export-shell > footer) {
  background: #f7f9fa;
}

html[data-cardinal-theme="light"] .hub-export-preview {
  background: #eef3f5;
}

html[data-cardinal-theme="light"] .hub-export-preview canvas {
  border-color: var(--line-strong);
  box-shadow: 0 18px 42px rgb(42 64 75 / 16%);
}

html[data-cardinal-theme="light"] .hub-export-variant-note {
  background: var(--navy-2);
}

html[data-cardinal-theme="light"] .data-hub-loading strong {
  color: var(--text);
}

@media (prefers-reduced-motion: reduce) {
  .data-hub-loading-progress::after { animation: none; transform: none; }
  .hub-shared-action { transition: none; }
  .signals-view .rq-row.cardinal-review-impact-target { animation: none; }
}

/* Charts lead; the rail contains the user's companies and selected evidence. */
.data-hub-overview-layout > aside,
.data-hub-focus-layout > aside { position:sticky; top:140px; align-self:start; max-height:calc(100dvh - 170px); overflow:auto; }
.data-hub-overview-layout > .data-hub-company-panel,
.data-hub-focus-layout > .data-hub-company-panel { top:140px; max-height:none; grid-template-rows:auto auto auto; overflow:visible; }
.data-hub-overview-layout > .data-hub-company-panel .hub-company-panel-scroll,
.data-hub-focus-layout > .data-hub-company-panel .hub-company-panel-scroll { min-height:auto; overflow:visible; }
.data-hub-company-panel > header h2 { display:flex; align-items:start; gap:8px; font-family:var(--sans); }
.data-hub-company-panel > header h2 > span { min-width:0; }
.hub-company-flag { display:inline-block!important; flex:0 0 22px; width:22px; height:16px; }
.hub-tooltip > strong { display:flex; align-items:center; gap:7px; }
.hub-personal-rail { gap:14px; }
.hub-personal-section { border:1px solid var(--line); background:var(--navy-1); }
.hub-personal-section h3 { display:flex; justify-content:space-between; margin:0; padding:12px 10px; border-bottom:1px solid var(--line); font:600 12px/1.4 var(--sans); }
.hub-personal-section h3 small { color:var(--muted); }
.hub-personal-company { display:flex; align-items:center; width:100%; min-width:0; gap:9px; padding:10px; background:transparent; color:var(--text); border:0; border-bottom:1px solid var(--line); text-align:left; cursor:pointer; }
.hub-personal-company:hover { background:var(--navy-2); }
.hub-personal-company > span { min-width:0; display:grid; gap:3px; }
.hub-personal-company b { font:600 12px/1.3 var(--sans); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.hub-personal-company small { color:var(--muted); font:400 10px/1.2 var(--mono); }
.hub-personal-rail .hub-rail-views { position:static; }
.hub-personal-rail .hub-rail-views[open] > .hub-rail-views-body { position:static; width:100%; min-width:0; box-shadow:none; }
.hub-personal-rail.is-empty .hub-rail-empty { line-height:1.65; padding:10px 4px; }
.hub-report-card { border-radius:5px; box-shadow:none; }
.hub-points [data-selected] { stroke:var(--aqua); stroke-width:2; fill:var(--aqua); opacity:1; }
.hub-profile-panel-card .hub-card-title { display:grid; grid-template-columns:minmax(0,1fr) 28px; gap:6px; }
.hub-profile-panel-card .hub-card-title h3 { grid-column:1; grid-row:1; }
.hub-profile-panel-card .hub-card-title [data-card-meta] { grid-column:1; grid-row:2; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:var(--muted); font-size:11px; }
.hub-profile-panel-card .hub-card-title > button { grid-column:2; grid-row:1/3; }
.hub-profile-panel-card .hub-profile-panel-body { aspect-ratio:auto!important; padding:16px; }
.hub-quality-driver-list { display:grid; gap:7px; padding:0; }
.hub-quality-driver-row { display:grid; grid-template-columns:minmax(120px,1fr) minmax(70px,1.2fr) 32px; gap:12px; align-items:center; min-height:31px; padding:4px 0; border:0; background:transparent; color:var(--text); text-align:left; }
button.hub-quality-driver-row { cursor:pointer; }
button.hub-quality-driver-row:hover { background:var(--navy-2); }
.hub-quality-driver-row > span { font:500 12px/1.3 var(--sans); }
.hub-quality-driver-row > i { position:relative; display:block; height:5px; background:var(--navy-3); }
.hub-quality-driver-row > i b { position:absolute; left:0; top:0; height:100%; width:var(--value); background:var(--factor); opacity:.7; }
.hub-quality-driver-row > i em { position:absolute; left:var(--reference); top:-3px; height:11px; width:2px; background:var(--text); }
.hub-quality-driver-row > strong { font:600 12px/1 var(--mono); text-align:right; }
.hub-quality-driver-row > small { display:none; }
.hub-profile-focus-body { display:block!important; }
.hub-profile-focus-rows { padding:20px!important; }
.hub-profile-bullets > header,.hub-profile-bullet-row { grid-template-columns:minmax(150px,1fr) minmax(150px,2fr) 64px 86px 76px!important; }
.hub-profile-bullets > header > small,.hub-profile-bullet-class { display:none; }
.hub-profile-focus-card > footer { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.hub-profile-focus-card > footer > p { color:var(--muted); }
@media (max-width:900px) {
 .data-hub-overview-layout,.data-hub-overview-layout:has(> .hub-personal-rail.is-empty),.data-hub-focus-layout { grid-template-columns:minmax(0,1fr)!important; }
 .data-hub-report-grid { grid-template-columns:minmax(0,1fr)!important; }
 .data-hub-overview-layout > section,.data-hub-focus-layout > section { grid-row:1; min-width:0; }
 .data-hub-overview-layout > aside,.data-hub-focus-layout > aside { grid-row:2; position:static!important; top:auto!important; max-height:none; }
 .data-hub-overview-layout > .data-hub-company-panel,.data-hub-focus-layout > .data-hub-company-panel { max-height:none; }
 .hub-profile-focus-controls { flex-wrap:wrap; }
 .hub-profile-bullets { min-width:600px; }
 .hub-profile-focus-rows { overflow-x:auto; padding:12px!important; }
 .hub-profile-bullets > header,.hub-profile-bullet-row { grid-template-columns:135px minmax(140px,1fr) 50px 72px 70px!important; }
 .hub-profile-focus-card > footer { align-items:start; flex-direction:column; gap:12px; }
 .hub-tooltip { min-width:0; max-width:calc(100% - 16px); }
 .hub-tooltip-axis { grid-template-columns:minmax(0,1fr) auto auto; }
}

.hub-quality-driver-row.reference-missing > i em,
.hub-quality-driver-row.missing > i b { display:none; }

/* Use the existing six-factor symbols, keeping their semantic factor colors. */
.hub-factor-icon { display:block; width:20px; height:20px; fill:none; stroke:var(--factor); stroke-width:1.55; stroke-linecap:round; stroke-linejoin:round; flex:0 0 20px; }
.hub-quality-driver-row > span { display:flex; align-items:center; gap:8px; }
/* One sticky panel, including its heading, scores and actions. */
@media (min-width:901px) {
 .data-hub-overview-layout > aside,.data-hub-focus-layout > aside { position:sticky; top:140px; max-height:none; overflow:visible; }
 .data-hub-company-panel > header { position:relative; top:auto; }
}
.hub-insights-rail { gap:16px; }
.hub-insights-rail > header { display:flex; justify-content:space-between; align-items:center; }
.hub-insights-rail > header > small { color:var(--faint); font:9px var(--mono); }
.hub-insight { border-top:1px solid var(--line-strong); padding-top:12px; }
.hub-insight > small { color:var(--muted); font:10px/1.4 var(--sans); }
.hub-insight h3 { display:flex; align-items:center; gap:7px; margin:6px 0 10px; font:600 14px/1.35 var(--sans); }
.hub-insight-values > :is(header,div) { display:grid; grid-template-columns:minmax(0,1fr) 36px 40px; align-items:center; gap:7px; padding:5px 0; }
.hub-insight-values > header { color:var(--faint); border-bottom:1px solid var(--line); font:9px/1.3 var(--sans); }
.hub-insight-values > div > span { color:var(--muted); font:11px/1.3 var(--sans); }
.hub-insight-values strong { color:var(--text); font:600 12px var(--mono); text-align:right; }
.hub-insight-values small { color:var(--faint); font:10px var(--mono); text-align:right; }
.hub-insight p,.hub-insight-method p,.hub-insight-empty { color:var(--muted); font:11px/1.55 var(--sans); }
.hub-insight p { margin:8px 0; }
.hub-insight > button { display:flex; justify-content:space-between; width:100%; padding:7px 0; background:none; border:0; color:var(--aqua); font:600 11px var(--sans); cursor:pointer; }
.hub-insight > button:hover { color:var(--text); }
.hub-insight-method { border-top:1px solid var(--line); padding-top:10px; }
.hub-insight-method > summary { color:var(--faint); cursor:pointer; font:10px var(--sans); }
.hub-chart-export { margin:8px; }
.hub-personal-rail .hub-rail-views { border-bottom:1px solid var(--line); padding-bottom:12px; }
/* A single calm polygon; detailed numbers are available on demand. */
.hub-profile-panel-card .hub-profile-panel-body { padding:0; }
.hub-clean-polygon { width:100%; max-width:500px; margin:auto; aspect-ratio:1; }
.hub-clean-polygon > svg { width:100%!important; height:100%!important; }
.hub-clean-polygon .factor-profile-entity,.hub-clean-polygon:hover .factor-profile-entity { fill:color-mix(in srgb,var(--aqua) 12%,transparent); stroke:var(--aqua); stroke-width:1.5; filter:none; }
.hub-clean-polygon .factor-profile-edge { display:none; }
.hub-clean-polygon .factor-profile-reference { fill:none; stroke:var(--muted); stroke-width:1; opacity:.65; }
.hub-clean-polygon .factor-profile-ring { opacity:.45; }
.hub-clean-polygon .factor-profile-label { fill:var(--muted); font:500 13px var(--sans); }
.hub-clean-polygon .factor-profile-value { fill:var(--text); font:650 13px var(--mono); }
.hub-clean-polygon .factor-profile-vertex { fill:var(--aqua); }
.hub-polygon-factor-icon { fill:none; stroke:var(--profile-axis-color); stroke-width:1.55; stroke-linecap:round; stroke-linejoin:round; }
.hub-profile-focus-card.polygon-only [data-expanded-polygon] { max-width:520px; }
.hub-profile-evidence { border-top:1px solid var(--line); }
.hub-profile-evidence > summary { cursor:pointer; padding:14px 20px; color:var(--aqua); font:11px var(--sans); }
.hub-profile-key .entity { background:var(--aqua); }
@media (max-width:900px) {
 .data-hub-overview-layout:has(> .hub-insights-rail),.data-hub-focus-layout:has(> .hub-insights-rail) { grid-template-columns:minmax(0,1fr)!important; }
 .hub-clean-polygon { max-width:480px; }
}

#cardinal-data-hub-root .hub-insight .hub-insight-finding { color: var(--text); font-size: 12px; line-height: 1.5; margin: 7px 0; }

.hub-profile-key .reference { width:18px; height:0; border-top:1px dashed #a7b7c4; background:none; }

.hub-insight-evidence > summary { color:var(--muted); cursor:pointer; font:10px/1.5 var(--sans); }
.hub-insight-evidence[open] { margin-top:10px; }

/* Shared slimmer rail, clear overview actions, and readable saved rows. */
#cardinal-data-hub-root{--hub-rail-width:280px}
#cardinal-data-hub-root .hub-rail-save{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 12px;border:1px solid var(--aqua);border-radius:4px;background:var(--aqua);color:var(--navy-0);font:600 11px/1 var(--sans);cursor:pointer}
#cardinal-data-hub-root .hub-rail-save:hover:not(:disabled){background:color-mix(in srgb,var(--aqua) 80%,white);border-color:color-mix(in srgb,var(--aqua) 80%,white)}
#cardinal-data-hub-root .hub-saved-view-row{grid-template-columns:minmax(0,1fr) 58px 30px;gap:4px;align-items:stretch}
#cardinal-data-hub-root .hub-saved-view-row .hub-saved-view{min-width:0;border-radius:4px}
#cardinal-data-hub-root .hub-saved-view-row :is(.hub-rename-view,.hub-remove-view){width:auto;min-width:0!important;padding:0 5px;border:1px solid var(--line);border-radius:4px;white-space:nowrap;font:600 10px/1 var(--sans);box-sizing:border-box}
#cardinal-data-hub-root .hub-saved-view-row .hub-remove-view{font-size:17px}
#cardinal-data-hub-root .hub-remove-view:hover,#cardinal-data-hub-root .hub-remove-view:focus-visible{color:#e2a0a6;border-color:#ce7079}
#cardinal-data-hub-root .hub-saved-view-rename input{box-sizing:border-box}
#cardinal-data-hub-root .hub-insight-chart{display:block;margin-bottom:6px;color:var(--aqua);font:600 11px/1.4 var(--sans)}
#cardinal-data-hub-root .hub-insight-coverage{display:block;color:var(--faint);font-size:10px}
/* Keep the evidence rail in view while the chart grid continues scrolling. */
.data-hub-overview-layout > aside,
.data-hub-focus-layout > aside,
.data-hub-overview-layout > .data-hub-company-panel,
.data-hub-focus-layout > .data-hub-company-panel{position:sticky;top:140px;align-self:start;margin-top:0;max-height:calc(100dvh - 170px);overflow:auto}

/* Approved option 09: stationary mark with a short neutral activity segment. */
.data-hub-loading-mark{display:block;width:45px;height:33px;fill:#c3d0d8;filter:none}
.data-hub-loading-mark rect{opacity:1;animation:none}
html[data-cardinal-theme="light"] .data-hub-loading-mark{fill:#344c5a}
@media(prefers-reduced-motion:reduce){.data-hub-loading-mark rect{animation:none;opacity:1}}

/* Match the landing Data Hub inspector, preserving both axis values and medians. */
#cardinal-data-hub-root .hub-tooltip{width:270px;min-width:0;max-width:calc(100% - 16px);padding:13px 15px;border:1px solid #3a5e75;border-radius:8px;background:#102334;box-shadow:0 8px 24px #0004}
#cardinal-data-hub-root .hub-tooltip>strong{gap:8px;color:#e4eef5;font:600 13px/1.35 var(--sans);white-space:normal}
#cardinal-data-hub-root .hub-tooltip>strong>span{min-width:0;overflow-wrap:anywhere}
#cardinal-data-hub-root .hub-tooltip>small{margin:4px 0 11px;color:#8da2b1;font:400 10px/1.4 var(--sans)}
#cardinal-data-hub-root .hub-tooltip-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#cardinal-data-hub-root .hub-tooltip-axis{display:grid!important;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:1fr auto;gap:3px 6px;margin:0;color:var(--x-color)}
#cardinal-data-hub-root .hub-tooltip-axis+ .hub-tooltip-axis{color:var(--y-color)}
#cardinal-data-hub-root .hub-tooltip-axis i{grid-column:1/-1;align-self:start;color:inherit;font:500 11px/1.35 var(--sans);white-space:normal;overflow-wrap:normal}
#cardinal-data-hub-root .hub-tooltip-axis b{color:inherit;font:600 12px/1.35 var(--sans);font-variant-numeric:tabular-nums}
#cardinal-data-hub-root .hub-tooltip-axis em{grid-column:2;color:#8da2b1;font:400 10px/1.35 var(--sans);white-space:nowrap;text-align:right}
#cardinal-data-hub-root .hub-tooltip-foot{margin-top:10px!important;padding-top:8px;border-color:#2b465b;color:#8da2b1!important;font:400 9px/1.4 var(--sans)!important;letter-spacing:.02em}
#cardinal-data-hub-root .hub-report-card.mini .hub-tooltip{width:230px;padding:10px 12px}
#cardinal-data-hub-root .hub-report-card.mini .hub-tooltip>strong{font-size:12px}
#cardinal-data-hub-root .hub-report-card.mini .hub-tooltip-metrics{gap:9px}
/* Builder profile language: open grid, factor wash, quiet dashed comparison. */
.hub-clean-polygon .factor-profile-field{fill:none;stroke:none}
.hub-clean-polygon .factor-profile-ring{fill:none;stroke:var(--line-strong);stroke-width:1;opacity:1}
.hub-clean-polygon .factor-profile-spoke{stroke:var(--line);stroke-width:1;opacity:1}
.hub-clean-polygon .factor-profile-entity,.hub-clean-polygon:hover .factor-profile-entity{fill:var(--hub-profile-gradient,var(--aqua));fill-opacity:.2;stroke:var(--hub-profile-gradient,var(--aqua));stroke-width:2.3;stroke-linejoin:round;filter:none}
.hub-clean-polygon .factor-profile-reference{fill:none;stroke:var(--muted);stroke-width:1.3;stroke-dasharray:5 5;opacity:.7;animation:none}
.hub-clean-polygon .factor-profile-vertex{fill:var(--profile-axis-color,var(--aqua));r:3;filter:none}
.hub-clean-polygon .factor-profile-axis:is(:hover,:focus-visible) .factor-profile-vertex{r:4;filter:none}
.hub-clean-polygon .factor-profile-reference-link{animation:none}
.hub-clean-polygon .factor-profile-label,.hub-clean-polygon .factor-profile-value{letter-spacing:0}
.hub-profile-key .entity{background:var(--hub-profile-swatch,var(--aqua))}

/* 4175 refinement: shared terminal controls, calm rails and aligned comparisons. */
#cardinal-data-hub-root .data-hub-control-area{padding:12px 14px;background:transparent;border-bottom:1px solid var(--line)}
#cardinal-data-hub-root .data-hub-controls{gap:8px}
#cardinal-data-hub-root .data-hub-controls .filter-control{min-height:43px;border:1px solid var(--line-strong);border-radius:6px;background:#101e2b;box-shadow:none;gap:10px;padding:0 12px}
#cardinal-data-hub-root .data-hub-controls .filter-control>span{border:0;background:none;padding:0;font:500 9px var(--sans);letter-spacing:.08em;color:var(--faint)}
#cardinal-data-hub-root .data-hub-controls .filter-control>b{padding:0;font:550 12px var(--sans);color:var(--text)}
#cardinal-data-hub-root .data-hub-controls .filter-control>i{border:0;background:none;color:var(--faint)}
#cardinal-data-hub-root .data-hub-controls .filter-control:hover,#cardinal-data-hub-root .data-hub-controls .open .filter-control{border-color:var(--aqua);background:#132635}
#cardinal-data-hub-root .toolbar-dropdown-panel{border-radius:8px;border-color:var(--line-strong);box-shadow:0 14px 35px #0005}
#cardinal-data-hub-root .hub-edit-trigger,#cardinal-data-hub-root .hub-back-overview{min-height:40px;padding:0 13px;border-radius:6px;font:500 11px var(--sans);background:transparent}
#cardinal-data-hub-root :is(.data-hub-report-rail,.data-hub-company-panel,.data-hub-cross-rail){border:1px solid var(--line-strong);border-radius:8px;background:#0c1924;padding:16px;gap:18px;overflow:hidden}
#cardinal-data-hub-root .data-hub-company-panel>header{padding:0 0 14px;background:transparent;border-bottom:1px solid var(--line);margin:0}
#cardinal-data-hub-root .data-hub-company-panel>header h2{font:600 17px/1.35 var(--sans);margin:10px 0 6px}
#cardinal-data-hub-root .data-hub-company-panel>header p{font:11px/1.5 var(--sans);margin:0;color:var(--muted)}
#cardinal-data-hub-root .data-hub-company-panel [data-close-panel]{border-radius:5px;width:27px;height:27px;color:var(--muted);background:transparent;border:1px solid var(--line)}
#cardinal-data-hub-root .hub-company-panel-scroll{padding:0;background:transparent}
#cardinal-data-hub-root .hub-company-panel-scroll>section{padding:0;margin:0 0 20px}
#cardinal-data-hub-root :is(.hub-company-metric,.hub-company-metric-head){display:grid;grid-template-columns:minmax(0,1fr) 36px 42px;gap:9px;align-items:center;padding:7px 0}
#cardinal-data-hub-root .hub-company-metric-head{color:var(--faint);font:10px var(--sans);border-bottom:1px solid var(--line);margin-top:8px}
#cardinal-data-hub-root .hub-company-metric>span{font:500 11px/1.4 var(--sans);color:var(--muted);border-left:2px solid var(--factor);padding-left:8px}
#cardinal-data-hub-root .hub-company-metric>strong{font:650 13px var(--sans);color:var(--text);text-align:right;font-variant-numeric:tabular-nums}
#cardinal-data-hub-root .hub-company-metric>small{font:11px var(--sans);color:var(--faint);text-align:right;font-variant-numeric:tabular-nums}
#cardinal-data-hub-root .hub-company-metric-head>span:not(:first-child){text-align:right}
#cardinal-data-hub-root .hub-company-pillars{padding-top:15px;border-top:1px solid var(--line)}
#cardinal-data-hub-root .hub-company-pillars>summary{font:600 12px var(--sans);color:var(--text);cursor:pointer}
#cardinal-data-hub-root .hub-pair-note{font:10px/1.45 var(--sans);color:var(--faint);margin:7px 0}
#cardinal-data-hub-root .hub-company-rail-actions{border-top:1px solid var(--line);background:transparent!important;padding-top:14px!important}
#cardinal-data-hub-root .hub-shared-actions>header{padding:0 0 10px;border:0;background:none}
#cardinal-data-hub-root .hub-shared-actions>header>span{display:none}
#cardinal-data-hub-root .hub-shared-actions>div{display:grid;gap:6px;padding:0}
#cardinal-data-hub-root .hub-shared-action{border:1px solid var(--line-strong);border-radius:5px;padding:10px;background:#102230;font:500 11px var(--sans)}
#cardinal-data-hub-root .hub-rail-views{border:0;border-bottom:1px solid var(--line);background:none;padding:0 0 14px;margin:0}
#cardinal-data-hub-root .hub-rail-views>summary{padding:0;gap:8px;min-height:26px;font:11px var(--sans)}
#cardinal-data-hub-root .hub-insight{border:0;border-top:1px solid var(--line);padding-top:16px}
#cardinal-data-hub-root .hub-insight-empty{font:12px/1.65 var(--sans);margin:0}
#cardinal-data-hub-root .hub-tooltip,#cardinal-data-hub-root .hub-report-card.mini .hub-tooltip{width:300px;padding:11px 13px}
#cardinal-data-hub-root .hub-tooltip>strong{display:flex;align-items:center;gap:7px;font-size:12px}
#cardinal-data-hub-root .hub-tooltip>strong>span{flex:1}
#cardinal-data-hub-root .hub-tooltip>strong>small{font:10px var(--sans);color:#8da2b1;margin:0;max-width:72px;overflow-wrap:anywhere}
#cardinal-data-hub-root .hub-tooltip-metrics{display:block!important;margin-top:8px}
#cardinal-data-hub-root .hub-tooltip-columns,#cardinal-data-hub-root .hub-tooltip-axis{display:grid!important;grid-template-columns:minmax(0,1fr) 34px 40px;grid-template-rows:auto;align-items:center;gap:7px;padding:4px 0}
#cardinal-data-hub-root .hub-tooltip-columns{color:#8da2b1;font:9px var(--sans);border-bottom:1px solid #2b465b;margin-bottom:2px}
#cardinal-data-hub-root .hub-tooltip-axis i{grid-column:1;font:500 11px/1.35 var(--sans)}
#cardinal-data-hub-root .hub-tooltip-axis b{grid-column:2;font:650 12px var(--sans);text-align:right}
#cardinal-data-hub-root .hub-tooltip-axis em{grid-column:3;font:400 11px var(--sans);text-align:right}
#cardinal-data-hub-root .hub-tooltip-columns>span:not(:first-child){text-align:right}
@media(max-width:600px){#cardinal-data-hub-root .data-hub-controls .filter-control{min-height:42px}#cardinal-data-hub-root .data-hub-control-area{padding:8px}}

#cardinal-data-hub-root .data-hub-company-panel>header h2{font:600 16px/1.4 var(--sans)!important}
#cardinal-data-hub-root [data-dropdown="scope"]>.toolbar-dropdown-panel{max-height:min(570px,calc(100dvh - 160px));overflow-y:auto}

/* Keep the Insights label with the findings it introduces. */
.hub-insights-group{display:grid;gap:10px}
.hub-insights-group>header h3{margin:0;color:var(--text);font:600 12px/1.4 var(--sans);letter-spacing:0}
.hub-insights-group>.hub-insight:first-of-type{border-top:0;padding-top:0}
.hub-insights-group>.hub-insight-empty{margin:0}

/* Loading card for Data Hub and Faktorkartor (4177, October 3): the Bygger portfölj layout — logo and text on one
   row, the line underneath — and the same line (blue → teal → green, soft ends, faint glow; builder-entry.css).
   The logo stays still. */
.data-hub-loading-card { display: grid; grid-template-columns: auto auto; align-items: center; justify-content: center; column-gap: 12px; width: min(270px, 90%); }
.data-hub-loading-card > .data-hub-loading-mark { width: 45px; height: 33px; fill: #fff; opacity: .96; }
html[data-cardinal-theme="light"] .data-hub-loading-card > .data-hub-loading-mark { fill: #344c5a; }
.data-hub-loading-card > strong { margin: 0; font: 500 14px/1.4 var(--sans); letter-spacing: 0; }
.data-hub-loading-card > .data-hub-loading-progress { grid-column: 1 / -1; width: 100%; height: 2px; margin-top: 16px; background: #263d4b; }
.data-hub-loading-progress::after { width: 38%; background: linear-gradient(90deg, transparent, #4b91b8 25%, #55a7a0 55%, #68aa83 85%, transparent); box-shadow: 0 0 8px rgba(85, 167, 160, .35); animation: hub-cardinal-load 2s cubic-bezier(.45, 0, .25, 1) infinite; }
html[data-cardinal-theme="light"] .data-hub-loading-card > .data-hub-loading-progress { background: #d4dfe4; }

/* Phones: every Data Hub dropdown, Markera and "Anpassa översikt" open as the app's bottom sheet, above the 68px nav and the
   home indicator, inside an 8px gutter, and never taller than the visible screen. !important because an older ≤700px Markera rule
   pins it under its button with !important. The desktop rules (absolute, under the
   button) won over the sheet and left 2px panels on phones (review X-01, 5 Oct 2026). */
@media (max-width: 760px) {
  #cardinal-data-hub-root .hub-dropdown-panel,
  #cardinal-data-hub-root .hub-edit-menu,
  #cardinal-data-hub-root .hub-mark-menu { position: fixed !important; z-index: 90; top: auto !important; right: 8px !important; bottom: calc(76px + env(safe-area-inset-bottom)) !important; left: 8px !important; width: auto; min-width: 0; max-width: none; max-height: min(72vh, calc(100dvh - 100px - env(safe-area-inset-bottom))); overflow: auto; overscroll-behavior: contain; }
}
/* 701-760px wide (phones in landscape): the nav is at the top and there is no bottom bar, so the sheets sit at the bottom
   edge and stay clear of the top nav (independent review, round 2). */
@media (min-width: 701px) and (max-width: 760px) {
  #cardinal-data-hub-root .hub-dropdown-panel,
  #cardinal-data-hub-root .hub-edit-menu,
  #cardinal-data-hub-root .hub-mark-menu { bottom: 8px !important; max-height: calc(100dvh - 84px); }
}
/* Phones and short landscape screens: the toolbar scrolls with the page instead of sticking, so it can't cover most of
   the screen (it is 215px tall there). Not sticky, it no longer needs the blur that trapped the fixed sheets. */
@media (max-width: 760px), (max-height: 500px) {
  #cardinal-data-hub-root .data-hub-control-area { position: static; -webkit-backdrop-filter: none; backdrop-filter: none; background: color-mix(in srgb, var(--navy-1) 97%, transparent); }
}

/* Mid widths (iPad landscape, small laptops): the four fixed-width controls and the actions did not fit on one row, so
   Markera ran under "Anpassa översikt" and could not be clicked at 1024px (review A-17, 5 Oct 2026). Wrap instead. */
@media (max-width: 1280px) {
  .data-hub-toolbar-row { flex-wrap: wrap; row-gap: 6px; }
  .data-hub-controls { flex-wrap: wrap; row-gap: 6px; }
}

/* Close button for the "Anpassa översikt" sheet on phones and every touch screen (no Escape key there; phones turned
   sideways are wider than 760px). */
.hub-sheet-close { display: none; }
@media (max-width: 760px), (pointer: coarse) {
  .hub-edit-menu > header .hub-edit-reset { margin-left: auto; }
  .hub-edit-menu > header .hub-sheet-close { display: grid; place-items: center; flex: 0 0 auto; width: 36px; height: 36px; min-height: 36px; padding: 0; border: 1px solid var(--line); border-radius: 6px; background: var(--navy-1); color: var(--muted); font: 400 20px/1 var(--sans); }
  .hub-edit-menu > header .hub-sheet-close:focus-visible { outline: 2px solid var(--aqua); outline-offset: 2px; }
}

/* Tablet top bar (761-1180px): the app's nav and header are 125px tall there, so the sticky toolbar sits below them
   instead of sliding over the header's search row at 68px (review O-2, 5 Oct 2026). */
@media (min-width: 761px) and (max-width: 1180px) and (min-height: 501px) {
  #cardinal-data-hub-root .data-hub-control-area { top: 125px; }
}
