/* Question-centred company brief. Selectors are scoped above the legacy
   company/register layer so the advanced panel can reuse it safely. */
.company-brief-view {
  gap: 10px;
}

.company-brief-view .company-hero-compact {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
  gap: 16px;
  padding: 16px 20px;
  align-items: center;
}

.company-brief-view .company-hero-compact h1 {
  margin: 3px 0 2px;
  font-size: clamp(28px, 3vw, 43px);
  line-height: 1.04;
}

.company-brief-view .company-hero-compact .company-hero-summary {
  margin: 0;
}

.company-brief-view .company-hero-compact .company-search.compact {
  margin: 0;
}

.company-mobile-overflow,
.company-search-mobile-toggle {
  display: none;
}

.company-brief-view .company-section-tabs {
  position: sticky;
  top: 0;
  z-index: 12;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.company-brief button,
.company-brief a.text-button,
.company-changes button,
.company-changes a.text-button,
.company-register-panel button,
.company-archive-background > summary,
.company-brief-context > summary,
.company-changes-filter > summary {
  min-height: 44px;
}

.company-brief a.text-button,
.company-changes a.text-button {
  display: inline-flex;
  align-items: center;
}

.company-brief-view .company-section-tabs button:focus-visible,
.company-brief button:focus-visible,
.company-brief a:focus-visible,
.company-changes button:focus-visible,
.company-changes a:focus-visible,
.company-register-panel button:focus-visible {
  outline: 3px solid var(--teal);
  outline-offset: 2px;
}

.company-brief {
  display: grid;
  gap: 10px;
}

.company-brief-hero,
.company-brief-changes,
.company-archive-background,
.company-register-panel,
.company-changes-filter,
.company-changes-list,
.company-changes-fallback,
.company-changes-empty {
  border: 1px solid var(--line);
  border-radius: var(--radar-radius-panel);
  background: var(--surface);
}

.company-brief-hero {
  position: relative;
  overflow: hidden;
  padding: 18px 20px;
  border-top: 2px solid var(--teal);
}

.company-brief-hero::after {
  content: '';
  position: absolute;
  width: 260px;
  height: 260px;
  right: -150px;
  top: -175px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--teal) 12%, transparent);
  pointer-events: none;
}

.company-brief-hero > header,
.company-brief-changes > header,
.company-register-panel > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.company-brief-hero h2 {
  max-width: 900px;
  margin: 4px 0 0;
  font-size: clamp(24px, 2.4vw, 34px);
  line-height: 1.12;
}

.company-brief-hero > p {
  max-width: 920px;
  margin: 8px 0 0;
  color: var(--muted);
}

.company-brief-confidence {
  flex: 0 0 auto;
  padding: 6px 10px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--teal) 10%, var(--surface));
  color: var(--teal);
  font-size: 12px;
  font-weight: 800;
}

.company-brief-confidence.blocks,
.company-brief-source.limited > div em,
.company-brief-source.unavailable > div em {
  color: var(--gold);
}

.company-brief-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 13px 0 0;
}

.company-brief-facts > div {
  min-width: 145px;
  padding: 8px 11px;
  border-radius: var(--radar-radius-control);
  background: color-mix(in srgb, var(--surface) 70%, var(--teal) 7%);
}

.company-brief-facts dt {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.company-brief-facts dd {
  margin: 2px 0 0;
  color: var(--text);
  font-size: 19px;
  font-weight: 850;
  font-variant-numeric: tabular-nums;
}

.company-brief-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 13px;
}

.company-brief-actions > button,
.company-changes-filter-form button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 14px;
  border: 1px solid var(--teal);
  border-radius: var(--radar-radius-control);
  background: var(--teal);
  color: var(--color-on-accent);
  font: inherit;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
}

.company-brief-actions > button.secondary,
.company-changes-filter-form button.secondary {
  border-color: var(--line);
  background: var(--surface-2);
  color: var(--teal);
}

.company-brief-actions > button:hover,
.company-changes-filter-form button:hover {
  filter: brightness(1.04);
}

.company-brief-sources {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.company-brief-source {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 3px 10px;
  padding: 12px 14px;
  border: 1px solid var(--line-soft);
  border-radius: var(--radar-radius-panel);
  background: color-mix(in srgb, var(--surface) 94%, var(--teal) 2%);
}

.company-brief-source.material {
  border-left: 3px solid var(--teal);
}

.company-brief-source > div,
.company-brief-source h3,
.company-brief-source p,
.company-brief-source small {
  grid-column: 1;
}

.company-brief-source > div {
  display: flex;
  gap: 8px;
  align-items: center;
}

.company-brief-source > div span {
  color: var(--teal);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.company-brief-source > div em {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
}

.company-brief-source h3 {
  margin: 2px 0;
  font-size: 15px;
  line-height: 1.25;
}

.company-brief-source p,
.company-brief-source small {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
}

.company-brief-source > button {
  grid-column: 2;
  grid-row: 1 / span 4;
  align-self: center;
}

.company-brief-changes {
  padding: 14px 16px;
}

.company-brief-changes h3,
.company-register-panel h2 {
  margin: 2px 0 0;
}

.company-brief-changes ol,
.company-changes-list ol,
.company-changes-fallback ol,
.company-archive-background ol {
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
}

.company-change {
  display: grid;
  grid-template-columns: 125px 105px minmax(180px, 1fr) minmax(110px, auto) auto;
  gap: 12px;
  align-items: center;
  min-height: 54px;
  padding: 8px 4px;
  border-top: 1px solid var(--line-soft);
}

.company-change time,
.company-change-copy,
.company-change-copy small {
  display: block;
}

.company-change time,
.company-change-copy small,
.company-change-no-action {
  color: var(--muted);
  font-size: 12px;
}

.company-change time small {
  display: block;
  font-size: 12px;
}

.company-change-source {
  color: var(--teal);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.company-change.context-only {
  opacity: .78;
}

.company-brief-context {
  margin-top: 8px;
  padding: 9px 11px;
  border-top: 1px solid var(--line-soft);
}

.company-brief-context summary,
.company-archive-background > summary,
.company-changes-filter > summary {
  cursor: pointer;
  font-weight: 800;
}

.company-archive-background {
  overflow: hidden;
}

.company-archive-background > summary {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 16px;
}

.company-archive-background > summary span,
.company-archive-background > summary small {
  display: block;
}

.company-archive-background > summary small,
.company-archive-background > summary strong {
  color: var(--muted);
  font-size: 12px;
}

.company-archive-background > div {
  padding: 0 16px 14px;
  border-top: 1px solid var(--line-soft);
}

.company-archive-background li button,
.company-changes-fallback li button {
  width: 100%;
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 9px 0;
  border: 0;
  border-bottom: 1px solid var(--line-soft);
  border-radius: 0;
  background: transparent;
  color: inherit;
  text-align: left;
}

.company-archive-background li button span,
.company-archive-background li button small,
.company-changes-fallback li button span,
.company-changes-fallback li button small {
  display: block;
}

.company-archive-background li button small,
.company-changes-fallback li button small {
  color: var(--muted);
}

.company-register-panel {
  display: grid;
  gap: 12px;
  margin-top: 10px;
  padding: 14px;
}

.company-register-panel .signal-profile-panel {
  margin: 0;
  border: 0;
}

.company-changes {
  display: grid;
  gap: 10px;
}

.company-changes-filter {
  padding: 10px 14px;
}

.company-changes-filter-form {
  display: grid;
  grid-template-columns: repeat(4, minmax(140px, 1fr));
  gap: 10px;
  padding-top: 12px;
}

.company-changes-filter:not([open]) > .company-changes-filter-form {
  display: none;
}

.company-changes-filter-form label {
  display: grid;
  gap: 4px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.company-changes-filter-form .company-changes-check {
  display: flex;
  align-items: center;
}

.company-changes-filter-form > div {
  display: flex;
  align-items: end;
  gap: 8px;
}

.company-changes-partial {
  display: flex;
  gap: 10px;
  padding: 10px 12px;
  border-left: 3px solid var(--gold);
  border-radius: var(--radar-radius-control);
  background: color-mix(in srgb, var(--gold) 8%, var(--surface));
}

.company-changes-list,
.company-changes-fallback,
.company-changes-empty {
  padding: 14px 16px;
}

.company-changes-status {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
}

.company-changes-more {
  margin-top: 12px;
}

.company-changes-skeleton {
  display: grid;
  gap: 8px;
  padding: 16px;
  border-radius: var(--radar-radius-panel);
  background: var(--surface);
}

.company-changes-skeleton i {
  height: 50px;
  border-radius: var(--radar-radius-control);
  background: color-mix(in srgb, var(--muted) 12%, transparent);
}

@media (max-width: 760px) {
  body.company-view:not(.broadcast-mode) .product-view {
    margin-top: 2px;
  }

  body.company-view:not(.broadcast-mode) .radar-suite-bar { display: none; }

  body:not(.broadcast-mode) .product-nav,
  body:not(.broadcast-mode) .source-health,
  body:not(.broadcast-mode) #product-help-toggle,
  body:not(.broadcast-mode) #broadcast-toggle {
    display: none;
  }

  body:not(.broadcast-mode) .topbar {
    width: 100%;
    min-width: 0;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 7px;
  }

  body:not(.broadcast-mode) .brand > span:last-child {
    display: none;
  }

  body:not(.broadcast-mode) .topbar-actions {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px 44px;
    gap: 7px;
  }

  body:not(.broadcast-mode) .company-mobile-overflow {
    min-width: 0;
    position: relative;
    display: block;
    grid-column: 3;
    grid-row: 1;
  }

  body:not(.broadcast-mode) .company-mobile-overflow > summary {
    width: 44px;
    min-height: 44px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: var(--radar-radius-control);
    background: var(--surface);
    color: var(--text);
    cursor: pointer;
    font-size: 12px;
    font-weight: 850;
    list-style: none;
  }

  body:not(.broadcast-mode) .company-mobile-overflow > summary::-webkit-details-marker {
    display: none;
  }

  body:not(.broadcast-mode) .company-mobile-overflow[open] > summary {
    border-color: var(--teal);
    color: var(--teal);
  }

  body:not(.broadcast-mode) .company-mobile-overflow-panel {
    width: min(300px, calc(100vw - 16px));
    max-height: calc(100dvh - 64px);
    position: fixed;
    z-index: 80;
    top: 60px;
    left: 8px;
    display: grid;
    gap: 6px;
    overflow-y: auto;
    padding: 8px;
    border: 1px solid var(--color-border-strong);
    border-radius: var(--radar-radius-panel);
    background: var(--surface-2);
    box-shadow: var(--shadow);
  }

  body:not(.broadcast-mode) .company-mobile-overflow-panel > div,
  body:not(.broadcast-mode) .company-mobile-overflow-panel > nav {
    min-width: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px;
  }

  body:not(.broadcast-mode) .company-mobile-overflow-panel button,
  body:not(.broadcast-mode) .company-mobile-overflow-panel a {
    min-width: 0;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 8px;
    border: 1px solid var(--line-soft);
    border-radius: var(--radar-radius-control);
    background: var(--surface);
    color: var(--muted);
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    text-align: center;
    text-decoration: none;
  }

  body:not(.broadcast-mode) .company-mobile-overflow-panel button[aria-pressed='true'],
  body:not(.broadcast-mode) .company-mobile-overflow-panel a[aria-current='page'] {
    border-color: var(--teal);
    background: var(--teal-soft);
    color: var(--teal);
  }

  body:not(.broadcast-mode) .company-mobile-overflow > summary:focus-visible,
  body:not(.broadcast-mode) .company-mobile-overflow-panel button:focus-visible,
  body:not(.broadcast-mode) .company-mobile-overflow-panel a:focus-visible,
  .company-brief-view .company-hero-compact .company-search-mobile-toggle:focus-visible {
    outline: 3px solid var(--teal);
    outline-offset: 2px;
  }

  body:not(.broadcast-mode) #radar-period-slot {
    min-width: 0;
    grid-column: 1;
    grid-row: 1;
  }

  body:not(.broadcast-mode) #radar-period-slot .radar-period-menu,
  body:not(.broadcast-mode) #radar-period-slot .radar-period-trigger {
    width: 100%;
  }

  body:not(.broadcast-mode) #radar-theme-slot {
    grid-column: 2;
    grid-row: 1;
  }

  body.company-view:not(.broadcast-mode) .company-section-tabs {
    min-height: 48px;
    overflow: visible;
  }

  body.company-view:not(.broadcast-mode) .company-section-tabs button {
    min-height: 44px;
  }

  body.company-view:not(.broadcast-mode) .company-section-tabs {
    min-height: 48px;
    gap: 2px;
    padding: 2px;
  }

  .company-brief-view .company-hero-compact {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 6px;
    padding: 8px 10px;
  }

  .company-brief-view .company-hero-compact .eyebrow,
  .company-brief-view .company-hero-compact .company-hero-summary {
    display: none;
  }

  .company-brief-view .company-hero-compact h1 {
    margin: 0;
    font-size: 24px;
  }

  .company-brief-view .company-hero-compact .company-hero-aside,
  .company-brief-view .company-hero-compact.company-hero-context .company-hero-aside,
  .company-brief-view .company-hero-compact .company-search.compact {
    width: auto;
    min-width: 0;
    display: block;
  }

  .company-brief-view .company-hero-compact .company-search-mobile-toggle {
    min-width: 88px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    border: 1px solid var(--line);
    border-radius: var(--radar-radius-control);
    background: var(--surface-2);
    color: var(--teal);
    font: inherit;
    font-size: 12px;
    font-weight: 850;
  }

  .company-brief-view .company-hero-compact .company-search.compact .combobox {
    width: min(360px, calc(100vw - 16px));
    min-width: 0;
    position: absolute;
    z-index: 60;
    top: calc(100% + 6px);
    right: 0;
    display: none;
    padding: 8px;
    border: 1px solid var(--color-border-strong);
    border-radius: var(--radar-radius-panel);
    background: var(--surface-2);
    box-shadow: var(--shadow);
  }

  .company-brief-view .company-hero-compact .company-search.compact[data-mobile-open='true'] .combobox {
    display: block;
  }

  .company-brief-view .company-hero-compact .company-search.compact .search-input-wrap {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    display: flex;
  }

  .company-brief-view .company-hero-compact .company-search.compact #issuer-picker-toggle {
    width: 44px;
    min-width: 44px;
    height: 44px;
  }

  .company-brief-view .issuer-results button {
    align-items: stretch;
    flex-direction: column;
  }

  .company-brief-view .issuer-results button > span:last-child {
    justify-items: start;
    text-align: left;
  }

  .company-brief-view .issuer-source-badges { justify-content: flex-start; }

  .company-brief-view .company-section-tabs {
    overflow: visible;
  }

  .company-brief-view .company-section-tabs button {
    min-width: 0;
    padding-inline: 5px;
    font-size: 12px;
  }

  .company-brief-hero {
    padding: 14px;
  }

  .company-brief-hero > header {
    display: block;
  }

  .company-brief-hero h2 {
    font-size: 23px;
    line-height: 1.14;
  }

  .company-brief-confidence {
    display: inline-flex;
    margin-top: 8px;
  }

  .company-brief-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .company-brief-facts > div {
    min-width: 0;
    padding: 7px;
  }

  .company-brief-facts dd {
    font-size: 15px;
  }

  .company-brief-sources {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .company-brief-source {
    min-height: 0;
    padding: 10px 12px;
  }

  .company-brief-changes > header,
  .company-register-panel > header {
    align-items: center;
  }

  .company-change {
    grid-template-columns: 78px 78px minmax(0, 1fr) auto;
    gap: 6px;
  }

  .company-change > strong {
    grid-column: 3;
  }

  .company-change > :last-child {
    grid-column: 4;
    grid-row: 1 / span 2;
  }

  .company-changes-filter-form {
    grid-template-columns: 1fr 1fr;
  }

  .company-archive-background > summary {
    display: block;
  }

  .company-archive-background > summary strong {
    display: block;
    margin-top: 4px;
  }

  .party-table td:first-child::before {
    display: none;
  }
}

@media (max-width: 390px) {
  .company-brief-view .company-section-tabs .tab-label-long {
    display: none;
  }

  .company-brief-view .company-section-tabs .tab-label-short {
    display: inline;
  }

  .company-brief-facts {
    grid-template-columns: 1fr 1fr;
  }

  .company-change {
    grid-template-columns: 72px minmax(0, 1fr) auto;
  }

  .company-change-source {
    grid-column: 1;
  }

  .company-change-copy,
  .company-change > strong {
    grid-column: 2;
  }

  .company-change > :last-child {
    grid-column: 3;
  }

  .company-changes-filter-form {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .company-brief-view *,
  .company-brief-view *::before,
  .company-brief-view *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

:root {
  font-family: var(--radar-font-family);
  --bg: var(--color-page-bg);
  --surface: var(--color-surface);
  --surface-2: var(--color-surface-raised);
  --surface-3: var(--color-surface-subtle);
  --line: var(--color-border);
  --line-soft: color-mix(in srgb, var(--color-border) 58%, transparent);
  --text: var(--color-text);
  --muted-2: var(--color-text-muted);
  --teal-soft: var(--color-accent-soft);
  --red-soft: var(--color-negative-soft);
  --gold: var(--color-warning);
  --gold-soft: var(--color-warning-soft);
  --blue: var(--radar-focus);
  --shadow: var(--shadow-panel);
  --font-xxs: 12px;
  --font-compact: 12px;
  --font-xs: 12px;
}

@media (min-width: 761px) {
  :root {
    --muted-2: var(--color-text-muted);
    --font-xxs: var(--radar-type-caption);
    --font-compact: var(--radar-type-caption);
    --font-xs: var(--radar-type-caption);
  }
}

* { box-sizing: border-box; }

html { background: var(--bg); }

body {
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
  overflow-x: hidden;
  background:
    radial-gradient(circle at 8% 0, color-mix(in srgb, var(--color-info) 16%, transparent), transparent 31rem),
    radial-gradient(circle at 86% 5%, color-mix(in srgb, var(--color-accent) 10%, transparent), transparent 30rem),
    var(--bg);
  color: var(--text);
}

button, input, select { font: inherit; }

button, a { -webkit-tap-highlight-color: transparent; }

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid var(--radar-focus-ring);
  outline-offset: 2px;
}

[hidden] { display: none !important; }

.sr-only {
  width: 1px;
  height: 1px;
  position: absolute;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.radar-shell {
  width: var(--radar-shell-width);
  margin: 0 auto;
  padding: 16px 0 34px;
}

.topbar {
  min-height: 46px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
}

.brand {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--text);
  text-decoration: none;
  font-weight: 800;
  font-size: 13px;
  white-space: nowrap;
}

.brand-mark {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--color-accent) 42%, var(--color-border));
  border-radius:var(--radar-radius-control);
  background: linear-gradient(135deg, var(--color-accent-soft), var(--color-info-soft));
  color: var(--color-accent-strong);
  font-size: 12px;
}

.topbar-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

.radar-suite-bar {
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 5px 0 8px;
  padding: 6px 8px 6px 13px;
  border: 1px solid var(--line);
  border-radius:var(--radar-radius-panel);
  background: color-mix(in srgb, var(--surface) 88%, transparent);
}
.radar-suite-bar > div { display: flex; align-items: center; gap: 9px; }
.radar-suite-bar > div:first-child span {
  color: var(--teal);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.radar-suite-bar > div:first-child strong { color: var(--muted); font-size: 12px; }
.radar-suite-bar a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  border-radius:var(--radar-radius-control);
  padding: 0 10px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
  text-decoration: none;
}
.nav-label-short,
.tab-label-short { display: none; }
.radar-suite-bar a:hover { color: var(--text); background: var(--surface-3); }
.radar-suite-bar a[aria-current='page'] {
  background: var(--teal-soft);
  color: var(--teal);
}
.broadcast-mode .radar-suite-bar { display: none; }

.source-health {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--muted);
  font-size: 12px;
  white-space: nowrap;
}

.source-health i {
  width: 7px;
  height: 7px;
  border-radius:50%;
  background: var(--teal);
  box-shadow: 0 0 12px var(--teal);
}
.source-health[data-state='loading'] i {
  background: var(--blue);
  box-shadow: 0 0 12px var(--blue);
}
.source-health[data-state='warning'] { color: var(--gold); }
.source-health[data-state='warning'] i {
  background: var(--gold);
  box-shadow: 0 0 12px var(--gold);
}
.source-health[data-state='error'] { color: var(--red); }
.source-health[data-state='error'] i {
  background: var(--red);
  box-shadow: 0 0 12px var(--red);
}

.product-nav {
  display: flex;
  align-items: center;
  padding: 3px;
  border: 1px solid var(--line);
  border-radius:999px;
  background: color-mix(in srgb, var(--surface) 86%, transparent);
}

.product-nav button,
.period-switch button,
.timeline-controls button {
  min-height: 44px;
  border: 0;
  border-radius:999px;
  padding: 0 17px;
  background: transparent;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}

.product-nav button[aria-pressed='true'],
.period-switch button[aria-pressed='true'],
.timeline-controls button[aria-pressed='true'] {
  background: var(--teal);
  color: var(--color-on-accent);
  box-shadow: 0 3px 18px rgba(67, 223, 210, .2);
}

.ghost-button {
  min-height: 44px;
  padding: 0 16px;
  border: 1px solid var(--line);
  border-radius:999px;
  background: transparent;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}

.product-help-button {
  width: 44px;
  height: 44px;
  flex: none;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius:50%;
  background: var(--surface);
  color: var(--teal);
  font-size: 16px;
  font-weight: 900;
  cursor: pointer;
  transition: border-color 150ms ease, background 150ms ease, transform 150ms ease;
}

.product-help-button:hover,
.product-help-button[aria-expanded='true'] {
  border-color: var(--teal);
  background: var(--teal-soft);
  transform: translateY(-1px);
}

.hero {
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 36px;
  margin-top: 8px;
  padding: 13px 28px;
  border: 1px solid var(--line);
  border-radius:var(--radar-radius-hero);
  background:
    linear-gradient(115deg, color-mix(in srgb, var(--color-info-soft) 64%, transparent), transparent 58%),
    var(--surface);
  box-shadow: var(--shadow-panel);
  overflow: hidden;
  position: relative;
}

/* Bolagsvyn har redan en egen identitets-hero. Den generiska produktheron
   döljs här så att sök, bolagsfakta och tidslinje ryms på en laptopskärm. */
.company-view:not(.broadcast-mode) .hero { display: none; }

.hero::after {
  content: '';
  width: 280px;
  height: 280px;
  position: absolute;
  top: -190px;
  right: -40px;
  border: 1px solid color-mix(in srgb, var(--color-accent) 22%, transparent);
  border-radius:50%;
}

.eyebrow,
.panel-kicker {
  display: block;
  margin-bottom: 5px;
  color: var(--teal);
  font-size: 12px;
  line-height: 1.25;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.hero h1,
.view-heading h2,
.company-search h2,
.company-hero h1,
.method-hero h2 {
  margin: 0;
  line-height: 1;
  letter-spacing: -.045em;
}

.hero h1 { font-size: clamp(38px, 4vw, 58px); }
.hero h1 span { color: var(--teal); font-weight: 500; }

.hero p {
  max-width: 760px;
  margin: 9px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
}

.hero-meta {
  min-width: 240px;
  display: grid;
  justify-items: end;
  gap: 5px;
  color: var(--muted);
  font-size: 12px;
  z-index: 1;
}

.hero-meta strong {
  color: var(--gold);
  font-size: 12px;
  letter-spacing: .09em;
  text-transform: uppercase;
}

body:not(.broadcast-mode):has(#product-content > .latest-view) .hero-meta strong {
  color: var(--muted);
}

.hero-meta b { color: var(--text); }
.hero-meta small { font-size: max(11px, var(--font-xs)); line-height: 1.35; }

.loading-status,
.error-banner {
  margin-top: 10px;
  padding: 11px 15px;
  border-radius:var(--radar-radius-control);
  font-size: 12px;
}

.loading-status {
  background: var(--teal-soft);
  color: var(--teal);
}

.error-banner {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px 10px;
  border: 1px solid color-mix(in srgb, var(--color-negative) 34%, var(--line));
  background: var(--color-negative-soft);
  color: var(--color-negative);
}
.error-banner strong,
.error-banner span { display: block; }
.error-banner button { min-height: 44px; margin-left: 10px; padding: 0 14px; border: 1px solid currentColor; border-radius: var(--radar-radius-control); color: var(--color-negative); background: var(--surface); font-size: 12px; font-weight: 850; cursor: pointer; }

.product-view { margin-top: 14px; }

.view-heading,
.company-search {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 28px;
  padding: 17px 4px 14px;
}

.view-heading h2,
.company-search h2,
.method-hero h2 { font-size: clamp(27px, 2.5vw, 38px); }

.view-heading p,
.company-search p,
.method-hero p {
  max-width: 770px;
  margin: 7px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}

.period-switch {
  flex: none;
  display: flex;
  padding: 3px;
  border: 1px solid var(--line);
  border-radius:999px;
  background: var(--surface);
}

.metric-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
}

.latest-mobile-summary,
.latest-quality-summary-heading > .latest-quality-mobile-summary,
.latest-mobile-intro { display: none; }

.metric-card {
  min-height: 118px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 15px 16px;
  border: 1px solid var(--line);
  border-radius:var(--radar-radius-panel);
  background: linear-gradient(135deg, var(--surface-2), var(--surface));
}

.metric-card.up { border-color: rgba(67, 223, 210, .25); }
.metric-card.warn { border-color: rgba(255, 200, 90, .24); }

.metric-card .metric-label {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.25;
}

.metric-card > strong {
  margin-top: 6px;
  font-size: clamp(25px, 2vw, 34px);
  line-height: 1;
  letter-spacing: -.04em;
}

.metric-card.up > strong { color: var(--teal); }
.metric-card.warn > strong { color: var(--gold); }

.metric-card > span {
  margin-top: 7px;
  color: var(--muted-2);
  font-size: var(--font-xs);
  line-height: 1.35;
}

.latest-quality-disclosure {
  margin-top: 8px;
  overflow: clip;
  border: 1px solid var(--line-soft);
  border-radius: var(--radar-radius-panel);
  background: var(--surface);
}

.latest-quality-disclosure > summary {
  min-height: 48px;
  display: grid;
  grid-template-columns: 10px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 8px 13px;
  color: var(--text);
  cursor: pointer;
  list-style: none;
}

.latest-quality-disclosure > summary::-webkit-details-marker { display: none; }
.latest-quality-disclosure > summary:hover { background: var(--color-accent-soft); }
.latest-quality-disclosure > summary:focus-visible { outline: 2px solid rgba(99, 182, 255, .82); outline-offset: -2px; }

.latest-quality-status {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--teal);
  box-shadow: 0 0 9px rgba(67, 223, 210, .35);
}
.latest-quality-attention .latest-quality-status { background: var(--gold); box-shadow: 0 0 9px rgba(241, 190, 72, .35); }
.latest-quality-warning .latest-quality-status { background: var(--red); box-shadow: 0 0 9px rgba(255, 107, 129, .35); }

.latest-quality-summary-heading { min-width: 0; display: flex; align-items: baseline; gap: 9px; }
.latest-quality-summary-heading b { flex: none; font-size: 12px; }
.latest-quality-summary-heading > span { overflow: hidden; color: var(--muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.latest-quality-summary-action { color: var(--teal); font-size: 12px; font-weight: 850; white-space: nowrap; }
.latest-quality-hide { display: none; }
.latest-quality-disclosure[open] .latest-quality-show { display: none; }
.latest-quality-disclosure[open] .latest-quality-hide { display: inline; }

.latest-quality-body {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(240px, .8fr);
  gap: 1px;
  border-top: 1px solid var(--line-soft);
  background: var(--line-soft);
}
.latest-quality-body > section { min-width: 0; padding: 14px; background: var(--surface); }
.latest-quality-body h3 { margin: 0 0 10px; font-size: 14px; }
.latest-quality-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.latest-quality-facts article { min-width: 0; display: grid; align-content: start; gap: 5px; padding: 10px; border: 1px solid var(--line-soft); border-radius: var(--radar-radius-control); background: var(--surface-3); }
.latest-quality-facts article > div { display: flex; align-items: start; justify-content: space-between; gap: 8px; }
.latest-quality-facts article b { font-size: 13px; line-height: 1.3; }
.latest-quality-facts article strong { color: var(--text); font-size: 14px; }
.latest-quality-facts article small { color: var(--muted); font-size: 12px; }
.latest-quality-facts article p { margin: 0; color: var(--muted-2); font-size: 12px; line-height: 1.45; }
.latest-quality-filter { width: fit-content; min-height: 44px; margin-top: 3px; padding: 0 10px; border: 1px solid rgba(67, 223, 210, .26); border-radius: var(--radar-radius-control); background: rgba(67, 223, 210, .07); color: var(--color-accent-strong); font: inherit; font-size: 12px; font-weight: 850; cursor: pointer; }
.latest-quality-coverage dl { display: grid; gap: 1px; margin: 0; background: var(--line-soft); }
.latest-quality-coverage dl > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; padding: 9px 10px; background: var(--surface-3); }
.latest-quality-coverage dt { color: var(--muted); font-size: 12px; }
.latest-quality-coverage dd { margin: 0; color: var(--text); font-size: 12px; font-weight: 800; text-align: right; }

.term { position: relative; display: inline-flex; }

.term-help {
  width: 28px;
  height: 28px;
  position: relative;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius:50%;
  background: var(--surface-3);
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
}

.term-popover {
  width: min(340px, calc(100vw - 34px));
  display: none;
  position: absolute;
  top: calc(100% + 10px);
  left: -12px;
  z-index: 30;
  padding: 13px 15px;
  border: 1px solid var(--line);
  border-radius: var(--radar-radius-panel);
  background: var(--surface-2);
  box-shadow: var(--shadow-panel);
  color: var(--color-text-secondary);
  /* 11px var mindre än allt annat på ytan och skalade inte med skärmen. */
  font-size: var(--radar-type-caption);
  font-weight: 500;
  line-height: 1.55;
}

/* Pilen knyter förklaringen till knappen den hör till. */
.term-popover::before {
  content: "";
  position: absolute;
  top: -5px;
  left: 18px;
  width: 8px;
  height: 8px;
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
  background: var(--surface-2);
  transform: rotate(45deg);
}

.term:hover .term-popover,
.term-help[aria-expanded='true'] + .term-popover { display: block; }

/* Träffytan är 44x44 medan cirkeln stannar på 28: att förstora själva knappen
   hade tryckt isär radhöjderna i mätkorten. Pseudoelementet tar emot pekaren,
   så det är den faktiska målytan som växer. */
.term-help::after {
  content: "";
  position: absolute;
  inset: -9px;
}

.latest-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  margin-top: 10px;
}

.panel {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius:var(--radar-radius-panel);
  background: var(--surface);
  overflow: clip;
}

.panel-header {
  min-height: 70px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 15px 18px;
  border-bottom: 1px solid var(--line);
}

.panel-header h3,
.panel h3 {
  margin: 0;
  font-size: 20px;
  line-height: 1.15;
  letter-spacing: -.025em;
}

.panel-note,
.panel-intro {
  color: var(--muted);
  font-size: var(--font-xs);
  line-height: 1.45;
}

.panel-intro {
  margin: 0;
  padding: 14px 18px;
  border-bottom: 1px solid var(--line-soft);
}

.event-list-intro {
  margin: 0;
  padding: 11px 18px;
  border-bottom: 1px solid var(--line-soft);
  background: var(--surface-3);
  color: var(--muted);
  font-size: var(--font-xs);
  line-height: 1.5;
}

.event-list { display: grid; }

.latest-event-table-wrap {
  width: 100%;
  overflow: clip;
}

.latest-event-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.latest-event-table col.latest-company-column { width: 23%; }
.latest-event-table col.latest-reporter-column { width: 18%; }
.latest-event-table col.latest-date-column { width: 15%; }
.latest-event-table col.latest-kind-column { width: 17%; }
.latest-event-table col.latest-value-column { width: 13%; }
.latest-event-table col.latest-threshold-column { width: 11%; }
.latest-event-table col.latest-action-column { width: 8%; }
.company-event-table col.latest-date-column { width: 15%; }
.company-event-table col.latest-kind-column { width: 19%; }
.company-event-table col.latest-value-column { width: 13%; }
.company-event-table col.latest-threshold-column { width: 12%; }
.company-event-table col.latest-action-column { width: 10%; }

.latest-event-table th {
  padding: 0;
  border-bottom: 1px solid var(--line-soft);
  background: var(--surface-3);
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .06em;
  text-align: left;
  text-transform: uppercase;
}
.company-event-table th:nth-child(2) { padding: 7px 10px; }

.latest-column-sort {
  width: 100%;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  padding: 7px 10px;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  text-align: left;
  text-transform: inherit;
  cursor: pointer;
}
.latest-column-sort:hover { color: var(--text); background: rgba(78, 231, 212, .055); }
.latest-column-sort.is-active { color: var(--teal); }
.latest-column-sort b { flex: none; font-size: 15px; line-height: 1; }

.latest-event-table td {
  min-width: 0;
  padding: 12px 10px;
  border-top: 1px solid var(--line-soft);
  color: var(--text);
  font-size: 13px;
  line-height: 1.35;
  vertical-align: top;
}

.latest-event-table tbody tr:first-child td { border-top: 0; }
.latest-event-table tbody tr:hover { background: var(--surface-3); }

.latest-event-company,
.latest-event-date-cell > span {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.latest-event-company b,
.latest-event-date-cell b,
.latest-event-value-cell strong,
.latest-event-threshold-cell strong {
  overflow-wrap: anywhere;
  color: var(--text);
  font-size: 13px;
}

.latest-event-company small,
.latest-event-date-cell small {
  overflow-wrap: anywhere;
  color: var(--muted);
  font-size: 12px;
}

.latest-event-company em {
  width: fit-content;
  color: var(--gold);
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
}

.latest-event-kind-cell {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  align-items: flex-start;
}

.latest-event-kind-cell .direction-badge,
.latest-event-kind-cell .event-type {
  min-height: 24px;
  padding-inline: 7px;
  font-size: 12px;
  white-space: normal;
}

.latest-direction-detail {
  width: 100%;
  display: grid;
  gap: 2px;
  color: var(--color-text-secondary);
  font-size: 12px;
}

.latest-direction-detail b { color: var(--gold); }
.latest-event-kind-cell .event-type.correction { border-color: rgba(241, 190, 72, .3); color: var(--gold); }
body:not(.broadcast-mode) .latest-view .latest-event-kind-cell .event-type:not(.correction) {
  border-color: var(--line);
  background: var(--surface-2);
  color: var(--color-text-secondary);
}
.latest-sort-context { width: 100%; color: var(--muted-2); font-size: 12px; font-weight: 750; line-height: 1.35; }

.latest-event-value-cell strong,
.latest-event-threshold-cell strong {
  display: block;
  font-variant-numeric: tabular-nums;
}

.latest-event-warning {
  display: block;
  margin-top: 5px;
  color: var(--gold);
  font-size: 12px;
  font-weight: 800;
}

.latest-event-open {
  width: 100%;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 0 8px;
  border: 1px solid rgba(67, 223, 210, .26);
  border-radius: var(--radar-radius-control);
  background: rgba(67, 223, 210, .07);
  color: var(--color-accent-strong);
  font: inherit;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
}

.latest-event-open:hover { background: rgba(67, 223, 210, .12); }
.latest-event-open:focus-visible { outline: 2px solid rgba(99, 182, 255, .82); outline-offset: 2px; }

.event-list-disclosure {
  border-bottom: 1px solid var(--line-soft);
  background: var(--surface-3);
}

.event-list-disclosure > summary {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 9px 15px;
  color: var(--teal);
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
  list-style: none;
}

.event-list-disclosure > summary::-webkit-details-marker { display: none; }

.event-list-disclosure > summary::after {
  content: "+";
  margin-left: 8px;
  font-size: 17px;
  line-height: 1;
  transition: transform 150ms ease;
}

.event-list-disclosure[open] > summary::after { transform: rotate(45deg); }
.event-list-disclosure > summary:hover,
.event-list-disclosure > summary:focus-visible {
  background: rgba(67, 223, 210, .06);
}

.event-list-disclosure > summary:focus-visible {
  outline: 2px solid rgba(99, 182, 255, .82);
  outline-offset: -2px;
}

.event-list-reveal {
  width: 100%;
  min-height: 48px;
  padding: 9px 15px;
  border: 0;
  border-bottom: 1px solid var(--line-soft);
  border-radius: 0;
  background: var(--surface-3);
  color: var(--teal);
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
}

.event-list-reveal span {
  margin-left: 8px;
  color: var(--muted);
  font-weight: 700;
}

.event-list-reveal:hover,
.event-list-reveal:focus-visible { background: rgba(67, 223, 210, .06); }

.event-list-reveal:focus-visible {
  outline: 2px solid rgba(99, 182, 255, .82);
  outline-offset: -2px;
}

.event-card {
  width: 100%;
  min-height: 190px;
  display: grid;
  gap: 10px;
  padding: 18px;
  border: 0;
  border-bottom: 1px solid var(--line-soft);
  background: transparent;
  color: var(--text);
  text-align: left;
  cursor: pointer;
}

.event-card:hover { background: rgba(34, 70, 98, .13); }
.event-card:last-child { border-bottom: 0; }

.event-card.compact { min-height: 150px; padding: 15px; }

.event-card-header,
.event-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.event-date {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 14px;
  color: var(--muted-2);
  font-size: var(--font-xs);
}

.event-date span + span::before {
  content: "•";
  margin-right: 14px;
  color: var(--color-text-muted);
}

.event-main {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.event-main b {
  overflow: hidden;
  color: var(--color-text);
  font-size: 17px;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.event-main small {
  overflow: hidden;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.event-badges {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 7px;
}

.direction-badge {
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  padding: 0 10px;
  border-radius:999px;
  font-size: var(--font-xs);
  font-weight: 900;
  white-space: nowrap;
}

.direction-badge.up { background: var(--teal-soft); color: var(--teal); }
.direction-badge.down { background: var(--red-soft); color: var(--red); }
.direction-badge.mixed { background: var(--gold-soft); color: var(--gold); }
.direction-badge.unknown,
.direction-badge.unchanged { background: rgba(125, 155, 178, .12); color: var(--color-text-secondary); }

.dimension-directions {
  grid-column: 1 / -1;
  width: fit-content;
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
}

.dimension-directions > span {
  min-height: 25px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 8px;
  border: 1px solid rgba(241, 190, 72, .24);
  border-radius:999px;
  background: rgba(241, 190, 72, .07);
  color: var(--color-text-secondary);
  font-size: var(--font-xs);
}

.dimension-directions b { color: var(--gold); font-size: 13px; }

.event-type {
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  padding: 0 9px;
  border: 1px solid rgba(241, 190, 72, .22);
  border-radius:999px;
  background: rgba(241, 190, 72, .06);
  color: var(--gold);
  font-size: var(--font-xs);
  font-weight: 800;
  white-space: nowrap;
}

.event-values {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.event-changes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.event-change {
  min-height: 58px;
  display: grid;
  gap: 5px;
  padding: 10px 12px;
  border: 1px solid var(--line-soft);
  border-radius: var(--radar-radius-control);
  background: var(--surface-3);
}

.event-change small { color: var(--muted); font-size: var(--font-xs); font-weight: 800; }
.event-change b { color: var(--text); font-size: 13px; line-height: 1.35; }
.corrected-source { color: var(--gold); font-size: 12px; font-weight: 800; }
.dimension-presentation-note { display: block; margin-top: 4px; color: var(--muted); font-size: 12px; font-style: normal; font-weight: 650; line-height: 1.3; }
.dimension-presentation-note.derived { color: var(--gold); }

.latest-toolbar {
  min-width: 260px;
  display: grid;
  justify-items: end;
  gap: 5px;
}

.latest-sort-desktop,
.latest-sort-mobile { align-items: center; gap: 7px; }
.latest-sort-desktop { display: flex; }
.latest-sort-mobile { display: none; }
.latest-toolbar label { color: var(--muted); font-size: 12px; font-weight: 800; }
.latest-toolbar select {
  min-height: 44px;
  padding: 0 34px 0 11px;
  border: 1px solid var(--line);
  border-radius: var(--radar-radius-control);
  background: var(--surface-2);
  color: var(--text);
}
.latest-sort-direction {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: var(--radar-radius-control);
  background: var(--surface-2);
  color: var(--teal);
  font-size: 18px;
  font-weight: 900;
  cursor: pointer;
}
.latest-toolbar .panel-note { text-align: right; }

.latest-table-controls {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 14px;
  border-bottom: 1px solid var(--line-soft);
  background: var(--surface-3);
}
@media (min-width: 901px) {
  body:not(.broadcast-mode) .latest-view .latest-table-controls { justify-content: flex-start; }
}
.latest-search-label { width: min(390px, 48%); display: grid; gap: 5px; color: var(--muted); font-size: 12px; font-weight: 800; }
.latest-search-label input,
.latest-filter-form select {
  min-height: 44px;
  min-width: 0;
  padding: 0 11px;
  border: 1px solid var(--line);
  border-radius: var(--radar-radius-control);
  background: var(--surface-2);
  color: var(--text);
  font: inherit;
}
.latest-filter-disclosure { position: relative; }
.latest-filter-disclosure > summary {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding: 0 13px;
  border: 1px solid rgba(67, 223, 210, .25);
  border-radius: var(--radar-radius-control);
  background: rgba(67, 223, 210, .07);
  color: var(--color-accent-strong);
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
  list-style: none;
}
.latest-filter-disclosure > summary::-webkit-details-marker { display: none; }
.latest-filter-disclosure:not([open]) > .latest-filter-form { display: none; }
.latest-filter-form {
  width: min(720px, calc(100vw - 42px));
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  position: absolute;
  top: calc(100% + 7px);
  right: 0;
  z-index: 20;
  padding: 14px;
  border: 1px solid rgba(78, 231, 212, .25);
  border-radius: var(--radar-radius-panel);
  background: var(--surface-2);
  box-shadow: 0 18px 42px rgba(2, 8, 16, .55);
}
.latest-filter-heading { display: none; }
.latest-filter-heading button { width: 44px; min-height: 44px; border: 1px solid var(--line); border-radius: var(--radar-radius-control); background: rgba(255, 255, 255, .04); color: var(--text); font: inherit; font-size: 22px; cursor: pointer; }
.latest-filter-form label { min-width: 0; display: grid; gap: 5px; color: var(--muted); font-size: 12px; font-weight: 800; }
.latest-filter-actions { grid-column: 1 / -1; display: flex; justify-content: end; gap: 8px; }
.latest-filter-actions button,
.empty-filter-reset,
.latest-load-more-error button { min-height: 44px; padding: 0 12px; border: 1px solid rgba(67, 223, 210, .26); border-radius: var(--radar-radius-control); background: rgba(67, 223, 210, .07); color: var(--teal); font: inherit; font-size: 12px; font-weight: 850; cursor: pointer; }
.latest-filter-chips { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 14px 10px; border-bottom: 1px solid var(--line-soft); background: var(--surface-3); }
.latest-filter-chips button { min-height: 36px; padding: 0 10px; border: 1px solid rgba(67, 223, 210, .22); border-radius: 999px; background: rgba(67, 223, 210, .06); color: var(--text); font: inherit; font-size: 12px; cursor: pointer; }
.latest-filter-chips .latest-filter-clear-all { color: var(--teal); }
.latest-load-more-error { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 10px; border-top: 1px solid rgba(255, 107, 129, .2); color: var(--color-negative); font-size: 12px; }
.empty-filter-reset { margin: 0 auto 18px; }
.latest-summary-unavailable,
.latest-table-error { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px; border: 1px solid rgba(255, 193, 77, .28); border-radius: var(--radar-radius-panel); background: rgba(255, 193, 77, .06); color: var(--text); }
.latest-summary-unavailable { margin-bottom: 10px; }
.latest-table-error { margin: 14px; }
.latest-summary-unavailable > div,
.latest-table-error > div { display: grid; gap: 4px; }
.latest-summary-unavailable span,
.latest-table-error span { color: var(--muted); font-size: 12px; }
.latest-summary-unavailable button,
.latest-table-error button { min-height: 44px; flex: 0 0 auto; padding: 0 13px; border: 1px solid rgba(67, 223, 210, .28); border-radius: var(--radar-radius-control); background: rgba(67, 223, 210, .08); color: var(--teal); font: inherit; font-weight: 850; cursor: pointer; }

.source-health,
.radar-suite-bar > div:first-child span,
.radar-suite-bar > div:first-child strong,
.radar-suite-bar a,
.eyebrow,
.metric-card .metric-label,
.term-help,
.panel-kicker,
.event-main small { font-size: 12px; }

.dimension-value {
  display: grid;
  grid-template-columns: minmax(82px, auto) minmax(0, 1fr);
  grid-template-rows: auto auto minmax(17px, auto);
  align-items: start;
  gap: 6px 12px;
  min-height: 102px;
  padding: 11px 12px;
  border: 1px solid var(--line-soft);
  border-radius:var(--radar-radius-control);
  background: var(--surface-3);
  color: var(--muted);
  font-size: var(--font-xs);
}

.dimension-label {
  color: var(--muted);
  font-size: var(--font-xs);
  font-weight: 800;
  text-transform: uppercase;
}

.dimension-value-main {
  justify-self: end;
  color: var(--text);
  font-size: 13px;
  text-align: right;
}

.dimension-value-main i,
.dimension-value small i {
  margin-right: 4px;
  color: var(--muted-2);
  font-size: var(--font-compact);
  font-style: normal;
  font-weight: 650;
  text-transform: uppercase;
}

.dimension-value-main em {
  margin: 0 3px;
  color: var(--teal);
  font-style: normal;
}

.dimension-value-count,
.dimension-value-note {
  grid-column: 1 / -1;
  display: flex;
  justify-content: space-between;
  gap: 10px;
  color: var(--gold);
  line-height: 1.4;
}
.dimension-value-count span { text-align:right; font-variant-numeric:tabular-nums; }
.dimension-value-note { align-items:start; color:var(--muted-2); font-size:var(--font-xs); font-style:normal; text-transform:none; }

.event-crossings {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  padding: 9px 11px;
  border-left: 2px solid var(--teal);
  background: rgba(67, 223, 210, .055);
  color: var(--color-text-secondary);
  font-size: var(--font-xs);
  line-height: 1.4;
}

.event-crossings b { color: var(--teal); white-space: nowrap; }

.event-caveat {
  padding: 8px 10px;
  border-left: 2px solid var(--gold);
  background: rgba(241, 190, 72, .065);
  color: var(--color-text-secondary);
  font-size: var(--font-xs);
  line-height: 1.45;
}

.quality-row { display: flex; flex-wrap: wrap; gap: 6px; }
.quality-row span {
  padding: 4px 7px;
  border: 1px solid var(--line-soft);
  border-radius:999px;
  color: var(--muted);
  font-size: var(--font-xs);
}
.quality-row .corrected { border-color: rgba(255, 99, 127, .3); color: var(--red); }

.event-open {
  flex: none;
  color: var(--teal);
  font-size: var(--font-xs);
  font-weight: 850;
  white-space: nowrap;
}

.event-open b { margin-left: 3px; font-size: 14px; }

.load-more {
  min-height: 44px;
  margin: 14px 18px 18px;
  padding: 0 20px;
  border: 1px solid var(--line);
  border-radius:var(--radar-radius-control);
  background: var(--surface-2);
  color: var(--text);
  font-weight: 800;
  cursor: pointer;
}

.company-search {
  align-items: center;
  padding-left: 0;
  padding-right: 0;
}
/* Kompaktläget är bolagsväljaren inne i hero:n: bara fältet, ingen egen ram.
   Rubrik, ingress och etikett ligger kvar i sr-only för skärmläsare. */
.company-search.compact {
  gap: 0;
  padding: 0;
}
.company-search.compact .search-input-wrap { min-height: 50px; }
.company-search.compact #issuer-picker-toggle { width: 44px; height: 44px; }

.company-view:not(.broadcast-mode) .product-view { margin-top: 7px; }
.company-view:not(.broadcast-mode) .company-search.compact .combobox { width: 100%; }
.company-view:not(.broadcast-mode) .company-hero {
  min-height: 132px;
  padding: 17px 20px;
}
.company-view:not(.broadcast-mode) .company-hero h1 { font-size: clamp(30px, 3vw, 42px); }
.company-view:not(.broadcast-mode) .coverage-card { padding: 12px 14px; }

.combobox { width: min(540px, 48%); position: relative; }
.combobox label { display: block; margin-bottom: 6px; color: var(--muted); font-size: var(--font-xs); font-weight: 800; }

.search-input-wrap {
  min-height: 50px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 14px;
  border: 1px solid var(--line);
  border-radius:var(--radar-radius-panel);
  background: var(--surface);
}

.search-input-wrap span { color: var(--teal); font-size: 24px; }
.search-input-wrap input { width: 100%; min-height: 44px; border: 0; outline: 0; background: transparent; color: var(--text); font-size: 13px; }
.search-input-wrap input::placeholder { color: var(--muted-2); }

#issuer-picker-toggle {
  width: 44px;
  height: 44px;
  flex: none;
  display: grid;
  place-items: center;
  border: 1px solid transparent;
  border-radius:var(--radar-radius-control);
  background: transparent;
  color: var(--muted);
  cursor: pointer;
}

#issuer-picker-toggle span {
  display: block;
  color: inherit;
  font-size: 20px;
  line-height: 1;
  transition: transform 150ms ease;
}

#issuer-picker-toggle:hover,
#issuer-picker-toggle[aria-expanded='true'] {
  border-color: var(--line);
  background: var(--teal-soft);
  color: var(--teal);
}

#issuer-picker-toggle[aria-expanded='true'] span { transform: rotate(180deg); }

.issuer-picker {
  width: 100%;
  position: absolute;
  top: calc(100% + 7px);
  z-index: 40;
  overflow: hidden;
  border: 1px solid var(--color-border-strong);
  border-radius:var(--radar-radius-panel);
  background: var(--surface-2);
  box-shadow: var(--shadow);
}

.issuer-picker-toolbar {
  display: flex;
  gap: 5px;
  padding: 9px;
  border-bottom: 1px solid var(--line-soft);
  background: var(--surface-2);
}

.issuer-picker-toolbar button {
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid var(--line-soft);
  border-radius:999px;
  background: transparent;
  color: var(--muted);
  font-size: var(--font-xs);
  font-weight: 850;
  cursor: pointer;
}

.issuer-picker-toolbar button:hover,
.issuer-picker-toolbar button[aria-pressed='true'] {
  border-color: rgba(67, 223, 210, .5);
  background: var(--teal-soft);
  color: var(--teal);
}

.issuer-results {
  max-height: 330px;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.issuer-results-heading {
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 13px 6px;
  border-bottom: 1px solid var(--line-soft);
  background: var(--surface-2);
  color: var(--muted);
}

.issuer-results-heading b {
  color: var(--teal);
  font-size: var(--font-compact);
  letter-spacing: .09em;
  text-transform: uppercase;
}

.issuer-results-heading span { font-size: var(--font-compact); }

.issuer-results button {
  width: 100%;
  min-height: 62px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 13px;
  border: 0;
  border-bottom: 1px solid var(--line-soft);
  background: transparent;
  color: var(--text);
  text-align: left;
  cursor: pointer;
}

.issuer-results button:hover,
.issuer-results button:focus-visible {
  background: var(--teal-soft);
  outline: 0;
}

.issuer-results button > span { min-width: 0; display: grid; gap: 3px; }
.issuer-results button > span:last-child { justify-items: end; text-align: right; }
.issuer-results b { overflow-wrap: anywhere; font-size: 12px; }
.issuer-results small { color: var(--muted); font-size: var(--font-xs); }
.issuer-result-match { color: var(--gold) !important; overflow-wrap: anywhere; }
.issuer-source-badges { display: flex !important; flex-wrap: wrap; justify-content: flex-end; gap: 4px !important; }
.issuer-source-badges i {
  padding: 2px 6px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--teal);
  font-size: var(--font-xs);
  font-style: normal;
  font-weight: 800;
}
.issuer-search-warning {
  display: grid;
  gap: 3px;
  padding: 10px 13px;
  border-bottom: 1px solid rgba(255, 200, 90, .32);
  background: rgba(255, 200, 90, .08);
  color: var(--muted);
  font-size: var(--font-xs);
  line-height: 1.45;
}
.issuer-search-warning b { color: var(--gold); }
.company-source-detail-warning {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 12px;
  padding: 12px 14px;
  border: 1px solid rgba(255, 200, 90, .32);
  border-radius: var(--radar-radius-panel);
  background: rgba(255, 200, 90, .08);
  color: var(--muted);
  font-size: var(--font-xs);
  line-height: 1.45;
}
.company-source-detail-warning > span { display: grid; min-width: 0; gap: 4px; }
.company-source-detail-warning small { color: inherit; font-size: inherit; }
.company-source-detail-warning b { color: var(--gold); }
.company-source-detail-warning button {
  min-height: 44px;
  padding: 0 13px;
  border: 1px solid rgba(255, 200, 90, .35);
  border-radius: var(--radar-radius-control);
  background: transparent;
  color: var(--gold);
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}
.search-loading, .search-empty { padding: 18px; color: var(--muted); font-size: 12px; }

.issuer-picker-note {
  margin: 0;
  padding: 8px 12px 9px;
  border-top: 1px solid var(--line-soft);
  background: var(--surface-2);
  color: var(--muted-2);
  font-size: var(--font-compact);
  line-height: 1.4;
}

.company-empty-state {
  min-height: 260px;
  display: grid;
  place-items: center;
  align-content: center;
  text-align: center;
  border: 1px dashed var(--line);
  border-radius:var(--radar-radius-panel);
}

.company-empty-state > * {
  transition: opacity 140ms ease, filter 140ms ease;
}

.issuer-picker-open .company-empty-state > * {
  opacity: .08;
  filter: blur(1px);
}

.company-empty-state > span { color: var(--teal); font-size: 48px; }
.company-empty-state h3 { margin: 10px 0 4px; font-size: 22px; }
.company-empty-state p { max-width: 580px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }

.company-hero {
  min-height: 168px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  padding: 24px;
  background:
    linear-gradient(120deg, rgba(18, 50, 73, .65), transparent 65%),
    var(--surface);
  /* Bolagsväljaren bor i hero:n; dess popover måste få lämna panelen och
     måla över panelerna nedanför. */
  position: relative;
  z-index: 30;
  overflow: visible;
  flex-wrap: wrap;
}
/* Bas 0 så namnkolumnen krymper till det utrymme som blir över i stället för
   att tvinga fram en radbrytning – flex-wrap löser annars ut före krympning. */
.company-hero > div:first-child { min-width: 0; flex: 1 1 0; }

/* Grundläget staplar väljaren över täckningskortet så att bolagsnamnet
   behåller sin spalt. */
.company-hero-aside {
  min-width: 300px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* Finns det bredd nog lägger vi dem sida vid sida i stället, så hero:n
   behåller sin ursprungliga höjd i stället för att äta upp raden vi sparade.
   flex-wrap är skyddsnätet: räcker inte bredden – ett långt bolagsnamn håller
   emot – faller täckningskortet ned under sökrutan i stället för att spilla ut
   ur hero:n. Brytpunkten avgör det normala fallet, wrap avgör undantagen. */
@media (min-width: 1440px) {
  /* Aside:n håller sin bredd; det långa bolagsnamnet krymper i stället, nu när
     vänsterkolumnen har min-width: 0. Utan detta pressar flex båda och
     skyddsnätet bryter rad i onödan. */
  .company-hero-aside { align-items: center; flex: 0 0 auto; flex-direction: row; flex-wrap: wrap; gap: 14px; }
  .company-hero-aside .company-search { width: 260px; flex: 1 1 260px; }
  .company-hero-aside .coverage-card { flex: 1 1 300px; }
}

.company-hero h1 { font-size: clamp(32px, 3.5vw, 49px); }
.company-hero p { margin: 7px 0 0; color: var(--muted); font-size: 12px; }
.company-hero .company-hero-summary { color: var(--color-text-secondary); font-size: 13px; }

.coverage-card {
  min-width: 300px;
  display: grid;
  gap: 7px;
  padding: 15px;
  border: 1px solid rgba(67, 223, 210, .22);
  border-radius:var(--radar-radius-panel);
  background: var(--teal-soft);
}

.coverage-card > span { color: var(--teal); font-size: var(--font-xs); font-weight: 800; }
.coverage-card > b { font-size: 13px; }
.coverage-card > small { color: var(--muted); font-size: var(--font-xs); }
.coverage-card.warn { border-color: rgba(255, 200, 90, .3); background: var(--gold-soft); }

.company-hero-compact { min-height: 0 !important; }
.company-hero-compact .company-hero-aside { min-width: min(310px, 100%); }
.company-quality-strip {
  flex: 1 0 100%;
  display: grid;
  grid-template-columns: minmax(180px, .6fr) minmax(320px, 2.2fr);
  gap: 8px;
}
.company-quality-strip > div {
  min-width: 0;
  display: grid;
  align-content: center;
  gap: 4px;
  padding: 11px 13px;
  border: 1px solid var(--line-soft);
  border-radius:var(--radar-radius-control);
  background: color-mix(in srgb, var(--surface) 88%, transparent);
}
.company-quality-strip > div > span { color: var(--muted); font-size: var(--font-xs); font-weight: 800; }
.company-quality-strip > div > b { font-size: 13px; }
.company-quality-strip > div > small { color: var(--muted); font-size: 12px; }
.company-quality-strip .coverage-card { min-width: 0; padding: 11px 13px; }

.company-hero.company-hero-context {
  min-height: 0 !important;
  flex-wrap: nowrap;
  gap: 18px;
  padding: 13px 18px;
}
.company-hero.company-hero-context .company-quality-strip { display: none; }
.company-hero.company-hero-context h1 { font-size: clamp(27px, 2.4vw, 36px); }
.company-hero.company-hero-context .company-hero-aside { min-width: min(360px, 38%); }
.company-hero.company-hero-context .company-search.compact .search-input-wrap { min-height: 44px; }

.company-section-tabs {
  position: sticky;
  top: 6px;
  z-index: 20;
  display: flex;
  gap: 4px;
  margin-top: 9px;
  padding: 5px;
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius:var(--radar-radius-panel);
  background: var(--surface);
  box-shadow: 0 8px 28px rgba(0, 0, 0, .18);
  scrollbar-width: none;
}
.company-section-tabs::-webkit-scrollbar { display: none; }
.company-section-tabs button {
  min-height: 44px;
  flex: 1 0 auto;
  padding: 0 16px;
  border: 1px solid transparent;
  border-radius:var(--radar-radius-control);
  background: transparent;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
  white-space: nowrap;
}
.company-section-tabs button:hover { color: var(--text); background: rgba(255, 255, 255, .035); }
.company-section-tabs button[aria-selected='true'] {
  border-color: rgba(67, 223, 210, .28);
  background: var(--teal-soft);
  color: var(--teal);
}
.company-section-tabs button:disabled {
  opacity: .58;
  cursor: not-allowed;
}
.company-source-only-note {
  min-height: 220px;
  display: grid;
  place-content: center;
  justify-items: start;
  gap: 10px;
  padding: 24px;
}
.company-source-only-note h2,
.company-source-only-note p { max-width: 720px; margin: 0; }
.company-source-only-note p { color: var(--muted); line-height: 1.55; }
.signal-source-unlinked,
.signal-source-unlinked-note { color: var(--gold); }
.signal-source-unlinked { font-size: 12px; font-weight: 800; }
.signal-source-unlinked-note {
  display: grid;
  gap: 4px;
  margin: 12px;
  padding: 12px;
  border: 1px solid rgba(255, 200, 90, .3);
  border-radius: var(--radar-radius-control);
  background: rgba(255, 200, 90, .06);
}
.signal-source-unlinked-note span { color: var(--muted); font-size: 12px; line-height: 1.45; }
.company-section-panel { margin-top: 9px; }
.company-section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 22px;
  padding: 20px 22px;
  border: 1px solid var(--line);
  border-radius:var(--radar-radius-panel);
  background: var(--surface);
}
.company-section-heading h2 { margin: 3px 0 0; font-size: clamp(21px, 2.4vw, 30px); }
.company-section-heading > p { max-width: 600px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.company-overview {
  width: min(100%, 1500px);
  margin-inline: auto;
}
.company-overview .company-section-heading {
  display: block;
  padding: 8px 3px 5px;
  border: 0;
  background: transparent;
}
.company-overview .company-section-heading h2 { margin: 0; font-size: clamp(20px, 2vw, 25px); }
.company-overview .company-section-heading p { max-width: 820px; margin: 5px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.company-overview-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 9px;
}
.company-overview-summary {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radar-radius-panel);
  background: var(--surface);
}
.company-overview-summary.aligned-increase { border-top-color: var(--teal); }
.company-overview-summary.aligned-decrease { border-top-color: var(--red); }
.company-overview-summary.divergent,
.company-overview-summary.mixed,
.company-overview-summary.insufficient { border-top-color: var(--gold); }
.company-overview-summary.insider-only { border-top-color: var(--blue); }
.company-overview-summary.ownership-only { border-top-color: var(--color-ownership); }
.company-overview-lead {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 7px 24px;
  padding: 18px 20px 15px;
}
.company-overview-lead h2 { margin: 3px 0 0; font-size: clamp(21px, 2.2vw, 28px); line-height: 1.15; }
.company-overview-lead > p {
  max-width: 820px;
  grid-column: 1 / -1;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}
.company-overview-direction { display: grid; justify-items: end; gap: 4px; text-align: right; }
.company-overview-direction span { color: var(--muted); font-size: var(--font-xs); font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }
.company-overview-direction strong { color: var(--teal); font-size: 16px; }
.company-overview-summary.aligned-decrease .company-overview-direction strong { color: var(--red); }
.company-overview-summary.divergent .company-overview-direction strong,
.company-overview-summary.mixed .company-overview-direction strong,
.company-overview-summary.insufficient .company-overview-direction strong { color: var(--gold); }
.company-overview-summary.insider-only .company-overview-direction strong { color: var(--blue); }
.company-overview-summary.ownership-only .company-overview-direction strong { color: var(--color-ownership); }
.company-overview-summary.unavailable .company-overview-lead { grid-template-columns: 1fr; align-items: start; }
.company-overview-summary.unavailable .company-overview-lead > p { grid-column: auto; }
.company-overview-footer {
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 9px 18px;
  border-top: 1px solid var(--line-soft);
}
.company-overview-footer > span { color: var(--muted-2); font-size: 12px; line-height: 1.4; }
.company-overview-footer button {
  min-height: 44px;
  flex: none;
  padding: 0 14px;
  border: 1px solid rgba(67, 223, 210, .28);
  border-radius: var(--radar-radius-control);
  background: var(--teal-soft);
  color: var(--teal);
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
}
.company-overview-events { margin-top: 9px; overflow: hidden; }
.company-overview-events > header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 18px; border-bottom: 1px solid var(--line-soft); }
.company-overview-events > header h3 { margin: 3px 0 0; font-size: 18px; }
.company-overview-events > header button {
  min-height: 44px;
  padding: 0 14px;
  border: 1px solid var(--line);
  border-radius: var(--radar-radius-control);
  background: var(--surface-2);
  color: var(--teal);
  font: inherit;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
}
.company-overview-events ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
.company-overview-events li + li { border-left: 1px solid var(--line-soft); }
.company-overview-events li button { width: 100%; min-height: 82px; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 11px; padding: 12px 16px; border: 0; background: transparent; color: var(--text); font: inherit; text-align: left; cursor: pointer; }
.company-overview-events li button:hover { background: var(--color-accent-soft); }
.company-overview-events time { color: var(--muted); font-size: 12px; }
.company-overview-events li span { min-width: 0; display: grid; gap: 3px; }
.company-overview-events li b { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.company-overview-events li small { overflow: hidden; color: var(--muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.company-overview-events li strong { color: var(--teal); font-size: 12px; }
.company-overview-events-empty { margin: 0; padding: 18px; color: var(--muted); font-size: 12px; }
.company-register-columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line-soft); }
.company-register-columns article { min-width: 0; display: grid; align-content: start; gap: 5px; padding: 14px 18px; }
.company-register-columns article + article { border-left: 1px solid var(--line-soft); }
.company-register-columns span { color: var(--muted); font-size: var(--font-xs); font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.company-register-columns b { font-size: 16px; }
.company-register-columns strong { color: var(--teal); font-size: 13px; }
.company-register-columns small { color: var(--muted); font-size: 12px; line-height: 1.45; }
.text-button,
.party-observations-toggle {
  min-height: 44px;
  border: 1px solid var(--line);
  border-radius:var(--radar-radius-control);
  padding: 0 14px;
  background: var(--surface-2);
  color: var(--teal);
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
}
.company-history { display: grid; gap: 9px; }
.latest-known-notice {
  display: flex;
  gap: 8px;
  margin: 0 15px 10px;
  padding: 10px 12px;
  border: 1px solid var(--line-soft);
  border-left: 3px solid var(--line);
  background: var(--surface-3);
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}
.latest-known-notice b { flex: none; color: var(--text); }
.party-observation-search { display: grid; gap: 5px; margin: 0 15px 12px; color: var(--muted); font-size: var(--font-xs); font-weight: 800; }
.party-observation-search input {
  min-height: 44px;
  border: 1px solid var(--line);
  border-radius:var(--radar-radius-control);
  padding: 0 12px;
  background: var(--surface-2);
  color: var(--text);
}
.party-observations-toggle { min-height: 44px; margin: 12px 15px 15px; }
.company-quality-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin-top: 9px; }
.company-quality-statusboard { display: grid; gap: 7px; margin-top: 9px; }
.quality-status-row { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radar-radius-panel); background: var(--surface); }
.quality-status-row.warn { border-left: 3px solid var(--gold); }
.quality-status-row > summary { min-height: 64px; display: grid; grid-template-columns: minmax(150px, .8fr) minmax(190px, 1.2fr) auto auto; align-items: center; gap: 15px; padding: 9px 16px; cursor: pointer; list-style: none; }
.quality-status-row > summary::-webkit-details-marker { display: none; }
.quality-status-row > summary > span:first-child { display: grid; gap: 3px; }
.quality-status-row > summary b { font-size: 13px; }
.quality-status-row > summary small { color: var(--muted); font-size: 12px; }
.quality-status-row > summary > strong { overflow-wrap: anywhere; font-size: 12px; }
.quality-status-row > summary > em { color: var(--muted); font-size: 12px; font-style: normal; font-weight: 750; }
.quality-status-row.warn > summary > em { color: var(--gold); }
.quality-status-action { min-height: 44px; display: inline-flex; align-items: center; color: var(--teal); font-size: 12px; font-weight: 850; }
.quality-status-row[open] .quality-status-action::after { content: ' −'; }
.quality-status-details { padding: 16px 18px 18px; border-top: 1px solid var(--line-soft); background: var(--color-surface-subtle); }
.quality-status-details h3 { margin: 0 0 10px; font-size: 17px; }
.quality-status-details dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin: 0; background: var(--line-soft); }
.quality-status-details dl > div { min-width: 0; display: grid; gap: 4px; padding: 10px; background: var(--surface); }
.quality-status-details dt { color: var(--muted); font-size: 12px; }
.quality-status-details dd { margin: 0; overflow-wrap: anywhere; font-size: 12px; font-weight: 800; }
.quality-status-details p,
.quality-status-details li { color: var(--muted); font-size: 12px; line-height: 1.5; }
.company-caveats { margin-top: 9px; padding: 0; }
.company-caveats > summary { min-height: 52px; display: flex; align-items: center; padding: 10px 16px; color: var(--teal); font-size: 12px; font-weight: 850; cursor: pointer; list-style: none; }
.company-caveats > summary::-webkit-details-marker { display: none; }
.company-caveats > div { padding: 0 18px 18px; border-top: 1px solid var(--line-soft); }
.company-quality-grid > article,
.company-caveats { padding: 18px; }
.company-quality-grid h3,
.company-caveats h3 { margin: 3px 0 10px; font-size: 18px; }
.company-quality-grid dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: 0; background: var(--line-soft); }
.company-quality-grid dl > div { min-width: 0; display: grid; gap: 4px; padding: 10px; background: var(--surface); }
.company-quality-grid dl > div:last-child:nth-child(odd) { grid-column: 1 / -1; }
.company-quality-grid dt { color: var(--muted); font-size: var(--font-xs); }
.company-quality-grid dd { margin: 0; overflow-wrap: anywhere; font-size: 12px; font-weight: 800; }
.company-quality-grid p,
.company-quality-grid li,
.company-caveats li { color: var(--muted); font-size: 12px; line-height: 1.5; }
.company-aliases,
.quality-windows { margin-top: 14px; }
.company-aliases > b,
.quality-windows > b { color: var(--muted); font-size: var(--font-xs); }
.company-aliases ul,
.quality-windows ul { margin: 6px 0 0; padding-left: 18px; }
.quality-windows > span { display: block; margin-top: 5px; color: var(--muted-2); font-size: 12px; }
.company-caveats { margin-top: 9px; }
.company-caveats ul { margin: 0; padding-left: 18px; }




.timeline-panel { margin-top: 9px; overflow: visible; }
.timeline-header { align-items: start; }
.timeline-header > div:first-child { max-width: 680px; }
.timeline-header p { margin: 6px 0 0; color: var(--muted); font-size: var(--font-xs); line-height: 1.45; }

.timeline-controls { display: flex; align-items: end; gap: 9px; }
.timeline-controls label, .timeline-controls fieldset { margin: 0; border: 0; padding: 0; }
.timeline-controls label, .timeline-controls legend { color: var(--muted); font-size: var(--font-xs); font-weight: 800; }
.timeline-controls label { display: grid; gap: 4px; }
.timeline-controls select {
  min-height: 42px;
  max-width: 190px;
  padding: 0 31px 0 10px;
  border: 1px solid var(--line);
  border-radius:var(--radar-radius-control);
  background: var(--surface-2);
  color: var(--text);
  font-size: var(--font-xs);
}

.timeline-controls fieldset { display: flex; flex-wrap: wrap; gap: 3px; padding: 3px; border: 1px solid var(--line); border-radius:var(--radar-radius-panel); }
.timeline-controls legend { padding: 0 4px; }
.timeline-controls button { min-height: 34px; padding: 0 10px; font-size: var(--font-xs); }

.party-picker {
  position: relative;
  /* Fast 230px klippte "Alla ägare och namngrupper" när typskalan blev
     responsiv. Bredden får följa texten, med samma golv som förut. */
  width: max-content;
  min-width: 230px;
  max-width: 340px;
  display: grid;
  gap: 4px;
}
.party-picker .control-label {
  color: var(--muted);
  font-size: var(--font-xs);
  font-weight: 800;
}
.timeline-controls .party-picker-toggle {
  width: 100%;
  min-height: 44px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  padding: 0 11px;
  border: 1px solid var(--line);
  border-radius:var(--radar-radius-control);
  background: var(--surface-2);
  color: var(--text);
  text-align: left;
}
.party-picker-toggle > span {
  overflow: hidden;
  font-size: var(--font-xs);
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.party-picker-toggle > i {
  color: var(--teal);
  font-size: 15px;
  font-style: normal;
  transition: transform .15s ease;
}
.party-picker-toggle[aria-expanded='true'] {
  border-color: rgba(67, 223, 210, .55);
  box-shadow: 0 0 0 3px rgba(67, 223, 210, .08);
}
.party-picker-toggle[aria-expanded='true'] > i { transform: rotate(180deg); }
.party-picker-menu {
  position: absolute;
  top: calc(100% + 7px);
  right: 0;
  z-index: 12;
  width: min(560px, calc(100vw - 30px));
  max-height: min(520px, calc(100vh - 150px));
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  gap: 7px;
  padding: 11px;
  border: 1px solid rgba(67, 223, 210, .38);
  border-radius:var(--radar-radius-panel);
  background: var(--surface-2);
  box-shadow: 0 20px 48px rgba(0, 0, 0, .55);
}
.party-picker-menu[hidden] { display: none; }
.party-picker-menu > label {
  color: var(--muted);
  font-size: var(--font-xs);
  font-weight: 800;
}
.party-picker-menu input {
  width: 100%;
  min-height: 42px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius:var(--radar-radius-control);
  background: var(--surface);
  color: var(--text);
  font: 700 11px Manrope, sans-serif;
}
.party-picker-menu input:focus-visible {
  border-color: var(--teal);
  outline: 2px solid rgba(67, 223, 210, .2);
  outline-offset: 1px;
}
.party-picker-options {
  min-height: 0;
  display: grid;
  align-content: start;
  gap: 5px;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.timeline-controls .party-picker-option {
  min-height: 58px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px 14px;
  padding: 9px 10px;
  border: 1px solid var(--line-soft);
  border-radius:var(--radar-radius-control);
  background: var(--surface-2);
  color: var(--text);
  text-align: left;
}
.party-picker-option[hidden] { display: none; }
.party-picker-option:hover,
.party-picker-option:focus-visible {
  border-color: rgba(67, 223, 210, .52);
  background: var(--color-accent-soft);
  outline: none;
}
.party-picker-option[aria-selected='true'] {
  border-color: var(--teal);
  background: rgba(67, 223, 210, .1);
}
.party-picker-option > span { min-width: 0; display: grid; gap: 2px; }
.party-picker-option > span:nth-child(2) { justify-items: end; text-align: right; }
.party-picker-option b {
  overflow-wrap: anywhere;
  font-size: 12px;
  line-height: 1.35;
}
.party-picker-option small { color: var(--muted); font-size: var(--font-compact); line-height: 1.35; }
.party-picker-option em {
  grid-column: 1 / -1;
  color: var(--gold);
  font-size: var(--font-compact);
  font-style: normal;
}
.party-picker-empty {
  margin: 0;
  padding: 10px;
  color: var(--muted);
  font-size: var(--font-xs);
  text-align: center;
}
.party-picker-empty[hidden] { display: none; }

.timeline-chart { padding: 12px 14px 15px; }
.timeline-reading-guide {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 10px;
  padding: 11px 13px;
  border: 1px solid var(--line);
  border-radius:var(--radar-radius-panel);
  background: var(--color-surface-subtle);
}
.timeline-reading-guide > div:first-child { display: grid; gap: 3px; }
.timeline-reading-guide b { color: var(--text); font-size: 12px; }
.timeline-reading-guide span { color: var(--muted); font-size: var(--font-xs); line-height: 1.45; }
.timeline-reading-guide.selection-required {
  border-color: rgba(255, 200, 90, .28);
  background: linear-gradient(90deg, rgba(255, 200, 90, .09), rgba(19, 48, 72, .34));
}
/* Tolkningsvillkor för diagrammet: samma form som identitetsnoten, men
   neutral ton – det är ett villkor för läsningen, inte en varning. */
.source-reading-note {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  margin: 11px 14px 0;
  padding: 10px 12px;
  border: 1px solid rgba(137, 164, 202, .26);
  border-radius:var(--radar-radius-control);
  background: color-mix(in srgb, var(--surface) 84%, transparent);
  font-size: var(--font-xs);
  line-height: 1.45;
}
.source-reading-note b { color: var(--teal); white-space: nowrap; }
.source-reading-note span { color: var(--muted); }

.identity-resolution-note {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  margin: 11px 14px 0;
  padding: 10px 12px;
  border: 1px solid rgba(255, 200, 90, .3);
  border-radius:var(--radar-radius-control);
  background: var(--gold-soft);
  font-size: var(--font-xs);
  line-height: 1.45;
}
.identity-resolution-note b { color: var(--gold); }
.identity-resolution-note span { color: var(--muted); }
.identity-resolution-note.possible-alias {
  border-color: rgba(141, 184, 255, .38);
  background: linear-gradient(90deg, rgba(141, 184, 255, .11), rgba(255, 200, 90, .06));
}
.identity-resolution-note.possible-alias b { color: var(--blue); }
.identity-resolution-note details {
  grid-column: 2;
  margin-top: 6px;
}
.identity-resolution-note summary {
  width: fit-content;
  color: var(--teal);
  font-weight: 850;
  cursor: pointer;
}
.identity-resolution-note ul {
  display: grid;
  gap: 3px;
  margin: 7px 0 0;
  padding-left: 18px;
}
.identity-resolution-note li { overflow-wrap: anywhere; }
.timeline-selection-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid var(--line);
  border-radius:var(--radar-radius-panel);
  background: var(--surface-3);
  overflow: hidden;
  margin: 0 0 10px;
}
.timeline-selection-summary > div {
  min-width: 0;
  display: grid;
  align-content: center;
  gap: 3px;
  padding: 10px 12px;
  border-right: 1px solid var(--line-soft);
}
.timeline-selection-summary > div:nth-child(4) { border-right: 0; }
.timeline-selection-summary span {
  color: var(--muted);
  font-size: var(--font-compact);
  font-weight: 850;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.timeline-selection-summary b {
  overflow-wrap: anywhere;
  color: var(--text);
  font-size: 12px;
}
.timeline-selection-summary small {
  color: var(--muted-2);
  font-size: var(--font-compact);
  line-height: 1.35;
}
.timeline-selection-summary > p {
  grid-column: 1 / -1;
  margin: 0;
  padding: 7px 12px;
  border-top: 1px solid var(--line-soft);
  color: var(--muted);
  font-size: var(--font-compact);
  line-height: 1.4;
}
.timeline-key { display: flex; flex-wrap: wrap; justify-content: end; gap: 11px; }
.timeline-key span { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
.timeline-key i { width: 18px; height: 0; border-top: 3px solid; }
.timeline-key i.shares { border-color: var(--muted); }
.timeline-key i.votes { border-color: var(--muted); border-top-style: dashed; }
.timeline-key i.history { border-color: var(--blue); border-top-style: dashed; }
.owner-series-legend {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 7px;
  margin: 0 0 10px;
}
.owner-series-key {
  min-width: 0;
  min-height: 48px;
  display: grid;
  grid-template-columns: 12px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  padding: 7px 9px;
  border: 1px solid rgba(96, 145, 178, .2);
  border-radius:var(--radar-radius-control);
  background: var(--surface-3);
  color: var(--text);
  text-align: left;
  cursor: pointer;
}
.owner-series-key:hover,
.owner-series-key:focus-visible {
  border-color: var(--series-color);
  background: var(--color-surface-subtle);
  outline: none;
}
.owner-series-key > i {
  width: 10px;
  height: 10px;
  border-radius:50%;
  background: var(--series-color);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--series-color), transparent 78%);
}
.owner-series-key > span { min-width: 0; display: grid; gap: 1px; }
.owner-series-key b {
  overflow: hidden;
  color: var(--text);
  font-size: var(--font-xs);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.owner-series-key small { color: var(--muted); font-size: var(--font-compact); }
.event-overview-key { display: flex; flex-wrap: wrap; justify-content: end; gap: 11px; }
.event-overview-key span { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
.event-overview-key i { width: 9px; height: 9px; border-radius:50%; }
.event-overview-key i.up { background: var(--teal); }
.event-overview-key i.down { background: var(--red); }
.event-overview-key i.mixed { background: var(--gold); }
.event-overview-key i.unchanged { background: var(--color-neutral); }
.event-overview-key i.unknown { background: var(--muted-2); }
.event-overview-key i.correction { background: var(--red); border: 2px solid var(--gold); }
/* Ingen bredkap: viewBoxen skalar med bredden, så en bredare panel ger både
   större staplar och större text. Kapet på 1200 px lämnade 656 px död yta
   vid 1920 och tvingade texten att renderas i 11 px. */
.timeline-chart svg { width: 100%; height: auto; margin-inline: auto; display: block; overflow: hidden; }
.timeline-chart svg text { fill: var(--muted); font: 11px Manrope, sans-serif; }
.timeline-chart svg .lane-title { fill: var(--text); font-weight: 900; letter-spacing: .12em; }
.timeline-chart svg .lane-subtitle { fill: var(--muted-2); font-size: var(--font-xs); font-weight: 700; }
.chart-lane-bg { fill: rgba(8, 25, 40, .5); stroke: rgba(59, 104, 135, .22); stroke-width: 1; pointer-events: none; }
.chart-grid { stroke: rgba(93, 137, 169, .16); stroke-width: 1; stroke-dasharray: 4 7; pointer-events: none; }
.observation-history-series path {
  fill: none;
  stroke: var(--series-color, var(--teal));
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: .62;
}
.observation-history-series { pointer-events: none; }
.observation-history-series.votes path { stroke-dasharray: 8 5; }
.observation-history-series.possible-alias.shares path { stroke-dasharray: 11 6; }
.observation-history-series.possible-alias.votes path { stroke-dasharray: 3 5; }
.series-party-label {
  fill: var(--color-text) !important;
  stroke: var(--surface);
  stroke-width: 4px;
  paint-order: stroke;
  font-size: var(--font-xs) !important;
  font-weight: 850 !important;
}
.observation-segment { stroke-width: 2; stroke-linecap: round; }
.observation-point .observation-segment.shares,
.observation-point .observation-segment.votes { stroke: var(--series-color, var(--teal)); }
.observation-segment.correction { stroke: var(--red); stroke-dasharray: 5 4; }
.observation-segment.derived { stroke-dasharray: 3 3; }
.observation-before { fill: var(--surface); stroke-width: 2; }
.observation-point .observation-before.shares,
.observation-point .observation-before.votes { stroke: var(--series-color, var(--teal)); }
.observation-before.correction { stroke: var(--red); }
.observation-before.derived { stroke-dasharray: 2 2; }
.observation-after { stroke: var(--color-text); stroke-width: 1.5; pointer-events: none; }
.observation-point .observation-after.shares,
.observation-point .observation-after.votes { fill: var(--series-color, var(--teal)); }
.observation-after.correction { fill: var(--red); }
.observation-hit-target {
  fill: transparent;
  stroke: transparent;
  stroke-width: 1;
  cursor: pointer;
  pointer-events: all;
}
.observation-mark:focus-visible {
  outline: none;
  stroke: rgba(255, 200, 90, .9);
  stroke-width: 2;
}
.observation-tooltip {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity .12s ease;
}
.observation-mark:focus + .observation-tooltip,
.observation-mark.is-pointer-nearest + .observation-tooltip {
  visibility: visible;
  opacity: 1;
}
.observation-tooltip rect {
  fill: var(--color-surface-raised);
  stroke: var(--color-border-strong);
  stroke-width: 1;
  filter: drop-shadow(0 8px 13px rgba(0, 0, 0, .38));
}
.observation-tooltip text {
  fill: var(--color-text-secondary) !important;
  font-size: 12px !important;
  font-weight: 650 !important;
}
.observation-tooltip .tooltip-party {
  fill: var(--text) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}
/* Följer viewBoxens 1200x132. Ett fast min-height sträcker ut rutan förbi
   sitt eget bildförhållande och lägger tillbaka den tomma ytan. */
.event-overview svg { min-height: 0; }
.event-overview-mobile-list { display: none; }
.event-overview-axis { stroke: rgba(145, 167, 187, .5); stroke-width: 2; }
.event-overview-marker.single { cursor: pointer; }
.event-overview-marker.cluster { cursor: help; }
.event-overview-marker:focus-visible { outline: none; }
.event-overview-marker line { stroke: rgba(145, 167, 187, .34); stroke-width: 2; stroke-dasharray: 4 4; }
.event-overview-interaction-layer {
  fill: transparent;
  stroke: transparent;
  pointer-events: all;
  cursor: pointer;
}
.event-overview-marker.activity-week { cursor: pointer; }
.event-overview-marker.activity-week:focus-visible .activity-segment,
.event-overview-marker.activity-week.is-pointer-nearest .activity-segment {
  filter: brightness(1.25) drop-shadow(0 0 5px rgba(67, 223, 210, .4));
}
.activity-segment { pointer-events: none; }
.activity-segment.up { fill: var(--teal); }
.activity-segment.down { fill: var(--red); }
.activity-segment.mixed { fill: var(--gold); }
.activity-segment.unchanged { fill: var(--color-neutral); }
.activity-segment.unknown { fill: var(--muted-2); }
.activity-segment.correction { fill: var(--color-ownership); }
.event-overview-marker .event-overview-dot { fill: var(--muted-2); stroke: var(--color-text); stroke-width: 3; }
.event-overview-marker text {
  fill: var(--text) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}
.event-overview-marker .event-overview-count {
  fill: var(--text) !important;
  font-size: var(--font-xs) !important;
  pointer-events: none;
}
.event-overview-key .count-key {
  color: var(--muted-2);
  font-weight: 800;
}
.event-overview-tooltip {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity .12s ease;
}
.event-overview-tooltip.is-visible {
  visibility: visible;
  opacity: 1;
}
.event-overview-marker[aria-expanded='true'] .activity-segment {
  stroke: var(--gold);
  stroke-width: 2;
  filter: brightness(1.15) drop-shadow(0 0 5px rgba(255, 200, 90, .32));
}
.event-overview-tooltip rect {
  fill: var(--color-surface-raised);
  stroke: var(--color-border-strong);
  stroke-width: 1;
  filter: drop-shadow(0 8px 13px rgba(0, 0, 0, .38));
}
.event-overview-tooltip text {
  fill: var(--color-text-secondary) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}
.event-overview-tooltip .tooltip-title {
  fill: var(--text) !important;
  font-weight: 900 !important;
}
.event-overview-marker.up .event-overview-dot { fill: var(--teal); }
.event-overview-marker.down .event-overview-dot { fill: var(--red); }
.event-overview-marker.mixed .event-overview-dot,
.event-overview-marker.unknown .event-overview-dot,
.event-overview-marker.unchanged .event-overview-dot { fill: var(--gold); }
.event-overview-marker.correction .event-overview-dot { fill: var(--red); stroke: var(--gold); stroke-dasharray: 3 2; }
.event-overview-marker:hover .event-overview-dot,
.event-overview-marker:focus-visible .event-overview-dot {
  r: 13px;
  filter: drop-shadow(0 0 9px rgba(67, 223, 210, .7));
}
.event-overview-hint {
  margin: -5px 12px 8px;
  color: var(--muted);
  font-size: var(--font-xs);
  line-height: 1.45;
  text-align: center;
}
.event-cluster-panel {
  margin: 3px 12px 12px;
  border: 1px solid rgba(67, 223, 210, .24);
  border-radius:var(--radar-radius-panel);
  background: var(--surface-2);
}
.event-cluster-panel[hidden] { display: none; }
.event-cluster-panel header {
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 13px;
  border-bottom: 1px solid var(--line-soft);
}
.event-cluster-panel h4 { margin: 2px 0 0; font-size: 14px; }
.event-cluster-panel header small {
  display: block;
  max-width: 760px;
  margin-top: 4px;
  color: var(--muted);
  font-size: var(--font-compact);
  font-weight: 500;
  line-height: 1.4;
}
.event-cluster-panel header > b { color: var(--teal); font-size: 12px; white-space: nowrap; }
.event-cluster-panel > .event-cluster-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(420px, 1fr));
  gap: 10px;
  padding: 12px;
}
.event-cluster-panel .event-cluster-card {
  min-width: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 11px;
  padding: 14px;
  border: 1px solid var(--line-soft);
  border-radius:var(--radar-radius-panel);
  background: var(--surface-2);
  color: var(--text);
  text-align: left;
}
.event-cluster-panel .event-cluster-card:hover {
  border-color: rgba(67, 223, 210, .32);
  background: var(--surface-2);
}
.event-cluster-panel .event-cluster-card small { color: var(--muted); font-size: var(--font-compact); line-height: 1.35; }
.event-cluster-meta,
.event-cluster-content,
.event-cluster-title,
.event-cluster-reason,
.event-cluster-crossings,
.event-cluster-action { display: grid; gap: 3px; }
.event-cluster-meta {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: baseline;
  padding-bottom: 9px;
  border-bottom: 1px solid var(--line-soft);
}
.event-cluster-meta > b { font-size: 12px; }
.event-cluster-meta > small { text-align: right; }
.event-cluster-title > b { font-size: 12px; }
.event-cluster-title > small { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.event-cluster-title .direction-badge { min-height: 22px; padding: 3px 8px; font-size: var(--font-compact); }
.event-cluster-content { gap: 9px; }
.event-cluster-values {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}
.event-cluster-dimension {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 7px 8px;
  border: 1px solid var(--line-soft);
  border-radius:var(--radar-radius-control);
  background: var(--surface-3);
}
.event-cluster-dimension b { font-size: var(--font-xs); }
.event-cluster-dimension em {
  color: var(--muted);
  font-size: var(--font-compact);
  font-style: normal;
}
.event-cluster-reason b,
.event-cluster-crossings b {
  color: var(--text-soft);
  font-size: var(--font-xs);
  font-weight: 650;
}
.event-cluster-action {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--line-soft);
}
.event-cluster-action > span { display: grid; gap: 2px; }
.event-cluster-action strong { color: var(--teal); font-size: var(--font-xs); white-space: nowrap; }
.event-cluster-open {
  min-height: 36px;
  padding: 0 11px;
  border: 1px solid rgba(67, 223, 210, .35);
  border-radius:var(--radar-radius-control);
  background: var(--teal-soft);
  color: var(--teal);
  font-size: var(--font-xs);
  font-weight: 900;
  cursor: pointer;
  white-space: nowrap;
}
.event-cluster-open:hover,
.event-cluster-open:focus-visible {
  border-color: var(--teal);
  background: rgba(67, 223, 210, .18);
}

.chart-legend {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  margin: 3px 6px 0;
  padding: 9px 11px;
  border-top: 1px solid var(--line-soft);
  color: var(--muted);
  font-size: var(--font-xs);
}
.chart-legend > div { display: flex; flex-wrap: wrap; gap: 13px; }
.chart-legend span { display: inline-flex; align-items: center; gap: 5px; }
.chart-legend p { margin: 0; line-height: 1.45; text-align: right; }
.chart-legend i { width: 9px; height: 9px; border-radius:50%; }
.chart-legend i.after { background: var(--teal); border: 2px solid var(--color-text); }
.chart-legend i.shares { background: var(--teal); }
.chart-legend i.votes { background: var(--gold); }
.chart-legend i.history {
  width: 15px;
  height: 0;
  border-top: 2px dashed var(--blue);
  border-radius:0;
}
.chart-legend i.before { border: 2px solid var(--color-text-secondary); background: var(--surface); }
.chart-legend i.before.derived { border-style: dashed; border-color: var(--teal); }
.chart-legend i.correction { background: var(--red); }
.chart-legend i.event { width: 0; height: 0; border-left: 5px solid transparent; border-right: 5px solid transparent; border-top: 9px solid var(--color-neutral); border-radius:0; }

.accessible-data { margin: 12px 4px 0; border-top: 1px solid var(--line-soft); padding-top: 10px; color: var(--muted); font-size: var(--font-xs); }
.accessible-data summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; font-weight: 800; }
.table-scroll { overflow-x: auto; }
.accessible-data table { width: 100%; min-width: 620px; margin-top: 9px; border-collapse: collapse; }
.accessible-data th, .accessible-data td { padding: 8px; border-bottom: 1px solid var(--line-soft); text-align: left; }
.accessible-data button { min-height: 44px; padding-block: 0; }

.signal-profile-panel {
  margin-top: 9px;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 0, rgba(67, 223, 210, .075), transparent 22rem),
    var(--surface);
}

.signal-profile-unavailable { padding: 20px; }
.signal-profile-unavailable h3 { margin: 5px 0; }
.signal-profile-unavailable p { max-width: 680px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }

.signal-profile-header {
  min-height: 94px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 18px 20px;
  border-bottom: 1px solid var(--line-soft);
}

.signal-profile-header > div:first-child { min-width: 0; }
.signal-profile-header h2 { margin: 4px 0 3px; font-size: clamp(18px, 2vw, 25px); }
.signal-profile-header p { max-width: 760px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }

.signal-period-switch {
  flex: none;
  display: flex;
  padding: 3px;
  border: 1px solid var(--line);
  border-radius:999px;
  background: var(--surface);
}

.signal-period-switch button {
  min-width: 58px;
  min-height: 38px;
  border: 0;
  border-radius:999px;
  padding: 0 12px;
  background: transparent;
  color: var(--muted);
  font-size: var(--font-xs);
  font-weight: 900;
  cursor: pointer;
}

.signal-period-switch button[aria-pressed='true'] {
  background: var(--teal);
  color: var(--color-on-accent);
  box-shadow: 0 3px 18px rgba(67, 223, 210, .16);
}

.signal-synthesis {
  display: grid;
  grid-template-columns: 210px minmax(420px, 1fr);
  align-items: stretch;
  border-bottom: 1px solid var(--line-soft);
  background: var(--surface-2);
}

.signal-synthesis > div { min-width: 0; padding: 15px 18px; }
.signal-synthesis > div + div { border-left: 1px solid var(--line-soft); }
.signal-state { display: grid; align-content: center; gap: 7px; border-left: 3px solid var(--muted-2); }
.signal-state span {
  color: var(--muted);
  font-size: var(--font-xs);
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.signal-state strong { font-size: 16px; line-height: 1.2; }
.signal-synthesis.aligned-increase .signal-state { border-left-color: var(--teal); background: var(--teal-soft); }
.signal-synthesis.aligned-decrease .signal-state { border-left-color: var(--red); background: var(--red-soft); }
.signal-synthesis.divergent .signal-state,
.signal-synthesis.mixed .signal-state { border-left-color: var(--gold); background: var(--gold-soft); }
.signal-synthesis.insider-only .signal-state { border-left-color: var(--blue); background: rgba(99, 182, 255, .08); }
.signal-synthesis.ownership-only .signal-state { border-left-color: var(--color-ownership); background: rgba(169, 149, 255, .08); }
.signal-narrative h3 { margin: 0 0 5px; font-size: 15px; }
.signal-narrative p,
.signal-narrative li { color: var(--muted); font-size: 13px; line-height: 1.5; }
.signal-narrative p { margin: 0; }
.signal-narrative ul { display: grid; gap: 3px; margin: 9px 0 0; padding-left: 17px; }
.signal-register-tabs {
  width: auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 12px 14px;
}
.signal-register-tabs button {
  min-width: 0;
  min-height: 82px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-content: center;
  gap: 3px 12px;
  padding: 11px 13px;
  border: 1px solid var(--line);
  border-radius: var(--radar-radius-panel);
  background: var(--surface-2);
  color: var(--text);
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.signal-register-tabs button > span { color: var(--muted); font-size: var(--font-xs); font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.signal-register-tabs button > b { grid-column: 1; overflow: hidden; font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }
.signal-register-tabs button > small { grid-column: 1; overflow: hidden; color: var(--muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.signal-register-tabs button > em { grid-column: 2; grid-row: 1 / 4; align-self: center; color: var(--muted-2); font-size: var(--font-xs); font-style: normal; font-weight: 800; text-align: right; }
.signal-register-tabs button[aria-selected='true'] { border-color: var(--color-accent); background: var(--color-accent-soft); box-shadow: inset 4px 0 0 var(--color-accent); }
.signal-register-tabs button[aria-selected='true'] > span,
.signal-register-tabs button[aria-selected='true'] > b { color: var(--color-accent-strong); }
.signal-register-tabs button:focus-visible { outline: 2px solid var(--teal); outline-offset: 2px; }
.signal-date-basis {
  min-height: 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 14px;
  border-bottom: 1px solid var(--line-soft);
  background: var(--surface-2);
}
.signal-date-basis span { color: var(--muted); font-size: var(--font-xs); font-weight: 800; }
.signal-date-basis b { color: var(--color-text-secondary); font-size: var(--font-xs); }

.signal-source-grid { display: grid; grid-template-columns: minmax(0, 1fr); }
.signal-source-lane { min-width: 0; padding-bottom: 8px; }
.signal-source-lane:not([data-register-active='true']) { display: none; }
.signal-source-lane > header {
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 18px 10px;
}
.signal-source-lane > header span { color: var(--muted); font-size: var(--font-xs); font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.signal-source-lane > header h3 { margin: 3px 0 0; font-size: 18px; }
.signal-source-lane > header a,
.signal-source-lane > header .text-button,
.signal-source-lane > header .lane-current {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--line);
  border-radius:999px;
  padding: 0 11px;
  color: var(--teal);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0;
  text-decoration: none;
  text-transform: none;
  white-space: nowrap;
}
.signal-source-lane > header .text-button { background: transparent; }
.signal-source-lane > header .lane-current { color: var(--muted); }

.signal-lane-summary {
  display: grid;
  grid-template-columns: 1.35fr repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin: 0 14px 10px;
  overflow: hidden;
  border: 1px solid var(--line-soft);
  border-radius:var(--radar-radius-control);
  background: var(--line-soft);
}
.signal-lane-summary > div { min-width: 0; display: grid; align-content: center; gap: 3px; padding: 10px; background: var(--surface); }
.signal-lane-summary > div:first-child { border-left: 3px solid var(--teal); }
.short-lane .signal-lane-summary > div:first-child { border-left-color: var(--red); }
.signal-lane-summary span,
.signal-lane-summary small { overflow: hidden; color: var(--muted); font-size: var(--font-xs); text-overflow: ellipsis; white-space: nowrap; }
.signal-lane-summary b { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.signal-lane-summary > div:first-child b { color: var(--teal); font-size: 15px; }
.short-lane .signal-lane-summary > div:first-child b { color: var(--red); }

.signal-lane-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin-inline: 14px;
  overflow: hidden;
  border: 1px solid var(--line-soft);
  border-radius:var(--radar-radius-control);
  background: var(--line-soft);
}
.signal-lane-metrics > div { min-width: 0; display: grid; gap: 3px; padding: 10px; background: var(--surface); }
.signal-lane-metrics span { overflow: hidden; color: var(--muted); font-size: var(--font-xs); font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.signal-lane-metrics b { overflow: hidden; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.signal-lane-metrics small { overflow: hidden; color: var(--muted-2); font-size: var(--font-xs); text-overflow: ellipsis; white-space: nowrap; }
.insider-lane .signal-lane-metrics > div:first-child b { color: var(--teal); }
.insider-lane .signal-lane-metrics > div:nth-child(2) b { color: var(--red); }
.ownership-lane .signal-lane-metrics > div:first-child b { color: var(--blue); }
.ownership-lane .signal-lane-metrics > div:nth-child(2) b { color: var(--color-ownership); }
.short-lane .signal-lane-metrics > div:first-child b { color: var(--red); }
.short-lane .signal-lane-metrics > div:nth-child(3) b { color: var(--gold); }

.signal-lane-note {
  margin: 9px 18px 7px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}
.signal-lane-note strong { display: block; margin-top: 3px; color: var(--gold); font-size: inherit; }
.signal-lane-note em { display:block; margin-top:4px; color:var(--color-warning); font-size:inherit; font-style:normal; }

.signal-source-events { margin: 0; padding: 0 14px; list-style: none; }
.signal-lane-details { margin-top: 7px; border-top: 1px solid var(--line-soft); }
.signal-lane-details > summary { min-height: 44px; display: flex; align-items: center; padding: 7px 18px; color: var(--teal); font-size: 12px; font-weight: 850; cursor: pointer; }
.signal-lane-details[open] > summary { border-bottom: 1px solid var(--line-soft); }
.signal-lane-details .signal-lane-metrics { margin-top: 10px; }
.signal-lane-details .signal-source-events { border-top: 1px solid var(--line-soft); }
.signal-source-event {
  min-height: 65px;
  display: grid;
  grid-template-columns: 8px minmax(0, 1.2fr) minmax(115px, .75fr) auto;
  align-items: center;
  gap: 10px;
  padding: 9px 4px;
  border-top: 1px solid var(--line-soft);
}
.signal-source-event > div,
.signal-source-event > span { min-width: 0; display: grid; gap: 2px; }
.signal-source-event b { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.owner-history-link {
  justify-self: start;
  max-width: 100%;
  overflow: hidden;
  padding: 0;
  border: 0;
  border-bottom: 1px dotted rgba(67, 223, 210, .5);
  color: var(--text);
  background: none;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: pointer;
}
.owner-history-link:hover,
.owner-history-link:focus-visible { color: var(--teal); border-bottom-color: var(--teal); }
.signal-source-event small { overflow: hidden; color: var(--muted); font-size: var(--font-xs); text-overflow: ellipsis; white-space: nowrap; }
.signal-source-event em { margin-top: 2px; color: var(--gold); font-size: var(--font-xs); font-style: normal; line-height: 1.4; }
.signal-source-event > strong,
.signal-source-event > a {
  min-width: 82px;
  color: var(--teal);
  font-size: var(--font-xs);
  font-weight: 900;
  text-align: right;
  text-decoration: none;
}
.signal-source-event > a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  padding: 0 6px;
  border-radius:var(--radar-radius-control);
}
.signal-source-event > a:hover,
.signal-source-event > a:focus-visible {
  background: rgba(67, 223, 210, .1);
  outline: 1px solid rgba(67, 223, 210, .35);
}
.signal-source-event.context-only { opacity: .82; }
.signal-direction-dot { width: 7px; height: 7px; border-radius:50%; background: var(--muted-2); }
.signal-direction-dot.increase,
.signal-timeline-marker.increase { background: var(--teal); box-shadow: 0 0 8px rgba(67, 223, 210, .45); }
.signal-direction-dot.decrease,
.signal-timeline-marker.decrease { background: var(--red); box-shadow: 0 0 8px rgba(255, 102, 130, .38); }
.signal-direction-dot.mixed,
.signal-timeline-marker.mixed { background: var(--gold); }

.signal-combined-timeline { border-top: 1px solid var(--line-soft); }
.signal-combined-timeline > summary {
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 10px 18px;
  cursor: pointer;
  list-style: none;
}
.signal-combined-timeline > summary::-webkit-details-marker { display: none; }
.signal-combined-timeline > summary span:first-child { display: grid; gap: 2px; }
.signal-combined-timeline > summary b { font-size: 12px; font-weight: 900; }
.signal-combined-timeline > summary small { color: var(--muted); font-size: 12px; font-weight: 500; }
.signal-combined-timeline > summary span:last-child { color: var(--teal); font-size: 20px; transition: transform 150ms ease; }
.signal-combined-timeline[open] > summary span:last-child { transform: rotate(45deg); }
.signal-combined-timeline ol { margin: 0; padding: 0 18px 10px; list-style: none; }
.signal-combined-timeline li {
  min-height: 54px;
  display: grid;
  grid-template-columns: 92px 9px minmax(0, 1fr) 90px;
  align-items: center;
  gap: 11px;
  border-top: 1px solid var(--line-soft);
}
.signal-combined-timeline time { display: grid; gap: 2px; color: var(--muted); font-size: 12px; }
.signal-combined-timeline time small {
  font-size: var(--font-compact);
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1.2;
  text-transform: uppercase;
}
.signal-timeline-marker { width: 8px; height: 8px; border-radius:50%; background: var(--muted-2); }
.signal-combined-timeline li > div { min-width: 0; display: grid; gap: 2px; }
.signal-combined-timeline li b { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.signal-combined-timeline li small { color: var(--muted); font-size: var(--font-xs); }
.signal-combined-timeline li em { color: var(--gold); font-size: var(--font-xs); font-style: normal; }
.signal-combined-timeline li > span:last-child { color: var(--muted); font-size: var(--font-xs); font-weight: 800; text-align: right; }
.signal-combined-timeline li.context-only { opacity: .78; }
.company-event-filters button.secondary { color: var(--muted); }
.company-table-controls { border-top: 1px solid var(--line-soft); }

.party-table-wrap { width: 100%; overflow-x: auto; }
.party-table { width: 100%; min-width: 920px; border-collapse: collapse; table-layout: fixed; }
.party-table th,
.party-table td { padding: 11px 12px; border-bottom: 1px solid var(--line-soft); font-size: 12px; line-height: 1.45; text-align: left; vertical-align: top; }
.party-table th { background: var(--surface-3); color: var(--muted); font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.party-table th:first-child { width: 25%; }
.party-table th:nth-child(2) { width: 23%; }
.party-table th:nth-child(3) { width: 12%; }
.party-table th:nth-child(4),
.party-table th:nth-child(5) { width: 10%; text-align: right; }
.party-table td.numeric { text-align: right; font-variant-numeric: tabular-nums; }
.party-table button { min-height: 44px; display: inline-flex; align-items: center; padding: 0 8px; border: 0; border-radius: var(--radar-radius-control); background: transparent; color: var(--text); font: inherit; font-weight: 850; text-align: left; cursor: pointer; }
.party-table button:hover,
.party-table button:focus-visible { background: var(--teal-soft); color: var(--teal); }
.party-mobile-meta { display: none; }
.party-table td > span,
.party-table td > time { color: var(--muted); }
.party-table td > small { display: block; margin-top: 3px; color: var(--gold); font-size: 12px; }

.empty-state {
  min-height: 220px;
  display: grid;
  place-items: center;
  align-content: center;
  padding: 20px;
  color: var(--muted);
  text-align: center;
}
.empty-state > span { color: var(--teal); font-size: 26px; }
.empty-state b { margin-top: 5px; color: var(--text); font-size: 13px; }
.empty-state p { max-width: 450px; margin: 4px 0 0; font-size: 12px; line-height: 1.5; }

.signal-source-lane > .empty-state {
  min-height: 124px;
  padding: 14px 18px 18px;
}

.signal-source-lane > .empty-state p { font-size: 12px; }

.method-hero { max-width: 920px; padding: 33px 4px 26px; }
.method-hero h2 { font-size: clamp(34px, 4vw, 54px); }
.method-hero p { font-size: 14px; }
.method-meta { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 18px 0 0; }
.method-meta > div { display: grid; gap: 3px; }
.method-meta dt { color: var(--muted); font-size: 12px; }
.method-meta dd { margin: 0; color: var(--text); font-size: 12px; font-weight: 850; }
.method-anchor-links { display: flex; gap: 5px; margin-bottom: 10px; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: thin; }
.method-anchor-links a { min-height: 44px; display: inline-flex; flex: none; align-items: center; padding: 0 12px; border: 1px solid var(--line); border-radius: var(--radar-radius-control); background: var(--surface); color: var(--muted); font-size: 12px; font-weight: 800; text-decoration: none; scroll-snap-align: start; }
.method-anchor-links a:hover { border-color: var(--color-accent); color: var(--teal); }

.method-flow {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
}

.method-flow article {
  min-height: 170px;
  display: flex;
  gap: 13px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius:var(--radar-radius-panel);
  background: linear-gradient(145deg, var(--color-info-soft), var(--color-surface));
}

.method-flow article > span { color: var(--teal); font-size: 12px; font-weight: 900; }
.method-flow b { font-size: 15px; }
.method-flow p { margin: 7px 0 0; color: var(--muted); font-size: 12px; line-height: 1.55; }

.method-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin-top: 9px;
}

.method-grid .panel { padding: 20px; }
.method-grid dl { margin: 14px 0 0; display: grid; gap: 0; }
.method-grid dl div { display: grid; grid-template-columns: 150px 1fr; gap: 14px; padding: 10px 0; border-bottom: 1px solid var(--line-soft); }
.method-grid dt { color: var(--text); font-size: 12px; font-weight: 800; }
.method-grid dd { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }

.check-list { display: grid; gap: 9px; margin: 14px 0 0; padding: 0; list-style: none; }
.check-list li { position: relative; padding-left: 18px; color: var(--muted); font-size: 12px; line-height: 1.55; }
.check-list li::before { content: '—'; position: absolute; left: 0; color: var(--gold); }
.source-method p { color: var(--muted); font-size: 12px; line-height: 1.6; }
.source-method a { color: var(--teal); font-size: 12px; font-weight: 800; }
.source-method a { min-height: 44px; display: inline-flex; align-items: center; }
.methodology-catalog { margin-top: 10px; padding: 20px; }
.methodology-catalog > h3 { margin: 5px 0 16px; font-size: 20px; }
.methodology-search { display: flex; align-items: end; justify-content: space-between; gap: 14px; margin-bottom: 14px; }
.methodology-search label { width: min(520px, 100%); display: grid; gap: 5px; color: var(--muted); font-size: 12px; font-weight: 800; }
.methodology-search input { min-height: 44px; padding: 0 12px; border: 1px solid var(--line); border-radius: var(--radar-radius-control); background: var(--surface-2); color: var(--text); font: inherit; font-size: 13px; }
.methodology-search > span { min-height: 44px; display: inline-flex; align-items: center; color: var(--muted); font-size: 12px; }
.methodology-chapters { display: grid; gap: 8px; }
.methodology-chapter { overflow: hidden; border: 1px solid var(--line-soft); border-radius: var(--radar-radius-control); background: var(--color-surface-subtle); }
.methodology-chapter > summary { min-height: 52px; display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 8px 12px; cursor: pointer; list-style: none; }
.methodology-chapter > summary::-webkit-details-marker { display: none; }
.methodology-chapter > summary > span { color: var(--teal); font-size: 12px; font-weight: 900; }
.methodology-chapter > summary > strong { color: var(--text); font-size: 14px; }
.methodology-chapter > summary > small { color: var(--muted); font-size: 12px; }
.methodology-chapter[open] > summary { border-bottom: 1px solid var(--line-soft); background: var(--color-accent-soft); }
.methodology-catalog ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin: 0; padding: 10px; list-style: none; }
.methodology-catalog li { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 9px; padding: 10px; border: 1px solid var(--line-soft); border-radius:var(--radar-radius-control); }
.methodology-catalog li > span { color: var(--teal); font-size: var(--font-xs); font-weight: 900; }
.methodology-catalog li b { font-size: 12px; }
.methodology-catalog li p { margin: 3px 0 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.method-reference { margin-top: 9px; overflow: hidden; }
.method-reference > summary { min-height: 52px; display: flex; align-items: center; padding: 10px 16px; color: var(--teal); font-size: 13px; font-weight: 850; cursor: pointer; list-style: none; }
.method-reference > summary::-webkit-details-marker { display: none; }
.method-reference > dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: 0; padding: 1px; background: var(--line-soft); }
.method-reference > dl > div { padding: 12px 14px; background: var(--surface); }
.method-reference dt { font-size: 12px; font-weight: 850; }
.method-reference dd { margin: 4px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.method-reference > div { padding: 14px 16px 18px; border-top: 1px solid var(--line-soft); }
.method-reference > div time { color: var(--teal); font-size: 12px; font-weight: 850; }
.method-reference > div p { margin: 6px 0 0; color: var(--muted); font-size: 12px; line-height: 1.55; }

.source-footer {
  display: grid;
  grid-template-columns: .8fr 2fr .7fr;
  gap: 28px;
  padding: 23px 5px 0;
  color: var(--muted-2);
  font-size: var(--font-xs);
  line-height: 1.45;
}
.source-footer strong { color: var(--muted); }

.product-help-open,
.detail-open { overflow: hidden; }

.product-help-backdrop {
  position: fixed;
  inset: 0;
  z-index: 300;
  background: var(--color-overlay);
  backdrop-filter: blur(7px);
}

.product-help-sheet {
  width: min(1120px, calc(100vw - 32px));
  height: min(900px, calc(100vh - 32px));
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  position: fixed;
  inset: 50% auto auto 50%;
  z-index: 301;
  transform: translate(-50%, -50%);
  overflow: hidden;
  border: 1px solid var(--color-border-strong);
  border-radius:var(--radar-radius-hero);
  background:
    radial-gradient(circle at 80% 0, rgba(67, 223, 210, .09), transparent 27rem),
    var(--color-page-bg);
  box-shadow: 0 34px 100px rgba(0, 0, 0, .54);
}

.product-help-header {
  min-height: 108px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 20px 24px;
  border-bottom: 1px solid var(--line);
  background: var(--surface-2);
}

.product-help-header h2 {
  margin: 0;
  font-size: clamp(27px, 3vw, 38px);
  line-height: 1;
  letter-spacing: -.04em;
}

.product-help-header p {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}

.product-help-close {
  width: 46px;
  height: 46px;
  flex: none;
  border: 1px solid var(--line);
  border-radius:50%;
  background: var(--surface-2);
  color: var(--text);
  font-size: 25px;
  line-height: 1;
  cursor: pointer;
}

.product-help-close:hover { border-color: rgba(67, 223, 210, .5); color: var(--teal); }

.product-help-layout {
  min-height: 0;
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr);
}

.product-help-nav {
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 22px 14px;
  border-right: 1px solid var(--line);
  background: var(--color-surface-subtle);
}

.product-help-nav > strong {
  margin: 0 10px 10px;
  color: var(--muted-2);
  font-size: var(--font-xs);
  letter-spacing: .12em;
  text-transform: uppercase;
}
.product-help-nav-cue { display: none; }

.product-help-nav button {
  min-height: 42px;
  border: 0;
  border-radius:var(--radar-radius-control);
  padding: 0 10px;
  background: transparent;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  text-align: left;
  cursor: pointer;
}

.product-help-nav button:hover,
.product-help-nav button:focus-visible {
  background: var(--teal-soft);
  color: var(--text);
}

.product-help-nav small {
  margin: auto 10px 0;
  color: var(--muted-2);
  font-size: var(--font-compact);
  line-height: 1.5;
}

.product-help-nav kbd {
  padding: 2px 5px;
  border: 1px solid var(--line);
  border-radius:var(--radar-radius-control);
  background: var(--surface-2);
  color: var(--text);
  font: inherit;
}

.product-help-content {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  scroll-behavior: smooth;
}

.help-section {
  padding: 30px 34px 34px;
  border-bottom: 1px solid var(--line-soft);
  scroll-margin-top: 10px;
}

.help-section:last-child { border-bottom: 0; }

.help-section > h3 {
  margin: 0 0 18px;
  font-size: clamp(22px, 2.4vw, 30px);
  line-height: 1.1;
  letter-spacing: -.035em;
}

.help-principles,
.help-quality-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.help-principles article,
.help-quality-grid article {
  min-height: 164px;
  display: grid;
  align-content: start;
  gap: 8px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius:var(--radar-radius-panel);
  background: linear-gradient(145deg, rgba(17, 42, 64, .72), rgba(8, 23, 38, .84));
}

.help-principles article > span {
  color: var(--teal);
  font-size: var(--font-xs);
  font-weight: 900;
  letter-spacing: .13em;
}

.help-principles b,
.help-quality-grid b { font-size: 14px; }

.help-principles p,
.help-quality-grid p,
.help-view-grid p,
.help-reading-steps p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}

.help-callout,
.help-warning {
  margin-top: 12px;
  padding: 14px 16px;
  border-left: 3px solid var(--teal);
  border-radius:0 var(--radar-radius-control) var(--radar-radius-control) 0;
  background: var(--teal-soft);
}

.help-callout b,
.help-warning b { font-size: 12px; }

.help-callout p,
.help-warning p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}

.help-view-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.help-view-grid article {
  min-height: 148px;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 12px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius:var(--radar-radius-panel);
  background: var(--surface-3);
}
.help-view-grid i {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius:var(--radar-radius-control);
  background: var(--teal-soft);
  color: var(--teal);
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
}
.help-view-grid b { font-size: 16px; }
.help-view-grid p { margin-top: 7px; }
.help-view-grid p strong { color: var(--color-text); }

.help-reading-steps {
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.help-reading-steps li {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: start;
  gap: 13px;
  padding: 13px 15px;
  border: 1px solid var(--line-soft);
  border-radius:var(--radar-radius-panel);
  background: var(--surface-3);
}
.help-reading-steps li > span {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(67, 223, 210, .35);
  border-radius:50%;
  color: var(--teal);
  font-size: 12px;
  font-weight: 900;
}
.help-reading-steps b { font-size: 13px; }
.help-reading-steps p { margin-top: 4px; }

.help-search {
  max-width: 620px;
  display: grid;
  gap: 6px;
}
.help-search > span:first-child {
  color: var(--muted);
  font-size: var(--font-xs);
  font-weight: 800;
}
.help-search > span:last-child {
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 0 14px;
  border: 1px solid var(--line);
  border-radius:var(--radar-radius-panel);
  background: var(--surface);
}
.help-search i { color: var(--teal); font-style: normal; }
.help-search input {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--text);
  font-size: 12px;
}
.help-search input::placeholder { color: var(--muted-2); }
.help-search:focus-within > span:last-child { border-color: rgba(67, 223, 210, .6); box-shadow: 0 0 0 3px rgba(67, 223, 210, .08); }
.help-search-status { margin: 9px 0 17px; color: var(--muted-2); font-size: var(--font-xs); }

.help-glossary { display: grid; gap: 20px; }
.help-glossary-group > h4 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 8px;
  color: var(--gold);
  font-size: 12px;
  letter-spacing: .04em;
}
.help-glossary-group > h4 span {
  min-width: 24px;
  display: inline-grid;
  place-items: center;
  padding: 3px 6px;
  border-radius:999px;
  background: var(--gold-soft);
  font-size: var(--font-compact);
}
.help-glossary-group > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.help-glossary-entry {
  min-height: 124px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius:var(--radar-radius-panel);
  background: var(--surface-3);
}
.help-glossary-entry h5 { margin: 0 0 6px; font-size: 13px; }
.help-glossary-entry p { margin: 0; color: var(--muted); font-size: var(--font-xs); line-height: 1.55; }
.help-glossary-entry small {
  display: block;
  margin-top: 9px;
  padding-top: 8px;
  border-top: 1px solid var(--line-soft);
  color: var(--color-warning);
  font-size: var(--font-compact);
  line-height: 1.5;
}
.help-glossary-entry small b { color: var(--gold); }
.help-search-empty {
  display: grid;
  gap: 5px;
  padding: 24px;
  border: 1px dashed var(--line);
  border-radius:var(--radar-radius-panel);
  color: var(--muted);
  text-align: center;
}
.help-search-empty b { color: var(--text); font-size: 13px; }
.help-search-empty span { font-size: var(--font-xs); }

.help-quality-grid article > strong { color: var(--teal); font-size: 12px; }
.help-warning { border-left-color: var(--gold); background: var(--gold-soft); }
.help-warning b { color: var(--gold); }

.help-do-dont { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.help-do-dont article {
  padding: 16px;
  border: 1px solid var(--line);
  border-radius:var(--radar-radius-panel);
  background: var(--surface-3);
}
.help-do-dont article:first-child { border-top-color: rgba(67, 223, 210, .55); }
.help-do-dont article:last-child { border-top-color: rgba(255, 200, 90, .55); }
.help-do-dont b { font-size: 13px; }
.help-do-dont ul { display: grid; gap: 8px; margin: 12px 0 0; padding-left: 18px; color: var(--muted); font-size: var(--font-xs); line-height: 1.5; }

.help-faq {
  margin-top: 8px;
  border: 1px solid var(--line);
  border-radius:var(--radar-radius-control);
  background: var(--surface-3);
}
.help-faq summary { padding: 13px 15px; color: var(--text); font-size: 12px; font-weight: 850; cursor: pointer; }
.help-faq p { margin: 0; padding: 0 15px 14px; color: var(--muted); font-size: var(--font-xs); line-height: 1.55; }
.help-source-note { margin: 18px 0 0; color: var(--muted-2); font-size: var(--font-compact); line-height: 1.5; }

.detail-backdrop { position: fixed; inset: 0; z-index: 100; background: var(--color-overlay); backdrop-filter: blur(5px); }

.detail-sheet {
  width: min(1320px, calc(100vw - 40px));
  height: min(940px, calc(100dvh - 40px));
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 101;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  border: 1px solid var(--color-border-strong);
  border-radius:var(--radar-radius-hero);
  background: var(--surface);
  box-shadow: 0 32px 90px rgba(0, 0, 0, .58), 0 0 48px rgba(67, 223, 210, .045);
  transform: translate(-50%, -50%);
}

.detail-sheet > header {
  min-height: 108px;
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 20px;
  position: sticky;
  top: 0;
  z-index: 20;
  padding: 20px 24px;
  border-bottom: 1px solid var(--line);
  background: var(--surface);
}
.detail-sheet h2 { margin: 0; font-size: 28px; letter-spacing: -.04em; }
.detail-sheet header p { margin: 6px 0 0; color: var(--muted); font-size: 12px; }
.detail-header-actions { display: flex; align-items: center; gap: 8px; }
.detail-header-actions > a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: var(--radar-radius-control);
  color: var(--teal);
  font-size: 12px;
  font-weight: 850;
  text-decoration: none;
}
.detail-close { width: 44px; height: 44px; flex: none; border: 1px solid var(--line); border-radius:50%; background: var(--surface-2); color: var(--text); font-size: 24px; cursor: pointer; }
.detail-tabs {
  display: flex;
  position: sticky;
  top: 108px;
  z-index: 19;
  overflow-x: auto;
  border-bottom: 1px solid var(--line);
  background: var(--surface);
  scrollbar-width: none;
}
.detail-tabs::-webkit-scrollbar { display: none; }
.detail-tabs button {
  min-height: 50px;
  flex: 1 0 auto;
  padding: 0 18px;
  border: 0;
  border-bottom: 3px solid transparent;
  background: transparent;
  color: var(--muted);
  font-weight: 800;
  cursor: pointer;
}
.detail-tabs button[aria-selected='true'] { border-bottom-color: var(--teal); color: var(--text); }
.detail-content { display: grid; gap: 10px; padding-bottom: 16px; }
.correction-banner { display: grid; gap: 3px; padding: 13px 24px; border-bottom: 1px solid rgba(255, 99, 127, .3); background: var(--red-soft); }
.correction-banner b { color: var(--red); font-size: 12px; }
.correction-banner span { color: var(--color-negative); font-size: 12px; line-height: 1.45; }
.detail-content > section { padding: 18px 24px; }
.detail-tab-panel { outline: none; }
.detail-tab-panel > h3 { margin-bottom: 14px; }
.detail-tab-intro { margin: -5px 0 14px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.detail-overview-facts { margin-top: 8px; }
.detail-source-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.detail-source-grid h4,
.detail-source-section h4 { margin: 0 0 9px; }
.detail-source-section { margin-top: 16px; }
.score-factor-detail { display: grid; gap: 0; margin-top: 14px; border: 1px solid var(--line); border-radius: var(--radar-radius-panel); overflow: hidden; }
.score-factor-detail > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; padding: 12px 14px; border-bottom: 1px solid var(--line-soft); }
.score-factor-detail > div.inactive { opacity: .64; }
.score-factor-detail span { display: grid; gap: 3px; }
.score-factor-detail b { font-size: 12px; }
.score-factor-detail small { color: var(--muted); font-size: var(--font-xs); line-height: 1.45; }
.score-factor-detail strong { color: var(--teal); font-size: 15px; }
.score-factor-detail > p { margin: 0; padding: 12px 14px; color: var(--text); font-size: 12px; font-weight: 900; text-align: right; }
.detail-content h3 { margin: 0 0 12px; font-size: 15px; }
.detail-narrative h3 { margin-top: 11px; font-size: 21px; }
.detail-narrative p { color: var(--muted); font-size: 12px; line-height: 1.5; }
.caveat-box { padding: 11px 13px; border-left: 3px solid var(--gold); background: var(--gold-soft); color: var(--color-warning); font-size: 12px; line-height: 1.5; }

.detail-section {
  margin: 0 16px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius:var(--radar-radius-panel);
  background: var(--surface-3);
}
.detail-section > summary {
  min-height: 66px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 18px;
  align-items: center;
  gap: 14px;
  padding: 13px 16px;
  cursor: pointer;
  list-style: none;
}
.detail-section > summary::-webkit-details-marker { display: none; }
.detail-section > summary::after {
  content: "›";
  color: var(--muted);
  font-size: 24px;
  line-height: 1;
  transform: rotate(90deg);
  transition: transform 150ms ease;
}
.detail-section[open] > summary {
  border-bottom: 1px solid var(--line-soft);
  background: var(--color-surface-subtle);
}
.detail-section[open] { overflow: visible; }
.detail-section[open] > summary::after { transform: rotate(-90deg); }
.detail-section > summary span { color: var(--text); font-size: 15px; font-weight: 850; }
.detail-section > summary small { color: var(--muted); font-size: var(--font-xs); text-align: right; }
.detail-section-body { padding: 16px; }

.fact-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.interpretation-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.fact-grid > div, .interpretation-grid > div { display: grid; gap: 4px; padding: 12px; border: 1px solid var(--line); border-radius:var(--radar-radius-control); background: var(--surface-2); }
.fact-grid span, .interpretation-grid span { color: var(--muted); font-size: var(--font-xs); }
.fact-grid b, .interpretation-grid b { font-size: 12px; line-height: 1.4; }
.fact-grid > div > small { color: var(--muted); font-size: var(--font-xs); line-height: 1.4; }
.fact-grid .holding-fact b { color: var(--text); }
.explainable {
  position: relative;
  cursor: help;
}
.explainable.is-explainable-open {
  outline: 2px solid rgba(65, 218, 207, .48);
  outline-offset: 2px;
}
.explainable-popover {
  width: min(310px, calc(100vw - 48px));
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  position: fixed;
  z-index: 160;
  padding: 13px 12px 13px 14px;
  border: 1px solid var(--color-border-strong);
  border-radius:var(--radar-radius-control);
  background: var(--color-surface-raised);
  box-shadow: var(--shadow);
  color: var(--color-text-secondary);
  font-size: var(--font-xs);
  font-weight: 550;
  line-height: 1.5;
  text-align: left;
  white-space: normal;
}
.explainable-popover p {
  margin: 0;
}
.explainable-popover button {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(216, 231, 242, .2);
  border-radius:var(--radar-radius-control);
  color: var(--color-text-secondary);
  background: rgba(216, 231, 242, .06);
  font: inherit;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}
.explainable-popover button:hover,
.explainable-popover button:focus-visible {
  border-color: var(--teal);
  color: var(--color-accent-strong);
  outline: 0;
}
.explainable-mark {
  width: 15px;
  height: 15px;
  display: inline-grid;
  place-items: center;
  margin-left: 5px;
  border: 1px solid var(--line);
  border-radius:50%;
  color: var(--muted-2);
  font-size: var(--font-xs);
  font-style: normal;
  font-weight: 900;
}
.reported-text { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 10px; }
.reported-text > div { padding: 11px; border: 1px solid var(--line); border-radius:var(--radar-radius-control); }
.reported-text b { font-size: var(--font-xs); }
.reported-text small { display: block; margin-top: 3px; color: var(--muted-2); font-size: var(--font-xs); line-height: 1.4; }
.reported-text p { margin: 5px 0 0; color: var(--muted); font-size: var(--font-xs); line-height: 1.45; white-space: pre-wrap; }
.crossing-detail { display: grid; gap: 6px; margin-top: 12px; }
.crossing-detail h4 { margin: 0; font-size: 12px; }
.crossing-detail > div { display: grid; gap: 3px; padding: 9px 11px; border-left: 3px solid var(--teal); background: var(--teal-soft); }
.crossing-detail b { font-size: var(--font-xs); }
.crossing-detail span, .muted { color: var(--muted); font-size: var(--font-xs); line-height: 1.45; }
.reason-details { margin-top: 11px; }
.reason-details > summary { color: var(--teal); cursor: pointer; font-size: var(--font-xs); font-weight: 800; }
.reason-list { display: grid; gap: 6px; margin: 11px 0 0; padding: 0; list-style: none; }
.reason-list li { display: grid; gap: 2px; padding: 9px; border: 1px solid var(--line-soft); border-radius:var(--radar-radius-control); }
.reason-list b { font-size: var(--font-xs); }
.reason-list span { color: var(--muted); font-size: var(--font-xs); line-height: 1.45; }
.method-link { margin: 11px 0 0; }
.method-link a { color: var(--teal); font-size: var(--font-xs); font-weight: 800; }
.threshold-chart { display: grid; gap: 9px; margin-top: 13px; padding: 12px; border: 1px solid var(--line); border-radius:var(--radar-radius-control); background: var(--surface-3); }
.threshold-axis { display: flex; justify-content: space-between; color: var(--muted-2); font-size: var(--font-xs); }
.threshold-row { display: grid; grid-template-columns: 48px minmax(150px, 1fr) 130px; align-items: center; gap: 8px; font-size: var(--font-xs); }
.threshold-row > b { font-size: var(--font-xs); }
.threshold-row > span { color: var(--muted); text-align: right; }
.threshold-track { height: 20px; position: relative; border-radius:999px; background: var(--color-surface-selected); }
.threshold-track > i { width: 1px; height: 100%; position: absolute; top: 0; background: rgba(255, 200, 90, .45); }
.threshold-track .before-pin, .threshold-track .after-pin { width: 10px; height: 10px; position: absolute; top: 5px; transform: translateX(-50%); border-radius:50%; }
.threshold-track .before-pin { border: 2px solid var(--color-text); background: var(--surface); z-index: 2; }
.threshold-track .before-pin.derived { border-color: var(--gold); border-style: dashed; background: var(--surface); }
.threshold-track .after-pin { background: var(--teal); box-shadow: 0 0 0 2px var(--color-text); z-index: 3; }
.threshold-key { display: flex; justify-content: flex-end; gap: 10px; color: var(--muted); font-size: var(--font-xs); }
.threshold-key span { display: inline-flex; align-items: center; gap: 4px; }
.threshold-key i { width: 8px; height: 8px; display: inline-block; border-radius:50%; }
.threshold-key i.before { border: 2px solid var(--color-text); }
.threshold-key i.before.derived { border-color: var(--gold); border-style: dashed; }
.threshold-key i.after { background: var(--teal); }
.threshold-key i.legal { width: 1px; border-radius:0; background: var(--gold); }

.detail-list, .version-list { display: grid; gap: 7px; }
.detail-list > div, .version-list > div { display: grid; gap: 3px; padding: 11px 12px; border: 1px solid var(--line); border-radius:var(--radar-radius-control); }
.version-list > div.current { border-color: rgba(67, 223, 210, .28); background: var(--teal-soft); }
.detail-list b, .version-list b { font-size: 12px; }
.detail-list span, .version-list span { color: var(--muted); font-size: var(--font-xs); }
.detail-list small, .version-list small { color: var(--muted-2); font-size: var(--font-xs); line-height: 1.45; }
.source-links { display: flex; flex-wrap: wrap; gap: 7px; }
.source-links a { min-height: 40px; display: inline-flex; align-items: center; padding: 0 12px; border: 1px solid var(--line); border-radius:var(--radar-radius-control); color: var(--teal); font-size: var(--font-xs); font-weight: 800; text-decoration: none; }
.control-path { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.control-path span { display: grid; gap: 2px; padding: 8px 10px; border: 1px solid var(--line); border-radius:var(--radar-radius-control); font-size: var(--font-xs); }
.control-path small { color: var(--muted-2); font-size: var(--font-xs); }
.control-path i { color: var(--teal); font-style: normal; }

.skeleton-view { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 14px; }
.skeleton-view div { min-height: 210px; border: 1px solid var(--line); border-radius:var(--radar-radius-panel); background: linear-gradient(100deg, var(--surface) 30%, var(--surface-2) 50%, var(--surface) 70%); background-size: 300% 100%; animation: shimmer 1.4s linear infinite; }
.view-error-state {
  min-height: 360px;
  display: grid;
  grid-template-columns: 54px minmax(0, 560px);
  place-content: center;
  gap: 18px;
  margin-top: 14px;
  padding: 34px;
  border: 1px solid rgba(255, 102, 130, .3);
  border-radius:var(--radar-radius-hero);
  background: radial-gradient(circle at 30% 0, rgba(255, 102, 130, .09), transparent 30rem), var(--surface);
}
.view-error-icon {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 102, 130, .45);
  border-radius:50%;
  background: var(--red-soft);
  color: var(--red);
  font-size: 28px;
  font-weight: 900;
}
.view-error-state h2 { margin: 4px 0 7px; font-size: 25px; }
.view-error-state p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.view-error-state details { margin: 14px 0; color: var(--muted); font-size: var(--font-xs); }
.view-error-state summary { cursor: pointer; font-weight: 800; }
.view-error-state code {
  display: block;
  margin-top: 7px;
  padding: 9px;
  border-radius:var(--radar-radius-control);
  background: var(--color-negative-soft);
  color: var(--color-negative);
  white-space: pre-wrap;
}
.view-error-state button,
.view-error-action {
  min-height: 44px;
  width: fit-content;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  border: 0;
  border-radius:var(--radar-radius-control);
  background: var(--teal);
  color: var(--color-on-accent);
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
  text-decoration: none;
}
@keyframes shimmer { to { background-position: -150% 0; } }

.broadcast-exit {
  position: fixed;
  right: max(12px, calc((100vw - min(100vw, 100vh * 16 / 9)) / 2 + 12px));
  bottom: max(12px, calc((100vh - min(100vh, 100vw * 9 / 16)) / 2 + 12px));
  z-index: 200;
  min-height: 44px;
  padding: 0 14px;
  border: 1px solid rgba(255, 200, 90, .55);
  border-radius:999px;
  background: var(--surface);
  color: var(--gold);
  font-size: var(--bc-label, 15px);
  font-weight: 900;
  cursor: pointer;
  opacity: .72;
  transition: opacity 150ms ease;
}
.broadcast-exit:hover, .broadcast-exit:focus-visible { opacity: 1; }
.broadcast-mode {
  display: grid;
  min-height: 100vh;
  place-items: center;
  overflow: hidden;
  background: var(--surface);
}
.broadcast-mode #ownership-radar-app,
.broadcast-mode #detail-root { grid-area: 1 / 1; }
.broadcast-mode .topbar,
.broadcast-mode .hero,
.broadcast-mode .source-footer,
.broadcast-mode .company-search { display: none; }
.broadcast-mode .radar-shell {
  width: min(100vw, calc(100vh * 16 / 9));
  height: min(100vh, calc(100vw * 9 / 16));
  margin: auto;
  padding: clamp(8px, 1.1vh, 14px);
}
.broadcast-mode #product-content { height: 100%; }

.company-broadcast {
  height: 100%;
  display: grid;
  grid-template-rows: clamp(54px, 6.2vh, 70px) minmax(0, 1fr) clamp(38px, 4.7vh, 52px);
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius:var(--radar-radius-hero);
  background:
    radial-gradient(circle at 10% 0, rgba(34, 105, 146, .16), transparent 29rem),
    radial-gradient(circle at 91% 12%, rgba(67, 223, 210, .08), transparent 24rem),
    var(--color-page-bg);
  box-shadow: 0 32px 100px rgba(0, 0, 0, .32);
}

.broadcast-landscape-notice { display: none; }

.broadcast-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 0 clamp(19px, 2vw, 34px);
  border-bottom: 1px solid var(--line-soft);
  background: var(--surface-2);
}
.broadcast-mode {
  /* Broadcast visas på avstånd. En definierad stege i sex steg, med höjt golv,
     ersätter de tidigare ~20 clamp()-koefficienterna som landade på nästan
     identiska brutna värden (12,288 / 12,672 / 13,44 …). */
  --bc-micro: clamp(13px, .78vw, 16px);
  --bc-label: clamp(15px, .9vw, 18px);
  --bc-body: clamp(17px, 1.05vw, 21px);
  --bc-lead: clamp(22px, 1.6vw, 32px);
  --bc-title: clamp(30px, 2.75vw, 54px);
  --bc-hero: clamp(48px, 4.7vw, 92px);
}
.broadcast-topline > div:first-child {
  display: flex;
  align-items: center;
  gap: 15px;
}
.broadcast-topline > div:first-child > b {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-size: var(--bc-body);
}
.broadcast-topline > div:first-child i {
  display: inline-grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid rgba(67, 223, 210, .35);
  border-radius:var(--radar-radius-control);
  background: var(--teal-soft);
  color: var(--teal);
  font-size: 14px;
  font-style: normal;
}
.broadcast-topline > div:first-child > span {
  color: var(--muted);
  font-size: var(--bc-label);
}

.broadcast-source {
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: var(--bc-micro);
}
.broadcast-source span {
  color: var(--gold);
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.broadcast-source b { color: var(--muted); font-size: inherit; font-weight: 700; }

.broadcast-editorial {
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(420px, .86fr) minmax(0, 1.5fr);
}

.broadcast-lead,
.broadcast-history {
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}

.broadcast-lead {
  container-type: inline-size;
  display: grid;
  align-content: start;
  grid-auto-rows: max-content;
  gap: clamp(12px, 1.5vh, 20px);
  padding: clamp(22px, 2.2vw, 38px);
  border-right: 1px solid var(--line);
  background: linear-gradient(135deg, rgba(17, 44, 65, .58), rgba(7, 19, 33, .5));
}
.broadcast-lead > *,
.broadcast-lead-heading,
.broadcast-level { min-width: 0; }

.broadcast-lead-heading .eyebrow {
  color: var(--teal);
  font-size: var(--bc-label);
}
.broadcast-lead-heading h1 {
  margin: 5px 0 9px;
  font-size: var(--bc-title);
  line-height: 1.02;
  letter-spacing: -.045em;
  overflow-wrap: anywhere;
}
.broadcast-lead-heading p {
  margin: 0;
  color: var(--text);
  font-size: var(--bc-lead);
  font-weight: 850;
  line-height: 1.15;
  overflow-wrap: anywhere;
}
.broadcast-lead-heading p span {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: var(--bc-micro);
  font-weight: 650;
}

.broadcast-level strong {
  display: block;
  color: var(--teal);
  max-width: 100%;
  font-size: var(--bc-hero);
  font-variant-numeric: tabular-nums;
  line-height: .9;
  letter-spacing: -.06em;
  white-space: nowrap;
}
.broadcast-level span {
  display: block;
  margin-top: 7px;
  color: var(--text);
  font-size: var(--bc-body);
  font-weight: 800;
}

.broadcast-event-badge {
  justify-self: start;
  padding: 9px 13px;
  border: 1px solid rgba(67, 223, 210, .28);
  border-radius:999px;
  background: var(--teal-soft);
  color: var(--teal);
  font-size: var(--bc-label);
  font-weight: 900;
}
.broadcast-event-badge.down,
.broadcast-event-badge.mixed { border-color: rgba(255, 102, 130, .3); background: var(--red-soft); color: var(--red); }
.broadcast-event-badge.unknown,
.broadcast-event-badge.unchanged { border-color: rgba(255, 200, 90, .3); background: var(--gold-soft); color: var(--gold); }
.broadcast-direction-pair {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.broadcast-direction-pair span {
  padding: 6px 9px;
  border: 1px solid rgba(255, 200, 90, .3);
  border-radius:var(--radar-radius-control);
  background: var(--gold-soft);
  color: var(--gold);
  font-size: var(--bc-label);
  font-weight: 900;
}

.broadcast-changes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}
.broadcast-change {
  min-width: 0;
  display: grid;
  gap: 4px;
  padding: 12px 13px;
  border: 1px solid var(--line);
  border-radius:var(--radar-radius-panel);
  background: var(--surface-2);
}
.broadcast-change:only-child { grid-column: 1 / -1; }
.broadcast-change span {
  color: var(--muted);
  font-size: var(--bc-label);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .07em;
}
.broadcast-change b { font-size: var(--bc-body); overflow-wrap: anywhere; }
.broadcast-change small { color: var(--muted); font-size: var(--bc-label); line-height: 1.35; }
.broadcast-change.missing { border-color: rgba(255, 200, 90, .35); }
.broadcast-change.missing small { color: var(--gold); }

.broadcast-event-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}
.broadcast-event-meta div { min-width: 0; }
.broadcast-event-meta dt {
  color: var(--muted);
  font-size: var(--bc-micro);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.broadcast-event-meta dd {
  margin: 4px 0 0;
  color: var(--text);
  font-size: var(--bc-label);
  font-weight: 750;
  line-height: 1.25;
}
.broadcast-event-meta dd small {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: var(--bc-micro);
  font-weight: 700;
}
.broadcast-quality-line {
  display: flex;
  align-items: baseline;
  gap: 8px;
  color: var(--muted);
  font-size: var(--bc-micro);
}
.broadcast-quality-line span { font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.broadcast-quality-line b { color: var(--text); font-size: inherit; }
.broadcast-event-nav {
  min-height: 38px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 8px;
  opacity: .36;
  transition: opacity 150ms ease;
}
.broadcast-event-nav:hover, .broadcast-event-nav:focus-within { opacity: 1; }
.broadcast-event-nav button {
  min-height: 38px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius:var(--radar-radius-control);
  background: var(--surface-2);
  color: var(--teal);
  font-size: var(--bc-micro);
  font-weight: 900;
  cursor: pointer;
}
.broadcast-event-nav button:last-child { justify-self: end; }
.broadcast-event-nav button:disabled { opacity: .35; cursor: default; }
.broadcast-event-nav span { color: var(--muted); font-size: var(--bc-micro); font-weight: 800; white-space: nowrap; }

.broadcast-caveat {
  align-self: end;
  padding: clamp(12px, 1vw, 18px);
  border-left: 4px solid var(--teal);
  border-radius:var(--radar-radius-panel);
  background: var(--teal-soft);
}
.broadcast-caveat.warn { border-left-color: var(--gold); background: var(--gold-soft); }
.broadcast-caveat b { color: var(--text); font-size: var(--bc-label); }
.broadcast-caveat p { margin: 5px 0 0; color: var(--muted); font-size: var(--bc-label); line-height: 1.45; }

.broadcast-history { display: grid; grid-template-rows: auto minmax(0, 1fr); }
.broadcast-history > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: clamp(18px, 1.6vw, 28px) clamp(20px, 2vw, 34px) clamp(13px, 1.25vw, 22px);
  border-bottom: 1px solid var(--line-soft);
}
.broadcast-history header span {
  color: var(--teal);
  font-size: var(--bc-label);
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.broadcast-history h2 { margin: 4px 0 0; font-size: var(--bc-lead); overflow-wrap: anywhere; }
.broadcast-history-controls { display: flex; align-items: center; justify-content: flex-end; gap: 16px; }
.broadcast-history-controls > button { min-height: 44px; padding: 0 13px; border: 1px solid rgba(67, 223, 210, .32); border-radius: var(--radar-radius-control); background: rgba(67, 223, 210, .08); color: var(--teal); font: inherit; font-size: var(--bc-micro); font-weight: 850; cursor: pointer; }
.broadcast-history-controls > button[aria-pressed='true'] { border-color: var(--teal); background: rgba(67, 223, 210, .2); color: var(--text); }
.broadcast-observation-count {
  display: grid;
  justify-items: end;
  color: var(--muted);
}
.broadcast-observation-count b { color: var(--text); font-size: var(--bc-lead); line-height: 1; }
.broadcast-observation-count span { color: var(--muted) !important; font-size: var(--bc-micro) !important; }

.broadcast-party-chart {
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  padding: clamp(11px, 1.2vw, 20px) clamp(17px, 1.6vw, 28px) clamp(13px, 1.25vw, 22px);
}
.broadcast-owner-legend {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 7px 13px;
  color: var(--muted);
  font-size: var(--bc-micro);
}
.broadcast-owner-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 210px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.broadcast-owner-legend span.selected { color: var(--text); font-weight: 900; }
.broadcast-owner-legend span.comparison { opacity: .34; }
.broadcast-owner-legend span.context { opacity: .2; }
.broadcast-party-chart.comparisons-visible .broadcast-owner-legend span.comparison { opacity: .78; }
.broadcast-party-chart.comparisons-visible .broadcast-owner-legend span.context { opacity: .48; }
.broadcast-owner-legend i {
  width: 9px;
  height: 9px;
  flex: 0 0 auto;
  display: inline-block;
  border-radius:50%;
  background: var(--series-color);
}

.broadcast-party-chart svg {
  width: 100%;
  height: 100%;
  min-height: 0;
  overflow: hidden;
}
.broadcast-party-chart svg text { fill: var(--muted); font: 16px Manrope, sans-serif; }
.broadcast-chart-grid { stroke: rgba(110, 154, 184, .18); stroke-width: 1; stroke-dasharray: 4 8; }
.broadcast-owner-series > path {
  fill: none;
  stroke: var(--series-color);
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: 1;
}
.broadcast-owner-series.comparison-owner { opacity: .3; }
.broadcast-owner-series.context-owner { opacity: .16; }
.broadcast-party-chart.comparisons-visible .broadcast-owner-series.comparison-owner { opacity: .72; }
.broadcast-party-chart.comparisons-visible .broadcast-owner-series.context-owner { opacity: .38; }
.broadcast-owner-series.selected-owner > path {
  stroke-width: 5;
  opacity: 1;
  filter: drop-shadow(0 0 5px color-mix(in srgb, var(--series-color), transparent 58%));
}
.broadcast-chart-lane + .broadcast-chart-lane .broadcast-owner-series > path {
  stroke-dasharray: 8 5;
}
.broadcast-lane-label {
  fill: var(--text) !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  letter-spacing: .1em;
}
.broadcast-lane-scale {
  fill: var(--muted) !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  letter-spacing: .06em;
}
.broadcast-selected-event line { stroke: rgba(255, 200, 90, .46); stroke-width: 2; stroke-dasharray: 5 8; }
.broadcast-selected-event text { fill: var(--gold) !important; font-size: 15px !important; font-weight: 900 !important; letter-spacing: .08em; }
.broadcast-change-segment { stroke-width: 5; stroke-linecap: round; }
.broadcast-observation.combined .broadcast-change-segment,
.broadcast-observation.shares .broadcast-change-segment { stroke: var(--teal); }
.broadcast-observation.votes .broadcast-change-segment { stroke: var(--gold); }
.broadcast-before-point { fill: var(--surface); stroke: rgba(243, 247, 251, .72); stroke-width: 3; }
.broadcast-observation .broadcast-after-point { fill: var(--series-color); }
.broadcast-after-point { stroke: var(--text); stroke-width: 2.5; }
.broadcast-selected-halo { fill: none; stroke: var(--gold); stroke-width: 3; stroke-dasharray: 3 4; }
.broadcast-value-label { fill: var(--text) !important; font-size: 17px !important; font-weight: 900 !important; paint-order: stroke; stroke: var(--color-page-bg); stroke-width: 5px; }
.broadcast-value-label.secondary { fill: var(--muted) !important; font-size: 15px !important; font-weight: 750 !important; }
.broadcast-party-chart > p {
  margin: 0;
  color: var(--muted);
  font-size: var(--bc-label);
  text-align: center;
}
.broadcast-empty { display: grid; place-items: center; color: var(--muted); font-size: 16px; }

.broadcast-footer {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  align-items: center;
  gap: 20px;
  padding: 0 max(160px, 2vw) 0 clamp(19px, 2vw, 34px);
  border-top: 1px solid var(--line-soft);
  color: var(--muted);
  font-size: var(--bc-micro);
}
.broadcast-footer b {
  color: var(--text);
  font-size: inherit;
  font-weight: 750;
  text-align: right;
}
.broadcast-empty-scene main {
  display: grid;
  place-content: center;
  justify-items: center;
  text-align: center;
}
.broadcast-empty-scene main h1 { margin: 6px 0; font-size: clamp(38px, 4vw, 72px); }
.broadcast-empty-scene main p { color: var(--muted); font-size: 20px; }

@media (min-width: 761px) {
  body:not(.broadcast-mode) .hero {
    border-radius:var(--radar-radius-hero);
  }

  body:not(.broadcast-mode) .company-hero h1,
  body.company-view:not(.broadcast-mode) .company-hero h1 {
    font-size: var(--radar-type-page);
    letter-spacing: -.03em;
  }

  /* Landningsrubriken är produktnamnet, som svitraden och topbaren redan anger.
     Den behöver inte sidans största steg – bolagsnamnet ovan gör det. */
  body:not(.broadcast-mode) .hero h1 {
    /* !important för att slå den generella h1-regeln längre ned i filen. */
    font-size: var(--radar-type-title) !important;
    letter-spacing: -.03em;
  }

  body:not(.broadcast-mode) .view-heading h2,
  body:not(.broadcast-mode) .company-search:not(.compact) h2,
  body:not(.broadcast-mode) .method-hero h2,
  body:not(.broadcast-mode) .detail-sheet h2,
  body:not(.broadcast-mode) .product-help-header h2,
  body:not(.broadcast-mode) .view-error-state h2 {
    font-size: var(--radar-type-title);
  }

  body:not(.broadcast-mode) .signal-source-lane > header h3 {
    font-size: var(--radar-type-panel);
  }

  body:not(.broadcast-mode) .signal-narrative h3,
  body:not(.broadcast-mode) .event-cluster-panel h4,
  body:not(.broadcast-mode) .crossing-detail h4,
  body:not(.broadcast-mode) .help-glossary-group > h4,
  body:not(.broadcast-mode) .help-glossary-entry h5 {
    font-size: var(--radar-type-lead);
  }

  body:not(.broadcast-mode) .metric-card,
  body:not(.broadcast-mode) .panel,
  body:not(.broadcast-mode) .company-empty-state {
    border-radius:var(--radar-radius-panel);
  }

  body:not(.broadcast-mode) .metric-card > strong,
  body:not(.broadcast-mode) 
  body:not(.broadcast-mode) .panel-header h3,
  body:not(.broadcast-mode) .panel h3,
  body:not(.broadcast-mode) .signal-profile-header h2,
  body:not(.broadcast-mode) .methodology-catalog > h3,
  body:not(.broadcast-mode) .detail-narrative h3 {
    font-size: var(--radar-type-panel);
  }

  body:not(.broadcast-mode) .detail-content h3 {
    font-size: var(--radar-type-lead);
  }

  body:not(.broadcast-mode) .help-section > h3 {
    font-size: var(--radar-type-section);
  }

  body:not(.broadcast-mode) .product-view,
  body:not(.broadcast-mode) .latest-grid,
  body:not(.broadcast-mode) .timeline-panel,
  body:not(.broadcast-mode) .signal-profile-panel,
  body:not(.broadcast-mode) .method-grid,
  body:not(.broadcast-mode) .methodology-catalog {
    margin-top: var(--radar-section-gap);
  }
}

@media (min-width: 761px) {
  body:not(.broadcast-mode) h1 { font-size: var(--radar-type-page) !important; }
  body:not(.broadcast-mode) h2 { font-size: var(--radar-type-section) !important; }
  body:not(.broadcast-mode) h3 { font-size: var(--radar-type-panel) !important; }
  body:not(.broadcast-mode) h4 { font-size: var(--radar-type-lead) !important; }
}

@media (max-width: 1440px), (max-height: 820px) {
  .broadcast-mode .radar-shell { padding: 7px; }
  .company-broadcast { grid-template-rows: 50px minmax(0, 1fr) 38px; }
  .broadcast-editorial { grid-template-columns: minmax(370px, .82fr) minmax(0, 1.5fr); }
  .broadcast-lead { gap: 6px; padding: 13px 18px; }
  .broadcast-lead-heading h1 { margin: 3px 0 6px; font-size: clamp(30px, 2.6vw, 40px); }
  .broadcast-lead-heading p { font-size: clamp(20px, 1.6vw, 25px); }
  .broadcast-level strong { font-size: clamp(42px, 3.7vw, 54px); }
  .broadcast-level span { margin-top: 4px; font-size: 15px; }
  .broadcast-event-badge { padding: 7px 11px; font-size: 13px; }
  .broadcast-change { padding: 9px 10px; }
  .broadcast-change b { font-size: 14px; }
  .broadcast-change small { font-size: 13px; }
  .broadcast-event-meta dd { font-size: 13px; }
  .broadcast-event-nav { min-height: 32px; }
  .broadcast-event-nav button { min-height: 32px; }
  .broadcast-caveat { padding: 9px 11px; }
  .broadcast-caveat p { font-size: 13px; line-height: 1.35; }
  .broadcast-history > header { padding: 13px 18px 10px; }
  .broadcast-history h2 { font-size: 22px; }
  .broadcast-party-chart { padding: 8px 14px 10px; }
  .broadcast-party-chart svg text { font-size: 14px; }
  .broadcast-footer { padding-left: 20px; font-size: 13px; }
}

@media (orientation: portrait), (max-width: 1100px), (max-height: 640px) {
  .broadcast-exit { right: 12px; bottom: 12px; }
  .broadcast-mode .radar-shell { width: 100vw; height: 100vh; padding: 10px; }
  .company-broadcast { grid-template-rows: 1fr; }
  .broadcast-topline,
  .broadcast-editorial,
  .broadcast-footer { display: none; }
  .broadcast-landscape-notice {
    display: grid;
    place-content: center;
    gap: 9px;
    padding: 28px;
    text-align: center;
  }
  .broadcast-landscape-notice b { font-size: clamp(24px, 6vw, 40px); }
  .broadcast-landscape-notice span { color: var(--muted); font-size: clamp(15px, 3.5vw, 20px); }
}

@media (max-width: 1180px) {
  .radar-shell { width: min(100% - 26px, 1510px); }
  .source-health { display: none; }
  .metric-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .metric-card { min-height: 105px; }
  .latest-grid { grid-template-columns: minmax(0, 1fr); }
  .timeline-header { display: grid; }
  .timeline-controls { width: 100%; justify-content: space-between; }
  .signal-synthesis { grid-template-columns: 190px minmax(0, 1fr); }
  .signal-lane-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .method-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .method-grid { grid-template-columns: 1fr 1fr; }
  .company-event-filters { grid-template-columns: repeat(3, minmax(120px, 1fr)); }
}

@media (max-width: 820px) {
  .explainable-popover {
    width: auto;
    right: max(12px, env(safe-area-inset-right));
    bottom: max(12px, env(safe-area-inset-bottom));
    left: max(12px, env(safe-area-inset-left));
    padding: 16px 14px 16px 17px;
    border-radius:var(--radar-radius-panel);
    font-size: 12px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, .62);
  }
  .explainable-popover button {
    width: 44px;
    height: 44px;
    border-radius:var(--radar-radius-control);
    font-size: 24px;
  }
  .radar-shell { width: min(100% - 20px, 760px); padding-top: 8px; }
  .company-view:not(.broadcast-mode) .company-search.compact .combobox { width: 100%; }
  .topbar { align-items: start; }
  .topbar-actions { min-width: 0; flex: 1; gap: 6px; }
  .brand > span:last-child { display: none; }
  .radar-suite-bar { align-items: stretch; flex-direction: column; gap: 4px; padding: 8px; }
  .radar-suite-bar > div:first-child { padding: 2px 5px; }
  .radar-suite-bar > div:last-child { overflow-x: auto; }
  .radar-suite-bar > div:last-child { overscroll-behavior-x: contain; scrollbar-width: none; scroll-snap-type: x proximity; }
  .radar-suite-bar > div:last-child::-webkit-scrollbar { display: none; }
  .radar-suite-bar a { min-height: 44px; flex: none; scroll-snap-align: start; }
  .product-nav button { min-height: 44px; padding: 0 13px; }
  .product-help-button { width: 44px; height: 44px; }
  .ghost-button { display: none; }
  .signal-profile-header { align-items: stretch; flex-direction: column; gap: 12px; }
  .signal-period-switch { width: 100%; overflow-x: auto; }
  .signal-period-switch button { flex: 1; min-width: 64px; min-height: 44px; }
  .signal-synthesis { grid-template-columns: 1fr; }
  .signal-synthesis > div + div { border-top: 1px solid var(--line-soft); border-left: 0; }
  .signal-source-grid { grid-template-columns: 1fr; }
  .company-overview-events > header { align-items: stretch; flex-direction: column; }
  .company-overview-events ol { grid-template-columns: 1fr; }
  .company-overview-events li + li { border-top: 1px solid var(--line-soft); border-left: 0; }
  .quality-status-row > summary { grid-template-columns: minmax(0, 1fr) auto; gap: 7px 12px; }
  .quality-status-row > summary > strong { grid-column: 1; }
  .quality-status-row > summary > em { grid-column: 2; grid-row: 1; text-align: right; }
  .quality-status-action { grid-column: 2; grid-row: 2; justify-self: end; }
  .quality-status-details dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .methodology-search { align-items: stretch; flex-direction: column; }
  .method-reference > dl { grid-template-columns: 1fr; }
  .signal-register-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 10px 12px; }
  .signal-register-tabs button { min-height: 60px; grid-template-columns: 1fr; padding: 8px; text-align: center; }
  .signal-register-tabs button > b { font-size: 13px; }
  .signal-register-tabs button > small,
  .signal-register-tabs button > em { display: none; }
  .signal-date-basis { align-items: flex-start; flex-direction: column; gap: 2px; }
  .signal-source-event { grid-template-columns: 8px minmax(0, 1fr) auto; }
  .signal-source-event > span:nth-of-type(2) { grid-column: 2 / -1; padding-bottom: 3px; }
  .signal-source-event > strong,
  .signal-source-event > a { grid-column: 3; grid-row: 1; }
  .signal-combined-timeline li { grid-template-columns: 74px 8px minmax(0, 1fr); padding-block: 7px; }
  .signal-combined-timeline li > span:last-child { grid-column: 3; text-align: left; }
  .product-help-sheet {
    width: 100vw;
    height: 100dvh;
    border: 0;
    border-radius:0;
  }
  .product-help-header { min-height: 96px; padding: 16px 18px; }
  .product-help-header h2 { font-size: 27px; }
  .product-help-header p { font-size: var(--font-xs); }
  .product-help-layout { grid-template-columns: 1fr; grid-template-rows: auto minmax(0, 1fr); }
  .product-help-nav {
    min-width: 0;
    flex-direction: row;
    gap: 5px;
    overflow-x: auto;
    padding: 9px 12px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline proximity;
  }
  .product-help-nav > strong,
  .product-help-nav > small { display: none; }
  .product-help-nav-cue {
    position: sticky;
    left: 0;
    z-index: 1;
    min-height: 38px;
    display: inline-flex;
    flex: none;
    align-items: center;
    padding: 0 10px;
    border: 1px solid rgba(67, 223, 210, .26);
    border-radius:var(--radar-radius-control);
    background: var(--surface-2);
    color: var(--teal);
    font-size: var(--font-compact);
    font-weight: 850;
    white-space: nowrap;
  }
  .product-help-nav button {
    min-height: 38px;
    flex: none;
    padding: 0 11px;
    border: 1px solid var(--line-soft);
    scroll-snap-align: start;
    white-space: nowrap;
  }
  .help-section { padding: 24px 20px 28px; }
  .help-principles,
  .help-quality-grid { grid-template-columns: 1fr; }
  .help-principles article,
  .help-quality-grid article { min-height: 0; }
  .help-view-grid { grid-template-columns: 1fr; }
  .help-view-grid article { min-height: 0; }
  .help-glossary-group > div { grid-template-columns: 1fr; }
  .help-glossary-entry { min-height: 0; }
  .hero { min-height: 112px; padding: 18px; }
  .hero h1 { font-size: 38px; }
  .hero p { font-size: 12px; }
  .hero-meta { min-width: 160px; }
  .view-heading, .company-search { align-items: stretch; flex-direction: column; gap: 13px; }
  .period-switch { width: fit-content; }
  .period-switch button { min-height: 44px; }
  .term-help { width: 44px; height: 44px; }
  .company-search.compact #issuer-picker-toggle,
  #issuer-picker-toggle { width: 44px; height: 44px; }
  .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .latest-quality-body { grid-template-columns: 1fr; }
  .latest-grid { grid-template-columns: 1fr; }
  .combobox { width: 100%; }
  .search-input-wrap { min-height: 52px; }
  .search-input-wrap input { min-height: 44px; align-self: stretch; }
  .company-hero { align-items: stretch; flex-direction: column; }
  .company-hero-aside { min-width: 0; align-items: stretch; }
  .coverage-card { min-width: 0; }
  .company-quality-strip { grid-template-columns: 1fr; }
  .company-quality-strip .coverage-card { grid-column: auto; }
  .company-section-tabs { position: static; }
  .company-section-tabs button { min-height: 44px; flex: none; scroll-snap-align: start; }
  .company-section-heading { align-items: start; flex-direction: column; gap: 8px; }
  .company-overview-lead { grid-template-columns: 1fr; align-items: start; gap: 9px; }
  .company-overview-lead > p { grid-column: auto; }
  .company-overview-direction { justify-items: start; text-align: left; }
  .company-register-columns { grid-template-columns: 1fr; }
  .company-register-columns article + article { border-top: 1px solid var(--line-soft); border-left: 0; }
  .company-overview-footer { align-items: stretch; flex-direction: column; gap: 9px; padding-block: 13px; }
  .company-overview-footer button { width: 100%; }
  .company-quality-grid { grid-template-columns: 1fr; }
    .timeline-controls { align-items: stretch; flex-direction: column; }
  .party-picker { width: 100%; }
  .party-picker-menu { right: auto; left: 0; width: min(560px, calc(100vw - 42px)); }
  .timeline-controls select { max-width: none; min-height: 44px; }
  .timeline-controls fieldset { width: fit-content; }
  .timeline-controls button { min-height: 44px; }
  .timeline-chart { padding: 8px 6px 13px; overflow-x: auto; overscroll-behavior-inline: contain; }
  .timeline-reading-guide { position: sticky; left: 0; width: 100%; align-items: start; flex-direction: column; }
  .timeline-key { justify-content: start; }
  .chart-legend { position: sticky; left: 0; width: 100%; grid-template-columns: 1fr; gap: 7px; }
  .chart-legend p { text-align: left; }
  .party-table-wrap { overflow: visible; }
  .party-table { min-width: 0; display: block; }
  .party-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
  .party-table tbody { display: grid; gap: 8px; }
  .party-table tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 8px; border: 1px solid var(--line-soft); border-radius: var(--radar-radius-control); background: var(--surface-2); }
  .party-table td { min-width: 0; display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 7px; padding: 6px; border: 0; text-align: left; }
  .party-table td::before { content: attr(data-label); color: var(--muted); font-size: 12px; font-weight: 800; }
  .party-table td:first-child,
  .party-table td:nth-child(2),
  .party-table td:last-child { grid-column: 1 / -1; }
  .party-table td.numeric { text-align: left; }
  .party-table button { margin-top: -10px; }
  .timeline-selection-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .timeline-selection-summary > div:nth-child(2) { border-right: 0; }
  .timeline-selection-summary > div:nth-child(-n + 2) { border-bottom: 1px solid var(--line-soft); }
  .method-grid { grid-template-columns: 1fr; }
  .methodology-catalog ol { grid-template-columns: 1fr; }
  .source-method { grid-column: auto; }
  .source-footer { grid-template-columns: 1fr; gap: 5px; }
  .company-event-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .event-cluster-panel > .event-cluster-list { grid-template-columns: 1fr; }
  .reported-text { grid-template-columns: 1fr; }
  .detail-sheet {
    inset: 0;
    width: 100%;
    height: 100dvh;
    border: 0;
    border-radius:0;
    transform: none;
  }
  .detail-tabs { top: 108px; }
  .fact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .interpretation-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .latest-sort-desktop { display: none; }
  .latest-sort-mobile { display: flex; }
  .latest-toolbar { min-width: 0; justify-items: stretch; }
  .latest-toolbar .panel-note { text-align: left; }
  .latest-table-controls { align-items: stretch; flex-direction: column; }
  .latest-search-label { width: 100%; }
  .latest-filter-disclosure > summary { width: 100%; justify-content: center; }
  .latest-filter-form { width: auto; max-height: calc(100dvh - 24px); position: fixed; inset: auto 8px 8px; overflow-y: auto; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .latest-filter-heading { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--text); }
  .latest-event-table-wrap { overflow: visible; }
  .latest-event-table,
  .latest-event-table tbody { display: block; }
  .latest-event-table colgroup { display: none; }
  .latest-event-table thead {
    width: 1px;
    height: 1px;
    position: absolute;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
  }
  .latest-event-table tbody > tr {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 14px;
    border-top: 1px solid var(--line-soft);
  }
  .latest-event-table tbody > tr:first-child { border-top: 0; }
  .latest-event-table td {
    display: grid;
    align-content: start;
    gap: 5px;
    padding: 0;
    border: 0;
    text-align: left;
  }
  .latest-event-table td::before {
    content: attr(data-label);
    color: var(--muted);
    font-size: var(--font-xs);
    font-weight: 850;
    letter-spacing: .06em;
    text-transform: uppercase;
  }
  .latest-event-company-cell,
  .latest-event-kind-cell { grid-column: 1 / -1; }
  .latest-event-kind-cell { display: flex !important; }
  .latest-event-kind-cell::before { width: 100%; }
  .latest-event-action-cell::before { display: none; }
  .latest-event-open { align-self: end; }
}

@media (max-width: 520px) {
  .latest-quality-disclosure > summary { grid-template-columns: 10px minmax(0, 1fr); }
  .latest-quality-summary-action { grid-column: 2; }
  .latest-quality-facts { grid-template-columns: 1fr; }
  .latest-quality-body > section { padding: 11px; }
  .latest-filter-form { inset: 0; max-height: 100dvh; grid-template-columns: 1fr; border: 0; border-radius: 0; padding: 16px; }
  .latest-filter-actions { position: sticky; bottom: -16px; padding: 10px 0 16px; background: var(--surface-2); }
  .latest-summary-unavailable,
  .latest-table-error { align-items: stretch; flex-direction: column; }
  .radar-shell { width: min(100% - 14px, 500px); }
  .topbar { display: grid; grid-template-columns: 44px minmax(0, 1fr); align-items: start; gap: 7px; }
  .brand-mark { width: 44px; height: 44px; }
  .topbar-actions {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px 44px;
    align-items: start;
    gap: 7px;
  }
  .product-nav { width: auto; min-width: 0; grid-column: 1 / -1; flex: 1; }
  .product-nav button { flex: 1; padding: 0 9px; font-size: var(--font-xs); }
  #radar-period-slot { grid-column: 1; grid-row: 2; }
  #radar-period-slot .radar-period-menu,
  #radar-period-slot .radar-period-trigger { width: 100%; }
  #radar-theme-slot { grid-column: 2; grid-row: 2; }
  .product-help-button { grid-column: 3; grid-row: 2; }
  #broadcast-toggle:not([hidden]) { grid-column: 1 / -1; }
  .radar-suite-bar > div:last-child {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px;
  }
  .radar-suite-bar > div:last-child a { justify-content: center; padding-inline: 5px; text-align: center; }
  .radar-suite-bar > div:first-child span,
  .radar-suite-bar > div:first-child strong,
  .radar-suite-bar a,
  .eyebrow,
  .panel-kicker,
  .event-main small,
  .event-caveat,
  .term-help { font-size: 12px; }
  .product-help-header { min-height: 92px; padding: 14px; }
  .product-help-header h2 { font-size: 23px; }
  .product-help-header p { max-width: 270px; margin-top: 6px; line-height: 1.35; }
  .product-help-close { width: 42px; height: 42px; }
  .help-section { padding: 21px 15px 25px; }
  .help-section > h3 { margin-bottom: 14px; font-size: 23px; }
  .help-do-dont { grid-template-columns: 1fr; }
  .help-reading-steps li { grid-template-columns: 32px minmax(0, 1fr); padding: 12px; }
  .help-reading-steps li > span { width: 29px; height: 29px; }
  .hero { min-height: 0; display: grid; gap: 10px; padding: 15px; border-radius: 14px; }
  .hero::after { display: none; }
  .hero h1 { font-size: 34px; }
  .hero p { margin-top: 6px; font-size: var(--font-xs); }
  .hero-meta { min-width: 0; justify-items: start; grid-template-columns: auto auto; column-gap: 10px; font-size: var(--font-xs); }
  .hero-meta small { grid-column: 1 / -1; }
  .view-heading { padding-top: 14px; }
  .view-heading h2, .company-search h2 { font-size: 29px; }
  .period-switch { width: 100%; }
  .period-switch button { flex: 1; padding: 0 7px; font-size: var(--font-xs); }
  .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
  .metric-card { min-height: 104px; position: relative; padding: 11px; }
  .metric-card .metric-label {
    display: block;
    line-height: 1.35;
    overflow-wrap: anywhere;
  }
  .metric-card .term {
    position: absolute;
    top: auto;
    right: 8px;
    bottom: 8px;
  }
  .metric-card > strong { font-size: 27px; }
  .metric-card .metric-label { font-size: var(--font-xs); }
  .metric-card > span { padding-right: 42px; font-size: var(--font-xs); }
  .latest-quality-summary-heading { align-items: start; flex-direction: column; gap: 2px; }
  .latest-quality-summary-heading > span { white-space: normal; }
  .term-popover {
    width: auto;
    max-height: min(50dvh, 360px);
    position: fixed;
    inset: auto 10px 10px;
    overflow-y: auto;
  }
  .panel { border-radius: 13px; }
  .panel-header { min-height: 64px; padding: 13px; }
  .panel-header h3, .panel h3 { font-size: 17px; }
  .panel-note { display: none; }
  .latest-toolbar .panel-note { display: block; }
  .event-card, .event-card.compact { min-height: 168px; grid-template-columns: 1fr; gap: 7px; padding: 13px; }
  .event-card-header,
  .event-card-footer { align-items: stretch; flex-direction: column; gap: 9px; }
  .event-main small { white-space: normal; }
  .event-badges { justify-content: flex-start; }
  .event-date { gap: 4px 10px; }
  .event-date span + span::before { margin-right: 10px; }
  .event-values, .event-changes { grid-template-columns: 1fr; }
  .event-crossings { grid-template-columns: 1fr; gap: 4px; }
  .event-caveat { font-size: 12px; }
  .event-open { align-self: flex-start; }
  .company-hero { padding: 17px; }
  .company-hero h1 { font-size: 33px; }
  .company-quality-strip { grid-template-columns: 1fr; }
  .company-quality-strip .coverage-card { grid-column: auto; }
  .company-section-heading { padding: 17px; }
  .company-overview-lead { padding: 16px; }
  .signal-lane-summary { grid-template-columns: 1fr 1fr; }
  .signal-lane-summary > div:first-child { grid-column: 1 / -1; }
  .company-quality-grid dl { grid-template-columns: 1fr; }
  .company-quality .source-reading-note { grid-template-columns: 1fr; }
  .company-quality .source-reading-note b { white-space: normal; }
  .signal-profile-header { padding: 15px; }
  .signal-profile-header h2 { font-size: 20px; }
  .signal-synthesis > div { padding: 14px; }
  .signal-state strong { font-size: 17px; }
  .signal-source-lane > header { align-items: flex-start; flex-direction: column; gap: 8px; padding: 14px; }
  .signal-source-lane > header a,
  .signal-source-lane > header .lane-current { min-height: 44px; }
  .signal-lane-metrics { margin-inline: 10px; }
  .signal-lane-metrics > div { min-height: 68px; padding: 9px; }
  .signal-lane-metrics b { font-size: 14px; }
  .signal-lane-note { margin-inline: 14px; font-size: 12px; }
  .signal-source-events { padding-inline: 10px; }
  .signal-source-event { min-height: 78px; padding-block: 10px; }
  .signal-source-event b { white-space: normal; }
  .signal-source-event small { white-space: normal; line-height: 1.4; }
  .signal-combined-timeline > summary { min-height: 58px; padding-inline: 14px; }
  .signal-combined-timeline ol { padding-inline: 14px; }
  .signal-combined-timeline li { grid-template-columns: 68px 8px minmax(0, 1fr); }
  .signal-combined-timeline li b { white-space: normal; }
        .timeline-header { padding: 13px; }
  .identity-resolution-note {
    grid-template-columns: minmax(0, 1fr);
    gap: 5px;
    margin-inline: 10px;
    padding: 11px;
    font-size: var(--font-xs);
  }
  .identity-resolution-note details {
    grid-column: 1;
    margin-top: 3px;
  }
  .timeline-selection-summary { grid-template-columns: 1fr; }
  .timeline-selection-summary > div {
    border-right: 0;
    border-bottom: 1px solid var(--line-soft);
  }
  .timeline-selection-summary > div:nth-child(4) { border-bottom: 0; }
  .timeline-controls fieldset { width: 100%; }
  .timeline-controls button { flex: 1; min-height: 44px; }
  .party-picker-menu {
    position: fixed;
    inset: auto 10px 10px;
    width: auto;
    max-height: min(72dvh, 590px);
    border-radius: 14px;
  }
  .timeline-controls .party-picker-option {
    min-height: 68px;
    grid-template-columns: minmax(0, 1fr);
  }
  .party-picker-option > span:nth-child(2) { justify-items: start; text-align: left; }
  .timeline-chart::before {
    content: "Svep i sidled för hela tidslinjen";
    display: block;
    position: sticky;
    left: 7px;
    width: fit-content;
    z-index: 1;
    margin: 1px 0 7px;
    padding: 4px 7px;
    border-radius: 999px;
    background: var(--surface-2);
    color: var(--muted);
    font-size: var(--font-xs);
    font-weight: 800;
  }
  .timeline-reading-guide { min-width: 0; }
  .timeline-chart svg { width: 900px; min-width: 900px; min-height: 0; max-width: none; }
  .observation-hit-target { r: 30px; }
  .observation-tooltip text,
  .event-overview-tooltip text { font-size: 16px !important; }
  .observation-tooltip .tooltip-party,
  .event-overview-tooltip .tooltip-title { font-size: 17px !important; }
  .method-hero { padding: 25px 4px 18px; }
  .method-flow { grid-template-columns: 1fr; }
  .method-flow article { min-height: 130px; }
  .method-grid dl div { grid-template-columns: 1fr; gap: 4px; }
  .detail-sheet { border-left: 0; }
  .detail-sheet > header { min-height: 112px; padding: 17px; }
  .detail-tabs { top: 112px; }
  .detail-tabs button { padding-inline: 8px; font-size: 12px; }
  .detail-sheet h2 { font-size: 25px; }
  .detail-content > section { padding: 17px; }
  .detail-section { margin: 0 8px; }
  .detail-section > summary { grid-template-columns: minmax(0, 1fr) 18px; gap: 9px; padding: 12px; }
  .detail-section > summary small { grid-column: 1 / -1; grid-row: 2; text-align: left; }
  .detail-section > summary::after { grid-column: 2; grid-row: 1 / 3; }
  .detail-section-body { padding: 12px; }
  .fact-grid, .interpretation-grid { grid-template-columns: 1fr; }
  .detail-source-grid { grid-template-columns: 1fr; }
  .latest-panel-header { align-items: stretch; flex-direction: column; }
  .latest-sort-mobile { display: grid; grid-template-columns: auto minmax(0, 1fr) 44px; }
  .company-event-filters { grid-template-columns: 1fr; }
  .company-empty-state { min-height: 190px; padding: 20px; }
  .event-cluster-values { grid-template-columns: 1fr; }
  .event-cluster-meta,
  .event-cluster-action { grid-template-columns: 1fr; }
  .event-cluster-meta > small { text-align: left; }
  .event-cluster-open { width: 100%; min-height: 44px; }
  .threshold-row { grid-template-columns: 42px minmax(100px, 1fr); }
  .threshold-row > span { grid-column: 2; text-align: left; }
  .skeleton-view { grid-template-columns: 1fr; }
}

@media (max-width: 1180px) {
  .timeline-chart.event-overview { overflow-x: hidden; }
  .timeline-chart.event-overview::before { display: none; }
  .timeline-chart.event-overview svg { display: none; }
  .event-overview-mobile-list {
    display: grid;
    gap: 6px;
    padding: 2px 6px 10px;
  }
  .event-overview-mobile-list > p {
    display: grid;
    gap: 2px;
    margin: 0 0 2px;
    color: var(--muted);
    font-size: var(--font-xs);
    line-height: 1.4;
  }
  .event-overview-mobile-list > p b { color: var(--text); font-size: 12px; }
  .event-overview-mobile-list button {
    min-height: 58px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 2px 10px;
    padding: 9px 10px;
    border: 1px solid var(--line-soft);
    border-radius:var(--radar-radius-control);
    background: var(--surface-2);
    color: var(--text);
    text-align: left;
  }
  .event-overview-mobile-list button:hover,
  .event-overview-mobile-list button:focus-visible,
  .event-overview-mobile-list button[aria-expanded='true'] {
    border-color: rgba(67, 223, 210, .55);
    background: var(--color-accent-soft);
    outline: none;
  }
  .event-overview-mobile-list button span,
  .event-overview-mobile-list button small {
    color: var(--muted);
    font-size: var(--font-compact);
    line-height: 1.35;
  }
  .event-overview-mobile-list button b { font-size: 12px; }
  .event-overview-mobile-list button small { grid-column: 1; }
  .event-overview-mobile-list button i {
    grid-column: 2;
    grid-row: 1 / 4;
    color: var(--teal);
    font-size: 15px;
    font-style: normal;
  }
}

@media (max-width: 1024px) {
  .signal-register-tabs button { min-height: 60px; grid-template-columns: 1fr; padding: 8px; text-align: center; }
  .signal-register-tabs button > b { font-size: 13px; }
  .signal-register-tabs button > small,
  .signal-register-tabs button > em { display: none; }
}

@media (max-width: 760px) {
  .timeline-chart.event-overview { overflow-x: auto; }
  .timeline-chart.event-overview svg { width: 900px; max-width: none; display: block; }
}

/* Desktop: keep orientation and controls, but get the user to the data sooner. */
@media (min-width: 761px) {
  body:not(.broadcast-mode) .radar-shell { padding-top: 8px; }
  body:not(.broadcast-mode) .topbar { min-height: 44px; }
  body:not(.broadcast-mode) .brand-mark { width: 28px; height: 28px; }
  body:not(.broadcast-mode) .product-nav button { min-height: 44px; padding-inline: 14px; }
  body:not(.broadcast-mode) .product-help-button { width: 44px; height: 44px; }
  body:not(.broadcast-mode) .ghost-button { min-height: 44px; }
  body:not(.broadcast-mode) .radar-suite-bar {
    min-height: 34px;
    margin: 2px 0 6px;
    padding: 1px 6px 1px 11px;
  }
  body:not(.broadcast-mode) .radar-suite-bar a { min-height: 44px; }
  body:not(.broadcast-mode) .hero {
    gap: 24px;
    margin-top: 6px;
    padding: 9px 20px;
  }
  body:not(.broadcast-mode) .hero h1 { font-size: 34px !important; }
  body:not(.broadcast-mode) .hero p { margin-top: 4px; line-height: 1.35; }
  body:not(.broadcast-mode) .hero-meta { gap: 3px; }
  body:not(.broadcast-mode) .product-view { margin-top: 8px; }
  body:not(.broadcast-mode) .view-heading { padding: 7px 2px 8px; }
  body:not(.broadcast-mode) .view-heading p { margin-top: 3px; line-height: 1.4; }
  body:not(.broadcast-mode) .metric-card { min-height: 82px; padding: 10px 13px; }
  body:not(.broadcast-mode) .metric-card > strong { margin-top: 4px; font-size: 26px; }
  body:not(.broadcast-mode) .metric-card > span { margin-top: 4px; }
  body:not(.broadcast-mode) .latest-quality-disclosure { margin-top: 7px; }
  body:not(.broadcast-mode) .latest-grid { margin-top: 7px; }
  body:not(.broadcast-mode) .panel-header { min-height: 58px; padding: 10px 15px; }
  body:not(.broadcast-mode) .event-list-intro { padding: 8px 15px; }
}

@media (max-width: 640px) {
  .company-hero.company-hero-context {
    min-height: 0;
    gap: 3px;
    padding: 12px 14px;
  }
  .company-hero.company-hero-context .eyebrow,
  .company-hero.company-hero-context .company-hero-aside,
  .company-hero.company-hero-context .company-quality-strip { display: none; }
  .company-hero.company-hero-context h1 { font-size: 25px; line-height: 1.08; }
  .company-hero.company-hero-context .company-hero-summary { margin-top: 4px; font-size: 12px; }
  body:not(.broadcast-mode) .radar-suite-bar { gap: 0; padding: 4px; }
  body:not(.broadcast-mode) .radar-suite-bar > div:first-child { display: none; }
  body:not(.broadcast-mode) .radar-suite-bar > div:last-child {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 3px;
    overflow: visible;
  }
  body:not(.broadcast-mode) .radar-suite-bar a { min-width: 0; justify-content: center; padding-inline: 3px; text-align: center; }
  body:not(.broadcast-mode) .radar-suite-bar .nav-label-long { display: none; }
  body:not(.broadcast-mode) .radar-suite-bar .nav-label-short { display: inline; }
  body:not(.broadcast-mode) .hero { padding: 12px; }
  body:not(.broadcast-mode) .view-heading { padding-top: 9px; }
}

@media (max-width: 520px) {
  .company-quality-strip { grid-template-columns: 1fr; }
  .company-quality-strip .coverage-card { grid-column: auto; }
  .company-section-tabs {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 2px;
    overflow: visible;
    padding: 4px;
  }
  .company-section-tabs button { min-width: 0; padding-inline: 2px; }
  .company-section-tabs .tab-label-long { display: none; }
  .company-section-tabs .tab-label-short { display: inline; }
  .method-hero h2 { font-size: 30px; line-height: 1; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Quiet surfaces and a readable change hierarchy across the radar suite. */
body:not(.broadcast-mode) .company-hero {
  background: var(--color-surface);
  border-color: var(--color-border);
  color: var(--color-text);
}
body:not(.broadcast-mode) .company-brief-view .company-hero-compact h1 {
  font-size: var(--radar-type-title) !important;
}
body:not(.broadcast-mode) .company-brief-source h3 {
  font-size: 16px !important;
  line-height: 1.4;
}
body:not(.broadcast-mode) .product-nav button { font-weight: 700; }
body:not(.broadcast-mode) .product-nav button[aria-pressed='true'] {
  background: var(--color-accent-soft);
  color: var(--color-accent-strong);
  box-shadow: inset 0 0 0 1px var(--color-border-strong);
}
.latest-event-mobile-copy, .latest-event-mobile-warning { display:none; }
/* Mobile starts with source events; period totals remain one tap away. */
@media (max-width: 760px) {
  body:not(.broadcast-mode) .latest-view > .view-heading,
  body:not(.broadcast-mode) .latest-view .latest-search-label > span,
  body:not(.broadcast-mode) .latest-view .latest-sort-mobile > label,
  body:not(.broadcast-mode) .latest-view .latest-quality-summary-heading > b {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
  }
  body:not(.broadcast-mode) .latest-desktop-metrics,
  body:not(.broadcast-mode) .latest-view .latest-desktop-intro,
  body:not(.broadcast-mode) .latest-view .latest-quality-full-summary,
  body:not(.broadcast-mode) .latest-view .latest-quality-summary-action,
  body:not(.broadcast-mode) .latest-view .latest-panel-header .panel-kicker { display: none; }
  body:not(.broadcast-mode) .latest-mobile-summary { display: block; }
  body:not(.broadcast-mode) .latest-mobile-summary > summary {
    display: flex;
    min-height: 44px;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 4px 10px;
    border-bottom: 1px solid var(--color-border);
    cursor: pointer;
    list-style: none;
  }
  body:not(.broadcast-mode) .latest-mobile-summary > summary::-webkit-details-marker { display: none; }
  body:not(.broadcast-mode) .latest-mobile-summary > summary b { font-size: 14px; font-weight: 700; }
  body:not(.broadcast-mode) .latest-mobile-summary > summary > span { color: var(--color-text-muted); font-size: 12px; text-align: right; }
  body:not(.broadcast-mode) .latest-mobile-summary > summary > span::after { content: ' ⌄'; }
  body:not(.broadcast-mode) .latest-mobile-summary[open] > summary > span::after { content: ' ⌃'; }
  body:not(.broadcast-mode) .latest-mobile-summary > summary:focus-visible { outline: 2px solid var(--color-accent-strong); outline-offset: -2px; }
  body:not(.broadcast-mode) .latest-mobile-summary > dl {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 12px;
    margin: 0;
    border-bottom: 1px solid var(--color-border);
    background: var(--color-surface);
  }
  body:not(.broadcast-mode) .latest-mobile-summary dt { color: var(--color-text); font-size: 12px; font-weight: 700; }
  body:not(.broadcast-mode) .latest-mobile-summary dd { display: grid; gap: 5px; margin: 5px 0 0; }
  body:not(.broadcast-mode) .latest-mobile-summary dd strong { font-size: 22px; }
  body:not(.broadcast-mode) .latest-mobile-summary dd span,
  body:not(.broadcast-mode) .latest-mobile-summary dd p { margin: 0; color: var(--color-text-muted); font-size: 12px; line-height: 1.45; }
  body:not(.broadcast-mode) .latest-view .latest-quality-disclosure { margin-top: 4px; border-radius: 8px; }
  body:not(.broadcast-mode) .latest-view .latest-quality-disclosure > summary { grid-template-columns: 9px minmax(0, 1fr) 12px; min-height: 44px; padding: 7px 10px; gap: 7px; }
  body:not(.broadcast-mode) .latest-view .latest-quality-disclosure > summary::after { content: '⌄'; color: var(--color-text-muted); }
  body:not(.broadcast-mode) .latest-view .latest-quality-disclosure[open] > summary::after { content: '⌃'; }
  body:not(.broadcast-mode) .latest-view .latest-quality-summary-heading > .latest-quality-mobile-summary { display: block; white-space: normal; line-height: 1.4; }
  body:not(.broadcast-mode) .latest-view .latest-panel-header { display: grid; grid-template-columns: minmax(0, 1fr) auto; min-height: 0; padding: 10px; gap: 8px; }
  body:not(.broadcast-mode) .latest-view .latest-panel-header > div:first-child { grid-column: 1; grid-row: 1; }
  body:not(.broadcast-mode) .latest-view .latest-panel-header h3 { font-size: 16px !important; }
  body:not(.broadcast-mode) .latest-view .latest-toolbar { display: contents; }
  body:not(.broadcast-mode) .latest-view .latest-sort-mobile { display: grid; grid-template-columns: minmax(0, 1fr) 44px; grid-column: 1 / -1; grid-row: 2; gap: 8px; }
  body:not(.broadcast-mode) .latest-view .latest-sort-mobile select { min-width: 0; font-size: 16px; }
  body:not(.broadcast-mode) .latest-view .latest-toolbar .panel-note { grid-column: 2; grid-row: 1; max-width: 150px; text-align: right; font-size: 12px; }
  body:not(.broadcast-mode) .latest-view .latest-table-controls { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; padding: 8px 10px; align-items: end; }
  body:not(.broadcast-mode) .latest-view .latest-search-label { width: 100%; min-width: 0; }
  body:not(.broadcast-mode) .latest-view .latest-search-label input { width: 100%; font-size: 16px; }
  body:not(.broadcast-mode) .latest-view .latest-filter-chips { padding: 0 10px 8px; }
  body:not(.broadcast-mode) .latest-view .latest-filter-chips button { min-height: 44px; }
  body:not(.broadcast-mode) .latest-view .latest-mobile-intro { display: inline; }
  body:not(.broadcast-mode) .latest-view .event-list-intro { padding: 7px 10px; font-size: 12px; line-height: 1.4; }
  body:not(.broadcast-mode) .latest-view .latest-event-table tbody > tr {
    grid-template-columns:minmax(0, 1fr) 128px;
    gap:8px;
    align-items:center;
    padding:8px 10px;
  }
  body:not(.broadcast-mode) .latest-view .latest-event-table td::before,
  body:not(.broadcast-mode) .latest-view .latest-event-company-cell,
  body:not(.broadcast-mode) .latest-view .latest-event-date-cell,
  body:not(.broadcast-mode) .latest-view .latest-event-value-cell,
  body:not(.broadcast-mode) .latest-view .latest-event-threshold-cell,
  body:not(.broadcast-mode) .latest-view .latest-direction-detail,
  body:not(.broadcast-mode) .latest-view .latest-event-open-label,
  body:not(.broadcast-mode) .latest-view .latest-event-open > b { display:none; }
  body:not(.broadcast-mode) .latest-view .latest-event-action-cell { grid-column:1; grid-row:1; min-width:0; }
  body:not(.broadcast-mode) .latest-view .latest-event-open {
    display:block;
    min-height:44px;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    text-align:left;
  }
  body:not(.broadcast-mode) .latest-view .latest-event-mobile-copy { display:grid; gap:3px; min-width:0; }
  body:not(.broadcast-mode) .latest-view .latest-event-mobile-copy > :is(b,small) { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
  body:not(.broadcast-mode) .latest-view .latest-event-mobile-copy b { color:var(--color-text); font-size:14px; font-weight:700; text-decoration:underline; text-decoration-color:var(--color-accent); text-underline-offset:3px; }
  body:not(.broadcast-mode) .latest-view .latest-event-mobile-copy small { color:var(--color-text-muted); font-size:12px; font-weight:400; }
  body:not(.broadcast-mode) .latest-view .latest-event-mobile-copy em,
  body:not(.broadcast-mode) .latest-view .latest-event-mobile-warning { display:block; color:var(--color-warning); font-size:12px; font-weight:600; font-style:normal; }
  body:not(.broadcast-mode) .latest-view .latest-event-kind-cell { grid-column:2; grid-row:1; min-width:0; justify-content:flex-end; gap:3px; text-align:right; }
  body:not(.broadcast-mode) .latest-view .latest-event-kind-cell .direction-badge { min-height:20px; padding:1px 6px; font-size:12px; line-height:1.4; }
  body:not(.broadcast-mode) .latest-view .latest-event-kind-cell .event-type { width:100%; min-height:0; padding:0; border:0; border-radius:0; background:none; font-size:12px; line-height:1.4; justify-content:flex-end; }
  body:not(.broadcast-mode) .latest-view .latest-event-kind-cell .event-type:not(.correction) { border:0; background:none; color:var(--color-text-secondary); }
}
@media (max-width: 760px) {
  /* Keep focused fields readable without iOS zooming the visual viewport.
     Cover company search, history, filters and drawers; leave pinch zoom free. */
  body:not(.broadcast-mode) :is(input, select, textarea) { font-size: 16px; }
  body:not(.broadcast-mode) .company-brief-view .company-hero-compact h1 { font-size: 28px !important; }
  body:not(.broadcast-mode) .company-change {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: start;
    padding-block: 14px;
  }
  body:not(.broadcast-mode) .company-change > time { grid-column: 1; grid-row: 1; }
  body:not(.broadcast-mode) .company-change-source { grid-column: 2; grid-row: 1; }
  body:not(.broadcast-mode) .company-change-copy {
    grid-column: 1 / -1;
    grid-row: 2;
    min-width: 0;
    overflow-wrap: anywhere;
  }
  body:not(.broadcast-mode) .company-change > strong { grid-column: 1 / -1; grid-row: 3; }
  body:not(.broadcast-mode) .company-change > :last-child {
    grid-column: 1 / -1;
    grid-row: 4;
    justify-self: start;
    min-height: 44px;
  }
}

/* Compact company reading surfaces without merging financial dimensions. */
@media (max-width: 760px) {
  body:not(.broadcast-mode) .company-brief-hero { padding:10px 12px; }
  body:not(.broadcast-mode) .company-brief-hero::after,
  body:not(.broadcast-mode) .company-brief-hero .panel-kicker,
  body:not(.broadcast-mode) .company-brief-actions > [data-company-section-link] { display:none; }
  body:not(.broadcast-mode) .company-brief-hero h2 { margin:0; font-size:20px; line-height:1.25; overflow-wrap:anywhere; }
  body:not(.broadcast-mode) .company-brief-confidence { margin-top:6px; padding:3px 8px; }
  body:not(.broadcast-mode) .company-brief-hero > p { margin-top:6px; font-size:14px; line-height:1.4; }
  body:not(.broadcast-mode) .company-brief-facts { grid-template-columns:minmax(0,1fr); margin-top:8px; gap:0; }
  body:not(.broadcast-mode) .company-brief-facts > div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:baseline; gap:8px; min-width:0; padding:5px 0; border-radius:0; border-top:1px solid var(--line-soft); background:none; }
  body:not(.broadcast-mode) .company-brief-facts dt { min-width:0; font-size:12px; line-height:1.4; text-transform:none; letter-spacing:0; overflow-wrap:anywhere; }
  body:not(.broadcast-mode) .company-brief-facts dd { min-width:0; margin:0; font-size:14px; line-height:1.4; text-align:right; overflow-wrap:anywhere; }
  body:not(.broadcast-mode) .company-brief-actions { margin-top:0; }
  body:not(.broadcast-mode) .company-brief-actions > [data-company-section-link]:focus { display:inline-flex; margin-top:8px; }
  body:not(.broadcast-mode) .company-brief-actions:has([data-retry-view]) { margin-top:8px; }
  body:not(.broadcast-mode) .company-brief-source { padding:8px 10px; gap:2px 8px; }
  body:not(.broadcast-mode) .company-brief-source h3 { font-size:14px!important; line-height:1.3; }
  body:not(.broadcast-mode) .company-history .party-panel > .panel-header { min-height:0; padding:10px 12px; }
  body:not(.broadcast-mode) .company-history .party-panel > .panel-header .panel-kicker { display:none; }
  body:not(.broadcast-mode) .company-history .party-panel h2 { margin:0; font-size:18px; line-height:1.3; }
  body:not(.broadcast-mode) .company-history .party-panel .panel-intro { margin:0; padding:8px 12px; font-size:12px; line-height:1.4; }
  body:not(.broadcast-mode) .company-history .party-observation-search { padding:8px 12px; font-size:12px; gap:4px; }
  body:not(.broadcast-mode) .company-history .party-observation-search input { min-height:44px; padding:8px 10px; }
  body:not(.broadcast-mode) .company-history .party-table thead { position:static; display:block; width:auto; height:auto; overflow:visible; clip:auto; clip-path:none; white-space:normal; }
  body:not(.broadcast-mode) .company-history .party-table tbody { display:block; }
  body:not(.broadcast-mode) .company-history .party-table tr { display:grid; grid-template-columns:minmax(0,1fr) 62px 62px; align-items:center; gap:6px; padding:5px 10px; border:0; border-bottom:1px solid var(--line-soft); border-radius:0; background:none; }
  body:not(.broadcast-mode) .company-history .party-table :is(th,td) { display:block; width:auto; min-width:0; grid-column:auto; padding:0; border:0; }
  body:not(.broadcast-mode) .company-history .party-table :is(th,td):is(:nth-child(2),:nth-child(3),:nth-child(6)),
  body:not(.broadcast-mode) .company-history .party-table td::before,
  body:not(.broadcast-mode) .company-history .party-table td:first-child > small { display:none; }
  body:not(.broadcast-mode) .company-history .party-table th { font-size:12px; text-transform:none; letter-spacing:0; background:none; }
  body:not(.broadcast-mode) .company-history .party-table td.numeric { font-size:14px; text-align:right; }
  body:not(.broadcast-mode) .company-history .party-table button { display:flex; flex-direction:column; align-items:stretch; justify-content:center; width:100%; min-width:0; min-height:44px; margin:0; padding:2px 0; }
  body:not(.broadcast-mode) .company-history .party-name { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; text-decoration:underline; text-decoration-color:var(--teal); text-underline-offset:3px; }
  body:not(.broadcast-mode) .company-history .party-mobile-meta { display:block; margin-top:2px; color:var(--muted); font-size:12px; font-weight:400; line-height:1.4; overflow-wrap:anywhere; }
  body:not(.broadcast-mode) .company-history .party-mobile-meta em { display:block; color:var(--gold); font-style:normal; }
}

/* The company overview exposes the entire loaded period feed directly. Keep
   semantic tables at every width; no mobile conversion into stacked cards. */
.company-period-events { gap: 10px; min-width: 0; }
.company-overview-heading { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:4px 12px; padding:2px 4px; }
.company-overview-heading h2 { margin:0; font-size:18px; line-height:1.3; }
.company-overview-heading > span { color:var(--muted); font-size:12px; }
.company-overview-notice { margin:0; padding:6px 10px; border:1px solid var(--line-soft); border-radius:var(--radar-radius-control); background:var(--surface); color:var(--muted); font-size:12px; line-height:1.4; }
.company-overview-notice button { margin-left:6px; padding:0 8px; border:1px solid var(--line); border-radius:var(--radar-radius-control); background:var(--surface); color:var(--teal); font:inherit; cursor:pointer; }
.company-period-events .warning { color:var(--color-warning-text, var(--gold)); }
.company-event-section { min-width:0; border:1px solid var(--line); border-radius:var(--radar-radius-panel); background:var(--surface); }
.company-event-section > header { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:0 12px; min-height:44px; }
.company-event-section h3 { display:flex; align-items:baseline; gap:8px; margin:0; font-size:16px; line-height:1.3; }
.company-event-section h3 > span { font-size:12px; color:var(--muted); font-weight:500; }
.company-event-section > header button { flex:none; min-height:44px; padding:0 4px; font-size:12px; }
.company-event-totals { display:flex; flex-wrap:wrap; gap:4px 16px; margin:0; padding:0 12px 6px; font-size:12px; color:var(--muted); line-height:1.4; }
.company-event-totals b { color:var(--text); }
.company-event-note { margin:0; padding:0 12px 7px; font-size:12px; line-height:1.4; color:var(--muted); }
.company-event-empty { margin:0; padding:8px 12px 12px; border-top:1px solid var(--line-soft); font-size:13px; color:var(--muted); }
.company-event-table { width:100%; table-layout:fixed; border-collapse:collapse; font-size:14px; }
.company-event-table th { padding:5px 12px; border-block:1px solid var(--line-soft); color:var(--muted); font-size:12px; font-weight:500; text-align:left; background:var(--surface-2); }
.company-event-table th:first-child { width:125px; }
.company-event-table th:last-child { width:245px; text-align:right; }
.company-event-table td { padding:4px 12px; border-top:1px solid var(--line-soft); vertical-align:middle; }
.company-event-table tbody tr:first-child td { border-top:0; }
.company-event-table tbody tr:hover { background:var(--surface-2); }
.company-event-table small { display:block; font-size:12px; line-height:1.35; color:var(--muted); font-weight:400; }
.company-event-date { font-size:12px; line-height:1.45; font-variant-numeric:tabular-nums; }
.company-event-actor { min-width:0; }
.company-period-events .company-event-name { display:flex; flex-direction:column; align-items:stretch; justify-content:center; min-width:0; width:100%; min-height:44px; margin:0; padding:0; border:0; border-radius:0; background:none; color:var(--text); font:inherit; line-height:1.35; text-align:left; text-decoration:none; }
.company-event-name b { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; }
.company-event-name:is(button, a) { cursor:pointer; }
.company-event-name:is(button, a) b { text-decoration:underline; text-decoration-color:var(--teal); text-underline-offset:3px; }
.company-event-name small { white-space:normal; overflow-wrap:anywhere; }
.company-event-evidence { padding-bottom:3px; overflow-wrap:anywhere; }
.company-event-values { text-align:right; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.company-event-values > span { display:block; }
.company-event-values > span > small { display:inline; }
.company-event-values > span > .company-event-delta { margin-left:8px; }
.company-event-values strong { font-size:14px; font-weight:750; }
.company-event-values .positive { color:var(--color-positive); }
.company-event-values .negative { color:var(--color-negative); }
.company-event-values .company-short-movement { white-space:nowrap; }
.company-short-trend { margin:0; padding:8px 12px; border-top:1px solid var(--line-soft); }
.company-short-trend figcaption { display:flex; justify-content:space-between; flex-wrap:wrap; gap:2px 8px; font-size:12px; line-height:18px; color:var(--muted); }
.company-short-trend figcaption > :first-child { color:var(--text); font-weight:600; }
.company-short-trend-plot { display:flex; height:150px; gap:4px; margin-top:4px; }
.company-short-trend-axis { display:flex; flex-direction:column; justify-content:space-between; width:44px; flex:none; padding-block:2px; font-size:12px; color:var(--muted); }
.company-short-trend svg { display:block; min-width:0; width:100%; height:100%; overflow:visible; }
.company-short-trend path { fill:none; stroke:var(--muted); stroke-width:2; vector-effect:non-scaling-stroke; stroke-linecap:round; }
.company-short-trend .decrease { stroke:var(--color-positive); }
.company-short-trend .increase { stroke:var(--color-negative); }
.company-short-trend .observation { stroke:var(--text); stroke-width:3; }
.company-short-trend .grid { stroke:var(--line-soft); stroke-width:1; }
.company-short-trend-dates { display:flex; justify-content:space-between; margin-left:48px; font-size:12px; line-height:18px; color:var(--muted); }
.company-short-trend-empty { margin:0; padding:4px 12px 8px; color:var(--muted); font-size:12px; }
.company-short-trend-flat { display:flex; align-items:baseline; gap:10px; margin-block:4px; }
.company-short-trend-flat strong { flex:none; font-size:18px; color:var(--text); }
.company-short-trend-flat span, .company-short-trend-summary p, .company-short-trend-coverage { margin:0; font-size:12px; line-height:18px; color:var(--muted); }
@media (max-width:760px) {
  .company-short-trend { padding:5px 10px; }
  .company-short-trend-plot { height:60px; }
  .company-period-events { gap:8px; }
  .company-overview-heading h2 { font-size:16px; }
  .company-event-section > header { padding-inline:10px; }
  .company-event-note, .company-event-totals { padding-inline:10px; }
  .company-event-table th, .company-event-table td { padding-inline:8px; }
  .company-event-table th:first-child { width:70px; }
  .company-event-table th:last-child { width:112px; }
  .company-event-table.ownership th:last-child { width:140px; }
  .company-event-table th { font-size:12px; }
  .company-event-year { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
  .company-event-date time, .company-event-date > small { white-space:nowrap; }
  .company-event-values > span { display:grid; grid-template-columns:auto 1fr auto; align-items:baseline; gap:0 3px; }
  .company-event-values > span > small:first-child { text-align:left; }
  .company-event-values > span > .company-event-delta { margin:0; font-size:12px; white-space:nowrap; }
  .company-event-values strong { font-size:13px; }
}

.company-event-mobile-date { display:none; }
@media (max-width:760px) {
  .company-event-table th:first-child,
  .company-event-table td.company-event-date { display:none; }
  .company-event-mobile-date { display:inline; }
  .company-event-table.ownership th:last-child { width:150px; }
  .company-event-table.ownership .company-event-values > span { flex-wrap:nowrap; }
}
