/* ============================================
   COMPANY PROFILE + FILING VIEWER
   Clean. Spacious. Rounded surfaces.
   ============================================ */

/* ── Content wrapper — publishing width ── */
.company-content {
  max-width: 680px;
  margin: 0 auto;
}

/* ── Anchor offset — one rule for all anchors ── */
html {
  scroll-padding-top: 68px;
  scroll-behavior: smooth;
}

/* ── Section expand/collapse ── */
.company-section__toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 1.25rem 0;
  background: none;
  border: none;
  cursor: pointer;
  font: inherit;
  color: inherit;
  text-align: left;
}

.company-section__toggle:hover .company-section__title {
  color: var(--ink);
}

.company-section__title {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--ink-40);
  font-family: var(--font-display);
  transition: color 120ms;
}

.company-section__caret {
  width: 14px;
  height: 14px;
  color: var(--ink-20);
  transition: transform 200ms;
  flex-shrink: 0;
}

.company-section__caret--collapsed {
  transform: rotate(-90deg);
}

.company-section__body[hidden] {
  display: none;
}

.company-section__body {
  padding-bottom: 1.5rem;
}

.company-section + .company-section {
  border-top: 1px solid var(--border-light);
}

/* ── Collapse All / Expand All bar ── */
.company-profile__actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.35rem;
  padding: 0.5rem 0;
  margin-top: 1rem;
}

.company-profile__action-btn {
  font-size: 11px;
  font-weight: 600;
  font-family: var(--font-display);
  color: var(--ink-40);
  background: var(--surface);
  border: none;
  border-radius: var(--radius-full);
  padding: 5px 14px;
  cursor: pointer;
  transition: color 120ms, background 120ms;
}

.company-profile__action-btn:hover {
  color: var(--ink);
  background: var(--border);
}

/* ── Peer data tables (competitors, unit economics, cash reality) ── */
.company-peer-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}

.company-peer-table th {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--ink-40);
  text-align: left;
  padding: 0.25rem 0.5rem;
  white-space: nowrap;
}

.company-peer-table td {
  padding: 0.35rem 0.5rem;
  border-top: 1px solid oklch(0% 0 0 / 4%);
  vertical-align: baseline;
}

.company-peer-table tbody tr:hover td {
  background: var(--paper);
}

.company-peer-table .num {
  font-variant-numeric: tabular-nums;
  font-family: var(--font-display);
  text-align: right;
  white-space: nowrap;
}

.company-peer-table .highlight td {
  background: oklch(68% 0.15 145 / 6%) !important;
  font-weight: 600;
}

.company-peer-table .ticker {
  font-weight: 700;
  font-family: var(--font-display);
  font-size: 11px;
  letter-spacing: 0.04em;
}

/* ── Hero stats (unit economics conversion chain, cash reality) ── */
.company-hero-stat {
  padding: 1.25rem 1rem;
  background: var(--surface);
  border-radius: var(--radius-lg);
  margin-bottom: 1rem;
}

.company-hero-stat__chain {
  font-size: 1.1rem;
  font-weight: 700;
  font-family: var(--font-display);
  font-variant-numeric: tabular-nums;
  color: var(--ink);
  line-height: 1.6;
  letter-spacing: -0.01em;
}

.company-hero-stat__chain-step {
  color: var(--ink-20);
  margin: 0 0.15rem;
}

.company-hero-stat__pair {
  display: flex;
  gap: 2rem;
  align-items: baseline;
  flex-wrap: wrap;
}

.company-hero-stat__item {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

.company-hero-stat__label {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--ink-40);
  font-family: var(--font-display);
}

.company-hero-stat__value {
  font-size: 1.5rem;
  font-weight: 800;
  font-family: var(--font-display);
  font-variant-numeric: tabular-nums;
  color: var(--ink);
  letter-spacing: -0.02em;
}

.company-hero-stat__narrative {
  font-size: 13px;
  line-height: 1.6;
  color: var(--ink-60);
  margin-top: 0.75rem;
}

/* ── Peer group header ── */
.company-peer-group {
  font-size: 12px;
  color: var(--ink-40);
  margin-bottom: 0.75rem;
  font-family: var(--font-display);
}

/* ── Ownership fund breakdown ── */
.company-ownership-breakdown {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.company-ownership-breakdown__item {
  background: var(--surface);
  border-radius: var(--radius-lg);
  padding: 0.5rem 0.85rem;
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 90px;
}

.company-ownership-breakdown__type {
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--ink-40);
  font-family: var(--font-display);
}

.company-ownership-breakdown__count {
  font-size: 16px;
  font-weight: 700;
  font-family: var(--font-display);
  font-variant-numeric: tabular-nums;
  color: var(--ink);
}

/* ============================================
   COMPANY HEADER — Single-column, publication style
   ============================================ */
.company-header {
  padding: 1.5rem 0 2rem;
  margin-bottom: 0;
  border-bottom: 1px solid var(--border-light);
}

.company-header__top-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

.company-header__ticker {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.16em;
  color: var(--ink);
  font-family: var(--font-mono);
  background: var(--surface);
  padding: 4px 12px;
  border-radius: var(--radius-sm);
  display: inline-block;
}

.company-header__name {
  font-size: 2rem;
  font-weight: 800;
  line-height: 1.1;
  color: var(--ink);
  margin: 0 0 0;
  letter-spacing: -0.03em;
}

.company-header__desc {
  font-size: 15px;
  line-height: 1.65;
  color: var(--ink-60);
  margin: 0.75rem 0 0;
}

.company-header__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  margin-top: 0.75rem;
  font-size: 12px;
  font-family: var(--font-display);
  font-variant-numeric: tabular-nums;
  color: var(--ink-40);
}

.company-header__meta-item {
  white-space: nowrap;
}

.company-header__meta-item + .company-header__meta-item::before {
  content: '\00b7';
  margin: 0 0.5rem;
  color: var(--ink-20);
}

.company-header__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 0.6rem;
}

.company-header__tags:empty { display: none; }

.company-header__tag {
  font-size: 10px;
  font-weight: 600;
  color: var(--ink-40);
  padding: 3px 10px;
  background: var(--surface);
  border: none;
  border-radius: var(--radius-full);
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  font-family: var(--font-display);
  transition: color 120ms, background 120ms;
}

.company-header__tag--link {
  text-decoration: none;
  cursor: pointer;
}

.company-header__tag--link:hover {
  background: var(--border);
  color: var(--ink);
}

.company-header__tag--accent {
  background: var(--ink);
  color: var(--paper);
  font-weight: 700;
}

/* -- Watch button in header -- */
.company-header__top-line .report__btn,
.company-header__top-line turbo-frame .report__btn {
  font-size: 11px;
  font-weight: 600;
  font-family: var(--font-display);
  color: var(--ink-40);
  background: var(--surface);
  border: none;
  border-radius: var(--radius-full);
  padding: 5px 14px;
  cursor: pointer;
  transition: color 120ms, background 120ms, box-shadow 200ms;
}

.company-header__top-line .report__btn:hover {
  color: var(--ink);
  box-shadow: var(--shadow-sm);
}

.company-header__top-line .report__btn--watching {
  color: var(--accent-dark);
  background: var(--accent-lightest);
}

.company-header__top-line turbo-frame {
  display: inline-flex;
}

.company-header__top-line turbo-frame form {
  margin: 0;
}

/* ============================================
   OVERVIEW — Alerts, Brief, Scenarios, Calendar
   ============================================ */
.company-alerts {
  margin-bottom: 1.5rem;
  padding: 0.75rem 1rem;
  border-left: 3px solid var(--ink);
  background: var(--surface);
  border-radius: 0 var(--radius-lg) var(--radius-lg) 0;
}

.company-alerts__label {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--ink-40);
  margin-bottom: 0.3rem;
}

.company-alerts__row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: baseline;
  font-size: 13px;
  padding: 0.35rem 0;
}

.company-alerts__link-row {
  display: flex;
  gap: 0.5rem;
  align-items: baseline;
  flex: 1;
  min-width: 0;
  text-decoration: none;
  color: inherit;
}

.company-alerts__link-row:hover .company-alerts__desc {
  color: var(--ink);
}

.company-alerts__actions {
  display: flex;
  gap: 0.35rem;
  flex-shrink: 0;
}

.company-alerts__flag-form {
  width: 100%;
  padding-top: 0.25rem;
}

.company-alerts__flag-form[hidden] { display: none; }

.company-alerts__type {
  font-weight: 700;
  font-size: 11px;
  font-family: var(--font-display);
  color: var(--ink);
  min-width: 40px;
}

.company-alerts__desc { color: var(--ink-60); flex: 1; }

.company-alerts__date {
  font-variant-numeric: tabular-nums;
  color: var(--ink-40);
  font-size: 12px;
  font-family: var(--font-display);
}

/* -- Thesis brief -- */
.company-thesis {
  font-size: 16px;
  line-height: 1.8;
  color: var(--ink);
  padding: 2rem 0 1.5rem;
  border-top: none;
  max-width: 620px;
}

.company-thesis p {
  margin: 0 0 0.75rem;
}

.company-thesis p:last-child {
  margin-bottom: 0;
}

/* -- Threads: Floor / Market / Destination -- */
.company-question {
  margin-bottom: 1.25rem;
}

.company-question__text {
  font-size: 1.125rem;
  font-weight: 600;
  font-family: var(--font-display);
  line-height: 1.4;
  color: var(--ink);
  margin: 0;
}

.company-threads {
  margin-bottom: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.company-thread {
  border-left: 3px solid var(--border);
  padding-left: 1rem;
}

.company-thread--floor { border-left-color: var(--ink-20); }
.company-thread--market { border-left-color: var(--ink-40); }
.company-thread--destination { border-left-color: var(--growth-dark); }

.company-thread__head {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  margin-bottom: 0.375rem;
}

.company-thread__name {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-family: var(--font-display);
  color: var(--ink-40);
}

.company-thread__value {
  font-size: 13px;
  font-weight: 700;
  font-family: var(--font-display);
  font-variant-numeric: tabular-nums;
  color: var(--ink);
  background: var(--surface);
  padding: 1px 6px;
  border-radius: var(--radius-full);
}

.company-thread__body {
  font-size: 14px;
  line-height: 1.6;
  color: var(--ink-80);
}

.company-thread__body p {
  margin: 0 0 0.5rem;
}

.company-thread__body p:last-child {
  margin-bottom: 0;
}

.company-thread__label {
  font-size: 12px;
  line-height: 1.4;
  color: var(--ink-60);
}

/* -- Thread diff (version comparison) -- */
.company-thread--changed {
  border-left-color: var(--amber, #d97706);
  background: color-mix(in srgb, var(--amber, #d97706) 6%, transparent);
  padding: 0.75rem 1rem;
  border-radius: 0 var(--radius-sm, 4px) var(--radius-sm, 4px) 0;
}

.company-thread__current {
  font-size: 11px;
  font-weight: 600;
  font-family: var(--font-display);
  color: var(--amber, #d97706);
  margin-left: auto;
  white-space: nowrap;
}

/* -- Version dropdown (report header) -- */
.report-version-bar {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 1rem;
}

.report-version-select {
  font-size: 12px;
  font-family: var(--font-display);
  font-weight: 600;
  color: var(--ink-60);
  background: var(--surface);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-sm, 4px);
  padding: 0.3rem 0.6rem;
  cursor: pointer;
  appearance: auto;
}

.report-version-select:hover {
  color: var(--ink);
  border-color: var(--border);
}

/* -- Critical Path -- */
.company-path {
  margin-bottom: 1.5rem;
}

.company-path__label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--ink-40);
  font-family: var(--font-display);
  margin-bottom: 0.75rem;
}

.company-path__type {
  font-weight: 500;
  text-transform: capitalize;
  letter-spacing: 0;
  margin-left: 0.5rem;
  color: var(--ink-20);
}

.company-path__links {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.company-path__link {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  font-size: 13px;
  line-height: 1.5;
  color: var(--ink-60);
}

.company-path__number {
  font-size: 11px;
  font-weight: 700;
  font-family: var(--font-display);
  color: var(--ink-20);
  flex-shrink: 0;
  margin-top: 2px;
}

.company-path__detail {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

.company-path__validates,
.company-path__breaks {
  font-size: 12px;
  line-height: 1.4;
  color: var(--ink-40);
}

.company-path__validates::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #22863a;
  margin-right: 0.375rem;
  vertical-align: middle;
}

.company-path__breaks::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #cb2431;
  margin-right: 0.375rem;
  vertical-align: middle;
}

/* -- References -- */
.company-references__group {
  margin-bottom: 1.5rem;
}

.company-references__group-label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--ink-40);
  font-family: var(--font-display);
  margin-bottom: 0.5rem;
}

/* -- Next Event callout -- */
.company-next-event {
  display: flex;
  gap: 0.75rem;
  align-items: baseline;
  padding: 0.75rem 1rem;
  margin-bottom: 1.5rem;
  background: var(--ink);
  color: var(--paper);
  border-radius: var(--radius-lg);
  font-size: 13px;
  line-height: 1.5;
}

.company-next-event__label {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-family: var(--font-display);
  white-space: nowrap;
  opacity: 0.6;
}

.company-next-event__text {
  color: var(--paper);
}

/* -- Calendar -- */
.company-calendar {
  margin-bottom: 1.5rem;
}

.company-calendar__label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--ink-40);
  font-family: var(--font-display);
  margin-bottom: 0.5rem;
}

.company-calendar__row {
  display: flex;
  gap: 1rem;
  align-items: baseline;
  padding: 0.35rem 0.85rem;
  font-size: 13px;
  transition: background 80ms;
}

.company-calendar__row:hover {
  background: var(--paper);
}

.company-calendar__row + .company-calendar__row {
  border-top: 1px solid oklch(0% 0 0 / 5%);
}

.company-calendar__date {
  font-family: var(--font-display);
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  color: var(--ink-40);
  min-width: 72px;
  font-size: 12px;
}

.company-calendar__event { color: var(--ink); }

/* ============================================
   GATE — Sign in / subscribe prompt
   ============================================ */
.company-gate {
  padding: 2rem;
  background: var(--surface);
  border-radius: var(--radius-xl);
  text-align: center;
  margin-bottom: 1.5rem;
}

.company-gate__text {
  font-size: 13px;
  color: var(--ink-60);
  margin: 0 0 0.75rem;
}

.company-gate__text a { color: var(--ink); font-weight: 600; }

.company-gate__btn {
  font-size: 13px;
  font-weight: 600;
  color: var(--paper);
  background: var(--ink);
  border: none;
  padding: 8px 20px;
  border-radius: var(--radius-full);
  cursor: pointer;
  font-family: var(--font-display);
  transition: opacity 120ms;
}

.company-gate__btn:hover { opacity: 0.85; }

/* ============================================
   BAMSEC CONTAINERS — Filing categories grid
   Rounded surfaces, subtle separation.
   ============================================ */
.company-containers {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.75rem;
  margin-top: 0.5rem;
  margin-bottom: 1rem;
}

.company-box {
  background: var(--surface);
  border-radius: var(--radius-lg);
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.company-box--full {
  grid-column: 1 / -1;
}

.company-box__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.6rem 1rem;
  flex-shrink: 0;
}

.company-box__title {
  font-size: 11px;
  font-weight: 700;
  color: var(--ink-60);
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.company-box__count {
  font-size: 10px;
  font-weight: 700;
  color: var(--ink-40);
  font-family: var(--font-display);
  background: var(--paper);
  padding: 1px 6px;
  border-radius: var(--radius-full);
  line-height: 1.6;
}

.company-box__body {
  padding: 0 0.75rem 0.5rem;
  flex: 1;
}

.company-box__row {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  padding: 0.4rem 0.35rem;
  margin: 0 -0.1rem;
  font-size: 13px;
  color: var(--ink-60);
  text-decoration: none;
  border-radius: var(--radius-md);
  transition: color 80ms, background 80ms;
}

.company-box__row + .company-box__row {
  border-top: 1px solid oklch(0% 0 0 / 4%);
}

.company-box__row:hover {
  color: var(--ink);
  background: var(--paper);
}

.company-box__type {
  font-weight: 700;
  font-size: 11px;
  font-family: var(--font-display);
  color: var(--ink);
  white-space: nowrap;
  min-width: 40px;
}

.company-box__desc {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.company-box__date {
  font-variant-numeric: tabular-nums;
  font-family: var(--font-display);
  color: var(--ink-40);
  white-space: nowrap;
  margin-left: auto;
  font-size: 11px;
}

.company-box__empty {
  font-size: 12px;
  color: var(--ink-20);
  padding: 0.75rem 0.35rem;
  margin: 0;
}

/* ============================================
   COMPANY TABS — Tabbed data sections
   ============================================ */
.company-tabs {
  margin-top: 2rem;
}

.company-tabs__nav {
  display: flex;
  gap: 0;
  border-bottom: 1px solid var(--border-light);
  margin-bottom: 0;
}

.company-tabs__tab {
  padding: 0.6rem 1rem;
  font-size: 12px;
  font-weight: 600;
  font-family: var(--font-display);
  color: var(--ink-40);
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  cursor: pointer;
  transition: color 150ms, border-color 150ms;
  white-space: nowrap;
}

.company-tabs__tab:hover {
  color: var(--ink-60);
}

.company-tabs__tab--active {
  color: var(--ink);
  border-bottom-color: var(--ink);
}

.company-tabs__tab-count {
  font-size: 10px;
  font-weight: 700;
  font-family: var(--font-display);
  color: var(--ink-20);
  background: var(--surface);
  padding: 1px 5px;
  border-radius: var(--radius-full);
  margin-left: 0.35rem;
}

.company-tabs__tab--active .company-tabs__tab-count {
  color: var(--ink-40);
  background: var(--surface);
}

.company-tabs__panel {
  padding: 0.5rem 0;
}

.company-tabs__panel[hidden] {
  display: none;
}

/* Remove margins from company-box inside tabs */
.company-tabs .company-box {
  background: none;
  border-radius: 0;
}

.company-tabs .company-box__header {
  padding: 0.5rem 0;
}

.company-tabs .company-box__body {
  padding: 0;
}

.company-tabs .company-box + .company-box {
  border-top: 1px solid var(--border-light);
  margin-top: 0.5rem;
  padding-top: 0.5rem;
}

/* Holders table inside tabs */
.company-tabs .company-holders__table {
  margin-top: 0;
}

/* ============================================
   HOLDERS TABLE
   ============================================ */
.company-holders__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}

.company-holders__table th {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--ink-40);
  text-align: left;
  padding: 0.25rem 0;
}

.company-holders__table td {
  padding: 0.35rem 0;
  border-top: 1px solid oklch(0% 0 0 / 4%);
  vertical-align: baseline;
}

.company-holders__table tbody tr:hover td {
  background: var(--paper);
}

.company-holders__name {
  font-weight: 500;
  color: var(--ink);
  max-width: 180px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.company-holders__num {
  font-variant-numeric: tabular-nums;
  font-family: var(--font-display);
  text-align: right;
  white-space: nowrap;
  padding-left: 0.75rem;
}

.company-holders__period {
  font-variant-numeric: tabular-nums;
  font-family: var(--font-display);
  color: var(--ink-40);
  white-space: nowrap;
  font-size: 11px;
}

.company-holders__change--increased { color: var(--ink-60); }
.company-holders__change--decreased { color: var(--ink-40); }
.company-holders__change--new { font-weight: 700; color: var(--ink); }

/* ============================================
   FULL ANALYSIS — Rounded card, modern treatment
   ============================================ */
.company-analysis {
  background: var(--paper);
  border-radius: 16px;
  box-shadow: var(--shadow-card);
  overflow: hidden;
}

.company-analysis .company-box__header {
  padding: 1.5rem 1.5rem 0.25rem;
  background: none;
  border-bottom: none;
}

.company-analysis__actions {
  display: flex;
  gap: 0.35rem;
  align-items: center;
}

.company-analysis .report__btn {
  font-size: 11px;
  font-weight: 600;
  font-family: var(--font-display);
  color: var(--ink-40);
  background: var(--surface);
  border: none;
  border-radius: var(--radius-full);
  padding: 5px 14px;
  cursor: pointer;
  transition: color 120ms, background 120ms, box-shadow 200ms;
}

.company-analysis .report__btn:hover {
  color: var(--ink);
  box-shadow: var(--shadow-sm);
}

.company-analysis .report__sections {
  padding: 0.75rem 1.5rem 0.5rem;
  border-top: none;
}

.company-analysis .report-section {
  border-bottom: 1px solid var(--border-light);
}

.company-analysis .report-section:last-child {
  border-bottom: none;
}

.company-analysis .report-section__heading {
  padding: 1.25rem 0.25rem;
}

.company-analysis .report-section__number {
  font-size: 11px;
  font-family: var(--font-display);
  color: var(--ink-20);
  min-width: 1.25rem;
}

.company-analysis .report-section__title {
  font-size: 0.95rem;
  font-family: var(--font-display);
}

.company-analysis .report-section__summary {
  font-size: 12px;
}

.company-analysis .report-section__caret {
  width: 12px;
  height: 12px;
}

.company-analysis .report-section__body {
  padding: 0.25rem 0 2.5rem 2rem;
  font-size: 15px;
  line-height: 1.75;
  max-width: 620px;
}

.company-analysis .report__appendix {
  padding: 0 1.5rem;
  margin-top: 1rem;
}

.company-analysis .report__appendix-tabs {
  border-bottom: 1px solid var(--border-light);
}

.company-analysis .report__appendix-tab {
  font-size: 12px;
  font-family: var(--font-display);
  padding: 0.5rem 0.75rem;
  border-bottom-width: 2px;
}

.company-analysis .report__footer {
  padding: 1rem 1.5rem;
  margin-top: 0.5rem;
  border-top: 1px solid var(--border-light);
}

.company-analysis .report__references {
  margin-bottom: 0.75rem;
}

.company-analysis .report__references-label {
  display: block;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--ink-40);
  font-family: var(--font-display);
  margin-bottom: 0.5rem;
}

.company-analysis .report__references-list {
  margin: 0;
  padding-left: 1.5rem;
  list-style: decimal;
}

.company-analysis .report__reference {
  font-size: 12px;
  line-height: 1.6;
  color: var(--ink-60);
  padding: 0.1rem 0;
  font-family: var(--font-display);
}

.company-analysis .report__reference-link {
  color: var(--ink-60);
  text-decoration: none;
  border-bottom: 1px solid var(--border-light);
  transition: color 100ms, border-color 100ms;
}

.company-analysis .report__reference-link:hover {
  color: var(--ink);
  border-bottom-color: var(--ink-40);
}

.company-analysis .report__reference-text {
  color: var(--ink-40);
}

.company-analysis .report__disclaimer {
  font-size: 10px;
  color: var(--ink-20);
  opacity: 0.7;
}

/* ── Citation links in body text ── */
.report-body__citation {
  color: var(--ink-40);
  text-decoration: none;
  font-size: 0.9em;
  border-bottom: 1px dotted var(--ink-20);
  transition: color 100ms, border-color 100ms;
}

.report-body__citation:hover {
  color: var(--ink);
  border-bottom-color: var(--ink-40);
}

/* ============================================
   EMPTY STATE
   ============================================ */
.company-empty {
  padding: 2rem 0;
  font-size: 13px;
  color: var(--ink-40);
}

.company-empty p { margin: 0 0 0.25rem; }

/* ============================================
   COMPANY TAG BADGES
   ============================================ */
.company-tag {
  display: inline-block;
  font-size: 10px;
  font-weight: 600;
  color: var(--ink-40);
  padding: 3px 10px;
  background: var(--surface);
  border-radius: var(--radius-full);
  white-space: nowrap;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  font-family: var(--font-display);
}

/* ============================================
   KEY METRICS BAR
   ============================================ */
.company-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
  padding: 1rem 0;
  border-top: 1px solid var(--border-light);
}

.company-metrics__item {
  background: var(--surface);
  border-radius: var(--radius-lg);
  padding: 0.6rem 1rem;
  min-width: 100px;
  flex: 1 1 auto;
}

.company-metrics__label {
  display: block;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--ink-40);
  font-family: var(--font-display);
  margin-bottom: 0.15rem;
}

.company-metrics__value {
  font-size: 16px;
  font-weight: 700;
  font-family: var(--font-display);
  font-variant-numeric: tabular-nums;
  color: var(--ink);
}

/* ============================================
   SECTION TOC (gated view)
   ============================================ */
.company-toc {
  margin-bottom: 1.5rem;
  padding: 1rem;
  background: var(--surface);
  border-radius: var(--radius-lg);
}

.company-toc__label {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--ink-40);
  font-family: var(--font-display);
  margin-bottom: 0.5rem;
}

.company-toc__list {
  margin: 0;
  padding-left: 1.25rem;
  list-style: decimal;
}

.company-toc__item {
  font-size: 13px;
  color: var(--ink-60);
  padding: 0.2rem 0;
  line-height: 1.4;
}

/* ============================================
   OWNERSHIP INTELLIGENCE
   ============================================ */
.company-ownership {
  margin-bottom: 1.5rem;
}

.company-ownership__header {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.75rem;
  margin-bottom: 0.5rem;
}

.company-ownership__summary {
  font-size: 12px;
  color: var(--ink-40);
}

.company-ownership__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}

.company-ownership__table th {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--ink-40);
  text-align: left;
  padding: 0.25rem 0.5rem;
}

.company-ownership__table td {
  padding: 0.35rem 0.5rem;
  border-top: 1px solid oklch(0% 0 0 / 4%);
  vertical-align: baseline;
}

.company-ownership__table tbody tr:hover td {
  background: var(--paper);
}

.company-ownership__highlight td {
  background: oklch(68% 0.15 145 / 6%) !important;
  font-weight: 600;
}

.company-ownership__ticker {
  font-weight: 700;
  font-family: var(--font-display);
  font-size: 11px;
  letter-spacing: 0.04em;
}

.company-ownership__ticker-badge {
  display: inline-block;
  font-size: 9px;
  font-weight: 700;
  font-family: var(--font-display);
  letter-spacing: 0.04em;
  background: var(--surface);
  padding: 2px 6px;
  border-radius: var(--radius-sm);
  margin-right: 3px;
  margin-bottom: 2px;
  color: var(--ink-60);
}

.company-ownership__fund {
  font-weight: 500;
  color: var(--ink);
}

.company-ownership__note {
  font-size: 11px;
  color: var(--ink-40);
  font-style: italic;
}

.company-ownership__pipeline,
.company-ownership__cross {
  padding-top: 1rem;
  border-top: 1px solid var(--border-light);
}

/* ============================================
   PEER REPORT CARDS
   ============================================ */
.company-peers {
  margin-bottom: 1.5rem;
}

.company-peers__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 0.75rem;
  padding: 0 0.25rem;
}

.company-peers__card {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 1rem;
  background: var(--surface);
  border-radius: var(--radius-lg);
  text-decoration: none;
  color: inherit;
  transition: box-shadow 150ms, transform 100ms;
}

.company-peers__card:hover {
  box-shadow: var(--shadow-card);
  transform: translateY(-1px);
}

.company-peers__card-top {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.company-peers__ticker {
  font-size: 12px;
  font-weight: 800;
  font-family: var(--font-display);
  letter-spacing: 0.12em;
  color: var(--ink);
}

.company-peers__name {
  font-size: 13px;
  font-weight: 600;
  color: var(--ink);
}

.company-peers__desc {
  font-size: 12px;
  line-height: 1.4;
  color: var(--ink-60);
}

.company-peers__range {
  font-size: 11px;
  font-weight: 600;
  font-family: var(--font-display);
  font-variant-numeric: tabular-nums;
  color: var(--ink-40);
  margin-top: 0.25rem;
}

/* ── Brief (gated truncated) ── */
.company-brief {
  font-size: 15px;
  line-height: 1.8;
  color: var(--ink);
  padding: 2rem 0 1.5rem;
  border-top: none;
}

.company-brief p {
  margin: 0 0 0.75rem;
}

.company-brief p:last-child {
  margin-bottom: 0;
}

/* ── Record Entries ── */
.company-record {
  margin-bottom: 1.5rem;
}

.company-record__label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--ink-40);
  font-family: var(--font-display);
  margin-bottom: 0.75rem;
}

.company-record__entry {
  padding: 1rem 1.5rem 1.5rem;
}

.company-record__entry + .company-record__entry {
  border-top: 1px solid var(--border-light);
}

.company-record__header {
  display: flex;
  align-items: baseline;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

.company-record__date {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--ink-light);
}

.company-record__event {
  font-size: 13px;
  font-weight: 600;
  color: var(--ink);
}

/* Record: per-thread adjustments */
.company-record__adjustments {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}

.company-record__adjustment {
  display: flex;
  align-items: baseline;
  gap: 0.375rem;
  font-size: 12px;
  padding: 3px 8px;
  border-radius: var(--radius-full);
  background: var(--surface);
}

.company-record__thread-name {
  font-weight: 700;
  font-family: var(--font-display);
  font-size: 10px;
  letter-spacing: 0.05em;
  color: var(--ink-40);
}

.company-record__direction {
  font-weight: 700;
  font-family: var(--font-display);
  text-transform: uppercase;
  font-size: 10px;
  letter-spacing: 0.05em;
}

.company-record__adjustment--up .company-record__direction { color: #22863a; }
.company-record__adjustment--down .company-record__direction { color: #cb2431; }
.company-record__adjustment--hold .company-record__direction { color: var(--ink-40); }

.company-record__value {
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: var(--ink);
}

.company-record__note {
  font-size: 12px;
  color: var(--ink-60);
}

/* Record: link status */
.company-record__links {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  margin-bottom: 0.75rem;
}

.company-record__link {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  font-size: 13px;
  line-height: 1.5;
}

.company-record__link-status {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  min-width: 50px;
  flex-shrink: 0;
}

.company-record__link--held .company-record__link-status { color: #22863a; }
.company-record__link--wobbled .company-record__link-status { color: #e36209; }
.company-record__link--broke .company-record__link-status { color: #cb2431; }

.company-record__link-text {
  color: var(--ink);
  font-weight: 500;
}

.company-record__link-note {
  color: var(--ink-60);
  font-size: 12px;
}

.company-record__summary {
  font-size: 13px;
  line-height: 1.6;
  color: var(--ink-60);
}

.company-record__summary p {
  margin: 0 0 0.5rem;
}

.company-record__summary p:last-child {
  margin-bottom: 0;
}

/* Record: section labels */
.company-record__section-label {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--ink-40);
  font-family: var(--font-display);
  margin-bottom: 0.5rem;
}

/* Record: surprises */
.company-record__surprises {
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}

.company-record__surprise {
  padding: 0.5rem 0;
}

.company-record__surprise + .company-record__surprise {
  border-top: 1px solid var(--border-light);
}

.company-record__surprise-title {
  font-size: 13px;
  font-weight: 600;
  color: var(--ink);
  margin-bottom: 0.25rem;
}

.company-record__surprise-body {
  font-size: 13px;
  line-height: 1.5;
  color: var(--ink-60);
  margin-bottom: 0.25rem;
}

.company-record__surprise-impact {
  font-size: 12px;
  line-height: 1.4;
  color: var(--ink-40);
  font-style: italic;
}

/* Record: forward calendar */
.company-record__calendar {
  margin-top: 0.75rem;
}

.company-record__calendar-item {
  padding: 0.5rem 0;
}

.company-record__calendar-item + .company-record__calendar-item {
  border-top: 1px solid var(--border-light);
}

.company-record__calendar-head {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  margin-bottom: 0.25rem;
}

.company-record__calendar-date {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: var(--ink-light);
  font-family: var(--font-display);
  flex-shrink: 0;
}

.company-record__calendar-event {
  font-size: 13px;
  font-weight: 600;
  color: var(--ink);
}

.company-record__calendar-validates,
.company-record__calendar-breaks {
  display: block;
  font-size: 12px;
  line-height: 1.4;
  color: var(--ink-40);
}

.company-record__calendar-validates::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #22863a;
  margin-right: 0.375rem;
  vertical-align: middle;
}

.company-record__calendar-breaks::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #cb2431;
  margin-right: 0.375rem;
  vertical-align: middle;
}

/* ============================================
   AUTH DIALOG — Native <dialog> overlay
   showModal() handles centering. Don't fight it.
   ============================================ */
.auth-dialog {
  border: none;
  padding: 0;
  background: transparent;
  max-width: 380px;
  width: calc(100vw - 2rem);
}

.auth-dialog[open] {
  margin: auto;
}

.auth-dialog::backdrop {
  background: oklch(0% 0 0 / 60%);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

.auth-dialog__panel {
  background: var(--paper);
  border: none;
  border-radius: var(--radius-xl);
  padding: 2rem 1.75rem 1.75rem;
  position: relative;
  box-shadow: var(--shadow-elevated);
  width: 100%;
}

.auth-dialog__close {
  position: absolute;
  top: 0.6rem;
  right: 0.6rem;
  background: none;
  border: none;
  font-size: 20px;
  color: var(--ink-40);
  cursor: pointer;
  padding: 0.25rem 0.5rem;
  line-height: 1;
  transition: color 100ms;
}

.auth-dialog__close:hover { color: var(--ink); }

.auth-dialog__brand {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin-bottom: 1.25rem;
  font-size: 14px;
  font-weight: 700;
  color: var(--ink);
}

.auth-dialog__title {
  font-size: 16px;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 1rem;
}

.auth-dialog__input {
  display: block;
  width: 100%;
  padding: 0.65rem 0.85rem;
  font-size: 14px;
  font-family: var(--font-display);
  color: var(--ink);
  background: var(--surface);
  border: 1px solid transparent;
  border-radius: var(--radius-lg);
  outline: none;
  transition: border-color 150ms, box-shadow 150ms;
  box-sizing: border-box;
}

.auth-dialog__input:focus {
  border-color: var(--ink);
  box-shadow: 0 0 0 2px oklch(0% 0 0 / 8%);
}

.auth-dialog__hint {
  font-size: 12px;
  color: var(--ink-40);
  margin: 0.5rem 0 1.25rem;
}

.auth-dialog__text {
  font-size: 13px;
  color: var(--ink-60);
  margin: 0 0 0.5rem;
  line-height: 1.5;
}

.auth-dialog__text strong {
  color: var(--ink);
  font-weight: 600;
  font-family: var(--font-display);
}

.auth-dialog__btn {
  display: block;
  width: 100%;
  padding: 0.7rem 1rem;
  font-size: 13px;
  font-weight: 700;
  font-family: var(--font-display);
  color: var(--paper);
  background: var(--ink);
  border: none;
  border-radius: var(--radius-lg);
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  transition: opacity 120ms;
}

.auth-dialog__btn:hover { opacity: 0.88; }
.auth-dialog__btn:disabled { opacity: 0.4; cursor: not-allowed; }

.auth-dialog__footer {
  font-size: 12px;
  color: var(--ink-40);
  font-family: var(--font-display);
  text-align: center;
  margin: 1rem 0 0;
}

.auth-dialog__link {
  background: none;
  border: none;
  padding: 0;
  font: inherit;
  color: var(--ink);
  font-weight: 600;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: opacity 120ms;
}

.auth-dialog__link:hover { opacity: 0.7; }

@media (max-width: 480px) {
  .auth-dialog { max-width: none; width: calc(100vw - 1.5rem); }
  .auth-dialog__panel { padding: 1.5rem 1.25rem 1.25rem; }
}

/* ============================================
   FILING VIEWER — /filings/:ticker/:slug
   ============================================ */
.filing__header {
  margin-bottom: 2rem;
  padding-bottom: 1.5rem;
}

.filing__breadcrumb {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink-40);
  font-family: var(--font-display);
  margin-bottom: 0.25rem;
}

.filing__breadcrumb-link {
  color: var(--ink);
  text-decoration: none;
  transition: color 80ms;
}

.filing__breadcrumb-link:hover { color: var(--ink-60); }
.filing__breadcrumb-sep { color: var(--ink-20); }

.filing__type {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink-40);
  font-family: var(--font-display);
}

.filing__title {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--ink);
  margin: 0.25rem 0 0;
  font-family: Georgia, 'Times New Roman', serif;
  line-height: 1.25;
}

.filing__meta {
  display: flex;
  gap: 1rem;
  margin-top: 0.5rem;
  font-size: 13px;
  font-variant-numeric: tabular-nums;
  font-family: var(--font-display);
  color: var(--ink-60);
}

.filing__report-cta {
  display: inline-block;
  margin-top: 0.75rem;
  font-size: 13px;
  font-weight: 600;
  color: var(--ink-60);
  text-decoration: none;
  padding: 5px 14px;
  background: var(--surface);
  border: none;
  border-radius: var(--radius-full);
  transition: color 120ms, background 120ms;
}

.filing__report-cta:hover {
  color: var(--ink);
  background: var(--border);
}

.filing__body {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 15px;
  line-height: 1.6;
  color: var(--ink);
  max-width: 800px;
}

.filing__body h1,
.filing__body h2,
.filing__body h3,
.filing__body h4 {
  font-weight: 700;
  color: var(--ink);
  margin: 1.75rem 0 0.5rem;
  line-height: 1.3;
}

.filing__body h2 { font-size: 1.25rem; }
.filing__body h3 { font-size: 1.1rem; }
.filing__body h4 { font-size: 1rem; }
.filing__body p { margin: 0 0 0.75rem; }

.filing__body table {
  border-collapse: collapse;
  width: 100%;
  font-size: 12px;
  font-variant-numeric: tabular-nums;
  font-family: var(--font-display);
  margin: 1rem 0;
}

.filing__body th {
  background: var(--surface);
  font-weight: 600;
  text-align: left;
  padding: 6px 10px;
  border-bottom: 2px solid var(--ink-20);
}

.filing__body td {
  padding: 5px 10px;
  border-bottom: 1px solid var(--border-light);
}

.filing__accession {
  font-size: 11px;
  color: var(--ink-20);
}

.filing__anchor { scroll-margin-top: 2rem; }

.filing__empty {
  padding: 2rem 0;
  color: var(--ink-40);
  font-size: 13px;
}

.filing__empty p { margin: 0 0 0.75rem; }

/* ============================================
   MONTH CALENDAR — Grid with day cells
   ============================================ */
.cal {
  background: var(--surface);
  border-radius: var(--radius-lg);
  margin-bottom: 1.5rem;
  overflow: hidden;
}

.cal__nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.6rem 1rem;
}

.cal__month {
  font-size: 14px;
  font-weight: 700;
  color: var(--ink);
  letter-spacing: -0.01em;
}

.cal__nav-btn {
  font-size: 12px;
  font-weight: 600;
  color: var(--ink-40);
  text-decoration: none;
  font-family: var(--font-display);
  padding: 4px 10px;
  background: var(--paper);
  border: none;
  border-radius: var(--radius-full);
  transition: color 120ms, background 120ms;
}

.cal__nav-btn:hover {
  color: var(--ink);
  background: var(--border);
}

.cal__grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
}

.cal__dow {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--ink-40);
  text-align: center;
  padding: 0.5rem 0;
  font-family: var(--font-display);
}

.cal__day {
  min-height: 44px;
  padding: 0.35rem 0.4rem;
  border-right: 1px solid oklch(0% 0 0 / 4%);
  border-bottom: 1px solid oklch(0% 0 0 / 4%);
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

.cal__day:nth-child(7n+7) { border-right: none; }

.cal__day--blank { opacity: 0.3; }

.cal__day--today {
  background: var(--paper);
}

.cal__day--today .cal__date {
  font-weight: 800;
  color: var(--ink);
}

.cal__date {
  font-size: 12px;
  font-weight: 600;
  color: var(--ink-40);
  font-family: var(--font-display);
  font-variant-numeric: tabular-nums;
  line-height: 1;
}

.cal__date--link {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  width: 100%;
  text-decoration: none;
  cursor: pointer;
  padding: 2px 4px;
  margin: -2px -4px;
  border-radius: var(--radius-sm);
  transition: background 80ms, color 80ms;
}

.cal__date--link:hover {
  color: var(--ink);
  background: oklch(0% 0 0 / 3%);
}

.cal__count {
  font-size: 9px;
  font-weight: 700;
  color: var(--paper);
  background: var(--ink);
  min-width: 16px;
  height: 16px;
  border-radius: var(--radius-full);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

/* ── Full event list below the grid ── */
.cal-list {
  background: var(--surface);
  border-radius: var(--radius-lg);
  margin-bottom: 1.5rem;
  overflow: hidden;
}

.cal-list__body {
  padding: 0;
}

.cal-list__date-group {
  scroll-margin-top: 60px;
}

.cal-list__date-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
}

.cal-list__date-group + .cal-list__date-group .cal-list__date-header {
  border-top: 1px solid oklch(0% 0 0 / 4%);
}

.cal-list__date {
  font-size: 12px;
  font-weight: 700;
  color: var(--ink);
  font-family: var(--font-display);
  font-variant-numeric: tabular-nums;
}

.cal-list__today {
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--paper);
  background: var(--ink);
  padding: 1px 6px;
  border-radius: var(--radius-full);
}

.cal-list__past {
  font-size: 9px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--ink-20);
}

.cal-list__row {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  padding: 0.4rem 1rem;
  font-size: 13px;
  color: var(--ink-60);
  text-decoration: none;
  transition: color 80ms, background 80ms;
}

.cal-list__row + .cal-list__row {
  border-top: 1px solid oklch(0% 0 0 / 3%);
}

.cal-list__row:hover { color: var(--ink); background: var(--paper); }

.cal-list__ticker {
  font-weight: 700;
  font-size: 11px;
  font-family: var(--font-display);
  color: var(--ink);
  min-width: 48px;
}

.cal-list__event {
  flex: 1;
  min-width: 0;
}

.cal-list__type {
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-family: var(--font-display);
  color: var(--ink-20);
  white-space: nowrap;
}

.cal-list__type--earnings { color: var(--ink); }
.cal-list__type--catalyst { color: var(--ink-60); }
.cal-list__type--report   { color: var(--ink-40); }

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width: 768px) {
  .company-content { max-width: none; }

  .company-data-strip { grid-template-columns: 1fr; }

  .company-holders__name { max-width: 120px; }


  .company-box__body { padding: 0.25rem 0.6rem 0.5rem; }
  .company-box__header { padding: 0.5rem 0.6rem; }

  .cal__day { padding: 0.25rem; }
  .cal__count { font-size: 8px; min-width: 12px; height: 12px; }
}
