/* === Gradient Utilities === */
.gradient-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background-color: #050505;
}

.gradient-section::before,
.gradient-section::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.gradient-section::before {
  background: #06070d;
  /*background: #040404;*/
  opacity: 1;
}

.gradient-section::after {
  background: var(--section-overlay, none);
  opacity: var(--section-overlay-opacity, 1);
  mix-blend-mode: var(--section-overlay-blend, soft-light);
}

.gradient-section > * {
  position: relative;
  z-index: 1;
}

.gradient-section--dawn {
  /*--section-gradient:*/
  /*  radial-gradient(140% 140% at 16% 12%, rgba(253, 215, 91, 0.12), transparent 72%),*/
  /*  radial-gradient(120% 140% at 82% 8%, rgba(64, 121, 255, 0.08), transparent 74%),*/
  /*  linear-gradient(155deg, #040404 0%, #06070d 52%, #0b101b 100%);*/
  /*--section-overlay:*/
  /*  radial-gradient(180% 160% at 52% 110%, rgba(250, 204, 21, 0.08), transparent 78%);*/
  /*--section-overlay-opacity: 0.55;*/
}

.gradient-section--pillars {
  /*--section-gradient:*/
  /*  radial-gradient(120% 160% at 10% 50%, rgba(253, 215, 91, 0.1), transparent 70%),*/
  /*  radial-gradient(140% 160% at 88% 50%, rgba(72, 132, 255, 0.07), transparent 74%),*/
  /*  linear-gradient(155deg, #040404 0%, #06070d 52%, #0b101b 100%);*/
  /*--section-overlay:*/
  /*  radial-gradient(180% 200% at 50% 120%, rgba(248, 196, 64, 0.08), transparent 80%);*/
  /*--section-overlay-opacity: 0.45;*/
}

.gradient-section--workflow {
  /*--section-gradient:*/
  /*  radial-gradient(140% 180% at 18% 120%, rgba(253, 215, 91, 0.1), transparent 74%),*/
  /*  radial-gradient(140% 140% at 90% 0%, rgba(64, 121, 255, 0.07), transparent 70%),*/
  /*  linear-gradient(155deg, #040404 0%, #06070d 52%, #0b101b 100%);*/
  /*--section-overlay:*/
  /*  radial-gradient(220% 200% at 50% 50%, rgba(248, 196, 64, 0.07), transparent 82%);*/
  /*--section-overlay-opacity: 0.4;*/
}

.gradient-section--trust {
  /*--section-gradient:*/
  /*  radial-gradient(140% 150% at 0% 52%, rgba(253, 215, 91, 0.1), transparent 72%),*/
  /*  radial-gradient(120% 140% at 100% 10%, rgba(64, 121, 255, 0.07), transparent 74%),*/
  /*  linear-gradient(155deg, #040404 0%, #06070d 52%, #0b101b 100%);*/
  /*--section-overlay:*/
  /*  radial-gradient(180% 180% at 48% -10%, rgba(250, 204, 21, 0.08), transparent 76%);*/
  /*--section-overlay-opacity: 0.5;*/
}

.gradient-section--spotlight {
  /*--section-gradient:*/
  /*  radial-gradient(140% 140% at 18% 16%, rgba(253, 215, 91, 0.12), transparent 74%),*/
  /*  radial-gradient(150% 160% at 85% 82%, rgba(64, 121, 255, 0.07), transparent 76%),*/
  /*  linear-gradient(155deg, #040404 0%, #06070d 52%, #0b101b 100%);*/
  /*--section-overlay:*/
  /*  radial-gradient(200% 160% at 50% -10%, rgba(248, 196, 64, 0.08), transparent 80%);*/
  /*--section-overlay-opacity: 0.48;*/
}

.gradient-section--cta {
  /*--section-gradient:*/
  /*  radial-gradient(150% 160% at 48% -10%, rgba(253, 215, 91, 0.12), transparent 78%),*/
  /*  radial-gradient(130% 160% at 88% 90%, rgba(64, 121, 255, 0.07), transparent 76%),*/
  /*  linear-gradient(155deg, #040404 0%, #06070d 52%, #0b101b 100%);*/
  /*--section-overlay:*/
  /*  radial-gradient(200% 200% at 18% 120%, rgba(250, 204, 21, 0.08), transparent 82%);*/
  /*--section-overlay-opacity: 0.42;*/
}

.gradient-section--pricing-intro {
  /*--section-gradient:*/
  /*  radial-gradient(140% 150% at 20% 0%, rgba(253, 215, 91, 0.12), transparent 74%),*/
  /*  radial-gradient(150% 160% at 84% 92%, rgba(64, 121, 255, 0.07), transparent 76%),*/
  /*  linear-gradient(155deg, #040404 0%, #06070d 52%, #0b101b 100%);*/
  /*--section-overlay:*/
  /*  radial-gradient(220% 200% at 50% 56%, rgba(248, 196, 64, 0.07), transparent 82%);*/
  /*--section-overlay-opacity: 0.4;*/
}

.gradient-section--pricing-grid {
  /*--section-gradient:*/
  /*  radial-gradient(150% 190% at 14% 100%, rgba(253, 215, 91, 0.12), transparent 78%),*/
  /*  radial-gradient(140% 150% at 92% 0%, rgba(64, 121, 255, 0.07), transparent 74%),*/
  /*  linear-gradient(155deg, #040404 0%, #06070d 52%, #0b101b 100%);*/
  /*--section-overlay:*/
  /*  radial-gradient(200% 180% at 50% -20%, rgba(248, 196, 64, 0.07), transparent 82%);*/
  /*--section-overlay-opacity: 0.42;*/
}

.gradient-section--pricing-compare {
  /*--section-gradient:*/
  /*  radial-gradient(150% 180% at 0% 32%, rgba(253, 215, 91, 0.12), transparent 76%),*/
  /*  radial-gradient(140% 160% at 100% 84%, rgba(64, 121, 255, 0.07), transparent 78%),*/
  /*  linear-gradient(155deg, #040404 0%, #06070d 52%, #0b101b 100%);*/
  /*--section-overlay:*/
  /*  radial-gradient(220% 200% at 50% 120%, rgba(248, 196, 64, 0.07), transparent 84%);*/
  /*--section-overlay-opacity: 0.36;*/
}

.gradient-section--pricing-faq {
  /*--section-gradient:*/
  /*  radial-gradient(150% 160% at 16% 88%, rgba(253, 215, 91, 0.12), transparent 76%),*/
  /*  radial-gradient(150% 150% at 86% 12%, rgba(64, 121, 255, 0.07), transparent 76%),*/
  /*  linear-gradient(155deg, #040404 0%, #06070d 52%, #0b101b 100%);*/
  /*--section-overlay:*/
  /*  radial-gradient(220% 200% at 50% -14%, rgba(248, 196, 64, 0.07), transparent 82%);*/
  /*--section-overlay-opacity: 0.38;*/
}

/* === Homepage Story Hero === */
.story-hero__grid {
  display: grid;
  gap: clamp(32px, 6vw, 64px);
  align-items: center;
}

.story-hero__copy {
  max-width: 560px;
}

.story-hero__cta {
  max-width: 420px;
}

.story-hero__eyebrow {
  font-size: 0.95rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.6);
}

.eyebrow {
  display: inline-block;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.6);
}

.story-hero__headline {
  font-size: clamp(2.5rem, 6vw, 3.6rem);
  margin: 0;
  text-transform: none;
}

.story-hero__subhead,
.story-hero__note {
  color: rgba(255,255,255,0.85);
  margin: 0;
}

.story-hero__actions .ds-btn {
  min-width: 190px;
}

.story-hero__shots {
  position: relative;
  display: grid;
  gap: var(--ds-space-4);
  justify-items: center;
}

.pillar-points {
  margin: 0;
  padding-left: 1.25rem;
  display: grid;
  gap: var(--ds-space-2);
  font-size: var(--ds-font-size-200);
}

.pillar-points li {
  line-height: var(--ds-line-height-snug);
  color: rgba(255, 255, 255, 0.85);
}

.device-frame {
  position: relative;
  /*border-radius: 32px;*/
  /*padding: 16px;*/
  /*background: linear-gradient(160deg, rgba(255,255,255,0.14), rgba(255,255,255,0.04));*/
  /*box-shadow: 0 30px 60px rgba(0, 0, 0, 0.5);*/
}

.device-frame img {
  width: clamp(240px, 44vw, 360px);
  display: block;
  border-radius: 18px;
}

.device-frame--secondary {
  display: none;
  opacity: 0.8;
}

@media (min-width: 960px) {
  .story-hero__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.95fr);
  }

  .story-hero__shots {
    justify-items: end;
  }

  .device-frame--primary {
    position: relative;
    z-index: 2;
  }

  .device-frame--secondary {
    display: block;
    position: absolute;
    top: 12%;
    right: 12%;
    transform: rotate(-6deg) scale(0.9);
    filter: blur(0px);
  }
}

/* === Pillar Sections === */
.pillar-stack__header h2 {
  font-size: clamp(2rem, 4vw, 2.8rem);
  margin-bottom: 0;
}

.pillar-block {
  display: grid;
  gap: clamp(24px, 4vw, 40px);
  align-items: center;
}

.pillar-block--fortress {
  background:
    radial-gradient(150% 180% at -5% -10%, rgba(34, 197, 94, 0.35), transparent 58%),
    radial-gradient(120% 140% at 105% 110%, rgba(45, 212, 191, 0.16), transparent 60%),
    linear-gradient(150deg, rgba(6, 14, 24, 0.95) 0%, rgba(10, 18, 32, 0.9) 100%);
  border-color: rgba(110, 231, 183, 0.32);
  /*box-shadow: 0 30px 54px rgba(20, 184, 166, 0.2);*/
}

.pillar-block--entry {
  background:
    radial-gradient(140% 170% at -10% -10%, rgba(251, 191, 36, 0.34), transparent 58%),
    radial-gradient(120% 140% at 110% 100%, rgba(244, 114, 182, 0.18), transparent 60%),
    linear-gradient(150deg, rgba(18, 13, 6, 0.92) 0%, rgba(24, 14, 20, 0.9) 100%);
  border-color: rgba(251, 191, 36, 0.3);
  /*box-shadow: 0 30px 54px rgba(251, 191, 36, 0.2);*/
}

.pillar-block--engine {
  background:
    radial-gradient(150% 180% at -8% -10%, rgba(96, 165, 250, 0.3), transparent 60%),
    radial-gradient(120% 140% at 110% 100%, rgba(129, 140, 248, 0.22), transparent 60%),
    linear-gradient(150deg, rgba(6, 13, 26, 0.95) 0%, rgba(11, 19, 38, 0.9) 100%);
  border-color: rgba(96, 165, 250, 0.3);
  /*box-shadow: 0 30px 54px rgba(59, 130, 246, 0.2);*/
}

.pillar-block__eyebrow {
  display: inline-block;
  letter-spacing: 0.2em;
  margin-bottom: -4px;
}

.pillar-block__preview img {
  width: 100%;
  border-radius: var(--ds-radius-md);
  /*box-shadow: 0 18px 36px rgba(0,0,0,0.35);*/
}

@media (min-width: 900px) {
  .pillar-block {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pillar-block:nth-of-type(2) .pillar-block__copy {
    order: 2;
  }

  .pillar-block:nth-of-type(2) .pillar-block__preview {
    order: 1;
  }
}

/* === Why Market Daddy === */

/* === Why Market Daddy === */
.why-market__header {
  text-align: center;
  max-width: 760px;
  margin: 0 auto;
}

.why-market__grid {
  display: grid;
  gap: clamp(18px, 3vw, 28px);
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  align-items: stretch;
}

.why-card {
  position: relative;
  padding: clamp(22px, 3vw, 28px);
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background:
    radial-gradient(140% 140% at -10% 0%, rgba(59, 130, 246, 0.16), transparent 60%),
    radial-gradient(120% 160% at 110% 10%, rgba(94, 234, 212, 0.14), transparent 60%),
    linear-gradient(160deg, rgba(10, 16, 30, 0.96), rgba(12, 18, 32, 0.9));
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.32);
  display: grid;
  gap: var(--ds-space-3);
  min-height: 100%;
  transition: transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease;
}

.why-card:hover,
.why-card:focus-within {
  transform: translateY(-4px);
  border-color: rgba(94, 234, 212, 0.3);
  box-shadow: 0 26px 46px rgba(0, 0, 0, 0.42);
}

.why-card:focus-visible {
  outline: 2px solid rgba(94, 234, 212, 0.65);
  outline-offset: 6px;
}

.why-card__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 16px;
  background: linear-gradient(140deg, rgba(94, 234, 212, 0.22), rgba(59, 130, 246, 0.2));
  color: #f8fafc;
  font-weight: 800;
  font-size: 1rem;
  letter-spacing: 0.08em;
  font-variant-numeric: tabular-nums;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.why-card__body h3 {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: -0.01em;
}

.why-card__body p {
  margin: 0;
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.7;
  font-size: 1rem;
}

@media (min-width: 1100px) {
  .why-market__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (prefers-reduced-motion: reduce) {
  .why-card {
    transition: none;
  }

  .why-card:hover,
  .why-card:focus-within {
    transform: none;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.32);
  }
}

/* === Social Proof === */
.social-proof__grid {
  display: grid;
  gap: clamp(32px, 5vw, 56px);
}

.social-proof__intro {
  text-align: center;
  max-width: 680px;
  margin: 0 auto;
}

.social-proof__quotes {
  display: grid;
  gap: clamp(24px, 4vw, 40px);
}

.quote-card {
  position: relative;
  padding: clamp(24px, 4vw, 40px);
}

.quote-card blockquote {
  font-size: 1.1rem;
  line-height: 1.7;
  margin: 0 0 12px;
  color: rgba(255,255,255,0.9);
}

.quote-card figcaption {
  font-size: 0.95rem;
  color: rgba(255,255,255,0.6);
}

@media (min-width: 960px) {
  .social-proof__grid {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    align-items: start;
  }
}

/* === CTA === */
.cta-card {
  text-align: center;
}

.cta-card .ds-btn {
  min-width: 200px;
}

.cta-content {
  display: grid;
  gap: var(--ds-space-3);
  text-align: center;
}

/* === Pricing Page === */
.pillar-chip {
  text-align: left;
}

.plan-grid {
  display: grid;
  gap: clamp(24px, 4vw, 40px);
}

.pricing-preface__intro {
  max-width: 620px;
  padding-top: 40px;
}

.preface-pillars {
  display: grid;
  gap: var(--ds-space-3);
}

.plan-card {
  position: relative;
  display: grid;
  gap: var(--ds-space-2);
}

.plan-card--featured {
  border: 2px solid var(--ds-color-accent-300);
  box-shadow: 0 22px 38px rgba(255,215,0,0.25);
}

.plan-badge {
  position: absolute;
  top: -14px;
  right: 24px;
  background: var(--ds-color-accent-300);
  color: var(--ds-color-bg-950);
  font-size: 0.75rem;
  padding: 6px 12px;
  border-radius: 999px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.plan-price {
  font-size: 1.6rem;
  margin: 0;
}

.plan-tagline {
  color: rgba(255,255,255,0.7);
  margin-bottom: var(--ds-space-2);
}

.plan-card .ds-btn {
  justify-self: start;
}

@media (min-width: 880px) {
  .plan-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.comparison-table__wrap {
  overflow-x: auto;
  border-radius: var(--ds-radius-md);
  border: 1px solid rgba(255,255,255,0.08);
}

.comparison-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 600px;
}

.comparison-table th,
.comparison-table td {
  padding: 16px 20px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  text-align: left;
}

.comparison-table tbody tr:last-child th,
.comparison-table tbody tr:last-child td {
  border-bottom: none;
}

.comparison-table td {
  text-align: center;
}

.comparison-accordion {
  display: grid;
  gap: var(--ds-space-2);
}

.comparison-accordion details {
  background: rgba(255,255,255,0.04);
  border-radius: var(--ds-radius-md);
  padding: var(--ds-space-2) var(--ds-space-4);
}

.comparison-accordion summary {
  cursor: pointer;
  font-weight: 600;
  list-style: none;
  position: relative;
  padding-right: 28px;
}

.comparison-accordion summary::-webkit-details-marker {
  display: none;
}

.comparison-accordion summary::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 0;
  font-size: 1.2rem;
  transition: transform 0.2s ease;
}

.comparison-accordion details[open] summary::after {
  content: "−";
}

.comparison-accordion details[open] {
  border: 1px solid rgba(255,255,255,0.12);
}

.comparison-accordion ul {
  margin: var(--ds-space-2) 0 0;
  padding-left: 1.2rem;
  display: grid;
  gap: 0.4rem;
}

.faq-grid {
  display: grid;
  gap: var(--ds-space-2);
}

.faq-grid details {
  background: rgba(255,255,255,0.04);
  border-radius: var(--ds-radius-md);
  padding: var(--ds-space-2) var(--ds-space-4);
}

.faq-grid summary {
  cursor: pointer;
  font-weight: 600;
  list-style: none;
  position: relative;
  padding-right: 28px;
}

.faq-grid summary::-webkit-details-marker {
  display: none;
}

.faq-grid summary::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 0;
  font-size: 1.2rem;
  transition: transform 0.2s ease;
}

.faq-grid details[open] summary::after {
  content: "−";
}

.faq-grid details[open] {
  border: 1px solid rgba(255,255,255,0.12);
}

.faq-grid p {
  margin-top: var(--ds-space-2);
  color: rgba(255,255,255,0.75);
}

@media (min-width: 768px) {
  .comparison-accordion {
    display: none;
  }
}

@media (max-width: 767px) {
  .comparison-table__wrap {
    display: none;
  }
}

.check-icon {
  color: var(--ds-color-accent-300);
  font-size: 1.25rem;
  margin-left: 8px;
  display: inline-block;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.check-icon.visible {
  opacity: 1;
}

/* === Company Page Redesign === */
html.page--company {
  /* Tuned for 13" 1080p laptops: preserve breathing room while zooming out ~25-33% */
  --company-font-scale: clamp(0.72, calc(var(--md-font-scale, 0.9)), 0.88);
  --company-density-scale: clamp(0.86, calc(var(--md-density-scale, 0.92)), 1);
  /* Fluid base sizing trims the 13–16" laptop scale while keeping readability */
  font-size: calc(var(--ds-fluid-font-base, 16px) * var(--company-font-scale, 1));
}

@media (min-width: 1800px) {
  html.page--company {
    /* Allow a touch more breathing room on ultra-wide displays */
    font-size: calc(clamp(16px, 0.6vw + 14px, 18px) * var(--company-font-scale, 1));
  }
}

@media (max-width: 640px) {
  html.page--company {
    /* Keep mobile comfortable while still responsive */
    --company-font-scale: 1;
    --company-density-scale: 1;
    font-size: clamp(15px, calc(2.8vw + 12px), 17px);
  }
}

/* Keep the global nav consistent with the rest of the product */
.page--company .site-header,
.page--company .site-header .nav-logo__wordmark,
.page--company .site-header .nav-link,
.page--company .site-header .nav-utility,
.page--company .site-header .nav-cta,
.page--company .site-header .account-menu__trigger,
.page--company .site-header .account-menu__label,
.page--company .site-header .nav-utility__label,
.page--company .site-header .account-menu__avatar,
.page--company .site-header .nav-cta .ds-btn {
  font-size: 1rem;
}
.page--company .site-header .nav-logo__wordmark {
  font-size: 1.05rem;
}
.page--company .site-header .nav-rail--product .nav-link {
  font-size: 0.95rem;
}
.page--company .site-header .nav-utility__icon {
  width: 1.05rem;
  height: 1.05rem;
}

.company-page {
  display: grid;
  gap: clamp(
    calc(12px * var(--company-density-scale, 1)),
    calc(4.5vw * var(--company-density-scale, 1)),
    calc(18px * var(--company-density-scale, 1))
  );
  padding-block: clamp(
    calc(12px * var(--company-density-scale, 1)),
    calc(4.5vw * var(--company-density-scale, 1)),
    calc(18px * var(--company-density-scale, 1))
  );
  overflow-x: hidden;
}

.company-main {
  display: block;
}

@media (max-width: 720px) {
  .company-page {
    padding-bottom: clamp(36px, 8vw, 64px);
  }
}

.company-overview-shell {
  width: min(var(--company-page-max-width), 100%);
  max-width: var(--company-page-max-width);
  margin: 0 auto;
  padding-inline: var(--company-page-gutter);
  box-sizing: border-box;
}
.company-section--overview .company-overview-shell {
  width: 100%;
  max-width: 100%;
  padding-inline: 0;
  margin: 0;
}

.company-main__inner {
  display: grid;
  gap: clamp(
    calc(24px * var(--company-density-scale, 1)),
    calc(4.5vw * var(--company-density-scale, 1)),
    calc(38px * var(--company-density-scale, 1))
  );
  width: min(var(--company-page-max-width), 100%);
  max-width: var(--company-page-max-width);
  margin: 0 auto;
  padding-inline: var(--company-page-gutter);
  box-sizing: border-box;
  overflow-x: hidden;
}

.company-overview-shell.md-container.container,
.company-main__inner.md-container.container {
  max-width: var(--company-page-max-width);
  padding-left: var(--company-page-gutter);
  padding-right: var(--company-page-gutter);
}


.company-summary-band {
  display: grid;
  gap: clamp(24px, 5vw, 36px);
}

.summary-band__header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: clamp(16px, 3vw, 24px);
  padding-bottom: clamp(14px, 3vw, 20px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.summary-band__identity {
  display: grid;
  gap: 6px;
  max-width: min(540px, 100%);
}

.summary-band__eyebrow {
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: clamp(0.7rem, 1.3vw, 0.85rem);
  color: rgba(255, 255, 255, 0.65);
}

.summary-band__title {
  margin: 0;
  font-size: clamp(1.6rem, 3vw, 2rem);
  font-weight: 700;
  display: flex;
  flex-wrap: wrap;
  gap: clamp(6px, 1.6vw, 12px);
  align-items: baseline;
}

.summary-band__ticker {
  font-size: clamp(1.1rem, 2vw, 1.4rem);
  color: var(--ds-color-text-300);
}

.summary-band__tagline {
  margin: 0;
  font-size: clamp(0.9rem, 1.6vw, 1rem);
  color: var(--ds-color-text-300);
}

.summary-band__cta {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--ds-space-2);
}

.summary-band__grid {
  display: grid;
  gap: clamp(20px, 4vw, 32px);
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.summary-band__column {
  display: grid;
  gap: clamp(12px, 3vw, 18px);
}

.summary-band__section-title {
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: rgba(255, 255, 255, 0.68);
}

.summary-price {
  display: grid;
  gap: 4px;
}

.summary-price__label {
  font-size: 0.85rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.6);
}

.summary-price__value {
  display: flex;
  align-items: baseline;
  gap: 8px;
}

.summary-price__number {
  font-size: clamp(1.8rem, 4vw, 2.4rem);
  font-weight: 700;
}

.summary-price__currency {
  font-size: clamp(1rem, 2vw, 1.2rem);
  color: var(--ds-color-text-300);
}

.summary-price__hint {
  font-size: 0.85rem;
  color: var(--ds-color-text-300);
}

.summary-facts {
  display: grid;
  gap: 10px;
}

.summary-fact {
  display: grid;
  gap: 2px;
}

.summary-fact dt {
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: rgba(255, 255, 255, 0.6);
}

.summary-fact dd {
  margin: 0;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.92);
}

.summary-verdict-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: clamp(10px, 2vw, 16px);
}

.summary-verdict-item {
  display: grid;
  gap: 6px;
  padding: clamp(12px, 2.5vw, 16px);
  border-radius: var(--ds-radius-lg);
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.02);
}

.summary-verdict-item.is-pass {
  border-color: rgba(22, 163, 74, 0.32);
}

.summary-verdict-item.is-fail {
  border-color: rgba(239, 68, 68, 0.28);
}

.summary-verdict-meta {
  display: flex;
  gap: 12px;
  align-items: center;
}

.summary-verdict-status {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 1rem;
  background: rgba(255, 255, 255, 0.08);
}

.summary-verdict-eyebrow {
  margin: 0;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: rgba(255, 255, 255, 0.54);
}

.summary-verdict-title {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
}

.summary-verdict-reason {
  margin: 0;
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.95rem;
}

.summary-ai-takeaway {
  margin: 0;
  font-size: 0.95rem;
  color: rgba(255, 255, 255, 0.85);
  min-height: 2.4em;
}

.summary-ai-takeaway[data-ai-state="loading"] {
  color: rgba(255, 255, 255, 0.6);
}

.summary-ai-takeaway[data-ai-state="error"] {
  color: #f97316;
}

.summary-band__chart {
  border-radius: var(--ds-radius-lg);
  background: rgba(255, 255, 255, 0.02);
  padding: clamp(12px, 2.5vw, 18px);
}

.summary-band__chart .price-graph {
  min-height: 220px;
}

@media (max-width: 720px) {
  .summary-band__chart .price-graph {
    min-height: 200px;
  }
}

.company-content-grid {
  display: grid;
  gap: clamp(
    calc(20px * var(--company-density-scale, 1)),
    calc(3.6vw * var(--company-density-scale, 1)),
    calc(26px * var(--company-density-scale, 1))
  );
  grid-template-columns: minmax(0, 1fr);
  grid-auto-flow: row dense;
}

@media (min-width: 768px) {
  .company-content-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1280px) {
  .company-content-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.company-section-pair {
  display: grid;
  gap: clamp(24px, 4vw, 32px);
  grid-template-columns: minmax(0, 1fr);
  grid-column: 1 / -1;
}

@media (min-width: 768px) {
  .company-section-pair {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.collapsible-data {
  display: grid;
  gap: var(--ds-space-3);
}

.collapsible-data__trigger {
  display: inline-flex;
  align-items: center;
  gap: var(--ds-space-2);
  padding: var(--ds-space-2) var(--ds-space-3);
  border-radius: var(--ds-radius-pill);
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.04);
  color: inherit;
  cursor: pointer;
  font-weight: 600;
}

.collapsible-data__icon {
  display: inline-flex;
  width: 1.5rem;
  height: 1.5rem;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}

.collapsible-data__content {
  display: grid;
  gap: var(--ds-space-3);
}

.company-card {
  position: relative;
  background: linear-gradient(160deg, rgba(18, 23, 36, 0.92), rgba(8, 12, 24, 0.92));
  border-radius: var(--ds-radius-xl);
  border: 1px solid rgba(255, 255, 255, 0.08);
  padding: clamp(
    calc(18px * var(--company-density-scale, 1)),
    calc(3.2vw * var(--company-density-scale, 1)),
    calc(28px * var(--company-density-scale, 1))
  );
  box-shadow: 0 24px 55px rgba(5, 8, 21, 0.45);
  backdrop-filter: blur(14px);
}

.company-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background: radial-gradient(circle at top right, rgba(255, 196, 120, 0.08), transparent 55%);
  mix-blend-mode: screen;
}

.company-card__header {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: clamp(
    calc(10px * var(--company-density-scale, 1)),
    calc(1.8vw * var(--company-density-scale, 1)),
    calc(16px * var(--company-density-scale, 1))
  );
  margin-bottom: clamp(
    calc(10px * var(--company-density-scale, 1)),
    calc(2.6vw * var(--company-density-scale, 1)),
    calc(18px * var(--company-density-scale, 1))
  );
}

.company-card__header-main {
  display: grid;
  gap: 6px;
  max-width: min(580px, 100%);
}

.company-card__eyebrow {
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: clamp(0.7rem, 1.3vw, 0.85rem);
  color: rgba(255, 255, 255, 0.65);
}

.company-card__title {
  margin: 0;
  font-size: clamp(1.45rem, 2.6vw, 1.9rem);
  font-weight: 700;
}

.company-card__description {
  margin: 0;
  font-size: clamp(0.95rem, 1.9vw, 1.1rem);
  color: rgba(255, 255, 255, 0.68);
}

.company-card--sticky {
  position: sticky;
  top: calc(var(--ds-nav-height, 70px) + clamp(10px, 2vw, 18px));
  z-index: 950;
}

.company-snapshot-grid {
  display: grid;
  gap: clamp(
    calc(20px * var(--company-density-scale, 1)),
    calc(3.6vw * var(--company-density-scale, 1)),
    calc(28px * var(--company-density-scale, 1))
  );
  align-items: start;
}

.snapshot-card {
  display: grid;
  gap: clamp(
    calc(16px * var(--company-density-scale, 1)),
    calc(2.6vw * var(--company-density-scale, 1)),
    calc(24px * var(--company-density-scale, 1))
  );
  grid-column: span 1;
}

@media (min-width: 1024px) {
  .snapshot-card {
    grid-template-rows: auto minmax(0, 1fr) auto;
  }
}

.snapshot-card--wide {
  grid-column: span 1;
}

.snapshot-card__header {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: clamp(10px, 2.6vw, 18px);
  padding-bottom: clamp(10px, 2.4vw, 16px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.snapshot-card__identity {
  display: grid;
  gap: 6px;
  max-width: min(520px, 100%);
}

.snapshot-card__meta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-end;
  gap: clamp(10px, 2.4vw, 16px);
  border: 1px solid white;
  border-radius: var(--ds-radius-md);
}

@media (min-width: 600px) {
  .snapshot-card__meta {
    flex-direction: row;
    align-items: flex-end;
  }
}

@media (max-width: 599px) {
  .snapshot-card__meta {
    align-items: flex-start;
  }
}

.snapshot-card__eyebrow {
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: clamp(0.68rem, 1.2vw, 0.82rem);
  color: rgba(255, 255, 255, 0.62);
}

.snapshot-card__title {
  margin: 0;
  font-size: clamp(2rem, 5vw, 2.8rem);
  line-height: 1.05;
}

.snapshot-card__ticker {
  font-size: clamp(1rem, 2.4vw, 1.25rem);
  font-weight: 600;
  margin-left: 8px;
  color: var(--ds-color-accent-300);
}

.snapshot-card__tagline {
  margin: 0;
  font-size: clamp(0.9rem, 1.9vw, 1.1rem);
  color: rgba(255, 255, 255, 0.68);
}

.snapshot-card__actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.snapshot-card__watchlist {
  white-space: nowrap;
}

@media (max-width: 599px) {
  .snapshot-card__actions {
    width: 100%;
    justify-content: flex-start;
  }

  .snapshot-card__watchlist {
    width: 100%;
  }
}

.snapshot-card__details {
  display: grid;
  gap: clamp(18px, 3vw, 28px);
}

@media (min-width: 900px) {
  .snapshot-card__details {
    grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
    align-items: start;
  }
}

.snapshot-card__facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: clamp(12px, 2.4vw, 18px);
  margin: 0;
}

.snapshot-card__facts dt {
  margin: 0;
  font-size: 0.75rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.58);
}

.snapshot-card__facts dd {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.88);
}

.snapshot-fact {
  display: grid;
  gap: 4px;
  padding: clamp(10px, 2.4vw, 16px);
  border-radius: var(--ds-radius-lg);
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(4, 7, 14, 0.55);
  backdrop-filter: blur(10px);
}

.snapshot-card__ai {
  display: grid;
  gap: clamp(10px, 2vw, 16px);
  align-content: start;
}

.snapshot-card__section-title {
  margin: 0;
  font-size: 0.75rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.6);
}

.snapshot-card__chart {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: clamp(12px, 1.8vw, 16px);
  padding: clamp(12px, 1.8vw, 18px);
  border-radius: var(--ds-radius-lg);
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: linear-gradient(150deg, rgba(12, 16, 28, 0.92), rgba(4, 6, 12, 0.98));
  overflow: hidden;
}

.pg-meta {
  position: relative;
  display: grid;
  gap: clamp(6px, 1.2vw, 10px);
  max-width: min(440px, 100%);
  text-align: left;
  padding: clamp(10px, 1.6vw, 14px);
  border-radius: var(--ds-radius-md);
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: linear-gradient(150deg, rgba(12, 16, 28, 0.94), rgba(4, 6, 12, 0.82));
  box-shadow: 0 12px 30px rgba(8, 12, 28, 0.45);
  backdrop-filter: blur(12px);
  align-self: start;
}

.pg-meta__values {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: clamp(10px, 2vw, 16px);
  justify-content: flex-start;
}

.pg-meta__title {
  margin: 0;
  font-size: 0.75rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.62);
}

.pg-meta__price {
  font-size: clamp(1.45rem, 3.2vw, 2rem);
  font-weight: 700;
  color: rgba(255, 255, 255, 0.96);
}

.pg-meta__delta {
  font-size: clamp(0.95rem, 2.4vw, 1.1rem);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.72);
  transition: color 0.2s ease;
}

.pg-meta__delta.is-positive {
  color: #00c86f;
}

.pg-meta__delta.is-negative {
  color: #ff3b30;
}

.pg-meta__timestamp {
  margin: 0;
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.5);
}

.pg-ranges {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  padding: 4px 6px;
  border-radius: var(--ds-radius-lg);
  background: rgba(0, 0, 0, 0.35);
  backdrop-filter: blur(14px);
}

.pg-pill {
  background: rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.9);
  border-radius: var(--ds-radius-md);
  border: 1px solid rgba(255, 255, 255, 0.14);
  padding: 6px 12px;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.pg-pill:hover,
.pg-pill:focus-visible {
  background: rgba(255, 255, 255, 0.16);
  color: rgba(10, 10, 10, 0.92);
  border-color: rgba(255, 215, 0, 0.6);
  outline: none;
  box-shadow: 0 0 0 1px rgba(255, 215, 0, 0.25);
}

.pg-pill.active {
  background: var(--ds-color-accent-500);
  color: #0b0b0b;
  border-color: rgba(255, 255, 255, 0.24);
  box-shadow: 0 6px 16px rgba(255, 215, 0, 0.25);
}

.pg-chart {
  position: relative;
  width: 100%;
  min-height: clamp(200px, 30vw, 320px);
  border-radius: calc(var(--ds-radius-lg) - 6px);
  overflow: hidden;
}

.pg-chart,
.pg-chart .js-plotly-plot,
.pg-chart .plot-container,
.pg-chart .svg-container {
  width: 100% !important;
  max-width: 100% !important;
}

.pg-chart .svg-container {
  margin: 0 !important;
}

.pg-chart .main-svg {
  width: 100% !important;
}

@media (max-width: 900px) {
  .snapshot-card__chart {
    padding: clamp(12px, 3.4vw, 18px);
  }

  .pg-meta__values {
    gap: 10px;
  }
}

@media (max-width: 520px) {
  .pg-meta__price {
    font-size: clamp(1.35rem, 5vw, 1.7rem);
  }

  .pg-meta__delta {
    font-size: clamp(0.9rem, 4vw, 1rem);
  }

  .pg-ranges {
    width: 100%;
    justify-content: flex-start;
  }

  .pg-pill {
    flex: 1 0 calc(33% - 8px);
    text-align: center;
  }
}

@media (max-width: 1199.98px) {
  .snapshot-card__chart {
    display: grid;
    min-height: clamp(220px, 46vw, 360px);
    max-height: none;
  }

  .snapshot-card__chart .price-graph {
    height: auto;
  }

  .snapshot-card__chart .pg-chart {
    min-height: clamp(200px, 54vw, 320px);
    height: auto;
  }

  .pg-chart,
  .pg-chart .js-plotly-plot,
  .pg-chart .plot-container,
  .pg-chart .svg-container {
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
  }

  .pg-chart .svg-container {
    margin: 0 !important;
  }

  .pg-chart .main-svg {
    width: 100% !important;
    height: 100% !important;
  }
}

.verdict-insight {
  display: grid;
  gap: clamp(10px, 2vw, 16px);
  padding: clamp(16px, 3vw, 22px);
  border-radius: var(--ds-radius-lg);
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(7, 11, 22, 0.7);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.02);
}

.verdict-insight__header {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: clamp(10px, 2vw, 14px);
  align-items: center;
}

.verdict-insight__status {
  font-size: 1.25rem;
}

.verdict-insight__text {
  display: grid;
  gap: 4px;
}

.verdict-insight__question {
  margin: clamp(
    calc(14px * var(--company-density-scale, 1)),
    calc(3.2vw * var(--company-density-scale, 1)),
    calc(20px * var(--company-density-scale, 1))
  ) 0;
  font-size: clamp(1.05rem, 2.3vw, 1.2rem);
}

.verdict-insight__tag {
  margin: 0;
  font-size: 0.75rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.6);
}

.verdict-insight__badge {
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  background: rgba(24, 208, 135, 0.12);
  color: #3fe59b;
}

.verdict-insight.is-fail .verdict-insight__badge,
.verdict-insight.is-fail .verdict-insight__status {
  color: #f87171;
}

.verdict-insight__reason {
  margin: 0;
  color: rgba(255, 255, 255, 0.75);
  line-height: 1.6;
}

.section-inline-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: clamp(12px, 2.5vw, 18px);
}

.inline-action-button {
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.04);
  color: var(--ds-color-text-200);
  font: inherit;
  font-size: 0.85rem;
  padding: 6px 14px;
  border-radius: 999px;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.inline-action-button:hover,
.inline-action-button:focus {
  background: rgba(250, 193, 30, 0.18);
  border-color: rgba(250, 193, 30, 0.45);
  color: var(--color-foreground);
  outline: none;
}

.inline-action-button.is-active,
.inline-action-button[aria-pressed="true"] {
  background: rgba(34, 197, 94, 0.18);
  border-color: rgba(34, 197, 94, 0.55);
  color: #4ade80;
}

.inline-action-button[data-inline-action="note"].is-active::after {
  content: " •";
  color: currentColor;
  font-weight: 700;
}

.company-section {
  display: grid;
  gap: clamp(
    calc(14px * var(--company-density-scale, 1)),
    calc(2.6vw * var(--company-density-scale, 1)),
    calc(22px * var(--company-density-scale, 1))
  );
  scroll-margin-top: clamp(80px, 11vw, 128px);
}

.company-section-panel {
  width: 100%;
}

.company-sections-ready .company-section-panel {
  display: none;
}

.company-sections-ready .company-section-panel.is-active {
  display: grid;
}

.company-section-selector {
  width: 100%;
  overflow: hidden;
}

.company-section-selector__inner {
  display: grid;
  gap: 10px;
  padding: clamp(10px, 2vw, 14px) clamp(12px, 3vw, 20px);
  max-width: 100%;
  width: 100%;
  margin: 0 auto;
  border-radius: var(--ds-radius-xl);
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: linear-gradient(155deg, rgba(16, 20, 34, 0.95), rgba(8, 12, 24, 0.95));
  box-shadow: 0 18px 40px rgba(5, 8, 21, 0.4);
}

.company-section-selector__label {
  margin: 0;
  font-size: 0.85rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.6);
}

.company-section-selector__nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(10px, 3vw, 16px);
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x;
}

.company-section-selector__nav::-webkit-scrollbar {
  display: none;
}

.company-section-selector__tab {
  flex: 0 0 auto;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  padding: 10px 18px;
  background: rgba(255, 255, 255, 0.05);
  color: rgba(255, 255, 255, 0.8);
  font-weight: 600;
  font-size: 0.88rem;
  letter-spacing: 0.01em;
  white-space: nowrap;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.company-section-selector__tab:hover,
.company-section-selector__tab:focus-visible {
  outline: none;
  border-color: rgba(255, 215, 0, 0.4);
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}

.company-section-selector__tab.is-active {
  background: linear-gradient(135deg, rgba(255, 215, 0, 0.95), rgba(255, 170, 0, 0.9));
  color: #101010;
  border-color: transparent;
  /*box-shadow: 0 12px 30px rgba(255, 200, 0, 0.3);*/
  transform: translateY(-1px);
}

@media (max-width: 640px) {
  .company-section-selector__nav {
    flex-wrap: wrap;
    justify-content: space-evenly;
    overflow-x: visible;
    padding-bottom: 0;
  }

  .company-section-selector__tab {
    padding: 8px 14px;
    font-size: 0.82rem;
  }
}

.financial-deep-dive {
  gap: clamp(24px, 4vw, 36px);
}

.financial-deep-dive > .financial-card {
  margin: 0;
}

.financial-deep-dive .section-heading {
  padding: clamp(18px, 3.5vw, 26px);
  border-radius: var(--ds-radius-xl);
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: linear-gradient(160deg, rgba(18, 23, 36, 0.92), rgba(8, 12, 24, 0.9));
  box-shadow: 0 18px 40px rgba(5, 8, 21, 0.45);
}

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

.company-section--half {
  grid-column: span 1;
}

.company-section--double {
  grid-column: span 1;
}

@media (min-width: 768px) {
  .company-section--double {
    grid-column: span 2;
  }
}

@media (min-width: 900px) {
  .company-snapshot-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1280px) {
  .company-snapshot-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.company-tabs-shell {
  display: grid;
  gap: clamp(32px, 5vw, 48px);
}

.company-deck {
  width: min(1180px, 94vw);
  margin: 0 auto;
  display: grid;
  gap: clamp(24px, 4vw, 32px);
}

.company-deck-controls {
  display: flex;
  align-items: center;
  gap: clamp(12px, 3vw, 24px);
  padding: clamp(12px, 2.8vw, 18px);
  border-radius: var(--ds-radius-xl);
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: linear-gradient(135deg, rgba(20, 20, 20, 0.92), rgba(10, 10, 10, 0.92));
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.35);
}

.company-deck-nav {
  border: none;
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.8);
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
.company-deck-nav:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}}

.company-deck-nav:hover:not(:disabled),
.company-deck-nav:focus-visible:not(:disabled) {
  outline: none;
  background: rgba(255, 255, 255, 0.16);
  color: var(--ds-color-accent-300);
  transform: translateY(-1px);
}

.company-deck-pager {
  display: flex;
  align-items: stretch;
  flex: 1;
  gap: clamp(10px, 2vw, 16px);
  list-style: none;
  padding: 0;
  margin: 0;
  overflow-x: auto;
  scrollbar-width: none;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
}

.company-deck-pager::-webkit-scrollbar {
  display: none;
}

.company-deck-step-item {
  flex: 0 0 auto;
  scroll-snap-align: center;
}

.company-deck-step {
  display: grid;
  justify-items: center;
  gap: 6px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: var(--ds-radius-lg);
  padding: 10px 18px;
  min-width: 110px;
  background: rgba(255, 255, 255, 0.05);
  color: rgba(255, 255, 255, 0.78);
  cursor: pointer;
  font-weight: 600;
  font-size: 0.85rem;
  text-align: center;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.company-deck-step__dot {
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  font-size: 0.9rem;
  font-weight: 700;
}

.company-deck-step__label {
  font-size: 0.8rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.company-deck-step:hover,
.company-deck-step:focus-visible {
  outline: none;
  border-color: rgba(255, 215, 0, 0.4);
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}

.company-deck-step:hover .company-deck-step__dot,
.company-deck-step:focus-visible .company-deck-step__dot {
  background: rgba(255, 255, 255, 0.22);
}

.company-deck-step.active {
  background: linear-gradient(135deg, rgba(255, 215, 0, 0.95), rgba(255, 170, 0, 0.9));
  color: #101010;
  border-color: transparent;
  box-shadow: 0 14px 32px rgba(255, 200, 0, 0.28);
  transform: translateY(-1px);
}

.company-deck-step.active .company-deck-step__dot {
  background: rgba(16, 16, 16, 0.16);
}

.company-deck-panels {
  width: min(1180px, 94vw);
  margin: 0 auto;
  display: grid;
}

.company-module {
  display: none;
  gap: clamp(28px, 5vw, 40px);
}

.company-module.active {
  display: grid;
}

@media (max-width: 900px) {
  .company-deck-controls {
    padding-inline: clamp(10px, 3vw, 16px);
  }

  .company-deck-step {
    min-width: 96px;
    padding: 8px 14px;
  }

  .company-deck-step__label {
    font-size: 0.72rem;
  }
}

@media (max-width: 640px) {
  .company-deck-controls {
    gap: clamp(8px, 4vw, 16px);
  }

  .company-deck-nav {
    width: 38px;
    height: 38px;
  }

  .company-deck-pager {
    gap: 10px;
  }

  .company-deck-step {
    min-width: 88px;
    padding: 8px 12px;
  }

  .company-deck-step__dot {
    width: 24px;
    height: 24px;
    font-size: 0.8rem;
  }
}

.company-hero {
  display: grid;
  gap: clamp(
    calc(26px * var(--company-density-scale, 1)),
    calc(4.2vw * var(--company-density-scale, 1)),
    calc(40px * var(--company-density-scale, 1))
  );
  align-content: stretch;
}

@media (min-width: 1024px) {
  .company-hero {
    min-height: clamp(540px, calc(86vh - var(--company-hero-offset)), 740px);
  }
}

.company-hero__chart-block {
  position: relative;
  border-radius: var(--ds-radius-xl);
  overflow: hidden;
  min-height: clamp(300px, 48vw, 480px);
  background:
    radial-gradient(circle at top right, rgba(255, 215, 0, 0.08), transparent 45%),
    linear-gradient(155deg, rgba(26, 26, 26, 0.98), rgba(6, 6, 6, 0.92));
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.48);
}

.hero-chart {
  position: relative;
  height: 100%;
}

.hero-chart__canvas {
  height: 100%;
  display: grid;
}


.price-graph {
  position: relative;
  display: grid;
  width: 100%;
  height: 100%;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto auto minmax(0, 1fr);
  grid-template-areas:
    "meta"
    "toolbar"
    "chart";
  gap: clamp(12px, 1.8vw, 18px);
  padding: clamp(12px, 1.8vw, 18px);
  border-radius: calc(var(--ds-radius-lg) - 2px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: linear-gradient(155deg, rgba(14, 18, 32, 0.94), rgba(6, 8, 18, 0.88));
  box-shadow: 0 24px 60px rgba(5, 10, 20, 0.45);
  overflow: hidden;
}

.pg-meta {
  grid-area: meta;
  width: 100%;
}

.price-graph-toolbar {
  grid-area: toolbar;
  display: flex;
  flex-wrap: wrap;
  gap: clamp(10px, 2vw, 16px);
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 0;
  align-self: start;
}

.pg-chart {
  grid-area: chart;
  align-self: stretch;
}

@media (min-width: 900px) {
  .price-graph {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
    grid-template-rows: auto minmax(0, 1fr);
    grid-template-areas:
      "meta toolbar"
      "chart chart";
    align-items: start;
  }

  .pg-meta {
    width: min(440px, 100%);
    justify-self: start;
  }

  .price-graph-toolbar {
    justify-content: flex-end;
    justify-self: end;
  }
}

.pg-chart {
  width: 100%;
  height: 100%;
  min-height: clamp(260px, 32vw, 460px);
  border-radius: calc(var(--ds-radius-lg) - 6px);
  overflow: hidden;
  background: rgba(0, 0, 0, 0.2);
}

.hero-chart__overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  display: flex;
  align-items: flex-end;
  background: linear-gradient(180deg, rgba(10, 10, 10, 0.05) 0%, rgba(10, 10, 10, 0.48) 55%, rgba(5, 5, 5, 0.92) 100%);
}

.hero-chart__overlay-inner {
  pointer-events: auto;
  width: 100%;
  display: grid;
  gap: clamp(
    calc(18px * var(--company-density-scale, 1)),
    calc(3.6vw * var(--company-density-scale, 1)),
    calc(28px * var(--company-density-scale, 1))
  );
  padding: clamp(
    calc(20px * var(--company-density-scale, 1)),
    calc(4.4vw * var(--company-density-scale, 1)),
    calc(42px * var(--company-density-scale, 1))
  );
  color: #fff;
}

@media (min-width: 960px) {
  .hero-chart__overlay-inner {
    grid-template-columns: minmax(0, 420px) minmax(0, 1fr);
    align-items: end;
    gap: clamp(24px, 5vw, 40px);
  }
}

.hero-chart__identity {
  display: grid;
  gap: clamp(8px, 1.6vw, 14px);
  max-width: min(520px, 92%);
}

.hero-eyebrow {
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: clamp(0.7rem, 1.3vw, 0.85rem);
  color: rgba(255, 255, 255, 0.72);
}

.hero-headline {
  margin: 0;
  font-size: clamp(2rem, 5vw, 3.1rem);
  line-height: 1.05;
  font-weight: 700;
}

.hero-headline__ticker {
  display: block;
  font-size: clamp(1rem, 2.4vw, 1.25rem);
  font-weight: 500;
  color: rgba(255, 255, 255, 0.72);
}

.hero-tagline {
  margin: 0;
  color: rgba(255, 255, 255, 0.7);
  font-size: clamp(0.95rem, 2vw, 1.1rem);
  letter-spacing: 0.01em;
}

.hero-chart__summary {
  display: grid;
  gap: clamp(
    calc(14px * var(--company-density-scale, 1)),
    calc(3.6vw * var(--company-density-scale, 1)),
    calc(24px * var(--company-density-scale, 1))
  );
}

@media (min-width: 960px) {
  .hero-chart__summary {
    grid-template-columns: minmax(0, 320px) minmax(0, 1fr);
    align-items: end;
  }
}

.hero-chart__meta {
  display: grid;
  gap: clamp(
    calc(10px * var(--company-density-scale, 1)),
    calc(1.8vw * var(--company-density-scale, 1)),
    calc(16px * var(--company-density-scale, 1))
  );
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}

.hero-chart__meta-item {
  display: grid;
  gap: 4px;
  padding: clamp(
    calc(10px * var(--company-density-scale, 1)),
    calc(2.2vw * var(--company-density-scale, 1)),
    calc(16px * var(--company-density-scale, 1))
  );
  border-radius: var(--ds-radius-md);
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(10px);
}

.hero-chart__meta-item dt {
  margin: 0;
  font-size: clamp(0.7rem, 1.3vw, 0.82rem);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.62);
}

.hero-chart__meta-item dd {
  margin: 0;
  font-size: clamp(1rem, 2vw, 1.12rem);
  color: rgba(255, 255, 255, 0.92);
}

@media (max-width: 1024px) {
  .hero-chart__overlay-inner {
    padding: clamp(20px, 6vw, 36px);
  }
}

@media (max-width: 900px) {
  .hero-chart__overlay {
    align-items: stretch;
  }

  .hero-chart__overlay-inner {
    align-content: flex-end;
  }

  .hero-chart__summary {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 720px) {
  .hero-chart__overlay-inner {
    padding: clamp(18px, 7vw, 28px);
    gap: clamp(18px, 6vw, 24px);
  }

  .hero-headline__ticker {
    display: inline;
    margin-left: 8px;
  }

  .hero-chart__meta {
    grid-template-columns: minmax(0, 1fr);
  }

  .hero-price {
    padding: clamp(14px, 6vw, 20px);
  }

  .hero-metrics-strip {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 480px) {
  .hero-price__value {
    flex-wrap: wrap;
    gap: 0.2em;
  }
}




.company-hero__insights {
  display: grid;
  gap: clamp(
    calc(14px * var(--company-density-scale, 1)),
    calc(2.2vw * var(--company-density-scale, 1)),
    calc(20px * var(--company-density-scale, 1))
  );
  align-content: start;
}

.company-hero__insights.company-card {
  padding: clamp(
    calc(18px * var(--company-density-scale, 1)),
    calc(2.4vw * var(--company-density-scale, 1)),
    calc(24px * var(--company-density-scale, 1))
  );
}

.hero-insights__body {
  display: grid;
  gap: clamp(16px, 2.2vw, 24px);
  align-content: start;
}

@media (min-width: 1100px) {
  .hero-insights__body {
    gap: clamp(16px, 2.4vw, 24px);
    grid-template-rows: minmax(0, auto) minmax(0, 1fr);
  }
}

@media (min-width: 1280px) {
  .company-card-grid--hero {
    align-items: stretch;
  }

  .company-card-grid--hero > * {
    height: 100%;
  }

  .company-hero__insights {
    display: flex;
    flex-direction: column;
    gap: clamp(16px, 2.4vw, 24px);
  }

  .company-hero__insights.company-card {
    padding: clamp(22px, 2.4vw, 26px);
  }

  .company-hero__insights .hero-insights__body {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: clamp(16px, 2.2vw, 22px);
  }

  .hero-insights__verdict {
    flex: 1;
  }

  .hero-insights__metrics {
    flex-shrink: 0;
  }

  .hero-insights__verdict-grid {
    grid-auto-rows: minmax(0, 1fr);
  }

  .hero-metrics-strip--dense {
    grid-auto-rows: minmax(0, 1fr);
  }
}

.hero-insights__verdict,
.hero-insights__metrics {
  display: grid;
  gap: clamp(12px, 2.1vw, 18px);
  align-content: start;
}

.hero-insights__section-head {
  display: grid;
  gap: 4px;
  margin-bottom: clamp(10px, 1.8vw, 16px);
}

.hero-insights__section-title {
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: clamp(0.78rem, 1.3vw, 0.88rem);
  color: rgba(255, 255, 255, 0.72);
}

.hero-insights__section-subtitle {
  margin: 0;
  font-size: clamp(0.9rem, 1.8vw, 1.05rem);
  color: rgba(255, 255, 255, 0.62);
}

.hero-insights__verdict-grid {
  display: grid;
  gap: clamp(12px, 2vw, 18px);
}

.hero-insights__verdict-grid .verdict-insight {
  padding: clamp(12px, 2vw, 18px);
  gap: clamp(6px, 1.8vw, 10px);
}

.hero-insights__verdict-grid .verdict-insight__header {
  gap: clamp(8px, 2vw, 12px);
}

.hero-insights__verdict-grid .verdict-insight__question {
  font-size: clamp(0.95rem, 2vw, 1.1rem);
}

.hero-insights__verdict-grid .verdict-insight__reason {
  font-size: clamp(0.9rem, 1.6vw, 1rem);
  line-height: 1.5;
}

.hero-metrics-strip {
  display: grid;
  gap: clamp(12px, 2.6vw, 18px);
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.hero-metrics-strip--dense {
  gap: clamp(10px, 1.8vw, 14px);
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.hero-metrics-strip--dense .hero-metric {
  padding: clamp(12px, 1.8vw, 18px);
  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.05);
}

.hero-metrics-strip--dense .hero-metric__hint {
  color: rgba(255, 255, 255, 0.62);
}

.hero-metric {
  display: grid;
  gap: clamp(8px, 1.6vw, 12px);
  padding: clamp(14px, 2.6vw, 20px);
  border-radius: var(--ds-radius-lg);
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(10px);
}

.hero-metric__label {
  margin: 0;
  font-size: clamp(0.82rem, 1.5vw, 0.92rem);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: rgba(255, 255, 255, 0.7);
}

.hero-metric__value {
  margin: 0;
  font-size: clamp(1.6rem, 3.6vw, 2.15rem);
  font-weight: 700;
}

.hero-metric__hint {
  font-size: clamp(0.82rem, 1.6vw, 0.95rem);
  color: rgba(255, 255, 255, 0.65);
}

.charts-grid {
  display: grid;
  gap: clamp(18px, 3vw, 24px);
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.chart-card {
  display: grid;
  gap: clamp(12px, 2.4vw, 18px);
}

.chart-card__header {
  display: grid;
  gap: 6px;
}

.chart-card__description,
.chart-card__footnote {
  margin: 0;
  color: rgba(255, 255, 255, 0.68);
  font-size: 0.95rem;
}

.chart-card__meta {
  display: flex;
  justify-content: space-between;
  gap: clamp(12px, 2.4vw, 16px);
  padding: 12px clamp(12px, 2vw, 16px);
  border-radius: var(--ds-radius-lg);
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.chart-card__stats {
  display: grid;
  gap: clamp(10px, 2vw, 16px);
  padding: clamp(12px, 2vw, 18px);
  border-radius: var(--ds-radius-lg);
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.06);
}

.chart-card .metric-title,
.metric-group-card .metric-title,
.ai-summary-card .metric-title {
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.75rem;
  color: var(--ds-color-accent-300, #f4c542);
}

.metrics-grid {
  --metric-card-max-width: 1120px;
  --metric-card-min-width: clamp(280px, 30vw, 360px);
  display: grid;
  width: 100%;
  margin-inline: auto;
  max-width: var(--metric-card-max-width);
  gap: clamp(20px, 3vw, 32px);
  grid-template-columns: repeat(auto-fit, minmax(var(--metric-card-min-width), 1fr));
  justify-content: center;
}

.metrics-grid > .metric-group-card {
  min-width: 0;
}

.metric-group-card {
  position: relative;
  display: grid;
  gap: clamp(16px, 2.6vw, 22px);
  isolation: isolate;
  overflow: hidden;
}

.metric-group-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: radial-gradient(circle at 12% -10%, rgba(255, 200, 95, 0.25), transparent 60%),
              radial-gradient(circle at 88% 120%, rgba(74, 143, 255, 0.18), transparent 65%);
  opacity: 0.85;
  pointer-events: none;
}

.metric-group-card__header {
  display: grid;
  gap: clamp(6px, 1.4vw, 10px);
}

.metric-group-card__description {
  margin: 0;
  font-size: clamp(0.88rem, 1.4vw, 0.98rem);
  color: rgba(255, 255, 255, 0.75);
  line-height: 1.6;
}

.metric-group-card .ratio-table {
  gap: clamp(12px, 2.2vw, 16px);
}

@media (max-width: 1180px) {
  .metrics-grid {
    --metric-card-max-width: 760px;
  }
}

@media (max-width: 820px) {
  .metrics-grid {
    --metric-card-max-width: 100%;
    grid-template-columns: minmax(0, 1fr);
  }
}



.section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--ds-space-2);
}

.section-heading-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.section-title {
  margin: 0;
  font-size: clamp(1.6rem, 3vw, 2.1rem);
}

.section-anchor-btn {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 50%;
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 0.95rem;
}

.section-anchor-btn:hover,
.section-anchor-btn:focus-visible {
  background: rgba(255, 255, 255, 0.18);
}

.section-share-btn {
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.85);
  border-radius: 999px;
  padding: 6px 14px;
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.section-share-btn:hover,
.section-share-btn:focus-visible {
  outline: none;
  background: rgba(255, 255, 255, 0.16);
  color: #fff;
  transform: translateY(-1px);
}

.section-share-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}

.section-lede {
  margin: 0;
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.78);
  line-height: 1.6;
}

.valuation-header,
.financials-intro {
  display: grid;
  gap: var(--ds-space-1);
}

.financial-card-grid {
  display: grid;
  gap: clamp(20px, 3vw, 28px);
  grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 1024px) {
  .financial-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.financial-card {
  display: grid;
  gap: clamp(16px, 3vw, 24px);
  padding: clamp(18px, 3vw, 26px);
  border-radius: var(--ds-radius-xl);
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: linear-gradient(160deg, rgba(10, 14, 26, 0.9), rgba(4, 6, 12, 0.92));
  box-shadow: 0 18px 44px rgba(5, 8, 21, 0.32);
  min-height: 100%;
}

.financial-card__header {
  display: grid;
  gap: var(--ds-space-1);
}

.statement-frequency {
  color: var(--ds-color-text-300);
  margin: 0;
}

.snapshot-flex,
.valuation-flex {
  width: 100%;
}

.ai-analysis-card {
  display: flex;
  flex-direction: column;
  gap: var(--ds-space-6);
}

.ai-analysis-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.analysis-questions {
  display: flex;
  flex-direction: column;
  gap: var(--ds-space-4);
  width: min(100%, 720px);
  margin-inline: auto;
}

.analysis-card {
  display: flex;
  flex-direction: column;
  gap: var(--ds-space-4);
  border-radius: var(--ds-radius-md);
  border: 1px solid rgba(255, 255, 255, 0.08);
  padding: var(--ds-space-4);
  background: rgba(17, 24, 39, 0.35);
}

.analysis-card.pass {
  background: rgba(24, 208, 135, 0.12);
  border-color: rgba(24, 208, 135, 0.45);
}

.analysis-card.fail {
  background: rgba(255, 59, 74, 0.12);
  border-color: rgba(255, 59, 74, 0.45);
}

.analysis-card.pass .status-icon,
.analysis-card.pass .analysis-card-status {
  color: var(--ds-color-success-500);
}

.analysis-card.fail .status-icon,
.analysis-card.fail .analysis-card-status {
  color: var(--ds-color-danger-500);
}

.analysis-card-subtitle {
  color: rgba(255, 255, 255, 0.7);
  margin: 0;
}

.status-pass {
  color: var(--ds-color-success-500);
}

.status-fail {
  color: var(--ds-color-danger-500);
}

.analysis-card-shell,
.diligence-card-shell {
  display: grid;
  gap: clamp(16px, 3vw, 24px);
}

.analysis-card-summary {
  display: flex;
  flex-direction: column;
  gap: var(--ds-space-4);
}

@media (min-width: 768px) {
  .analysis-card-summary {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
  }
}

.analysis-card-question {
  display: flex;
  gap: var(--ds-space-2);
  align-items: flex-start;
}

.analysis-card-title {
  margin: 0;
  font-size: 1.05rem;
}

.analysis-card-meta {
  display: flex;
  flex-direction: column;
  gap: var(--ds-space-1);
  align-items: flex-start;
}

@media (min-width: 768px) {
  .analysis-card-meta {
    align-items: flex-end;
    text-align: right;
  }
}

.analysis-card-status {
  font-weight: 600;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.analysis-card-metric {
  display: flex;
  flex-direction: column;
  gap: var(--ds-space-1);
  max-width: 22rem;
}

.analysis-card-meta .metric-label {
  color: var(--ds-color-text-300);
}

.metric-values {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

.metric-value {
  font-weight: 600;
  font-size: 1rem;
}

.metric-target {
  color: var(--ds-color-text-300);
}

.analysis-card-toggle {
  align-self: flex-start;
  background: none;
  border: none;
  color: var(--ds-color-accent-300);
  font-weight: 600;
  font-size: 0.9rem;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0;
}

.analysis-card-toggle:hover,
.analysis-card-toggle:focus {
  text-decoration: underline;
}

.analysis-card-details {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding-top: var(--ds-space-2);
}

.analysis-detail-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--ds-space-2);
}

.analysis-detail {
  display: flex;
  flex-direction: column;
  gap: var(--ds-space-1);
}

.detail-heading {
  display: flex;
  gap: var(--ds-space-1);
  font-weight: 600;
}

.detail-title {
  margin: 0;
}

.detail-icon {
  font-size: 1rem;
}

.analysis-detail.pass .detail-icon {
  color: var(--ds-color-success-500);
}

.analysis-detail.fail .detail-icon {
  color: var(--ds-color-danger-500);
}

.detail-metrics {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  color: var(--ds-color-text-300);
}

.detail-target {
  color: var(--ds-color-text-300);
}

.detail-value {
  font-weight: 600;
  color: var(--ds-color-text-100);
}

.ai-summary-card {
  display: grid;
  gap: var(--ds-space-3);
}

.ai-summary-card__header {
  display: grid;
  gap: var(--ds-space-1);
}

.ai-summary-card__hint {
  margin: 0;
  font-size: 0.95rem;
  color: rgba(255, 255, 255, 0.7);
}

.ai-summary-loading {
  color: rgba(255, 255, 255, 0.65);
}

.ai-summary-content {
  line-height: 1.6;
  white-space: pre-line;
}

#ai-summary-full ul {
  margin: 0;
  padding-left: 1.25rem;
  display: grid;
  gap: var(--ds-space-1);
}

#ai-summary-full li {
  font-size: 0.95rem;
  color: var(--ds-color-text-100);
  padding: 6px 10px;
  border-radius: var(--ds-radius-sm);
}

#ai-summary-full li::marker {
  color: var(--ds-color-accent-300);
}

@media (max-width: 768px) {
  .company-action-bar.company-card {
    flex-direction: column;
    align-items: stretch;
  }

  .action-bar-left {
    flex-direction: column;
    align-items: flex-start;
  }

  .deck-stage {
    width: 100%;
  }

  .section-progress {
    width: 100%;
  }
}

@media (max-width: 640px) {
  .company-hero__layout {
    grid-template-columns: 1fr;
  }

  .company-hero__price-card {
    max-width: none;
  }
}

/* Inputs */
.input,
.form-control,
.md-input,
.form-input,
.search-input {
  background-color: var(--ds-color-surface-800);
  border: 1px solid #333;
  padding: var(--ds-space-2);
  border-radius: var(--ds-radius-sm);
  color: var(--ds-color-text-100);
  width: 100%;
  font-size: 1rem;
  font-family: var(--ds-font-family-sans);
  box-sizing: border-box;
}

/* Hide number input spinners */
input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
input[type=number] {
  -moz-appearance: textfield; /* Firefox */
}
select.input {
  background-color: var(--ds-color-surface-900);
}

select.input:focus {
  background-color: var(--ds-color-surface-800);
  outline: none;
}

.input:focus,
.form-control:focus {
  outline: none;
  border-color: var(--ds-color-accent-300);
  box-shadow: 0 0 4px var(--ds-color-accent-300);
}

input,
.form-control {
  background-color: var(--ds-color-surface-800);
  border: 1px solid #333;
  padding: var(--ds-space-2);
  border-radius: var(--ds-radius-sm);
  color: var(--ds-color-text-100);
  width: 100%;
  font-size: 1rem;
  box-sizing: border-box;
}

/* Retain placeholder fallback for legacy classes */
.form-input,
.md-input,
.search-input,
.compact-input {
  all: unset;
  @apply input; /* pseudo-Tailwind logic; comment retained for clarity */
  display: block;
  width: 100%;
  background-color: var(--ds-color-surface-800);
  border: 1px solid #333;
  padding: var(--ds-space-2);
  border-radius: var(--ds-radius-sm);
  font-size: 1rem;
  box-sizing: border-box;
  color: var(--ds-color-text-100);
}

.form-input:focus,
.md-input:focus,
.search-input:focus,
.compact-input:focus {
  outline: none;
  border-color: var(--ds-color-accent-300);
  box-shadow: 0 0 4px var(--ds-color-accent-300);
}

/* Utility Classes */
.hr-md {
  border: 0;
  height: 2px;
  background: linear-gradient(to right, var(--ds-color-accent-500), transparent);
  margin: var(--ds-space-2) 0;
  opacity: 0.8;
  border-radius: 4px;
}

.text-center {
  text-align: center;
}

/* Alerts / Flash messages */
.flash-container {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: var(--ds-space-2);
  pointer-events: none;
}
.flash-message {
  pointer-events: auto;
  margin: var(--ds-space-1) 0;
  min-width: 300px;
  max-width: 90%;
  transform: translateY(-200%);
  opacity: 0;
  transition: transform 0.4s ease, opacity 0.4s ease;
}
.flash-message.show {
  transform: translateY(0);
  opacity: 1;
}

.flash-message.ds-alert,
.flash-message.ds-alert--success,
.flash-message.ds-alert--warning,
.flash-message.ds-alert--danger {
  background-color: var(--ds-color-surface-900);
  border-color: var(--ds-color-border-600);
  color: var(--ds-color-text-100);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35);
}

.flash-message.ds-alert--success {
  border-color: rgba(24, 208, 135, 0.6);
}

.flash-message.ds-alert--warning {
  border-color: rgba(255, 199, 77, 0.6);
}

.flash-message.ds-alert--danger {
  border-color: rgba(255, 59, 74, 0.6);
}

.flash-dismiss {
  appearance: none;
  border: none;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font-size: 1.1rem;
  line-height: 1;
  margin-left: auto;
  padding: 0;
}

.flash-dismiss:hover,
.flash-dismiss:focus-visible {
  color: var(--ds-color-accent-300);
}
.watchlist-topblock {
  background: var(--ds-color-text-100);
  border-radius: var(--ds-radius-md);
  border: 1px solid var(--ds-color-text-100);
}

/* Status indicators */
.stat-positive { color: var(--ds-color-success-500); }
.stat-negative { color: var(--ds-color-danger-500); }
.stat-neutral  { color: var(--ds-color-accent-300); }

.title {
  position: relative;
  cursor: help;
}

.infotip-wrapper {
  position: relative;
  display: inline-block;
  cursor: help;
}

.infotip-icon {
  display: inline-block;
  background-color: var(--ds-color-bg-950);
  color: var(--ds-color-text-100);
  font-size: 11px;
  font-weight: bold;
  width: 18px;
  height: 18px;
  line-height: 18px;
  text-align: center;
  border-radius: var(--ds-radius-sm);
  border-style: solid;
  border-width: thin;
  border-color: var(--ds-color-accent-300);
  margin-left: var(--ds-space-1);
  user-select: none;
  vertical-align: text-top;
}

.infotip-text {
  visibility: hidden;
  text-transform: none;
  border-style: solid;
  border-color: var(--ds-color-accent-300);
  border-width: thin;
  width: 240px;
  max-width: 80vw;
  background-color: var(--ds-color-surface-800);
  color: var(--ds-color-text-100);
  text-align: left;
  border-radius: var(--ds-radius-sm);
  padding: var(--ds-space-2);
  position: absolute;
  z-index: 999;
  top: 120%;
  left: 0;
  opacity: 0;
  transition: opacity 0.2s ease;
  font-size: 0.8rem;
  font-weight: 600;
  line-height: 1.4;
  box-shadow: var(--ds-shadow-lg);
}

.infotip-wrapper:hover .infotip-text,
.infotip-wrapper:focus-within .infotip-text {
  visibility: visible;
  opacity: 1;
}

.title::after {
  content: attr(data-title);
  position: absolute;
  bottom: 125%;
  left: 75%;
  transform: translateX(-50%);
  background-color: var(--ds-color-surface-800);
  color: var(--ds-color-text-100);
  padding: 12px 16px;
  font-size: 0.85rem;
  line-height: 1.5;
  border-radius: 10px;
  display: block;                 /* ✅ Make it a block for expansion */
  width: auto;                    /* ✅ Allow it to grow */
  max-width: 360px;               /* ✅ Control desired max */
  min-width: 220px;               /* ✅ Optional baseline width */
  white-space: normal;
  text-align: left;
  box-shadow: 0 4px 16px rgba(255, 76, 0, 0.2);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease;
  z-index: 9999;
  text-shadow: 0 1px 2px rgba(0,0,0,0.5);
  font-weight: 500;
  border: 1px solid var(--ds-color-accent-300);
}

.title:hover::after,
.title:focus::after {
  opacity: 1;
}

/* Preserved existing blocks, updated to match new utility patterns */
.financial-table-wrapper th,
.financial-table-wrapper td {
  text-align: right;
  padding: var(--ds-space-1) var(--ds-space-2);
  border-bottom: 1px solid var(--ds-color-border-400);
}

.financial-table-wrapper td:first-child,
.financial-table-wrapper th:first-child {
  text-align: left;
  z-index: 3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 400px;
  min-width: var(--ds-space-1);
  padding-left: var(--ds-space-2);
  background-color: var(--ds-color-surface-800);
  position: sticky;
  left: 0;
}
/* Double sticky: Top-left corner cell */
.financial-table-wrapper thead th:first-child {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 5; /* Highest to stay above everything */
}

/* Hero section remains intact */
.hero-banner {
  background-color: var(--ds-color-surface-800);
  padding: var(--ds-space-8) var(--ds-space-4);
  text-align: center;
  color: var(--ds-color-text-100);
  border-bottom: 1px solid #333;
}

.hero-banner h1 {
  color: var(--ds-color-accent-300);
  font-size: 3rem;
  margin-bottom: 1rem;
  text-transform: uppercase;
  line-height: 1.2;
}

.hero-banner p {
  font-size: 1.25rem;
  color: var(--ds-color-text-100);
  max-width: 700px;
  margin: 0 auto 2rem;
}

.hero-content {
  max-width: 700px;
  margin: 0 auto;
  padding: 0 var(--ds-space-4);
}

.hero-banner .snapshot-title {
  font-size: 2.5rem;
  font-weight: 800;
  color: var(--ds-color-accent-300);
  line-height: 1.2;
  margin-bottom: var(--ds-space-2);
  text-transform: none;
}

.hero-banner .snapshot-sub {
  font-size: 1.125rem;
  color: var(--ds-color-text-100);
  margin-bottom: var(--ds-space-4);
  line-height: 1.6;
}

.hero-banner .hero-cta {
  font-size: 1.125rem;
  padding: 12px 24px;
  font-weight: 700;
  border-radius: var(--ds-radius-md);
  background-color: var(--ds-color-accent-500);
  color: var(--ds-color-bg-950);
  transition: background 0.3s ease;
  display: inline-block;
}

.hero-banner .hero-cta:hover {
  background-color: var(--ds-color-accent-300);
  color: var(--ds-color-bg-950);
}

/*Only used in feature section on homepage*/
.feature-grid.responsive-3x3 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5rem;
  justify-content: center;
  align-items: stretch;
}

.feature-slab {
  background-color: var(--ds-color-surface-900);
  padding: var(--ds-space-8) var(--ds-space-4);
  text-align: center;
  color: var(--ds-color-text-100);
  margin-bottom: var(--ds-space-6);
}

.feature-intro {
  max-width: 780px;
  margin: 0 auto var(--ds-space-8);
}

.feature-title {
  font-size: 2.25rem;
  font-weight: 800;
  color: var(--ds-color-accent-300);
  margin-bottom: var(--ds-space-2);
}

.feature-subtitle {
  font-size: 1.125rem;
  color: var(--ds-color-text-100);
  opacity: 0.9;
  line-height: 1.6;
}

.feature-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: var(--ds-space-6);
  max-width: 1200px;
  margin: var(--ds-space-6) auto;
}

.feature-card {
  padding: var(--ds-space-6);
  text-align: left;
}

.feature-card h3 {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: var(--ds-space-2);
  color: var(--ds-color-accent-300);
}

.feature-card p {
  font-size: 1rem;
  line-height: 1.6;
  color: var(--ds-color-text-100);
}

/* Responsive YouTube embed */
.video-container {
  position: relative;
  width: 100%;
  max-width: 800px;         /* keeps it elegant on desktop */
  margin: 1rem auto 0;      /* centered */
  padding-bottom: 56.25%;   /* 16:9 aspect ratio */
  height: 0;
  overflow: hidden;
  border-radius: 12px;      /* Market Daddy flair */
  box-shadow: 0 4px 12px rgba(0,0,0,0.4);
}

.video-container iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

/*Only used in carousel section on homepage*/
.how-it-works-carousel {
  padding: var(--ds-space-1) var(--ds-space-4);
  color: var(--ds-color-text-100);
  text-align: center;
}

.carousel-title {
  font-size: 2rem;
  font-weight: 800;
  color: var(--ds-color-accent-300);
  margin-bottom: var(--ds-space-6);
}

.carousel-wrapper {
  display: flex;
  flex-grow: 1;
  overflow: hidden;
  position: relative;
  margin: 0 auto;
  width: 100%;
  max-width: 960px;
  height: auto;
  min-height: 400px;
}

.carousel-container {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  max-width: 1000px;
  margin: auto;
}

.carousel-slide {
  flex: 0 0 100%;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: var(--ds-space-4);
  visibility: hidden;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  transition: opacity 0.5s ease, visibility 0.5s ease;
  z-index: 1;
  display: flex;
}

.carousel-slide.active {
  display: flex;
  visibility: visible;
  opacity: 1;
  position: relative;
  z-index: 2;
}

.carousel-slide img {
  max-width: 100%;
  height: auto;
  border-radius: var(--ds-radius-md);
  margin-bottom: var(--ds-space-4);
  box-shadow: 0 4px 16px rgba(255, 255, 255, 0.1);
  filter: brightness(0.9) contrast(1.1);
}

.carousel-slide h3 {
  font-size: 1.5rem;
  color: var(--ds-color-accent-300);
  margin-bottom: var(--ds-space-2);
}

.carousel-slide p {
  font-size: 1rem;
  line-height: 1.6;
  max-width: 700px;
  margin: 0 auto;
}

.carousel-controls {
  display: flex;
  justify-content: center;
  gap: var(--ds-space-2);
}

.carousel-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: #555;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.carousel-dot.active {
  background-color: var(--ds-color-accent-300);
}

.carousel-arrows {
  display: flex;
  justify-content: center;
  gap: var(--ds-space-4);
  margin-top: var(--ds-space-2);
}
.carousel-arrow {
  background: none;
  color: var(--ds-color-accent-300);
  font-size: 2rem;
  border: none;
  cursor: pointer;
  transition: color 0.3s ease;
}
.carousel-arrow:hover {
  color: var(--ds-color-accent-500);
}
.carousel-arrow-container {
  flex-shrink: 0;
}
/* Recently added iPad styles */
/* iPad swipe affordance for carousel */
.carousel-wrapper {
  touch-action: pan-y;            /* don’t block horizontal swipes */
  -webkit-overflow-scrolling: touch;
}

/* Safer tap targets (Apple HIG ~44px) */
.ds-btn, .carousel-arrow, .data-btn, .statement-btn, .cta-btn {
  min-width: 25px;
  min-height: 25px;
}

/* Make carousel arrows easier to hit without changing look */
.carousel-arrow {
  padding: 8px 12px;              /* expands hit zone */
  border-radius: 10px;
}

/* Dynamic viewport unit to defuse iPad 100vh bugs */
:root {
  --vh: 1dvh;                     /* modern Safari/iPadOS */
  --company-page-max-width: clamp(1120px, 90vw, 1400px);
  --company-page-gutter: clamp(16px, 3.2vw, 44px);
  --company-hero-offset: clamp(88px, 12vh, 140px);
  --md-scenario-best: #10b981;
  --md-scenario-base: #3b82f6;
  --md-scenario-worst: #ef4444;
  --md-scenario-blend: #facc15;
  --md-scenario-best-soft: rgba(16, 185, 129, 0.16);
  --md-scenario-base-soft: rgba(59, 130, 246, 0.16);
  --md-scenario-worst-soft: rgba(239, 68, 68, 0.16);
  --md-scenario-blend-soft: rgba(250, 204, 21, 0.18);
}
.full-height { min-height: calc(var(--vh) * 100); }

/* Performance hints for silky scrolling */
.financial-table-wrapper, .table-scroll, .carousel-wrapper {
  will-change: transform;
  contain: content;
}

/* Respect notches/home indicator in landscape */
body {
  padding-left: env(safe-area-inset-left, 0);
  padding-right: env(safe-area-inset-right, 0);
}
/* End of recently added iPad styles */

/*Only used in CTA section on homepage*/
.cta-slab {
  padding: var(--ds-space-8) var(--ds-space-4);
  text-align: center;
  margin: var(--ds-space-2) auto;
  max-width: 800px;
  box-shadow: 0 0 24px rgba(255, 76, 0, 0.08);
}

.cta-title {
  font-size: 2rem;
  font-weight: 800;
  color: var(--ds-color-accent-300);
  margin-bottom: var(--ds-space-2);
}

.cta-subtitle {
  font-size: 1.125rem;
  color: var(--ds-color-text-100);
  line-height: 1.6;
  margin-bottom: var(--ds-space-4);
}

.cta-btn {
  font-size: 1.25rem;
  font-weight: var(--ds-font-weight-bold);
  margin-bottom: var(--ds-space-2);
}

.cta-note {
  font-size: 0.875rem;
  color: #888;
  margin-top: var(--ds-space-1);
}

/*Only used in contact.html*/
.contact-hero {
  text-align: center;
  display: grid;
  gap: var(--ds-space-2);
}

.contact-form-section {
  display: grid;
  gap: var(--ds-space-6);
}

.contact-card {
  max-width: 700px;
  margin: 0 auto;
  padding: var(--ds-space-6);
}

.contact-card .form-group {
  margin-bottom: var(--ds-space-4);
}

.contact-card .input,
.contact-card textarea {
  width: 100%;
  padding: var(--ds-space-2);
  font-size: 1rem;
  border: 1px solid var(--ds-color-accent-500);
  border-radius: var(--ds-radius-sm);
  background: var(--ds-color-bg-950);
  color: var(--ds-color-text-100);
}

/* Only used in screener.html */
.filter-group {
  background-color: var(--ds-color-surface-800);
  padding: var(--ds-space-2);
  margin: var(--ds-space-2) 0;
  border-radius: var(--ds-radius-md);
  box-shadow: var(--ds-shadow-sm);
}

/* Styleguide layout */
.styleguide {
  display: flex;
  flex-direction: column;
  gap: var(--ds-space-8);
  padding: var(--ds-space-8) 0;
}

.guide-hero {
  display: flex;
  flex-direction: column;
  gap: var(--ds-space-2);
}

.guide-section {
  display: flex;
  flex-direction: column;
  gap: var(--ds-space-4);
}

.swatch-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: var(--ds-space-4);
}

.swatch {
  background: var(--swatch-color);
  color: var(--ds-color-text-100);
  border-radius: var(--ds-radius-md);
  padding: var(--ds-space-4);
  box-shadow: var(--ds-shadow-sm);
  display: flex;
  flex-direction: column;
  gap: var(--ds-space-1);
}

.swatch-name {
  font-weight: 700;
}

.swatch-value,
.swatch-token {
  font-size: var(--ds-font-size-200);
  opacity: 0.8;
}

.component-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ds-space-2);
}

.component-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--ds-space-4);
}

.component-column {
  display: flex;
  flex-direction: column;
  gap: var(--ds-space-2);
}

.spacing-grid {
  display: grid;
  gap: var(--ds-space-3);
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.spacing-item {
  background: var(--ds-color-surface-900);
  border: 1px solid var(--ds-color-border-600);
  border-radius: var(--ds-radius-md);
  box-shadow: var(--ds-shadow-sm);
  display: grid;
  gap: var(--ds-space-1);
  padding: var(--ds-space-3);
}

.spacing-item::before {
  content: "";
  display: block;
  height: var(--space-size);
  width: 100%;
  border-radius: var(--ds-radius-pill);
  background: linear-gradient(90deg, var(--ds-color-accent-500), var(--ds-color-accent-300));
}

.spacing-label {
  font-weight: var(--ds-font-weight-medium);
}

.spacing-token {
  color: var(--ds-color-text-300);
  font-size: var(--ds-font-size-100);
}

.elevation-grid {
  display: grid;
  gap: var(--ds-space-3);
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

.elevation-item {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: var(--ds-space-1);
}

.type-stack {
  display: grid;
  gap: var(--ds-space-6);
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.styleguide-table td:first-child,
.styleguide-table th:first-child {
  text-align: left;
}
#dynamic-filters {
  display: flex;
  flex-direction: column;
}
.filter-chip {
  display: flex;
  flex-wrap: nowrap; /* 💪 prevent inputs from wrapping */
  overflow-x: auto;   /* just in case screen is too narrow */
  align-items: center;
  gap: 8px;
  background-color: var(--ds-color-surface-800);
  padding: 6px 10px;
  border-radius: var(--ds-radius-md);
  box-shadow: var(--ds-shadow-sm);
  margin-bottom: 8px;
}

.chip-text {
  font-weight: 600;
}

.filter-label {
  color: var(--ds-color-accent-300);
  font-size: 0.9rem;
  font-weight: 600;
  white-space: nowrap;
}

.filter-input {
  width: 60px;
  padding: 4px 6px;
  font-size: 0.85rem;
  font-family: var(--ds-font-family-sans);
  background-color: var(--ds-color-bg-950);
  color: var(--ds-color-text-100);
  border: 1px solid #444;
  border-radius: var(--ds-radius-sm);
  text-align: center;
}

.filter-input:focus {
  border-color: var(--ds-color-accent-300);
  outline: none;
  box-shadow: 0 0 4px var(--ds-color-accent-300);
}

.remove-filter {
  background: none;
  border: none;
  color: var(--ds-color-danger-500);
  font-size: 1rem;
  cursor: pointer;
  margin-left: 4px;
}
/* Force cell content to wrap correctly */
.watchlist-dashboard-table th,
.watchlist-dashboard-table td {
  white-space: normal !important;
  word-wrap: break-word;
}
/* Specific tweaks for wide columns */
.watchlist-dashboard-table th:nth-child(5),
.watchlist-dashboard-table td:nth-child(5) {
  min-width: 120px;
  max-width: 220px; /* Industry */
}

.watchlist-dashboard-table th:nth-child(8),
.watchlist-dashboard-table td:nth-child(8) {
  min-width: 140px;
  max-width: 200px; /* Compounding Engine */
}
/* Screener clickable row and hover effects */
.clickable-row {
  cursor: pointer;
}
.clickable-row:hover {
    background-color: rgba(255, 255, 255, 0.05);
}
.watchlist-dashboard-table tr:hover td a {
  color: var(--ds-color-accent-300); /* match your brand highlight */
  text-decoration: none;
}
.watchlist-dashboard-table td a {
  color: var(--ds-color-text-100);
}

/* Red highlight for missing fields */
.input.highlight {
  border-color: var(--ds-color-danger-500);
  box-shadow: 0 0 4px var(--ds-color-danger-500);
}

/* Shake animation */
@keyframes shake {
  0%, 100% { transform: translateX(0); }
  20%, 60% { transform: translateX(-8px); }
  40%, 80% { transform: translateX(8px); }
}

.shake {
  animation: shake 0.5s ease;
}

.card-header {
  display: block;
  justify-content: space-between;
  align-items: center;
}

.card-body {
  margin-top: var(--ds-space-2);
}

.filter-tag {
  display: inline-block;
  padding: 2px 8px;
  background-color: var(--ds-color-surface-900);
  color: var(--ds-color-accent-300);
  font-size: 0.75rem;
  border-radius: 6px;
  margin: 2px;
  font-weight: 600;
}

input[type="checkbox"].form-checkbox {
  accent-color: var(--ds-color-accent-300);
  width: 16px;
  height: 16px;
  cursor: pointer;
}

/*Only used in about.html*/
/* === ABOUT PAGE HERO === */
.about-founder {
  display: grid;
  gap: var(--ds-space-6);
}

.about-hero.full-width {
  background-color: var(--ds-color-surface-800);
  padding: var(--ds-space-8) var(--ds-space-4);
  text-align: center;
  color: var(--ds-color-text-100);
  border-bottom: 1px solid #333;
}

.hero-title {
  font-size: 2.5rem;
  font-weight: 800;
  color: var(--ds-color-accent-300);
  margin-bottom: var(--ds-space-2);
}

.hero-subtitle {
  font-size: 1.25rem;
  color: var(--ds-color-text-100);
  max-width: 700px;
  margin: 0 auto var(--ds-space-4);
  line-height: 1.6;
}

.hero-content .ds-btn {
  font-size: 1.1rem;
  padding: 12px 28px;
  font-weight: 700;
  align-content: space-evenly;
}

.founder-bio {
  background-color: var(--ds-color-surface-900);
  padding: var(--ds-space-6);
  border-radius: var(--ds-radius-lg);
  box-shadow: var(--ds-shadow-lg);
  max-width: 800px;
  margin: var(--ds-space-2) auto;
  text-align: center;
}

.dd-lead {
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--ds-color-text-100);
  margin-bottom: var(--ds-space-4);
}

/* === VIDEO SECTION === */
.founder-video {
  text-align: center;
}

.video-wrapper {
  max-width: 720px;
  margin: 0 auto;
}

.video-thumb {
  width: 100%;
  height: auto;
  border-radius: var(--ds-radius-md);
  margin-bottom: var(--ds-space-4);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
}

/* === CORE VALUES === */
.core-values {
  padding: var(--ds-space-8) 0;
}

.core-values-list {
  list-style: none;
  padding-left: 0;
  max-width: 800px;
  margin: var(--ds-space-4) auto 0;
}

.core-values-list li {
  margin-bottom: var(--ds-space-4);
  font-size: 1.1rem;
  font-weight: 500;
  color: var(--ds-color-text-100);
}

.core-values-list li strong {
  color: var(--ds-color-accent-300);
}

/* === SOCIAL PROOF SECTION === */
.social-proof-section {
  background-color: var(--ds-color-surface-900);
  padding: var(--ds-space-8) var(--ds-space-4);
  text-align: center;
  color: var(--ds-color-text-100);
}

.testimonial-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: var(--ds-space-6);
  margin-top: var(--ds-space-6);
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}

.testimonial-card {
  padding: var(--ds-space-4);
  text-align: left;
  box-shadow: 0 2px 8px rgba(255, 76, 0, 0.05);
}

.testimonial-quote {
  font-style: italic;
  font-size: 1rem;
  color: #ccc;
  margin-bottom: var(--ds-space-2);
}

.testimonial-name {
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--ds-color-accent-300);
}

/* Media/logo strip */
.social-logos {
  display: flex;
  justify-content: center;
  gap: var(--ds-space-4);
  margin-top: var(--ds-space-6);
  flex-wrap: wrap;
  align-items: center;
}

.social-logos img {
  height: 32px;
  opacity: 0.7;
  filter: grayscale(100%);
  transition: opacity 0.3s ease;
}

.social-logos img:hover {
  opacity: 1;
  filter: grayscale(0%);
}

/* === FINAL CTA === */
.final-cta {
  margin-bottom: var(--ds-space-8);
}
/*End of about*/

/* terms for registering */
.terms {
  display: flex;
  align-items: center;
  gap: 8px;
  background-color: var(--ds-color-surface-800);
  padding: 8px 12px;
  border-radius: var(--ds-radius-sm);
  margin-bottom: var(--ds-space-2);
  font-size: 0.95rem;
  color: var(--ds-color-text-100);
}

.terms input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: var(--ds-color-accent-300); /* sexy yellow checkboxes */
  cursor: pointer;
}

.terms label {
  cursor: pointer;
  font-weight: 600;
  user-select: none;
  font-size: 0.9rem;
}

/* Read More toggle */
.read-more-btn {
  background-color: var(--ds-color-surface-800);
  border: none;
  color: var(--ds-color-accent-300);
  font-size: 0.875rem;
  text-decoration: none;
  cursor: pointer;
}

/* Loading text */
#ai-summary-loading {
  opacity: 0.8;
  margin-bottom: var(--ds-space-2);
  font-weight: 800;            /* Fatter */
  font-size: 1rem;
  color: var(--ds-color-accent-300);    /* Consistent with MD branding */
  margin-top: var(--ds-space-2);
}

.company-header-block {
  background-color: var(--ds-color-surface-900);
  padding: 24px;
  border-radius: var(--ds-radius-lg);
  box-shadow: var(--ds-shadow-lg); /* more consistent with existing card shadows */
  margin: var(--ds-space-2) 0;
  display: block; /* or simply remove display if default */
}

/* Snapshot headline and sub */
.company-header-block .snapshot-title {
  font-size: 1.5rem;
  font-weight: 700;
}

.company-header-block .snapshot-sub {
  font-size: 1rem;
  color: var(--ds-color-text-300);
}

.company-header-block .snapshot-price {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--ds-color-accent-300);
}

.company-header-block .snapshot-metrics {
  font-size: 0.95rem;
  color: var(--ds-color-text-100);
}

/* Would Daddy Own It? badges */
.ownership-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.ownership-strip h3 {
  font-size: 1.1rem;
  margin-bottom: 0;
  color: var(--ds-color-text-100);
}

.ownership-strip .dd-checks {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.metric-title {
  font-weight: 800;            /* Fatter */
  font-size: 1rem;
  color: var(--ds-color-accent-300);    /* Consistent with MD branding */
}

.metric-description {
  font-size: 0.75rem;
  color: var(--ds-color-text-300);    /* Pulling Market Daddy grey */
  display: block;
  margin-top: var(--ds-space-1);
  margin-bottom: var(--ds-space-2);
  line-height: 1.4;
}

.key-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 12px;
  margin-top: 8px;
  margin-bottom: 16px;
}

.metric-item {
  background-color: var(--ds-color-surface-800);
  padding: 8px 12px;
  border-radius: var(--ds-radius-sm);
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.metric-label {
  font-size: 0.75rem;
  color: #aaa;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.metric-value {
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--ds-color-text-100);
  white-space: nowrap;
}

.watchlist-cta {
  width: 100%;
  padding: 8px 12px;
  font-size: 14px;
  font-weight: 600;
  background-color: var(--ds-color-accent-300);
  color: #111;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.2s;
}

.watchlist-cta:hover {
  background-color: var(--ds-color-accent-300, #e0b84d);
}

.watchlist-divider {
  border: 0;
  border-top: 1px solid #333;
  margin: 4px 0;
}

/* Watchlist progress bar column */
.progress-bar {
  width: 8px;
  height: 24px;
}

.progress-bar.gain {
  background-color: var(--ds-color-success-500);
}

.progress-bar.loss {
  background-color: var(--ds-color-danger-500);
}

.watchlist-dashboard-table th:first-child,
.watchlist-dashboard-table td:first-child {
  position: sticky;
  left: 0;
  background-color: var(--ds-color-surface-900);
  z-index: 3;
}

.watchlist-dashboard-table th:nth-child(2),
.watchlist-dashboard-table td:nth-child(2) {
  position: sticky;
  left: 12px;
  background-color: var(--ds-color-surface-900);
  z-index: 5;
  text-align: left;
}

.watchlist-dashboard-table th {
  position: relative;
  user-select: none;
}

.watchlist-dashboard-table th::after {
  font-size: 0.75rem;
  color: var(--ds-color-accent-300);
  margin-left: 4px;
}

/* Match width exactly to prevent scroll misalignment */
.watchlist-dashboard-table td,
.watchlist-dashboard-table th {
  min-width: 60px;
  box-sizing: border-box;
}

.target-input {
  width: 80px;
  background-color: var(--ds-color-surface-800);
  color: var(--ds-color-text-100);
  border: 1px solid #444;
  border-radius: 4px;
  padding: 4px 6px;
  font-size: 0.85rem;
  text-align: center;
  font-family: 'Manrope';
}

.target-input:focus {
  outline: none;
  border-color: var(--ds-color-accent-300);
  box-shadow: 0 0 4px var(--ds-color-accent-300);
}

.target-status {
  font-size: 1rem;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.target-status.visible {
  opacity: 1;
}

.target-status.success {
  color: var(--ds-color-accent-300);
  content: "\2714";
}

.target-status.error {
  color: var(--ds-color-danger-500);
}

.graphs-panel {
  display: flex;
  flex-direction: column;
  gap: var(--ds-space-6);
}


.graphs-header {
  display: flex;
  flex-direction: column;
  gap: var(--ds-space-1);
}

.graphs-tip {
  margin: 0;
  color: var(--ds-color-text-300);
}

.dashboard-cards {
  display: grid;
  gap: clamp(18px, 3vw, 28px);
  margin-top: var(--ds-space-3);
  grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 640px) {
  .dashboard-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1280px) {
  .dashboard-cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 768px) {
  .graphs-header {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
  }

  .graphs-tip {
    max-width: 320px;
    text-align: right;
  }
}

.metric-card {
  padding: clamp(18px, 3vw, 26px);
  background: linear-gradient(160deg, rgba(18, 23, 36, 0.85), rgba(6, 10, 22, 0.9));
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--ds-radius-xl);
  box-shadow: 0 18px 44px rgba(5, 8, 21, 0.35);
  display: grid;
  gap: clamp(14px, 2.8vw, 20px);
  min-height: 100%;
}

.metric-card__header {
  display: grid;
  gap: var(--ds-space-1);
}

.metric-description {
  margin: 0;
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.68);
}

.sparkline-meta {
  display: flex;
  justify-content: space-between;
  gap: var(--ds-space-3);
  padding: 12px clamp(12px, 2vw, 16px);
  border-radius: var(--ds-radius-lg);
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.meta-point {
  display: grid;
  gap: 4px;
}

.meta-label {
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.58);
}

.meta-value {
  font-weight: 600;
  font-size: 0.95rem;
}

.sparkline-stats {
  display: grid;
  gap: clamp(10px, 2vw, 16px);
}

.stat-row {
  display: flex;
  justify-content: space-between;
  gap: var(--ds-space-3);
}

.stat-row > div {
  display: grid;
  gap: 4px;
}

.stat-row--single {
  justify-content: flex-start;
  align-items: center;
  gap: var(--ds-space-2);
}

.stat-row--single small {
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(255, 255, 255, 0.58);
}

.stat-inline {
  font-weight: 600;
}

.metric-footnote {
  margin: 0;
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.55);
}

.sparkline {
  position: relative;
  width: 100%;
  min-height: 120px;
  height: clamp(140px, 18vw, 220px);
  box-sizing: border-box;
}

.sparkline .plot-container,
.sparkline .plot-container.plotly,
.sparkline .svg-container {
  width: 100% !important;
  height: 100% !important;
  max-width: 100%;
}

.sparkline .svg-container svg {
  width: 100% !important;
  height: 100% !important;
}

.snapshot-flex {
  display: flex;
  gap: var(--ds-space-4);
  flex-direction: row;
  flex-wrap: wrap;
  align-items: stretch;
  margin-bottom: var(--ds-space-4);
}

.snapshot-flex > .card {
  flex: 1 1 48%;
  min-width: 280px;
}

.snapshot-title {
  font-size: 1.75rem;
  font-weight: 700;
  margin-bottom: var(--ds-space-1);
  color: var(--ds-color-accent-300);
}

.snapshot-sub {
  font-size: 0.85rem;
  color: #aaa;
  margin: var(--ds-space-1) 0;
}

.snapshot-price {
  font-size: 2rem;
  font-weight: 700;
  margin: var(--ds-space-1) 0;
  color: var(--ds-color-text-100);
}

.snapshot-metrics {
  font-size: 0.95rem;
  margin-bottom: var(--ds-space-2);
  color: var(--ds-color-text-100);
}

.snapshot-description {
  margin-top: var(--ds-space-4);
  font-size: 0.95rem;
  color: var(--ds-color-text-300);
}

.read-more-btn {
  margin-top: var(--ds-space-2);
  background-color: transparent;
  color: var(--ds-color-accent-300);
  font-weight: bold;
  border: none;
  cursor: pointer;
  padding: var(--ds-space-2) var(--ds-space-4);
  font-size: 0.95rem;
}

.dd-title {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: var(--ds-space-2);
  color: var(--ds-color-accent-300);
}

.dd-checks {
  font-size: 1rem;
  font-weight: 600;
  margin: var(--ds-space-1) 0;
  display: flex;
  gap: var(--ds-space-4);
  flex-wrap: wrap;
  color: var(--ds-color-text-100);
}

.dd-checks span {
  padding: 4px 8px;
  border-radius: var(--ds-radius-sm);
}

.dd-subtitle {
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--ds-color-text-100);
  margin: 0;
}
.insight-box {
  background-color: var(--ds-color-surface-800);
  padding: 12px;
  border-radius: 8px;
  margin-top: 12px;
  border-left: 4px solid var(--ds-color-accent-300);
}
.dd-summary {
  font-size: 1.2rem;
  color: var(--ds-color-text-100);
  line-height: 1.4;
  margin-bottom: var(--ds-space-4);
}
.dd-summary ul {
  padding-left: 1.25rem;
  margin-top: 8px;
  margin-bottom: 8px;
  list-style: none;
}

.dd-summary li {
  position: relative;
  padding-left: 1rem;
  margin-bottom: 6px;
  line-height: 1.4;
  color: var(--ds-color-text-100);
  font-size: 1.2rem;
}

/* Gold bullet */
.dd-summary li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: var(--ds-color-accent-300);
  font-weight: bold;
}

.dd-tag {
  font-size: 0.85rem;
  color: #888;
  margin: var(--ds-space-1) 0;
  font-style: italic;
}

.financial-table-wrapper {
  overflow-x: auto;
  overflow-y: visible;
  background: var(--ds-color-surface-900);
  border-radius: var(--ds-radius-md);
  position: relative;
}

.financial-table-wrapper table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
  color: var(--ds-color-text-100);
  background-color: #111;
  min-width: 650px;
}

.financial-table-wrapper th,
.financial-table-wrapper td {
  padding: 8px 12px;
  border-bottom: 1px solid var(--ds-color-surface-800);
  text-align: right;
  word-wrap: break-word;
  white-space: normal;
  max-width: 140px;
}

.financial-table-wrapper.compact th,
.financial-table-wrapper.compact td {
  font-size: 13px;
}

.financial-table-wrapper th {
  background-color: var(--ds-color-surface-800);
  color: var(--ds-color-accent-300);
  font-weight: 600;
  text-align: center;
  position: sticky;
  top: 0;
  z-index: 3;
}

.financial-table-wrapper tr:hover {
  background-color: rgba(255, 76, 0, 0.08);
}

.financial-table-wrapper td.gain { color: var(--ds-color-success-500); font-weight: 600; }
.financial-table-wrapper td.loss { color: var(--ds-color-danger-500); font-weight: 600; }

.auth-page {
  position: relative;
  isolation: isolate;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  padding: var(--spacing-lg);
  background: radial-gradient(circle at top, rgba(255, 255, 255, 0.05), transparent 55%);
}

.auth-page::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(9, 10, 20, 0.85) 0%, rgba(9, 10, 20, 0) 100%);
  z-index: -1;
}

.auth-shell {
  width: min(880px, 100%);
  padding: 0 clamp(16px, 3vw, 48px);
}

.auth-wrapper {
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
  padding: clamp(28px, 3vw, 44px);
  background: linear-gradient(155deg, rgba(20, 22, 36, 0.92), rgba(10, 11, 22, 0.92));
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--ds-radius-xl);
  box-shadow: 0 28px 60px rgba(5, 8, 20, 0.5);
  backdrop-filter: blur(18px);
}

.auth-header .snapshot-title {
  font-size: clamp(28px, 4vw, 36px);
}

.auth-form {
  width: 100%;
}

.auth-form .ds-btn {
  width: 100%;
}

.auth-wrapper .ds-text-muted a,
.auth-meta a {
  color: var(--ds-color-accent-300);
  text-decoration: underline;
}

.auth-card {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--ds-radius-lg);
  padding: var(--ds-space-4);
}

.auth-card__body {
  width: 100%;
}

.auth-meta {
  text-align: center;
}

.auth-password-hint {
  align-items: flex-start;
}

.auth-checkbox {
  align-items: flex-start;
  gap: var(--ds-space-2);
}

.auth-checkbox .form-checkbox {
  margin-top: 4px;
}

.auth-secondary-action {
  display: flex;
  justify-content: center;
}

.password-strength {
  width: 0;
  height: 6px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  overflow: hidden;
  transition: width 220ms ease, background-color 220ms ease;
}

@media (max-width: 768px) {
  .auth-page {
    padding: clamp(48px, 12vw, 72px) 0 clamp(72px, 14vw, 120px);
  }

  .auth-shell {
    width: min(540px, 100%);
    padding: 0 clamp(16px, 7vw, 36px);
  }

  .auth-wrapper {
    max-width: 520px;
    padding: clamp(24px, 6vw, 38px);
  }
}

@media (max-width: 480px) {
  .auth-shell {
    width: 100%;
  }

  .auth-wrapper {
    padding: clamp(24px, 8vw, 32px);
  }
}

.form-input::placeholder {
  color: #aaa;
}

.form-input:focus {
  outline: none;
  border-color: var(--ds-color-accent-500);
  box-shadow: 0 0 0 2px rgba(255, 76, 0, 0.4);
}

.search-input::placeholder {
  color: #aaa;
}

.search-input:focus {
  outline: none;
  border-color: var(--ds-color-accent-300);
  box-shadow: 0 0 6px var(--ds-color-accent-300);
}

.search-result {
  text-decoration: none;
}

.search-results {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: var(--ds-color-surface-900);
  border: none;
  border-radius: 0 0 10px 10px;
  box-shadow: 0 6px 16px rgba(255, 76, 0, 0.15);
  z-index: 999;
  max-height: 300px;
  overflow-y: auto;
  margin-top: 4px;
}

.search-results li {
  list-style: none;
  padding: 0.75rem 1rem;
  font-size: 1rem;
  color: var(--ds-color-text-100);
  border-bottom: 1px solid var(--ds-color-surface-800);
  transition: background-color 0.2s ease;
  cursor: pointer;
}

.search-results li a {
  color: var(--ds-color-text-100);
  text-decoration: none;
  display: block;
  width: 100%;
}

.search-results li a:hover {
  color: var(--ds-color-accent-300);
}

.search-results li:hover {
  background-color: var(--ds-color-surface-800);
}

.search-result strong {
  color: var(--ds-color-accent-300);
}

.search-result em {
  font-style: normal;
  color: #aaa;
  margin-left: 6px;
  font-size: 0.85rem;
}

.search-container {
  position: relative;
  width: 100%;
}

.filter-search-main .search-input {
  padding: calc(var(--ds-space-2) + 4px) var(--ds-space-4);
  border-radius: var(--ds-radius-md);
  background-color: var(--ds-color-surface-800);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.filter-search-main .search-input:focus {
  border-color: var(--ds-color-accent-300);
  box-shadow: 0 0 6px rgba(255, 215, 0, 0.3);
}

/* Style scrollbar for Chrome, Edge, Safari */
.search-results::-webkit-scrollbar {
  width: 8px;
}

.search-results::-webkit-scrollbar-track {
  background: var(--ds-color-surface-800);
}

.search-results::-webkit-scrollbar-thumb {
  background: var(--ds-color-accent-300);
  border-radius: 6px;
}

.search-results::-webkit-scrollbar-thumb:hover {
  background: var(--ds-color-accent-300, #e0b84d);
}



.dcf-shell {
  display: grid;
  gap: clamp(20px, 4vw, 32px);
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
}

.valuation-grid {
  display: grid;
  gap: clamp(20px, 3vw, 28px);
  grid-template-columns: minmax(0, 1fr);
}

.dcf-intro-grid {
  align-items: start;
}

.valuation-step {
  min-height: 100%;
}

.dcf-panel {
  display: grid;
  gap: clamp(18px, 3vw, 28px);
}

.dcf-intro-grid {
  display: grid;
  gap: clamp(18px, 3vw, 26px);
}

.dcf-panel--form,
.dcf-panel--results {
  padding: clamp(18px, 3.5vw, 26px);
}

.dcf-panel--results {
  position: relative;
  align-content: start;
  gap: clamp(16px, 3vw, 24px);
}

.valuation-target-form {
  display: grid;
  gap: clamp(16px, 3vw, 24px);
  align-content: start;
  border-radius: var(--ds-radius-lg);
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: linear-gradient(155deg, rgba(20, 23, 35, 0.92), rgba(8, 10, 18, 0.92));
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.02);
}

.valuation-target-form__body {
  display: grid;
  gap: clamp(16px, 3vw, 24px);
  align-items: start;
}

@media (min-width: 720px) {
  .valuation-target-form__body {
    grid-template-columns: minmax(0, 1fr) minmax(220px, 0.9fr);
    align-items: center;
  }
}

.valuation-target-form__copy {
  display: grid;
  gap: 6px;
}

.valuation-target-title {
  margin: 0;
  font-size: clamp(1rem, 2.2vw, 1.25rem);
  font-weight: 600;
  color: var(--ds-color-text-100);
}

.valuation-target-sub {
  margin: 0;
  color: rgba(255, 255, 255, 0.68);
  font-size: 0.95rem;
}

.valuation-target-input {
  display: grid;
  gap: 8px;
}

.valuation-target-label {
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.6);
}

.valuation-target-input .input {
  width: 100%;
  border-radius: var(--ds-radius-lg);
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.06);
  color: var(--ds-color-text-100);
}

.valuation-target-input .input:focus {
  border-color: var(--ds-color-accent-300);
  box-shadow: 0 0 0 3px rgba(255, 208, 0, 0.18);
}

.valuation-target-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.dcf-panel-header {
  display: grid;
  gap: clamp(12px, 2vw, 18px);
}

.dcf-step-header {
  display: flex;
  gap: clamp(12px, 2.2vw, 20px);
  align-items: flex-start;
}

.dcf-step-meta {
  display: grid;
  gap: 6px;
}

.dcf-step-badge {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 12px 18px;
  min-width: 72px;
  border-radius: 18px;
  background:
    radial-gradient(120% 120% at 50% 0%, rgba(255, 225, 128, 0.38) 0%, rgba(99, 60, 0, 0) 65%),
    linear-gradient(160deg, rgba(250, 204, 21, 0.32), rgba(146, 94, 0, 0.42));
  color: var(--ds-color-text-100);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.28),
    0 14px 30px -12px rgba(250, 204, 21, 0.45);
  isolation: isolate;
}

.dcf-step-badge::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  border: 1px solid rgba(255, 225, 128, 0.55);
  box-shadow: inset 0 0 0 1px rgba(112, 70, 0, 0.35);
  mix-blend-mode: screen;
  pointer-events: none;
}

.dcf-step-badge__label {
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  opacity: 0.9;
}

.dcf-step-badge__number {
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: none;
  line-height: 1;
}

.dcf-checklist {
  margin: 0;
  padding: clamp(12px, 2.4vw, 18px);
  list-style: none;
  display: grid;
  gap: 10px;
  font-size: 0.95rem;
  border-radius: var(--ds-radius-lg);
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: linear-gradient(155deg, rgba(20, 22, 32, 0.9), rgba(8, 10, 18, 0.88));
}

.dcf-checklist li {
  display: flex;
  align-items: center;
  gap: 12px;
  color: rgba(255, 255, 255, 0.76);
}

.dcf-check-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  font-size: 0.6rem;
  color: rgba(0, 0, 0, 0.75);
  background: linear-gradient(135deg, rgba(250, 204, 21, 0.95), rgba(255, 184, 0, 0.85));
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.15);
}

.dcf-form {
  display: grid;
  gap: clamp(24px, 3vw, 32px);
}

.dcf-templates {
  display: grid;
  gap: clamp(16px, 3vw, 24px);
  padding: clamp(16px, 3vw, 24px);
  border-radius: var(--ds-radius-xl);
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: linear-gradient(160deg, rgba(24, 26, 40, 0.95), rgba(8, 10, 20, 0.92));
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04), 0 18px 38px rgba(2, 6, 12, 0.55);
}

.dcf-templates__header {
  display: grid;
  gap: 6px;
}

.dcf-templates__eyebrow {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: rgba(255, 255, 255, 0.58);
}

.dcf-templates__title {
  margin: 0;
  font-size: clamp(1.1rem, 2.4vw, 1.4rem);
  font-weight: 600;
  color: var(--ds-color-text-100);
}

.dcf-templates__subtitle {
  margin: 0;
  color: rgba(255, 255, 255, 0.68);
  font-size: 0.92rem;
}

.dcf-template-group {
  display: grid;
  gap: clamp(12px, 2.2vw, 18px);
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.dcf-template-btn {
  position: relative;
  display: grid;
  gap: 6px;
  padding: clamp(14px, 2.6vw, 18px);
  border-radius: var(--ds-radius-lg);
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.04);
  color: rgba(255, 255, 255, 0.9);
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease, background 0.25s ease;
}

.dcf-template-btn:hover,
.dcf-template-btn:focus {
  outline: none;
  transform: translateY(-2px);
  border-color: rgba(250, 204, 21, 0.45);
  box-shadow: 0 14px 32px rgba(8, 8, 12, 0.55);
  background: linear-gradient(150deg, rgba(250, 204, 21, 0.12), rgba(12, 14, 24, 0.92));
}

.dcf-template-btn.is-active,
.dcf-template-btn[aria-pressed="true"] {
  border-color: rgba(250, 204, 21, 0.55);
  box-shadow: 0 16px 36px rgba(250, 204, 21, 0.16);
  background: linear-gradient(150deg, rgba(250, 204, 21, 0.2), rgba(12, 14, 24, 0.9));
}

.dcf-template-name {
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--ds-color-text-100);
}

.dcf-template-copy {
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.7);
}

.dcf-template-description {
  margin: 0;
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.72);
}

.dcf-scenarios {
  display: grid;
  gap: clamp(18px, 3vw, 26px);
  grid-template-columns: minmax(0, 1fr);
}

.dcf-scenario-table {
  display: grid;
  gap: clamp(16px, 2vw, 22px);
  padding: clamp(16px, 3vw, 22px);
  border-radius: var(--ds-radius-xl);
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: linear-gradient(160deg, rgba(24, 26, 40, 0.94), rgba(8, 10, 18, 0.9));
  box-shadow: 0 14px 38px rgba(3, 6, 14, 0.55);
}

.dcf-table-header {
  display: grid;
  gap: clamp(12px, 2vw, 16px);
}

.dcf-weight-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: clamp(10px, 2vw, 14px);
}

.dcf-weight-card {
  display: grid;
  align-items: center;
  grid-template-columns: auto 1fr auto;
  gap: 12px;
  padding: 12px;
  border-radius: var(--ds-radius-lg);
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.02);
}

.dcf-scenario-card,
.dcf-matrix-scenario,
.dcf-matrix-cell,
.dcf-weight-card,
.dcf-column-heading {
  position: relative;
  padding: clamp(18px, 3vw, 24px);
  border-radius: var(--ds-radius-xl);
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: linear-gradient(160deg, rgba(24, 26, 40, 0.94), rgba(8, 10, 18, 0.9));
  display: grid;
  gap: clamp(14px, 2.4vw, 20px);
  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
  box-shadow: 0 14px 38px rgba(3, 6, 14, 0.55);
  --dcf-accent: rgba(250, 204, 21, 0.55);
  --dcf-accent-soft: rgba(250, 204, 21, 0.12);
}

.dcf-weight-card,
.dcf-column-heading,
.dcf-matrix-scenario,
.dcf-matrix-cell {
  padding: clamp(12px, 2vw, 16px);
  border-radius: var(--ds-radius-md);
}

.dcf-weight-card {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 12px;
  align-items: center;
}

.dcf-scenario-card:hover,
.dcf-scenario-card:focus-within {
  transform: translateY(-4px);
  border-color: rgba(250, 204, 21, 0.4);
  box-shadow: 0 20px 46px rgba(3, 6, 14, 0.65);
}

.dcf-scenario-card.is-best,
.dcf-matrix-scenario.is-best,
.dcf-weight-card.is-best,
.dcf-column-heading.is-best,
.dcf-matrix-cell.is-best {
  --dcf-accent: var(--md-scenario-best);
  --dcf-accent-soft: var(--md-scenario-best-soft);
  border-color: rgba(16, 185, 129, 0.35);
  background: linear-gradient(160deg, rgba(16, 185, 129, 0.12), rgba(8, 10, 18, 0.9));
}

.dcf-scenario-card.is-base,
.dcf-matrix-scenario.is-base,
.dcf-weight-card.is-base,
.dcf-column-heading.is-base,
.dcf-matrix-cell.is-base {
  --dcf-accent: var(--md-scenario-base);
  --dcf-accent-soft: var(--md-scenario-base-soft);
  border-color: rgba(59, 130, 246, 0.35);
  background: linear-gradient(160deg, rgba(59, 130, 246, 0.12), rgba(8, 10, 18, 0.9));
}

.dcf-scenario-card.is-worst,
.dcf-matrix-scenario.is-worst,
.dcf-weight-card.is-worst,
.dcf-column-heading.is-worst,
.dcf-matrix-cell.is-worst {
  --dcf-accent: var(--md-scenario-worst);
  --dcf-accent-soft: var(--md-scenario-worst-soft);
  border-color: rgba(239, 68, 68, 0.35);
  background: linear-gradient(160deg, rgba(239, 68, 68, 0.12), rgba(8, 10, 18, 0.9));
}

.dcf-scenario-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: clamp(14px, 2.4vw, 22px);
}

.dcf-scenario-toggle {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  flex: 1 1 auto;
  padding: 0;
  background: none;
  border: none;
  color: inherit;
  text-align: left;
  cursor: pointer;
  font: inherit;
  border-radius: 0;
}

.dcf-scenario-toggle:focus {
  outline: none;
}

.dcf-scenario-chip {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--dcf-accent);
  box-shadow: 0 0 0 4px var(--dcf-accent-soft);
  flex-shrink: 0;
  margin-top: 4px;
}

.dcf-toggle-text {
  display: grid;
  gap: 6px;
}

.dcf-toggle-icon {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.16);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.65rem;
  margin-top: 4px;
  transition: transform 0.25s ease, background 0.25s ease;
  background: rgba(255, 255, 255, 0.06);
}

.dcf-toggle-icon::before {
  content: "⌄";
  transform: translateY(-1px);
}

.dcf-scenario-card.is-collapsed .dcf-toggle-icon {
  transform: rotate(-90deg);
  background: rgba(255, 255, 255, 0.08);
}

.dcf-scenario-title {
  font-size: 1.05rem;
  margin: 0;
}

.dcf-scenario-hint {
  margin: 0;
  color: rgba(255, 255, 255, 0.62);
  font-size: 0.85rem;
}

.dcf-weight-input {
  display: grid;
  gap: 6px;
  justify-items: end;
}

.dcf-weight {
  display: grid;
  gap: 6px;
  text-align: right;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.65);
}

.dcf-weight input,
.dcf-weight-input input {
  width: 90px;
  border-radius: var(--ds-radius-sm);
  border: 1px solid rgba(255, 255, 255, 0.24);
  background: rgba(0, 0, 0, 0.55);
  color: var(--ds-color-text-100);
  font-size: 0.95rem;
  padding: 8px 10px;
  text-align: center;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.dcf-weight input:focus,
.dcf-weight-input input:focus {
  outline: none;
  border-color: rgba(250, 204, 21, 0.6);
  box-shadow: 0 0 0 1px rgba(250, 204, 21, 0.25);
}

.dcf-weight-hint {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.5);
  letter-spacing: 0.08em;
}

.dcf-weight-label {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.72);
}

.dcf-field-grid {
  display: grid;
  gap: var(--ds-space-2);
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.dcf-scenario-matrix {
  display: grid;
  gap: clamp(16px, 2vw, 20px);
  padding: clamp(16px, 3vw, 22px);
}

.dcf-table-wrapper {
  overflow-x: auto;
}

.dcf-scenario-grid {
  width: 100%;
  border-collapse: collapse;
  min-width: 680px;
}

.dcf-scenario-grid th,
.dcf-scenario-grid td {
  padding: 10px;
  text-align: left;
  vertical-align: top;
}

.dcf-scenario-grid thead th {
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.76);
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.dcf-scenario-grid tbody th {
  width: 28%;
  min-width: 220px;
}

.dcf-scenario-grid tbody tr + tr td,
.dcf-scenario-grid tbody tr + tr th {
  border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.dcf-column-heading {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 8px;
  align-items: center;
  background: rgba(255, 255, 255, 0.02);
  box-shadow: none;
}

.dcf-column-text {
  display: grid;
  gap: 4px;
}

.dcf-matrix-head {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) 3fr;
  gap: clamp(12px, 2vw, 18px);
  align-items: flex-start;
}

.dcf-matrix-label-col {
  display: grid;
  gap: 4px;
}

.dcf-matrix-label {
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.78);
}

.dcf-matrix-hint {
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.58);
}

.dcf-matrix-scenarios {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: clamp(10px, 2vw, 16px);
}

.dcf-matrix-scenario {
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: var(--ds-radius-md);
  padding: 12px;
  background: rgba(255, 255, 255, 0.02);
  display: grid;
  gap: 10px;
}

.dcf-matrix-scenario .dcf-scenario-header {
  gap: 10px;
}

.dcf-matrix-body {
  display: grid;
  gap: clamp(10px, 2vw, 14px);
}

.dcf-matrix-row {
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: var(--ds-radius-md);
  background: rgba(255, 255, 255, 0.02);
  overflow: hidden;
}

.dcf-row-toggle {
  width: 100%;
  background: transparent;
  border: none;
  text-align: left;
  padding: 12px clamp(12px, 2vw, 16px);
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 12px;
  cursor: pointer;
}

.dcf-row-toggle:focus-visible {
  outline: 2px solid rgba(255, 215, 0, 0.5);
  outline-offset: 4px;
}

.dcf-row-toggle-icon {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.2);
  position: relative;
}

.dcf-row-toggle-icon::before,
.dcf-row-toggle-icon::after {
  content: "";
  position: absolute;
  background: rgba(255, 255, 255, 0.8);
  transition: transform 0.2s ease;
}

.dcf-row-toggle-icon::before {
  width: 8px;
  height: 2px;
  top: 7px;
  left: 3px;
}

.dcf-row-toggle-icon::after {
  width: 2px;
  height: 8px;
  top: 3px;
  left: 7px;
}

.dcf-matrix-row[data-expanded="true"] .dcf-row-toggle-icon::after {
  transform: scaleY(0);
}

.dcf-matrix-row-body {
  max-height: none;
  padding-top: 4px;
  padding: 0 clamp(12px, 2vw, 16px) clamp(12px, 2vw, 16px);
  transition: max-height 0.35s ease, padding-top 0.2s ease;
}

.dcf-matrix-cells {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: clamp(10px, 2vw, 14px);
}

.dcf-matrix-cell {
  display: grid;
  gap: 6px;
  padding: 12px;
  border-radius: var(--ds-radius-md);
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.05);
  box-shadow: none;
}

.dcf-matrix-cell-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.9);
}

.dcf-matrix-cell .dcf-scenario-chip {
  width: 10px;
  height: 10px;
  background: var(--dcf-accent);
  box-shadow: 0 0 0 4px var(--dcf-accent-soft);
}

.dcf-scenario-body {
  overflow: hidden;
  transition: max-height 0.35s ease;
}

.dcf-field {
  display: grid;
  gap: 6px;
  padding: 10px 12px;
  border-radius: var(--ds-radius-md);
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.04);
  transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.dcf-field:focus-within {
  border-color: rgba(255, 215, 0, 0.5);
  background: rgba(255, 255, 255, 0.04);
  box-shadow: 0 0 0 1px rgba(255, 215, 0, 0.12);
}

.dcf-field-label {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.78);
}

.dcf-field-hint {
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.55);
}

.dcf-form .input {
  width: 100%;
  border-radius: var(--ds-radius-sm);
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(0, 0, 0, 0.55);
  color: var(--ds-color-text-100);
  padding: 9px 11px;
  font-size: 0.95rem;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.dcf-form .input:focus {
  outline: none;
  border-color: rgba(255, 215, 0, 0.6);
  box-shadow: 0 0 0 1px rgba(255, 215, 0, 0.25);
}

.dcf-field-meta {
  font-size: 0.72rem;
  color: rgba(255, 255, 255, 0.45);
}

.dcf-advanced-controls {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(12px, 2.8vw, 20px);
  align-items: center;
  justify-content: space-between;
  padding: clamp(14px, 3vw, 20px);
  border-radius: var(--ds-radius-lg);
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: linear-gradient(145deg, rgba(26, 26, 26, 0.92), rgba(12, 12, 12, 0.9));
}

.dcf-control {
  display: grid;
  gap: 6px;
  min-width: 180px;
  flex: 1 1 220px;
}

.dcf-control-label {
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.62);
}

.dcf-control select {
  min-width: 200px;
  width: 100%;
}

.dcf-submit {
  padding-inline: clamp(22px, 4vw, 32px);
  white-space: nowrap;
}

.dcf-results-header {
  display: grid;
  gap: 4px;
}

.dcf-summary {
  display: grid;
  gap: clamp(18px, 3vw, 26px);
}

.dcf-summary-bar {
  display: grid;
  gap: clamp(12px, 2vw, 18px);
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  align-items: center;
  padding: clamp(14px, 2.6vw, 20px);
  border-radius: var(--ds-radius-xl);
  background: linear-gradient(150deg, rgba(32, 34, 52, 0.92), rgba(8, 10, 20, 0.9));
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04), 0 16px 38px rgba(2, 6, 12, 0.5);
}

.dcf-summary-metric {
  display: grid;
  gap: 6px;
}

.dcf-summary-label {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: rgba(255, 255, 255, 0.58);
}

.dcf-summary-value {
  font-size: clamp(1rem, 2.4vw, 1.45rem);
  font-weight: 600;
}

.dcf-summary-gap {
  font-size: clamp(0.95rem, 2vw, 1.1rem);
  font-weight: 600;
  justify-self: end;
  padding: 12px 16px;
  border-radius: var(--ds-radius-lg);
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.08);
  color: var(--ds-color-text-100);
  text-align: center;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

@media (max-width: 640px) {
  .dcf-summary-gap {
    justify-self: stretch;
  }
}

.dcf-summary-gap.is-positive {
  background: var(--md-scenario-best-soft);
  color: var(--md-scenario-best);
  border-color: rgba(16, 185, 129, 0.4);
}

.dcf-summary-gap.is-negative {
  background: var(--md-scenario-worst-soft);
  color: #fda4a1;
  border-color: rgba(239, 68, 68, 0.45);
}

.dcf-scenario-legend {
  display: grid;
  gap: clamp(10px, 2vw, 16px);
}

@media (min-width: 768px) {
  .dcf-scenario-legend {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.dcf-legend-item {
  --legend-accent: var(--md-scenario-blend);
  --legend-accent-soft: var(--md-scenario-blend-soft);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 16px;
  border-radius: var(--ds-radius-lg);
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: linear-gradient(150deg, var(--legend-accent-soft), rgba(8, 10, 18, 0.9));
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04);
}

.dcf-legend-item.is-best {
  --legend-accent: var(--md-scenario-best);
  --legend-accent-soft: var(--md-scenario-best-soft);
}

.dcf-legend-item.is-base {
  --legend-accent: var(--md-scenario-base);
  --legend-accent-soft: var(--md-scenario-base-soft);
}

.dcf-legend-item.is-worst {
  --legend-accent: var(--md-scenario-worst);
  --legend-accent-soft: var(--md-scenario-worst-soft);
}

.dcf-legend-item.is-blend {
  --legend-accent: var(--md-scenario-blend);
  --legend-accent-soft: var(--md-scenario-blend-soft);
}

.dcf-legend-dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--legend-accent);
  box-shadow: 0 0 0 4px var(--legend-accent-soft);
  flex-shrink: 0;
}

.dcf-legend-text {
  display: grid;
  gap: 2px;
  color: rgba(255, 255, 255, 0.8);
}

.dcf-legend-label {
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.dcf-legend-hint {
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.6);
}

.dcf-legend-value {
  font-size: 1rem;
  font-weight: 600;
  color: var(--ds-color-text-100);
}

.valuation-chart-card {
  margin-top: var(--ds-space-2);
  padding: clamp(14px, 3vw, 20px);
  border: 1px solid rgba(250, 204, 21, 0.22);
  background: radial-gradient(circle at 0 0, rgba(250, 204, 21, 0.08), transparent 60%),
              radial-gradient(circle at 100% 10%, rgba(59, 130, 246, 0.08), transparent 55%),
              rgba(28, 28, 28, 0.85);
  display: grid;
  gap: clamp(12px, 2vw, 18px);
  border-radius: var(--ds-radius-lg);
  overflow: hidden;
}

.valuation-chart-header {
  display: flex;
  justify-content: space-between;
  gap: var(--ds-space-4);
  flex-wrap: wrap;
  align-items: center;
}

.valuation-chart-header > div {
  display: grid;
  gap: 4px;
  max-width: 360px;
}

.valuation-chart-title {
  margin: 0;
  font-weight: 600;
}

.valuation-chart-sub {
  margin: 0;
  color: rgba(255, 255, 255, 0.7);
}

.valuation-chart-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
}

.valuation-chart-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: flex-start;
}

.valuation-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.05);
  font-weight: 600;
  font-size: 0.85rem;
  line-height: 1.2;
  color: rgba(255, 255, 255, 0.9);
}

.valuation-chip .pill-label {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(255, 255, 255, 0.7);
}

.valuation-chip--price {
  border-color: rgba(148, 163, 184, 0.4);
  background: linear-gradient(120deg, rgba(148, 163, 184, 0.2), rgba(255, 255, 255, 0.04));
  color: #e2e8f0;
}

.valuation-chip--best {
  border-color: rgba(16, 185, 129, 0.45);
  background: rgba(16, 185, 129, 0.12);
  color: var(--md-scenario-best);
}

.valuation-chip--base {
  border-color: rgba(59, 130, 246, 0.45);
  background: rgba(59, 130, 246, 0.12);
  color: var(--md-scenario-base);
}

.valuation-chip--worst {
  border-color: rgba(239, 68, 68, 0.45);
  background: rgba(239, 68, 68, 0.12);
  color: var(--md-scenario-worst);
}

.valuation-chip--blend {
  border-color: rgba(250, 204, 21, 0.45);
  background: rgba(250, 204, 21, 0.12);
  color: var(--md-scenario-blend);
}

.valuation-chip--current,
.valuation-chart-current {
  display: inline-flex;
  align-self: center;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid rgba(249, 115, 22, 0.35);
  background: rgba(249, 115, 22, 0.15);
  color: #fdba74;
  font-size: 0.85rem;
  font-weight: 600;
}

.valuation-chart-current .pill-label,
.valuation-chip--current .pill-label {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(255, 255, 255, 0.7);
}

.valuation-pill {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 8px 12px;
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 600;
  line-height: 1.2;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  min-width: 110px;
}

.valuation-pill .pill-label {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(255, 255, 255, 0.65);
}

.valuation-pill--bull {
  border-color: rgba(34, 197, 94, 0.35);
  background: rgba(34, 197, 94, 0.15);
  color: #86efac;
}

.valuation-pill--base {
  border-color: rgba(59, 130, 246, 0.35);
  background: rgba(59, 130, 246, 0.12);
  color: #93c5fd;
}

.valuation-pill--bear {
  border-color: rgba(248, 113, 113, 0.35);
  background: rgba(248, 113, 113, 0.12);
  color: #fca5a5;
}

.valuation-pill--blend {
  border-color: rgba(250, 204, 21, 0.35);
  background: rgba(250, 204, 21, 0.12);
  color: #fef08a;
}

.valuation-chart-canvas {
  width: 100%;
  min-height: clamp(200px, 38vw, 340px);
  overflow: hidden;
}

.valuation-chart-footnote {
  margin: 0;
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.55);
}

@media (max-width: 1023px) {
  .valuation-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .dcf-panel--form,
  .dcf-panel--results {
    padding: clamp(16px, 3vw, 20px);
  }

  .dcf-template-group {
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  }

  .dcf-scenario-card {
    padding: clamp(16px, 3vw, 20px);
  }

  .dcf-field-grid {
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: var(--ds-space-2);
  }

  .dcf-advanced-controls {
    flex-direction: column;
    align-items: stretch;
  }

  .dcf-control {
    min-width: 100%;
  }

  .dcf-summary-bar {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  }

  .dcf-summary-gap {
    justify-self: stretch;
  }

  .dcf-scenario-legend {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  }

  .valuation-chart-header {
    align-items: flex-start;
    gap: var(--ds-space-3);
  }

  .valuation-chart-pills {
    justify-content: flex-start;
    row-gap: var(--ds-space-2);
  }

  .valuation-chart-current {
    width: 100%;
    justify-content: center;
  }
}

@media (min-width: 960px) {
  .dcf-intro-grid {
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr);
    align-items: stretch;
  }

  .dcf-panel-header,
  .dcf-templates {
    height: 100%;
  }

  .dcf-templates {
    align-self: stretch;
  }

  .dcf-advanced-controls {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr)) auto;
    align-items: start;
  }

  .dcf-control {
    flex: 1 1 0;
  }

  .dcf-submit {
    justify-self: end;
  }
}

@media (max-width: 960px) {
  .dcf-advanced-controls {
    gap: clamp(10px, 3vw, 16px);
  }
}

@media (max-width: 640px) {
  .dcf-shell {
    gap: clamp(14px, 4vw, 18px);
  }

  .dcf-panel--form,
  .dcf-panel--results {
    padding: clamp(14px, 4vw, 18px);
  }

  .dcf-step-badge {
    padding: 10px 14px;
    min-width: 64px;
  }

  .dcf-step-badge__number {
    font-size: 1.15rem;
  }

  .dcf-templates {
    padding: clamp(14px, 4vw, 18px);
  }

  .dcf-template-group {
    gap: 10px;
  }

  .dcf-advanced-controls {
    gap: clamp(10px, 4vw, 14px);
  }

  .valuation-chart-card {
    padding: clamp(12px, 4vw, 16px);
  }

  .valuation-chart-title {
    font-size: 1rem;
  }

  .valuation-chart-sub {
    font-size: 0.9rem;
  }
}
.watchlist-form-card {
  margin-top: 0;
  display: grid;
  gap: var(--ds-space-4);
  align-items: start;
}

.watchlist-form-body {
  display: grid;
  gap: var(--ds-space-2);
}

.watchlist-form-body .input {
  max-width: 240px;
}

.watchlist-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ds-space-2);
  align-items: center;
}

.watchlist-form-actions .text-sm {
  margin: 0;
  color: rgba(255, 255, 255, 0.7);
}
.small-label {
  font-size: 13px;
  font-weight: 500;
  color: #ccc;
}

.small-text {
  font-size: 0.85rem;
  line-height: 1.4;
  color: var(--ds-color-text-100);
}

.small-column {
  width: var(--ds-space-1);
  min-width: var(--ds-space-1);
  padding: 0;
  position: sticky;
}

.table-scroll {
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
  border: 1px solid #333;
  border-radius: 6px;
  position: relative;
  width: 100%;
  margin: var(--ds-space-4) 0;
}

.table-scroll::-webkit-scrollbar {
  height: 10px;
}

.table-scroll::-webkit-scrollbar-track {
  background: var(--ds-color-surface-800);
}

.table-scroll::-webkit-scrollbar-thumb {
  background: var(--ds-color-accent-300);
  border-radius: 6px;
}

.table-scroll::-webkit-scrollbar-thumb:hover {
  background: var(--ds-color-accent-300, #e0b84d);
}

.table-controls {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(12px, 3vw, 24px);
  align-items: stretch;
  margin-bottom: clamp(16px, 3vw, 24px);
}


.control-block {
  position: relative;
  display: grid;
  gap: 12px;
  padding: clamp(16px, 3vw, 22px);
  border-radius: var(--ds-radius-xl);
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: linear-gradient(165deg, rgba(18, 22, 35, 0.92), rgba(6, 8, 18, 0.88));
  box-shadow: 0 18px 36px rgba(6, 9, 20, 0.46);
  backdrop-filter: blur(12px);
  min-width: 200px;
  overflow: hidden;
  isolation: isolate;
}

.control-block::before,
.control-block::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  transition: opacity 0.3s ease;
}

.control-block::before {
  background:
    radial-gradient(120% 140% at 0% 0%, rgba(255, 215, 64, 0.18), transparent 60%),
    radial-gradient(120% 160% at 100% 100%, rgba(82, 126, 255, 0.12), transparent 66%);
  opacity: 0.75;
  mix-blend-mode: screen;
}

.control-block::after {
  border: 1px solid rgba(255, 255, 255, 0.08);
  inset: 1px;
  opacity: 0.55;
}

.control-block:hover::before,
.control-block:focus-within::before {
  opacity: 1;
}

.control-block:hover::after,
.control-block:focus-within::after {
  opacity: 0.8;
}

.control-block > * {
  position: relative;
  z-index: 1;
}

.control-label {
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: rgba(255, 255, 255, 0.65);
}

.segmented-control {
  display: inline-flex;
  gap: 6px;
  padding: 6px;
  border-radius: 999px;
  background: rgba(255, 208, 0, 0.12);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
  width: fit-content;
}

.segmented-control--fill {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  justify-content: stretch;
}

.segmented-control--equal {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(90px, 1fr));
  justify-content: stretch;
}

.segmented-control--triple {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  justify-content: stretch;
}

.segmented-btn {
  border: none;
  background: transparent;
  color: rgba(255, 255, 255, 0.82);
  font-size: 0.9rem;
  font-weight: 600;
  padding: 8px 18px;
  border-radius: 999px;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.segmented-btn:hover,
.segmented-btn:focus-visible {
  outline: none;
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
  box-shadow: 0 8px 18px rgba(255, 210, 0, 0.18);
  transform: translateY(-1px);
}

.segmented-btn.active {
  background: linear-gradient(135deg, rgba(255, 215, 0, 0.92), rgba(255, 168, 0, 0.9));
  color: #050505;
  box-shadow: 0 8px 22px rgba(255, 208, 0, 0.3);
}

.segmented-control--fill .segmented-btn,
.segmented-control--equal .segmented-btn {
  width: 100%;
  min-width: 0;
  text-align: center;
}

.period-btn {
  font-size: 0.95rem;
}

.control-support-text {
  margin: 0;
  font-size: 0.78rem;
  letter-spacing: 0.02em;
  color: rgba(255, 255, 255, 0.56);
  line-height: 1.4;
}

.control-block--periods .control-support-text {
  color: rgba(255, 215, 64, 0.8);
}

.financials-viewer {
  display: grid;
  gap: clamp(20px, 4vw, 36px);
  padding: clamp(20px, 4vw, 40px);
  border-radius: var(--ds-radius-xl);
  background: linear-gradient(150deg, rgba(12, 12, 12, 0.95), rgba(28, 28, 28, 0.92));
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 24px 48px rgba(0, 0, 0, 0.45);
  position: relative;
}

.financials-toolbar {
  display: grid;
  gap: clamp(18px, 3vw, 32px);
  align-items: start;
}

.financials-toolbar-grid {
  display: grid;
  gap: clamp(16px, 3vw, 28px);
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.financials-summary {
  display: grid;
  gap: 6px;
  align-content: start;
  grid-column: 1 / -1;
}

.financials-summary-title {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: clamp(1.1rem, 2vw, 1.35rem);
  font-weight: 700;
}

.financials-summary-tooltip[hidden] {
  display: none;
}

.financials-action-group {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 12px;
  align-self: flex-start;
  grid-column: 1 / -1;
}

.financials-action-btn {
  background: rgba(255, 255, 255, 0.08);
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 600;
  padding: 10px 18px;
  border: 1px solid transparent;
  color: var(--ds-color-text-100);
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}

.financials-action-btn:hover,
.financials-action-btn:focus-visible {
  outline: none;
  background: var(--ds-color-accent-300);
  color: var(--ds-color-bg-950);
  border-color: rgba(255, 255, 255, 0.08);
  transform: translateY(-1px);
}

.financials-action-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  pointer-events: none;
}

.financials-action-btn[aria-pressed="true"] {
  background: linear-gradient(135deg, rgba(255, 215, 0, 0.8), rgba(255, 128, 0, 0.9));
  color: #0f0f0f;
}

.financials-status {
  min-height: 1px;
}

.financials-viewer .financial-table-stage {
  display: grid;
  grid-template-rows: minmax(0, 1fr);
}

.financials-viewer .financial-table-scroll {
  position: relative;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  width: 100%;
  margin-bottom: clamp(16px, 3vw, 28px);
  border-radius: var(--ds-radius-xl);
  border: 1px solid rgba(255, 255, 255, 0.07);
  background: linear-gradient(150deg, rgba(20, 20, 20, 0.95), rgba(8, 8, 8, 0.92));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
  padding: clamp(6px, 1.8vw, 12px);
  display: grid;
  grid-template-rows: minmax(0, 1fr);
  max-height: clamp(420px, 65vh, 720px);
}
.financials-viewer .financial-table-scroll::-webkit-scrollbar {
  height: 10px;
}

.financials-viewer .financial-table-scroll::-webkit-scrollbar-thumb {
  background: rgba(255, 215, 0, 0.35);
  border-radius: 999px;
}

.financials-viewer .financial-table-scroll::-webkit-scrollbar-track {
  background: transparent;
}

.financials-viewer .financial-table-wrapper {
  min-width: 100%;
  display: grid;
  grid-auto-rows: minmax(min-content, max-content);
  align-content: start;
}

.financials-viewer .financial-table-wrapper table {
  min-width: max(100%, 720px);
  border-collapse: separate;
  border-spacing: 0;
  width: max-content;
}

.financials-viewer .financial-table-wrapper thead {
  position: sticky;
  top: 0;
  z-index: 3;
  background: linear-gradient(140deg, rgba(28, 28, 32, 0.98), rgba(18, 18, 24, 0.95));
  backdrop-filter: blur(8px);
  color: rgba(255, 215, 64, 0.88);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.78rem;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06);
}

.financials-viewer .financial-table-wrapper thead th {
  text-align: right;
  font-weight: 600;
}

.financials-viewer .financial-table-wrapper td,
.financials-viewer .financial-table-wrapper th {
  padding: 12px clamp(10px, 2vw, 16px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  white-space: nowrap;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.financials-viewer .financial-table-wrapper tbody td {
  color: rgba(255, 255, 255, 0.82);
}

.financials-viewer .financial-table-wrapper tbody td:first-child,
.financials-viewer .financial-table-wrapper thead th:first-child {
  text-align: left;
  font-variant-numeric: normal;
}

.financials-viewer .financial-table-wrapper th:first-child,
.financials-viewer .financial-table-wrapper td:first-child {
  position: sticky;
  left: 0;
  z-index: 4;
  background: linear-gradient(160deg, rgba(24, 24, 32, 0.97), rgba(12, 12, 18, 0.94));
  border-right: 1px solid rgba(255, 255, 255, 0.04);
  color: rgba(255, 255, 255, 0.9);
  box-shadow: 1px 0 0 rgba(0, 0, 0, 0.35);
}

.financials-viewer .financial-table-wrapper tbody tr:nth-child(even) {
  background: rgba(255, 255, 255, 0.025);
}

.financials-viewer .financial-table-wrapper tbody tr:hover {
  background: rgba(255, 215, 0, 0.12);
}

.financials-viewer .financial-table-loading,
.financials-viewer .financial-table-error {
  display: grid;
  place-items: center;
  min-height: 240px;
  font-weight: 600;
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.75);
}

.financials-viewer .financial-table-error {
  color: var(--ds-color-danger-500);
}

.financials-viewer--fullscreen {
  position: fixed;
  inset: clamp(16px, 3vw, 32px);
  width: calc(100vw - clamp(32px, 6vw, 64px));
  height: calc(100vh - clamp(32px, 6vw, 64px));
  z-index: 1200;
  overflow: hidden;
  backdrop-filter: blur(12px);
}

.financials-viewer--fullscreen .financial-table-scroll {
  max-height: none;
}

.financials-viewer--fullscreen .financial-table-stage {
  height: 100%;
}

body.financials-fullscreen-active {
  overflow: hidden;
}

@media (max-width: 1024px) {
  .financials-toolbar-grid {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  }
}

@media (max-width: 820px) {
  .segmented-control--fill,
  .segmented-control--equal {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .control-block {
    min-width: 0;
  }

  .financials-viewer {
    padding: clamp(16px, 5vw, 28px);
  }

  .financials-viewer .financial-table-scroll {
    max-height: none;
  }
}

@media (max-width: 580px) {
  .financials-toolbar-grid {
    grid-template-columns: 1fr;
  }

  .financials-summary-title {
    flex-wrap: wrap;
  }
}

@media (max-width: 600px) {
  .financials-viewer .financial-table-wrapper table {
    font-size: 0.8rem;
  }
}

/* Watchlist column highlight */
.active-column {
  background-color: rgba(255, 255, 0, 0.05); /* very subtle yellow tint */
}

/* For metrics on company.html */
.metric-group-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: var(--ds-space-2);
  margin-bottom: var(--ds-space-4);
}

.ratio-card {
  background-color: var(--ds-color-surface-800);
  padding: var(--ds-space-2);
  border-radius: var(--ds-radius-sm);
  box-shadow: var(--ds-shadow-sm);
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-height: 100px;
}

.ratio-label {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--ds-color-accent-300);
  line-height: 1.3;
}

.ratio-value {
  font-size: 1.25rem;
  font-weight: 700;
}

.ratio-interpretation {
  font-size: 0.75rem;
  color: var(--ds-color-text-300);
  line-height: 1.4;
}

/* For ratio cards on company.html */
.ratio-radar {
  display: grid;
  gap: var(--ds-space-3);
}

.ratio-radar__layout {
  display: grid;
  gap: clamp(18px, 3vw, 28px);
}

@media (min-width: 1080px) {
  .ratio-radar__layout {
    grid-template-columns: minmax(220px, 0.75fr) minmax(0, 2.25fr);
    align-items: start;
  }
}

.ratio-radar__nav {
  display: flex;
  gap: clamp(10px, 2vw, 14px);
  padding: clamp(12px, 3vw, 18px);
  border-radius: var(--ds-radius-lg);
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: linear-gradient(140deg, rgba(18, 18, 18, 0.92), rgba(8, 8, 8, 0.9));
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.28);
  overflow-x: auto;
  scrollbar-width: none;
}

.ratio-radar__nav::-webkit-scrollbar {
  display: none;
}

@media (min-width: 1080px) {
  .ratio-radar__nav {
    position: sticky;
    top: 88px;
    flex-direction: column;
    overflow: visible;
  }
}

.ratio-radar__chip {
  border: none;
  display: flex;
  width: 100%;
  padding: 10px 14px;
  font-size: 0.92rem;
  font-weight: 600;
  border-radius: var(--ds-radius-md);
  background: rgba(255, 255, 255, 0.05);
  color: rgba(255, 255, 255, 0.78);
  text-align: left;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.ratio-radar__chip:hover,
.ratio-radar__chip:focus-visible {
  outline: none;
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}

.ratio-radar__chip.active {
  background: linear-gradient(135deg, rgba(255, 215, 0, 0.9), rgba(255, 170, 0, 0.9));
  color: #111;
  transform: translateX(4px);
  box-shadow: 0 10px 25px rgba(255, 215, 0, 0.25);
}

.ratio-radar__panels {
  display: grid;
}

.ratio-panel {
  display: grid;
  gap: clamp(16px, 3vw, 24px);
  border-radius: var(--ds-radius-xl);
  border: 1px solid rgba(255, 255, 255, 0.06);
  background: linear-gradient(160deg, rgba(17, 17, 17, 0.92), rgba(6, 6, 6, 0.9));
  padding: clamp(16px, 3vw, 26px);
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.3);
}

.ratio-panel[hidden] {
  display: none;
}

.ratio-panel-header {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ds-space-4);
  justify-content: space-between;
  align-items: center;
}

.ratio-highlight {
  display: grid;
  padding: 12px 16px;
  border-radius: var(--ds-radius-lg);
  border: 1px solid rgba(255, 215, 0, 0.35);
  background: radial-gradient(circle at 0 0, rgba(255, 215, 0, 0.15), transparent 65%), rgba(255, 255, 255, 0.04);
  text-align: right;
  gap: 4px;
}

.ratio-highlight-value {
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--ds-color-accent-300);
}

.ratio-highlight-label {
  font-size: 0.8rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.62);
}

.ratio-table {
  display: grid;
  gap: clamp(12px, 2vw, 16px);
}

.ratio-row {
  position: relative;
  display: grid;
  gap: clamp(12px, 1.8vw, 16px);
  padding: clamp(12px, 1.8vw, 16px);
  border-radius: var(--ds-radius-lg);
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: linear-gradient(160deg, rgba(19, 26, 45, 0.92), rgba(11, 15, 28, 0.92));
  box-shadow: 0 18px 45px rgba(6, 10, 24, 0.35);
  transition: border-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
  z-index: 0;
}

.ratio-row::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: radial-gradient(circle at top right, rgba(255, 207, 118, 0.15), transparent 65%);
  opacity: 0.75;
  pointer-events: none;
  z-index: -1;
}

.ratio-row:hover,
.ratio-row:focus-within {
  border-color: rgba(255, 204, 102, 0.55);
  transform: translateY(-2px);
  box-shadow: 0 24px 60px rgba(8, 12, 28, 0.45);
}

.ratio-row__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-direction: column;
  gap: clamp(12px, 2vw, 18px);
}

.ratio-cell.label {
  font-weight: 600;
  color: var(--ds-color-accent-300);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: clamp(0.78rem, 1.5vw, 0.85rem);
}

.ratio-cell.value {
  font-weight: 700;
  font-size: clamp(1.4rem, 2.6vw, 1.7rem);
  color: #fff;
  text-align: right;
}

.ratio-row__bar {
  display: flex;
  align-items: center;
  gap: 12px;
}

.daddy-bar-track {
  position: relative;
  width: 100%;
  height: 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  overflow: hidden;
}

.daddy-bar {
  height: 100%;
  border-radius: inherit;
  position: relative;
  background: currentColor;
  opacity: 0.9;
}

.ratio-cell.comment,
.ratio-row__comment {
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.78);
  line-height: 1.55;
}

.stat-positive .daddy-bar-track { box-shadow: inset 0 0 0 1px rgba(46, 213, 115, 0.25); }
.stat-neutral  .daddy-bar-track { box-shadow: inset 0 0 0 1px rgba(255, 204, 0, 0.18); }
.stat-negative .daddy-bar-track { box-shadow: inset 0 0 0 1px rgba(255, 99, 71, 0.2); }

.stat-positive .daddy-bar { color: var(--ds-color-success-500); }
.stat-neutral  .daddy-bar { color: var(--ds-color-warning-500); }
.stat-negative .daddy-bar { color: var(--ds-color-danger-500); }

@media (max-width: 960px) {
  .ratio-row__top {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }

  .ratio-cell.value {
    text-align: left;
  }
}

@media (max-width: 640px) {
  .ratio-row {
    padding: clamp(14px, 6vw, 18px);
  }

  .ratio-cell.value {
    font-size: clamp(1.2rem, 7vw, 1.6rem);
  }

  .ratio-cell.comment,
  .ratio-row__comment {
    font-size: 0.88rem;
  }
}

.desktop-only { display: block; }
.mobile-only { display: none; }

/* Daddy filter explanations */
.daddy-fail-card {
  margin-top: var(--ds-space-2);
  background: rgba(255, 59, 74, 0.08);
  border-color: rgba(255, 59, 74, 0.35);
  color: var(--ds-color-text-100);
}

.fail-card-title {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 4px;
}

.fail-card-subtitle {
  font-size: 0.95rem;
  color: var(--ds-color-surface-800);
  margin-bottom: 12px;
}

.fail-group {
  margin-bottom: 12px;
}

.fail-group-label {
  font-weight: 600;
  margin-bottom: 6px;
  font-size: 1rem;
}

.fail-reasons {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.fail-reasons li {
  margin-bottom: 8px;
  font-size: 0.95rem;
}

.fail-compare {
  display: inline-block;
  font-size: 0.85rem;
  color: var(--ds-color-surface-800);
}

.dd-fail-reasons {
  list-style-type: none;
  margin: 6px 0 12px 0;
  padding-left: 0;
  font-size: 0.9rem;
  color: var(--ds-color-surface-800);
}

.dd-fail-reasons li {
  margin-bottom: 4px;
}

@media (max-width: 768px) {
  .desktop-only { display: none !important; }
  .mobile-only { display: block !important; }
  h1 { font-size: 2rem; }
  h2 { font-size: 1.5rem; }
  .account-links a,
  .account-links button {
    padding: var(--ds-space-2) var(--ds-space-2);
    font-size: 0.9rem;
  }
  .infotip-text {
    left: 50%;
    top: 150%;
    transform: translateX(-50%);
    width: auto;
    text-align: center;
  }
  .account-links {
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 1rem;
    width: 100%;
    margin-top: 35px;
  }
  .header-top {
    margin-bottom: var(--ds-space-2);
  }
  .responsive-header-top {
    flex-direction: row;
    align-items: flex-start;
    gap: 8px;
  }
  .header-bottom {
  width: 100%;
  }
  .brand-img {
  height: 100px;
  margin: 0 0 0 var(--ds-space-2);
  }
  .search-container {
    padding: 0;
    max-width: 90%;
    margin: 0;
  }
  .md-container {
    max-width: 100%;
    margin: 0;
  }
  .valuation-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--ds-space-3);
  }
  .valuation-chart-card {
    padding: var(--ds-space-2);
  }
  .valuation-chart-header {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--ds-space-2);
  }
  .valuation-chart-pills {
    justify-content: flex-start;
    row-gap: var(--ds-space-2);
  }
  .valuation-pill {
    min-width: unset;
  }
  .valuation-chart-canvas {
    min-height: 180px;
  }
}

@media (max-width: 767px) {
  .dcf-scenario-matrix {
    padding: var(--ds-space-2);
  }

  .dcf-matrix-head {
    grid-template-columns: 1fr;
  }

  .dcf-matrix-scenarios {
    grid-template-columns: 1fr;
  }

  .dcf-matrix-row {
    background: rgba(255, 255, 255, 0.03);
  }

  .dcf-row-toggle {
    grid-template-columns: 1fr auto;
    gap: var(--ds-space-2);
  }

  .dcf-matrix-row[data-expanded="false"] .dcf-matrix-row-body {
    max-height: 0;
    padding-top: 0;
    padding-bottom: 0;
  }

  .dcf-matrix-row[data-expanded="true"] .dcf-matrix-row-body {
    padding-top: var(--ds-space-1);
  }

  .dcf-matrix-cells {
    grid-template-columns: 1fr;
  }

  .dcf-matrix-cell {
    background: rgba(255, 255, 255, 0.04);
  }

  .dcf-scenario-body {
    padding-top: clamp(10px, 2vw, 14px);
  }

  .dcf-scenario-card.is-collapsed .dcf-scenario-body {
    max-height: 0;
    padding-top: 0;
  }
}

@media (min-width: 768px) {
  .dcf-scenario-body {
    max-height: none !important;
  }
}
  .hero-banner h1 { font-size: 2.25rem; }
  .hero-banner p { font-size: 1rem; }
  .hero-banner .snapshot-title {
    font-size: 2rem;
    }
  .hero-banner .snapshot-sub {
    font-size: 1rem;
  }
  .hero-banner .hero-cta {
    width: 85%;
    font-size: 1rem;
  }
  .feature-grid.responsive-3x3 {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.6rem;
    margin: 0;
  }
  .feature-title {
    font-size: 1.75rem;
  }
  .feature-subtitle {
    font-size: 1rem;
  }
  .feature-grid {
    gap: var(--ds-space-4);
    margin: var(--ds-space-4);
  }
  .feature-card {
    text-align: left;
    margin-inside: var(--ds-space-2);
    padding: var(--ds-space-4);
  }
  .feature-card h3 {
    font-size: 1.125rem;
  }
  .feature-card p {
    font-size: 0.95rem;
  }
  .carousel-title {
    font-size: 1.5rem;
  }
  .carousel-slide h3 {
    font-size: 1.25rem;
  }
  .carousel-slide p {
    font-size: 0.95rem;
  }
  .carousel-slide {
    padding: 0;
  }
  .dashboard-cards {
    grid-template-columns: 1fr;
  }
  .graphs-header {
    align-items: flex-start;
  }
  .graphs-tip {
    max-width: none;
    text-align: left;
  }
  .metric-card {
    width: 100%;
    margin-bottom: var(--ds-space-2);
  }
  .dd-checks {
    padding: var(--ds-space-1) 0;
  }
  .dd-checks span {
    display: ruby;
    justify-content: center;
  }
  .desktop-dcf-table, .hidden-mobile {
    display: none !important;
  }
  .desktop-dcf-block {
    display: none !important;
  }
  .mobile-dcf-block {
    display: block;
  }
  .dcf-wrapper{
    padding: 0;
  }
  .dcf-card.dcf-flex-row {
    flex-direction: column;
    padding: 0 var(--ds-space-2);
  }
  .dcf-template-group {
    grid-template-columns: minmax(0, 1fr);
  }
  .dcf-scenario-card {
    padding: var(--ds-space-3);
    gap: var(--ds-space-2);
  }
  .dcf-left {
    max-width: 100%;
  }
  .dd-subtitle {
    margin-top: var(--ds-space-4);
  }
  .dcf-right {
    max-width: 100%;
  }
  .dcf-table-responsive table {
    display: none;
  }
  .dcf-mobile-inputs {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  .dcf-input-group {
    display: flex;
    flex-direction: column;
    gap: 4px;
  }
  .dcf-input-group label {
    font-size: 0.9rem;
    color: var(--ds-color-accent-300);
  }
  .dcf-input-group input {
    max-width: 100%;
  }
  .dcf-field-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--ds-space-2);
  }
  .dcf-advanced-controls {
    flex-direction: column;
    align-items: stretch;
  }
  .snapshot-flex {
    flex-direction: column;
  }
  .snapshot-flex > .card {
    width: 100%;
    margin: 1em 0;
  }
  .financial-table-wrapper {
    min-width: 650px;
    padding: 0;

  }
  .financial-table-wrapper table {
    font-size: 0.7rem;
  }
  .financial-table-wrapper th:first-child {
    padding: 8px;
  }
  .financial-table-wrapper thead th,
  .financial-table-wrapper tbody td {
    padding: 8px;
  }
  .financial-table-wrapper td:first-child {
    max-width: 95px;
  }
  .company-header-block {
    padding: 16px;
    gap: 12px;
    flex-direction: column;
  }
  .ownership-strip {
    flex-direction: column;
    align-items: flex-start;
  }
  .snapshot-title {
    font-size: 1.25rem;
  }
  .snapshot-price {
    font-size: 1.1rem;
  }
  .read-more-btn {
    font-size: 0.85rem;
  }
   .hero-title {
    font-size: 2rem;
    line-height: 1.3;
  }

  .hero-subtitle {
    font-size: 1rem;
    padding: 0 var(--ds-space-2);
  }

  .hero-content .ds-btn {
    width: 90%;
  }

  .founder-story {
    padding: 0 var(--ds-space-2);
  }

  .video-wrapper .video-thumb {
    border-radius: var(--ds-radius-sm);
  }

  .core-values-list {
    padding: 0 var(--ds-space-2);
  }

  .core-values-list li {
    font-size: 1rem;
    margin-bottom: var(--ds-space-2);
  }

  .testimonial-grid {
    grid-template-columns: 1fr;
    padding: 0 var(--ds-space-2);
  }

  .testimonial-card {
    text-align: center;
  }

  .social-logos {
    flex-wrap: wrap;
    gap: var(--ds-space-2);
    margin-top: var(--ds-space-4);
  }

  .social-logos img {
    height: 28px;
  }

  .cta-slab .cta-title {
    font-size: 1.5rem;
  }

  .cta-slab .cta-subtitle {
    font-size: 1rem;
  }

  .cta-btn {
    width: 90%;
    padding: 10px;
  }

  .cta-note {
    font-size: 0.8rem;
    margin-top: var(--ds-space-1);
  }
  /* Only for screener.html  */
  /* Filter group containers: tighter padding */
  .filter-group {
    padding: var(--ds-space-1);
    margin-bottom: var(--ds-space-2);
  }
  th[data-label="grows"]::after {
    content: "Engine";
  }
  th[data-label="grows"] {
    font-size: 0;
    position: relative;
  }

  /* Dynamic filters: stacked inputs */
  #dynamic-filters > div {
    display: flex;
    flex-direction: row;
    gap: 4px;
  }

  #dynamic-filters input[type="number"] {
    font-size: 0.9rem;
    padding: 6px;
    max-width: 100%;
  }

  /* Buttons: full width on small screens */
  .snapshot-flex > button {
    width: 100%;
  }

  /* Sort selector stacking */
  .selector-group {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }

  /* Result cards: stacked and tighter */
  .screener-card {
    padding: var(--ds-space-2);
    font-size: 0.9rem;
  }

  .screener-card h4 {
    font-size: 1rem;
    margin-bottom: var(--ds-space-1);
  }

  .screener-card .card-body {
    margin-top: var(--ds-space-1);
  }

  /* Reduce space between results */
  #screener-results {
    gap: var(--ds-space-2);
  }

  /* Filter tags smaller */
  .filter-tag {
    font-size: 0.7rem;
    padding: 2px 6px;
  }

  /* Ratio table on mobile */
  .ratio-row {
    grid-template-columns: 30% 20% 42%;
  }
}

@media (max-width: 600px) {
  .search-input {
    max-width: 100%;
  }
}

/* — iPad sweet spot — */
@media (min-width: 768px) and (max-width: 1180px) {
  :root {
    --md-gutter: clamp(18px, 2.6vw, 26px);
  }

  html,
  body {
    font-size: max(16px, calc(var(--ds-fluid-font-base, 16px) * var(--company-font-scale, 1)));
  }

  /* Container rhythm */
  .md-container.container {
    max-width: min(1000px, var(--ds-fluid-max));
    padding-left: max(var(--md-gutter), var(--ds-fluid-gutter));
    padding-right: max(var(--md-gutter), var(--ds-fluid-gutter));
  }

  /* Header: two rows stay tight, buttons don’t wrap ugly */
  header .ds-btn { padding: 10px 14px; }

  /* Hero: reduce vertical bloat, keep punch */
  .hero-banner { padding: 32px 0; }
  .hero-banner .snapshot-title { font-size: 28px; line-height: 1.2; }
  .hero-banner .snapshot-sub { font-size: 16px; opacity: .9; }

  /* Feature grid: 3‑up on iPad */
  .feature-grid.responsive-3x3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
  }
  .feature-card { padding: 14px 12px; border-radius: 14px; }

  /* Founder video: keep 16:9 and center */
  .founder-video .video-container { max-width: 900px; }

  /* Carousel: bigger dots + safer arrows for thumbs */
  .carousel-arrow { font-size: 28px; width: 48px; height: 48px; }
  .carousel-dot { width: 10px; height: 10px; }

  .pg-pill { padding: 6px 8px; font-size: 0.8rem; }
}

/* Portrait iPad (narrower grid) */
@media (min-width: 768px) and (max-width: 900px) {
  .feature-grid.responsive-3x3 { grid-template-columns: repeat(2, 1fr); }
}

/* Sparkline card typography on tablet */
@media (min-width: 768px) and (max-width: 1180px) {
  .sparkline-card .title { font-size: 15px; }
  .sparkline-card .hint  { font-size: 12px; opacity: .8; }
  .sparkline-meta { font-size: 12px; gap: 6px; }
}

@media (min-width: 768px) and (max-width: 1180px) {
  .founder-video .video-container { max-width: 900px; }
}

/* Watchlist card board */
.watchlist-page {
  display: flex;
  flex-direction: column;
  gap: clamp(var(--ds-space-4), 4vw, var(--ds-space-6));
  min-height: calc(100vh - var(--ds-nav-height, 72px));
}

@supports (height: 100dvh) {
  .watchlist-page {
    min-height: calc(100dvh - var(--ds-nav-height, 72px));
  }
}

.watchlist-page > * {
  flex-shrink: 0;
}

.watchlist-page.md-container.container[data-watchlist-page] {
  --watchlist-fluid-gutter: clamp(14px, 1.8vw, 26px);
  --ds-fluid-gutter: var(--watchlist-fluid-gutter);
  --ds-fluid-max: min(1700px, calc(100vw - (var(--watchlist-fluid-gutter) * 2)));
  --ds-container-max: 1560px;
  width: min(var(--ds-fluid-max), 100%);
  max-width: min(var(--ds-container-max), var(--ds-fluid-max));
  padding-left: var(--watchlist-fluid-gutter);
  padding-right: var(--watchlist-fluid-gutter);
}

/* Screener page shares the same rhythm as the watchlist */
.screener-page {
  display: grid;
  gap: clamp(32px, 6vw, 56px);
}

.screener-stage {
  display: grid;
  gap: clamp(24px, 5vw, 40px);
}

.screener-layout {
  display: grid;
  gap: clamp(24px, 4vw, 36px);
}

@media (min-width: 1024px) {
  .screener-layout {
    grid-template-columns: minmax(400px, 520px) minmax(0, 1fr);
    align-items: start;
    column-gap: clamp(36px, 6vw, 72px);
  }
}

@media (min-width: 1360px) {
  .screener-layout {
    grid-template-columns: minmax(460px, 600px) minmax(0, 1fr);
  }
}

.screener-controls {
  display: grid;
  gap: clamp(20px, 3vw, 28px);
}

.screener-controls__pinned {
  display: grid;
  gap: clamp(16px, 3vw, 24px);
  position: sticky;
  top: calc(var(--ds-nav-height, 72px) + 14px);
  z-index: 6;
  padding: clamp(14px, 3vw, 20px) clamp(18px, 4vw, 26px);
  background: linear-gradient(180deg, rgba(14, 18, 34, 0.95) 0%, rgba(14, 18, 34, 0.88) 100%);
  backdrop-filter: blur(16px);
  border-radius: clamp(18px, 4vw, 22px);
  box-shadow: 0 18px 32px rgba(0, 0, 0, 0.32);
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.screener-controls__pinned::after {
  content: "";
  display: block;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.18), transparent);
  margin: clamp(12px, 2vw, 18px) 0 clamp(14px, 3vw, 22px);
}

@media (min-width: 1024px) {
  .screener-controls {
    position: sticky;
    top: calc(var(--ds-nav-height, 72px) + 20px);
    max-height: calc(100vh - var(--ds-nav-height, 72px) - 32px);
    overflow-y: auto;
    padding-right: 8px;
    scrollbar-gutter: stable;
  }

  .screener-controls::-webkit-scrollbar {
    width: 6px;
  }

  .screener-controls::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.12);
    border-radius: 999px;
  }

  .screener-controls__pinned {
    top: 0;
    padding: clamp(14px, 3vw, 20px) clamp(18px, 4vw, 26px);
    border-radius: clamp(18px, 4vw, 22px);
    backdrop-filter: blur(16px);
    box-shadow: 0 18px 32px rgba(0, 0, 0, 0.32);
    border: 1px solid rgba(255, 255, 255, 0.12);
  }

  .screener-controls__pinned::after {
    margin: clamp(12px, 2vw, 18px) 0 0;
  }
}

.screener-output {
  display: grid;
  gap: clamp(24px, 4vw, 36px);
}

.screener-progress {
  display: grid;
  gap: var(--ds-space-3);
}

.screener-progress__bar {
  position: relative;
  height: 6px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  overflow: hidden;
}

.screener-progress__bar-fill {
  position: absolute;
  inset: 0;
  width: 33%;
  background: linear-gradient(135deg, rgba(255, 215, 0, 0.85), rgba(255, 140, 0, 0.85));
  transition: width 0.3s ease;
}

.screener-progress__steps {
  display: flex;
  gap: var(--ds-space-4);
  list-style: none;
  margin: 0;
  padding: 0;
}

.screener-progress__step {
  display: grid;
  gap: 4px;
  color: var(--ds-color-text-200);
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  transition: color 0.2s ease;
}

.screener-progress__step.is-active,
.screener-progress__step.is-complete {
  color: var(--ds-color-text-100);
}

.screener-progress__indicator {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  font-weight: 600;
}

.screener-progress__step.is-complete .screener-progress__indicator {
  background: linear-gradient(135deg, rgba(255, 215, 0, 0.75), rgba(255, 140, 0, 0.75));
  color: var(--ds-color-text-200);
}

.screener-form {
  display: grid;
  gap: clamp(24px, 5vw, 36px);
}

.screener-step-nav {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ds-space-3);
  align-items: center;
}

.screener-step-chip {
  display: inline-flex;
  align-items: center;
  gap: var(--ds-space-2);
  padding: 0.6rem 1.1rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(12, 16, 32, 0.85);
  color: var(--ds-color-text-300);
  cursor: pointer;
  transition: all 0.2s ease;
  font: inherit;
  appearance: none;
}

.screener-step-chip .step-index {
  width: 2rem;
  height: 2rem;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(255, 215, 0, 0.12);
  color: var(--ds-color-accent-300);
  font-weight: 600;
}

.screener-step-chip .step-copy {
  display: grid;
  gap: 0.2rem;
}

.screener-step-chip .step-title {
  font-size: 0.85rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.screener-step-chip .step-hint {
  font-size: 0.75rem;
  color: var(--ds-color-text-300);
}

.screener-step-chip:focus-visible {
  outline: 2px solid rgba(255, 215, 0, 0.55);
  outline-offset: 2px;
}

.screener-step-chip[aria-current="step"],
.screener-step-chip.is-active,
.screener-step-chip:focus-visible {
  border-color: rgba(255, 215, 0, 0.55);
  color: var(--ds-color-text-100);
  box-shadow: 0 12px 28px rgba(7, 10, 24, 0.45);
  transform: translateY(-2px);
}

.stage-panel {
  border-radius: var(--ds-radius-xl);
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: linear-gradient(145deg, rgba(15, 17, 32, 0.92), rgba(9, 11, 24, 0.94));
  padding: clamp(20px, 4vw, 32px);
  display: grid;
  gap: clamp(18px, 3vw, 24px);
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.stage-panel header {
  display: grid;
  gap: var(--ds-space-2);
}

.stage-panel.is-highlighted {
  border-color: rgba(255, 215, 0, 0.55);
  box-shadow: 0 16px 32px rgba(7, 10, 24, 0.55);
}

.stage-panel header h2 {
  margin: 0;
  font-size: 1.15rem;
}

.stage-panel header p {
  margin: 0;
  color: var(--ds-color-text-300);
  font-size: 0.9rem;
}

.daddy-chip-group {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ds-space-2);
}

.daddy-chip {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: var(--ds-space-2);
  padding: 0.65rem 1rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.04);
  color: var(--ds-color-text-300);
  cursor: pointer;
  transition: all 0.2s ease;
}

.daddy-chip.is-active {
  background: rgba(34, 197, 94, 0.18);
  border-color: rgba(34, 197, 94, 0.4);
  color: var(--ds-color-success-500);
}

.daddy-chip.chip-pulse {
  animation: chipPulse 0.24s ease;
}

@keyframes chipPulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.03);
  }
  100% {
    transform: scale(1);
  }
}

.daddy-chip input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}

.stage-guidance {
  display: grid;
  gap: var(--ds-space-2);
  border-radius: var(--ds-radius-lg);
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.03);
  padding: var(--ds-space-3);
}

.stage-guidance--metrics {
  border-style: dashed;
}

.guided-chip-row,
.guided-chip-grid {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ds-space-2);
}

.guided-chip {
  display: grid;
  gap: 0.25rem;
  padding: 0.65rem 0.9rem;
  border-radius: var(--ds-radius-lg);
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(10, 12, 28, 0.85);
  color: var(--ds-color-text-200);
  font-size: 0.85rem;
  min-width: 180px;
  text-align: left;
  cursor: pointer;
  transition: all 0.2s ease;
}

.guided-chip:hover,
.guided-chip:focus-visible {
  border-color: rgba(255, 215, 0, 0.55);
  color: var(--ds-color-text-300);
  box-shadow: 0 16px 24px rgba(7, 10, 24, 0.35);
}

.guided-chip:focus-visible {
  outline: 2px solid rgba(255, 215, 0, 0.55);
  outline-offset: 2px;
}

.guided-chip__title {
  font-weight: 600;
}

.guided-chip__hint {
  font-size: 0.75rem;
  color: var(--ds-color-text-300);
}

.filter-search-container {
  display: grid;
  gap: clamp(18px, 3vw, 28px);
}

@media (min-width: 960px) {
  .filter-search-container {
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    align-items: start;
  }
}

.step-runner {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ds-space-3);
  align-items: center;
  justify-content: space-between;
}

.run-support {
  display: grid;
  gap: var(--ds-space-4);
}

.preset-save__controls {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ds-space-2);
  align-items: center;
}

.preset-save__controls .ds-input {
  min-width: min(280px, 100%);
}

.preset-status {
  min-height: 1.2rem;
  font-size: 0.85rem;
  color: var(--ds-color-text-300);
}

.preset-status.success {
  color: var(--ds-color-success-500);
}

.preset-status.error {
  color: var(--ds-color-danger-500);
}

.preset-share {
  display: grid;
  gap: var(--ds-space-1);
}

.preset-share__link {
  font-size: 0.85rem;
  word-break: break-all;
  background: rgba(255, 255, 255, 0.04);
  border-radius: var(--ds-radius-sm);
  padding: 0.45rem 0.6rem;
}

.preset-share__link a {
  color: var(--ds-color-accent-300);
  text-decoration: none;
}

.preset-share__link a:hover {
  text-decoration: underline;
}

.preset-list {
  display: grid;
  gap: var(--ds-space-2);
}

.preset-list__item {
  display: flex;
  align-items: stretch;
  gap: var(--ds-space-2);
  padding: 0.35rem 0.45rem;
  border-radius: var(--ds-radius-lg);
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.03);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.preset-list__item:hover,
.preset-list__item:focus-within {
  border-color: rgba(255, 215, 0, 0.55);
  box-shadow: 0 14px 28px rgba(7, 10, 24, 0.38);
  transform: translateY(-2px);
}

.preset-list__load {
  flex: 1;
  display: grid;
  gap: 0.15rem;
  align-content: center;
  background: none;
  border: none;
  padding: 0.4rem 0.55rem;
  border-radius: calc(var(--ds-radius-md) + 2px);
  color: inherit;
  text-align: left;
  font: inherit;
  cursor: pointer;
  transition: background 0.2s ease;
}

.preset-list__load:hover,
.preset-list__load:focus-visible {
  background: rgba(255, 255, 255, 0.06);
  outline: none;
}

.preset-list__name {
  font-weight: 600;
  font-size: 0.95rem;
  letter-spacing: 0.01em;
}

.preset-list__meta {
  font-size: 0.75rem;
  color: var(--ds-color-text-300);
}

.preset-list__actions {
  display: flex;
  align-items: center;
  gap: var(--ds-space-1);
  padding: 0.25rem;
}

.preset-list__delete {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.04);
  color: var(--ds-color-text-200);
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.preset-list__delete:hover,
.preset-list__delete:focus-visible {
  background: rgba(255, 77, 0, 0.22);
  border-color: rgba(255, 215, 0, 0.6);
  color: var(--ds-color-text-100);
  outline: none;
  transform: translateY(-1px);
}

.preset-empty {
  font-size: 0.85rem;
  color: var(--ds-color-text-300);
}

.preset-library__hint {
  color: var(--ds-color-text-300);
  font-size: 0.85rem;
}

.screener-insights {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ds-space-3);
  border-radius: var(--ds-radius-lg);
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.03);
  padding: var(--ds-space-3);
}

.insight-pill {
  display: grid;
  gap: var(--ds-space-1);
  min-width: 160px;
  padding: var(--ds-space-2) var(--ds-space-3);
  border-radius: var(--ds-radius-md);
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(10, 12, 28, 0.85);
}

.insight-pill__label {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--ds-color-text-300);
}

.insight-pill__value {
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--ds-color-text-100);
}

.insight-pill__hint {
  font-size: 0.75rem;
  color: var(--ds-color-text-300);
}

@media (max-width: 720px) {
  .preset-save__controls {
    flex-direction: column;
    align-items: stretch;
  }

  .preset-save__controls .ds-btn {
    width: 100%;
  }
}

.filter-search-label {
  display: block;
  font-size: 0.82rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ds-color-text-300);
  margin-bottom: 0.15rem;
}

.search-container {
  position: relative;
  z-index: 1;
}

.filter-results {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  margin-top: var(--ds-space-2);
  padding: var(--ds-space-2);
  list-style: none;
  background: rgba(9, 11, 22, 0.96);
  border-radius: var(--ds-radius-lg);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 20px 46px rgba(8, 10, 22, 0.55);
  backdrop-filter: blur(14px);
  max-height: 18rem;
  overflow-y: auto;
  z-index: 40;
  scrollbar-gutter: stable;
}

.filter-results:empty,
.filter-results[hidden] {
  display: none;
}

.filter-results::-webkit-scrollbar {
  width: 6px;
}

.filter-results::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.18);
  border-radius: 999px;
}

.search-result-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--ds-space-2);
  padding: 0.55rem 0.65rem;
  border-radius: var(--ds-radius-md);
  color: var(--ds-color-text-100);
  cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease;
}

.search-result-item:not(:last-child) {
  margin-bottom: var(--ds-space-1);
}

.search-result-item:hover,
.search-result-item:focus-visible {
  background: rgba(255, 255, 255, 0.08);
  transform: translateX(2px);
  outline: none;
}

.search-result-label {
  font-weight: 600;
  letter-spacing: 0.02em;
}

.search-result-item .add-filter-btn {
  flex-shrink: 0;
}

.filter-chip-group {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ds-space-2);
}

.filter-chip {
  display: grid;
  gap: var(--ds-space-2);
  min-width: 16rem;
  padding: var(--ds-space-3);
  border-radius: var(--ds-radius-lg);
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.03);
}

.sort-select-group {
  display: inline-flex;
  align-items: stretch;
  border-radius: var(--ds-radius-md);
  border: 1px solid rgba(255, 255, 255, 0.12);
  overflow: hidden;
}

.sort-select-group select {
  border: none;
  background: rgba(11, 13, 24, 0.9);
  color: var(--ds-color-text-100);
}

.sort-select-group button {
  border-left: 1px solid rgba(255, 255, 255, 0.12);
}

.filter-chip .filter-label {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--ds-color-text-300);
}

.filter-input {
  width: 100%;
  background: rgba(11, 13, 24, 0.9);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: var(--ds-radius-md);
  color: var(--ds-color-text-100);
  padding: 0.45rem 0.65rem;
}

.filter-input:focus {
  border-color: var(--ds-color-accent-300);
  outline: none;
  box-shadow: 0 0 0 2px rgba(255, 215, 0, 0.18);
}

.remove-filter {
  justify-self: start;
  background: transparent;
  border: none;
  color: var(--ds-color-text-300);
  cursor: pointer;
  font-size: 0.9rem;
}

.screener-results {
  display: grid;
  gap: clamp(18px, 3vw, 28px);
}

.screener-results__header {
  display: grid;
  gap: var(--ds-space-1);
}

.screener-results__header h2 {
  margin: 0;
  font-size: 1.1rem;
}

.screener-results__hint {
  margin: 0;
  color: var(--ds-color-text-300);
  font-size: 0.9rem;
}

.screener-table-shell {
  border-radius: var(--ds-radius-xl);
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: linear-gradient(160deg, rgba(10, 12, 28, 0.95), rgba(18, 20, 38, 0.92));
  box-shadow: 0 18px 36px rgba(5, 8, 21, 0.45);
  overflow: hidden;
}

.screener-table-scroll {
  max-height: min(68vh, 760px);
  overflow: auto;
  padding: 0 0.75rem 0.75rem;
  scrollbar-gutter: stable;
}

.screener-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 860px;
}

.screener-table thead th {
  position: sticky;
  top: 0;
  background: rgba(12, 14, 32, 0.96);
  backdrop-filter: blur(12px);
  z-index: 2;
  box-shadow: 0 6px 12px rgba(7, 10, 24, 0.45);
}

.screener-table th,
.screener-table td {
  padding: 0.9rem 1.1rem;
  text-align: left;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  font-size: 0.88rem;
  vertical-align: middle;
}

.screener-table tbody tr {
  transition: background 0.2s ease;
}

.screener-table tbody tr:hover {
  background: rgba(255, 255, 255, 0.04);
}

.screener-table .col-rank {
  width: 48px;
  text-align: center;
  color: var(--ds-color-text-300);
}

.screener-table .col-symbol {
  width: 120px;
}

.screener-table .col-price,
.screener-table .col-market-cap,
.screener-table .col-upside {
  text-align: right;
}

.screener-table .col-actions {
  width: 180px;
  text-align: right;
}

.screener-results a.screener-symbol-link {
  font-weight: 700;
  color: var(--ds-color-text-100);
  text-decoration: none;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.screener-results a.screener-symbol-link:hover,
.screener-results a.screener-symbol-link:focus-visible {
  color: var(--ds-color-accent-300);
}

.screener-verdict-group {
  display: inline-flex;
  gap: 0.35rem;
  flex-wrap: wrap;
}

.screener-verdict-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.3rem 0.55rem;
  border-radius: 999px;
  font-size: 0.7rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.04);
}

.screener-verdict-chip.is-positive {
  border-color: rgba(34, 197, 94, 0.45);
  background: rgba(34, 197, 94, 0.15);
  color: var(--ds-color-success-500);
}

.screener-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.3rem 0.65rem;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(255, 215, 0, 0.25), rgba(255, 140, 0, 0.25));
  color: var(--ds-color-accent-300);
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 600;
}

.screener-badge.badge-neutral {
  background: rgba(110, 118, 145, 0.22);
  color: var(--ds-color-text-200);
}

.screener-badge.badge-warn {
  background: rgba(255, 171, 0, 0.22);
  color: #ffb347;
}

.screener-badge.badge-amber {
  background: rgba(255, 196, 0, 0.28);
  color: #ffd27f;
}

.screener-badge.badge-success {
  background: rgba(34, 197, 94, 0.22);
  color: var(--ds-color-success-500);
}

.screener-metric-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.screener-metric-pill {
  display: inline-flex;
  align-items: baseline;
  gap: 0.3rem;
  padding: 0.35rem 0.55rem;
  border-radius: var(--ds-radius-sm);
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  font-size: 0.78rem;
}

.screener-metric-pill span {
  color: var(--ds-color-text-300);
  text-transform: uppercase;
  font-size: 0.68rem;
  letter-spacing: 0.06em;
}

.screener-metric-pill strong {
  color: var(--ds-color-text-100);
  font-weight: 600;
}

.screener-metric-pill.more-count {
  font-weight: 600;
  letter-spacing: 0.05em;
}

.screener-empty {
  margin: 0;
  color: var(--ds-color-text-300);
  text-align: center;
}

.screener-empty.subtle {
  opacity: 0.65;
  font-size: 0.82rem;
}

.screener-empty.error {
  color: var(--ds-color-danger-500);
}

.screener-empty-row td {
  text-align: center;
  padding: 2rem 1rem;
}

.screener-row.skeleton td {
  border-bottom-color: rgba(255, 255, 255, 0.02);
}

.screener-table .skeleton-line {
  display: inline-block;
  width: 100%;
  background: var(--ds-color-surface-800);
  border-radius: var(--ds-radius-sm);
  animation: pulse 1.5s ease-in-out infinite;
}

.screener-table .skeleton-title {
  height: 14px;
}

.screener-table .skeleton-subtitle {
  height: 12px;
}

.screener-table .skeleton-text {
  height: 10px;
}

.screener-feedback {
  margin: 0.35rem 0 0;
  font-size: 0.78rem;
  color: var(--ds-color-success-500);
  min-height: 1rem;
}

.screener-feedback.error {
  color: var(--ds-color-danger-500);
}

.screener-results .table-actions {
  display: inline-flex;
  flex-direction: column;
  gap: 0.35rem;
  align-items: flex-end;
}

.ds-btn.ds-btn--xs {
  padding: 0.35rem 0.7rem;
  font-size: 0.72rem;
  border-radius: 999px;
}

.screener-run-actions {
  justify-content: flex-start;
  gap: 0.75rem;
}

@media (max-width: 720px) {
  .screener-table {
    min-width: 720px;
  }

  .screener-table th,
  .screener-table td {
    padding: 0.75rem 0.85rem;
  }
}
.watchlist-hero {
  display: flex;
  flex-direction: column;
  gap: var(--ds-space-4);
  background: radial-gradient(circle at 16% 24%, rgba(255, 208, 0, 0.08), transparent 32%), linear-gradient(135deg, rgba(9, 13, 20, 0.92), rgba(18, 22, 32, 0.96));
  border-radius: var(--ds-radius-xl);
  padding: clamp(24px, 4vw, 36px);
  border: 1px solid rgba(255, 255, 255, 0.06);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
  width: 100%;
}

.watchlist-hero__copy {
  display: grid;
  gap: var(--ds-space-2);
}

.watchlist-hero__lead {
  max-width: 60ch;
  color: var(--ds-color-text-300);
  line-height: 1.5;
}

.watchlist-hero__tools {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(16px, 3vw, 24px);
  align-items: stretch;
}

.watchlist-tool-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--ds-space-3);
  padding: clamp(16px, 2.5vw, 20px);
  border-radius: var(--ds-radius-lg);
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: linear-gradient(160deg, rgba(10, 13, 22, 0.78), rgba(6, 9, 18, 0.88));
  backdrop-filter: blur(8px);
  box-shadow: 0 18px 36px rgba(3, 7, 16, 0.45);
}

.watchlist-tool-card--sort {
  margin-left: auto;
}

.watchlist-tool-card__label {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--ds-color-text-300);
}

.watchlist-chip-group {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.watchlist-chip-group--compact {
  gap: 8px;
}

.watchlist-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.5rem 1rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: linear-gradient(135deg, rgba(20, 24, 38, 0.82), rgba(42, 46, 68, 0.82));
  color: var(--ds-color-text-200);
  font-size: 0.95rem;
  line-height: 1.1;
  transition: transform 0.2s ease, border-color 0.2s ease, color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
  cursor: pointer;
  box-shadow: 0 12px 24px rgba(3, 8, 20, 0.35);
}

.watchlist-chip:hover,
.watchlist-chip:focus-visible {
  border-color: rgba(255, 255, 255, 0.32);
  color: var(--ds-color-text-100);
  background: linear-gradient(135deg, rgba(32, 36, 58, 0.92), rgba(52, 56, 80, 0.92));
  box-shadow: 0 18px 32px rgba(3, 8, 20, 0.45);
  transform: translateY(-1px);
}

.watchlist-chip.is-active {
  background: linear-gradient(140deg, rgba(255, 76, 0, 0.78), rgba(255, 208, 0, 0.7));
  color: #04070f;
  border-color: rgba(255, 200, 0, 0.8);
  box-shadow: 0 20px 36px rgba(255, 140, 0, 0.25);
}

.watchlist-chip[disabled] {
  opacity: 0.45;
  cursor: not-allowed;
}

.watchlist-sort-chip {
  position: relative;
  padding-right: 1.8rem;
}

.watchlist-sort-chip::after {
  content: '';
  position: absolute;
  right: 0.75rem;
  font-size: 0.8rem;
  opacity: 0;
  transition: opacity 0.2s ease;
}

.watchlist-sort-chip[data-direction-state="asc"]::after {
  content: '↑';
  opacity: 0.9;
}

.watchlist-sort-chip[data-direction-state="desc"]::after {
  content: '↓';
  opacity: 0.9;
}

.btn-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  border-radius: var(--ds-radius-md);
}

.watchlist-stats {
  display: grid;
  gap: var(--ds-space-4);
  padding: 0 10px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  width: 100%;
}

.watchlist-stat {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--ds-radius-lg);
  padding: var(--ds-space-4);
  display: grid;
  gap: var(--ds-space-1);
}

.watchlist-stat__label {
  font-size: 0.8rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ds-color-text-300);
}

.watchlist-stat__value {
  font-size: clamp(1.6rem, 3vw, 2rem);
  font-weight: 700;
}

.watchlist-stat__hint {
  font-size: 0.85rem;
  color: var(--ds-color-text-300);
}

.watchlist-table-wrapper {
  background: linear-gradient(180deg, rgba(32, 33, 42, 0.96) 0%, rgba(16, 17, 24, 0.98) 100%);
  border-radius: var(--ds-radius-xl);
  border: 1px solid rgba(255, 255, 255, 0.08);
  overflow-x: auto;
  overflow-y: auto;
  max-height: clamp(480px, 70vh, 880px);
  position: relative;
  cursor: grab;
  box-shadow: var(--ds-shadow-lg);
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.32) transparent;
  overscroll-behavior: contain;
  touch-action: pan-x pan-y;
  flex: 1;
  min-height: 0;
  width: 100%;
}

.watchlist-table-wrapper.active {
  cursor: grabbing;
}

.watchlist-table-wrapper::-webkit-scrollbar {
  height: 7px;
  width: 7px;
}

.watchlist-table-wrapper::-webkit-scrollbar-track {
  background: transparent;
}

.watchlist-table-wrapper::-webkit-scrollbar-thumb {
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.22), rgba(255, 255, 255, 0.38));
  border-radius: 999px;
}

.watchlist-table-wrapper::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.34), rgba(255, 255, 255, 0.5));
}

.watchlist-table {
  width: 100%;
  min-width: 900px;
  border-collapse: collapse;
}

.watchlist-table thead th {
  padding: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0));
  position: sticky;
  top: 0;
  backdrop-filter: blur(10px);
  z-index: 2;
  white-space: nowrap;
}

.watchlist-header { }

.watchlist-sort,
.watchlist-header__label {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 12px 16px;
  width: 100%;
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ds-color-text-200);
}

.watchlist-sort {
  background: none;
  border: none;
  align-items: flex-start;
  cursor: pointer;
  color: inherit;
  transition: color 0.2s ease;
  position: relative;
  padding-right: 30px;
}

.watchlist-sort::after {
  content: '\2195';
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.95rem;
  opacity: 0.4;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.watchlist-sort[data-direction="asc"]::after {
  content: '↑';
  opacity: 0.9;
}

.watchlist-sort[data-direction="desc"]::after {
  content: '↓';
  opacity: 0.9;
}

.watchlist-sort:hover,
.watchlist-sort:focus,
.watchlist-sort.is-active {
  color: var(--ds-color-text-100);
}

.watchlist-sort__meta {
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.45);
}

.watchlist-sort__pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  color: var(--ds-color-text-100);
  font-size: 0.68rem;
  letter-spacing: 0.04em;
}

.watchlist-header__label {
  color: var(--ds-color-text-200);
  background: none;
}

.watchlist-header--actions {
  text-align: right;
}

.watchlist-header--actions .watchlist-header__label {
  align-items: flex-end;
}

.watchlist-table tbody tr {
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
  transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.02), rgba(255, 255, 255, 0));
}

.watchlist-table tbody tr:hover {
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.02));
  transform: translateY(-1px);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.28);
}

.watchlist-table th.watchlist-cell,
.watchlist-table td.watchlist-cell {
  padding: 8px 12px;
  vertical-align: top;
  line-height: 1.25;
  font-size: 0.8rem;
}

.watchlist-actions-header {
  text-align: right;
}

.watchlist-cell--company {
  min-width: 180px;
  max-width: 220px;
  position: sticky;
  left: 0;
  background: linear-gradient(180deg, rgba(32, 33, 42, 0.96) 0%, rgba(16, 17, 24, 0.98) 100%);
  box-shadow: 10px 0 16px rgba(0, 0, 0, 0.2);
  z-index: 1;
}

.watchlist-table thead th.watchlist-cell--company {
  position: sticky;
  left: 0;
  z-index: 3;
}

.watchlist-table tbody tr:hover .watchlist-cell--company {
  background: linear-gradient(180deg, rgba(40, 42, 54, 0.96) 0%, rgba(20, 21, 30, 0.98) 100%);
}

.watchlist-company {
  display: grid;
  gap: 6px;
}

.watchlist-company__identity {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px;
}

.watchlist-company__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  font-size: 0.75rem;
  color: var(--ds-color-text-300);
}

.watchlist-symbol {
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ds-color-text-100);
  text-decoration: none;
}

.watchlist-symbol--solo {
  display: inline-flex;
  align-items: center;
  padding: 10px 0;
}

.watchlist-symbol:hover,
.watchlist-symbol:focus {
  color: var(--ds-color-accent-300);
}

.watchlist-name {
  font-size: 0.85rem;
  color: var(--ds-color-text-300);
}

.watchlist-company__meta .confidence-meter {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 6px;
  border-radius: var(--ds-radius-sm);
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.watchlist-cell--snapshot {
  min-width: 200px;
}

.watchlist-cell--price {
  min-width: 130px;
}

.watchlist-cell--range {
  min-width: 160px;
}

.watchlist-cell--target {
  min-width: 190px;
}

.watchlist-cell--upside {
  min-width: 130px;
  max-width: 160px;
}

.watchlist-target-column {
  display: grid;
  gap: 6px;
}

.watchlist-target-input {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.watchlist-target-input .target-input {
  width: 110px;
  text-align: right;
}

.watchlist-target-upside {
  display: grid;
  gap: var(--ds-space-1);
}

.watchlist-target-upside__value {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.watchlist-cell--quality,
.watchlist-cell--growth,
.watchlist-cell--cash {
  min-width: 150px;
}

.watchlist-grid__company { grid-area: company; }
.watchlist-grid__price { grid-area: price; }
.watchlist-grid__range { grid-area: range; }
.watchlist-grid__target { grid-area: target; }
.watchlist-grid__upside { grid-area: upside; }
.watchlist-grid__quality { grid-area: quality; }
.watchlist-grid__growth { grid-area: growth; }
.watchlist-grid__cash { grid-area: cash; }
.watchlist-grid__actions { grid-area: actions; }

.watchlist-chip-row {
  gap: 6px;
}

.watchlist-metric-stack {
  display: grid;
  gap: 4px;
}

.watchlist-metric {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 0.75rem;
  color: var(--ds-color-text-300);
}

.watchlist-metric__label {
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.68rem;
}

.watchlist-metric__value {
  font-weight: 600;
  color: var(--ds-color-text-100);
}

.watchlist-cell--actions {
  min-width: 150px;
  text-align: right;
}

.watchlist-actions {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 4px;
  align-items: center;
}

.watchlist-actions .ds-btn {
  border-radius: 999px;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 600;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.watchlist-actions .ds-btn--ghost {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.02));
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: var(--ds-color-text-100);
}

.watchlist-actions .ds-btn--ghost:hover,
.watchlist-actions .ds-btn--ghost:focus {
  border-color: rgba(255, 255, 255, 0.32);
  box-shadow: 0 12px 24px rgba(5, 8, 21, 0.35);
  transform: translateY(-1px);
}

.watchlist-actions .ds-btn--danger {
  background: linear-gradient(140deg, rgba(255, 79, 94, 0.28), rgba(255, 140, 0, 0.32));
  border: 1px solid rgba(255, 79, 94, 0.45);
  color: var(--ds-color-text-100);
}

.watchlist-actions .ds-btn--danger:hover,
.watchlist-actions .ds-btn--danger:focus {
  box-shadow: 0 14px 28px rgba(255, 79, 94, 0.35);
  transform: translateY(-1px);
}

.watchlist-action,
.watchlist-remove {
  font-size: inherit;
  text-transform: inherit;
  letter-spacing: inherit;
  padding: 6px 14px;
}

.watchlist-remove {
  color: var(--ds-color-accent-500);
  border-color: rgba(255, 76, 0, 0.4);
}

.watchlist-board {
  display: flex;
  flex-direction: column;
  gap: clamp(12px, 2vw, 18px);
  min-height: 0;
  width: 100%;
}

.watchlist-scroll-frame {
  position: relative;
  display: flex;
  flex: 1;
  min-height: 0;
  width: 100%;
}

.watchlist-scroll-cue {
  position: absolute;
  top: 0;
  bottom: 0;
  width: clamp(28px, 5vw, 52px);
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.25s ease;
  z-index: 3;
}

.watchlist-scroll-cue::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(16, 17, 24, 0.92) 10%, rgba(16, 17, 24, 0));
  border-radius: var(--ds-radius-xl);
  opacity: 0.9;
}

.watchlist-scroll-cue--right::before {
  background: linear-gradient(270deg, rgba(16, 17, 24, 0.92) 10%, rgba(16, 17, 24, 0));
}

.watchlist-scroll-cue__icon {
  position: relative;
  font-size: 1.1rem;
  color: rgba(255, 255, 255, 0.7);
  text-shadow: 0 0 8px rgba(0, 0, 0, 0.45);
}

.watchlist-scroll-cue.is-active {
  opacity: 1;
}

.watchlist-scroll-cue--left {
  left: 6px;
}

.watchlist-scroll-cue--right {
  right: 6px;
}

.watchlist-scroll-hint {
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.48);
  display: flex;
  align-items: center;
  gap: 0.5em;
}

.watchlist-scroll-hint::before {
  content: "↔";
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.6);
}

.watchlist-scroll-hint[hidden] {
  display: none !important;
}

.watchlist-grid {
  --watchlist-grid-gap: clamp(14px, 2.4vw, 24px);
  --watchlist-card-min: clamp(220px, 32vw, 340px);
  display: grid;
  gap: var(--watchlist-grid-gap);
  grid-template-columns: repeat(auto-fit, minmax(var(--watchlist-card-min), 1fr));
}

@media (max-width: 1024px) {
  .watchlist-grid {
    --watchlist-card-min: clamp(240px, 44vw, 320px);
  }
}

@media (max-width: 840px) {
  .watchlist-grid {
    --watchlist-grid-gap: clamp(12px, 3.6vw, 22px);
    --watchlist-card-min: min(300px, 100%);
  }
}

@media (max-width: 560px) {
  .watchlist-grid {
    --watchlist-card-min: 100%;
  }
}

.watchlist-card {
  --watchlist-border: rgba(255, 255, 255, 0.08);
  --watchlist-card-padding: clamp(20px, 3vw, 30px);
  --watchlist-card-gap: clamp(16px, 2.6vw, 24px);
  background: linear-gradient(180deg, rgba(32, 33, 42, 0.95) 0%, rgba(24, 25, 32, 0.98) 100%);
  border-radius: var(--ds-radius-xl);
  padding: var(--watchlist-card-padding);
  display: grid;
  gap: var(--watchlist-card-gap);
  box-shadow: var(--ds-shadow-lg);
  border: 1px solid var(--watchlist-border);
  position: relative;
  overflow: hidden;
}

@media (max-width: 840px) {
  .watchlist-card {
    --watchlist-card-padding: clamp(18px, 4vw, 26px);
    --watchlist-card-gap: clamp(14px, 4vw, 22px);
  }
}

@media (max-width: 560px) {
  .watchlist-card {
    --watchlist-card-gap: clamp(12px, 5vw, 20px);
  }
}

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

.watchlist-card::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(120deg, rgba(255, 203, 0, 0.2), rgba(0, 200, 111, 0.08));
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}

.watchlist-card__header {
  display: flex;
  flex-direction: column;
  gap: var(--ds-space-2);
}

.watchlist-card__identity {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.watchlist-card__symbol {
  font-size: clamp(1.5rem, 2.5vw, 1.75rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ds-color-text-100);
}

.watchlist-card__symbol:hover,
.watchlist-card__symbol:focus {
  color: var(--ds-color-accent-300);
}

.watchlist-card__name {
  margin: 0;
  color: var(--ds-color-text-300);
  font-size: 0.95rem;
}

.watchlist-card__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--ds-space-2);
}

.watchlist-card__meta-primary {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--ds-space-2);
}

.watchlist-card__meta-actions {
  display: inline-flex;
  align-items: center;
  gap: var(--ds-space-1);
}

.watchlist-card__quick-link {
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--ds-color-text-300);
}

.watchlist-card__quick-link:hover,
.watchlist-card__quick-link:focus {
  color: var(--ds-color-accent-300);
}

.watchlist-card__icon-btn {
  width: 32px;
  height: 32px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.04);
  color: var(--ds-color-text-300);
  font-size: 0.9rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}

.watchlist-card__icon-btn:hover,
.watchlist-card__icon-btn:focus {
  border-color: rgba(255, 79, 94, 0.8);
  color: #ff4f5e;
  background: rgba(255, 79, 94, 0.08);
}

.watchlist-badge {
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: rgba(255, 255, 255, 0.08);
}

.badge-neutral {
  color: var(--ds-color-text-300);
}

.badge-warn {
  color: var(--ds-color-accent-500);
  background: rgba(255, 76, 0, 0.18);
}

.badge-amber {
  color: var(--ds-color-accent-300);
  background: rgba(255, 204, 0, 0.18);
}

.badge-success {
  color: var(--ds-color-success-500);
  background: rgba(0, 200, 111, 0.16);
}

.watchlist-card__body {
  display: grid;
  gap: var(--watchlist-card-gap);
}

.watchlist-card__headline {
  display: grid;
  gap: var(--ds-space-3);
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}

.watchlist-pill {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--ds-radius-lg);
  padding: clamp(12px, 2vw, 16px);
  display: grid;
  gap: var(--ds-space-2);
}

.watchlist-pill__label {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--ds-color-text-300);
}

.watchlist-pill__value {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  font-size: 1rem;
  font-weight: 600;
  color: var(--ds-color-text-100);
}

.watchlist-pill--verdict .watchlist-pill__value {
  flex-direction: column;
  align-items: flex-start;
  gap: var(--ds-space-2);
}

.watchlist-pill--upside .watchlist-pill__value {
  font-size: 1.25rem;
}

.watchlist-pill--alert .watchlist-pill__value {
  justify-content: flex-start;
}

.watchlist-alert {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: rgba(255, 255, 255, 0.05);
  color: var(--ds-color-text-200);
}

.watchlist-alert--positive {
  background: rgba(0, 200, 111, 0.12);
  color: var(--ds-color-success-500);
}

.watchlist-alert--negative {
  background: rgba(255, 79, 94, 0.14);
  color: var(--ds-color-danger-500, #ff4f5e);
}

.watchlist-alert--warn {
  background: rgba(255, 200, 0, 0.14);
  color: var(--ds-color-accent-300);
}

.watchlist-alert--neutral {
  background: rgba(255, 255, 255, 0.08);
}

.watchlist-card__pulse {
  display: grid;
  gap: var(--ds-space-3);
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
}

.watchlist-pulse__stat {
  display: grid;
  gap: 4px;
}

.watchlist-pulse__label {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--ds-color-text-300);
}

.watchlist-pulse__value {
  font-size: 1rem;
  font-weight: 600;
  color: var(--ds-color-text-100);
  white-space: nowrap;
}

.watchlist-pulse__value.stat-positive {
  color: var(--ds-color-success-500);
}

.watchlist-pulse__value.stat-negative {
  color: var(--ds-color-danger-500, #ff4f5e);
}

.watchlist-module {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--ds-radius-lg);
  padding: clamp(14px, 2vw, 20px);
  display: grid;
  gap: var(--ds-space-2);
}

.watchlist-module__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.watchlist-module__label {
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ds-color-text-300);
}

.watchlist-price-block {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}

.watchlist-price {
  font-size: 1.1rem;
  font-weight: 600;
}

.watchlist-delta {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.8rem;
  font-weight: 600;
}

.watchlist-delta.is-gain {
  color: var(--ds-color-success-500);
}

.watchlist-delta.is-loss {
  color: #ff4f5e;
}

.watchlist-delta.is-flat {
  color: var(--ds-color-text-300);
}

.chip-gain {
  background: rgba(0, 200, 111, 0.16);
  color: var(--ds-color-success-500);
}

.chip-loss {
  background: rgba(255, 79, 94, 0.16);
  color: #ff4f5e;
}

.chip-neutral {
  background: rgba(255, 255, 255, 0.08);
}

.watchlist-snapshot-grid {
  display: grid;
  gap: var(--ds-space-2);
  margin-top: var(--ds-space-2);
}

.watchlist-snapshot-item {
  display: grid;
  gap: 4px;
}

.watchlist-summary-value {
  font-size: 0.95rem;
}

.watchlist-summary-value.gain {
  color: var(--ds-color-success-500);
}

.watchlist-summary-value.loss {
  color: var(--ds-color-danger-500);
}

.watchlist-summary-value--muted {
  color: var(--ds-color-text-300);
}

.watchlist-range {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 8px;
}

.watchlist-range__track {
  position: relative;
  height: 6px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 999px;
  overflow: hidden;
}

.watchlist-range__fill {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 0;
  background: linear-gradient(90deg, var(--ds-color-accent-500), var(--ds-color-accent-300));
  border-radius: inherit;
  transition: width 0.25s ease;
}

.watchlist-range__cap {
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--ds-color-text-100);
}

.confidence-meter {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.confidence-meter__track {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.confidence-meter__dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  transition: background 0.2s ease, transform 0.2s ease;
}

.confidence-meter__dot.is-active {
  background: linear-gradient(120deg, var(--ds-color-accent-300), var(--ds-color-success-500));
  transform: scale(1.05);
}


.watchlist-target-grid {
  display: grid;
  gap: var(--ds-space-4);
}

.watchlist-target-editor {
  display: grid;
  gap: var(--ds-space-1);
  align-items: center;
}

.watchlist-target-editor input {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: var(--ds-radius-sm);
  color: var(--ds-color-text-100);
  padding: 8px 12px;
}

.watchlist-target-editor input:focus {
  border-color: var(--ds-color-accent-300);
  outline: none;
  box-shadow: 0 0 0 3px rgba(255, 204, 0, 0.15);
}

.watchlist-target-helper {
  font-size: 0.75rem;
  color: var(--ds-color-text-300);
}

.watchlist-summary-label {
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ds-color-text-300);
}


.watchlist-upside {
  display: flex;
  align-items: center;
  gap: 8px;
}

.watchlist-upside-value {
  font-size: 1.15rem;
  font-weight: 700;
}

.watchlist-summary-sub {
  font-size: 0.75rem;
  color: var(--ds-color-text-300);
}

.watchlist-progress {
  width: 100%;
  height: 6px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 999px;
  overflow: hidden;
}

.watchlist-progress__bar {
  height: 100%;
  background: linear-gradient(120deg, var(--ds-color-accent-300), var(--ds-color-success-500));
  border-radius: inherit;
  transition: width 0.3s ease;
}

.watchlist-progress__hint {
  font-size: 0.8rem;
  color: var(--ds-color-text-300);
}

.watchlist-ratio-grid {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: var(--ds-space-1);
}

.watchlist-ratio-grid li {
  display: grid;
  gap: 4px;
}

.watchlist-ratio-label {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--ds-color-text-300);
}

.watchlist-ratio-value {
  font-size: 0.95rem;
  font-weight: 600;
}

.watchlist-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.watchlist-chip.chip-positive {
  background: rgba(0, 200, 111, 0.16);
  color: var(--ds-color-success-500);
}

.watchlist-chip.chip-muted {
  opacity: 0.7;
}

.watchlist-card__footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--ds-space-2);
}

.watchlist-card__actions {
  display: inline-flex;
  flex-wrap: wrap;
  gap: var(--ds-space-2);
  justify-content: flex-end;
}

.watchlist-card__actions .ds-btn {
  min-width: fit-content;
}

.remove-btn {
  margin-left: auto;
}

.watchlist-card__cta {
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.watchlist-toggle {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: var(--ds-color-text-300);
  padding: 8px 16px;
  border-radius: var(--ds-radius-md);
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

.watchlist-toggle:hover,
.watchlist-toggle:focus {
  color: var(--ds-color-accent-300);
  border-color: var(--ds-color-accent-300);
}

.watchlist-drawer {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding-top: var(--ds-space-4);
}

.watchlist-card__drawer {
  display: grid;
  gap: var(--ds-space-3);
}

.watchlist-metric-grid {
  display: grid;
  gap: var(--ds-space-4);
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}

.watchlist-metric-grid > div {
  display: grid;
  gap: var(--ds-space-1);
}

.watchlist-metric-grid dt {
  font-size: 0.75rem;
  text-transform: uppercase;
  color: var(--ds-color-text-300);
  letter-spacing: 0.08em;
}

.watchlist-metric-grid dd {
  margin: 0;
  font-size: 0.95rem;
}

.watchlist-empty {
  font-size: 1rem;
  color: var(--ds-color-text-300);
  margin: 0;
}

.watchlist-empty-card {
  margin-top: var(--ds-space-6);
  padding: var(--ds-space-5);
  background: var(--ds-color-surface-100);
  border: 1px solid var(--ds-color-border-200);
  border-radius: var(--ds-radius-lg);
  box-shadow: 0 24px 48px rgba(20, 25, 35, 0.08);
}

.watchlist-empty-card__content {
  display: grid;
  gap: var(--ds-space-5);
  align-items: center;
}

.watchlist-empty-card__copy {
  display: grid;
  gap: var(--ds-space-2);
  max-width: 720px;
}

.watchlist-empty__eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.75rem;
  color: var(--ds-color-text-300);
  margin: 0;
}

.watchlist-empty__title {
  margin: 0;
  font-size: 1.6rem;
  color: var(--ds-color-text-1000);
}

.watchlist-empty__message {
  margin: 0;
  color: var(--ds-color-text-500);
  line-height: 1.55;
}

.watchlist-empty-card__actions {
  display: grid;
  gap: var(--ds-space-3);
  align-content: start;
}

.watchlist-empty__ideas {
  display: grid;
  gap: var(--ds-space-2);
}

.watchlist-empty__ideas-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-inline: var(--ds-space-4);
  font-size: 1rem;
}

.watchlist-empty__ideas-note {
  margin: 0;
  color: var(--ds-color-text-400);
  max-width: 520px;
  line-height: 1.5;
}

.watchlist-empty__cta-group {
  display: flex;
  flex-direction: column;
  gap: var(--ds-space-1);
  align-items: flex-start;
}

.watchlist-empty__mobile-search {
  display: inline-flex;
}

.watchlist-empty__helper {
  margin: 0;
  color: var(--ds-color-text-300);
  font-size: 0.95rem;
}

.watchlist-empty__chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ds-space-2);
  align-items: center;
}

.watchlist-empty__chips .site-search__chip {
  box-shadow: none;
  border: 1px solid var(--ds-color-border-200);
  background: var(--ds-color-surface-50);
}

.watchlist-empty__chips .site-search__chip:focus-visible {
  box-shadow: 0 0 0 3px rgba(66, 133, 244, 0.35);
}

@media (min-width: 960px) {
  .watchlist-empty-card__content {
    grid-template-columns: 1.2fr 1fr;
    align-items: center;
  }

  .watchlist-empty-card__actions {
    justify-items: start;
  }

  .watchlist-empty__mobile-search {
    display: none;
  }
}

@media (max-width: 1120px) {
  .watchlist-table {
    min-width: 720px;
  }
}

@media (max-width: 960px) {
  .watchlist-page:not(.screener-page) {
    min-height: calc(100vh - var(--ds-nav-height, 72px));
    overflow: visible;
  }

  @supports (height: 100dvh) {
    .watchlist-page:not(.screener-page) {
      min-height: calc(100dvh - var(--ds-nav-height, 72px));
    }
  }
}

@media (max-width: 1360px) and (min-width: 961px) {
  .watchlist-table-wrapper {
    overflow-x: auto;
  }

  .watchlist-table {
    min-width: 820px;
  }
}

@media (max-width: 960px) {
  .watchlist-scroll-cue {
    display: none;
  }

  .watchlist-scroll-hint {
    font-size: 0.72rem;
    letter-spacing: 0.06em;
  }

  .watchlist-table-wrapper {
    background: linear-gradient(180deg, rgba(32, 33, 42, 0.96) 0%, rgba(16, 17, 24, 0.98) 100%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: var(--ds-shadow-lg);
    overflow-x: auto;
    overflow-y: auto;
    max-height: clamp(240px, 70vh, 640px);
    -webkit-overflow-scrolling: touch;
    padding-bottom: var(--ds-space-2);
  }

  .watchlist-table {
    min-width: 620px;
  }

  .watchlist-table thead {
    display: table-header-group;
  }

  .watchlist-table tbody tr {
    display: table-row;
    background: transparent;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    padding: 0;
  }

  .watchlist-table tbody tr:last-child {
    margin-bottom: 0;
  }

  .watchlist-table th.watchlist-cell,
  .watchlist-table td.watchlist-cell {
    padding: 6px 10px;
    font-size: 0.75rem;
  }

  .watchlist-cell--company {
    position: sticky;
    left: 0;
    background: linear-gradient(180deg, rgba(32, 33, 42, 0.96) 0%, rgba(16, 17, 24, 0.98) 100%);
    box-shadow: 10px 0 16px rgba(0, 0, 0, 0.2);
    min-width: 150px;
    max-width: 180px;
  }

  .watchlist-table thead th.watchlist-cell--company {
    left: 0;
    z-index: 3;
  }

  .watchlist-cell--actions {
    text-align: right;
  }

  .watchlist-actions {
    justify-content: flex-end;
    gap: var(--ds-space-2);
  }

  .watchlist-target-input .target-input {
    width: 100%;
  }

  .watchlist-sort,
  .watchlist-header__label {
    padding: 10px 12px;
    font-size: 0.62rem;
  }

  .watchlist-target-input .target-input {
    width: 92px;
  }

  .watchlist-cell--quality,
  .watchlist-cell--growth,
  .watchlist-cell--cash {
    min-width: 130px;
  }

  .watchlist-chip {
    font-size: 0.85rem;
    padding: 0.35rem 0.75rem;
  }
}

@media (max-width: 540px) {
  .watchlist-table-wrapper {
    max-height: clamp(220px, 70vh, 540px);
  }

  .watchlist-table {
    min-width: 560px;
  }

  .watchlist-hero {
    padding: clamp(var(--ds-space-2), 6vw, var(--ds-space-3));
  }

  .watchlist-chip {
    font-size: 0.82rem;
    padding: 0.35rem 0.7rem;
  }

  .watchlist-stat {
    gap: var(--ds-space-2);
  }

  .watchlist-stat__label {
    font-size: 0.7rem;
  }

  .watchlist-stat__hint {
    font-size: 0.72rem;
  }
}

@media (max-width: 720px) {
  .watchlist-page {
    gap: clamp(var(--ds-space-2), 4vw, var(--ds-space-3));
    padding-bottom: var(--ds-space-2);
  }

  .watchlist-hero {
    gap: var(--ds-space-3);
    padding: clamp(var(--ds-space-2), 5vw, var(--ds-space-3));
  }

  .watchlist-hero .snapshot-title {
    font-size: clamp(1.65rem, 5.5vw, 2.2rem);
  }

  .watchlist-hero__copy {
    max-width: 100%;
    gap: var(--ds-space-1);
  }

  .watchlist-hero__copy p {
    font-size: clamp(0.9rem, 3.6vw, 0.98rem);
  }

  .watchlist-hero__tools {
    flex-direction: column;
    align-items: stretch;
    gap: var(--ds-space-2);
    width: 100%;
  }

  .watchlist-tool-card {
    width: 100%;
  }

  .watchlist-tool-card--sort {
    margin-left: 0;
  }

  .watchlist-chip {
    font-size: 0.82rem;
    padding: 0.35rem 0.7rem;
  }

  .watchlist-stats {
    grid-template-columns: 1fr;
    gap: var(--ds-space-2);
    padding: 0;
  }

  .watchlist-stat {
    padding: clamp(var(--ds-space-2), 3vw, var(--ds-space-3));
  }

  .watchlist-stat__value {
    font-size: clamp(1.25rem, 5.5vw, 1.6rem);
  }

  .watchlist-stat__hint {
    font-size: 0.74rem;
  }

  .watchlist-table-wrapper {
    height: 100%;
  }

  .watchlist-table th.watchlist-cell,
  .watchlist-table td.watchlist-cell {
    padding: 6px 8px;
    font-size: 0.72rem;
  }

  .watchlist-sort,
  .watchlist-header__label {
    padding: 8px 10px;
    font-size: 0.6rem;
  }

  .watchlist-cell--company {
    min-width: 140px;
    max-width: 160px;
  }

  .watchlist-target-input .target-input {
    width: 82px;
  }

  .watchlist-cell--quality,
  .watchlist-cell--growth,
  .watchlist-cell--cash {
    min-width: 120px;
  }

  .watchlist-metric {
    font-size: 0.7rem;
    gap: 8px;
  }

  .watchlist-metric__label {
    font-size: 0.62rem;
  }
}

@media (min-width: 720px) {
  .watchlist-hero {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }

  .watchlist-hero__copy {
    max-width: 520px;
  }
}

@media (min-width: 960px) {
  .watchlist-tool-card--filters {
    flex: 1.25 1 420px;
  }
}

@media (min-width: 640px) {
  .watchlist-card__header {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }

  .watchlist-card__identity {
    max-width: 65%;
  }
}

@media (min-width: 768px) {
  .watchlist-card__body {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .watchlist-module--signals {
    grid-column: 1 / -1;
  }

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

@media (min-width: 1024px) {
  .watchlist-grid {
    grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
  }
}
/* Screener layout */
.screener-form {
  display: grid;
  gap: var(--ds-space-8);
}

.filter-steps {
  display: grid;
  gap: var(--ds-space-6);
}

.filter-step {
  display: grid;
  gap: var(--ds-space-4);
  background: var(--ds-color-surface-900);
  padding: var(--ds-space-6);
  border-radius: var(--ds-radius-lg);
  box-shadow: var(--ds-shadow-lg);
}

.step-chip {
  display: flex;
  align-items: center;
  gap: var(--ds-space-4);
}

.step-index {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  background: var(--ds-color-accent-500);
  color: var(--ds-color-bg-950);
  font-weight: 700;
}

.step-body {
  display: grid;
  gap: var(--ds-space-4);
}

.filter-checkbox {
  display: inline-flex;
  align-items: center;
  gap: var(--ds-space-1);
  font-size: 0.95rem;
}

.filter-search-container {
  position: relative;
  display: grid;
  gap: clamp(var(--ds-space-3), 2vw, var(--ds-space-5));
  padding: clamp(var(--ds-space-4), 4vw, var(--ds-space-6));
  border-radius: var(--ds-radius-xl);
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: linear-gradient(160deg, rgba(10, 12, 28, 0.92), rgba(22, 24, 44, 0.88));
  box-shadow: 0 24px 45px rgba(6, 8, 22, 0.55);
  backdrop-filter: blur(18px);
  overflow: visible;
}

.filter-search-container::before {
  position: absolute;
  inset: -30% -40% 40% 40%;
  background: radial-gradient(circle at top left, rgba(255, 215, 0, 0.18), transparent 55%);
  opacity: 0.6;
  pointer-events: none;
}

.filter-search-main {
  position: relative;
  z-index: 1;
  display: grid;
  gap: clamp(var(--ds-space-2), 1.5vw, var(--ds-space-3));
}

.filter-search-label {
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--ds-color-text-300);
  margin-bottom: 0.15rem;
}

.filter-search-side {
  position: relative;
  z-index: 1;
  display: grid;
  gap: var(--ds-space-2);
  padding: clamp(var(--ds-space-4), 2.5vw, var(--ds-space-5));
  border-radius: var(--ds-radius-lg);
  background: linear-gradient(135deg, rgba(255, 153, 0, 0.12), rgba(255, 255, 255, 0.05));
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.filter-hint-title {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--ds-color-accent-300);
}

.filter-hint {
  font-size: 0.95rem;
  color: var(--ds-color-text-100);
  margin: 0;
  line-height: 1.6;
}

@media (min-width: 768px) {
  .filter-search-container {
    grid-template-columns: minmax(0, 1fr);
  }
}

.summary-grid dt {
  font-size: 0.8rem;
  text-transform: uppercase;
  color: var(--ds-color-text-300);
  letter-spacing: 0.08em;
}

.summary-grid dd {
  margin: 0;
  font-size: 1rem;
}

.verdict-list {
  display: flex;
  gap: var(--ds-space-2);
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
}

.verdict-pill {
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.verdict-pill.pass {
  background: rgba(0, 200, 111, 0.15);
  color: var(--ds-color-success-500);
}

.verdict-pill.fail {
  background: rgba(255, 59, 48, 0.15);
  color: var(--ds-color-danger-500);
}

.metric-chip {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: var(--ds-color-surface-800);
  padding: var(--ds-space-2) var(--ds-space-4);
  border-radius: var(--ds-radius-md);
}

.metric-chip span {
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--ds-color-text-300);
}

.metric-chip strong {
  font-size: 1.1rem;
}

.screener-metric-drawer {
  border-top: 1px solid var(--ds-color-surface-800);
  padding-top: var(--ds-space-4);
}

.screener-feedback {
  font-size: 0.78rem;
  color: var(--ds-color-success-500);
  min-height: 1rem;
  margin: 0.35rem 0 0;
}

.screener-feedback.error {
  color: var(--ds-color-danger-500);
}

.screener-empty {
  font-size: 0.95rem;
  color: var(--ds-color-text-300);
  margin: 0;
}

.screener-empty.subtle {
  color: var(--ds-color-text-300);
  opacity: 0.7;
}

.screener-result-skeleton {
  border: 1px dashed rgba(255, 255, 255, 0.1);
}

.skeleton-line {
  height: 12px;
  background: var(--ds-color-surface-800);
  border-radius: var(--ds-radius-sm);
  animation: pulse 1.5s ease-in-out infinite;
}

.skeleton-title {
  width: 40%;
  height: 18px;
}

.skeleton-subtitle {
  width: 70%;
}

.skeleton-pill-row {
  display: flex;
  gap: var(--ds-space-2);
  margin-top: var(--ds-space-2);
}

.skeleton-pill {
  flex: 1;
  height: 24px;
  border-radius: 999px;
  background: var(--ds-color-surface-800);
  animation: pulse 1.5s ease-in-out infinite;
}

@keyframes pulse {
  0%, 100% { opacity: 0.4; }
  50% { opacity: 0.9; }
}
.company-card-grid {
  display: grid;
  gap: clamp(
    calc(18px * var(--company-density-scale, 1)),
    calc(2.6vw * var(--company-density-scale, 1)),
    calc(24px * var(--company-density-scale, 1))
  );
  grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 768px) {
  .company-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1280px) {
  .company-card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.company-card-grid--hero {
  align-items: stretch;
  grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 1024px) {
  .company-card-grid--hero {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1280px) {
  .company-card-grid--hero .snapshot-card {
    grid-column: span 1;
  }
}

@media (min-width: 900px) and (max-width: 1920px) {
  .company-page {
    --company-page-max-width: clamp(1180px, 88vw, 1340px);
    --company-page-gutter: clamp(18px, 2.8vw, 32px);
  }

  .company-main__inner {
    gap: clamp(24px, 3vw, 32px);
  }

  .company-section-selector__inner {
    padding: 12px clamp(14px, 2.4vw, 20px);
  }

  .company-hero {
    gap: clamp(20px, 3vw, 28px);
  }

  .company-card-grid--hero {
    gap: clamp(14px, 2.2vw, 22px);
    align-items: start;
  }

  .company-card-grid--hero .company-card {
    padding: clamp(16px, 1.8vw, 22px);
  }

  .price-graph {
    min-height: clamp(240px, 38vw, 380px);
    padding: clamp(10px, 1.4vw, 16px);
  }

  .pg-chart {
    min-height: clamp(200px, 26vw, 320px);
  }

  .company-card {
    padding: clamp(16px, 2.4vw, 26px);
  }
}

@media (min-width: 1280px) and (max-width: 1920px) {
  .company-hero {
    min-height: clamp(520px, 78vh, 700px);
  }
}

@media (max-height: 1100px) and (min-width: 768px) {
  .company-page {
    --company-page-gutter: clamp(14px, 2.4vw, 26px);
    padding-block: clamp(12px, 3vw, 18px);
    gap: clamp(12px, 2.6vw, 18px);
  }

  .company-main__inner {
    gap: clamp(18px, 2.6vw, 26px);
  }

  .company-section {
    gap: clamp(14px, 2.4vw, 20px);
    scroll-margin-top: clamp(72px, 9vw, 110px);
  }

  .company-section-selector__inner {
    padding: clamp(8px, 1.8vw, 12px) clamp(10px, 2vw, 16px);
  }

  .company-content-grid {
    gap: clamp(18px, 2.6vw, 24px);
  }

  .company-card-grid {
    gap: clamp(16px, 2.4vw, 22px);
  }

  .company-card {
    padding: clamp(16px, 2.4vw, 24px);
  }

  .company-card__header {
    margin-bottom: clamp(10px, 2vw, 16px);
  }

  .company-card__eyebrow {
    font-size: clamp(0.62rem, 1vw, 0.75rem);
  }

  .company-card__title {
    font-size: clamp(1.25rem, 2vw, 1.55rem);
  }

  .company-card__description {
    font-size: clamp(0.88rem, 1.6vw, 1rem);
  }

  .snapshot-card {
    gap: clamp(14px, 2vw, 22px);
  }

  .snapshot-card__header {
    padding-bottom: clamp(8px, 1.8vw, 12px);
  }

  .snapshot-card__eyebrow {
    font-size: clamp(0.62rem, 1vw, 0.74rem);
  }

  .snapshot-card__title {
    font-size: clamp(1.6rem, 3.4vw, 2.1rem);
  }

  .snapshot-card__ticker {
    font-size: clamp(0.95rem, 2vw, 1.15rem);
  }

  .snapshot-card__chart {
    min-height: clamp(220px, 34vw, 320px);
  }

  .company-hero {
    gap: clamp(24px, 3.5vw, 36px);
    min-height: clamp(500px, 72vh, 640px);
  }

  .price-graph {
    gap: clamp(10px, 1.5vw, 14px);
    padding: clamp(10px, 1.5vw, 14px);
  }

  .pg-chart {
    min-height: clamp(220px, 26vw, 340px);
  }

  .hero-metrics-strip.hero-metrics-strip--dense {
    gap: clamp(8px, 1.5vw, 12px);
  }

  .verdict-insight {
    padding: clamp(14px, 2.4vw, 20px);
  }
}


/* Demo preview page */
.demo-preview-banner {
  background: linear-gradient(135deg, rgba(17, 24, 39, 0.95), rgba(30, 41, 59, 0.95));
  color: #f8fafc;
  padding: clamp(6px, 6vw, 10px) 300px
}

.demo-preview-banner__inner {
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: flex-start;
}

.demo-preview-banner__eyebrow {
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #fde68a;
}

.demo-preview-banner__title {
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  margin: 8px 0 12px;
}

.demo-preview-banner__description {
  max-width: 560px;
  color: rgba(248, 250, 252, 0.9);
}

.demo-preview-banner__actions {
  display: flex;
  gap: 12px;
}

@media (min-width: 768px) {
  .demo-preview-banner__inner {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}

.company-page--demo .demo-mask {
  position: relative;
  overflow: hidden;
}

.company-page--demo .demo-mask__content {
  filter: blur(6px);
  opacity: 0.75;
  pointer-events: none;
  user-select: none;
}

.company-page--demo .demo-mask__overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 24px;
  background: rgba(15, 23, 42, 0.72);
  color: #f8fafc;
}

.company-page--demo .demo-mask__overlay h3 {
  margin-bottom: 8px;
  font-size: 1.3rem;
}

.company-page--demo .demo-mask__overlay p {
  margin-bottom: 16px;
  color: rgba(248, 250, 252, 0.9);
}

.demo-preview-note {
  margin-top: 12px;
  color: #64748b;
  font-size: 0.95rem;
}

.financial-table-preview {
  padding: 16px;
}

.financial-table-preview__note {
  margin-top: 12px;
  color: #64748b;
  font-size: 0.9rem;
}

/* Endless Ideas screener */
.ideas-page {
  padding: clamp(18px, 4vw, 32px) clamp(12px, 4vw, 26px) 3rem;
  display: flex;
  justify-content: center;
}

.ideas-flow-card {
  gap: clamp(14px, 2.4vw, 22px);
  width: min(1180px, 100%);
  margin: 0 auto;
  padding: clamp(16px, 3vw, 26px);
  overflow-wrap: anywhere;
}

.ideas-hero-grid {
  width: 100%;
  max-width: 1080px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.ideas-input-panel {
  display: grid;
  gap: clamp(14px, 2vw, 18px);
}

.ideas-card__controls {
  display: flex;
  flex-direction: row;
  gap: 1rem;
  align-items: stretch;
  flex-wrap: wrap;
}

.ideas-mode-selector {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 0.65rem;
  flex: 1 1 320px;
}

.ideas-mode-option {
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 14px;
  background: linear-gradient(140deg, rgba(17, 24, 39, 0.95), rgba(12, 18, 32, 0.9));
  color: #e2e8f0;
  padding: 10px 14px;
  font-weight: 700;
  font-size: 0.95rem;
  letter-spacing: 0.01em;
  cursor: pointer;
  transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease, transform 0.2s ease;
  text-align: center;
}

.ideas-mode-option.is-active {
  background: linear-gradient(135deg, rgba(255, 215, 0, 0.92), rgba(255, 160, 0, 0.9));
  color: #0f172a;
  border-color: rgba(255, 215, 0, 0.55);
  box-shadow: 0 8px 24px rgba(255, 200, 0, 0.2);
  transform: translateY(-1px);
}

.ideas-card__controls,
.ideas-progress {
  max-width: 100%;
}

.ideas-quick-link {
  color: var(--ds-color-accent-300);
  font-weight: 600;
  text-decoration: none;
  margin-left: 8px;
}

.ideas-quick-link:hover {
  text-decoration: underline;
}

.ideas-watchlist {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}

.ideas-watchlist__pill {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: rgba(15, 20, 35, 0.8);
  border-radius: 14px;
  padding: 0.65rem 1rem;
  color: #fff7da;
  border: 1px solid rgba(255, 255, 255, 0.12);
  max-width: 100%;
  width: 100%;
  justify-content: center;
}

.ideas-watchlist__label {
  line-height: 1.4;
  word-break: break-word;
  text-align: center;
}

.ideas-watchlist__count {
  font-weight: 700;
}

.ideas-progress {
  display: grid;
  gap: 0.5rem;
  align-content: start;
  flex: 1 1 360px;
  min-width: 320px;
}

.ideas-progress__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.82rem;
  color: rgba(255, 255, 255, 0.7);
}

.ideas-progress__bar {
  position: relative;
  height: 6px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  overflow: hidden;
}

.ideas-progress__bar-fill {
  position: absolute;
  inset: 0;
  width: 16%;
  background: linear-gradient(135deg, rgba(255, 215, 0, 0.85), rgba(255, 140, 0, 0.85));
  transition: width 0.3s ease;
}

.ideas-flow {
  display: grid;
  gap: 1.1rem;
}

.ideas-input-panel[data-mode="simple"] #ideas-advanced-flow {
  display: none;
}

.ideas-input-panel[data-mode="advanced"] #ideas-simple-flow {
  display: none;
}

.ideas-input-panel[data-mode="advanced"] #ideas-advanced-flow {
  display: grid;
}

.ideas-flow-pane {
  display: grid;
  gap: 0.9rem;
  padding: clamp(12px, 2vw, 18px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  background: linear-gradient(155deg, rgba(16, 23, 38, 0.95), rgba(9, 13, 24, 0.9));
}

.ideas-flow-pane--advanced {
  background: linear-gradient(155deg, rgba(16, 23, 38, 0.92), rgba(10, 14, 26, 0.9));
}

.ideas-question {
  display: grid;
  gap: 0.4rem;
  align-content: start;
}

.ideas-question__eyebrow {
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.6);
}

.ideas-question__text {
  margin: 0;
  font-size: clamp(1.1rem, 2.6vw, 1.5rem);
  line-height: 1.3;
}

.ideas-question__helper {
  margin: 0;
  display: none;
}

.ideas-options {
  display: grid;
  gap: 0.75rem;
}

.ideas-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.ideas-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.65rem 0.95rem;
  min-height: 42px;
  min-width: 130px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  color: #e2e8f0;
  font-size: 0.9rem;
  font-weight: 700;
  background: linear-gradient(145deg, rgba(17, 24, 39, 0.95), rgba(12, 18, 32, 0.9));
  box-shadow: 0 6px 22px rgba(0, 0, 0, 0.22);
}

.ideas-chip--option {
  background: linear-gradient(140deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.02));
  color: #e2e8f0;
  cursor: pointer;
  transition: all 0.2s ease;
  border-color: rgba(255, 255, 255, 0.22);
}

.ideas-chip--option.is-selected {
  background: linear-gradient(135deg, rgba(255, 215, 0, 0.95), rgba(255, 170, 0, 0.9));
  color: #0f172a;
  border-color: transparent;
  box-shadow: 0 10px 28px rgba(255, 200, 0, 0.25);
  transform: translateY(-1px);
}

.ideas-chip--hint {
  border-style: dashed;
  opacity: 0.7;
}

.ideas-input-row {
  max-width: 360px;
}

.ideas-input-row .ds-input {
  width: 100%;
}

.ideas-actions {
  display: flex;
  justify-content: flex-start;
}

.ideas-action-group {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.ideas-action-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 12px;
  padding: 10px 16px;
  font-weight: 700;
  font-size: 0.92rem;
  letter-spacing: 0.01em;
  cursor: pointer;
  background: linear-gradient(140deg, rgba(17, 24, 39, 0.95), rgba(12, 18, 32, 0.9));
  color: #e2e8f0;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.ideas-action-button--primary {
  background: linear-gradient(135deg, rgba(255, 215, 0, 0.95), rgba(255, 170, 0, 0.9));
  color: #0f172a;
  border-color: rgba(255, 215, 0, 0.55);
  box-shadow: 0 10px 26px rgba(255, 200, 0, 0.24);
}

.ideas-action-button--secondary {
  background: linear-gradient(140deg, rgba(124, 58, 237, 0.9), rgba(236, 72, 153, 0.9));
  border-color: rgba(236, 72, 153, 0.45);
  color: #fdfbf7;
}

.ideas-action-button--ghost {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.12);
}

.ideas-action-button--sm {
  padding: 8px 14px;
  font-size: 0.88rem;
}

.ideas-action-button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.ideas-action-button:not(:disabled):hover,
.ideas-action-button:not(:disabled):focus-visible {
  border-color: rgba(255, 215, 0, 0.45);
  color: #fff;
  outline: none;
  transform: translateY(-1px);
}

.ideas-feedback {
  margin: 0;
  min-height: 1.25rem;
  font-size: 0.9rem;
  color: rgba(255, 209, 102, 0.9);
}

.ideas-metrics-panel {
  display: grid;
  gap: 1rem;
  padding: 1rem;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.03);
}

.ideas-card__header {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.ideas-results-panel {
  display: grid;
  gap: 1rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.ideas-summary {
  font-size: 0.95rem;
  color: #f5f1e8;
}

.ideas-result-actions {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.ideas-loading {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: #e2e8f0;
}

.ideas-loading__spinner {
  width: 22px;
  height: 22px;
  border: 3px solid rgba(255, 255, 255, 0.2);
  border-top-color: #ffd166;
  border-radius: 50%;
  animation: spin 0.9s linear infinite;
}

.ideas-results {
  display: grid;
  gap: 1rem;
}

.ideas-result-card {
  background: rgba(255, 255, 255, 0.04);
  border-radius: 16px;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  border: 1px solid rgba(255, 255, 255, 0.06);
  color: #f5f1e8;
  text-decoration: none;
  cursor: pointer;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.ideas-result-card:hover,
.ideas-result-card:focus-visible {
  border-color: rgba(255, 209, 102, 0.5);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.35);
  outline: none;
  transform: translateY(-2px);
}

.ideas-result-card--locked {
  position: relative;
  color: #cbd5e1;
  cursor: not-allowed;
  filter: grayscale(0.25);
}

.ideas-result-card--locked .ideas-result-card__lock {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  background: rgba(15, 23, 42, 0.82);
  border-radius: inherit;
  text-align: center;
  padding: 1rem;
}

.ideas-result-card--locked .ideas-result-card__lock p {
  margin: 0;
  color: #e2e8f0;
}

.ideas-result-card--locked .ideas-result-card__lock .ds-btn {
  pointer-events: all;
}

.ideas-result-card__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.ideas-result-card__symbol {
  color: #ffd166;
  text-decoration: none;
  font-weight: 700;
}

.ideas-tag {
  text-transform: uppercase;
  font-size: 0.7rem;
  letter-spacing: 0.06em;
  padding: 0.2rem 0.5rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
}

.ideas-tag--similar {
  background: rgba(255, 209, 102, 0.2);
}

.ideas-tag--complimentary {
  background: rgba(94, 234, 212, 0.2);
}

.ideas-tag--contradictory {
  background: rgba(255, 107, 107, 0.2);
}

.ideas-tag--hot {
  background: rgba(255, 153, 0, 0.2);
}

@media (min-width: 900px) {
  .ideas-card__controls {
    align-items: center;
    justify-content: space-between;
  }

  .ideas-flow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
  }

  .ideas-flow-pane {
    grid-column: span 2;
  }

  .ideas-flow-pane#ideas-simple-flow {
    grid-column: span 2;
    grid-template-columns: 1fr;
  }

  .ideas-flow-pane#ideas-advanced-flow {
    grid-column: span 2;
  }
}

@media (max-width: 720px) {
  .ideas-flow-card {
    padding: clamp(14px, 5vw, 18px);
  }

  .ideas-card__controls {
    gap: 0.75rem;
  }

  .ideas-progress {
    min-width: 0;
    flex: 1 1 auto;
  }

  .ideas-watchlist__pill {
    flex-direction: column;
    text-align: center;
  }
}

@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
