:root {
  --thcdax-webgl-ink: #061411;
  --thcdax-webgl-ink-soft: #0a211d;
  --thcdax-webgl-panel: rgba(244, 255, 249, 0.09);
  --thcdax-webgl-panel-strong: rgba(244, 255, 249, 0.14);
  --thcdax-webgl-border: rgba(181, 248, 223, 0.22);
  --thcdax-webgl-mint: #b9f4df;
  --thcdax-webgl-cyan: #7bd8e5;
  --thcdax-webgl-emerald: #3ddfa8;
}

.hero-dashboard {
  min-height: min(760px, calc(100svh - 132px));
  border-color: rgba(187, 242, 225, 0.18);
  background:
    radial-gradient(circle at 72% 18%, rgba(60, 223, 168, 0.16), transparent 19rem),
    radial-gradient(circle at 88% 72%, rgba(123, 216, 229, 0.12), transparent 24rem),
    radial-gradient(circle at 20% 96%, rgba(185, 244, 223, 0.1), transparent 26rem),
    linear-gradient(135deg, #061411 0%, #0a211d 50%, #061915 100%);
  box-shadow:
    0 42px 100px rgba(4, 18, 16, 0.34),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.hero-dashboard::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(6, 20, 17, 0.78) 0%, rgba(6, 20, 17, 0.38) 42%, transparent 72%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), transparent 32%);
  content: "";
}

.hero-dashboard::after {
  opacity: 0.18;
  filter: blur(0.1px);
}

.hero-ambient {
  z-index: 0;
}

.thcdax-hero-canvas-root {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  border-radius: inherit;
  contain: layout paint size;
  pointer-events: none;
}

.thcdax-hero-canvas {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 900ms var(--ease-premium, cubic-bezier(0.16, 1, 0.3, 1));
}

.thcdax-hero--ready .thcdax-hero-canvas {
  opacity: 0.92;
}

.thcdax-hero-fallback {
  position: absolute;
  inset: 0;
  opacity: 0.76;
  background:
    radial-gradient(circle at 68% 28%, rgba(185, 244, 223, 0.16), transparent 14rem),
    radial-gradient(circle at 82% 68%, rgba(123, 216, 229, 0.14), transparent 18rem),
    linear-gradient(115deg, transparent 10%, rgba(61, 223, 168, 0.08) 48%, transparent 78%);
}

.thcdax-hero-fallback::before,
.thcdax-hero-fallback::after {
  position: absolute;
  pointer-events: none;
  content: "";
}

.thcdax-hero-fallback::before {
  right: -8%;
  bottom: -18%;
  width: min(760px, 88vw);
  aspect-ratio: 1;
  border: 1px solid rgba(185, 244, 223, 0.22);
  border-radius: 50%;
  background:
    linear-gradient(rgba(185, 244, 223, 0.12) 1px, transparent 1px),
    linear-gradient(90deg, rgba(123, 216, 229, 0.1) 1px, transparent 1px);
  background-size: 34px 34px;
  mask-image: radial-gradient(circle, #000 0 58%, transparent 72%);
  transform: rotateX(64deg) rotateZ(-12deg);
  transform-origin: center;
}

.thcdax-hero-fallback::after {
  inset: 16% 7% 12% 44%;
  background-image:
    radial-gradient(circle, rgba(210, 255, 239, 0.88) 0 2px, rgba(210, 255, 239, 0.24) 3px, transparent 7px),
    radial-gradient(circle, rgba(123, 216, 229, 0.72) 0 2px, transparent 6px);
  background-position:
    0 0,
    34px 28px;
  background-size:
    86px 62px,
    112px 78px;
  filter: drop-shadow(0 0 14px rgba(105, 238, 194, 0.28));
  mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
}

.thcdax-hero--webgl .thcdax-hero-fallback {
  opacity: 0.18;
}

.thcdax-hero--fallback .thcdax-hero-canvas {
  opacity: 0;
}

.thcdax-scene-overlay {
  position: absolute;
  inset: auto clamp(18px, 3vw, 42px) clamp(20px, 4vw, 46px) auto;
  display: grid;
  width: min(300px, 30vw);
  gap: 8px;
  color: rgba(239, 255, 249, 0.76);
  font-size: 0.72rem;
  font-weight: 760;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  pointer-events: none;
}

.thcdax-scene-chip {
  display: inline-flex;
  width: max-content;
  max-width: 100%;
  min-height: 28px;
  align-items: center;
  gap: 7px;
  padding: 5px 9px;
  border: 1px solid rgba(185, 244, 223, 0.18);
  border-radius: 999px;
  background: rgba(6, 20, 17, 0.38);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(12px);
}

.thcdax-scene-chip::before {
  width: 7px;
  height: 7px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: var(--thcdax-webgl-emerald);
  box-shadow: 0 0 14px rgba(61, 223, 168, 0.6);
  content: "";
}

.thcdax-scene-chip:nth-child(2)::before {
  background: var(--thcdax-webgl-cyan);
  box-shadow: 0 0 14px rgba(123, 216, 229, 0.54);
}

.thcdax-scene-chip:nth-child(3)::before {
  background: var(--thcdax-webgl-mint);
}

.hero-dashboard > :not(.hero-ambient) {
  z-index: 2;
}

.hero-copy {
  align-self: stretch;
  justify-content: center;
  min-height: 0;
  padding: clamp(18px, 3vw, 40px);
  border: 1px solid rgba(207, 255, 240, 0.08);
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(6, 20, 17, 0.78), rgba(10, 33, 29, 0.45)),
    rgba(244, 255, 249, 0.04);
  box-shadow:
    0 24px 70px rgba(0, 0, 0, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
  backdrop-filter: blur(10px) saturate(125%);
}

.hero-copy h1 {
  max-width: 980px;
  color: #f8fff9;
  text-shadow: 0 18px 42px rgba(0, 0, 0, 0.18);
}

.hero-subtitle,
.hero-method {
  max-width: 820px;
}

.hero-subtitle span,
.hero-method strong {
  color: var(--thcdax-webgl-mint);
}

.hero-actions .btn-primary {
  box-shadow:
    0 18px 34px rgba(19, 180, 126, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.24);
}

.kpi-grid {
  position: relative;
  z-index: 2;
}

.kpi-card {
  border-color: var(--thcdax-webgl-border);
  background:
    linear-gradient(180deg, var(--thcdax-webgl-panel-strong), var(--thcdax-webgl-panel)),
    rgba(7, 25, 22, 0.34);
  box-shadow:
    0 22px 58px rgba(0, 0, 0, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.kpi-card::after {
  border: 1px solid rgba(185, 244, 223, 0.16);
  background: rgba(185, 244, 223, 0.09);
}

.kpi-card-primary {
  border-color: rgba(105, 238, 194, 0.46);
  background:
    radial-gradient(circle at 20% 16%, rgba(105, 238, 194, 0.2), transparent 12rem),
    linear-gradient(180deg, rgba(244, 255, 249, 0.16), rgba(244, 255, 249, 0.07));
}

.ticker-panel {
  border-color: rgba(20, 64, 53, 0.1);
  box-shadow: 0 18px 44px rgba(7, 25, 22, 0.1);
}

.table-section,
.chart-section,
.filter-panel,
.method-card,
.faq-section,
.site-footer {
  border-color: rgba(20, 64, 53, 0.1);
  box-shadow: 0 18px 44px rgba(7, 25, 22, 0.1);
}

.tabulator .tabulator-row {
  transition: background var(--motion-fast, 140ms) ease, box-shadow var(--motion-fast, 140ms) ease, transform var(--motion-fast, 140ms) ease;
}

.tabulator .tabulator-row:hover {
  transform: translateX(1px);
}

.metric-cell {
  border: 1px solid rgba(15, 123, 95, 0.14);
  background: linear-gradient(180deg, rgba(223, 243, 234, 0.92), rgba(240, 250, 246, 0.9));
}

@media (max-width: 1180px) {
  .hero-dashboard {
    min-height: auto;
  }

  .thcdax-scene-overlay {
    top: clamp(16px, 3vw, 28px);
    right: clamp(16px, 3vw, 28px);
    bottom: auto;
    width: min(310px, 46vw);
  }

  .thcdax-hero--ready .thcdax-hero-canvas {
    opacity: 0.64;
  }
}

@media (max-width: 780px) {
  .hero-dashboard {
    min-height: 620px;
    padding: 14px;
  }

  .thcdax-hero-canvas-root {
    height: min(660px, 82svh);
    bottom: auto;
  }

  .hero-dashboard::before {
    background:
      linear-gradient(180deg, rgba(6, 20, 17, 0.78) 0%, rgba(6, 20, 17, 0.44) 54%, rgba(6, 20, 17, 0.2) 100%);
  }

  .hero-copy {
    padding: 18px;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(6, 20, 17, 0.84), rgba(10, 33, 29, 0.5));
  }

  .thcdax-hero--ready .thcdax-hero-canvas {
    opacity: 0.58;
  }

  .thcdax-scene-overlay {
    display: none;
  }

  .thcdax-hero-fallback::after {
    inset: 40% 0 8%;
    opacity: 0.6;
  }
}

@media (max-width: 520px) {
  .hero-dashboard {
    min-height: 600px;
    padding: 12px;
  }

  .hero-copy {
    padding: 16px;
  }

  .kpi-card {
    min-height: 126px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .thcdax-hero-canvas {
    transition: none;
  }

  .thcdax-hero--ready .thcdax-hero-canvas {
    opacity: 0.52;
  }

  .tabulator .tabulator-row:hover {
    transform: none;
  }
}

:root {
  --color-bg: #08241f;
  --color-bg-elevated: rgba(17, 57, 50, 0.82);
  --color-surface: rgba(18, 58, 51, 0.6);
  --color-surface-soft: rgba(244, 255, 250, 0.14);
  --color-surface-strong: rgba(8, 34, 30, 0.84);
  --color-ink: #fbfffc;
  --color-ink-soft: #edfff7;
  --color-text: #f3fff9;
  --color-muted: rgba(230, 250, 243, 0.78);
  --color-muted-strong: rgba(247, 255, 251, 0.9);
  --color-border: rgba(225, 255, 246, 0.28);
  --color-border-soft: rgba(225, 255, 246, 0.18);
  --color-primary: #4ce0ad;
  --color-primary-strong: #c7ffeb;
  --color-primary-soft: rgba(76, 224, 173, 0.2);
  --color-accent: #9ee8f1;
  --color-accent-soft: rgba(158, 232, 241, 0.18);
  --color-success: #8af3bd;
  --color-warning: #ffe2a8;
  --color-danger: #ffaaa8;
  --color-focus: rgba(141, 220, 232, 0.42);
  --bg-color: var(--color-bg);
  --surface: var(--color-surface);
  --surface-soft: var(--color-surface-soft);
  --text-color: var(--color-text);
  --muted-color: var(--color-muted);
  --border-color: var(--color-border);
  --accent-color: var(--color-primary);
  --accent-strong: var(--color-primary-strong);
  --accent-soft: var(--color-primary-soft);
  --metric-color: var(--color-accent);
  --metric-soft: var(--color-accent-soft);
  --glass-matte: rgba(17, 56, 49, 0.42);
  --glass-matte-readable: rgba(15, 48, 43, 0.56);
  --glass-matte-strong: rgba(8, 32, 29, 0.7);
  --glass-matte-soft: rgba(248, 255, 251, 0.1);
  --glass-matte-border: rgba(225, 255, 246, 0.3);
  --glass-matte-highlight: rgba(255, 255, 255, 0.2);
  --glass-matte-shadow: 0 22px 64px rgba(2, 18, 16, 0.2);
}

html {
  background: #08241f;
}

body {
  isolation: isolate;
  background: #08241f;
  color: var(--color-text);
}

body::before {
  content: none;
}

body::after {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 14% 8%, rgba(76, 224, 173, 0.18), transparent 28rem),
    radial-gradient(circle at 84% 18%, rgba(158, 232, 241, 0.18), transparent 30rem),
    radial-gradient(circle at 72% 78%, rgba(255, 226, 168, 0.08), transparent 26rem),
    linear-gradient(180deg, rgba(7, 31, 28, 0.12), rgba(7, 31, 28, 0.42) 72%, rgba(7, 31, 28, 0.58));
  content: "";
}

.thcdax-page-background {
  position: fixed;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  background:
    radial-gradient(circle at 48% 30%, rgba(76, 224, 173, 0.18), transparent 24rem),
    radial-gradient(circle at 74% 54%, rgba(158, 232, 241, 0.12), transparent 28rem),
    linear-gradient(135deg, #092820, #0e4139 42%, #0a3140);
}

.thcdax-page-background .thcdax-hero-canvas-root {
  position: absolute;
  inset: 0;
  height: auto;
  overflow: hidden;
  border-radius: 0;
  contain: layout paint size;
  pointer-events: none;
}

.thcdax-page-background .thcdax-hero-canvas,
.thcdax-page-background .thcdax-hero-fallback {
  width: 100%;
  height: 100%;
}

.thcdax-hero-canvas-root[data-three-state="ready"] .thcdax-hero-canvas,
.thcdax-hero--ready .thcdax-hero-canvas {
  opacity: 0.84;
}

.thcdax-hero-canvas-root[data-three-state="webgl"] .thcdax-hero-fallback {
  opacity: 0.14;
}

.site-shell,
.site-footer,
.thcdax-popover {
  position: relative;
  z-index: 1;
}

.hero-dashboard {
  overflow: visible;
  border: 0;
  background: transparent;
  box-shadow: none;
  color: var(--color-text);
  isolation: auto;
  perspective: none;
}

.hero-dashboard::before,
.hero-dashboard::after,
.hero-ambient::before,
.hero-ambient::after,
.hero-depth-grid,
.thcdax-scene-overlay {
  display: none;
}

.hero-ambient {
  display: none;
}

.site-header,
.dashboard-tabs,
.hero-copy,
.kpi-card,
.ticker-panel,
.filter-panel,
.table-section,
.chart-section,
.chart-card,
.method-card,
.faq-section,
.site-footer,
.platform-leader-card,
.platform-profile-card,
.details-kpi,
.detail-stat,
.forecast-kpi,
.forecast-disclaimer,
.empty-state,
.modal-content,
.static-detail-hero,
.static-entry-notice,
.static-index-links,
.product-detail-grid .detail-stat,
.detail-summary-card,
.pharmacy-contact-grid > div,
.product-identity-note,
.detail-chart-section,
.pharmacy-state-panel,
.chart-control-bar,
.state-map-toggle,
.pharmacy-state-map,
.thcdax-popover {
  border-color: var(--glass-matte-border);
  background:
    linear-gradient(180deg, rgba(248, 255, 251, 0.16), rgba(248, 255, 251, 0.055)),
    var(--glass-matte);
  color: var(--color-text);
  box-shadow:
    var(--glass-matte-shadow),
    inset 0 1px 0 var(--glass-matte-highlight);
}

@supports ((backdrop-filter: blur(18px)) or (-webkit-backdrop-filter: blur(18px))) {
  .site-header,
  .dashboard-tabs,
  .hero-copy,
  .kpi-card,
  .ticker-panel,
  .filter-panel,
  .table-section,
  .chart-section,
  .chart-card,
  .method-card,
  .faq-section,
  .site-footer,
  .platform-leader-card,
  .platform-profile-card,
  .details-kpi,
  .detail-stat,
  .forecast-kpi,
  .forecast-disclaimer,
  .empty-state,
  .modal-content,
  .static-detail-hero,
  .static-entry-notice,
  .static-index-links,
  .detail-summary-card,
  .pharmacy-contact-grid > div,
  .product-identity-note,
  .detail-chart-section,
  .pharmacy-state-panel,
  .chart-control-bar,
  .state-map-toggle,
  .pharmacy-state-map,
  .thcdax-popover {
    -webkit-backdrop-filter: blur(22px) saturate(128%) brightness(1.05);
    backdrop-filter: blur(22px) saturate(128%) brightness(1.05);
  }
}

.site-header,
.dashboard-tabs {
  background:
    linear-gradient(180deg, rgba(248, 255, 251, 0.17), rgba(248, 255, 251, 0.05)),
    rgba(14, 49, 43, 0.54);
}

.brand,
.brand strong,
.brand-lockup strong,
.section-header h2,
.method-card h2,
.faq-section h2,
.chart-card h3,
.platform-profile-card h3,
.platform-leader-card h3,
.detail-stat strong,
.details-kpi strong,
.forecast-kpi strong,
.modal-title,
.empty-state strong,
.product-name-cell strong,
.static-detail-hero h1,
.footer-brand strong {
  color: var(--color-ink);
}

.brand small,
.footer-brand span,
.footer-column span,
.hero-subtitle,
.hero-method,
.product-name-cell span,
.product-name-meta,
.detail-summary-card p,
.static-detail-hero p,
.static-page-intro,
.empty-state span,
.result-count,
.platform-card-foot,
.platform-empty,
.forecast-subtitle,
.forecast-disclaimer,
.faq-section p,
.method-card p,
.modal-body,
.modal-body p {
  color: var(--color-muted);
}

.eyebrow,
.hero-dashboard .eyebrow,
.detail-stat span,
.details-kpi span,
.forecast-kpi span,
.footer-column strong,
.static-detail-hero > span,
.static-index-grid h3,
.detail-table-toolbar span,
.pharmacy-contact-grid span {
  color: var(--color-accent);
}

.nav-link-pill,
.dashboard-tabs a,
.quick-toggle,
.result-count,
.filter-chip,
.index-pill,
.formula-chip,
.trust-marker,
.data-chip,
.product-platform-summary span,
.platform-price-chip,
.source-cell,
.price-cell,
.percent-cell,
.status-badge,
.state-map-toggle button,
.segmented-control span,
.filter-checkboxes label {
  border-color: var(--glass-matte-border);
  background: var(--glass-matte-soft);
  color: var(--color-muted-strong);
}

.dashboard-tabs a:hover,
.dashboard-tabs a.is-active,
.quick-toggle:hover,
.quick-toggle.is-active,
.state-map-toggle button.is-active,
.filter-checkboxes label:has(input:checked),
.segmented-control input:checked + span {
  border-color: rgba(184, 255, 229, 0.42);
  background: rgba(67, 217, 167, 0.2);
  color: var(--color-ink);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.hero-copy {
  min-height: 430px;
  padding: clamp(20px, 3vw, 42px);
  border: 1px solid var(--glass-matte-border);
  border-radius: 24px;
  background:
    linear-gradient(135deg, rgba(248, 255, 251, 0.17), rgba(248, 255, 251, 0.05)),
    rgba(13, 45, 40, 0.48);
}

.hero-copy h1 {
  color: var(--color-ink);
  text-shadow: 0 16px 42px rgba(0, 0, 0, 0.24);
}

.hero-subtitle span,
.hero-method strong,
.formula-chip {
  color: #b8ffe5;
}

.notice-box {
  border-color: rgba(255, 226, 168, 0.24);
  background: rgba(255, 226, 168, 0.14);
  color: rgba(255, 250, 233, 0.95);
}

.btn-primary {
  --bs-btn-bg: rgba(67, 217, 167, 0.92);
  --bs-btn-border-color: rgba(184, 255, 229, 0.6);
  --bs-btn-color: #03110e;
  --bs-btn-hover-bg: #b8ffe5;
  --bs-btn-hover-border-color: #dffff2;
  --bs-btn-hover-color: #03110e;
  --bs-btn-focus-shadow-rgb: 141, 220, 232;
}

.btn-outline-secondary {
  --bs-btn-color: var(--color-muted-strong);
  --bs-btn-border-color: var(--glass-matte-border);
  --bs-btn-hover-bg: rgba(244, 255, 249, 0.14);
  --bs-btn-hover-color: var(--color-ink);
  --bs-btn-hover-border-color: rgba(244, 255, 249, 0.34);
  background: rgba(244, 255, 249, 0.06);
}

.table-search {
  display: flex;
  align-items: center;
  gap: 6px;
  border-color: rgba(218, 255, 243, 0.2);
  background:
    linear-gradient(180deg, rgba(248, 255, 251, 0.16), rgba(248, 255, 251, 0.05)),
    rgba(13, 47, 42, 0.46);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.table-search-icon {
  display: inline-grid;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  place-items: center;
  margin-left: 6px;
  color: rgba(199, 255, 235, 0.95);
}

.table-search-icon svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.table-search .form-control {
  min-height: 44px;
  padding-left: 0;
  color: var(--color-ink);
}

.form-control,
.form-select,
.filter-group select,
.tabulator .tabulator-footer .tabulator-page-size {
  border-color: rgba(218, 255, 243, 0.2);
  background-color: rgba(248, 255, 251, 0.14);
  color: var(--color-ink);
}

.form-control::placeholder,
.table-search .form-control::placeholder {
  color: rgba(230, 250, 243, 0.68);
  opacity: 1;
}

.form-select option,
select option {
  background: #08231d;
  color: #f7fff9;
}

.filter-collapsible,
.segmented-control,
.filter-group-strong,
.noUi-target {
  border-color: var(--glass-matte-border);
  background: rgba(244, 255, 249, 0.08);
}

.noUi-target {
  box-shadow: inset 0 1px 5px rgba(0, 0, 0, 0.32);
}

.noUi-horizontal .noUi-handle {
  border-color: rgba(255, 255, 255, 0.72);
  background: #b8ffe5;
}

.tabulator {
  border-color: var(--glass-matte-border);
  background: rgba(10, 38, 34, 0.46);
  color: var(--color-text);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.08),
    0 16px 42px rgba(2, 18, 16, 0.18);
}

.tabulator .tabulator-tableholder,
.tabulator .tabulator-tableholder .tabulator-table {
  background: transparent;
  color: var(--color-text);
}

.tabulator .tabulator-header,
.tabulator .tabulator-footer {
  border-color: rgba(225, 255, 246, 0.2);
  background: rgba(6, 26, 23, 0.66);
  color: var(--color-muted-strong);
}

.tabulator .tabulator-header .tabulator-col {
  border-color: rgba(225, 255, 246, 0.13);
  background: transparent;
  color: var(--color-muted-strong);
}

.tabulator .tabulator-row,
.tabulator .tabulator-row:nth-child(even) {
  border-bottom-color: rgba(225, 255, 246, 0.12);
  background: rgba(11, 39, 35, 0.44);
}

.tabulator .tabulator-row:hover {
  background: rgba(24, 74, 64, 0.58);
  box-shadow: inset 3px 0 0 rgba(67, 217, 167, 0.82);
}

.tabulator .tabulator-cell {
  border-color: rgba(218, 255, 243, 0.08);
  color: var(--color-text);
}

.metric-cell,
.source-cell,
.price-cell,
.percent-cell,
.status-badge {
  background:
    linear-gradient(180deg, rgba(248, 255, 251, 0.18), rgba(248, 255, 251, 0.07)),
    rgba(11, 38, 34, 0.42);
  color: var(--color-ink);
}

.percent-cell,
.metric-cell strong,
.inline-link-button,
.detail-link-button,
.site-footer a,
a {
  color: var(--color-primary-strong);
}

.chart-canvas,
.pharmacy-state-map,
.detail-chart-section,
.state-map-legend,
.platform-price-band,
.platform-mini-table,
.detail-table {
  border-color: var(--glass-matte-border);
  background: rgba(3, 14, 12, 0.22);
}

.detail-table {
  color: var(--color-text);
}

.detail-table thead th,
.detail-table th {
  background: rgba(3, 14, 12, 0.62);
  color: var(--color-muted-strong);
}

.detail-table td {
  border-bottom-color: rgba(218, 255, 243, 0.1);
}

.detail-table tbody tr:hover td {
  background: rgba(67, 217, 167, 0.08);
}

.platform-overlap-section {
  display: none !important;
}

.platform-profile-card::before {
  background: linear-gradient(180deg, var(--platform-color), rgba(141, 220, 232, 0.78));
  opacity: 0.82;
}

.platform-card-head span {
  color: var(--color-accent);
}

.platform-card-head > strong,
.platform-leader-card li::before,
.platform-card-metrics div,
.empty-state::before,
.detail-stat::after,
.missing-value,
.missing-value[data-kind="calc"],
.missing-value[data-kind="price"],
.missing-value[data-kind="platform"],
.missing-value[data-kind="pharmacy"],
.missing-value[data-kind="text"],
.status-badge.available,
.status-badge.unavailable,
.status-badge.unknown {
  border-color: var(--glass-matte-border);
  background:
    linear-gradient(180deg, rgba(248, 255, 251, 0.18), rgba(248, 255, 251, 0.06)),
    rgba(13, 45, 40, 0.36);
  color: var(--color-ink);
}

.muted-dash,
.missing-value,
.missing-value[data-kind="calc"],
.missing-value[data-kind="price"],
.missing-value[data-kind="platform"],
.missing-value[data-kind="pharmacy"],
.missing-value[data-kind="text"] {
  color: var(--color-muted-strong);
}

.tabulator .tabulator-footer .tabulator-page,
.tabulator .tabulator-footer .tabulator-page-size {
  border-color: var(--glass-matte-border);
  background:
    linear-gradient(180deg, rgba(248, 255, 251, 0.17), rgba(248, 255, 251, 0.055)),
    rgba(12, 42, 37, 0.42);
  color: var(--color-muted-strong);
}

.tabulator .tabulator-footer .tabulator-page.active {
  border-color: rgba(184, 255, 229, 0.62);
  background: rgba(67, 217, 167, 0.88);
  color: #03110e;
}

.platform-card-metrics span,
.platform-score-row span,
.platform-card-foot,
.platform-card-foot span,
.platform-band-legend,
.platform-band-legend span,
.platform-mini-table small {
  color: var(--color-muted);
}

.platform-card-metrics strong,
.platform-score-row strong,
.platform-leader-card strong,
.platform-mini-table td {
  color: var(--color-ink);
}

.platform-score-row i,
.platform-price-band {
  background: rgba(244, 255, 249, 0.16);
}

.platform-score-row b {
  background: linear-gradient(90deg, var(--color-primary), var(--color-accent));
}

.platform-price-band .band-low {
  background: #86f1bd;
}

.platform-price-band .band-mid {
  background: #f1d99b;
}

.platform-price-band .band-high {
  background: #f29a9c;
}

.platform-mini-table th,
.platform-mini-table td {
  border-top-color: rgba(218, 255, 243, 0.18);
}

.platform-mini-table th {
  color: var(--color-muted-strong);
}

.modal-content {
  background:
    linear-gradient(180deg, rgba(244, 255, 249, 0.13), rgba(244, 255, 249, 0.055)),
    rgba(4, 16, 14, 0.78);
}

.modal-header,
.modal-footer,
.section-header,
.panel-heading {
  border-color: rgba(218, 255, 243, 0.14);
}

.btn-close {
  filter: invert(1) grayscale(1) brightness(1.9);
}

.filter-backdrop {
  background: rgba(0, 7, 6, 0.58);
}

@media (max-width: 780px) {
  .hero-dashboard {
    padding: 0;
  }

  .hero-copy {
    min-height: auto;
    padding: 18px;
    border-radius: 18px;
  }

  .table-search {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 4px;
    border-radius: var(--radius-lg);
  }

  .table-search #btnOpenFilters,
  .table-search datalist {
    grid-column: 1 / -1;
  }

  .table-search #btnOpenFilters {
    width: 100%;
  }

  .tabulator .tabulator-row,
  .tabulator .tabulator-row:nth-child(even) {
    border-color: var(--glass-matte-border);
    background:
      linear-gradient(180deg, rgba(244, 255, 249, 0.1), rgba(244, 255, 249, 0.035)),
      rgba(6, 22, 19, 0.5);
  }
}

@media (prefers-reduced-motion: reduce) {
  .thcdax-hero-canvas-root[data-three-state="ready"] .thcdax-hero-canvas,
  .thcdax-hero--ready .thcdax-hero-canvas {
    opacity: 0.58;
  }
}
