/* Match the public/customer shell to the approved homepage palette.
   Screen colors only. Typography, layout, report charts and print stay intact. */
@media screen {
  .product-shell {
    --ink: #173e4b;
    --paper: #faf7f0;
    --muted: #53666b;
    --line: #dcded5;
    --green: #205d70;
    --accent: #ac5239;
    --clay: #fbede5;
    --site-card: #fffcf7;
    --site-ocean: #205d70;
    --site-hover: #174959;
    --site-sea: #e8efeb;
    color: var(--ink);
    background-color: var(--paper);
  }

  .product-shell:not(.assessment-app) .card,
  .product-shell .assessment-panel {
    background-color: var(--site-card);
    border-color: var(--line);
  }
  .product-shell .site-header,
  .product-shell .site-footer {
    border-color: var(--line);
  }
  .product-shell:not(.assessment-app) :where(input, select, textarea):not([type="checkbox"]):not([type="radio"]) {
    background-color: var(--site-card);
    color: var(--ink);
    border-color: #93a4a8;
  }
  .product-shell :where(input, progress) { accent-color: var(--site-ocean); }
  .product-shell :where(a, button, input, select, textarea, summary):focus-visible {
    outline-color: var(--accent);
  }
  .product-shell .answer-choice:has(input:checked) {
    background-color: var(--site-sea);
    border-color: var(--site-ocean);
  }

  /* Primary actions retain their existing dimensions and control behavior. */
  .product-shell .button:not(:where(.secondary, .text-button, .danger)),
  .product-shell form button:not([type="button"]):not(:where(.secondary, .text-button, .danger)),
  .product-shell button[form]:not(:where(.secondary, .text-button, .danger)),
  .product-shell .offer-full button,
  .product-shell .offer-last button,
  .product-shell .fuo-full .fuo-full__button--primary {
    background-color: var(--site-ocean);
    border-color: var(--site-ocean);
    color: #ffffff;
  }
  .product-shell .button:not(:where(.secondary, .text-button, .danger)):hover,
  .product-shell form button:not([type="button"]):not(:where(.secondary, .text-button, .danger)):hover,
  .product-shell button[form]:not(:where(.secondary, .text-button, .danger)):hover,
  .product-shell .offer-full button:hover,
  .product-shell .offer-last button:hover,
  .product-shell .fuo-full .fuo-full__button--primary:hover {
    background-color: var(--site-hover);
    border-color: var(--site-hover);
    color: #ffffff;
  }
  .product-shell .button.secondary,
  .product-shell button.secondary {
    background-color: var(--site-card);
    border-color: var(--line);
    color: var(--site-ocean);
  }
  .product-shell .button.secondary:hover,
  .product-shell button.secondary:hover {
    background-color: var(--site-sea);
    border-color: #93a4a8;
    color: var(--site-ocean);
  }
  .product-shell .text-button,
  .product-shell .text-button:hover {
    background-color: transparent;
    border-color: transparent;
    color: var(--site-ocean);
  }

  .product-shell .site-header.public-navigation .site-primary-links a,
  .product-shell .site-header.public-navigation .site-mobile-account,
  .product-shell .site-mobile-menu > summary,
  .product-shell .site-header.public-navigation .site-mobile-menu nav a {
    color: var(--ink);
  }

  .product-shell .free-report .offer-full,
  .product-shell .free-report .offer-last,
  .product-shell .free-upgrade,
  .product-shell .free-partner-next,
  .product-shell .free-upgrade-cue,
  .product-shell .upgrade-at-end.upgrade182 {
    background-color: var(--site-sea);
    border-color: var(--line);
  }
  .product-shell .fuo-full {
    --fuo-f-ink: #173e4b;
    --fuo-f-muted: #53666b;
    --fuo-f-accent: #205d70;
    --fuo-f-line: #dcded5;
    --fuo-f-paper: #fffcf7;
    --fuo-f-soft: #e8efeb;
    --fuo-f-focus: #ac5239;
  }
  .product-shell .fuo-full__chat { background-color: var(--ink); }
  .product-shell .fuo-full__prompt { background-color: var(--site-ocean); }
}
