/* Consumer assessment report. Keep these rules scoped to the report surface. */
.sg-assessment-page {
  --sg-purple: #5a3fc0;
  --sg-ink: #1c1830;
  --sg-muted: #5e5873;
  --sg-page: #f8f7fb;
  --sg-line: #e4e0ef;
  --sg-green: #18794e;
  --sg-green-bg: #eaf6ef;
  --sg-amber: #9b5b08;
  --sg-amber-bg: #fff6e7;
  --sg-blue: #315e9b;
  --sg-blue-bg: #eef5ff;
  color: var(--sg-ink);
  background: var(--sg-page);
  font-family: Figtree, system-ui, sans-serif;
  padding: 28px 24px 48px;
}

.sg-assessment-page *,
.sg-assessment-page *::before,
.sg-assessment-page *::after { box-sizing: border-box; }

.sg-assessment-page button { color: inherit; font: inherit; }
.sg-assessment-page button:focus-visible,
.sg-assessment-page a:focus-visible,
.sg-assessment-page summary:focus-visible { outline: 2px solid var(--sg-purple); outline-offset: 3px; }

.sg-assessment-hero {
  display: grid;
  grid-template-columns: minmax(190px, .72fr) minmax(280px, 1.35fr) minmax(220px, .93fr);
  align-items: center;
  gap: 30px;
  padding: 30px 32px;
  background: #fff;
  border: 1px solid var(--sg-line);
  border-radius: 10px;
  box-shadow: 0 2px 8px rgb(28 24 48 / 3%);
}

.sg-overall-score,
.sg-overall-reading,
.sg-overall-coverage { min-width: 0; }
.sg-overall-score { display: grid; justify-items: start; gap: 5px; }
.sg-overall-score > label,
.sg-overall-score > span:first-child {
  color: var(--sg-muted);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.sg-overall-score strong { color: var(--sg-purple); font-size: clamp(48px, 5.2vw, 68px); font-weight: 700; letter-spacing: -.065em; line-height: .98; }
.sg-overall-score small { color: var(--sg-muted); font-size: 14px; }
.sg-overall-reading h2 { margin: 0 0 7px; font-size: 21px; font-weight: 700; letter-spacing: -.025em; line-height: 1.25; }
.sg-overall-reading p { margin: 0; color: var(--sg-muted); font-size: 14px; line-height: 1.6; }
.sg-overall-reading small { display: block; margin-top: 10px; color: var(--sg-muted); font-size: 12px; line-height: 1.45; }
.sg-overall-coverage { border-left: 1px solid var(--sg-line); padding-left: 26px; }
.sg-overall-coverage > strong,
.sg-overall-coverage > span:first-child { display: block; color: var(--sg-ink); font-size: 32px; font-weight: 700; letter-spacing: -.05em; line-height: 1.05; }
.sg-overall-coverage > small { display: block; margin-top: 5px; color: var(--sg-muted); font-size: 12px; }
.sg-coverage-track { display: block; height: 7px; margin: 13px 0 10px; overflow: hidden; background: #eeebf5; border-radius: 999px; }
.sg-coverage-track i { display: block; height: 100%; min-width: 0; background: var(--sg-purple); border-radius: inherit; }
.sg-overall-coverage .sg-coverage-date { display: block; margin-top: 12px; color: var(--sg-muted); font-size: 12px; }
.sg-overall-coverage .sg-coverage-counts { display: flex; flex-wrap: wrap; gap: 5px 12px; margin-top: 9px; color: var(--sg-muted); font-size: 11px; line-height: 1.4; }

.sg-report-tabs { display: flex; gap: 4px; margin: 26px 0 18px; border-bottom: 1px solid var(--sg-line); }
.sg-report-tabs button { position: relative; min-height: 42px; padding: 0 15px 11px; border: 0; background: transparent; color: var(--sg-muted); cursor: pointer; font-size: 14px; font-weight: 600; }
.sg-report-tabs button:hover { color: var(--sg-ink); }
.sg-report-tabs button[aria-current="page"],
.sg-report-tabs button[aria-current="true"] { color: var(--sg-purple); }
.sg-report-tabs button[aria-current="page"]::after,
.sg-report-tabs button[aria-current="true"]::after { position: absolute; right: 10px; bottom: -1px; left: 10px; height: 2px; background: var(--sg-purple); content: ""; }

.sg-area-cards { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.sg-area-card { display: flex; min-height: 174px; flex-direction: column; align-items: stretch; gap: 8px; padding: 17px 16px 15px; border: 1px solid var(--sg-line); border-radius: 8px; background: #fff; text-align: left; cursor: pointer; transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.sg-area-card:hover { border-color: #b9addf; box-shadow: 0 3px 12px rgb(28 24 48 / 6%); transform: translateY(-1px); }
.sg-area-card[aria-pressed="true"] { border-color: var(--sg-purple); box-shadow: 0 0 0 1px var(--sg-purple) inset; }
.sg-area-name { color: var(--sg-ink); font-size: 13px; font-weight: 700; line-height: 1.3; }
.sg-area-question { min-height: 35px; color: var(--sg-muted); font-size: 11.5px; line-height: 1.45; }
.sg-area-value { display: flex; align-items: baseline; gap: 4px; margin-top: auto; }
.sg-area-value strong { font-size: 25px; font-weight: 700; letter-spacing: -.045em; line-height: 1; }
.sg-area-value small { color: var(--sg-muted); font-size: 11px; }
.sg-area-coverage { color: var(--sg-muted); font-size: 11px; }
.sg-area-status { align-self: flex-start; margin-top: 1px; color: var(--sg-muted); font-size: 10.5px; line-height: 1.35; }
.sg-area-status[data-has-concern="true"] { padding: 3px 7px; border-radius: 999px; background: var(--sg-amber-bg); color: var(--sg-amber); font-weight: 700; }

.sg-attention { margin: 24px 0 20px; padding: 17px 20px 15px; border: 1px solid var(--sg-line); border-left: 4px solid #d99a2b; border-radius: 8px; background: #fff; }
.sg-attention h2 { margin: 0 0 10px; font-size: 17px; font-weight: 700; letter-spacing: -.015em; }
.sg-attention-row { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 11px 0; border-top: 1px solid #f0edf5; }
.sg-attention-row:first-of-type { border-top: 0; }
.sg-attention-row button { display: block; min-width: 0; flex: 1; padding: 0; border: 0; background: transparent; text-align: left; cursor: pointer; }
.sg-attention-row button:hover strong { color: var(--sg-purple); text-decoration: underline; text-underline-offset: 2px; }
.sg-attention-row strong { display: block; font-size: 13px; font-weight: 650; line-height: 1.4; }
.sg-attention-row small { display: block; margin-top: 3px; color: var(--sg-muted); font-size: 12px; line-height: 1.45; }
.sg-attention-row > small,
.sg-attention-row > span { flex: none; color: var(--sg-muted); font-size: 11px; }

.sg-category-detail { margin-top: 20px; padding: 24px; border: 1px solid var(--sg-line); border-radius: 9px; background: #fff; }
.sg-category-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding-bottom: 17px; }
.sg-category-heading h2 { margin: 0; font-size: 21px; font-weight: 700; letter-spacing: -.025em; line-height: 1.25; }
.sg-category-heading p { max-width: 700px; margin: 6px 0 0; color: var(--sg-muted); font-size: 13px; line-height: 1.5; }
.sg-category-breadcrumb { flex: none; color: var(--sg-muted); font-size: 12px; line-height: 1.5; }
.sg-result-filters { display: flex; flex-wrap: wrap; gap: 7px; padding: 12px 0 17px; border-top: 1px solid #f0edf5; }
.sg-result-filters button { min-height: 30px; padding: 5px 11px; border: 1px solid var(--sg-line); border-radius: 999px; background: #fff; color: var(--sg-muted); cursor: pointer; font-size: 11.5px; font-weight: 600; }
.sg-result-filters button:hover { border-color: #b9addf; color: var(--sg-ink); }
.sg-result-filters button[aria-pressed="true"] { border-color: var(--sg-purple); background: #f3f0fc; color: var(--sg-purple); }

.sg-question { border-top: 1px solid var(--sg-line); }
.sg-question-toggle { display: flex; width: 100%; align-items: center; gap: 14px; padding: 17px 2px; border: 0; background: transparent; text-align: left; cursor: pointer; }
.sg-question-toggle:hover h3 { color: var(--sg-purple); }
.sg-question-toggle h3 { flex: 1; margin: 0; font-size: 15px; font-weight: 650; line-height: 1.4; }
.sg-question-toggle small,
.sg-question-toggle .sg-question-counts { flex: none; color: var(--sg-muted); font-size: 11px; }
.sg-question-toggle::after,
.sg-finding-toggle::after { width: 8px; height: 8px; flex: none; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; color: #827b95; content: ""; transform: rotate(45deg) translateY(-2px); transition: transform .15s ease; }
.sg-question-toggle[aria-expanded="true"]::after,
.sg-finding-toggle[aria-expanded="true"]::after { transform: rotate(225deg) translate(-2px, -1px); }
.sg-question-findings { margin: 0 0 16px 12px; padding-left: 16px; border-left: 2px solid #f0edf5; }
.sg-finding-row { padding: 0 0 9px; }
.sg-finding-toggle { display: flex; width: 100%; align-items: center; gap: 11px; padding: 12px 13px; border: 1px solid var(--sg-line); border-radius: 7px; background: #fff; text-align: left; cursor: pointer; }
.sg-finding-toggle:hover { border-color: #c6bddf; background: #fdfcff; }
.sg-finding-toggle > span:not(.sg-result-badge) { min-width: 0; flex: 1; }
.sg-finding-toggle strong { display: block; font-size: 13px; font-weight: 650; line-height: 1.35; }
.sg-finding-toggle small { display: block; margin-top: 3px; color: var(--sg-muted); font-size: 11.5px; line-height: 1.4; }
.sg-result-badge { display: inline-flex; min-height: 23px; flex: none; align-items: center; justify-content: center; padding: 3px 8px; border: 1px solid transparent; border-radius: 999px; background: #f1eff5; color: #5e5873; font-size: 10.5px; font-weight: 700; line-height: 1.25; white-space: nowrap; }
.sg-result-badge[data-state="pass"] { border-color: #cce7d6; background: var(--sg-green-bg); color: var(--sg-green); }
.sg-result-badge[data-state="concern"] { border-color: #f0d9af; background: var(--sg-amber-bg); color: var(--sg-amber); }
.sg-result-badge[data-state="unknown"] { border-color: #e4e0ef; background: #f5f4f8; color: #666078; }
.sg-result-badge[data-state="inconclusive"] { border: 1px dashed #b9addf; background: #f7f5fc; color: #62519c; }
.sg-result-badge[data-state="not_applicable"] { border-color: #e7e5eb; background: #f4f3f5; color: #777382; }
.sg-result-badge[data-state="informational"] { border-color: #d7e5f7; background: var(--sg-blue-bg); color: var(--sg-blue); }
.sg-finding-content { margin: 8px 0 4px 35px; padding: 16px 18px; border: 1px solid #eeebf3; border-radius: 7px; background: #fbfaff; }
.sg-finding-content h4 { margin: 0 0 7px; font-size: 12px; font-weight: 700; }
.sg-finding-content p { margin: 6px 0; color: #49445d; font-size: 12.5px; line-height: 1.55; overflow-wrap: anywhere; }
.sg-finding-content .sg-finding-value { color: var(--sg-ink); font-weight: 600; }
.sg-finding-content small { color: var(--sg-muted); font-size: 11px; line-height: 1.45; }
.sg-evidence-list { display: flex; flex-direction: column; gap: 9px; margin-top: 13px; }
.sg-source-entry { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding-top: 10px; border-top: 1px solid var(--sg-line); }
.sg-source-entry p { margin: 0; color: var(--sg-muted); font-size: 11.5px; line-height: 1.5; overflow-wrap: anywhere; }
.sg-source-entry a { max-width: 100%; color: var(--sg-purple); font-size: 11.5px; line-height: 1.45; overflow-wrap: anywhere; word-break: break-word; }
.sg-source-entry a:hover { text-decoration: underline; text-underline-offset: 2px; }

.sg-report-aux { margin-top: 22px; border: 1px solid var(--sg-line); border-radius: 8px; background: #fff; }
.sg-report-aux > summary,
.sg-score-disclosure > summary { padding: 14px 17px; color: var(--sg-ink); cursor: pointer; font-size: 13px; font-weight: 650; }
.sg-report-aux[open] > summary,
.sg-score-disclosure[open] > summary { border-bottom: 1px solid var(--sg-line); }
.sg-report-aux > :not(summary) { margin-right: 17px; margin-left: 17px; }
.sg-score-disclosure { margin-top: 14px; border: 1px solid var(--sg-line); border-radius: 8px; background: #fff; }
.sg-score-disclosure:not([open]) > :not(summary) { display: none !important; }
.sg-score-disclosure[open] > :not(summary) { margin: 16px 17px; }
.sg-technical-panel { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--sg-line); }

@media (max-width: 1050px) {
  .sg-assessment-hero { grid-template-columns: minmax(170px, .72fr) minmax(240px, 1.28fr); gap: 24px; }
  .sg-overall-coverage { grid-column: 1 / -1; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 0 18px; padding: 15px 0 0; border-top: 1px solid var(--sg-line); border-left: 0; }
  .sg-overall-coverage .sg-coverage-track { grid-column: 1 / -1; grid-row: 2; margin: 10px 0; }
  .sg-overall-coverage .sg-coverage-date { margin-top: 0; text-align: right; }
  .sg-overall-coverage .sg-coverage-counts { grid-column: 1 / -1; margin-top: 0; }
  .sg-area-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
  .sg-assessment-page { padding: 18px 14px 32px; }
  .sg-assessment-hero { grid-template-columns: 1fr; gap: 17px; padding: 21px 20px; }
  .sg-overall-score { grid-template-columns: auto auto; align-items: end; column-gap: 12px; }
  .sg-overall-score > label,
  .sg-overall-score > span:first-child { grid-column: 1 / -1; }
  .sg-overall-score strong { font-size: 56px; }
  .sg-overall-score small { padding-bottom: 6px; }
  .sg-overall-reading h2 { font-size: 18px; }
  .sg-overall-coverage { grid-template-columns: auto 1fr; gap: 0 12px; }
  .sg-overall-coverage > strong,
  .sg-overall-coverage > span:first-child { font-size: 29px; }
  .sg-overall-coverage .sg-coverage-date { grid-column: 1 / -1; margin-top: 5px; text-align: left; }
  .sg-overall-coverage .sg-coverage-track { grid-column: 1 / -1; grid-row: auto; }
  .sg-overall-coverage .sg-coverage-counts { grid-column: 1 / -1; }
  .sg-report-tabs { margin-top: 20px; overflow-x: auto; }
  .sg-report-tabs button { flex: none; padding-right: 11px; padding-left: 11px; }
  .sg-area-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  .sg-area-card { min-height: 159px; padding: 13px 12px; }
  .sg-area-question { min-height: 48px; }
  .sg-area-value strong { font-size: 23px; }
  .sg-attention { padding: 15px 15px 12px; }
  .sg-category-detail { padding: 18px 15px; }
  .sg-category-heading { display: block; }
  .sg-category-breadcrumb { margin-top: 8px; }
  .sg-question-toggle { gap: 8px; }
  .sg-question-toggle h3 { font-size: 14px; }
  .sg-question-toggle small,
  .sg-question-toggle .sg-question-counts { font-size: 10px; }
  .sg-question-findings { margin-left: 4px; padding-left: 9px; }
  .sg-finding-toggle { flex-wrap: wrap; gap: 8px; padding: 11px; }
  .sg-finding-toggle > span:not(.sg-result-badge) { flex-basis: calc(100% - 28px); order: 2; }
  .sg-finding-toggle::after { order: 3; }
  .sg-finding-content { margin-left: 0; padding: 13px; }
}

@media (prefers-reduced-motion: reduce) {
  .sg-assessment-page *, .sg-assessment-page *::before, .sg-assessment-page *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
/* Match the semantic elements used by the report template. */
.sg-overall-coverage>.sg-coverage-label{font-size:12px;font-weight:700;letter-spacing:0;line-height:1.5;color:var(--sg-muted)}
.sg-overall-coverage>span{display:block;font-size:12px;line-height:1.5;color:var(--sg-muted)}
.sg-overall-coverage>strong{margin:5px 0;font-size:32px;line-height:1.1}
.sg-overall-score>div{display:flex;align-items:baseline;gap:8px}
.sg-overall-reading .pp-link{display:inline-flex;align-items:center;min-height:40px;margin:8px 0 0;padding:0 4px;color:var(--sg-purple);font-size:12px;font-weight:600;line-height:1.4;vertical-align:middle}
.sg-report-tabs button>.sg-tab-count{font-size:11px;margin-left:6px;padding:2px 5px;background:#eeebf5;border-radius:4px}
.sg-area-status[data-concern=true]{color:var(--sg-amber);font-weight:700}
.sg-category-heading>span{font-size:12px;line-height:1.5;color:var(--sg-muted)}
.sg-attention-row{width:100%;border:0;border-top:1px solid var(--sg-line);background:none;cursor:pointer;text-align:left;align-items:flex-start}
.sg-attention-row>span:nth-child(2){flex:1;min-width:0;overflow-wrap:anywhere}
.sg-attention-row>span:nth-child(2)>strong,.sg-attention-row>span:nth-child(2)>small{overflow-wrap:anywhere}
.sg-attention-row>span.sg-result-badge{color:var(--sg-amber)}
.sg-attention-row:hover strong{color:var(--sg-purple);text-decoration:underline}
.sg-question-toggle>span:first-child{flex:1;min-width:0}
.sg-question-toggle strong{display:block;font-size:15px;font-weight:600;line-height:1.45}
.sg-question-toggle small{display:block;margin-top:4px;font-size:12px;line-height:1.4}
.sg-finding-content h3{margin:8px 0;font-size:16px;font-weight:600;line-height:1.55;overflow-wrap:anywhere}
.sg-finding-content .sg-finding-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--sg-muted)}
.sg-findings-count{font-size:12px;color:var(--sg-muted);margin:0 0 12px}
.sg-category-detail,.sg-finding-toggle,.sg-score-disclosure{scroll-margin-top:120px}
.sg-result-legend{display:grid;gap:12px;padding:16px 0}.sg-result-legend p{margin:6px 0;font-size:13px;line-height:1.5;color:var(--sg-muted)}
.sg-assessment-page .sg-result-filters button{min-height:44px}
@media(max-width:1050px){.sg-overall-coverage{display:flex;flex-direction:column;align-items:stretch}.sg-overall-coverage>.sg-coverage-track{width:100%}.sg-overall-coverage>.sg-coverage-date{text-align:left;margin-top:8px}}
@media(max-width:600px){.sg-overall-coverage>.sg-coverage-label{font-size:12px}.sg-overall-score{grid-template-columns:1fr}.sg-overall-score strong{font-size:64px}.sg-category-heading h2{font-size:19px}.sg-area-name{font-size:14px}.sg-area-question{font-size:12px}.sg-area-value strong{font-size:29px}.sg-attention-row{gap:10px}.sg-attention-row>span.sg-result-badge{max-width:74px;white-space:normal}.sg-assessment-page.sg-assessment-page{padding-left:16px!important;padding-right:16px!important}}

.sg-assessment-page .sg-overall-coverage>.sg-coverage-label{font-size:12px;font-weight:700;letter-spacing:0;line-height:1.5;color:var(--sg-muted)}
.sg-hero-actions{display:flex;align-items:center;gap:0 12px;flex-wrap:wrap}.sg-hero-actions>.pp-link{flex:none;text-align:left}
.sg-area-name{font-size:14px}.sg-area-value strong{font-size:32px}.sg-attention,#attention-heading{scroll-margin-top:120px}.sg-tab-label{font-size:14px;background:none;margin:0;padding:0}
@media(max-width:600px){
  .sg-assessment-hero{grid-template-columns:100px minmax(0,1fr);gap:16px;align-items:start;padding:20px}
  .sg-overall-reading{padding-top:0}.sg-overall-score strong{font-size:60px}.sg-overall-score small{font-size:12px}
  .sg-overall-reading h2{font-size:18px}.sg-overall-reading p{font-size:13px;line-height:1.5}
  .sg-overall-reading small{font-size:11px;line-height:1.5}
  .sg-hero-actions{align-items:center;gap:0 12px}.sg-overall-reading .pp-link{font-size:11px;line-height:1.4;margin:0}
  .sg-overall-coverage{grid-column:1/-1}
}
.sg-assessment-page .sg-evidence-list{min-width:0}.sg-assessment-page .sg-evidence-list a,.sg-assessment-page .sg-evidence-list p,.sg-assessment-page .sg-evidence-list strong,.sg-assessment-page .sg-evidence-list small{max-width:100%;overflow-wrap:anywhere}
.sg-report-aux>details{margin:0!important}.sg-report-aux>details+details{border-top:1px solid var(--sg-line)}
.sg-report-aux>details>summary{min-height:48px;padding:14px 20px;cursor:pointer;font-size:13px;font-weight:600}
.sg-report-aux>details>p,.sg-report-aux>details>.pp-link,.sg-report-aux>details>.sg-result-legend,.sg-report-aux>details>.sg-info-body{margin:0 20px 16px}
.sg-assessment-page .sg-source-details>summary,.sg-attention>details>summary,.sg-score-disclosure>summary{min-height:44px;padding-top:12px;padding-bottom:12px;cursor:pointer}
/* D-015: the plain answer, the AI's one-sentence summary, its graded level and what it means for the reader. */
.sg-answer-chip{display:inline-block;margin:6px 0 4px;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:700;background:var(--sg-blue-bg);color:var(--sg-blue)}
.sg-answer-chip[data-answer="yes"]{background:var(--sg-green-bg);color:var(--sg-green)}
.sg-answer-chip[data-answer="no"],.sg-answer-chip[data-answer="partly"]{background:var(--sg-amber-bg);color:var(--sg-amber)}
.sg-answer-chip[data-answer="couldnt_check"]{background:transparent;color:var(--sg-muted);border:1px dashed var(--sg-line)}
.sg-answer-chip[data-answer="doesnt_apply"]{background:transparent;color:var(--sg-muted);border:1px solid var(--sg-line)}
.sg-consumer-summary{font-weight:600;color:var(--sg-ink)}
.sg-means-for-you{border-left:3px solid var(--sg-purple);padding-left:10px}
.sg-finding-level{font-size:12px;font-weight:700;color:var(--sg-amber)}
