/* ═══ AV DS × Portal overlay (Wave 85, AV DS 3.7.1) ═══
   Подключается ПОСЛЕ tokens.css, components.css и public.min.css.
   Задача: сохранить продуктовую палитру и состояние KӨZ/portal shell поверх AV DS семантики.

   Цепочка каскада:
     1. av-ds/tokens.css — AV DS 3.7.1 foundation + private HSL adapter
     2. av-ds/components.css — базовые компоненты AV DS
     3. public.min.css — публичные стили портала
     4. av-ds/portal-overlay.css — portal-specific переопределения (этот файл)

   Визуал меняется только точечно: legacy-классы остаются рабочими, а av-*
   добавляются dual-class слоем для единого focus-ring, токенов и состояний. */


/* ── Типографика: Onest вместо Inter (AV DS default) ────────────────── */
:root {
  --font-sans: 'Onest', 'Helvetica Neue', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-serif: Georgia, 'Times New Roman', serif;
  --font-mono: 'JetBrains Mono', 'SF Mono', Menlo, monospace;
}

/* Wave 21: article fallbacks should read as editorial notes, not body copy. */
.article-body-fallback {
  color: var(--text-muted, #667085);
  font-size: 0.95em;
  padding: 12px 14px;
  border-left: 3px solid color-mix(in srgb, var(--accent, #007A8C) 42%, transparent);
  background: color-mix(in srgb, var(--accent, #007A8C) 5%, transparent);
  border-radius: 0 8px 8px 0;
}

.article-body blockquote,
.article-source-quote {
  position: relative;
  margin: 22px 0;
  padding: 18px 20px 18px 24px;
  color: var(--text, #1f2937);
  background: color-mix(in srgb, var(--accent, #007A8C) 6%, #fff);
  border: 1px solid color-mix(in srgb, var(--accent, #007A8C) 16%, #e5e7eb);
  border-left: 4px solid color-mix(in srgb, var(--accent, #007A8C) 70%, #fff);
  border-radius: 10px;
  font-size: 1.03em;
  line-height: 1.72;
}

.article-body blockquote p,
.article-source-quote p {
  margin: 0;
}

.article-body blockquote p + p,
.article-source-quote p + p {
  margin-top: 12px;
}

.article-social-embed {
  margin: 24px 0;
  padding: 16px 18px;
  color: inherit;
  background: transparent !important;
  border: 1px solid color-mix(in srgb, currentColor 14%, transparent);
  border-left: 4px solid color-mix(in srgb, var(--accent, #007A8C) 58%, #fff);
  border-radius: 12px;
}

.article-social-embed__platform {
  margin-bottom: 8px;
  color: hsl(var(--primary, 210 70% 42%));
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.article-social-embed p {
  margin: 0;
  color: inherit;
  font-size: .98em;
  line-height: 1.68;
}

.article-social-embed__meta {
  margin-top: 10px !important;
  color: color-mix(in srgb, currentColor 68%, transparent);
  font-size: .9em !important;
}

.article-social-embed__link {
  display: inline-flex;
  margin-top: 12px;
  color: hsl(var(--primary, 210 70% 42%));
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}

.article-social-embed__link:hover {
  text-decoration: underline;
}

[data-theme="dark"] .article-social-embed {
  color: #e7edf5;
  background: #151a22;
  border-color: rgba(231, 237, 245, .14);
}

[data-theme="dark"] .article-social-embed p {
  color: #e7edf5;
}

[data-theme="dark"] .article-social-embed__meta {
  color: #a6b0bf;
}

/* Wave 21: compact KӨZ article pages for short source notes. */
.article-page--compact .article-body:empty {
  display: none;
}

.article-page--compact .article-source {
  margin-top: 0;
  padding-top: 12px;
}

.article-page--compact .article-keywords {
  margin-top: 16px;
}

.article-page--compact .related-section {
  margin-top: 32px;
}

.article-page .related-item.will-animate {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}

/* Wave 85: continuous article reading with History API. */
@media (min-width: 960px) {
  .article-continuous-reader .article-reader-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: var(--space-5, 24px);
    align-items: start;
    max-width: var(--content-wide, 1200px);
    margin: 0 auto;
    padding: 0 var(--space-6, 24px);
  }

  .article-continuous-reader .article-reader-shell > .article-scroll-wrapper,
  .article-continuous-reader .article-reader-shell > .article-infinite-status,
  .article-continuous-reader .article-reader-shell > .article-infinite-more,
  .article-continuous-reader .article-reader-shell > .article-infinite-sentinel {
    grid-column: 1;
    min-width: 0;
  }

  .article-continuous-reader .article-reader-shell .article-page {
    max-width: none;
    padding: 0;
  }

  .article-continuous-reader .article-reader-shell .article-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .article-continuous-reader .article-reader-shell .article-full-width,
  .article-continuous-reader .article-reader-shell .article-hero,
  .article-continuous-reader .article-reader-shell .article-body-grid,
  .article-continuous-reader .article-reader-shell .article-layout > .article-page-header {
    grid-column: 1 !important;
  }

  .article-continuous-reader .article-reader-rail {
    display: block !important;
    visibility: visible !important;
    pointer-events: auto !important;
    grid-column: 2;
    grid-row: 1 / 5;
    align-self: start;
    position: fixed;
    top: 5rem;
    right: max(var(--space-6, 24px), calc((100vw - var(--content-wide, 1200px)) / 2 + var(--space-6, 24px)));
    z-index: 20;
    width: 100%;
    max-width: 280px;
    max-height: calc(100vh - 6rem);
    min-width: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .article-continuous-reader .article-reader-rail .article-sidebar-inner {
    position: static !important;
    max-height: none;
    overflow: visible;
    padding-right: 0;
  }

  .article-continuous-reader .article-reader-rail .article-toc,
  .article-continuous-reader .article-reader-rail .sidebar-badge,
  .article-continuous-reader .article-reader-rail .sidebar-persons,
  .article-continuous-reader .article-reader-rail .sidebar-orgs,
  .article-continuous-reader .article-reader-rail .sidebar-reactions {
    display: none !important;
  }

  .article-continuous-reader .article-reader-rail .popular-widget {
    margin-bottom: 18px;
  }
}

@media (max-width: 959px) {
  .article-continuous-reader .article-reader-shell {
    display: block;
  }

  .article-continuous-reader .article-reader-rail {
    display: none !important;
  }
}

.article-infinite-separator {
  max-width: var(--content-wide, 1200px);
  margin: clamp(36px, 7vw, 72px) auto clamp(24px, 4vw, 42px);
  padding: 0 var(--space-6, 24px);
  color: var(--text-muted, #667085);
  font-size: var(--text-xs, 12px);
  font-weight: 800;
  letter-spacing: .12em;
  text-align: center;
  text-transform: uppercase;
}

.article-infinite-separator::before,
.article-infinite-separator::after {
  content: "";
  display: inline-block;
  width: min(14vw, 96px);
  height: 1px;
  margin: 0 12px 4px;
  background: color-mix(in srgb, var(--accent, #007A8C) 22%, var(--border, #d4d1ca));
}

.article-infinite-ad,
.article-rail-ad {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-faint, #98a2b3);
  background:
    repeating-linear-gradient(
      135deg,
      color-mix(in srgb, var(--accent, #007A8C) 5%, transparent) 0,
      color-mix(in srgb, var(--accent, #007A8C) 5%, transparent) 8px,
      color-mix(in srgb, var(--accent, #007A8C) 9%, transparent) 8px,
      color-mix(in srgb, var(--accent, #007A8C) 9%, transparent) 16px
    ),
    var(--surface-2, #f4f5f7);
  border: 1px dashed color-mix(in srgb, var(--accent, #007A8C) 24%, var(--border, #d4d1ca));
  border-radius: 12px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.article-infinite-ad {
  max-width: var(--content-narrow, 680px);
  min-height: 90px;
  margin: clamp(32px, 6vw, 56px) auto clamp(22px, 4vw, 36px);
}

.article-rail-ad {
  width: 100%;
  min-height: 250px;
  margin: 12px 0 22px;
}

.article-rail-ad--tall {
  min-height: 420px;
}

.article-rail-ad:has(.ad-placement) {
  display: block;
  min-height: 0;
  background: transparent;
  border: 0;
}

.article-rail-ad:has(.ad-placement) .article-rail-ad__fallback {
  display: none;
}

html[data-portal="koz_news"] .article-rail-ad:not(:has(.ad-placement)) {
  display: none;
}

.article-page--infinite {
  padding-top: clamp(8px, 2vw, 18px);
}

.article-page--infinite .article-layout {
  grid-template-columns: minmax(0, 1fr);
}

.article-page--infinite .article-full-width,
.article-page--infinite .article-hero,
.article-page--infinite .article-body-grid {
  grid-column: 1;
}

.article-page--infinite .article-sidebar,
.article-page--infinite .persons-mobile-strip,
.article-page--infinite .orgs-mobile-strip,
.article-page--infinite .popular-widget-mobile,
.article-page--infinite .article-timeline,
.article-page--infinite .comments-accordion,
.article-page--infinite .related-section,
.article-page--infinite .prevnext-nav,
.article-page--infinite .ask-cta,
.article-page--infinite .engage-bar {
  display: none !important;
}

.article-continuous-reader .article-scroll-wrapper > .article-page .comments-accordion,
.article-continuous-reader .article-scroll-wrapper > .article-page .related-section,
.article-continuous-reader .article-scroll-wrapper > .article-page .prevnext-nav,
.article-continuous-reader .article-scroll-wrapper > .article-page .ask-cta,
.article-continuous-reader .article-scroll-wrapper > .article-page .author-bio,
.article-continuous-reader .article-scroll-wrapper > .article-page .topic-cluster,
.article-continuous-reader .article-scroll-wrapper > .article-page .article-keywords,
.article-continuous-reader .article-scroll-wrapper > .article-page .tg-cta-block,
.article-continuous-reader .article-scroll-wrapper > .article-page .engage-bar,
.article-continuous-reader .article-scroll-wrapper > .article-page .article-timeline,
.article-continuous-reader .article-scroll-wrapper > .article-page .persons-mobile-strip,
.article-continuous-reader .article-scroll-wrapper > .article-page .orgs-mobile-strip,
.article-continuous-reader .article-scroll-wrapper > .article-page .popular-widget-mobile {
  display: none !important;
}

body[data-continuous-active="next"] .article-scroll-wrapper > .article-page:not(.article-page--infinite) .article-sidebar {
  visibility: hidden;
  pointer-events: none;
}

body[data-continuous-active="next"] .floating-share {
  opacity: 0;
  pointer-events: none;
}

.article-infinite-status {
  min-height: 28px;
  margin: 16px auto 0;
  color: var(--text-muted, #667085);
  font-size: var(--text-sm, 14px);
  font-weight: 600;
  text-align: center;
  opacity: 0;
  transition: opacity .18s ease;
}

.article-infinite-status.is-active {
  opacity: 1;
}

.article-infinite-more {
  display: block;
  min-height: 42px;
  margin: 14px auto 28px;
  padding: 10px 18px;
  color: var(--accent, #007A8C);
  background: var(--surface, #fff);
  border: 1px solid color-mix(in srgb, var(--accent, #007A8C) 26%, var(--border, #d4d1ca));
  border-radius: 999px;
  font-size: var(--text-sm, 14px);
  font-weight: 800;
  letter-spacing: .01em;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .07);
}

.article-infinite-more:hover {
  color: #fff;
  background: var(--accent, #007A8C);
}

.article-infinite-more[hidden] {
  display: none !important;
}

.article-infinite-sentinel {
  height: 1px;
}

.article-infinite-card {
  max-width: var(--content-narrow, 680px);
  margin: 0 auto;
}

.article-infinite-card__link {
  display: grid;
  grid-template-columns: 160px minmax(0, 1fr);
  gap: 16px;
  padding: 16px;
  color: var(--text, #1a1a2e);
  background: var(--surface, #fff);
  border: 1px solid var(--border-light, #ebedf0);
  border-radius: 12px;
  text-decoration: none;
}

.article-infinite-card__media {
  overflow: hidden;
  border-radius: 8px;
  background: var(--surface-2, #f4f5f7);
  aspect-ratio: 16 / 10;
}

.article-infinite-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.article-infinite-card__body {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

.article-infinite-card__meta {
  color: var(--text-muted, #667085);
  font-size: var(--text-xs, 12px);
}

.article-infinite-card__title {
  color: var(--text, #1a1a2e);
  font-size: var(--text-lg, 18px);
  line-height: 1.28;
}

.article-infinite-card__excerpt {
  color: var(--text-secondary, #495057);
  font-size: var(--text-sm, 14px);
  line-height: 1.5;
}

@media (max-width: 720px) {
  .article-infinite-separator {
    margin: 32px auto 22px;
    padding: 0 var(--space-3, 12px);
  }

  .article-infinite-separator::before,
  .article-infinite-separator::after {
    width: 38px;
    margin-inline: 8px;
  }

  .article-infinite-card__link {
    grid-template-columns: 1fr;
  }
}

/* Wave 85: KӨZ Hub gets a modern network landing layer. */
.hub-page.hub-page--v85 {
  max-width: 1240px;
  --hub-glow: color-mix(in srgb, var(--accent, #007A8C) 20%, transparent);
}

.hub-hero-v85 {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(340px, .95fr);
  gap: clamp(22px, 4vw, 48px);
  align-items: stretch;
  margin: 10px 0 28px;
  padding: clamp(24px, 4vw, 44px);
  border: 1px solid color-mix(in srgb, var(--accent, #007A8C) 16%, var(--border, #d4d1ca));
  border-radius: 28px;
  background:
    radial-gradient(circle at 20% 0%, color-mix(in srgb, var(--accent, #007A8C) 12%, transparent), transparent 34%),
    linear-gradient(135deg, color-mix(in srgb, var(--surface, #fff) 96%, var(--accent, #007A8C)) 0%, var(--surface, #fff) 58%, color-mix(in srgb, var(--accent, #007A8C) 6%, var(--surface, #fff)) 100%);
  box-shadow: 0 24px 70px rgba(15, 23, 42, .08);
  overflow: hidden;
}

.hub-kicker-v85 {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 16px;
  color: var(--accent, #007A8C);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.hub-kicker-v85::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 99px;
  background: currentColor;
  box-shadow: 0 0 0 6px color-mix(in srgb, currentColor 12%, transparent);
}

.hub-title-v85 {
  max-width: 780px;
  margin: 0;
  color: var(--text, #1a1a2e);
  font-size: clamp(2.35rem, 6vw, 5.1rem);
  line-height: .95;
  letter-spacing: -.055em;
}

.hub-lead-v85 {
  max-width: 680px;
  margin: 20px 0 0;
  color: var(--text-secondary, #495057);
  font-size: clamp(1.02rem, 1.7vw, 1.25rem);
  line-height: 1.65;
}

.hub-actions-v85 {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}

.hub-action-v85 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 16px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 750;
  text-decoration: none;
  border: 1px solid color-mix(in srgb, var(--accent, #007A8C) 24%, var(--border, #d4d1ca));
}

.hub-action-v85--primary {
  color: #fff;
  background: var(--accent, #007A8C);
  border-color: transparent;
}

.hub-action-v85--secondary {
  color: var(--text, #1a1a2e);
  background: color-mix(in srgb, var(--surface, #fff) 76%, var(--accent, #007A8C));
}

.hub-panel-v85 {
  display: grid;
  min-height: 100%;
  padding: 18px;
  border: 1px solid color-mix(in srgb, var(--accent, #007A8C) 16%, var(--border, #d4d1ca));
  border-radius: 22px;
  background: color-mix(in srgb, var(--surface-1, #fff) 86%, var(--accent, #007A8C));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.55);
}

.hub-network-v85 {
  position: relative;
  min-height: 260px;
  border-radius: 18px;
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--accent, #007A8C) 10%, transparent) 1px, transparent 1px),
    linear-gradient(0deg, color-mix(in srgb, var(--accent, #007A8C) 10%, transparent) 1px, transparent 1px),
    radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--accent, #007A8C) 18%, transparent), transparent 58%);
  background-size: 34px 34px, 34px 34px, auto;
  overflow: hidden;
}

.hub-core-v85,
.hub-node-v85 {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  box-shadow: 0 18px 36px rgba(15, 23, 42, .16);
}

.hub-core-v85 {
  inset: 50% auto auto 50%;
  width: 112px;
  height: 112px;
  transform: translate(-50%, -50%);
  color: #fff;
  background: #111827;
  font-size: 25px;
  font-weight: 900;
  letter-spacing: -.03em;
}

.hub-core-v85::before {
  content: "";
  position: absolute;
  inset: -34px;
  border: 1px dashed color-mix(in srgb, var(--accent, #007A8C) 42%, transparent);
  border-radius: 999px;
}

.hub-node-v85 {
  width: 54px;
  height: 54px;
  color: #fff;
  font-size: 13px;
  font-weight: 850;
}

.hub-node-v85:nth-child(2) { left: 10%; top: 18%; background:#00AFCA; }
.hub-node-v85:nth-child(3) { left: 22%; bottom: 13%; background:#1460AA; }
.hub-node-v85:nth-child(4) { right: 18%; top: 13%; background:#C52E2E; }
.hub-node-v85:nth-child(5) { right: 10%; bottom: 20%; background:#00856B; }
.hub-node-v85:nth-child(6) { left: 50%; top: 4%; transform: translateX(-50%); background:#1A7A3A; }
.hub-node-v85:nth-child(7) { left: 50%; bottom: 3%; transform: translateX(-50%); background:#C4272E; }

.hub-panel-stats-v85 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 14px;
}

.hub-panel-stat-v85 {
  padding: 12px;
  border-radius: 14px;
  background: var(--surface, #fff);
  border: 1px solid color-mix(in srgb, var(--border, #d4d1ca) 70%, transparent);
}

.hub-panel-stat-value-v85 {
  color: var(--text, #1a1a2e);
  font-size: 22px;
  font-weight: 850;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.hub-panel-stat-label-v85 {
  margin-top: 6px;
  color: var(--text-muted, #868e96);
  font-size: 11px;
  line-height: 1.25;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.hub-section-head-v85 {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  margin: 38px 0 16px;
}

.hub-section-title-v85 {
  margin: 0;
  color: var(--text, #1a1a2e);
  font-size: clamp(1.35rem, 2vw, 1.9rem);
  letter-spacing: -.025em;
}

.hub-section-sub-v85 {
  max-width: 620px;
  margin: 6px 0 0;
  color: var(--text-muted, #868e96);
  font-size: 14px;
  line-height: 1.55;
}

.hub-live-grid-v85 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.hub-live-card-v85 {
  display: grid;
  grid-template-rows: auto 1fr;
  min-height: 220px;
  overflow: hidden;
  border: 1px solid var(--border, #d4d1ca);
  border-radius: 16px;
  color: var(--text, #1a1a2e);
  background: var(--surface, #fff);
  text-decoration: none;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.hub-live-card-v85:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--accent, #007A8C) 45%, var(--border, #d4d1ca));
  box-shadow: 0 14px 32px rgba(15, 23, 42, .1);
}

.hub-live-img-v85 {
  position: relative;
  aspect-ratio: 16 / 9;
  background: color-mix(in srgb, var(--accent, #007A8C) 7%, var(--surface-2, #f4f5f7));
}

.hub-live-img-v85 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hub-live-img-empty-v85 {
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  color: color-mix(in srgb, var(--accent, #007A8C) 34%, var(--text-muted, #868e96));
  font-size: 28px;
  font-weight: 900;
}

.hub-live-site-v85 {
  position: absolute;
  left: 10px;
  top: 10px;
  padding: 4px 8px;
  border-radius: 999px;
  color: #fff;
  background: rgba(17, 24, 39, .78);
  backdrop-filter: blur(10px);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
}

.hub-live-body-v85 {
  padding: 13px 14px 15px;
}

.hub-live-title-v85 {
  margin: 0;
  font-size: 15px;
  line-height: 1.35;
  letter-spacing: -.01em;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.hub-live-meta-v85 {
  margin-top: 10px;
  color: var(--text-muted, #868e96);
  font-size: 12px;
}

.hub-page--v85 .hub-map-wrap {
  max-width: 1080px;
  padding: clamp(12px, 2vw, 22px);
  border: 1px solid color-mix(in srgb, var(--accent, #007A8C) 12%, var(--border, #d4d1ca));
  border-radius: 24px;
  background: linear-gradient(135deg, var(--surface, #fff), color-mix(in srgb, var(--accent, #007A8C) 5%, var(--surface, #fff)));
  box-shadow: 0 18px 50px rgba(15, 23, 42, .07);
}

@media (max-width: 760px) {
  .hub-page.hub-page--v85 {
    padding-inline: 12px;
  }
  .hub-hero-v85 {
    grid-template-columns: 1fr;
    padding: 20px;
    border-radius: 20px;
  }
  .hub-network-v85 {
    min-height: 220px;
  }
  .hub-panel-stat-v85 {
    padding: 10px;
  }
  .hub-panel-stat-value-v85 {
    font-size: 18px;
  }
  .hub-panel-stat-label-v85 {
    font-size: 10px;
  }
  .hub-title-v85 {
    font-size: clamp(2.25rem, 14vw, 3.6rem);
  }
  .hub-panel-stats-v85,
  .hub-live-grid-v85 {
    grid-template-columns: 1fr;
  }
  .hub-section-head-v85 {
    display: block;
    margin: 30px 0 12px;
  }
  .hub-page--v85 .hub-map-wrap {
    padding: 10px;
    border-radius: 18px;
  }
  .hub-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: var(--space-6);
  }
  .hub-card-mini {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 8px 10px;
    padding: 12px;
    border-radius: 14px;
  }
  .hub-card-color {
    width: 32px;
    height: 32px;
    border-radius: 10px;
    font-size: 12px;
  }
  .hub-card-name {
    font-size: 13px;
  }
  .hub-card-meta {
    grid-column: 1 / -1;
    margin-top: 0;
    line-height: 1.35;
  }
  .hub-card-badge {
    grid-column: 1 / -1;
    justify-self: start;
    margin-left: 0;
    margin-top: 2px;
  }
  .hub-stats {
    gap: 10px;
    padding-top: 12px;
    margin-top: 0;
  }
  .hub-stat {
    flex: 1 1 30%;
    min-width: 0;
  }
  .hub-stat-value {
    font-size: 1.3rem;
  }
  .ca-capital,
  .ca-capital-label,
  .ca-label-sub {
    display: none;
  }
}

@media (max-width: 360px) {
  .hub-cards {
    grid-template-columns: 1fr;
  }
}


/* ══════════════════════════════════════════════════════════════════════
   СТРАНОВЫЕ ПАЛИТРЫ — АВ DS `--primary` синхронизирован с Total `--accent`
   Таким образом каждый сайт (kz/uz/kg/tj/az/mn/hub) получает СВОЙ
   брендовый цвет в любых av-* компонентах автоматически.
   ══════════════════════════════════════════════════════════════════════ */


/* ── KZ (Kazakhstan) — Teal #007A8C ─────────────────────────────────── */
:root,
[data-site="kz"],
[data-site="kz"][data-theme="light"] {
  --primary: 188 100% 27%;
  --primary-foreground: 0 0% 100%;
  --ring: 188 100% 27%;
  --sidebar-primary: 188 100% 27%;
  --sidebar-ring: 188 100% 27%;
  --chart-1: 188 100% 27%;
}
[data-site="kz"][data-theme="dark"],
.dark[data-site="kz"] {
  --primary: 188 53% 54%;
  --primary-foreground: 0 0% 10%;
  --ring: 188 53% 54%;
  --sidebar-primary: 188 53% 54%;
  --sidebar-ring: 188 53% 54%;
  --chart-1: 188 53% 54%;
}


/* ── UZ (Uzbekistan) — Blue #1460AA ─────────────────────────────────── */
[data-site="uz"],
[data-site="uz"][data-theme="light"] {
  --primary: 210 79% 37%;
  --primary-foreground: 0 0% 100%;
  --ring: 210 79% 37%;
  --sidebar-primary: 210 79% 37%;
  --sidebar-ring: 210 79% 37%;
  --chart-1: 210 79% 37%;
}
[data-site="uz"][data-theme="dark"] {
  --primary: 208 64% 61%;
  --primary-foreground: 0 0% 10%;
  --ring: 208 64% 61%;
  --sidebar-primary: 208 64% 61%;
  --sidebar-ring: 208 64% 61%;
  --chart-1: 208 64% 61%;
}


/* ── KG (Kyrgyzstan) — Red #C52E2E ──────────────────────────────────── */
[data-site="kg"],
[data-site="kg"][data-theme="light"] {
  --primary: 0 62% 48%;
  --primary-foreground: 0 0% 100%;
  --ring: 0 62% 48%;
  --sidebar-primary: 0 62% 48%;
  --sidebar-ring: 0 62% 48%;
  --chart-1: 0 62% 48%;
}
[data-site="kg"][data-theme="dark"] {
  --primary: 0 74% 65%;
  --primary-foreground: 0 0% 10%;
  --ring: 0 74% 65%;
  --sidebar-primary: 0 74% 65%;
  --sidebar-ring: 0 74% 65%;
  --chart-1: 0 74% 65%;
}


/* ── TJ (Tajikistan) — Green #1A7A3A ────────────────────────────────── */
[data-site="tj"],
[data-site="tj"][data-theme="light"] {
  --primary: 140 65% 29%;
  --primary-foreground: 0 0% 100%;
  --ring: 140 65% 29%;
  --sidebar-primary: 140 65% 29%;
  --sidebar-ring: 140 65% 29%;
  --chart-1: 140 65% 29%;
}
[data-site="tj"][data-theme="dark"] {
  --primary: 135 40% 54%;
  --primary-foreground: 0 0% 10%;
  --ring: 135 40% 54%;
  --sidebar-primary: 135 40% 54%;
  --sidebar-ring: 135 40% 54%;
  --chart-1: 135 40% 54%;
}


/* ── AZ (Azerbaijan) — Emerald #00856B ──────────────────────────────── */
[data-site="az"],
[data-site="az"][data-theme="light"] {
  --primary: 168 100% 26%;
  --primary-foreground: 0 0% 100%;
  --ring: 168 100% 26%;
  --sidebar-primary: 168 100% 26%;
  --sidebar-ring: 168 100% 26%;
  --chart-1: 168 100% 26%;
}
[data-site="az"][data-theme="dark"] {
  --primary: 163 53% 54%;
  --primary-foreground: 0 0% 10%;
  --ring: 163 53% 54%;
  --sidebar-primary: 163 53% 54%;
  --sidebar-ring: 163 53% 54%;
  --chart-1: 163 53% 54%;
}


/* ── MN (Mongolia) — Purple #7B2D8E ─────────────────────────────────── */
[data-site="mn"],
[data-site="mn"][data-theme="light"] {
  --primary: 288 52% 37%;
  --primary-foreground: 0 0% 100%;
  --ring: 288 52% 37%;
  --sidebar-primary: 288 52% 37%;
  --sidebar-ring: 288 52% 37%;
  --chart-1: 288 52% 37%;
}
[data-site="mn"][data-theme="dark"] {
  --primary: 289 45% 61%;
  --primary-foreground: 0 0% 10%;
  --ring: 289 45% 61%;
  --sidebar-primary: 289 45% 61%;
  --sidebar-ring: 289 45% 61%;
  --chart-1: 289 45% 61%;
}


/* ── HUB (Central Asia aggregator) — Graphite #505258 ───────────────── */
[data-site="hub"],
[data-site="hub"][data-theme="light"] {
  --primary: 225 5% 33%;
  --primary-foreground: 0 0% 100%;
  --ring: 225 5% 33%;
  --sidebar-primary: 225 5% 33%;
  --sidebar-ring: 225 5% 33%;
  --chart-1: 225 5% 33%;
}
[data-site="hub"][data-theme="dark"] {
  --primary: 225 4% 64%;
  --primary-foreground: 0 0% 10%;
  --ring: 225 4% 64%;
  --sidebar-primary: 225 4% 64%;
  --sidebar-ring: 225 4% 64%;
  --chart-1: 225 4% 64%;
}


/* ══════════════════════════════════════════════════════════════════════
   Мост между AV DS и Total: `--accent` Total.kz сильнее не трогаем —
   public.css продолжает задавать --accent через data-site, а мы поверх
   синхронизируем --primary AV DS с тем же значением через HSL.
   Благодаря этому при переносе Total UI на av-* классы (волны 2-7)
   никакой дополнительной магии не потребуется.
   ══════════════════════════════════════════════════════════════════════ */


/* ══════════════════════════════════════════════════════════════════════
   Wave 7.1 — Inputs: unified focus-ring across legacy & AV DS inputs.
   Even where the markup keeps its old class (.search-input,
   .persons-search-input и т.д.) the focused state will pull from
   the AV DS --ring token (already country-tinted via overlay above).
   This gives Total a single focus appearance everywhere, without
   touching templates.
   ══════════════════════════════════════════════════════════════════════ */
.persons-search-input:focus,
.entities-search-input:focus,
.tags-search-input:focus,
.td-search-input:focus,
.td-search-bar__input:focus,
.td-gov-search-input:focus,
.at3-ask__input:focus {
  outline: none;
  border-color: hsl(var(--ring));
  box-shadow: 0 0 0 3px hsl(var(--ring) / 0.20);
}
.search-input-wrap:focus-within,
.search-overlay-form:focus-within {
  border-color: hsl(var(--ring));
  box-shadow: 0 0 0 3px hsl(var(--ring) / 0.20);
}


/* ══════════════════════════════════════════════════════════════════════
   Wave 7.2 — Cards: a11y + unified hover/focus rhythm.
   Existing card hover (border-color: var(--accent)) already works,
   так как --accent уже привязан к country-tinted токенам. Дополняем:
   1) :focus-visible outline для клавиатурной навигации (ring-token),
   2) sidebar-person-card / persons-strip-card / hero-side-item получают
      легкий ring-tinted bg/border на hover для визуального равенства.
   ══════════════════════════════════════════════════════════════════════ */
.shelf-card:focus-visible,
.feed-card:focus-visible,
.feed-duo-main:focus-visible,
.live-feed__item:focus-visible,
.person-card:focus-visible,
.persons-strip-card:focus-visible,
.hero-side-item:focus-visible,
.author-article-item:focus-visible,
.sidebar-person-card:focus-visible,
.ca-shelf-card:focus-visible {
  outline: 2px solid hsl(var(--ring));
  outline-offset: 2px;
  border-radius: 10px;
}

/* hero-side-item: добавляем тонкий ring-tinted фон на hover */
.hero-side-item:hover {
  background: hsl(var(--ring) / 0.06);
}

/* persons-strip-card: ring-tinted shadow на hover (уже есть bg) */
.persons-strip-card:hover {
  box-shadow: 0 2px 10px hsl(var(--ring) / 0.10);
}

/* sidebar-person-card: вместо opacity-only — нежный border + bg */
.sidebar-person-card {
  border-radius: 8px;
  padding: 6px 8px;
  margin: 0 -8px;
  border: 1px solid transparent;
  transition: border-color .15s, background .15s, opacity .15s;
}
.sidebar-person-card:hover {
  opacity: 1;
  background: hsl(var(--ring) / 0.05);
  border-color: hsl(var(--ring) / 0.25);
}


/* ══════════════════════════════════════════════════════════════════════
   Wave 7.4 — Cleanup & a11y for legacy button classes.
   Не удаляем legacy CSS (всё ещё нужен админ-страницам без AV DS),
   но даём кнопкам единый клавиатурный focus-ring и фиксируем
   deprecation-mapping. Каждый legacy class ↔ AV DS эквивалент:
     .btn-primary          → .av-btn .av-btn--primary
     .btn-secondary        → .av-btn .av-btn--outline
     .sidebar-action-btn   → .av-btn .av-btn--ghost--icon--sm
     .tag-pill             → .av-badge .av-badge--neutral--md
     .btn-load-more        → .av-btn .av-btn--outline--lg
     .ask-cta-btn          → .av-btn .av-btn--primary--lg
   После полного перехода на av-* (волны 8+) можно будет вычистить
   правила из public.min.css. Сейчас — только a11y-обвязка.
   ══════════════════════════════════════════════════════════════════════ */
.btn-primary:focus-visible,
.btn-secondary:focus-visible,
.btn-load-more:focus-visible,
.ask-cta-btn:focus-visible,
.sidebar-action-btn:focus-visible,
.tag-pill:focus-visible {
  outline: 2px solid hsl(var(--ring));
  outline-offset: 2px;
}

/* Lang-switcher (header) — единый focus-ring */
.lang-btn:focus-visible {
  outline: 2px solid hsl(var(--ring));
  outline-offset: 2px;
  border-radius: 4px;
}

/* btn-primary в country-tinted hover уже работает через --accent;
   фиксируем active state так, чтобы тень тоже была --ring-token */
.btn-primary:active {
  box-shadow: 0 0 0 3px hsl(var(--ring) / 0.18);
}


/* ══════════════════════════════════════════════════════════════════════
   Wave 9.1 — Admin form fields: unified focus-ring.
   Admin использует style.css с собственными правилами; здесь даём
   AV DS-окрашенный focus-ring (через --ring) поверх hard-coded
   rgba(37,99,235,0.1). Логика и иконки select остаются.
   ══════════════════════════════════════════════════════════════════════ */
.editor-input:focus,
.editor-select:focus,
.editor-textarea:focus,
.editor-title-input:focus,
.filter-input:focus,
.filter-select:focus,
.form-input:focus,
.form-select:focus,
.tag-add-input:focus {
  outline: none;
  border-color: hsl(var(--ring));
  box-shadow: 0 0 0 3px hsl(var(--ring) / 0.18);
}

/* Wave 9.2 — Admin sidebar / nav-item focus-ring (a11y).
   Sidebar links и menu-toggle: видимый focus-visible outline. */
.nav-item:focus-visible,
.menu-toggle:focus-visible,
.sidebar a:focus-visible,
.context-menu-option:focus-visible {
  outline: 2px solid hsl(var(--ring));
  outline-offset: 2px;
  border-radius: 6px;
}

/* Calendar nav-buttons (admin) — единый focus + hover ring-tint */
.calendar-nav-btn:focus-visible {
  outline: 2px solid hsl(var(--ring));
  outline-offset: 2px;
}
.calendar-nav-btn:hover {
  background: hsl(var(--ring) / 0.06);
}


/* ══════════════════════════════════════════════════════════════════════
   Wave 11 — Semantic button variants: success & warning.
   AV DS components.css даёт только --destructive из семантики; здесь
   добавляем --success (зелёный) и --warning (янтарный) tokens поверх
   и av-btn-варианты с тем же визуальным языком, что и --destructive.
   ══════════════════════════════════════════════════════════════════════ */
:root, [data-theme="light"] {
  --success: 142 71% 36%;            /* deep emerald */
  --success-foreground: 0 0% 99%;
  --warning: 35 92% 48%;             /* amber-500 */
  --warning-foreground: 0 0% 17%;    /* near-black, читаемо на янтарном */
}
[data-theme="dark"] {
  --success: 142 65% 45%;
  --success-foreground: 0 0% 99%;
  --warning: 38 92% 56%;
  --warning-foreground: 0 0% 13%;
}

.av-btn--success {
  background: hsl(var(--success));
  color: hsl(var(--success-foreground));
  border-color: hsl(var(--success));
}
.av-btn--success:hover:not(:disabled) {
  background: hsl(var(--success) / 0.9);
  border-color: hsl(var(--success) / 0.9);
}

.av-btn--warning {
  background: hsl(var(--warning));
  color: hsl(var(--warning-foreground));
  border-color: hsl(var(--warning));
}
.av-btn--warning:hover:not(:disabled) {
  background: hsl(var(--warning) / 0.9);
  border-color: hsl(var(--warning) / 0.9);
}

/* ============================================================
   Wave 12 — av-table (admin/data tables)
   Adds AV DS look to .table and .data-table via dual-class.
   Tokens used: private AV HSL aliases plus --primary/--ring.
   ============================================================ */
.av-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 0.92rem;
  color: hsl(var(--foreground));
  background: hsl(var(--card, var(--background)));
}
.av-table thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  text-align: left;
  font-weight: 600;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
  background: hsl(var(--muted) / 0.6);
  padding: 0.625rem 0.75rem;
  border-bottom: 1px solid hsl(var(--av-border));
}
.av-table tbody td {
  padding: 0.625rem 0.75rem;
  border-bottom: 1px solid hsl(var(--av-border) / 0.6);
  vertical-align: middle;
}
.av-table tbody tr {
  transition: background-color 0.15s ease;
}
.av-table tbody tr:hover {
  background: hsl(var(--av-accent-semantic) / 0.5);
}
.av-table tbody tr:focus-within {
  outline: 2px solid hsl(var(--ring));
  outline-offset: -2px;
}
.av-table--striped tbody tr:nth-child(even) {
  background: hsl(var(--muted) / 0.3);
}
.av-table--striped tbody tr:nth-child(even):hover {
  background: hsl(var(--av-accent-semantic) / 0.5);
}
.av-table tbody tr:last-child td {
  border-bottom: 0;
}


/* ============================================================
   v83.13 — Public home composition primitives.
   Home keeps its editorial layout, but recurring news cards,
   section actions, tabs, sidebar cards, and breaking states now
   map to AV DS cards/buttons/badges through dual classes.
   ============================================================ */
.av-home-shell {
  --home-card-radius: calc(var(--av-radius, 0.5rem) + 4px);
  --home-soft-shadow: 0 8px 24px hsl(var(--foreground) / 0.07);
  --home-strong-shadow: 0 16px 42px hsl(var(--foreground) / 0.12);
}

.home-breaking-slot:empty {
  display: none;
}

.av-home-section[hidden],
.poll-widget[hidden],
.poll-content[hidden],
.poll-loading[hidden] {
  display: none !important;
}

.home-breaking-banner {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  width: 100%;
  margin: 0 0 0.875rem;
  padding: 0.625rem 0.875rem;
  border: 0;
  border-radius: var(--home-card-radius);
  color: #fff;
  text-decoration: none;
  background: linear-gradient(90deg, var(--red, #d83236) 0%, #b82a2e 100%);
  box-shadow: 0 2px 8px rgba(216, 50, 54, 0.2);
  animation: totalHomeBreakingPulse 2.5s ease-in-out infinite;
}

.home-breaking-banner:hover {
  color: #fff;
  transform: translateY(-1px);
}

.home-breaking-banner__label {
  flex: 0 0 auto;
  padding: 0.1875rem 0.5rem;
  border-radius: 0.25rem;
  background: rgba(255, 255, 255, 0.22);
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.2;
  white-space: nowrap;
}

.home-breaking-banner__title {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 0.875rem;
  font-weight: 650;
  line-height: 1.3;
}

.home-breaking-banner__arrow {
  flex: 0 0 auto;
  font-size: 1.25rem;
  line-height: 1;
  opacity: 0.82;
}

@keyframes totalHomeBreakingPulse {
  0%, 100% { box-shadow: 0 2px 8px rgba(216, 50, 54, 0.2); }
  50% { box-shadow: 0 2px 16px rgba(216, 50, 54, 0.5); }
}

.av-home-section {
  scroll-margin-top: 5rem;
}

.av-home-section .section-header,
.feed-duo.av-home-section .section-header {
  align-items: center;
  border-bottom-color: hsl(var(--av-border));
}

.av-home-section .section-title,
.feed-duo.av-home-section .section-title {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  color: hsl(var(--foreground));
}

.home-section-icon {
  display: inline-block;
  flex: 0 0 auto;
  margin-right: 0.25rem;
  vertical-align: -0.125rem;
}

.section-more.av-home-section-more {
  height: auto;
  min-height: 2rem;
  padding: 0.25rem 0.625rem;
  border-color: transparent;
  border-radius: 999px;
  background: hsl(var(--primary) / 0.08);
  color: hsl(var(--primary));
  text-transform: uppercase;
}

.section-more.av-home-section-more:hover,
.section-more.av-home-section-more:focus-visible {
  background: hsl(var(--primary) / 0.13);
  color: hsl(var(--primary));
}

.hero-main.av-home-hero-card {
  border-color: hsl(var(--av-border));
  box-shadow: var(--home-soft-shadow);
}

.hero-main.av-home-hero-card:hover {
  transform: none;
  box-shadow: var(--home-strong-shadow);
}

.hero-main.av-home-hero-card:focus-visible {
  outline: 2px solid hsl(var(--ring));
  outline-offset: 3px;
}

.hero-side-item.av-home-side-card {
  border-color: hsl(var(--av-border));
  background: hsl(var(--card));
  box-shadow: 0 1px 2px hsl(var(--foreground) / 0.035);
}

.hero-side-item.av-home-side-card:hover {
  border-color: hsl(var(--ring) / 0.45);
  background: hsl(var(--ring) / 0.055);
  box-shadow: var(--home-soft-shadow);
}

.live-feed.av-home-live-feed {
  border-color: hsl(var(--av-border));
  background: hsl(var(--card));
  box-shadow: 0 1px 2px hsl(var(--foreground) / 0.035);
}

.live-feed__time--breaking {
  color: var(--red, #d83236);
  font-weight: 800;
}

.shelf-card.av-home-news-card {
  border-color: hsl(var(--av-border));
  background: hsl(var(--card));
  box-shadow: 0 1px 2px hsl(var(--foreground) / 0.035);
}

.shelf-card.av-home-news-card:hover {
  transform: translateY(-2px);
  border-color: hsl(var(--ring) / 0.52);
  box-shadow: var(--home-soft-shadow);
}

.shelf-card.av-home-news-card .shelf-card-overlay-cat,
.shelf-card.av-home-news-card .shelf-card-overlay-date,
.hero-side-date {
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(0, 0, 0, 0.52);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.ca-tab.av-home-tab {
  height: auto;
  min-height: 2rem;
  border-color: hsl(var(--av-border));
  border-radius: 999px;
  background: hsl(var(--card));
  color: hsl(var(--foreground));
}

.ca-tab.av-home-tab:hover {
  border-color: hsl(var(--ring) / 0.38);
  background: hsl(var(--ring) / 0.07);
}

.ca-tab.av-home-tab.is-active {
  border-color: hsl(var(--primary));
  background: hsl(var(--primary));
  color: hsl(var(--primary-foreground));
}

.persons-strip.av-home-section {
  padding: var(--space-4);
  border-color: hsl(var(--av-border));
  background: hsl(var(--muted) / 0.32);
}

.persons-strip-card.av-card {
  border-color: hsl(var(--av-border) / 0.78);
  background: hsl(var(--card));
}

.persons-strip-card.av-card:hover {
  border-color: hsl(var(--ring) / 0.42);
  background: hsl(var(--card));
}

.av-home-sidebar-card {
  border-color: hsl(var(--av-border));
  background: hsl(var(--card));
  box-shadow: 0 1px 2px hsl(var(--foreground) / 0.035);
}

.poll-submit.av-btn {
  margin-top: 0.25rem;
}

.poll-progress {
  display: block;
  width: 100%;
  height: 0.5rem;
  overflow: hidden;
  border: 0;
  border-radius: 999px;
  background: hsl(var(--muted));
  accent-color: hsl(var(--primary));
}

.poll-progress::-webkit-progress-bar {
  background: hsl(var(--muted));
}

.poll-progress::-webkit-progress-value {
  border-radius: 999px;
  background: hsl(var(--primary));
}

.poll-progress::-moz-progress-bar {
  border-radius: 999px;
  background: hsl(var(--primary));
}

.btn-load-more.is-loading,
.btn-load-more.is-disabled-soft {
  opacity: 0.6;
}

.btn-load-more.is-disabled-soft {
  cursor: default;
}

.home-trending-tags-row {
  padding: var(--space-6) 0 var(--space-8);
}

.trending-pill.av-badge {
  border-color: hsl(var(--av-border));
  text-decoration: none;
}

.trending-pill.trending-pill--more {
  border-color: hsl(var(--primary));
  background: hsl(var(--primary));
  color: hsl(var(--primary-foreground));
}

@media (max-width: 768px) {
  .home-breaking-banner {
    align-items: flex-start;
    gap: 0.5rem;
    padding: 0.625rem 0.75rem;
  }

  .home-breaking-banner__title {
    font-size: 0.8125rem;
  }

  .section-more.av-home-section-more {
    min-height: 1.875rem;
    padding: 0.25rem 0.5rem;
  }

  .persons-strip.av-home-section {
    padding: var(--space-3);
  }
}

/* Wave 19.1: quiet 2026 image empty states. */
.shelf-card-img {
  isolation: isolate;
}

.shelf-card-img:has(.shelf-card-img-empty)::before {
  opacity: 0;
}

.shelf-card-img-empty {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  background:
    linear-gradient(135deg, hsl(var(--muted) / 0.52), hsl(var(--muted) / 0.26)),
    radial-gradient(circle at 82% 18%, hsl(var(--primary) / 0.10), transparent 32%);
}

.shelf-card-img-empty::before {
  content: "";
  position: absolute;
  inset: 50% auto auto 50%;
  width: 2.75rem;
  height: 2.75rem;
  transform: translate(-50%, -50%);
  border: 1.5px solid hsl(var(--muted-foreground) / 0.34);
  border-radius: 0.75rem;
  opacity: 0.72;
}

.shelf-card-img-empty::after {
  content: "";
  position: absolute;
  inset: 50% auto auto 50%;
  width: 1.55rem;
  height: 1.1rem;
  transform: translate(-50%, -34%) rotate(45deg);
  border-right: 1.5px solid hsl(var(--muted-foreground) / 0.34);
  border-bottom: 1.5px solid hsl(var(--muted-foreground) / 0.34);
  opacity: 0.72;
}

img[src*="placeholder.svg"],
img[src*="placeholder-card.svg"] {
  padding: 0 !important;
  opacity: 1 !important;
  object-fit: cover !important;
  background: hsl(var(--muted) / 0.45) !important;
}

[data-theme="dark"] .shelf-card-img-empty {
  background:
    linear-gradient(135deg, hsl(var(--muted) / 0.42), hsl(var(--background) / 0.70)),
    radial-gradient(circle at 82% 18%, hsl(var(--primary) / 0.13), transparent 34%);
}

/* Wave 22: KOZ-only placeholder polish so missing media reads intentional. */
html[data-portal="koz_news"] .shelf-card-img,
html[data-portal="koz_news"] .hub-live-img-v85,
html[data-portal="koz_news"] .related-thumb--ph,
html[data-portal="koz_news"] .persons-strip-photo--ph {
  overflow: hidden;
  isolation: isolate;
}

html[data-portal="koz_news"] .shelf-card-img-empty,
html[data-portal="koz_news"] .hub-live-img-empty-v85 {
  color: transparent;
  font-size: 0;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0)),
    radial-gradient(circle at 18% 18%, color-mix(in srgb, var(--accent, #007A8C) 14%, #fff), transparent 42%),
    repeating-linear-gradient(135deg, transparent 0 13px, rgba(255, 255, 255, 0.16) 13px 14px),
    linear-gradient(135deg, hsl(var(--muted) / 0.86), hsl(var(--muted) / 0.52));
}

html[data-portal="koz_news"] .shelf-card-img-empty::before,
html[data-portal="koz_news"] .hub-live-img-empty-v85::before {
  content: "KӨZ";
  position: absolute;
  left: 12px;
  top: 12px;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0 8px;
  border: 1px solid rgba(255, 255, 255, 0.46);
  border-radius: 999px;
  color: color-mix(in srgb, var(--text, #1f2937) 66%, #fff);
  background: rgba(255, 255, 255, 0.56);
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transform: none;
  opacity: 1;
  width: auto;
  height: auto;
}

html[data-portal="koz_news"] .shelf-card-img-empty::after,
html[data-portal="koz_news"] .hub-live-img-empty-v85::after {
  content: "";
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 14px;
  height: 38px;
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.34)),
    linear-gradient(
      90deg,
      hsl(var(--foreground) / 0.16) 0 42%,
      transparent 42% 48%,
      hsl(var(--foreground) / 0.09) 48% 100%
    );
  opacity: 0.72;
}

html[data-portal="koz_news"] .related-thumb--ph {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0)),
    radial-gradient(circle at 18% 18%, color-mix(in srgb, var(--accent, #007A8C) 10%, #fff), transparent 40%),
    linear-gradient(135deg, hsl(var(--muted) / 0.72), hsl(var(--muted) / 0.44));
}

html[data-portal="koz_news"] .related-thumb--ph::before {
  background:
    repeating-linear-gradient(135deg, transparent, transparent 10px, rgba(255, 255, 255, 0.12) 10px, rgba(255, 255, 255, 0.12) 11px);
}

html[data-portal="koz_news"] .related-thumb--ph .ph-label {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0 8px;
  border-radius: 999px;
  color: color-mix(in srgb, var(--text, #1f2937) 70%, #fff);
  background: rgba(255, 255, 255, 0.58);
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  opacity: 1;
}

html[data-portal="koz_news"] .persons-strip-photo--ph {
  position: relative;
  color: color-mix(in srgb, var(--accent, #007A8C) 38%, var(--text-muted, #868e96)) !important;
  font-size: initial !important;
  text-indent: 0 !important;
  border: 1px solid color-mix(in srgb, var(--accent, #007A8C) 14%, transparent);
  background:
    radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.82), rgba(255, 255, 255, 0.28) 42%, transparent 43%),
    linear-gradient(180deg, hsl(var(--muted) / 0.62), hsl(var(--muted) / 0.34));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.62);
}

html[data-portal="koz_news"] .persons-strip-photo--ph svg {
  opacity: 0.86;
}

html[data-portal="koz_news"] .persons-strip-initials {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  position: absolute;
  inset: 50% auto auto 50%;
  z-index: 1;
  transform: translate(-50%, -50%);
  min-width: auto;
  min-height: auto;
  padding: 0;
  color: color-mix(in srgb, var(--accent, #007A8C) 78%, var(--text, #1f2937)) !important;
  background: transparent;
  box-shadow: none;
  font-size: 0.98rem !important;
  font-weight: 900;
  letter-spacing: 0.06em;
  line-height: 1;
  text-indent: 0 !important;
  text-transform: uppercase;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.68);
}

html[data-portal="koz_news"] .persons-strip-photo--ph::after {
  content: none;
}

html[data-portal="koz_news"][data-theme="dark"] .shelf-card-img-empty,
html[data-portal="koz_news"][data-theme="dark"] .hub-live-img-empty-v85 {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0)),
    radial-gradient(circle at 18% 18%, color-mix(in srgb, var(--accent, #007A8C) 18%, transparent), transparent 42%),
    repeating-linear-gradient(135deg, transparent 0 13px, rgba(255, 255, 255, 0.08) 13px 14px),
    linear-gradient(135deg, hsl(var(--muted) / 0.44), hsl(var(--background) / 0.82));
}

html[data-portal="koz_news"][data-theme="dark"] .shelf-card-img-empty::before,
html[data-portal="koz_news"][data-theme="dark"] .hub-live-img-empty-v85::before,
html[data-portal="koz_news"][data-theme="dark"] .related-thumb--ph .ph-label {
  color: #ecf2f9;
  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(15, 23, 42, 0.48);
}

html[data-portal="koz_news"][data-theme="dark"] .persons-strip-photo--ph {
  border-color: rgba(255, 255, 255, 0.1);
  background:
    radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.02) 42%, transparent 43%),
    linear-gradient(180deg, hsl(var(--muted) / 0.34), hsl(var(--background) / 0.82));
  color: #c5d2df;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

html[data-portal="koz_news"][data-theme="dark"] .persons-strip-initials {
  color: #ecf2f9 !important;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.28);
}

/* Split portal: honest regional empty state while local content is being prepared. */
.home-empty-state {
  max-width: 44rem;
  margin: clamp(3rem, 8vw, 6rem) auto;
  padding: clamp(1.5rem, 4vw, 2.5rem);
  text-align: center;
  border: 1px solid var(--border-light, #e5e7eb);
  background:
    linear-gradient(180deg, hsl(var(--background) / 0.96), hsl(var(--muted) / 0.32));
}

.home-empty-state__brand {
  display: inline-flex;
  margin-bottom: 0.75rem;
  color: hsl(var(--primary));
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.home-empty-state__title {
  max-width: 34rem;
  margin: 0 auto 0.75rem;
  color: var(--text-primary, hsl(var(--foreground)));
  font-size: clamp(1.45rem, 3vw, 2.1rem);
  line-height: 1.15;
  letter-spacing: 0;
}

.home-empty-state__text {
  max-width: 36rem;
  margin: 0 auto 1.25rem;
  color: var(--text-secondary, hsl(var(--muted-foreground)));
  font-size: 1rem;
  line-height: 1.55;
}

.home-empty-state__link {
  width: fit-content;
  margin: 0 auto;
}

/* Wave 19.2: bridge AV DS HSL tokens with Total's legacy hex border vars. */
.av-card:not(.av-card--ghost) {
  border-color: var(--border-light, #e5e7eb);
}

.hero-main.av-home-hero-card,
.hero-side-item.av-home-side-card,
.live-feed.av-home-live-feed,
.shelf-card.av-home-news-card,
.persons-strip.av-card,
.persons-strip-card.av-card,
.av-home-sidebar-card,
.ca-tab.av-home-tab {
  border-width: 1px;
  border-color: var(--border-light, #e5e7eb) !important;
}

.hero-main.av-home-hero-card,
.hero-side-item.av-home-side-card,
.live-feed.av-home-live-feed,
.shelf-card.av-home-news-card,
.persons-strip.av-card,
.persons-strip-card.av-card,
.av-home-sidebar-card {
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.035);
}

.hero-side-item.av-home-side-card:hover,
.shelf-card.av-home-news-card:hover,
.persons-strip-card.av-card:hover {
  border-color: color-mix(in srgb, var(--accent, #007A8C) 34%, var(--border-light, #e5e7eb)) !important;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.075);
}

.ca-tab.av-home-tab {
  background: var(--surface, #fff);
  color: var(--text, #1a1a2e);
}

.ca-tab.av-home-tab.is-active {
  border-color: var(--accent, #007A8C) !important;
}

/* Wave 20.1: public persons catalog bridge to AV DS cards/buttons/badges. */
.persons-search.av-field {
  display: flex;
}

.persons-search .av-input {
  min-height: 2.375rem;
  padding-left: 2.375rem;
}

.pf-chip.av-badge {
  min-height: 1.875rem;
  text-decoration: none;
}

.pf-chip.av-badge.active {
  color: hsl(var(--primary-foreground));
}

.alpha-letter.av-btn,
.pagination .av-btn {
  text-decoration: none;
}

.person-card.av-card {
  border-color: var(--border-light, #e5e7eb) !important;
  background: var(--surface, #fff);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.035);
}

.person-card.av-card:hover,
.person-card.av-card:focus-visible {
  border-color: color-mix(in srgb, var(--accent, #007A8C) 34%, var(--border-light, #e5e7eb)) !important;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.075);
}

.person-card.av-card[hidden] {
  display: none !important;
}

/* Wave 22.1: KOZ article reading surface should feel quieter and more editorial. */
html[data-portal="koz_news"] .nlp-key-facts {
  margin: 24px 0 26px;
  padding: 18px 20px;
  background: linear-gradient(180deg, color-mix(in srgb, var(--accent, #007A8C) 4%, #fff), #fff 68%);
  border: 1px solid color-mix(in srgb, var(--accent, #007A8C) 12%, var(--border-light, #e5e7eb));
  border-radius: 12px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

html[data-portal="koz_news"] .nlp-key-facts::before {
  height: 2px;
  opacity: 0.74;
}

html[data-portal="koz_news"] .nlp-key-facts-title {
  margin-bottom: 12px;
  padding-bottom: 8px;
  font-size: 0.68rem;
  letter-spacing: 0.1em;
}

html[data-portal="koz_news"] .nlp-key-facts-list li {
  padding: 8px 0 8px 18px;
}

html[data-portal="koz_news"] .nlp-key-facts-list li::before {
  top: 15px;
  width: 5px;
  height: 5px;
  border-radius: 999px;
  opacity: 0.82;
}

html[data-portal="koz_news"] .article-body blockquote,
html[data-portal="koz_news"] .article-source-quote,
html[data-portal="koz_news"] .expert-quote {
  margin: 24px 0;
  padding: 18px 20px 18px 22px;
  color: var(--text, #1f2937);
  background: linear-gradient(180deg, color-mix(in srgb, var(--accent, #007A8C) 5%, #fff), color-mix(in srgb, var(--accent, #007A8C) 2%, #fff));
  border: 1px solid color-mix(in srgb, var(--accent, #007A8C) 12%, var(--border-light, #e5e7eb));
  border-left: 3px solid color-mix(in srgb, var(--accent, #007A8C) 34%, #fff);
  border-radius: 12px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.68);
  font-size: 1rem;
  line-height: 1.72;
}

html[data-portal="koz_news"] .article-body blockquote::before,
html[data-portal="koz_news"] .expert-quote::before {
  top: -2px;
  left: 12px;
  color: color-mix(in srgb, var(--accent, #007A8C) 28%, transparent);
  opacity: 0.16;
  font-size: 3.3rem;
}

html[data-portal="koz_news"] .article-body blockquote p,
html[data-portal="koz_news"] .article-source-quote p,
html[data-portal="koz_news"] .expert-quote p {
  position: relative;
  z-index: 1;
}

html[data-portal="koz_news"] .expert-quote p {
  font-style: normal;
}

html[data-portal="koz_news"] .expert-quote-footer {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid color-mix(in srgb, var(--accent, #007A8C) 10%, var(--border-light, #e5e7eb));
  color: var(--text-muted, #667085);
  font-size: 0.82rem;
}

html[data-portal="koz_news"] .expert-quote-footer cite {
  font-weight: 700;
}

html[data-portal="koz_news"][data-theme="dark"] .nlp-key-facts,
html[data-portal="koz_news"][data-theme="dark"] .article-body blockquote,
html[data-portal="koz_news"][data-theme="dark"] .article-source-quote,
html[data-portal="koz_news"][data-theme="dark"] .expert-quote {
  background: linear-gradient(180deg, rgba(18, 24, 33, 0.98), rgba(18, 24, 33, 0.9));
  border-color: rgba(231, 237, 245, 0.12);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
  color: #e7edf5;
}

html[data-portal="koz_news"][data-theme="dark"] .expert-quote-footer {
  border-top-color: rgba(231, 237, 245, 0.08);
  color: #aeb8c7;
}

/* Wave 19.3: visual spot-check fixes for public chrome and media fallbacks. */
@media (min-width: 1100px) and (max-width: 1320px) {
  .header-inner {
    gap: var(--space-4);
    padding-inline: var(--space-4);
  }

  .header-nav {
    gap: 2px;
    min-width: 0;
  }

  .header-nav a {
    padding-inline: var(--space-2);
  }

  .header-actions {
    gap: 4px;
  }

  .site-logo-text {
    font-size: 1.35rem;
  }

  .anniversary-badge {
    padding-inline: 6px;
  }
}

.hero-side-thumb,
.shelf-card-img,
.card-image,
.search-result-thumb,
.feed-item-thumb,
.related-thumb {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(135deg, #f5f7f8 0%, #e8eef0 100%);
}

.hero-side-thumb::before,
.card-image::before,
.search-result-thumb::before,
.feed-item-thumb::before,
.related-thumb::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='52' height='52' viewBox='0 0 24 24' fill='none' stroke='%2398a6ad' stroke-width='1.45' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='14' rx='2.5'/%3E%3Ccircle cx='9' cy='10' r='1.6'/%3E%3Cpath d='m20 16-4.5-4.5a2 2 0 0 0-2.8 0L5 19'/%3E%3C/svg%3E")
    center / 2.9rem 2.9rem no-repeat;
  opacity: 0.42;
  pointer-events: none;
}

.hero-side-thumb img,
.card-image img,
.search-result-thumb img,
.feed-item-thumb img,
.related-thumb img {
  position: relative;
  z-index: 1;
}

[data-theme="dark"] .hero-side-thumb,
[data-theme="dark"] .shelf-card-img,
[data-theme="dark"] .card-image,
[data-theme="dark"] .search-result-thumb,
[data-theme="dark"] .feed-item-thumb,
[data-theme="dark"] .related-thumb {
  background:
    linear-gradient(135deg, #28313b 0%, #202832 100%) !important;
}

[data-theme="dark"] .hero-side-thumb::before,
[data-theme="dark"] .card-image::before,
[data-theme="dark"] .search-result-thumb::before,
[data-theme="dark"] .feed-item-thumb::before,
[data-theme="dark"] .related-thumb::before {
  filter: brightness(1.35);
  opacity: 0.34;
}

@media (max-width: 768px) {
  body {
    padding-bottom: 72px;
  }

  .news-ticker {
    display: none !important;
  }

  .article-top-bar {
    flex-wrap: nowrap;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
  }

  .article-top-bar > span:last-child {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

/* Wave 19.4: final public-page sweep fixes. */
.ad-placeholder[aria-hidden="true"] {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

.at3-root,
.at3-root * {
  min-width: 0;
}

.at3-root code,
.at3-code {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.mobile-menu:not(.is-open) .mobile-menu-drawer {
  display: none !important;
}

.mobile-menu.is-open .mobile-menu-drawer {
  display: flex !important;
}

@media (max-width: 640px) {
  .section-header {
    gap: 8px;
    min-width: 0;
  }

  .section-more.av-home-section-more {
    flex: 0 1 auto;
    max-width: 48vw;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .at3-api__item,
  .at3-code {
    overflow-x: auto;
  }

  .at3-code {
    white-space: pre-wrap;
  }
}

/* Wave 19.5: current live polish after the May visual sweep. */
.av-home-section {
  content-visibility: visible !important;
  contain-intrinsic-size: auto !important;
}

.av-home-section .section-header,
.feed-duo.av-home-section .section-header {
  border-bottom: 1px solid var(--border-light, #ebedf0) !important;
}

.ca-news-section .section-header {
  border-left-width: 3px !important;
  border-left-color: color-mix(in srgb, var(--accent, #007A8C) 45%, transparent) !important;
}

.footer-avds-version {
  display: inline-flex;
  align-items: center;
  min-height: 0;
  padding: 0;
  font-family: var(--font-mono, monospace);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--text-muted, #868e96);
  white-space: nowrap;
}

@media (max-width: 640px) {
  .wide-layout.av-home-shell {
    width: 100%;
    max-width: 100vw;
    overflow-x: hidden;
    overflow-x: clip;
  }

  .hero-with-feed,
  .hero-grid,
  .hero-with-feed__main {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .persons-page {
    max-width: 100vw;
    overflow-x: hidden;
    overflow-x: clip;
  }

  .persons-filters,
  .persons-alpha {
    max-width: 100%;
    min-width: 0;
  }
}

/* Wave 19.6: keep KӨZ mobile chrome inside the viewport. */
@media (max-width: 768px) {
  .network-bar,
  .currency-strip {
    width: 100%;
    max-width: 100vw;
    overflow: hidden !important;
  }

  .network-bar__inner,
  .currency-strip-inner {
    box-sizing: border-box;
    width: 100%;
    max-width: 100vw;
    min-width: 0;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .network-bar__inner::-webkit-scrollbar,
  .currency-strip-inner::-webkit-scrollbar,
  .strip-right::-webkit-scrollbar {
    display: none;
  }

  .network-bar__links {
    min-width: 0;
  }

  .network-bar__hub {
    flex: 0 0 auto;
    margin-left: 4px;
    padding-left: 6px;
    padding-right: 6px;
  }

  .currency-strip-inner {
    display: flex;
    align-items: center;
    gap: 8px;
  }

  .strip-left {
    flex: 0 0 auto;
    max-width: 36vw;
  }

  .strip-right {
    flex: 1 1 auto;
    min-width: 0;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
  }
}

.hub-page.hub-page--v85 {
  align-items: stretch;
}

.hub-page.hub-page--v85 .ca-news-section {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.hub-page.hub-page--v85 .ca-news-section .section-header,
.hub-page.hub-page--v85 .ca-news-section .ca-panel,
.hub-page.hub-page--v85 .ca-news-section .shelf-row {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.static-page-lead {
  max-width: 64ch;
  margin: 0 0 var(--space-6);
  color: color-mix(in srgb, var(--text-secondary) 88%, var(--text) 12%);
  font-size: clamp(1.05rem, 1rem + 0.35vw, 1.22rem);
  line-height: 1.72;
}

.static-page-section {
  margin-bottom: var(--space-7);
}

.static-page-section:last-child {
  margin-bottom: 0;
}

.static-page-section h2 {
  margin-bottom: var(--space-4);
}

.trust-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
  margin-bottom: var(--space-5);
}

.trust-summary-card {
  min-width: 0;
  padding: var(--space-5);
  background: color-mix(in srgb, var(--surface) 86%, var(--accent-bg) 14%);
  border: 1px solid color-mix(in srgb, var(--border-light) 84%, var(--accent) 16%);
  border-radius: 8px;
  box-shadow: var(--shadow-xs);
}

.trust-summary-card span {
  display: inline-flex;
  margin-bottom: var(--space-3);
  color: var(--accent);
  font-size: var(--text-xs);
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.trust-summary-card strong {
  display: block;
  margin-bottom: var(--space-2);
  color: var(--text);
  font-size: var(--text-lg);
  line-height: 1.25;
}

.trust-summary-card p {
  margin: 0;
  color: var(--text-secondary);
  font-size: var(--text-sm);
  line-height: 1.62;
}

.trust-page-nav,
.partner-section-nav {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-bottom: var(--space-5);
}

.trust-page-nav a,
.partner-section-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 var(--space-4);
  background: var(--surface);
  border: 1px solid var(--border-light);
  border-radius: 999px;
  color: var(--text-secondary);
  font-size: var(--text-sm);
  font-weight: 600;
  text-decoration: none;
  transition: border-color 0.16s ease, color 0.16s ease, background-color 0.16s ease, transform 0.16s ease;
}

.trust-page-nav a:hover,
.partner-section-nav a:hover {
  color: var(--accent);
  border-color: color-mix(in srgb, var(--accent) 28%, var(--border-light));
  background: color-mix(in srgb, var(--accent-bg) 52%, var(--surface) 48%);
  transform: translateY(-1px);
}

.static-page-table {
  width: 100%;
  border-collapse: collapse;
  color: var(--text-secondary);
  line-height: 1.75;
}

.static-page-table th {
  width: 9rem;
  padding: 0 var(--space-4) var(--space-2) 0;
  color: var(--text);
  font-weight: 650;
  text-align: left;
  vertical-align: top;
}

.static-page-table td {
  padding-bottom: var(--space-2);
  vertical-align: top;
}

.static-social-links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-top: var(--space-4);
}

.partner-page-shell {
  width: min(1080px, calc(100% - 32px));
  margin: 0 auto;
  padding: var(--space-4) 0 var(--space-14);
}

.partner-breadcrumb {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin: var(--space-2) 0 var(--space-5);
  color: var(--text-muted);
  font-size: var(--text-xs);
}

.partner-breadcrumb a {
  color: var(--text-secondary);
}

.partner-breadcrumb a:hover {
  color: var(--accent);
}

.partner-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(280px, 0.85fr);
  gap: var(--space-7);
  align-items: stretch;
  padding: clamp(26px, 4.4vw, 48px);
  background:
    linear-gradient(135deg, rgba(0, 122, 140, 0.12), transparent 42%),
    var(--surface);
  border: 1px solid var(--border);
  border-radius: 8px;
  box-shadow: var(--shadow-sm);
}

.partner-hero__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.partner-hero h1 {
  max-width: 760px;
  margin: 0;
  color: var(--text);
  font-size: clamp(1.95rem, 4.4vw, 3.6rem);
  line-height: 1.04;
  letter-spacing: 0;
}

.partner-hero p {
  max-width: 720px;
  margin: var(--space-5) 0 0;
  color: var(--text-secondary);
  font-size: var(--text-lg);
  line-height: 1.65;
}

.partner-hero__actions,
.partner-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-top: var(--space-6);
}

.partner-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 var(--space-5);
  border-radius: 8px;
  font-size: var(--text-sm);
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  transition: transform 0.16s ease, background 0.16s ease, color 0.16s ease, border-color 0.16s ease;
}

.partner-btn:hover {
  transform: translateY(-1px);
}

.partner-btn--primary {
  background: var(--accent);
  color: #fff;
  border: 1px solid var(--accent);
}

.partner-btn--primary:hover {
  background: var(--accent-hover);
  color: #fff;
}

.partner-btn--secondary {
  background: var(--surface);
  color: var(--text);
  border: 1px solid var(--border);
}

.partner-btn--secondary:hover {
  border-color: var(--accent);
  color: var(--accent);
}

.partner-hero__panel {
  display: grid;
  gap: var(--space-3);
}

.partner-hero__panel > div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 112px;
  padding: var(--space-5);
  background: var(--surface-2);
  border: 1px solid var(--border-light);
  border-radius: 8px;
}

.partner-hero__panel strong {
  color: var(--accent);
  font-size: clamp(1.75rem, 4vw, 2.8rem);
  line-height: 1;
}

.partner-hero__panel span {
  margin-top: var(--space-2);
  color: var(--text-secondary);
  font-size: var(--text-sm);
  line-height: 1.45;
}

.partner-section {
  padding: clamp(28px, 4.8vw, 56px) 0;
  border-bottom: 1px solid var(--border-light);
}

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

.partner-section__head {
  display: grid;
  grid-template-columns: minmax(220px, 0.75fr) minmax(0, 1.25fr);
  gap: var(--space-6);
  align-items: start;
  margin-bottom: var(--space-6);
}

.partner-section h2,
.partner-cta h2 {
  margin: 0;
  color: var(--text);
  font-size: clamp(1.6rem, 3vw, 2.45rem);
  line-height: 1.12;
  letter-spacing: 0;
}

.partner-section__head p,
.partner-section--split > div > p,
.partner-cta p {
  margin: 0;
  color: var(--text-secondary);
  font-size: var(--text-lg);
  line-height: 1.65;
}

.partner-country-grid,
.partner-capability-grid,
.partner-assurance-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
}

.partner-country-grid article,
.partner-capability-grid article,
.partner-list-panel,
.partner-roadmap > div,
.partner-assurance-grid p {
  min-width: 0;
  padding: var(--space-5);
  background: var(--surface);
  border: 1px solid var(--border-light);
  border-radius: 8px;
  box-shadow: var(--shadow-xs);
}

.partner-country-grid span,
.partner-roadmap span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  min-height: 32px;
  margin-bottom: var(--space-4);
  padding: 0 var(--space-3);
  background: var(--accent-bg);
  color: var(--accent);
  border-radius: 8px;
  font-size: var(--text-xs);
  font-weight: 800;
}

.partner-country-grid h3,
.partner-capability-grid h3,
.partner-list-panel h3,
.partner-roadmap h3 {
  margin: 0 0 var(--space-3);
  color: var(--text);
  font-size: var(--text-lg);
  line-height: 1.25;
}

.partner-country-grid p,
.partner-capability-grid p,
.partner-roadmap p,
.partner-assurance-grid p {
  margin: 0;
  color: var(--text-secondary);
  font-size: var(--text-sm);
  line-height: 1.6;
}

.partner-section--split {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(320px, 1.1fr);
  gap: var(--space-8);
  align-items: start;
}

.partner-list-panel ul {
  display: grid;
  gap: var(--space-3);
  margin: 0;
  padding: 0;
  list-style: none;
}

.partner-list-panel li {
  position: relative;
  padding-left: var(--space-5);
  color: var(--text-secondary);
  font-size: var(--text-sm);
  line-height: 1.55;
}

.partner-list-panel li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.72em;
  width: 7px;
  height: 7px;
  background: var(--accent);
  border-radius: 999px;
}

.partner-roadmap {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-4);
}

.partner-section--assurance {
  padding: clamp(30px, 5vw, 52px);
  margin-top: var(--space-3);
  background: var(--surface-2);
  border: 1px solid var(--border-light);
  border-radius: 8px;
}

.partner-section--assurance h2 {
  margin-bottom: var(--space-6);
}

.partner-cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-8);
  align-items: center;
  margin-top: var(--space-6);
  padding: clamp(24px, 4.4vw, 40px);
  background: var(--accent-bg);
  border: 1px solid rgba(0, 122, 140, 0.2);
  border-radius: 8px;
}

.partner-cta p {
  margin-top: var(--space-3);
  max-width: 720px;
}

.partner-cta__actions {
  justify-content: flex-end;
  margin-top: 0;
}

@media (max-width: 900px) {
  .trust-summary-grid {
    grid-template-columns: 1fr;
  }

  .partner-hero,
  .partner-section__head,
  .partner-section--split,
  .partner-cta {
    grid-template-columns: 1fr;
  }

  .partner-country-grid,
  .partner-capability-grid,
  .partner-assurance-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .partner-roadmap {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .partner-cta__actions {
    justify-content: flex-start;
  }
}

@media (max-width: 640px) {
  .trust-page-nav,
  .partner-section-nav {
    gap: var(--space-2);
  }

  .trust-page-nav a,
  .partner-section-nav a {
    min-height: 34px;
    padding: 0 var(--space-3);
    font-size: var(--text-xs);
  }

  .partner-page-shell {
    width: min(100% - 24px, 1120px);
    padding-bottom: var(--space-10);
  }

  .partner-hero,
  .partner-section--assurance,
  .partner-cta {
    padding: var(--space-5);
  }

  .partner-country-grid,
  .partner-capability-grid,
  .partner-assurance-grid,
  .partner-roadmap {
    grid-template-columns: 1fr;
  }

  .partner-btn {
    width: 100%;
  }
}

@media (max-width: 640px) {
  .static-page-table,
  .static-page-table tbody,
  .static-page-table tr,
  .static-page-table th,
  .static-page-table td {
    display: block;
    width: 100%;
  }

  .static-page-table th {
    padding-right: 0;
    padding-bottom: 0;
  }
}

@media (max-width: 768px) {
  .hub-page.hub-page--v85 .ca-news-section {
    overflow: hidden;
  }

  .hub-page.hub-page--v85 .ca-news-section .section-header {
    align-items: flex-start;
  }

  .hub-page.hub-page--v85 .ca-news-section .ca-tabs {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    margin-right: 0;
    margin-left: 0;
    overflow-x: auto;
    overflow-y: hidden;
  }

  .hub-page.hub-page--v85 .ca-news-section .shelf-row {
    grid-template-columns: 1fr;
  }
}

/* Reklama page styles. */
.rek-hero {
  background:linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
  color:#fff; padding:var(--space-12) var(--space-6);
  text-align:center; border-radius:var(--radius-lg);
  margin-bottom:var(--space-10); position:relative; overflow:hidden;
}
.rek-hero::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse at 30% 50%, rgba(216,50,54,.15) 0%, transparent 60%);
}
.rek-hero-title {
  font-size:2.5rem; font-weight:900; line-height:1.1;
  letter-spacing:0; position:relative;
}
.rek-hero-title span { color:var(--accent); }
.rek-hero-sub {
  font-size:var(--text-base); color:rgba(255,255,255,.7);
  max-width:600px; margin:var(--space-4) auto 0; position:relative; line-height:1.6;
}

/* Stats bar */
.rek-stats {
  display:grid; grid-template-columns:repeat(4, 1fr); gap:var(--space-4);
  margin-bottom:var(--space-10);
}
@media (max-width:767px) { .rek-stats { grid-template-columns:repeat(2, 1fr); gap:var(--space-3); } }
@media (max-width:479px) { .rek-stats { grid-template-columns:1fr; } }
.rek-stat {
  text-align:center; padding:var(--space-6) var(--space-4);
  background:var(--surface); border:1px solid var(--border);
  border-radius:var(--radius-lg);
}
.rek-stat-num {
  font-size:2rem; font-weight:900; color:var(--accent);
  letter-spacing:0; line-height:1.2;
}
.rek-stat-label {
  font-size:var(--text-sm); color:var(--text-muted); margin-top:var(--space-1);
}

/* Audience section */
.rek-audience {
  display:grid; grid-template-columns:repeat(auto-fill, minmax(200px, 1fr));
  gap:var(--space-4); margin-bottom:var(--space-10);
}
.rek-audience-card {
  padding:var(--space-5); background:var(--surface);
  border:1px solid var(--border); border-radius:var(--radius-lg);
  text-align:center;
}
.rek-audience-icon { font-size:1.5rem; margin-bottom:var(--space-2); }
.rek-audience-value { font-size:var(--text-lg); font-weight:800; color:var(--text); }
.rek-audience-label { font-size:var(--text-xs); color:var(--text-muted); margin-top:var(--space-1); }
.rek-audience-bar { height:6px; border-radius:3px; background:var(--surface-3); margin-top:var(--space-3); overflow:hidden; }
.rek-audience-bar-fill { height:100%; border-radius:3px; background:var(--accent); }
.rek-fill-13 { width:13%; }
.rek-fill-22 { width:22%; }
.rek-fill-40 { width:40%; }
.rek-fill-45 { width:45%; }
.rek-fill-52 { width:52%; }
.rek-fill-54 { width:54%; }
.rek-fill-55 { width:55%; }
.rek-fill-60 { width:60%; }
.rek-fill-65 { width:65%; }
.rek-fill-68 { width:68%; }

/* Section headings */
.rek-section { margin-bottom:var(--space-10); }
.rek-section-title {
  font-size:var(--text-xl); font-weight:800; letter-spacing:0;
  margin-bottom:var(--space-6); padding-bottom:var(--space-3);
  border-bottom:2px solid var(--accent);
  display:inline-block;
}

/* Inventory grid */
.rek-inventory {
  display:grid; grid-template-columns:repeat(auto-fill, minmax(320px, 1fr));
  gap:var(--space-4);
}
@media (max-width:639px) { .rek-inventory { grid-template-columns:1fr; } }
.rek-slot {
  background:var(--surface); border:1px solid var(--border);
  border-radius:var(--radius-lg); overflow:hidden;
  transition:border-color var(--transition), box-shadow var(--transition);
}
.rek-slot:hover { border-color:var(--accent); box-shadow:0 4px 20px rgba(216,50,54,.08); }
.rek-slot-preview {
  height:80px; display:flex; align-items:center; justify-content:center;
  font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:0;
  position:relative;
}
.rek-slot-preview.pos-top { background:linear-gradient(135deg, #1a1a2e, #2d2d44); color:rgba(255,255,255,.5); }
.rek-slot-preview.pos-header { background:linear-gradient(135deg, #f0f0f0, #e8e8e8); color:#999; }
.rek-slot-preview.pos-content { background:linear-gradient(135deg, #fafafa, #f0f0f0); color:#aaa; }
.rek-slot-preview.pos-sidebar { background:linear-gradient(135deg, #f5f0f0, #f0e8e8); color:#c99; }
.rek-slot-preview.pos-footer { background:linear-gradient(135deg, #2a2a2a, #333); color:rgba(255,255,255,.4); }
.rek-slot-preview.pos-video { background:linear-gradient(135deg, #1e293b, #334155); color:rgba(255,255,255,.5); }
.rek-slot-preview.pos-special { background:linear-gradient(135deg, #7f1d1d, #991b1b); color:rgba(255,255,255,.6); }
.rek-slot-preview.pos-native { background:linear-gradient(135deg, #f5f5f4, #e7e5e4); color:#a8a29e; }
.rek-slot-body { padding:var(--space-4); }
.rek-slot-name { font-weight:700; font-size:var(--text-sm); margin-bottom:var(--space-1); }
.rek-slot-page {
  font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:0;
  color:var(--accent); margin-bottom:var(--space-2);
}
.rek-slot-desc { font-size:var(--text-xs); color:var(--text-muted); line-height:1.5; }
.rek-slot-sizes {
  display:flex; gap:var(--space-2); margin-top:var(--space-2); flex-wrap:wrap;
}
.rek-slot-size {
  font-size:10px; font-weight:600; padding:2px 8px;
  background:var(--surface-2); border-radius:var(--radius-sm);
  color:var(--text-secondary);
}
.rek-slot-new {
  font-size:9px; font-weight:700; padding:2px 6px; border-radius:var(--radius-sm);
  background:#d83236; color:#fff; text-transform:uppercase; letter-spacing:0;
  margin-left:var(--space-2);
}

/* Pricing */
.rek-price-table {
  width:100%; border-collapse:collapse; margin-bottom:var(--space-6);
}
.rek-price-table th {
  text-align:left; padding:var(--space-3) var(--space-4);
  font-size:var(--text-xs); font-weight:700; text-transform:uppercase;
  letter-spacing:0; color:var(--text-muted);
  background:var(--surface); border-bottom:2px solid var(--border);
}
.rek-price-table td {
  padding:var(--space-3) var(--space-4); border-bottom:1px solid var(--border);
  font-size:var(--text-sm); vertical-align:top;
}
.rek-price-table .price-group td {
  font-weight:700; font-size:var(--text-xs); text-transform:uppercase;
  letter-spacing:0; color:var(--accent); padding-top:var(--space-5);
  background:var(--surface); border-bottom:1px solid var(--accent);
}
.rek-price-value { font-weight:700; white-space:nowrap; color:var(--text); }
@media (max-width:767px) {
  .rek-price-table thead { display:none; }
  .rek-price-table tr { display:block; margin-bottom:var(--space-4); border:1px solid var(--border); border-radius:var(--radius-md); }
  .rek-price-table td { display:block; padding:var(--space-2) var(--space-3); border-bottom:none; }
  .rek-price-table td::before { content:attr(data-label) ': '; font-weight:700; color:var(--text-muted); }
  .rek-price-table .price-group td { border-radius:var(--radius-md) var(--radius-md) 0 0; }
  .rek-price-table .price-group td::before { display:none; }
}

/* Benefits */
.rek-benefits {
  display:grid; grid-template-columns:repeat(auto-fill, minmax(250px, 1fr));
  gap:var(--space-4); margin-bottom:var(--space-10);
}
.rek-benefit {
  padding:var(--space-5); background:var(--surface);
  border:1px solid var(--border); border-radius:var(--radius-lg);
}
.rek-benefit-icon { font-size:1.5rem; margin-bottom:var(--space-3); }
.rek-benefit-title { font-weight:700; font-size:var(--text-sm); margin-bottom:var(--space-2); }
.rek-benefit-desc { font-size:var(--text-xs); color:var(--text-muted); line-height:1.5; }

/* Social */
.rek-social-grid {
  display:grid; grid-template-columns:repeat(auto-fill, minmax(200px, 1fr));
  gap:var(--space-4); margin-bottom:var(--space-6);
}
.rek-social-card {
  padding:var(--space-5); background:var(--surface);
  border:1px solid var(--border); border-radius:var(--radius-lg);
  display:flex; align-items:center; gap:var(--space-4);
}
.rek-social-icon { font-size:2rem; flex-shrink:0; }
.rek-social-name { font-weight:700; font-size:var(--text-sm); }
.rek-social-count { font-size:var(--text-xs); color:var(--text-muted); }

/* Contact CTA */
.rek-cta {
  background:var(--surface); border:2px solid var(--accent);
  border-radius:var(--radius-lg); padding:var(--space-8);
  text-align:center; margin-top:var(--space-6);
}
.rek-cta-title { font-size:var(--text-lg); font-weight:800; margin-bottom:var(--space-3); }
.rek-cta-desc { font-size:var(--text-sm); color:var(--text-muted); margin-bottom:var(--space-5); max-width:500px; margin-left:auto; margin-right:auto; }
.rek-cta-contacts {
  display:flex; flex-wrap:wrap; gap:var(--space-3); justify-content:center;
  margin-bottom:var(--space-5);
}
.rek-cta-contact {
  display:inline-flex; align-items:center; gap:var(--space-2);
  font-size:var(--text-sm); font-weight:600; color:var(--text);
  text-decoration:none; padding:var(--space-2) var(--space-4);
  border:1px solid var(--border); border-radius:var(--radius-md);
  transition:all var(--transition);
}
.rek-cta-contact:hover { border-color:var(--accent); color:var(--accent); }
.rek-cta-btn {
  display:inline-flex; align-items:center; gap:var(--space-2);
  background:var(--accent); color:#fff; font-weight:700; font-size:var(--text-sm);
  padding:var(--space-3) var(--space-6); border-radius:var(--radius-md);
  text-decoration:none; transition:opacity var(--transition);
}
.rek-cta-btn:hover { opacity:.85; }

.rek-page-shell {
  max-width: var(--content-wide);
  margin: 0 auto;
  padding: 0 var(--space-4);
}

.rek-section-note {
  max-width: 600px;
  margin-bottom: var(--space-6);
  color: var(--text-muted);
  font-size: var(--text-sm);
}

.rek-legal-note {
  color: var(--text-muted);
  font-size: var(--text-xs);
  line-height: 1.6;
}

.en-landing-shell {
  max-width: 800px;
  margin: var(--space-12) auto;
  padding: 0 var(--space-4);
  text-align: center;
}

.en-landing-title {
  margin: 0 0 var(--space-4);
  color: var(--text);
  font-size: 2.5rem;
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1.05;
}

.en-landing-lead {
  margin: 0 0 var(--space-6);
  color: var(--text-secondary);
  font-size: var(--text-lg);
  line-height: 1.6;
}

.en-landing-actions,
.en-landing-feed-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-3);
}

.en-landing-card {
  margin-top: var(--space-12);
  text-align: left;
}

.en-landing-card h2 {
  margin: 0 0 var(--space-4);
  font-size: var(--text-lg);
}

.en-landing-card p {
  margin: 0;
  color: var(--text-secondary);
  line-height: 1.7;
}

.en-landing-card p + p {
  margin-top: var(--space-3);
}

.en-landing-feeds {
  margin-top: var(--space-10);
}

.en-landing-feeds h3 {
  margin: 0 0 var(--space-4);
  color: var(--text-muted);
  font-size: var(--text-base);
}

.en-landing-feed-links a {
  color: var(--accent);
  font-weight: 650;
  text-decoration: none;
}

.en-landing-feed-links a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.search-page-title {
  margin: 0 0 var(--space-6);
  font-size: var(--text-xl);
  font-weight: 800;
  letter-spacing: 0;
}

.search-empty-state,
.public-empty-state {
  min-height: 40vh;
  padding: var(--space-12) 0;
}

.search-popular-tags {
  margin-top: var(--space-4);
}

.author-page {
  max-width: 900px;
  margin: 0 auto;
  padding: 24px 16px;
}

.author-breadcrumbs {
  margin-bottom: 16px;
}

.author-header {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 28px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--border);
}

.author-avatar {
  flex-shrink: 0;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
}

.author-avatar--initials {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--accent-bg);
  color: var(--accent);
  font-size: 28px;
  font-weight: 700;
}

.author-title {
  margin: 0 0 4px;
  font-size: var(--text-xl);
  font-weight: 800;
  letter-spacing: 0;
}

.author-persona-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0 0 6px;
  padding: 4px 10px;
  border-radius: 12px;
  background: var(--accent-bg);
  color: var(--accent);
  font-size: var(--text-xs);
  font-weight: 600;
  text-decoration: none;
}

.author-bio {
  margin: 0 0 6px;
  color: var(--text-secondary);
  font-size: var(--text-sm);
  line-height: 1.5;
}

.author-count,
.author-article-date,
.author-pagination-count {
  color: var(--text-muted);
  font-size: var(--text-xs);
}

.author-section-label {
  margin-bottom: 12px;
  color: var(--text-muted);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
}

.author-article-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.author-article-thumb {
  flex-shrink: 0;
  width: 90px;
  height: 62px;
  overflow: hidden;
  border-radius: 4px;
  background: var(--surface-3);
}

.author-article-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.author-article-body {
  display: flex;
  flex: 1;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
}

.author-article-title {
  display: -webkit-box;
  overflow: hidden;
  color: var(--text);
  font-size: var(--text-sm);
  font-weight: 600;
  line-height: 1.35;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.author-pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 24px;
}

.author-pagination-count {
  font-size: var(--text-sm);
}

.author-empty {
  padding: 32px 0;
  color: var(--text-muted);
  text-align: center;
}

.authors-page {
  max-width: 900px;
  margin: 0 auto;
  padding: 1.5rem 1rem;
}

.authors-page h1 {
  margin: 0 0 0.25rem;
  font-size: 2rem;
  letter-spacing: 0;
}

.authors-page .subtitle {
  margin: 0 0 1.75rem;
  color: var(--text-muted, #666);
  font-size: 0.95rem;
}

.authors-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1rem;
}

.author-card {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  text-decoration: none;
}

.author-card-avatar {
  display: flex;
  flex: 0 0 48px;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  overflow: hidden;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--accent) 0%, var(--accent-hover) 100%);
  color: #fff;
  font-size: 1.1rem;
  font-weight: 600;
}

.author-card-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.author-card-info {
  flex: 1;
  min-width: 0;
}

.author-card-name {
  margin: 0 0 0.2rem;
  color: var(--text, #1a1a1a);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.3;
}

.author-card-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  color: var(--text-muted, #777);
  font-size: 0.82rem;
}

.author-card-meta .persona-tag {
  color: var(--accent, #007A8C);
  font-weight: 500;
}

.author-card-bio {
  display: -webkit-box;
  overflow: hidden;
  margin: 0.35rem 0 0;
  color: var(--text-muted, #666);
  font-size: 0.85rem;
  line-height: 1.4;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

@media (max-width: 520px) {
  .author-header {
    align-items: flex-start;
  }

  .author-avatar {
    width: 56px;
    height: 56px;
  }

  .author-avatar--initials {
    font-size: 22px;
  }

  .authors-page h1 {
    font-size: 1.5rem;
  }

  .authors-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .rek-hero-title,
  .en-landing-title {
    font-size: 2rem;
  }

  .rek-stat-num {
    font-size: 1.5rem;
  }
}

/* Hub map page styles moved from template. */
/* Hub map page. */
.hub-page {
  max-width: 1100px;
  margin: 0 auto;
  padding: var(--space-6) var(--space-4) var(--space-10);
}

.hub-hero {
  text-align: center;
  padding: var(--space-8) 0 var(--space-6);
}
.hub-hero h1 {
  font-family: var(--font-display);
  font-size: 2.5rem;
  font-weight: 800;
  color: var(--text);
  letter-spacing: 0;
  margin: 0 0 var(--space-2);
}
.hub-hero-sub {
  font-size: var(--text-base);
  color: var(--text-secondary);
  margin: 0;
}

/* ── SVG Map ──────────────────────────────── */
.hub-map-wrap {
  position: relative;
  width: 100%;
  max-width: 960px;
  margin: var(--space-6) auto var(--space-8);
}
.hub-map-svg {
  width: 100%;
  height: auto;
  display: block;
}

/* Country fills */
.ca-neighbor {
  fill: var(--surface-2, #eee);
  stroke: var(--border, #d4d1ca);
  stroke-width: 0.5;
  transition: fill 0.2s;
}
.ca-country {
  stroke: #fff;
  stroke-width: 1.5;
  cursor: pointer;
  transition: fill 0.25s, filter 0.25s;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,.06));
}
.ca-country:hover {
  filter: drop-shadow(0 2px 8px rgba(0,0,0,.15)) brightness(1.08);
}
.ca-country:active {
  filter: brightness(0.95);
}

/* Country accent colors */
.ca-country--kz { fill: #007A8C; }
.ca-country--kz:hover { fill: #005F6D; }
.ca-country--uz { fill: #1460AA; }
.ca-country--uz:hover { fill: #0E4A84; }
.ca-country--kg { fill: #C52E2E; }
.ca-country--kg:hover { fill: #9A2323; }
.ca-country--tj { fill: #1A7A3A; }
.ca-country--tj:hover { fill: #135C2C; }
.ca-country--tm { fill: #78909C; }
.ca-country--tm:hover { fill: #90a4ae; }
.ca-country--az { fill: #00856B; }
.ca-country--az:hover { fill: #006854; }
.ca-country--mn { fill: #7B2D8E; stroke: #fff; stroke-width: 2; }
.ca-country--mn:hover { fill: #5E2270; }

/* Capital dots */
.ca-capital {
  fill: #fff;
  stroke: rgba(0,0,0,.4);
  stroke-width: 1;
  pointer-events: none;
}

/* Country labels on map */
.ca-label {
  font-family: var(--font-body, sans-serif);
  font-size: 13px;
  font-weight: 700;
  fill: #fff;
  text-anchor: middle;
  pointer-events: none;
  text-shadow: 0 1px 3px rgba(0,0,0,.4);
}
.ca-label-sub {
  font-family: var(--font-body, sans-serif);
  font-size: 9.5px;
  font-weight: 500;
  fill: rgba(255,255,255,.85);
  text-anchor: middle;
  pointer-events: none;
}
.ca-label--kz { font-size: 16px; }
.ca-label-sub--kz { font-size: 11px; }
.ca-label--uz { font-size: 12px; }
.ca-label--kg,
.ca-label--tm { font-size: 11px; }
.ca-label--tj,
.ca-label--mn { font-size: 10px; }
.ca-label--az { font-size: 8px; }
.ca-label--tm { opacity: .6; }
.ca-label-sub--compact { font-size: 8px; }
.ca-label-sub--tiny { font-size: 7px; }
.ca-capital-label {
  font-family: var(--font-body, sans-serif);
  font-size: 9px;
  font-weight: 500;
  fill: #fff;
  text-anchor: start;
  pointer-events: none;
  opacity: 0.9;
}

.hub-page--koz-no-qz .ca-country--kz {
  fill: var(--surface-2, #e9edf0);
  stroke: var(--border, #d8dee3);
  cursor: default;
  opacity: .7;
  pointer-events: none;
}
.hub-page--koz-no-qz .ca-kz-label {
  display: none;
}

.hub-country-link--disabled {
  cursor: default;
}

/* ── Tooltip ──────────────────────────────── */
.hub-tooltip {
  position: absolute;
  pointer-events: none;
  background: var(--surface-1, #fff);
  border: 1px solid var(--border, #d4d1ca);
  border-radius: var(--radius-md, 8px);
  padding: 14px 18px;
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 0.2s, transform 0.2s;
  z-index: 100;
  min-width: 200px;
  white-space: nowrap;
}
.hub-tooltip.visible {
  opacity: 1;
  transform: translateY(0);
}
.hub-tooltip-name {
  font-weight: 700;
  font-size: var(--text-base, 16px);
  color: var(--text);
  margin-bottom: 4px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.hub-tooltip-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}
.hub-tooltip-domain {
  font-size: var(--text-sm, 14px);
  color: var(--text-muted);
  margin-bottom: 8px;
}
.hub-tooltip-stats {
  font-size: var(--text-sm, 14px);
  color: var(--text-secondary);
  line-height: 1.5;
}
.hub-tooltip-status {
  display: inline-block;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 2px 8px;
  border-radius: 4px;
  margin-top: 6px;
}
.hub-tooltip-status--active { background: #e8f5e9; color: #2e7d32; }
.hub-tooltip-status--beta { background: #fff3e0; color: #e65100; }
.hub-tooltip-status--soon { background: #e3f2fd; color: #1565c0; }
.hub-tooltip-status--planned { background: #f3e5f5; color: #6a1b9a; }

/* ── Country cards grid (below map) ───────── */
.hub-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--space-4);
  max-width: 960px;
  margin: 0 auto var(--space-8);
}
.hub-card-mini {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-4);
  background: var(--surface-1, #fff);
  border: 1px solid var(--border, #d4d1ca);
  border-radius: var(--radius-md, 8px);
  text-decoration: none;
  color: var(--text);
  transition: border-color 0.2s, box-shadow 0.2s;
}
.hub-card-mini:hover {
  border-color: var(--accent);
  box-shadow: 0 2px 12px rgba(0,0,0,.06);
}
.hub-card-color {
  width: 40px;
  height: 40px;
  border-radius: var(--radius-sm, 6px);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 800;
  color: #fff;
  flex-shrink: 0;
  letter-spacing: 0;
}
.hub-card-color--qz { background: #007A8C; }
.hub-card-color--kz { background: #d83236; }
.hub-card-color--kg { background: #2E7D32; }
.hub-card-color--uz { background: #1565C0; }
.hub-card-color--tj { background: #6A1B9A; }
.hub-card-color--az { background: #00629B; }
.hub-card-color--mn { background: #C4272E; }
.hub-card-info {
  min-width: 0;
}
.hub-card-name {
  font-weight: 700;
  font-size: var(--text-base, 16px);
  line-height: 1.3;
}
.hub-card-meta {
  font-size: var(--text-xs, 12px);
  color: var(--text-muted);
  margin-top: 2px;
}
.hub-card-badge {
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 1px 6px;
  border-radius: 3px;
  margin-left: auto;
  flex-shrink: 0;
}
.hub-card-badge--active { background: #e8f5e9; color: #2e7d32; }
.hub-card-badge--beta { background: #fff3e0; color: #e65100; }
.hub-card-badge--soon { background: #e3f2fd; color: #1565c0; }
.hub-card-badge--planned { background: #f3e5f5; color: #6a1b9a; }

/* ── Stats bar ────────────────────────────── */
.hub-stats {
  display: flex;
  justify-content: center;
  gap: var(--space-8);
  padding: var(--space-6) 0;
  border-top: 1px solid var(--border-light, #eee);
  margin-top: var(--space-4);
  flex-wrap: wrap;
}
.hub-stat {
  text-align: center;
}
.hub-stat-value {
  font-family: var(--font-display);
  font-size: 2rem;
  font-weight: 800;
  color: var(--text);
  letter-spacing: 0;
  font-variant-numeric: tabular-nums;
}
.hub-stat-label {
  font-size: var(--text-xs, 12px);
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-top: 2px;
}

/* ── Footer ───────────────────────────────── */
.hub-foot {
  text-align: center;
  padding: var(--space-6) 0 0;
  font-size: var(--text-sm, 14px);
  color: var(--text-muted);
}

.ca-news-section--spaced {
  margin-top: 48px;
}

/* ── Dark mode overrides ──────────────────── */
[data-theme="dark"] .ca-neighbor { fill: var(--surface-2, #1e1e1e); stroke: var(--border, #393836); }
[data-theme="dark"] .ca-country { stroke: var(--bg, #171614); }
[data-theme="dark"] .ca-capital { stroke: rgba(255,255,255,.3); }
[data-theme="dark"] .hub-tooltip { background: var(--surface-1, #1c1b19); border-color: var(--border, #393836); box-shadow: 0 8px 24px rgba(0,0,0,.4); }
[data-theme="dark"] .hub-tooltip-status--active { background: rgba(46,125,50,.15); color: #66bb6a; }
[data-theme="dark"] .hub-tooltip-status--beta { background: rgba(230,81,0,.12); color: #ff9e40; }
[data-theme="dark"] .hub-tooltip-status--soon { background: rgba(21,101,192,.12); color: #42a5f5; }
[data-theme="dark"] .hub-tooltip-status--planned { background: rgba(106,27,154,.12); color: #ab47bc; }
[data-theme="dark"] .hub-card-mini { background: var(--surface-1, #1c1b19); border-color: var(--border, #393836); }
[data-theme="dark"] .hub-card-badge--active { background: rgba(46,125,50,.15); color: #66bb6a; }
[data-theme="dark"] .hub-card-badge--beta { background: rgba(230,81,0,.12); color: #ff9e40; }
[data-theme="dark"] .hub-card-badge--soon { background: rgba(21,101,192,.12); color: #42a5f5; }
[data-theme="dark"] .hub-card-badge--planned { background: rgba(106,27,154,.12); color: #ab47bc; }

/* ── Mobile ───────────────────────────────── */
@media (max-width: 640px) {
  .hub-hero { padding: var(--space-6) 0 var(--space-4); }
  .hub-hero h1 { font-size: 2rem; }
  .hub-cards { grid-template-columns: 1fr; }
  .hub-stats { gap: var(--space-6); }
  .hub-stat-value { font-size: 1.5rem; }
  .ca-label { font-size: 10px; }
  .ca-label-sub { font-size: 8px; }
  .ca-capital-label { font-size: 7px; }
}

/* Article template AV DS overlay cleanup. */
.article-screen-hidden,
.article-state-hidden {
  display: none;
}

.article-preview-banner {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  background: #d83236;
  color: #fff;
  text-align: center;
  padding: 10px 16px;
  font-weight: 700;
  font-size: 15px;
  letter-spacing: 0;
  box-shadow: 0 2px 8px rgba(0,0,0,.2);
}

.article-preview-link {
  color: #fff;
  margin-left: 16px;
  text-decoration: underline;
  font-weight: 400;
  font-size: 13px;
}

.article-preview-spacer {
  height: 44px;
}

.article-reading-time {
  font-size: var(--text-xs);
  color: var(--text-muted);
}

.ai-tldr__badge--push {
  margin-left: auto;
}

.timeline-all-link {
  margin-left: auto;
  color: var(--brand, #007A8C);
  text-decoration: none;
  font-size: var(--text-sm);
  font-weight: 500;
  white-space: nowrap;
}

.article-timeline .timeline-summary {
  font-size: var(--text-sm);
  font-style: normal;
  color: var(--text-secondary);
  border-left: 0;
  margin: 0 0 var(--space-4);
  padding: 0 var(--space-2);
}

.timeline-more {
  text-align: center;
  padding: var(--space-3) 0;
}

.timeline-more-link {
  font-size: var(--text-sm);
}

.similar-section--pending {
  display: block;
  min-height: 1px;
  height: 1px;
  visibility: hidden;
  overflow: hidden;
  margin: 0;
  padding: 0;
  pointer-events: none;
}

.similar-heading-icon {
  display: inline-block;
  vertical-align: -3px;
  margin-right: 6px;
}

/* Total Data dashboard and engine pages.
   Page-local styles live here so public templates stay CSP-light and AV DS-aligned. */

/* Moved from data_dashboard.html. */
/* ── Total Data Dashboard ──────────────────── */
.td-page { max-width: var(--content-wide); margin: 0 auto; padding: var(--space-6) var(--space-4); }

.td-hero {
  text-align: center; padding: var(--space-12) var(--space-4) var(--space-8);
  border-bottom: 1px solid var(--border-light);
  margin-bottom: var(--space-8);
}
.td-hero-label {
  display: inline-flex; align-items: center; gap: var(--space-2);
  font-size: var(--text-xs); font-weight: 600; text-transform: uppercase;
  letter-spacing: 0; color: var(--accent); margin-bottom: var(--space-3);
}
.td-hero-label svg { width: 14px; height: 14px; }
.td-hero h1 {
  font-family: var(--font-display); font-size: var(--text-3xl);
  font-weight: 800; line-height: 1.15; color: var(--text);
  margin-bottom: var(--space-3);
}
.td-hero-sub {
  font-size: var(--text-base); color: var(--text-secondary);
  max-width: 600px; margin: 0 auto; line-height: 1.55;
}

/* ── AV DS Engine strip ────────────────────── */
.td-engine-strip {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: var(--space-3);
  background: var(--surface); border: 1px solid var(--border-light);
  border-radius: var(--radius-lg); padding: var(--space-4);
  position: relative; overflow: hidden;
}
.td-engine-strip::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, #16a34a, #20808D);
}
.td-engine-cell {
  text-align: center; padding: var(--space-2);
  border-right: 1px solid var(--border-light);
}
.td-engine-cell:last-child { border-right: none; }
.td-engine-cell__value {
  font-family: var(--font-display); font-size: var(--text-xl);
  font-weight: 800; font-variant-numeric: tabular-nums;
  color: var(--text); line-height: 1.1;
  letter-spacing: 0;
}
.td-engine-cell__label {
  font-size: var(--text-xs); font-weight: 500;
  color: var(--text-muted); margin-top: var(--space-1);
  letter-spacing: 0;
}
@media (max-width: 768px) {
  .td-engine-cell { border-right: none; border-bottom: 1px solid var(--border-light); padding: var(--space-2) 0; }
  .td-engine-cell:last-child { border-bottom: none; }
}

/* ── KPI strip ─────────────────────────────── */
.td-kpi-strip {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: var(--space-4); margin-bottom: var(--space-10);
}
.td-kpi {
  background: var(--surface); border: 1px solid var(--border-light);
  border-radius: var(--radius-lg); padding: var(--space-5) var(--space-4);
  text-align: center; transition: box-shadow var(--transition);
}
.td-kpi:hover { box-shadow: var(--shadow-sm); }
.td-kpi-value {
  font-family: var(--font-display); font-size: var(--text-2xl);
  font-weight: 700; color: var(--text); font-variant-numeric: tabular-nums;
  line-height: 1.2;
}
.td-kpi-label {
  font-size: var(--text-xs); color: var(--text-muted);
  margin-top: var(--space-1); letter-spacing: 0;
}

/* ── Section ───────────────────────────────── */
.td-section {
  margin-bottom: var(--space-12);
}
.td-section-head {
  display: flex; align-items: baseline; justify-content: space-between;
  margin-bottom: var(--space-5); gap: var(--space-4);
  flex-wrap: wrap;
}
.td-section-head h2 {
  font-family: var(--font-display); font-size: var(--text-xl);
  font-weight: 700; color: var(--text); line-height: 1.2;
}
.td-section-head a {
  font-size: var(--text-sm); color: var(--accent); font-weight: 500;
  white-space: nowrap;
}
.td-section-head a:hover { text-decoration: underline; }

/* ── Chart containers ──────────────────────── */
.td-chart-wrap {
  background: var(--surface); border: 1px solid var(--border-light);
  border-radius: var(--radius-lg); padding: var(--space-5);
  position: relative; overflow: hidden;
}
.td-chart-wrap canvas {
  width: 100% !important; max-height: 340px;
}

/* ── Persons table ─────────────────────────── */
.td-persons-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: var(--space-3);
}
.td-person-card {
  display: flex; align-items: center; gap: var(--space-3);
  background: var(--surface); border: 1px solid var(--border-light);
  border-radius: var(--radius-md); padding: var(--space-3) var(--space-4);
  transition: box-shadow var(--transition), border-color var(--transition);
  text-decoration: none; color: inherit;
}
.td-person-card:hover {
  box-shadow: var(--shadow-sm); border-color: var(--border);
}
.td-person-rank {
  font-family: var(--font-mono); font-size: var(--text-xs);
  color: var(--text-faint); min-width: 24px; text-align: right;
  font-variant-numeric: tabular-nums;
}
.td-person-name {
  font-size: var(--text-sm); font-weight: 600; color: var(--text);
  flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.td-person-mentions {
  font-family: var(--font-mono); font-size: var(--text-xs);
  color: var(--text-muted); font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* ── Geo bars ──────────────────────────────── */
.td-geo-list { display: flex; flex-direction: column; gap: var(--space-2); }
.td-geo-row {
  display: grid; grid-template-columns: 140px 1fr 60px;
  align-items: center; gap: var(--space-3);
  font-size: var(--text-sm);
}
.td-geo-label { color: var(--text); font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.td-geo-bar-wrap {
  background: var(--surface-1); border-radius: var(--radius-sm);
  height: 20px; overflow: hidden;
}
.td-geo-bar {
  height: 100%; border-radius: var(--radius-sm);
  background: var(--accent); opacity: 0.7;
  transition: width 600ms cubic-bezier(0.16, 1, 0.3, 1);
}
.td-geo-count {
  font-family: var(--font-mono); font-size: var(--text-xs);
  color: var(--text-muted); text-align: right;
  font-variant-numeric: tabular-nums;
}

/* ── Topics chips ──────────────────────────── */
.td-topics-cloud {
  display: flex; flex-wrap: wrap; gap: var(--space-2);
}
.td-topic-chip {
  display: inline-flex; align-items: center; gap: var(--space-2);
  background: var(--surface-1); border: 1px solid var(--border-light);
  border-radius: var(--radius-xl); padding: var(--space-2) var(--space-4);
  font-size: var(--text-sm); color: var(--text); transition: all var(--transition);
}
.td-topic-chip:hover { border-color: var(--accent); color: var(--accent); }
.td-topic-count {
  font-family: var(--font-mono); font-size: var(--text-xs);
  color: var(--text-muted); font-variant-numeric: tabular-nums;
}

/* ── Two-col grid ──────────────────────────── */
.td-grid-2 {
  display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-6);
}
@media (max-width: 768px) {
  .td-grid-2 { grid-template-columns: 1fr; }
  .td-geo-row { grid-template-columns: 110px 1fr 50px; }
}

/* ── Section nav ───────────────────────────── */
.td-nav-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: var(--space-3); margin-bottom: var(--space-10);
}
.td-nav-card {
  display: flex; align-items: center; gap: var(--space-3);
  background: var(--surface); border: 1px solid var(--border-light);
  border-radius: var(--radius-lg); padding: var(--space-4);
  text-decoration: none; color: inherit;
  transition: box-shadow var(--transition), border-color var(--transition);
}
.td-nav-card:hover {
  box-shadow: var(--shadow-sm); border-color: var(--accent);
}
.td-nav-icon {
  width: 40px; height: 40px; border-radius: var(--radius-md);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.td-nav-icon svg { width: 20px; height: 20px; }
.td-nav-card-title { font-size: var(--text-sm); font-weight: 600; color: var(--text); }
.td-nav-card-sub { font-size: var(--text-xs); color: var(--text-muted); margin-top: 2px; }

/* ── Currency ticker ──────────────────────────── */
.td-rates-strip {
  display: flex; gap: var(--space-4); overflow-x: auto;
  padding: var(--space-3) 0; margin-bottom: var(--space-8);
  scrollbar-width: none;
}
.td-rates-strip::-webkit-scrollbar { display: none; }
.td-rate-chip {
  display: flex; align-items: center; gap: var(--space-2);
  background: var(--surface); border: 1px solid var(--border-light);
  border-radius: var(--radius-md); padding: var(--space-2) var(--space-3);
  white-space: nowrap; flex-shrink: 0;
}
.td-rate-code {
  font-family: var(--font-mono); font-size: var(--text-xs);
  font-weight: 600; color: var(--accent);
}
.td-rate-val {
  font-family: var(--font-mono); font-size: var(--text-sm);
  font-weight: 600; color: var(--text); font-variant-numeric: tabular-nums;
}
.td-rate-name {
  font-size: var(--text-xs); color: var(--text-muted);
}


/* ── QA quality gauge ──────────────────── */
.td-qa-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: var(--space-3);
}
.td-qa-card {
  background: var(--surface); border: 1px solid var(--border-light);
  border-radius: var(--radius-md); padding: var(--space-4); text-align: center;
}
.td-qa-site { font-size: var(--text-xs); font-weight: 600; text-transform: uppercase; letter-spacing: 0; color: var(--text-muted); margin-bottom: var(--space-2); }
.td-qa-score { font-size: 2rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.td-qa-breakdown { display: flex; gap: var(--space-2); justify-content: center; margin-top: var(--space-2); flex-wrap: wrap; }
.td-qa-pill { font-size: var(--text-xs); background: var(--surface-1); border-radius: var(--radius-sm); padding: 2px 8px; font-variant-numeric: tabular-nums; }

/* ── Sources mini-table ────────────────── */
.td-sources-list { display: flex; flex-direction: column; gap: 2px; }
.td-source-row {
  display: grid; grid-template-columns: 1fr 60px;
  align-items: center; padding: var(--space-2) var(--space-3);
  font-size: var(--text-sm); border-radius: var(--radius-sm);
  transition: background var(--transition);
}
.td-source-row:hover { background: var(--surface-1); }
.td-source-name { color: var(--text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.td-source-count { font-family: var(--font-mono); font-size: var(--text-xs); color: var(--text-muted); text-align: right; font-variant-numeric: tabular-nums; }

/* ── Methodology note ──────────────────────── */
.td-methodology {
  margin-top: var(--space-10);
  padding: var(--space-5);
  background: var(--surface-1); border-radius: var(--radius-lg);
  font-size: var(--text-sm); color: var(--text-secondary); line-height: 1.6;
}
.td-methodology strong { color: var(--text); }
.td-methodology p + p { margin-top: var(--space-2); }

/* Moved from data_engine.html. */
.td-engine { max-width: var(--content-wide); margin: 0 auto; padding: var(--space-6) var(--space-4); }

.td-engine-hero {
  padding: var(--space-8) 0 var(--space-6);
  margin-bottom: var(--space-8);
  border-bottom: 1px solid var(--border-light);
}
.td-engine-hero__label {
  display: inline-flex; align-items: center; gap: var(--space-2);
  font-size: var(--text-xs); font-weight: 700; letter-spacing: 0;
  text-transform: uppercase; color: var(--accent-color, var(--accent));
  margin-bottom: var(--space-3);
}
.td-engine-hero__label::before {
  content: ''; width: 8px; height: 8px; border-radius: 50%;
  background: #16a34a; box-shadow: 0 0 0 3px rgba(22,163,74,.2);
  animation: td-pulse 2s infinite;
}
@keyframes td-pulse { 0%,100% { box-shadow: 0 0 0 3px rgba(22,163,74,.2); } 50% { box-shadow: 0 0 0 6px rgba(22,163,74,.05); } }
.td-engine-hero h1 {
  font-family: var(--font-display); font-size: var(--text-3xl);
  font-weight: 800; color: var(--text); line-height: 1.1;
  margin: 0 0 var(--space-3);
  letter-spacing: 0;
}
.td-engine-hero p {
  font-size: var(--text-base); color: var(--text-secondary);
  max-width: 720px; line-height: 1.6;
}

.td-engine-section {
  margin-bottom: var(--space-10);
}
.td-engine-section__head {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: var(--space-3); margin-bottom: var(--space-4);
  padding-bottom: var(--space-3);
  border-bottom: 1px solid var(--border-light);
}
.td-engine-section__title {
  font-family: var(--font-display); font-size: var(--text-xl);
  font-weight: 700; color: var(--text); letter-spacing: 0;
}
.td-engine-section__sub {
  font-size: var(--text-sm); color: var(--text-muted);
}

.td-metrics {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: var(--space-3);
}
.td-metric {
  background: var(--surface); border: 1px solid var(--border-light);
  border-radius: var(--radius-md); padding: var(--space-4) var(--space-4);
}
.td-metric__label {
  font-size: var(--text-xs); font-weight: 600; letter-spacing: 0;
  text-transform: uppercase; color: var(--text-muted);
  margin-bottom: var(--space-2);
}
.td-metric__value {
  font-family: var(--font-display); font-size: var(--text-2xl);
  font-weight: 800; font-variant-numeric: tabular-nums;
  color: var(--text); line-height: 1.1;
  letter-spacing: 0;
}
.td-metric__unit {
  font-family: var(--font-mono); font-size: var(--text-xs);
  font-weight: 500; color: var(--text-muted);
  margin-left: var(--space-1);
}
.td-metric__sub {
  font-size: var(--text-xs); color: var(--text-muted);
  margin-top: var(--space-2); font-variant-numeric: tabular-nums;
}

.td-artifact-list {
  background: var(--surface); border: 1px solid var(--border-light);
  border-radius: var(--radius-md); overflow: hidden;
}
.td-artifact-row {
  display: grid; grid-template-columns: 1fr auto 120px;
  gap: var(--space-3); align-items: center;
  padding: var(--space-3) var(--space-4);
  border-bottom: 1px solid var(--border-light);
}
.td-artifact-row:last-child { border-bottom: none; }
.td-artifact-name {
  font-weight: 500; color: var(--text); font-size: var(--text-sm);
  font-family: var(--font-mono);
}
.td-artifact-count {
  font-family: var(--font-mono); font-variant-numeric: tabular-nums;
  font-weight: 700; color: var(--text); font-size: var(--text-sm);
}
.td-artifact-bar {
  height: 6px; background: var(--border-light); border-radius: 3px; overflow: hidden;
}
.td-artifact-bar-fill {
  height: 100%; background: var(--accent-color, var(--accent));
  border-radius: 3px;
}

.td-stories-list {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: var(--space-3);
}
.td-story-card {
  background: var(--surface); border: 1px solid var(--border-light);
  border-radius: var(--radius-md); padding: var(--space-4);
  text-decoration: none; color: inherit;
  transition: all var(--transition);
  display: flex; flex-direction: column; gap: var(--space-2);
}
.td-story-card:hover { border-color: var(--accent-color, var(--accent)); transform: translateY(-1px); }
.td-story-title {
  font-weight: 600; color: var(--text); font-size: var(--text-sm);
  line-height: 1.4;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical;
  overflow: hidden;
}
.td-story-meta {
  display: flex; gap: var(--space-3); align-items: center;
  font-size: var(--text-xs); color: var(--text-muted);
  font-family: var(--font-mono); font-variant-numeric: tabular-nums;
  margin-top: auto;
}
.td-story-count {
  font-weight: 700; color: var(--accent-color, var(--accent));
}

.td-sent-row { display: flex; gap: var(--space-3); flex-wrap: wrap; }
.td-sent-chip {
  padding: var(--space-2) var(--space-3); border-radius: var(--radius-md);
  font-family: var(--font-mono); font-size: var(--text-sm);
  font-variant-numeric: tabular-nums;
  border: 1px solid var(--border-light);
  background: var(--surface);
}
.td-sent-chip__label { font-weight: 600; margin-right: var(--space-2); }
.td-sent-chip.pos .td-sent-chip__label { color: #16a34a; }
.td-sent-chip.neg .td-sent-chip__label { color: #d83236; }
.td-sent-chip.neu .td-sent-chip__label { color: var(--text-muted); }

.td-callout {
  background: var(--surface-1); border-left: 3px solid var(--accent-color, var(--accent));
  padding: var(--space-3) var(--space-4); border-radius: var(--radius-sm);
  font-size: var(--text-sm); color: var(--text-secondary);
  line-height: 1.6; margin-bottom: var(--space-4);
}

.td-updated {
  font-family: var(--font-mono); font-size: var(--text-xs);
  color: var(--text-muted); text-align: right;
  padding-top: var(--space-4); border-top: 1px solid var(--border-light);
  margin-top: var(--space-6);
}

.td-artifact-kind-name {
  display: inline-block; padding: 2px 6px; border-radius: 3px;
  background: var(--surface-1); font-size: var(--text-xs);
  color: var(--text-muted); margin-left: var(--space-2);
}

@media (max-width: 640px) {
  .td-artifact-row { grid-template-columns: 1fr auto; }
  .td-artifact-row .td-artifact-bar { grid-column: 1 / -1; }
}

.td-nav-icon--economy { background: rgba(32,128,141,.12); color: #20808D; }
.td-nav-icon--government { background: rgba(168,75,47,.12); color: #A84B2F; }
.td-nav-icon--regions { background: rgba(27,71,77,.12); color: #1B474D; }
.td-nav-icon--elite { background: rgba(255,197,83,.15); color: #D19900; }
.td-nav-icon--media { background: rgba(148,68,84,.12); color: #944454; }
.td-nav-icon--engine { background: rgba(22,163,74,.12); color: #16a34a; }
.td-nav-card--single { grid-column: span 1; }
.td-section-title-live { display: flex; align-items: center; gap: var(--space-2); }
.td-live-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #16a34a; box-shadow: 0 0 0 3px rgba(22,163,74,.2); }
.td-qa-score--good { color: #16a34a; }
.td-qa-score--warn { color: #FFC553; }
.td-qa-score--bad { color: #d83236; }
.td-empty-note { color: var(--text-muted); font-size: var(--text-sm); }
.td-engine-section__head--top-lg { margin-top: var(--space-6); border: none; padding: 0; }
.td-engine-section__head--top-md { margin-top: var(--space-5); border: none; padding: 0; }
.td-engine-section__title--base { font-size: var(--text-base); }
.td-engine-link { font-size: var(--text-sm); color: var(--text-muted); text-decoration: none; }
.td-engine-link:hover { color: var(--accent-color, var(--accent)); text-decoration: underline; }
.td-stories-list--spaced,
.td-artifact-list--spaced { margin-top: var(--space-3); }
.td-callout--spaced { margin-top: var(--space-4); }

/* Total Data elite page. Scoped to avoid leaking table/chart rules into other Data screens. */
.td-elite-page { max-width: var(--content-wide); margin: 0 auto; padding: 0 var(--space-4); }
:root{
    --gold:        #FFC553;
    --gold-light:  #FFF0C8;
    --gold-dark:   #B8881A;
    --teal:        #20808D;
    --teal-light:  #E0F4F6;
    --teal-dark:   #155F6A;
  }

  [data-theme="dark"]{
    --gold-light:  rgba(255, 197, 83, 0.12);
    --teal-light:  rgba(32, 128, 141, 0.12);
  }


  .td-elite-page .td-breadcrumb{
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--text-sm);
    color: var(--text-muted);
    padding: var(--space-4) 0 var(--space-2);
    flex-wrap: wrap;
  }

  .td-elite-page .td-breadcrumb a{
    color: var(--text-muted);
    text-decoration: none;
    transition: color var(--transition);
  }

  .td-elite-page .td-breadcrumb a:hover{
    color: var(--text);
  }

  .td-elite-page .td-breadcrumb__sep{
    color: var(--text-faint);
    font-size: var(--text-xs);
    user-select: none;
  }

  .td-elite-page .td-breadcrumb__current{
    color: var(--text);
    font-weight: 500;
  }


  .td-elite-page .td-elite-hero{
    padding: var(--space-8) 0 var(--space-6);
    border-bottom: 1px solid var(--border-light);
    margin-bottom: var(--space-8);
  }

  .td-elite-page .td-elite-hero__eyebrow{
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--text-xs);
    font-weight: 600;
    letter-spacing: 0;
    text-transform: uppercase;
    color: var(--gold-dark);
    background: var(--gold-light);
    border: 1px solid var(--gold);
    border-radius: var(--radius-sm);
    padding: var(--space-1) var(--space-3);
    margin-bottom: var(--space-4);
  }

  [data-theme="dark"] .td-elite-page .td-elite-hero__eyebrow{
    color: var(--gold);
    background: var(--gold-light);
    border-color: rgba(255, 197, 83, 0.3);
  }

  .td-elite-page .td-elite-hero__eyebrow svg{
    width: 14px;
    height: 14px;
    flex-shrink: 0;
  }

  .td-elite-page .td-elite-hero__title{
    font-size: var(--text-3xl);
    font-weight: 700;
    color: var(--text);
    line-height: 1.2;
    margin: 0 0 var(--space-3);
  }

  .td-elite-page .td-elite-hero__subtitle{
    font-size: var(--text-base);
    color: var(--text-muted);
    margin: 0;
    line-height: 1.5;
  }

  .td-elite-page .td-elite-hero__subtitle strong{
    color: var(--teal);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
  }

  .td-elite-page .td-elite-hero__meta{
    display: flex;
    align-items: center;
    gap: var(--space-6);
    margin-top: var(--space-5);
    flex-wrap: wrap;
  }

  .td-elite-page .td-elite-stat{
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
  }

  .td-elite-page .td-elite-stat__value{
    font-size: var(--text-xl);
    font-weight: 700;
    color: var(--text);
    font-variant-numeric: tabular-nums;
    line-height: 1.1;
  }

  .td-elite-page .td-elite-stat__value--gold{
    color: var(--gold-dark);
  }

  [data-theme="dark"] .td-elite-page .td-elite-stat__value--gold{
    color: var(--gold);
  }

  .td-elite-page .td-elite-stat__label{
    font-size: var(--text-xs);
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0;
  }


  .td-elite-page .td-elite-layout{
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-8);
    margin-bottom: var(--space-12);
  }


  .td-elite-page .td-elite-chart-section{
    background: var(--surface);
    border: 1px solid var(--border-light);
    border-radius: var(--radius-lg);
    padding: var(--space-6);
  }

  .td-elite-page .td-section-header{
    display: flex;
    align-items: baseline;
    gap: var(--space-3);
    margin-bottom: var(--space-5);
    flex-wrap: wrap;
  }

  .td-elite-page .td-section-title{
    font-size: var(--text-lg);
    font-weight: 600;
    color: var(--text);
    margin: 0;
    line-height: 1.3;
  }

  .td-elite-page .td-section-badge{
    font-size: var(--text-xs);
    font-weight: 500;
    color: var(--teal);
    background: var(--teal-light);
    border-radius: var(--radius-sm);
    padding: 2px var(--space-2);
    white-space: nowrap;
    border: 1px solid rgba(32, 128, 141, 0.2);
  }

  [data-theme="dark"] .td-elite-page .td-section-badge{
    color: #4fb8c5;
    background: var(--teal-light);
    border-color: rgba(32, 128, 141, 0.3);
  }

  .td-elite-page .td-chart-wrap{
    position: relative;
    height: 340px;
  }

  .td-elite-page .td-elite-chart-empty{
    display: none;
    margin-top: var(--space-4);
  }

  @media (max-width: 768px) {
    .td-elite-page .td-chart-wrap{
      height: 280px;
    }
  }


  .td-elite-page .td-elite-controls{
    display: flex;
    align-items: center;
    gap: var(--space-3);
    flex-wrap: wrap;
    margin-bottom: var(--space-5);
  }

  .td-elite-page .td-search-wrap{
    position: relative;
    flex: 1;
    min-width: 220px;
    max-width: 400px;
  }

  .td-elite-page .td-search-wrap svg{
    position: absolute;
    left: var(--space-3);
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    color: var(--text-muted);
    pointer-events: none;
    flex-shrink: 0;
  }

  .td-elite-page .td-search-input{
    width: 100%;
    padding: var(--space-2) var(--space-3) var(--space-2) calc(var(--space-3) + 16px + var(--space-2));
    font-family: inherit;
    font-size: var(--text-sm);
    color: var(--text);
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    outline: none;
    transition: border-color var(--transition), box-shadow var(--transition);
    box-sizing: border-box;
  }

  .td-elite-page .td-search-input::placeholder{
    color: var(--text-faint);
  }

  .td-elite-page .td-search-input:focus{
    border-color: var(--teal);
    box-shadow: 0 0 0 3px rgba(32, 128, 141, 0.12);
  }

  .td-elite-page .td-filter-count{
    font-size: var(--text-sm);
    color: var(--text-muted);
    white-space: nowrap;
    flex-shrink: 0;
  }

  .td-elite-page .td-filter-count span{
    font-weight: 600;
    color: var(--text);
    font-variant-numeric: tabular-nums;
  }


  .td-elite-page .td-elite-table-wrap{
    background: var(--surface);
    border: 1px solid var(--border-light);
    border-radius: var(--radius-lg);
    overflow: hidden;
  }

  .td-elite-page .td-elite-table{
    width: 100%;
    border-collapse: collapse;
    font-size: var(--text-sm);
  }

  .td-elite-page .td-elite-table thead tr{
    background: var(--surface-2, #f4f5f7);
    border-bottom: 2px solid var(--border-light);
  }

  [data-theme="dark"] .td-elite-page .td-elite-table thead tr{
    background: var(--surface-1, #1a1e26);
  }

  .td-elite-page .td-elite-table th{
    padding: var(--space-3) var(--space-4);
    text-align: left;
    font-size: var(--text-xs);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0;
    color: var(--text-muted);
    white-space: nowrap;
  }

  .td-elite-page .td-elite-table th:first-child{
    width: 52px;
    text-align: center;
  }

  .td-elite-page .td-elite-table th.td-col-worth,
.td-elite-page .td-elite-table th.td-col-rank{
    text-align: right;
  }

  .td-elite-page .td-elite-table tbody tr{
    border-bottom: 1px solid var(--border-light);
    transition: background var(--transition);
  }

  .td-elite-page .td-elite-table tbody tr:last-child{
    border-bottom: none;
  }

  .td-elite-page .td-elite-table tbody tr:hover{
    background: var(--surface-2, #f4f5f7);
  }

  [data-theme="dark"] .td-elite-page .td-elite-table tbody tr:hover{
    background: var(--surface-1, #1a1e26);
  }

  .td-elite-page .td-elite-table td{
    padding: var(--space-3) var(--space-4);
    vertical-align: middle;
    color: var(--text);
  }


  .td-elite-page .td-cell-rank{
    text-align: center;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: var(--text-muted);
    font-size: var(--text-xs);
    width: 52px;
  }

  .td-elite-page .td-rank-badge{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    font-size: var(--text-xs);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    background: var(--surface-1, #f0f1f3);
    color: var(--text-muted);
  }

  [data-theme="dark"] .td-elite-page .td-rank-badge{
    background: var(--surface-2, #1a1e26);
  }

  .td-elite-page .td-rank-badge--top3{
    background: var(--gold);
    color: #5a3a00;
  }

  [data-theme="dark"] .td-elite-page .td-rank-badge--top3{
    background: var(--gold);
    color: #3a2500;
  }


  .td-elite-page .td-cell-name{
    min-width: 160px;
  }

  .td-elite-page .td-person-name{
    font-weight: 600;
    color: var(--text);
    font-size: var(--text-base);
    line-height: 1.3;
    display: block;
    margin-bottom: 2px;
  }

  .td-elite-page .td-person-position{
    font-size: var(--text-xs);
    color: var(--text-muted);
    line-height: 1.4;
    display: block;
  }


  .td-elite-page .td-cell-company{
    font-size: var(--text-sm);
    color: var(--text-secondary, #495057);
  }

  [data-theme="dark"] .td-elite-page .td-cell-company{
    color: var(--text-secondary, #a1a3a8);
  }


  .td-elite-page .td-cell-forbes{
    text-align: right;
    white-space: nowrap;
  }

  .td-elite-page .td-forbes-badge{
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    font-size: var(--text-xs);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    color: var(--teal-dark);
    background: var(--teal-light);
    border: 1px solid rgba(32, 128, 141, 0.2);
    border-radius: var(--radius-sm);
    padding: 2px var(--space-2);
    white-space: nowrap;
  }

  [data-theme="dark"] .td-elite-page .td-forbes-badge{
    color: #4fb8c5;
    background: var(--teal-light);
    border-color: rgba(32, 128, 141, 0.3);
  }

  .td-elite-page .td-forbes-badge--none{
    color: var(--text-faint);
    background: transparent;
    border: 1px solid var(--border-light);
  }


  .td-elite-page .td-cell-worth{
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
  }

  .td-elite-page .td-worth-value{
    font-size: var(--text-base);
    font-weight: 700;
    color: var(--gold-dark);
    font-variant-numeric: tabular-nums;
  }

  [data-theme="dark"] .td-elite-page .td-worth-value{
    color: var(--gold);
  }

  .td-elite-page .td-worth-nil{
    color: var(--text-faint);
    font-size: var(--text-sm);
  }


  .td-elite-page .td-elite-cards{
    display: none;
    flex-direction: column;
    gap: var(--space-3);
  }

  .td-elite-page .td-elite-card{
    background: var(--surface);
    border: 1px solid var(--border-light);
    border-radius: var(--radius-lg);
    padding: var(--space-4);
    transition: border-color var(--transition);
  }

  .td-elite-page .td-elite-card:hover{
    border-color: var(--border);
  }

  .td-elite-page .td-card-header{
    display: flex;
    align-items: flex-start;
    gap: var(--space-3);
    margin-bottom: var(--space-3);
  }

  .td-elite-page .td-card-rank{
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    font-size: var(--text-xs);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    background: var(--surface-1, #f0f1f3);
    color: var(--text-muted);
    margin-top: 2px;
  }

  [data-theme="dark"] .td-elite-page .td-card-rank{
    background: var(--surface-2, #1a1e26);
  }

  .td-elite-page .td-card-rank--top3{
    background: var(--gold);
    color: #5a3a00;
  }

  [data-theme="dark"] .td-elite-page .td-card-rank--top3{
    background: var(--gold);
    color: #3a2500;
  }

  .td-elite-page .td-card-info{
    flex: 1;
    min-width: 0;
  }

  .td-elite-page .td-card-name{
    font-weight: 600;
    font-size: var(--text-base);
    color: var(--text);
    line-height: 1.3;
    margin-bottom: var(--space-1);
  }

  .td-elite-page .td-card-pos{
    font-size: var(--text-xs);
    color: var(--text-muted);
    line-height: 1.4;
  }

  .td-elite-page .td-card-body{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    flex-wrap: wrap;
  }

  .td-elite-page .td-card-company{
    font-size: var(--text-sm);
    color: var(--text-secondary, #495057);
    flex: 1;
    min-width: 0;
  }

  [data-theme="dark"] .td-elite-page .td-card-company{
    color: var(--text-secondary, #a1a3a8);
  }

  .td-elite-page .td-card-right{
    display: flex;
    align-items: center;
    gap: var(--space-2);
    flex-shrink: 0;
    flex-wrap: wrap;
    justify-content: flex-end;
  }


  .td-elite-page .td-empty{
    text-align: center;
    padding: var(--space-12) var(--space-4);
    color: var(--text-muted);
  }

  .td-elite-page .td-empty svg{
    width: 40px;
    height: 40px;
    color: var(--text-faint);
    margin: 0 auto var(--space-3);
    display: block;
  }

  .td-elite-page .td-empty__text{
    font-size: var(--text-base);
    font-weight: 500;
    color: var(--text-muted);
    margin: 0 0 var(--space-2);
  }

  .td-elite-page .td-empty__sub{
    font-size: var(--text-sm);
    color: var(--text-faint);
    margin: 0;
  }


  @media (max-width: 768px) {
    .td-elite-page .td-elite-table-wrap{
      display: none;
    }

    .td-elite-page .td-elite-cards{
      display: flex;
    }

    .td-elite-page .td-elite-hero__title{
      font-size: var(--text-2xl);
    }

    .td-elite-page .td-search-wrap{
      max-width: 100%;
    }

    .td-elite-page .td-elite-controls{
      gap: var(--space-2);
    }
  }


  .td-elite-page .td-row-hidden{
    display: none !important;
  }

  .td-elite-page .td-card-hidden{
    display: none !important;
  }
.td-elite-page .td-empty-hidden { display: none; }
.td-elite-page .td-empty--cards { display: none; }
.td-elite-page .td-link-plain { color: inherit; text-decoration: none; }
.td-elite-page .td-link-plain:hover { color: var(--accent); text-decoration: underline; }

@media (max-width: 768px) {
  .td-elite-page .td-empty--table { display: none; }
  .td-elite-page .td-empty--cards { display: block; }
}
