:root {
  --navy: #081b33;
  --navy-2: #0e2949;
  --ink: #10233c;
  --muted: #65748a;
  --line: #dce5ee;
  --paper: #f6f8fb;
  --white: #ffffff;
  --blue: #4ca7ff;
  --blue-2: #dff1ff;
  --mint: #2457e6;
  --mint-2: #eef3ff;
  --orange: #ffb15b;
  --red: #e95e6b;
  --shadow: 0 22px 70px rgba(10, 35, 66, 0.12);
  --shadow-soft: 0 12px 35px rgba(10, 35, 66, 0.08);
  --radius-lg: 30px;
  --radius-md: 20px;
  --radius-sm: 13px;
}

.admin-member-load-more {
  width: 100%;
  margin-top: 14px;
}

.admin-member-load-more[hidden] {
  display: none;
}

.admin-quote-filters {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(150px, 220px);
  gap: 10px;
  margin: 0 0 8px;
}

.admin-quote-filters label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  color: #61758a;
  font-size: 8px;
  font-weight: 850;
}

.admin-quote-filters input,
.admin-quote-filters select {
  width: 100%;
  padding: 12px;
  color: var(--navy);
  background: #f7fafc;
  border: 1px solid var(--line);
  border-radius: 10px;
  font: inherit;
  font-size: 10px;
}

.admin-quote-search-result {
  min-height: 16px;
  margin: 0 0 12px;
  color: #8190a0;
  font-size: 8px;
}

.admin-quote-load-more {
  width: 100%;
  margin-top: 14px;
}

.admin-quote-load-more[hidden] {
  display: none;
}

@media (max-width: 640px) {
  .admin-quote-filters {
    grid-template-columns: 1fr;
  }
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: -apple-system, BlinkMacSystemFont, "Pretendard", "Apple SD Gothic Neo", "Noto Sans KR", "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}

button,
input,
select,
textarea {
  font: inherit;
}

button {
  color: inherit;
}

button,
label,
select {
  -webkit-tap-highlight-color: transparent;
}

button:focus-visible,
input:focus-visible,
select:focus-visible {
  outline: 3px solid rgba(76, 167, 255, 0.35);
  outline-offset: 2px;
}
textarea:focus-visible { outline:3px solid rgba(76,167,255,.35);outline-offset:2px }

[hidden] {
  display: none !important;
}

.view-route-loading {
  min-height: calc(100vh - 78px);
  padding: 15vh 20px 80px;
}

.route-loading-card {
  display: grid;
  justify-items: center;
  width: min(100%, 460px);
  margin: 0 auto;
  padding: 42px 28px;
  text-align: center;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-soft);
}

.route-loading-mark {
  width: 28px;
  height: 28px;
  margin-bottom: 18px;
  border: 3px solid var(--blue-2);
  border-top-color: var(--blue);
  border-radius: 50%;
  animation: route-loading-spin 0.8s linear infinite;
}

.route-loading-card strong { font-size: 16px; }
.route-loading-card p { margin: 8px 0 0; color: var(--muted); font-size: 12px; }

@keyframes route-loading-spin { to { transform: rotate(360deg); } }

@media (prefers-reduced-motion: reduce) {
  .route-loading-mark { animation: none; }
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 999;
  transform: translateY(-150%);
  padding: 11px 16px;
  color: var(--white);
  background: var(--navy);
  border-radius: 10px;
}

.skip-link:focus {
  transform: none;
}

.topbar {
  position: sticky;
  top: 0;
  z-index: 50;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 78px;
  padding: 0 max(24px, calc((100vw - 1240px) / 2));
  background: rgba(246, 248, 251, 0.92);
  border-bottom: 1px solid rgba(8, 27, 51, 0.08);
  backdrop-filter: blur(18px);
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 0;
  background: transparent;
  border: 0;
  text-align: left;
  cursor: pointer;
}

.brand > span:last-child {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.brand strong {
  font-size: 16px;
  letter-spacing: -0.4px;
  white-space: nowrap;
}

.brand small {
  color: #8291a4;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 1.7px;
}

.brand-logo {
  display: block;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  object-fit: cover;
  overflow: hidden;
  background: var(--white);
  border: 1px solid rgba(8, 27, 51, 0.1);
  border-radius: 50%;
  box-shadow: 0 6px 16px rgba(8, 27, 51, 0.12);
}

.top-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.text-button,
.back-link {
  padding: 10px 12px;
  color: #66778b;
  background: transparent;
  border: 0;
  font-size: 13px;
  font-weight: 750;
  cursor: pointer;
}

.text-button:hover,
.back-link:hover {
  color: var(--navy);
}

.text-button-danger {
  color: #bd5260;
}

.button {
  display: inline-flex;
  min-height: 54px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 0 24px;
  border: 1px solid transparent;
  border-radius: 14px;
  font-size: 14px;
  font-weight: 850;
  cursor: pointer;
  transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.button:hover {
  transform: translateY(-2px);
}

.button:active {
  transform: translateY(0);
}

.button-small {
  min-height: 42px;
  padding: 0 17px;
  border-radius: 11px;
  font-size: 12px;
}

.button-primary {
  color: var(--navy);
  background: var(--mint);
  box-shadow: 0 13px 30px rgba(36, 87, 230, 0.26);
}

.button-primary:hover {
  background: #4c7dff;
  box-shadow: 0 16px 34px rgba(36, 87, 230, 0.36);
}

.button-dark {
  color: var(--white);
  background: var(--navy);
}

.button-dark:hover {
  background: #102c4e;
}

.button-ghost {
  color: var(--navy);
  background: var(--white);
  border-color: #d9e2ec;
}

.button-ghost:hover {
  border-color: #aebed0;
  box-shadow: var(--shadow-soft);
}

.eyebrow {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 14px;
  color: #4e7ba8;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 1.4px;
  text-transform: uppercase;
}

.eyebrow > span {
  width: 26px;
  height: 2px;
  background: var(--blue);
}

.eyebrow-light {
  color: #8cb2d5;
}

.hero-shell {
  display: grid;
  min-height: 680px;
  grid-template-columns: minmax(0, 1.05fr) minmax(480px, 0.95fr);
  gap: 70px;
  align-items: center;
  width: min(1240px, calc(100% - 48px));
  margin: 0 auto;
  padding: 70px 0 90px;
}

.hero-copy h1 {
  margin: 0;
  color: var(--navy);
  font-size: clamp(48px, 5.3vw, 76px);
  font-weight: 920;
  letter-spacing: -4.8px;
  line-height: 1.06;
}

.hero-copy h1 em,
.section-heading h2 em,
.result-heading h1 em {
  color: #2c93ed;
  font-style: normal;
}

.hero-lead {
  max-width: 590px;
  margin: 28px 0 0;
  color: var(--muted);
  font-size: 17px;
  letter-spacing: -0.35px;
  line-height: 1.8;
}

.hero-actions {
  display: flex;
  gap: 11px;
  margin: 36px 0 25px;
}

.trust-list {
  display: flex;
  flex-wrap: wrap;
  gap: 19px;
  margin: 0;
  padding: 0;
  color: #6f7e91;
  list-style: none;
  font-size: 12px;
  font-weight: 700;
}

.trust-list i {
  display: inline-grid;
  width: 17px;
  height: 17px;
  margin-right: 4px;
  place-items: center;
  color: var(--navy);
  background: var(--mint-2);
  border-radius: 50%;
  font-size: 10px;
  font-style: normal;
}

.hero-panel {
  position: relative;
  padding: 28px;
  color: var(--white);
  overflow: hidden;
  background: var(--navy);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--radius-lg);
  box-shadow: 0 32px 80px rgba(8, 27, 51, 0.25);
}

.hero-panel::before {
  position: absolute;
  top: -110px;
  right: -90px;
  width: 290px;
  height: 290px;
  content: "";
  background: radial-gradient(circle, rgba(76, 167, 255, 0.25), transparent 68%);
}

.panel-topline,
.panel-foot {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.panel-topline > span:first-child {
  color: #9bb0c7;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.8px;
}

.live-dot {
  position: relative;
  padding: 6px 9px 6px 21px;
  color: var(--mint);
  background: rgba(36, 87, 230, 0.08);
  border: 1px solid rgba(36, 87, 230, 0.18);
  border-radius: 999px;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: 0.9px;
}

.live-dot::before {
  position: absolute;
  top: 9px;
  left: 10px;
  width: 5px;
  height: 5px;
  content: "";
  background: var(--mint);
  border-radius: 50%;
  box-shadow: 0 0 0 4px rgba(36, 87, 230, 0.1);
}

.score-preview {
  position: relative;
  display: flex;
  align-items: center;
  gap: 22px;
  padding: 30px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.score-ring {
  display: grid;
  flex: 0 0 auto;
  width: 118px;
  height: 118px;
  place-items: center;
  background: rgba(255, 255, 255, 0.08);
  border: 7px solid var(--mint);
  border-radius: 50%;
}

.score-ring::before {
  position: absolute;
  width: 95px;
  height: 95px;
  content: "";
  background: var(--navy);
  border-radius: 50%;
}

.score-ring > span {
  position: relative;
  z-index: 1;
}

.score-ring strong {
  color: var(--mint);
  font-size: 20px;
  letter-spacing: -1px;
}

.score-ring small {
  color: #8ea4bc;
  font-size: 10px;
}

.score-preview > div:last-child p {
  margin: 0 0 7px;
  color: #8fa6bd;
  font-size: 11px;
  font-weight: 700;
}

.score-preview h2 {
  margin: 0 0 8px;
  font-size: 21px;
  letter-spacing: -0.8px;
}

.score-preview > div:last-child > span {
  color: #7f95ad;
  font-size: 10px;
}

.preview-programs {
  padding: 12px 0;
}

.preview-programs article {
  display: grid;
  grid-template-columns: 36px 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 14px 0;
}

.program-icon {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 10px;
  font-size: 9px;
  font-weight: 900;
}

.program-icon-blue {
  color: #84c5ff;
  background: rgba(76, 167, 255, 0.15);
}

.program-icon-mint {
  color: var(--mint);
  background: rgba(36, 87, 230, 0.12);
}

.program-icon-gray {
  color: #a0b0c2;
  background: rgba(255, 255, 255, 0.08);
}

.preview-programs article > div {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.preview-programs strong {
  font-size: 13px;
}

.preview-programs small {
  color: #7f95ad;
  font-size: 10px;
}

.tag {
  padding: 7px 9px;
  border-radius: 8px;
  font-size: 9px;
}

.tag-good {
  color: var(--navy);
  background: var(--mint);
}

.tag-check {
  color: #a9c6e0;
  background: rgba(76, 167, 255, 0.12);
}

.panel-foot {
  align-items: flex-start;
  padding: 18px;
  background: rgba(255, 255, 255, 0.055);
  border-radius: 14px;
}

.panel-foot span {
  color: var(--mint);
  font-size: 9px;
  font-weight: 900;
}

.panel-foot strong {
  max-width: 245px;
  color: #cad7e4;
  font-size: 10px;
  font-weight: 650;
  text-align: right;
  line-height: 1.5;
}

.metric-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  width: min(1240px, calc(100% - 48px));
  margin: 0 auto 120px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: var(--shadow-soft);
}

.metric-strip > div {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 82px;
  padding: 20px 25px;
  border-right: 1px solid var(--line);
}

.metric-strip > div:last-child {
  border-right: 0;
}

.metric-strip strong {
  color: #3e9cf1;
  font-size: 13px;
}

.metric-strip span {
  color: #526377;
  font-size: 12px;
  font-weight: 800;
}

.how-section {
  width: min(1240px, calc(100% - 48px));
  margin: 0 auto;
  padding-bottom: 120px;
}

.section-heading {
  max-width: 750px;
  margin-bottom: 42px;
}

.section-heading h2,
.boundary-section h2 {
  margin: 0;
  color: var(--navy);
  font-size: clamp(34px, 4vw, 52px);
  letter-spacing: -2.6px;
  line-height: 1.18;
}

.section-heading > p:last-child {
  margin: 18px 0 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.7;
}

.feature-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.feature-card {
  position: relative;
  min-height: 330px;
  padding: 31px;
  overflow: hidden;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 24px;
}

.feature-card-dark {
  color: var(--white);
  background: var(--navy);
  border-color: var(--navy);
}

.feature-number {
  color: #3d91df;
  font-size: 11px;
  font-weight: 900;
}

.feature-card-dark .feature-number {
  color: var(--mint);
}

.feature-card h3 {
  position: absolute;
  bottom: 64px;
  left: 31px;
  margin: 0;
  color: var(--navy);
  font-size: 23px;
  letter-spacing: -1px;
}

.feature-card-dark h3 {
  color: var(--white);
}

.feature-card p {
  position: absolute;
  right: 31px;
  bottom: 26px;
  left: 31px;
  margin: 0;
  color: #748296;
  font-size: 12px;
  line-height: 1.65;
}

.mini-compass {
  position: absolute;
  top: 65px;
  right: 45px;
  width: 138px;
  height: 138px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 50%;
}

.mini-compass::before,
.mini-compass::after {
  position: absolute;
  top: 50%;
  left: 50%;
  content: "";
  background: rgba(255, 255, 255, 0.13);
  transform: translate(-50%, -50%);
}

.mini-compass::before {
  width: 1px;
  height: 180px;
  transform: translate(-50%, -50%) rotate(45deg);
}

.mini-compass::after {
  width: 180px;
  height: 1px;
  transform: translate(-50%, -50%) rotate(45deg);
}

.mini-compass i {
  position: absolute;
  top: 15px;
  left: 59px;
  width: 20px;
  height: 55px;
  background: var(--mint);
  clip-path: polygon(50% 0, 100% 100%, 50% 78%, 0 100%);
  transform: rotate(28deg);
}

.risk-bars {
  position: absolute;
  top: 75px;
  right: 40px;
  display: flex;
  align-items: flex-end;
  gap: 10px;
  height: 100px;
}

.risk-bars i {
  width: 24px;
  background: #dfefff;
  border-radius: 6px 6px 2px 2px;
}

.risk-bars i:nth-child(1) { height: 42px; }
.risk-bars i:nth-child(2) { height: 72px; background: var(--blue); }
.risk-bars i:nth-child(3) { height: 94px; background: var(--orange); }

.doc-stack {
  position: absolute;
  top: 70px;
  right: 48px;
  width: 150px;
  height: 115px;
}

.doc-stack i {
  position: absolute;
  width: 105px;
  height: 75px;
  background: var(--blue-2);
  border: 1px solid #bfe0fb;
  border-radius: 8px;
}

.doc-stack i:nth-child(1) { top: 0; left: 0; transform: rotate(-8deg); }
.doc-stack i:nth-child(2) { top: 14px; left: 20px; background: var(--mint-2); transform: rotate(2deg); }
.doc-stack i:nth-child(3) { top: 30px; left: 40px; background: var(--white); transform: rotate(9deg); }

.doc-stack i:nth-child(3)::before,
.doc-stack i:nth-child(3)::after {
  position: absolute;
  left: 18px;
  width: 53px;
  height: 4px;
  content: "";
  background: #c8d8e8;
  border-radius: 2px;
}

.doc-stack i:nth-child(3)::before { top: 23px; }
.doc-stack i:nth-child(3)::after { top: 35px; width: 38px; }

.boundary-section {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 90px;
  width: min(1240px, calc(100% - 48px));
  margin: 0 auto 110px;
  padding: 58px;
  color: var(--white);
  background: var(--navy);
  border-radius: var(--radius-lg);
}

.boundary-section h2 {
  color: var(--white);
  font-size: 38px;
}

.boundary-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.boundary-grid p {
  display: flex;
  gap: 13px;
  margin: 0;
  padding: 18px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
}

.boundary-grid i {
  display: grid;
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  place-items: center;
  color: var(--navy);
  background: var(--mint);
  border-radius: 50%;
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
}

.boundary-grid span {
  display: flex;
  flex-direction: column;
  gap: 4px;
  color: #8199b2;
  font-size: 10px;
  line-height: 1.5;
}

.boundary-grid strong {
  color: var(--white);
  font-size: 12px;
}

.diagnostic-shell,
.result-shell,
.detailed-report-shell,
.announcements-shell,
.pricing-shell,
.signup-shell,
.admin-shell {
  width: min(1080px, calc(100% - 48px));
  margin: 0 auto;
}

.detailed-report-shell { width: min(1040px, calc(100% - 48px)); margin: 0 auto; padding: 40px 0 110px; }
.detailed-report-toolbar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 18px; }
.detailed-report-toolbar > div { display: flex; gap: 8px; }
.detailed-report-cover { display: grid; grid-template-columns: 1fr 220px; gap: 30px; min-height: 390px; padding: 55px; color: var(--white); background: radial-gradient(circle at 84% 20%, rgba(36, 87, 230,.26), transparent 24%), linear-gradient(140deg,#071a31,#0d355e); border-radius: 28px; box-shadow: var(--shadow); }
.detailed-report-cover > div > p:first-child { margin: 0 0 55px; color: #8bb6da; font-size: 9px; font-weight: 900; letter-spacing: 2px; }
.report-sample-badge { display: inline-block; padding: 6px 9px; color: var(--navy); background: var(--mint); border-radius: 7px; font-size: 8px; font-weight: 900; }
.detailed-report-cover h1 { margin: 17px 0 13px; font-size: 44px; letter-spacing: -2.5px; line-height: 1.1; }
.detailed-report-cover > div > p:last-child { margin: 0; color: #9db5cd; font-size: 11px; }
.detailed-report-cover aside { align-self: center; padding: 25px; text-align: center; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.13); border-radius: 21px; }
.detailed-report-cover aside > span { display: block; color: #9db5cd; font-size: 9px; }
.detailed-report-cover aside strong { display: block; margin-top: 12px; font-size: 28px; letter-spacing: -1.2px; }
.detailed-report-cover aside small { color: #8ca8c3; font-size: 12px; }
.detailed-report-cover aside p { margin: 12px 0 0; color: #86a1bc; font-size: 8px; line-height: 1.5; }
.detailed-report-cover footer { display: flex; grid-column: 1 / -1; justify-content: space-between; align-self: end; padding-top: 20px; color: #87a5c1; border-top: 1px solid rgba(255,255,255,.12); font-size: 8px; }
.report-block { margin-top: 18px; padding: 29px; background: var(--white); border: 1px solid var(--line); border-radius: 20px; box-shadow: 0 8px 25px rgba(10,35,66,.04); }
.report-block-title { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 22px; }
.report-block-title > span { display: grid; width: 36px; height: 36px; place-items: center; color: #2388d8; background: var(--blue-2); border-radius: 10px; font-size: 9px; font-weight: 900; }
.report-block-title > div { flex: 1; margin-left: 12px; }
.report-block-title h2 { margin: 0; color: var(--navy); font-size: 18px; }
.report-block-title p { margin: 5px 0 0; color: #8594a5; font-size: 9px; }
.company-summary-grid { display: grid; grid-template-columns: repeat(5,1fr); overflow: hidden; border: 1px solid var(--line); border-radius: 13px; }
.company-summary-grid > div { min-width: 0; padding: 15px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.company-summary-grid > div:nth-child(5n) { border-right: 0; }
.company-summary-grid > div:nth-last-child(-n+5) { border-bottom: 0; }
.company-summary-grid span,.company-summary-grid b { display: block; }
.company-summary-grid span { color: #8997a6; font-size: 8px; }
.company-summary-grid b { overflow: hidden; margin-top: 6px; color: var(--navy); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.report-data-note { margin: 13px 0 0; color: #8896a6; font-size: 8px; }
.readiness-analysis { padding: 5px 0; }
.readiness-analysis strong { display: block; margin-top: 15px; color: var(--navy); font-size: 15px; }
.readiness-analysis p { margin: 7px 0 0; color: #687b90; font-size: 9px; line-height: 1.7; }
.report-candidate-table { display: flex; flex-direction: column; gap: 8px; }
.report-candidate-table article { display: grid; grid-template-columns: 38px 1fr auto; gap: 13px; align-items: center; padding: 17px; background: #f8fafc; border: 1px solid var(--line); border-radius: 13px; }
.report-candidate-table article > span { color: #2587d2; font-size: 9px; font-weight: 900; }
.report-candidate-table h3 { margin: 0; color: var(--navy); font-size: 12px; }
.report-candidate-table p { margin: 4px 0; color: #8291a2; font-size: 8px; }
.report-candidate-table ul { display: flex; flex-wrap: wrap; gap: 5px; padding: 0; margin: 6px 0 0; list-style: none; }
.report-candidate-table li { padding: 4px 6px; color: #60758b; background: var(--white); border-radius: 5px; font-size: 7px; }
.report-candidate-table article > small { grid-column: 2 / -1; color: #8c704e; font-size: 8px; }
.report-candidate-table article > small a { color: #267dbd; font-weight: 800; text-decoration: none; }
.report-candidate-table .report-policy-reference { margin-top: 7px; color: #60758b; font-weight: 700; line-height: 1.55; }
.report-candidate-table .report-policy-unavailable { grid-template-columns: 1fr; border-color: #f0cfd2; background: #fff8f8; }
.report-status { padding: 7px 9px; border-radius: 8px; font-size: 8px; }
.report-status.good { color:#153a94;background:#eef3ff}.report-status.check{color:#256caa;background:#eaf4ff}.report-status.low{color:#6f7b89;background:#edf0f3}
.report-two-column { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.report-priority-list,.report-checklist { display:flex;flex-direction:column;gap:9px }
.report-priority-list > div,.report-checklist > div { display:flex;gap:10px;align-items:flex-start;padding:12px;background:#f8fafc;border-radius:10px }
.report-priority-list > div > b { display:grid;flex:0 0 24px;height:24px;place-items:center;color:#b85b16;background:#fff0db;border-radius:7px;font-size:8px }
.report-priority-list span,.report-checklist p { display:flex;flex-direction:column;gap:4px;margin:0 }
.report-priority-list strong,.report-checklist b { color:var(--navy);font-size:9px }.report-priority-list small,.report-checklist small{color:#8191a2;font-size:8px;line-height:1.5}
.report-checklist > div > span { color:#2786cb;font-size:16px }
.official-review-grid { display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:17px }
.official-review-grid > div { display:flex;flex-direction:column;gap:5px;padding:14px;background:#fff8ef;border:1px solid #f1dbc0;border-radius:10px }
.official-review-grid b { color:#8c541d;font-size:9px }.official-review-grid span{color:#896f58;font-size:8px}
.diagnostic-official-announcements { display:flex;flex-direction:column;gap:7px;margin:0 0 17px;padding:14px;background:#f4f9fd;border:1px solid #d3e5f1;border-radius:11px }
.diagnostic-official-announcements > strong { color:var(--navy);font-size:10px }
.diagnostic-official-announcements > p { margin:0;color:#6d8094;font-size:8px;line-height:1.6 }
.diagnostic-official-announcements > a { display:flex;flex-direction:column;gap:4px;padding:9px 10px;color:var(--navy);background:var(--white);border:1px solid var(--line);border-radius:8px;text-decoration:none }
.diagnostic-official-announcements > a b { font-size:9px;line-height:1.5 }
.diagnostic-official-announcements > a span { color:#77899b;font-size:7px }
.diagnostic-official-announcements > a:hover { border-color:#7da0ff }
.report-action-plan { display:grid;grid-template-columns:220px 1fr;gap:30px;margin-top:18px;padding:30px;color:var(--white);background:var(--navy);border-radius:20px }
.report-action-plan p { margin:0;color:var(--mint);font-size:8px;font-weight:900;letter-spacing:1px }.report-action-plan h2{margin:8px 0 0;font-size:22px}
.report-action-plan ol{display:flex;flex-direction:column;gap:10px;padding:0;margin:0;list-style:none}.report-action-plan li{display:grid;grid-template-columns:55px 1fr;gap:10px;align-items:start;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.1)}.report-action-plan li:last-child{border:0}.report-action-plan li b{color:var(--mint);font-size:9px}.report-action-plan li span{color:#b2c2d2;font-size:9px;line-height:1.6}
.report-disclaimer { margin-top:18px;padding:18px 21px;color:#67798c;background:#edf2f6;border-radius:13px }.report-disclaimer strong{color:var(--navy);font-size:9px}.report-disclaimer p{margin:6px 0 0;font-size:8px;line-height:1.7}
.report-signup-cta { display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;margin-top:18px;padding:28px 30px;color:var(--white);background:linear-gradient(135deg,#0b2949,#124a78);border-radius:20px;box-shadow:var(--shadow-soft) }
.report-signup-cta span{color:var(--mint);font-size:8px;font-weight:900}.report-signup-cta h2{margin:8px 0 6px;font-size:20px}.report-signup-cta p{margin:0;color:#aac0d4;font-size:9px;line-height:1.6}.report-signup-cta .button{white-space:nowrap}

.pricing-shell { width: min(1160px, calc(100% - 48px)); margin: 0 auto; padding: 55px 0 110px; }
.pricing-heading { margin: 30px 0 28px; text-align: center; }
.pricing-heading .eyebrow { justify-content: center; }
.pricing-heading h1 { margin: 0; color: var(--navy); font-size: 44px; letter-spacing: -2.4px; }
.pricing-heading > p:last-child { max-width: 650px; margin: 13px auto 0; color: var(--muted); font-size: 12px; line-height: 1.7; }
.pricing-tabs { display: flex; width: fit-content; margin: 0 auto 28px; padding: 5px; background: #e8eef4; border-radius: 13px; }
.pricing-tabs button { min-width: 145px; min-height: 40px; padding: 0 18px; color: #6e7e90; background: transparent; border: 0; border-radius: 10px; font-size: 10px; font-weight: 850; cursor: pointer; }
.pricing-tabs button.is-active { color: var(--navy); background: var(--white); box-shadow: 0 4px 13px rgba(10,35,66,.08); }
.pricing-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; align-items: stretch; }
.price-card { position: relative; display: flex; flex-direction: column; min-width: 0; padding: 25px 22px; background: var(--white); border: 1px solid var(--line); border-radius: 21px; box-shadow: 0 8px 25px rgba(10,35,66,.045); }
.price-card.is-featured { border: 2px solid #53aefa; box-shadow: 0 16px 45px rgba(45,139,216,.14); }
.popular-badge { position: absolute; top: -13px; left: 50%; padding: 7px 12px; color: var(--navy); background: var(--mint); border-radius: 999px; font-size: 8px; font-weight: 900; white-space: nowrap; transform: translateX(-50%); }
.price-card-top { display: flex; justify-content: space-between; align-items: center; }
.price-card-top span { color: #2587d2; font-size: 8px; font-weight: 900; letter-spacing: 1px; }
.price-card-top b { padding: 5px 8px; color: #687b90; background: #eff3f6; border-radius: 7px; font-size: 8px; }
.price-card h2 { margin: 22px 0 8px; color: var(--navy); font-size: 19px; letter-spacing: -.7px; }
.price-card > p { min-height: 48px; margin: 0; color: #748497; font-size: 9px; line-height: 1.7; }
.price { margin: 22px 0; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.price strong { display: block; color: var(--navy); font-size: 23px; letter-spacing: -1px; }
.price small { display: block; margin-top: 6px; color: #8a98a7; font-size: 8px; }
.price-card ul { display: flex; flex: 1; flex-direction: column; gap: 10px; padding: 0; margin: 0 0 23px; list-style: none; }
.price-card li { position: relative; padding-left: 18px; color: #53677d; font-size: 9px; line-height: 1.5; }
.price-card li::before { position: absolute; left: 0; content: "✓"; color: #2457e6; font-weight: 900; }
.price-card .button { width: 100%; }
.price-detail-button { display: flex; justify-content: space-between; align-items: center; width: 100%; margin: 0 0 10px; padding: 10px 2px; color: #587089; background: transparent; border: 0; border-top: 1px solid var(--line); font-size: 9px; font-weight: 850; cursor: pointer; }
.price-detail-button:hover { color: #2388d8; }
.price-detail-button span { font-size: 15px; font-weight: 500; }
.pricing-grid-partner { grid-template-columns: minmax(0,1.4fr) minmax(280px,.8fr); max-width: 820px; margin: 0 auto; }
.partner-card { padding: 32px; }
.partner-note { align-self: center; padding: 27px; color: #8797a9; background: var(--navy); border-radius: 21px; }
.partner-note strong { color: var(--white); font-size: 16px; }
.partner-note p { margin: 10px 0 20px; font-size: 9px; line-height: 1.7; }
.partner-note .button { width: 100%; color: var(--white); border-color: #4a6079; }
.partner-note .quote-request-button{color:var(--navy);background:var(--mint);border:1px solid var(--mint);font-weight:900}.partner-note .quote-request-button:hover{background:#1e46b8}
.pricing-boundary { margin-top: 22px; padding: 21px 24px; text-align: center; background: #edf5fb; border: 1px solid #d5e6f2; border-radius: 16px; }
.pricing-boundary strong { color: var(--navy); font-size: 11px; }
.pricing-boundary p { max-width: 780px; margin: 7px auto 0; color: #6e8093; font-size: 9px; line-height: 1.7; }
.plan-dialog .field { margin: 22px 0 15px; }
.payment-summary{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:22px 0;padding:18px;background:#edf5fb;border:1px solid #d5e6f2;border-radius:13px}.payment-summary span,.payment-summary strong{display:flex;flex-direction:column;gap:5px}.payment-summary b,.payment-summary strong{color:var(--navy);font-size:14px}.payment-summary small{color:#718398;font-size:8px}.payment-summary strong{text-align:right}.payment-dialog > .button{width:100%}
.payment-target-section{margin:0 0 14px;padding:16px;background:#f7f9ff;border:1px solid #c8d6ff;border-radius:13px}.payment-target-section[hidden]{display:none}.payment-target-section .field{margin:0}.payment-target-section .field>span{color:#183464;font-weight:800}.payment-target-section select{min-height:44px;border-color:#9eb6ff;background:#fff;color:#13233d;font-weight:700}.payment-target-section small{display:block;margin-top:8px;color:#526984;font-size:9px;line-height:1.6}
.quote-request-form textarea{width:100%;padding:13px 14px;color:var(--navy);background:#f6f8fb;border:1px solid var(--line);border-radius:11px;font-size:11px;line-height:1.6;resize:vertical}.quote-request-form>.button{width:100%}
.quote-success-dialog{text-align:center}.quote-success-dialog .eyebrow{justify-content:center}.quote-success-dialog>h2{margin:12px 0 8px;color:var(--navy);font-size:23px}.quote-success-dialog>p:not(.eyebrow){margin:0 0 23px;color:#66798e;font-size:11px}.quote-success-dialog>.button{width:100%}.quote-success-icon{display:grid;width:58px;height:58px;margin:0 auto 18px;place-items:center;color:#153a94;background:var(--mint);border-radius:50%;font-size:25px;font-weight:900;box-shadow:0 0 0 10px rgba(36, 87, 230,.2)}
.admin-quote-section{margin-top:28px;padding-top:25px;border-top:1px solid var(--line)}.quote-request-list{display:flex;flex-direction:column;gap:9px}.quote-request-list article{padding:17px;background:#f7f9fb;border:1px solid var(--line);border-radius:12px}.quote-request-list article>div{display:flex;justify-content:space-between;gap:15px}.quote-request-list article strong{color:var(--navy);font-size:11px}.quote-request-list article>div span{padding:4px 7px;color:#153a94;background:#eef3ff;border-radius:6px;font-size:8px;font-weight:850}.quote-request-list p{margin:7px 0 0;color:#60758b;font-size:9px}.quote-request-list .quote-message{padding:10px;color:#465d74;background:var(--white);border-radius:8px;line-height:1.6;white-space:pre-wrap}.quote-request-list small{display:block;margin-top:8px;color:#8b98a7;font-size:8px}.admin-empty{padding:25px!important;color:#8493a4!important;background:#f7f9fb;border:1px dashed var(--line);border-radius:11px;text-align:center}
.plan-comparison { margin-top: 42px; }
.plan-comparison-heading { margin-bottom: 17px; }
.plan-comparison-heading > span { color: #2587d2; font-size: 8px; font-weight: 900; letter-spacing: 1px; }
.plan-comparison-heading h2 { margin: 7px 0 0; color: var(--navy); font-size: 23px; letter-spacing: -1px; }
.plan-comparison-heading p { margin: 6px 0 0; color: #8493a4; font-size: 9px; }
.comparison-scroll { overflow-x: auto; background: var(--white); border: 1px solid var(--line); border-radius: 17px; box-shadow: 0 8px 25px rgba(10,35,66,.04); }
.comparison-scroll table { width: 100%; min-width: 740px; border-collapse: collapse; }
.comparison-scroll th, .comparison-scroll td { padding: 15px 14px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: 9px; text-align: center; }
.comparison-scroll th:last-child, .comparison-scroll td:last-child { border-right: 0; }
.comparison-scroll tr:last-child th, .comparison-scroll tr:last-child td { border-bottom: 0; }
.comparison-scroll thead th { color: var(--navy); background: #edf5fb; font-weight: 900; }
.comparison-scroll tbody th { color: var(--navy); background: #f8fafc; text-align: left; }
.comparison-scroll td { color: #62758a; }
.plan-detail-heading { display: flex; justify-content: space-between; gap: 20px; align-items: flex-end; margin-top: 7px; }
.plan-detail-heading span { color: #2587d2; font-size: 8px; font-weight: 900; letter-spacing: 1px; }
.plan-detail-heading h2 { margin-top: 5px; }
.plan-detail-heading > strong { flex: 0 0 auto; color: var(--navy); font-size: 18px; }
.plan-detail-summary { margin: 16px 0 22px; padding: 15px; color: #5c7187; background: #edf5fb; border-radius: 12px; font-size: 10px; line-height: 1.7; }
.plan-detail-delivery, .payment-delivery-notice { margin: -10px 0 22px; padding: 13px 15px; color: #153a94; background: #eef3ff; border: 1px solid #c8d6ff; border-radius: 12px; font-size: 10px; font-weight: 700; line-height: 1.7; }
.payment-delivery-notice { margin: 14px 0 0; }
.payment-contract-details{display:grid;gap:12px;margin:12px 0;padding:15px;color:#435b72;background:#f8fafc;border:1px solid var(--line);border-radius:12px}.payment-contract-details[hidden]{display:none}.payment-contract-details strong{display:block;margin-bottom:6px;color:var(--navy);font-size:9px}.payment-contract-details ul{display:grid;gap:4px;margin:0;padding-left:17px;font-size:8px;line-height:1.55}.payment-contract-details p{margin:0;padding-top:10px;border-top:1px solid var(--line);font-size:8px;line-height:1.6;white-space:pre-line}.payment-contract-details>small{color:#7b8c9e;font-size:7px}
.plan-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.plan-detail-grid section { padding: 17px; background: #f8fafc; border: 1px solid var(--line); border-radius: 13px; }
.plan-detail-grid h3 { margin: 0 0 11px; color: var(--navy); font-size: 11px; }
.plan-detail-grid ul, .plan-detail-grid ol { display: flex; flex-direction: column; gap: 8px; padding-left: 18px; margin: 0; }
.plan-detail-grid li { color: #60748a; font-size: 9px; line-height: 1.55; }
.plan-detail-grid .plan-detail-boundary { background: #fff8ef; border-color: #f1dbc0; }
.plan-detail-boundary h3 { color: #9b5a19; }

.product-document-section{padding-top:22px;border-top:1px solid var(--line)}.product-document-section>div:first-child>span,.product-auto-feedback>span{color:#2587d2;font-size:8px;font-weight:900;letter-spacing:1px}.product-document-section h2,.product-auto-feedback h2{margin:8px 0 5px;color:var(--navy);font-size:18px}.product-document-section>div:first-child>p,.product-auto-feedback>p{margin:0;color:#718398;font-size:9px;line-height:1.65}.product-document-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.product-document-upload{display:flex;min-width:0;padding:14px;flex-direction:column;gap:8px;background:#f7fafc;border:1px solid var(--line);border-radius:11px}.product-document-upload>span{color:var(--navy);font-size:9px;font-weight:850}.product-document-upload em{color:#d45259;font-size:7px;font-style:normal}.product-document-upload input{width:100%;font-size:8px}.product-document-upload small{color:#8291a2;font-size:7px}.product-auto-feedback{margin-top:22px;padding:26px;background:var(--white);border:2px solid #4c7dff;border-radius:17px;box-shadow:var(--shadow-soft)}.product-auto-feedback>div{display:flex;flex-direction:column;gap:7px;margin:17px 0}.product-auto-feedback>div p{margin:0;padding:10px 12px;color:#465d74;background:#f7fafc;border-radius:9px;font-size:9px;line-height:1.55}.product-auto-feedback>.button{width:100%}.admin-assessment{font-weight:850}.admin-assessment.is-passed{color:#153a94!important}.admin-assessment.is-warning{color:#c65359!important}.admin-document-files{margin:10px 0 0;padding:10px 10px 10px 25px;color:#60758b;background:#f7fafc;border-radius:8px;font-size:8px;line-height:1.7}

.sample-service-button{width:100%;margin:-10px 0 10px;padding:9px;color:#2587d2;background:#f2f8fd;border:1px solid #d8e9f7;border-radius:9px;font-size:8px;font-weight:850;cursor:pointer}.sample-service-button:hover{background:#e7f3fc}.service-sample-shell{width:min(980px,calc(100% - 48px));margin:0 auto;padding:45px 0 110px}.service-sample-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:20px}.service-sample-toolbar>span{color:#8291a2;font-size:8px}.service-sample-cover{display:grid;grid-template-columns:1fr auto;gap:35px;align-items:end;padding:36px;color:var(--white);background:linear-gradient(135deg,#081b33,#124b78);border-radius:22px}.service-sample-cover>div>span{color:var(--mint);font-size:8px;font-weight:900;letter-spacing:1px}.service-sample-cover h1{margin:12px 0 9px;font-size:34px;letter-spacing:-1.5px}.service-sample-cover>div>p{max-width:600px;margin:0;color:#b6cadd;font-size:10px;line-height:1.7}.service-sample-cover aside{min-width:220px;padding:18px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.15);border-radius:14px}.service-sample-cover aside small,.service-sample-cover aside strong{display:block}.service-sample-cover aside small{color:var(--mint);font-size:7px}.service-sample-cover aside strong{margin-top:7px;font-size:13px}.service-sample-cover aside p{margin:6px 0 0;color:#b6cadd;font-size:8px}.service-sample-kpis{display:grid;grid-template-columns:repeat(4,1fr);margin:16px 0;background:var(--white);border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow-soft)}.service-sample-kpis article{padding:20px;border-right:1px solid var(--line)}.service-sample-kpis article:last-child{border:0}.service-sample-kpis span,.service-sample-kpis strong{display:block}.service-sample-kpis span{color:#8190a0;font-size:8px}.service-sample-kpis strong{margin-top:6px;color:var(--navy);font-size:20px}.service-sample-content{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.service-sample-content section{padding:23px;background:var(--white);border:1px solid var(--line);border-radius:17px}.service-sample-content section>div:first-child{display:flex;gap:10px;align-items:center}.service-sample-content section>div span{display:grid;width:28px;height:28px;place-items:center;color:var(--navy);background:var(--mint);border-radius:8px;font-size:8px;font-weight:900}.service-sample-content h2{margin:0;color:var(--navy);font-size:14px}.service-sample-content ul{display:flex;margin:18px 0 0;padding:0;flex-direction:column;gap:12px;list-style:none}.service-sample-content li{position:relative;padding-left:15px;color:#526980;font-size:9px;line-height:1.65}.service-sample-content li::before{position:absolute;left:0;color:#2457e6;content:"✓";font-weight:900}.service-sample-notice{margin:16px 0;padding:18px;color:#60758b;background:#f7fafc;border:1px solid var(--line);border-radius:13px}.service-sample-notice strong{color:var(--navy);font-size:9px}.service-sample-notice p{margin:5px 0 0;font-size:8px;line-height:1.6}.service-sample-cta{width:100%}

.service-sample-shell{width:min(1120px,calc(100% - 48px))}.service-sample-cover{border-radius:22px 22px 0 0}.service-sample-method{display:grid;grid-template-columns:repeat(5,1fr);background:#0b2949;border-top:1px solid rgba(255,255,255,.1);border-radius:0 0 18px 18px}.service-sample-method span{padding:13px 17px;color:#b7cadb;border-right:1px solid rgba(255,255,255,.1);font-size:8px}.service-sample-method span:last-child{border:0}.service-sample-method b{display:block;margin-bottom:4px;color:var(--mint);font-size:7px}
.service-sample-method span span{padding:0;border:0;color:#b7cadb;font-size:inherit}.price-targets{min-height:32px;margin:10px 0 0;color:#61758a;font-size:9px;line-height:1.55}.price-targets b{color:#153a94}.product-inspection-target{margin:0 0 18px;padding:16px;background:#f7f9fc;border:1px solid #c8d6ff;border-radius:12px}.product-inspection-target .field{margin:0}.product-inspection-target small{display:block;margin-top:7px;color:#61758a;font-size:9px}

.review-sample-picker{margin:16px 0;padding:22px;background:var(--white);border:1px solid var(--line);border-radius:17px}.review-sample-picker>div:first-child>span{color:#2587d2;font-size:8px;font-weight:900;letter-spacing:1px}.review-sample-picker h2{margin:7px 0 4px;color:var(--navy);font-size:17px}.review-sample-picker p{margin:0;color:#718398;font-size:8px}.review-sample-tabs{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin-top:16px}.review-sample-tabs button{padding:11px 6px;color:#60758b;background:#f7fafc;border:1px solid var(--line);border-radius:9px;font-size:8px;font-weight:850;cursor:pointer}.review-sample-tabs button.is-active{color:var(--navy);background:var(--mint);border-color:var(--mint)}

.review-sample-picker-top{margin:0 0 16px;border-color:#4c7dff;box-shadow:var(--shadow-soft)}
.service-sample-toolbar>div{display:flex;gap:12px;align-items:center}.service-sample-toolbar>div>span{color:#8291a2;font-size:8px}.service-sample-print-footer{display:flex;justify-content:space-between;gap:15px;margin:18px 0;padding:13px 16px;color:#718398;background:#f7fafc;border:1px solid var(--line);border-radius:10px;font-size:8px}.service-sample-print-footer b{color:inherit}
.service-sample-download{margin-bottom:18px}.service-sample-bottom-actions{display:grid;grid-template-columns:minmax(150px,.65fr) minmax(210px,1fr);gap:10px}.service-sample-bottom-actions .button{width:100%}.service-sample-download>p{margin:9px 2px 0;color:#718398;font-size:8px;line-height:1.6}
.result-pdf-download{margin:10px 0 35px}.result-pdf-download .button{width:100%}.result-pdf-download p{margin:8px 2px 0;color:#718398;font-size:8px;line-height:1.6}.result-download-footer{margin-top:18px}
.service-sample-shell.pdf-exporting{position:fixed!important;z-index:-9999!important;top:0!important;left:0!important;width:390px!important;max-width:390px!important;margin:0!important;padding:18px!important;box-sizing:border-box;pointer-events:none;background:#fff}.service-sample-shell.pdf-exporting .no-print{display:none!important}.service-sample-shell.pdf-exporting .service-sample-cover{grid-template-columns:1fr;padding:27px 22px}.service-sample-shell.pdf-exporting .service-sample-cover h1{font-size:28px}.service-sample-shell.pdf-exporting .service-sample-cover aside{min-width:0}.service-sample-shell.pdf-exporting .service-sample-method{grid-template-columns:1fr 1fr}.service-sample-shell.pdf-exporting .service-sample-method span{border-bottom:1px solid rgba(255,255,255,.1)}.service-sample-shell.pdf-exporting .service-sample-kpis{grid-template-columns:1fr 1fr}.service-sample-shell.pdf-exporting .service-sample-kpis article{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.service-sample-shell.pdf-exporting .service-sample-kpis article:nth-child(2n){border-right:0}.service-sample-shell.pdf-exporting .service-sample-kpis article:nth-last-child(-n+2){border-bottom:0}.service-sample-shell.pdf-exporting .service-sample-content,.service-sample-shell.pdf-exporting .document-review-list{grid-template-columns:1fr}.service-sample-shell.pdf-exporting .service-report-narrative,.service-sample-shell.pdf-exporting .service-report-conclusion{padding:22px 17px}.service-sample-shell.pdf-exporting .service-document-review{padding:20px 14px}.service-sample-shell.pdf-exporting .review-sample-tabs{grid-template-columns:1fr 1fr}.service-sample-shell.pdf-exporting .service-sample-print-footer{flex-direction:column;gap:5px}.service-sample-shell.pdf-exporting section,.service-sample-shell.pdf-exporting article{break-inside:avoid;page-break-inside:avoid}

@media print{body:has(.view-service-sample.is-active) .topbar,body:has(.view-service-sample.is-active) .footer,body:has(.view-service-sample.is-active) .view:not(.view-service-sample){display:none!important}body:has(.view-service-sample.is-active){background:#fff}.view-service-sample.is-active{display:block!important}.service-sample-shell{width:100%;padding:0}.service-sample-cover{break-inside:avoid;border-radius:0}.service-sample-method{break-inside:avoid;border-radius:0}.service-sample-kpis,.review-sample-picker,.service-sample-content section,.service-sample-notice{break-inside:avoid;box-shadow:none}.service-sample-content{grid-template-columns:1fr 1fr}.service-sample-content section{padding:16px}.service-sample-print-footer{margin-top:12px}.no-print{display:none!important}@page{size:A4;margin:12mm}}

.service-report-narrative,.service-report-conclusion{margin:16px 0;padding:30px;background:var(--white);border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow-soft)}.service-report-title>span,.service-report-conclusion>div:first-child>span{color:#2587d2;font-size:8px;font-weight:900;letter-spacing:1px}.service-report-title h2,.service-report-conclusion h2{margin:8px 0 18px;color:var(--navy);font-size:20px}.service-report-narrative>div:last-child,.service-report-conclusion>div:last-child{display:flex;flex-direction:column;gap:13px}.service-report-narrative p,.service-report-conclusion p{margin:0;color:#415a72;font-size:10px;line-height:1.9;text-align:justify}.service-report-conclusion{border:2px solid #4c7dff}.service-sample-content{grid-template-columns:1fr 1fr}.service-sample-content section{padding:25px}.service-section-intro{margin:15px 0;color:#526980;font-size:9px;line-height:1.8}.service-analysis-list{display:flex;flex-direction:column;align-items:stretch;gap:11px}.service-analysis-list article{width:100%;box-sizing:border-box;padding:13px;background:#f7fafc;border-left:3px solid #4c7dff;border-radius:0 9px 9px 0}.service-analysis-list strong{display:block;color:var(--navy);font-size:9px;line-height:1.6}.service-analysis-list p{margin:7px 0 0;color:#60758b;font-size:8px;line-height:1.75}

@media print{.service-report-narrative,.service-report-conclusion,.service-document-review,.service-sample-content section{break-inside:avoid;box-shadow:none}.service-sample-content,.document-review-list{grid-template-columns:1fr}.service-analysis-list article,.document-review-list article{break-inside:avoid}.service-report-narrative p,.service-report-conclusion p{font-size:9pt}}

.service-document-review{margin:16px 0;padding:28px;background:var(--white);border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow-soft)}.service-document-review .service-report-title>p{margin:0;color:#718398;font-size:9px}.document-review-group{margin-top:20px}.document-review-group-title{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:11px 14px;border-radius:9px}.document-review-group-title span,.document-review-group-title strong{font-size:9px}.document-review-group.is-suitable .document-review-group-title{color:#153a94;background:#eef3ff}.document-review-group.is-unsuitable .document-review-group-title{color:#b6454c;background:#fff0f1}.document-review-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.document-review-list article{padding:16px;background:#f8fafc;border:1px solid var(--line);border-radius:11px}.document-review-group.is-suitable article{border-left:4px solid #4c7dff}.document-review-group.is-unsuitable article{border-left:4px solid #e1777d}.document-review-list article>div:first-child{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.document-review-list h3{margin:0;color:var(--navy);font-size:11px}.document-review-list article>div:first-child span{flex:none;padding:4px 7px;border-radius:6px;font-size:7px;font-weight:900}.is-suitable .document-review-list article>div:first-child span{color:#153a94;background:#eef3ff}.is-unsuitable .document-review-list article>div:first-child span{color:#b6454c;background:#fff0f1}.document-review-list article>div:not(:first-child){margin-top:10px}.document-review-list b{display:block;color:#2587d2;font-size:8px}.document-review-list p{margin:5px 0 0;color:#526980;font-size:8px;line-height:1.75}.document-review-empty{grid-column:1/-1;margin:0;padding:18px;color:#8190a0;background:#f7fafc;border-radius:9px;text-align:center;font-size:8px}
.service-analysis-list:has(.roadmap-priority-card){align-items:stretch}.service-analysis-list .roadmap-priority-card{position:relative;width:100%;min-height:76px;box-sizing:border-box;padding-left:18px;border-left:4px solid #91a5b8}.service-analysis-list .roadmap-priority-card.priority-1{border-left-color:#d84e59;background:#fff7f7}.service-analysis-list .roadmap-priority-card.priority-2{border-left-color:#e89a35;background:#fffaf2}.service-analysis-list .roadmap-priority-card.priority-3{border-left-color:#2c8bc7;background:#f5fbff}.service-analysis-list .roadmap-priority-card.priority-4{border-left-color:#4c7dff;background:#f7f9fc}.roadmap-priority-card strong{color:var(--navy);font-size:9px}.roadmap-priority-card p,.service-analysis-list article>p,.document-review-list p{white-space:pre-line}
.service-analysis-list article>strong{white-space:pre-line}
.service-analysis-link{display:inline-flex;margin-top:9px;padding:7px 10px;border:1px solid #b9d8ef;border-radius:8px;color:#176da9;font-size:8px;font-weight:800;text-decoration:none;background:#fff}.service-analysis-link::after{content:" ↗"}.service-analysis-link:hover{border-color:#2587d2;background:#f2f9ff}
.service-sample-shell.pdf-exporting{position:relative!important;z-index:auto!important;top:auto!important;left:auto!important;height:auto!important;max-height:none!important;overflow:visible!important}
.service-sample-shell.pdf-exporting{width:390px!important;margin:0 auto!important;padding:0!important}.service-sample-shell.pdf-exporting .pdf-chapter{width:100%;box-sizing:border-box;break-before:page;page-break-before:always;break-inside:avoid;page-break-inside:avoid;margin-top:0!important;margin-bottom:0!important;box-shadow:none!important}.service-sample-shell.pdf-exporting .pdf-first-chapter{break-before:auto;page-break-before:auto}.service-sample-shell.pdf-exporting .service-sample-cover{border-radius:18px 18px 0 0}.service-sample-shell.pdf-exporting .service-sample-content{display:block}.service-sample-shell.pdf-exporting .service-sample-content section{margin:0;padding:18px 15px;min-height:0}.service-sample-shell.pdf-exporting .service-analysis-list{gap:7px}.service-sample-shell.pdf-exporting .service-analysis-list article{padding:10px 11px}.service-sample-shell.pdf-exporting .service-analysis-list strong{font-size:8px;line-height:1.45}.service-sample-shell.pdf-exporting .service-analysis-list p{margin-top:5px;font-size:7px;line-height:1.55}.service-sample-shell.pdf-exporting .service-section-intro{margin:10px 0;font-size:8px;line-height:1.55}.service-sample-shell.pdf-exporting .service-report-narrative p,.service-sample-shell.pdf-exporting .service-report-conclusion p{font-size:8px;line-height:1.65}.service-sample-shell.pdf-exporting .document-review-list{gap:7px}.service-sample-shell.pdf-exporting .document-review-list article{padding:11px}.service-sample-shell.pdf-exporting .document-review-list p{font-size:7px;line-height:1.55}.service-sample-shell.pdf-exporting .service-sample-notice{padding:14px}.service-sample-shell.pdf-exporting .service-sample-print-footer{margin:0;padding:10px 12px;border-radius:0}
.service-sample-shell.pdf-exporting .service-document-review{padding:14px 12px}.service-sample-shell.pdf-exporting .service-document-review .service-report-title h2{margin:5px 0 8px;font-size:16px}.service-sample-shell.pdf-exporting .service-document-review .service-report-title>p{font-size:7px;line-height:1.4}.service-sample-shell.pdf-exporting .document-review-group{margin-top:10px}.service-sample-shell.pdf-exporting .document-review-group-title{padding:7px 9px}.service-sample-shell.pdf-exporting .document-review-list{gap:5px;margin-top:5px}.service-sample-shell.pdf-exporting .document-review-list article{padding:7px 8px}.service-sample-shell.pdf-exporting .document-review-list article>div:first-child{margin-bottom:5px}.service-sample-shell.pdf-exporting .document-review-list article>div:not(:first-child){margin-top:4px}.service-sample-shell.pdf-exporting .document-review-list h3{font-size:8px}.service-sample-shell.pdf-exporting .document-review-list b{font-size:6px}.service-sample-shell.pdf-exporting .document-review-list p{margin-top:2px;font-size:6px;line-height:1.35}
.service-sample-shell.pdf-exporting{margin-left:0!important;margin-right:0!important}
.service-sample-shell.pdf-exporting .service-sample-content section{padding:25px;border:1px solid var(--line);border-radius:17px;background:var(--white);box-shadow:var(--shadow-soft)}.service-sample-shell.pdf-exporting .service-section-intro{margin:15px 0;font-size:9px;line-height:1.8}.service-sample-shell.pdf-exporting .service-analysis-list{gap:11px}.service-sample-shell.pdf-exporting .service-analysis-list article{padding:13px;background:#f7fafc;border-radius:0 9px 9px 0}.service-sample-shell.pdf-exporting .service-analysis-list strong{font-size:9px;line-height:1.6}.service-sample-shell.pdf-exporting .service-analysis-list p{margin-top:7px;font-size:8px;line-height:1.75}.service-sample-shell.pdf-exporting .service-report-narrative,.service-sample-shell.pdf-exporting .service-report-conclusion{padding:30px;border-radius:17px;box-shadow:var(--shadow-soft)}.service-sample-shell.pdf-exporting .service-report-narrative p,.service-sample-shell.pdf-exporting .service-report-conclusion p{font-size:10px;line-height:1.9}.service-sample-shell.pdf-exporting .service-document-review{padding:20px 14px;border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow-soft)}.service-sample-shell.pdf-exporting .service-document-review .service-report-title h2{margin:8px 0 18px;font-size:20px}.service-sample-shell.pdf-exporting .service-document-review .service-report-title>p{font-size:9px;line-height:1.6}.service-sample-shell.pdf-exporting .document-review-group{margin-top:20px}.service-sample-shell.pdf-exporting .document-review-group-title{padding:11px 14px}.service-sample-shell.pdf-exporting .document-review-list{gap:10px;margin-top:10px}.service-sample-shell.pdf-exporting .document-review-list article{padding:16px;border:1px solid var(--line);border-radius:11px;background:#f8fafc}.service-sample-shell.pdf-exporting .document-review-list article>div:first-child{margin-bottom:12px}.service-sample-shell.pdf-exporting .document-review-list article>div:not(:first-child){margin-top:10px}.service-sample-shell.pdf-exporting .document-review-list h3{font-size:11px}.service-sample-shell.pdf-exporting .document-review-list b{font-size:8px}.service-sample-shell.pdf-exporting .document-review-list p{margin-top:5px;font-size:8px;line-height:1.75}.service-sample-shell.pdf-exporting .service-sample-notice{padding:18px;border:1px solid var(--line);border-radius:13px;background:#f7fafc}.service-sample-shell.pdf-exporting .service-sample-print-footer{padding:13px 16px;border:1px solid var(--line);border-radius:10px;background:#f7fafc}
.pdf-screen-capture-group{display:block;width:100%;background:transparent}
.service-report-pdf-stage{position:fixed;z-index:-9998;top:0;left:0;width:390px;height:auto;overflow:visible;pointer-events:none;background:var(--paper)}
.service-sample-shell.pdf-exporting .service-sample-content section.pdf-capture-tight{padding-top:17px;padding-bottom:17px}.service-sample-shell.pdf-exporting .service-sample-content section.pdf-capture-tight .service-section-intro{margin-top:10px;margin-bottom:10px}.service-sample-shell.pdf-exporting .service-sample-content section.pdf-capture-tight .service-analysis-list{gap:7px}.service-sample-shell.pdf-exporting .service-sample-content section.pdf-capture-tight .service-analysis-list article{padding-top:9px;padding-bottom:9px}.service-sample-shell.pdf-exporting .service-sample-content section.pdf-capture-tight .service-analysis-list p{margin-top:4px;line-height:1.6}.pdf-document-split{margin:0;padding-top:20px;padding-bottom:20px}.pdf-document-split .document-review-group{margin-top:14px}
.service-sample-shell.pdf-exporting .service-analysis-list{align-items:stretch!important}.service-sample-shell.pdf-exporting .service-analysis-list>article{width:100%!important;min-width:0;box-sizing:border-box;align-self:stretch!important}.service-sample-shell.pdf-exporting .service-analysis-list>article strong,.service-sample-shell.pdf-exporting .service-analysis-list>article p{word-break:keep-all;overflow-wrap:break-word}
.service-sample-shell.pdf-exporting :is(h1,h2,h3,strong,b,p,li,span){word-break:keep-all;overflow-wrap:break-word}
.service-sample-shell.pdf-exporting .service-report-narrative p,.service-sample-shell.pdf-exporting .service-report-conclusion p{text-align:left}
.service-sample-shell.pdf-exporting .service-analysis-list>article,.service-sample-shell.pdf-exporting .service-analysis-list>article>*{height:auto!important;max-height:none!important;overflow:visible!important}
.service-sample-shell.pdf-exporting .pdf-document-split .document-review-list{gap:7px;margin-top:8px}.service-sample-shell.pdf-exporting .pdf-document-split .document-review-list article{padding:12px}.service-sample-shell.pdf-exporting .pdf-document-split .document-review-list article>div:first-child{margin-bottom:8px}.service-sample-shell.pdf-exporting .pdf-document-split .document-review-list article>div:not(:first-child){margin-top:6px}.service-sample-shell.pdf-exporting .pdf-document-split .document-review-list p{margin-top:3px;font-size:7.4px;line-height:1.5}
.pdf-final-group{padding:0;background:transparent}.service-sample-shell.pdf-exporting .pdf-final-group .service-sample-notice{margin:0;padding:7px 10px;border-radius:10px}.service-sample-shell.pdf-exporting .pdf-final-group .service-sample-notice strong{font-size:8px}.service-sample-shell.pdf-exporting .pdf-final-group .service-sample-notice p{margin-top:2px;font-size:7px;line-height:1.4}.service-sample-shell.pdf-exporting .pdf-final-group .service-sample-print-footer{display:grid;grid-template-columns:.8fr 1.4fr .9fr;align-items:center;margin:4px 0 0;padding:6px 9px;gap:5px;border-radius:9px;font-size:7px;line-height:1.35}.service-sample-shell.pdf-exporting .pdf-final-group .service-sample-print-footer span:nth-child(2){text-align:center}.service-sample-shell.pdf-exporting .pdf-final-group .service-sample-print-footer span:last-child{text-align:right}
.document-metadata-fields{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:7px;margin-top:9px}.document-metadata-fields label{display:block}.document-metadata-fields span{display:block;margin-bottom:4px;color:#718398;font-size:7px}.document-metadata-fields input{width:100%;box-sizing:border-box;padding:8px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--navy);font-size:8px}@media(max-width:720px){.document-metadata-fields{grid-template-columns:1fr}.document-metadata-fields input{font-size:16px}}

.signup-shell {
  width: min(720px, calc(100% - 48px));
  margin: 0 auto;
  padding: 55px 0 110px;
}
.login-shell{width:min(520px,calc(100% - 48px));margin:0 auto;padding:55px 0 110px}.login-card{display:flex;flex-direction:column;gap:18px}.login-card .button{width:100%}.login-card .signup-security{margin:0}.login-card .signup-security b{color:var(--navy)}
.login-error{margin:0;padding:13px 15px;border:1px solid #efc4c8;border-radius:11px;background:#fff3f4;color:#9c2f39;font-size:12px;line-height:1.55}.login-card [aria-invalid="true"]{border-color:#cf5964;box-shadow:0 0 0 3px rgba(207,89,100,.12)}
.login-reset-link,.password-reset-secondary{align-self:center;padding:2px 0;color:#536d85;background:transparent;border:0;border-bottom:1px solid #aebdca;font:inherit;font-size:10px;font-weight:800;cursor:pointer}.login-reset-link:hover,.password-reset-secondary:hover{color:var(--navy);border-color:var(--navy)}
.password-reset-card{display:flex;flex-direction:column;gap:20px}.password-reset-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:0;margin:0;list-style:none}.password-reset-progress li{display:flex;min-width:0;padding:10px 8px;align-items:center;justify-content:center;gap:6px;color:#8090a0;background:#f5f8fa;border:1px solid var(--line);border-radius:10px;font-size:8px;font-weight:850}.password-reset-progress span{display:grid;width:19px;height:19px;place-items:center;color:#6f8294;background:#e6edf2;border-radius:50%;font-size:7px}.password-reset-progress li.is-active{color:var(--navy);background:#eef3ff;border-color:#7da0ff}.password-reset-progress li.is-active span,.password-reset-progress li.is-complete span{color:var(--navy);background:var(--mint)}.password-reset-progress li.is-complete{color:#153a94;border-color:#c8d6ff}
.password-reset-step{display:flex;flex-direction:column;gap:17px}.password-reset-step[hidden]{display:none}.password-reset-step>div>strong{display:block;color:var(--navy);font-size:14px}.password-reset-step>div>p{margin:7px 0 0;color:#687d91;font-size:9px;line-height:1.65}.password-reset-step .button{width:100%}.password-reset-status{min-height:18px;margin:0;padding:12px 13px;color:#153a94;background:#eef3ff;border:1px solid #c8d6ff;border-radius:10px;font-size:9px;line-height:1.6}.password-reset-status:empty{display:none}.password-reset-status.is-error{color:#9c2f39;background:#fff3f4;border-color:#efc4c8}.password-reset-card .signup-security{margin:0}.password-reset-secondary{margin-top:-3px}
.member-shell{width:min(1040px,calc(100% - 48px));margin:0 auto;padding:55px 0 110px}.member-header{display:flex;justify-content:space-between;gap:30px;align-items:flex-start;margin-bottom:30px}.member-header h1{margin:6px 0;color:var(--navy);font-size:38px;letter-spacing:-2px}.member-header p:last-child{margin:0;color:var(--muted);font-size:11px}.member-stats{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:18px;background:var(--white);border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow-soft)}.member-stats>div{padding:22px;border-right:1px solid var(--line)}.member-stats>div:last-child{border:0}.member-stats span,.member-stats strong{display:block}.member-stats span{color:#8291a2;font-size:9px}.member-stats strong{margin-top:7px;color:var(--navy);font-size:22px}.member-main-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.member-panel{padding:28px;background:var(--white);border:1px solid var(--line);border-radius:19px}.member-panel-label{color:#2587d2;font-size:8px;font-weight:900;letter-spacing:1px}.member-panel h2{margin:12px 0 7px;color:var(--navy);font-size:19px}.member-panel>p{margin:0 0 23px;color:#718398;font-size:9px;line-height:1.7}.member-empty{display:grid;min-height:130px;place-content:center;text-align:center;color:#8291a2}.member-empty strong{color:var(--navy);font-size:11px}.member-empty p{margin:7px 0 0;font-size:9px}.superadmin-panel{display:grid;grid-template-columns:1fr auto;gap:25px;align-items:center;margin-top:18px;padding:27px;color:var(--white);background:linear-gradient(135deg,#081b33,#113f69);border-radius:19px}.superadmin-panel span{color:var(--mint);font-size:8px;font-weight:900;letter-spacing:1px}.superadmin-panel h2{margin:8px 0 5px;font-size:20px}.superadmin-panel p{margin:0;color:#a8bdd1;font-size:9px}.superadmin-actions{display:flex;gap:8px}.superadmin-actions .button-ghost{color:var(--white);border-color:#58708a}
.member-result-list{display:flex;flex-direction:column;gap:8px}.member-result-item{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:12px 13px;background:#f7fafc;border:1px solid var(--line);border-radius:10px}.member-result-item strong,.member-result-item small{display:block}.member-result-item strong{color:var(--navy);font-size:10px}.member-result-item small{margin-top:3px;color:#718398;font-size:7px}.member-result-item button{padding:8px 10px;font-size:8px}

.admin-dashboard{display:flex;flex-direction:column;gap:18px}.admin-priority-card{display:grid;grid-template-columns:1fr auto;gap:10px 25px;align-items:center;padding:28px;background:var(--white);border:2px solid #4c7dff;border-radius:19px;box-shadow:var(--shadow-soft)}.admin-priority-card span{color:#153a94;font-size:8px;font-weight:900;letter-spacing:1px}.admin-priority-card h2{margin:8px 0 5px;color:var(--navy);font-size:20px}.admin-priority-card p{margin:0;color:#718398;font-size:9px}.admin-priority-count{text-align:center}.admin-priority-count strong,.admin-priority-count small{display:block}.admin-priority-count strong{color:var(--navy);font-size:32px}.admin-priority-count small{color:#7d8d9e;font-size:8px}.admin-priority-card>.button{grid-column:1/-1;width:100%;margin-top:8px}.admin-primary-button,.admin-tool-primary{color:var(--navy)!important;background:var(--mint)!important;border:1px solid var(--mint)!important;font-weight:900}.admin-primary-button:hover,.admin-tool-primary:hover{background:#1e46b8!important}.admin-tool-secondary{color:var(--white)!important;background:transparent!important;border:1px solid #7890a8!important}.admin-tool-secondary:hover{color:var(--white)!important;background:rgba(255,255,255,.1)!important}
.admin-activity-card{padding:28px;background:var(--white);border:1px solid var(--line);border-radius:19px;box-shadow:var(--shadow-soft)}.admin-activity-heading{display:flex;justify-content:space-between;gap:25px;align-items:flex-end}.admin-activity-heading>div>span{color:#153a94;font-size:8px;font-weight:900;letter-spacing:1px}.admin-activity-heading h2{margin:8px 0 5px;color:var(--navy);font-size:22px}.admin-activity-heading p{margin:0;color:#718398;font-size:9px}.admin-date-picker{display:flex;flex-direction:column;gap:6px;min-width:175px}.admin-date-picker span{color:#61758a;font-size:8px;font-weight:800}.admin-date-picker input{padding:11px 12px;color:var(--navy);background:#f7fafc;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:10px}.admin-selected-date{margin:24px 0 10px;padding-bottom:12px;color:var(--navy);border-bottom:1px solid var(--line);font-size:13px;font-weight:900}.admin-product-summary{display:flex;flex-direction:column}.admin-product-row{border-bottom:1px solid var(--line)}.admin-product-row:last-child{border-bottom:0}.admin-product-toggle{display:grid;grid-template-columns:1fr auto 24px;gap:14px;align-items:center;width:100%;padding:17px 4px;color:var(--navy);background:transparent;border:0;text-align:left;cursor:pointer}.admin-product-toggle strong{font-size:12px}.admin-product-toggle span{color:#153a94;font-size:11px;font-weight:900}.admin-product-toggle i{font-style:normal;font-size:17px;transition:transform .2s}.admin-product-toggle[aria-expanded="true"] i{transform:rotate(90deg)}.admin-product-details{padding:0 4px 15px}.admin-product-details article{margin:0 0 9px;padding:15px;background:#f7f9fb;border:1px solid var(--line);border-radius:11px}.admin-product-details article>div:first-child{display:flex;justify-content:space-between;gap:15px}.admin-product-details article strong{color:var(--navy);font-size:10px}.admin-product-details time{color:#8594a4;font-size:8px}.admin-product-details article>p{margin:7px 0;color:#60758b;font-size:9px}.admin-result-delivery{padding:10px;background:var(--white);border-radius:8px}.admin-result-delivery b{color:#2587d2;font-size:8px}.admin-result-delivery p{margin:5px 0 0;color:#465d74;font-size:9px;line-height:1.6}.admin-quote-only{padding:28px;background:var(--white);border:1px solid var(--line);border-radius:19px}.view-admin-quotes .admin-header{margin-bottom:25px}
.admin-calendar{margin-top:22px;padding:16px;background:#f7fafc;border:1px solid var(--line);border-radius:14px}.admin-calendar-toolbar{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;margin-bottom:13px}.admin-calendar-toolbar strong{color:var(--navy);font-size:14px;text-align:center}.admin-calendar-toolbar button{width:34px;height:34px;color:var(--navy);background:var(--white);border:1px solid var(--line);border-radius:9px;cursor:pointer}.admin-calendar-weekdays,.admin-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.admin-calendar-weekdays span{padding:6px;color:#8190a0;font-size:8px;font-weight:800;text-align:center}.admin-calendar-weekdays span:first-child{color:#d35f65}.admin-calendar-weekdays span:last-child{color:#3d7dcc}.admin-calendar-day{display:flex;min-height:54px;padding:7px 3px;align-items:center;flex-direction:column;gap:3px;color:var(--navy);background:transparent;border:1px solid transparent;border-radius:9px;cursor:pointer}.admin-calendar-day strong{font-size:10px}.admin-calendar-day small{padding:2px 5px;color:#153a94;background:#eef3ff;border-radius:5px;font-size:7px;font-weight:900;white-space:nowrap}.admin-calendar-day:hover{background:var(--white)}.admin-calendar-day.is-today{border-color:#4c7dff}.admin-calendar-day.is-selected{color:var(--white);background:var(--navy);border-color:var(--navy)}.admin-calendar-day.is-selected small{color:var(--navy);background:var(--mint)}
.admin-revenue-card{padding:28px;background:var(--white);border:1px solid var(--line);border-radius:19px;box-shadow:var(--shadow-soft)}.admin-revenue-card>div:first-child>span{color:#2587d2;font-size:8px;font-weight:900;letter-spacing:1px}.admin-revenue-card h2{margin:8px 0 5px;color:var(--navy);font-size:20px}.admin-revenue-card>div:first-child>p{margin:0;color:#718398;font-size:9px}.admin-revenue-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:20px}.admin-revenue-grid article{padding:17px;background:#f7fafc;border:1px solid var(--line);border-radius:12px}.admin-revenue-grid span,.admin-revenue-grid strong{display:block}.admin-revenue-grid span{color:#718398;font-size:8px}.admin-revenue-grid strong{margin-top:7px;color:var(--navy);font-size:16px}.admin-activity-detail-list{display:flex;flex-direction:column;gap:10px}.admin-activity-detail-list article{padding:18px;background:#f7f9fb;border:1px solid var(--line);border-radius:12px}.admin-activity-detail-list article>div:first-child{display:flex;justify-content:space-between;gap:15px}.admin-activity-detail-list article strong{color:var(--navy);font-size:11px}.admin-activity-detail-list time{color:#8594a4;font-size:8px}.admin-activity-detail-list article>p{margin:8px 0;color:#60758b;font-size:9px}
.admin-members-card{display:grid;grid-template-columns:1fr auto;gap:22px;align-items:center;padding:28px;background:var(--white);border:1px solid var(--line);border-radius:19px;box-shadow:var(--shadow-soft)}.admin-members-card>div>span{color:#153a94;font-size:8px;font-weight:900;letter-spacing:1px}.admin-members-card h2{margin:8px 0 5px;color:var(--navy);font-size:20px}.admin-members-card p{margin:0;color:#718398;font-size:9px}.admin-member-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}.admin-member-tabs button{padding:15px;color:#60758b;background:var(--white);border:1px solid var(--line);border-radius:11px;font-weight:850;cursor:pointer}.admin-member-tabs button.is-active{color:var(--navy);background:var(--mint);border-color:var(--mint)}.admin-member-tabs span{display:inline-grid;min-width:20px;height:20px;margin-left:5px;place-items:center;background:rgba(255,255,255,.75);border-radius:10px;font-size:8px}.admin-member-content{padding:28px;background:var(--white);border:1px solid var(--line);border-radius:19px}.admin-member-list{display:flex;flex-direction:column;gap:10px}.admin-member-list>article{padding:18px;background:#f7f9fb;border:1px solid var(--line);border-radius:12px}.admin-member-list>article>div:first-child{display:flex;justify-content:space-between;gap:15px}.admin-member-list>article>div:first-child strong,.admin-member-list>article>div:first-child small{display:block}.admin-member-list>article>div:first-child strong{color:var(--navy);font-size:11px}.admin-member-list>article>div:first-child small,.admin-member-list>article>div:first-child>span{margin-top:4px;color:#8190a0;font-size:8px}.member-product-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px;color:#8291a2;font-size:9px}.member-product-tags b{padding:6px 8px;color:#153a94;background:#eef3ff;border-radius:7px;font-size:8px}.member-subscription-info{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.member-subscription-info p{margin:0;padding:11px;background:var(--white);border-radius:8px}.member-subscription-info b,.member-subscription-info span{display:block;font-size:8px}.member-subscription-info b{color:#8190a0}.member-subscription-info span{margin-top:5px;color:var(--navy);font-weight:850}.member-subscription-info .is-active{color:#153a94}.member-subscription-info .is-cancelled{color:#c65359}.partner-quota-control{display:grid;grid-template-columns:1fr 130px auto;gap:10px;align-items:end;margin-top:14px}.partner-quota-control p{margin:0}.partner-quota-control b,.partner-quota-control p span{display:block}.partner-quota-control b,.partner-quota-control label>span{color:#8190a0;font-size:8px}.partner-quota-control p span{margin-top:5px;color:var(--navy);font-size:11px;font-weight:850}.partner-quota-control label{display:flex;flex-direction:column;gap:5px}.partner-quota-control input{width:100%;padding:10px;color:var(--navy);background:var(--white);border:1px solid var(--line);border-radius:8px}.product-work-shell{max-width:760px}.product-work-form{gap:22px}.product-work-fields{display:grid;grid-template-columns:1fr;gap:18px}.product-work-fields textarea{min-height:120px;padding:14px;resize:vertical;color:var(--navy);background:#f9fbfc;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:10px;line-height:1.65}.product-work-fields select,.product-work-fields input{width:100%}.product-work-form .consent-line{margin-top:4px}.admin-member-search{display:block;margin:0 0 18px}.admin-member-search>span{display:block;margin-bottom:7px;color:#61758a;font-size:8px;font-weight:850}.admin-member-search>div{display:grid;grid-template-columns:1fr 42px;background:#f7fafc;border:1px solid var(--line);border-radius:11px;overflow:hidden}.admin-member-search input{min-width:0;padding:13px 14px;color:var(--navy);background:transparent;border:0;outline:0;font:inherit;font-size:10px}.admin-member-search button{color:#718398;background:transparent;border:0;font-size:17px;cursor:pointer}.admin-member-search>div:focus-within{border-color:#4c7dff;box-shadow:0 0 0 3px rgba(36, 87, 230,.18)}.admin-member-search small{display:block;margin-top:6px;color:#8190a0;font-size:8px}.admin-member-list .member-business-number{color:#2587d2!important}

.signup-heading {
  margin: 30px 0 28px;
}

.signup-heading h1 {
  margin: 0;
  color: var(--navy);
  font-size: 40px;
  letter-spacing: -2px;
}

.signup-heading > p:last-child {
  margin: 12px 0 0;
  color: var(--muted);
  font-size: 12px;
}
.signup-selected-plan { display:grid;grid-template-columns:auto 1fr;gap:5px 12px;margin:-10px 0 20px;padding:16px 18px;background:var(--mint-2);border:1px solid #c8d6ff;border-radius:14px }
.signup-selected-plan span{grid-row:1 / 3;align-self:center;padding:6px 8px;color:#153a94;background:var(--mint);border-radius:7px;font-size:8px;font-weight:900}.signup-selected-plan strong{color:var(--navy);font-size:12px}.signup-selected-plan small{color:#596779;font-size:8px}.signup-next-step{padding-top:10px;border-top:1px solid rgba(36, 87, 230,.15);line-height:1.6!important}

.signup-card {
  padding: 30px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 24px;
  box-shadow: var(--shadow-soft);
}

.signup-type {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  padding: 0;
  margin: 0 0 28px;
  border: 0;
}

.signup-type legend {
  width: 100%;
  margin-bottom: 10px;
  color: var(--navy);
  font-size: 11px;
  font-weight: 850;
}

.signup-type label { position: relative; cursor: pointer; }
.signup-type input { position: absolute; opacity: 0; pointer-events: none; }
.signup-type label > span {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-height: 86px;
  justify-content: center;
  padding: 17px;
  background: #f6f8fb;
  border: 2px solid transparent;
  border-radius: 15px;
}
.signup-type input:checked + span { background: var(--blue-2); border-color: var(--blue); }
.signup-type b { color: var(--navy); font-size: 13px; }
.signup-type small { color: var(--muted); font-size: 9px; }
.signup-type input:focus-visible + span { outline: 3px solid rgba(76, 167, 255, 0.35); }

.signup-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.signup-inline { display: grid; grid-template-columns: 1fr auto; gap: 9px; }
.signup-inline .button { min-width: 120px; }
.manager-contact { padding: 16px; background: #f5f8fb; border: 1px solid var(--line); border-radius: 14px; }
.manager-contact-heading { display: flex; justify-content: space-between; gap: 12px; align-items: center; margin-bottom: 14px; }
.manager-contact-heading > span { color: var(--navy); font-size: 10px; font-weight: 850; }
.manager-contact-heading em { color: var(--red); font-style: normal; }
.manager-contact-heading label { display: flex; gap: 6px; align-items: center; color: #66798e; font-size: 9px; cursor: pointer; }
.manager-contact-heading input { accent-color: var(--blue); }
.manager-contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.manager-contact-grid .field { margin: 0; }
.signup-agreement { display: flex; gap: 9px; align-items: flex-start; margin: 24px 0 12px; color: #53677d; font-size: 10px; line-height: 1.5; }
.signup-agreements { margin: 24px 0 12px; padding: 15px; background: #f7f9fb; border-radius: 13px; }
.signup-agreements .signup-agreement { margin: 0; padding: 7px 0; }
.signup-agreement button { padding: 0; color: #1f78bd; background: none; border: 0; font-size: inherit; font-weight: 800; text-decoration: underline; cursor: pointer; }
.signup-agreement b { color: #718296; font-size: inherit; }
.signup-agreement input { margin-top: 2px; accent-color: var(--blue); }
.signup-agreement em { color: var(--red); font-style: normal; }
.signup-security { margin: 0 0 22px; padding: 13px 15px; color: #718296; background: #f4f7fa; border-radius: 11px; font-size: 9px; line-height: 1.6; }
.signup-submit { width: 100%; }
.signup-result { margin-top: 18px; padding: 18px; color: #153a94; background: #eef3ff; border-radius: 13px; }
.signup-result strong { font-size: 13px; }
.signup-result p { margin: 6px 0 0; font-size: 10px; }
#emailCodeField.is-verified input { color: #153a94; background: #eef3ff; border-color: #7da0ff; }

.legal-dialog {
  width: min(720px, calc(100% - 28px));
  max-height: min(84vh, 820px);
  padding: 30px;
  color: var(--ink);
  background: var(--white);
  border: 0;
  border-radius: 23px;
  box-shadow: var(--shadow);
}
.legal-dialog::backdrop { background: rgba(3, 17, 35, 0.62); backdrop-filter: blur(4px); }
.legal-dialog h2 { margin: 6px 0 0; color: var(--navy); font-size: 27px; letter-spacing: -1.2px; }
.legal-effective { margin: 8px 0 22px; color: #7a8999; font-size: 9px; }
.legal-document { display: flex; flex-direction: column; gap: 17px; }
.legal-document section { padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.legal-document h3 { margin: 0 0 7px; color: var(--navy); font-size: 11px; }
.legal-document p { margin: 0; color: #5d6f83; font-size: 10px; line-height: 1.75; white-space: pre-line; }
.privacy-table { overflow: hidden; margin-bottom: 20px; border: 1px solid var(--line); border-radius: 13px; }
.privacy-table > div { display: grid; grid-template-columns: 120px 1fr; border-bottom: 1px solid var(--line); }
.privacy-table > div:last-child { border-bottom: 0; }
.privacy-table strong, .privacy-table span { padding: 13px; font-size: 9px; line-height: 1.65; }
.privacy-table strong { color: var(--navy); background: #f3f7fa; }
.privacy-table span { color: #5d6f83; }
.legal-confirm { width: 100%; margin-top: 22px; }
.footer-legal { display: flex; gap: 12px; }
.footer-legal button { padding: 0; color: #8494a7; background: none; border: 0; font-size: 9px; text-decoration: underline; cursor: pointer; }

.announcements-shell {
  padding: 55px 0 110px;
}

.announcements-header .back-link {
  margin: 0 0 30px -12px;
}

.announcements-heading-row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 35px;
}

.announcements-heading-row h1 {
  margin: 0;
  color: var(--navy);
  font-size: 44px;
  letter-spacing: -2.4px;
}

.announcements-heading-row h1 em {
  color: #2c93ed;
  font-style: normal;
}

.announcements-heading-row > div:first-child > p:last-child {
  margin: 12px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.source-badge {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 11px;
  min-width: 195px;
  padding: 14px 16px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 15px;
  box-shadow: var(--shadow-soft);
}

.source-badge > i {
  display: block;
  width: 31px;
  height: 31px;
  background: var(--mint-2);
  border: 8px solid var(--mint);
  border-radius: 50%;
  box-shadow: inset 0 0 0 2px var(--navy);
}

.source-badge > span {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.source-badge small {
  color: #8b98a8;
  font-size: 8px;
  font-weight: 800;
}

.source-badge strong {
  color: var(--navy);
  font-size: 12px;
}

.announcement-toolbar {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  margin-bottom: 13px;
  padding: 12px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 17px;
  box-shadow: var(--shadow-soft);
}

.announcement-search {
  position: relative;
  display: flex;
  align-items: center;
}

.announcement-search > i {
  position: absolute;
  left: 17px;
  width: 14px;
  height: 14px;
  border: 2px solid #7e8ea1;
  border-radius: 50%;
}

.announcement-search > i::after {
  position: absolute;
  right: -5px;
  bottom: -4px;
  width: 6px;
  height: 2px;
  content: "";
  background: #7e8ea1;
  border-radius: 999px;
  transform: rotate(45deg);
}

.announcement-search input {
  width: 100%;
  height: 44px;
  padding: 0 17px 0 47px;
  color: var(--navy);
  background: #f6f8fb;
  border: 1px solid transparent;
  border-radius: 11px;
  font-size: 12px;
}

.announcement-search input:focus {
  background: var(--white);
  border-color: var(--blue);
}

.announcement-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 42px;
  margin-bottom: 12px;
  padding: 0 14px;
  color: #7d8c9d;
  font-size: 9px;
}

.announcement-filters {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
  gap: 10px;
  margin-bottom: 7px;
}

.announcement-filters label {
  display: flex;
  align-items: center;
  min-width: 0;
  height: 42px;
  padding: 0 10px 0 13px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 12px;
}

.announcement-filters label > span {
  flex: 0 0 auto;
  margin-right: 8px;
  color: #8997a6;
  font-size: 8px;
  font-weight: 800;
}

.announcement-filters select {
  min-width: 0;
  width: 100%;
  color: var(--navy);
  background: transparent;
  border: 0;
  font-size: 10px;
  font-weight: 750;
}

.announcement-filter-reset {
  min-height: 42px;
  padding: 0 10px;
  white-space: nowrap;
}

.announcement-status > div {
  display: flex;
  align-items: center;
  gap: 8px;
}

.announcement-status strong {
  color: #52667d;
  font-size: 10px;
}

.announcement-source-connectivity {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: -2px 0 14px;
}

.announcement-source-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  padding: 7px 10px;
  color: #52667d;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 10px;
  font-size: 8px;
  font-weight: 800;
  text-decoration: none;
}

.announcement-source-chip i {
  width: 7px;
  height: 7px;
  background: #aeb9c5;
  border-radius: 50%;
}

.announcement-source-chip small {
  margin-left: 3px;
  color: #8b98a7;
  font-size: 7px;
  font-weight: 700;
}

.announcement-source-chip.is-connected i { background: #2457e6; }
.announcement-source-chip.is-key_required i { background: #f0a64d; }
.announcement-source-chip.is-error i { background: #d36c74; }
.announcement-source-chip[href]:hover { border-color: #7da0ff; }

.connection-dot {
  width: 8px;
  height: 8px;
  background: #aeb9c5;
  border-radius: 50%;
  box-shadow: 0 0 0 4px rgba(174, 185, 197, 0.16);
}

.connection-dot.live {
  background: #2457e6;
  box-shadow: 0 0 0 4px rgba(36, 87, 230, 0.16);
}

.connection-dot.cached {
  background: var(--orange);
  box-shadow: 0 0 0 4px rgba(255, 177, 91, 0.18);
}

.announcement-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.announcement-card {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) auto;
  gap: 20px;
  align-items: center;
  min-height: 142px;
  padding: 24px 26px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: 0 8px 24px rgba(10, 35, 66, 0.05);
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.announcement-card:not(.announcement-skeleton):hover {
  border-color: #b9d7ed;
  box-shadow: var(--shadow-soft);
  transform: translateY(-2px);
}

.announcement-number {
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  color: #2388d8;
  background: var(--blue-2);
  border-radius: 13px;
  font-size: 10px;
  font-weight: 900;
}

.announcement-card-content {
  min-width: 0;
}

.announcement-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-bottom: 9px;
}

.announcement-meta b {
  padding: 5px 8px;
  color: #267dbd;
  background: #eaf6ff;
  border-radius: 7px;
  font-size: 8px;
}

.announcement-meta span {
  color: #8b98a7;
  font-size: 9px;
}

.announcement-meta .announcement-application-status {
  padding: 5px 8px;
  border-radius: 7px;
  font-size: 8px;
  font-weight: 850;
}

.announcement-application-status.open { color: #153a94; background: #eef3ff; }
.announcement-application-status.urgent { color: #b84e00; background: #fff0db; }
.announcement-application-status.upcoming { color: #256caa; background: #eaf4ff; }
.announcement-application-status.closed { color: #6f7b89; background: #edf0f3; }
.announcement-application-status.unknown { color: #71608c; background: #f2edfa; }

.announcement-card h2 {
  margin: 0;
  color: var(--navy);
  font-size: 16px;
  letter-spacing: -0.45px;
  line-height: 1.5;
}

.announcement-card-content > p {
  margin: 7px 0 0;
  color: #8795a5;
  font-size: 9px;
}

.announcement-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 14px;
  color: var(--navy);
  background: var(--mint-2);
  border: 1px solid #c8d6ff;
  border-radius: 11px;
  font-size: 10px;
  font-weight: 850;
  text-decoration: none;
}

.announcement-link:hover {
  background: var(--mint);
}

.announcement-empty {
  padding: 55px 25px;
  color: #8795a5;
  background: var(--white);
  border: 1px dashed #cbd6e2;
  border-radius: 18px;
  text-align: center;
}

.announcement-empty strong {
  color: var(--navy);
  font-size: 15px;
}

.announcement-empty p {
  margin: 7px 0 0;
  font-size: 10px;
}

.announcement-skeleton {
  overflow: hidden;
  pointer-events: none;
}

.announcement-skeleton > * {
  height: 18px;
  background: linear-gradient(90deg, #edf1f5 20%, #f8fafc 50%, #edf1f5 80%);
  background-size: 250% 100%;
  border-radius: 8px;
  animation: announcement-loading 1.4s infinite linear;
}

.announcement-skeleton > i {
  width: 46px;
  height: 46px;
}

.announcement-skeleton > b {
  width: 82px;
  height: 42px;
}

@keyframes announcement-loading {
  from { background-position: 100% 0; }
  to { background-position: -100% 0; }
}

.announcement-source-note {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
  margin-top: 20px;
  padding: 22px 24px;
  color: #8291a2;
  background: #edf5fb;
  border: 1px solid #d5e6f2;
  border-radius: 17px;
}

.announcement-source-note strong {
  color: var(--navy);
  font-size: 11px;
}

.announcement-source-note p {
  margin: 5px 0 0;
  font-size: 9px;
  line-height: 1.6;
}

.announcement-source-note .button {
  flex: 0 0 auto;
  text-decoration: none;
}

.announcement-legal-note {
  margin-top: 18px;
}

.diagnostic-shell {
  padding: 55px 0 110px;
}

.form-header {
  display: grid;
  grid-template-columns: 150px 1fr 150px;
  align-items: start;
  margin-bottom: 45px;
}

.form-header > div {
  text-align: center;
}

.form-header .eyebrow {
  justify-content: center;
}

.form-header h1,
.admin-header h1 {
  margin: 0;
  color: var(--navy);
  font-size: 40px;
  letter-spacing: -2px;
}

.form-header > div > p:last-child,
.admin-header > p:last-child {
  margin: 12px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.stepper {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 670px;
  margin: 0 auto 28px;
}

.stepper > span {
  width: 120px;
  height: 1px;
  background: #cfd9e5;
}

.step {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 6px;
  color: #8a98aa;
  background: transparent;
  border: 0;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
}

.step b {
  display: grid;
  width: 31px;
  height: 31px;
  place-items: center;
  background: #e6ebf1;
  border-radius: 50%;
  font-size: 10px;
}

.step.is-active,
.step.is-done {
  color: var(--navy);
}

.step.is-active b {
  color: var(--navy);
  background: var(--mint);
  box-shadow: 0 0 0 6px rgba(36, 87, 230, 0.16);
}

.step.is-done b {
  color: var(--white);
  background: var(--navy);
}

.form-card {
  padding: 38px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 24px;
  box-shadow: var(--shadow-soft);
}

.form-card-heading {
  display: flex;
  gap: 16px;
  align-items: center;
  margin-bottom: 32px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--line);
}

.form-card-heading > span,
.result-section-heading > div > span {
  display: grid;
  flex: 0 0 auto;
  width: 39px;
  height: 39px;
  place-items: center;
  color: #268dde;
  background: var(--blue-2);
  border-radius: 11px;
  font-size: 10px;
  font-weight: 900;
}

.form-card-heading h2,
.result-section-heading h2 {
  margin: 0;
  color: var(--navy);
  font-size: 20px;
  letter-spacing: -0.7px;
}

.form-card-heading p,
.result-section-heading p {
  margin: 5px 0 0;
  color: #8794a5;
  font-size: 11px;
}

.field-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 26px 20px;
}

.field {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.field-full {
  grid-column: 1 / -1;
}

.field > span:first-child {
  color: #394d65;
  font-size: 12px;
  font-weight: 850;
}

.field em,
.consent-line em {
  color: #3e95e7;
  font-size: 9px;
  font-style: normal;
}

.field input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.field select,
.field textarea,
.admin-version input {
  width: 100%;
  min-height: 52px;
  padding: 0 15px;
  color: var(--navy);
  background: #fbfcfe;
  border: 1px solid #d9e2ec;
  border-radius: 12px;
  font-size: 13px;
}

.field textarea {
  height: auto;
  min-height: 128px;
  padding-top: 14px;
  padding-bottom: 14px;
  line-height: 1.65;
  resize: vertical;
}

.field input::placeholder {
  color: #a8b3c0;
}

.field input:focus,
.field select:focus,
.admin-version input:focus {
  background: var(--white);
  border-color: var(--blue);
}

.field small {
  color: #66788d;
  font-size: 10px;
}

.payment-target-section .field > span {
  color: #183464;
  font-weight: 850;
}

.payment-target-section .field select {
  min-height: 52px;
  color: #13233d;
  background: #fff;
  border-color: #6f91ef;
  font-weight: 750;
}

.payment-target-section .field small {
  display: block;
  margin-top: 2px;
  color: #526984;
  font-size: 13px;
  line-height: 1.55;
}

.payment-selection-status {
  min-height: 20px;
  margin: -4px 2px 10px;
  color: #405a78;
  font-size: 12px;
  line-height: 1.55;
}

.payment-dialog > .button:disabled {
  color: #708096;
  background: #e4e9f1;
  border-color: #d4dce7;
  box-shadow: none;
  cursor: not-allowed;
  opacity: 1;
}

.signup-plan-continue {
  width: 100%;
  margin-top: 12px;
}

@media (max-width: 720px) {
  .field input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
  .field select,
  .field textarea {
    font-size: 16px;
  }

  .payment-target-section .field small {
    font-size: 14px;
  }
}

.choice-row {
  display: grid;
  gap: 9px;
}

.choice-row > label {
  display: block;
  position: relative;
  min-width: 0;
}

.choice-row-3 { grid-template-columns: repeat(3, 1fr); }
.choice-row-4 { grid-template-columns: repeat(4, 1fr); }

.choice-row input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.choice-row i {
  display: grid;
  min-height: 52px;
  place-items: center;
  color: #637286;
  background: #fbfcfe;
  border: 1px solid #d9e2ec;
  border-radius: 12px;
  font-size: 12px;
  font-style: normal;
  font-weight: 750;
  cursor: pointer;
}

.choice-row input:checked + i {
  color: var(--navy);
  background: var(--mint-2);
  border-color: #4c7dff;
  box-shadow: inset 0 0 0 1px #4c7dff;
}

.choice-row input:focus-visible + i {
  outline: 3px solid rgba(76, 167, 255, 0.35);
  outline-offset: 2px;
}

.input-suffix {
  position: relative;
}

.input-suffix input {
  padding-right: 58px !important;
}

.input-suffix b {
  position: absolute;
  top: 18px;
  right: 15px;
  color: #8795a6;
  font-size: 11px;
}

.risk-field {
  gap: 8px;
}

.toggle-line {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  padding: 0 12px;
  background: #fbfcfe;
  border: 1px solid #e0e7ef;
  border-radius: 10px;
  cursor: pointer;
}

.toggle-line input {
  position: absolute;
  opacity: 0;
}

.toggle-line i {
  position: relative;
  width: 31px;
  height: 17px;
  background: #cbd5df;
  border-radius: 999px;
  transition: 150ms ease;
}

.toggle-line i::after {
  position: absolute;
  top: 3px;
  left: 3px;
  width: 11px;
  height: 11px;
  content: "";
  background: var(--white);
  border-radius: 50%;
  transition: 150ms ease;
}

.toggle-line input:checked + i {
  background: var(--red);
}

.toggle-line input:checked + i::after {
  transform: translateX(14px);
}

.toggle-line span {
  color: #65748a;
  font-size: 11px;
  font-weight: 700;
}

.check-card-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.check-card {
  position: relative;
  display: grid;
  min-height: 115px;
  grid-template-columns: 28px 1fr;
  grid-template-rows: auto auto;
  column-gap: 12px;
  align-content: center;
  padding: 19px;
  background: #fbfcfe;
  border: 1px solid #dce5ee;
  border-radius: 14px;
  cursor: pointer;
}

.check-card input {
  position: absolute;
  opacity: 0;
}

.check-box {
  display: grid;
  width: 26px;
  height: 26px;
  grid-row: 1 / 3;
  place-items: center;
  color: transparent;
  background: var(--white);
  border: 1px solid #cbd6e2;
  border-radius: 7px;
  font-size: 12px;
  font-weight: 900;
}

.check-card b {
  color: var(--navy);
  font-size: 13px;
}

.check-card small {
  margin-top: 6px;
  color: #8895a5;
  font-size: 10px;
  line-height: 1.45;
}

.check-card:has(input:checked) {
  background: var(--mint-2);
  border-color: #7da0ff;
}

.check-card input:checked + .check-box {
  color: var(--navy);
  background: var(--mint);
  border-color: var(--mint);
}

.check-card:has(input:focus-visible) {
  outline: 3px solid rgba(76, 167, 255, 0.35);
  outline-offset: 2px;
}

.prior-field {
  margin-top: 23px;
}

.consent-line {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin-top: 24px;
  padding: 15px;
  background: #f1f6fa;
  border-radius: 12px;
}

.consent-line input {
  margin-top: 2px;
  accent-color: var(--navy);
}

.consent-line span {
  color: #65758a;
  font-size: 10px;
  line-height: 1.6;
}

.form-actions {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 12px;
  margin-top: 18px;
}

.form-actions .button:first-child {
  justify-self: start;
}

.form-actions .button:last-child,
.form-actions #nextStep {
  justify-self: end;
}

.save-status {
  color: #8b98a7;
  font-size: 10px;
}

.diagnostic-submit-error {
  margin: 14px 0 0;
  padding: 14px 16px;
  color: #922f39;
  background: #fff3f4;
  border: 1px solid #efc4c8;
  border-radius: 12px;
  font-size: 12px;
  line-height: 1.65;
}

.diagnostic-submit-error:focus {
  outline: 3px solid rgba(207, 89, 100, .18);
  outline-offset: 2px;
}

.field-error {
  border-color: var(--red) !important;
}

.result-shell {
  padding: 42px 0 110px;
}

.result-topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 22px;
}

.result-actions {
  display: flex;
  gap: 8px;
}

.result-hero {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 35px;
  align-items: center;
  min-height: 380px;
  padding: 52px;
  color: var(--white);
  overflow: hidden;
  background: var(--navy);
  border-radius: var(--radius-lg);
}

.result-heading h1 {
  margin: 0;
  font-size: 43px;
  letter-spacing: -2.3px;
  line-height: 1.18;
}

.result-heading > p:nth-of-type(2) {
  max-width: 530px;
  margin: 19px 0 0;
  color: #93a9c0;
  font-size: 13px;
  line-height: 1.7;
}

.result-meta {
  display: flex;
  gap: 15px;
  margin-top: 31px;
  color: #6f8aa5;
  font-size: 9px;
}

.result-meta span + span {
  padding-left: 15px;
  border-left: 1px solid rgba(255, 255, 255, 0.14);
}

.result-meta b {
  color: #9ab4cd;
}

.result-score-card {
  padding: 27px;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 20px;
}

.result-score-card > span {
  color: #91a8c0;
  font-size: 10px;
  font-weight: 800;
}

.result-score-row {
  display: flex;
  align-items: baseline;
  margin: 10px 0 15px;
}

.result-score-row strong {
  color: var(--mint);
  font-size: 28px;
  letter-spacing: -1.2px;
}

.result-score-row small {
  color: #7990a8;
  font-size: 12px;
}

.result-score-card > p {
  margin: 16px 0 5px;
  font-size: 15px;
  font-weight: 850;
}

.result-score-card > small {
  color: #718aa4;
  font-size: 9px;
  line-height: 1.5;
}

.result-section {
  margin-top: 22px;
  padding: 32px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 22px;
  box-shadow: var(--shadow-soft);
}

.result-section-heading,
.result-section-heading > div {
  display: flex;
  align-items: center;
}

.result-section-heading {
  justify-content: space-between;
  margin-bottom: 23px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--line);
}

.result-section-heading > div {
  gap: 13px;
}

.result-section-heading > b {
  padding: 8px 11px;
  color: #3f90d9;
  background: var(--blue-2);
  border-radius: 9px;
  font-size: 10px;
}

.candidate-list {
  display: flex;
  flex-direction: column;
  gap: 11px;
}

.candidate-card {
  display: grid;
  grid-template-columns: 48px 1fr auto;
  gap: 16px;
  align-items: start;
  padding: 20px;
  background: #fbfcfe;
  border: 1px solid #e0e7ef;
  border-radius: 15px;
}

.candidate-rank {
  display: grid;
  width: 45px;
  height: 45px;
  place-items: center;
  color: #247fd0;
  background: var(--blue-2);
  border-radius: 12px;
  font-size: 10px;
  font-weight: 900;
}

.candidate-main h3 {
  margin: 0;
  color: var(--navy);
  font-size: 15px;
}

.candidate-main > p {
  margin: 5px 0 12px;
  color: #8290a0;
  font-size: 10px;
}

.candidate-reference-meta,
.product-policy-reference-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  margin: 0 0 10px;
}

.candidate-reference-meta > div,
.product-policy-reference-meta > div {
  min-width: 0;
  padding: 7px 8px;
  background: #f2f7fa;
  border-radius: 7px;
}

.candidate-reference-meta dt,
.candidate-reference-meta dd,
.product-policy-reference-meta dt,
.product-policy-reference-meta dd {
  margin: 0;
  overflow-wrap: anywhere;
}

.candidate-reference-meta dt,
.product-policy-reference-meta dt {
  color: #8290a0;
  font-size: 7px;
}

.candidate-reference-meta dd,
.product-policy-reference-meta dd {
  margin-top: 2px;
  color: #334d65;
  font-size: 8px;
  font-weight: 750;
}

.candidate-official-link {
  display: inline-flex;
  margin-top: 10px;
  color: #267dbd;
  font-size: 9px;
  font-weight: 800;
  text-decoration: none;
}

.candidate-unavailable {
  grid-template-columns: 1fr;
  border-color: #f0cfd2;
  background: #fff8f8;
}

.reason-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.reason-pills span {
  padding: 6px 8px;
  color: #64758a;
  background: var(--white);
  border: 1px solid #e0e7ef;
  border-radius: 7px;
  font-size: 9px;
}

.candidate-status {
  min-width: 74px;
  padding: 8px 10px;
  border-radius: 9px;
  font-size: 9px;
  text-align: center;
}

.candidate-status.good {
  color: #153a94;
  background: var(--mint-2);
}

.candidate-status.check {
  color: #256997;
  background: var(--blue-2);
}

.candidate-status.low {
  color: #7d6a56;
  background: #fff0df;
}

.result-two-column {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
}

.result-two-column .result-section {
  height: calc(100% - 22px);
}

.result-section-heading.compact {
  align-items: flex-start;
}

.insight-list,
.document-list {
  display: flex;
  flex-direction: column;
  gap: 9px;
}

.insight-item,
.document-item {
  display: flex;
  gap: 11px;
  align-items: flex-start;
  padding: 13px;
  background: #f8fafc;
  border-radius: 11px;
}

.insight-item > i,
.document-item > i {
  display: grid;
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
  place-items: center;
  color: #286e9f;
  background: var(--blue-2);
  border-radius: 7px;
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
}

.insight-item.risk > i {
  color: #9b4d28;
  background: #ffe4d3;
}

.insight-item.good > i {
  color: #153a94;
  background: var(--mint-2);
}

.insight-item span,
.document-item span {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.insight-item strong,
.document-item strong {
  color: #30445d;
  font-size: 11px;
}

.insight-item small,
.document-item small {
  color: #8996a5;
  font-size: 9px;
  line-height: 1.45;
}

.document-item input {
  margin-top: 5px;
  accent-color: var(--navy);
}

.action-plan {
  display: grid;
  grid-template-columns: 0.55fr 1.45fr;
  gap: 50px;
  align-items: start;
  margin-top: 22px;
  padding: 40px;
  color: var(--white);
  background: var(--navy);
  border-radius: 22px;
}

.action-plan h2 {
  margin: 0;
  font-size: 27px;
  letter-spacing: -1.3px;
}

.action-plan ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

.action-plan li {
  display: grid;
  grid-template-columns: 27px 1fr;
  gap: 12px;
  align-items: start;
  padding: 15px 0;
  color: #c4d1de;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  font-size: 11px;
  line-height: 1.6;
}

.action-plan li:last-child {
  border-bottom: 0;
}

.action-plan li b {
  display: grid;
  width: 25px;
  height: 25px;
  place-items: center;
  color: var(--navy);
  background: var(--mint);
  border-radius: 50%;
  font-size: 9px;
}

.conversion-card {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 30px;
  align-items: center;
  margin-top: 22px;
  padding: 30px;
  background: linear-gradient(120deg, #eef8ff, #eef3ff);
  border: 1px solid #c7e5f5;
  border-radius: 22px;
}

.conversion-label {
  display: inline-block;
  margin-bottom: 8px;
  padding: 6px 9px;
  color: #2778b7;
  background: var(--white);
  border-radius: 7px;
  font-size: 9px;
  font-weight: 900;
}

.conversion-card h2 {
  margin: 0;
  color: var(--navy);
  font-size: 18px;
  letter-spacing: -0.7px;
}

.conversion-card p {
  margin: 8px 0 0;
  color: #687b90;
  font-size: 10px;
  line-height: 1.6;
}

.conversion-price {
  display: flex;
  flex-direction: column;
  padding-left: 25px;
  border-left: 1px solid #c6dce8;
}

.conversion-price span,
.conversion-price small {
  color: #7890a3;
  font-size: 8px;
}

.conversion-price strong {
  margin: 3px 0;
  color: var(--navy);
  font-size: 23px;
}

.legal-note {
  margin: 22px 12px 0;
  color: #8c98a7;
  font-size: 9px;
  line-height: 1.7;
  text-align: center;
}

.admin-shell {
  padding: 55px 0 110px;
}

.admin-header {
  margin-bottom: 36px;
}

.admin-header .back-link {
  margin: 0 0 30px -12px;
}

.admin-grid {
  display: grid;
  grid-template-columns: 210px 1fr;
  gap: 20px;
  align-items: start;
}

.admin-nav,
.admin-content {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: var(--shadow-soft);
}

.admin-nav {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 10px;
}

.admin-nav button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 47px;
  padding: 0 13px;
  color: #6f7d8d;
  background: transparent;
  border: 0;
  border-radius: 10px;
  font-size: 11px;
  font-weight: 750;
  text-align: left;
}

.admin-nav button.is-active {
  color: var(--navy);
  background: var(--mint-2);
}

.admin-nav button span {
  color: #a3aeba;
  font-size: 7px;
}

.admin-content {
  padding: 28px;
}

.admin-toolbar,
.admin-version {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.admin-toolbar {
  margin-bottom: 22px;
}

.admin-toolbar h2 {
  margin: 0;
  color: var(--navy);
  font-size: 19px;
}

.admin-toolbar p {
  margin: 5px 0 0;
  color: #8996a5;
  font-size: 10px;
}

.rule-table {
  border: 1px solid var(--line);
  border-radius: 13px;
  overflow: hidden;
}

.rule-row {
  display: grid;
  grid-template-columns: 1fr 80px;
  gap: 12px;
  align-items: center;
  min-height: 67px;
  padding: 11px 14px;
  border-bottom: 1px solid var(--line);
}

.rule-row:last-child {
  border-bottom: 0;
}

.rule-row.head {
  min-height: 38px;
  color: #8b98a8;
  background: #f5f8fb;
  font-size: 9px;
  font-weight: 850;
}

.rule-row input[type="text"] {
  width: 100%;
  height: 40px;
  padding: 0 10px;
  color: var(--ink);
  background: #fbfcfe;
  border: 1px solid #dbe4ed;
  border-radius: 9px;
  font-size: 11px;
}

.rule-row label {
  display: flex;
  justify-content: center;
}

.rule-row input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: var(--navy);
}

.admin-version {
  gap: 20px;
  margin-top: 23px;
  padding-top: 22px;
  border-top: 1px solid var(--line);
}

.admin-version .field {
  width: 260px;
}

.admin-caution {
  margin-top: 22px;
  padding: 16px;
  background: #fff6e9;
  border: 1px solid #f5d7aa;
  border-radius: 12px;
}

.admin-caution strong {
  color: #8d5c24;
  font-size: 11px;
}

.admin-caution p {
  margin: 6px 0 0;
  color: #96754d;
  font-size: 9px;
  line-height: 1.6;
}

.footer {
  display: grid;
  grid-template-columns: minmax(190px, 0.8fr) minmax(320px, 1.4fr) minmax(210px, auto);
  align-items: center;
  gap: 34px;
  min-height: 130px;
  padding: 30px max(24px, calc((100vw - 1240px) / 2));
  color: #7c8a9a;
  background: #edf1f5;
  border-top: 1px solid #d9e1e9;
  font-size: 9px;
}

.footer-brand .brand-logo {
  flex-basis: 38px;
  width: 38px;
  height: 38px;
}

.footer-brand small {
  letter-spacing: 0;
}

.footer-operator {
  min-width: 0;
  padding-left: 20px;
  border-left: 1px solid #d5dee7;
}

.footer-operator p,
.footer-operator address {
  margin: 0 0 5px;
  color: #68798b;
  font-size: 9px;
  font-style: normal;
  line-height: 1.55;
}

.footer-operator b {
  margin-right: 4px;
  color: #40566c;
}

.footer-operator i {
  margin: 0 8px;
  color: #a9b5c1;
  font-style: normal;
}

.footer-operator small {
  display: block;
  margin-top: 8px;
  color: #8795a5;
  font-size: 8px;
}

.footer-disclosure {
  display: flex;
  align-items: flex-end;
  flex-direction: column;
  gap: 10px;
  text-align: right;
}

@media (max-width: 900px) {
  .footer {
    grid-template-columns: 1fr;
    align-items: flex-start;
    gap: 15px;
  }

  .footer-operator {
    width: 100%;
    padding: 14px 0 0;
    border-top: 1px solid #d5dee7;
    border-left: 0;
  }

  .footer-disclosure {
    align-items: flex-start;
    width: 100%;
    text-align: left;
  }
}

.product-dialog {
  width: min(590px, calc(100% - 30px));
  max-height: calc(100dvh - 30px);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 33px;
  color: var(--ink);
  background: var(--white);
  border: 0;
  border-radius: 24px;
  box-shadow: 0 30px 90px rgba(5, 23, 44, 0.32);
}

.product-dialog::backdrop {
  background: rgba(5, 21, 40, 0.67);
  backdrop-filter: blur(5px);
}

.payment-recovery-dialog > h2 {
  margin: 12px 0 10px;
  color: var(--navy);
  font-size: 24px;
}

.payment-recovery-dialog > p:not(.eyebrow) {
  margin: 0;
  color: #4e637b;
  font-size: 14px;
  line-height: 1.7;
}

.payment-recovery-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 22px;
}

.payment-recovery-actions .button {
  width: 100%;
  padding-inline: 14px;
}

.payment-recovery-actions #switchPaymentAccount {
  grid-column: 1 / -1;
}

@media (max-width: 520px) {
  .payment-recovery-actions {
    grid-template-columns: 1fr;
  }

  .payment-recovery-actions #switchPaymentAccount {
    grid-column: auto;
  }
}

.dialog-close {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 35px;
  height: 35px;
  color: #7d8998;
  background: #eef2f5;
  border: 0;
  border-radius: 50%;
  font-size: 20px;
  cursor: pointer;
}

.product-dialog h2 {
  margin: 0;
  color: var(--navy);
  font-size: 28px;
  letter-spacing: -1.2px;
}

.product-dialog > p:not(.eyebrow) {
  margin: 8px 0 22px;
  color: #7c8999;
  font-size: 11px;
}

.product-items {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
}

.product-items > span {
  display: grid;
  grid-template-columns: 28px 1fr;
  grid-template-rows: auto auto;
  column-gap: 10px;
  padding: 15px;
  background: #f7f9fb;
  border-radius: 12px;
}

.product-items i {
  display: grid;
  width: 27px;
  height: 27px;
  grid-row: 1 / 3;
  place-items: center;
  color: #2484d3;
  background: var(--blue-2);
  border-radius: 8px;
  font-size: 8px;
  font-style: normal;
  font-weight: 900;
}

.product-items b {
  color: #31465f;
  font-size: 10px;
}

.product-items small {
  margin-top: 4px;
  color: #8c98a6;
  font-size: 8px;
  line-height: 1.45;
}

.dialog-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 22px;
  padding-top: 21px;
  border-top: 1px solid var(--line);
}

.dialog-bottom > span {
  display: flex;
  flex-direction: column;
}

.dialog-bottom small {
  color: #8996a4;
  font-size: 8px;
}

.dialog-bottom strong {
  color: var(--navy);
  font-size: 23px;
}

.toast {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 1000;
  max-width: min(360px, calc(100% - 40px));
  padding: 13px 17px;
  color: var(--white);
  background: var(--navy);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  box-shadow: var(--shadow);
  font-size: 11px;
  font-weight: 750;
  opacity: 0;
  pointer-events: none;
  transform: translateY(15px);
  transition: 180ms ease;
}

.toast.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 980px) {
  .hero-shell {
    grid-template-columns: 1fr;
    gap: 50px;
    padding-top: 55px;
  }

  .hero-copy {
    max-width: 720px;
  }

  .hero-panel {
    width: min(600px, 100%);
  }

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

  .metric-strip > div:nth-child(2) {
    border-right: 0;
  }

  .metric-strip > div:nth-child(-n + 2) {
    border-bottom: 1px solid var(--line);
  }

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

  .feature-card {
    min-height: 280px;
  }

  .boundary-section {
    grid-template-columns: 1fr;
    gap: 35px;
  }

  .result-hero,
  .result-two-column,
  .action-plan {
    grid-template-columns: 1fr;
  }

  .conversion-card {
    grid-template-columns: 1fr auto;
  }

  .conversion-card > div:first-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 720px) {
  .document-review-list{grid-template-columns:1fr}.service-document-review{padding:20px 14px}
  .service-sample-bottom-actions{grid-template-columns:1fr}
  .review-sample-tabs{grid-template-columns:1fr 1fr}
  .topbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    height: auto;
    min-height: 112px;
    padding: 12px 18px 10px;
  }

  .brand {
    width: 100%;
  }

  .brand-logo {
    flex-basis: 46px;
    width: 46px;
    height: 46px;
  }

  .brand strong {
    font-size: 17px;
  }

  .brand small {
    display: block;
    font-size: 8px;
    letter-spacing: 1.15px;
  }

  .top-actions .admin-link {
    display: none;
  }

  .top-actions {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
    width: 100%;
  }

  .top-actions .text-button,
  .top-actions .button-small {
    width: 100%;
    min-width: 0;
    min-height: 36px;
    padding: 0 4px;
    border-radius: 10px;
    font-size: 10.5px;
    line-height: 1;
    white-space: nowrap;
  }

  .hero-shell,
  .how-section,
  .boundary-section,
  .metric-strip,
  .diagnostic-shell,
  .result-shell,
  .detailed-report-shell,
  .announcements-shell,
  .pricing-shell,
  .signup-shell,
  .admin-shell {
    width: min(100% - 28px, 1240px);
  }

  .hero-shell {
    gap: 36px;
    padding: 45px 0 60px;
  }

  .hero-copy h1 {
    font-size: 44px;
    letter-spacing: -3px;
  }

  .hero-lead {
    font-size: 14px;
  }

  .hero-actions {
    flex-direction: column;
  }

  .hero-actions .button {
    width: 100%;
  }

  .trust-list {
    gap: 10px 14px;
  }

  .hero-panel {
    padding: 21px;
    border-radius: 23px;
  }

  .score-preview {
    gap: 15px;
  }

  .score-ring {
    width: 94px;
    height: 94px;
  }

  .score-ring::before {
    width: 76px;
    height: 76px;
  }

  .score-ring strong {
    font-size: 28px;
  }

  .score-preview h2 {
    font-size: 17px;
  }

  .preview-programs article {
    grid-template-columns: 34px 1fr;
  }

  .preview-programs .tag {
    grid-column: 2;
    justify-self: start;
  }

  .panel-foot {
    flex-direction: column;
    gap: 8px;
  }

  .panel-foot strong {
    text-align: left;
  }

  .metric-strip {
    grid-template-columns: 1fr;
    margin-bottom: 80px;
  }

  .metric-strip > div {
    min-height: 65px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .metric-strip > div:last-child {
    border-bottom: 0;
  }

  .how-section {
    padding-bottom: 80px;
  }

  .section-heading h2,
  .boundary-section h2 {
    font-size: 32px;
    letter-spacing: -1.8px;
  }

  .feature-card {
    min-height: 260px;
    padding: 25px;
  }

  .feature-card h3 {
    left: 25px;
  }

  .feature-card p {
    right: 25px;
    left: 25px;
  }

  .boundary-section {
    margin-bottom: 75px;
    padding: 31px 23px;
  }

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

  .diagnostic-shell,
  .result-shell,
  .announcements-shell,
  .admin-shell {
    padding-top: 30px;
  }

  .announcements-heading-row {
    align-items: flex-start;
    flex-direction: column;
    gap: 22px;
  }

  .announcements-heading-row h1 {
    font-size: 34px;
    letter-spacing: -1.8px;
  }

  .source-badge {
    width: 100%;
  }

  .signup-heading h1 { font-size: 32px; }.product-document-list{grid-template-columns:1fr}.service-sample-toolbar{align-items:flex-start;flex-direction:column}.service-sample-cover{grid-template-columns:1fr;padding:27px 22px}.service-sample-cover h1{font-size:28px}.service-sample-cover aside{min-width:0}.service-sample-method{grid-template-columns:1fr 1fr}.service-sample-method span{border-bottom:1px solid rgba(255,255,255,.1)}.service-sample-kpis{grid-template-columns:1fr 1fr}.service-sample-kpis article{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.service-sample-kpis article:nth-child(2n){border-right:0}.service-sample-kpis article:nth-last-child(-n+2){border-bottom:0}.service-sample-content{grid-template-columns:1fr}
  .member-header{flex-direction:column}.member-header h1{font-size:31px}.member-stats,.member-main-grid{grid-template-columns:1fr}.member-stats>div{border-right:0;border-bottom:1px solid var(--line)}.admin-activity-card{padding:20px 14px}.admin-activity-heading{align-items:stretch;flex-direction:column}.admin-calendar{padding:10px 6px}.admin-calendar-day{min-height:48px;padding:6px 1px}.admin-calendar-day small{padding:2px 3px;font-size:6px}.admin-revenue-grid{grid-template-columns:1fr 1fr}.admin-revenue-grid strong{font-size:14px}.admin-members-card{grid-template-columns:1fr}.admin-members-card .button{width:100%}.admin-member-tabs{grid-template-columns:1fr}.member-subscription-info{grid-template-columns:1fr}.partner-quota-control{grid-template-columns:1fr}.admin-priority-card,.superadmin-panel{grid-template-columns:1fr}.admin-priority-count{text-align:left}.admin-priority-count strong{font-size:26px}.admin-priority-card>.button{grid-column:1}.superadmin-actions{flex-direction:column}.superadmin-actions .button{width:100%}
  .pricing-heading h1 { font-size: 34px; }
  .detailed-report-toolbar { align-items:flex-start;flex-direction:column;gap:10px }.detailed-report-toolbar > div{width:100%}.detailed-report-toolbar .button{flex:1}
  .detailed-report-cover { grid-template-columns:1fr;padding:30px;min-height:0 }.detailed-report-cover > div > p:first-child{margin-bottom:35px}.detailed-report-cover h1{font-size:35px}.detailed-report-cover aside{width:100%}.detailed-report-cover footer{grid-column:1;gap:10px;flex-direction:column}
  .company-summary-grid{grid-template-columns:1fr 1fr}.company-summary-grid > div,.company-summary-grid > div:nth-child(5n){border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.company-summary-grid > div:nth-child(2n){border-right:0}.company-summary-grid > div:nth-last-child(-n+2){border-bottom:0}
  .report-two-column,.official-review-grid,.report-action-plan{grid-template-columns:1fr}.report-candidate-table article{grid-template-columns:28px 1fr}.report-candidate-table .report-status{grid-column:2;justify-self:start}.report-candidate-table article > small{grid-column:2}.report-block{padding:22px 17px}
  .report-signup-cta{grid-template-columns:1fr;padding:24px 20px}.report-signup-cta .button{width:100%}
  .pricing-grid { grid-template-columns: 1fr; gap: 18px; }
  .pricing-grid-partner { grid-template-columns: 1fr; }
  .pricing-tabs { width: 100%; }
  .pricing-tabs button { flex: 1; min-width: 0; }
  .plan-detail-heading { align-items: flex-start; flex-direction: column; gap: 10px; }
  .plan-detail-grid { grid-template-columns: 1fr; }
  .signup-card { padding: 22px 17px; }
  .signup-type, .signup-fields { grid-template-columns: 1fr; }
  .signup-inline { grid-template-columns: 1fr; }
  .signup-inline .button { width: 100%; }
  .manager-contact-grid { grid-template-columns: 1fr; }
  .legal-dialog { padding: 25px 18px; }
  .privacy-table > div { grid-template-columns: 1fr; }
  .privacy-table strong { padding-bottom: 5px; }
  .privacy-table span { padding-top: 5px; }

  .announcement-toolbar {
    grid-template-columns: 1fr;
  }

  .announcement-filters {
    grid-template-columns: 1fr 1fr;
  }

  .announcement-filter-reset {
    width: 100%;
  }

  .announcement-card {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
    padding: 20px 17px;
  }

  .announcement-number {
    width: 40px;
    height: 40px;
  }

  .announcement-link {
    grid-column: 2;
    justify-self: start;
  }

  .announcement-source-note {
    align-items: stretch;
    flex-direction: column;
  }

  .announcement-source-note .button {
    width: 100%;
  }

  .form-header {
    grid-template-columns: 1fr auto;
    gap: 15px;
  }

  .form-header > .back-link {
    grid-column: 1 / -1;
    justify-self: start;
  }

  .form-header > div {
    text-align: left;
  }

  .form-header .eyebrow {
    justify-content: flex-start;
  }

  .form-header h1,
  .admin-header h1 {
    font-size: 31px;
  }

  .stepper > span {
    width: 20px;
  }

  .step span {
    display: none;
  }

  .form-card {
    padding: 24px 18px;
  }

  .field-grid,
  .check-card-grid {
    grid-template-columns: 1fr;
  }

  .choice-row-3,
  .choice-row-4 {
    grid-template-columns: 1fr 1fr;
  }

  .form-actions {
    grid-template-columns: 1fr 1fr;
  }

  .save-status {
    display: none;
  }

  .form-actions .button {
    width: 100%;
    padding: 0 15px;
  }

  .form-actions .button:only-of-type {
    grid-column: 2;
  }

  .result-topbar {
    align-items: flex-start;
  }

  .result-actions {
    flex-direction: column;
  }

  .result-hero {
    gap: 28px;
    padding: 32px 23px;
    border-radius: 22px;
  }

  .result-heading h1 {
    font-size: 33px;
  }

  .result-section {
    padding: 23px 18px;
  }

  .candidate-card {
    grid-template-columns: 42px 1fr;
    gap: 12px;
  }

  .candidate-status {
    grid-column: 2;
    justify-self: start;
  }

  .action-plan {
    gap: 20px;
    padding: 30px 22px;
  }

  .conversion-card {
    grid-template-columns: 1fr;
    padding: 25px 20px;
  }

  .conversion-card > div:first-child {
    grid-column: auto;
  }

  .conversion-price {
    padding: 0;
    border: 0;
  }

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

  .admin-nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .admin-content {
    padding: 20px 15px;
  }

  .admin-toolbar,
  .admin-version {
    align-items: stretch;
    flex-direction: column;
    gap: 15px;
  }

  .rule-row {
    grid-template-columns: 1fr 45px;
    gap: 7px;
    padding: 9px;
  }

  .admin-version .field {
    width: 100%;
  }

  .footer {
    padding: 30px 20px;
  }

  .product-dialog {
    padding: 28px 20px 22px;
  }

  .product-items {
    grid-template-columns: 1fr;
  }
}

@media print {
  @page {
    size: A4;
    margin: 12mm;
  }

  body {
    background: var(--white);
  }

  .topbar,
  .no-print,
  .footer,
  .toast {
    display: none !important;
  }

  .view:not(.view-results) {
    display: none !important;
  }

  .view-results,
  .result-shell {
    display: block !important;
    width: 100%;
    padding: 0;
  }

  .result-hero,
  .action-plan {
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }

  .result-hero {
    min-height: 280px;
    padding: 28px;
  }

  .result-section,
  .action-plan {
    break-inside: avoid;
    box-shadow: none;
  }

  .candidate-card,
  .insight-item,
  .document-item {
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }

  .legal-note {
    margin-top: 18px;
  }
}

/* Product-specific assessment workspace */
.product-work-shell {
  width: min(960px, calc(100% - 48px));
  max-width: 960px;
}

.product-panel-heading > span,
.product-assessment-criteria > .product-panel-heading > span,
.product-import-panel > .product-panel-heading > span,
.product-manual-section > .product-panel-heading > span {
  color: #2587d2;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 1.2px;
}

.product-panel-heading h2 {
  margin: 8px 0 7px;
  color: var(--navy);
  font-size: 22px;
  letter-spacing: -.5px;
}

.product-panel-heading h2 small {
  display: inline-block;
  margin-left: 6px;
  padding: 4px 7px;
  color: #153a94;
  background: #eef3ff;
  border-radius: 6px;
  font-size: 10px;
  vertical-align: middle;
}

.product-panel-heading p {
  margin: 0;
  color: #667b91;
  font-size: 13px;
  line-height: 1.7;
}

.product-assessment-criteria {
  margin-bottom: 20px;
  padding: 28px;
  background: var(--white);
  border: 1px solid #cfe0ed;
  border-top: 4px solid #4c7dff;
  border-radius: 20px;
  box-shadow: var(--shadow-soft);
}

.product-assessment-criteria.is-error {
  border-color: #eab9bd;
  border-top-color: #d45660;
}

.product-schema-status {
  margin-top: 18px;
  padding: 14px 16px;
  color: #526980;
  background: #f5f8fb;
  border-radius: 10px;
  font-size: 13px;
  line-height: 1.6;
}

.product-assessment-criteria.is-error .product-schema-status {
  color: #a23942;
  background: #fff3f4;
}

.product-schema-meta {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 20px;
  overflow: hidden;
  background: #f5f8fb;
  border: 1px solid var(--line);
  border-radius: 13px;
}

.product-schema-meta > div {
  padding: 15px 17px;
  border-right: 1px solid var(--line);
}

.product-schema-meta > div:last-child {
  border-right: 0;
}

.product-schema-meta span,
.product-schema-meta strong {
  display: block;
}

.product-schema-meta span {
  color: #718398;
  font-size: 11px;
}

.product-schema-meta strong {
  margin-top: 5px;
  color: var(--navy);
  font-size: 14px;
}

.product-schema-requirements {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 14px;
}

.product-schema-requirements > section {
  padding: 16px;
  background: #fbfcfd;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.product-schema-requirements h3 {
  margin: 0 0 10px;
  color: var(--navy);
  font-size: 13px;
}

.product-requirement-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.product-requirement-tags span {
  padding: 6px 8px;
  color: #365b78;
  background: #e9f4fc;
  border-radius: 7px;
  font-size: 11px;
  line-height: 1.4;
}

.product-requirement-tags span.is-empty {
  color: #718398;
  background: #eef2f5;
}

.product-schema-categories {
  display: grid;
  gap: 12px;
  margin-top: 14px;
}

.yes-no-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.yes-no-field {
  min-width: 0;
  margin: 0;
  padding: 15px;
  background: #f7fafc;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.yes-no-field legend {
  padding: 0 4px;
  color: var(--navy);
  font-size: 13px;
  font-weight: 850;
}

.yes-no-field > small {
  display: block;
  min-height: 32px;
  margin: 3px 0 10px;
  color: #667b91;
  font-size: 11px;
  line-height: 1.45;
}

.yes-no-field > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.yes-no-field > div:has(input[value="unknown"]) {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.choice-row > label,
.yes-no-field label {
  position: relative;
  cursor: pointer;
}

.yes-no-field input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
}

.yes-no-field i {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  color: #526980;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 9px;
  font-style: normal;
  font-size: 13px;
  font-weight: 850;
}

.yes-no-field input:checked + i {
  color: #153a94;
  background: #eef3ff;
  border-color: #4c7dff;
  box-shadow: inset 0 0 0 1px #4c7dff;
}

.yes-no-field input:focus-visible + i {
  outline: 3px solid rgba(76, 167, 255, .35);
  outline-offset: 2px;
}

.product-schema-category {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 13px;
}

.product-schema-category-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 15px;
  padding: 16px 17px;
  background: #f5f8fb;
}

.product-schema-category-heading h3,
.product-schema-category-heading p {
  margin: 0;
}

.product-schema-category-heading h3 {
  color: var(--navy);
  font-size: 15px;
}

.product-schema-category-heading p {
  margin-top: 5px;
  color: #667b91;
  font-size: 12px;
  line-height: 1.55;
}

.product-schema-category-heading > strong {
  flex: none;
  padding: 6px 9px;
  color: #153a94;
  background: #eef3ff;
  border-radius: 7px;
  font-size: 11px;
}

.product-schema-criterion-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  background: var(--line);
}

.product-schema-criterion {
  min-width: 0;
  padding: 14px 16px;
  background: var(--white);
}

.product-schema-criterion strong,
.product-schema-criterion p {
  display: block;
  margin: 0;
}

.product-schema-criterion strong {
  color: var(--navy);
  font-size: 12px;
}

.product-schema-criterion strong small {
  color: #2587d2;
  font-size: 10px;
}

.product-schema-criterion p {
  margin-top: 6px;
  color: #667b91;
  font-size: 11px;
  line-height: 1.6;
}

.product-work-form {
  gap: 26px;
}

.product-import-panel {
  padding: 22px;
  background: #f7f9fc;
  border: 1px solid #c8d6ff;
  border-radius: 16px;
}

.product-import-source {
  display: block;
  margin-top: 18px;
}

.product-import-source select {
  width: 100%;
}

.product-import-chooser {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 16px;
}

.product-import-chooser fieldset {
  min-width: 0;
  padding: 14px;
  background: var(--white);
  border: 1px solid #c8d6ff;
  border-radius: 11px;
}

.product-import-chooser legend {
  padding: 0 5px;
  color: var(--navy);
  font-size: 12px;
  font-weight: 900;
}

.product-import-chooser fieldset > p {
  margin: 0 0 9px;
  color: #667b91;
  font-size: 11px;
  line-height: 1.55;
}

.product-import-checks {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.product-import-choice {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 9px;
  align-items: flex-start;
  padding: 10px;
  background: #f7fafc;
  border: 1px solid transparent;
  border-radius: 9px;
  cursor: pointer;
}

.product-import-choice:has(input:checked) {
  background: #eef3ff;
  border-color: #4c7dff;
}

.product-import-choice:has(input:focus-visible) {
  outline: 3px solid rgba(76, 167, 255, .35);
  outline-offset: 2px;
}

.product-import-choice input {
  width: 16px;
  height: 16px;
  margin: 1px 0 0;
  accent-color: #153a94;
}

.product-import-choice strong,
.product-import-choice small {
  display: block;
}

.product-import-choice strong {
  color: var(--navy);
  font-size: 12px;
}

.product-import-choice small {
  margin-top: 4px;
  overflow-wrap: anywhere;
  color: #667b91;
  font-size: 10px;
  line-height: 1.5;
}

.product-import-chooser > .button {
  grid-column: 1 / -1;
  justify-self: start;
}

.product-import-preview {
  margin-top: 15px;
  padding: 16px;
  background: var(--white);
  border: 2px solid #4c7dff;
  border-radius: 12px;
}

.product-import-preview > div:first-child {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 11px;
  border-bottom: 1px solid var(--line);
}

.product-import-preview > div:first-child strong,
.product-import-preview > div:first-child span {
  font-size: 12px;
}

.product-import-preview > div:first-child strong {
  color: var(--navy);
}

.product-import-preview > div:first-child span {
  color: #526980;
  text-align: right;
}

#productImportPreviewItems {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 12px;
}

#productImportPreviewItems > div {
  padding: 11px;
  background: #f7fafc;
  border-radius: 8px;
}

#productImportPreviewItems strong,
#productImportPreviewItems p {
  display: block;
  margin: 0;
}

#productImportPreviewItems strong {
  color: var(--navy);
  font-size: 11px;
}

#productImportPreviewItems p {
  margin-top: 5px;
  overflow-wrap: anywhere;
  color: #526980;
  font-size: 11px;
  line-height: 1.55;
}

#productImportPreviewItems .product-import-reevaluation {
  grid-column: 1 / -1;
  margin: 0;
  padding: 11px 13px;
  color: #8a4c00;
  background: #fff6e8;
  border-radius: 8px;
  font-weight: 750;
}

.product-import-confirm {
  margin-top: 14px;
}

.product-import-preview > .button {
  width: 100%;
  margin-top: 12px;
}

.product-import-status {
  margin: 13px 0 0;
  color: #153a94;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.6;
}

.product-document-analysis-status {
  margin-top: 8px;
  padding: 8px 10px;
  color: #153a94;
  background: #eef3ff;
  border-radius: 7px;
  font-size: 10px;
  font-weight: 750;
  line-height: 1.5;
}

.product-document-analysis-status[data-state="analyzing"] {
  color: #155f9a;
  background: #edf7ff;
}

.product-document-analysis-status[data-state="error"] {
  color: #a33b44;
  background: #fff0f1;
}

.product-manual-section {
  padding-top: 2px;
}

.product-work-fields {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 14px;
  margin-top: 20px;
}

.product-work-fields .field-full,
.product-work-fields .product-panel-empty,
.product-work-fields .product-schema-checkbox-field {
  grid-column: 1 / -1;
}

.product-work-fields textarea {
  min-height: 128px;
  font-size: 14px;
}

.product-work-fields select,
.product-work-fields input {
  font-size: 14px;
}

.product-schema-checkbox-field > input {
  width: 18px;
  height: 18px;
  accent-color: #153a94;
}

.product-schema-radio-group,
.product-schema-checkbox-group {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.product-schema-radio-group label,
.product-schema-checkbox-group label {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 10px 12px;
  background: #f7fafc;
  border: 1px solid var(--line);
  border-radius: 9px;
  cursor: pointer;
}

.product-schema-radio-group input,
.product-schema-checkbox-group input {
  width: 16px;
  height: 16px;
}

.product-schema-boolean-group {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.product-schema-boolean-group label {
  justify-content: center;
  min-height: 44px;
}

.product-schema-boolean-group input {
  appearance: none;
  display: grid;
  place-content: center;
  border: 1px solid #93a5b7;
  border-radius: 4px;
}

.product-schema-boolean-group input::before {
  width: 8px;
  height: 8px;
  content: "";
  background: #153a94;
  border-radius: 2px;
  transform: scale(0);
  transition: transform .12s ease-in-out;
}

.product-schema-boolean-group input:checked::before {
  transform: scale(1);
}

.product-schema-boolean-group label:has(input:checked) {
  background: #eef3ff;
  border-color: #4c7dff;
}

.product-schema-radio-group span,
.product-schema-checkbox-group span {
  color: var(--navy);
  font-size: 12px;
}

.product-document-section {
  padding-top: 26px;
}

.product-document-section > div:first-child > span {
  font-size: 10px;
}

.product-document-section h2 {
  font-size: 22px;
}

.product-document-section > div:first-child > p {
  font-size: 12px;
}

.product-document-list {
  gap: 12px;
}

.product-document-upload {
  padding: 16px;
  gap: 10px;
  transition: border-color .2s, background .2s;
}

.product-document-upload.is-imported {
  background: #eef3ff;
  border-color: #4c7dff;
}

.product-document-upload.is-retained {
  background: #f7f9fc;
  border-color: #7da0ff;
}

.product-document-upload.is-retained .product-document-import-status {
  color: #153a94;
  background: #eef3ff;
}

.product-document-upload > span {
  font-size: 12px;
}

.product-document-file-label {
  display: block;
}

.product-document-file-label input {
  width: 100%;
  font-size: 11px;
}

.product-document-import-status {
  padding: 10px 11px;
  color: #153a94;
  background: #eef3ff;
  border-radius: 8px;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.55;
}

.product-document-upload > small {
  font-size: 10px;
  line-height: 1.5;
}

.document-metadata-fields span {
  font-size: 10px;
}

.document-metadata-fields input {
  font-size: 12px;
}

.product-panel-empty {
  margin: 0;
  padding: 13px;
  color: #718398;
  background: #f5f8fb;
  border-radius: 9px;
  font-size: 12px;
  line-height: 1.55;
}

.product-work-form button:disabled,
.product-import-panel button:disabled {
  cursor: not-allowed;
  opacity: .55;
}

.product-auto-feedback {
  padding: 28px;
}

.product-auto-feedback > span {
  font-size: 10px;
}

.product-auto-feedback h2 {
  font-size: 24px;
}

.product-auto-feedback > p {
  font-size: 13px;
}

.product-report-cover {
  margin: 0 0 18px;
  padding: 25px;
  overflow: hidden;
  color: #fff;
  background: linear-gradient(145deg, #061f38 0%, #0b3153 58%, #0d4f72 100%);
  border-radius: 18px;
  box-shadow: 0 16px 32px rgba(5, 31, 55, .16);
}

.product-report-cover > span {
  color: #a9beff;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 1.2px;
}

.product-report-cover h2 {
  margin: 10px 0 0;
  color: #fff;
  font-size: 25px;
  line-height: 1.4;
}

.product-auto-feedback .product-report-cover > p {
  margin: 8px 0 0;
  padding: 0;
  color: #c3d3df;
  background: transparent;
  font-size: 12px;
  line-height: 1.7;
}

.product-report-cover .product-feedback-overview {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  margin: 20px 0 0;
  overflow: hidden;
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 12px;
}

.product-report-cover .product-feedback-overview > div {
  border-color: rgba(255, 255, 255, .14);
}

.product-report-cover .product-feedback-overview span { color: #9db4c6; }
.product-report-cover .product-feedback-overview strong { color: #fff; }
.product-report-cover .product-feedback-overview strong.is-satisfied { color: #a9beff; }
.product-report-cover .product-feedback-overview strong.is-needs-work { color: #ff9da5; }
.product-report-cover .product-feedback-overview strong.is-partial { color: #ffd180; }

.product-auto-feedback > .product-feedback-overview {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  margin: 20px 0;
  overflow: hidden;
  background: #f5f8fb;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.product-feedback-overview > div {
  padding: 15px;
  border-right: 1px solid var(--line);
}

.product-feedback-overview > div:last-child {
  border-right: 0;
}

.product-feedback-overview span,
.product-feedback-overview strong {
  display: block;
}

.product-feedback-overview span {
  color: #718398;
  font-size: 10px;
}

.product-feedback-overview strong {
  margin-top: 6px;
  color: var(--navy);
  font-size: 15px;
}

.product-auto-feedback > .product-feedback-categories {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin: 0 0 18px;
}

.product-feedback-category {
  overflow: hidden;
  border: 1px solid var(--line);
  border-left: 5px solid #df6871;
  border-radius: 13px;
}

.product-feedback-category.is-satisfied { border-left-color: #4c7dff; }
.product-feedback-category.is-partial { border-left-color: #e3a441; }

.product-feedback-category-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  padding: 16px 17px 11px;
}

.product-feedback-category.is-public-summary .product-feedback-category-heading {
  padding-bottom: 16px;
}

.product-feedback-category-heading h3,
.product-auto-feedback .product-feedback-category-heading p {
  margin: 0;
  padding: 0;
  background: transparent;
}

.product-feedback-category-heading h3 {
  color: var(--navy);
  font-size: 16px;
}

.product-auto-feedback .product-feedback-category-heading p {
  margin-top: 4px;
  color: #667b91;
  font-size: 11px;
}

.product-feedback-category-heading > strong,
.product-feedback-criterion > div:first-child > strong {
  flex: none;
  padding: 5px 8px;
  color: #aa3942;
  background: #fff0f1;
  border-radius: 6px;
  font-size: 10px;
}

.product-feedback-category-heading > strong.is-satisfied,
.product-feedback-criterion > div:first-child > strong.is-satisfied,
.product-feedback-overview strong.is-satisfied {
  color: #153a94;
}

.product-feedback-overview strong.is-needs-work {
  color: #aa3942;
}

.product-feedback-category-heading > strong.is-satisfied,
.product-feedback-criterion > div:first-child > strong.is-satisfied {
  background: #eef3ff;
}

.product-feedback-category-heading > strong.is-partial,
.product-feedback-criterion > div:first-child > strong.is-partial,
.product-feedback-overview strong.is-partial {
  color: #9a610b;
}

.product-feedback-category-heading > strong.is-partial,
.product-feedback-criterion > div:first-child > strong.is-partial {
  background: #fff5df;
}

.product-feedback-category progress {
  display: block;
  width: calc(100% - 34px);
  height: 8px;
  margin: 0 17px 15px;
  overflow: hidden;
  accent-color: #2587d2;
  border: 0;
  border-radius: 5px;
}

.product-feedback-criterion-list {
  display: flex;
  flex-direction: column;
  gap: 1px;
  background: var(--line);
}

.product-feedback-criterion {
  padding: 16px 17px;
  background: #fbfcfd;
}

.product-feedback-criterion > div:first-child {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.product-feedback-criterion h4 {
  margin: 0;
  color: var(--navy);
  font-size: 13px;
}

.product-feedback-criterion h4 small.is-required-check {
  display: inline-block;
  margin-left: 5px;
  padding: 3px 5px;
  color: #aa3942;
  background: #fff0f1;
  border-radius: 5px;
  font-size: 9px;
  vertical-align: middle;
}

.product-auto-feedback .product-feedback-criterion .product-criterion-score {
  margin: 7px 0 10px;
  padding: 0;
  color: #2587d2;
  background: transparent;
  font-size: 11px;
  font-weight: 850;
}

.product-criterion-detail {
  display: grid;
  grid-template-columns: 105px 1fr;
  gap: 10px;
  margin-top: 7px;
  padding: 10px 11px;
  background: var(--white);
  border-radius: 8px;
}

.product-criterion-detail b {
  color: #2587d2;
  font-size: 11px;
}

.product-criterion-detail.is-remediation b {
  color: #a05e0a;
}

.product-auto-feedback .product-criterion-detail p {
  margin: 0;
  padding: 0;
  color: #526980;
  background: transparent;
  font-size: 11px;
  line-height: 1.65;
}

.product-auto-feedback > .product-feedback-notices {
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin: 0 0 18px;
}

.product-auto-feedback > .product-feedback-notices p {
  margin: 0;
  padding: 11px 13px;
  color: #465d74;
  background: #f7fafc;
  border-radius: 9px;
  font-size: 11px;
  line-height: 1.6;
}

.product-report-section {
  margin: 0 0 18px;
  padding: 20px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 14px;
}

.product-report-section-heading > span {
  color: #2587d2;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 1px;
}

.product-report-section-heading h3,
.product-auto-feedback .product-report-section-heading p {
  margin: 0;
  padding: 0;
  background: transparent;
}

.product-report-section-heading h3 {
  margin-top: 6px;
  color: var(--navy);
  font-size: 18px;
}

.product-auto-feedback .product-report-section-heading p {
  margin-top: 7px;
  color: #667b91;
  font-size: 11px;
  line-height: 1.7;
}

.product-report-executive {
  background: linear-gradient(145deg, #f5fbff 0%, #f7f9fc 100%);
  border-color: #c8d6ff;
}

.product-report-evidence {
  background: linear-gradient(145deg, #f7fbff 0%, #f7f9fc 100%);
  border-color: #c8d6ff;
}

.product-report-expert {
  background: linear-gradient(145deg, #f6fbff 0%, #f7f9fc 100%);
  border: 2px solid #4c7dff;
}

.product-expert-reviewer {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  margin-top: 15px;
  overflow: hidden;
  background: #d7e5eb;
  border: 1px solid #d7e5eb;
  border-radius: 10px;
}

.product-expert-reviewer > div {
  padding: 11px 12px;
  background: rgba(255, 255, 255, .94);
}

.product-expert-reviewer span,
.product-expert-reviewer strong { display: block; }

.product-expert-reviewer span { color: #718398; font-size: 8px; }
.product-expert-reviewer strong { margin-top: 5px; color: var(--navy); font-size: 10px; }

.product-expert-scope,
.product-expert-opinion {
  margin-top: 11px;
  padding: 13px 14px;
  background: rgba(255, 255, 255, .9);
  border: 1px solid #d5dce5;
  border-radius: 10px;
}

.product-expert-scope strong,
.product-expert-opinion strong { color: #153a94; font-size: 10px; }
.product-auto-feedback .product-expert-scope p,
.product-auto-feedback .product-expert-opinion p { margin: 6px 0 0; padding: 0; color: #526980; background: transparent; font-size: 10px; line-height: 1.7; white-space: pre-line; }

.product-expert-findings { display: grid; gap: 10px; margin-top: 12px; }
.product-expert-finding { padding: 14px; background: #fff; border: 1px solid #d7e5eb; border-left: 5px solid #4c7dff; border-radius: 10px; }
.product-expert-finding > div { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.product-expert-finding > div strong { color: var(--navy); font-size: 11px; }
.product-expert-finding > div span { padding: 4px 7px; border-radius: 999px; font-size: 8px; font-weight: 900; }
.product-expert-finding small { display: block; margin: 6px 0 10px; color: #718398; font-size: 8px; }
.product-expert-finding b { display: block; margin-top: 8px; color: #2587d2; font-size: 9px; }
.product-auto-feedback .product-expert-finding p { margin: 4px 0 0; padding: 0; color: #526980; background: transparent; font-size: 9px; line-height: 1.65; white-space: pre-line; }
.product-expert-verification { margin: 12px 0 0; color: #718398; font-size: 8px; line-height: 1.5; overflow-wrap: anywhere; }

.product-report-evidence[data-evidence-state="retrospective"],
.product-report-evidence[data-evidence-state="legacy_reissue_required"] {
  background: linear-gradient(145deg, #fffaf0 0%, #fffdf8 100%);
  border-color: #e8cb91;
}

.product-report-evidence[data-evidence-state="failed"] {
  background: linear-gradient(145deg, #fff5f5 0%, #fffafa 100%);
  border-color: #e8a4aa;
}

.product-report-evidence[data-evidence-state="not_available"],
.product-report-evidence[data-evidence-state="session_only"] {
  background: #f7f9fb;
  border-color: #ced8e1;
}

.product-evidence-identity,
.product-evidence-scope {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 15px;
}

.product-evidence-identity > div,
.product-evidence-scope article {
  padding: 13px;
  background: rgba(255, 255, 255, .9);
  border: 1px solid #d5dce5;
  border-radius: 10px;
}

.product-evidence-identity span,
.product-evidence-identity strong {
  display: block;
}

.product-evidence-identity span {
  color: #60758b;
  font-size: 9px;
}

.product-evidence-identity strong {
  margin-top: 5px;
  color: var(--navy);
  font-size: 11px;
  overflow-wrap: anywhere;
}

.product-evidence-facts {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1px;
  margin: 10px 0 0;
  overflow: hidden;
  background: #d9e6ec;
  border: 1px solid #d9e6ec;
  border-radius: 10px;
}

.product-evidence-facts > div {
  padding: 10px;
  background: #fff;
}

.product-evidence-facts dt {
  color: #718398;
  font-size: 8px;
  font-weight: 800;
}

.product-evidence-facts dd {
  margin: 4px 0 0;
  color: var(--navy);
  font-size: 10px;
  font-weight: 850;
  overflow-wrap: anywhere;
}

.product-evidence-scope article:first-child { border-left: 4px solid #4c7dff; }
.product-evidence-scope article:last-child { border-left: 4px solid #e1a642; }

.product-evidence-scope strong {
  color: var(--navy);
  font-size: 10px;
}

.product-evidence-scope ul {
  margin: 8px 0 0;
  padding-left: 16px;
  color: #526980;
  font-size: 9px;
  line-height: 1.65;
}

.product-evidence-hash {
  margin: 10px 0 0 !important;
  padding: 9px 11px !important;
  color: #49677d !important;
  background: #edf4f7 !important;
  border-radius: 8px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 8px !important;
  overflow-wrap: anywhere;
}

.product-report-headline {
  display: block;
  margin-top: 17px;
  color: var(--navy);
  font-size: 19px;
  line-height: 1.45;
}

.product-auto-feedback .product-report-conclusion {
  margin: 8px 0 0;
  padding: 0;
  color: #526980;
  background: transparent;
  font-size: 12px;
  line-height: 1.75;
}

.product-report-summary-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 16px;
}

.product-report-summary-grid article {
  padding: 14px;
  background: rgba(255, 255, 255, .82);
  border: 1px solid rgba(10, 33, 57, .09);
  border-radius: 11px;
}

.product-report-summary-grid article > span {
  color: #2587d2;
  font-size: 10px;
  font-weight: 900;
}

.product-report-summary-grid article:nth-child(2) > span { color: #ad4850; }

.product-report-summary-grid ul {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
}

.product-report-summary-grid li {
  position: relative;
  padding-left: 13px;
  color: #465d74;
  font-size: 10px;
  line-height: 1.6;
}

.product-report-summary-grid li::before {
  position: absolute;
  top: .7em;
  left: 0;
  width: 5px;
  height: 5px;
  background: #4c7dff;
  border-radius: 50%;
  content: "";
}

.product-report-summary-grid article:nth-child(2) li::before { background: #df6871; }

.product-report-fact-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  margin: 15px 0 0;
  overflow: hidden;
  background: var(--line);
  border: 1px solid var(--line);
  border-radius: 11px;
}

.product-report-fact-grid > div {
  min-width: 0;
  padding: 11px 12px;
  background: #f8fafc;
}

.product-report-fact-grid dt {
  color: #718398;
  font-size: 9px;
}

.product-report-fact-grid dd {
  margin: 5px 0 0;
  color: var(--navy);
  font-size: 11px;
  font-weight: 850;
  overflow-wrap: anywhere;
}

.product-report-scope-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 11px;
}

.product-report-scope-meta span {
  padding: 6px 8px;
  color: #526980;
  background: #eef4f8;
  border-radius: 7px;
  font-size: 9px;
  font-weight: 800;
}

.product-report-analysis {
  background: linear-gradient(145deg, #ffffff 0%, #f7fbff 100%);
  border-color: #cbdce9;
}

.product-auto-feedback .product-report-profile {
  margin: 15px 0 0;
  padding: 13px 15px;
  color: #405a72;
  background: #edf5fa;
  border-left: 4px solid #4c7dff;
  border-radius: 9px;
  font-size: 11px;
  line-height: 1.75;
}

.product-report-management-conclusion {
  margin-top: 12px;
  padding: 16px;
  color: #fff;
  background: linear-gradient(135deg, #08233e 0%, #10486c 100%);
  border-radius: 11px;
}

.product-report-management-conclusion > strong {
  color: #a9beff;
  font-size: 10px;
  letter-spacing: .7px;
}

.product-report-management-conclusion > p {
  margin: 8px 0 0;
  color: #f2f7fb;
  font-size: 11px;
  line-height: 1.75;
}

.product-report-management-conclusion ul {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}

.product-report-management-conclusion li {
  padding: 6px 8px;
  color: #d8e9f4;
  background: rgba(255, 255, 255, .09);
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 7px;
  font-size: 9px;
}

.product-report-metric-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 12px;
}

.product-report-metric-card {
  padding: 14px;
  background: #fff;
  border: 1px solid #d7e3ec;
  border-left: 4px solid #4c7dff;
  border-radius: 10px;
}

.product-report-metric-card > div:first-child {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  padding-bottom: 9px;
  border-bottom: 1px solid #e4edf3;
}

.product-report-metric-card > div:first-child strong {
  color: #405a72;
  font-size: 10px;
  line-height: 1.45;
}

.product-report-metric-card > div:first-child b {
  flex: none;
  color: var(--navy);
  font-size: 15px;
}

.product-report-metric-basis,
.product-report-metric-interpretation {
  margin-top: 9px;
}

.product-report-metric-basis span,
.product-report-metric-interpretation span {
  color: #2587d2;
  font-size: 8px;
  font-weight: 900;
}

.product-report-metric-interpretation span { color: #153a94; }

.product-report-metric-basis p,
.product-report-metric-interpretation p {
  margin: 4px 0 0;
  color: #5a7086;
  font-size: 9px;
  line-height: 1.65;
}

.product-report-monthly-comparison {
  margin-top: 17px;
  padding-top: 16px;
  border-top: 1px solid #dbe6ee;
}

.product-report-monthly-comparison > div:first-child > span {
  color: #2457e6;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .8px;
}

.product-report-monthly-comparison h4 {
  margin: 5px 0 0;
  color: var(--navy);
  font-size: 15px;
}

.product-report-monthly-comparison > div:first-child > p,
.product-report-monthly-carryover {
  margin: 5px 0 0;
  color: #667b91;
  font-size: 9px;
  line-height: 1.65;
}

.product-report-monthly-summary,
.product-report-monthly-changes {
  display: grid;
  gap: 9px;
  margin-top: 11px;
}

.product-report-monthly-changes {
  grid-template-columns: 1fr 1fr;
}

.product-report-monthly-period,
.product-report-monthly-change {
  padding: 13px 14px;
  background: #fff;
  border: 1px solid #d8e4ec;
  border-left: 4px solid #2457e6;
  border-radius: 10px;
}

.product-report-monthly-period strong,
.product-report-monthly-change strong {
  color: var(--navy);
  font-size: 11px;
}

.product-report-monthly-period p,
.product-report-monthly-change p {
  margin: 7px 0 0;
  color: #5a7086;
  font-size: 9px;
  line-height: 1.7;
  white-space: pre-line;
}

.product-report-monthly-carryover {
  padding: 10px 12px;
  background: #eef3ff;
  border-radius: 8px;
}

.product-report-narrative-analysis {
  margin-top: 17px;
  padding-top: 16px;
  border-top: 1px solid #dbe6ee;
}

.product-report-narrative-analysis > div:first-child > span {
  color: #2587d2;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .8px;
}

.product-report-narrative-analysis h4 {
  margin: 5px 0 0;
  color: var(--navy);
  font-size: 15px;
}

.product-report-narrative-analysis > div:first-child > p {
  margin: 5px 0 0;
  color: #667b91;
  font-size: 9px;
  line-height: 1.6;
}

#productFeedbackNarrativeItems {
  display: grid;
  gap: 9px;
  margin-top: 11px;
}

.product-report-narrative-card {
  padding: 13px 14px;
  background: #fff;
  border: 1px solid #d8e4ec;
  border-left: 4px solid #e1a642;
  border-radius: 10px;
}

.product-report-narrative-card.is-confirmed { border-left-color: #4c7dff; }
.product-report-narrative-card.is-advisory { border-left-color: #e1a642; }
.product-report-narrative-card.is-guidance { border-left-color: #df6871; }

.product-report-narrative-card > div:first-child {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.product-report-narrative-card > div:first-child strong {
  color: var(--navy);
  font-size: 11px;
}

.product-report-narrative-card > div:first-child b {
  padding: 4px 7px;
  border-radius: 999px;
  font-size: 8px;
}

.product-report-narrative-detail {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 9px;
  margin-top: 9px;
  padding-top: 9px;
  border-top: 1px solid #e6edf2;
}

.product-report-narrative-detail span {
  color: #2587d2;
  font-size: 8px;
  font-weight: 900;
}

.product-report-narrative-detail.is-action span { color: #153a94; }

.product-report-narrative-detail p {
  margin: 0;
  color: #526980;
  font-size: 9px;
  line-height: 1.65;
}

.product-category-professional-opinion {
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  gap: 8px;
  margin: 12px 0;
}

.product-category-professional-opinion > div {
  padding: 11px 12px;
  background: #f5f9fc;
  border: 1px solid #dae6ee;
  border-radius: 9px;
}

.product-category-professional-opinion > div:last-child {
  background: #f7f9fc;
  border-color: #c8d6ff;
}

.product-category-professional-opinion b {
  color: #2587d2;
  font-size: 9px;
}

.product-category-professional-opinion > div:last-child b { color: #153a94; }

.product-category-professional-opinion p {
  margin: 5px 0 0;
  color: #526980;
  font-size: 10px;
  line-height: 1.65;
}

.product-document-review-group {
  margin-top: 16px;
}

.product-document-review-group > div:first-child {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  color: #153a94;
  background: #eef3ff;
  border-radius: 9px;
  font-size: 11px;
}

.product-document-review-group.is-needs-work > div:first-child {
  color: #a13e46;
  background: #fff0f1;
}

.product-document-review-group.is-advisory > div:first-child {
  color: #8b5a0a;
  background: #fff6df;
}

.product-document-review-group > div:last-child {
  display: flex;
  flex-direction: column;
  gap: 9px;
  margin-top: 9px;
}

.product-document-review-card {
  overflow: hidden;
  background: #fbfcfd;
  border: 1px solid var(--line);
  border-left: 5px solid #4c7dff;
  border-radius: 11px;
}

.product-document-review-card.is-needs-work { border-left-color: #df6871; }
.product-document-review-card.is-advisory { border-left-color: #e1a642; }

.product-document-review-card > div:first-child {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 14px;
}

.product-document-review-card > div:first-child > div strong,
.product-document-review-card > div:first-child > div small {
  display: block;
}

.product-document-review-card > div:first-child > div strong {
  color: var(--navy);
  font-size: 12px;
}

.product-document-review-card > div:first-child > div small {
  margin-top: 4px;
  color: #718398;
  font-size: 9px;
  overflow-wrap: anywhere;
}

.product-document-review-card > div:first-child > b {
  flex: none;
  padding: 5px 7px;
  color: #aa3942;
  background: #fff0f1;
  border-radius: 6px;
  font-size: 9px;
}

.product-document-review-card > div:first-child > b.is-satisfied {
  color: #153a94;
  background: #eef3ff;
}

.product-document-review-detail,
.product-document-review-issue {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 10px;
  padding: 12px 14px;
  border-top: 1px solid var(--line);
}

.product-document-review-detail strong,
.product-document-review-issue strong {
  color: #2587d2;
  font-size: 10px;
}

.product-document-review-detail.is-action strong,
.product-document-review-issue strong { color: #a05e0a; }

.product-auto-feedback .product-document-review-detail p,
.product-auto-feedback .product-document-review-issue p {
  margin: 0;
  padding: 0;
  color: #526980;
  background: transparent;
  font-size: 10px;
  line-height: 1.65;
  white-space: pre-line;
}

.product-document-verification-scope {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 8px 10px;
  padding: 12px 14px;
  color: #526980;
  background: #f4f8fb;
  border-top: 1px solid var(--line);
}

.product-document-verification-scope strong {
  color: #315d7e;
  font-size: 10px;
}

.product-document-verification-scope ul {
  margin: 0;
  padding-left: 15px;
  font-size: 9px;
  line-height: 1.65;
}

.product-document-verification-scope li + li { margin-top: 3px; }

#productFeedbackChecklistItems {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 15px;
}

.product-priority-card {
  min-height: 100%;
  padding: 15px;
  background: #fff8f8;
  border: 1px solid #f0d7da;
  border-left: 5px solid #df6871;
  border-radius: 11px;
}

.product-priority-card.priority-2 { background: #fffaf0; border-color: #f0dfbd; border-left-color: #e3a441; }
.product-priority-card.priority-3 { background: #f4faff; border-color: #d2e5f2; border-left-color: #3d98d1; }
.product-priority-card.priority-4 { background: #f7f9fc; border-color: #c8d6ff; border-left-color: #4c7dff; }

.product-priority-card > div:first-child {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

.product-priority-card > div:first-child span {
  display: grid;
  flex: none;
  width: 31px;
  height: 31px;
  place-items: center;
  color: #fff;
  background: #df6871;
  border-radius: 8px;
  font-size: 10px;
  font-weight: 900;
}

.product-priority-card.priority-2 > div:first-child span { background: #e3a441; }
.product-priority-card.priority-3 > div:first-child span { background: #3d98d1; }
.product-priority-card.priority-4 > div:first-child span { background: #4c7dff; }

.product-priority-card > div:first-child strong {
  padding-top: 5px;
  color: var(--navy);
  font-size: 12px;
  line-height: 1.45;
}

.product-priority-card .product-priority-responsibility {
  flex: none;
  margin-left: auto;
  padding: 5px 7px;
  border-radius: 7px;
  color: #153a94;
  background: #eef3ff;
  font-size: 10px;
  line-height: 1.35;
}

.product-priority-card.is-service-owned .product-priority-responsibility {
  color: #225578;
  background: #e0f1fc;
}

.product-auto-feedback .product-priority-reason {
  margin: 10px 0 0;
  padding: 0;
  color: #667b91;
  background: transparent;
  font-size: 10px;
  line-height: 1.65;
}

.product-priority-details {
  margin: 11px 0 0;
}

.product-priority-details > div {
  display: grid;
  grid-template-columns: 63px 1fr;
  gap: 8px;
  padding: 7px 0;
  border-top: 1px solid rgba(10, 33, 57, .08);
}

.product-priority-details dt {
  color: #718398;
  font-size: 9px;
  font-weight: 850;
}

.product-priority-details dd {
  margin: 0;
  color: #465d74;
  font-size: 9px;
  line-height: 1.6;
  white-space: pre-line;
}

#productFeedbackClosingItems {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 13px;
}

.product-auto-feedback #productFeedbackClosingItems p {
  margin: 0;
  padding: 11px 13px;
  color: #526980;
  background: #f5f8fb;
  border-left: 4px solid #4c7dff;
  border-radius: 8px;
  font-size: 10px;
  line-height: 1.7;
}

/* One visual contract for sample and real customer reports. */
.service-sample-method em {
  display: block;
  color: inherit;
  font-style: normal;
  line-height: 1.45;
}

.service-sample-shell[data-report-origin="customer"] .service-sample-toolbar > div > span {
  color: #60758b;
  font-size: 9px;
  font-weight: 800;
}

.service-sample-bottom-actions.is-download-only {
  grid-template-columns: 1fr;
}

.service-sample-shell[data-report-origin="customer"] .service-sample-content section,
.service-sample-shell[data-report-origin="sample"] .service-sample-content section {
  border-color: var(--line);
  border-radius: 17px;
}

@media (max-width: 720px) {
  .service-sample-shell {
    width: min(100% - 28px, 1120px);
  }
}

@media (max-width: 720px) {
  .product-work-shell {
    width: min(100% - 28px, 960px);
  }

  .product-assessment-criteria,
  .product-auto-feedback {
    padding: 21px 16px;
  }

  .product-panel-heading h2,
  .product-document-section h2 {
    font-size: 20px;
  }

  .product-schema-meta,
  .product-schema-requirements,
  .product-schema-criterion-list,
  .product-import-chooser,
  #productImportPreviewItems,
  .product-work-fields,
  .product-auto-feedback > .product-feedback-overview {
    grid-template-columns: 1fr;
  }

  .product-report-summary-grid,
  .product-report-fact-grid,
  .product-report-metric-grid,
  .product-report-monthly-changes,
  .product-evidence-identity,
  .product-evidence-scope,
  .product-category-professional-opinion,
  #productFeedbackChecklistItems {
    grid-template-columns: 1fr;
  }

  .product-evidence-facts { grid-template-columns: 1fr 1fr; }

  .product-report-cover {
    padding: 21px 17px;
  }

  .product-report-cover .product-feedback-overview {
    grid-template-columns: 1fr 1fr;
  }

  .product-report-cover .product-feedback-overview > div:nth-child(2n) {
    border-right: 0;
  }

  .product-document-review-detail,
  .product-document-review-issue,
  .product-document-verification-scope,
  .product-report-narrative-detail {
    grid-template-columns: 1fr;
    gap: 5px;
  }

  .yes-no-grid {
    grid-template-columns: 1fr;
  }

  .product-schema-meta > div,
  .product-feedback-overview > div {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .product-schema-meta > div:last-child,
  .product-feedback-overview > div:last-child {
    border-bottom: 0;
  }

  .product-import-panel {
    padding: 18px 14px;
  }

  .product-import-preview > div:first-child {
    align-items: flex-start;
    flex-direction: column;
  }

  .product-import-preview > div:first-child span {
    text-align: left;
  }

  .product-work-fields .field-full,
  .product-work-fields .product-panel-empty,
  .product-work-fields .product-schema-checkbox-field,
  #productImportPreviewItems .product-import-reevaluation {
    grid-column: auto;
  }

  .product-document-file-label input,
  .product-work-fields textarea,
  .product-work-fields select,
  .product-work-fields input,
  .product-import-source select {
    font-size: 16px;
  }

  .product-feedback-category-heading,
  .product-feedback-criterion > div:first-child {
    align-items: flex-start;
    flex-direction: column;
  }

  .product-criterion-detail {
    grid-template-columns: 1fr;
    gap: 5px;
  }
}

.member-result-group-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-top: 8px;
  padding: 10px 2px 6px;
  border-bottom: 1px solid var(--line);
}

.member-result-group-heading:first-child {
  margin-top: 0;
}

.member-result-group-heading span {
  color: #2587d2;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: 1px;
}

.member-result-group-heading strong {
  color: var(--navy);
  font-size: 11px;
}

.member-result-loading,
.member-result-empty {
  margin: 0;
  padding: 15px;
  color: #718398;
  background: #f7fafc;
  border: 1px dashed var(--line);
  border-radius: 9px;
  font-size: 9px;
  line-height: 1.6;
}

.member-result-empty.is-error {
  color: #a23942;
  background: #fff3f4;
  border-color: #eab9bd;
}

.member-result-item.is-sample {
  background: #fbfcfd;
  border-style: dashed;
}

.member-result-item.is-sample strong::before {
  display: inline-block;
  margin-right: 5px;
  padding: 2px 4px;
  color: #526980;
  background: #e8edf2;
  border-radius: 4px;
  content: "SAMPLE";
  font-size: 6px;
  vertical-align: 1px;
}

.member-result-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-end;
}

.member-result-actions .button,
.member-result-item.is-sample .button {
  padding: 8px 10px;
  font-size: 8px;
}

.product-feedback-policy {
  margin: 0 0 18px;
  padding: 18px;
  background: #f4f9fd;
  border: 1px solid #cfe0ed;
  border-radius: 13px;
}

.product-feedback-policy > div:first-child > span {
  color: #2587d2;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 1px;
}

.product-feedback-policy h3,
.product-auto-feedback .product-feedback-policy > div:first-child > p {
  margin: 0;
  padding: 0;
  background: transparent;
}

.product-feedback-policy h3 {
  margin-top: 6px;
  color: var(--navy);
  font-size: 17px;
}

.product-auto-feedback .product-feedback-policy > div:first-child > p {
  margin-top: 5px;
  color: #667b91;
  font-size: 11px;
  line-height: 1.6;
}

#productFeedbackPolicyList {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
  margin-top: 14px;
}

.product-policy-group-title {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 11px;
  color: #153a94;
  background: #eef3ff;
  border-radius: 8px;
}

.product-policy-group-title.is-reference {
  margin-top: 5px;
  color: #7a5b28;
  background: #fff6e6;
}

.product-policy-group-title strong { font-size: 10px; }
.product-policy-group-title span { font-size: 8px; }

#productFeedbackPolicyList article.is-candidate {
  border-color: #c8d6ff;
  box-shadow: inset 4px 0 0 #4c7dff;
}

#productFeedbackPolicyList article.is-reference {
  background: #fbfcfd;
  border-color: #e0e6eb;
  box-shadow: inset 4px 0 0 #c8d1da;
}

#productFeedbackPolicyList article {
  padding: 13px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 10px;
}

#productFeedbackPolicyList article > div:first-child {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

#productFeedbackPolicyList article > div:first-child > div {
  display: grid;
  grid-template-columns: 23px 1fr;
  gap: 6px;
  align-items: center;
}

#productFeedbackPolicyList article > div:first-child span {
  display: grid;
  width: 23px;
  height: 23px;
  place-items: center;
  color: #2587d2;
  background: #e8f4fc;
  border-radius: 50%;
  font-size: 8px;
  font-weight: 900;
}

#productFeedbackPolicyList article > div:first-child strong {
  color: var(--navy);
  font-size: 11px;
  line-height: 1.4;
}

#productFeedbackPolicyList article > div:first-child b {
  flex: none;
  color: #526980;
  font-size: 9px;
}

#productFeedbackPolicyList article > div:first-child b.is-satisfied { color: #153a94; }
#productFeedbackPolicyList article > div:first-child b.is-partial { color: #9a610b; }

.product-auto-feedback #productFeedbackPolicyList .product-policy-agency {
  margin: 8px 0 0;
  padding: 0;
  color: #667b91;
  background: transparent;
  font-size: 9px;
}

.product-policy-reference-meta {
  margin-top: 10px;
}

.product-policy-snapshot {
  margin: 7px 0 0 !important;
  padding: 0 !important;
  color: #75899d !important;
  background: transparent !important;
  font-size: 8px !important;
  overflow-wrap: anywhere;
}

.product-policy-unavailable {
  grid-column: 1 / -1;
  border-color: #f0cfd2 !important;
  background: #fff8f8 !important;
}

.product-policy-unavailable > strong {
  display: block;
  color: #91353d;
  font-size: 12px;
}

.product-policy-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 9px;
}

.product-policy-facts span {
  padding: 4px 6px;
  color: #526980;
  background: #f1f5f8;
  border-radius: 5px;
  font-size: 8px;
  line-height: 1.4;
}

.product-policy-detail-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  margin: 10px 0 0;
  overflow: hidden;
  background: var(--line);
  border: 1px solid var(--line);
  border-radius: 8px;
}

.product-policy-detail-grid > div {
  padding: 8px;
  background: #f8fafc;
}

.product-policy-detail-grid dt {
  color: #718398;
  font-size: 7px;
  font-weight: 850;
}

.product-policy-detail-grid dd {
  margin: 4px 0 0;
  color: #465d74;
  font-size: 8px;
  line-height: 1.5;
}

.product-policy-current-notices {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin-top: 10px;
  padding-top: 9px;
  border-top: 1px solid var(--line);
}

.product-policy-current-notices strong {
  color: var(--navy);
  font-size: 8px;
}

.product-policy-current-notices a {
  color: #267dbd;
  font-size: 8px;
  line-height: 1.45;
  text-decoration: none;
}

.policy-eligibility-checks {
  margin-top: 11px;
  padding-top: 10px;
  border-top: 1px solid var(--line);
}

.policy-eligibility-checks summary {
  color: var(--navy);
  font-size: 8px;
  font-weight: 900;
  cursor: pointer;
}

.policy-eligibility-check-list {
  display: grid;
  gap: 6px;
  margin-top: 8px;
}

.policy-eligibility-check-list article {
  padding: 8px 9px !important;
  background: #f8fafc !important;
  border: 0 !important;
  border-left: 3px solid #d6e0e8 !important;
  border-radius: 6px !important;
  box-shadow: none !important;
}

.policy-eligibility-check-list article.is-pass { border-left-color: #4c7dff !important; }
.policy-eligibility-check-list article.is-check { border-left-color: #e6a13a !important; }
.policy-eligibility-check-list article.is-fail { border-left-color: #df6871 !important; }
.policy-eligibility-check-list article > div { display: flex; justify-content: space-between; gap: 8px; }
.policy-eligibility-check-list strong { color: var(--navy); font-size: 8px; line-height: 1.5; }
.policy-eligibility-check-list span { flex: none; color: #526980; font-size: 7px; font-weight: 850; }
.policy-eligibility-check-list small { display: block; margin-top: 4px; color: #718398; font-size: 7px; line-height: 1.5; }
.policy-eligibility-check-list p { margin: 4px 0 0 !important; padding: 0 !important; color: #526980 !important; background: transparent !important; font-size: 8px !important; line-height: 1.55 !important; }

.current-policy-overlay,
.product-result-context-note {
  margin: 18px 0;
  padding: 18px;
  background: #f4f9fd;
  border: 1px solid #cfe0ed;
  border-radius: 13px;
}

.product-result-context-note {
  margin-top: 0;
  background: #f7fafc;
  border-color: var(--line);
}

.product-result-context-note.is-legacy_reissue_required {
  background: #fff5f5;
  border-color: #efc4c8;
}

.product-result-context-note strong { display: block; color: var(--navy); font-size: 12px; }
.product-result-context-note p { margin: 6px 0 0; color: #61758a; font-size: 9px; line-height: 1.65; }
.customer-report-context-note,
.customer-report-current-overlay { width: min(1120px, calc(100% - 48px)); box-sizing: border-box; margin-left: auto; margin-right: auto; }
.customer-report-context-note { margin-top: 45px; margin-bottom: -27px; }
.customer-report-current-overlay { margin-top: -86px; margin-bottom: 110px; }
.current-policy-overlay-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; }
.current-policy-overlay-heading span { color: #2587d2; font-size: 8px; font-weight: 900; letter-spacing: 1px; }
.current-policy-overlay-heading h3 { margin: 6px 0 0; color: var(--navy); font-size: 17px; }
.current-policy-overlay-heading time { flex: none; color: #718398; font-size: 8px; }
.current-policy-overlay-description { margin: 8px 0 0; color: #667b91; font-size: 9px; line-height: 1.65; }
.current-policy-overlay-state { margin-top: 12px; padding: 10px 11px; color: #153a94; background: #eef3ff; border-radius: 8px; }
.current-policy-overlay-state.is-unavailable { color: #91353d; background: #fff1f2; }
.current-policy-overlay-state strong { display: block; font-size: 10px; }
.current-policy-overlay-state p { margin: 4px 0 0; color: inherit; font-size: 8px; line-height: 1.55; }
.current-policy-overlay-list { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 12px; }
.current-policy-candidate { min-width: 0; padding: 13px; background: var(--white); border: 1px solid #c8d6ff; border-radius: 10px; box-shadow: inset 4px 0 0 #4c7dff; }
.current-policy-candidate-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.current-policy-candidate-heading > div { display: grid; grid-template-columns: 23px minmax(0, 1fr); gap: 6px; align-items: center; }
.current-policy-candidate-heading span { display: grid; width: 23px; height: 23px; place-items: center; color: #2587d2; background: #e8f4fc; border-radius: 50%; font-size: 8px; font-weight: 900; }
.current-policy-candidate-heading strong { color: var(--navy); font-size: 10px; line-height: 1.45; }
.current-policy-candidate-heading b { flex: none; color: #153a94; font-size: 8px; }
.current-policy-candidate > .product-policy-agency { margin: 8px 0 0; color: #667b91; font-size: 8px; }

.member-result-projection { display: inline-flex !important; width: fit-content; margin-top: 7px; padding: 4px 6px; border-radius: 5px; font-size: 7px !important; font-weight: 900; }
.member-result-projection.is-stored { color: #153a94; background: #eef3ff; }
.member-result-projection.is-reissue { color: #91353d; background: #fff1f2; }
.member-result-reissue,
.member-activity-result > .current-policy-overlay,
.member-activity-result > .member-published-reports,
.member-activity-result > .member-care-reminder { grid-column: 1 / -1; }
.member-result-reissue { padding: 11px; color: #91353d; background: #fff1f2; border: 1px solid #efc4c8; border-radius: 8px; }
.member-result-reissue strong { color: inherit; }
.member-result-reissue p { margin: 5px 0 0; font-size: 8px; line-height: 1.6; }
.member-activity-result > .current-policy-overlay { margin: 3px 0 0; padding: 13px; }
.member-activity-result > .current-policy-overlay .current-policy-overlay-list { grid-template-columns: 1fr; }
.member-activity-result > .current-policy-overlay .current-policy-candidate { padding: 11px; }

.product-feedback-notices h3 {
  margin: 0 0 9px;
  color: var(--navy);
  font-size: 15px;
}

.product-auto-feedback > .product-feedback-notices p.is-warning {
  color: #91353d;
  background: #fff1f2;
  border-left: 4px solid #df6871;
}

.product-feedback-print-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 7px 14px;
  margin: 18px 0 0;
  padding: 12px 14px;
  color: #667b91;
  background: #f7fafc;
  border: 1px solid var(--line);
  border-radius: 10px;
  font-size: 9px;
  line-height: 1.5;
}

.product-feedback-print-footer b {
  color: var(--navy);
}

.product-feedback-pdf-actions {
  margin: 12px 0 9px;
}

.product-feedback-pdf-actions .button {
  width: 100%;
}

.product-feedback-pdf-actions p {
  margin: 7px 2px 0;
  color: #718398;
  font-size: 9px;
  line-height: 1.6;
}

.product-auto-feedback.product-pdf-exporting {
  position: fixed !important;
  z-index: -9999 !important;
  top: 0 !important;
  left: 0 !important;
  display: block !important;
  width: 390px !important;
  max-width: 390px !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  pointer-events: none;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.product-pdf-capture-chapter {
  display: block;
  width: 390px;
  box-sizing: border-box;
  padding: 20px 18px;
  color: #465d74;
  background: var(--white);
  border: 2px solid #4c7dff;
  border-radius: 17px;
  box-shadow: var(--shadow-soft);
}

.product-pdf-summary-chapter > span {
  color: #2587d2;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 1px;
}

.product-pdf-summary-chapter {
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.product-pdf-summary-chapter .product-report-cover {
  width: 390px;
  box-sizing: border-box;
  margin: 0;
  padding: 24px 20px;
  border-radius: 17px;
}

.product-pdf-summary-chapter .product-report-cover .product-feedback-overview {
  grid-template-columns: 1fr 1fr;
}

.product-pdf-summary-chapter .product-report-cover .product-feedback-overview > div:nth-child(2n) {
  border-right: 0;
}

.product-pdf-summary-chapter > h2 {
  margin: 8px 0 5px;
  color: var(--navy);
  font-size: 23px;
}

.product-pdf-summary-chapter > p {
  margin: 0;
  color: #667b91;
  font-size: 12px;
  line-height: 1.7;
}

.product-pdf-summary-chapter > .product-feedback-overview {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  margin: 18px 0 0;
  overflow: hidden;
  background: #f5f8fb;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.product-pdf-summary-chapter .product-feedback-overview > div {
  min-height: 70px;
  box-sizing: border-box;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.product-pdf-summary-chapter .product-feedback-overview > div:nth-child(2n) {
  border-right: 0;
}

.product-pdf-summary-chapter .product-feedback-overview > div:nth-last-child(-n+2) {
  border-bottom: 0;
}

.product-pdf-policy-chapter .product-feedback-policy {
  margin: 0;
  padding: 16px;
}

.product-pdf-report-chapter > .product-report-section {
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
}

.product-pdf-executive-chapter {
  background: linear-gradient(145deg, #f5fbff 0%, #f7f9fc 100%);
}

.product-pdf-scope-chapter .product-report-fact-grid {
  grid-template-columns: 1fr 1fr;
}

.product-pdf-checklist-chapter #productFeedbackChecklistItems {
  grid-template-columns: 1fr;
}

.product-pdf-final-footer-chapter {
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.product-pdf-final-footer-chapter .product-feedback-print-footer {
  margin: 0;
}

.product-pdf-documents-chapter .product-document-review-card,
.product-pdf-checklist-chapter .product-priority-card {
  box-shadow: none;
}

.product-pdf-policy-chapter #productFeedbackPolicyList {
  grid-template-columns: 1fr;
}

.product-pdf-category-chapter .product-feedback-category {
  margin: 0;
  box-shadow: none;
}

.product-pdf-final-chapter .product-feedback-notices {
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin: 0;
}

.product-pdf-final-chapter .product-report-closing {
  margin: 0 0 10px;
  padding: 0;
  border: 0;
}

.product-pdf-final-chapter .product-feedback-notices p {
  margin: 0;
  padding: 11px 13px;
  color: #465d74;
  background: #f7fafc;
  border-radius: 9px;
  font-size: 11px;
  line-height: 1.6;
}

.product-pdf-final-chapter .product-feedback-notices p.is-warning {
  color: #91353d;
  background: #fff1f2;
  border-left: 4px solid #df6871;
}

.product-pdf-final-chapter .product-feedback-print-footer {
  margin-top: 10px;
  padding: 9px 11px;
}

@media print {
  [data-pdf-exclude="true"] {
    display: none !important;
  }
}

@media (max-width: 720px) {
  .member-result-item,
  .member-activity-result {
    grid-template-columns: 1fr;
  }

  .member-result-actions {
    justify-content: stretch;
  }

  .member-result-actions .button,
  .member-result-item.is-sample .button {
    width: 100%;
  }

  #productFeedbackPolicyList {
    grid-template-columns: 1fr;
  }

  .product-policy-detail-grid {
    grid-template-columns: 1fr;
  }

  .current-policy-overlay-list {
    grid-template-columns: 1fr;
  }

  .current-policy-overlay-heading,
  .current-policy-candidate-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .product-feedback-print-footer {
    align-items: flex-start;
    flex-direction: column;
  }
}
.legal-document [data-legal-field].is-missing,
.legal-effective [data-legal-field].is-missing,
#commercialLegalStatus.is-warning {
  color: #b45309;
  font-weight: 700;
}

.payment-consent {
  margin: 18px 0 14px;
  padding: 14px 15px;
  border: 1px solid rgba(10, 33, 57, 0.12);
  border-radius: 14px;
  background: #f7fafc;
}

.member-published-reports {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  padding-top: 10px;
  border-top: 1px solid var(--line);
}

.member-report-integrity {
  flex: 1 0 100%;
  margin: 0;
  padding: 8px 10px;
  color: #3c6176;
  background: #eef3ff;
  border: 1px solid #c8d6ff;
  border-radius: 8px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 7px;
  line-height: 1.55;
  white-space: pre-line;
}

.member-published-reports > span {
  color: #718398;
  font-size: 8px;
  line-height: 1.5;
}

.member-evidence-status {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-top: 7px;
  padding: 4px 7px;
  color: #526980;
  background: #edf3f7;
  border: 1px solid #d6e0e7;
  border-radius: 999px;
  font-size: 7px;
  font-weight: 850;
  line-height: 1.2;
}

.member-evidence-status.is-verified { color: #153a94; background: #eef3ff; border-color: #c8d6ff; }
.member-evidence-status.is-retrospective,
.member-evidence-status.is-legacy { color: #8b5b10; background: #fff8e8; border-color: #efd39a; }
.member-evidence-status.is-failed { color: #a23b45; background: #fff0f1; border-color: #efbcc1; }
.member-evidence-status.is-unavailable,
.member-evidence-status.is-session { color: #526980; background: #f2f5f8; border-color: #d6e0e7; }

.member-delivery-status {
  display: block;
  width: fit-content;
  margin-top: 7px;
  padding: 5px 8px;
  color: #315f72;
  background: #edf8fb;
  border: 1px solid #cbe7ee;
  border-radius: 8px;
  font-size: 7px;
  font-weight: 800;
  line-height: 1.45;
}

.member-delivery-status.is-complete { color: #153a94; background: #eef3ff; border-color: #c8d6ff; }
.member-delivery-status.is-overdue { color: #a23b45; background: #fff0f1; border-color: #efbcc1; }
.member-delivery-status.is-legacy { color: #8b5b10; background: #fff8e8; border-color: #efd39a; }

.member-result-item.has-evidence-failure {
  border-color: #e8a4aa;
  background: #fffafa;
}

.member-report-warning {
  flex: 1 0 100%;
  margin: 0;
  padding: 8px 10px;
  color: #8b5b10 !important;
  background: #fff8e8;
  border: 1px solid #efd39a;
  border-radius: 8px;
  font-size: 8px !important;
  line-height: 1.55 !important;
}

.member-published-reports[data-evidence-state="failed"] .member-report-warning {
  color: #a23b45 !important;
  background: #fff0f1;
  border-color: #efbcc1;
}

.product-feedback-pdf-actions[data-evidence-state="failed"] p,
.service-sample-shell[data-evidence-state="failed"] .service-sample-download > p {
  color: #a23b45;
  font-weight: 750;
}

.member-published-report-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}

.member-published-report-links .button {
  padding: 8px 10px;
  font-size: 8px;
  text-decoration: none;
}

.admin-report-queue-card {
  padding: 28px;
  background: var(--white);
  border: 2px solid #4c7dff;
  border-radius: 19px;
  box-shadow: var(--shadow-soft);
}

.admin-report-queue-heading,
.admin-report-dialog-heading,
.admin-report-section-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}

.admin-report-queue-heading > div > span {
  color: #153a94;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: 1px;
}

.admin-report-queue-heading h2 {
  margin: 8px 0 5px;
  color: var(--navy);
  font-size: 20px;
}

.admin-report-queue-heading p,
.admin-report-section-heading p,
.admin-report-dialog-heading p {
  margin: 0;
  color: #718398;
  font-size: 9px;
  line-height: 1.6;
}

.admin-report-queue-tools {
  display: flex;
  align-items: center;
  gap: 8px;
}

.admin-report-queue-tools > strong {
  color: var(--navy);
  font-size: 22px;
  white-space: nowrap;
}

.admin-report-queue {
  display: flex;
  flex-direction: column;
  gap: 9px;
  margin-top: 18px;
}

.admin-report-load-more {
  display: block;
  width: min(100%, 24rem);
  margin: 1rem auto 0;
}

.admin-report-queue-item {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 15px;
  background: #f7fafc;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.admin-report-queue-item strong,
.admin-report-queue-item small {
  display: block;
}

.admin-report-queue-item strong {
  color: var(--navy);
  font-size: 11px;
}

.admin-report-queue-item small {
  margin-top: 5px;
  color: #718398;
  font-size: 8px;
  line-height: 1.5;
}

.admin-report-state {
  display: inline-flex;
  margin-top: 8px;
  padding: 4px 7px;
  color: #526980;
  background: #e8edf2;
  border-radius: 6px;
  font-size: 7px;
  font-weight: 900;
}

.admin-report-state.is-action {
  color: #8a4b00;
  background: #fff1cf;
}

.admin-report-state.is-complete {
  color: #153a94;
  background: #eef3ff;
}

.admin-delivery-badge {
  display: inline-flex;
  margin: 8px 0 0 6px;
  padding: 4px 7px;
  color: #315f72;
  background: #e7f6fa;
  border: 1px solid #c5e4ec;
  border-radius: 6px;
  font-size: 7px;
  font-weight: 900;
}

.admin-delivery-badge.is-complete { color: #153a94; background: #eef3ff; border-color: #c8d6ff; }
.admin-delivery-badge.is-overdue { color: #a23b45; background: #fff0f1; border-color: #efbcc1; }
.admin-delivery-badge.is-legacy { color: #8b5b10; background: #fff8e8; border-color: #efd39a; }

.admin-report-dialog {
  width: min(860px, calc(100% - 30px));
  max-width: 860px;
}

.admin-report-dialog-heading h2 {
  margin: 0 0 6px;
  color: var(--navy);
  font-size: 24px;
}

#adminReportWorkflowBadge {
  flex: none;
  padding: 7px 10px;
  color: #153a94;
  background: #eef3ff;
  border-radius: 8px;
  font-size: 9px;
  font-weight: 900;
}

#adminReportWorkflowBadge.is-action {
  color: #8a4b00;
  background: #fff1cf;
}

#adminReportWorkflowBadge.is-complete {
  color: #153a94;
  background: #eef3ff;
}

#adminPdfVisualReviewBadge {
  flex: none;
  padding: 6px 9px;
  color: #60758b;
  background: #e8edf2;
  border-radius: 8px;
  font-size: 8px;
  font-weight: 900;
}

#adminPdfVisualReviewBadge.is-action { color: #8a4b00; background: #fff1cf; }
#adminPdfVisualReviewBadge.is-complete { color: #153a94; background: #eef3ff; }

.admin-report-source {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin: 18px 0;
}

.admin-report-source > div {
  padding: 12px;
  background: #f7fafc;
  border: 1px solid var(--line);
  border-radius: 10px;
}

.admin-report-source span,
.admin-report-source strong {
  display: block;
}

.admin-report-source span {
  color: #8190a0;
  font-size: 7px;
}

.admin-report-source strong {
  margin-top: 5px;
  color: var(--navy);
  font-size: 10px;
  overflow-wrap: anywhere;
}

.admin-report-source .admin-report-source-documents {
  grid-column: 1 / -1;
  padding: 15px;
}

.admin-report-source-documents > strong {
  margin: 0;
  font-size: 11px;
}

.admin-report-source-document-list {
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin-top: 10px;
}

.admin-report-source-document {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 10px 11px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 9px;
}

.admin-report-source-document strong,
.admin-report-source-document small {
  display: block;
}

.admin-report-source-document strong {
  margin: 0;
  font-size: 9px;
}

.admin-report-source-document small {
  margin-top: 4px;
  color: #718398;
  font-size: 7px;
  overflow-wrap: anywhere;
}

.admin-report-source-document .button {
  padding: 7px 9px;
  font-size: 7px;
  text-decoration: none;
}

.admin-report-artifacts,
.admin-expert-review,
.admin-pdf-visual-review,
.admin-report-workflow,
.admin-report-audit {
  margin-top: 14px;
  padding: 18px;
  background: #f7fafc;
  border: 1px solid var(--line);
  border-radius: 13px;
}

.admin-expert-review-grid,
.admin-expert-finding-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.admin-expert-review .field { display: block; margin-top: 12px; }
.admin-expert-review .field span { display: block; color: var(--navy); font-size: 9px; font-weight: 800; }
.admin-expert-review .field em { color: #a23942; font-style: normal; }
.admin-expert-review input,
.admin-expert-review select,
.admin-expert-review textarea {
  width: 100%;
  box-sizing: border-box;
  margin-top: 6px;
  padding: 10px 11px;
  resize: vertical;
  color: var(--navy);
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 9px;
  font: inherit;
  font-size: 10px;
  line-height: 1.55;
}

.admin-expert-review-existing { margin-top: 13px; padding: 12px; color: #526980; background: #eef3ff; border: 1px solid #c8d6ff; border-radius: 9px; }
.admin-expert-review-existing strong,
.admin-expert-review-existing p,
.admin-expert-review-existing small { display: block; margin: 0; }
.admin-expert-review-existing strong { color: var(--navy); font-size: 10px; }
.admin-expert-review-existing p { margin-top: 4px; font-size: 9px; }
.admin-expert-review-existing small { margin-top: 5px; font-size: 7px; overflow-wrap: anywhere; }
.admin-expert-findings-heading,
.admin-expert-finding-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 15px; }
.admin-expert-findings-heading strong,
.admin-expert-finding-heading strong { color: var(--navy); font-size: 10px; }
.admin-expert-finding-list { display: grid; gap: 10px; margin-top: 8px; }
.admin-expert-finding { padding: 13px; background: #fff; border: 1px solid var(--line); border-left: 4px solid #4c7dff; border-radius: 10px; }
.admin-expert-finding-fields .field:nth-child(n+4) { grid-column: 1 / -1; }
.admin-expert-confirmations { display: grid; gap: 7px; margin: 14px 0; }
.admin-expert-confirmations .consent-line { margin: 0; }

.admin-pdf-visual-fingerprint {
  display: grid;
  gap: 5px;
  margin: 13px 0 10px;
  padding: 11px 12px;
  color: #526980;
  background: #fff;
  border: 1px solid var(--line);
  border-left: 4px solid #4c7dff;
  border-radius: 9px;
}

.admin-pdf-visual-fingerprint strong { color: var(--navy); font-size: 9px; }
.admin-pdf-visual-fingerprint small { font-size: 7px; line-height: 1.5; overflow-wrap: anywhere; }
.admin-pdf-visual-review > .button { width: 100%; box-sizing: border-box; text-decoration: none; }
.admin-pdf-visual-review > .button[aria-disabled="true"] { opacity: .45; cursor: not-allowed; }
.admin-pdf-visual-review .field { display: block; margin-top: 13px; }
.admin-pdf-visual-review .field span { display: block; color: var(--navy); font-size: 9px; font-weight: 800; }
.admin-pdf-visual-review .field em { color: #a23942; font-style: normal; }
.admin-pdf-visual-review input[type="number"] {
  width: 100%;
  box-sizing: border-box;
  margin-top: 6px;
  padding: 10px 11px;
  color: var(--navy);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 9px;
  font: inherit;
  font-size: 10px;
}
.admin-pdf-visual-checklist { display: grid; gap: 7px; margin-top: 13px; }
.admin-pdf-visual-checklist .consent-line { margin: 0; }
.admin-report-artifact-attestation { font-weight: 800; }
.admin-report-artifact-attestation.is-complete { color: #153a94; }
.admin-report-artifact-attestation.is-error { color: #a23942; }
.member-report-visual-attestation { white-space: pre-line; }

.admin-report-section-heading h3,
.admin-report-audit h3 {
  margin: 0 0 5px;
  color: var(--navy);
  font-size: 15px;
}

#adminReportArtifactList,
#adminReportWorkflowLog {
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin-top: 12px;
}

.admin-report-artifact {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 11px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 9px;
}

.admin-report-artifact.is-selected {
  border-color: #4c7dff;
  box-shadow: 0 0 0 2px rgba(36, 87, 230, .2);
}

.admin-report-artifact input:disabled {
  visibility: hidden;
}

.admin-report-artifact strong,
.admin-report-artifact small {
  display: block;
}

.admin-report-artifact strong {
  color: var(--navy);
  font-size: 9px;
  overflow-wrap: anywhere;
}

.admin-report-artifact small {
  margin-top: 4px;
  color: #718398;
  font-size: 7px;
}

.admin-report-artifact .button {
  padding: 7px 9px;
  font-size: 7px;
  text-decoration: none;
}

.admin-report-workflow .field {
  display: block;
  margin-top: 14px;
}

.admin-report-workflow textarea {
  width: 100%;
  box-sizing: border-box;
  margin-top: 6px;
  padding: 11px;
  resize: vertical;
  color: var(--navy);
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 9px;
  font: inherit;
  font-size: 10px;
  line-height: 1.6;
}

.admin-report-create-actions,
.admin-report-stage-actions {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  margin-top: 12px;
}

.admin-report-stage-actions {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.admin-report-create-actions .button,
.admin-report-stage-actions .button {
  width: 100%;
}

.admin-report-upload-label {
  display: grid;
  place-items: center;
  cursor: pointer;
}

.admin-report-upload-label input {
  position: absolute;
  width: 1px;
  height: 1px;
  clip-path: inset(50%);
  overflow: hidden;
  white-space: nowrap;
}

.admin-report-upload-label.is-disabled {
  opacity: .45;
  pointer-events: none;
}

.admin-report-action-status {
  min-height: 16px;
  margin: 10px 0 0;
  color: #60758b;
  font-size: 8px;
  line-height: 1.5;
}

.admin-report-action-status.is-error {
  color: #a23942;
}

.admin-report-audit-item {
  padding: 10px 11px;
  background: var(--white);
  border-left: 3px solid #4c7dff;
  border-radius: 0 8px 8px 0;
}

.admin-report-audit-item strong,
.admin-report-audit-item small,
.admin-report-audit-item p {
  display: block;
}

.admin-report-audit-item strong {
  color: var(--navy);
  font-size: 9px;
}

.admin-report-audit-item small {
  margin-top: 3px;
  color: #8190a0;
  font-size: 7px;
}

.admin-report-audit-item p {
  margin: 6px 0 0;
  color: #60758b;
  font-size: 8px;
  line-height: 1.55;
  white-space: pre-wrap;
}

@media (max-width: 720px) {
  .member-published-reports,
  .admin-report-queue-heading,
  .admin-report-dialog-heading,
  .admin-report-section-heading {
    align-items: stretch;
    flex-direction: column;
  }

  .member-published-report-links,
  .admin-report-queue-tools {
    justify-content: flex-start;
  }

  .member-published-report-links .button {
    width: 100%;
    text-align: center;
  }

  .admin-report-queue-card {
    padding: 20px 14px;
  }

  .admin-report-queue-item,
  .admin-report-artifact,
  .admin-report-source-document {
    grid-template-columns: 1fr;
  }

  .admin-report-source,
  .admin-expert-review-grid,
  .admin-expert-finding-fields,
  .admin-report-create-actions,
  .admin-report-stage-actions {
    grid-template-columns: 1fr;
  }

  .admin-report-workflow textarea {
    font-size: 16px;
  }

  .admin-expert-review input,
  .admin-expert-review select,
  .admin-expert-review textarea,
  .admin-pdf-visual-review input[type="number"] { font-size: 16px; }

  .product-expert-reviewer { grid-template-columns: 1fr; }
}

.payment-consents {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 18px 0 14px;
}

.payment-consents .payment-consent {
  margin: 0;
}

.payment-legal-link {
  margin: 0 3px;
  padding: 0;
  border: 0;
  color: #156b91;
  background: transparent;
  font: inherit;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 2px;
  cursor: pointer;
}

.button-danger,
.button-danger-outline {
  border: 1px solid #c65359;
}

.button-danger {
  color: #fff;
  background: #b94850;
}

.button-danger:hover {
  background: #a33e46;
}

.button-danger-outline {
  color: #a23942;
  background: #fff;
}

.button-danger-outline:hover {
  background: #fff1f2;
}

.member-commerce-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-top: 18px;
}

.member-commerce-panel {
  min-width: 0;
  padding: 28px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 19px;
  box-shadow: var(--shadow-soft);
}

.member-order-panel {
  grid-column: 1 / -1;
}

.member-commerce-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.member-commerce-heading > div > span {
  color: #2587d2;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: 1px;
}

.member-commerce-heading h2 {
  margin: 8px 0 5px;
  color: var(--navy);
  font-size: 20px;
}

.member-commerce-heading p {
  margin: 0;
  color: #718398;
  font-size: 9px;
  line-height: 1.65;
}

.member-commerce-list {
  display: flex;
  flex-direction: column;
  gap: 9px;
  margin-top: 18px;
}

.member-commerce-empty {
  margin: 0;
  padding: 24px 15px;
  color: #8190a0;
  background: #f7fafc;
  border: 1px dashed var(--line);
  border-radius: 11px;
  font-size: 9px;
  line-height: 1.6;
  text-align: center;
}

.member-commerce-empty.is-error {
  color: #a23942;
  background: #fff7f7;
  border-color: #f0cfd2;
}

.member-commerce-item {
  padding: 15px;
  background: #f7fafc;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.member-commerce-item-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.member-commerce-item-heading strong,
.member-commerce-item-heading small {
  display: block;
}

.member-commerce-item-heading strong {
  color: var(--navy);
  font-size: 11px;
}

.member-commerce-item-heading small {
  margin-top: 5px;
  color: #8190a0;
  font-size: 7px;
  overflow-wrap: anywhere;
}

.member-commerce-status {
  flex: none;
  padding: 5px 8px;
  color: #526980;
  background: #e8edf2;
  border-radius: 7px;
  font-size: 8px;
  font-weight: 900;
  white-space: nowrap;
}

.member-commerce-status.is-active {
  color: #153a94;
  background: #eef3ff;
}

.member-commerce-status.is-pending {
  color: #76570c;
  background: #fff3cf;
}

.member-commerce-status.is-warning {
  color: #a23942;
  background: #fff1f2;
}

.member-commerce-status.is-closed {
  color: #61758a;
  background: #e8edf2;
}

.member-commerce-details {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 12px;
  margin-top: 11px;
}

.member-commerce-details p {
  margin: 0;
  color: #60758b;
  font-size: 8px;
  line-height: 1.55;
}

.member-commerce-details p.is-refund {
  color: #9a4a51;
  font-weight: 800;
}

.member-commerce-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 7px;
  margin-top: 12px;
  padding-top: 11px;
  border-top: 1px solid var(--line);
}

.member-commerce-actions .button {
  text-decoration: none;
}

.member-privacy-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 18px;
}

.member-privacy-actions .button {
  width: 100%;
}

.member-privacy-note {
  margin: 13px 0 0;
  color: #8190a0;
  font-size: 8px;
  line-height: 1.65;
}

.partner-workspace {
  margin-bottom: 18px;
  padding: 28px;
  background: linear-gradient(145deg, #f7f9fc, #f5f9fd);
  border: 2px solid #4c7dff;
  border-radius: 21px;
  box-shadow: var(--shadow-soft);
}

.partner-workspace[hidden] {
  display: none;
}

.partner-workspace-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}

.partner-workspace-heading > div > span,
.partner-workspace-card-heading > span {
  color: #153a94;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: 1px;
}

.partner-workspace-heading h2 {
  margin: 8px 0 5px;
  color: var(--navy);
  font-size: 23px;
}

.partner-workspace-heading p,
.partner-workspace-card-heading p {
  margin: 0;
  color: #718398;
  font-size: 9px;
  line-height: 1.65;
}

.partner-workspace-status {
  margin: 16px 0 0;
  padding: 10px 12px;
  color: #526980;
  background: rgba(255, 255, 255, .82);
  border: 1px solid var(--line);
  border-radius: 9px;
  font-size: 8px;
  line-height: 1.6;
}

.partner-workspace-status.is-active {
  color: #153a94;
  background: #eef3ff;
  border-color: #c8d6ff;
}

.partner-workspace-status.is-error {
  color: #a23942;
  background: #fff1f2;
  border-color: #f0cfd2;
}

.partner-onboarding-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 12px;
  padding: 14px 15px;
  background: #fff8e8;
  border: 1px solid #edc98e;
  border-radius: 11px;
}

.partner-onboarding-status.is-ready {
  background: #eef3ff;
  border-color: #c8d6ff;
}

.partner-onboarding-status > div > span {
  color: #8a4f00;
  font-size: 7px;
  font-weight: 900;
  letter-spacing: .8px;
}

.partner-onboarding-status.is-ready > div > span { color: #153a94; }

.partner-onboarding-status h3 {
  margin: 4px 0 3px;
  color: var(--navy);
  font-size: 12px;
}

.partner-onboarding-status p {
  margin: 0;
  color: #60758b;
  font-size: 8px;
  line-height: 1.6;
}

.partner-quota-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin-top: 14px;
}

.partner-quota-grid article {
  padding: 17px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.partner-quota-grid span,
.partner-quota-grid strong {
  display: block;
}

.partner-quota-grid span {
  color: #8190a0;
  font-size: 8px;
}

.partner-quota-grid strong {
  margin-top: 6px;
  color: var(--navy);
  font-size: 21px;
}

.partner-quota-grid article:last-child strong {
  color: #153a94;
}

.partner-quota-period {
  margin: 9px 0 0;
  color: #718398;
  font-size: 8px;
  text-align: right;
}

.partner-workspace-forms,
.partner-workspace-lists {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 16px;
}

.partner-workspace-card {
  min-width: 0;
  padding: 20px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 15px;
}

form.partner-workspace-card {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.partner-workspace-card-heading h3 {
  margin: 7px 0 4px;
  color: var(--navy);
  font-size: 16px;
}

.partner-workspace-card .field small {
  display: block;
  margin-top: 5px;
  color: #8190a0;
  font-size: 7px;
  line-height: 1.55;
}

.partner-consent-version {
  margin: 0;
  color: #718398;
  font-size: 8px;
}

.partner-consent-version strong {
  color: var(--navy);
}

.partner-client-consent {
  margin: 0;
  padding: 12px;
  color: #526980;
  background: #f7fafc;
  border: 1px solid var(--line);
  border-radius: 10px;
  font-size: 8px;
  line-height: 1.6;
}

.partner-case-safety {
  padding: 12px 13px;
  background: #f7fafc;
  border-left: 3px solid #4c7dff;
  border-radius: 0 9px 9px 0;
}

.partner-case-safety strong,
.partner-case-safety p {
  display: block;
}

.partner-case-safety strong {
  color: var(--navy);
  font-size: 9px;
}

.partner-case-safety p {
  margin: 5px 0 0;
  color: #718398;
  font-size: 8px;
  line-height: 1.6;
}

.partner-client-list,
.partner-case-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 13px;
}

.partner-record-item {
  padding: 13px;
  background: #f7fafc;
  border: 1px solid var(--line);
  border-radius: 10px;
}

.partner-record-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.partner-record-heading strong,
.partner-record-heading small {
  display: block;
}

.partner-record-heading strong {
  color: var(--navy);
  font-size: 10px;
}

.partner-record-heading small,
.partner-record-meta {
  margin-top: 4px;
  color: #718398;
  font-size: 7px;
  line-height: 1.55;
}

.partner-record-status {
  flex: none;
  padding: 4px 7px;
  color: #526980;
  background: #e8edf2;
  border-radius: 6px;
  font-size: 7px;
  font-weight: 900;
}

.partner-record-status.is-reserved {
  color: #76570c;
  background: #fff3cf;
}

.partner-record-status.is-consumed {
  color: #153a94;
  background: #eef3ff;
}

.partner-record-status.is-review {
  color: #8a4f00;
  background: #fff3df;
}

.partner-record-status.is-published {
  color: #153a94;
  background: #eef3ff;
}

.partner-record-status.is-cancelled {
  color: #61758a;
  background: #e8edf2;
}

.partner-record-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
  padding-top: 9px;
  border-top: 1px solid var(--line);
}

.partner-record-actions .button {
  flex: 1;
  min-width: 120px;
}

.partner-case-report-status {
  margin-top: 9px;
  padding-top: 9px;
  border-top: 1px solid var(--line);
  color: #60758b;
  font-size: 8px;
  line-height: 1.6;
}

.partner-case-report-status .member-published-report-links { margin-top: 7px; }

.member-care-reminder {
  grid-column: 1 / -1;
  margin-top: 10px;
  padding: 11px 12px;
  background: #f5f8ff;
  border: 1px solid #c8d6ff;
  border-left: 4px solid #4c7dff;
  border-radius: 9px;
}

.member-care-reminder.is-due {
  background: #fff8e8;
  border-color: #edc98e;
  border-left-color: #b36700;
}

.member-care-reminder.is-missed {
  background: #f5f7fb;
  border-color: #cbd3dd;
  border-left-color: #78889a;
}

.member-care-reminder strong,
.member-care-reminder span { display: block; }
.member-care-reminder strong { color: var(--navy); font-size: 9px; }
.member-care-reminder span { margin-top: 4px; color: #60758b; font-size: 8px; line-height: 1.6; }
.member-care-reminder .button { margin-top: 8px; }

.account-deletion-dialog {
  width: min(540px, calc(100% - 30px));
  max-width: 540px;
}

.account-deletion-dialog > h2 {
  margin-bottom: 8px;
}

.account-deletion-dialog > div > p,
.account-deletion-confirm > p {
  color: #60758b;
  font-size: 10px;
  line-height: 1.7;
}

.account-deletion-effects {
  display: flex;
  flex-direction: column;
  gap: 7px;
  padding: 13px 15px 13px 30px;
  margin: 14px 0 18px;
  color: #6d4a4e;
  background: #fff7f7;
  border: 1px solid #f0cfd2;
  border-radius: 11px;
  font-size: 9px;
  line-height: 1.6;
}

.account-deletion-confirm {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-top: 14px;
}

.account-deletion-confirm[hidden] {
  display: none;
}

.account-deletion-copy {
  margin: 0;
  padding: 12px 13px;
  color: #60758b;
  background: #f7fafc;
  border: 1px solid var(--line);
  border-radius: 10px;
}

.account-deletion-copy strong {
  display: block;
  margin-top: 5px;
  color: #a23942;
  font-size: 10px;
  user-select: all;
}

.account-deletion-final-consent {
  margin: 0;
}

.account-deletion-status {
  min-height: 16px;
  margin: 12px 0 0;
  color: #718398;
  font-size: 8px;
  line-height: 1.6;
}

.product-final-confirm-dialog {
  width: min(560px, calc(100% - 30px));
  max-width: 560px;
}

.product-final-confirm-summary {
  overflow: hidden;
  margin: 18px 0;
  border: 1px solid var(--line);
  border-radius: 13px;
}

.product-final-confirm-summary > div {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  border-bottom: 1px solid var(--line);
}

.product-final-confirm-summary > div:last-child { border-bottom: 0; }

.product-final-confirm-summary dt,
.product-final-confirm-summary dd {
  box-sizing: border-box;
  margin: 0;
  padding: 12px 13px;
  font-size: 10px;
  line-height: 1.55;
}

.product-final-confirm-summary dt {
  color: var(--navy);
  background: #f3f7fa;
  font-weight: 850;
}

.product-final-confirm-summary dd {
  color: #526980;
  overflow-wrap: anywhere;
  white-space: pre-line;
}

.product-final-confirm-consent {
  margin: 0;
  padding: 14px;
  color: #70484d;
  background: #fff7f7;
  border: 1px solid #efcfd2;
  border-radius: 11px;
  line-height: 1.65;
}

.product-final-confirm-consent em { color: #a23942; font-style: normal; }

.product-final-confirm-actions {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 10px;
  margin-top: 18px;
}

.product-final-confirm-actions .button { width: 100%; }

@media (max-width: 720px) {
  .member-commerce-grid,
  .member-privacy-actions {
    grid-template-columns: 1fr;
  }

  .member-order-panel {
    grid-column: auto;
  }

  .member-commerce-panel {
    padding: 22px 16px;
  }

  .member-commerce-heading,
  .member-commerce-item-heading {
    align-items: stretch;
    flex-direction: column;
  }

  .member-commerce-heading .button,
  .member-commerce-actions .button {
    width: 100%;
    text-align: center;
  }

  .member-commerce-actions {
    justify-content: stretch;
  }

  .member-commerce-status {
    align-self: flex-start;
  }

  .account-deletion-dialog .field input {
    font-size: 16px;
  }

  .product-final-confirm-summary > div { grid-template-columns: 88px minmax(0, 1fr); }
  .product-final-confirm-actions { grid-template-columns: 1fr; }

  .partner-workspace {
    padding: 21px 14px;
  }

  .partner-workspace-heading,
  .partner-record-heading {
    align-items: stretch;
    flex-direction: column;
  }

  .partner-workspace-heading .button {
    width: 100%;
  }

  .partner-onboarding-status {
    align-items: stretch;
    flex-direction: column;
  }

  .partner-onboarding-status .button { width: 100%; }

  .partner-quota-grid {
    grid-template-columns: 1fr 1fr;
  }

  .partner-workspace-forms,
  .partner-workspace-lists {
    grid-template-columns: 1fr;
  }

  .partner-workspace-card {
    padding: 18px 14px;
  }

  .partner-workspace-card .field input,
  .partner-workspace-card .field select {
    font-size: 16px;
  }

  .partner-record-status {
    align-self: flex-start;
  }

  .partner-record-actions,
  .partner-record-actions .button {
    width: 100%;
  }
}

/* WEB UI PALETTE — PDF/export modes retain their own document palette. */
@media screen {
  :root {
  --navy: #20262e;
  --navy-2: #303640;
  --ink: #20262e;
  --muted: #596779;
  --line: #d5dce5;
  --paper: #ffffff;
  --blue: #2457e6;
  --blue-2: #eef3ff;
  --mint: #2457e6;
  --mint-2: #eef3ff;
  --orange: #b36700;
  --red: #c43d4b;
  --shadow: 0 22px 70px rgba(31, 35, 40, 0.1);
  --shadow-soft: 0 12px 35px rgba(31, 35, 40, 0.07);
  color: #20262e;
  background:
    radial-gradient(circle at 82% 5%, rgba(36, 87, 230, 0.055), transparent 32rem),
    #ffffff;
}

body[data-active-view="home"] {
  --ink: #20262e;
  --blue: #2457e6;
}

body[data-active-view="home"] .topbar {
  background: rgba(255, 255, 255, 0.94);
  border-bottom-color: rgba(32, 38, 46, 0.1);
}

body[data-active-view="home"] .brand small { color: #707986; }
body[data-active-view="home"] .brand-logo {
  border-color: rgba(32, 38, 46, 0.12);
  box-shadow: 0 6px 16px rgba(31, 35, 40, 0.1);
}
body[data-active-view="home"] .text-button { color: #596779; }
body[data-active-view="home"] .text-button:hover { color: #2457e6; }

body[data-active-view="home"] .topbar .button-dark,
body[data-active-view="home"] .view-home .button-primary {
  color: #ffffff;
  background: #2457e6;
  box-shadow: 0 13px 30px rgba(36, 87, 230, 0.22);
}

body[data-active-view="home"] .topbar .button-dark:hover,
body[data-active-view="home"] .view-home .button-primary:hover {
  background: #1e46b8;
  box-shadow: 0 16px 34px rgba(36, 87, 230, 0.28);
}

body[data-active-view="home"] .view-home .button-ghost {
  color: #20262e;
  background: #ffffff;
  border-color: #8391a2;
}
body[data-active-view="home"] .view-home .button-ghost:hover { border-color: #2457e6; }
body[data-active-view="home"] .view-home .eyebrow { color: #2457e6; }
body[data-active-view="home"] .view-home .hero-copy h1 em,
body[data-active-view="home"] .view-home .section-heading h2 em { color: #2457e6; }
body[data-active-view="home"] .view-home .trust-list { color: #596779; }
body[data-active-view="home"] .view-home .trust-list i {
  color: #2457e6;
  background: #eef3ff;
}

body[data-active-view="home"] .view-home .hero-panel {
  background: linear-gradient(145deg, #20262e, #303640);
  border-color: rgba(255, 255, 255, 0.09);
  box-shadow: 0 32px 80px rgba(31, 35, 40, 0.2);
}
body[data-active-view="home"] .view-home .hero-panel::before {
  background: radial-gradient(circle, rgba(36, 87, 230, 0.34), transparent 68%);
}
body[data-active-view="home"] .view-home .panel-topline > span:first-child,
body[data-active-view="home"] .view-home .score-preview > div:last-child p { color: #b6c0cd; }
body[data-active-view="home"] .view-home .live-dot {
  color: #b8caff;
  background: rgba(36, 87, 230, 0.16);
  border-color: rgba(125, 158, 241, 0.3);
}
body[data-active-view="home"] .view-home .live-dot::before {
  background: #7da0ff;
  box-shadow: 0 0 0 4px rgba(36, 87, 230, 0.2);
}
body[data-active-view="home"] .view-home .score-ring {
  background: rgba(255, 255, 255, 0.07);
  border-color: #4c7dff;
}
body[data-active-view="home"] .view-home .score-ring::before { background: #20262e; }
body[data-active-view="home"] .view-home .score-ring strong { color: #a9beff; }
body[data-active-view="home"] .view-home .score-preview > div:last-child > span,
body[data-active-view="home"] .view-home .preview-programs small { color: #b6c0cd; }
body[data-active-view="home"] .view-home .program-icon-blue,
body[data-active-view="home"] .view-home .program-icon-mint {
  color: #c4d2ff;
  background: rgba(36, 87, 230, 0.22);
}
body[data-active-view="home"] .view-home .program-icon-gray {
  color: #c8ced7;
  background: rgba(255, 255, 255, 0.08);
}
body[data-active-view="home"] .view-home .tag-good {
  color: #ffffff;
  background: #2457e6;
}
body[data-active-view="home"] .view-home .tag-check {
  color: #d5dfff;
  background: rgba(36, 87, 230, 0.2);
}
body[data-active-view="home"] .view-home .panel-foot { background: rgba(255, 255, 255, 0.055); }
body[data-active-view="home"] .view-home .panel-foot span { color: #a9beff; }
body[data-active-view="home"] .view-home .panel-foot strong { color: #e0e4ea; }

body[data-active-view="home"] .view-home .metric-strip,
body[data-active-view="home"] .view-home .feature-card {
  background: #ffffff;
  border-color: #d5dce5;
  box-shadow: 0 12px 35px rgba(31, 35, 40, 0.055);
}
body[data-active-view="home"] .view-home .metric-strip strong,
body[data-active-view="home"] .view-home .feature-number { color: #2457e6; }
body[data-active-view="home"] .view-home .metric-strip span { color: #4d5968; }
body[data-active-view="home"] .view-home .feature-card-dark,
body[data-active-view="home"] .view-home .boundary-section {
  background: linear-gradient(145deg, #20262e, #303640);
  border-color: #303640;
}
body[data-active-view="home"] .view-home .feature-card-dark .feature-number { color: #a9beff; }
body[data-active-view="home"] .view-home .feature-card p { color: #687483; }
body[data-active-view="home"] .view-home .mini-compass i { background: #4c7dff; }
body[data-active-view="home"] .view-home .risk-bars i { background: #e3e7ed; }
body[data-active-view="home"] .view-home .risk-bars i:nth-child(2) { background: #2457e6; }
body[data-active-view="home"] .view-home .risk-bars i:nth-child(3) { background: #8b96a5; }
body[data-active-view="home"] .view-home .doc-stack i {
  background: #eef3ff;
  border-color: #c8d6ff;
}
body[data-active-view="home"] .view-home .doc-stack i:nth-child(2) { background: #f1f3f6; }
body[data-active-view="home"] .view-home .doc-stack i:nth-child(3) { background: #ffffff; }
body[data-active-view="home"] .view-home .boundary-grid p {
  background: rgba(255, 255, 255, 0.055);
  border-color: rgba(255, 255, 255, 0.09);
}
body[data-active-view="home"] .view-home .boundary-grid i {
  color: #ffffff;
  background: #2457e6;
}
body[data-active-view="home"] .view-home .boundary-grid span { color: #b6c0cd; }

body[data-active-view="home"] .footer {
  color: #687483;
  background: #f7f9fc;
  border-top-color: #d5dce5;
}
body[data-active-view="home"] .footer-operator { border-color: #d5dce5; }
body[data-active-view="home"] .footer-operator p,
body[data-active-view="home"] .footer-operator address { color: #596779; }
body[data-active-view="home"] .footer-operator b { color: #2f3742; }
body[data-active-view="home"] .footer-legal button { color: #596779; }

body[data-active-view="home"] :is(button, a, input, select, textarea):focus-visible {
  outline: 3px solid #4c7dff;
  outline-offset: 3px;
}
body[data-active-view="home"] .button:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 2px #ffffff, 0 0 0 5px #4c7dff;
}

/* Shared web surfaces */
body {
  color: #20262e;
  background:
    radial-gradient(circle at 86% 4%, rgba(36, 87, 230, 0.045), transparent 34rem),
    #f7f9fc;
}

.topbar {
  background: rgba(255, 255, 255, 0.95);
  border-bottom-color: rgba(32, 38, 46, 0.1);
}

.brand small,
.text-button,
.back-link { color: #596779; }

.brand-logo {
  border-color: rgba(32, 38, 46, 0.12);
  box-shadow: 0 6px 16px rgba(31, 35, 40, 0.1);
}

.text-button:hover,
.back-link:hover,
.signup-agreement button,
.announcement-meta b,
.report-candidate-table article > span,
.report-candidate-table article > small a,
.report-block-title > span,
.product-items i,
.member-panel-label,
.admin-result-delivery b,
.admin-member-list .member-business-number,
.product-document-section > div:first-child > span,
.product-auto-feedback > span,
.product-report-section-heading > span,
.product-expert-scope strong,
.product-expert-opinion strong,
.product-expert-finding b,
.review-sample-picker > div:first-child > span,
.admin-revenue-card > div:first-child > span,
.admin-priority-card > div:first-child > span,
.admin-activity-heading > div > span,
.admin-members-card > div > span,
.admin-product-toggle span,
.sample-service-button {
  color: #2457e6 !important;
}

.button-primary,
.topbar .button-dark,
.admin-primary-button,
.admin-tool-primary {
  color: #ffffff !important;
  background: #2457e6 !important;
  border-color: #2457e6 !important;
  box-shadow: 0 13px 30px rgba(36, 87, 230, 0.22);
}

.button-primary:hover,
.topbar .button-dark:hover,
.admin-primary-button:hover,
.admin-tool-primary:hover {
  color: #ffffff !important;
  background: #1e46b8 !important;
  border-color: #1e46b8 !important;
  box-shadow: 0 16px 34px rgba(36, 87, 230, 0.28);
}

.button-dark {
  color: #ffffff;
  background: #20262e;
  border-color: #20262e;
}

.button-dark:hover {
  background: #303640;
  border-color: #303640;
}

.button-ghost {
  color: #20262e;
  background: #ffffff;
  border-color: #8391a2;
}

.button-ghost:hover {
  color: #2457e6;
  border-color: #2457e6;
}

.eyebrow,
.hero-copy h1 em,
.section-heading h2 em,
.result-heading h1 em,
.announcements-heading-row h1 em,
.metric-strip strong,
.feature-number {
  color: #2457e6;
}

.eyebrow > span { background: #2457e6; }

.hero-panel,
.feature-card-dark,
.boundary-section,
.result-hero,
.action-plan,
.report-action-plan,
.report-signup-cta,
.partner-note,
.superadmin-panel {
  background: linear-gradient(145deg, #20262e, #303640);
  border-color: #303640;
}

.service-sample-shell:not(.pdf-exporting) .service-sample-cover {
  background:
    radial-gradient(circle at 84% 18%, rgba(36, 87, 230, 0.3), transparent 27%),
    linear-gradient(145deg, #20262e, #303640);
}

.service-sample-shell:not(.pdf-exporting) .service-sample-method {
  background: #292f38;
}

.detailed-report-cover {
  background:
    radial-gradient(circle at 84% 18%, rgba(36, 87, 230, 0.3), transparent 27%),
    linear-gradient(145deg, #20262e, #303640);
}

.product-auto-feedback:not(.product-pdf-exporting) .product-report-cover,
.product-auto-feedback:not(.product-pdf-exporting) .product-report-management-conclusion {
  background:
    radial-gradient(circle at 88% 12%, rgba(36, 87, 230, 0.26), transparent 28%),
    linear-gradient(145deg, #20262e, #303640);
}

.product-auto-feedback:not(.product-pdf-exporting) .product-report-cover > span,
.product-auto-feedback:not(.product-pdf-exporting) .product-report-management-conclusion > strong {
  color: #a9beff;
}

.product-auto-feedback:not(.product-pdf-exporting) :is(
  .product-report-executive,
  .product-report-evidence,
  .product-report-expert,
  .product-report-analysis
) {
  background: linear-gradient(145deg, #ffffff, #f7f9fc);
  border-color: #c8d6ff;
}

.product-auto-feedback:not(.product-pdf-exporting) .product-report-expert {
  border-color: #4c7dff;
}

.product-auto-feedback:not(.product-pdf-exporting) .product-expert-finding {
  border-left-color: #2457e6;
}

.hero-panel::before {
  background: radial-gradient(circle, rgba(36, 87, 230, 0.34), transparent 68%);
}

.live-dot,
.score-ring strong,
.panel-foot span,
.feature-card-dark .feature-number,
.report-action-plan p,
.report-action-plan li b,
.report-signup-cta span,
.service-sample-shell:not(.pdf-exporting) .service-sample-cover > div > span,
.service-sample-shell:not(.pdf-exporting) .service-sample-cover aside small,
.service-sample-shell:not(.pdf-exporting) .service-sample-method b,
.superadmin-panel span,
.result-score-row strong {
  color: #a9beff;
}

.live-dot {
  background: rgba(36, 87, 230, 0.16);
  border-color: rgba(125, 158, 241, 0.32);
}

.live-dot::before {
  background: #7da0ff;
  box-shadow: 0 0 0 4px rgba(36, 87, 230, 0.2);
}

.score-ring {
  border-color: #4c7dff;
}

.score-ring::before { background: #20262e; }

.program-icon-blue,
.program-icon-mint {
  color: #c4d2ff;
  background: rgba(36, 87, 230, 0.22);
}

.trust-list i,
.announcement-number,
.product-items i,
.report-block-title > span,
.insight-item > i,
.document-item > i {
  color: #2457e6;
  background: #eef3ff;
}

.metric-strip,
.feature-card,
.report-block,
.price-card,
.signup-card,
.member-stats,
.member-panel,
.admin-nav,
.admin-content,
.admin-activity-card,
.admin-revenue-card,
.admin-members-card,
.admin-member-content,
.admin-priority-card,
.admin-quote-only,
.announcement-card,
.announcement-toolbar,
.source-badge,
.product-dialog,
.legal-dialog {
  border-color: #d5dce5;
  box-shadow: 0 12px 35px rgba(31, 35, 40, 0.065);
}

.footer {
  color: #687483;
  background: #f7f9fc;
  border-top-color: #d5dce5;
}

.footer-operator { border-color: #d5dce5; }
.footer-operator p,
.footer-operator address { color: #596779; }
.footer-operator b { color: #2f3742; }
.footer-legal button { color: #596779; }

.pricing-tabs,
.pricing-boundary,
.payment-summary,
.plan-detail-summary,
.diagnostic-official-announcements,
.conversion-card {
  background: #eef3ff;
  border-color: #c8d6ff;
}

.announcement-link,
.sample-service-button {
  color: #2457e6;
  background: #eef3ff;
  border-color: #c8d6ff;
}

.announcement-link:hover,
.sample-service-button:hover { background: #dfe8ff; }

.pricing-tabs button.is-active,
.review-sample-tabs button.is-active,
.admin-member-tabs button.is-active,
.password-reset-progress li.is-active span,
.password-reset-progress li.is-complete span,
.service-sample-content section > div span,
.report-sample-badge,
.popular-badge,
.action-plan li b,
.boundary-grid i,
.check-card input:checked + .check-box {
  color: #ffffff;
  background: #2457e6;
  border-color: #2457e6;
}

.signup-selected-plan,
.admin-nav button.is-active,
.check-card:has(input:checked),
.signup-type input:checked + span {
  background: #eef3ff;
  border-color: #4c7dff;
}

.signup-selected-plan span {
  color: #ffffff;
  background: #2457e6;
}

.source-badge > i {
  background: #eef3ff;
  border-color: #2457e6;
  box-shadow: inset 0 0 0 2px #20262e;
}

.product-auto-feedback,
.admin-priority-card {
  border-color: #4c7dff;
}

.admin-member-search > div:focus-within {
  border-color: #4c7dff;
  box-shadow: 0 0 0 3px rgba(76, 125, 255, 0.18);
}

.admin-calendar-day.is-today { border-color: #4c7dff; }

.admin-calendar-day.is-selected {
  color: #ffffff;
  background: #2457e6;
  border-color: #2457e6;
}

.admin-calendar-day.is-selected small {
  color: #153a94;
  background: #eef3ff;
}

input[type="checkbox"],
input[type="radio"],
.consent-line input,
.document-item input,
.manager-contact-heading input,
.signup-agreement input,
.rule-row input[type="checkbox"] {
  accent-color: #2457e6;
}

:is(button, a, input, select, textarea):focus-visible,
.check-card:has(input:focus-visible),
.signup-type input:focus-visible + span {
  outline: 3px solid #4c7dff;
  outline-offset: 3px;
}

.button:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 2px #ffffff, 0 0 0 5px #4c7dff;
}

/* Positive, valid, and eligible states use the cobalt family; warnings and errors retain their semantic colors. */
.tag-good,
.report-status.good,
.announcement-application-status.open,
.signup-result,
#emailCodeField.is-verified input,
.admin-assessment.is-passed,
.member-subscription-info .is-active,
.member-product-tags b,
.admin-calendar-day small,
.quote-request-list article > div span,
.partner-record-status.is-consumed {
  color: #153a94 !important;
  background: #eef3ff !important;
  border-color: #7da0ff !important;
}

.quote-success-icon,
.partner-note .quote-request-button {
  color: #ffffff !important;
  background: #2457e6;
  border-color: #2457e6;
}

.partner-note .quote-request-button:hover {
  color: #ffffff !important;
  background: #1e46b8;
  border-color: #1e46b8;
}

.announcement-application-status.urgent,
.admin-caution,
.official-review-grid > div,
.partner-record-status.is-reserved {
  color: #8a4f00;
  background: #fff3df;
  border-color: #edc98e;
}

.diagnostic-submit-error,
.account-deletion-effects,
.product-final-confirm-consent,
.report-candidate-table .report-policy-unavailable {
  color: #9b303c;
  background: #fff0f2;
  border-color: #efc4ca;
}

/* html2canvas/PDF export nodes retain the established document palette. */
.service-sample-shell.pdf-exporting,
.service-report-pdf-stage,
.product-auto-feedback.product-pdf-exporting {
  --navy: #081b33;
  --navy-2: #0e2949;
  --ink: #10233c;
  --muted: #65748a;
  --line: #dce5ee;
  --paper: #f6f8fb;
  --white: #ffffff;
  --blue: #4ca7ff;
  --blue-2: #dff1ff;
  --mint: #2457e6;
  --mint-2: #eef3ff;
  --orange: #ffb15b;
  --red: #e95e6b;
  --shadow: 0 22px 70px rgba(10, 35, 66, 0.12);
  --shadow-soft: 0 12px 35px rgba(10, 35, 66, 0.08);
}

.service-sample-shell.pdf-exporting .service-sample-cover {
  background: linear-gradient(135deg, #081b33, #124b78);
}

.service-sample-shell.pdf-exporting .service-sample-method {
  background: #0b2949;
}

.service-sample-shell.pdf-exporting .service-sample-content section > div span {
  color: var(--navy);
  background: var(--mint);
  border-color: var(--mint);
}

.product-auto-feedback.product-pdf-exporting {
  border-color: #4c7dff;
}
}

.care-previous-period-choice {
  margin: 0 0 18px;
  padding: 20px;
  background: #f5f7fb;
  border: 1px solid #cbd3dd;
  border-left: 5px solid #2457e6;
  border-radius: 14px;
}
.care-previous-period-choice legend {
  padding: 0 7px;
  color: #20262e;
  font-size: 14px;
  font-weight: 900;
}
.care-previous-period-choice legend em { color: #2457e6; font-size: 11px; font-style: normal; }
.care-previous-period-choice > p { margin: 4px 0 14px; color: #596779; font-size: 13px; line-height: 1.65; }
.care-previous-period-choice > div { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.care-previous-period-choice label { display: flex; min-height: 74px; align-items: flex-start; gap: 10px; padding: 14px; background: #fff; border: 1px solid #d5dce5; border-radius: 11px; cursor: pointer; }
.care-previous-period-choice label:has(input:checked) { background: #eef3ff; border-color: #2457e6; box-shadow: 0 0 0 2px rgba(36, 87, 230, .09); }
.care-previous-period-choice input { width: 18px; height: 18px; margin-top: 2px; accent-color: #2457e6; }
.care-previous-period-choice span { display: flex; flex-direction: column; gap: 5px; }
.care-previous-period-choice strong { color: #20262e; font-size: 13px; line-height: 1.4; }
.care-previous-period-choice small { color: #596779; font-size: 11px; line-height: 1.55; }
.care-previous-period-choice #carePreviousPeriodStatus { margin: 12px 0 0; color: #244aa6; font-weight: 800; }
.product-work-draft-status,
.product-work-persistent-alert {
  margin: 0 0 14px;
  padding: 12px 14px;
  border-radius: 10px;
  font-size: 13px;
  line-height: 1.6;
}
.product-work-draft-status { color: #244aa6; background: #eef3ff; border: 1px solid #c7d6ff; }
.product-work-persistent-alert { color: #8d2630; background: #fff2f3; border: 1px solid #efc3c7; font-weight: 800; }
.product-work-processing-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin: 0 0 14px;
  padding: 0;
  list-style: none;
}
.product-work-processing-steps li { padding: 10px 8px; color: #66717f; background: #f5f7fb; border: 1px solid #d5dce5; border-radius: 9px; font-size: 11px; font-weight: 800; text-align: center; }
.product-work-processing-steps li.is-active { color: #153a94; background: #eef3ff; border-color: #8ca8ff; }
.product-work-processing-steps li.is-complete { color: #fff; background: #2457e6; border-color: #2457e6; }
@media (max-width: 640px) {
  .care-previous-period-choice { padding: 16px 13px; }
  .care-previous-period-choice > div { grid-template-columns: 1fr; }
  .care-previous-period-choice label { min-height: 44px; }
  .care-previous-period-choice > p, .care-previous-period-choice strong { font-size: 14px; }
  .care-previous-period-choice small { font-size: 13px; }
  .product-work-processing-steps { grid-template-columns: 1fr 1fr; }
  .product-work-processing-steps li { font-size: 12px; }
}

@media (max-width: 720px) {
  .service-sample-shell:not(.pdf-exporting) .service-report-title > span {
    display: inline-block;
    font-size: 10px;
    line-height: 1.45;
  }
  .service-sample-shell:not(.pdf-exporting) .service-document-review .service-report-title > p {
    font-size: 11px;
    line-height: 1.65;
  }
  .service-sample-shell:not(.pdf-exporting) .document-review-list p,
  .service-sample-shell:not(.pdf-exporting) .service-analysis-list p {
    font-size: 11px;
    line-height: 1.7;
  }
  .service-sample-shell:not(.pdf-exporting) .document-review-list article > div:first-child span {
    font-size: 9px;
    line-height: 1.35;
  }
}

/* Risk chapters retain semantic red on the web and in captured reports. */
.service-sample-shell .service-sample-content section.is-risk-priority { border-color: #d5dce5; }
.service-sample-shell .service-sample-content section.is-risk-priority > div:first-child > span { color: #ffffff; background: #d84e59; border-color: #d84e59; }
.service-sample-shell .service-sample-content section.is-risk-priority h2 { color: #20262e; }
.service-sample-shell .service-sample-content section.is-risk-priority .service-analysis-list article { background: #fff7f7; border-left-color: #d84e59; }
.service-sample-shell .service-sample-content section.is-risk-priority .service-analysis-list strong { color: #20262e; }

/* DESKTOP READABILITY — screen layouts only; PDF export roots are excluded. */
@media screen and (min-width: 721px) {
  .topbar { min-height: 80px; height: auto; gap: 24px; padding: 15px max(32px, calc((100vw - 1200px) / 2)); }
  .topbar .brand { flex-shrink: 0; gap: 12px; }
  .topbar .brand-logo { flex-basis: 48px; width: 48px; height: 48px; }
  .topbar .brand strong { font-size: 19px; letter-spacing: -.5px; }
  .topbar .brand small { font-size: 11px; line-height: 1.5; letter-spacing: .65px; }
  .top-actions { flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
  .top-actions :is(.text-button, .button-small) { min-height: 42px; padding-inline: 13px; font-size: 13px; white-space: nowrap; }
  .view-home :is(h1, h2, h3, p, strong, li),
  .view-pricing :is(h1, h2, h3, p, strong, li),
  .view-announcements :is(h1, h2, p, strong),
  :is(.login-shell, .signup-shell:not(.product-work-shell), .product-work-form, .diagnostic-shell, .product-dialog, .legal-dialog, .member-shell, .admin-shell) :is(h1, h2, h3, p, li, small, strong, label) {
    word-break: keep-all;
    overflow-wrap: anywhere;
  }
  :is(.view-home, .view-pricing, .view-announcements, .signup-card, .form-card, .product-dialog, .legal-dialog) .button { min-height: 50px; padding: 12px 22px; line-height: 1.5; }
  :is(.topbar, .signup-card, .form-card, .product-dialog, .legal-dialog) .button-small { min-height: 42px; padding: 10px 16px; font-size: 13px; }
  :is(.view-home, .view-pricing, .view-announcements, .signup-heading, .form-header, .member-header, .admin-header, .product-dialog, .legal-dialog) .eyebrow { font-size: 12px; line-height: 1.5; letter-spacing: 1px; }

  /* Public pages: restrained headings, readable details and even card spacing. */
  .hero-shell { width: min(1200px, calc(100% - 64px)); min-height: 0; grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr); gap: clamp(32px, 4vw, 64px); padding: 64px 0 56px; }
  .hero-copy { min-width: 0; }
  .hero-copy h1 { font-size: clamp(38px, 3.55vw, 50px); line-height: 1.28; letter-spacing: -1.8px; text-wrap: balance; }
  .hero-lead { max-width: 560px; margin-top: 22px; font-size: 16px; line-height: 1.85; letter-spacing: -.2px; }
  .hero-actions { flex-wrap: wrap; gap: 12px; margin: 28px 0 22px; }
  .hero-actions .button { min-height: 52px; font-size: 15px; }
  .trust-list { gap: 10px 16px; font-size: 12px; line-height: 1.6; }
  .hero-panel { width: 100%; min-width: 0; padding: 28px; border-radius: 24px; }
  .panel-topline > span:first-child { font-size: 12px; }
  .live-dot { font-size: 10px; }
  .score-preview { gap: 18px; padding-block: 26px; }
  .score-preview > div:last-child { min-width: 0; }
  .score-preview > div:last-child p { font-size: 12px; line-height: 1.5; }
  .score-preview h2 { font-size: 21px; line-height: 1.5; letter-spacing: -.5px; }
  .score-preview > div:last-child > span { display: block; font-size: 12px; line-height: 1.7; }
  .score-ring { width: 104px; height: 104px; }
  .score-ring::before { width: 82px; height: 82px; }
  .score-ring strong { font-size: 27px; }
  .preview-programs article { grid-template-columns: 36px minmax(0, 1fr) auto; }
  .preview-programs strong { font-size: 14px; line-height: 1.5; }
  .preview-programs small { font-size: 12px; line-height: 1.6; }
  .preview-programs .tag { font-size: 11px; white-space: nowrap; }
  .program-icon { font-size: 11px; }
  .panel-foot { gap: 16px; padding: 16px; }
  .panel-foot span { flex-shrink: 0; font-size: 11px; }
  .panel-foot strong { max-width: 310px; font-size: 12px; line-height: 1.7; }
  .metric-strip, .how-section, .boundary-section { width: min(1200px, calc(100% - 64px)); }
  .metric-strip { margin-bottom: 80px; }
  .metric-strip > div { gap: 12px; min-height: 78px; padding: 20px; }
  .metric-strip :is(strong, span) { font-size: 13px; line-height: 1.6; }
  .how-section { padding-bottom: 80px; }
  .section-heading { margin-bottom: 30px; }
  .section-heading h2, .boundary-section h2 { font-size: clamp(28px, 2.5vw, 36px); line-height: 1.4; letter-spacing: -1px; text-wrap: balance; }
  .section-heading > p:last-child { margin-top: 16px; font-size: 15px; line-height: 1.8; }
  .feature-grid { gap: 20px; }
  .feature-card { min-height: 310px; padding: 28px; border-radius: 22px; }
  .feature-number { font-size: 12px; }
  .feature-card h3 { position: relative; bottom: auto; left: auto; margin: 145px 0 10px; font-size: 22px; line-height: 1.45; letter-spacing: -.6px; }
  .feature-card p { position: static; margin: 0; font-size: 14px; line-height: 1.8; }
  .mini-compass { top: 38px; right: 30px; transform: scale(.8); transform-origin: center right; }
  .risk-bars { top: 58px; right: 34px; }
  .doc-stack { top: 51px; right: 30px; transform: scale(.9); transform-origin: center right; }
  .boundary-section { grid-template-columns: .85fr 1.15fr; gap: 40px; margin-bottom: 80px; padding: 40px; border-radius: 24px; }
  .boundary-grid p { padding: 18px; }
  .boundary-grid span { font-size: 12px; line-height: 1.75; }
  .boundary-grid strong { font-size: 14px; line-height: 1.5; }
  .pricing-shell { width: min(1200px, calc(100% - 64px)); padding: 40px 0 80px; }
  .pricing-heading { margin: 18px 0 28px; }
  .pricing-heading h1, .announcements-heading-row h1 { font-size: 34px; line-height: 1.4; letter-spacing: -1px; text-wrap: balance; }
  .pricing-heading > p:last-child { max-width: 720px; margin-top: 14px; font-size: 15px; line-height: 1.8; }
  .pricing-tabs button { min-height: 44px; font-size: 13px; }
  .pricing-grid { grid-template-columns: minmax(0, 1fr); max-width: 820px; gap: 24px; margin-inline: auto; }
  .pricing-grid-partner { grid-template-columns: minmax(0, 1fr); }
  .price-card { padding: 30px; border-radius: 20px; }
  .price-card-top :is(span, b), .popular-badge { font-size: 11px; }
  .price-card h2 { font-size: 21px; line-height: 1.5; letter-spacing: -.5px; }
  .price-card > p { min-height: 0; font-size: 14px; line-height: 1.8; }
  .price-card > .price-targets { min-height: 0; font-size: 12px; line-height: 1.75; }
  .price strong { font-size: 27px; line-height: 1.4; letter-spacing: -.7px; }
  .price small { font-size: 12px; line-height: 1.65; }
  .price-card li { font-size: 13px; line-height: 1.75; }
  .price-detail-button, .sample-service-button { min-height: 42px; font-size: 13px; line-height: 1.5; }
  .partner-note strong { font-size: 20px; line-height: 1.5; }
  .partner-note p, .pricing-boundary p { font-size: 14px; line-height: 1.8; }
  .pricing-boundary strong { font-size: 15px; line-height: 1.6; }
  .plan-comparison-heading > span { font-size: 11px; }
  .plan-comparison-heading h2 { font-size: 24px; line-height: 1.5; letter-spacing: -.6px; }
  .plan-comparison-heading p { font-size: 13px; line-height: 1.7; }
  .comparison-scroll th, .comparison-scroll td { padding: 18px 15px; font-size: 13px; line-height: 1.7; word-break: keep-all; }
  .announcements-shell { padding: 40px 0 80px; }
  .announcements-heading-row { align-items: center; margin-bottom: 28px; }
  .announcements-heading-row > div:first-child > p:last-child { font-size: 15px; line-height: 1.8; }
  .source-badge small { font-size: 11px; }
  .source-badge strong { font-size: 14px; }
  .announcement-toolbar :is(input, select) { min-height: 46px; font-size: 14px; }
  .announcement-filters button { min-height: 40px; font-size: 13px; }
  .announcement-filters label > span { font-size: 12px; }
  .announcement-filters select { min-height: 38px; font-size: 14px; }
  .announcement-status strong, .announcement-source-chip { font-size: 12px; line-height: 1.7; }
  .announcement-card { padding: 24px; }
  .announcement-card h2 { font-size: 20px; line-height: 1.5; }
  .announcement-card > p { font-size: 14px; line-height: 1.8; }
  :is(.announcement-meta, .announcement-card small, .announcement-status, .announcement-date, .announcement-link) { font-size: 12px; line-height: 1.7; }
  :is(.announcement-empty, .announcement-source-note) strong { font-size: 15px; line-height: 1.6; }
  :is(.announcement-empty, .announcement-source-note) p { font-size: 14px; line-height: 1.8; }
  .view-announcements .announcement-legal-note { font-size: 12px; line-height: 1.8; }

  /* Forms and dialogs: consistent label/input/help hierarchy. */
  :is(.login-shell, .signup-shell, .diagnostic-shell, .member-shell, .admin-shell) { padding-top: 40px; padding-bottom: 80px; }
  .signup-heading { margin: 22px 0 26px; }
  .signup-heading h1, .diagnostic-shell .form-header h1, .member-header h1, .admin-header h1 { font-size: 32px; line-height: 1.4; letter-spacing: -1px; }
  .signup-heading > p:last-child, .form-header > div > p:last-child, .member-header p:last-child, .admin-header > p:last-child { font-size: 15px; line-height: 1.8; }
  .diagnostic-shell .form-header { margin-bottom: 32px; }
  .diagnostic-shell { max-width: 960px; }
  .form-card { padding: 32px; }
  .form-card-heading { margin-bottom: 28px; padding-bottom: 22px; }
  .form-card-heading h2 { font-size: 22px; line-height: 1.5; }
  .form-card-heading p { font-size: 13px; line-height: 1.7; }
  .step, .step b { font-size: 13px; }
  .stepper { gap: 8px; }
  .stepper > span { flex: 1; max-width: 95px; }
  :is(.login-shell, .signup-shell, .diagnostic-shell, .product-dialog, .legal-dialog, .partner-workspace-card, .admin-shell) .field { min-width: 0; gap: 8px; }
  :is(.login-shell, .signup-shell, .diagnostic-shell, .product-dialog, .legal-dialog, .partner-workspace-card, .admin-shell) .field > span:first-child { font-size: 14px; line-height: 1.6; }
  :is(.login-shell, .signup-shell, .diagnostic-shell, .product-dialog, .legal-dialog, .partner-workspace-card, .admin-shell) .field :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]), select, textarea) { min-width: 0; max-width: 100%; min-height: 48px; font-size: 15px; line-height: 1.6; }
  :is(.login-shell, .signup-shell, .diagnostic-shell, .product-dialog, .legal-dialog, .partner-workspace-card, .admin-shell) .field :is(small, em) { font-size: 12px; line-height: 1.7; }
  .signup-type legend, .manager-contact-heading > span { font-size: 14px; }
  .signup-type b, .signup-selected-plan strong { font-size: 15px; line-height: 1.5; }
  .signup-type small, .manager-contact-heading label, .signup-selected-plan small, .signup-selected-plan span { font-size: 12px; line-height: 1.7; }
  .signup-agreement, .consent-line, .consent-line > span, .payment-consent, .payment-legal-link { font-size: 13px; line-height: 1.8; }
  .signup-security, .login-reset-link, .password-reset-secondary, .password-reset-status, .password-reset-step > div > p { font-size: 13px; line-height: 1.75; }
  .password-reset-progress li { min-height: 44px; font-size: 12px; }
  .password-reset-progress span { flex-shrink: 0; font-size: 11px; }
  .choice-row i { min-height: 46px; padding: 12px; font-size: 14px; line-height: 1.5; text-align: center; word-break: keep-all; }
  .check-card b { font-size: 15px; line-height: 1.6; }
  .check-card small { font-size: 12px; line-height: 1.7; }
  .yes-no-field legend { font-size: 14px; }
  .yes-no-field > small { font-size: 12px; line-height: 1.7; }
  .yes-no-field i { min-height: 44px; font-size: 14px; }
  .product-work-shell { max-width: 880px; }
  .product-panel-heading h2, .product-document-section h2 { font-size: 22px; line-height: 1.5; }
  .product-panel-heading h2 small { font-size: 12px; }
  .product-panel-heading p, .product-document-section > div:first-child > p { font-size: 14px; line-height: 1.8; }
  :is(.product-schema-radio-group, .product-schema-checkbox-group) label { min-width: 0; min-height: 44px; }
  :is(.product-schema-radio-group, .product-schema-checkbox-group) span { font-size: 14px; line-height: 1.6; }
  .product-document-upload > span, .product-import-choice strong, .product-import-chooser legend { font-size: 14px; line-height: 1.6; }
  :is(.product-document-upload > small, .product-document-upload em, .product-document-import-status, .product-document-analysis-status, .product-import-choice small, .product-import-status, .product-inspection-target small, .document-metadata-fields span) { font-size: 12px; line-height: 1.7; }
  .product-document-file-label input { max-width: 100%; font-size: 14px; }
  .document-metadata-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .document-metadata-fields input { min-width: 0; min-height: 42px; font-size: 14px; }
  .product-dialog { width: min(660px, calc(100% - 64px)); padding: 32px; }
  .product-dialog h2, .legal-dialog h2 { padding-right: 30px; font-size: 25px; line-height: 1.45; letter-spacing: -.6px; }
  .product-dialog > p:not(.eyebrow) { font-size: 14px; line-height: 1.8; }
  .product-items b { font-size: 14px; line-height: 1.6; }
  .product-items small { font-size: 12px; line-height: 1.7; }
  .product-items i { font-size: 11px; }
  .dialog-bottom { gap: 20px; }
  .dialog-bottom small { font-size: 12px; line-height: 1.7; }
  .dialog-bottom strong { font-size: 26px; line-height: 1.4; }
  .plan-detail-heading > span, .plan-detail-heading span { font-size: 11px; }
  .plan-detail-heading > strong { font-size: 23px; }
  .plan-detail-summary, .plan-detail-delivery, .payment-delivery-notice { font-size: 13px; line-height: 1.8; }
  .plan-detail-grid h3 { font-size: 15px; line-height: 1.6; }
  .plan-detail-grid li { font-size: 13px; line-height: 1.75; }
  .payment-summary { align-items: flex-start; padding: 22px; }
  .payment-summary > span { flex: 1; min-width: 0; }
  .payment-summary b { font-size: 15px; line-height: 1.6; }
  .payment-summary small { font-size: 12px; line-height: 1.7; }
  .payment-summary strong { flex-shrink: 0; font-size: 26px; line-height: 1.4; letter-spacing: -.6px; }
  .payment-contract-details { padding: 20px; gap: 16px; }
  .payment-contract-details strong { font-size: 14px; line-height: 1.6; }
  .payment-contract-details :is(ul, p) { font-size: 13px; line-height: 1.8; }
  .payment-contract-details > small { font-size: 11px; line-height: 1.7; overflow-wrap: anywhere; }
  .payment-consent > span > span { font-size: inherit; line-height: inherit; }
  .legal-effective { font-size: 12px; line-height: 1.7; }
  .legal-document h3 { font-size: 16px; line-height: 1.6; }
  .legal-document p, .privacy-table :is(strong, span) { font-size: 14px; line-height: 1.85; }

  /* Keep the approved export design separate from the readable web report. */
  .view-service-sample .service-sample-shell:not(.pdf-exporting),
  .view-results .result-shell:not(.diagnostic-pdf-exporting),
  .view .product-auto-feedback:not(.product-pdf-exporting) { font-size: 14px; line-height: 1.8; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) :is(h1, h2, h3, p, strong, li),
  .view-results .result-shell:not(.diagnostic-pdf-exporting) :is(h1, h2, h3, p, strong, li),
  .view .product-auto-feedback:not(.product-pdf-exporting) :is(h2, h3, p, strong, li, dd) { word-break: keep-all; overflow-wrap: anywhere; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) { padding-top: 36px; padding-bottom: 80px; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .service-sample-cover { grid-template-columns: minmax(0, 1fr) minmax(220px, .48fr); gap: 28px; padding: 36px; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .service-sample-cover h1 { font-size: 32px; line-height: 1.4; letter-spacing: -1px; text-wrap: balance; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .service-sample-cover > div > p { font-size: 15px; line-height: 1.8; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) :is(.service-sample-cover > div > span, .service-sample-cover aside small, .service-sample-method b, .service-report-title > span, .review-sample-picker > div:first-child > span) { font-size: 11px; line-height: 1.6; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .service-sample-cover aside strong { font-size: 18px; line-height: 1.6; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .service-sample-cover aside p { font-size: 13px; line-height: 1.7; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) :is(.service-sample-toolbar span, .service-sample-method > span, .service-sample-kpis span) { font-size: 12px; line-height: 1.7; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .service-sample-kpis strong { font-size: 25px; line-height: 1.4; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) :is(.service-sample-content, .document-review-list) { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) :is(.service-sample-content section, .service-report-narrative, .service-report-conclusion, .service-document-review) { padding: 28px; border-radius: 20px; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) :is(.service-sample-content h2, .service-report-title h2, .service-report-conclusion h2, .review-sample-picker h2) { font-size: 22px; line-height: 1.5; letter-spacing: -.5px; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .service-sample-content section > div:first-child > span { flex-shrink: 0; width: 34px; height: 34px; font-size: 12px; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) :is(.service-section-intro, .service-document-review .service-report-title > p, .service-analysis-list p, .document-review-list p, .service-report-narrative p, .service-report-conclusion p, .service-sample-content li, .review-sample-picker p) { font-size: 14px; line-height: 1.85; text-align: left; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .service-analysis-list article { padding: 18px; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) :is(.service-analysis-list strong, .document-review-list h3) { font-size: 15px; line-height: 1.7; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .document-review-list article { padding: 20px; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .document-review-list article > div:first-child { flex-wrap: wrap; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) :is(.document-review-group-title span, .document-review-group-title strong, .document-review-list b) { font-size: 12px; line-height: 1.6; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .document-review-list article > div:first-child span { font-size: 11px; line-height: 1.5; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .review-sample-tabs button { min-height: 46px; padding: 11px; font-size: 13px; line-height: 1.6; word-break: keep-all; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .service-sample-notice strong { font-size: 14px; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) :is(.service-sample-notice p, .service-sample-print-footer, .service-sample-download > p, .service-analysis-link) { font-size: 12px; line-height: 1.8; }
  .view-results .result-shell:not(.diagnostic-pdf-exporting) .result-hero { gap: 32px; min-height: 0; padding: 40px; }
  .view-results .result-shell:not(.diagnostic-pdf-exporting) .result-heading h1 { font-size: 36px; line-height: 1.4; letter-spacing: -1px; text-wrap: balance; }
  .view-results .result-shell:not(.diagnostic-pdf-exporting) .result-heading > p:nth-of-type(2) { font-size: 15px; line-height: 1.8; }
  .view-results .result-shell:not(.diagnostic-pdf-exporting) :is(.result-meta, .result-section-heading p, .reason-pills span, .candidate-status, .result-score-card > small, .legal-note, .result-download-footer, .result-pdf-download p) { font-size: 12px; line-height: 1.8; }
  .view-results .result-shell:not(.diagnostic-pdf-exporting) .result-section-heading h2 { font-size: 22px; line-height: 1.5; }
  .view-results .result-shell:not(.diagnostic-pdf-exporting) .candidate-main h3 { font-size: 17px; line-height: 1.6; }
  .view-results .result-shell:not(.diagnostic-pdf-exporting) :is(.candidate-main > p, .candidate-reference-meta dd, .insight-item small, .document-item small) { font-size: 14px; line-height: 1.8; }
  .view-results .result-shell:not(.diagnostic-pdf-exporting) :is(.candidate-reference-meta dt, .candidate-official-link) { font-size: 12px; line-height: 1.7; }
  .view-results .result-shell:not(.diagnostic-pdf-exporting) :is(.insight-item strong, .document-item strong, .action-plan li, .conversion-card p) { font-size: 15px; line-height: 1.8; }
  .view-results .result-shell:not(.diagnostic-pdf-exporting) :is(.action-plan h2, .conversion-card h2) { font-size: 24px; line-height: 1.5; }
  .view .product-auto-feedback:not(.product-pdf-exporting) .product-report-cover h2 { font-size: 30px; line-height: 1.5; letter-spacing: -.7px; }
  .view .product-auto-feedback:not(.product-pdf-exporting) :is(.product-report-section-heading h3, .product-policy-current-notices h3, .product-report-management-conclusion h3) { font-size: 22px; line-height: 1.5; }
  .view .product-auto-feedback:not(.product-pdf-exporting) :is(p, li, dd, .product-document-review-detail p, .product-report-narrative-detail p) { font-size: 14px; line-height: 1.85; }
  .view .product-auto-feedback:not(.product-pdf-exporting) :is(small, dt, .product-feedback-overview span, .product-report-scope-meta span, .product-report-narrative-detail span, .product-criterion-detail b, .product-document-review-detail strong, .product-document-review-issue strong, .product-report-metric-basis span, .product-report-metric-interpretation span) { font-size: 12px; line-height: 1.75; }
  .view .product-auto-feedback:not(.product-pdf-exporting) :is(.product-report-narrative-card > div:first-child strong, .product-document-review-card > div:first-child > div strong, .product-priority-card > div:first-child strong, .product-feedback-overview strong) { font-size: 16px; line-height: 1.6; }

  /* Customer and staff workspaces use the same readable density. */
  .member-main-grid, .member-commerce-grid, .partner-workspace-forms, .partner-workspace-lists { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
  .admin-grid { grid-template-columns: 190px minmax(0, 1fr); }
  .member-panel, .member-commerce-panel, .admin-content, .partner-workspace-card { min-width: 0; }
  :is(.member-panel, .member-commerce-panel, .admin-content, .admin-members-card, .admin-priority-card, .admin-revenue-card, .admin-activity-card, .admin-report-queue-card, .admin-member-content) { padding: 28px; }
  :is(.member-shell, .admin-shell) :is(h2, .member-commerce-heading h2, .partner-workspace-card-heading h3) { font-size: 22px; line-height: 1.5; letter-spacing: -.5px; }
  :is(.member-shell, .admin-shell) :is(p, .member-result-item small, .member-commerce-item-heading small, .member-commerce-details p, .member-empty p, .admin-document-files, .admin-empty) { font-size: 14px; line-height: 1.8; }
  :is(.member-shell, .admin-shell) :is(.member-result-item strong, .member-commerce-item-heading strong, .member-empty strong, .member-result-group-heading strong, .partner-record-heading strong, .admin-member-list > article > div:first-child strong, .admin-product-details article strong, .admin-activity-detail-list article strong, .admin-report-queue-item strong, .quote-request-list article strong) { font-size: 16px; line-height: 1.6; }
  :is(.member-shell, .admin-shell) :is(.member-panel-label, .member-commerce-heading > div > span, .admin-activity-heading > div > span, .admin-priority-card > div > span, .admin-members-card > div > span, .admin-revenue-card > div:first-child > span, .partner-workspace-heading > div > span, .partner-workspace-card-heading > span) { font-size: 11px; line-height: 1.6; }
  :is(.member-shell, .admin-shell) :is(small, time, .member-privacy-note, .member-result-loading, .member-result-empty, .member-commerce-empty, .member-commerce-status, .member-result-group-heading span, .partner-record-meta, .partner-case-report-status, .partner-record-status, .partner-workspace-status, .partner-quota-period, .partner-consent-version, .admin-member-search > span, .admin-quote-search-result, .admin-quote-filters label, .admin-delivery-badge, .admin-report-state, .member-evidence-status, .member-delivery-status, .member-report-integrity) { font-size: 12px; line-height: 1.75; }
  :is(.member-shell, .admin-shell) .button { min-height: 44px; font-size: 13px; line-height: 1.5; white-space: normal; word-break: keep-all; }
  .member-result-item { grid-template-columns: minmax(0, 1fr) auto; padding: 18px; }
  .admin-report-queue-item { grid-template-columns: minmax(0, 1fr) auto; }
  :is(.member-result-item, .admin-report-queue-item) > div:first-child { min-width: 0; }
  .member-result-actions, .member-commerce-actions, .admin-report-queue-tools, .partner-record-actions { flex-wrap: wrap; }
  .member-commerce-item { padding: 20px; }
  .member-commerce-item-heading, .member-commerce-heading, .admin-report-queue-heading, .admin-toolbar, .partner-record-heading { flex-wrap: wrap; gap: 12px; }
  .member-shell :is(.member-care-reminder span, .member-published-reports > span) { font-size: 13px; line-height: 1.75; }
  .member-shell .member-report-warning { font-size: 13px !important; line-height: 1.75 !important; }
  .member-stats span, .partner-quota-grid span { font-size: 13px; line-height: 1.6; }
  .member-stats strong, .partner-quota-grid strong { font-size: 26px; line-height: 1.4; }
  .partner-workspace-heading h2 { font-size: 26px; }
  .partner-onboarding-status h3 { font-size: 16px; line-height: 1.6; }
  .partner-onboarding-status p, .partner-client-consent, .partner-case-safety p { font-size: 13px; line-height: 1.8; }
  .partner-case-safety strong { font-size: 14px; line-height: 1.6; }
  .admin-nav button { min-height: 46px; font-size: 14px; }
  .admin-nav button span, .admin-member-tabs span { font-size: 12px; }
  .admin-revenue-grid article { min-width: 0; padding: 18px 14px; }
  .admin-revenue-grid span { font-size: 12px; line-height: 1.6; }
  .admin-revenue-grid strong { font-size: 21px; line-height: 1.5; overflow-wrap: anywhere; }
  .admin-calendar-weekdays span, .admin-calendar-day strong { font-size: 13px; }
  .admin-calendar-day { min-height: 64px; }
  .admin-calendar-day small { font-size: 10px; }
  .admin-quote-filters :is(input, select), .admin-member-search input { min-height: 44px; font-size: 14px; }
  .admin-product-toggle strong { font-size: 15px; line-height: 1.6; }
  .admin-product-toggle > span, .admin-date-picker span { font-size: 13px; }
  .rule-row { grid-template-columns: minmax(0, 1fr) 70px; gap: 12px; }
  .rule-row.head { font-size: 13px; }
  .rule-row input[type="text"] { min-width: 0; font-size: 14px; }
  .member-product-tags b, .member-subscription-info :is(b, span), .partner-quota-control b, .partner-quota-control label > span { font-size: 12px; line-height: 1.6; }
  .admin-report-dialog :is(p, li, strong) { font-size: 14px; line-height: 1.8; }
  .admin-report-dialog :is(small, .admin-report-source span, .admin-report-action-status) { font-size: 12px; line-height: 1.7; }
  .admin-report-dialog :is(h3, .admin-report-section-heading h3) { font-size: 18px; line-height: 1.6; }
  .footer { grid-template-columns: minmax(230px, .85fr) minmax(0, 1.3fr) minmax(200px, .8fr); gap: 28px; padding: 32px max(32px, calc((100vw - 1200px) / 2)); font-size: 12px; line-height: 1.7; }
  .footer-brand strong { font-size: 17px; }
  .footer-brand small { font-size: 10px; line-height: 1.6; }
  .footer-operator :is(p, address) { font-size: 12px; line-height: 1.8; }
  .footer-operator small { font-size: 11px; line-height: 1.7; }
  .footer-legal { flex-wrap: wrap; gap: 12px; }
  .footer-legal button { min-height: 32px; font-size: 12px; }
}

@media screen and (min-width: 721px) and (max-width: 1100px) {
  .topbar { display: grid; grid-template-columns: 1fr; gap: 10px; padding-block: 14px 12px; }
  .top-actions { justify-content: flex-start; gap: 10px; }
  .hero-shell { grid-template-columns: minmax(0, 1fr); gap: 32px; padding-top: 44px; }
  .hero-copy { max-width: 760px; }
  .hero-copy h1 { max-width: 720px; font-size: 42px; text-wrap: pretty; }
  .hero-panel { max-width: 760px; }
  .pricing-grid, .pricing-grid-partner { grid-template-columns: minmax(0, 1fr); }
  .price-card > p { min-height: 0; }
  .metric-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .metric-strip > div:nth-child(2n) { border-right: 0; }
  .metric-strip > div:nth-child(-n + 2) { border-bottom: 1px solid var(--line); }
  .feature-grid { grid-template-columns: minmax(0, 1fr); }
  .feature-card { min-height: 0; }
  .feature-card h3 { margin-top: 130px; }
  .boundary-section { grid-template-columns: minmax(0, 1fr); gap: 28px; padding: 32px; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .service-sample-cover { grid-template-columns: minmax(0, 1fr); }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .service-sample-method { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .service-sample-method > span { border-bottom: 1px solid rgba(255, 255, 255, .1); }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .service-sample-method > span:nth-child(3n) { border-right: 0; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .review-sample-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) :is(.service-sample-content, .document-review-list) { grid-template-columns: minmax(0, 1fr); }
  .view-results .result-shell:not(.diagnostic-pdf-exporting) :is(.result-hero, .result-two-column, .action-plan) { grid-template-columns: minmax(0, 1fr); }
  .member-main-grid, .member-commerce-grid, .partner-workspace-forms, .partner-workspace-lists { grid-template-columns: minmax(0, 1fr); }
  .diagnostic-shell .form-header { grid-template-columns: 120px minmax(0, 1fr) 120px; }
  .member-result-item, .admin-report-queue-item { grid-template-columns: minmax(0, 1fr); }
  .member-result-actions, .member-commerce-actions { justify-content: flex-start; }
  .admin-grid { grid-template-columns: minmax(0, 1fr); }
  .admin-nav { display: flex; flex-wrap: wrap; gap: 8px; }
  .footer { grid-template-columns: minmax(0, 1fr); align-items: flex-start; gap: 20px; }
  .footer-operator { padding: 18px 0 0; border-left: 0; border-top: 1px solid var(--line); }
  .footer-disclosure { align-items: flex-start; text-align: left; }
}

/* MOBILE READABILITY — public pages, forms, reports and account workspaces. */
/* Public mobile screens. Screen-only rules keep print and PDF layouts intact. */
@media screen and (max-width: 720px) {
  .topbar {
    gap: 10px;
    min-height: 114px;
    padding: 12px 16px 10px;
  }

  .topbar .brand { gap: 10px; }
  .topbar .brand strong { font-size: clamp(16px, 4.6vw, 19px); letter-spacing: -.45px; }
  .topbar .brand small { font-size: 10px; line-height: 1.45; letter-spacing: .65px; }
  .topbar .brand-logo { flex-basis: 44px; width: 44px; height: 44px; }
  .top-actions { gap: 5px; }
  .top-actions .text-button,
  .top-actions .button-small { min-height: 40px; padding-inline: 3px; font-size: 12px; line-height: 1.3; }

  .hero-shell,
  .how-section,
  .boundary-section,
  .metric-strip,
  .announcements-shell,
  .pricing-shell { width: calc(100% - 32px); }

  .view-home :is(h1, h2, h3, p, strong, li),
  .view-pricing :is(h1, h2, h3, p, strong, li),
  .view-announcements :is(h1, h2, p, strong),
  .footer :is(p, address, small) { word-break: keep-all; overflow-wrap: anywhere; }

  .view-home .eyebrow,
  .pricing-heading .eyebrow,
  .announcements-header .eyebrow { gap: 8px; font-size: 11px; letter-spacing: .8px; line-height: 1.5; }

  .hero-shell { gap: 30px; min-height: 0; padding: 34px 0 40px; }
  .hero-copy h1 { font-size: clamp(27px, 7.4vw, 32px); line-height: 1.3; letter-spacing: -1.1px; text-wrap: balance; }
  .hero-lead { margin-top: 20px; font-size: 14px; line-height: 1.8; letter-spacing: -.2px; }
  .hero-actions { gap: 10px; margin: 25px 0 20px; }
  .hero-actions .button { min-height: 52px; padding: 12px 16px; font-size: 15px; line-height: 1.4; }
  .trust-list { gap: 9px 12px; font-size: 11px; line-height: 1.55; }
  .trust-list li { display: flex; align-items: center; }
  .trust-list i { flex: 0 0 17px; }

  .hero-panel { width: 100%; padding: 20px 17px; border-radius: 21px; }
  .panel-topline > span:first-child { font-size: 12px; }
  .live-dot { font-size: 10px; letter-spacing: .8px; }
  .score-preview { gap: 13px; margin-block: 24px; }
  .score-ring { flex: 0 0 88px; width: 88px; height: 88px; }
  .score-ring::before { width: 71px; height: 71px; }
  .score-ring strong { font-size: 25px; }
  .score-preview > div:last-child { min-width: 0; }
  .score-preview > div:last-child p { font-size: 12px; line-height: 1.5; }
  .score-preview h2 { font-size: 18px; line-height: 1.45; letter-spacing: -.5px; }
  .score-preview > div:last-child > span { display: block; font-size: 11px; line-height: 1.6; }
  .preview-programs article { grid-template-columns: 32px minmax(0, 1fr) auto; gap: 9px; padding-block: 13px; }
  .preview-programs .program-icon { width: 32px; height: 32px; font-size: 10px; }
  .preview-programs strong { font-size: 13px; line-height: 1.45; }
  .preview-programs small { font-size: 11px; line-height: 1.5; }
  .preview-programs .tag { grid-column: auto; padding: 6px 7px; font-size: 10px; line-height: 1.3; white-space: nowrap; }
  .panel-foot { gap: 7px; padding: 14px; }
  .panel-foot span { font-size: 11px; }
  .panel-foot strong { max-width: none; font-size: 12px; line-height: 1.65; }

  .metric-strip { grid-template-columns: 1fr 1fr; margin-bottom: 52px; border-radius: 16px; }
  .metric-strip > div { gap: 8px; min-height: 74px; padding: 14px 12px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .metric-strip > div:nth-child(2n) { border-right: 0; }
  .metric-strip > div:nth-last-child(-n + 2) { border-bottom: 0; }
  .metric-strip strong { font-size: 12px; }
  .metric-strip span { font-size: 12px; line-height: 1.55; }
  .how-section { padding-bottom: 52px; }
  .section-heading { margin-bottom: 24px; }
  .section-heading h2,
  .boundary-section h2 { font-size: clamp(23px, 6.1vw, 26px); line-height: 1.4; letter-spacing: -.7px; text-wrap: balance; }
  .section-heading > p:last-child { margin-top: 13px; font-size: 14px; line-height: 1.75; }
  .feature-grid { gap: 12px; }
  .feature-card { min-height: 0; padding: 22px; border-radius: 20px; }
  .feature-number { font-size: 12px; }
  .feature-card h3 { position: relative; bottom: auto; left: auto; margin: 110px 0 10px; font-size: 20px; line-height: 1.4; letter-spacing: -.5px; }
  .feature-card p { position: static; margin: 0; font-size: 13px; line-height: 1.75; }
  .mini-compass { top: 36px; right: 29px; transform: scale(.75); transform-origin: center right; }
  .risk-bars { top: 43px; right: 27px; transform: scale(.85); transform-origin: center right; }
  .doc-stack { top: 40px; right: 24px; transform: scale(.8); transform-origin: center right; }
  .boundary-section { gap: 24px; margin-bottom: 52px; padding: 25px 20px; border-radius: 21px; }
  .boundary-grid { gap: 10px; }
  .boundary-grid p { gap: 10px; padding: 14px; }
  .boundary-grid span { gap: 5px; font-size: 12px; line-height: 1.6; }
  .boundary-grid strong { font-size: 14px; }

  .pricing-shell { padding: 24px 0 56px; }
  .pricing-heading { margin: 18px 0 23px; text-align: left; }
  .pricing-heading .eyebrow { justify-content: flex-start; }
  .pricing-heading h1 { font-size: clamp(24px, 6.2vw, 27px); line-height: 1.4; letter-spacing: -.7px; text-wrap: balance; }
  .pricing-heading > p:last-child { margin-top: 12px; font-size: 14px; line-height: 1.8; }
  .pricing-tabs { margin-bottom: 25px; }
  .pricing-tabs button { min-height: 44px; padding-inline: 9px; font-size: 13px; line-height: 1.4; }
  .pricing-grid { gap: 22px; }
  .price-card { padding: 23px 20px; border-radius: 19px; }
  .price-card-top span { font-size: 11px; letter-spacing: .8px; }
  .price-card-top b { padding: 5px 8px; font-size: 11px; }
  .popular-badge { padding: 6px 11px; font-size: 11px; }
  .price-card h2 { margin: 20px 0 10px; font-size: 20px; line-height: 1.4; letter-spacing: -.5px; }
  .price-card > p { min-height: 0; font-size: 14px; line-height: 1.75; }
  .price-card > .price-targets { margin-top: 13px; font-size: 12px; line-height: 1.8; }
  .price { margin: 22px 0 18px; padding-bottom: 18px; }
  .price strong { font-size: 25px; line-height: 1.35; letter-spacing: -.6px; }
  .price small { margin-top: 8px; font-size: 12px; line-height: 1.7; }
  .price-card ul { gap: 9px; margin-bottom: 20px; }
  .price-card li { padding-left: 19px; font-size: 13px; line-height: 1.7; }
  .price-detail-button { min-height: 44px; font-size: 13px; line-height: 1.5; }
  .sample-service-button { min-height: 44px; padding: 11px; font-size: 13px; line-height: 1.5; }
  .price-card .button { min-height: 50px; padding: 12px 14px; font-size: 14px; line-height: 1.5; }
  .partner-note { padding: 23px 20px; }
  .partner-note strong { font-size: 18px; line-height: 1.5; }
  .partner-note p { font-size: 13px; line-height: 1.8; }
  .plan-comparison { margin-top: 32px; }
  .plan-comparison-heading > span { font-size: 11px; }
  .plan-comparison-heading h2 { font-size: 20px; line-height: 1.45; letter-spacing: -.5px; }
  .plan-comparison-heading p { font-size: 12px; line-height: 1.6; }
  .comparison-scroll { max-width: 100%; -webkit-overflow-scrolling: touch; overscroll-behavior-inline: contain; }
  .comparison-scroll table { min-width: 820px; }
  .comparison-scroll th,
  .comparison-scroll td { padding: 14px 12px; font-size: 12px; line-height: 1.65; word-break: keep-all; }
  .comparison-scroll tr > th:first-child { position: sticky; left: 0; z-index: 1; min-width: 133px; box-shadow: 1px 0 0 var(--line); }
  .comparison-scroll thead tr > th:first-child { z-index: 2; }
  .pricing-boundary { padding: 19px 17px; text-align: left; }
  .pricing-boundary strong { font-size: 14px; line-height: 1.5; }
  .pricing-boundary p { font-size: 12px; line-height: 1.8; }

  .announcements-shell { padding: 25px 0 56px; }
  .announcements-header .back-link { margin-bottom: 20px; }
  .announcements-heading-row { gap: 18px; margin-bottom: 20px; }
  .announcements-heading-row h1 { font-size: clamp(24px, 6.2vw, 27px); line-height: 1.4; letter-spacing: -.7px; }
  .announcements-heading-row > div:first-child > p:last-child { margin-top: 12px; font-size: 14px; line-height: 1.8; }
  .source-badge { min-width: 0; padding: 13px 14px; box-shadow: none; }
  .source-badge small { font-size: 11px; }
  .source-badge strong { font-size: 14px; line-height: 1.5; }
  .announcement-toolbar { gap: 8px; padding: 10px; }
  .announcement-search input { min-height: 44px; padding-block: 11px; font-size: 16px; }
  .announcement-toolbar .button { min-height: 44px; font-size: 13px; }
  .announcement-filters { gap: 8px; }
  .announcement-filters label { height: auto; min-height: 62px; flex-direction: column; align-items: stretch; justify-content: center; gap: 5px; padding: 9px 11px; }
  .announcement-filters label > span { margin: 0; font-size: 11px; }
  .announcement-filters select { min-height: 24px; font-size: 16px; line-height: 1.4; }
  .announcement-filter-reset { min-height: 44px; align-self: center; font-size: 12px; }
  .announcement-status { align-items: flex-start; flex-direction: column; gap: 5px; margin: 13px 0; font-size: 11px; line-height: 1.6; }
  .announcement-status > div { align-items: flex-start; }
  .announcement-status strong { font-size: 12px; line-height: 1.6; }
  .connection-dot { flex-shrink: 0; margin-top: 5px; }
  .announcement-source-connectivity { gap: 6px; }
  .announcement-source-chip { flex: 1 1 calc(50% - 6px); min-width: 0; gap: 5px; padding: 9px 8px; font-size: 10px; line-height: 1.5; }
  .announcement-source-chip i { flex-shrink: 0; }
  .announcement-source-chip small { margin-left: auto; font-size: 10px; }
  .announcement-list { gap: 12px; }
  .announcement-card { grid-template-columns: 32px minmax(0, 1fr); gap: 12px; min-height: 0; padding: 18px 15px; align-items: flex-start; }
  .announcement-number { width: 32px; height: 32px; font-size: 11px; border-radius: 9px; }
  .announcement-meta { gap: 6px; margin-bottom: 10px; }
  .announcement-meta b,
  .announcement-meta .announcement-application-status { font-size: 10px; line-height: 1.4; }
  .announcement-meta span { font-size: 11px; line-height: 1.5; }
  .announcement-card h2 { font-size: 16px; line-height: 1.65; letter-spacing: -.35px; }
  .announcement-card-content > p { margin-top: 9px; font-size: 12px; line-height: 1.7; overflow-wrap: anywhere; }
  .announcement-link { min-height: 42px; padding: 10px 13px; font-size: 12px; line-height: 1.5; }
  .announcement-empty { padding: 32px 20px; }
  .announcement-empty strong { font-size: 16px; line-height: 1.5; }
  .announcement-empty p { font-size: 13px; line-height: 1.75; }
  .announcement-source-note { gap: 16px; padding: 20px 17px; }
  .announcement-source-note strong { font-size: 14px; }
  .announcement-source-note p,
  .announcement-legal-note { font-size: 12px; line-height: 1.8; }
  .announcement-source-note .button { min-height: 46px; padding-inline: 12px; font-size: 13px; line-height: 1.5; }

  .footer { gap: 20px; padding: 28px 18px calc(28px + env(safe-area-inset-bottom)); font-size: 12px; line-height: 1.6; }
  .footer-brand { gap: 10px; }
  .footer-brand strong { font-size: 17px; letter-spacing: -.4px; }
  .footer-brand small { font-size: 10px; line-height: 1.6; }
  .footer-operator { padding-top: 17px; }
  .footer-operator p,
  .footer-operator address { margin-bottom: 8px; font-size: 12px; line-height: 1.85; }
  .footer-operator i { margin-inline: 5px; }
  .footer-operator small { margin-top: 12px; font-size: 11px; line-height: 1.75; }
  .footer-disclosure { gap: 13px; }
  .footer-legal { flex-wrap: wrap; gap: 8px 18px; }
  .footer-legal button { min-height: 32px; font-size: 12px; }
}

@media screen and (max-width: 359px) {
  .topbar { padding-inline: 14px; }
  .topbar .brand strong { font-size: 16px; }
  .topbar .brand small { font-size: 9px; }
  .hero-shell,
  .how-section,
  .boundary-section,
  .metric-strip,
  .announcements-shell,
  .pricing-shell { width: calc(100% - 28px); }
  .hero-copy h1 { font-size: 27px; letter-spacing: -1px; }
  .preview-programs article { grid-template-columns: 30px minmax(0, 1fr); }
  .preview-programs .tag { grid-column: 2; justify-self: start; }
  .metric-strip { grid-template-columns: 1fr; }
  .metric-strip > div { min-height: 57px; padding: 12px 16px; border-right: 0; border-bottom: 1px solid var(--line); }
  .metric-strip > div:nth-last-child(-n + 2) { border-bottom: 1px solid var(--line); }
  .metric-strip > div:last-child { border-bottom: 0; }
  .announcement-source-chip { flex-basis: 100%; }
}

/* Mobile forms and dialogs: screen-only so report/PDF layout stays independent. */
@media screen and (max-width: 720px) {
  .login-shell {
    width: calc(100% - 32px);
    padding: 28px 0 64px;
  }

  :is(.login-shell, .signup-shell) .signup-heading {
    margin: 20px 0 24px;
  }

  :is(.login-shell, .signup-shell) .signup-heading h1,
  .diagnostic-shell .form-header h1 {
    font-size: clamp(23px, 6vw, 26px);
    line-height: 1.3;
    letter-spacing: -1px;
    word-break: keep-all;
    overflow-wrap: anywhere;
    text-wrap: balance;
  }

  :is(.login-shell, .signup-shell) .signup-heading > p:last-child,
  .diagnostic-shell .form-header > div > p:last-child {
    margin-top: 10px;
    font-size: 14px;
    line-height: 1.65;
    word-break: keep-all;
    overflow-wrap: anywhere;
  }

  :is(.login-shell, .signup-shell) .signup-card,
  .diagnostic-shell .form-card {
    padding: 24px 18px;
    border-radius: 20px;
  }

  .login-card,
  .password-reset-card,
  .password-reset-step {
    gap: 20px;
  }

  :is(.diagnostic-shell, .signup-shell, .login-shell, .product-dialog) .field {
    min-width: 0;
    gap: 8px;
  }

  :is(.diagnostic-shell, .signup-shell, .login-shell, .product-dialog) .field > span:first-child {
    font-size: 14px;
    line-height: 1.5;
    word-break: keep-all;
    overflow-wrap: anywhere;
  }

  :is(.diagnostic-shell, .signup-shell, .login-shell, .product-dialog) .field input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
  :is(.diagnostic-shell, .signup-shell, .login-shell, .product-dialog) .field select,
  :is(.diagnostic-shell, .signup-shell, .login-shell, .product-dialog) .field textarea {
    box-sizing: border-box;
    min-width: 0;
    min-height: 50px;
    max-width: 100%;
    padding-inline: 13px;
    font-size: 16px;
    line-height: 1.5;
    border-radius: 11px;
  }

  :is(.diagnostic-shell, .signup-shell, .login-shell, .product-dialog) .field textarea {
    min-height: 136px;
    padding-block: 13px;
    line-height: 1.65;
  }

  :is(.diagnostic-shell, .signup-shell, .login-shell, .product-dialog) .field small,
  .product-inspection-target small {
    font-size: 12px;
    line-height: 1.65;
    word-break: keep-all;
    overflow-wrap: anywhere;
  }

  :is(.diagnostic-shell, .signup-shell, .login-shell, .product-dialog) .field em,
  :is(.diagnostic-shell, .signup-shell, .login-shell, .product-dialog) .consent-line em {
    font-size: 12px;
  }

  :is(.diagnostic-shell, .signup-shell, .login-shell, .product-dialog, .legal-dialog) .button {
    min-height: 48px;
    height: auto;
    padding: 13px 16px;
    font-size: 15px;
    line-height: 1.45;
    white-space: normal;
    word-break: keep-all;
    overflow-wrap: anywhere;
  }

  .signup-fields,
  .field-grid,
  .product-work-fields {
    gap: 22px;
  }

  .signup-type {
    gap: 10px;
    margin-bottom: 24px;
  }

  .signup-type legend,
  .manager-contact-heading > span {
    font-size: 14px;
    line-height: 1.5;
  }

  .signup-type label > span {
    min-height: 76px;
    padding: 14px;
    gap: 6px;
  }

  .signup-type b { font-size: 15px; }
  .signup-type small { font-size: 12px; line-height: 1.6; }

  .manager-contact { padding: 16px 13px; }
  .manager-contact-heading { flex-wrap: wrap; align-items: flex-start; gap: 10px; }
  .manager-contact-heading label { min-height: 32px; font-size: 12px; line-height: 1.5; }

  .signup-selected-plan {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 16px;
  }

  .signup-selected-plan span { grid-row: auto; justify-self: start; font-size: 12px; }
  .signup-selected-plan strong { font-size: 15px; line-height: 1.5; word-break: keep-all; }
  .signup-selected-plan small { font-size: 12px; line-height: 1.6; }

  .signup-agreements { margin-top: 22px; padding: 12px 14px; }

  .signup-agreement,
  .signup-agreements .signup-agreement {
    gap: 10px;
    padding-block: 9px;
    font-size: 13px;
    line-height: 1.65;
  }

  .signup-agreement input,
  :is(.diagnostic-shell, .signup-shell, .product-dialog) .consent-line > input {
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    margin: 2px 0 0;
  }

  :is(.diagnostic-shell, .signup-shell, .product-dialog) .consent-line {
    gap: 10px;
    padding: 14px;
  }

  :is(.diagnostic-shell, .signup-shell, .product-dialog) .consent-line > span {
    min-width: 0;
    font-size: 13px;
    line-height: 1.7;
    word-break: keep-all;
    overflow-wrap: anywhere;
  }

  :is(.login-shell, .signup-shell, .product-dialog) .signup-security {
    padding: 13px 14px;
    font-size: 12px;
    line-height: 1.7;
    word-break: keep-all;
    overflow-wrap: anywhere;
  }

  .login-reset-link,
  .password-reset-secondary {
    min-height: 40px;
    font-size: 13px;
    line-height: 1.5;
    text-align: center;
  }

  .login-error,
  .password-reset-status,
  .signup-result p {
    font-size: 13px;
    line-height: 1.65;
  }

  .signup-result strong,
  .password-reset-step > div > strong { font-size: 15px; line-height: 1.5; }
  .password-reset-step > div > p { font-size: 13px; line-height: 1.65; }
  .password-reset-progress { gap: 6px; }
  .password-reset-progress li { padding: 11px 6px; gap: 5px; font-size: 12px; }
  .password-reset-progress span { flex-shrink: 0; width: 22px; height: 22px; font-size: 11px; }

  .diagnostic-shell .form-header { margin-bottom: 24px; }
  .diagnostic-shell .form-header > .back-link { grid-column: 1; grid-row: 1; }
  .diagnostic-shell .form-header > div { grid-column: 1 / -1; grid-row: 2; min-width: 0; }
  .diagnostic-shell .form-header > #resetForm { grid-column: 2; grid-row: 1; justify-self: end; }
  .diagnostic-shell .stepper { gap: 8px; margin-bottom: 22px; }
  .diagnostic-shell .stepper > span { flex: 1 1 16px; width: auto; max-width: 40px; }
  .diagnostic-shell .step { flex-direction: column; gap: 7px; min-width: 58px; padding: 6px 2px; }
  .diagnostic-shell .step span { display: block; font-size: 12px; line-height: 1.4; white-space: nowrap; }
  .diagnostic-shell .step b { width: 32px; height: 32px; font-size: 12px; }
  .diagnostic-shell .form-card-heading { gap: 12px; margin-bottom: 24px; padding-bottom: 20px; }
  .diagnostic-shell .form-card-heading > span { width: 36px; height: 36px; font-size: 12px; }
  .diagnostic-shell .form-card-heading h2 { font-size: 20px; line-height: 1.4; }
  .diagnostic-shell .form-card-heading p { font-size: 13px; line-height: 1.6; }
  .diagnostic-shell .choice-row i { min-height: 48px; padding: 10px 8px; font-size: 14px; line-height: 1.45; text-align: center; word-break: keep-all; }
  .diagnostic-shell .check-card { min-height: 100px; padding: 16px; }
  .diagnostic-shell .check-card b { font-size: 14px; line-height: 1.5; }
  .diagnostic-shell .check-card small { font-size: 12px; line-height: 1.6; }
  .diagnostic-shell .input-suffix b { top: 50%; transform: translateY(-50%); font-size: 13px; }
  .diagnostic-shell .form-actions { gap: 10px; }
  .diagnostic-shell .form-actions .button { padding-inline: 10px; font-size: 14px; }

  .yes-no-field { padding: 14px; }
  .yes-no-field legend { font-size: 14px; line-height: 1.5; }
  .yes-no-field > small { min-height: 0; margin: 4px 0 12px; font-size: 12px; line-height: 1.6; }
  .yes-no-field i { min-height: 46px; font-size: 15px; }

  .product-work-shell .product-work-form { gap: 26px; }
  .product-panel-heading h2,
  .product-document-section h2 { font-size: 20px; line-height: 1.45; word-break: keep-all; overflow-wrap: anywhere; }
  .product-panel-heading h2 small { font-size: 12px; }
  .product-panel-heading p,
  .product-document-section > div:first-child > p { font-size: 14px; line-height: 1.7; word-break: keep-all; overflow-wrap: anywhere; }
  .product-work-fields { margin-top: 22px; }
  .product-inspection-target { padding: 14px; margin-top: 18px; }
  .product-schema-radio-group label,
  .product-schema-checkbox-group label { min-width: 0; min-height: 46px; padding: 11px 12px; align-items: flex-start; }
  .product-schema-radio-group input,
  .product-schema-checkbox-group input { flex: 0 0 18px; width: 18px; height: 18px; margin: 2px 0 0; }
  .product-schema-radio-group span,
  .product-schema-checkbox-group span { min-width: 0; font-size: 14px; line-height: 1.55; word-break: keep-all; overflow-wrap: anywhere; }
  .product-schema-boolean-group label { align-items: center; }

  .product-import-panel { padding: 18px 14px; }
  .product-import-chooser legend { font-size: 14px; }
  .product-import-chooser fieldset > p { font-size: 12px; line-height: 1.65; }
  .product-import-choice { padding: 12px; }
  .product-import-choice strong { font-size: 14px; line-height: 1.5; }
  .product-import-choice small { font-size: 12px; line-height: 1.6; }
  .product-import-preview { padding: 14px; }
  .product-import-preview > div:first-child strong { font-size: 14px; }
  .product-import-preview > div:first-child span,
  #productImportPreviewItems strong,
  #productImportPreviewItems p,
  .product-import-status { font-size: 13px; line-height: 1.65; }
  .care-previous-period-choice input { flex-shrink: 0; }

  .product-document-list { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .product-document-upload { padding: 16px 14px; gap: 12px; }
  .product-document-upload > span { font-size: 14px; line-height: 1.5; word-break: keep-all; }
  .product-document-upload em { font-size: 12px; }
  .product-document-file-label input { display: block; min-width: 0; width: 100%; max-width: 100%; font-size: 16px; line-height: 1.5; }
  .product-document-file-label input::file-selector-button { min-height: 42px; margin-right: 8px; padding: 9px 12px; color: #244aa6; background: #eef3ff; border: 1px solid #c8d6ff; border-radius: 8px; font: inherit; font-size: 13px; font-weight: 750; }
  .product-document-upload > small,
  .product-document-import-status,
  .product-document-analysis-status { font-size: 12px; line-height: 1.65; overflow-wrap: anywhere; }
  .document-metadata-fields { gap: 12px; }
  .document-metadata-fields span { margin-bottom: 6px; font-size: 12px; line-height: 1.5; }
  .document-metadata-fields input { box-sizing: border-box; min-width: 0; min-height: 46px; padding: 10px 12px; font-size: 16px; }
  .product-work-processing-steps { gap: 8px; }
  .product-work-processing-steps li { font-size: 12px; line-height: 1.5; }

  .product-dialog,
  .legal-dialog {
    box-sizing: border-box;
    width: calc(100% - 24px);
    max-width: 560px;
    max-height: calc(100dvh - 32px);
    padding: 28px 18px 22px;
    border-radius: 20px;
    scroll-padding-block: 20px;
  }

  .product-dialog .dialog-close,
  .legal-dialog .dialog-close { top: 12px; right: 12px; width: 36px; height: 36px; }
  .product-dialog h2,
  .legal-dialog h2 { padding-right: 30px; font-size: 21px; line-height: 1.4; letter-spacing: -.5px; word-break: keep-all; overflow-wrap: anywhere; text-wrap: balance; }
  .product-dialog > p:not(.eyebrow) { font-size: 13px; line-height: 1.7; word-break: keep-all; overflow-wrap: anywhere; }
  .product-dialog .eyebrow,
  .legal-dialog .eyebrow { padding-right: 32px; font-size: 11px; }
  .product-items > span { padding: 14px; }
  .product-items b { font-size: 14px; line-height: 1.5; }
  .product-items small { font-size: 12px; line-height: 1.6; }
  .product-items i { font-size: 11px; }
  .dialog-bottom { flex-wrap: wrap; gap: 16px; align-items: flex-end; }
  .dialog-bottom > .button { flex: 1 1 100%; }
  .dialog-bottom small { font-size: 12px; line-height: 1.5; }
  .dialog-bottom strong { font-size: 23px; line-height: 1.35; }

  .payment-summary { flex-direction: column; align-items: stretch; gap: 16px; margin: 20px 0; padding: 18px 16px; }
  .payment-summary b { font-size: 15px; line-height: 1.5; word-break: keep-all; }
  .payment-summary small { font-size: 12px; line-height: 1.55; }
  .payment-summary strong { align-items: flex-start; font-size: 24px; line-height: 1.35; text-align: left; letter-spacing: -.6px; overflow-wrap: anywhere; }
  .payment-summary strong small { font-size: 13px; letter-spacing: 0; }
  .payment-target-section { padding: 15px 13px; }
  .payment-target-section .field small { font-size: 12px; line-height: 1.65; }
  .payment-selection-status { font-size: 13px; line-height: 1.65; }
  .payment-delivery-notice { padding: 13px 14px; font-size: 13px; line-height: 1.65; }
  .payment-contract-details { gap: 16px; padding: 16px 14px; }
  .payment-contract-details strong { margin-bottom: 8px; font-size: 14px; line-height: 1.5; }
  .payment-contract-details ul { gap: 7px; padding-left: 18px; font-size: 13px; line-height: 1.65; }
  .payment-contract-details p { padding-top: 14px; font-size: 12px; line-height: 1.7; }
  .payment-contract-details > small { font-size: 11px; line-height: 1.6; overflow-wrap: anywhere; }
  .payment-consents { gap: 10px; margin-block: 18px; }
  .payment-consents .payment-consent { padding: 14px 12px; }
  .payment-consent > span > span { font-size: inherit; line-height: inherit; }
  .payment-legal-link { margin: 4px 3px 0 0; line-height: 1.7; }
  .payment-dialog > .button { margin-top: 4px; }

  .legal-effective { font-size: 12px; line-height: 1.6; }
  .legal-document { gap: 22px; }
  .legal-document h3 { margin-bottom: 9px; font-size: 15px; line-height: 1.5; }
  .legal-document p { font-size: 13px; line-height: 1.8; word-break: keep-all; overflow-wrap: anywhere; }
  .privacy-table strong,
  .privacy-table span { font-size: 13px; line-height: 1.7; }
  .product-final-confirm-summary > div { grid-template-columns: 1fr; }
  .product-final-confirm-summary dt { padding: 10px 13px 7px; font-size: 13px; }
  .product-final-confirm-summary dd { padding: 10px 13px 14px; font-size: 14px; line-height: 1.65; }
  .account-deletion-dialog > div > p,
  .account-deletion-confirm > p { font-size: 13px; line-height: 1.7; }
  .account-deletion-effects { gap: 10px; padding: 15px 14px 15px 30px; font-size: 13px; line-height: 1.65; }
  .account-deletion-copy strong { font-size: 14px; line-height: 1.5; }
  .account-deletion-status { font-size: 12px; line-height: 1.65; }
}

@media screen and (max-width: 359px) {
  :is(.login-shell, .signup-shell) .signup-card,
  .diagnostic-shell .form-card { padding: 21px 14px; }
  .signup-heading h1,
  .diagnostic-shell .form-header h1 { font-size: 23px; }
  .product-dialog,
  .legal-dialog { padding-inline: 15px; }
  .product-dialog h2,
  .legal-dialog h2 { font-size: 20px; }
  .payment-summary strong { font-size: 23px; }
  .diagnostic-shell .choice-row-3 { grid-template-columns: 1fr; }
  .password-reset-progress li { flex-direction: column; gap: 5px; }
}

/* Screen-only report and account typography. Export roots deliberately do not match. */
@media screen and (max-width: 720px) {
  .view-service-sample .service-sample-shell:not(.pdf-exporting),
  .view-results .result-shell:not(.diagnostic-pdf-exporting),
  .view .product-auto-feedback:not(.product-pdf-exporting) {
    min-width: 0;
    font-size: 14px;
    line-height: 1.7;
  }

  .view-service-sample .service-sample-shell:not(.pdf-exporting) :is(h1, h2, h3, strong, b, p, li, dt, dd, small, em),
  .view-results .result-shell:not(.diagnostic-pdf-exporting) :is(h1, h2, h3, strong, b, p, li, dt, dd, small),
  .view .product-auto-feedback:not(.product-pdf-exporting) :is(h2, h3, h4, strong, b, p, li, dt, dd, small) {
    word-break: keep-all;
    overflow-wrap: anywhere;
  }

  /* All sample types and customer full reports share this screen shell. */
  .view-service-sample .service-sample-shell:not(.pdf-exporting) { width: calc(100% - 32px); padding-top: 26px; }
  .customer-report-context-note,
  .customer-report-current-overlay { width: calc(100% - 32px); }
  .customer-report-context-note { margin-top: 26px; margin-bottom: -8px; }
  .customer-report-context-note strong { font-size: 15px; line-height: 1.55; }
  .customer-report-context-note p,
  .customer-report-current-overlay :is(.current-policy-overlay-description, .current-policy-overlay-state p, .product-policy-agency, .policy-eligibility-check-list p) { font-size: 13px !important; line-height: 1.75 !important; }
  .customer-report-current-overlay .current-policy-overlay-heading span,
  .customer-report-current-overlay .current-policy-overlay-heading time,
  .customer-report-current-overlay .policy-eligibility-check-list small { font-size: 11px; line-height: 1.6; }
  .customer-report-current-overlay .current-policy-overlay-heading h3 { font-size: 20px; line-height: 1.5; }
  .customer-report-current-overlay .current-policy-overlay-state strong,
  .customer-report-current-overlay .current-policy-candidate-heading strong { font-size: 14px; line-height: 1.6; }
  .customer-report-current-overlay .current-policy-candidate-heading b,
  .customer-report-current-overlay .policy-eligibility-checks summary,
  .customer-report-current-overlay .policy-eligibility-check-list strong,
  .customer-report-current-overlay .policy-eligibility-check-list span,
  .customer-report-current-overlay .product-policy-current-notices :is(strong, a) { font-size: 12px; line-height: 1.65; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .service-sample-toolbar { align-items: flex-start; flex-direction: column; gap: 8px; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .service-sample-toolbar :is(span, .back-link) { font-size: 13px; line-height: 1.55; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .service-sample-cover { grid-template-columns: minmax(0, 1fr); gap: 22px; padding: 26px 22px; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .service-sample-cover h1 { font-size: clamp(23px, 6vw, 27px); letter-spacing: -.6px; line-height: 1.4; text-wrap: balance; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .service-sample-cover > div > span { font-size: 11px; letter-spacing: 1px; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .service-sample-cover > div > p { font-size: 14px; line-height: 1.75; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .service-sample-cover aside { min-width: 0; padding: 17px; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .service-sample-cover aside small { font-size: 12px; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .service-sample-cover aside strong { font-size: 17px; line-height: 1.45; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .service-sample-cover aside p { font-size: 13px; line-height: 1.55; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .service-sample-method { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .service-sample-method > span { padding: 13px 16px; font-size: 12px; line-height: 1.6; border-bottom: 1px solid rgba(255, 255, 255, .1); }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .service-sample-method > span:nth-child(2n) { border-right: 0; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .service-sample-method > span:last-child { grid-column: 1 / -1; border-bottom: 0; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .service-sample-method b { font-size: 11px; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .service-sample-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .service-sample-kpis article { min-width: 0; padding: 18px 16px; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .service-sample-kpis span { font-size: 12px; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .service-sample-kpis strong { font-size: 23px; line-height: 1.35; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) :is(.service-sample-content, .document-review-list) { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) :is(.service-sample-content section, .service-report-narrative, .service-report-conclusion, .service-document-review, .review-sample-picker) { padding: 22px 18px; border-radius: 18px; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) :is(.service-sample-content h2, .service-report-title h2, .service-report-conclusion h2, .review-sample-picker h2) { font-size: 19px; line-height: 1.45; letter-spacing: -.4px; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .service-sample-content section > div:first-child { align-items: flex-start; gap: 10px; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .service-sample-content section > div:first-child > span { flex: none; width: 33px; height: 33px; font-size: 12px; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) :is(.service-report-title > span, .review-sample-picker > div:first-child > span) { font-size: 11px; line-height: 1.5; letter-spacing: .9px; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) :is(.service-section-intro, .service-document-review .service-report-title > p, .service-analysis-list p, .document-review-list p, .service-report-narrative p, .service-report-conclusion p, .service-sample-content li, .review-sample-picker p) { font-size: 14px; line-height: 1.8; text-align: left; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .service-analysis-list { gap: 13px; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .service-analysis-list article { padding: 16px 15px; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .service-analysis-list strong { font-size: 14px; line-height: 1.65; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .document-review-group-title { padding: 11px 13px; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .document-review-group-title :is(span, strong) { font-size: 13px; line-height: 1.5; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .document-review-list article { padding: 17px 15px; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .document-review-list h3 { font-size: 16px; line-height: 1.55; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .document-review-list b { font-size: 12px; line-height: 1.55; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .document-review-list article > div:first-child { flex-wrap: wrap; gap: 9px; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .document-review-list article > div:first-child span { font-size: 11px; line-height: 1.45; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .review-sample-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .review-sample-tabs button { min-height: 48px; padding: 11px 9px; font-size: 13px; line-height: 1.5; word-break: keep-all; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .service-sample-notice { padding: 16px; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .service-sample-notice strong { font-size: 13px; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) :is(.service-sample-notice p, .service-sample-print-footer, .service-sample-download > p) { font-size: 12px; line-height: 1.7; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .service-sample-print-footer { flex-wrap: wrap; justify-content: flex-start; gap: 7px 16px; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .service-sample-bottom-actions { grid-template-columns: minmax(0, 1fr); }

  /* Free diagnosis: preserve readable title, candidates, evidence, and action order. */
  .view-results .result-shell:not(.diagnostic-pdf-exporting) .result-hero { grid-template-columns: minmax(0, 1fr); gap: 24px; min-height: 0; padding: 26px 22px; border-radius: 22px; }
  .view-results .result-shell:not(.diagnostic-pdf-exporting) .result-heading h1 { font-size: clamp(24px, 6.2vw, 28px); line-height: 1.4; letter-spacing: -.7px; text-wrap: balance; }
  .view-results .result-shell:not(.diagnostic-pdf-exporting) .result-heading > p:nth-of-type(2) { font-size: 14px; line-height: 1.75; }
  .view-results .result-shell:not(.diagnostic-pdf-exporting) .result-meta { flex-wrap: wrap; gap: 8px 12px; margin-top: 22px; font-size: 12px; line-height: 1.6; }
  .view-results .result-shell:not(.diagnostic-pdf-exporting) .result-meta span + span { padding-left: 0; border-left: 0; }
  .view-results .result-shell:not(.diagnostic-pdf-exporting) .result-score-card { padding: 21px; }
  .view-results .result-shell:not(.diagnostic-pdf-exporting) .result-score-card > span { font-size: 13px; }
  .view-results .result-shell:not(.diagnostic-pdf-exporting) .result-score-card > small { display: block; font-size: 12px; line-height: 1.7; }
  .view-results .result-shell:not(.diagnostic-pdf-exporting) .result-section { padding: 23px 18px; margin-top: 16px; border-radius: 18px; }
  .view-results .result-shell:not(.diagnostic-pdf-exporting) .result-two-column { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .view-results .result-shell:not(.diagnostic-pdf-exporting) .result-section-heading { align-items: flex-start; flex-wrap: wrap; gap: 10px; margin-bottom: 18px; padding-bottom: 16px; }
  .view-results .result-shell:not(.diagnostic-pdf-exporting) .result-section-heading > div { min-width: 0; align-items: flex-start; gap: 10px; }
  .view-results .result-shell:not(.diagnostic-pdf-exporting) .result-section-heading h2 { font-size: 19px; line-height: 1.5; }
  .view-results .result-shell:not(.diagnostic-pdf-exporting) :is(.result-section-heading p, .result-section-heading > b) { font-size: 12px; line-height: 1.6; }
  .view-results .result-shell:not(.diagnostic-pdf-exporting) .candidate-card { grid-template-columns: 32px minmax(0, 1fr); gap: 10px; padding: 16px 13px; }
  .view-results .result-shell:not(.diagnostic-pdf-exporting) .candidate-unavailable { grid-template-columns: minmax(0, 1fr); }
  .view-results .result-shell:not(.diagnostic-pdf-exporting) .candidate-rank { width: 32px; height: 32px; font-size: 12px; border-radius: 9px; }
  .view-results .result-shell:not(.diagnostic-pdf-exporting) .candidate-main h3 { font-size: 16px; line-height: 1.55; }
  .view-results .result-shell:not(.diagnostic-pdf-exporting) .candidate-main > p { font-size: 13px; line-height: 1.7; }
  .view-results .result-shell:not(.diagnostic-pdf-exporting) :is(.candidate-reference-meta, .product-policy-reference-meta) { grid-template-columns: minmax(0, 1fr); }
  .view-results .result-shell:not(.diagnostic-pdf-exporting) .candidate-reference-meta dt { font-size: 11px; line-height: 1.5; }
  .view-results .result-shell:not(.diagnostic-pdf-exporting) .candidate-reference-meta dd { font-size: 13px; line-height: 1.6; }
  .view-results .result-shell:not(.diagnostic-pdf-exporting) :is(.candidate-official-link, .reason-pills span, .candidate-status) { font-size: 12px; line-height: 1.5; }
  .view-results .result-shell:not(.diagnostic-pdf-exporting) .candidate-status { grid-column: 2; justify-self: start; }
  .view-results .result-shell:not(.diagnostic-pdf-exporting) :is(.insight-item, .document-item) { padding: 15px 13px; gap: 10px; }
  .view-results .result-shell:not(.diagnostic-pdf-exporting) :is(.insight-item strong, .document-item strong) { font-size: 14px; line-height: 1.6; }
  .view-results .result-shell:not(.diagnostic-pdf-exporting) :is(.insight-item small, .document-item small) { font-size: 13px; line-height: 1.7; }
  .view-results .result-shell:not(.diagnostic-pdf-exporting) .action-plan { grid-template-columns: minmax(0, 1fr); padding: 25px 20px; gap: 20px; }
  .view-results .result-shell:not(.diagnostic-pdf-exporting) .action-plan h2 { font-size: 20px; line-height: 1.45; }
  .view-results .result-shell:not(.diagnostic-pdf-exporting) .action-plan li { font-size: 14px; line-height: 1.75; }
  .view-results .result-shell:not(.diagnostic-pdf-exporting) .conversion-card h2 { font-size: 19px; line-height: 1.45; }
  .view-results .result-shell:not(.diagnostic-pdf-exporting) .conversion-card p { font-size: 14px; line-height: 1.7; }
  .view-results .result-shell:not(.diagnostic-pdf-exporting) :is(.conversion-label, .conversion-price span, .conversion-price small) { font-size: 12px; line-height: 1.6; }
  .view-results .result-shell:not(.diagnostic-pdf-exporting) :is(.legal-note, .result-download-footer, .result-pdf-download p) { font-size: 12px; line-height: 1.75; }

  /* Product results can be long; keep the information intact and stack details. */
  .view .product-auto-feedback:not(.product-pdf-exporting) { padding: 20px 15px; }
  .view .product-auto-feedback:not(.product-pdf-exporting) :is(p, li, dd) { font-size: 14px; line-height: 1.8; text-align: left; }
  .view .product-auto-feedback:not(.product-pdf-exporting) :is(.product-report-section-heading h3, .product-feedback-policy h3, .product-feedback-category-heading h3) { font-size: 18px; line-height: 1.5; }
  .view .product-auto-feedback:not(.product-pdf-exporting) :is(h4, .product-report-headline) { font-size: 17px; line-height: 1.6; }
  .view .product-auto-feedback:not(.product-pdf-exporting) :is(.product-report-section, .product-feedback-policy) { padding: 19px 15px; }
  .view .product-auto-feedback:not(.product-pdf-exporting) .product-report-cover { padding: 24px 19px; }
  .view .product-auto-feedback:not(.product-pdf-exporting) .product-report-cover h2 { font-size: 23px; line-height: 1.45; text-wrap: balance; }
  .view .product-auto-feedback:not(.product-pdf-exporting) :is(.product-report-cover > span, .product-report-section-heading > span, .product-report-narrative-analysis > div:first-child > span, .product-report-monthly-comparison > div:first-child > span) { font-size: 11px; line-height: 1.5; }
  .view .product-auto-feedback:not(.product-pdf-exporting) :is(.product-feedback-overview, .product-evidence-facts, .product-report-fact-grid) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .view .product-auto-feedback:not(.product-pdf-exporting) :is(.product-report-summary-grid, .product-report-metric-grid, .product-evidence-identity, .product-evidence-scope, .product-report-monthly-changes, .product-category-professional-opinion, #productFeedbackPolicyList, #productFeedbackChecklistItems) { grid-template-columns: minmax(0, 1fr); }
  .view .product-auto-feedback:not(.product-pdf-exporting) :is(.product-feedback-overview span, dt, .product-evidence-identity span, .product-expert-reviewer span, .product-report-scope-meta span, .product-report-management-conclusion li, .product-feedback-category-heading > strong, .product-feedback-criterion > div:first-child > strong, .product-document-review-card > div:first-child > b, .product-report-narrative-card > div:first-child b, .product-policy-facts span) { font-size: 12px; line-height: 1.6; }
  .view .product-auto-feedback:not(.product-pdf-exporting) :is(.product-feedback-overview strong, .product-evidence-identity strong, .product-expert-reviewer strong, .product-expert-finding > div strong, .product-document-review-card > div:first-child > div strong, .product-report-metric-card > div:first-child strong, .product-report-narrative-card > div:first-child strong, .product-priority-card > div:first-child strong, .product-report-monthly-period strong, .product-report-monthly-change strong) { font-size: 15px; line-height: 1.6; }
  .view .product-auto-feedback:not(.product-pdf-exporting) :is(.product-criterion-detail, .product-document-review-detail, .product-document-review-issue, .product-document-verification-scope, .product-report-narrative-detail) { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .view .product-auto-feedback:not(.product-pdf-exporting) :is(.product-criterion-detail b, .product-document-review-detail strong, .product-document-review-issue strong, .product-document-verification-scope strong, .product-report-narrative-detail span, .product-report-metric-basis span, .product-report-metric-interpretation span, .product-expert-finding b, .product-expert-scope strong, .product-expert-opinion strong, .product-report-summary-grid article > span, .product-policy-current-notices strong, .product-policy-current-notices a) { font-size: 12px; line-height: 1.6; }
  .view .product-auto-feedback:not(.product-pdf-exporting) :is(small, .product-expert-finding small, .product-document-review-card > div:first-child > div small, .product-expert-verification) { font-size: 12px; line-height: 1.7; }
  .view .product-auto-feedback:not(.product-pdf-exporting) :is(.product-expert-finding > div, .product-report-narrative-card > div:first-child, .product-document-review-card > div:first-child) { flex-wrap: wrap; gap: 8px; }
  .view .product-auto-feedback:not(.product-pdf-exporting) .product-priority-card > div:first-child { flex-wrap: wrap; }
  .view .product-auto-feedback:not(.product-pdf-exporting) .product-priority-responsibility { margin-left: 0; font-size: 12px; }
  .view .product-auto-feedback:not(.product-pdf-exporting) .product-priority-details > div { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .view .product-auto-feedback:not(.product-pdf-exporting) #productFeedbackPolicyList article > div:first-child { flex-wrap: wrap; }
  .view .product-auto-feedback:not(.product-pdf-exporting) #productFeedbackPolicyList article > div:first-child strong { font-size: 15px; line-height: 1.6; }
  .view .product-auto-feedback:not(.product-pdf-exporting) #productFeedbackPolicyList article > div:first-child b { font-size: 12px; line-height: 1.5; }
  .view .product-auto-feedback:not(.product-pdf-exporting) #productFeedbackPolicyList article > div:first-child span { width: 28px; height: 28px; font-size: 11px; }
  .view .product-auto-feedback:not(.product-pdf-exporting) #productFeedbackPolicyList article > div:first-child > div { grid-template-columns: 28px minmax(0, 1fr); }
  .view .product-auto-feedback:not(.product-pdf-exporting) #productFeedbackPolicyList .product-policy-agency { font-size: 13px; line-height: 1.7; }
  .view .product-auto-feedback:not(.product-pdf-exporting) #productFeedbackClosingItems p { font-size: 14px; line-height: 1.8; }
  .view .product-auto-feedback:not(.product-pdf-exporting) .product-policy-group-title :is(strong, span) { font-size: 13px; line-height: 1.5; }
  .view .product-auto-feedback:not(.product-pdf-exporting) .product-policy-snapshot { font-size: 12px !important; line-height: 1.7; }
  .view .product-auto-feedback:not(.product-pdf-exporting) .product-evidence-hash { font-size: 11px !important; line-height: 1.65; }

  /* Member, partner, and staff workspaces. */
  :is(.member-shell, .admin-shell) :is(p, li, small, strong, h1, h2, h3, span, time) { word-break: keep-all; overflow-wrap: anywhere; }
  :is(.member-shell, .admin-shell) { width: calc(100% - 32px); padding-top: 28px; }
  .member-header { gap: 16px; margin-bottom: 24px; }
  .member-header h1 { font-size: 24px; line-height: 1.4; letter-spacing: -.6px; }
  .member-header p:last-child { font-size: 14px; line-height: 1.7; }
  .member-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .member-stats > div { padding: 17px 12px; border-right: 1px solid var(--line); border-bottom: 0; }
  .member-stats span { font-size: 12px; line-height: 1.5; }
  .member-stats strong { font-size: 23px; }
  .member-main-grid, .member-commerce-grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  :is(.member-panel, .member-commerce-panel, .admin-content, .admin-members-card, .admin-priority-card, .admin-revenue-card, .admin-activity-card, .admin-report-queue-card, .admin-member-content, .admin-quote-only) { padding: 22px 18px; border-radius: 18px; }
  :is(.member-panel h2, .member-commerce-heading h2, .admin-activity-heading h2, .admin-priority-card h2, .admin-members-card h2, .admin-revenue-card h2, .admin-report-queue-heading h2, .admin-toolbar h2) { font-size: 20px; line-height: 1.45; }
  :is(.member-panel > p, .member-commerce-heading p, .member-empty p, .admin-activity-heading p, .admin-priority-card p, .admin-members-card p, .admin-revenue-card > div:first-child > p, .admin-report-queue-heading p, .admin-toolbar p, .quote-request-list p, .admin-caution p) { font-size: 14px; line-height: 1.7; }
  :is(.member-panel-label, .member-commerce-heading > div > span, .member-result-group-heading span, .admin-activity-heading > div > span, .admin-priority-card span, .admin-members-card > div > span, .admin-revenue-card > div:first-child > span) { font-size: 11px; line-height: 1.5; letter-spacing: .8px; }
  :is(.member-commerce-heading, .admin-report-queue-heading, .admin-toolbar, .admin-version) { flex-wrap: wrap; gap: 13px; }
  .member-result-item { grid-template-columns: minmax(0, 1fr); padding: 17px 14px; gap: 12px; }
  :is(.member-result-item strong, .member-commerce-item-heading strong, .member-empty strong, .member-result-group-heading strong) { font-size: 15px; line-height: 1.6; }
  :is(.member-result-item small, .member-commerce-item-heading small, .member-commerce-details p, .member-privacy-note, .member-result-loading, .member-result-empty, .member-commerce-empty) { font-size: 13px; line-height: 1.7; }
  .member-commerce-item { padding: 17px 14px; }
  :is(.member-commerce-item-heading, .partner-record-heading) { flex-wrap: wrap; gap: 8px; }
  .member-commerce-status { font-size: 12px; line-height: 1.5; }
  .member-commerce-details { gap: 7px; }
  .member-commerce-details p { flex-basis: 100%; }
  :is(.member-result-actions, .member-commerce-actions) { justify-content: flex-start; }
  :is(.member-result-actions .button, .member-result-item button, .member-commerce-actions .button, .partner-record-actions .button) { min-height: 44px; padding: 11px 14px; font-size: 13px; line-height: 1.5; }
  .member-privacy-actions { grid-template-columns: minmax(0, 1fr); }
  .partner-workspace { padding: 22px 15px; }
  .partner-workspace-heading { flex-wrap: wrap; gap: 12px; }
  .partner-workspace-heading h2 { font-size: 21px; line-height: 1.4; }
  :is(.partner-workspace-heading p, .partner-workspace-card-heading p, .partner-case-safety p, .partner-client-consent) { font-size: 14px; line-height: 1.75; }
  :is(.partner-workspace-heading > div > span, .partner-workspace-card-heading > span, .partner-onboarding-status > div > span) { font-size: 11px; }
  :is(.partner-workspace-status, .partner-quota-period, .partner-consent-version, .partner-workspace-card .field small, .partner-record-heading small, .partner-record-meta, .partner-case-report-status, .partner-onboarding-status p) { font-size: 13px; line-height: 1.7; }
  .partner-onboarding-status { flex-wrap: wrap; }
  .partner-onboarding-status h3 { font-size: 16px; line-height: 1.5; }
  .partner-quota-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .partner-quota-grid article { padding: 16px 13px; }
  .partner-quota-grid span { font-size: 12px; line-height: 1.5; }
  .partner-quota-grid strong { font-size: 23px; line-height: 1.35; }
  :is(.partner-workspace-forms, .partner-workspace-lists) { grid-template-columns: minmax(0, 1fr); }
  .partner-workspace-card { padding: 20px 15px; }
  .partner-workspace-card-heading h3 { font-size: 18px; line-height: 1.5; }
  :is(.partner-record-heading strong, .partner-case-safety strong) { font-size: 15px; line-height: 1.6; }
  .partner-record-status { font-size: 12px; line-height: 1.5; }
  .partner-record-item { padding: 16px 13px; }
  .admin-header h1 { font-size: 25px; line-height: 1.4; letter-spacing: -.6px; }
  .admin-header > p:last-child { font-size: 14px; line-height: 1.7; }
  .admin-nav button { min-height: 46px; font-size: 14px; }
  .admin-nav button span { font-size: 12px; }
  .admin-member-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
  .admin-member-tabs button { min-height: 48px; padding: 10px 6px; font-size: 13px; line-height: 1.6; }
  .admin-member-tabs span { margin-left: 3px; font-size: 11px; }
  :is(.admin-member-list > article > div:first-child, .admin-product-details article > div:first-child, .admin-activity-detail-list article > div:first-child, .quote-request-list article > div) { flex-wrap: wrap; gap: 8px; }
  :is(.admin-member-list > article > div:first-child strong, .admin-product-details article strong, .admin-activity-detail-list article strong, .admin-product-toggle strong, .quote-request-list article strong) { font-size: 15px; line-height: 1.6; }
  :is(.admin-member-list > article > div:first-child small, .admin-member-list > article > div:first-child > span, .admin-product-details time, .admin-activity-detail-list time, .quote-request-list small, .admin-member-search small, .admin-quote-search-result) { font-size: 12px; line-height: 1.65; }
  :is(.admin-product-details article > p, .admin-activity-detail-list article > p, .admin-result-delivery p, .admin-document-files, .admin-empty) { font-size: 14px; line-height: 1.75; }
  :is(.admin-result-delivery b, .member-product-tags b, .member-subscription-info b, .member-subscription-info span, .partner-quota-control b, .partner-quota-control label > span, .admin-member-search > span, .admin-date-picker span, .quote-request-list article > div span) { font-size: 12px; line-height: 1.55; }
  .admin-revenue-grid article { padding: 16px 12px; min-width: 0; }
  .admin-revenue-grid span { font-size: 12px; }
  .admin-revenue-grid strong { font-size: 19px; line-height: 1.4; }
  .admin-calendar-weekdays span { font-size: 12px; }
  .admin-calendar-day { min-height: 58px; }
  .admin-calendar-day strong { font-size: 14px; }
  .admin-calendar-day small { padding: 2px; font-size: 10px; }
  .admin-product-toggle { grid-template-columns: minmax(0, 1fr) auto 18px; gap: 8px; }
  .admin-product-toggle > span { font-size: 13px; }
  .rule-row { grid-template-columns: minmax(0, 1fr) 52px; gap: 8px; padding: 12px; }
  .rule-row.head { font-size: 12px; }
  .rule-row input[type="text"] { font-size: 16px; }
  .admin-caution strong { font-size: 14px; }
  .admin-version .field { width: 100%; }
}

@media screen and (max-width: 720px) {
  body { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
  :is(.legal-dialog, .partner-workspace-card) .field > span:first-child { font-size: 14px; line-height: 1.6; word-break: keep-all; }
  :is(.legal-dialog, .partner-workspace-card) .field :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) { min-width: 0; max-width: 100%; min-height: 46px; font-size: 16px; }
  :is(.legal-dialog, .partner-workspace-card) .field :is(em, small) { font-size: 12px; line-height: 1.65; }
  :is(.admin-report-dialog, .partner-workspace) .consent-line > span { font-size: 13px; line-height: 1.7; word-break: keep-all; overflow-wrap: anywhere; }
  .admin-report-dialog :is(p, li) { font-size: 14px; line-height: 1.75; word-break: keep-all; overflow-wrap: anywhere; }
  .admin-report-dialog :is(small, .admin-report-source span, .admin-report-action-status) { font-size: 12px; line-height: 1.7; }
  .admin-report-dialog :is(strong, .admin-report-source strong, .admin-report-source-document strong, .admin-report-artifact strong, .admin-pdf-visual-fingerprint strong) { font-size: 14px; line-height: 1.6; }
  .admin-report-dialog :is(h3, .admin-report-section-heading h3, .admin-report-audit h3) { font-size: 17px; line-height: 1.5; }
  .admin-report-dialog :is(#adminReportWorkflowBadge, #adminPdfVisualReviewBadge, #adminExpertReviewBadge) { font-size: 12px; line-height: 1.5; }
  .member-shell :is(.admin-report-queue-item strong, .member-care-reminder strong) { font-size: 15px; line-height: 1.6; }
  .member-shell :is(.admin-report-queue-item small, .member-care-reminder span, .member-published-reports > span) { font-size: 13px; line-height: 1.7; }
  .member-shell :is(.admin-report-state, .admin-delivery-badge, .member-evidence-status, .member-delivery-status, .member-report-integrity) { font-size: 12px; line-height: 1.6; }
  .member-shell .member-report-warning { font-size: 13px !important; line-height: 1.7 !important; }
  .member-shell .member-published-report-links .button { min-height: 44px; padding: 11px 13px; font-size: 13px; line-height: 1.5; white-space: normal; }
  :is(.member-shell, .admin-shell) .button { min-height: 44px; line-height: 1.5; white-space: normal; word-break: keep-all; }
  .view-service-sample .service-sample-shell:not(.pdf-exporting) .service-sample-bottom-actions .button { min-height: 50px; padding: 13px 16px; font-size: 14px; line-height: 1.5; white-space: normal; }
}

/* Partial official-source explanations remain distinct from final reports. */
#diagnosticPartialConditions { margin-top: 20px; padding: 20px; border: 1px solid #d5deeb; border-radius: 14px; background: #f8faff; overflow-wrap: anywhere; }
#diagnosticPartialConditions p { margin: 10px 0; line-height: 1.6; }
#diagnosticPartialConditions details { margin: 10px 0; padding: 10px; border: 1px solid #d5deeb; border-radius: 8px; }
#diagnosticPartialConditions summary { cursor: pointer; font-weight: 650; }
#diagnosticPartialConditions summary:focus-visible { outline: 2px solid #285ae8; outline-offset: 4px; }

/* Decision document: linear reading order, no wide tables on mobile. */
.decision-document #serviceReportNarrative,.decision-document #serviceReportConclusion,.decision-document .service-document-review,.decision-document .service-sample-kpis { display:none; }
.decision-section { padding:24px 0; border-top:1px solid #d8e1e8; }
.decision-section h2 { font-size:24px; line-height:1.4; margin:0 0 24px; }
.decision-section article { margin-bottom:24px; min-width:0; }
.decision-section h3 { font-size:17px; line-height:1.5; margin:0 0 8px; }
.decision-section p { font-size:15px; line-height:1.8; margin:6px 0; overflow-wrap:anywhere; }
@media(max-width:600px){.decision-section h2{font-size:21px}.decision-section p{font-size:15px}}
